apprun 3.28.10 → 3.28.13

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.
@@ -1 +1 @@
1
- {"version":3,"file":"dist/apprun.js","mappings":"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","sources":["webpack://apprun/webpack/universalModuleDefinition","webpack://apprun/./src/app.ts","webpack://apprun/./src/directive.ts","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/web-component.ts","webpack://apprun/./src/decorator.ts","webpack://apprun/./src/component.ts","webpack://apprun/./src/router.ts","webpack://apprun/./src/apprun.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 { 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","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 ? component.run(key, e) : app.run(key, e);\n } else if (typeof event === 'string') {\n props[key] = e => component.run ? component.run(event, e) : app.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 ? component.run(handler, ...p, e) : app.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;","import { VDOM, VNode } from './types';\nimport directive from './directive';\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 = (element: Element, nodes: VDOM, component = {}) => {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n nodes = directive(nodes, component);\n render(element, nodes, component);\n}\n\nfunction render(element: Element, nodes: VDOM, parent = {}) {\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};","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 requestAnimationFrame(() => {\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\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","\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 if (!this.update[options.route]) 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"],"names":["root","factory","exports","module","define","amd","this","App","constructor","_events","on","name","fn","options","push","off","subscribers","filter","sub","find","run","args","getSubscribers","console","assert","length","forEach","delay","Object","keys","apply","once","_t","clearTimeout","setTimeout","query","promises","map","Promise","all","events","evt","endsWith","startsWith","replace","sort","a","b","event","app","self","g","global","getStateValue","component","setStateValue","value","state","setState","directive","vdom","Array","isArray","element","tag","props","children","key","substring","e","handler","p","type","target","checked","Number","multiple","selected","apply_directive","Fragment","collect","ch","c","i","createElement","undefined","getPrototypeOf","__isAppRunComponent","Error","keyCache","WeakMap","updateElement","nodes","parent","createComponent","isSvg","nodeName","updateChildren","render","update","node","el","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","old_len","childNodes","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","HTMLElement","SVGElement","insertBefore","old","temp","nextSibling","appendChild","n","removeChild","lastChild","d","document","createDocumentFragment","indexOf","div","insertAdjacentHTML","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","mergeProps","cname","match","dataset","style","cssText","s","xname","toLowerCase","removeAttributeNS","setAttributeNS","setAttribute","removeAttribute","test","getAttribute","window","requestAnimationFrame","idx","id","Date","now","asTag","__componentCache","start","mounted","new_state","render_component","new_parent","_component","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","o","defineProperty","enumerable","get","globalThis","Function","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","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","disconnectedCallback","unload","unmount","oldValue","mappedName","customElements","Reflect","meta","defineMetadata","metadataKey","metadataValue","has","getMetadataKeys","getMetadata","descriptor","toString","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":""}
1
+ {"version":3,"file":"dist/apprun.js","mappings":"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","sources":["webpack://apprun/webpack/universalModuleDefinition","webpack://apprun/./src/app.ts","webpack://apprun/./src/directive.ts","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/web-component.ts","webpack://apprun/./src/decorator.ts","webpack://apprun/./src/component.ts","webpack://apprun/./src/router.ts","webpack://apprun/./src/apprun.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, () => {\nreturn ","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 public safeHTML;\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","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 ? component.run(key, e) : app.run(key, e);\n } else if (typeof event === 'string') {\n props[key] = e => component.run ? component.run(event, e) : app.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 ? component.run(handler, ...p, e) : app.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;","import { VDOM, VNode } from './types';\nimport directive from './directive';\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 = (element: Element, nodes: VDOM, component = {}) => {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n nodes = directive(nodes, component);\n render(element, nodes, component);\n}\n\nfunction render(element: Element, nodes: VDOM, parent = {}) {\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\nexport const safeHTML = (html: string) => {\n const div = document.createElement('section');\n div.insertAdjacentHTML('afterbegin', html)\n return Array.from(div.children);\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};","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 requestAnimationFrame(() => {\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\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","\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 if (!this.update[options.route]) 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,safeHTML } 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 safeHTML(html: string): any[];\n}\n\napp.h = app.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\napp.webComponent = webComponent;\napp.safeHTML = safeHTML;\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}\nexport type StatelessComponent<T = {}> = (args: T) => string | VNode | void;\nexport { app, Component, View, Action, Update, on, update, EventOptions, ActionOptions, MountOptions, Fragment, safeHTML }\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 window['safeHTML'] = safeHTML;\n}\n\n\n"],"names":["root","factory","exports","module","define","amd","this","App","constructor","_events","on","name","fn","options","push","off","subscribers","filter","sub","find","run","args","getSubscribers","console","assert","length","forEach","delay","Object","keys","apply","once","_t","clearTimeout","setTimeout","query","promises","map","Promise","all","events","evt","endsWith","startsWith","replace","sort","a","b","event","app","self","g","global","getStateValue","component","setStateValue","value","state","setState","directive","vdom","Array","isArray","element","tag","props","children","key","substring","e","handler","p","type","target","checked","Number","multiple","selected","apply_directive","Fragment","collect","ch","c","i","createElement","undefined","getPrototypeOf","__isAppRunComponent","Error","keyCache","WeakMap","updateElement","nodes","parent","createComponent","isSvg","nodeName","updateChildren","render","update","node","el","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","old_len","childNodes","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","HTMLElement","SVGElement","insertBefore","old","temp","nextSibling","appendChild","n","removeChild","lastChild","d","document","createDocumentFragment","safeHTML","html","div","insertAdjacentHTML","from","indexOf","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","mergeProps","cname","match","dataset","style","cssText","s","xname","toLowerCase","removeAttributeNS","setAttributeNS","setAttribute","removeAttribute","test","getAttribute","window","requestAnimationFrame","idx","id","Date","now","asTag","__componentCache","start","mounted","new_state","render_component","new_parent","_component","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","o","defineProperty","enumerable","get","globalThis","Function","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","customElement","componentClass","super","observedAttributes","attr","connectedCallback","isConnected","opts","_shadowRoot","shadow","attachShadow","mode","attrMap","reduce","lc","_attrMap","attributes","item","set","attributeChangedCallback","configurable","parentElement","mount","_props","dispatchEvent","bind","disconnectedCallback","unload","unmount","oldValue","mappedName","customElements","Reflect","meta","defineMetadata","metadataKey","metadataValue","has","getMetadataKeys","getMetadata","descriptor","toString","componentCache","Map","components","REFRESH","Component","view","_app","_actions","_global_events","_history","_history_idx","_history_prev","history","_history_next","renderState","_","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/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import app from './apprun';
2
- export { app, Component, on, update, event, customElement, ROUTER_404_EVENT, ROUTER_EVENT } from './apprun';
2
+ export { app, Component, on, update, event, customElement, ROUTER_404_EVENT, ROUTER_EVENT, safeHTML } from './apprun';
3
3
  import { createElement, render, Fragment, html, svg, run } from './vdom-lit-html';
4
4
  export { html, svg, render, run };
5
5
  app.createElement = createElement;
@@ -1 +1 @@
1
- {"version":3,"file":"apprun-html.js","sourceRoot":"","sources":["../src/apprun-html.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EACL,GAAG,EAAE,SAAS,EAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EACvD,aAAa,EACb,gBAAgB,EAAE,YAAY,EAC/B,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;AAEjC,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;AAClC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACpB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAExB,eAAe,GAAG,CAAC;AAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;IAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IACpB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;CACrB"}
1
+ {"version":3,"file":"apprun-html.js","sourceRoot":"","sources":["../src/apprun-html.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,UAAU,CAAA;AAC1B,OAAO,EACL,GAAG,EAAE,SAAS,EAAwB,EAAE,EAAE,MAAM,EAAE,KAAK,EACvD,aAAa,EACb,gBAAgB,EAAE,YAAY,EAAE,QAAQ,EACzC,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;AAEjC,GAAG,CAAC,aAAa,GAAG,aAAa,CAAC;AAClC,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;AACpB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAExB,eAAe,GAAG,CAAC;AAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;IAC9B,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;IACpB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;CACrB"}
package/esm/apprun.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import app from './app';
2
- import { createElement, render, Fragment } from './vdom';
2
+ import { createElement, render, Fragment, safeHTML } from './vdom';
3
3
  import { Component } from './component';
4
4
  import { on, update, customElement } from './decorator';
5
5
  import webComponent from './web-component';
@@ -8,6 +8,7 @@ app.h = app.createElement = createElement;
8
8
  app.render = render;
9
9
  app.Fragment = Fragment;
10
10
  app.webComponent = webComponent;
11
+ app.safeHTML = safeHTML;
11
12
  app.start = (element, model, view, update, options) => {
12
13
  const opts = Object.assign({ render: true, global_event: true }, options);
13
14
  const component = new Component(model, view, update);
@@ -32,7 +33,7 @@ if (typeof document === 'object') {
32
33
  }
33
34
  });
34
35
  }
35
- export { app, Component, on, update, Fragment };
36
+ export { app, Component, on, update, Fragment, safeHTML };
36
37
  export { update as event };
37
38
  export { ROUTER_EVENT, ROUTER_404_EVENT };
38
39
  export { customElement };
@@ -42,5 +43,6 @@ if (typeof window === 'object') {
42
43
  window['React'] = app;
43
44
  window['on'] = on;
44
45
  window['customElement'] = customElement;
46
+ window['safeHTML'] = safeHTML;
45
47
  }
46
48
  //# sourceMappingURL=apprun.js.map
package/esm/apprun.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apprun.js","sourceRoot":"","sources":["../src/apprun.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apprun.js","sourceRoot":"","sources":["../src/apprun.ts"],"names":[],"mappings":"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"}
package/esm/vdom-my.js CHANGED
@@ -138,6 +138,11 @@ function updateChildren(element, children, isSvg) {
138
138
  element.appendChild(d);
139
139
  }
140
140
  }
141
+ export const safeHTML = (html) => {
142
+ const div = document.createElement('section');
143
+ div.insertAdjacentHTML('afterbegin', html);
144
+ return Array.from(div.children);
145
+ };
141
146
  function createText(node) {
142
147
  if ((node === null || node === void 0 ? void 0 : node.indexOf('_html:')) === 0) { // ?
143
148
  const div = document.createElement('div');
@@ -1 +1 @@
1
- {"version":3,"file":"vdom-my.js","sourceRoot":"","sources":["../src/vdom-my.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vdom-my.js","sourceRoot":"","sources":["../src/vdom-my.ts"],"names":[],"mappings":"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"}
package/esm/vdom.js CHANGED
@@ -1,3 +1,3 @@
1
- import { createElement, updateElement, Fragment } from './vdom-my';
2
- export { createElement, Fragment, updateElement as render };
1
+ import { createElement, updateElement, Fragment, safeHTML } from './vdom-my';
2
+ export { createElement, Fragment, updateElement as render, safeHTML };
3
3
  //# sourceMappingURL=vdom.js.map
package/esm/vdom.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"vdom.js","sourceRoot":"","sources":["../src/vdom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,MAAM,EAAC,CAAC"}
1
+ {"version":3,"file":"vdom.js","sourceRoot":"","sources":["../src/vdom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "apprun",
3
- "version": "3.28.10",
3
+ "version": "3.28.13",
4
4
  "description": "JavaScript library that has Elm inspired architecture, event pub-sub and components",
5
5
  "main": "dist/apprun.js",
6
6
  "module": "dist/apprun.esm.js",
7
7
  "types": "apprun.d.ts",
8
+ "type": "module",
8
9
  "bin": {
9
10
  "apprun": "apprun-cli.js"
10
11
  },
@@ -38,7 +39,7 @@
38
39
  },
39
40
  "homepage": "https://github.com/yysun/apprun#readme",
40
41
  "devDependencies": {
41
- "@rollup/plugin-commonjs": "^21.0.2",
42
+ "@rollup/plugin-commonjs": "^21.0.3",
42
43
  "@rollup/plugin-node-resolve": "^13.1.3",
43
44
  "@types/jest": "^27.4.1",
44
45
  "jest": "^27.5.1",
@@ -50,12 +51,12 @@
50
51
  "rollup-plugin-node-resolve": "^5.2.0",
51
52
  "rollup-plugin-sourcemaps": "^0.6.3",
52
53
  "rollup-plugin-terser": "^7.0.2",
53
- "ts-jest": "^27.1.3",
54
+ "ts-jest": "^27.1.4",
54
55
  "ts-loader": "^9.2.8",
55
- "typescript": "^4.6.2",
56
- "webpack": "^5.70.0",
56
+ "typescript": "^4.6.3",
57
+ "webpack": "^5.71.0",
57
58
  "webpack-cli": "^4.9.2",
58
- "webpack-dev-server": "^4.7.4"
59
+ "webpack-dev-server": "^4.8.0"
59
60
  },
60
61
  "jest": {
61
62
  "testEnvironment": "jsdom",
package/src/app.ts CHANGED
@@ -9,6 +9,7 @@ export class App {
9
9
  public render;
10
10
  public Fragment;
11
11
  public webComponent;
12
+ public safeHTML;
12
13
 
13
14
  constructor() {
14
15
  this._events = {};
@@ -2,7 +2,7 @@ import app from './apprun'
2
2
  export {
3
3
  app, Component, View, Action, Update, on, update, event, EventOptions,
4
4
  customElement, CustomElementOptions,
5
- ROUTER_404_EVENT, ROUTER_EVENT
5
+ ROUTER_404_EVENT, ROUTER_EVENT, safeHTML
6
6
  } from './apprun'
7
7
  import { createElement, render, Fragment, html, svg, run } from './vdom-lit-html';
8
8
  export { html, svg, render, run }
package/src/apprun.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import app from './app';
2
- import { createElement, render, Fragment } from './vdom';
2
+ import { createElement, render, Fragment,safeHTML } from './vdom';
3
3
  import { Component } from './component';
4
4
  import { VNode, View, Action, Update, EventOptions, ActionOptions, MountOptions, AppStartOptions } from './types';
5
5
  import { on, update, customElement } from './decorator';
@@ -18,12 +18,14 @@ export interface IApp {
18
18
  Fragment(props, ...children): any[];
19
19
  route?: Route;
20
20
  webComponent(name: string, componentClass, options?: CustomElementOptions): void;
21
+ safeHTML(html: string): any[];
21
22
  }
22
23
 
23
24
  app.h = app.createElement = createElement;
24
25
  app.render = render;
25
26
  app.Fragment = Fragment;
26
27
  app.webComponent = webComponent;
28
+ app.safeHTML = safeHTML;
27
29
 
28
30
  app.start = <T, E = any>(element?: Element, model?: T, view?: View<T>, update?: Update<T, E>,
29
31
  options?: AppStartOptions<T>): Component<T, E> => {
@@ -50,9 +52,8 @@ if (typeof document === 'object') {
50
52
  }
51
53
  });
52
54
  }
53
-
54
55
  export type StatelessComponent<T = {}> = (args: T) => string | VNode | void;
55
- export { app, Component, View, Action, Update, on, update, EventOptions, ActionOptions, MountOptions, Fragment }
56
+ export { app, Component, View, Action, Update, on, update, EventOptions, ActionOptions, MountOptions, Fragment, safeHTML }
56
57
  export { update as event };
57
58
  export { ROUTER_EVENT, ROUTER_404_EVENT };
58
59
  export { customElement, CustomElementOptions, AppStartOptions };
@@ -63,6 +64,7 @@ if (typeof window === 'object') {
63
64
  window['React'] = app;
64
65
  window['on'] = on;
65
66
  window['customElement'] = customElement;
67
+ window['safeHTML'] = safeHTML;
66
68
  }
67
69
 
68
70
 
package/src/vdom-my.ts CHANGED
@@ -135,6 +135,12 @@ function updateChildren(element, children, isSvg: boolean) {
135
135
  }
136
136
  }
137
137
 
138
+ export const safeHTML = (html: string) => {
139
+ const div = document.createElement('section');
140
+ div.insertAdjacentHTML('afterbegin', html)
141
+ return Array.from(div.children);
142
+ }
143
+
138
144
  function createText(node) {
139
145
  if (node?.indexOf('_html:') === 0) { // ?
140
146
  const div = document.createElement('div');
package/src/vdom.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { createElement, updateElement, Fragment } from './vdom-my';
2
- export { createElement, Fragment, updateElement as render};
1
+ import { createElement, updateElement, Fragment, safeHTML } from './vdom-my';
2
+ export { createElement, Fragment, updateElement as render, safeHTML };
3
3
 
4
4
 
File without changes