{"version":3,"file":null,"sources":["../src/index.js"],"sourcesContent":["import PropTypes from 'proptypes';\nimport { render as preactRender, cloneElement as preactCloneElement, h, Component as PreactComponent, options } from 'preact';\n\nconst version = '15.1.0'; // trick libraries to think we are react\n\nconst ELEMENTS = 'a abbr address area article aside audio b base bdi bdo big blockquote body br button canvas caption cite code col colgroup data datalist dd del details dfn dialog div dl dt em embed fieldset figcaption figure footer form h1 h2 h3 h4 h5 h6 head header hgroup hr html i iframe img input ins kbd keygen label legend li link main map mark menu menuitem meta meter nav noscript object ol optgroup option output p param picture pre progress q rp rt ruby s samp script section select small source span strong style sub summary sup table tbody td textarea tfoot th thead time title tr track u ul var video wbr circle clipPath defs ellipse g image line linearGradient mask path pattern polygon polyline radialGradient rect stop svg text tspan'.split(' ');\n\nconst REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element')) || 0xeac7;\n\n// don't autobind these methods since they already have guaranteed context.\nconst AUTOBIND_BLACKLIST = {\n\tconstructor: 1,\n\trender: 1,\n\tshouldComponentUpdate: 1,\n\tcomponentWillReceiveProps: 1,\n\tcomponentWillUpdate: 1,\n\tcomponentDidUpdate: 1,\n\tcomponentWillMount: 1,\n\tcomponentDidMount: 1,\n\tcomponentWillUnmount: 1,\n\tcomponentDidUnmount: 1\n};\n\n\nconst CAMEL_PROPS = /^(?:accent|alignment|arabic|baseline|cap|clip|color|fill|flood|font|glyph|horiz|marker|overline|paint|stop|strikethrough|stroke|text|underline|unicode|units|v|vert|word|writing|x)[A-Z]/;\n\n\nconst BYPASS_HOOK = {};\n\n/*global process*/\nconst DEV = typeof process!=='undefined' && process.env && process.env.NODE_ENV!=='production';\n\n// a component that renders nothing. Used to replace components for unmountComponentAtNode.\nconst EmptyComponent = () => null;\n\n\n\n// make react think we're react.\nlet VNode = h('').constructor;\nVNode.prototype.$$typeof = REACT_ELEMENT_TYPE;\nVNode.prototype.preactCompatUpgraded = false;\nVNode.prototype.preactCompatNormalized = false;\n\nObject.defineProperty(VNode.prototype, 'type', {\n\tget() { return this.nodeName; },\n\tset(v) { this.nodeName = v; },\n\tconfigurable:true\n});\n\nObject.defineProperty(VNode.prototype, 'props', {\n\tget() { return this.attributes; },\n\tset(v) { this.attributes = v; },\n\tconfigurable:true\n});\n\n\nlet oldVnodeHook = options.vnode;\noptions.vnode = vnode => {\n\tif (!vnode.preactCompatUpgraded) {\n\t\tvnode.preactCompatUpgraded = true;\n\n\t\tlet tag = vnode.nodeName,\n\t\t\tattrs = vnode.attributes;\n\n\t\tif (!attrs) attrs = vnode.attributes = {};\n\n\t\tif (typeof tag==='function') {\n\t\t\tif (tag[COMPONENT_WRAPPER_KEY]===true || (tag.prototype && 'isReactComponent' in tag.prototype)) {\n\t\t\t\tif (!vnode.preactCompatNormalized) {\n\t\t\t\t\tnormalizeVNode(vnode);\n\t\t\t\t}\n\t\t\t\thandleComponentVNode(vnode);\n\t\t\t}\n\t\t}\n\t\telse if (attrs) {\n\t\t\thandleElementVNode(vnode, attrs);\n\t\t}\n\t}\n\tif (oldVnodeHook) oldVnodeHook(vnode);\n};\n\n\n\n\nfunction handleComponentVNode(vnode) {\n\tlet tag = vnode.nodeName,\n\t\ta = vnode.attributes;\n\n\tvnode.attributes = {};\n\tif (tag.defaultProps) extend(vnode.attributes, tag.defaultProps);\n\tif (a) extend(vnode.attributes, a);\n\ta = vnode.attributes;\n\n\tif (vnode.children && !vnode.children.length) vnode.children = undefined;\n\n\tif (vnode.children) a.children = vnode.children;\n}\n\nfunction handleElementVNode(vnode, a) {\n\tlet shouldSanitize, attrs, i;\n\tif (a) {\n\t\tfor (i in a) if ((shouldSanitize = CAMEL_PROPS.test(i))) break;\n\t\tif (shouldSanitize) {\n\t\t\tattrs = vnode.attributes = {};\n\t\t\tfor (i in a) {\n\t\t\t\tif (a.hasOwnProperty(i)) {\n\t\t\t\t\tattrs[ CAMEL_PROPS.test(i) ? i.replace(/([A-Z0-9])/, '-$1').toLowerCase() : i ] = a[i];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n\n// proxy render() since React returns a Component reference.\nfunction render(vnode, parent, callback) {\n\tlet prev = parent && parent._preactCompatRendered;\n\n\t// ignore impossible previous renders\n\tif (prev && prev.parentNode!==parent) prev = null;\n\n\t// default to first Element child\n\tif (!prev) prev = parent.children[0];\n\n\t// remove unaffected siblings\n\tfor (let i=parent.childNodes.length; i--; ) {\n\t\tif (parent.childNodes[i]!==prev) {\n\t\t\tparent.removeChild(parent.childNodes[i]);\n\t\t}\n\t}\n\n\tlet out = preactRender(vnode, parent, prev);\n\tif (parent) parent._preactCompatRendered = out;\n\tif (typeof callback==='function') callback();\n\treturn out && out._component || out.base;\n}\n\n\nclass ContextProvider {\n\tgetChildContext() {\n\t\treturn this.props.context;\n\t}\n\trender(props) {\n\t\treturn props.children[0];\n\t}\n}\n\nfunction renderSubtreeIntoContainer(parentComponent, vnode, container, callback) {\n\tlet wrap = h(ContextProvider, { context: parentComponent.context }, vnode);\n\tlet c = render(wrap, container);\n\tif (callback) callback(c);\n\treturn c;\n}\n\n\nfunction unmountComponentAtNode(container) {\n\tlet existing = container._preactCompatRendered;\n\tif (existing && existing.parentNode===container) {\n\t\tpreactRender(h(EmptyComponent), container, existing);\n\t\treturn true;\n\t}\n\treturn false;\n}\n\n\n\nconst ARR = [];\n\n// This API is completely unnecessary for Preact, so it's basically passthrough.\nlet Children = {\n\tmap(children, fn, ctx) {\n\t\tchildren = Children.toArray(children);\n\t\tif (ctx && ctx!==children) fn = fn.bind(ctx);\n\t\treturn children.map(fn);\n\t},\n\tforEach(children, fn, ctx) {\n\t\tchildren = Children.toArray(children);\n\t\tif (ctx && ctx!==children) fn = fn.bind(ctx);\n\t\tchildren.forEach(fn);\n\t},\n\tcount(children) {\n\t\tchildren = Children.toArray(children);\n\t\treturn children.length;\n\t},\n\tonly(children) {\n\t\tchildren = Children.toArray(children);\n\t\tif (children.length!==1) throw new Error('Children.only() expects only one child.');\n\t\treturn children[0];\n\t},\n\ttoArray(children) {\n\t\treturn Array.isArray && Array.isArray(children) ? children : ARR.concat(children);\n\t}\n};\n\n\n/** Track current render() component for ref assignment */\nlet currentComponent;\n\n\nfunction createFactory(type) {\n\treturn createElement.bind(null, type);\n}\n\n\nlet DOM = {};\nfor (let i=ELEMENTS.length; i--; ) {\n\tDOM[ELEMENTS[i]] = createFactory(ELEMENTS[i]);\n}\n\nfunction upgradeToVNodes(arr, offset) {\n\tfor (let i=offset || 0; i<arr.length; i++) {\n\t\tlet obj = arr[i];\n\t\tif (Array.isArray(obj)) {\n\t\t\tupgradeToVNodes(obj);\n\t\t}\n\t\telse if (obj && typeof obj==='object' && !isValidElement(obj) && ((obj.props && obj.type) || (obj.attributes && obj.nodeName) || obj.children)) {\n\t\t\tarr[i] = createElement(obj.type || obj.nodeName, obj.props || obj.attributes, obj.children);\n\t\t}\n\t}\n}\n\nfunction isStatelessComponent(c) {\n\treturn typeof c==='function' && !(c.prototype && c.prototype.render);\n}\n\n\nconst COMPONENT_WRAPPER_KEY = typeof Symbol!=='undefined' ? Symbol.for('__preactCompatWrapper') : '__preactCompatWrapper';\n\n// wraps stateless functional components in a PropTypes validator\nfunction wrapStatelessComponent(WrappedComponent) {\n\treturn createClass({\n\t\tdisplayName: WrappedComponent.displayName || WrappedComponent.name,\n\t\trender(props, state, context) {\n\t\t\treturn WrappedComponent(props, context);\n\t\t}\n\t});\n}\n\n\nfunction statelessComponentHook(Ctor) {\n\tlet Wrapped = Ctor[COMPONENT_WRAPPER_KEY];\n\tif (Wrapped) return Wrapped===true ? Ctor : Wrapped;\n\n\tWrapped = wrapStatelessComponent(Ctor);\n\n\tObject.defineProperty(Wrapped, COMPONENT_WRAPPER_KEY, { configurable:true, value:true });\n\tWrapped.displayName = Ctor.displayName;\n\tWrapped.propTypes = Ctor.propTypes;\n\tWrapped.defaultProps = Ctor.defaultProps;\n\n\tObject.defineProperty(Ctor, COMPONENT_WRAPPER_KEY, { configurable:true, value:Wrapped });\n\n\treturn Wrapped;\n}\n\n\nfunction createElement(...args) {\n\tupgradeToVNodes(args, 2);\n\treturn normalizeVNode(h(...args));\n}\n\n\nfunction normalizeVNode(vnode) {\n\tvnode.preactCompatNormalized = true;\n\n\tapplyClassName(vnode);\n\n\tif (isStatelessComponent(vnode.nodeName)) {\n\t\tvnode.nodeName = statelessComponentHook(vnode.nodeName);\n\t}\n\n\tlet ref = vnode.attributes.ref,\n\t\ttype = ref && typeof ref;\n\tif (currentComponent && (type==='string' || type==='number')) {\n\t\tvnode.attributes.ref = createStringRefProxy(ref, currentComponent);\n\t}\n\n\tapplyEventNormalization(vnode);\n\n\treturn vnode;\n}\n\n\nfunction cloneElement(element, props, ...children) {\n\tif (!isValidElement(element)) return element;\n\tlet elementProps = element.attributes || element.props;\n\tlet node = h(\n\t\telement.nodeName || element.type,\n\t\telementProps,\n\t\telement.children || elementProps && elementProps.children\n\t);\n\treturn normalizeVNode(preactCloneElement(node, props, ...children));\n}\n\n\nfunction isValidElement(element) {\n\treturn element && ((element instanceof VNode) || element.$$typeof===REACT_ELEMENT_TYPE);\n}\n\n\nfunction createStringRefProxy(name, component) {\n\treturn component._refProxies[name] || (component._refProxies[name] = resolved => {\n\t\tif (component && component.refs) {\n\t\t\tcomponent.refs[name] = resolved;\n\t\t\tif (resolved===null) {\n\t\t\t\tdelete component._refProxies[name];\n\t\t\t\tcomponent = null;\n\t\t\t}\n\t\t}\n\t});\n}\n\n\nfunction applyEventNormalization({ nodeName, attributes }) {\n\tif (!attributes || typeof nodeName!=='string') return;\n\tlet props = {};\n\tfor (let i in attributes) {\n\t\tprops[i.toLowerCase()] = i;\n\t}\n\tif (props.onchange) {\n\t\tnodeName = nodeName.toLowerCase();\n\t\tlet attr = nodeName==='input' && String(attributes.type).toLowerCase()==='checkbox' ? 'onclick' : 'oninput',\n\t\t\tnormalized = props[attr] || attr;\n\t\tif (!attributes[normalized]) {\n\t\t\tattributes[normalized] = multihook([attributes[props[attr]], attributes[props.onchange]]);\n\t\t}\n\t}\n}\n\n\nfunction applyClassName({ attributes }) {\n\tif (!attributes) return;\n\tlet cl = attributes.className || attributes.class;\n\tif (cl) attributes.className = cl;\n}\n\n\nfunction extend(base, props) {\n\tfor (let key in props) {\n\t\tif (props.hasOwnProperty(key)) {\n\t\t\tbase[key] = props[key];\n\t\t}\n\t}\n\treturn base;\n}\n\n\nfunction shallowDiffers(a, b) {\n\tfor (let i in a) if (!(i in b)) return true;\n\tfor (let i in b) if (a[i]!==b[i]) return true;\n\treturn false;\n}\n\n\nlet findDOMNode = component => component && component.base || component;\n\n\nfunction F(){}\n\nfunction createClass(obj) {\n\tlet mixins = obj.mixins && collateMixins(obj.mixins);\n\n\tfunction cl(props, context) {\n\t\textend(this, obj);\n\t\tif (mixins) applyMixins(this, mixins);\n\t\tbindAll(this);\n\t\tComponent.call(this, props, context, BYPASS_HOOK);\n\t\tnewComponentHook.call(this, props, context);\n\t}\n\n\tif (obj.statics) {\n\t\textend(cl, obj.statics);\n\t}\n\tif (obj.propTypes) {\n\t\tcl.propTypes = obj.propTypes;\n\t}\n\tif (obj.defaultProps) {\n\t\tcl.defaultProps = obj.defaultProps;\n\t}\n\tif (obj.getDefaultProps) {\n\t\tcl.defaultProps = obj.getDefaultProps();\n\t}\n\n\tF.prototype = Component.prototype;\n\tcl.prototype = new F();\n\tcl.prototype.constructor = cl;\n\n\tcl.displayName = obj.displayName || 'Component';\n\n\treturn cl;\n}\n\n\n// Flatten an Array of mixins to a map of method name to mixin implementations\nfunction collateMixins(mixins) {\n\tlet keyed = {};\n\tfor (let i=0; i<mixins.length; i++) {\n\t\tlet mixin = mixins[i];\n\t\tfor (let key in mixin) {\n\t\t\tif (mixin.hasOwnProperty(key) && typeof mixin[key]==='function') {\n\t\t\t\t(keyed[key] || (keyed[key]=[])).push(mixin[key]);\n\t\t\t}\n\t\t}\n\t}\n\treturn keyed;\n}\n\n\n// apply a mapping of Arrays of mixin methods to a component instance\nfunction applyMixins(inst, mixins) {\n\tfor (let key in mixins) if (mixins.hasOwnProperty(key)) {\n\t\tinst[key] = multihook(mixins[key].concat(inst[key] || key));\n\t}\n}\n\n\nfunction bindAll(ctx) {\n\tfor (let i in ctx) {\n\t\tlet v = ctx[i];\n\t\tif (typeof v==='function' && !v.__bound && !AUTOBIND_BLACKLIST.hasOwnProperty(i)) {\n\t\t\t(ctx[i] = v.bind(ctx)).__bound = true;\n\t\t}\n\t}\n}\n\n\nfunction callMethod(ctx, m, args) {\n\tif (typeof m==='string') {\n\t\tm = ctx.constructor.prototype[m];\n\t}\n\tif (typeof m==='function') {\n\t\treturn m.apply(ctx, args);\n\t}\n}\n\nfunction multihook(hooks) {\n\treturn function() {\n\t\tlet ret;\n\t\tfor (let i=0; i<hooks.length; i++) {\n\t\t\tlet r = callMethod(this, hooks[i], arguments);\n\t\t\tif (typeof r!=='undefined') ret = r;\n\t\t}\n\t\treturn ret;\n\t};\n}\n\n\nfunction newComponentHook(props, context) {\n\tpropsHook.call(this, props, context);\n\tthis.componentWillReceiveProps = multihook([propsHook, this.componentWillReceiveProps || 'componentWillReceiveProps']);\n\tthis.render = multihook([propsHook, beforeRender, this.render || 'render', afterRender]);\n}\n\n\nfunction propsHook(props, context) {\n\tif (!props) return;\n\n\t// React annoyingly special-cases single children, and some react components are ridiculously strict about this.\n\tlet c = props.children;\n\tif (c && Array.isArray(c) && c.length===1) {\n\t\tprops.children = c[0];\n\n\t\t// but its totally still going to be an Array.\n\t\tif (props.children && typeof props.children==='object') {\n\t\t\tprops.children.length = 1;\n\t\t\tprops.children[0] = props.children;\n\t\t}\n\t}\n\n\t// add proptype checking\n\tif (DEV) {\n\t\tlet ctor = typeof this==='function' ? this : this.constructor,\n\t\t\tpropTypes = this.propTypes || ctor.propTypes;\n\t\tif (propTypes) {\n\t\t\tfor (let prop in propTypes) {\n\t\t\t\tif (propTypes.hasOwnProperty(prop) && typeof propTypes[prop]==='function') {\n\t\t\t\t\tconst displayName = this.displayName || ctor.name;\n\t\t\t\t\tlet err = propTypes[prop](props, prop, displayName, 'prop');\n\t\t\t\t\tif (err) console.error(new Error(err.message || err));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\n\nfunction beforeRender(props) {\n\tcurrentComponent = this;\n}\n\nfunction afterRender() {\n\tif (currentComponent===this) {\n\t\tcurrentComponent = null;\n\t}\n}\n\n\n\nfunction Component(props, context, opts) {\n\tPreactComponent.call(this, props, context);\n\tif (this.getInitialState) this.state = this.getInitialState();\n\tthis.refs = {};\n\tthis._refProxies = {};\n\tif (opts!==BYPASS_HOOK) {\n\t\tnewComponentHook.call(this, props, context);\n\t}\n}\nComponent.prototype = new PreactComponent();\nextend(Component.prototype, {\n\tconstructor: Component,\n\n\tisReactComponent: {},\n\n\treplaceState(state, callback) {\n\t\tthis.setState(state, callback);\n\t\tfor (let i in this.state) {\n\t\t\tif (!(i in state)) {\n\t\t\t\tdelete this.state[i];\n\t\t\t}\n\t\t}\n\t},\n\n\tgetDOMNode() {\n\t\treturn this.base;\n\t},\n\n\tisMounted() {\n\t\treturn !!this.base;\n\t}\n});\n\n\n\nfunction PureComponent(props, context) {\n\tComponent.call(this, props, context);\n}\nPureComponent.prototype = new Component({}, {}, BYPASS_HOOK);\nPureComponent.prototype.shouldComponentUpdate = function(props, state) {\n\treturn shallowDiffers(this.props, props) || shallowDiffers(this.state, state);\n};\n\n\n\nexport {\n\tversion,\n\tDOM,\n\tPropTypes,\n\tChildren,\n\trender,\n\tcreateClass,\n\tcreateFactory,\n\tcreateElement,\n\tcloneElement,\n\tisValidElement,\n\tfindDOMNode,\n\tunmountComponentAtNode,\n\tComponent,\n\tPureComponent,\n\trenderSubtreeIntoContainer as unstable_renderSubtreeIntoContainer\n};\n\nexport default {\n\tversion,\n\tDOM,\n\tPropTypes,\n\tChildren,\n\trender,\n\tcreateClass,\n\tcreateFactory,\n\tcreateElement,\n\tcloneElement,\n\tisValidElement,\n\tfindDOMNode,\n\tunmountComponentAtNode,\n\tComponent,\n\tPureComponent,\n\tunstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer\n};\n"],"names":["const","let","h","options","render","preactRender","cloneElement","preactCloneElement","i","Component","this","arguments","PreactComponent"],"mappings":"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"}