{"version":3,"file":"preact.js","sources":["../src/constants.js","../src/util.js","../src/options.js","../src/vnode.js","../src/hooks.js","../src/h.js","../src/linked-state.js","../src/render-queue.js","../src/vdom/functional-component.js","../src/vdom/index.js","../src/dom/index.js","../src/vdom/component-recycler.js","../src/dom/recycler.js","../src/vdom/build.js","../src/vdom/component.js","../src/component.js","../src/render.js","../src/preact.js"],"sourcesContent":["// render modes\nexport const NO_RENDER = { render: false };\nexport const SYNC_RENDER = { renderSync: true };\nexport const DOM_RENDER = { build: true };\n\nexport const EMPTY = {};\nexport const EMPTY_BASE = '';\n\n// is this a DOM environment\nexport const HAS_DOM = typeof document!=='undefined';\nexport const TEXT_CONTENT = !HAS_DOM || 'textContent' in document ? 'textContent' : 'nodeValue';\n\nexport const ATTR_KEY = '__preactattr_';\n\n// DOM properties that should NOT have \"px\" added when numeric\nexport const NON_DIMENSION_PROPS = {\n\tboxFlex:1,boxFlexGroup:1,columnCount:1,fillOpacity:1,flex:1,flexGrow:1,\n\tflexPositive:1,flexShrink:1,flexNegative:1,fontWeight:1,lineClamp:1,lineHeight:1,\n\topacity:1,order:1,orphans:1,strokeOpacity:1,widows:1,zIndex:1,zoom:1\n};\n","import { NON_DIMENSION_PROPS } from './constants';\n\n\n/** Copy own-properties from `props` onto `obj`.\n *\t@returns obj\n *\t@private\n */\nexport function extend(obj, props) {\n\tfor (let i in props) if (hasOwnProperty.call(props, i)) {\n\t\tobj[i] = props[i];\n\t}\n\treturn obj;\n}\n\n\n/** Create a caching wrapper for the given function.\n *\t@private\n */\nexport function memoize(fn, mem) {\n\tmem = mem || {};\n\treturn k => hasOwnProperty.call(mem, k) ? mem[k] : (mem[k] = fn(k));\n}\n\n\n/** Get a deep property value from the given object, expressed in dot-notation.\n *\t@private\n */\nexport function delve(obj, key) {\n\tfor (let p=key.split('.'), i=0; i