apprun 3.28.6 → 3.28.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -2
- package/README.md +8 -40
- package/WHATSNEW.md +6 -6
- package/apprun-cli.js +3 -220
- package/dist/apprun-dev-tools.js +1 -2
- package/dist/apprun-dev-tools.js.map +1 -1
- package/dist/apprun-html.esm.js +10 -112
- package/dist/apprun-html.esm.js.map +1 -1
- package/dist/apprun-html.js +1 -1
- package/dist/apprun-html.js.LICENSE.txt +2 -24
- package/dist/apprun-html.js.map +1 -1
- package/dist/apprun-play.js +1 -1
- package/dist/apprun-play.js.map +1 -1
- package/dist/apprun.esm.js +1 -1
- package/dist/apprun.esm.js.map +1 -1
- package/dist/apprun.js +1 -1
- package/dist/apprun.js.map +1 -1
- package/esm/apprun-dev-tools.js +2 -1
- package/esm/apprun-dev-tools.js.map +1 -1
- package/esm/apprun.js +1 -1
- package/esm/apprun.js.map +1 -1
- package/esm/component.js +1 -1
- package/esm/component.js.map +1 -1
- package/esm/vdom-lit-html.js +42 -21
- package/esm/vdom-lit-html.js.map +1 -1
- package/esm/vdom-to-html.js +1 -2
- package/esm/vdom-to-html.js.map +1 -1
- package/package.json +18 -19
- package/src/apprun.ts +1 -1
- package/src/component.ts +1 -1
- package/src/vdom-lit-html.ts +43 -20
- package/src/vdom-to-html.tsx +2 -2
- package/webpack.config.js +2 -1
- package/cli-templates/Layout.ts_ +0 -35
- package/cli-templates/_build.js +0 -27
- package/cli-templates/_eslintrc.js +0 -40
- package/cli-templates/_gitignore +0 -6
- package/cli-templates/component.ts_ +0 -14
- package/cli-templates/index.html +0 -10
- package/cli-templates/jest.config.js +0 -19
- package/cli-templates/karma.conf.js +0 -24
- package/cli-templates/main.ts_ +0 -13
- package/cli-templates/readme.md +0 -7
- package/cli-templates/spa_index.html +0 -14
- package/cli-templates/spa_main.ts_ +0 -12
- package/cli-templates/spec.ts_ +0 -12
- package/cli-templates/stories.js_ +0 -47
- package/cli-templates/tsconfig.es5.json +0 -15
- package/cli-templates/tsconfig.es6.json +0 -15
- package/cli-templates/webpack.config.js +0 -23
- package/index-apprun-play.html +0 -46
package/dist/apprun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack://apprun/webpack/universalModuleDefinition","webpack://apprun/./src/vdom-my.ts","webpack://apprun/webpack/bootstrap","webpack://apprun/webpack/runtime/define property getters","webpack://apprun/webpack/runtime/global","webpack://apprun/webpack/runtime/hasOwnProperty shorthand","webpack://apprun/webpack/runtime/make namespace object","webpack://apprun/./src/app.ts","webpack://apprun/./src/web-component.ts","webpack://apprun/./src/decorator.ts","webpack://apprun/./src/directive.ts","webpack://apprun/./src/component.ts","webpack://apprun/./src/router.ts","webpack://apprun/./src/apprun.ts","webpack://apprun/./src/vdom.ts"],"names":["root","factory","exports","module","define","amd","this","Fragment","props","children","collect","ch","push","c","forEach","Array","isArray","i","createElement","tag","undefined","Object","getPrototypeOf","__isAppRunComponent","Error","keyCache","WeakMap","updateElement","element","nodes","parent","createComponent","isSvg","nodeName","updateChildren","update","node","el","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","old_len","childNodes","length","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","HTMLElement","SVGElement","insertBefore","key","old","temp","nextSibling","appendChild","n","removeChild","lastChild","d","document","createDocumentFragment","indexOf","div","insertAdjacentHTML","substring","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","keys","p","mergeProps","name","value","startsWith","cname","replace","match","dataset","style","cssText","s","xname","toLowerCase","removeAttributeNS","setAttributeNS","setAttribute","removeAttribute","test","getAttribute","window","requestAnimationFrame","idx","map","vdom","id","Date","now","asTag","__componentCache","component","start","mounted","new_state","state","setState","render_component","new_parent","_component","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","App","_events","fn","options","subscribers","filter","sub","args","getSubscribers","console","assert","delay","apply","once","on","_t","clearTimeout","setTimeout","promises","Promise","all","events","evt","endsWith","sort","a","b","event","app","self","global","customElement","componentClass","super","observedAttributes","attr","isConnected","opts","_shadowRoot","shadow","attachShadow","mode","attrMap","reduce","lc","_attrMap","from","attributes","item","attributeChangedCallback","configurable","parentElement","mount","_props","dispatchEvent","bind","run","render","unload","unmount","oldValue","mappedName","customElements","Reflect","meta","metadataKey","metadataValue","target","has","set","descriptor","toString","defineMetadata","constructor","getStateValue","setStateValue","directive","handler","type","checked","Number","multiple","selected","apply_directive","componentCache","Map","components","REFRESH","Component","view","_app","_actions","_global_events","_history","_history_idx","_history_prev","history","_history_next","html","_","getElementById","tracking_attr","tracking_id","valueOf","MutationObserver","observer","changes","body","contains","disconnect","observe","childList","subtree","attributeOldValue","attributeFilter","rendered","_state","then","v","catch","err","error","renderState","enable_history","callback","global_event","prev","next","route","add_actions","action","current_state","newState","actions","getMetadataKeys","getMetadata","act","split","trim","add_action","is_global_event","off","ROUTER_EVENT","ROUTER_404_EVENT","url","rest","model","NOOP","addEventListener","onpopstate","location","hash","hasAttribute"],"mappings":"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","file":"dist/apprun.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"apprun\"] = factory();\n\telse\n\t\troot[\"apprun\"] = factory();\n})(this, function() {\nreturn ","import { VDOM, VNode } from './types';\nexport type Element = any; //HTMLElement | SVGSVGElement | SVGElement;\n\nexport function Fragment(props, ...children): any[] {\n return collect(children);\n}\n\nconst ATTR_PROPS = '_props';\n\nfunction collect(children) {\n const ch = [];\n const push = (c) => {\n if (c !== null && c !== undefined && c !== '' && c !== false) {\n ch.push((typeof c === 'function' || typeof c === 'object') ? c : `${c}`);\n }\n }\n children && children.forEach(c => {\n if (Array.isArray(c)) {\n c.forEach(i => push(i));\n } else {\n push(c);\n }\n });\n return ch;\n}\n\nexport function createElement(tag: string | Function | [], props?: {}, ...children) {\n const ch = collect(children);\n if (typeof tag === 'string') return { tag, props, children: ch };\n else if (Array.isArray(tag)) return tag; // JSX fragments - babel\n else if (tag === undefined && children) return ch; // JSX fragments - typescript\n else if (Object.getPrototypeOf(tag).__isAppRunComponent) return { tag, props, children: ch } // createComponent(tag, { ...props, children });\n else if (typeof tag === 'function') return tag(props, ch);\n else throw new Error(`Unknown tag in vdom ${tag}`);\n};\n\nconst keyCache = new WeakMap();\n\nexport const updateElement = render;\n\nexport function render(element: Element, nodes: VDOM, parent = {}) {\n // console.log('render', element, node);\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n\n nodes = createComponent(nodes, parent);\n\n const isSvg = element?.nodeName === \"SVG\";\n\n if (!element) return;\n if (Array.isArray(nodes)) {\n updateChildren(element, nodes, isSvg);\n } else {\n updateChildren(element, [nodes], isSvg);\n }\n}\n\nfunction same(el: Element, node: VNode) {\n // if (!el || !node) return false;\n const key1 = el.nodeName;\n const key2 = `${node.tag || ''}`;\n return key1.toUpperCase() === key2.toUpperCase();\n}\n\nfunction update(element: Element, node: VNode, isSvg: boolean) {\n if (node['_op'] === 3) return;\n // console.assert(!!element);\n isSvg = isSvg || node.tag === \"svg\";\n if (!same(element, node)) {\n element.parentNode.replaceChild(create(node, isSvg), element);\n return;\n }\n !(node['_op'] & 2) && updateChildren(element, node.children, isSvg);\n !(node['_op'] & 1) && updateProps(element, node.props, isSvg);\n}\n\nfunction updateChildren(element, children, isSvg: boolean) {\n const old_len = element.childNodes?.length || 0;\n const new_len = children?.length || 0;\n const len = Math.min(old_len, new_len);\n for (let i = 0; i < len; i++) {\n const child = children[i];\n if (child['_op'] === 3) continue;\n const el = element.childNodes[i];\n if (typeof child === 'string') {\n if (el.textContent !== child) {\n if (el.nodeType === 3) {\n el.nodeValue = child\n } else {\n element.replaceChild(createText(child), el);\n }\n }\n } else if (child instanceof HTMLElement || child instanceof SVGElement) {\n element.insertBefore(child, el);\n } else {\n const key = child.props && child.props['key'];\n if (key) {\n if (el.key === key) {\n update(element.childNodes[i], child, isSvg);\n } else {\n // console.log(el.key, key);\n const old = keyCache[key];\n if (old) {\n const temp = old.nextSibling;\n element.insertBefore(old, el);\n temp ? element.insertBefore(el, temp) : element.appendChild(el);\n update(element.childNodes[i], child, isSvg);\n } else {\n element.replaceChild(create(child, isSvg), el);\n }\n }\n } else {\n update(element.childNodes[i], child, isSvg);\n }\n }\n }\n\n let n = element.childNodes.length;\n while (n > len) {\n element.removeChild(element.lastChild);\n n--;\n }\n\n if (new_len > len) {\n const d = document.createDocumentFragment();\n for (let i = len; i < children.length; i++) {\n d.appendChild(create(children[i], isSvg));\n }\n element.appendChild(d);\n }\n}\n\nfunction createText(node) {\n if (node?.indexOf('_html:') === 0) { // ?\n const div = document.createElement('div');\n div.insertAdjacentHTML('afterbegin', node.substring(6))\n return div;\n } else {\n return document.createTextNode(node??'');\n }\n}\n\nfunction create(node: VNode | string | HTMLElement | SVGElement, isSvg: boolean): Element {\n // console.assert(node !== null && node !== undefined);\n if ((node instanceof HTMLElement) || (node instanceof SVGElement)) return node;\n if (typeof node === \"string\") return createText(node);\n if (!node.tag || (typeof node.tag === 'function')) return createText(JSON.stringify(node));\n isSvg = isSvg || node.tag === \"svg\";\n const element = isSvg\n ? document.createElementNS(\"http://www.w3.org/2000/svg\", node.tag)\n : document.createElement(node.tag);\n\n updateProps(element, node.props, isSvg);\n if (node.children) node.children.forEach(child => element.appendChild(create(child, isSvg)));\n return element\n}\n\nfunction mergeProps(oldProps: {}, newProps: {}): {} {\n newProps['class'] = newProps['class'] || newProps['className'];\n delete newProps['className'];\n const props = {};\n if (oldProps) Object.keys(oldProps).forEach(p => props[p] = null);\n if (newProps) Object.keys(newProps).forEach(p => props[p] = newProps[p]);\n return props;\n}\n\nexport function updateProps(element: Element, props: {}, isSvg) {\n // console.assert(!!element);\n const cached = element[ATTR_PROPS] || {};\n props = mergeProps(cached, props || {});\n element[ATTR_PROPS] = props;\n\n for (const name in props) {\n const value = props[name];\n // if (cached[name] === value) continue;\n // console.log('updateProps', name, value);\n if (name.startsWith('data-')) {\n const dname = name.substring(5);\n const cname = dname.replace(/-(\\w)/g, (match) => match[1].toUpperCase());\n if (element.dataset[cname] !== value) {\n if (value || value === \"\") element.dataset[cname] = value;\n else delete element.dataset[cname];\n }\n } else if (name === 'style') {\n if (element.style.cssText) element.style.cssText = '';\n if (typeof value === 'string') element.style.cssText = value;\n else {\n for (const s in value) {\n if (element.style[s] !== value[s]) element.style[s] = value[s];\n }\n }\n } else if (name.startsWith('xlink')) {\n const xname = name.replace('xlink', '').toLowerCase();\n if (value == null || value === false) {\n element.removeAttributeNS('http://www.w3.org/1999/xlink', xname);\n } else {\n element.setAttributeNS('http://www.w3.org/1999/xlink', xname, value);\n }\n } else if (name.startsWith('on')) {\n if (!value || typeof value === 'function') {\n element[name] = value;\n } else if (typeof value === 'string') {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-/g.test(name) || isSvg) {\n if (element.getAttribute(name) !== value) {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (element[name] !== value) {\n element[name] = value;\n }\n if (name === 'key' && value) keyCache[value] = element;\n }\n if (props && typeof props['ref'] === 'function') {\n window.requestAnimationFrame(() => props['ref'](element));\n }\n}\n\nfunction render_component(node, parent, idx) {\n const { tag, props, children } = node;\n let key = `_${idx}`;\n let id = props && props['id'];\n if (!id) id = `_${idx}${Date.now()}`;\n else key = id;\n let asTag = 'section';\n if (props && props['as']) {\n asTag = props['as'];\n delete props['as'];\n }\n if (!parent.__componentCache) parent.__componentCache = {};\n let component = parent.__componentCache[key];\n if (!component || !(component instanceof tag) || !component.element) {\n const element = document.createElement(asTag);\n component = parent.__componentCache[key] = new tag({ ...props, children }).start(element);\n }\n if (component.mounted) {\n const new_state = component.mounted(props, children, component.state);\n (typeof new_state !== 'undefined') && component.setState(new_state);\n }\n updateProps(component.element, props, false);\n return component.element;\n}\n\nfunction createComponent(node, parent, idx = 0) {\n if (typeof node === 'string') return node;\n if (Array.isArray(node)) return node.map(child => createComponent(child, parent, idx++));\n let vdom = node;\n if (node && typeof node.tag === 'function' && Object.getPrototypeOf(node.tag).__isAppRunComponent) {\n vdom = render_component(node, parent, idx);\n }\n if (vdom && Array.isArray(vdom.children)) {\n const new_parent = vdom.props?._component;\n if (new_parent) {\n let i = 0;\n vdom.children = vdom.children.map(child => createComponent(child, new_parent, i++));\n } else {\n vdom.children = vdom.children.map(child => createComponent(child, parent, idx++));\n }\n }\n return vdom;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { EventOptions} from './types'\nexport class App {\n\n private _events: Object;\n\n public start;\n public h;\n public createElement;\n public render;\n public Fragment;\n public webComponent;\n\n constructor() {\n this._events = {};\n }\n\n on(name: string, fn: (...args) => void, options: EventOptions = {}): void {\n this._events[name] = this._events[name] || [];\n this._events[name].push({ fn, options });\n }\n\n off(name: string, fn: (...args) => void): void {\n const subscribers = this._events[name] || [];\n\n this._events[name] = subscribers.filter((sub) => sub.fn !== fn);\n }\n\n find(name: string): any {\n return this._events[name];\n }\n\n run(name: string, ...args): number {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n subscribers.forEach((sub) => {\n const { fn, options } = sub;\n if (options.delay) {\n this.delay(name, fn, args, options);\n } else {\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }\n return !sub.options.once;\n });\n\n return subscribers.length;\n }\n\n once(name: string, fn, options: EventOptions = {}): void {\n this.on(name, fn, { ...options, once: true });\n }\n\n private delay(name, fn, args, options): void {\n if (options._t) clearTimeout(options._t);\n options._t = setTimeout(() => {\n clearTimeout(options._t);\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }, options.delay);\n }\n\n query(name: string, ...args): Promise<any[]> {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n const promises = subscribers.map(sub => {\n const { fn, options } = sub;\n return Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n });\n return Promise.all(promises);\n }\n\n private getSubscribers(name: string, events) {\n const subscribers = events[name] || [];\n\n // Update the list of subscribers by pulling out those which will run once.\n // We must do this update prior to running any of the events in case they\n // cause additional events to be turned off or on.\n events[name] = subscribers.filter((sub) => {\n return !sub.options.once;\n });\n Object.keys(events).filter(evt => evt.endsWith('*') && name.startsWith(evt.replace('*', '')))\n .sort((a, b) => b.length - a.length)\n .forEach(evt => subscribers.push(...events[evt].map(sub => ({\n ...sub,\n options: { ...sub.options, event: name }\n }))));\n return subscribers;\n }\n}\n\nconst AppRunVersions = 'AppRun-3';\nlet app: App;\nconst root = (typeof self === 'object' && self.self === self && self) ||\n (typeof global === 'object' && global.global === global && global)\nif (root['app'] && root['_AppRunVersions']) {\n app = root['app'];\n} else {\n app = new App();\n root['app'] = app;\n root['_AppRunVersions'] = AppRunVersions;\n}\nexport default app;\n","declare var customElements;\n\nexport type CustomElementOptions = {\n render?: boolean;\n shadow?: boolean;\n history?: boolean;\n global_event?: boolean;\n observedAttributes?: string[];\n};\n\nexport const customElement = (componentClass, options: CustomElementOptions = {}) => class CustomElement extends HTMLElement {\n private _shadowRoot;\n private _component;\n private _attrMap: (arg0: string) => string;\n public on;\n public run;\n constructor() {\n super();\n }\n get component() { return this._component; }\n get state() { return this._component.state; }\n\n static get observedAttributes() {\n // attributes need to be set to lowercase in order to get observed\n return (options.observedAttributes || []).map(attr => attr.toLowerCase());\n }\n\n connectedCallback() {\n if (this.isConnected && !this._component) {\n const opts = options || {};\n this._shadowRoot = opts.shadow ? this.attachShadow({ mode: 'open' }) : this;\n const observedAttributes = (opts.observedAttributes || [])\n\n const attrMap = observedAttributes.reduce((map, name) => {\n const lc = name.toLowerCase()\n if (lc !== name) {\n map[lc] = name\n }\n return map\n }, {})\n this._attrMap = (name: string) : string => attrMap[name] || name\n\n const props = {};\n Array.from(this.attributes).forEach(item => props[this._attrMap(item.name)] = item.value);\n\n // add getters/ setters to allow observation on observedAttributes\n observedAttributes.forEach(name => {\n if (this[name] !== undefined) props[name] = this[name];\n Object.defineProperty(this, name, {\n get(): any {\n return props[name];\n },\n set(this: CustomElement, value: unknown) {\n // trigger change event\n this.attributeChangedCallback(name, props[name], value)\n },\n configurable: true,\n enumerable: true\n });\n })\n\n const children = this.children ? Array.from(this.children) : [];\n children.forEach(el => el.parentElement.removeChild(el));\n this._component = new componentClass({ ...props, children }).mount(this._shadowRoot, opts);\n // attach props to component\n this._component._props = props;\n // expose dispatchEvent\n this._component.dispatchEvent = this.dispatchEvent.bind(this)\n if (this._component.mounted) {\n const new_state = this._component.mounted(props, children, this._component.state);\n if (typeof new_state !== 'undefined') this._component.state = new_state;\n }\n this.on = this._component.on.bind(this._component);\n this.run = this._component.run.bind(this._component);\n if (!(opts.render===false)) this._component.run('.');\n }\n }\n\n disconnectedCallback() {\n this._component?.unload?.();\n this._component?.unmount?.();\n this._component = null;\n }\n\n attributeChangedCallback(name: string, oldValue: unknown, value: unknown) {\n if (this._component) {\n // camelCase attributes arrive only in lowercase\n const mappedName = this._attrMap(name);\n // store the new property/ attribute\n this._component._props[mappedName] = value;\n this._component.run('attributeChanged', mappedName, oldValue, value);\n\n if (value !== oldValue && !(options.render === false)) {\n window.requestAnimationFrame(() => {\n // re-render state with new combined props on next animation frame\n this._component.run('.')\n })\n }\n }\n }\n}\n\nexport default (name: string, componentClass, options?: CustomElementOptions) => {\n (typeof customElements !== 'undefined') && customElements.define(name, customElement(componentClass, options))\n}\n","import webComponent, { CustomElementOptions } from './web-component';\n\n// tslint:disable:no-invalid-this\nexport const Reflect = {\n\n meta: new WeakMap(),\n\n defineMetadata(metadataKey, metadataValue, target) {\n if (!this.meta.has(target)) this.meta.set(target, {});\n this.meta.get(target)[metadataKey] = metadataValue;\n },\n\n getMetadataKeys(target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? Object.keys(this.meta.get(target)) : [];\n },\n\n getMetadata(metadataKey, target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? this.meta.get(target)[metadataKey] : null;\n }\n}\n\nexport function update<E=string>(events?: E, options: any = {}) {\n return (target: any, key: string, descriptor: any) => {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`,\n { name, key, options }, target);\n return descriptor;\n }\n}\n\nexport function on<E = string>(events?: E, options: any = {}) {\n return function (target: any, key: string) {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`,\n { name, key, options }, target)\n }\n}\n\nexport function customElement(name: string, options?: CustomElementOptions) {\n return function _customElement<T extends { new(...args: any[]): {} }>(constructor: T) {\n webComponent(name, constructor, options);\n return constructor;\n }\n}\n\n","import app from './app';\n\nconst getStateValue = (component, name) => {\n return (name ? component['state'][name] : component['state']) || '';\n}\n\nconst setStateValue = (component, name, value) => {\n if (name) {\n const state = component['state'] || {};\n state[name] = value;\n component.setState(state);\n } else {\n component.setState(value);\n }\n}\n\nconst apply_directive = (key: string, props: {}, tag, component) => {\n if (key.startsWith('$on')) {\n const event = props[key];\n key = key.substring(1)\n if (typeof event === 'boolean') {\n props[key] = e => component.run(key, e);\n } else if (typeof event === 'string') {\n props[key] = e => component.run(event, e);\n } else if (typeof event === 'function') {\n props[key] = e => component.setState(event(component.state, e));\n } else if (Array.isArray(event)) {\n const [handler, ...p] = event;\n if (typeof handler === 'string') {\n props[key] = e => component.run(handler, ...p, e);\n } else if (typeof handler === 'function') {\n props[key] = e => component.setState(handler(component.state, ...p, e));\n }\n }\n\n } else if (key === '$bind') {\n const type = props['type'] || 'text';\n const name = typeof props[key] === 'string' ? props[key] : props['name'];\n if (tag === 'input') {\n switch (type) {\n case 'checkbox':\n props['checked'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.checked);\n break;\n case 'radio':\n props['checked'] = getStateValue(component, name) === props['value'];\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.value);\n break;\n case 'number':\n case 'range':\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, Number(e.target.value));\n break;\n default:\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else if (tag === 'select') {\n props['value'] = getStateValue(component, name);\n props['onchange'] = e => {\n if (!e.target.multiple) { // multiple selection use $bind on option\n setStateValue(component, name || e.target.name, e.target.value);\n }\n }\n } else if (tag === 'option') {\n props['selected'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.selected);\n } else if (tag === 'textarea') {\n props['innerHTML'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else {\n app.run('$', { key, tag, props, component });\n }\n}\n\nconst directive = (vdom, component) => {\n if (Array.isArray(vdom)) {\n return vdom.map(element => directive(element, component));\n } else {\n let { tag, props, children } = vdom;\n if (tag) {\n if (props) Object.keys(props).forEach(key => {\n if (key.startsWith('$')) {\n apply_directive(key, props, tag, component);\n delete props[key];\n }\n });\n if (children) children = directive(children, component);\n return { tag, props, children };\n } else {\n return vdom;\n }\n }\n}\n\nexport default directive;","\r\nimport app, { App } from './app';\r\nimport { Reflect } from './decorator'\r\nimport { View, Update, ActionDef, ActionOptions, MountOptions } from './types';\r\nimport directive from './directive';\r\n\r\nconst componentCache = new Map();\r\napp.on('get-components', o => o.components = componentCache);\r\n\r\nconst REFRESH = state => state;\r\n\r\nexport class Component<T = any, E = any> {\r\n static __isAppRunComponent = true;\r\n private _app = new App();\r\n private _actions = [];\r\n private _global_events = [];\r\n private _state;\r\n private _history = [];\r\n private _history_idx = -1;\r\n private enable_history;\r\n private global_event;\r\n public element;\r\n public rendered;\r\n public mounted;\r\n public unload;\r\n private tracking_id;\r\n private observer;\r\n\r\n\r\n private renderState(state: T, vdom = null) {\r\n if (!this.view) return;\r\n let html = vdom || this.view(state);\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: html ? '.' : '-',\r\n state,\r\n vdom: html,\r\n el: this.element\r\n });\r\n\r\n if (typeof document !== 'object') return;\r\n\r\n const el = (typeof this.element === 'string') ?\r\n document.getElementById(this.element) : this.element;\r\n\r\n if (el) {\r\n const tracking_attr = '_c';\r\n if (!this.unload) {\r\n el.removeAttribute && el.removeAttribute(tracking_attr);\r\n } else if (el['_component'] !== this || el.getAttribute(tracking_attr) !== this.tracking_id) {\r\n this.tracking_id = new Date().valueOf().toString();\r\n el.setAttribute(tracking_attr, this.tracking_id);\r\n if (typeof MutationObserver !== 'undefined') {\r\n if (!this.observer) this.observer = new MutationObserver(changes => {\r\n if (changes[0].oldValue === this.tracking_id || !document.body.contains(el)) {\r\n this.unload(this.state);\r\n this.observer.disconnect();\r\n this.observer = null;\r\n }\r\n });\r\n this.observer.observe(document.body, {\r\n childList: true, subtree: true,\r\n attributes: true, attributeOldValue: true, attributeFilter: [tracking_attr]\r\n });\r\n }\r\n }\r\n el['_component'] = this;\r\n }\r\n if (!vdom && html) {\r\n html = directive(html, this);\r\n app.render(el, html, this);\r\n }\r\n this.rendered && this.rendered(this.state);\r\n }\r\n\r\n public setState(state: T, options: ActionOptions\r\n = { render: true, history: false }) {\r\n if (state instanceof Promise) {\r\n // Promise will not be saved or rendered\r\n // state will be saved and rendered when promise is resolved\r\n // Wait for previous promise to complete first\r\n Promise.all([state, this._state]).then(v => {\r\n if (v[0]) this.setState(v[0]);\r\n }).catch(err => {\r\n console.error(err);\r\n throw err;\r\n });\r\n this._state = state;\r\n } else {\r\n this._state = state;\r\n if (state == null) return;\r\n this.state = state;\r\n if (options.render !== false) this.renderState(state);\r\n if (options.history !== false && this.enable_history) {\r\n this._history = [...this._history, state];\r\n this._history_idx = this._history.length - 1;\r\n }\r\n if (typeof options.callback === 'function') options.callback(this.state);\r\n }\r\n }\r\n\r\n private _history_prev = () => {\r\n this._history_idx--;\r\n if (this._history_idx >= 0) {\r\n this.setState(this._history[this._history_idx], { render: true, history: false });\r\n }\r\n else {\r\n this._history_idx = 0;\r\n }\r\n };\r\n\r\n private _history_next = () => {\r\n this._history_idx++;\r\n if (this._history_idx < this._history.length) {\r\n this.setState(this._history[this._history_idx], { render: true, history: false });\r\n }\r\n else {\r\n this._history_idx = this._history.length - 1;\r\n }\r\n };\r\n\r\n constructor(\r\n protected state?: T,\r\n protected view?: View<T>,\r\n protected update?: Update<T, E>,\r\n protected options?) {\r\n }\r\n\r\n start = (element = null, options?: MountOptions): Component<T, E> => {\r\n return this.mount(element, { ...options, render: true });\r\n }\r\n\r\n public mount(element = null, options?: MountOptions): Component<T, E> {\r\n console.assert(!this.element, 'Component already mounted.')\r\n this.options = options = { ...this.options, ...options };\r\n this.element = element;\r\n this.global_event = options.global_event;\r\n this.enable_history = !!options.history;\r\n\r\n if (this.enable_history) {\r\n this.on(options.history.prev || 'history-prev', this._history_prev);\r\n this.on(options.history.next || 'history-next', this._history_next);\r\n }\r\n\r\n if (options.route) {\r\n this.update = this.update || {};\r\n this.update[options.route] = REFRESH;\r\n }\r\n\r\n this.add_actions();\r\n this.state = this.state ?? this['model'] ?? {};\r\n if (typeof this.state === 'function') this.state = this.state();\r\n if (options.render) {\r\n this.setState(this.state, { render: true, history: true });\r\n } else {\r\n this.setState(this.state, { render: false, history: true });\r\n }\r\n if (app['debug']) {\r\n if (componentCache.get(element)) { componentCache.get(element).push(this) }\r\n else { componentCache.set(element, [this])}\r\n }\r\n return this;\r\n }\r\n\r\n is_global_event(name: string): boolean {\r\n return name && (\r\n this.global_event ||\r\n this._global_events.indexOf(name) >= 0 ||\r\n name.startsWith('#') || name.startsWith('/') || name.startsWith('@'));\r\n }\r\n\r\n add_action(name: string, action, options: ActionOptions = {}) {\r\n if (!action || typeof action !== 'function') return;\r\n if (options.global) this._global_events.push(name);\r\n this.on(name as any, (...p) => {\r\n\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: '>',\r\n event: name, p,\r\n current_state: this.state,\r\n options\r\n });\r\n\r\n const newState = action(this.state, ...p);\r\n\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: '<',\r\n event: name, p,\r\n newState,\r\n state: this.state,\r\n options\r\n });\r\n\r\n this.setState(newState, options)\r\n }, options);\r\n }\r\n\r\n add_actions() {\r\n const actions = this.update || {};\r\n Reflect.getMetadataKeys(this).forEach(key => {\r\n if (key.startsWith('apprun-update:')) {\r\n const meta = Reflect.getMetadata(key, this)\r\n actions[meta.name] = [this[meta.key].bind(this), meta.options];\r\n }\r\n })\r\n\r\n const all = {};\r\n if (Array.isArray(actions)) {\r\n actions.forEach(act => {\r\n const [name, action, opts] = act as ActionDef<T, E>;\r\n const names = name.toString();\r\n names.split(',').forEach(n => all[n.trim()] = [action, opts])\r\n })\r\n } else {\r\n Object.keys(actions).forEach(name => {\r\n const action = actions[name];\r\n if (typeof action === 'function' || Array.isArray(action)) {\r\n name.split(',').forEach(n => all[n.trim()] = action)\r\n }\r\n })\r\n }\r\n\r\n if (!all['.']) all['.'] = REFRESH;\r\n Object.keys(all).forEach(name => {\r\n const action = all[name];\r\n if (typeof action === 'function') {\r\n this.add_action(name, action);\r\n } else if (Array.isArray(action)) {\r\n this.add_action(name, action[0], action[1]);\r\n }\r\n });\r\n }\r\n\r\n public run(event: E, ...args) {\r\n const name = event.toString();\r\n return this.is_global_event(name) ?\r\n app.run(name, ...args) :\r\n this._app.run(name, ...args);\r\n }\r\n\r\n public on(event: E, fn: (...args) => void, options?: any) {\r\n const name = event.toString();\r\n this._actions.push({ name, fn });\r\n return this.is_global_event(name) ?\r\n app.on(name, fn, options) :\r\n this._app.on(name, fn, options);\r\n }\r\n\r\n public unmount() {\r\n this.observer?.disconnect();\r\n this._actions.forEach(action => {\r\n const { name, fn } = action;\r\n this.is_global_event(name) ?\r\n app.off(name, fn) :\r\n this._app.off(name, fn);\r\n });\r\n }\r\n}\r\n","import app from './app';\n\nexport type Route = (url: string, ...args: any[]) => any;\n\nexport const ROUTER_EVENT: string = '//';\nexport const ROUTER_404_EVENT: string = '///';\n\nexport const route: Route = (url: string) => {\n if (!url) url = '#';\n if (url.startsWith('#')) {\n const [name, ...rest] = url.split('/');\n app.run(name, ...rest) || app.run(ROUTER_404_EVENT, name, ...rest);\n app.run(ROUTER_EVENT, name, ...rest);\n } else if (url.startsWith('/')) {\n const [_, name, ...rest] = url.split('/');\n app.run('/' + name, ...rest) || app.run(ROUTER_404_EVENT, '/' + name, ...rest);\n app.run(ROUTER_EVENT, '/' + name, ...rest);\n } else {\n app.run(url) || app.run(ROUTER_404_EVENT, url);\n app.run(ROUTER_EVENT, url);\n }\n}\nexport default route;","import app from './app';\nimport { createElement, render, Fragment } from './vdom';\nimport { Component } from './component';\nimport { VNode, View, Action, Update, EventOptions, ActionOptions, MountOptions, AppStartOptions } from './types';\nimport { on, update, customElement } from './decorator';\nimport webComponent, { CustomElementOptions } from './web-component';\nimport { Route, route, ROUTER_EVENT, ROUTER_404_EVENT } from './router';\n\nexport interface IApp {\n start<T, E = any>(element?: Element | string, model?: T, view?: View<T>, update?: Update<T, E>,\n options?: AppStartOptions<T>): Component<T, E>;\n on(name: string, fn: (...args: any[]) => void, options?: any): void;\n off(name: string, fn: (...args: any[]) => void): void;\n run(name: string, ...args: any[]): number;\n h(tag: string | Function, props, ...children): VNode | VNode[];\n createElement(tag: string | Function, props, ...children): VNode | VNode[];\n render(element: HTMLElement, node: VNode): void;\n Fragment(props, ...children): any[];\n route?: Route;\n webComponent(name: string, componentClass, options?: CustomElementOptions): void;\n}\n\napp.h = app.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\napp.webComponent = webComponent;\n\napp.start = <T, E = any>(element?: Element, model?: T, view?: View<T>, update?: Update<T, E>,\n options?: AppStartOptions<T>): Component<T, E> => {\n const opts = { ...options, render: true, global_event: true };\n const component = new Component<T, E>(model, view, update);\n if (options && options.rendered) component.rendered = options.rendered;\n component.mount(element, opts);\n return component;\n};\n\nconst NOOP = _ => {/* Intentionally empty */ }\napp.on('$', NOOP);\napp.on('debug', _ => NOOP);\napp.on(ROUTER_EVENT, NOOP);\napp.on('#', NOOP);\napp['route'] = route;\napp.on('route', url => app['route'] && app['route'](url));\n\nif (typeof document === 'object') {\n document.addEventListener(\"DOMContentLoaded\", () => {\n if (app['route'] === route) {\n window.onpopstate = () => route(location.hash);\n if (!document.body.hasAttribute('apprun-no-init')) route(location.hash);\n }\n });\n}\n\nexport type StatelessComponent<T = {}> = (args: T) => string | VNode | void;\nexport { app, Component, View, Action, Update, on, update, EventOptions, ActionOptions, MountOptions, Fragment }\nexport { update as event };\nexport { ROUTER_EVENT, ROUTER_404_EVENT };\nexport { customElement, CustomElementOptions, AppStartOptions };\nexport default app as IApp;\n\nif (typeof window === 'object') {\n window['Component'] = Component;\n window['React'] = app;\n window['on'] = on;\n window['customElement'] = customElement;\n}\n\n\n","import { createElement, updateElement, Fragment } from './vdom-my';\nexport function render(element, html, parent?) {\n updateElement(element, html, parent);\n}\nexport { createElement, Fragment };\n\n\n"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"dist/apprun.js","mappings":"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","sources":["webpack://apprun/webpack/universalModuleDefinition","webpack://apprun/./src/vdom-my.ts","webpack://apprun/webpack/bootstrap","webpack://apprun/webpack/runtime/define property getters","webpack://apprun/webpack/runtime/global","webpack://apprun/webpack/runtime/hasOwnProperty shorthand","webpack://apprun/webpack/runtime/make namespace object","webpack://apprun/./src/app.ts","webpack://apprun/./src/web-component.ts","webpack://apprun/./src/decorator.ts","webpack://apprun/./src/directive.ts","webpack://apprun/./src/component.ts","webpack://apprun/./src/router.ts","webpack://apprun/./src/apprun.ts","webpack://apprun/./src/vdom.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"apprun\"] = factory();\n\telse\n\t\troot[\"apprun\"] = factory();\n})(this, function() {\nreturn ","import { VDOM, VNode } from './types';\nexport type Element = any; //HTMLElement | SVGSVGElement | SVGElement;\n\nexport function Fragment(props, ...children): any[] {\n return collect(children);\n}\n\nconst ATTR_PROPS = '_props';\n\nfunction collect(children) {\n const ch = [];\n const push = (c) => {\n if (c !== null && c !== undefined && c !== '' && c !== false) {\n ch.push((typeof c === 'function' || typeof c === 'object') ? c : `${c}`);\n }\n }\n children && children.forEach(c => {\n if (Array.isArray(c)) {\n c.forEach(i => push(i));\n } else {\n push(c);\n }\n });\n return ch;\n}\n\nexport function createElement(tag: string | Function | [], props?: {}, ...children) {\n const ch = collect(children);\n if (typeof tag === 'string') return { tag, props, children: ch };\n else if (Array.isArray(tag)) return tag; // JSX fragments - babel\n else if (tag === undefined && children) return ch; // JSX fragments - typescript\n else if (Object.getPrototypeOf(tag).__isAppRunComponent) return { tag, props, children: ch } // createComponent(tag, { ...props, children });\n else if (typeof tag === 'function') return tag(props, ch);\n else throw new Error(`Unknown tag in vdom ${tag}`);\n};\n\nconst keyCache = new WeakMap();\n\nexport const updateElement = render;\n\nexport function render(element: Element, nodes: VDOM, parent = {}) {\n // console.log('render', element, node);\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n\n nodes = createComponent(nodes, parent);\n\n const isSvg = element?.nodeName === \"SVG\";\n\n if (!element) return;\n if (Array.isArray(nodes)) {\n updateChildren(element, nodes, isSvg);\n } else {\n updateChildren(element, [nodes], isSvg);\n }\n}\n\nfunction same(el: Element, node: VNode) {\n // if (!el || !node) return false;\n const key1 = el.nodeName;\n const key2 = `${node.tag || ''}`;\n return key1.toUpperCase() === key2.toUpperCase();\n}\n\nfunction update(element: Element, node: VNode, isSvg: boolean) {\n if (node['_op'] === 3) return;\n // console.assert(!!element);\n isSvg = isSvg || node.tag === \"svg\";\n if (!same(element, node)) {\n element.parentNode.replaceChild(create(node, isSvg), element);\n return;\n }\n !(node['_op'] & 2) && updateChildren(element, node.children, isSvg);\n !(node['_op'] & 1) && updateProps(element, node.props, isSvg);\n}\n\nfunction updateChildren(element, children, isSvg: boolean) {\n const old_len = element.childNodes?.length || 0;\n const new_len = children?.length || 0;\n const len = Math.min(old_len, new_len);\n for (let i = 0; i < len; i++) {\n const child = children[i];\n if (child['_op'] === 3) continue;\n const el = element.childNodes[i];\n if (typeof child === 'string') {\n if (el.textContent !== child) {\n if (el.nodeType === 3) {\n el.nodeValue = child\n } else {\n element.replaceChild(createText(child), el);\n }\n }\n } else if (child instanceof HTMLElement || child instanceof SVGElement) {\n element.insertBefore(child, el);\n } else {\n const key = child.props && child.props['key'];\n if (key) {\n if (el.key === key) {\n update(element.childNodes[i], child, isSvg);\n } else {\n // console.log(el.key, key);\n const old = keyCache[key];\n if (old) {\n const temp = old.nextSibling;\n element.insertBefore(old, el);\n temp ? element.insertBefore(el, temp) : element.appendChild(el);\n update(element.childNodes[i], child, isSvg);\n } else {\n element.replaceChild(create(child, isSvg), el);\n }\n }\n } else {\n update(element.childNodes[i], child, isSvg);\n }\n }\n }\n\n let n = element.childNodes.length;\n while (n > len) {\n element.removeChild(element.lastChild);\n n--;\n }\n\n if (new_len > len) {\n const d = document.createDocumentFragment();\n for (let i = len; i < children.length; i++) {\n d.appendChild(create(children[i], isSvg));\n }\n element.appendChild(d);\n }\n}\n\nfunction createText(node) {\n if (node?.indexOf('_html:') === 0) { // ?\n const div = document.createElement('div');\n div.insertAdjacentHTML('afterbegin', node.substring(6))\n return div;\n } else {\n return document.createTextNode(node??'');\n }\n}\n\nfunction create(node: VNode | string | HTMLElement | SVGElement, isSvg: boolean): Element {\n // console.assert(node !== null && node !== undefined);\n if ((node instanceof HTMLElement) || (node instanceof SVGElement)) return node;\n if (typeof node === \"string\") return createText(node);\n if (!node.tag || (typeof node.tag === 'function')) return createText(JSON.stringify(node));\n isSvg = isSvg || node.tag === \"svg\";\n const element = isSvg\n ? document.createElementNS(\"http://www.w3.org/2000/svg\", node.tag)\n : document.createElement(node.tag);\n\n updateProps(element, node.props, isSvg);\n if (node.children) node.children.forEach(child => element.appendChild(create(child, isSvg)));\n return element\n}\n\nfunction mergeProps(oldProps: {}, newProps: {}): {} {\n newProps['class'] = newProps['class'] || newProps['className'];\n delete newProps['className'];\n const props = {};\n if (oldProps) Object.keys(oldProps).forEach(p => props[p] = null);\n if (newProps) Object.keys(newProps).forEach(p => props[p] = newProps[p]);\n return props;\n}\n\nexport function updateProps(element: Element, props: {}, isSvg) {\n // console.assert(!!element);\n const cached = element[ATTR_PROPS] || {};\n props = mergeProps(cached, props || {});\n element[ATTR_PROPS] = props;\n\n for (const name in props) {\n const value = props[name];\n // if (cached[name] === value) continue;\n // console.log('updateProps', name, value);\n if (name.startsWith('data-')) {\n const dname = name.substring(5);\n const cname = dname.replace(/-(\\w)/g, (match) => match[1].toUpperCase());\n if (element.dataset[cname] !== value) {\n if (value || value === \"\") element.dataset[cname] = value;\n else delete element.dataset[cname];\n }\n } else if (name === 'style') {\n if (element.style.cssText) element.style.cssText = '';\n if (typeof value === 'string') element.style.cssText = value;\n else {\n for (const s in value) {\n if (element.style[s] !== value[s]) element.style[s] = value[s];\n }\n }\n } else if (name.startsWith('xlink')) {\n const xname = name.replace('xlink', '').toLowerCase();\n if (value == null || value === false) {\n element.removeAttributeNS('http://www.w3.org/1999/xlink', xname);\n } else {\n element.setAttributeNS('http://www.w3.org/1999/xlink', xname, value);\n }\n } else if (name.startsWith('on')) {\n if (!value || typeof value === 'function') {\n element[name] = value;\n } else if (typeof value === 'string') {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-/g.test(name) || isSvg) {\n if (element.getAttribute(name) !== value) {\n if (value) element.setAttribute(name, value);\n else element.removeAttribute(name);\n }\n } else if (element[name] !== value) {\n element[name] = value;\n }\n if (name === 'key' && value) keyCache[value] = element;\n }\n if (props && typeof props['ref'] === 'function') {\n window.requestAnimationFrame(() => props['ref'](element));\n }\n}\n\nfunction render_component(node, parent, idx) {\n const { tag, props, children } = node;\n let key = `_${idx}`;\n let id = props && props['id'];\n if (!id) id = `_${idx}${Date.now()}`;\n else key = id;\n let asTag = 'section';\n if (props && props['as']) {\n asTag = props['as'];\n delete props['as'];\n }\n if (!parent.__componentCache) parent.__componentCache = {};\n let component = parent.__componentCache[key];\n if (!component || !(component instanceof tag) || !component.element) {\n const element = document.createElement(asTag);\n component = parent.__componentCache[key] = new tag({ ...props, children }).start(element);\n }\n if (component.mounted) {\n const new_state = component.mounted(props, children, component.state);\n (typeof new_state !== 'undefined') && component.setState(new_state);\n }\n updateProps(component.element, props, false);\n return component.element;\n}\n\nfunction createComponent(node, parent, idx = 0) {\n if (typeof node === 'string') return node;\n if (Array.isArray(node)) return node.map(child => createComponent(child, parent, idx++));\n let vdom = node;\n if (node && typeof node.tag === 'function' && Object.getPrototypeOf(node.tag).__isAppRunComponent) {\n vdom = render_component(node, parent, idx);\n }\n if (vdom && Array.isArray(vdom.children)) {\n const new_parent = vdom.props?._component;\n if (new_parent) {\n let i = 0;\n vdom.children = vdom.children.map(child => createComponent(child, new_parent, i++));\n } else {\n vdom.children = vdom.children.map(child => createComponent(child, parent, idx++));\n }\n }\n return vdom;\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import { EventOptions} from './types'\nexport class App {\n\n private _events: Object;\n\n public start;\n public h;\n public createElement;\n public render;\n public Fragment;\n public webComponent;\n\n constructor() {\n this._events = {};\n }\n\n on(name: string, fn: (...args) => void, options: EventOptions = {}): void {\n this._events[name] = this._events[name] || [];\n this._events[name].push({ fn, options });\n }\n\n off(name: string, fn: (...args) => void): void {\n const subscribers = this._events[name] || [];\n\n this._events[name] = subscribers.filter((sub) => sub.fn !== fn);\n }\n\n find(name: string): any {\n return this._events[name];\n }\n\n run(name: string, ...args): number {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n subscribers.forEach((sub) => {\n const { fn, options } = sub;\n if (options.delay) {\n this.delay(name, fn, args, options);\n } else {\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }\n return !sub.options.once;\n });\n\n return subscribers.length;\n }\n\n once(name: string, fn, options: EventOptions = {}): void {\n this.on(name, fn, { ...options, once: true });\n }\n\n private delay(name, fn, args, options): void {\n if (options._t) clearTimeout(options._t);\n options._t = setTimeout(() => {\n clearTimeout(options._t);\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }, options.delay);\n }\n\n query(name: string, ...args): Promise<any[]> {\n const subscribers = this.getSubscribers(name, this._events);\n console.assert(subscribers && subscribers.length > 0, 'No subscriber for event: ' + name);\n const promises = subscribers.map(sub => {\n const { fn, options } = sub;\n return Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n });\n return Promise.all(promises);\n }\n\n private getSubscribers(name: string, events) {\n const subscribers = events[name] || [];\n\n // Update the list of subscribers by pulling out those which will run once.\n // We must do this update prior to running any of the events in case they\n // cause additional events to be turned off or on.\n events[name] = subscribers.filter((sub) => {\n return !sub.options.once;\n });\n Object.keys(events).filter(evt => evt.endsWith('*') && name.startsWith(evt.replace('*', '')))\n .sort((a, b) => b.length - a.length)\n .forEach(evt => subscribers.push(...events[evt].map(sub => ({\n ...sub,\n options: { ...sub.options, event: name }\n }))));\n return subscribers;\n }\n}\n\nconst AppRunVersions = 'AppRun-3';\nlet app: App;\nconst root = (typeof self === 'object' && self.self === self && self) ||\n (typeof global === 'object' && global.global === global && global)\nif (root['app'] && root['_AppRunVersions']) {\n app = root['app'];\n} else {\n app = new App();\n root['app'] = app;\n root['_AppRunVersions'] = AppRunVersions;\n}\nexport default app;\n","declare var customElements;\n\nexport type CustomElementOptions = {\n render?: boolean;\n shadow?: boolean;\n history?: boolean;\n global_event?: boolean;\n observedAttributes?: string[];\n};\n\nexport const customElement = (componentClass, options: CustomElementOptions = {}) => class CustomElement extends HTMLElement {\n private _shadowRoot;\n private _component;\n private _attrMap: (arg0: string) => string;\n public on;\n public run;\n constructor() {\n super();\n }\n get component() { return this._component; }\n get state() { return this._component.state; }\n\n static get observedAttributes() {\n // attributes need to be set to lowercase in order to get observed\n return (options.observedAttributes || []).map(attr => attr.toLowerCase());\n }\n\n connectedCallback() {\n if (this.isConnected && !this._component) {\n const opts = options || {};\n this._shadowRoot = opts.shadow ? this.attachShadow({ mode: 'open' }) : this;\n const observedAttributes = (opts.observedAttributes || [])\n\n const attrMap = observedAttributes.reduce((map, name) => {\n const lc = name.toLowerCase()\n if (lc !== name) {\n map[lc] = name\n }\n return map\n }, {})\n this._attrMap = (name: string) : string => attrMap[name] || name\n\n const props = {};\n Array.from(this.attributes).forEach(item => props[this._attrMap(item.name)] = item.value);\n\n // add getters/ setters to allow observation on observedAttributes\n observedAttributes.forEach(name => {\n if (this[name] !== undefined) props[name] = this[name];\n Object.defineProperty(this, name, {\n get(): any {\n return props[name];\n },\n set(this: CustomElement, value: unknown) {\n // trigger change event\n this.attributeChangedCallback(name, props[name], value)\n },\n configurable: true,\n enumerable: true\n });\n })\n\n const children = this.children ? Array.from(this.children) : [];\n children.forEach(el => el.parentElement.removeChild(el));\n this._component = new componentClass({ ...props, children }).mount(this._shadowRoot, opts);\n // attach props to component\n this._component._props = props;\n // expose dispatchEvent\n this._component.dispatchEvent = this.dispatchEvent.bind(this)\n if (this._component.mounted) {\n const new_state = this._component.mounted(props, children, this._component.state);\n if (typeof new_state !== 'undefined') this._component.state = new_state;\n }\n this.on = this._component.on.bind(this._component);\n this.run = this._component.run.bind(this._component);\n if (!(opts.render===false)) this._component.run('.');\n }\n }\n\n disconnectedCallback() {\n this._component?.unload?.();\n this._component?.unmount?.();\n this._component = null;\n }\n\n attributeChangedCallback(name: string, oldValue: unknown, value: unknown) {\n if (this._component) {\n // camelCase attributes arrive only in lowercase\n const mappedName = this._attrMap(name);\n // store the new property/ attribute\n this._component._props[mappedName] = value;\n this._component.run('attributeChanged', mappedName, oldValue, value);\n\n if (value !== oldValue && !(options.render === false)) {\n window.requestAnimationFrame(() => {\n // re-render state with new combined props on next animation frame\n this._component.run('.')\n })\n }\n }\n }\n}\n\nexport default (name: string, componentClass, options?: CustomElementOptions) => {\n (typeof customElements !== 'undefined') && customElements.define(name, customElement(componentClass, options))\n}\n","import webComponent, { CustomElementOptions } from './web-component';\n\n// tslint:disable:no-invalid-this\nexport const Reflect = {\n\n meta: new WeakMap(),\n\n defineMetadata(metadataKey, metadataValue, target) {\n if (!this.meta.has(target)) this.meta.set(target, {});\n this.meta.get(target)[metadataKey] = metadataValue;\n },\n\n getMetadataKeys(target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? Object.keys(this.meta.get(target)) : [];\n },\n\n getMetadata(metadataKey, target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? this.meta.get(target)[metadataKey] : null;\n }\n}\n\nexport function update<E=string>(events?: E, options: any = {}) {\n return (target: any, key: string, descriptor: any) => {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`,\n { name, key, options }, target);\n return descriptor;\n }\n}\n\nexport function on<E = string>(events?: E, options: any = {}) {\n return function (target: any, key: string) {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`,\n { name, key, options }, target)\n }\n}\n\nexport function customElement(name: string, options?: CustomElementOptions) {\n return function _customElement<T extends { new(...args: any[]): {} }>(constructor: T) {\n webComponent(name, constructor, options);\n return constructor;\n }\n}\n\n","import app from './app';\n\nconst getStateValue = (component, name) => {\n return (name ? component['state'][name] : component['state']) || '';\n}\n\nconst setStateValue = (component, name, value) => {\n if (name) {\n const state = component['state'] || {};\n state[name] = value;\n component.setState(state);\n } else {\n component.setState(value);\n }\n}\n\nconst apply_directive = (key: string, props: {}, tag, component) => {\n if (key.startsWith('$on')) {\n const event = props[key];\n key = key.substring(1)\n if (typeof event === 'boolean') {\n props[key] = e => component.run(key, e);\n } else if (typeof event === 'string') {\n props[key] = e => component.run(event, e);\n } else if (typeof event === 'function') {\n props[key] = e => component.setState(event(component.state, e));\n } else if (Array.isArray(event)) {\n const [handler, ...p] = event;\n if (typeof handler === 'string') {\n props[key] = e => component.run(handler, ...p, e);\n } else if (typeof handler === 'function') {\n props[key] = e => component.setState(handler(component.state, ...p, e));\n }\n }\n\n } else if (key === '$bind') {\n const type = props['type'] || 'text';\n const name = typeof props[key] === 'string' ? props[key] : props['name'];\n if (tag === 'input') {\n switch (type) {\n case 'checkbox':\n props['checked'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.checked);\n break;\n case 'radio':\n props['checked'] = getStateValue(component, name) === props['value'];\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.value);\n break;\n case 'number':\n case 'range':\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, Number(e.target.value));\n break;\n default:\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else if (tag === 'select') {\n props['value'] = getStateValue(component, name);\n props['onchange'] = e => {\n if (!e.target.multiple) { // multiple selection use $bind on option\n setStateValue(component, name || e.target.name, e.target.value);\n }\n }\n } else if (tag === 'option') {\n props['selected'] = getStateValue(component, name);\n props['onclick'] = e => setStateValue(component, name || e.target.name, e.target.selected);\n } else if (tag === 'textarea') {\n props['innerHTML'] = getStateValue(component, name);\n props['oninput'] = e => setStateValue(component, name || e.target.name, e.target.value);\n }\n } else {\n app.run('$', { key, tag, props, component });\n }\n}\n\nconst directive = (vdom, component) => {\n if (Array.isArray(vdom)) {\n return vdom.map(element => directive(element, component));\n } else {\n let { tag, props, children } = vdom;\n if (tag) {\n if (props) Object.keys(props).forEach(key => {\n if (key.startsWith('$')) {\n apply_directive(key, props, tag, component);\n delete props[key];\n }\n });\n if (children) children = directive(children, component);\n return { tag, props, children };\n } else {\n return vdom;\n }\n }\n}\n\nexport default directive;","\r\nimport app, { App } from './app';\r\nimport { Reflect } from './decorator'\r\nimport { View, Update, ActionDef, ActionOptions, MountOptions } from './types';\r\nimport directive from './directive';\r\n\r\nconst componentCache = new Map();\r\napp.on('get-components', o => o.components = componentCache);\r\n\r\nconst REFRESH = state => state;\r\n\r\nexport class Component<T = any, E = any> {\r\n static __isAppRunComponent = true;\r\n private _app = new App();\r\n private _actions = [];\r\n private _global_events = [];\r\n private _state;\r\n private _history = [];\r\n private _history_idx = -1;\r\n private enable_history;\r\n private global_event;\r\n public element;\r\n public rendered;\r\n public mounted;\r\n public unload;\r\n private tracking_id;\r\n private observer;\r\n\r\n\r\n private renderState(state: T, vdom = null) {\r\n if (!this.view) return;\r\n let html = vdom || this.view(state);\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: html ? '.' : '-',\r\n state,\r\n vdom: html,\r\n el: this.element\r\n });\r\n\r\n if (typeof document !== 'object') return;\r\n\r\n const el = (typeof this.element === 'string') ?\r\n document.getElementById(this.element) : this.element;\r\n\r\n if (el) {\r\n const tracking_attr = '_c';\r\n if (!this.unload) {\r\n el.removeAttribute && el.removeAttribute(tracking_attr);\r\n } else if (el['_component'] !== this || el.getAttribute(tracking_attr) !== this.tracking_id) {\r\n this.tracking_id = new Date().valueOf().toString();\r\n el.setAttribute(tracking_attr, this.tracking_id);\r\n if (typeof MutationObserver !== 'undefined') {\r\n if (!this.observer) this.observer = new MutationObserver(changes => {\r\n if (changes[0].oldValue === this.tracking_id || !document.body.contains(el)) {\r\n this.unload(this.state);\r\n this.observer.disconnect();\r\n this.observer = null;\r\n }\r\n });\r\n this.observer.observe(document.body, {\r\n childList: true, subtree: true,\r\n attributes: true, attributeOldValue: true, attributeFilter: [tracking_attr]\r\n });\r\n }\r\n }\r\n el['_component'] = this;\r\n }\r\n if (!vdom && html) {\r\n html = directive(html, this);\r\n app.render(el, html, this);\r\n }\r\n this.rendered && this.rendered(this.state);\r\n }\r\n\r\n public setState(state: T, options: ActionOptions\r\n = { render: true, history: false }) {\r\n if (state instanceof Promise) {\r\n // Promise will not be saved or rendered\r\n // state will be saved and rendered when promise is resolved\r\n // Wait for previous promise to complete first\r\n Promise.all([state, this._state]).then(v => {\r\n if (v[0]) this.setState(v[0]);\r\n }).catch(err => {\r\n console.error(err);\r\n throw err;\r\n });\r\n this._state = state;\r\n } else {\r\n this._state = state;\r\n if (state == null) return;\r\n this.state = state;\r\n if (options.render !== false) this.renderState(state);\r\n if (options.history !== false && this.enable_history) {\r\n this._history = [...this._history, state];\r\n this._history_idx = this._history.length - 1;\r\n }\r\n if (typeof options.callback === 'function') options.callback(this.state);\r\n }\r\n }\r\n\r\n private _history_prev = () => {\r\n this._history_idx--;\r\n if (this._history_idx >= 0) {\r\n this.setState(this._history[this._history_idx], { render: true, history: false });\r\n }\r\n else {\r\n this._history_idx = 0;\r\n }\r\n };\r\n\r\n private _history_next = () => {\r\n this._history_idx++;\r\n if (this._history_idx < this._history.length) {\r\n this.setState(this._history[this._history_idx], { render: true, history: false });\r\n }\r\n else {\r\n this._history_idx = this._history.length - 1;\r\n }\r\n };\r\n\r\n constructor(\r\n protected state?: T,\r\n protected view?: View<T>,\r\n protected update?: Update<T, E>,\r\n protected options?) {\r\n }\r\n\r\n start = (element = null, options?: MountOptions): Component<T, E> => {\r\n return this.mount(element, { render: true, ...options });\r\n }\r\n\r\n public mount(element = null, options?: MountOptions): Component<T, E> {\r\n console.assert(!this.element, 'Component already mounted.')\r\n this.options = options = { ...this.options, ...options };\r\n this.element = element;\r\n this.global_event = options.global_event;\r\n this.enable_history = !!options.history;\r\n\r\n if (this.enable_history) {\r\n this.on(options.history.prev || 'history-prev', this._history_prev);\r\n this.on(options.history.next || 'history-next', this._history_next);\r\n }\r\n\r\n if (options.route) {\r\n this.update = this.update || {};\r\n this.update[options.route] = REFRESH;\r\n }\r\n\r\n this.add_actions();\r\n this.state = this.state ?? this['model'] ?? {};\r\n if (typeof this.state === 'function') this.state = this.state();\r\n if (options.render) {\r\n this.setState(this.state, { render: true, history: true });\r\n } else {\r\n this.setState(this.state, { render: false, history: true });\r\n }\r\n if (app['debug']) {\r\n if (componentCache.get(element)) { componentCache.get(element).push(this) }\r\n else { componentCache.set(element, [this])}\r\n }\r\n return this;\r\n }\r\n\r\n is_global_event(name: string): boolean {\r\n return name && (\r\n this.global_event ||\r\n this._global_events.indexOf(name) >= 0 ||\r\n name.startsWith('#') || name.startsWith('/') || name.startsWith('@'));\r\n }\r\n\r\n add_action(name: string, action, options: ActionOptions = {}) {\r\n if (!action || typeof action !== 'function') return;\r\n if (options.global) this._global_events.push(name);\r\n this.on(name as any, (...p) => {\r\n\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: '>',\r\n event: name, p,\r\n current_state: this.state,\r\n options\r\n });\r\n\r\n const newState = action(this.state, ...p);\r\n\r\n app['debug'] && app.run('debug', {\r\n component: this,\r\n _: '<',\r\n event: name, p,\r\n newState,\r\n state: this.state,\r\n options\r\n });\r\n\r\n this.setState(newState, options)\r\n }, options);\r\n }\r\n\r\n add_actions() {\r\n const actions = this.update || {};\r\n Reflect.getMetadataKeys(this).forEach(key => {\r\n if (key.startsWith('apprun-update:')) {\r\n const meta = Reflect.getMetadata(key, this)\r\n actions[meta.name] = [this[meta.key].bind(this), meta.options];\r\n }\r\n })\r\n\r\n const all = {};\r\n if (Array.isArray(actions)) {\r\n actions.forEach(act => {\r\n const [name, action, opts] = act as ActionDef<T, E>;\r\n const names = name.toString();\r\n names.split(',').forEach(n => all[n.trim()] = [action, opts])\r\n })\r\n } else {\r\n Object.keys(actions).forEach(name => {\r\n const action = actions[name];\r\n if (typeof action === 'function' || Array.isArray(action)) {\r\n name.split(',').forEach(n => all[n.trim()] = action)\r\n }\r\n })\r\n }\r\n\r\n if (!all['.']) all['.'] = REFRESH;\r\n Object.keys(all).forEach(name => {\r\n const action = all[name];\r\n if (typeof action === 'function') {\r\n this.add_action(name, action);\r\n } else if (Array.isArray(action)) {\r\n this.add_action(name, action[0], action[1]);\r\n }\r\n });\r\n }\r\n\r\n public run(event: E, ...args) {\r\n const name = event.toString();\r\n return this.is_global_event(name) ?\r\n app.run(name, ...args) :\r\n this._app.run(name, ...args);\r\n }\r\n\r\n public on(event: E, fn: (...args) => void, options?: any) {\r\n const name = event.toString();\r\n this._actions.push({ name, fn });\r\n return this.is_global_event(name) ?\r\n app.on(name, fn, options) :\r\n this._app.on(name, fn, options);\r\n }\r\n\r\n public unmount() {\r\n this.observer?.disconnect();\r\n this._actions.forEach(action => {\r\n const { name, fn } = action;\r\n this.is_global_event(name) ?\r\n app.off(name, fn) :\r\n this._app.off(name, fn);\r\n });\r\n }\r\n}\r\n","import app from './app';\n\nexport type Route = (url: string, ...args: any[]) => any;\n\nexport const ROUTER_EVENT: string = '//';\nexport const ROUTER_404_EVENT: string = '///';\n\nexport const route: Route = (url: string) => {\n if (!url) url = '#';\n if (url.startsWith('#')) {\n const [name, ...rest] = url.split('/');\n app.run(name, ...rest) || app.run(ROUTER_404_EVENT, name, ...rest);\n app.run(ROUTER_EVENT, name, ...rest);\n } else if (url.startsWith('/')) {\n const [_, name, ...rest] = url.split('/');\n app.run('/' + name, ...rest) || app.run(ROUTER_404_EVENT, '/' + name, ...rest);\n app.run(ROUTER_EVENT, '/' + name, ...rest);\n } else {\n app.run(url) || app.run(ROUTER_404_EVENT, url);\n app.run(ROUTER_EVENT, url);\n }\n}\nexport default route;","import app from './app';\nimport { createElement, render, Fragment } from './vdom';\nimport { Component } from './component';\nimport { VNode, View, Action, Update, EventOptions, ActionOptions, MountOptions, AppStartOptions } from './types';\nimport { on, update, customElement } from './decorator';\nimport webComponent, { CustomElementOptions } from './web-component';\nimport { Route, route, ROUTER_EVENT, ROUTER_404_EVENT } from './router';\n\nexport interface IApp {\n start<T, E = any>(element?: Element | string, model?: T, view?: View<T>, update?: Update<T, E>,\n options?: AppStartOptions<T>): Component<T, E>;\n on(name: string, fn: (...args: any[]) => void, options?: any): void;\n off(name: string, fn: (...args: any[]) => void): void;\n run(name: string, ...args: any[]): number;\n h(tag: string | Function, props, ...children): VNode | VNode[];\n createElement(tag: string | Function, props, ...children): VNode | VNode[];\n render(element: HTMLElement, node: VNode): void;\n Fragment(props, ...children): any[];\n route?: Route;\n webComponent(name: string, componentClass, options?: CustomElementOptions): void;\n}\n\napp.h = app.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\napp.webComponent = webComponent;\n\napp.start = <T, E = any>(element?: Element, model?: T, view?: View<T>, update?: Update<T, E>,\n options?: AppStartOptions<T>): Component<T, E> => {\n const opts = { render: true, global_event: true, ...options };\n const component = new Component<T, E>(model, view, update);\n if (options && options.rendered) component.rendered = options.rendered;\n component.mount(element, opts);\n return component;\n};\n\nconst NOOP = _ => {/* Intentionally empty */ }\napp.on('$', NOOP);\napp.on('debug', _ => NOOP);\napp.on(ROUTER_EVENT, NOOP);\napp.on('#', NOOP);\napp['route'] = route;\napp.on('route', url => app['route'] && app['route'](url));\n\nif (typeof document === 'object') {\n document.addEventListener(\"DOMContentLoaded\", () => {\n if (app['route'] === route) {\n window.onpopstate = () => route(location.hash);\n if (!document.body.hasAttribute('apprun-no-init')) route(location.hash);\n }\n });\n}\n\nexport type StatelessComponent<T = {}> = (args: T) => string | VNode | void;\nexport { app, Component, View, Action, Update, on, update, EventOptions, ActionOptions, MountOptions, Fragment }\nexport { update as event };\nexport { ROUTER_EVENT, ROUTER_404_EVENT };\nexport { customElement, CustomElementOptions, AppStartOptions };\nexport default app as IApp;\n\nif (typeof window === 'object') {\n window['Component'] = Component;\n window['React'] = app;\n window['on'] = on;\n window['customElement'] = customElement;\n}\n\n\n","import { createElement, updateElement, Fragment } from './vdom-my';\nexport function render(element, html, parent?) {\n updateElement(element, html, parent);\n}\nexport { createElement, Fragment };\n\n\n"],"names":["root","factory","exports","module","define","amd","this","Fragment","props","children","collect","ch","push","c","forEach","Array","isArray","i","createElement","tag","undefined","Object","getPrototypeOf","__isAppRunComponent","Error","keyCache","WeakMap","updateElement","element","nodes","parent","createComponent","isSvg","nodeName","updateChildren","update","node","el","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","old_len","childNodes","length","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","HTMLElement","SVGElement","insertBefore","key","old","temp","nextSibling","appendChild","n","removeChild","lastChild","d","document","createDocumentFragment","indexOf","div","insertAdjacentHTML","substring","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","keys","p","mergeProps","name","value","startsWith","cname","replace","match","dataset","style","cssText","s","xname","toLowerCase","removeAttributeNS","setAttributeNS","setAttribute","removeAttribute","test","getAttribute","window","requestAnimationFrame","idx","map","vdom","id","Date","now","asTag","__componentCache","component","start","mounted","new_state","state","setState","render_component","new_parent","_component","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","o","defineProperty","enumerable","get","g","globalThis","Function","e","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","App","constructor","_events","on","fn","options","off","subscribers","filter","sub","find","run","args","getSubscribers","console","assert","delay","apply","once","_t","clearTimeout","setTimeout","query","promises","Promise","all","events","evt","endsWith","sort","a","b","event","app","self","global","customElement","componentClass","super","observedAttributes","attr","connectedCallback","isConnected","opts","_shadowRoot","shadow","attachShadow","mode","attrMap","reduce","lc","_attrMap","from","attributes","item","set","attributeChangedCallback","configurable","parentElement","mount","_props","dispatchEvent","bind","render","disconnectedCallback","unload","unmount","oldValue","mappedName","customElements","Reflect","meta","defineMetadata","metadataKey","metadataValue","target","has","getMetadataKeys","getMetadata","descriptor","toString","getStateValue","setStateValue","directive","handler","type","checked","Number","multiple","selected","apply_directive","componentCache","Map","components","REFRESH","Component","view","_app","_actions","_global_events","_history","_history_idx","_history_prev","history","_history_next","renderState","html","_","getElementById","tracking_attr","tracking_id","valueOf","MutationObserver","observer","changes","body","contains","disconnect","observe","childList","subtree","attributeOldValue","attributeFilter","rendered","_state","then","v","catch","err","error","enable_history","callback","global_event","prev","next","route","add_actions","is_global_event","add_action","action","current_state","newState","actions","act","split","trim","ROUTER_EVENT","ROUTER_404_EVENT","url","rest","model","NOOP","addEventListener","onpopstate","location","hash","hasAttribute"],"sourceRoot":""}
|
package/esm/apprun-dev-tools.js
CHANGED
|
@@ -161,7 +161,8 @@ window['_apprun-log'] = ['log [event|view] on|off', (a1, a2) => {
|
|
|
161
161
|
window['_apprun-create-event-tests'] = ['create-event-tests',
|
|
162
162
|
() => _createEventTests()
|
|
163
163
|
];
|
|
164
|
-
window['_apprun-create-state-tests'] = ['create-state-tests <start|stop>',
|
|
164
|
+
window['_apprun-create-state-tests'] = ['create-state-tests <start|stop>',
|
|
165
|
+
(p) => _createStateTests(p)
|
|
165
166
|
];
|
|
166
167
|
window['_apprun'] = (strings) => {
|
|
167
168
|
const [cmd, ...p] = strings[0].split(' ').filter(c => !!c);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apprun-dev-tools.js","sourceRoot":"","sources":["../src/apprun-dev-tools.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"apprun-dev-tools.js","sourceRoot":"","sources":["../src/apprun-dev-tools.tsx"],"names":[],"mappings":"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"}
|
package/esm/apprun.js
CHANGED
|
@@ -9,7 +9,7 @@ app.render = render;
|
|
|
9
9
|
app.Fragment = Fragment;
|
|
10
10
|
app.webComponent = webComponent;
|
|
11
11
|
app.start = (element, model, view, update, options) => {
|
|
12
|
-
const opts = Object.assign(
|
|
12
|
+
const opts = Object.assign({ render: true, global_event: true }, options);
|
|
13
13
|
const component = new Component(model, view, update);
|
|
14
14
|
if (options && options.rendered)
|
|
15
15
|
component.rendered = options.rendered;
|
package/esm/apprun.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apprun.js","sourceRoot":"","sources":["../src/apprun.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,OAAO,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,YAAsC,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAS,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAgBxE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;AAC1C,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACpB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AACxB,GAAG,CAAC,YAAY,GAAG,YAAY,CAAC;AAEhC,GAAG,CAAC,KAAK,GAAG,CAAa,OAAiB,EAAE,KAAS,EAAE,IAAc,EAAE,MAAqB,EAC1F,OAA4B,EAAmB,EAAE;IACjD,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"apprun.js","sourceRoot":"","sources":["../src/apprun.ts"],"names":[],"mappings":"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"}
|
package/esm/component.js
CHANGED
|
@@ -34,7 +34,7 @@ export class Component {
|
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
this.start = (element = null, options) => {
|
|
37
|
-
return this.mount(element, Object.assign(
|
|
37
|
+
return this.mount(element, Object.assign({ render: true }, options));
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
40
|
renderState(state, vdom = null) {
|
package/esm/component.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAErC,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAE,CAAC;AACjC,GAAG,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC;AAE7D,MAAM,OAAO,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC;AAE/B,MAAM,OAAO,SAAS;IA8GpB,YACY,KAAS,EACT,IAAc,EACd,MAAqB,EACrB,OAAQ;QAHR,UAAK,GAAL,KAAK,CAAI;QACT,SAAI,GAAJ,IAAI,CAAU;QACd,WAAM,GAAN,MAAM,CAAe;QACrB,YAAO,GAAP,OAAO,CAAC;QAhHZ,SAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACjB,aAAQ,GAAG,EAAE,CAAC;QACd,mBAAc,GAAG,EAAE,CAAC;QAEpB,aAAQ,GAAG,EAAE,CAAC;QACd,iBAAY,GAAG,CAAC,CAAC,CAAC;QAmFlB,kBAAa,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,YAAY,IAAI,CAAC,EAAE;gBAC1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aACnF;iBACI;gBACH,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;aACvB;QACH,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aACnF;iBACI;gBACH,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;aAC9C;QACH,CAAC,CAAC;QASF,UAAK,GAAG,CAAC,OAAO,GAAG,IAAI,EAAE,OAAsB,EAAmB,EAAE;YAClE,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../src/component.ts"],"names":[],"mappings":"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"}
|
package/esm/vdom-lit-html.js
CHANGED
|
@@ -1,38 +1,59 @@
|
|
|
1
1
|
import { createElement, updateElement, Fragment } from './vdom-my';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { render, svg, html, noChange } from 'lit-html';
|
|
3
|
+
import { directive, Directive, PartType } from 'lit-html/directive.js';
|
|
4
|
+
import { unsafeHTML } from 'lit-html/directives/unsafe-html.js';
|
|
4
5
|
function _render(element, vdom, parent) {
|
|
6
|
+
if (!vdom)
|
|
7
|
+
return;
|
|
5
8
|
if (typeof vdom === 'string') {
|
|
9
|
+
if (!element['_$litPart$'])
|
|
10
|
+
element.replaceChildren();
|
|
6
11
|
render(html `${unsafeHTML(vdom)}`, element);
|
|
7
12
|
}
|
|
8
|
-
else if (
|
|
13
|
+
else if ('_$litType$' in vdom) {
|
|
14
|
+
if (!element['_$litPart$'])
|
|
15
|
+
element.replaceChildren();
|
|
9
16
|
render(vdom, element);
|
|
10
17
|
}
|
|
11
18
|
else {
|
|
12
19
|
updateElement(element, vdom, parent);
|
|
13
|
-
|
|
20
|
+
element['_$litPart$'] = undefined;
|
|
14
21
|
}
|
|
15
22
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
export class RunDirective extends Directive {
|
|
24
|
+
constructor(partInfo) {
|
|
25
|
+
super(partInfo);
|
|
26
|
+
// When necessary, validate part in constructor using `part.type`
|
|
27
|
+
if (partInfo.type !== PartType.EVENT) {
|
|
28
|
+
throw new Error('${run} can only be used in event handlers');
|
|
29
|
+
}
|
|
19
30
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
component = element
|
|
31
|
+
// Optional: override update to perform any direct DOM manipulation
|
|
32
|
+
update(part, params) {
|
|
33
|
+
/* Any imperative updates to DOM/parts would go here */
|
|
34
|
+
let { element, name } = part;
|
|
35
|
+
const getComponent = () => {
|
|
36
|
+
let component = element['_component'];
|
|
37
|
+
while (!component && element) {
|
|
38
|
+
element = element.parentElement;
|
|
39
|
+
component = element && element['_component'];
|
|
40
|
+
}
|
|
41
|
+
console.assert(!!component, 'Component not found.');
|
|
42
|
+
return component;
|
|
43
|
+
};
|
|
44
|
+
const [event, ...args] = params;
|
|
45
|
+
if (typeof event === 'string') {
|
|
46
|
+
element[`on${name}`] = e => getComponent().run(event, ...args, e);
|
|
47
|
+
}
|
|
48
|
+
else if (typeof event === 'function') {
|
|
49
|
+
element[`on${name}`] = e => getComponent().setState(event(getComponent().state, ...args, e));
|
|
26
50
|
}
|
|
27
|
-
|
|
28
|
-
return component;
|
|
29
|
-
};
|
|
30
|
-
if (typeof event === 'string') {
|
|
31
|
-
element[`on${eventName}`] = e => getComponent().run(event, ...args, e);
|
|
51
|
+
return this.render();
|
|
32
52
|
}
|
|
33
|
-
|
|
34
|
-
|
|
53
|
+
render() {
|
|
54
|
+
return noChange;
|
|
35
55
|
}
|
|
36
|
-
}
|
|
56
|
+
}
|
|
57
|
+
const run = directive(RunDirective);
|
|
37
58
|
export { createElement, Fragment, html, svg, _render as render, run };
|
|
38
59
|
//# sourceMappingURL=vdom-lit-html.js.map
|
package/esm/vdom-lit-html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vdom-lit-html.js","sourceRoot":"","sources":["../src/vdom-lit-html.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"vdom-lit-html.js","sourceRoot":"","sources":["../src/vdom-lit-html.ts"],"names":[],"mappings":"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"}
|
package/esm/vdom-to-html.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { TemplateResult } from 'lit-html';
|
|
2
1
|
function getProp(prop) {
|
|
3
2
|
if (typeof prop === 'object') {
|
|
4
3
|
return Object.keys(prop).map(name => `${name}:${prop[name]}`).join(';');
|
|
@@ -27,7 +26,7 @@ function clean(obj) {
|
|
|
27
26
|
function toHTML(vdom) {
|
|
28
27
|
if (!vdom)
|
|
29
28
|
return '';
|
|
30
|
-
if (
|
|
29
|
+
if ('_$litType$' in vdom) {
|
|
31
30
|
return vdom.toString();
|
|
32
31
|
}
|
|
33
32
|
clean(vdom);
|
package/esm/vdom-to-html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vdom-to-html.js","sourceRoot":"","sources":["../src/vdom-to-html.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vdom-to-html.js","sourceRoot":"","sources":["../src/vdom-to-html.tsx"],"names":[],"mappings":"AAIA,SAAS,OAAO,CAAC,IAAI;IACnB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACzE;;QACI,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,OAAO,CAAC,KAAK;IACpB,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SACtB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;SAClF,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC;AAED,SAAS,WAAW,CAAC,KAAK;IACxB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,KAAK,CAAC,GAAG;IAChB,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;QACjB,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;YAClB,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;SACf;aAAM,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACrC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SACf;KACF;AACH,CAAC;AAED,SAAS,MAAM,CAAE,IAAI;IACnB,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,IAAI,YAAY,IAAI,IAAI,EAAE;QACxB,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;KACxB;IACD,KAAK,CAAC,IAAI,CAAC,CAAC;IACZ,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;QAC5B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KAC7D;SAAM,IAAI,IAAI,CAAC,GAAG,EAAE;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,IAAI,IAAI,CAAC,GAAG,GAAG,KAAK,IAAI,QAAQ,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC;KACzD;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,eAAe,MAAM,CAAC"}
|