{"version":3,"file":"omi.dev.js","sources":["../src/options.js","../src/util.js","../src/h.js","../src/constants.js","../src/vdom/index.js","../src/extend.js","../src/dom/index.js","../src/vdom/diff.js","../src/we-element.js","../src/render.js","../src/define.js","../src/tag.js","../src/clone-element.js","../src/get-host.js","../src/rpx.js","../src/class.js","../src/o.js","../node_modules/construct-style-sheets-polyfill/dist/adoptedStyleSheets.js","../src/omi.js","../src/omi.js"],"sourcesContent":["function getGlobal() {\n if (\n typeof global !== 'object' ||\n !global ||\n global.Math !== Math ||\n global.Array !== Array\n ) {\n return (\n self ||\n window ||\n global ||\n (function() {\n return this\n })()\n )\n }\n return global\n}\n\n/** Global options\n * @public\n * @namespace options {Object}\n */\nexport default {\n store: null,\n root: getGlobal(),\n mapping: {}\n}\n","/**\n * @license\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * This shim allows elements written in, or compiled to, ES5 to work on native\n * implementations of Custom Elements v1. It sets new.target to the value of\n * this.constructor so that the native HTMLElement constructor can access the\n * current under-construction element's definition.\n */\n;(function() {\n if (\n // No Reflect, no classes, no need for shim because native custom elements\n // require ES2015 classes or Reflect.\n window.Reflect === undefined ||\n window.customElements === undefined ||\n // The webcomponentsjs custom elements polyfill doesn't require\n // ES2015-compatible construction (`super()` or `Reflect.construct`).\n window.customElements.hasOwnProperty('polyfillWrapFlushCallback')\n ) {\n return\n }\n const BuiltInHTMLElement = HTMLElement\n window.HTMLElement = function HTMLElement() {\n return Reflect.construct(BuiltInHTMLElement, [], this.constructor)\n }\n HTMLElement.prototype = BuiltInHTMLElement.prototype\n HTMLElement.prototype.constructor = HTMLElement\n Object.setPrototypeOf(HTMLElement, BuiltInHTMLElement)\n})()\n\nexport function cssToDom(css) {\n const node = document.createElement('style')\n node.textContent = css\n return node\n}\n\nexport function camelCase(str) {\n return str.replace(/-(\\w)/g, ($, $1) => {\n return $1.toUpperCase()\n })\n}\n\nexport function Fragment(props) {\n return props.children\n}\n\nexport function extend(obj, props) {\n for (let i in props) obj[i] = props[i]\n return 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 if (ref != null) {\n if (typeof ref == 'function') ref(value)\n else ref.current = value\n }\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 =\n typeof Promise == 'function'\n ? Promise.resolve().then.bind(Promise.resolve())\n : setTimeout\n\nexport function isArray(obj) {\n return Object.prototype.toString.call(obj) === '[object Array]'\n}\n\nexport function pathToArr(path) {\n if (typeof path !== 'string' || !path) return []\n // return path.split(/\\.|\\[|\\]/).filter(name => !!name)\n return path\n .replace(/]/g, '')\n .replace(/\\[/g, '.')\n .split('.')\n}\n\nconst hyphenateRE = /\\B([A-Z])/g\nexport function hyphenate(str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n}\n\nexport function capitalize(name) {\n return name\n .replace(/\\-(\\w)/g, function(all, letter) {\n return letter.toUpperCase()\n })\n .replace(/^\\S/, s => s.toUpperCase())\n}\n\nexport function getValByPath(path, current) {\n const arr = pathToArr(path)\n arr.forEach(prop => {\n current = current[prop]\n })\n return current\n}\n\nexport function removeItem(item, arr) {\n if (!arr) return\n for (let i = 0, len = arr.length; i < len; i++) {\n if (arr[i] === item) {\n arr.splice(i, 1)\n break\n }\n }\n}\n","import options from './options'\nimport { Fragment } from './util'\n\nconst stack = []\n\nexport function h(nodeName, attributes) {\n let children = [],\n lastSimple,\n child,\n simple,\n i\n for (i = arguments.length; i-- > 2; ) {\n stack.push(arguments[i])\n }\n if (attributes && attributes.children != null) {\n if (!stack.length) stack.push(attributes.children)\n delete attributes.children\n }\n while (stack.length) {\n if ((child = stack.pop()) && child.pop !== undefined) {\n for (i = child.length; i--; ) stack.push(child[i])\n } else {\n if (typeof child === 'boolean') child = null\n\n if ((simple = typeof nodeName !== 'function')) {\n if (child == null) child = ''\n else if (typeof child === 'number') child = String(child)\n else if (typeof child !== 'string') simple = false\n }\n\n if (simple && lastSimple) {\n children[children.length - 1] += child\n } else if (children.length === 0) {\n children = [child]\n } else {\n children.push(child)\n }\n\n lastSimple = simple\n }\n }\n\n if (nodeName === Fragment) {\n return children\n }\n\n const p = {\n nodeName,\n children,\n attributes: attributes == null ? undefined : attributes,\n key: attributes == null ? undefined : attributes.key\n }\n\n // if a \"vnode hook\" is defined, pass every created VNode to it\n if (options.vnode !== undefined) options.vnode(p)\n\n return p\n}\n","// render modes\n\nexport const NO_RENDER = 0\nexport const SYNC_RENDER = 1\nexport const FORCE_RENDER = 2\nexport const ASYNC_RENDER = 3\n\nexport const ATTR_KEY = 'prevProps'\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","import { extend } from '../util'\nimport options from '../options'\n/**\n * Check if two nodes are equivalent.\n *\n * @param {Node} node DOM Node to compare\n * @param {VNode} vnode Virtual DOM node to compare\n * @param {boolean} [hydrating=false] If true, ignores component constructors when comparing.\n * @private\n */\nexport function isSameNodeType(node, vnode, hydrating) {\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n return node.splitText !== undefined\n }\n if (typeof vnode.nodeName === 'string') {\n return !node._componentConstructor && isNamedNode(node, vnode.nodeName)\n } else if (typeof vnode.nodeName === 'function') {\n return options.mapping[node.nodeName.toLowerCase()] === vnode.nodeName\n }\n return hydrating || node._componentConstructor === vnode.nodeName\n}\n\n/**\n * Check if an Element has a given nodeName, case-insensitively.\n *\n * @param {Element} 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 return (\n node.normalizedNodeName === nodeName ||\n 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 *\n * @param {VNode} vnode\n * @returns {Object} props\n */\nexport function getNodeProps(vnode) {\n let props = extend({}, vnode.attributes)\n props.children = vnode.children\n\n let defaultProps = vnode.nodeName.defaultProps\n if (defaultProps !== undefined) {\n for (let i in defaultProps) {\n if (props[i] === undefined) {\n props[i] = defaultProps[i]\n }\n }\n }\n\n return props\n}\n","import { pathToArr } from './util'\n\nexport const extension = {}\n\nexport function extend(name, handler) {\n extension['o-' + name] = handler\n}\n\nexport function set(origin, path, value) {\n const arr = pathToArr(path)\n let current = origin\n for (let i = 0, len = arr.length; i < len; i++) {\n if (i === len - 1) {\n current[arr[i]] = value\n } else {\n current = current[arr[i]]\n }\n }\n}\n\nexport function get(origin, path) {\n const arr = pathToArr(path)\n let current = origin\n for (let i = 0, len = arr.length; i < len; i++) {\n current = current[arr[i]]\n }\n\n return current\n}\n\nfunction eventProxy(e) {\n return this._listeners[e.type](e)\n}\n\nexport function bind(el, type, handler) {\n el._listeners = el._listeners || {}\n el._listeners[type] = handler\n el.addEventListener(type, eventProxy)\n}\n\nexport function unbind(el, type) {\n el.removeEventListener(type, eventProxy)\n}\n","import { IS_NON_DIMENSIONAL } from '../constants'\nimport { applyRef } from '../util'\nimport options from '../options'\nimport { extension } from '../extend'\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 {Element} The created DOM node\n */\nexport function createNode(nodeName, isSvg) {\n /** @type {Element} */\n let node = isSvg\n ? document.createElementNS('http://www.w3.org/2000/svg', nodeName)\n : document.createElement(nodeName)\n node.normalizedNodeName = nodeName\n return node\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 let parentNode = node.parentNode\n if (parentNode) parentNode.removeChild(node)\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 {Element} 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, component) {\n if (name === 'className') name = 'class'\n\n if (name[0] == 'o' && name[1] == '-') {\n if (extension[name]) {\n extension[name](node, value, component)\n }\n } else if (name === 'key') {\n // ignore\n } else if (name === 'ref') {\n applyRef(old, null)\n applyRef(value, node)\n } else if (name === 'class' && !isSvg) {\n node.className = value || ''\n } else if (name === 'style') {\n if (!value || typeof value === 'string' || typeof old === 'string') {\n node.style.cssText = value || ''\n }\n if (value && typeof value === 'object') {\n if (typeof old !== 'string') {\n for (let i in old) if (!(i in value)) node.style[i] = ''\n }\n for (let i in value) {\n node.style[i] =\n typeof value[i] === 'number' && IS_NON_DIMENSIONAL.test(i) === false\n ? value[i] + 'px'\n : value[i]\n }\n }\n } else if (name === 'dangerouslySetInnerHTML') {\n if (value) node.innerHTML = value.__html || ''\n } else if (name[0] == 'o' && name[1] == 'n') {\n bindEvent(node, name, value, old)\n } else if (node.nodeName === 'INPUT' && name === 'value') {\n node[name] = value == null ? '' : value\n } else if (\n name !== 'list' &&\n name !== 'type' &&\n name !== 'css' &&\n !isSvg &&\n name in node &&\n value !== ''\n ) {\n //value !== '' fix for selected, disabled, checked with pure element\n // Attempt to set a DOM property to the given value.\n // IE & FF throw for certain property-value combinations.\n try {\n node[name] = value == null ? '' : value\n } catch (e) {}\n if ((value == null || value === false) && name != 'spellcheck')\n node.pureRemoveAttribute\n ? node.pureRemoveAttribute(name)\n : node.removeAttribute(name)\n } else {\n let ns = isSvg && name !== (name = name.replace(/^xlink:?/, ''))\n // spellcheck is treated differently than all other boolean values and\n // should not be removed when the value is `false`. See:\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-spellcheck\n if (value == null || value === false) {\n if (ns)\n node.removeAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase()\n )\n else\n node.pureRemoveAttribute\n ? node.pureRemoveAttribute(name)\n : node.removeAttribute(name)\n } else if (typeof value !== 'function') {\n if (ns) {\n node.setAttributeNS(\n 'http://www.w3.org/1999/xlink',\n name.toLowerCase(),\n value\n )\n } else {\n node.pureSetAttribute\n ? node.pureSetAttribute(name, value)\n : node.setAttribute(name, value)\n }\n }\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 return this._listeners[e.type]((options.event && options.event(e)) || e)\n}\n\nfunction bindEvent(node, name, value, old) {\n let useCapture = name !== (name = name.replace(/Capture$/, ''))\n let nameLower = name.toLowerCase()\n name = (nameLower in node ? nameLower : name).slice(2)\n if (value) {\n if (!old) {\n node.addEventListener(name, eventProxy, useCapture)\n }\n } else {\n node.removeEventListener(name, eventProxy, useCapture)\n }\n ;(node._listeners || (node._listeners = {}))[name] = value\n}\n","import { ATTR_KEY } from '../constants'\nimport { isSameNodeType, isNamedNode } from './index'\nimport { createNode, setAccessor } from '../dom/index'\nimport { camelCase, isArray, Fragment } from '../util'\nimport { removeNode } from '../dom/index'\nimport options from '../options'\n\n/** Queue of components that have been mounted and are awaiting componentDidMount */\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/** Apply differences in a given vnode (and it's deep children) to a real DOM Node.\n * @param {Element} [dom=null] A DOM node to mutate into the shape of the `vnode`\n * @param {VNode} vnode A VNode (with descendants forming a tree) representing the desired DOM structure\n * @returns {Element} dom The created/mutated element\n * @private\n */\nexport function diff(dom, vnode, parent, component, updateSelf) {\n //first render return undefined\n if (!dom && !vnode) return\n // diffLevel having been 0 here indicates initial entry into the diff (not a subdiff)\n let ret\n if (!diffLevel++) {\n // when first starting the diff, check if we're diffing an SVG or within an SVG\n isSvgMode = parent != null && parent.ownerSVGElement !== undefined\n\n // hydration is indicated by the existing element to be diffed not having a prop cache\n hydrating = dom != null && !(ATTR_KEY in dom)\n }\n if (vnode && vnode.nodeName === Fragment) {\n vnode = vnode.children\n }\n if (isArray(vnode)) {\n if (parent) {\n //don't use css and props.css when using h.f\n innerDiffNode(parent, vnode, hydrating, component, updateSelf)\n } else {\n ret = []\n vnode.forEach((item, index) => {\n let ele = idiff(index === 0 ? dom : null, item, component, updateSelf)\n ret.push(ele)\n })\n }\n } else {\n if (isArray(dom)) {\n dom.forEach((one, index) => {\n if (index === 0) {\n ret = idiff(one, vnode, component, updateSelf)\n } else {\n recollectNodeTree(one, false)\n }\n })\n } else {\n ret = idiff(dom, vnode, component, updateSelf)\n }\n // append the element if its a new parent\n if (parent && ret.parentNode !== parent) parent.appendChild(ret)\n }\n\n // diffLevel being reduced to 0 means we're exiting the diff\n if (!--diffLevel) {\n hydrating = false\n // invoke queued componentDidMount lifecycle methods\n }\n\n return ret\n}\n\n/** Internals of `diff()`, separated to allow bypassing diffLevel / mount flushing. */\nfunction idiff(dom, vnode, component, updateSelf) {\n if (dom && vnode && dom.props) {\n dom.props.children = vnode.children\n }\n let out = dom,\n prevSvgMode = isSvgMode\n\n // empty values (null, undefined, booleans) render as empty Text nodes\n if (vnode == null || typeof vnode === 'boolean') vnode = ''\n\n // Fast case: Strings & Numbers create/update Text nodes.\n if (typeof vnode === 'string' || typeof vnode === 'number') {\n // update if it's already a Text node:\n if (\n dom &&\n dom.splitText !== undefined &&\n dom.parentNode &&\n (!dom._component || component)\n ) {\n /* istanbul ignore if */ /* Browser quirk that can't be covered: https://github.com/developit/preact/commit/fd4f21f5c45dfd75151bd27b4c217d8003aa5eb9 */\n if (dom.nodeValue != vnode) {\n dom.nodeValue = vnode\n }\n } else {\n // it wasn't a Text node: replace it with one and recycle the old Element\n out = document.createTextNode(vnode)\n if (dom) {\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n recollectNodeTree(dom, true)\n }\n }\n\n out[ATTR_KEY] = true\n\n return out\n }\n\n // If the VNode represents a Component, perform a component diff:\n let vnodeName = vnode.nodeName\n if (typeof vnodeName === 'function') {\n for (let key in options.mapping) {\n if (options.mapping[key] === vnodeName) {\n vnodeName = key\n vnode.nodeName = key\n break\n }\n }\n }\n // Tracks entering and exiting SVG namespace when descending through the tree.\n isSvgMode =\n vnodeName === 'svg'\n ? true\n : vnodeName === 'foreignObject'\n ? false\n : isSvgMode\n\n // If there's no existing element or it's the wrong type, create a new one:\n vnodeName = String(vnodeName)\n if (!dom || !isNamedNode(dom, vnodeName)) {\n out = createNode(vnodeName, isSvgMode)\n\n if (dom) {\n // move children into the replacement node\n while (dom.firstChild) out.appendChild(dom.firstChild)\n\n // if the previous Element was mounted into the DOM, replace it inline\n if (dom.parentNode) dom.parentNode.replaceChild(out, dom)\n\n // recycle the old element (skips non-Element node types)\n recollectNodeTree(dom, true)\n }\n }\n\n let fc = out.firstChild,\n props = out[ATTR_KEY],\n vchildren = vnode.children\n\n if (props == null) {\n props = out[ATTR_KEY] = {}\n for (let a = out.attributes, i = a.length; i--; )\n props[a[i].name] = a[i].value\n }\n\n // Optimization: fast-path for elements containing a single TextNode:\n if (\n !hydrating &&\n vchildren &&\n vchildren.length === 1 &&\n typeof vchildren[0] === 'string' &&\n fc != null &&\n fc.splitText !== undefined &&\n fc.nextSibling == null\n ) {\n if (fc.nodeValue != vchildren[0]) {\n fc.nodeValue = vchildren[0]\n }\n }\n // otherwise, if there are existing or new children, diff them:\n else if ((vchildren && vchildren.length) || fc != null) {\n if (!(out.constructor.is == 'WeElement' && out.constructor.noSlot)) {\n innerDiffNode(\n out,\n vchildren,\n hydrating || props.dangerouslySetInnerHTML != null,\n component,\n updateSelf\n )\n }\n }\n\n // Apply attributes/props from VNode to the DOM Element:\n diffAttributes(out, vnode.attributes, props, component, updateSelf)\n if (out.props) {\n out.props.children = vnode.children\n }\n // restore previous SVG mode: (in case we're exiting an SVG namespace)\n isSvgMode = prevSvgMode\n\n return out\n}\n\n/** Apply child and attribute changes between a VNode and a DOM Node to the DOM.\n * @param {Element} dom Element whose children should be compared & mutated\n * @param {Array} vchildren Array of VNodes to compare to `dom.childNodes`\n * @param {Boolean} isHydrating If `true`, consumes externally created elements similar to hydration\n */\nfunction innerDiffNode(dom, vchildren, isHydrating, component, updateSelf) {\n let originalChildren = dom.childNodes,\n children = [],\n keyed = {},\n keyedLen = 0,\n min = 0,\n len = originalChildren.length,\n childrenLen = 0,\n vlen = vchildren ? vchildren.length : 0,\n j,\n c,\n f,\n vchild,\n child\n\n // Build up a map of keyed children and an Array of unkeyed children:\n if (len !== 0) {\n for (let i = 0; i < len; i++) {\n let child = originalChildren[i],\n props = child[ATTR_KEY],\n key =\n vlen && props\n ? child._component\n ? child._component.__key\n : props.key\n : null\n if (key != null) {\n keyedLen++\n keyed[key] = child\n } else if (\n props ||\n (child.splitText !== undefined\n ? isHydrating\n ? child.nodeValue.trim()\n : true\n : isHydrating)\n ) {\n children[childrenLen++] = child\n }\n }\n }\n\n if (vlen !== 0) {\n for (let i = 0; i < vlen; i++) {\n vchild = vchildren[i]\n child = null\n\n if (vchild) {\n // attempt to find a node based on key matching\n let key = vchild.key\n if (key != null) {\n if (keyedLen && keyed[key] !== undefined) {\n child = keyed[key]\n keyed[key] = undefined\n keyedLen--\n }\n }\n // attempt to pluck a node of the same type from the existing children\n else if (!child && min < childrenLen) {\n for (j = min; j < childrenLen; j++) {\n if (\n children[j] !== undefined &&\n isSameNodeType((c = children[j]), vchild, isHydrating)\n ) {\n child = c\n children[j] = undefined\n if (j === childrenLen - 1) childrenLen--\n if (j === min) min++\n break\n }\n }\n }\n }\n\n // morph the matched/found/created DOM child to match vchild (deep)\n child = idiff(child, vchild, component, updateSelf)\n\n f = originalChildren[i]\n if (child && child !== dom && child !== f) {\n if (f == null) {\n dom.appendChild(child)\n } else if (child === f.nextSibling) {\n removeNode(f)\n } else {\n dom.insertBefore(child, f)\n }\n }\n }\n }\n\n // remove unused keyed children:\n if (keyedLen) {\n for (let i in keyed)\n if (keyed[i] !== undefined) recollectNodeTree(keyed[i], false)\n }\n\n // remove orphaned unkeyed children:\n while (min <= childrenLen) {\n if ((child = children[childrenLen--]) !== undefined)\n recollectNodeTree(child, false)\n }\n}\n\n/** Recursively recycle (or just unmount) a node and its descendants.\n * @param {Node} node DOM node to start unmount/removal from\n * @param {Boolean} [unmountOnly=false] If `true`, only triggers unmount lifecycle, skips removal\n */\nexport function recollectNodeTree(node, unmountOnly) {\n // If the node's VNode had a ref function, invoke it with null here.\n // (this is part of the React spec, and smart for unsetting references)\n if (node[ATTR_KEY] != null && node[ATTR_KEY].ref) {\n if (typeof node[ATTR_KEY].ref === 'function') {\n node[ATTR_KEY].ref(null)\n } else if (node[ATTR_KEY].ref.current) {\n node[ATTR_KEY].ref.current = null\n }\n }\n\n if (unmountOnly === false || node[ATTR_KEY] == null) {\n removeNode(node)\n }\n\n removeChildren(node)\n}\n\n/** Recollect/unmount all children.\n * - we use .lastChild here because it causes less reflow than .firstChild\n * - it's also cheaper than accessing the .childNodes Live NodeList\n */\nexport function removeChildren(node) {\n node = node.lastChild\n while (node) {\n let next = node.previousSibling\n recollectNodeTree(node, true)\n node = next\n }\n}\n\n/** Apply differences in attributes from a VNode to the given DOM Element.\n * @param {Element} 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 element's prop cache)\n */\nfunction diffAttributes(dom, attrs, old, component, updateSelf) {\n let name\n //let update = false\n let isWeElement = dom.update\n let oldClone\n if (dom.receiveProps) {\n oldClone = Object.assign({}, old)\n }\n // remove attributes no longer present on the vnode by setting them to undefined\n for (name in old) {\n if (!(attrs && attrs[name] != null) && old[name] != null) {\n setAccessor(\n dom,\n name,\n old[name],\n (old[name] = undefined),\n isSvgMode,\n component\n )\n if (isWeElement) {\n delete dom.props[name]\n //update = true\n }\n }\n }\n\n // add new & update changed attributes\n for (name in attrs) {\n if (isWeElement && typeof attrs[name] === 'object' && name !== 'ref') {\n if (name === 'style') {\n setAccessor(\n dom,\n name,\n old[name],\n (old[name] = attrs[name]),\n isSvgMode,\n component\n )\n }\n let ccName = camelCase(name)\n dom.props[ccName] = old[ccName] = attrs[name]\n //update = true\n } else if (\n name !== 'children' &&\n (!(name in old) ||\n attrs[name] !==\n (name === 'value' || name === 'checked' ? dom[name] : old[name]))\n ) {\n setAccessor(dom, name, old[name], attrs[name], isSvgMode, component)\n //fix lazy load props missing\n if (dom.nodeName.indexOf('-') !== -1) {\n dom.props = dom.props || {}\n let ccName = camelCase(name)\n dom.props[ccName] = old[ccName] = attrs[name]\n //update = true\n } else {\n old[name] = attrs[name]\n }\n }\n }\n\n if (isWeElement && !updateSelf && dom.parentNode) {\n //__hasChildren is not accuracy when it was empty at first, so add dom.children.length > 0 condition\n //if (update || dom.__hasChildren || dom.children.length > 0 || (dom.store && !dom.store.data)) {\n if (dom.receiveProps(dom.props, oldClone) !== false) {\n dom.update()\n }\n //}\n }\n}\n","import { cssToDom, isArray, hyphenate, getValByPath, capitalize } from './util'\nimport { diff } from './vdom/diff'\nimport options from './options'\n\nlet id = 0\n\nexport default class WeElement extends HTMLElement {\n static is = 'WeElement'\n\n constructor() {\n super()\n // fix lazy load props missing\n this.props = Object.assign({}, this.constructor.defaultProps, this.props)\n this.elementId = id++\n this.computed = {}\n this.isInstalled = false\n }\n\n connectedCallback() {\n let p = this.parentNode\n while (p && !this.store) {\n this.store = p.store\n p = p.parentNode || p.host\n }\n\n if (this.inject) {\n this.injection = {}\n p = this.parentNode\n let provide\n while (p && !provide) {\n provide = p.provide\n p = p.parentNode || p.host\n }\n if (provide) {\n this.inject.forEach(injectKey => {\n this.injection[injectKey] = provide[injectKey]\n })\n } else {\n throw 'The provide prop was not found on the parent node or the provide type is incorrect.'\n }\n }\n\n this.attrsToProps()\n\n this.beforeInstall()\n this.install()\n this.afterInstall()\n\n let shadowRoot\n if (this.constructor.isLightDom) {\n shadowRoot = this\n } else {\n if (!this.shadowRoot) {\n shadowRoot = this.attachShadow({\n mode: 'open'\n })\n } else {\n shadowRoot = this.shadowRoot\n let fc\n while ((fc = shadowRoot.firstChild)) {\n shadowRoot.removeChild(fc)\n }\n }\n }\n\n if (this.constructor.elementStyles) {\n shadowRoot.adoptedStyleSheets = this.constructor.elementStyles\n } else {\n const css = this.constructor.css\n if (css) {\n if (typeof css === 'string') {\n const styleSheet = new CSSStyleSheet()\n styleSheet.replaceSync(css)\n shadowRoot.adoptedStyleSheets = [styleSheet]\n } else if (Object.prototype.toString.call(css) === '[object Array]') {\n const styleSheets = []\n css.forEach(styleSheet => {\n if (typeof styleSheet === 'string') {\n const adoptedStyleSheet = new CSSStyleSheet()\n adoptedStyleSheet.replaceSync(styleSheet)\n styleSheets.push(adoptedStyleSheet)\n } else {\n styleSheets.push(styleSheet)\n }\n shadowRoot.adoptedStyleSheets = styleSheets\n })\n } else {\n shadowRoot.adoptedStyleSheets = [css]\n }\n this.constructor.elementStyles = shadowRoot.adoptedStyleSheets\n }\n }\n\n this.beforeRender()\n options.afterInstall && options.afterInstall(this)\n\n const rendered = this.render(this.props, this.store)\n\n this.rootNode = diff(null, rendered, null, this)\n this.rendered()\n\n if (this.css) {\n shadowRoot.appendChild(\n cssToDom(typeof this.css === 'function' ? this.css() : this.css)\n )\n }\n\n if (this.props.css) {\n this._customStyleElement = cssToDom(this.props.css)\n this._customStyleContent = this.props.css\n shadowRoot.appendChild(this._customStyleElement)\n }\n\n if (isArray(this.rootNode)) {\n this.rootNode.forEach(function(item) {\n shadowRoot.appendChild(item)\n })\n } else {\n this.rootNode && shadowRoot.appendChild(this.rootNode)\n }\n this.installed()\n this.isInstalled = true\n }\n\n disconnectedCallback() {\n this.uninstall()\n this.isInstalled = false\n }\n\n update(ignoreAttrs, updateSelf) {\n this._willUpdate = true\n this.beforeUpdate()\n this.beforeRender()\n //fix null !== undefined\n if (this._customStyleContent != this.props.css) {\n this._customStyleContent = this.props.css\n this._customStyleElement.textContent = this._customStyleContent\n }\n this.attrsToProps(ignoreAttrs)\n\n const rendered = this.render(this.props, this.store)\n this.rendered()\n\n this.rootNode = diff(\n this.rootNode,\n rendered,\n this.constructor.isLightDom ? this : this.shadowRoot,\n this,\n updateSelf\n )\n this._willUpdate = false\n this.updated()\n }\n\n forceUpdate() {\n this.update(true)\n }\n\n updateProps(obj) {\n Object.keys(obj).forEach(key => {\n this.props[key] = obj[key]\n if (this.prevProps) {\n this.prevProps[key] = obj[key]\n }\n })\n this.forceUpdate()\n }\n\n updateSelf(ignoreAttrs) {\n this.update(ignoreAttrs, true)\n }\n\n removeAttribute(key) {\n super.removeAttribute(key)\n //Avoid executing removeAttribute methods before connectedCallback\n this.isInstalled && this.update()\n }\n\n setAttribute(key, val) {\n if (val && typeof val === 'object') {\n super.setAttribute(key, JSON.stringify(val))\n } else {\n super.setAttribute(key, val)\n }\n //Avoid executing setAttribute methods before connectedCallback\n this.isInstalled && this.update()\n }\n\n pureRemoveAttribute(key) {\n super.removeAttribute(key)\n }\n\n pureSetAttribute(key, val) {\n super.setAttribute(key, val)\n }\n\n attrsToProps(ignoreAttrs) {\n if (\n ignoreAttrs ||\n (this.store && this.store.ignoreAttrs) ||\n this.props.ignoreAttrs\n )\n return\n const ele = this\n ele.props['css'] = ele.getAttribute('css')\n const attrs = this.constructor.propTypes\n if (!attrs) return\n Object.keys(attrs).forEach(key => {\n const type = attrs[key]\n const val = ele.getAttribute(hyphenate(key))\n if (val !== null) {\n switch (type) {\n case String:\n ele.props[key] = val\n break\n case Number:\n ele.props[key] = Number(val)\n break\n case Boolean:\n if (val === 'false' || val === '0') {\n ele.props[key] = false\n } else {\n ele.props[key] = true\n }\n break\n case Array:\n case Object:\n if (val[0] === ':') {\n ele.props[key] = getValByPath(val.substr(1), Omi.$)\n } else {\n ele.props[key] = JSON.parse(\n val\n .replace(/(['\"])?([a-zA-Z0-9_-]+)(['\"])?:([^\\/])/g, '\"$2\":$4')\n .replace(/'([\\s\\S]*?)'/g, '\"$1\"')\n .replace(/,(\\s*})/g, '$1')\n )\n }\n break\n }\n } else {\n if (\n ele.constructor.defaultProps &&\n ele.constructor.defaultProps.hasOwnProperty(key)\n ) {\n ele.props[key] = ele.constructor.defaultProps[key]\n } else {\n ele.props[key] = null\n }\n }\n })\n }\n\n fire(name, data) {\n const handler = this.props[`on${capitalize(name)}`]\n if (handler) {\n handler(\n new CustomEvent(name, {\n detail: data\n })\n )\n } else {\n this.dispatchEvent(\n new CustomEvent(name, {\n detail: data\n })\n )\n }\n }\n\n beforeInstall() {}\n\n install() {}\n\n afterInstall() {}\n\n installed() {}\n\n uninstall() {}\n\n beforeUpdate() {}\n\n updated() {}\n\n beforeRender() {}\n\n rendered() {}\n\n receiveProps() {}\n}\n","import { diff } from './vdom/diff'\n\nexport function render(vnode, parent, store) {\n parent = typeof parent === 'string' ? document.querySelector(parent) : parent\n if (store) {\n parent.store = store\n }\n return diff(null, vnode, parent, false)\n}\n","import WeElement from './we-element'\nimport options from './options'\n\nconst storeHelpers = ['use', 'useSelf']\n\nexport function define(name, ctor, config) {\n if (customElements.get(name)) {\n return\n }\n if (options.mapping[name]) {\n return\n }\n if (ctor.is === 'WeElement') {\n customElements.define(name, ctor)\n options.mapping[name] = ctor\n } else {\n if (typeof config === 'string') {\n config = { css: config }\n } else {\n config = config || {}\n }\n\n class Ele extends WeElement {\n static css = config.css\n\n static propTypes = config.propTypes\n\n static defaultProps = config.defaultProps\n\n static isLightDom = config.isLightDom\n\n compute = config.compute\n\n render() {\n return ctor.call(this, this)\n }\n }\n\n for (let key in config) {\n if (typeof config[key] === 'function') {\n Ele.prototype[key] = function() {\n return config[key].apply(this, arguments)\n }\n }\n }\n\n storeHelpers.forEach(func => {\n if (config[func] && config[func] !== 'function') {\n Ele.prototype[func] = function() {\n return config[func]\n }\n }\n })\n\n customElements.define(name, Ele)\n options.mapping[name] = Ele\n }\n}\n","import { define } from './define'\n\nexport function tag(name) {\n return function(target) {\n define(name, target)\n }\n}\n","import { extend } from './util'\nimport { h } from './h'\n\n/**\n * Clones the given VNode, optionally adding attributes/props and replacing its children.\n * @param {VNode} vnode The virtual DOM element to clone\n * @param {Object} props Attributes/props to add when cloning\n * @param {VNode} rest Any additional arguments will be used as replacement children.\n */\nexport function cloneElement(vnode, props) {\n return h(\n vnode.nodeName,\n extend(extend({}, vnode.attributes), props),\n arguments.length > 2 ? [].slice.call(arguments, 2) : vnode.children\n )\n}\n","export function getHost(ele) {\n let p = ele.parentNode\n while (p) {\n if (p.host) {\n return p.host\n } else if (p.shadowRoot && p.shadowRoot.host) {\n return p.shadowRoot.host\n } else {\n p = p.parentNode\n }\n }\n}\n","export function rpx(css) {\n return css.replace(/([1-9]\\d*|0)(\\.\\d*)*rpx/g, (a, b) => {\n return (window.innerWidth * Number(b)) / 750 + 'px'\n })\n}\n","/**\n * classNames based on https://github.com/JedWatson/classnames\n * by Jed Watson\n * Licensed under the MIT License\n * https://github.com/JedWatson/classnames/blob/master/LICENSE\n * modified by dntzhang\n */\n\nvar hasOwn = {}.hasOwnProperty\n\nexport function classNames() {\n var classes = []\n\n for (var i = 0; i < arguments.length; i++) {\n var arg = arguments[i]\n if (!arg) continue\n\n var argType = typeof arg\n\n if (argType === 'string' || argType === 'number') {\n classes.push(arg)\n } else if (Array.isArray(arg) && arg.length) {\n var inner = classNames.apply(null, arg)\n if (inner) {\n classes.push(inner)\n }\n } else if (argType === 'object') {\n for (var key in arg) {\n if (hasOwn.call(arg, key) && arg[key]) {\n classes.push(key)\n }\n }\n }\n }\n\n return classes.join(' ')\n}\n\nexport function extractClass() {\n const [props, ...args] = Array.prototype.slice.call(arguments, 0)\n if (props.class) {\n args.unshift(props.class)\n delete props.class\n } else if (props.className) {\n args.unshift(props.className)\n delete props.className\n }\n if (args.length > 0) {\n return { class: classNames.apply(null, args) }\n }\n}\n","export function o(obj) {\n return JSON.stringify(obj)\n}\n","(function () {\n 'use strict';\n\n if ('adoptedStyleSheets' in document) { return; }\n\n var hasShadyCss = 'ShadyCSS' in window && !ShadyCSS.nativeShadow;\n var bootstrapper = document.implementation.createHTMLDocument('boot');\n var closedShadowRootRegistry = new WeakMap();\n var _DOMException = typeof DOMException === 'object' ? Error : DOMException;\n\n var defineProperty = Object.defineProperty;\n var forEach = Array.prototype.forEach;\n var importPattern = /@import.+?;?$/gm;\n function rejectImports(contents) {\n var _contents = contents.replace(importPattern, '');\n if (_contents !== contents) {\n console.warn('@import rules are not allowed here. See https://github.com/WICG/construct-stylesheets/issues/119#issuecomment-588352418');\n }\n return _contents.trim();\n }\n function clearRules(sheet) {\n for (var i = 0; i < sheet.cssRules.length; i++) {\n sheet.deleteRule(0);\n }\n }\n function insertAllRules(from, to) {\n forEach.call(from.cssRules, function (rule, i) {\n to.insertRule(rule.cssText, i);\n });\n }\n function isElementConnected(element) {\n return 'isConnected' in element\n ? element.isConnected\n : document.contains(element);\n }\n function unique(arr) {\n return arr.filter(function (value, index) { return arr.indexOf(value) === index; });\n }\n function diff(arr1, arr2) {\n return arr1.filter(function (value) { return arr2.indexOf(value) === -1; });\n }\n function removeNode(node) {\n node.parentNode.removeChild(node);\n }\n function getShadowRoot(element) {\n return element.shadowRoot || closedShadowRootRegistry.get(element);\n }\n\n var cssStyleSheetMethods = [\n 'addImport',\n 'addPageRule',\n 'addRule',\n 'deleteRule',\n 'insertRule',\n 'removeImport',\n 'removeRule',\n ];\n var NonConstructedStyleSheet = CSSStyleSheet;\n var nonConstructedProto = NonConstructedStyleSheet.prototype;\n nonConstructedProto.replace = function () {\n return Promise.reject(new _DOMException(\"Can't call replace on non-constructed CSSStyleSheets.\"));\n };\n nonConstructedProto.replaceSync = function () {\n throw new _DOMException(\"Failed to execute 'replaceSync' on 'CSSStyleSheet': Can't call replaceSync on non-constructed CSSStyleSheets.\");\n };\n function isCSSStyleSheetInstance(instance) {\n return typeof instance === 'object'\n ? proto$2.isPrototypeOf(instance) ||\n nonConstructedProto.isPrototypeOf(instance)\n : false;\n }\n function isNonConstructedStyleSheetInstance(instance) {\n return typeof instance === 'object'\n ? nonConstructedProto.isPrototypeOf(instance)\n : false;\n }\n var $basicStyleSheet = new WeakMap();\n var $locations = new WeakMap();\n var $adoptersByLocation = new WeakMap();\n function addAdopterLocation(sheet, location) {\n var adopter = document.createElement('style');\n $adoptersByLocation.get(sheet).set(location, adopter);\n $locations.get(sheet).push(location);\n return adopter;\n }\n function getAdopterByLocation(sheet, location) {\n return $adoptersByLocation.get(sheet).get(location);\n }\n function removeAdopterLocation(sheet, location) {\n $adoptersByLocation.get(sheet).delete(location);\n $locations.set(sheet, $locations.get(sheet).filter(function (_location) { return _location !== location; }));\n }\n function restyleAdopter(sheet, adopter) {\n requestAnimationFrame(function () {\n clearRules(adopter.sheet);\n insertAllRules($basicStyleSheet.get(sheet), adopter.sheet);\n });\n }\n function checkInvocationCorrectness(self) {\n if (!$basicStyleSheet.has(self)) {\n throw new TypeError('Illegal invocation');\n }\n }\n function ConstructedStyleSheet() {\n var self = this;\n var style = document.createElement('style');\n bootstrapper.body.appendChild(style);\n $basicStyleSheet.set(self, style.sheet);\n $locations.set(self, []);\n $adoptersByLocation.set(self, new WeakMap());\n }\n var proto$2 = ConstructedStyleSheet.prototype;\n proto$2.replace = function replace(contents) {\n try {\n this.replaceSync(contents);\n return Promise.resolve(this);\n }\n catch (e) {\n return Promise.reject(e);\n }\n };\n proto$2.replaceSync = function replaceSync(contents) {\n checkInvocationCorrectness(this);\n if (typeof contents === 'string') {\n var self_1 = this;\n var style = $basicStyleSheet.get(self_1).ownerNode;\n style.textContent = rejectImports(contents);\n $basicStyleSheet.set(self_1, style.sheet);\n $locations.get(self_1).forEach(function (location) {\n if (location.isConnected()) {\n restyleAdopter(self_1, getAdopterByLocation(self_1, location));\n }\n });\n }\n };\n defineProperty(proto$2, 'cssRules', {\n configurable: true,\n enumerable: true,\n get: function cssRules() {\n checkInvocationCorrectness(this);\n return $basicStyleSheet.get(this).cssRules;\n },\n });\n cssStyleSheetMethods.forEach(function (method) {\n proto$2[method] = function () {\n var self = this;\n checkInvocationCorrectness(self);\n var args = arguments;\n var basic = $basicStyleSheet.get(self);\n var locations = $locations.get(self);\n var result = basic[method].apply(basic, args);\n locations.forEach(function (location) {\n if (location.isConnected()) {\n var sheet = getAdopterByLocation(self, location).sheet;\n sheet[method].apply(sheet, args);\n }\n });\n return result;\n };\n });\n defineProperty(ConstructedStyleSheet, Symbol.hasInstance, {\n configurable: true,\n value: isCSSStyleSheetInstance,\n });\n\n var defaultObserverOptions = {\n childList: true,\n subtree: true,\n };\n var locations = new WeakMap();\n function getAssociatedLocation(element) {\n var location = locations.get(element);\n if (!location) {\n location = new Location(element);\n locations.set(element, location);\n }\n return location;\n }\n function attachAdoptedStyleSheetProperty(constructor) {\n defineProperty(constructor.prototype, 'adoptedStyleSheets', {\n configurable: true,\n enumerable: true,\n get: function () {\n return getAssociatedLocation(this).sheets;\n },\n set: function (sheets) {\n getAssociatedLocation(this).update(sheets);\n },\n });\n }\n function traverseWebComponents(node, callback) {\n var iter = document.createNodeIterator(node, NodeFilter.SHOW_ELEMENT, function (foundNode) {\n return getShadowRoot(foundNode)\n ? NodeFilter.FILTER_ACCEPT\n : NodeFilter.FILTER_REJECT;\n },\n null, false);\n for (var next = void 0; (next = iter.nextNode());) {\n callback(getShadowRoot(next));\n }\n }\n var $element = new WeakMap();\n var $uniqueSheets = new WeakMap();\n var $observer = new WeakMap();\n function isExistingAdopter(self, element) {\n return (element instanceof HTMLStyleElement &&\n $uniqueSheets.get(self).some(function (sheet) { return getAdopterByLocation(sheet, self); }));\n }\n function getAdopterContainer(self) {\n var element = $element.get(self);\n return element instanceof Document ? element.body : element;\n }\n function adopt(self) {\n var styleList = document.createDocumentFragment();\n var sheets = $uniqueSheets.get(self);\n var observer = $observer.get(self);\n var container = getAdopterContainer(self);\n observer.disconnect();\n sheets.forEach(function (sheet) {\n styleList.appendChild(getAdopterByLocation(sheet, self) || addAdopterLocation(sheet, self));\n });\n container.insertBefore(styleList, null);\n observer.observe(container, defaultObserverOptions);\n sheets.forEach(function (sheet) {\n restyleAdopter(sheet, getAdopterByLocation(sheet, self));\n });\n }\n function Location(element) {\n var self = this;\n self.sheets = [];\n $element.set(self, element);\n $uniqueSheets.set(self, []);\n $observer.set(self, new MutationObserver(function (mutations, observer) {\n if (!document) {\n observer.disconnect();\n return;\n }\n mutations.forEach(function (mutation) {\n if (!hasShadyCss) {\n forEach.call(mutation.addedNodes, function (node) {\n if (!(node instanceof Element)) {\n return;\n }\n traverseWebComponents(node, function (root) {\n getAssociatedLocation(root).connect();\n });\n });\n }\n forEach.call(mutation.removedNodes, function (node) {\n if (!(node instanceof Element)) {\n return;\n }\n if (isExistingAdopter(self, node)) {\n adopt(self);\n }\n if (!hasShadyCss) {\n traverseWebComponents(node, function (root) {\n getAssociatedLocation(root).disconnect();\n });\n }\n });\n });\n }));\n }\n var proto$1 = Location.prototype;\n proto$1.isConnected = function isConnected() {\n var element = $element.get(this);\n return element instanceof Document\n ? element.readyState !== 'loading'\n : isElementConnected(element.host);\n };\n proto$1.connect = function connect() {\n var container = getAdopterContainer(this);\n $observer.get(this).observe(container, defaultObserverOptions);\n if ($uniqueSheets.get(this).length > 0) {\n adopt(this);\n }\n traverseWebComponents(container, function (root) {\n getAssociatedLocation(root).connect();\n });\n };\n proto$1.disconnect = function disconnect() {\n $observer.get(this).disconnect();\n };\n proto$1.update = function update(sheets) {\n var self = this;\n var locationType = $element.get(self) === document ? 'Document' : 'ShadowRoot';\n if (!Array.isArray(sheets)) {\n throw new TypeError(\"Failed to set the 'adoptedStyleSheets' property on \" + locationType + \": Iterator getter is not callable.\");\n }\n if (!sheets.every(isCSSStyleSheetInstance)) {\n throw new TypeError(\"Failed to set the 'adoptedStyleSheets' property on \" + locationType + \": Failed to convert value to 'CSSStyleSheet'\");\n }\n if (sheets.some(isNonConstructedStyleSheetInstance)) {\n throw new TypeError(\"Failed to set the 'adoptedStyleSheets' property on \" + locationType + \": Can't adopt non-constructed stylesheets\");\n }\n self.sheets = sheets;\n var oldUniqueSheets = $uniqueSheets.get(self);\n var uniqueSheets = unique(sheets);\n var removedSheets = diff(oldUniqueSheets, uniqueSheets);\n removedSheets.forEach(function (sheet) {\n removeNode(getAdopterByLocation(sheet, self));\n removeAdopterLocation(sheet, self);\n });\n $uniqueSheets.set(self, uniqueSheets);\n if (self.isConnected() && uniqueSheets.length > 0) {\n adopt(self);\n }\n };\n\n window.CSSStyleSheet = ConstructedStyleSheet;\n attachAdoptedStyleSheetProperty(Document);\n if ('ShadowRoot' in window) {\n attachAdoptedStyleSheetProperty(ShadowRoot);\n var proto = Element.prototype;\n var attach_1 = proto.attachShadow;\n proto.attachShadow = function attachShadow(init) {\n var root = attach_1.call(this, init);\n if (init.mode === 'closed') {\n closedShadowRootRegistry.set(this, root);\n }\n return root;\n };\n }\n var documentLocation = getAssociatedLocation(document);\n if (documentLocation.isConnected()) {\n documentLocation.connect();\n }\n else {\n document.addEventListener('DOMContentLoaded', documentLocation.connect.bind(documentLocation));\n }\n\n}());\n","import { h, h as createElement } from './h'\nimport options from './options'\nimport WeElement from './we-element'\nimport { render } from './render'\nimport { define } from './define'\nimport { tag } from './tag'\nimport { cloneElement } from './clone-element'\nimport { getHost } from './get-host'\nimport { rpx } from './rpx'\nimport { classNames, extractClass } from './class'\nimport { o } from './o'\nimport { extend, get, set, bind, unbind } from './extend'\nimport { Fragment } from './util'\nimport 'construct-style-sheets-polyfill'\n\nh.f = Fragment\n\nfunction createRef() {\n return {}\n}\n\nconst $ = {}\nconst Component = WeElement\nconst defineElement = define\nconst elements = options.mapping\n\nconst omi = {\n tag,\n WeElement,\n Component,\n render,\n h,\n createElement,\n options,\n define,\n cloneElement,\n getHost,\n rpx,\n defineElement,\n classNames,\n extractClass,\n createRef,\n o,\n elements,\n $,\n extend,\n get,\n set,\n bind,\n unbind\n}\n\noptions.root.Omi = omi\noptions.root.omi = omi\noptions.root.Omi.version = '6.23.0'\n\nexport default omi\n\nexport {\n tag,\n WeElement,\n Component,\n render,\n h,\n createElement,\n options,\n define,\n cloneElement,\n getHost,\n rpx,\n defineElement,\n classNames,\n extractClass,\n createRef,\n o,\n elements,\n $,\n extend,\n get,\n set,\n bind,\n unbind\n}\n","\n\t\t\t\timport Omi from './omi';\n\t\t\t\tif (typeof module!='undefined') module.exports = Omi;\n\t\t\t\telse self.Omi = Omi;\n\t\t\t"],"names":["getGlobal","global","Math","Array","self","window","store","root","mapping","Reflect","undefined","customElements","hasOwnProperty","BuiltInHTMLElement","HTMLElement","construct","constructor","prototype","Object","setPrototypeOf","cssToDom","css","node","document","createElement","textContent","camelCase","str","replace","$","$1","toUpperCase","Fragment","props","children","extend","obj","i","applyRef","ref","value","current","defer","Promise","resolve","then","bind","setTimeout","isArray","toString","call","pathToArr","path","split","hyphenateRE","hyphenate","toLowerCase","capitalize","name","all","letter","s","getValByPath","arr","forEach","prop","stack","h","nodeName","attributes","lastSimple","child","simple","arguments","length","push","pop","String","p","key","options","vnode","ATTR_KEY","IS_NON_DIMENSIONAL","isSameNodeType","hydrating","splitText","_componentConstructor","isNamedNode","normalizedNodeName","extension","handler","set","origin","len","get","eventProxy","e","_listeners","type","el","addEventListener","unbind","removeEventListener","createNode","isSvg","createElementNS","removeNode","parentNode","removeChild","setAccessor","old","component","className","style","cssText","test","innerHTML","__html","bindEvent","pureRemoveAttribute","removeAttribute","ns","removeAttributeNS","setAttributeNS","pureSetAttribute","setAttribute","event","useCapture","nameLower","slice","diffLevel","isSvgMode","diff","dom","parent","updateSelf","ret","ownerSVGElement","innerDiffNode","item","index","ele","idiff","one","recollectNodeTree","appendChild","out","prevSvgMode","_component","nodeValue","createTextNode","replaceChild","vnodeName","firstChild","fc","vchildren","a","nextSibling","is","noSlot","dangerouslySetInnerHTML","diffAttributes","isHydrating","originalChildren","childNodes","keyed","keyedLen","min","childrenLen","vlen","j","c","f","vchild","__key","trim","insertBefore","unmountOnly","removeChildren","lastChild","next","previousSibling","attrs","isWeElement","update","oldClone","receiveProps","assign","ccName","indexOf","id","WeElement","defaultProps","elementId","computed","isInstalled","connectedCallback","host","inject","injection","provide","injectKey","attrsToProps","beforeInstall","install","afterInstall","shadowRoot","isLightDom","attachShadow","mode","elementStyles","adoptedStyleSheets","styleSheet","CSSStyleSheet","replaceSync","styleSheets","adoptedStyleSheet","beforeRender","rendered","render","rootNode","_customStyleElement","_customStyleContent","installed","disconnectedCallback","uninstall","ignoreAttrs","_willUpdate","beforeUpdate","updated","forceUpdate","updateProps","keys","prevProps","val","JSON","stringify","getAttribute","propTypes","Number","Boolean","substr","Omi","parse","fire","data","CustomEvent","detail","dispatchEvent","querySelector","storeHelpers","define","ctor","config","Ele","compute","apply","func","tag","target","cloneElement","getHost","rpx","b","innerWidth","hasOwn","classNames","classes","arg","argType","inner","join","extractClass","args","class","unshift","o","createRef","Component","defineElement","elements","omi","version","module","exports"],"mappings":"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"}