UNPKG

183 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/vnode.js","../src/options.js","../src/h.js","../src/util.js","../src/clone-element.js","../src/constants.js","../src/render-queue.js","../src/vdom/index.js","../src/dom/index.js","../src/vdom/diff.js","../src/vdom/component-recycler.js","../src/vdom/component.js","../src/component.js","../src/render.js","../src/preact.js","../../node_modules/classnames/index.js","../utils/omit.js","../utils/get-styled-component.js","../pill-icon.js","../icon.js","../button.js","../logo.js","../transition-in.js","../crate.js","../full-screen-overlay.js","../inputs.js","../drug-box.js","../links.js","../check-mark.js","../drawer.js","../numpad.js","../src/preact-portal.js","../shield.js","../dialog.js","../../node_modules/milliseconds/milliseconds.js","../footer.js","../utils/throttle.js","../app-layout.js","../../node_modules/tryit/tryit.js","../utils/ls.js","../utils/cookie.js","../utils/token-writer.js","../bundles/token.js","../bundles/layout-ui.js","../index.js","section.js","component-code.js","../utils/get-prop-variants.js","introspect.js","dialog-section.js","numpad-section.js","sections.js","layout.js","index.js"],"names":["VNode","options","stack","EMPTY_CHILDREN","h","nodeName","attributes","children","lastSimple","child","simple","i","arguments","length","push","pop","undefined","String","p","key","vnode","extend","obj","props","applyRef","ref","value","current","defer","Promise","resolve","then","bind","setTimeout","cloneElement","slice","call","NO_RENDER","SYNC_RENDER","FORCE_RENDER","ASYNC_RENDER","IS_NON_DIMENSIONAL","items","isSameNodeType","node","hydrating","_componentConstructor","isNamedNode","normalizedNodeName","defaultProps","document","createElementNS","removeNode","parentNode","removeChild","setAccessor","name","old","style","innerHTML","__html","useCapture","toLowerCase","_listeners","ns","eventProxy","mounts","diffLevel","flushMounts","c","shift","parent","ATTR_KEY","ret","componentRoot","out","prevSvgMode","buildComponentFromVNode","vnodeName","dom","firstChild","appendChild","vchildren","nodeValue","context","mountAll","dangerouslySetInnerHTML","originalChildren","keyed","min","len","childrenLen","vlen","j","f","vchild","keyedLen","component","unmountOnly","next","previousSibling","diffAttributes","attrs","recyclerComponents","createComponent","Ctor","prototype","constructor","nextBase","doRender","setComponentProps","_disable","componentWillReceiveProps","prevContext","renderMode","syncComponentUpdates","__ref","renderComponent","state","previousProps","previousState","isUpdate","base","initialBase","snapshot","rendered","inst","cbase","shouldComponentUpdate","prevProps","_dirty","render","getSnapshotBeforeUpdate","childComponent","toUnmount","childProps","getNodeProps","initialChildComponent","_parentComponent","_component","baseParent","replaceChild","componentRef","t","afterUpdate","_renderCallbacks","isChild","originalComponent","oldDom","isDirectOwner","isOwner","beforeUnmount","componentWillUnmount","callback","diff","merge","createRef","keysToDelete","copy","Object","assign","forEach","alwaysPassThroughProps","args","tagName","baseClasses","fn","passThroughProps","renderChildren","defaults","propsToRemove","allOptionValues","keys","reduce","result","filter","includes","componentFn","incomingProps","finalTagName","className","combinedStyle","renderedChildren","definition","customIcons","pill","Pill","Icon","icon","size","rest","px","styles","fontSize","width","height","Custom","preventDefault","e","Button","pressed","variant","onContextMenu","tiny","large","disabled","primary","stop","classes","join","TapIconButton","color","LogoDark","LogoTextOnly","fill","LogoLightMark","LogoLight","transitionIn","Wrapped","TransitionIn","firstRender","setState","Component","LogoCrate","Page","transitions","PageCrateHeading","PageCrate","title","backgroundColor","wide","res","unshift","MessagePageCrate","loading","error","warning","iconClasses","colorClasses","iconComp","FullScreenOverlayWrapper","FullScreenOverlay","inputClasses","Input","Select","Textarea","DrugBox","highlight","highlighted","supportEmail","Link","SupportLink","CheckMark","label","isComplete","onClick","cardStyles","backfaceVisibility","webkitBackfaceVisibility","position","top","left","FlipIcon","complete","perspective","transition","transformStyle","webkitTransformStyle","transformOrigin","webkitTransformOrigin","transform","webkitTransform","zIndex","DrawerLink","active","completeness","DrawerLinkContainer","hidden","Drawer","cellStyle","stopEvent","stopImmediatePropagation","quickTap","target","click","NumberCell","number","Numpad","addNumber","backspace","close","onKey","max","maxDecimals","newNumber","decimals","split","Number","which","window","addEventListener","removeEventListener","onClose","unit","NumpadOverlay","activeElement","blur","onValue","onCancel","NumpadButton","open","val","Portal","componentDidUpdate","renderLayer","componentDidMount","isMounted","remote","findNode","querySelector","show","into","intoPointer","PortalProxy","getChildContext","Shield","Dialog","doClose","forceChoice","minHeight","minWidth","currentYear","Date","getFullYear","getUpdatedText","updatedDate","now","ms","weeks","date","getMonth","getDate","linkClasses","Footer","privacyUrl","termsUrl","version","privacyUpdatedDate","hideLinks","updateText","throttle","delay","timeout","clearTimeout","DrawerContentWrapper","handleScroll","updateScrolledDown","scrolledDown","scrollTop","passive","AppLayout","drawerScrolledDown","drawerOpen","screenIsWide","drawerEnabled","drawerContent","statusBarContent","extraContent","drawerWidth","mainContent","doCloseDrawer","hideFooter","drawerAlwaysVisible","useFloatingDrawer","showShield","floatingDrawerHidden","leftMarginStyles","marginLeft","body","classList","add","remove","drawerHeaderHeightPx","paddingTop","paddingBottom","setLocalStorageItem","item","localStorage","setItem","getLocalStorageItem","getItem","deleteLocalStorageItem","clearLocalStorage","debug","clear","writeCookie","maxAge","expires","secure","domain","cookieData","location","hostname","Math","floor","toGMTString","cookieString","cookie","readCookie","find","parts","trim","deleteCookie","createTokenWriter","writeToken","token","days","readToken","valueFromLS","valueFromCookie","clearToken","UPDATED","CLEARED","createTokenBundle","opts","getReducer","initial","type","payload","selectAuthToken","selectIsSignedIn","doReceiveToken","dispatch","doClearToken","DRAWER_OPENED","DRAWER_CLOSED","layoutUiBundle","reducer","beeping","selectDrawerIsOpen","layoutUi","doOpenDrawer","code","addDimension","category","values","map","JSON","parse","stringify","propVariants","results","sort","deduped","propArray","serializeProps","buffer","prop","componentString","content","variants","buff","Container","otherValue","ButtonSection","LinkSection","LogoSection","InputSection","IconSection","MessagePageCrateSection","isScreenWide","toggleDrawerOpen","toggleDrawerEnabled","handleResize","isWide","innerWidth","_","sections","section","cookieHelper","getElementById"],"mappings":"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","file":"site.e31bb0bc.map","sourceRoot":"../component-library/site","sourcesContent":["/**\n * Virtual DOM Node\n * @typedef VNode\n * @property {string | function} nodeName The string of the DOM node to create or Component constructor to render\n * @property {Array<VNode | string>} children The children of node\n * @property {string | number | undefined} key The key used to identify this VNode in a list\n * @property {object} attributes The properties of this VNode\n */\nexport const VNode = function VNode() {};\n","/**\n * @typedef {import('./component').Component} Component\n * @typedef {import('./vnode').VNode} VNode\n */\n\n/**\n * Global options\n * @public\n * @typedef Options\n * @property {boolean} [syncComponentUpdates] If `true`, `prop` changes trigger synchronous component updates. Defaults to true.\n * @property {(vnode: VNode) => void} [vnode] Processes all created VNodes.\n * @property {(component: Component) => void} [afterMount] Hook invoked after a component is mounted.\n * @property {(component: Component) => void} [afterUpdate] Hook invoked after the DOM is updated with a component's latest render.\n * @property {(component: Component) => void} [beforeUnmount] Hook invoked immediately before a component is unmounted.\n * @property {(rerender: function) => void} [debounceRendering] Hook invoked whenever a rerender is requested. Can be used to debounce rerenders.\n * @property {(event: Event) => Event | void} [event] Hook invoked before any Preact event listeners. The return value (if any) replaces the native browser event given to event listeners\n */\n\n/** @type {Options} */\nconst options = {};\n\nexport default options;\n","import { VNode } from './vnode';\nimport options from './options';\n\n\nconst stack = [];\n\nconst EMPTY_CHILDREN = [];\n\n/**\n * JSX/hyperscript reviver.\n * @see http://jasonformat.com/wtf-is-jsx\n * Benchmarks: https://esbench.com/bench/57ee8f8e330ab09900a1a1a0\n *\n * Note: this is exported as both `h()` and `createElement()` for compatibility\n * reasons.\n *\n * Creates a VNode (virtual DOM element). A tree of VNodes can be used as a\n * lightweight representation of the structure of a DOM tree. This structure can\n * be realized by recursively comparing it against the current _actual_ DOM\n * structure, and applying only the differences.\n *\n * `h()`/`createElement()` accepts an element name, a list of attributes/props,\n * and optionally children to append to the element.\n *\n * @example The following DOM tree\n *\n * `<div id=\"foo\" name=\"bar\">Hello!</div>`\n *\n * can be constructed using this function as:\n *\n * `h('div', { id: 'foo', name : 'bar' }, 'Hello!');`\n *\n * @param {string | function} nodeName An element name. Ex: `div`, `a`, `span`, etc.\n * @param {object | null} attributes Any attributes/props to set on the created element.\n * @param {VNode[]} [rest] Additional arguments are taken to be children to\n * append. Can be infinitely nested Arrays.\n *\n * @public\n */\nexport function h(nodeName, attributes) {\n\tlet children=EMPTY_CHILDREN, lastSimple, child, simple, i;\n\tfor (i=arguments.length; i-- > 2; ) {\n\t\tstack.push(arguments[i]);\n\t}\n\tif (attributes && attributes.children!=null) {\n\t\tif (!stack.length) stack.push(attributes.children);\n\t\tdelete attributes.children;\n\t}\n\twhile (stack.length) {\n\t\tif ((child = stack.pop()) && child.pop!==undefined) {\n\t\t\tfor (i=child.length; i--; ) stack.push(child[i]);\n\t\t}\n\t\telse {\n\t\t\tif (typeof child==='boolean') child = null;\n\n\t\t\tif ((simple = typeof nodeName!=='function')) {\n\t\t\t\tif (child==null) child = '';\n\t\t\t\telse if (typeof child==='number') child = String(child);\n\t\t\t\telse if (typeof child!=='string') simple = false;\n\t\t\t}\n\n\t\t\tif (simple && lastSimple) {\n\t\t\t\tchildren[children.length-1] += child;\n\t\t\t}\n\t\t\telse if (children===EMPTY_CHILDREN) {\n\t\t\t\tchildren = [child];\n\t\t\t}\n\t\t\telse {\n\t\t\t\tchildren.push(child);\n\t\t\t}\n\n\t\t\tlastSimple = simple;\n\t\t}\n\t}\n\n\tlet p = new VNode();\n\tp.nodeName = nodeName;\n\tp.children = children;\n\tp.attributes = attributes==null ? undefined : attributes;\n\tp.key = attributes==null ? undefined : attributes.key;\n\n\t// if a \"vnode hook\" is defined, pass every created VNode to it\n\tif (options.vnode!==undefined) options.vnode(p);\n\n\treturn p;\n}\n","/**\n * Copy all properties from `props` onto `obj`.\n * @param {object} obj Object onto which properties should be copied.\n * @param {object} props Object from which to copy properties.\n * @returns {object}\n * @private\n */\nexport function extend(obj, props) {\n\tfor (let i in props) obj[i] = props[i];\n\treturn obj;\n}\n\n/** Invoke or update a ref, depending on whether it is a function or object ref.\n * @param {object|function} [ref=null]\n * @param {any} [value]\n */\nexport function applyRef(ref, value) {\n\tif (ref!=null) {\n\t\tif (typeof ref=='function') ref(value);\n\t\telse ref.current = value;\n\t}\n}\n\n/**\n * Call a function asynchronously, as soon as possible. Makes\n * use of HTML Promise to schedule the callback if available,\n * otherwise falling back to `setTimeout` (mainly for IE<11).\n * @type {(callback: function) => void}\n */\nexport const defer = typeof Promise=='function' ? Promise.resolve().then.bind(Promise.resolve()) : setTimeout;\n","import { extend } from './util';\nimport { h } from './h';\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its\n * children.\n * @param {import('./vnode').VNode} vnode The virtual DOM element to clone\n * @param {object} props Attributes/props to add when cloning\n * @param {Array<import('./vnode').VNode>} [rest] Any additional arguments will be used as replacement\n * children.\n */\nexport function cloneElement(vnode, props) {\n\treturn h(\n\t\tvnode.nodeName,\n\t\textend(extend({}, vnode.attributes), props),\n\t\targuments.length>2 ? [].slice.call(arguments, 2) : vnode.children\n\t);\n}\n","// render modes\n\n/** Do not re-render a component */\nexport const NO_RENDER = 0;\n/** Synchronously re-render a component and its children */\nexport const SYNC_RENDER = 1;\n/** Synchronously re-render a component, even if its lifecycle methods attempt to prevent it. */\nexport const FORCE_RENDER = 2;\n/** Queue asynchronous re-render of a component and it's children */\nexport const ASYNC_RENDER = 3;\n\n\nexport const ATTR_KEY = '__preactattr_';\n\n/** DOM properties that should NOT have \"px\" added when numeric */\nexport const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|ows|mnc|ntw|ine[ch]|zoo|^ord/i;\n\n","import options from './options';\nimport { defer } from './util';\nimport { renderComponent } from './vdom/component';\n\n/**\n * Managed queue of dirty components to be re-rendered\n * @type {Array<import('./component').Component>}\n */\nlet items = [];\n\n/**\n * Enqueue a rerender of a component\n * @param {import('./component').Component} component The component to rerender\n */\nexport function enqueueRender(component) {\n\tif (!component._dirty && (component._dirty = true) && items.push(component)==1) {\n\t\t(options.debounceRendering || defer)(rerender);\n\t}\n}\n\n/** Rerender all enqueued dirty components */\nexport function rerender() {\n\tlet p;\n\twhile ( (p = items.pop()) ) {\n\t\tif (p._dirty) renderComponent(p);\n\t}\n}\n","import { extend } from '../util';\n\n\n/**\n * Check if two nodes are equivalent.\n * @param {import('../dom').PreactElement} node DOM Node to compare\n * @param {import('../vnode').VNode} vnode Virtual DOM node to compare\n * @param {boolean} [hydrating=false] If true, ignores component constructors\n * when comparing.\n * @private\n */\nexport function isSameNodeType(node, vnode, hydrating) {\n\tif (typeof vnode==='string' || typeof vnode==='number') {\n\t\treturn node.splitText!==undefined;\n\t}\n\tif (typeof vnode.nodeName==='string') {\n\t\treturn !node._componentConstructor && isNamedNode(node, vnode.nodeName);\n\t}\n\treturn hydrating || node._componentConstructor===vnode.nodeName;\n}\n\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n * @param {import('../dom').PreactElement} node A DOM Element to inspect the name of.\n * @param {string} nodeName Unnormalized name to compare against.\n */\nexport function isNamedNode(node, nodeName) {\n\treturn node.normalizedNodeName===nodeName || node.nodeName.toLowerCase()===nodeName.toLowerCase();\n}\n\n\n/**\n * Reconstruct Component-style `props` from a VNode.\n * Ensures default/fallback values from `defaultProps`:\n * Own-properties of `defaultProps` not present in `vnode.attributes` are added.\n * @param {import('../vnode').VNode} vnode The VNode to get props for\n * @returns {object} The props to use for this VNode\n */\nexport function getNodeProps(vnode) {\n\tlet props = extend({}, vnode.attributes);\n\tprops.children = vnode.children;\n\n\tlet defaultProps = vnode.nodeName.defaultProps;\n\tif (defaultProps!==undefined) {\n\t\tfor (let i in defaultProps) {\n\t\t\tif (props[i]===undefined) {\n\t\t\t\tprops[i] = defaultProps[i];\n\t\t\t}\n\t\t}\n\t}\n\n\treturn props;\n}\n","import { IS_NON_DIMENSIONAL } from '../constants';\nimport { applyRef } from '../util';\nimport options from '../options';\n\n/**\n * A DOM event listener\n * @typedef {(e: Event) => void} EventListner\n */\n\n/**\n * A mapping of event types to event listeners\n * @typedef {Object.<string, EventListener>} EventListenerMap\n */\n\n/**\n * Properties Preact adds to elements it creates\n * @typedef PreactElementExtensions\n * @property {string} [normalizedNodeName] A normalized node name to use in diffing\n * @property {EventListenerMap} [_listeners] A map of event listeners added by components to this DOM node\n * @property {import('../component').Component} [_component] The component that rendered this DOM node\n * @property {function} [_componentConstructor] The constructor of the component that rendered this DOM node\n */\n\n/**\n * A DOM element that has been extended with Preact properties\n * @typedef {Element & ElementCSSInlineStyle & PreactElementExtensions} PreactElement\n */\n\n/**\n * Create an element with the given nodeName.\n * @param {string} nodeName The DOM node to create\n * @param {boolean} [isSvg=false] If `true`, creates an element within the SVG\n * namespace.\n * @returns {PreactElement} The created DOM node\n */\nexport function createNode(nodeName, isSvg) {\n\t/** @type {PreactElement} */\n\tlet node = isSvg ? document.createElementNS('http://www.w3.org/2000/svg', nodeName) : document.createElement(nodeName);\n\tnode.normalizedNodeName = nodeName;\n\treturn node;\n}\n\n\n/**\n * Remove a child node from its parent if attached.\n * @param {Node} node The node to remove\n */\nexport function removeNode(node) {\n\tlet parentNode = node.parentNode;\n\tif (parentNode) parentNode.removeChild(node);\n}\n\n\n/**\n * Set a named attribute on the given Node, with special behavior for some names\n * and event handlers. If `value` is `null`, the attribute/handler will be\n * removed.\n * @param {PreactElement} node An element to mutate\n * @param {string} name The name/key to set, such as an event or attribute name\n * @param {*} old The last value that was set for this name/node pair\n * @param {*} value An attribute value, such as a function to be used as an\n * event handler\n * @param {boolean} isSvg Are we currently diffing inside an svg?\n * @private\n */\nexport function setAccessor(node, name, old, value, isSvg) {\n\tif (name==='className') name = 'class';\n\n\n\tif (name==='key') {\n\t\t// ignore\n\t}\n\telse if (name==='ref') {\n\t\tapplyRef(old, null);\n\t\tapplyRef(value, node);\n\t}\n\telse if (name==='class' && !isSvg) {\n\t\tnode.className = value || '';\n\t}\n\telse if (name==='style') {\n\t\tif (!value || typeof value==='string' || typeof old==='string') {\n\t\t\tnode.style.cssText = value || '';\n\t\t}\n\t\tif (value && typeof value==='object') {\n\t\t\tif (typeof old!=='string') {\n\t\t\t\tfor (let i in old) if (!(i in value)) node.style[i] = '';\n\t\t\t}\n\t\t\tfor (let i in value) {\n\t\t\t\tnode.style[i] = typeof value[i]==='number' && IS_NON_DIMENSIONAL.test(i)===false ? (value[i]+'px') : value[i];\n\t\t\t}\n\t\t}\n\t}\n\telse if (name==='dangerouslySetInnerHTML') {\n\t\tif (value) node.innerHTML = value.__html || '';\n\t}\n\telse if (name[0]=='o' && name[1]=='n') {\n\t\tlet useCapture = name !== (name=name.replace(/Capture$/, ''));\n\t\tname = name.toLowerCase().substring(2);\n\t\tif (value) {\n\t\t\tif (!old) node.addEventListener(name, eventProxy, useCapture);\n\t\t}\n\t\telse {\n\t\t\tnode.removeEventListener(name, eventProxy, useCapture);\n\t\t}\n\t\t(node._listeners || (node._listeners = {}))[name] = value;\n\t}\n\telse if (name!=='list' && name!=='type' && !isSvg && name in node) {\n\t\t// Attempt to set a DOM property to the given value.\n\t\t// IE & FF throw for certain property-value combinations.\n\t\ttry {\n\t\t\tnode[name] = value==null ? '' : value;\n\t\t} catch (e) { }\n\t\tif ((value==null || value===false) && name!='spellcheck') node.removeAttribute(name);\n\t}\n\telse {\n\t\tlet ns = isSvg && (name !== (name = name.replace(/^xlink:?/, '')));\n\t\t// spellcheck is treated differently than all other boolean values and\n\t\t// should not be removed when the value is `false`. See:\n\t\t// https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-spellcheck\n\t\tif (value==null || value===false) {\n\t\t\tif (ns) node.removeAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase());\n\t\t\telse node.removeAttribute(name);\n\t\t}\n\t\telse if (typeof value!=='function') {\n\t\t\tif (ns) node.setAttributeNS('http://www.w3.org/1999/xlink', name.toLowerCase(), value);\n\t\t\telse node.setAttribute(name, value);\n\t\t}\n\t}\n}\n\n\n/**\n * Proxy an event to hooked event handlers\n * @param {Event} e The event object from the browser\n * @private\n */\nfunction eventProxy(e) {\n\treturn this._listeners[e.type](options.event && options.event(e) || e);\n}\n","import { ATTR_KEY } from '../constants';\nimport { isSameNodeType, isNamedNode } from './index';\nimport { buildComponentFromVNode } from './component';\nimport { createNode, setAccessor } from '../dom/index';\nimport { unmountComponent } from './component';\nimport options from '../options';\nimport { applyRef } from '../util';\nimport { removeNode } from '../dom/index';\n\n/**\n * Queue of components that have been mounted and are awaiting componentDidMount\n * @type {Array<import('../component').Component>}\n */\nexport const mounts = [];\n\n/** Diff recursion count, used to track the end of the diff cycle. */\nexport let diffLevel = 0;\n\n/** Global flag indicating if the diff is currently within an SVG */\nlet isSvgMode = false;\n\n/** Global flag indicating if the diff is performing hydration */\nlet hydrating = false;\n\n/** Invoke queued componentDidMount lifecycle methods */\nexport function flushMounts() {\n\tlet c;\n\twhile ((c = mounts.shift())) {\n\t\tif (options.afterMount) options.afterMount(c);\n\t\tif (c.componentDidMount) c.componentDidMount();\n\t}\n}\n\n\n/**\n * Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n * @param {import('../dom').PreactElement} dom A DOM node to mutate into the shape of a `vnode`\n * @param {import('../vnode').VNode} vnode A VNode (with descendants forming a tree) representing\n * the desired DOM structure\n * @param {object} context The current context\n * @param {boolean} mountAll Whether or not to immediately mount all components\n * @param {Element} parent ?\n * @param {boolean} componentRoot ?\n * @returns {import('../dom').PreactElement} The created/mutated element\n * @private\n */\nexport function diff(dom, vnode, context, mountAll, parent, componentRoot) {\n\t// diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n\tif (!diffLevel++) {\n\t\t// when first starting the diff, check if we're diffing an SVG or within an SVG\n\t\tisSvgMode = parent!=null && parent.ownerSVGElement!==undefined;\n\n\t\t// hydration is indicated by the existing element to be diffed not having a prop cache\n\t\thydrating = dom!=null && !(ATTR_KEY in dom);\n\t}\n\n\tlet ret = idiff(dom, vnode, context, mountAll, componentRoot);\n\n\t// append the element if its a new parent\n\tif (parent && ret.parentNode!==parent) parent.appendChild(ret);\n\n\t// diffLevel being reduced to 0 means we're exiting the diff\n\tif (!--diffLevel) {\n\t\thydrating = false;\n\t\t// invoke queued componentDidMount lifecycle methods\n\t\tif (!componentRoot) flushMounts();\n\t}\n\n\treturn ret;\n}\n\n\n/**\n * Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing.\n * @param {import('../dom').PreactElement} dom A DOM node to mutate into the shape of a `vnode`\n * @param {import('../vnode').VNode} vnode A VNode (with descendants forming a tree) representing the desired DOM structure\n * @param {object} context The current context\n * @param {boolean} mountAll Whether or not to immediately mount all components\n * @param {boolean} [componentRoot] ?\n * @private\n */\nfunction idiff(dom, vnode, context, mountAll, componentRoot) {\n\tlet out = dom,\n\t\tprevSvgMode = isSvgMode;\n\n\t// empty values (null, undefined, booleans) render as empty Text nodes\n\tif (vnode==null || typeof vnode==='boolean') vnode = '';\n\n\n\t// Fast case: Strings & Numbers create/update Text nodes.\n\tif (typeof vnode==='string' || typeof vnode==='number') {\n\n\t\t// update if it's already a Text node:\n\t\tif (dom && dom.splitText!==undefined && dom.parentNode && (!dom._component || componentRoot)) {\n\t\t\t/* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n\t\t\tif (dom.nodeValue!=vnode) {\n\t\t\t\tdom.nodeValue = vnode;\n\t\t\t}\n\t\t}\n\t\telse {\n\t\t\t// it wasn't a Text node: replace it with one and recycle the old Element\n\t\t\tout = document.createTextNode(vnode);\n\t\t\tif (dom) {\n\t\t\t\tif (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n\t\t\t\trecollectNodeTree(dom, true);\n\t\t\t}\n\t\t}\n\n\t\tout[ATTR_KEY] = true;\n\n\t\treturn out;\n\t}\n\n\n\t// If the VNode represents a Component, perform a component diff:\n\tlet vnodeName = vnode.nodeName;\n\tif (typeof vnodeName==='function') {\n\t\treturn buildComponentFromVNode(dom, vnode, context, mountAll);\n\t}\n\n\n\t// Tracks entering and exiting SVG namespace when descending through the tree.\n\tisSvgMode = vnodeName==='svg' ? true : vnodeName==='foreignObject' ? false : isSvgMode;\n\n\n\t// If there's no existing element or it's the wrong type, create a new one:\n\tvnodeName = String(vnodeName);\n\tif (!dom || !isNamedNode(dom, vnodeName)) {\n\t\tout = createNode(vnodeName, isSvgMode);\n\n\t\tif (dom) {\n\t\t\t// move children into the replacement node\n\t\t\twhile (dom.firstChild) out.appendChild(dom.firstChild);\n\n\t\t\t// if the previous Element was mounted into the DOM, replace it inline\n\t\t\tif (dom.parentNode) dom.parentNode.replaceChild(out, dom);\n\n\t\t\t// recycle the old element (skips non-Element node types)\n\t\t\trecollectNodeTree(dom, true);\n\t\t}\n\t}\n\n\n\tlet fc = out.firstChild,\n\t\tprops = out[ATTR_KEY],\n\t\tvchildren = vnode.children;\n\n\tif (props==null) {\n\t\tprops = out[ATTR_KEY] = {};\n\t\tfor (let a=out.attributes, i=a.length; i--; ) props[a[i].name] = a[i].value;\n\t}\n\n\t// Optimization: fast-path for elements containing a single TextNode:\n\tif (!hydrating && vchildren && vchildren.length===1 && typeof vchildren[0]==='string' && fc!=null && fc.splitText!==undefined && fc.nextSibling==null) {\n\t\tif (fc.nodeValue!=vchildren[0]) {\n\t\t\tfc.nodeValue = vchildren[0];\n\t\t}\n\t}\n\t// otherwise, if there are existing or new children, diff them:\n\telse if (vchildren && vchildren.length || fc!=null) {\n\t\tinnerDiffNode(out, vchildren, context, mountAll, hydrating || props.dangerouslySetInnerHTML!=null);\n\t}\n\n\n\t// Apply attributes/props from VNode to the DOM Element:\n\tdiffAttributes(out, vnode.attributes, props);\n\n\n\t// restore previous SVG mode: (in case we're exiting an SVG namespace)\n\tisSvgMode = prevSvgMode;\n\n\treturn out;\n}\n\n\n/**\n * Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n * @param {import('../dom').PreactElement} dom Element whose children should be compared & mutated\n * @param {Array<import('../vnode').VNode>} vchildren Array of VNodes to compare to `dom.childNodes`\n * @param {object} context Implicitly descendant context object (from most\n * recent `getChildContext()`)\n * @param {boolean} mountAll Whether or not to immediately mount all components\n * @param {boolean} isHydrating if `true`, consumes externally created elements\n * similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, context, mountAll, isHydrating) {\n\tlet originalChildren = dom.childNodes,\n\t\tchildren = [],\n\t\tkeyed = {},\n\t\tkeyedLen = 0,\n\t\tmin = 0,\n\t\tlen = originalChildren.length,\n\t\tchildrenLen = 0,\n\t\tvlen = vchildren ? vchildren.length : 0,\n\t\tj, c, f, vchild, child;\n\n\t// Build up a map of keyed children and an Array of unkeyed children:\n\tif (len!==0) {\n\t\tfor (let i=0; i<len; i++) {\n\t\t\tlet child = originalChildren[i],\n\t\t\t\tprops = child[ATTR_KEY],\n\t\t\t\tkey = vlen && props ? child._component ? child._component.__key : props.key : null;\n\t\t\tif (key!=null) {\n\t\t\t\tkeyedLen++;\n\t\t\t\tkeyed[key] = child;\n\t\t\t}\n\t\t\telse if (props || (child.splitText!==undefined ? (isHydrating ? child.nodeValue.trim() : true) : isHydrating)) {\n\t\t\t\tchildren[childrenLen++] = child;\n\t\t\t}\n\t\t}\n\t}\n\n\tif (vlen!==0) {\n\t\tfor (let i=0; i<vlen; i++) {\n\t\t\tvchild = vchildren[i];\n\t\t\tchild = null;\n\n\t\t\t// attempt to find a node based on key matching\n\t\t\tlet key = vchild.key;\n\t\t\tif (key!=null) {\n\t\t\t\tif (keyedLen && keyed[key]!==undefined) {\n\t\t\t\t\tchild = keyed[key];\n\t\t\t\t\tkeyed[key] = undefined;\n\t\t\t\t\tkeyedLen--;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// attempt to pluck a node of the same type from the existing children\n\t\t\telse if (min<childrenLen) {\n\t\t\t\tfor (j=min; j<childrenLen; j++) {\n\t\t\t\t\tif (children[j]!==undefined && isSameNodeType(c = children[j], vchild, isHydrating)) {\n\t\t\t\t\t\tchild = c;\n\t\t\t\t\t\tchildren[j] = undefined;\n\t\t\t\t\t\tif (j===childrenLen-1) childrenLen--;\n\t\t\t\t\t\tif (j===min) min++;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// morph the matched/found/created DOM child to match vchild (deep)\n\t\t\tchild = idiff(child, vchild, context, mountAll);\n\n\t\t\tf = originalChildren[i];\n\t\t\tif (child && child!==dom && child!==f) {\n\t\t\t\tif (f==null) {\n\t\t\t\t\tdom.appendChild(child);\n\t\t\t\t}\n\t\t\t\telse if (child===f.nextSibling) {\n\t\t\t\t\tremoveNode(f);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tdom.insertBefore(child, f);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\n\t// remove unused keyed children:\n\tif (keyedLen) {\n\t\tfor (let i in keyed) if (keyed[i]!==undefined) recollectNodeTree(keyed[i], false);\n\t}\n\n\t// remove orphaned unkeyed children:\n\twhile (min<=childrenLen) {\n\t\tif ((child = children[childrenLen--])!==undefined) recollectNodeTree(child, false);\n\t}\n}\n\n\n\n/**\n * Recursively recycle (or just unmount) a node and its descendants.\n * @param {import('../dom').PreactElement} node DOM node to start\n * unmount/removal from\n * @param {boolean} [unmountOnly=false] If `true`, only triggers unmount\n * lifecycle, skips removal\n */\nexport function recollectNodeTree(node, unmountOnly) {\n\tlet component = node._component;\n\tif (component) {\n\t\t// if node is owned by a Component, unmount that component (ends up recursing back here)\n\t\tunmountComponent(component);\n\t}\n\telse {\n\t\t// If the node's VNode had a ref function, invoke it with null here.\n\t\t// (this is part of the React spec, and smart for unsetting references)\n\t\tif (node[ATTR_KEY]!=null) applyRef(node[ATTR_KEY].ref, null);\n\n\t\tif (unmountOnly===false || node[ATTR_KEY]==null) {\n\t\t\tremoveNode(node);\n\t\t}\n\n\t\tremoveChildren(node);\n\t}\n}\n\n\n/**\n * Recollect/unmount all children.\n *\t- we use .lastChild here because it causes less reflow than .firstChild\n *\t- it's also cheaper than accessing the .childNodes Live NodeList\n */\nexport function removeChildren(node) {\n\tnode = node.lastChild;\n\twhile (node) {\n\t\tlet next = node.previousSibling;\n\t\trecollectNodeTree(node, true);\n\t\tnode = next;\n\t}\n}\n\n\n/**\n * Apply differences in attributes from a VNode to the given DOM Element.\n * @param {import('../dom').PreactElement} dom Element with attributes to diff `attrs` against\n * @param {object} attrs The desired end-state key-value attribute pairs\n * @param {object} old Current/previous attributes (from previous VNode or\n * element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old) {\n\tlet name;\n\n\t// remove attributes no longer present on the vnode by setting them to undefined\n\tfor (name in old) {\n\t\tif (!(attrs && attrs[name]!=null) && old[name]!=null) {\n\t\t\tsetAccessor(dom, name, old[name], old[name] = undefined, isSvgMode);\n\t\t}\n\t}\n\n\t// add new & update changed attributes\n\tfor (name in attrs) {\n\t\tif (name!=='children' && name!=='innerHTML' && (!(name in old) || attrs[name]!==(name==='value' || name==='checked' ? dom[name] : old[name]))) {\n\t\t\tsetAccessor(dom, name, old[name], old[name] = attrs[name], isSvgMode);\n\t\t}\n\t}\n}\n","import { Component } from '../component';\n\n/**\n * Retains a pool of Components for re-use.\n * @type {Component[]}\n * @private\n */\nexport const recyclerComponents = [];\n\n\n/**\n * Create a component. Normalizes differences between PFC's and classful\n * Components.\n * @param {function} Ctor The constructor of the component to create\n * @param {object} props The initial props of the component\n * @param {object} context The initial context of the component\n * @returns {import('../component').Component}\n */\nexport function createComponent(Ctor, props, context) {\n\tlet inst, i = recyclerComponents.length;\n\n\tif (Ctor.prototype && Ctor.prototype.render) {\n\t\tinst = new Ctor(props, context);\n\t\tComponent.call(inst, props, context);\n\t}\n\telse {\n\t\tinst = new Component(props, context);\n\t\tinst.constructor = Ctor;\n\t\tinst.render = doRender;\n\t}\n\n\n\twhile (i--) {\n\t\tif (recyclerComponents[i].constructor===Ctor) {\n\t\t\tinst.nextBase = recyclerComponents[i].nextBase;\n\t\t\trecyclerComponents.splice(i, 1);\n\t\t\treturn inst;\n\t\t}\n\t}\n\n\treturn inst;\n}\n\n\n/** The `.render()` method for a PFC backing instance. */\nfunction doRender(props, state, context) {\n\treturn this.constructor(props, context);\n}\n","import { SYNC_RENDER, NO_RENDER, FORCE_RENDER, ASYNC_RENDER, ATTR_KEY } from '../constants';\nimport options from '../options';\nimport { extend, applyRef } from '../util';\nimport { enqueueRender } from '../render-queue';\nimport { getNodeProps } from './index';\nimport { diff, mounts, diffLevel, flushMounts, recollectNodeTree, removeChildren } from './diff';\nimport { createComponent, recyclerComponents } from './component-recycler';\nimport { removeNode } from '../dom/index';\n\n/**\n * Set a component's `props` and possibly re-render the component\n * @param {import('../component').Component} component The Component to set props on\n * @param {object} props The new props\n * @param {number} renderMode Render options - specifies how to re-render the component\n * @param {object} context The new context\n * @param {boolean} mountAll Whether or not to immediately mount all components\n */\nexport function setComponentProps(component, props, renderMode, context, mountAll) {\n\tif (component._disable) return;\n\tcomponent._disable = true;\n\n\tcomponent.__ref = props.ref;\n\tcomponent.__key = props.key;\n\tdelete props.ref;\n\tdelete props.key;\n\n\tif (typeof component.constructor.getDerivedStateFromProps === 'undefined') {\n\t\tif (!component.base || mountAll) {\n\t\t\tif (component.componentWillMount) component.componentWillMount();\n\t\t}\n\t\telse if (component.componentWillReceiveProps) {\n\t\t\tcomponent.componentWillReceiveProps(props, context);\n\t\t}\n\t}\n\n\tif (context && context!==component.context) {\n\t\tif (!component.prevContext) component.prevContext = component.context;\n\t\tcomponent.context = context;\n\t}\n\n\tif (!component.prevProps) component.prevProps = component.props;\n\tcomponent.props = props;\n\n\tcomponent._disable = false;\n\n\tif (renderMode!==NO_RENDER) {\n\t\tif (renderMode===SYNC_RENDER || options.syncComponentUpdates!==false || !component.base) {\n\t\t\trenderComponent(component, SYNC_RENDER, mountAll);\n\t\t}\n\t\telse {\n\t\t\tenqueueRender(component);\n\t\t}\n\t}\n\n\tapplyRef(component.__ref, component);\n}\n\n\n\n/**\n * Render a Component, triggering necessary lifecycle events and taking\n * High-Order Components into account.\n * @param {import('../component').Component} component The component to render\n * @param {number} [renderMode] render mode, see constants.js for available options.\n * @param {boolean} [mountAll] Whether or not to immediately mount all components\n * @param {boolean} [isChild] ?\n * @private\n */\nexport function renderComponent(component, renderMode, mountAll, isChild) {\n\tif (component._disable) return;\n\n\tlet props = component.props,\n\t\tstate = component.state,\n\t\tcontext = component.context,\n\t\tpreviousProps = component.prevProps || props,\n\t\tpreviousState = component.prevState || state,\n\t\tpreviousContext = component.prevContext || context,\n\t\tisUpdate = component.base,\n\t\tnextBase = component.nextBase,\n\t\tinitialBase = isUpdate || nextBase,\n\t\tinitialChildComponent = component._component,\n\t\tskip = false,\n\t\tsnapshot = previousContext,\n\t\trendered, inst, cbase;\n\n\tif (component.constructor.getDerivedStateFromProps) {\n\t\tstate = extend(extend({}, state), component.constructor.getDerivedStateFromProps(props, state));\n\t\tcomponent.state = state;\n\t}\n\n\t// if updating\n\tif (isUpdate) {\n\t\tcomponent.props = previousProps;\n\t\tcomponent.state = previousState;\n\t\tcomponent.context = previousContext;\n\t\tif (renderMode!==FORCE_RENDER\n\t\t\t&& component.shouldComponentUpdate\n\t\t\t&& component.shouldComponentUpdate(props, state, context) === false) {\n\t\t\tskip = true;\n\t\t}\n\t\telse if (component.componentWillUpdate) {\n\t\t\tcomponent.componentWillUpdate(props, state, context);\n\t\t}\n\t\tcomponent.props = props;\n\t\tcomponent.state = state;\n\t\tcomponent.context = context;\n\t}\n\n\tcomponent.prevProps = component.prevState = component.prevContext = component.nextBase = null;\n\tcomponent._dirty = false;\n\n\tif (!skip) {\n\t\trendered = component.render(props, state, context);\n\n\t\t// context to pass to the child, can be updated via (grand-)parent component\n\t\tif (component.getChildContext) {\n\t\t\tcontext = extend(extend({}, context), component.getChildContext());\n\t\t}\n\n\t\tif (isUpdate && component.getSnapshotBeforeUpdate) {\n\t\t\tsnapshot = component.getSnapshotBeforeUpdate(previousProps, previousState);\n\t\t}\n\n\t\tlet childComponent = rendered && rendered.nodeName,\n\t\t\ttoUnmount, base;\n\n\t\tif (typeof childComponent==='function') {\n\t\t\t// set up high order component link\n\n\t\t\tlet childProps = getNodeProps(rendered);\n\t\t\tinst = initialChildComponent;\n\n\t\t\tif (inst && inst.constructor===childComponent && childProps.key==inst.__key) {\n\t\t\t\tsetComponentProps(inst, childProps, SYNC_RENDER, context, false);\n\t\t\t}\n\t\t\telse {\n\t\t\t\ttoUnmount = inst;\n\n\t\t\t\tcomponent._component = inst = createComponent(childComponent, childProps, context);\n\t\t\t\tinst.nextBase = inst.nextBase || nextBase;\n\t\t\t\tinst._parentComponent = component;\n\t\t\t\tsetComponentProps(inst, childProps, NO_RENDER, context, false);\n\t\t\t\trenderComponent(inst, SYNC_RENDER, mountAll, true);\n\t\t\t}\n\n\t\t\tbase = inst.base;\n\t\t}\n\t\telse {\n\t\t\tcbase = initialBase;\n\n\t\t\t// destroy high order component link\n\t\t\ttoUnmount = initialChildComponent;\n\t\t\tif (toUnmount) {\n\t\t\t\tcbase = component._component = null;\n\t\t\t}\n\n\t\t\tif (initialBase || renderMode===SYNC_RENDER) {\n\t\t\t\tif (cbase) cbase._component = null;\n\t\t\t\tbase = diff(cbase, rendered, context, mountAll || !isUpdate, initialBase && initialBase.parentNode, true);\n\t\t\t}\n\t\t}\n\n\t\tif (initialBase && base!==initialBase && inst!==initialChildComponent) {\n\t\t\tlet baseParent = initialBase.parentNode;\n\t\t\tif (baseParent && base!==baseParent) {\n\t\t\t\tbaseParent.replaceChild(base, initialBase);\n\n\t\t\t\tif (!toUnmount) {\n\t\t\t\t\tinitialBase._component = null;\n\t\t\t\t\trecollectNodeTree(initialBase, false);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (toUnmount) {\n\t\t\tunmountComponent(toUnmount);\n\t\t}\n\n\t\tcomponent.base = base;\n\t\tif (base && !isChild) {\n\t\t\tlet componentRef = component,\n\t\t\t\tt = component;\n\t\t\twhile ((t=t._parentComponent)) {\n\t\t\t\t(componentRef = t).base = base;\n\t\t\t}\n\t\t\tbase._component = componentRef;\n\t\t\tbase._componentConstructor = componentRef.constructor;\n\t\t}\n\t}\n\n\tif (!isUpdate || mountAll) {\n\t\tmounts.push(component);\n\t}\n\telse if (!skip) {\n\t\t// Ensure that pending componentDidMount() hooks of child components\n\t\t// are called before the componentDidUpdate() hook in the parent.\n\t\t// Note: disabled as it causes duplicate hooks, see https://github.com/developit/preact/issues/750\n\t\t// flushMounts();\n\n\t\tif (component.componentDidUpdate) {\n\t\t\tcomponent.componentDidUpdate(previousProps, previousState, snapshot);\n\t\t}\n\t\tif (options.afterUpdate) options.afterUpdate(component);\n\t}\n\n\twhile (component._renderCallbacks.length) component._renderCallbacks.pop().call(component);\n\n\tif (!diffLevel && !isChild) flushMounts();\n}\n\n\n\n/**\n * Apply the Component referenced by a VNode to the DOM.\n * @param {import('../dom').PreactElement} dom The DOM node to mutate\n * @param {import('../vnode').VNode} vnode A Component-referencing VNode\n * @param {object} context The current context\n * @param {boolean} mountAll Whether or not to immediately mount all components\n * @returns {import('../dom').PreactElement} The created/mutated element\n * @private\n */\nexport function buildComponentFromVNode(dom, vnode, context, mountAll) {\n\tlet c = dom && dom._component,\n\t\toriginalComponent = c,\n\t\toldDom = dom,\n\t\tisDirectOwner = c && dom._componentConstructor===vnode.nodeName,\n\t\tisOwner = isDirectOwner,\n\t\tprops = getNodeProps(vnode);\n\twhile (c && !isOwner && (c=c._parentComponent)) {\n\t\tisOwner = c.constructor===vnode.nodeName;\n\t}\n\n\tif (c && isOwner && (!mountAll || c._component)) {\n\t\tsetComponentProps(c, props, ASYNC_RENDER, context, mountAll);\n\t\tdom = c.base;\n\t}\n\telse {\n\t\tif (originalComponent && !isDirectOwner) {\n\t\t\tunmountComponent(originalComponent);\n\t\t\tdom = oldDom = null;\n\t\t}\n\n\t\tc = createComponent(vnode.nodeName, props, context);\n\t\tif (dom && !c.nextBase) {\n\t\t\tc.nextBase = dom;\n\t\t\t// passing dom/oldDom as nextBase will recycle it if unused, so bypass recycling on L229:\n\t\t\toldDom = null;\n\t\t}\n\t\tsetComponentProps(c, props, SYNC_RENDER, context, mountAll);\n\t\tdom = c.base;\n\n\t\tif (oldDom && dom!==oldDom) {\n\t\t\toldDom._component = null;\n\t\t\trecollectNodeTree(oldDom, false);\n\t\t}\n\t}\n\n\treturn dom;\n}\n\n\n\n/**\n * Remove a component from the DOM and recycle it.\n * @param {import('../component').Component} component The Component instance to unmount\n * @private\n */\nexport function unmountComponent(component) {\n\tif (options.beforeUnmount) options.beforeUnmount(component);\n\n\tlet base = component.base;\n\n\tcomponent._disable = true;\n\n\tif (component.componentWillUnmount) component.componentWillUnmount();\n\n\tcomponent.base = null;\n\n\t// recursively tear down & recollect high-order component children:\n\tlet inner = component._component;\n\tif (inner) {\n\t\tunmountComponent(inner);\n\t}\n\telse if (base) {\n\t\tif (base[ATTR_KEY]!=null) applyRef(base[ATTR_KEY].ref, null);\n\n\t\tcomponent.nextBase = base;\n\n\t\tremoveNode(base);\n\t\trecyclerComponents.push(component);\n\n\t\tremoveChildren(base);\n\t}\n\n\tapplyRef(component.__ref, null);\n}\n","import { FORCE_RENDER } from './constants';\nimport { extend } from './util';\nimport { renderComponent } from './vdom/component';\nimport { enqueueRender } from './render-queue';\n/**\n * Base Component class.\n * Provides `setState()` and `forceUpdate()`, which trigger rendering.\n * @typedef {object} Component\n * @param {object} props The initial component props\n * @param {object} context The initial context from parent components' getChildContext\n * @public\n *\n * @example\n * class MyFoo extends Component {\n * render(props, state) {\n * return <div />;\n * }\n * }\n */\nexport function Component(props, context) {\n\tthis._dirty = true;\n\n\t/**\n\t * @public\n\t * @type {object}\n\t */\n\tthis.context = context;\n\n\t/**\n\t * @public\n\t * @type {object}\n\t */\n\tthis.props = props;\n\n\t/**\n\t * @public\n\t * @type {object}\n\t */\n\tthis.state = this.state || {};\n\n\tthis._renderCallbacks = [];\n}\n\n\nextend(Component.prototype, {\n\n\t/**\n\t * Update component state and schedule a re-render.\n\t * @param {object} state A dict of state properties to be shallowly merged\n\t * \tinto the current state, or a function that will produce such a dict. The\n\t * \tfunction is called with the current state and props.\n\t * @param {() => void} callback A function to be called once component state is\n\t * \tupdated\n\t */\n\tsetState(state, callback) {\n\t\tif (!this.prevState) this.prevState = this.state;\n\t\tthis.state = extend(\n\t\t\textend({}, this.state),\n\t\t\ttypeof state === 'function' ? state(this.state, this.props) : state\n\t\t);\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\tenqueueRender(this);\n\t},\n\n\n\t/**\n\t * Immediately perform a synchronous re-render of the component.\n\t * @param {() => void} callback A function to be called after component is\n\t * \tre-rendered.\n\t * @private\n\t */\n\tforceUpdate(callback) {\n\t\tif (callback) this._renderCallbacks.push(callback);\n\t\trenderComponent(this, FORCE_RENDER);\n\t},\n\n\n\t/**\n\t * Accepts `props` and `state`, and returns a new Virtual DOM tree to build.\n\t * Virtual DOM is generally constructed via [JSX](http://jasonformat.com/wtf-is-jsx).\n\t * @param {object} props Props (eg: JSX attributes) received from parent\n\t * \telement/component\n\t * @param {object} state The component's current state\n\t * @param {object} context Context object, as returned by the nearest\n\t * ancestor's `getChildContext()`\n\t * @returns {import('./vnode').VNode | void}\n\t */\n\trender() {}\n\n});\n","import { diff } from './vdom/diff';\n\n/**\n * Render JSX into a `parent` Element.\n * @param {import('./vnode').VNode} vnode A (JSX) VNode to render\n * @param {import('./dom').PreactElement} parent DOM element to render into\n * @param {import('./dom').PreactElement} [merge] Attempt to re-use an existing DOM tree rooted at\n * `merge`\n * @public\n *\n * @example\n * // render a div into <body>:\n * render(<div id=\"hello\">hello!</div>, document.body);\n *\n * @example\n * // render a \"Thing\" component into #foo:\n * const Thing = ({ name }) => <span>{ name }</span>;\n * render(<Thing name=\"one\" />, document.querySelector('#foo'));\n */\nexport function render(vnode, parent, merge) {\n\treturn diff(merge, vnode, {}, false, parent, false);\n}\n","import { h, h as createElement } from './h';\nimport { cloneElement } from './clone-element';\nimport { Component } from './component';\nimport { render } from './render';\nimport { rerender } from './render-queue';\nimport options from './options';\n\nfunction createRef() {\n\treturn {};\n}\n\nexport default {\n\th,\n\tcreateElement,\n\tcloneElement,\n\tcreateRef,\n\tComponent,\n\trender,\n\trerender,\n\toptions\n};\n\nexport {\n\th,\n\tcreateElement,\n\tcloneElement,\n\tcreateRef,\n\tComponent,\n\trender,\n\trerender,\n\toptions\n};\n","/*!\n Copyright (c) 2017 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg) && arg.length) {\n\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\tif (inner) {\n\t\t\t\t\tclasses.push(inner);\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","export default (obj, keysToDelete = []) => {\n const copy = Object.assign({}, obj)\n keysToDelete.forEach(key => {\n delete copy[key]\n })\n return copy\n}\n","import { h } from 'preact'\nimport cn from 'classnames'\nimport omit from './omit'\n\nconst alwaysPassThroughProps = ['disabled']\n\nexport default args => {\n const {\n tagName = 'div',\n baseClasses = '',\n options = {},\n style,\n fn,\n passThroughProps = [],\n defaultProps,\n renderChildren\n } = args\n\n const defaults = Object.assign({}, defaultProps)\n const propsToRemove = ['className', 'tagName']\n\n const allOptionValues = Object.keys(options).reduce((result, key) => {\n const value = options[key]\n if (typeof value !== 'object') {\n defaults[key] = value\n propsToRemove.push(key)\n result.push(value)\n } else {\n result.push(...value)\n }\n return result\n }, [])\n\n propsToRemove.push(\n ...allOptionValues.filter(\n key =>\n !passThroughProps.includes(key) && !alwaysPassThroughProps.includes(key)\n )\n )\n\n const componentFn = incomingProps => {\n const props = Object.assign({}, defaults, incomingProps)\n const finalTagName = props.tagName || tagName\n const passThroughProps = omit(props, propsToRemove)\n const className = cn(baseClasses, fn && fn(props), props.className)\n const combinedStyle = Object.assign({}, style, props.style)\n const renderedChildren = renderChildren\n ? renderChildren(props)\n : props.children\n\n return h(\n finalTagName,\n Object.assign({ className, style: combinedStyle }, passThroughProps),\n ...renderedChildren\n )\n }\n\n componentFn.definition = args\n\n return componentFn\n}\n","import { h } from 'preact'\n\nexport default props => (\n <svg viewBox=\"0 0 24 24\" {...props}>\n <path\n d=\"M20 12c0-2.2-2-4-4.5-4h-9C4 8 2 9.8 2 12s2 4 4.5 4h9c2.5 0 4.5-1.8 4.5-4zm-9.5 2.1V9.9h5.7c1.3.4 2 1 2 2.1 0 1-.7 1.7-2 2.1h-5.7z\"\n fill-rule=\"nonzero\"\n />\n </svg>\n)\n","import { h } from 'preact'\nimport cn from 'classnames'\nimport omit from './utils/omit'\nimport Pill from './pill-icon'\n\nconst customIcons = {\n pill: Pill\n}\n\nexport const Icon = props => {\n const { icon, size, className, style } = props\n const rest = omit(props, ['icon', 'size', 'className'])\n const px = `${size || 24}px`\n const styles = Object.assign({}, style, {\n fontSize: px,\n width: px,\n height: px\n })\n const Custom = customIcons[icon]\n return (\n <i\n {...rest}\n style={styles}\n className={cn('dib', { 'material-icons': !Custom }, className)}\n >\n {Custom ? <Custom /> : icon}\n </i>\n )\n}\n","/** @jsx h */\nimport { h } from 'preact'\nimport getComponent from './utils/get-styled-component'\nimport { Icon } from './icon'\n\nconst preventDefault = e => {\n e.preventDefault()\n}\n\nexport const Button = getComponent({\n tagName: 'button',\n baseClasses: 'br2 ba',\n options: {\n size: ['tiny', 'large'],\n pressed: ['pressed'],\n variant: ['primary', 'stop', 'disabled']\n },\n defaultProps: {\n onContextMenu: preventDefault\n },\n fn: ({ tiny, large, disabled, pressed, primary, stop }) => {\n let classes = ['bn']\n // handle sizes\n if (tiny) {\n classes.push('pa1')\n } else if (large) {\n classes.push('pa3 fw6')\n } else {\n classes.push('pa2')\n }\n\n // if disabled stop here\n if (disabled) {\n classes.push('mid-gray bg-light-gray not-allowed')\n return classes.join(' ')\n }\n\n // pointer class\n classes.push('pointer')\n\n if (pressed) {\n classes.push('shadow-3')\n } else {\n classes.push('shadow-2')\n }\n\n if (stop) {\n classes.push('white bg-red')\n }\n if (primary) {\n classes.push('dark-blue bg-light-blue')\n }\n if (!stop && !primary) {\n classes.push('dark-blue')\n if (pressed) {\n classes.push('bg-lightest-blue')\n } else {\n classes.push('bg-white')\n }\n }\n\n return classes.join(' ')\n }\n})\n\nexport const TapIconButton = getComponent({\n baseClasses:\n 'button-reset pointer pa0 ma0 bn bg-transparent flex items-center justify-center',\n style: {\n width: '40px',\n height: '40px'\n },\n options: {\n icon: ['icon'],\n color: ['color']\n },\n renderChildren: ({ icon, color }) => [\n <Icon icon={icon} color={color} size=\"28\" />\n ]\n})\n","import { h } from 'preact'\nimport omit from './utils/omit'\n\nexport const LogoDark = props => (\n <svg viewBox=\"0 0 521 104\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M143.234 40.272l-2.684 12.564h7.236l-2.685-12.564h-1.867zm-10.113 22.017l5.951-26.451h10.192l5.951 26.451h-5.368l-1.05-4.785h-9.258l-1.05 4.785h-5.368zm30.574 0h-5.213v-19.45h5.174v1.089c1.763-1.036 3.384-1.555 4.863-1.555 2.592 0 4.382.765 5.368 2.295.985 1.53 1.478 3.89 1.478 7.08v10.541h-5.213V51.903c0-1.659-.194-2.885-.583-3.676-.389-.79-1.167-1.187-2.334-1.187a8.839 8.839 0 0 0-3.073.545l-.467.155v14.549m27.462-11.476c0-1.556-.247-2.638-.739-3.247-.493-.609-1.355-.915-2.586-.915-1.232 0-2.101.319-2.607.953-.505.636-.772 1.706-.797 3.209h6.729zm-5.738 6.555c.61.532 1.485.798 2.626.798 2.412 0 4.564-.079 6.458-.233l1.089-.118.078 3.851c-2.982.727-5.679 1.089-8.091 1.089-2.931 0-5.057-.777-6.38-2.333-1.322-1.556-1.984-4.085-1.984-7.586 0-6.975 2.866-10.463 8.597-10.463 5.653 0 8.48 2.931 8.48 8.791l-.389 3.617h-11.436c.025 1.193.343 2.056.952 2.587zm28.767-9.666c-3.216-.414-5.466-.623-6.749-.623-1.284 0-2.114.117-2.49.35-.376.234-.564.604-.564 1.109s.253.856.759 1.05c.506.195 1.801.48 3.89.856 2.087.376 3.572.992 4.453 1.848.882.855 1.323 2.244 1.323 4.162 0 4.201-2.606 6.301-7.819 6.301-1.711 0-3.786-.233-6.223-.7l-1.245-.233.155-4.357c3.216.416 5.452.622 6.71.622s2.114-.122 2.568-.368c.453-.247.681-.617.681-1.109s-.24-.856-.72-1.089c-.48-.233-1.725-.519-3.734-.856-2.011-.337-3.508-.908-4.493-1.712-.986-.803-1.478-2.237-1.478-4.298 0-2.062.7-3.618 2.1-4.669 1.4-1.049 3.202-1.575 5.407-1.575 1.53 0 3.617.248 6.262.74l1.284.233-.077 4.318m15.364-.429h-4.784v7.975c0 .778.019 1.33.058 1.653.039.325.181.603.428.837.246.233.629.349 1.147.349l2.957-.077.234 4.162c-1.738.389-3.061.583-3.968.583-2.334 0-3.929-.525-4.785-1.575-.855-1.05-1.284-2.989-1.284-5.815v-8.092h-2.294v-4.434h2.294v-5.406h5.213v5.406h4.784v4.434m8.791 15.016h-5.212V35.06h5.212v8.712c1.789-.933 3.397-1.399 4.824-1.399 2.593 0 4.382.765 5.367 2.295.987 1.53 1.48 3.89 1.48 7.08v10.541h-5.213V51.864c0-1.634-.195-2.846-.584-3.637-.388-.79-1.167-1.187-2.334-1.187a10.28 10.28 0 0 0-3.034.467l-.506.156v14.626m27.463-11.476c0-1.556-.247-2.638-.739-3.247-.493-.609-1.355-.915-2.587-.915-1.231 0-2.1.319-2.607.953-.505.636-.771 1.706-.797 3.209h6.73zm-5.737 6.555c.608.532 1.483.798 2.625.798 2.413 0 4.564-.079 6.457-.233l1.089-.118.078 3.851c-2.982.727-5.678 1.089-8.091 1.089-2.931 0-5.056-.777-6.379-2.333-1.323-1.556-1.985-4.085-1.985-7.586 0-6.975 2.866-10.463 8.598-10.463 5.653 0 8.48 2.931 8.48 8.791l-.389 3.617h-11.437c.026 1.193.344 2.056.954 2.587zm28.765-9.666c-3.216-.414-5.465-.623-6.749-.623-1.283 0-2.114.117-2.489.35-.377.234-.565.604-.565 1.109s.253.856.759 1.05c.506.195 1.802.48 3.89.856 2.087.376 3.572.992 4.454 1.848.881.855 1.323 2.244 1.323 4.162 0 4.201-2.606 6.301-7.819 6.301-1.712 0-3.786-.233-6.224-.7l-1.245-.233.156-4.357c3.215.416 5.452.622 6.71.622 1.257 0 2.113-.122 2.567-.368.454-.247.681-.617.681-1.109s-.24-.856-.719-1.089c-.481-.233-1.726-.519-3.735-.856-2.01-.337-3.508-.908-4.492-1.712-.986-.803-1.479-2.237-1.479-4.298 0-2.062.7-3.618 2.101-4.669 1.4-1.049 3.202-1.575 5.407-1.575 1.529 0 3.617.248 6.263.74l1.283.233-.078 4.318m4.589 14.587h5.213v-19.45h-5.213v19.45zm0-21.939h5.213v-5.29h-5.213v5.29zm16.377 13.692c-1.453.13-2.179.908-2.179 2.334 0 1.427.636 2.14 1.907 2.14.985 0 2.061-.156 3.228-.467l.583-.156v-4.162l-3.539.311zm8.752-5.134v8.091c.052.622.156 1.057.311 1.303.156.247.48.421.973.525l-.156 3.928c-1.322 0-2.379-.09-3.17-.272-.791-.181-1.589-.544-2.392-1.089-1.867.908-3.774 1.361-5.718 1.361-4.021 0-6.03-2.125-6.03-6.379 0-2.074.558-3.545 1.673-4.415 1.115-.869 2.826-1.381 5.135-1.536l4.161-.312v-1.205c0-.804-.181-1.355-.543-1.654-.364-.297-.948-.447-1.751-.447l-7.313.312-.156-3.619c2.775-.751 5.413-1.127 7.916-1.127 2.502 0 4.304.519 5.408 1.555 1.101 1.038 1.652 2.698 1.652 4.98zm22.406 12.953c-2.749.596-5.226.894-7.429.894-2.205 0-3.968-.272-5.291-.816-1.322-.545-2.36-1.413-3.112-2.606-.753-1.193-1.271-2.594-1.556-4.202-.285-1.607-.428-3.63-.428-6.068 0-5.108.719-8.667 2.159-10.678 1.44-2.009 4.091-3.015 7.955-3.015 2.229 0 4.81.351 7.741 1.051l-.156 4.279c-2.567-.389-4.7-.584-6.399-.584-1.698 0-2.911.228-3.637.681-.726.454-1.264 1.316-1.614 2.587-.35 1.271-.524 3.436-.524 6.496 0 3.061.355 5.18 1.068 6.36.713 1.18 2.14 1.77 4.279 1.77 2.14 0 4.416-.181 6.827-.545l.117 4.396m9.296.428h-5.212V35.06h5.212v8.712c1.79-.933 3.397-1.399 4.824-1.399 2.593 0 4.383.765 5.368 2.295.986 1.53 1.479 3.89 1.479 7.08v10.541h-5.213V51.864c0-1.634-.194-2.846-.583-3.637-.389-.79-1.167-1.187-2.335-1.187a10.28 10.28 0 0 0-3.034.467l-.506.156v14.626m22.639-8.247c-1.452.13-2.178.908-2.178 2.334 0 1.427.636 2.14 1.907 2.14.985 0 2.061-.156 3.228-.467l.583-.156v-4.162l-3.54.311zm8.753-5.134v8.091c.052.622.156 1.057.312 1.303.154.247.479.421.972.525l-.155 3.928c-1.323 0-2.38-.09-3.171-.272-.791-.181-1.589-.544-2.392-1.089-1.868.908-3.774 1.361-5.719 1.361-4.02 0-6.029-2.125-6.029-6.379 0-2.074.558-3.545 1.672-4.415 1.115-.869 2.827-1.381 5.136-1.536l4.161-.312v-1.205c0-.804-.181-1.355-.544-1.654-.363-.297-.947-.447-1.751-.447l-7.312.312-.156-3.619c2.775-.751 5.413-1.127 7.917-1.127 2.501 0 4.304.519 5.406 1.555 1.102 1.038 1.653 2.698 1.653 4.98zm5.173 13.381v-19.45h5.173v2.062c2.179-1.297 4.254-2.139 6.224-2.528v5.251c-2.1.441-3.902.895-5.406 1.361l-.779.272v13.032h-5.212m25.44-15.016h-4.785v7.975c0 .778.02 1.33.059 1.653.039.325.181.603.428.837.246.233.628.349 1.148.349l2.957-.077.232 4.162c-1.737.389-3.06.583-3.968.583-2.333 0-3.929-.525-4.784-1.575-.856-1.05-1.284-2.989-1.284-5.815v-8.092h-2.295v-4.434h2.295v-5.406h5.212v5.406h4.785v4.434m3.579 15.016h5.212v-19.45h-5.212v19.45zm0-21.939h5.212v-5.29h-5.212v5.29zm15.443 21.939h-5.213v-19.45h5.174v1.089c1.763-1.036 3.383-1.555 4.863-1.555 2.592 0 4.381.765 5.367 2.295.985 1.53 1.478 3.89 1.478 7.08v10.541h-5.213V51.903c0-1.659-.193-2.885-.583-3.676-.389-.79-1.167-1.187-2.334-1.187a8.833 8.833 0 0 0-3.072.545l-.467.155v14.549m20.966-12.934c0 1.906.992 2.859 2.975 2.859 1.985 0 2.976-.953 2.976-2.859 0-1.906-.991-2.859-2.976-2.859-1.983 0-2.975.953-2.975 2.859zm-.312 15.929c0 1.115 1.368 1.673 4.104 1.673 2.736 0 4.105-.648 4.105-1.945 0-.7-.234-1.148-.701-1.343-.467-.193-1.452-.304-2.956-.33l-3.501-.272c-.7.7-1.051 1.439-1.051 2.217zm13.46-.564c0 2.217-.856 3.858-2.567 4.921-1.712 1.063-4.026 1.595-6.944 1.595s-5.161-.389-6.73-1.168c-1.569-.777-2.353-2.191-2.353-4.239 0-1.634.934-3.178 2.801-4.629-.96-.648-1.439-1.634-1.439-2.956 0-.519.389-1.375 1.167-2.568l.349-.545c-1.763-1.27-2.645-3.144-2.645-5.621 0-2.476.746-4.271 2.238-5.387 1.49-1.115 3.467-1.673 5.932-1.673 1.114 0 2.217.13 3.305.389l.623.117 6.263-.194v4.162l-2.918-.234c.57.882.856 1.764.856 2.646 0 2.593-.661 4.382-1.983 5.368-1.323.986-3.398 1.478-6.224 1.478a7.363 7.363 0 0 1-1.595-.156c-.26.675-.389 1.225-.389 1.653 0 .428.219.72.661.875.441.156 1.478.248 3.113.273 3.266.026 5.496.461 6.69 1.303 1.192.843 1.789 2.373 1.789 4.59z\"\n fill=\"#FFF\"\n />\n <path\n d=\"M520.01 50.187a3.51 3.51 0 0 1-3.5 3.5h-39.956a3.51 3.51 0 0 1-3.5-3.5V38.571a3.51 3.51 0 0 1 3.5-3.5h39.956a3.51 3.51 0 0 1 3.5 3.5v11.616\"\n fill=\"#6CC4CA\"\n />\n <path\n fill=\"#173140\"\n d=\"M477.476 49.241h2.801v-3.228h-2.801zm8.734-9.958c.673 0 1.536.104 2.586.312l.525.116-.078 2.061c-1.024-.103-1.782-.155-2.275-.155-.894 0-1.488.192-1.779.574-.292.382-.437 1.105-.437 2.168 0 1.064.145 1.793.437 2.189.291.395.891.593 1.798.593l2.256-.156.078 2.081c-1.387.273-2.444.409-3.17.409-1.439 0-2.473-.405-3.102-1.216-.63-.81-.943-2.11-.943-3.9 0-1.789.323-3.082.972-3.88.649-.797 1.692-1.196 3.132-1.196m7.497 7.274c.266.467.743.7 1.43.7.686 0 1.164-.233 1.429-.7.266-.467.399-1.199.399-2.198 0-.998-.133-1.724-.399-2.178-.265-.453-.743-.681-1.429-.681-.687 0-1.164.228-1.43.681-.265.454-.398 1.18-.398 2.178 0 .999.133 1.731.398 2.198zm-2.013-5.941c.687-.889 1.835-1.333 3.443-1.333s2.755.444 3.443 1.333c.687.888 1.03 2.135 1.03 3.743 0 3.411-1.491 5.116-4.473 5.116-2.982 0-4.473-1.705-4.473-5.116 0-1.608.343-2.855 1.03-3.743zm12.428 8.625h-2.606v-9.724h2.587v.545c.895-.519 1.659-.779 2.295-.779 1.05 0 1.861.305 2.431.914 1.193-.609 2.282-.914 3.268-.914 1.283 0 2.175.373 2.674 1.119.499.745.749 1.935.749 3.568v5.271h-2.607v-5.193c0-.829-.09-1.442-.271-1.838-.182-.395-.545-.593-1.09-.593-.415 0-.921.091-1.516.273l-.293.096c.052.973.078 1.712.078 2.218v5.037h-2.606v-4.998c0-.96-.085-1.637-.253-2.033-.168-.395-.538-.593-1.108-.593a4.29 4.29 0 0 0-1.498.273l-.234.077v7.274\"\n />\n <path\n d=\"M36.159 103.665c-.72 0-1.448-.14-2.143-.433C14.026 94.818-.01 75.049-.01 52S14.026 9.182 34.016.768a5.508 5.508 0 0 1 2.143-.433c1.74 0 3.433.821 4.504 2.298l9.633 13.287C32.674 18.476 19.093 33.681 19.093 52s13.581 33.524 31.203 36.081l-9.633 13.286a5.565 5.565 0 0 1-4.504 2.298m38.791 0a5.563 5.563 0 0 1-4.504-2.298l-9.633-13.286C78.435 85.524 92.016 70.319 92.016 52c0-18.319-13.581-33.524-31.203-36.08l9.633-13.287A5.563 5.563 0 0 1 74.95.335c.719 0 1.448.14 2.143.433C97.083 9.182 111.119 28.951 111.119 52s-14.036 42.818-34.026 51.232a5.511 5.511 0 0 1-2.143.433\"\n fill=\"#4486A0\"\n />\n <path\n d=\"M58.348 19.319L70.446 2.633a5.56 5.56 0 0 1 6.659-1.86 55.435 55.435 0 0 1 11.57 6.61L65.124 40.479c-5.264 7.396-13.876 7.396-19.139 0L22.434 7.383A55.453 55.453 0 0 1 34.003.773a5.562 5.562 0 0 1 6.66 1.86L52.76 19.319c1.378 1.9 4.21 1.9 5.588 0m0 65.362l12.098 16.686a5.56 5.56 0 0 0 6.659 1.86 55.435 55.435 0 0 0 11.57-6.61L65.124 63.521c-5.264-7.396-13.876-7.396-19.139 0L22.434 96.617a55.453 55.453 0 0 0 11.569 6.61 5.562 5.562 0 0 0 6.66-1.86L52.76 84.681c1.378-1.9 4.21-1.9 5.588 0\"\n fill=\"#6CC4CA\"\n />\n </g>\n </svg>\n)\n\nexport const LogoTextOnly = props => {\n let { fill } = props\n if (!fill) {\n fill = '#fff'\n }\n return (\n <svg\n width=\"333\"\n height=\"37\"\n viewBox=\"0 0 333 37\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...omit(props, ['fill'])}\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.2 5.3L7.6 17.8h7.2L12 5.3h-1.9.1zm-10 22L6.1.8h10.2l6 26.5h-5.5l-1-4.8H6.5l-1 4.8H0h.2zm30.5 0h-5.2V7.8h5.2V9c1.7-1 3.3-1.5 4.8-1.5 2.6 0 4.4.7 5.4 2.3a13 13 0 0 1 1.5 7v10.6h-5.2V16.9c0-1.7-.2-2.9-.6-3.7-.4-.8-1.2-1.2-2.4-1.2-1 0-2 .2-3 .6l-.5.1v14.6zm27.5-11.5c0-1.5-.3-2.6-.8-3.2-.5-.6-1.3-1-2.6-1-1.2 0-2 .4-2.6 1-.5.6-.7 1.7-.8 3.2h6.8zm-5.8 6.6a4 4 0 0 0 2.6.8c2.5 0 4.6-.1 6.5-.3h1l.2 3.8c-3 .7-5.7 1-8.1 1-3 0-5-.7-6.4-2.3-1.3-1.5-2-4-2-7.6 0-7 2.9-10.4 8.6-10.4 5.7 0 8.5 2.9 8.5 8.8l-.4 3.6H51.5c0 1.2.3 2 1 2.6h-.1zm28.8-9.7c-3.2-.4-5.5-.6-6.8-.6-1.2 0-2 .1-2.5.3-.3.3-.5.6-.5 1.1 0 .5.2.9.7 1 .5.3 1.8.6 4 1 2 .3 3.5 1 4.4 1.8.9.8 1.3 2.2 1.3 4.2 0 4.2-2.6 6.3-7.8 6.3-2 0-4.2-.3-6.2-.7l-1.3-.3.2-4.3c3.2.4 5.4.6 6.7.6 1.3 0 2.1-.1 2.6-.4.4-.2.6-.6.6-1s-.2-1-.7-1.2a20 20 0 0 0-3.7-.8c-2-.4-3.5-1-4.5-1.7-1-.9-1.5-2.3-1.5-4.3 0-2.1.7-3.7 2.1-4.7 1.4-1 3.2-1.6 5.4-1.6 1.5 0 3.6.3 6.3.8l1.3.2-.1 4.3zm15.4-.4h-4.8v9.6c0 .3.2.6.5.8.2.3.6.4 1.1.4h3l.2 4c-1.7.5-3 .7-4 .7-2.3 0-4-.6-4.8-1.6-.8-1-1.2-3-1.2-5.8v-8.1h-2.3V7.8h2.3V2.4h5.2v5.4h4.8v4.5zm8.7 15h-5.2V0h5.2v8.7a10 10 0 0 1 4.9-1.4c2.6 0 4.3.7 5.3 2.3a13 13 0 0 1 1.5 7v10.6h-5.2V16.9c0-1.7-.2-2.9-.6-3.7-.4-.8-1.2-1.2-2.3-1.2-1 0-2 .2-3 .5l-.6.2v14.6zm27.5-11.5c0-1.5-.2-2.6-.7-3.2-.5-.6-1.4-1-2.6-1-1.3 0-2.1.4-2.6 1s-.8 1.7-.8 3.2h6.7zm-5.7 6.6c.6.5 1.4.8 2.6.8 2.4 0 4.6-.1 6.4-.3h1.1l.1 3.8c-3 .7-5.7 1-8 1-3 0-5.1-.7-6.5-2.3-1.3-1.5-2-4-2-7.6 0-7 3-10.4 8.7-10.4 5.6 0 8.4 2.9 8.4 8.8l-.4 3.6h-11.4c0 1.2.4 2 1 2.6zm28.7-9.7c-3.2-.4-5.4-.6-6.7-.6-1.3 0-2.1.1-2.5.3-.4.3-.6.6-.6 1.1 0 .5.3.9.8 1 .5.3 1.8.6 3.9 1 2 .3 3.6 1 4.4 1.8 1 .8 1.4 2.2 1.4 4.2 0 4.2-2.7 6.3-7.9 6.3-2 0-4.2-.3-6.2-.7l-1.2-.3.1-4.3c3.2.4 5.5.6 6.7.6a6 6 0 0 0 2.6-.4c.5-.2.7-.6.7-1s-.3-1-.7-1.2c-.5-.2-1.8-.5-3.8-.8-2-.4-3.5-1-4.5-1.7-1-.9-1.4-2.3-1.4-4.3 0-2.1.7-3.7 2-4.7 1.5-1 3.3-1.6 5.5-1.6 1.5 0 3.6.3 6.2.8l1.3.2v4.3h-.1zm4.6 14.6h5.2V7.8h-5.2v19.5zm0-22h5.2V.1h-5.2v5.2zM176.8 19c-1.5.2-2.2 1-2.2 2.4s.7 2.1 2 2.1c1 0 2-.1 3.2-.5l.5-.1v-4.2l-3.5.3zm8.7-5v8c.1.6.2 1 .4 1.3.1.2.4.4 1 .5l-.2 4c-1.3 0-2.4-.1-3.2-.3-.8-.2-1.6-.6-2.4-1.1a13 13 0 0 1-5.7 1.4c-4 0-6-2.2-6-6.4 0-2.1.5-3.6 1.6-4.4 1.5-1 3.3-1.6 5.2-1.6l4.1-.3V14c0-.8-.1-1.3-.5-1.6a3 3 0 0 0-1.8-.5l-7.3.3-.1-3.6c2.7-.8 5.4-1.1 7.9-1.1s4.3.5 5.4 1.5c1.1 1 1.6 2.7 1.6 5zM208 26.8c-2.8.6-5.3.9-7.5.9s-4-.3-5.3-.9a6.5 6.5 0 0 1-3-2.6c-.8-1.2-1.3-2.6-1.6-4.2-.3-1.6-.5-3.6-.5-6 0-5.1.8-8.7 2.2-10.7 1.4-2 4-3 8-3 2.2 0 4.8.3 7.7 1l-.2 4.3c-2.5-.4-4.7-.6-6.4-.6-1.7 0-2.9.2-3.6.7-.7.5-1.3 1.3-1.6 2.6-.4 1.3-.5 3.4-.5 6.5 0 3 .3 5.2 1 6.3.7 1.2 2.2 1.8 4.3 1.8 2.2 0 4.4-.2 6.8-.5l.2 4.4zm9.3.4H212V0h5.3v8.7c1.7-1 3.3-1.4 4.8-1.4 2.6 0 4.4.7 5.3 2.3a13 13 0 0 1 1.5 7v10.6h-5.2V16.9c0-1.7-.2-2.9-.6-3.7-.4-.8-1.1-1.2-2.3-1.2-1 0-2 .2-3 .5l-.5.2v14.6-.1zm22.6-8.2c-1.5.2-2.2 1-2.2 2.4s.6 2.1 2 2.1c.9 0 2-.1 3.1-.5l.6-.1v-4.2l-3.5.3zm8.7-5v8c.1.6.2 1 .4 1.3.1.2.4.4 1 .5l-.2 4c-1.4 0-2.4-.1-3.2-.3-.8-.2-1.6-.6-2.4-1.1a13 13 0 0 1-5.7 1.4c-4 0-6-2.2-6-6.4 0-2.1.5-3.6 1.6-4.4 1.5-1 3.3-1.6 5.2-1.6l4.1-.3V14c0-.8-.1-1.3-.5-1.6a3 3 0 0 0-1.8-.5l-7.3.3-.1-3.6c2.7-.8 5.4-1.1 7.9-1.1s4.3.5 5.4 1.5c1 1 1.6 2.7 1.6 5zm5.2 13.3V7.8h5.2V10c2.2-1.3 4.2-2.1 6.2-2.5v5.2l-5.4 1.4-.8.3v13h-5.2v-.1zm25.5-14.9h-4.8V22c0 .3.2.6.5.8.2.3.6.4 1.1.4h3l.2 4c-1.7.5-3 .7-4 .7-2.3 0-3.9-.6-4.8-1.6-.8-1-1.2-3-1.2-5.8v-8.1H267V7.9h2.3V2.5h5.2v5.4h4.8v4.5zm3.5 15h5.2V7.8h-5.2v19.6zm0-22h5.2V.2h-5.2v5.2zm15.5 22H293V7.8h5.1V9c1.8-1 3.4-1.5 4.9-1.5 2.6 0 4.4.7 5.4 2.3 1 1.5 1.4 3.9 1.4 7v10.6h-5.2V16.9c0-1.7-.2-2.9-.5-3.7-.4-.8-1.2-1.2-2.4-1.2-1 0-2 .2-3 .6l-.5.1v14.6l.1.1zm20.9-13.1c0 2 1 3 3 3 1.9 0 2.9-1 2.9-3 0-1.9-1-2.8-3-2.8s-3 1-3 2.9l.1-.1zm-.4 16c0 1.1 1.4 1.7 4.1 1.7 2.8 0 4.1-.7 4.1-2 0-.7-.2-1.1-.7-1.3-.4-.2-1.4-.3-3-.4l-3.4-.2a3 3 0 0 0-1 2.2h-.1zm13.5-.6c0 2.2-.9 3.9-2.6 5-1.7 1-4 1.5-7 1.5s-5-.4-6.6-1.1c-1.6-.8-2.4-2.2-2.4-4.3 0-1.6 1-3.1 2.8-4.6-1-.6-1.4-1.6-1.4-3 0-.5.3-1.3 1.1-2.5l.4-.6a6.5 6.5 0 0 1-2.7-5.6c0-2.5.8-4.3 2.3-5.4a9.7 9.7 0 0 1 5.9-1.6c1.1 0 2.2 0 3.3.3l.6.2 6.3-.2v4.1l-3-.2a5 5 0 0 1 1 2.6c0 2.6-.7 4.4-2 5.4a10.8 10.8 0 0 1-7.9 1.3l-.4 1.7c0 .4.3.7.7.9.4.1 1.5.2 3.1.2 3.3 0 5.5.5 6.7 1.3 1.2.9 1.8 2.4 1.8 4.6z\"\n fill=\"#fff\"\n />\n </svg>\n )\n}\n\nexport const LogoLightMark = props => (\n <svg viewBox=\"0 0 112 104\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M19.103 51.6638C19.103 33.3448 32.684 18.1398 50.305 15.5828L40.673 2.29676C39.9378 1.28176 38.881 0.545149 37.6743 0.206577C36.4676 -0.131995 35.1819 -0.0526371 34.026 0.431761C14.035 8.84576 0 28.6148 0 51.6638C0 74.7128 14.035 94.4818 34.026 102.896C36.403 103.896 39.158 103.119 40.673 101.031L50.305 87.7448C32.684 85.1878 19.103 69.9828 19.103 51.6638ZM70.456 2.29676L60.823 15.5828C78.445 18.1398 92.026 33.3448 92.026 51.6638C92.026 69.9828 78.445 85.1878 60.823 87.7448L70.456 101.031C71.1912 102.046 72.248 102.782 73.4547 103.121C74.6614 103.46 75.9471 103.38 77.103 102.896C97.093 94.4818 111.129 74.7128 111.129 51.6638C111.129 28.6148 97.093 8.84576 77.103 0.431761C75.9471 -0.0526371 74.6614 -0.131995 73.4547 0.206577C72.248 0.545149 71.1912 1.28176 70.456 2.29676\"\n fill=\"#173140\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M58.358 18.9828L70.456 2.29676C71.193 1.28052 72.2522 0.543581 73.4612 0.205864C74.6703 -0.131853 75.9581 -0.0504734 77.115 0.436761C81.2234 2.16687 85.1081 4.38624 88.685 7.04676L65.134 40.1428C59.87 47.5388 51.258 47.5388 45.995 40.1428L22.444 7.04676C26.0206 4.38645 29.905 2.1671 34.013 0.436761C35.1701 -0.0503619 36.458 -0.131685 37.6672 0.206017C38.8764 0.543718 39.9357 1.28058 40.673 2.29676L52.77 18.9828C54.148 20.8828 56.98 20.8828 58.358 18.9828ZM58.358 84.3448L70.456 101.031C71.193 102.047 72.2522 102.784 73.4612 103.122C74.6703 103.459 75.9581 103.378 77.115 102.891C81.2234 101.161 85.1081 98.9413 88.685 96.2808L65.134 63.1848C59.87 55.7888 51.258 55.7888 45.995 63.1848L22.444 96.2808C26.0206 98.9411 29.905 101.16 34.013 102.891C35.1701 103.378 36.458 103.459 37.6672 103.121C38.8764 102.784 39.9357 102.047 40.673 101.031L52.77 84.3448C54.148 82.4448 56.98 82.4448 58.358 84.3448Z\"\n fill=\"#6CC4CA\"\n />\n </svg>\n)\n\nexport const LogoLight = props => (\n <svg viewBox=\"0 0 521 104\" xmlns=\"http://www.w3.org/2000/svg\" {...props}>\n <g fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M143.234 40.272l-2.684 12.564h7.236l-2.685-12.564h-1.867zm-10.113 22.017l5.951-26.451h10.192l5.951 26.451h-5.368l-1.05-4.785h-9.258l-1.05 4.785h-5.368zm30.574 0h-5.213v-19.45h5.174v1.089c1.763-1.036 3.384-1.555 4.863-1.555 2.592 0 4.382.765 5.368 2.295.985 1.53 1.478 3.89 1.478 7.08v10.541h-5.213V51.903c0-1.659-.194-2.885-.583-3.676-.389-.79-1.167-1.187-2.334-1.187a8.839 8.839 0 0 0-3.073.545l-.467.155v14.549m27.462-11.476c0-1.556-.247-2.638-.739-3.247-.493-.609-1.355-.915-2.586-.915-1.232 0-2.101.319-2.607.953-.505.636-.772 1.706-.797 3.209h6.729zm-5.738 6.555c.61.532 1.485.798 2.626.798 2.412 0 4.564-.079 6.457-.233l1.09-.118.078 3.851c-2.982.727-5.679 1.089-8.091 1.089-2.931 0-5.057-.777-6.38-2.333-1.323-1.556-1.984-4.085-1.984-7.586 0-6.975 2.866-10.463 8.597-10.463 5.653 0 8.48 2.931 8.48 8.791l-.389 3.617h-11.436c.025 1.193.343 2.056.952 2.587zm28.767-9.666c-3.216-.414-5.466-.623-6.749-.623-1.284 0-2.114.117-2.49.35-.376.234-.564.604-.564 1.109s.253.856.759 1.05c.505.195 1.801.48 3.89.856 2.087.376 3.572.992 4.453 1.848.882.855 1.323 2.244 1.323 4.162 0 4.201-2.606 6.301-7.819 6.301-1.711 0-3.786-.233-6.223-.7l-1.245-.233.155-4.357c3.216.416 5.452.622 6.71.622s2.114-.122 2.568-.368c.453-.247.681-.617.681-1.109s-.24-.856-.72-1.089c-.48-.233-1.725-.519-3.734-.856-2.011-.337-3.508-.908-4.493-1.712-.986-.803-1.479-2.237-1.479-4.298 0-2.062.701-3.618 2.101-4.669 1.4-1.049 3.202-1.575 5.407-1.575 1.53 0 3.617.248 6.262.74l1.284.233-.077 4.318m15.364-.429h-4.784v7.975c0 .778.019 1.33.058 1.653.039.325.181.603.427.837.247.233.63.349 1.148.349l2.956-.077.235 4.162c-1.738.389-3.061.583-3.968.583-2.334 0-3.929-.525-4.785-1.575-.856-1.05-1.284-2.989-1.284-5.815v-8.092h-2.294v-4.434h2.294v-5.406h5.213v5.406h4.784v4.434m8.791 15.016h-5.212V35.06h5.212v8.712c1.789-.933 3.397-1.399 4.824-1.399 2.593 0 4.382.765 5.367 2.295.987 1.53 1.48 3.89 1.48 7.08v10.541h-5.213V51.864c0-1.634-.195-2.846-.584-3.637-.388-.79-1.167-1.187-2.334-1.187a10.28 10.28 0 0 0-3.034.467l-.506.156v14.626m27.463-11.476c0-1.556-.247-2.638-.739-3.247-.493-.609-1.356-.915-2.587-.915s-2.101.319-2.607.953c-.505.636-.771 1.706-.797 3.209h6.73zm-5.737 6.555c.608.532 1.483.798 2.625.798 2.412 0 4.564-.079 6.457-.233l1.089-.118.078 3.851c-2.982.727-5.678 1.089-8.091 1.089-2.931 0-5.056-.777-6.379-2.333-1.323-1.556-1.985-4.085-1.985-7.586 0-6.975 2.866-10.463 8.598-10.463 5.653 0 8.48 2.931 8.48 8.791l-.389 3.617h-11.437c.026 1.193.344 2.056.954 2.587zm28.765-9.666c-3.216-.414-5.465-.623-6.749-.623-1.283 0-2.114.117-2.489.35-.377.234-.565.604-.565 1.109s.253.856.759 1.05c.506.195 1.802.48 3.89.856 2.087.376 3.572.992 4.454 1.848.881.855 1.323 2.244 1.323 4.162 0 4.201-2.606 6.301-7.819 6.301-1.712 0-3.786-.233-6.224-.7l-1.245-.233.156-4.357c3.215.416 5.452.622 6.71.622 1.257 0 2.113-.122 2.567-.368.454-.247.681-.617.681-1.109s-.24-.856-.719-1.089c-.481-.233-1.726-.519-3.735-.856-2.01-.337-3.508-.908-4.493-1.712-.985-.803-1.478-2.237-1.478-4.298 0-2.062.7-3.618 2.101-4.669 1.399-1.049 3.202-1.575 5.407-1.575 1.529 0 3.617.248 6.262.74l1.284.233-.078 4.318m4.589 14.587h5.213v-19.45h-5.213v19.45zm0-21.939h5.213v-5.29h-5.213v5.29zm16.377 13.692c-1.453.13-2.179.908-2.179 2.334 0 1.427.636 2.14 1.907 2.14.985 0 2.061-.156 3.228-.467l.583-.156v-4.162l-3.539.311zm8.752-5.134v8.091c.052.622.156 1.057.311 1.303.156.247.48.421.973.525l-.156 3.928c-1.322 0-2.379-.09-3.17-.272-.791-.181-1.589-.544-2.392-1.089-1.867.908-3.774 1.361-5.719 1.361-4.02 0-6.029-2.125-6.029-6.379 0-2.074.558-3.545 1.673-4.415 1.115-.869 2.826-1.381 5.135-1.536l4.161-.312v-1.205c0-.804-.181-1.355-.544-1.654-.363-.297-.947-.447-1.75-.447l-7.313.312-.156-3.619c2.775-.751 5.413-1.127 7.916-1.127 2.502 0 4.304.519 5.407 1.555 1.102 1.038 1.653 2.698 1.653 4.98zm22.406 12.953c-2.749.596-5.226.894-7.429.894-2.205 0-3.968-.272-5.291-.816-1.322-.545-2.36-1.413-3.112-2.606-.753-1.193-1.271-2.594-1.556-4.202-.285-1.607-.428-3.63-.428-6.068 0-5.108.719-8.667 2.159-10.678 1.44-2.009 4.091-3.015 7.955-3.015 2.229 0 4.809.351 7.741 1.051l-.156 4.279c-2.568-.389-4.7-.584-6.399-.584-1.698 0-2.911.228-3.637.681-.726.454-1.264 1.316-1.615 2.587-.349 1.271-.523 3.436-.523 6.496 0 3.061.355 5.18 1.068 6.36.713 1.18 2.14 1.77 4.279 1.77 2.14 0 4.416-.181 6.827-.545l.117 4.396m9.296.428h-5.212V35.06h5.212v8.712c1.79-.933 3.397-1.399 4.824-1.399 2.593 0 4.382.765 5.368 2.295.986 1.53 1.479 3.89 1.479 7.08v10.541h-5.213V51.864c0-1.634-.194-2.846-.584-3.637-.388-.79-1.167-1.187-2.334-1.187a10.28 10.28 0 0 0-3.034.467l-.506.156v14.626m22.639-8.247c-1.452.13-2.178.908-2.178 2.334 0 1.427.636 2.14 1.907 2.14.984 0 2.061-.156 3.228-.467l.583-.156v-4.162l-3.54.311zm8.753-5.134v8.091c.052.622.156 1.057.312 1.303.154.247.479.421.972.525l-.156 3.928c-1.322 0-2.379-.09-3.17-.272-.791-.181-1.589-.544-2.393-1.089-1.867.908-3.773 1.361-5.718 1.361-4.02 0-6.029-2.125-6.029-6.379 0-2.074.558-3.545 1.672-4.415 1.115-.869 2.827-1.381 5.136-1.536l4.161-.312v-1.205c0-.804-.181-1.355-.544-1.654-.363-.297-.947-.447-1.751-.447l-7.312.312-.157-3.619c2.776-.751 5.414-1.127 7.917-1.127 2.502 0 4.305.519 5.407 1.555 1.102 1.038 1.653 2.698 1.653 4.98zm5.173 13.381v-19.45h5.173v2.062c2.179-1.297 4.254-2.139 6.224-2.528v5.251c-2.1.441-3.902.895-5.406 1.361l-.779.272v13.032h-5.212m25.44-15.016h-4.785v7.975c0 .778.02 1.33.059 1.653.039.325.181.603.428.837.246.233.628.349 1.147.349l2.957-.077.233 4.162c-1.737.389-3.06.583-3.968.583-2.333 0-3.929-.525-4.785-1.575-.855-1.05-1.283-2.989-1.283-5.815v-8.092h-2.295v-4.434h2.295v-5.406h5.212v5.406h4.785v4.434m3.578 15.016h5.213v-19.45h-5.213v19.45zm0-21.939h5.213v-5.29h-5.213v5.29zm15.444 21.939h-5.213v-19.45h5.174v1.089c1.763-1.036 3.383-1.555 4.863-1.555 2.592 0 4.381.765 5.367 2.295.985 1.53 1.478 3.89 1.478 7.08v10.541h-5.213V51.903c0-1.659-.193-2.885-.583-3.676-.389-.79-1.167-1.187-2.334-1.187a8.833 8.833 0 0 0-3.072.545l-.467.155v14.549m20.966-12.934c0 1.906.992 2.859 2.975 2.859 1.985 0 2.976-.953 2.976-2.859 0-1.906-.991-2.859-2.976-2.859-1.983 0-2.975.953-2.975 2.859zm-.312 15.929c0 1.115 1.368 1.673 4.104 1.673 2.736 0 4.105-.648 4.105-1.945 0-.7-.234-1.148-.701-1.343-.467-.193-1.452-.304-2.956-.33l-3.501-.272c-.7.7-1.051 1.439-1.051 2.217zm13.46-.564c0 2.217-.856 3.858-2.567 4.921-1.712 1.063-4.026 1.595-6.944 1.595s-5.161-.389-6.73-1.168c-1.569-.777-2.353-2.191-2.353-4.239 0-1.634.934-3.178 2.801-4.629-.96-.648-1.439-1.634-1.439-2.956 0-.519.389-1.375 1.167-2.568l.349-.545c-1.763-1.27-2.645-3.144-2.645-5.621 0-2.476.746-4.271 2.238-5.387 1.49-1.115 3.467-1.673 5.932-1.673 1.114 0 2.217.13 3.305.389l.623.117 6.263-.194v4.162l-2.918-.234c.57.882.856 1.764.856 2.646 0 2.593-.661 4.382-1.983 5.368-1.323.986-3.398 1.478-6.224 1.478a7.363 7.363 0 0 1-1.595-.156c-.26.675-.389 1.225-.389 1.653 0 .428.219.72.661.875.441.156 1.478.248 3.113.273 3.266.026 5.496.461 6.69 1.303 1.192.843 1.789 2.373 1.789 4.59zm54.617-14.533a3.51 3.51 0 0 1-3.5 3.5h-39.956a3.51 3.51 0 0 1-3.5-3.5V38.571a3.51 3.51 0 0 1 3.5-3.5h39.956a3.51 3.51 0 0 1 3.5 3.5v11.616\"\n fill=\"#162E3E\"\n />\n <path\n fill=\"#FFF\"\n d=\"M477.476 49.241h2.801v-3.228h-2.801zm8.733-9.958c.674 0 1.537.104 2.587.312l.525.116-.078 2.061c-1.024-.103-1.782-.155-2.275-.155-.894 0-1.488.192-1.78.574-.291.382-.437 1.105-.437 2.168 0 1.064.146 1.793.437 2.189.292.395.892.593 1.799.593l2.256-.156.078 2.081c-1.387.273-2.444.409-3.17.409-1.439 0-2.473-.405-3.102-1.216-.63-.81-.943-2.11-.943-3.9 0-1.789.323-3.082.972-3.88.649-.797 1.692-1.196 3.131-1.196m7.498 7.274c.266.467.743.7 1.43.7.686 0 1.164-.233 1.429-.7.266-.467.399-1.199.399-2.198 0-.998-.133-1.724-.399-2.178-.265-.453-.743-.681-1.429-.681-.687 0-1.164.228-1.43.681-.265.454-.398 1.18-.398 2.178 0 .999.133 1.731.398 2.198zm-2.013-5.941c.687-.889 1.835-1.333 3.443-1.333s2.755.444 3.443 1.333c.687.888 1.03 2.135 1.03 3.743 0 3.411-1.491 5.116-4.473 5.116-2.982 0-4.473-1.705-4.473-5.116 0-1.608.343-2.855 1.03-3.743zm12.428 8.625h-2.606v-9.724h2.587v.545c.895-.519 1.659-.779 2.295-.779 1.05 0 1.861.305 2.431.914 1.192-.609 2.282-.914 3.268-.914 1.283 0 2.174.373 2.674 1.119.499.745.749 1.935.749 3.568v5.271h-2.607v-5.193c0-.829-.09-1.442-.271-1.838-.183-.395-.545-.593-1.09-.593-.415 0-.921.091-1.516.273l-.293.096c.052.973.078 1.712.078 2.218v5.037h-2.606v-4.998c0-.96-.085-1.637-.253-2.033-.169-.395-.538-.593-1.108-.593a4.29 4.29 0 0 0-1.498.273l-.234.077v7.274\"\n />\n <path\n d=\"M19.093 52c0-18.319 13.581-33.524 31.202-36.081L40.663 2.633A5.556 5.556 0 0 0 34.016.768C14.025 9.182-.01 28.951-.01 52s14.035 42.818 34.026 51.232c2.377 1 5.132.223 6.647-1.865l9.632-13.286C32.674 85.524 19.093 70.319 19.093 52M70.446 2.633l-9.633 13.286C78.435 18.476 92.016 33.681 92.016 52c0 18.319-13.581 33.524-31.203 36.081l9.633 13.286a5.556 5.556 0 0 0 6.647 1.865c19.99-8.414 34.026-28.183 34.026-51.232S97.083 9.182 77.093.768a5.556 5.556 0 0 0-6.647 1.865\"\n fill=\"#173140\"\n />\n <path\n d=\"M58.348 19.319L70.446 2.633a5.56 5.56 0 0 1 6.659-1.86 55.435 55.435 0 0 1 11.57 6.61L65.124 40.479c-5.264 7.396-13.876 7.396-19.139 0L22.434 7.383A55.453 55.453 0 0 1 34.003.773a5.562 5.562 0 0 1 6.66 1.86L52.76 19.319c1.378 1.9 4.21 1.9 5.588 0m0 65.362l12.098 16.686a5.56 5.56 0 0 0 6.659 1.86 55.435 55.435 0 0 0 11.57-6.61L65.124 63.521c-5.264-7.396-13.876-7.396-19.139 0L22.434 96.617a55.453 55.453 0 0 0 11.569 6.61 5.562 5.562 0 0 0 6.66-1.86L52.76 84.681c1.378-1.9 4.21-1.9 5.588 0\"\n fill=\"#6CC4CA\"\n />\n </g>\n </svg>\n)\n","/** @jsx h */\nimport { Component, h } from 'preact'\n\nexport const transitionIn = Wrapped => {\n class TransitionIn extends Component {\n constructor(props) {\n super(props)\n this.state = {\n firstRender: true\n }\n }\n\n componentDidMount() {\n setTimeout(() => {\n this.setState({ firstRender: false })\n }, 0)\n }\n\n render() {\n return (\n <Wrapped\n {...Object.assign(\n { firstRender: this.state.firstRender },\n this.props\n )}\n />\n )\n }\n }\n\n return TransitionIn\n}\n","import { h } from 'preact'\nimport cn from 'classnames'\nimport { LogoLight } from './logo'\nimport getComponent from './utils/get-styled-component'\nimport { transitionIn } from './transition-in'\nimport omit from './utils/omit'\nimport { Icon } from './icon'\n\nexport const LogoCrate = () => (\n <div className=\"mw6 mv3 ph3 pt2 pb3 center br2\">\n <div className=\"w-60\">\n <a href=\"/\">\n <LogoLight />\n </a>\n </div>\n </div>\n)\n\nexport const Page = transitionIn(\n getComponent({\n baseClasses: 'transition',\n options: { transitions: ['firstRender'] },\n fn: ({ firstRender }) => (firstRender ? 'o-0 translate-y' : 'o-100')\n })\n)\n\nexport const PageCrateHeading = getComponent({\n baseClasses: 'mt1 mb3',\n tagName: 'h3'\n})\n\nexport const PageCrate = getComponent({\n baseClasses: 'no-print-padding mv3 pa3 center br2 shadow-1',\n options: {\n title: '',\n backgroundColor: 'white',\n width: ['wide']\n },\n fn: ({ wide, backgroundColor }) =>\n cn(wide ? 'mw7' : 'mw6', `bg-${backgroundColor}`),\n renderChildren: ({ title, children }) => {\n const res = [children]\n if (title) {\n res.unshift(<PageCrateHeading>{title}</PageCrateHeading>)\n }\n return res\n }\n})\n\nexport const MessagePageCrate = props => {\n const { loading, error, warning, children } = props\n let icon = null\n let iconClasses = null\n let backgroundColor = 'white'\n let colorClasses = null\n if (loading) {\n icon = 'autorenew'\n iconClasses = 'spin-animation'\n }\n if (error) {\n icon = 'error'\n backgroundColor = 'red'\n colorClasses = 'black'\n }\n if (warning) {\n icon = 'warning'\n backgroundColor = 'orange'\n colorClasses = 'black'\n }\n const iconComp = (loading || error || warning) && (\n <Icon className={cn('f3 mr3', iconClasses)} size=\"40\" icon={icon} />\n )\n\n return (\n <Page {...omit(props, ['loading', 'error', 'warning', 'children'])}>\n <PageCrate backgroundColor={backgroundColor}>\n <div className={cn('flex items-center min-h3 f4', colorClasses)}>\n {iconComp}\n {children}\n </div>\n </PageCrate>\n </Page>\n )\n}\n","import { h } from 'preact'\nimport getComponent from './utils/get-styled-component'\nimport omit from './utils/omit'\n\nexport const FullScreenOverlayWrapper = getComponent({\n baseClasses:\n 'fixed top-0 left-0 z-999 w-100 h-100 bg-gray flex items-center dark-blue'\n})\n\nexport const FullScreenOverlay = props => (\n <FullScreenOverlayWrapper {...omit(props, ['children'])}>\n <div className=\"center ph2 ph4-m\">{props.children}</div>\n </FullScreenOverlayWrapper>\n)\n","import getComponent from './utils/get-styled-component'\n\nexport const inputClasses = 'pa2 input-reset bg-white ba b--gray br2'\n\nexport const Input = getComponent({\n baseClasses: inputClasses,\n tagName: 'input'\n})\n\nexport const Select = getComponent({\n baseClasses: inputClasses,\n tagName: 'select'\n})\n\nexport const Textarea = getComponent({\n baseClasses: inputClasses,\n tagName: 'textarea'\n})\n","import getComponent from './utils/get-styled-component'\n\nexport const DrugBox = getComponent({\n baseClasses: 'pv2 ph2 br2 ba b--light-gray mb2 bg-near-white',\n options: {\n highlight: ['highlighted']\n },\n fn: ({ highlighted }) => (highlighted ? 'bg-lightest-blue' : 'bg-near-white')\n})\n","import { h } from 'preact'\nimport getComponent from './utils/get-styled-component'\n\nconst supportEmail = 'support@anesthesiacharting.com'\n\nexport const Link = getComponent({\n baseClasses: 'link dark-blue underline hover-light-blue',\n tagName: 'a'\n})\n\nexport const SupportLink = props => (\n <Link href={`mailto:${supportEmail}`} {...props}>\n {supportEmail}\n </Link>\n)\n","import { h } from 'preact'\nimport { Icon } from './icon'\n\nexport const CheckMark = ({ name, label, isComplete, onClick }) => (\n <label\n htmlFor={name}\n className=\"flex items-center w5 mb2\"\n data-e2e=\"checkMark\"\n >\n <input\n onClick={() => onClick(name)}\n className=\"checkbox o-0\"\n id={name}\n checked={isComplete}\n type=\"checkbox\"\n />\n {isComplete && <Icon className=\"light-blue\" size=\"40\" icon=\"check_box\" />}\n {!isComplete && <Icon size=\"40\" icon=\"check_box_outline_blank\" />}\n <span className=\"ml2\">{label || name}</span>\n </label>\n)\n","/** @jsx h */\nimport getComponent from './utils/get-styled-component'\nimport { h } from 'preact'\nimport { Icon } from './icon'\nimport cn from 'classnames'\n\nconst cardStyles = {\n backfaceVisibility: 'hidden',\n webkitBackfaceVisibility: 'hidden',\n position: 'absolute',\n top: '0',\n left: '0'\n}\n\nexport const FlipIcon = getComponent({\n options: {\n complete: ['complete'],\n icon: ['icon']\n },\n renderChildren: ({ icon, complete }) => {\n return [\n <div\n style={{\n position: 'relative',\n perspective: '100px',\n width: '20px',\n height: '20px'\n }}\n >\n <div\n style={{\n transition: '0.6s',\n transformStyle: 'preserve-3d',\n webkitTransformStyle: 'preserve-3d',\n position: 'relative',\n transformOrigin: 'center',\n webkitTransformOrigin: 'center',\n width: '20px',\n height: '20px',\n transform: complete ? 'rotateX(180deg)' : '',\n webkitTransform: complete ? 'rotateX(180deg)' : ''\n }}\n >\n <Icon\n style={Object.assign({}, cardStyles, {\n zIndex: 2,\n transform: 'rotateX(0deg)',\n webkitTransform: 'rotateX(0deg)'\n })}\n className=\"light-blue\"\n size=\"20\"\n icon=\"check_circle\"\n />\n <Icon\n style={Object.assign({}, cardStyles, {\n transform: 'rotateX(180deg)',\n webkitTransform: 'rotateX(180deg)'\n })}\n size=\"20\"\n icon={icon}\n />\n </div>\n </div>\n ]\n }\n})\n\nexport const DrawerLink = getComponent({\n tagName: 'a',\n baseClasses: 'link pv1 mt1 f5 fw3 flex items-center',\n options: {\n active: ['active'],\n disabled: ['disabled'],\n completeness: ['complete']\n },\n fn: ({ active, disabled }) =>\n cn({\n 'light-blue': active,\n 'mid-gray not-allowed': disabled,\n 'white hover-moon-gray': !active && !disabled\n }),\n renderChildren: ({ icon, title, complete }) => [\n <FlipIcon icon={icon} complete={!complete} />,\n <span data-e2e={`${title}Nav`} className={icon ? 'pl2' : null}>\n {title}\n </span>\n ]\n})\n\nexport const DrawerLinkContainer = getComponent({\n baseClasses: 'link db pt2 pl3 f4',\n options: {\n completeness: ['complete'],\n title: ['title']\n },\n renderChildren: ({ complete, title, children }) => [\n <div className=\"flex items-center\">\n <Icon\n className={cn('light-blue pr2', {\n hidden: !complete\n })}\n size=\"20\"\n icon=\"check_circle\"\n />\n <h3 className=\"fw3 f6 ma0 ttu mid-gray bb b--mid-gray pb2 pt1 relative flex-grow-1\">\n {title}\n </h3>\n </div>,\n <div>{children}</div>\n ]\n})\n\nexport const Drawer = getComponent({\n baseClasses: 'bg-dark-blue white fixed top-0 vh-100 overflow-x-hidden'\n})\n","import { h, Component } from 'preact'\nimport { Icon } from './icon'\nimport { Button } from './button'\nimport cn from 'classnames'\nimport omit from './utils/omit'\nimport { FullScreenOverlay } from './full-screen-overlay'\n\nconst cellStyle = {\n width: '80px',\n height: '80px'\n}\n\nconst stopEvent = e => {\n e.preventDefault()\n e.stopImmediatePropagation()\n}\n\nconst quickTap = e => {\n e.preventDefault()\n e.target.click()\n}\n\nconst NumberCell = ({ number, callback }) => (\n <td>\n <Button\n onClick={e => {\n e.stopImmediatePropagation()\n callback(number)\n }}\n onTouchStart={quickTap}\n style={cellStyle}\n >\n {number}\n </Button>\n </td>\n)\n\nexport class Numpad extends Component {\n constructor(props) {\n super(props)\n this.addNumber = this.addNumber.bind(this)\n this.backspace = this.backspace.bind(this)\n this.close = this.close.bind(this)\n this.onKey = this.onKey.bind(this)\n this.state = {\n value: '0'\n }\n }\n\n addNumber(number) {\n const { value } = this.state\n const { max, maxDecimals } = this.props\n if (number === '.' && value.includes('.')) {\n return\n }\n let newNumber = this.state.value + '' + number\n if (newNumber.slice(0, 1) === '0') {\n newNumber = newNumber.slice(1)\n }\n const decimals = newNumber.split('.')[1]\n if (decimals && decimals.length > maxDecimals) {\n return\n }\n if (max && Number(newNumber) > max) {\n return\n }\n this.setState({ value: newNumber })\n }\n\n backspace(e) {\n if (e) e.stopImmediatePropagation()\n const number = (this.state.value + '').slice(0, -1)\n this.setState({ value: number || '0' })\n }\n\n onKey(e) {\n const value = e.which - 48\n if (value <= 9 && value >= 0) {\n this.addNumber(value)\n } else if (e.which === 8 || e.which === 48) {\n this.backspace()\n } else if (e.which === 27) {\n this.close()\n } else if (e.which === 13) {\n this.close(this.state.value)\n } else if (e.which === 190) {\n this.addNumber('.')\n }\n }\n\n componentDidMount() {\n window.addEventListener('keydown', this.onKey)\n }\n\n componentWillUnmount() {\n window.removeEventListener('keydown', this.onKey)\n }\n\n close(value) {\n if (typeof value === 'object') {\n value = undefined\n }\n this.props.onClose(value !== undefined ? Number(value) : undefined)\n }\n\n render(props, { value }) {\n const { unit, className, max } = props\n const rest = omit(props, ['unit', 'className', 'max'])\n return (\n <div\n onClick={stopEvent}\n className={cn(\n 'ba br2 b--gray bg-light-gray pa2 shadow-2 top-0 left-0',\n className\n )}\n {...rest}\n >\n <div className=\"flex items-center justify-between\">\n <div className=\"ml2\">{max && `max: ${max}`}</div>\n <div className=\"flex items-center justify-end\">\n <span className=\"fw6 f4 mr2\">\n {value} {unit}\n </span>\n <button\n className=\"bn bg-transparent\"\n onClick={this.backspace}\n onTouchStart={e => {\n e.preventDefault()\n e.target.click()\n }}\n style={cellStyle}\n >\n <Icon icon=\"backspace\" />\n </button>\n </div>\n </div>\n <table>\n <tr>\n <NumberCell callback={this.addNumber} number=\"1\" />\n <NumberCell callback={this.addNumber} number=\"2\" />\n <NumberCell callback={this.addNumber} number=\"3\" />\n <td style={cellStyle}>\n <div className=\"relative\" style={cellStyle}>\n <Button\n style={{\n width: '80px',\n height: '162px',\n top: '1px'\n }}\n stop\n className=\"absolute top-0 left-0\"\n onClick={() => this.close()}\n >\n Cancel\n </Button>\n </div>\n </td>\n </tr>\n <tr>\n <NumberCell callback={this.addNumber} number=\"4\" />\n <NumberCell callback={this.addNumber} number=\"5\" />\n <NumberCell callback={this.addNumber} number=\"6\" />\n <td />\n </tr>\n <tr>\n <NumberCell callback={this.addNumber} number=\"7\" />\n <NumberCell callback={this.addNumber} number=\"8\" />\n <NumberCell callback={this.addNumber} number=\"9\" />\n <td style={cellStyle}>\n <div className=\"relative\" style={cellStyle}>\n <Button\n style={{\n width: '80px',\n height: '162px',\n top: '1px'\n }}\n primary\n className=\"absolute left-0\"\n onClick={() => {\n this.close(value)\n }}\n >\n Save\n </Button>\n </div>\n </td>\n </tr>\n <tr>\n <NumberCell\n callback={() => this.setState({ value: '0' })}\n number=\"Clear\"\n />\n <NumberCell callback={this.addNumber} number=\"0\" />\n <NumberCell callback={this.addNumber} number=\".\" />\n <td />\n </tr>\n </table>\n </div>\n )\n }\n}\n\nexport class NumpadOverlay extends Component {\n componentDidMount() {\n setTimeout(() => {\n document.activeElement.blur()\n }, 200)\n }\n\n render({ unit = 'mg', onValue, onCancel, max = null, maxDecimals = 2 }) {\n return (\n <FullScreenOverlay>\n <Numpad\n unit={unit}\n max={max}\n maxDecimals={maxDecimals}\n onClose={value => {\n if (value !== undefined) {\n onValue(value)\n } else {\n onCancel()\n }\n }}\n />\n </FullScreenOverlay>\n )\n }\n}\n\nexport class NumpadButton extends Component {\n constructor(props) {\n super(props)\n this.state = {\n open: false\n }\n }\n\n render({ unit, max, maxDecimals, onValue, onCancel }, { open }) {\n return (\n <Button\n onClick={() => {\n this.setState({ open: true })\n }}\n >\n <Icon icon=\"dialpad\" />\n {open && (\n <NumpadOverlay\n unit={unit}\n max={max}\n maxDecimals={maxDecimals}\n onCancel={() => {\n onCancel && onCancel()\n this.setState({ open: false })\n }}\n onValue={val => {\n onValue(val)\n this.setState({ open: false })\n }}\n />\n )}\n </Button>\n )\n }\n}\n","import { h, Component, render } from 'preact';\n\n/** Redirect rendering of descendants into the given CSS selector.\n * @example\n * <Portal into=\"body\">\n * <div>I am rendered into document.body</div>\n * </Portal>\n */\nexport default class Portal extends Component {\n\tcomponentDidUpdate(props) {\n\t\tfor (let i in props) {\n\t\t\tif (props[i]!==this.props[i]) {\n\t\t\t\treturn setTimeout(this.renderLayer);\n\t\t\t}\n\t\t}\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.isMounted=true;\n\t\tthis.renderLayer = this.renderLayer.bind(this);\n\t\tthis.renderLayer();\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.renderLayer(false);\n\t\tthis.isMounted=false;\n\t\tif (this.remote) this.remote.parentNode.removeChild(this.remote);\n\t}\n\n\tfindNode(node) {\n\t\treturn typeof node==='string' ? document.querySelector(node) : node;\n\t}\n\n\trenderLayer(show=true) {\n\t\tif (!this.isMounted) return;\n\n\t\t// clean up old node if moving bases:\n\t\tif (this.props.into!==this.intoPointer) {\n\t\t\tthis.intoPointer = this.props.into;\n\t\t\tif (this.into && this.remote) {\n\t\t\t\tthis.remote = render(<PortalProxy />, this.into, this.remote);\n\t\t\t}\n\t\t\tthis.into = this.findNode(this.props.into);\n\t\t}\n\n\t\tthis.remote = render((\n\t\t\t<PortalProxy context={this.context}>\n\t\t\t\t{ show && this.props.children || null }\n\t\t\t</PortalProxy>\n\t\t), this.into, this.remote);\n\t}\n\n\trender() {\n\t\treturn null;\n\t}\n}\n\n\n// high-order component that renders its first child if it exists.\n// used as a conditional rendering proxy.\nclass PortalProxy extends Component {\n\tgetChildContext() {\n\t\treturn this.props.context;\n\t}\n\trender({ children }) {\n\t\treturn children && children[0] || null;\n\t}\n}\n","/** @jsx h */\nimport { h } from 'preact'\nimport getComponent from './utils/get-styled-component'\nimport { transitionIn } from './transition-in'\n\nexport const Shield = transitionIn(\n getComponent({\n baseClasses: 'fixed transition w-100 h-100 top-0 left-0 bg-blue o-50',\n options: { transitions: ['firstRender'] },\n fn: ({ firstRender }) => (firstRender ? 'o-0' : '')\n })\n)\n","import { h } from 'preact'\nimport cn from 'classnames'\nimport Portal from 'preact-portal'\nimport { Icon } from './icon'\nimport omit from './utils/omit'\nimport { Shield } from './shield'\n\nexport const Dialog = incomingProps => {\n const {\n className,\n title,\n doClose,\n forceChoice,\n style,\n children\n } = incomingProps\n const props = omit(incomingProps, [\n 'className',\n 'title',\n 'doClose',\n 'forceChoice',\n 'style',\n 'children'\n ])\n return (\n <Portal into=\"body\">\n <div className=\"fixed z-999 vh-100 w-100 top-0 left-0 flex items-center justify-center overflow-y-scroll\">\n <Shield onClick={forceChoice ? null : doClose} />\n <dialog\n open\n style={Object.assign(\n {\n minHeight: '200px',\n minWidth: '300px',\n width: '400px'\n },\n style\n )}\n className={cn(\n 'pa3 bg-white bn br3 shadow-2 z-999 relative',\n className\n )}\n {...props}\n >\n {!forceChoice && (\n <button\n onClick={doClose}\n className=\"button-reset bn bg-transparent absolute top-0 right-0 pa3\"\n >\n <Icon icon=\"close\" />\n </button>\n )}\n {title && <h3 className=\"mt0 mb2\">{title}</h3>}\n {children}\n </dialog>\n </div>\n </Portal>\n )\n}\n","function calc(m) {\n return function(n) { return Math.round(n * m); };\n};\nmodule.exports = {\n seconds: calc(1e3),\n minutes: calc(6e4),\n hours: calc(36e5),\n days: calc(864e5),\n weeks: calc(6048e5),\n months: calc(26298e5),\n years: calc(315576e5)\n};\n","import { h } from 'preact'\nimport ms from 'milliseconds'\nconst currentYear = new Date().getFullYear()\n\nconst getUpdatedText = updatedDate => {\n if (Date.now() - updatedDate < ms.weeks(2)) {\n const date = new Date(updatedDate)\n return `${date.getMonth() + 1}/${date.getDate()}/${(\n date.getFullYear() + ''\n ).slice(2)}`\n }\n}\n\nconst linkClasses = 'link f6 gray no-underline underline-hover'\n\nexport const Footer = ({\n privacyUrl = 'https://legal.anesthesiacharting.com/privacy',\n termsUrl = 'https://legal.anesthesiacharting.com/terms',\n version,\n privacyUpdatedDate,\n hideLinks\n}) => {\n const updateText = privacyUpdatedDate && getUpdatedText(privacyUpdatedDate)\n return (\n <footer className=\"pt2 pb3 tc f6 gray mb7\">\n &copy; {currentYear} I.V. Enterprises LLC {version && `v${version}`}{' '}\n {!hideLinks && (\n <div className=\"mt1 no-print\">\n <a className={linkClasses} href={termsUrl} rel=\"noopener\">\n terms\n </a>\n {' | '}\n <a className={linkClasses} href={privacyUrl} rel=\"noopener\">\n privacy\n </a>\n {updateText && ` (updated ${updateText})`}\n </div>\n )}\n </footer>\n )\n}\n","export const throttle = (callback, delay) => {\n let timeout = null\n const fn = (...args) => {\n if (!timeout) {\n timeout = setTimeout(function() {\n callback(...args)\n clearTimeout(timeout)\n timeout = null\n }, delay)\n }\n }\n fn()\n return fn\n}\n","/** @jsx h */\nimport cn from 'classnames'\nimport { h, Component } from 'preact'\nimport { LogoDark, LogoTextOnly } from './logo'\nimport { Drawer } from './drawer'\nimport { Shield } from './shield'\nimport { Footer } from './footer'\nimport { TapIconButton } from './button'\nimport omit from './utils/omit'\nimport { throttle } from './utils/throttle'\n\nclass DrawerContentWrapper extends Component {\n constructor(props) {\n super(props)\n this.handleScroll = throttle(this.handleScroll.bind(this), 200)\n }\n\n handleScroll() {\n if (!this.base) {\n return\n }\n const { updateScrolledDown, scrolledDown } = this.props\n const { scrollTop } = this.base\n if (scrollTop === 0 && scrolledDown) {\n updateScrolledDown(false)\n }\n if (!scrolledDown && scrollTop > 0) {\n updateScrolledDown(true)\n }\n }\n\n componentDidMount() {\n this.base.addEventListener('scroll', this.handleScroll, { passive: true })\n }\n\n componentWillUnMount() {\n this.base.removeEventListener('scroll', this.handleScroll, {\n passive: true\n })\n }\n\n render({ style, children }) {\n return (\n <div className=\"v-scroll h-100 w-100\" style={style}>\n {children}\n </div>\n )\n }\n}\n\nexport class AppLayout extends Component {\n constructor(props) {\n super(props)\n this.state = {\n drawerScrolledDown: false\n }\n this.updateScrolledDown = this.updateScrolledDown.bind(this)\n }\n\n updateScrolledDown(scrolledDown) {\n this.setState({ drawerScrolledDown: scrolledDown })\n }\n\n render(props, { drawerScrolledDown }) {\n const {\n drawerOpen,\n screenIsWide,\n drawerEnabled,\n drawerContent,\n statusBarContent,\n extraContent,\n drawerWidth = 256,\n mainContent,\n doCloseDrawer,\n hideFooter,\n version\n } = props\n\n const rest = omit(props, [\n 'drawerOpen',\n 'screenIsWide',\n 'drawerEnabled',\n 'drawerContent',\n 'statusBarContent',\n 'extraContent',\n 'drawerWidth',\n 'mainContent',\n 'doCloseDrawer',\n 'hideFooter',\n 'version'\n ])\n\n const drawerAlwaysVisible = drawerEnabled && screenIsWide\n const useFloatingDrawer = drawerEnabled && !screenIsWide\n const showShield = useFloatingDrawer && drawerOpen\n const floatingDrawerHidden = useFloatingDrawer && !drawerOpen\n\n const leftMarginStyles = drawerAlwaysVisible\n ? {\n width: `calc(100% - ${drawerWidth}px)`,\n marginLeft: `${drawerWidth}px`\n }\n : {\n width: '100%'\n }\n\n if (showShield) {\n document.body.classList.add('overflow-hidden')\n } else {\n document.body.classList.remove('overflow-hidden')\n }\n\n const drawerHeaderHeightPx = (drawerAlwaysVisible ? 80 : 60) + 'px'\n\n return (\n <div className=\"bg-near-white dark-blue sans-serif min-vh-100\" {...rest}>\n {statusBarContent && (\n <div\n className=\"sticky no-print top-0 bg-light-gray z-1 shadow-1\"\n style={leftMarginStyles}\n >\n {statusBarContent}\n </div>\n )}\n\n {drawerEnabled && (\n <Drawer\n aria-hidden={floatingDrawerHidden}\n className={useFloatingDrawer ? 'z-4 transition' : ''}\n style={{\n width: `${drawerWidth}px`,\n transform: floatingDrawerHidden\n ? `translateX(${-drawerWidth}px)`\n : null\n }}\n >\n <div\n className={cn(\n 'absolute left-0 bg-dark-blue z-1 top-0 pa2 pa3-l',\n { 'shadow-1': drawerScrolledDown }\n )}\n style={{\n width: `${drawerWidth}px`,\n height: drawerHeaderHeightPx\n }}\n >\n {screenIsWide && <LogoDark />}\n {!screenIsWide && (\n <div className=\"flex items-center justify-between\">\n <TapIconButton\n icon=\"close\"\n color=\"white\"\n className=\"flex-shrink-0\"\n onClick={doCloseDrawer}\n />\n <LogoTextOnly className=\"mh3\" style={{ paddingTop: '6px' }} />\n </div>\n )}\n </div>\n <DrawerContentWrapper\n scrolledDown={drawerScrolledDown}\n updateScrolledDown={this.updateScrolledDown}\n style={{\n paddingTop: drawerHeaderHeightPx,\n paddingBottom: drawerHeaderHeightPx\n }}\n >\n {drawerContent}\n </DrawerContentWrapper>\n </Drawer>\n )}\n {showShield && (\n <Shield\n className=\"z-3 dn-l\"\n onClick={() => doCloseDrawer && doCloseDrawer()}\n />\n )}\n <main\n style={leftMarginStyles}\n className=\"bg-nearly-white overflow-x-hidden\"\n >\n {mainContent}\n {hideFooter !== true && <Footer version={version} />}\n </main>\n {extraContent}\n </div>\n )\n }\n}\n","// tryit\n// Simple, re-usuable try-catch, this is a performance optimization\n// and provides a cleaner API.\nmodule.exports = function (fn, cb) {\n var err;\n\n try {\n fn();\n } catch (e) {\n err = e;\n }\n\n if (cb) cb(err || null);\n};\n","import tryIt from 'tryit'\n\nexport const setLocalStorageItem = (item, value) =>\n tryIt(() => localStorage.setItem(item, value))\nexport const getLocalStorageItem = item => {\n let result\n tryIt(() => {\n result = localStorage.getItem(item)\n })\n return result\n}\nexport const deleteLocalStorageItem = item =>\n tryIt(() => delete localStorage[item])\nexport const clearLocalStorage = () =>\n tryIt(() => {\n const debug = localStorage.debug\n localStorage.clear()\n if (debug) {\n localStorage.debug = debug\n }\n })\n","export const writeCookie = (\n item,\n value,\n { maxAge, expires, secure = false, domain } = {}\n) => {\n const cookieData = {\n [item]: value,\n domain: domain || location.hostname,\n path: '/',\n secure\n }\n\n if (location.hostname === 'localhost') {\n cookieData.secure = false\n }\n\n if (maxAge) {\n cookieData['max-age'] = Math.floor(maxAge / 1000) // convert to seconds\n } else if (expires) {\n cookieData.expires = expires.toGMTString()\n }\n\n const cookieString = Object.keys(cookieData)\n .reduce((result, key) => {\n const value = cookieData[key]\n if (typeof value === 'boolean') {\n if (value === true) {\n result.push(key)\n }\n } else {\n result.push(`${key}=${value}`)\n }\n return result\n }, [])\n .join(';')\n\n document.cookie = cookieString\n}\n\nexport const readCookie = name => {\n let value = null\n document.cookie.split(';').find(item => {\n const parts = item.split('=')\n const key = parts[0].trim()\n if (key === name) {\n value = parts[1].trim()\n return true\n }\n })\n return value\n}\n\nexport const deleteCookie = (item, domain) =>\n writeCookie(item, '', { expires: new Date(0), domain })\n","import ms from 'milliseconds'\nimport { readCookie, writeCookie, deleteCookie } from './cookie'\nimport { getLocalStorageItem, deleteLocalStorageItem } from './ls'\n\nexport const createTokenWriter = ({ name = 'token', domain }) => {\n const writeToken = token => {\n writeCookie(name, token, { maxAge: ms.days(180), secure: true, domain })\n }\n\n const readToken = () => {\n const valueFromLS = getLocalStorageItem('token')\n const valueFromCookie = readCookie(name)\n if (valueFromLS && valueFromLS !== valueFromCookie) {\n writeToken(valueFromLS)\n deleteLocalStorageItem('token')\n }\n return valueFromCookie || valueFromLS\n }\n\n const clearToken = () => deleteCookie(name, domain)\n\n return {\n writeToken,\n readToken,\n clearToken\n }\n}\n","import { createTokenWriter } from '../utils/token-writer'\nimport { clearLocalStorage } from '../utils/ls'\n\nconst UPDATED = 'TOKEN_UPDATED'\nconst CLEARED = 'TOKEN_CLEARED'\n\nexport const createTokenBundle = opts => {\n const { readToken, writeToken, clearToken } = createTokenWriter(opts)\n return {\n name: 'token',\n getReducer: () => {\n const initial = {\n token: readToken()\n }\n return (state = initial, { type, payload }) => {\n if (type === UPDATED) {\n return Object.assign({}, state, { token: payload })\n }\n if (type === CLEARED) {\n return Object.assign({}, state, { token: null })\n }\n return state\n }\n },\n selectAuthToken: state => state.token.token,\n selectIsSignedIn: state => !!state.token.token,\n doReceiveToken: token => ({ dispatch }) => {\n writeToken(token)\n dispatch({ type: UPDATED, payload: token })\n },\n doClearToken: () => ({ dispatch }) => {\n clearToken()\n clearLocalStorage()\n dispatch({ type: CLEARED })\n }\n }\n}\n","const DRAWER_OPENED = 'DRAWER_OPENED'\nconst DRAWER_CLOSED = 'DRAWER_CLOSED'\n\nexport const layoutUiBundle = {\n name: 'layoutUi',\n reducer: (state = { drawerOpen: false, beeping: null }, { type }) => {\n if (type === DRAWER_OPENED) {\n return Object.assign({}, state, { drawerOpen: true })\n }\n if (type === DRAWER_CLOSED) {\n return Object.assign({}, state, { drawerOpen: false })\n }\n\n return state\n },\n selectDrawerIsOpen: state => state.layoutUi.drawerOpen,\n doOpenDrawer: () => ({ type: DRAWER_OPENED }),\n doCloseDrawer: () => ({ type: DRAWER_CLOSED })\n}\n","export * from './button'\nexport * from './logo'\nexport * from './crate'\nexport * from './full-screen-overlay'\nexport * from './inputs'\nexport * from './icon'\nexport * from './drug-box'\nexport * from './links'\nexport * from './check-mark'\nexport * from './transition-in'\nexport * from './drawer'\nexport * from './numpad'\nexport * from './dialog'\nexport * from './app-layout'\nexport * from './shield'\nexport { default as getStyledComponent } from './utils/get-styled-component'\nexport { default as omit } from './utils/omit'\nexport * from './utils/ls'\nexport * from './utils/cookie'\nexport * from './utils/token-writer'\nexport * from './utils/throttle'\nexport * from './bundles/token'\nexport * from './bundles/layout-ui'\n","import { h } from 'preact'\nimport { PageCrate } from '../crate'\n\nexport default ({ title, children }) => (\n <PageCrate wide title={title}>\n {children}\n </PageCrate>\n)\n","import { h } from 'preact'\n\nexport default ({ name, code, children }) => (\n <div className=\"bg-white pv3 br3 mt3\">\n <h3 className=\"mt0\">{name}</h3>\n <div className=\"fw6 mv2\">Code:</div>\n <code className=\"light-blue dib bg-black-90 pa2 br2 overflow-x-auto w-100\">\n <pre className=\"ma0 f6\">{code}</pre>\n </code>\n <div className=\"fw6 mv2\">Output:</div>\n <div>{children}</div>\n </div>\n)\n","export default definition => {\n const result = []\n\n const addDimension = (category, options) => {\n const values = ['default', ...options]\n if (!result.length) {\n result.push(...values.map(value => ({ [category]: value })))\n return\n }\n\n values.forEach((value, i) => {\n if (i === 0) {\n result.forEach(item => {\n item[category] = value\n })\n } else {\n const copy = JSON.parse(JSON.stringify(result))\n copy.forEach(item => {\n item[category] = value\n })\n result.push(...copy)\n }\n })\n }\n\n Object.keys(definition).forEach(key => {\n addDimension(key, definition[key])\n })\n\n // remove defaults\n const propVariants = result.map(item => {\n const props = {}\n Object.keys(item).forEach(key => {\n const value = item[key]\n if (value !== 'default') {\n props[value] = true\n }\n })\n return props\n })\n\n const results = {}\n\n propVariants.forEach(props => {\n results[\n Object.keys(props)\n .sort()\n .join(',')\n ] = true\n })\n\n const deduped = Object.keys(results).map(key => key.split(','))\n\n return deduped.map(propArray => {\n return propArray.reduce((result, item) => {\n if (item) {\n result[item] = true\n }\n return result\n }, {})\n })\n}\n","import { h } from 'preact'\nimport ComponentCode from './component-code'\nimport getPropVariants from '../utils/get-prop-variants'\nimport omit from '../utils/omit'\n\nconst serializeProps = props => {\n if (!props) {\n return ''\n }\n return Object.keys(props).reduce((buffer, prop) => {\n const value = props[prop]\n return `${buffer} ${prop}${value === true ? '' : `=\"${value}\"`}`\n }, '')\n}\n\nconst componentString = (name, props, content) =>\n `<${name}${serializeProps(props)}${content ? `>${content}</${name}` : ` />`}`\n\nexport default ({ Component, children, name }) => {\n const { options = {} } = Component.definition\n const variants = getPropVariants(options)\n\n const code = variants.reduce(\n (buff, props) => buff + componentString(name, props, children) + '\\n',\n ''\n )\n\n return (\n <ComponentCode name={name} code={code}>\n {variants.map(props => (\n <Component\n title={componentString(name, props, children)}\n {...Object.assign({}, props, { children })}\n className=\"mr2 mb2\"\n />\n ))}\n </ComponentCode>\n )\n}\n","import { h, Component } from 'preact'\nimport Section from './section'\nimport ComponentCode from './component-code'\nimport { Dialog } from './../dialog'\nimport { Button } from '../button'\n\nclass Container extends Component {\n constructor(props) {\n super(props)\n this.state = {\n open: false\n }\n this.open = () => this.setState({ open: true })\n this.close = () => this.setState({ open: false })\n }\n\n render(props, { open }) {\n return (\n <Section title=\"Dialog\">\n <ComponentCode\n name=\"Dialog\"\n code={`<Dialog doClose={this.close} title=\"A Dialog\">\n Hello there\n</Dialog>`}\n >\n <Button onClick={this.open}>Open</Button>\n {open && (\n <Dialog doClose={this.close} title=\"A Dialog\">\n Hello there\n </Dialog>\n )}\n </ComponentCode>\n </Section>\n )\n }\n}\n\nexport default Container\n","import { h, Component } from 'preact'\nimport Section from './section'\nimport ComponentCode from './component-code'\nimport { NumpadOverlay, NumpadButton } from '../numpad'\nimport { Button } from '../button'\n\nclass Container extends Component {\n constructor(props) {\n super(props)\n this.state = {\n value: 50,\n otherValue: 20,\n open: false\n }\n }\n\n render(props, { value, open, otherValue }) {\n return (\n <Section title=\"Numpads\">\n <ComponentCode\n name=\"NumpadOverlay\"\n code={`<NumpadOverlay\n unit=\"mg\"\n max={200}\n maxDecimals={2}\n onValue={value => {\n this.setState({ value, open: false })\n }}\n onCancel={() => {\n this.setState({ open: false })\n }}\n/>`}\n >\n <span className=\"w4\">{value} mg</span>\n <Button onClick={() => this.setState({ open: true })}>\n Update Value\n </Button>\n {open && (\n <NumpadOverlay\n unit=\"mg\"\n max={200}\n maxDecimals={2}\n onValue={value => {\n this.setState({ value, open: false })\n }}\n onCancel={() => {\n this.setState({ open: false })\n }}\n />\n )}\n </ComponentCode>\n\n <ComponentCode\n name=\"NumpadButton\"\n code={`<NumpadButton\n unit=\"mg\"\n max={500}\n maxDecimals={3}\n onValue={value => this.setState({ otherValue: value })}\n/>`}\n >\n <span className=\"w4 mr2\">{otherValue} mg</span>\n <NumpadButton\n unit=\"mg\"\n max={500}\n maxDecimals={3}\n onValue={value => this.setState({ otherValue: value })}\n />\n </ComponentCode>\n </Section>\n )\n }\n}\n\nexport default Container\n","import { h } from 'preact'\nimport {\n Link,\n SupportLink,\n Button,\n LogoDark,\n LogoLight,\n Input,\n Select,\n Textarea,\n TooltipButton,\n Icon,\n MessagePageCrate\n} from '../'\nimport Section from './section'\nimport ComponentCode from './component-code'\nimport Introspect from './introspect'\n\nexport const ButtonSection = () => (\n <Section title=\"Buttons\">\n <Introspect Component={Button} name=\"Button\" children=\"Button\" />\n </Section>\n)\n\nexport const LinkSection = () => (\n <Section title=\"Links\">\n <ComponentCode name=\"Link\" code={`<Link href='something'>hi</Link>`}>\n <Link href=\"something\">Some text</Link>\n </ComponentCode>\n <ComponentCode name=\"SupportLink\" code={`<SupportLink />`}>\n <SupportLink />\n </ComponentCode>\n </Section>\n)\n\nexport const LogoSection = () => (\n <Section title=\"Logos\">\n <ComponentCode name=\"LogoLight\" code={`<LogoLight className=\"w5\" />`}>\n <LogoLight className=\"w5\" />\n </ComponentCode>\n <ComponentCode\n name=\"LogoDark\"\n code={`<div className=\"bg-dark-blue pa3 w5\">\n <LogoDark />\n</div>`}\n >\n <div className=\"bg-dark-blue pa3 w5\">\n <LogoDark />\n </div>\n </ComponentCode>\n </Section>\n)\n\nexport const InputSection = () => (\n <Section title=\"Inputs\">\n <ComponentCode name=\"Input\" code={`<Input />`}>\n <Input />\n </ComponentCode>\n <ComponentCode\n name=\"Select\"\n code={`<Select>\n <option>option 1</option>\n <option>option 2</option>\n</Select>`}\n >\n <Select>\n <option>option 1</option>\n <option>option 2</option>\n </Select>\n </ComponentCode>\n <ComponentCode name=\"Textarea\" code={`<Textarea />`}>\n <Textarea />\n </ComponentCode>\n <ComponentCode name=\"TooltipButton\" code={`<TooltipButton />`}>\n <TooltipButton text=\"some content\">Stuff goes here</TooltipButton>\n </ComponentCode>\n </Section>\n)\n\nexport const IconSection = () => (\n <Section title=\"Icons\">\n <ComponentCode\n name=\"Icon\"\n code={`<Icon icon=\"pill\" />\n<Icon icon=\"close\" />`}\n >\n <Icon icon=\"pill\" />\n <Icon icon=\"close\" />\n </ComponentCode>\n </Section>\n)\n\nexport const MessagePageCrateSection = () => (\n <Section title=\"Message Page Crate\">\n <ComponentCode\n name=\"MessagePageCrate\"\n code={`<MessagePageCrate loading>Loading</MessagePageCrate>\n<MessagePageCrate warning>Uh oh!</MessagePageCrate>\n<MessagePageCrate error>Aw Crap!</MessagePageCrate>`}\n >\n <MessagePageCrate>Hello there!</MessagePageCrate>\n <MessagePageCrate loading>Loading</MessagePageCrate>\n <MessagePageCrate warning>Uh oh!</MessagePageCrate>\n <MessagePageCrate error>Aw Crap!</MessagePageCrate>\n </ComponentCode>\n </Section>\n)\n\nexport { default as DialogSection } from './dialog-section'\nexport { default as NumpadSection } from './numpad-section'\n","import { h, Component } from 'preact'\nimport * as sections from './sections'\nimport { DrawerLink, DrawerLinkContainer } from '../drawer'\nimport { Page } from '../crate'\nimport { AppLayout } from '../app-layout'\nimport { version } from '../../package.json'\nimport { LogoLightMark } from '../logo'\nimport { TapIconButton } from '../button'\n\nexport default class extends Component {\n constructor(props) {\n super(props)\n this.state = {\n screenIsWide: this.isScreenWide(),\n drawerOpen: false,\n drawerEnabled: true\n }\n this.toggleDrawerOpen = this.toggleDrawerOpen.bind(this)\n this.toggleDrawerEnabled = this.toggleDrawerEnabled.bind(this)\n this.handleResize = this.handleResize.bind(this)\n }\n\n componentDidMount() {\n window.addEventListener('resize', this.handleResize, { passive: true })\n }\n\n componentWillUnmount() {\n window.removeEventListener('resize', this.handleResize, { passive: true })\n }\n\n toggleDrawerOpen() {\n this.setState({ drawerOpen: !this.state.drawerOpen })\n }\n\n toggleDrawerEnabled() {\n this.setState({ drawerEnabled: !this.state.drawerEnabled })\n }\n\n handleResize() {\n const isWide = this.isScreenWide()\n if (isWide !== this.state.screenIsWide) {\n this.setState({ screenIsWide: isWide })\n }\n }\n\n isScreenWide() {\n return window.innerWidth > 960\n }\n\n render(_, { screenIsWide, drawerEnabled, drawerOpen }) {\n return (\n <AppLayout\n version={version}\n doCloseDrawer={this.toggleDrawerOpen}\n doOpenDrawer={this.toggleDrawerOpen}\n screenIsWide={screenIsWide}\n drawerEnabled={drawerEnabled}\n drawerOpen={drawerOpen}\n mainContent={\n <Page className=\"ph3\">\n {Object.keys(sections).map(section => {\n const Component = sections[section]\n return (\n <div id={section}>\n <Component key={section} />\n </div>\n )\n })}\n </Page>\n }\n statusBarContent={\n <div className=\"pa2 flex items-center\">\n <TapIconButton\n icon=\"menu\"\n onClick={this.toggleDrawerOpen}\n className=\"dn-l\"\n />\n <LogoLightMark className=\"dn-l ml2\" style={{ width: '30px' }} />\n <h2 className=\"pv0 mv2 f4 ml2\">Pattern Library</h2>\n </div>\n }\n drawerContent={\n <div>\n <DrawerLinkContainer title=\"Components\">\n {Object.keys(sections).map(section => (\n <DrawerLink\n icon=\"polymer\"\n href={`#${section}`}\n onClick={this.toggleDrawerOpen}\n title={section}\n />\n ))}\n </DrawerLinkContainer>\n </div>\n }\n />\n )\n }\n}\n","import { h, render } from 'preact'\nimport Layout from './layout'\n\nimport * as cookie from '../utils/token-writer'\n\nwindow.cookieHelper = cookie\n\nrender(\n <div id=\"app\">\n <Layout />\n </div>,\n document.body,\n document.getElementById('app')\n)\n\n// if (module.hot) {\n// module.hot.dispose(() => {\n// document.getElementById('app').innerHTML = ''\n// })\n// }\n"]}
\No newline at end of file