apprun 3.33.0 → 3.33.2
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/README.md +23 -13
- package/apprun.d.ts +2 -1
- package/dist/apprun-code.js +2 -0
- package/dist/apprun-code.js.map +1 -0
- package/dist/apprun-dev-tools.js.map +1 -1
- package/dist/apprun-html.esm.js +1 -1
- package/dist/apprun-html.esm.js.map +1 -1
- package/dist/apprun-html.js +1 -1
- package/dist/apprun-html.js.map +1 -1
- package/dist/apprun-play-html.esm.js +1 -1
- package/dist/apprun-play-html.esm.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/app.js.map +1 -1
- package/esm/apprun-code.js +129 -0
- package/esm/apprun-code.js.map +1 -0
- package/esm/apprun.js +2 -2
- package/esm/apprun.js.map +1 -1
- package/esm/component.js +22 -22
- package/esm/component.js.map +1 -1
- package/esm/directive.js +13 -16
- package/esm/directive.js.map +1 -1
- package/esm/web-component.js +1 -1
- package/esm/web-component.js.map +1 -1
- package/package.json +1 -1
- package/src/app.ts +2 -0
- package/src/apprun-code.tsx +139 -0
- package/src/apprun.ts +4 -2
- package/src/component.ts +21 -21
- package/src/directive.ts +11 -13
- package/src/web-component.ts +1 -1
- package/webpack.config.cjs +1 -0
- package/src/apprun-play-html.tsx +0 -212
package/dist/apprun-html.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dist/apprun-html.js","mappings":"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","sources":["webpack://apprun/webpack/universalModuleDefinition","webpack://apprun/./src/app.ts","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","webpack://apprun/./src/directive.ts","webpack://apprun/./src/vdom-my.ts","webpack://apprun/./node_modules/lit-html/directive.js","webpack://apprun/./node_modules/lit-html/lit-html.js","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/./node_modules/lit-html/directives/unsafe-html.js","webpack://apprun/./src/vdom-lit-html.ts","webpack://apprun/./src/apprun-html.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 runAsync(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 query(name: string, ...args): Promise<any[]> {\n return this.query(name, ...args);\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 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, EventOptions } from './types';\r\nimport directive from './directive';\r\n\r\nconst componentCache = new Map();\r\nif (!app.find('get-components')) app.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' && this.element) ?\r\n document.getElementById(this.element) || document.querySelector(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 if (this.options.transition && document && document['startViewTransition']) {\r\n document['startViewTransition'](() => app.render(el, html, this));\r\n } else {\r\n app.render(el, html, this);\r\n }\r\n }\r\n this.rendered && this.rendered(this.state);\r\n }\r\n\r\n public setState(state: T, options: ActionOptions & EventOptions\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 Promise.resolve(state).then(v => {\r\n this.setState(v, options);\r\n this._state = state;\r\n });\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) {\r\n // before render state\r\n if (options.transition && document && document['startViewTransition']) {\r\n document['startViewTransition'](() => this.renderState(state));\r\n } else {\r\n this.renderState(state);\r\n }\r\n }\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 this.mount(element, { render: true, ...options });\r\n if (this.mounted && typeof this.mounted === 'function') {\r\n const new_state = this.mounted({}, [], this.state);\r\n (typeof new_state !== 'undefined') && this.setState(new_state);\r\n }\r\n return this;\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\r\n this.setState(this.state, { render: !!options.render, 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 if (this.state instanceof Promise) {\r\n return Promise.resolve(this.state).then(state => {\r\n this.state = state;\r\n this.run(event, ...args)\r\n });\r\n } else {\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\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 runAsync(event: E, ...args) {\r\n const name = event.toString();\r\n return this.is_global_event(name) ?\r\n app.runAsync(name, ...args) :\r\n this._app.runAsync(name, ...args);\r\n }\r\n\r\n // obsolete\r\n public query(event: E, ...args) {\r\n return this.runAsync(event, ...args);\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, { 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 find(name: string): any | any[];\n h(tag: string | Function, props, ...children): VNode | VNode[];\n createElement(tag: string | Function, props, ...children): VNode | VNode[];\n render(element: Element | string, 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 | string, 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 if (options && options.mounted) component.mounted = options.mounted;\n component.start(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 document.body.hasAttribute('apprun-no-init') || app['no-init-route'] || route(location.hash);\n }\n });\n}\nexport type StatelessComponent<T = {}> = (args: T) => string | VNode | void;\nexport { App, 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'] = window['React'];\n window['React'] = app;\n window['on'] = on;\n window['customElement'] = customElement;\n window['safeHTML'] = safeHTML;\n}\n\napp['use_render'] = (render, mode = 0) =>\n mode === 0 ?\n app.render = (el, vdom) => render(vdom, el) : // react style\n app.render = (el, vdom) => render(el, vdom); // apprun style\n\napp['use_react'] = createRoot => {\n app.render = (el, vdom) => {\n if (!el || !vdom) return;\n if (!el._root) el._root = createRoot(el);\n el._root.render(vdom);\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 ? 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 | string, nodes: VDOM, component = {}) => {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n const el = (typeof element === 'string' && element) ?\n document.getElementById(element) || document.querySelector(element) : element;\n nodes = directive(nodes, component);\n render(el, nodes, component);\n}\n\nfunction render(element: Element, nodes: VDOM, parent = {}) {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n nodes = createComponent(nodes, parent);\n if (!element) return;\n const isSvg = element.nodeName === \"SVG\";\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 || 0;\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|-|^for$/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 }).mount(element, { render: true });\n } else {\n component.renderState(component.state);\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","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=globalThis.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+e,n=`<${o}>`,l=document,h=(t=\"\")=>l.createComment(t),r=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,d=Array.isArray,u=t=>{var i;return d(t)||\"function\"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},c=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,_=/'/g,m=/\"/g,g=/^(?:script|style|textarea|title)$/i,p=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),$=p(1),y=p(2),b=Symbol.for(\"lit-noChange\"),w=Symbol.for(\"lit-nothing\"),T=new WeakMap,x=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(h(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l},A=l.createTreeWalker(l,129,null,!1),C=(t,i)=>{const o=t.length-1,l=[];let h,r=2===i?\"<svg>\":\"\",d=c;for(let i=0;i<o;i++){const s=t[i];let o,u,p=-1,$=0;for(;$<s.length&&(d.lastIndex=$,u=d.exec(s),null!==u);)$=d.lastIndex,d===c?\"!--\"===u[1]?d=v:void 0!==u[1]?d=a:void 0!==u[2]?(g.test(u[2])&&(h=RegExp(\"</\"+u[2],\"g\")),d=f):void 0!==u[3]&&(d=f):d===f?\">\"===u[0]?(d=null!=h?h:c,p=-1):void 0===u[1]?p=-2:(p=d.lastIndex-u[2].length,o=u[1],d=void 0===u[3]?f:'\"'===u[3]?m:_):d===m||d===_?d=f:d===v||d===a?d=c:(d=f,h=void 0);const y=d===f&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=d===c?s+n:p>=0?(l.push(o),s.slice(0,p)+\"$lit$\"+s.slice(p)+e+y):s+e+(-2===p?(l.push(void 0),i):y)}const u=r+(t[o]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==s?s.createHTML(u):u,l]};class E{constructor({strings:t,_$litType$:s},n){let l;this.parts=[];let r=0,d=0;const u=t.length-1,c=this.parts,[v,a]=C(t,s);if(this.el=E.createElement(v,n),A.currentNode=this.el.content,2===s){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(l=A.nextNode())&&c.length<u;){if(1===l.nodeType){if(l.hasAttributes()){const t=[];for(const i of l.getAttributeNames())if(i.endsWith(\"$lit$\")||i.startsWith(e)){const s=a[d++];if(t.push(i),void 0!==s){const t=l.getAttribute(s.toLowerCase()+\"$lit$\").split(e),i=/([.?@])?(.*)/.exec(s);c.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?M:\"?\"===i[1]?H:\"@\"===i[1]?I:S})}else c.push({type:6,index:r})}for(const i of t)l.removeAttribute(i)}if(g.test(l.tagName)){const t=l.textContent.split(e),s=t.length-1;if(s>0){l.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)l.append(t[i],h()),A.nextNode(),c.push({type:2,index:++r});l.append(t[s],h())}}}else if(8===l.nodeType)if(l.data===o)c.push({type:2,index:r});else{let t=-1;for(;-1!==(t=l.data.indexOf(e,t+1));)c.push({type:7,index:r}),t+=e.length-1}r++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function P(t,i,s=t,e){var o,n,l,h;if(i===b)return i;let d=void 0!==e?null===(o=s._$Cl)||void 0===o?void 0:o[e]:s._$Cu;const u=r(i)?void 0:i._$litDirective$;return(null==d?void 0:d.constructor)!==u&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===u?d=void 0:(d=new u(t),d._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Cl)&&void 0!==l?l:h._$Cl=[])[e]=d:s._$Cu=d),void 0!==d&&(i=P(t,d._$AS(t,i.values),d,e)),i}class V{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:l).importNode(s,!0);A.currentNode=o;let n=A.nextNode(),h=0,r=0,d=e[0];for(;void 0!==d;){if(h===d.index){let i;2===d.type?i=new N(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new L(n,this,t)),this.v.push(i),d=e[++r]}h!==(null==d?void 0:d.index)&&(n=A.nextNode(),h++)}return o}m(t){let i=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class N{constructor(t,i,s,e){var o;this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cg=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=P(this,t,i),r(t)?t===w||null==t||\"\"===t?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):u(t)?this.S(t):this.$(t)}A(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==w&&r(this._$AH)?this._$AA.nextSibling.data=t:this.k(l.createTextNode(t)),this._$AH=t}T(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=E.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.m(s);else{const t=new V(o,this),i=t.p(this.options);t.m(s),this.k(i),this._$AH=t}}_$AC(t){let i=T.get(t.strings);return void 0===i&&T.set(t.strings,i=new E(t)),i}S(t){d(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new N(this.A(h()),this.A(h()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class S{constructor(t,i,s,e,o){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=P(this,t,i,0),n=!r(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=P(this,e[s+l],i,l),h===b&&(h=this._$AH[l]),n||(n=!r(h)||h!==this._$AH[l]),h===w?t=w:t!==w&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.C(t)}C(t){t===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class M extends S{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===w?void 0:t}}const k=i?i.emptyScript:\"\";class H extends S{constructor(){super(...arguments),this.type=4}C(t){t&&t!==w?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name)}}class I extends S{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=P(this,t,i,0))&&void 0!==s?s:w)===b)return;const e=this._$AH,o=t===w&&e!==w||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==w&&(e===w||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}const R={P:\"$lit$\",L:e,V:o,I:1,N:C,R:V,D:u,j:P,H:N,O:S,F:H,B:I,W:M,Z:L},z=window.litHtmlPolyfillSupport;null==z||z(E,N),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push(\"2.2.1\");export{R as _$LH,$ as html,b as noChange,w as nothing,x as render,y as svg};\n//# sourceMappingURL=lit-html.js.map\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{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.it=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this.ft=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this.ft;this.it=r;const s=[r];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import { createElement, updateElement, Fragment } from './vdom-my';\n\n\nimport { render, svg, html, noChange, nothing } from 'lit-html';\nimport { directive, Directive, Part, PartInfo, PartType, EventPart } from 'lit-html/directive.js';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js';\nimport app from './apprun';\n\nfunction _render(element, vdom, parent?) {\n if (!vdom) return;\n if (typeof vdom === 'string') {\n if (!element['_$litPart$']) element.replaceChildren();\n render(html`${unsafeHTML(vdom)}`, element);\n } else if ('_$litType$' in vdom) {\n if (!element['_$litPart$']) element.replaceChildren();\n render(vdom, element);\n } else {\n updateElement(element, vdom, parent);\n element['_$litPart$'] = undefined;\n }\n}\n\nexport class RunDirective extends Directive {\n // State stored in class field\n value: number | undefined;\n constructor(partInfo: PartInfo) {\n super(partInfo);\n // When necessary, validate part in constructor using `part.type`\n if (partInfo.type !== PartType.EVENT) {\n throw new Error('${run} can only be used in event handlers');\n }\n }\n // Optional: override update to perform any direct DOM manipulation\n update(part: Part, params) {\n /* Any imperative updates to DOM/parts would go here */\n\n let { element, name } = part as EventPart;\n const getComponent = () => {\n let component = element['_component'];\n while (!component && element) {\n element = element.parentElement;\n component = element && element['_component'];\n }\n console.assert(!!component, 'Component not found.');\n return component;\n }\n const [event, ...args] = params;\n if (typeof event === 'string') {\n element[`on${name}`] = e => {\n const component = getComponent();\n component ? component.run(event, ...args, e) : app.run(event, ...args, e)\n }\n } else if (typeof event === 'function') {\n element[`on${name}`] = e => getComponent().setState(event(getComponent().state, ...args, e));\n }\n return this.render();\n }\n render() {\n return noChange;\n }\n}\n\nconst run = directive(RunDirective) as any;\nexport { createElement, Fragment, html, svg, _render as render, run };\n\n","import app from './apprun'\nexport {\n app, Component, View, Action, Update, on, update, event, EventOptions,\n customElement, CustomElementOptions,\n ROUTER_404_EVENT, ROUTER_EVENT, safeHTML\n} from './apprun'\nimport { createElement, render, Fragment, html, svg, run } from './vdom-lit-html';\nexport { html, svg, render, run }\n\napp.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\n\nexport default app;\n\nif (typeof window === 'object') {\n window['React'] = window['_React'] || app;\n window['html'] = html;\n window['svg'] = svg;\n window['run'] = run;\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","runAsync","promises","map","Promise","all","query","events","evt","endsWith","startsWith","replace","sort","a","b","event","app","self","g","global","customElement","componentClass","HTMLElement","super","component","_component","state","observedAttributes","attr","toLowerCase","connectedCallback","isConnected","opts","_shadowRoot","shadow","attachShadow","mode","attrMap","reduce","lc","_attrMap","props","Array","from","attributes","item","value","undefined","defineProperty","get","set","attributeChangedCallback","configurable","enumerable","requestAnimationFrame","children","el","parentElement","removeChild","mount","_props","dispatchEvent","bind","mounted","new_state","render","disconnectedCallback","unload","unmount","oldValue","mappedName","window","customElements","Reflect","meta","WeakMap","defineMetadata","metadataKey","metadataValue","target","has","getMetadataKeys","getPrototypeOf","getMetadata","update","key","descriptor","toString","componentCache","Map","o","components","REFRESH","Component","renderState","vdom","view","html","_","element","document","getElementById","querySelector","tracking_attr","getAttribute","tracking_id","Date","valueOf","setAttribute","MutationObserver","observer","changes","body","contains","disconnect","observe","childList","subtree","attributeOldValue","attributeFilter","removeAttribute","directive","transition","rendered","setState","history","resolve","then","v","_state","enable_history","_history","_history_idx","callback","_app","_actions","_global_events","_history_prev","_history_next","start","global_event","prev","next","route","add_actions","is_global_event","indexOf","add_action","action","p","current_state","newState","actions","isArray","act","split","n","trim","__isAppRunComponent","ROUTER_EVENT","ROUTER_404_EVENT","url","rest","h","createElement","Fragment","webComponent","safeHTML","model","NOOP","addEventListener","onpopstate","location","hash","hasAttribute","createRoot","_root","getStateValue","setStateValue","tag","substring","e","handler","type","checked","Number","multiple","selected","apply_directive","collect","ATTR_PROPS","ch","c","i","Error","keyCache","updateElement","nodes","parent","createComponent","isSvg","nodeName","updateChildren","node","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","old_len","childNodes","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","SVGElement","insertBefore","old","temp","nextSibling","appendChild","lastChild","d","createDocumentFragment","div","insertAdjacentHTML","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","mergeProps","cname","match","dataset","style","cssText","s","xname","removeAttributeNS","setAttributeNS","test","idx","id","now","asTag","__componentCache","render_component","new_parent","t","ATTRIBUTE","CHILD","PROPERTY","BOOLEAN_ATTRIBUTE","EVENT","ELEMENT","_$litDirective$","values","_$AU","_$AM","_$AT","_$Ct","_$Ci","_$AS","globalThis","trustedTypes","createPolicy","createHTML","random","slice","l","createComment","r","f","m","_$litType$","strings","$","y","Symbol","for","w","T","x","renderBefore","_$litPart$","N","_$AI","A","createTreeWalker","C","u","lastIndex","exec","RegExp","hasOwnProperty","E","parts","currentNode","content","firstChild","remove","append","nextNode","hasAttributes","getAttributeNames","index","ctor","M","H","I","S","tagName","emptyScript","data","innerHTML","P","_$Cl","_$Cu","_$AO","call","V","_$AN","_$AD","creationScope","importNode","L","_$AH","_$AA","_$AB","_$Cg","startNode","endNode","_$AR","k","iterator","_$AC","_$AP","setConnected","fill","String","arguments","capture","passive","removeEventListener","handleEvent","host","z","litHtmlPolyfillSupport","litHtmlVersions","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","Function","obj","prop","prototype","toStringTag","it","directiveName","ft","raw","resultType","_render","replaceChildren","RunDirective","partInfo","part","params","getComponent"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"dist/apprun-html.js","mappings":"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","sources":["webpack://apprun/webpack/universalModuleDefinition","webpack://apprun/./src/app.ts","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","webpack://apprun/./src/directive.ts","webpack://apprun/./src/vdom-my.ts","webpack://apprun/./node_modules/lit-html/directive.js","webpack://apprun/./node_modules/lit-html/lit-html.js","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/./node_modules/lit-html/directives/unsafe-html.js","webpack://apprun/./src/vdom-lit-html.ts","webpack://apprun/./src/apprun-html.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 public use_render;\n public use_react;\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 runAsync(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 query(name: string, ...args): Promise<any[]> {\n return this.query(name, ...args);\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 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, EventOptions } from './types';\r\nimport directive from './directive';\r\n\r\nconst componentCache = new Map();\r\nif (!app.find('get-components')) app.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' && this.element) ?\r\n document.getElementById(this.element) || document.querySelector(this.element) : this.element;\r\n\r\n if (!el) return;\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 if (this.options.transition && document && document['startViewTransition']) {\r\n document['startViewTransition'](() => app.render(el, html, this));\r\n } else {\r\n app.render(el, html, this);\r\n }\r\n }\r\n this.rendered && this.rendered(this.state);\r\n }\r\n\r\n public setState(state: T, options: ActionOptions & EventOptions\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 Promise.resolve(state).then(v => {\r\n this.setState(v, options);\r\n this._state = state;\r\n });\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) {\r\n // before render state\r\n if (options.transition && document && document['startViewTransition']) {\r\n document['startViewTransition'](() => this.renderState(state));\r\n } else {\r\n this.renderState(state);\r\n }\r\n }\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 this.mount(element, { render: true, ...options });\r\n if (this.mounted && typeof this.mounted === 'function') {\r\n const new_state = this.mounted({}, [], this.state);\r\n (typeof new_state !== 'undefined') && this.setState(new_state);\r\n }\r\n return this;\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\r\n this.setState(this.state, { render: !!options.render, 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 if (this.state instanceof Promise) {\r\n return Promise.resolve(this.state).then(state => {\r\n this.state = state;\r\n this.run(event, ...args)\r\n });\r\n } else {\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\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 runAsync(event: E, ...args) {\r\n const name = event.toString();\r\n return this.is_global_event(name) ?\r\n app.runAsync(name, ...args) :\r\n this._app.runAsync(name, ...args);\r\n }\r\n\r\n // obsolete\r\n public query(event: E, ...args) {\r\n return this.runAsync(event, ...args);\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, { 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 find(name: string): any | any[];\n h(tag: string | Function, props, ...children): VNode | VNode[];\n createElement(tag: string | Function, props, ...children): VNode | VNode[];\n render(element: Element | string, 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 use_render(render, mode?: 0 | 1);\n use_react(createRoot);\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 | string, 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 if (options && options.mounted) component.mounted = options.mounted;\n component.start(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 document.body.hasAttribute('apprun-no-init') || app['no-init-route'] || route(location.hash);\n }\n });\n}\nexport type StatelessComponent<T = {}> = (args: T) => string | VNode | void;\nexport { App, 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'] = window['React'];\n window['React'] = app;\n window['on'] = on;\n window['customElement'] = customElement;\n window['safeHTML'] = safeHTML;\n}\n\napp.use_render = (render, mode = 0) =>\n mode === 0 ?\n app.render = (el, vdom) => render(vdom, el) : // react style\n app.render = (el, vdom) => render(el, vdom); // apprun style\n\napp.use_react = createRoot => {\n app.render = (el, vdom) => {\n if (!el || !vdom) return;\n if (!el._root) el._root = createRoot(el);\n el._root.render(vdom);\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 ? 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 { type, tag, props, children } = vdom;\n tag = tag || type;\n children = children || props?.children;\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) directive(children, component);\n return vdom;\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 | string, nodes: VDOM, component = {}) => {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n const el = (typeof element === 'string' && element) ?\n document.getElementById(element) || document.querySelector(element) : element;\n nodes = directive(nodes, component);\n render(el, nodes, component);\n}\n\nfunction render(element: Element, nodes: VDOM, parent = {}) {\n // tslint:disable-next-line\n if (nodes == null || nodes === false) return;\n nodes = createComponent(nodes, parent);\n if (!element) return;\n const isSvg = element.nodeName === \"SVG\";\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 || 0;\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|-|^for$/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 }).mount(element, { render: true });\n } else {\n component.renderState(component.state);\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","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t={ATTRIBUTE:1,CHILD:2,PROPERTY:3,BOOLEAN_ATTRIBUTE:4,EVENT:5,ELEMENT:6},e=t=>(...e)=>({_$litDirective$:t,values:e});class i{constructor(t){}get _$AU(){return this._$AM._$AU}_$AT(t,e,i){this._$Ct=t,this._$AM=e,this._$Ci=i}_$AS(t,e){return this.update(t,e)}update(t,e){return this.render(...e)}}export{i as Directive,t as PartType,e as directive};\n//# sourceMappingURL=directive.js.map\n","/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nvar t;const i=globalThis.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=`lit$${(Math.random()+\"\").slice(9)}$`,o=\"?\"+e,n=`<${o}>`,l=document,h=(t=\"\")=>l.createComment(t),r=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,d=Array.isArray,u=t=>{var i;return d(t)||\"function\"==typeof(null===(i=t)||void 0===i?void 0:i[Symbol.iterator])},c=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,a=/>/g,f=/>|[ \t\\n\f\\r](?:([^\\s\"'>=/]+)([ \t\\n\f\\r]*=[ \t\\n\f\\r]*(?:[^ \t\\n\f\\r\"'`<>=]|(\"|')|))|$)/g,_=/'/g,m=/\"/g,g=/^(?:script|style|textarea|title)$/i,p=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),$=p(1),y=p(2),b=Symbol.for(\"lit-noChange\"),w=Symbol.for(\"lit-nothing\"),T=new WeakMap,x=(t,i,s)=>{var e,o;const n=null!==(e=null==s?void 0:s.renderBefore)&&void 0!==e?e:i;let l=n._$litPart$;if(void 0===l){const t=null!==(o=null==s?void 0:s.renderBefore)&&void 0!==o?o:null;n._$litPart$=l=new N(i.insertBefore(h(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l},A=l.createTreeWalker(l,129,null,!1),C=(t,i)=>{const o=t.length-1,l=[];let h,r=2===i?\"<svg>\":\"\",d=c;for(let i=0;i<o;i++){const s=t[i];let o,u,p=-1,$=0;for(;$<s.length&&(d.lastIndex=$,u=d.exec(s),null!==u);)$=d.lastIndex,d===c?\"!--\"===u[1]?d=v:void 0!==u[1]?d=a:void 0!==u[2]?(g.test(u[2])&&(h=RegExp(\"</\"+u[2],\"g\")),d=f):void 0!==u[3]&&(d=f):d===f?\">\"===u[0]?(d=null!=h?h:c,p=-1):void 0===u[1]?p=-2:(p=d.lastIndex-u[2].length,o=u[1],d=void 0===u[3]?f:'\"'===u[3]?m:_):d===m||d===_?d=f:d===v||d===a?d=c:(d=f,h=void 0);const y=d===f&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=d===c?s+n:p>=0?(l.push(o),s.slice(0,p)+\"$lit$\"+s.slice(p)+e+y):s+e+(-2===p?(l.push(void 0),i):y)}const u=r+(t[o]||\"<?>\")+(2===i?\"</svg>\":\"\");if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return[void 0!==s?s.createHTML(u):u,l]};class E{constructor({strings:t,_$litType$:s},n){let l;this.parts=[];let r=0,d=0;const u=t.length-1,c=this.parts,[v,a]=C(t,s);if(this.el=E.createElement(v,n),A.currentNode=this.el.content,2===s){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(l=A.nextNode())&&c.length<u;){if(1===l.nodeType){if(l.hasAttributes()){const t=[];for(const i of l.getAttributeNames())if(i.endsWith(\"$lit$\")||i.startsWith(e)){const s=a[d++];if(t.push(i),void 0!==s){const t=l.getAttribute(s.toLowerCase()+\"$lit$\").split(e),i=/([.?@])?(.*)/.exec(s);c.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?M:\"?\"===i[1]?H:\"@\"===i[1]?I:S})}else c.push({type:6,index:r})}for(const i of t)l.removeAttribute(i)}if(g.test(l.tagName)){const t=l.textContent.split(e),s=t.length-1;if(s>0){l.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)l.append(t[i],h()),A.nextNode(),c.push({type:2,index:++r});l.append(t[s],h())}}}else if(8===l.nodeType)if(l.data===o)c.push({type:2,index:r});else{let t=-1;for(;-1!==(t=l.data.indexOf(e,t+1));)c.push({type:7,index:r}),t+=e.length-1}r++}}static createElement(t,i){const s=l.createElement(\"template\");return s.innerHTML=t,s}}function P(t,i,s=t,e){var o,n,l,h;if(i===b)return i;let d=void 0!==e?null===(o=s._$Cl)||void 0===o?void 0:o[e]:s._$Cu;const u=r(i)?void 0:i._$litDirective$;return(null==d?void 0:d.constructor)!==u&&(null===(n=null==d?void 0:d._$AO)||void 0===n||n.call(d,!1),void 0===u?d=void 0:(d=new u(t),d._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Cl)&&void 0!==l?l:h._$Cl=[])[e]=d:s._$Cu=d),void 0!==d&&(i=P(t,d._$AS(t,i.values),d,e)),i}class V{constructor(t,i){this.v=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}p(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:l).importNode(s,!0);A.currentNode=o;let n=A.nextNode(),h=0,r=0,d=e[0];for(;void 0!==d;){if(h===d.index){let i;2===d.type?i=new N(n,n.nextSibling,this,t):1===d.type?i=new d.ctor(n,d.name,d.strings,this,t):6===d.type&&(i=new L(n,this,t)),this.v.push(i),d=e[++r]}h!==(null==d?void 0:d.index)&&(n=A.nextNode(),h++)}return o}m(t){let i=0;for(const s of this.v)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class N{constructor(t,i,s,e){var o;this.type=2,this._$AH=w,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cg=null===(o=null==e?void 0:e.isConnected)||void 0===o||o}get _$AU(){var t,i;return null!==(i=null===(t=this._$AM)||void 0===t?void 0:t._$AU)&&void 0!==i?i:this._$Cg}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===t.nodeType&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=P(this,t,i),r(t)?t===w||null==t||\"\"===t?(this._$AH!==w&&this._$AR(),this._$AH=w):t!==this._$AH&&t!==b&&this.$(t):void 0!==t._$litType$?this.T(t):void 0!==t.nodeType?this.k(t):u(t)?this.S(t):this.$(t)}A(t,i=this._$AB){return this._$AA.parentNode.insertBefore(t,i)}k(t){this._$AH!==t&&(this._$AR(),this._$AH=this.A(t))}$(t){this._$AH!==w&&r(this._$AH)?this._$AA.nextSibling.data=t:this.k(l.createTextNode(t)),this._$AH=t}T(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=E.createElement(e.h,this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.m(s);else{const t=new V(o,this),i=t.p(this.options);t.m(s),this.k(i),this._$AH=t}}_$AC(t){let i=T.get(t.strings);return void 0===i&&T.set(t.strings,i=new E(t)),i}S(t){d(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const o of t)e===i.length?i.push(s=new N(this.A(h()),this.A(h()),this,this.options)):s=i[e],s._$AI(o),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){var s;for(null===(s=this._$AP)||void 0===s||s.call(this,!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){var i;void 0===this._$AM&&(this._$Cg=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class S{constructor(t,i,s,e,o){this.type=1,this._$AH=w,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=o,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=w}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(t,i=this,s,e){const o=this.strings;let n=!1;if(void 0===o)t=P(this,t,i,0),n=!r(t)||t!==this._$AH&&t!==b,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=P(this,e[s+l],i,l),h===b&&(h=this._$AH[l]),n||(n=!r(h)||h!==this._$AH[l]),h===w?t=w:t!==w&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.C(t)}C(t){t===w?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class M extends S{constructor(){super(...arguments),this.type=3}C(t){this.element[this.name]=t===w?void 0:t}}const k=i?i.emptyScript:\"\";class H extends S{constructor(){super(...arguments),this.type=4}C(t){t&&t!==w?this.element.setAttribute(this.name,k):this.element.removeAttribute(this.name)}}class I extends S{constructor(t,i,s,e,o){super(t,i,s,e,o),this.type=5}_$AI(t,i=this){var s;if((t=null!==(s=P(this,t,i,0))&&void 0!==s?s:w)===b)return;const e=this._$AH,o=t===w&&e!==w||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==w&&(e===w||o);o&&this.element.removeEventListener(this.name,this,e),n&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){var i,s;\"function\"==typeof this._$AH?this._$AH.call(null!==(s=null===(i=this.options)||void 0===i?void 0:i.host)&&void 0!==s?s:this.element,t):this._$AH.handleEvent(t)}}class L{constructor(t,i,s){this.element=t,this.type=6,this._$AN=void 0,this._$AM=i,this.options=s}get _$AU(){return this._$AM._$AU}_$AI(t){P(this,t)}}const R={P:\"$lit$\",L:e,V:o,I:1,N:C,R:V,D:u,j:P,H:N,O:S,F:H,B:I,W:M,Z:L},z=window.litHtmlPolyfillSupport;null==z||z(E,N),(null!==(t=globalThis.litHtmlVersions)&&void 0!==t?t:globalThis.litHtmlVersions=[]).push(\"2.2.1\");export{R as _$LH,$ as html,b as noChange,w as nothing,x as render,y as svg};\n//# sourceMappingURL=lit-html.js.map\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{nothing as t,noChange as i}from\"../lit-html.js\";import{Directive as r,PartType as s,directive as n}from\"../directive.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class e extends r{constructor(i){if(super(i),this.it=t,i.type!==s.CHILD)throw Error(this.constructor.directiveName+\"() can only be used in child bindings\")}render(r){if(r===t||null==r)return this.ft=void 0,this.it=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.it)return this.ft;this.it=r;const s=[r];return s.raw=s,this.ft={_$litType$:this.constructor.resultType,strings:s,values:[]}}}e.directiveName=\"unsafeHTML\",e.resultType=1;const o=n(e);export{e as UnsafeHTMLDirective,o as unsafeHTML};\n//# sourceMappingURL=unsafe-html.js.map\n","import { createElement, updateElement, Fragment } from './vdom-my';\n\n\nimport { render, svg, html, noChange, nothing } from 'lit-html';\nimport { directive, Directive, Part, PartInfo, PartType, EventPart } from 'lit-html/directive.js';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js';\nimport app from './apprun';\n\nfunction _render(element, vdom, parent?) {\n if (!vdom) return;\n if (typeof vdom === 'string') {\n if (!element['_$litPart$']) element.replaceChildren();\n render(html`${unsafeHTML(vdom)}`, element);\n } else if ('_$litType$' in vdom) {\n if (!element['_$litPart$']) element.replaceChildren();\n render(vdom, element);\n } else {\n updateElement(element, vdom, parent);\n element['_$litPart$'] = undefined;\n }\n}\n\nexport class RunDirective extends Directive {\n // State stored in class field\n value: number | undefined;\n constructor(partInfo: PartInfo) {\n super(partInfo);\n // When necessary, validate part in constructor using `part.type`\n if (partInfo.type !== PartType.EVENT) {\n throw new Error('${run} can only be used in event handlers');\n }\n }\n // Optional: override update to perform any direct DOM manipulation\n update(part: Part, params) {\n /* Any imperative updates to DOM/parts would go here */\n\n let { element, name } = part as EventPart;\n const getComponent = () => {\n let component = element['_component'];\n while (!component && element) {\n element = element.parentElement;\n component = element && element['_component'];\n }\n console.assert(!!component, 'Component not found.');\n return component;\n }\n const [event, ...args] = params;\n if (typeof event === 'string') {\n element[`on${name}`] = e => {\n const component = getComponent();\n component ? component.run(event, ...args, e) : app.run(event, ...args, e)\n }\n } else if (typeof event === 'function') {\n element[`on${name}`] = e => getComponent().setState(event(getComponent().state, ...args, e));\n }\n return this.render();\n }\n render() {\n return noChange;\n }\n}\n\nconst run = directive(RunDirective) as any;\nexport { createElement, Fragment, html, svg, _render as render, run };\n\n","import app from './apprun'\nexport {\n app, Component, View, Action, Update, on, update, event, EventOptions,\n customElement, CustomElementOptions,\n ROUTER_404_EVENT, ROUTER_EVENT, safeHTML\n} from './apprun'\nimport { createElement, render, Fragment, html, svg, run } from './vdom-lit-html';\nexport { html, svg, render, run }\n\napp.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\n\nexport default app;\n\nif (typeof window === 'object') {\n window['React'] = window['_React'] || app;\n window['html'] = html;\n window['svg'] = svg;\n window['run'] = run;\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","runAsync","promises","map","Promise","all","query","events","evt","endsWith","startsWith","replace","sort","a","b","event","app","self","g","global","customElement","componentClass","HTMLElement","super","component","_component","state","observedAttributes","attr","toLowerCase","connectedCallback","isConnected","opts","_shadowRoot","shadow","attachShadow","mode","attrMap","reduce","lc","_attrMap","props","Array","from","attributes","item","value","undefined","defineProperty","get","set","attributeChangedCallback","configurable","enumerable","requestAnimationFrame","children","mount","_props","dispatchEvent","bind","mounted","new_state","render","disconnectedCallback","unload","unmount","oldValue","mappedName","window","customElements","Reflect","meta","WeakMap","defineMetadata","metadataKey","metadataValue","target","has","getMetadataKeys","getPrototypeOf","getMetadata","update","key","descriptor","toString","componentCache","Map","o","components","REFRESH","Component","renderState","vdom","view","html","_","el","element","document","getElementById","querySelector","tracking_attr","getAttribute","tracking_id","Date","valueOf","setAttribute","MutationObserver","observer","changes","body","contains","disconnect","observe","childList","subtree","attributeOldValue","attributeFilter","removeAttribute","directive","transition","rendered","setState","history","resolve","then","v","_state","enable_history","_history","_history_idx","callback","_app","_actions","_global_events","_history_prev","_history_next","start","global_event","prev","next","route","add_actions","is_global_event","indexOf","add_action","action","p","current_state","newState","actions","isArray","act","split","n","trim","__isAppRunComponent","ROUTER_EVENT","ROUTER_404_EVENT","url","rest","h","createElement","Fragment","webComponent","safeHTML","model","NOOP","addEventListener","onpopstate","location","hash","hasAttribute","use_render","use_react","createRoot","_root","getStateValue","setStateValue","type","tag","substring","e","handler","checked","Number","multiple","selected","apply_directive","collect","ATTR_PROPS","ch","c","i","Error","keyCache","updateElement","nodes","parent","createComponent","isSvg","nodeName","updateChildren","node","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","old_len","childNodes","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","SVGElement","insertBefore","old","temp","nextSibling","appendChild","removeChild","lastChild","d","createDocumentFragment","div","insertAdjacentHTML","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","mergeProps","cname","match","dataset","style","cssText","s","xname","removeAttributeNS","setAttributeNS","test","idx","id","now","asTag","__componentCache","render_component","new_parent","t","ATTRIBUTE","CHILD","PROPERTY","BOOLEAN_ATTRIBUTE","EVENT","ELEMENT","_$litDirective$","values","_$AU","_$AM","_$AT","_$Ct","_$Ci","_$AS","globalThis","trustedTypes","createPolicy","createHTML","random","slice","l","createComment","r","f","m","_$litType$","strings","$","y","Symbol","for","w","T","x","renderBefore","_$litPart$","N","_$AI","A","createTreeWalker","C","u","lastIndex","exec","RegExp","hasOwnProperty","E","parts","currentNode","content","firstChild","remove","append","nextNode","hasAttributes","getAttributeNames","index","ctor","M","H","I","S","tagName","emptyScript","data","innerHTML","P","_$Cl","_$Cu","_$AO","call","V","_$AN","_$AD","creationScope","importNode","L","_$AH","_$AA","_$AB","_$Cg","startNode","endNode","_$AR","k","iterator","_$AC","_$AP","setConnected","fill","String","arguments","capture","passive","removeEventListener","handleEvent","host","z","litHtmlPolyfillSupport","litHtmlVersions","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","Function","obj","prop","prototype","toStringTag","it","directiveName","ft","raw","resultType","_render","replaceChildren","RunDirective","partInfo","part","params","getComponent","parentElement"],"sourceRoot":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class t{constructor(){this._events={}}on(t,n,i={}){this._events[t]=this._events[t]||[],this._events[t].push({fn:n,options:i})}off(t,n){const i=this._events[t]||[];this._events[t]=i.filter((t=>t.fn!==n))}find(t){return this._events[t]}run(t,...n){const i=this.getSubscribers(t,this._events);return console.assert(i&&i.length>0,"No subscriber for event: "+t),i.forEach((i=>{const{fn:s,options:e}=i;return e.delay?this.delay(t,s,n,e):Object.keys(e).length>0?s.apply(this,[...n,e]):s.apply(this,n),!i.options.once})),i.length}once(t,n,i={}){this.on(t,n,Object.assign(Object.assign({},i),{once:!0}))}delay(t,n,i,s){s._t&&clearTimeout(s._t),s._t=setTimeout((()=>{clearTimeout(s._t),Object.keys(s).length>0?n.apply(this,[...i,s]):n.apply(this,i)}),s.delay)}runAsync(t,...n){const i=this.getSubscribers(t,this._events);console.assert(i&&i.length>0,"No subscriber for event: "+t);const s=i.map((t=>{const{fn:i,options:s}=t;return Object.keys(s).length>0?i.apply(this,[...n,s]):i.apply(this,n)}));return Promise.all(s)}query(t,...n){return this.query(t,...n)}getSubscribers(t,n){const i=n[t]||[];return n[t]=i.filter((t=>!t.options.once)),Object.keys(n).filter((n=>n.endsWith("*")&&t.startsWith(n.replace("*","")))).sort(((t,n)=>n.length-t.length)).forEach((s=>i.push(...n[s].map((n=>Object.assign(Object.assign({},n),{options:Object.assign(Object.assign({},n.options),{event:t})})))))),i}}let n;const i="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;i.app&&i._AppRunVersions?n=i.app:(n=new t,i.app=n,i._AppRunVersions="AppRun-3");var s=n;const e=(t,n)=>(n?t.state[n]:t.state)||"",o=(t,n,i)=>{if(n){const s=t.state||{};s[n]=i,t.setState(s)}else t.setState(i)},r=(t,n)=>{if(Array.isArray(t))return t.map((t=>r(t,n)));{let{tag:i,props:h,children:l}=t;return i?(h&&Object.keys(h).forEach((t=>{t.startsWith("$")&&(((t,n,i,r)=>{if(t.startsWith("$on")){const i=n[t];if(t=t.substring(1),"boolean"==typeof i)n[t]=n=>r.run?r.run(t,n):s.run(t,n);else if("string"==typeof i)n[t]=t=>r.run?r.run(i,t):s.run(i,t);else if("function"==typeof i)n[t]=t=>r.setState(i(r.state,t));else if(Array.isArray(i)){const[e,...o]=i;"string"==typeof e?n[t]=t=>r.run?r.run(e,...o,t):s.run(e,...o,t):"function"==typeof e&&(n[t]=t=>r.setState(e(r.state,...o,t)))}}else if("$bind"===t){const s=n.type||"text",h="string"==typeof n[t]?n[t]:n.name;if("input"===i)switch(s){case"checkbox":n.checked=e(r,h),n.onclick=t=>o(r,h||t.target.name,t.target.checked);break;case"radio":n.checked=e(r,h)===n.value,n.onclick=t=>o(r,h||t.target.name,t.target.value);break;case"number":case"range":n.value=e(r,h),n.oninput=t=>o(r,h||t.target.name,Number(t.target.value));break;default:n.value=e(r,h),n.oninput=t=>o(r,h||t.target.name,t.target.value)}else"select"===i?(n.value=e(r,h),n.onchange=t=>{t.target.multiple||o(r,h||t.target.name,t.target.value)}):"option"===i?(n.selected=e(r,h),n.onclick=t=>o(r,h||t.target.name,t.target.selected)):"textarea"===i&&(n.innerHTML=e(r,h),n.oninput=t=>o(r,h||t.target.name,t.target.value))}else s.run("$",{key:t,tag:i,props:n,component:r})})(t,h,i,n),delete h[t])})),l&&(l=r(l,n)),{tag:i,props:h,children:l}):t}};function h(t,...n){return c(n)}const l="_props";function c(t){const n=[],i=t=>{null!=t&&""!==t&&!1!==t&&n.push("function"==typeof t||"object"==typeof t?t:`${t}`)};return t&&t.forEach((t=>{Array.isArray(t)?t.forEach((t=>i(t))):i(t)})),n}function u(t,n,...i){const s=c(i);if("string"==typeof t)return{tag:t,props:n,children:s};if(Array.isArray(t))return t;if(void 0===t&&i)return s;if(Object.getPrototypeOf(t).t)return{tag:t,props:n,children:s};if("function"==typeof t)return t(n,s);throw new Error(`Unknown tag in vdom ${t}`)}const a=new WeakMap,d=(t,n,i={})=>{if(null==n||!1===n)return;!function(t,n,i={}){if(null==n||!1===n)return;if(n=g(n,i),!t)return;const s="SVG"===t.nodeName;Array.isArray(n)?f(t,n,s):f(t,[n],s)}("string"==typeof t&&t?document.getElementById(t)||document.querySelector(t):t,n=r(n,i),i)};function p(t,n,i){3!==n._op&&(i=i||"svg"===n.tag,!function(t,n){const i=t.nodeName,s=`${n.tag||""}`;return i.toUpperCase()===s.toUpperCase()}(t,n)?t.parentNode.replaceChild(b(n,i),t):(!(2&n._op)&&f(t,n.children,i),!(1&n._op)&&m(t,n.props,i)))}function f(t,n,i){var s,e;const o=(null===(s=t.childNodes)||void 0===s?void 0:s.length)||0,r=(null==n?void 0:n.length)||0,h=Math.min(o,r);for(let s=0;s<h;s++){const e=n[s];if(3===e._op)continue;const o=t.childNodes[s];if("string"==typeof e)o.textContent!==e&&(3===o.nodeType?o.nodeValue=e:t.replaceChild(y(e),o));else if(e instanceof HTMLElement||e instanceof SVGElement)t.insertBefore(e,o);else{const n=e.props&&e.props.key;if(n)if(o.key===n)p(t.childNodes[s],e,i);else{const r=a[n];if(r){const n=r.nextSibling;t.insertBefore(r,o),n?t.insertBefore(o,n):t.appendChild(o),p(t.childNodes[s],e,i)}else t.replaceChild(b(e,i),o)}else p(t.childNodes[s],e,i)}}let l=(null===(e=t.childNodes)||void 0===e?void 0:e.length)||0;for(;l>h;)t.removeChild(t.lastChild),l--;if(r>h){const s=document.createDocumentFragment();for(let t=h;t<n.length;t++)s.appendChild(b(n[t],i));t.appendChild(s)}}const v=t=>{const n=document.createElement("section");return n.insertAdjacentHTML("afterbegin",t),Array.from(n.children)};function y(t){if(0===(null==t?void 0:t.indexOf("_html:"))){const n=document.createElement("div");return n.insertAdjacentHTML("afterbegin",t.substring(6)),n}return document.createTextNode(null!=t?t:"")}function b(t,n){if(t instanceof HTMLElement||t instanceof SVGElement)return t;if("string"==typeof t)return y(t);if(!t.tag||"function"==typeof t.tag)return y(JSON.stringify(t));const i=(n=n||"svg"===t.tag)?document.createElementNS("http://www.w3.org/2000/svg",t.tag):document.createElement(t.tag);return m(i,t.props,n),t.children&&t.children.forEach((t=>i.appendChild(b(t,n)))),i}function m(t,n,i){const s=t[l]||{};n=function(t,n){n.class=n.class||n.className,delete n.className;const i={};return t&&Object.keys(t).forEach((t=>i[t]=null)),n&&Object.keys(n).forEach((t=>i[t]=n[t])),i}(s,n||{}),t[l]=n;for(const s in n){const e=n[s];if(s.startsWith("data-")){const n=s.substring(5).replace(/-(\w)/g,(t=>t[1].toUpperCase()));t.dataset[n]!==e&&(e||""===e?t.dataset[n]=e:delete t.dataset[n])}else if("style"===s)if(t.style.cssText&&(t.style.cssText=""),"string"==typeof e)t.style.cssText=e;else for(const n in e)t.style[n]!==e[n]&&(t.style[n]=e[n]);else if(s.startsWith("xlink")){const n=s.replace("xlink","").toLowerCase();null==e||!1===e?t.removeAttributeNS("http://www.w3.org/1999/xlink",n):t.setAttributeNS("http://www.w3.org/1999/xlink",n,e)}else s.startsWith("on")?e&&"function"!=typeof e?"string"==typeof e&&(e?t.setAttribute(s,e):t.removeAttribute(s)):t[s]=e:/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-|^for$/g.test(s)||i?t.getAttribute(s)!==e&&(e?t.setAttribute(s,e):t.removeAttribute(s)):t[s]!==e&&(t[s]=e);"key"===s&&e&&(a[e]=t)}n&&"function"==typeof n.ref&&window.requestAnimationFrame((()=>n.ref(t)))}function g(t,n,i=0){var s;if("string"==typeof t)return t;if(Array.isArray(t))return t.map((t=>g(t,n,i++)));let e=t;if(t&&"function"==typeof t.tag&&Object.getPrototypeOf(t.tag).t&&(e=function(t,n,i){const{tag:s,props:e,children:o}=t;let r=`_${i}`,h=e&&e.id;h?r=h:h=`_${i}${Date.now()}`;let l="section";e&&e.as&&(l=e.as,delete e.as),n.i||(n.i={});let c=n.i[r];if(c&&c instanceof s&&c.element)c.renderState(c.state);else{const t=document.createElement(l);c=n.i[r]=new s(Object.assign(Object.assign({},e),{children:o})).mount(t,{render:!0})}if(c.mounted){const t=c.mounted(e,o,c.state);void 0!==t&&c.setState(t)}return m(c.element,e,!1),c.element}(t,n,i)),e&&Array.isArray(e.children)){const t=null===(s=e.props)||void 0===s?void 0:s._component;if(t){let n=0;e.children=e.children.map((i=>g(i,t,n++)))}else e.children=e.children.map((t=>g(t,n,i++)))}return e}const w=(t,n={})=>class extends HTMLElement{constructor(){super()}get component(){return this._component}get state(){return this._component.state}static get observedAttributes(){return(n.observedAttributes||[]).map((t=>t.toLowerCase()))}connectedCallback(){if(this.isConnected&&!this._component){const i=n||{};this._shadowRoot=i.shadow?this.attachShadow({mode:"open"}):this;const s=i.observedAttributes||[],e=s.reduce(((t,n)=>{const i=n.toLowerCase();return i!==n&&(t[i]=n),t}),{});this._attrMap=t=>e[t]||t;const o={};Array.from(this.attributes).forEach((t=>o[this._attrMap(t.name)]=t.value)),s.forEach((t=>{void 0!==this[t]&&(o[t]=this[t]),Object.defineProperty(this,t,{get:()=>o[t],set(n){this.attributeChangedCallback(t,o[t],n)},configurable:!0,enumerable:!0})})),requestAnimationFrame((()=>{const n=this.children?Array.from(this.children):[];if(n.forEach((t=>t.parentElement.removeChild(t))),this._component=new t(Object.assign(Object.assign({},o),{children:n})).mount(this._shadowRoot,i),this._component._props=o,this._component.dispatchEvent=this.dispatchEvent.bind(this),this._component.mounted){const t=this._component.mounted(o,n,this._component.state);void 0!==t&&(this._component.state=t)}this.on=this._component.on.bind(this._component),this.run=this._component.run.bind(this._component),!1!==i.render&&this._component.run(".")}))}}disconnectedCallback(){var t,n,i,s;null===(n=null===(t=this._component)||void 0===t?void 0:t.unload)||void 0===n||n.call(t),null===(s=null===(i=this._component)||void 0===i?void 0:i.unmount)||void 0===s||s.call(i),this._component=null}attributeChangedCallback(t,i,s){if(this._component){const e=this._attrMap(t);this._component._props[e]=s,this._component.run("attributeChanged",e,i,s),s!==i&&!1!==n.render&&window.requestAnimationFrame((()=>{this._component.run(".")}))}}};var $=(t,n,i)=>{"undefined"!=typeof customElements&&customElements.define(t,w(n,i))};const j={meta:new WeakMap,defineMetadata(t,n,i){this.meta.has(i)||this.meta.set(i,{}),this.meta.get(i)[t]=n},getMetadataKeys(t){return t=Object.getPrototypeOf(t),this.meta.get(t)?Object.keys(this.meta.get(t)):[]},getMetadata(t,n){return n=Object.getPrototypeOf(n),this.meta.get(n)?this.meta.get(n)[t]:null}};const x=new Map;s.find("get-components")||s.on("get-components",(t=>t.components=x));const A=t=>t;class O{renderState(t,n=null){if(!this.view)return;let i=n||this.view(t);if(s.debug&&s.run("debug",{component:this,_:i?".":"-",state:t,vdom:i,el:this.element}),"object"!=typeof document)return;const e="string"==typeof this.element&&this.element?document.getElementById(this.element)||document.querySelector(this.element):this.element;if(e){const t="_c";this.unload?e._component===this&&e.getAttribute(t)===this.tracking_id||(this.tracking_id=(new Date).valueOf().toString(),e.setAttribute(t,this.tracking_id),"undefined"!=typeof MutationObserver&&(this.observer||(this.observer=new MutationObserver((t=>{t[0].oldValue!==this.tracking_id&&document.body.contains(e)||(this.unload(this.state),this.observer.disconnect(),this.observer=null)}))),this.observer.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeOldValue:!0,attributeFilter:[t]}))):e.removeAttribute&&e.removeAttribute(t),e._component=this}!n&&i&&(i=r(i,this),this.options.transition&&document&&document.startViewTransition?document.startViewTransition((()=>s.render(e,i,this))):s.render(e,i,this)),this.rendered&&this.rendered(this.state)}setState(t,n={render:!0,history:!1}){if(t instanceof Promise)Promise.resolve(t).then((i=>{this.setState(i,n),this._state=t}));else{if(this._state=t,null==t)return;this.state=t,!1!==n.render&&(n.transition&&document&&document.startViewTransition?document.startViewTransition((()=>this.renderState(t))):this.renderState(t)),!1!==n.history&&this.enable_history&&(this._history=[...this._history,t],this._history_idx=this._history.length-1),"function"==typeof n.callback&&n.callback(this.state)}}constructor(n,i,s,e){this.state=n,this.view=i,this.update=s,this.options=e,this._app=new t,this._actions=[],this._global_events=[],this._history=[],this._history_idx=-1,this._history_prev=()=>{this._history_idx--,this._history_idx>=0?this.setState(this._history[this._history_idx],{render:!0,history:!1}):this._history_idx=0},this._history_next=()=>{this._history_idx++,this._history_idx<this._history.length?this.setState(this._history[this._history_idx],{render:!0,history:!1}):this._history_idx=this._history.length-1},this.start=(t=null,n)=>{if(this.mount(t,Object.assign({render:!0},n)),this.mounted&&"function"==typeof this.mounted){const t=this.mounted({},[],this.state);void 0!==t&&this.setState(t)}return this}}mount(t=null,n){var i,e;return console.assert(!this.element,"Component already mounted."),this.options=n=Object.assign(Object.assign({},this.options),n),this.element=t,this.global_event=n.global_event,this.enable_history=!!n.history,this.enable_history&&(this.on(n.history.prev||"history-prev",this._history_prev),this.on(n.history.next||"history-next",this._history_next)),n.route&&(this.update=this.update||{},this.update[n.route]||(this.update[n.route]=A)),this.add_actions(),this.state=null!==(e=null!==(i=this.state)&&void 0!==i?i:this.model)&&void 0!==e?e:{},"function"==typeof this.state&&(this.state=this.state()),this.setState(this.state,{render:!!n.render,history:!0}),s.debug&&(x.get(t)?x.get(t).push(this):x.set(t,[this])),this}is_global_event(t){return t&&(this.global_event||this._global_events.indexOf(t)>=0||t.startsWith("#")||t.startsWith("/")||t.startsWith("@"))}add_action(t,n,i={}){n&&"function"==typeof n&&(i.global&&this._global_events.push(t),this.on(t,((...e)=>{s.debug&&s.run("debug",{component:this,_:">",event:t,p:e,current_state:this.state,options:i});const o=n(this.state,...e);s.debug&&s.run("debug",{component:this,_:"<",event:t,p:e,newState:o,state:this.state,options:i}),this.setState(o,i)}),i))}add_actions(){const t=this.update||{};j.getMetadataKeys(this).forEach((n=>{if(n.startsWith("apprun-update:")){const i=j.getMetadata(n,this);t[i.name]=[this[i.key].bind(this),i.options]}}));const n={};Array.isArray(t)?t.forEach((t=>{const[i,s,e]=t;i.toString().split(",").forEach((t=>n[t.trim()]=[s,e]))})):Object.keys(t).forEach((i=>{const s=t[i];("function"==typeof s||Array.isArray(s))&&i.split(",").forEach((t=>n[t.trim()]=s))})),n["."]||(n["."]=A),Object.keys(n).forEach((t=>{const i=n[t];"function"==typeof i?this.add_action(t,i):Array.isArray(i)&&this.add_action(t,i[0],i[1])}))}run(t,...n){if(this.state instanceof Promise)return Promise.resolve(this.state).then((i=>{this.state=i,this.run(t,...n)}));{const i=t.toString();return this.is_global_event(i)?s.run(i,...n):this._app.run(i,...n)}}on(t,n,i){const e=t.toString();return this._actions.push({name:e,fn:n}),this.is_global_event(e)?s.on(e,n,i):this._app.on(e,n,i)}runAsync(t,...n){const i=t.toString();return this.is_global_event(i)?s.runAsync(i,...n):this._app.runAsync(i,...n)}query(t,...n){return this.runAsync(t,...n)}unmount(){var t;null===(t=this.observer)||void 0===t||t.disconnect(),this._actions.forEach((t=>{const{name:n,fn:i}=t;this.is_global_event(n)?s.off(n,i):this._app.off(n,i)}))}}O.t=!0;const _="//",k="///",T=t=>{if(t||(t="#"),t.startsWith("#")){const[n,...i]=t.split("/");s.run(n,...i)||s.run(k,n,...i),s.run(_,n,...i)}else if(t.startsWith("/")){const[n,i,...e]=t.split("/");s.run("/"+i,...e)||s.run(k,"/"+i,...e),s.run(_,"/"+i,...e)}else s.run(t)||s.run(k,t),s.run(_,t)};s.h=s.createElement=u,s.render=d,s.Fragment=h,s.webComponent=$,s.safeHTML=v,s.start=(t,n,i,s,e)=>{const o=Object.assign({render:!0,global_event:!0},e),r=new O(n,i,s);return e&&e.rendered&&(r.rendered=e.rendered),e&&e.mounted&&(r.mounted=e.mounted),r.start(t,o),r};const C=t=>{};
|
|
1
|
+
class t{constructor(){this._events={}}on(t,n,i={}){this._events[t]=this._events[t]||[],this._events[t].push({fn:n,options:i})}off(t,n){const i=this._events[t]||[];this._events[t]=i.filter((t=>t.fn!==n))}find(t){return this._events[t]}run(t,...n){const i=this.getSubscribers(t,this._events);return console.assert(i&&i.length>0,"No subscriber for event: "+t),i.forEach((i=>{const{fn:s,options:e}=i;return e.delay?this.delay(t,s,n,e):Object.keys(e).length>0?s.apply(this,[...n,e]):s.apply(this,n),!i.options.once})),i.length}once(t,n,i={}){this.on(t,n,Object.assign(Object.assign({},i),{once:!0}))}delay(t,n,i,s){s._t&&clearTimeout(s._t),s._t=setTimeout((()=>{clearTimeout(s._t),Object.keys(s).length>0?n.apply(this,[...i,s]):n.apply(this,i)}),s.delay)}runAsync(t,...n){const i=this.getSubscribers(t,this._events);console.assert(i&&i.length>0,"No subscriber for event: "+t);const s=i.map((t=>{const{fn:i,options:s}=t;return Object.keys(s).length>0?i.apply(this,[...n,s]):i.apply(this,n)}));return Promise.all(s)}query(t,...n){return this.query(t,...n)}getSubscribers(t,n){const i=n[t]||[];return n[t]=i.filter((t=>!t.options.once)),Object.keys(n).filter((n=>n.endsWith("*")&&t.startsWith(n.replace("*","")))).sort(((t,n)=>n.length-t.length)).forEach((s=>i.push(...n[s].map((n=>Object.assign(Object.assign({},n),{options:Object.assign(Object.assign({},n.options),{event:t})})))))),i}}let n;const i="object"==typeof self&&self.self===self&&self||"object"==typeof global&&global.global===global&&global;i.app&&i._AppRunVersions?n=i.app:(n=new t,i.app=n,i._AppRunVersions="AppRun-3");var s=n;const e=(t,n)=>(n?t.state[n]:t.state)||"",o=(t,n,i)=>{if(n){const s=t.state||{};s[n]=i,t.setState(s)}else t.setState(i)},r=(t,n)=>{if(Array.isArray(t))return t.map((t=>r(t,n)));{let{type:i,tag:h,props:l,children:c}=t;return h=h||i,c=c||(null==l?void 0:l.children),l&&Object.keys(l).forEach((t=>{t.startsWith("$")&&(((t,n,i,r)=>{if(t.startsWith("$on")){const i=n[t];if(t=t.substring(1),"boolean"==typeof i)n[t]=n=>r.run?r.run(t,n):s.run(t,n);else if("string"==typeof i)n[t]=t=>r.run?r.run(i,t):s.run(i,t);else if("function"==typeof i)n[t]=t=>r.setState(i(r.state,t));else if(Array.isArray(i)){const[e,...o]=i;"string"==typeof e?n[t]=t=>r.run?r.run(e,...o,t):s.run(e,...o,t):"function"==typeof e&&(n[t]=t=>r.setState(e(r.state,...o,t)))}}else if("$bind"===t){const s=n.type||"text",h="string"==typeof n[t]?n[t]:n.name;if("input"===i)switch(s){case"checkbox":n.checked=e(r,h),n.onclick=t=>o(r,h||t.target.name,t.target.checked);break;case"radio":n.checked=e(r,h)===n.value,n.onclick=t=>o(r,h||t.target.name,t.target.value);break;case"number":case"range":n.value=e(r,h),n.oninput=t=>o(r,h||t.target.name,Number(t.target.value));break;default:n.value=e(r,h),n.oninput=t=>o(r,h||t.target.name,t.target.value)}else"select"===i?(n.value=e(r,h),n.onchange=t=>{t.target.multiple||o(r,h||t.target.name,t.target.value)}):"option"===i?(n.selected=e(r,h),n.onclick=t=>o(r,h||t.target.name,t.target.selected)):"textarea"===i&&(n.innerHTML=e(r,h),n.oninput=t=>o(r,h||t.target.name,t.target.value))}else s.run("$",{key:t,tag:i,props:n,component:r})})(t,l,h,n),delete l[t])})),c&&r(c,n),t}};function h(t,...n){return c(n)}const l="_props";function c(t){const n=[],i=t=>{null!=t&&""!==t&&!1!==t&&n.push("function"==typeof t||"object"==typeof t?t:`${t}`)};return t&&t.forEach((t=>{Array.isArray(t)?t.forEach((t=>i(t))):i(t)})),n}function u(t,n,...i){const s=c(i);if("string"==typeof t)return{tag:t,props:n,children:s};if(Array.isArray(t))return t;if(void 0===t&&i)return s;if(Object.getPrototypeOf(t).t)return{tag:t,props:n,children:s};if("function"==typeof t)return t(n,s);throw new Error(`Unknown tag in vdom ${t}`)}const a=new WeakMap,d=(t,n,i={})=>{if(null==n||!1===n)return;!function(t,n,i={}){if(null==n||!1===n)return;if(n=g(n,i),!t)return;const s="SVG"===t.nodeName;Array.isArray(n)?f(t,n,s):f(t,[n],s)}("string"==typeof t&&t?document.getElementById(t)||document.querySelector(t):t,n=r(n,i),i)};function p(t,n,i){3!==n._op&&(i=i||"svg"===n.tag,!function(t,n){const i=t.nodeName,s=`${n.tag||""}`;return i.toUpperCase()===s.toUpperCase()}(t,n)?t.parentNode.replaceChild(b(n,i),t):(!(2&n._op)&&f(t,n.children,i),!(1&n._op)&&m(t,n.props,i)))}function f(t,n,i){var s,e;const o=(null===(s=t.childNodes)||void 0===s?void 0:s.length)||0,r=(null==n?void 0:n.length)||0,h=Math.min(o,r);for(let s=0;s<h;s++){const e=n[s];if(3===e._op)continue;const o=t.childNodes[s];if("string"==typeof e)o.textContent!==e&&(3===o.nodeType?o.nodeValue=e:t.replaceChild(y(e),o));else if(e instanceof HTMLElement||e instanceof SVGElement)t.insertBefore(e,o);else{const n=e.props&&e.props.key;if(n)if(o.key===n)p(t.childNodes[s],e,i);else{const r=a[n];if(r){const n=r.nextSibling;t.insertBefore(r,o),n?t.insertBefore(o,n):t.appendChild(o),p(t.childNodes[s],e,i)}else t.replaceChild(b(e,i),o)}else p(t.childNodes[s],e,i)}}let l=(null===(e=t.childNodes)||void 0===e?void 0:e.length)||0;for(;l>h;)t.removeChild(t.lastChild),l--;if(r>h){const s=document.createDocumentFragment();for(let t=h;t<n.length;t++)s.appendChild(b(n[t],i));t.appendChild(s)}}const v=t=>{const n=document.createElement("section");return n.insertAdjacentHTML("afterbegin",t),Array.from(n.children)};function y(t){if(0===(null==t?void 0:t.indexOf("_html:"))){const n=document.createElement("div");return n.insertAdjacentHTML("afterbegin",t.substring(6)),n}return document.createTextNode(null!=t?t:"")}function b(t,n){if(t instanceof HTMLElement||t instanceof SVGElement)return t;if("string"==typeof t)return y(t);if(!t.tag||"function"==typeof t.tag)return y(JSON.stringify(t));const i=(n=n||"svg"===t.tag)?document.createElementNS("http://www.w3.org/2000/svg",t.tag):document.createElement(t.tag);return m(i,t.props,n),t.children&&t.children.forEach((t=>i.appendChild(b(t,n)))),i}function m(t,n,i){const s=t[l]||{};n=function(t,n){n.class=n.class||n.className,delete n.className;const i={};return t&&Object.keys(t).forEach((t=>i[t]=null)),n&&Object.keys(n).forEach((t=>i[t]=n[t])),i}(s,n||{}),t[l]=n;for(const s in n){const e=n[s];if(s.startsWith("data-")){const n=s.substring(5).replace(/-(\w)/g,(t=>t[1].toUpperCase()));t.dataset[n]!==e&&(e||""===e?t.dataset[n]=e:delete t.dataset[n])}else if("style"===s)if(t.style.cssText&&(t.style.cssText=""),"string"==typeof e)t.style.cssText=e;else for(const n in e)t.style[n]!==e[n]&&(t.style[n]=e[n]);else if(s.startsWith("xlink")){const n=s.replace("xlink","").toLowerCase();null==e||!1===e?t.removeAttributeNS("http://www.w3.org/1999/xlink",n):t.setAttributeNS("http://www.w3.org/1999/xlink",n,e)}else s.startsWith("on")?e&&"function"!=typeof e?"string"==typeof e&&(e?t.setAttribute(s,e):t.removeAttribute(s)):t[s]=e:/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-|^for$/g.test(s)||i?t.getAttribute(s)!==e&&(e?t.setAttribute(s,e):t.removeAttribute(s)):t[s]!==e&&(t[s]=e);"key"===s&&e&&(a[e]=t)}n&&"function"==typeof n.ref&&window.requestAnimationFrame((()=>n.ref(t)))}function g(t,n,i=0){var s;if("string"==typeof t)return t;if(Array.isArray(t))return t.map((t=>g(t,n,i++)));let e=t;if(t&&"function"==typeof t.tag&&Object.getPrototypeOf(t.tag).t&&(e=function(t,n,i){const{tag:s,props:e,children:o}=t;let r=`_${i}`,h=e&&e.id;h?r=h:h=`_${i}${Date.now()}`;let l="section";e&&e.as&&(l=e.as,delete e.as),n.i||(n.i={});let c=n.i[r];if(c&&c instanceof s&&c.element)c.renderState(c.state);else{const t=document.createElement(l);c=n.i[r]=new s(Object.assign(Object.assign({},e),{children:o})).mount(t,{render:!0})}if(c.mounted){const t=c.mounted(e,o,c.state);void 0!==t&&c.setState(t)}return m(c.element,e,!1),c.element}(t,n,i)),e&&Array.isArray(e.children)){const t=null===(s=e.props)||void 0===s?void 0:s._component;if(t){let n=0;e.children=e.children.map((i=>g(i,t,n++)))}else e.children=e.children.map((t=>g(t,n,i++)))}return e}const w=(t,n={})=>class extends HTMLElement{constructor(){super()}get component(){return this._component}get state(){return this._component.state}static get observedAttributes(){return(n.observedAttributes||[]).map((t=>t.toLowerCase()))}connectedCallback(){if(this.isConnected&&!this._component){const i=n||{};this._shadowRoot=i.shadow?this.attachShadow({mode:"open"}):this;const s=i.observedAttributes||[],e=s.reduce(((t,n)=>{const i=n.toLowerCase();return i!==n&&(t[i]=n),t}),{});this._attrMap=t=>e[t]||t;const o={};Array.from(this.attributes).forEach((t=>o[this._attrMap(t.name)]=t.value)),s.forEach((t=>{void 0!==this[t]&&(o[t]=this[t]),Object.defineProperty(this,t,{get:()=>o[t],set(n){this.attributeChangedCallback(t,o[t],n)},configurable:!0,enumerable:!0})})),requestAnimationFrame((()=>{const n=this.children?Array.from(this.children):[];if(this._component=new t(Object.assign(Object.assign({},o),{children:n})).mount(this._shadowRoot,i),this._component._props=o,this._component.dispatchEvent=this.dispatchEvent.bind(this),this._component.mounted){const t=this._component.mounted(o,n,this._component.state);void 0!==t&&(this._component.state=t)}this.on=this._component.on.bind(this._component),this.run=this._component.run.bind(this._component),!1!==i.render&&this._component.run(".")}))}}disconnectedCallback(){var t,n,i,s;null===(n=null===(t=this._component)||void 0===t?void 0:t.unload)||void 0===n||n.call(t),null===(s=null===(i=this._component)||void 0===i?void 0:i.unmount)||void 0===s||s.call(i),this._component=null}attributeChangedCallback(t,i,s){if(this._component){const e=this._attrMap(t);this._component._props[e]=s,this._component.run("attributeChanged",e,i,s),s!==i&&!1!==n.render&&window.requestAnimationFrame((()=>{this._component.run(".")}))}}};var $=(t,n,i)=>{"undefined"!=typeof customElements&&customElements.define(t,w(n,i))};const j={meta:new WeakMap,defineMetadata(t,n,i){this.meta.has(i)||this.meta.set(i,{}),this.meta.get(i)[t]=n},getMetadataKeys(t){return t=Object.getPrototypeOf(t),this.meta.get(t)?Object.keys(this.meta.get(t)):[]},getMetadata(t,n){return n=Object.getPrototypeOf(n),this.meta.get(n)?this.meta.get(n)[t]:null}};const x=new Map;s.find("get-components")||s.on("get-components",(t=>t.components=x));const A=t=>t;class O{renderState(t,n=null){if(!this.view)return;let i=n||this.view(t);if(s.debug&&s.run("debug",{component:this,_:i?".":"-",state:t,vdom:i,el:this.element}),"object"!=typeof document)return;const e="string"==typeof this.element&&this.element?document.getElementById(this.element)||document.querySelector(this.element):this.element;if(!e)return;const o="_c";this.unload?e._component===this&&e.getAttribute(o)===this.tracking_id||(this.tracking_id=(new Date).valueOf().toString(),e.setAttribute(o,this.tracking_id),"undefined"!=typeof MutationObserver&&(this.observer||(this.observer=new MutationObserver((t=>{t[0].oldValue!==this.tracking_id&&document.body.contains(e)||(this.unload(this.state),this.observer.disconnect(),this.observer=null)}))),this.observer.observe(document.body,{childList:!0,subtree:!0,attributes:!0,attributeOldValue:!0,attributeFilter:[o]}))):e.removeAttribute&&e.removeAttribute(o),e._component=this,!n&&i&&(i=r(i,this),this.options.transition&&document&&document.startViewTransition?document.startViewTransition((()=>s.render(e,i,this))):s.render(e,i,this)),this.rendered&&this.rendered(this.state)}setState(t,n={render:!0,history:!1}){if(t instanceof Promise)Promise.resolve(t).then((i=>{this.setState(i,n),this._state=t}));else{if(this._state=t,null==t)return;this.state=t,!1!==n.render&&(n.transition&&document&&document.startViewTransition?document.startViewTransition((()=>this.renderState(t))):this.renderState(t)),!1!==n.history&&this.enable_history&&(this._history=[...this._history,t],this._history_idx=this._history.length-1),"function"==typeof n.callback&&n.callback(this.state)}}constructor(n,i,s,e){this.state=n,this.view=i,this.update=s,this.options=e,this._app=new t,this._actions=[],this._global_events=[],this._history=[],this._history_idx=-1,this._history_prev=()=>{this._history_idx--,this._history_idx>=0?this.setState(this._history[this._history_idx],{render:!0,history:!1}):this._history_idx=0},this._history_next=()=>{this._history_idx++,this._history_idx<this._history.length?this.setState(this._history[this._history_idx],{render:!0,history:!1}):this._history_idx=this._history.length-1},this.start=(t=null,n)=>{if(this.mount(t,Object.assign({render:!0},n)),this.mounted&&"function"==typeof this.mounted){const t=this.mounted({},[],this.state);void 0!==t&&this.setState(t)}return this}}mount(t=null,n){var i,e;return console.assert(!this.element,"Component already mounted."),this.options=n=Object.assign(Object.assign({},this.options),n),this.element=t,this.global_event=n.global_event,this.enable_history=!!n.history,this.enable_history&&(this.on(n.history.prev||"history-prev",this._history_prev),this.on(n.history.next||"history-next",this._history_next)),n.route&&(this.update=this.update||{},this.update[n.route]||(this.update[n.route]=A)),this.add_actions(),this.state=null!==(e=null!==(i=this.state)&&void 0!==i?i:this.model)&&void 0!==e?e:{},"function"==typeof this.state&&(this.state=this.state()),this.setState(this.state,{render:!!n.render,history:!0}),s.debug&&(x.get(t)?x.get(t).push(this):x.set(t,[this])),this}is_global_event(t){return t&&(this.global_event||this._global_events.indexOf(t)>=0||t.startsWith("#")||t.startsWith("/")||t.startsWith("@"))}add_action(t,n,i={}){n&&"function"==typeof n&&(i.global&&this._global_events.push(t),this.on(t,((...e)=>{s.debug&&s.run("debug",{component:this,_:">",event:t,p:e,current_state:this.state,options:i});const o=n(this.state,...e);s.debug&&s.run("debug",{component:this,_:"<",event:t,p:e,newState:o,state:this.state,options:i}),this.setState(o,i)}),i))}add_actions(){const t=this.update||{};j.getMetadataKeys(this).forEach((n=>{if(n.startsWith("apprun-update:")){const i=j.getMetadata(n,this);t[i.name]=[this[i.key].bind(this),i.options]}}));const n={};Array.isArray(t)?t.forEach((t=>{const[i,s,e]=t;i.toString().split(",").forEach((t=>n[t.trim()]=[s,e]))})):Object.keys(t).forEach((i=>{const s=t[i];("function"==typeof s||Array.isArray(s))&&i.split(",").forEach((t=>n[t.trim()]=s))})),n["."]||(n["."]=A),Object.keys(n).forEach((t=>{const i=n[t];"function"==typeof i?this.add_action(t,i):Array.isArray(i)&&this.add_action(t,i[0],i[1])}))}run(t,...n){if(this.state instanceof Promise)return Promise.resolve(this.state).then((i=>{this.state=i,this.run(t,...n)}));{const i=t.toString();return this.is_global_event(i)?s.run(i,...n):this._app.run(i,...n)}}on(t,n,i){const e=t.toString();return this._actions.push({name:e,fn:n}),this.is_global_event(e)?s.on(e,n,i):this._app.on(e,n,i)}runAsync(t,...n){const i=t.toString();return this.is_global_event(i)?s.runAsync(i,...n):this._app.runAsync(i,...n)}query(t,...n){return this.runAsync(t,...n)}unmount(){var t;null===(t=this.observer)||void 0===t||t.disconnect(),this._actions.forEach((t=>{const{name:n,fn:i}=t;this.is_global_event(n)?s.off(n,i):this._app.off(n,i)}))}}O.t=!0;const _="//",k="///",T=t=>{if(t||(t="#"),t.startsWith("#")){const[n,...i]=t.split("/");s.run(n,...i)||s.run(k,n,...i),s.run(_,n,...i)}else if(t.startsWith("/")){const[n,i,...e]=t.split("/");s.run("/"+i,...e)||s.run(k,"/"+i,...e),s.run(_,"/"+i,...e)}else s.run(t)||s.run(k,t),s.run(_,t)};s.h=s.createElement=u,s.render=d,s.Fragment=h,s.webComponent=$,s.safeHTML=v,s.start=(t,n,i,s,e)=>{const o=Object.assign({render:!0,global_event:!0},e),r=new O(n,i,s);return e&&e.rendered&&(r.rendered=e.rendered),e&&e.mounted&&(r.mounted=e.mounted),r.start(t,o),r};const C=t=>{};
|
|
2
2
|
/**
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2017 Google LLC
|