apprun 3.33.8 → 3.33.10
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/.clinerules +1 -0
- package/LICENSE +1 -1
- package/README.md +1 -1
- package/WHATSNEW.md +59 -0
- package/apprun-cli.js +5 -5
- package/apprun.d.ts +12 -0
- package/dist/apprun-dev-tools.js +1 -1
- package/dist/apprun-dev-tools.js.map +1 -1
- package/dist/apprun-html.esm.js +21 -4
- package/dist/apprun-html.esm.js.map +1 -1
- package/dist/apprun-html.js +1 -1
- package/dist/apprun-html.js.LICENSE.txt +6 -0
- package/dist/apprun-html.js.map +1 -1
- package/dist/apprun-play-html.esm.js +21 -4
- 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 +37 -9
- package/esm/app.js.map +1 -1
- package/esm/apprun-code.js.map +1 -1
- package/esm/apprun-dev-tools-tests.js.map +1 -1
- package/esm/apprun-dev-tools.js.map +1 -1
- package/esm/apprun-html.js.map +1 -1
- package/esm/apprun-play.js.map +1 -1
- package/esm/apprun.js +55 -3
- package/esm/apprun.js.map +1 -1
- package/esm/component.js +59 -1
- package/esm/component.js.map +1 -1
- package/esm/decorator.js +33 -0
- package/esm/decorator.js.map +1 -1
- package/esm/directive.js +31 -0
- package/esm/directive.js.map +1 -1
- package/esm/router.js +24 -0
- package/esm/router.js.map +1 -1
- package/esm/types.js +28 -0
- package/esm/types.js.map +1 -1
- package/esm/vdom-lit-html.js +19 -17
- package/esm/vdom-lit-html.js.map +1 -1
- package/esm/vdom-my.js.map +1 -1
- package/esm/vdom-patch.js.map +1 -1
- package/esm/vdom-to-html.js.map +1 -1
- package/esm/vdom.js +25 -0
- package/esm/vdom.js.map +1 -1
- package/esm/web-component.js +32 -0
- package/esm/web-component.js.map +1 -1
- package/index.html +2 -2
- package/jest.config.js +63 -0
- package/jest.setup.js +47 -0
- package/jsx-runtime.js +2 -0
- package/jsx-runtime.js.map +1 -0
- package/package.json +16 -43
- package/react.js +0 -15
- package/rollup.config.js +27 -10
- package/src/app.ts +61 -28
- package/src/apprun.ts +82 -7
- package/src/component.ts +57 -1
- package/src/decorator.ts +34 -1
- package/src/directive.ts +33 -1
- package/src/global.d.ts +22 -0
- package/src/router.ts +26 -1
- package/src/types/apprun.d.ts +56 -0
- package/src/types.ts +30 -1
- package/src/vdom-lit-html.ts +21 -19
- package/src/vdom.ts +26 -2
- package/src/web-component.ts +33 -0
- package/tsconfig.jest.json +27 -3
- package/tsconfig.json +3 -3
- package/webpack.config.cjs +10 -2
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 _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.runAsync(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 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\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\nif (!app.start) {\n app.h = app.createElement = createElement;\n app.render = render;\n app.Fragment = Fragment;\n app.webComponent = webComponent;\n app.safeHTML = safeHTML;\n\n app.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\n const NOOP = _ => {/* Intentionally empty */ }\n app.on('$', NOOP);\n app.on('debug', _ => NOOP);\n app.on(ROUTER_EVENT, NOOP);\n app.on('#', NOOP);\n app['route'] = route;\n app.on('route', url => app['route'] && app['route'](url));\n\n if (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 }\n\n if (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\n app.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\n app.use_react = (React, ReactDOM) => {\n app.h = app.createElement = React.createElement;\n app.Fragment = React.Fragment;\n app.render = (el, vdom) => ReactDOM.render(vdom, el);\n if (React.version && React.version.startsWith('18')) {\n app.render = (el, vdom) => {\n if (!el || !vdom) return;\n if (!el._root) el._root = ReactDOM.createRoot(el);\n el._root.render(vdom);\n }\n }\n }\n}\n","import app from './app';\n\nconst getStateValue = (component, name) => {\n return (name ? component['state'][name] : component['state']) || '';\n}\n\nconst setStateValue = (component, name, value) => {\n if (name) {\n const state = component['state'] || {};\n state[name] = value;\n component.setState(state);\n } else {\n component.setState(value);\n }\n}\n\nconst apply_directive = (key: string, props: {}, tag, component) => {\n if (key.startsWith('$on')) {\n const event = props[key];\n key = key.substring(1)\n if (typeof event === 'boolean') {\n props[key] = e => component.run ? 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=window,s=i.trustedTypes,e=s?s.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,o=\"$lit$\",n=`lit$${(Math.random()+\"\").slice(9)}$`,l=\"?\"+n,h=`<${l}>`,r=document,u=()=>r.createComment(\"\"),d=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,c=Array.isArray,v=t=>c(t)||\"function\"==typeof(null==t?void 0:t[Symbol.iterator]),a=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,_=/-->/g,m=/>/g,p=RegExp(`>|${a}(?:([^\\\\s\"'>=/]+)(${a}*=${a}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),g=/'/g,$=/\"/g,y=/^(?:script|style|textarea|title)$/i,w=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=w(1),b=w(2),T=Symbol.for(\"lit-noChange\"),A=Symbol.for(\"lit-nothing\"),E=new WeakMap,C=r.createTreeWalker(r,129,null,!1);function P(t,i){if(!Array.isArray(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==e?e.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,e=[];let l,r=2===i?\"<svg>\":\"\",u=f;for(let i=0;i<s;i++){const s=t[i];let d,c,v=-1,a=0;for(;a<s.length&&(u.lastIndex=a,c=u.exec(s),null!==c);)a=u.lastIndex,u===f?\"!--\"===c[1]?u=_:void 0!==c[1]?u=m:void 0!==c[2]?(y.test(c[2])&&(l=RegExp(\"</\"+c[2],\"g\")),u=p):void 0!==c[3]&&(u=p):u===p?\">\"===c[0]?(u=null!=l?l:f,v=-1):void 0===c[1]?v=-2:(v=u.lastIndex-c[2].length,d=c[1],u=void 0===c[3]?p:'\"'===c[3]?$:g):u===$||u===g?u=p:u===_||u===m?u=f:(u=p,l=void 0);const w=u===p&&t[i+1].startsWith(\"/>\")?\" \":\"\";r+=u===f?s+h:v>=0?(e.push(d),s.slice(0,v)+o+s.slice(v)+n+w):s+n+(-2===v?(e.push(void 0),i):w)}return[P(t,r+(t[s]||\"<?>\")+(2===i?\"</svg>\":\"\")),e]};class N{constructor({strings:t,_$litType$:i},e){let h;this.parts=[];let r=0,d=0;const c=t.length-1,v=this.parts,[a,f]=V(t,i);if(this.el=N.createElement(a,e),C.currentNode=this.el.content,2===i){const t=this.el.content,i=t.firstChild;i.remove(),t.append(...i.childNodes)}for(;null!==(h=C.nextNode())&&v.length<c;){if(1===h.nodeType){if(h.hasAttributes()){const t=[];for(const i of h.getAttributeNames())if(i.endsWith(o)||i.startsWith(n)){const s=f[d++];if(t.push(i),void 0!==s){const t=h.getAttribute(s.toLowerCase()+o).split(n),i=/([.?@])?(.*)/.exec(s);v.push({type:1,index:r,name:i[2],strings:t,ctor:\".\"===i[1]?H:\"?\"===i[1]?L:\"@\"===i[1]?z:k})}else v.push({type:6,index:r})}for(const i of t)h.removeAttribute(i)}if(y.test(h.tagName)){const t=h.textContent.split(n),i=t.length-1;if(i>0){h.textContent=s?s.emptyScript:\"\";for(let s=0;s<i;s++)h.append(t[s],u()),C.nextNode(),v.push({type:2,index:++r});h.append(t[i],u())}}}else if(8===h.nodeType)if(h.data===l)v.push({type:2,index:r});else{let t=-1;for(;-1!==(t=h.data.indexOf(n,t+1));)v.push({type:7,index:r}),t+=n.length-1}r++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){var o,n,l,h;if(i===T)return i;let r=void 0!==e?null===(o=s._$Co)||void 0===o?void 0:o[e]:s._$Cl;const u=d(i)?void 0:i._$litDirective$;return(null==r?void 0:r.constructor)!==u&&(null===(n=null==r?void 0:r._$AO)||void 0===n||n.call(r,!1),void 0===u?r=void 0:(r=new u(t),r._$AT(t,s,e)),void 0!==e?(null!==(l=(h=s)._$Co)&&void 0!==l?l:h._$Co=[])[e]=r:s._$Cl=r),void 0!==r&&(i=S(t,r._$AS(t,i.values),r,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){var i;const{el:{content:s},parts:e}=this._$AD,o=(null!==(i=null==t?void 0:t.creationScope)&&void 0!==i?i:r).importNode(s,!0);C.currentNode=o;let n=C.nextNode(),l=0,h=0,u=e[0];for(;void 0!==u;){if(l===u.index){let i;2===u.type?i=new R(n,n.nextSibling,this,t):1===u.type?i=new u.ctor(n,u.name,u.strings,this,t):6===u.type&&(i=new Z(n,this,t)),this._$AV.push(i),u=e[++h]}l!==(null==u?void 0:u.index)&&(n=C.nextNode(),l++)}return C.currentNode=r,o}v(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{constructor(t,i,s,e){var o;this.type=2,this._$AH=A,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cp=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._$Cp}get parentNode(){let t=this._$AA.parentNode;const i=this._$AM;return void 0!==i&&11===(null==t?void 0:t.nodeType)&&(t=i.parentNode),t}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(t,i=this){t=S(this,t,i),d(t)?t===A||null==t||\"\"===t?(this._$AH!==A&&this._$AR(),this._$AH=A):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.g(t):void 0!==t.nodeType?this.$(t):v(t)?this.T(t):this._(t)}k(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}$(t){this._$AH!==t&&(this._$AR(),this._$AH=this.k(t))}_(t){this._$AH!==A&&d(this._$AH)?this._$AA.nextSibling.data=t:this.$(r.createTextNode(t)),this._$AH=t}g(t){var i;const{values:s,_$litType$:e}=t,o=\"number\"==typeof e?this._$AC(t):(void 0===e.el&&(e.el=N.createElement(P(e.h,e.h[0]),this.options)),e);if((null===(i=this._$AH)||void 0===i?void 0:i._$AD)===o)this._$AH.v(s);else{const t=new M(o,this),i=t.u(this.options);t.v(s),this.$(i),this._$AH=t}}_$AC(t){let i=E.get(t.strings);return void 0===i&&E.set(t.strings,i=new N(t)),i}T(t){c(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 R(this.k(u()),this.k(u()),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._$Cp=t,null===(i=this._$AP)||void 0===i||i.call(this,t))}}class k{constructor(t,i,s,e,o){this.type=1,this._$AH=A,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=A}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=S(this,t,i,0),n=!d(t)||t!==this._$AH&&t!==T,n&&(this._$AH=t);else{const e=t;let l,h;for(t=o[0],l=0;l<o.length-1;l++)h=S(this,e[s+l],i,l),h===T&&(h=this._$AH[l]),n||(n=!d(h)||h!==this._$AH[l]),h===A?t=A:t!==A&&(t+=(null!=h?h:\"\")+o[l+1]),this._$AH[l]=h}n&&!e&&this.j(t)}j(t){t===A?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,null!=t?t:\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===A?void 0:t}}const I=s?s.emptyScript:\"\";class L extends k{constructor(){super(...arguments),this.type=4}j(t){t&&t!==A?this.element.setAttribute(this.name,I):this.element.removeAttribute(this.name)}}class z extends k{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=S(this,t,i,0))&&void 0!==s?s:A)===T)return;const e=this._$AH,o=t===A&&e!==A||t.capture!==e.capture||t.once!==e.once||t.passive!==e.passive,n=t!==A&&(e===A||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 Z{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){S(this,t)}}const j={O:o,P:n,A:l,C:1,M:V,L:M,R:v,D:S,I:R,V:k,H:L,N:z,U:H,F:Z},B=i.litHtmlPolyfillSupport;null==B||B(N,R),(null!==(t=i.litHtmlVersions)&&void 0!==t?t:i.litHtmlVersions=[]).push(\"2.8.0\");const D=(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 R(i.insertBefore(u(),t),t,void 0,null!=s?s:{})}return l._$AI(t),l};export{j as _$LH,x as html,T as noChange,A as nothing,D as render,b 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.et=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.et=r;if(r===i)return r;if(\"string\"!=typeof r)throw Error(this.constructor.directiveName+\"() called with a non-string value\");if(r===this.et)return this.ft;this.et=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 (vdom['_$litType$']) {\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","React","ReactDOM","version","_root","createRoot","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","trustedTypes","createPolicy","createHTML","random","slice","l","r","u","createComment","f","m","RegExp","$","y","w","_$litType$","strings","x","T","Symbol","for","A","E","C","createTreeWalker","P","hasOwnProperty","V","lastIndex","exec","N","parts","currentNode","content","firstChild","remove","append","nextNode","hasAttributes","getAttributeNames","index","ctor","H","L","z","k","tagName","emptyScript","data","innerHTML","S","_$Co","_$Cl","_$AO","call","M","_$AV","_$AN","_$AD","creationScope","importNode","R","Z","_$AI","_$AH","_$AA","_$AB","_$Cp","startNode","endNode","_$AR","iterator","_$AC","_$AP","setConnected","fill","String","j","arguments","I","capture","passive","removeEventListener","handleEvent","host","B","litHtmlPolyfillSupport","litHtmlVersions","D","renderBefore","_$litPart$","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","globalThis","Function","obj","prop","prototype","toStringTag","et","directiveName","ft","raw","resultType","_render","replaceChildren","RunDirective","partInfo","part","params","getComponent","parentElement"],"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/reactive-element/css-tag.js","webpack://apprun/./node_modules/@lit/reactive-element/reactive-element.js","webpack://apprun/./node_modules/lit-element/lit-element.js","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 ","/**\n * Core AppRun application class and singleton instance\n *\n * This file provides:\n * 1. App class - The core event system implementation with pub/sub capabilities\n * - on(): Subscribe to events\n * - off(): Unsubscribe from events\n * - run(): Publish events synchronously\n * - runAsync(): Publish events asynchronously\n * - query(): Alias for runAsync\n *\n * 2. Default app singleton - Global event bus instance\n * - Created once and reused across the application\n * - Stored in global scope (window/global)\n * - Version tracked to prevent duplicate instances\n *\n * Usage:\n * ```ts\n * // Subscribe to events\n * app.on('event-name', (state, ...args) => {\n * // Handle event\n * });\n *\n * // Publish events\n * app.run('event-name', ...args);\n * ```\n */\n\nimport { EventOptions} from './types'\n\nexport class App {\n\n _events: { [key: string]: Array<{ fn: (...args: any[]) => any, options: EventOptions }> };\n\n public start: any;\n public h: any;\n public createElement: any;\n public render: any;\n public Fragment: any;\n public webComponent: any;\n public safeHTML: any;\n public use_render: any;\n public use_react: any;\n public route: any;\n public use_prettyLink: () => void;\n\n constructor() {\n this._events = {} as { [key: string]: Array<{ fn: (...args: any[]) => any, options: EventOptions }> };\n }\n\n on(name: string, fn: (...args: any[]) => any, 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: any[]) => any): 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: any[]): 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: (...args: any[]) => any, options: EventOptions = {}): void {\n this.on(name, fn, { ...options, once: true });\n }\n\n private delay(name: string, fn: (...args: any[]) => any, args: any[], options: EventOptions): 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: any[]): 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: any[]): Promise<any[]> {\n return this.runAsync(name, ...args);\n }\n\n private getSubscribers(name: string, events: { [key: string]: Array<{ fn: (...args: any[]) => any, options: EventOptions }> }): Array<{ fn: (...args: any[]) => any, options: EventOptions }> {\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 window !== 'undefined' ? window :\n typeof global !== 'undefined' ? global :\n typeof self !== 'undefined' ? self : {}) as any;\n\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","/**\n * Web Components Integration\n * \n * This file enables using AppRun components as Web Components:\n * 1. Custom Element Creation\n * - Converts AppRun components to custom elements\n * - Handles lifecycle (connected, disconnected, etc)\n * - Manages shadow DOM and light DOM rendering\n * \n * 2. Property/Attribute Sync\n * - Observes attribute changes\n * - Updates component state automatically\n * - Handles camelCase/kebab-case conversion\n * - Supports complex property types\n * \n * 3. Event Handling\n * - Proxies events between component and element\n * - Supports both global and local events\n * - Maintains proper event bubbling\n * \n * Usage:\n * ```ts\n * // Register web component\n * @customElement('my-element')\n * class MyComponent extends Component {\n * // Regular AppRun component code\n * }\n * \n * // Use in HTML\n * <my-element name=\"value\"></my-element>\n * ```\n */\n\ndeclare 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/**\n * TypeScript Decorators for AppRun Components\n * \n * This file provides decorators that enable:\n * 1. Event Handler Registration\n * - @on(): Subscribe to events with options\n * - @update(): Define state updates with metadata\n * \n * 2. Web Component Integration\n * - @customElement(): Register as custom element with options\n * - Handles shadow DOM and attribute observation\n * \n * 3. Metadata Management\n * - Custom Reflect implementation for decorator metadata\n * - Stores event handler and update metadata\n * - Supports runtime reflection for dynamic behavior\n * \n * Usage:\n * ```ts\n * @customElement('my-element')\n * class MyComponent extends Component {\n * @on('event') \n * handler(state, ...args) {\n * // Handle event\n * }\n * \n * @update('event') \n * updater(state, ...args) {\n * // Update state\n * }\n * }\n * ```\n */\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","/**\r\n * AppRun Component System Implementation\r\n *\r\n * This file provides the Component class which is the foundation for:\r\n * 1. State Management\r\n * - Maintains component state\r\n * - Handles state updates\r\n * - Supports state history\r\n *\r\n * 2. View Rendering\r\n * - Renders virtual DOM to real DOM\r\n * - Handles component lifecycle (mounted, rendered, unload)\r\n * - Supports shadow DOM and web components\r\n *\r\n * 3. Event Handling\r\n * - Local and global event subscription\r\n * - Event handler registration via decorators\r\n * - Action to state updates\r\n *\r\n * Usage:\r\n * ```ts\r\n * class MyComponent extends Component {\r\n * state = // Initial state\r\n * view = state => // Return virtual DOM\r\n * update = {\r\n * 'event': (state, ...args) => // Return new state\r\n * }\r\n * }\r\n *\r\n * // Mount component\r\n * new MyComponent().mount('element-id');\r\n * ```\r\n */\r\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\r\n const handleAsyncIterator = async (iterator: AsyncIterator<T>) => {\r\n try {\r\n while (true) {\r\n const { value, done } = await iterator.next();\r\n if (done) break;\r\n this.setState(value, options);\r\n }\r\n } catch (e) {\r\n console.error('Error in async iterator:', e);\r\n }\r\n };\r\n\r\n const result = state as any;\r\n if (result?.[Symbol.asyncIterator]) {\r\n // handleAsyncIterator(result[Symbol.asyncIterator]());\r\n this.setState(handleAsyncIterator(result[Symbol.asyncIterator]()) as any, options);\r\n return;\r\n } else if (result?.[Symbol.iterator] && typeof result.next === \"function\") {\r\n for (const value of result) {\r\n this.setState(value, options);\r\n }\r\n return;\r\n } else if (state && 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","/**\n * AppRun Router Implementation\n * \n * This file provides URL routing capabilities:\n * 1. Hash-based routing (#/path)\n * 2. Path-based routing (/path) \n * 3. Event-based navigation\n * \n * Features:\n * - Automatic route event firing\n * - 404 handling via ROUTER_404_EVENT\n * - History API integration\n * - Route parameter parsing\n * \n * Usage:\n * ```ts\n * // Handle routes\n * app.on('#/home', () => // Show home page);\n * app.on('#/users/:id', (id) => // Show user profile);\n * \n * // Navigate programmatically\n * app.run('route', '#/home');\n * ```\n */\n\nimport 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;\n","/**\n * Main AppRun framework entry point\n *\n * This file:\n * 1. Assembles core AppRun modules into a complete framework\n * 2. Exports public API and types\n * 3. Initializes global app instance with:\n * - Virtual DOM rendering\n * - Component system\n * - Router\n * - Web component support\n *\n * Key exports:\n * - app: Global event system instance\n * - Component: Base component class\n * - Decorators: @on, @update, @customElement\n * - Router events and configuration\n * - Web component registration\n *\n * Usage:\n * ```ts\n * import { app, Component } from 'apprun';\n *\n * // Create components\n * class MyComponent extends Component {\n * state = // Initial state\n * view = state => // Render view\n * update = {\n * 'event': (state, ...args) => // Handle events\n * }\n * }\n * ```\n */\n\nimport 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 type StatelessComponent<T = {}> = (args: T) => string | VNode | void;\ntype OnDecorator = {\n <T = any>(options?: any): (constructor: Function) => void;\n <E = string>(events?: E, options?: any): (target: any, key: string) => void;\n};\n\nexport {\n App,\n app,\n Component,\n View,\n Action,\n Update,\n on,\n update,\n EventOptions,\n ActionOptions,\n MountOptions,\n Fragment,\n safeHTML\n}\nexport { update as event };\nexport { ROUTER_EVENT, ROUTER_404_EVENT };\nexport { customElement, CustomElementOptions, AppStartOptions };\nexport default app as IApp;\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\nif (!app.start) {\n app.h = app.createElement = createElement;\n app.render = render;\n app.Fragment = Fragment;\n app.webComponent = webComponent;\n app.safeHTML = safeHTML;\n\n app.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\n const NOOP = _ => {/* Intentionally empty */ }\n app.on('$', NOOP);\n app.on('debug', _ => NOOP);\n app.on(ROUTER_EVENT, NOOP);\n app.on('#', NOOP);\n app['route'] = route;\n app.on('route', url => app['route'] && app['route'](url));\n\n if (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 }\n\n type ComponentType = typeof Component & {\n <T = any>(options?: any): (constructor: Function) => void;\n };\n\n if (typeof window === 'object') {\n window['Component'] = Component as ComponentType;\n window['_React'] = window['React'];\n window['React'] = app;\n window['on'] = on as OnDecorator;\n window['customElement'] = customElement;\n window['safeHTML'] = safeHTML;\n }\n\n app.use_render = (render, mode = 0) => {\n if (mode === 0) {\n app.render = (el, vdom) => render(vdom, el); // react style\n } else {\n app.render = (el, vdom) => render(el, vdom); // apprun style\n }\n };\n\n app.use_react = (React, ReactDOM) => {\n app.h = app.createElement = React.createElement;\n app.Fragment = React.Fragment;\n app.render = (el, vdom) => ReactDOM.render(vdom, el);\n if (React.version && React.version.startsWith('18')) {\n app.render = (el, vdom) => {\n if (!el || !vdom) return;\n if (!el._root) el._root = ReactDOM.createRoot(el);\n el._root.render(vdom);\n }\n }\n }\n\n app.use_prettyLink = () => {\n window.onload = () => app.route(location.pathname);\n window.addEventListener(\"popstate\", () => app.route(location.pathname));\n document.body.addEventListener('click', e => {\n const element = e.target as HTMLElement;\n const menu = (element.tagName === 'A' ? element : element.closest('a')) as HTMLAnchorElement;\n if (menu &&\n menu.origin === location.origin) {\n e.preventDefault();\n history.pushState(null, '', menu.pathname);\n app.route(menu.pathname);\n }\n });\n }\n}\n","/**\n * Component Directives Implementation\n * \n * This file provides built-in directives for components:\n * 1. Event Binding\n * - $on: Bind DOM events to component events\n * - Supports event delegation and parameters\n * - Handles function, string, and array event handlers\n * \n * 2. Two-way Data Binding\n * - $bind: Sync form elements with component state\n * - Handles input types: text, checkbox, radio, select\n * - Automatic value type conversion\n * - Support for complex property paths\n * \n * 3. Custom Directives\n * - Extensible directive system\n * - Processes virtual DOM during rendering\n * - Supports custom attribute directives\n * \n * Usage:\n * ```tsx\n * // Event binding\n * <button $onclick=\"event-name\">Click</button>\n * <input $oninput={e => setState(e.target.value)} />\n * \n * // Two-way binding\n * <input $bind=\"state.property\" />\n * <select $bind=\"selected\">...</select>\n * ```\n */\n\nimport 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;\n","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 */\nconst t=globalThis,i=t.trustedTypes,s=i?i.createPolicy(\"lit-html\",{createHTML:t=>t}):void 0,e=\"$lit$\",h=`lit$${Math.random().toFixed(9).slice(2)}$`,o=\"?\"+h,n=`<${o}>`,r=document,l=()=>r.createComment(\"\"),c=t=>null===t||\"object\"!=typeof t&&\"function\"!=typeof t,a=Array.isArray,u=t=>a(t)||\"function\"==typeof t?.[Symbol.iterator],d=\"[ \\t\\n\\f\\r]\",f=/<(?:(!--|\\/[^a-zA-Z])|(\\/?[a-zA-Z][^>\\s]*)|(\\/?$))/g,v=/-->/g,_=/>/g,m=RegExp(`>|${d}(?:([^\\\\s\"'>=/]+)(${d}*=${d}*(?:[^ \\t\\n\\f\\r\"'\\`<>=]|(\"|')|))|$)`,\"g\"),p=/'/g,g=/\"/g,$=/^(?:script|style|textarea|title)$/i,y=t=>(i,...s)=>({_$litType$:t,strings:i,values:s}),x=y(1),b=y(2),w=y(3),T=Symbol.for(\"lit-noChange\"),E=Symbol.for(\"lit-nothing\"),A=new WeakMap,C=r.createTreeWalker(r,129);function P(t,i){if(!a(t)||!t.hasOwnProperty(\"raw\"))throw Error(\"invalid template strings array\");return void 0!==s?s.createHTML(i):i}const V=(t,i)=>{const s=t.length-1,o=[];let r,l=2===i?\"<svg>\":3===i?\"<math>\":\"\",c=f;for(let i=0;i<s;i++){const s=t[i];let a,u,d=-1,y=0;for(;y<s.length&&(c.lastIndex=y,u=c.exec(s),null!==u);)y=c.lastIndex,c===f?\"!--\"===u[1]?c=v:void 0!==u[1]?c=_:void 0!==u[2]?($.test(u[2])&&(r=RegExp(\"</\"+u[2],\"g\")),c=m):void 0!==u[3]&&(c=m):c===m?\">\"===u[0]?(c=r??f,d=-1):void 0===u[1]?d=-2:(d=c.lastIndex-u[2].length,a=u[1],c=void 0===u[3]?m:'\"'===u[3]?g:p):c===g||c===p?c=m:c===v||c===_?c=f:(c=m,r=void 0);const x=c===m&&t[i+1].startsWith(\"/>\")?\" \":\"\";l+=c===f?s+n:d>=0?(o.push(a),s.slice(0,d)+e+s.slice(d)+h+x):s+h+(-2===d?i:x)}return[P(t,l+(t[s]||\"<?>\")+(2===i?\"</svg>\":3===i?\"</math>\":\"\")),o]};class N{constructor({strings:t,_$litType$:s},n){let r;this.parts=[];let c=0,a=0;const u=t.length-1,d=this.parts,[f,v]=V(t,s);if(this.el=N.createElement(f,n),C.currentNode=this.el.content,2===s||3===s){const t=this.el.content.firstChild;t.replaceWith(...t.childNodes)}for(;null!==(r=C.nextNode())&&d.length<u;){if(1===r.nodeType){if(r.hasAttributes())for(const t of r.getAttributeNames())if(t.endsWith(e)){const i=v[a++],s=r.getAttribute(t).split(h),e=/([.?@])?(.*)/.exec(i);d.push({type:1,index:c,name:e[2],strings:s,ctor:\".\"===e[1]?H:\"?\"===e[1]?I:\"@\"===e[1]?L:k}),r.removeAttribute(t)}else t.startsWith(h)&&(d.push({type:6,index:c}),r.removeAttribute(t));if($.test(r.tagName)){const t=r.textContent.split(h),s=t.length-1;if(s>0){r.textContent=i?i.emptyScript:\"\";for(let i=0;i<s;i++)r.append(t[i],l()),C.nextNode(),d.push({type:2,index:++c});r.append(t[s],l())}}}else if(8===r.nodeType)if(r.data===o)d.push({type:2,index:c});else{let t=-1;for(;-1!==(t=r.data.indexOf(h,t+1));)d.push({type:7,index:c}),t+=h.length-1}c++}}static createElement(t,i){const s=r.createElement(\"template\");return s.innerHTML=t,s}}function S(t,i,s=t,e){if(i===T)return i;let h=void 0!==e?s._$Co?.[e]:s._$Cl;const o=c(i)?void 0:i._$litDirective$;return h?.constructor!==o&&(h?._$AO?.(!1),void 0===o?h=void 0:(h=new o(t),h._$AT(t,s,e)),void 0!==e?(s._$Co??=[])[e]=h:s._$Cl=h),void 0!==h&&(i=S(t,h._$AS(t,i.values),h,e)),i}class M{constructor(t,i){this._$AV=[],this._$AN=void 0,this._$AD=t,this._$AM=i}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(t){const{el:{content:i},parts:s}=this._$AD,e=(t?.creationScope??r).importNode(i,!0);C.currentNode=e;let h=C.nextNode(),o=0,n=0,l=s[0];for(;void 0!==l;){if(o===l.index){let i;2===l.type?i=new R(h,h.nextSibling,this,t):1===l.type?i=new l.ctor(h,l.name,l.strings,this,t):6===l.type&&(i=new z(h,this,t)),this._$AV.push(i),l=s[++n]}o!==l?.index&&(h=C.nextNode(),o++)}return C.currentNode=r,e}p(t){let i=0;for(const s of this._$AV)void 0!==s&&(void 0!==s.strings?(s._$AI(t,s,i),i+=s.strings.length-2):s._$AI(t[i])),i++}}class R{get _$AU(){return this._$AM?._$AU??this._$Cv}constructor(t,i,s,e){this.type=2,this._$AH=E,this._$AN=void 0,this._$AA=t,this._$AB=i,this._$AM=s,this.options=e,this._$Cv=e?.isConnected??!0}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=S(this,t,i),c(t)?t===E||null==t||\"\"===t?(this._$AH!==E&&this._$AR(),this._$AH=E):t!==this._$AH&&t!==T&&this._(t):void 0!==t._$litType$?this.$(t):void 0!==t.nodeType?this.T(t):u(t)?this.k(t):this._(t)}O(t){return this._$AA.parentNode.insertBefore(t,this._$AB)}T(t){this._$AH!==t&&(this._$AR(),this._$AH=this.O(t))}_(t){this._$AH!==E&&c(this._$AH)?this._$AA.nextSibling.data=t:this.T(r.createTextNode(t)),this._$AH=t}$(t){const{values:i,_$litType$:s}=t,e=\"number\"==typeof s?this._$AC(t):(void 0===s.el&&(s.el=N.createElement(P(s.h,s.h[0]),this.options)),s);if(this._$AH?._$AD===e)this._$AH.p(i);else{const t=new M(e,this),s=t.u(this.options);t.p(i),this.T(s),this._$AH=t}}_$AC(t){let i=A.get(t.strings);return void 0===i&&A.set(t.strings,i=new N(t)),i}k(t){a(this._$AH)||(this._$AH=[],this._$AR());const i=this._$AH;let s,e=0;for(const h of t)e===i.length?i.push(s=new R(this.O(l()),this.O(l()),this,this.options)):s=i[e],s._$AI(h),e++;e<i.length&&(this._$AR(s&&s._$AB.nextSibling,e),i.length=e)}_$AR(t=this._$AA.nextSibling,i){for(this._$AP?.(!1,!0,i);t&&t!==this._$AB;){const i=t.nextSibling;t.remove(),t=i}}setConnected(t){void 0===this._$AM&&(this._$Cv=t,this._$AP?.(t))}}class k{get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}constructor(t,i,s,e,h){this.type=1,this._$AH=E,this._$AN=void 0,this.element=t,this.name=i,this._$AM=e,this.options=h,s.length>2||\"\"!==s[0]||\"\"!==s[1]?(this._$AH=Array(s.length-1).fill(new String),this.strings=s):this._$AH=E}_$AI(t,i=this,s,e){const h=this.strings;let o=!1;if(void 0===h)t=S(this,t,i,0),o=!c(t)||t!==this._$AH&&t!==T,o&&(this._$AH=t);else{const e=t;let n,r;for(t=h[0],n=0;n<h.length-1;n++)r=S(this,e[s+n],i,n),r===T&&(r=this._$AH[n]),o||=!c(r)||r!==this._$AH[n],r===E?t=E:t!==E&&(t+=(r??\"\")+h[n+1]),this._$AH[n]=r}o&&!e&&this.j(t)}j(t){t===E?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,t??\"\")}}class H extends k{constructor(){super(...arguments),this.type=3}j(t){this.element[this.name]=t===E?void 0:t}}class I extends k{constructor(){super(...arguments),this.type=4}j(t){this.element.toggleAttribute(this.name,!!t&&t!==E)}}class L extends k{constructor(t,i,s,e,h){super(t,i,s,e,h),this.type=5}_$AI(t,i=this){if((t=S(this,t,i,0)??E)===T)return;const s=this._$AH,e=t===E&&s!==E||t.capture!==s.capture||t.once!==s.once||t.passive!==s.passive,h=t!==E&&(s===E||e);e&&this.element.removeEventListener(this.name,this,s),h&&this.element.addEventListener(this.name,this,t),this._$AH=t}handleEvent(t){\"function\"==typeof this._$AH?this._$AH.call(this.options?.host??this.element,t):this._$AH.handleEvent(t)}}class z{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){S(this,t)}}const Z={M:e,P:h,A:o,C:1,L:V,R:M,D:u,V:S,I:R,H:k,N:I,U:L,B:H,F:z},j=t.litHtmlPolyfillSupport;j?.(N,R),(t.litHtmlVersions??=[]).push(\"3.3.0\");const B=(t,i,s)=>{const e=s?.renderBefore??i;let h=e._$litPart$;if(void 0===h){const t=s?.renderBefore??null;e._$litPart$=h=new R(i.insertBefore(l(),t),t,void 0,s??{})}return h._$AI(t),h};export{Z as _$LH,x as html,w as mathml,T as noChange,E as nothing,B as render,b 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};","/**\n * @license\n * Copyright 2019 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nconst t=globalThis,e=t.ShadowRoot&&(void 0===t.ShadyCSS||t.ShadyCSS.nativeShadow)&&\"adoptedStyleSheets\"in Document.prototype&&\"replace\"in CSSStyleSheet.prototype,s=Symbol(),o=new WeakMap;class n{constructor(t,e,o){if(this._$cssResult$=!0,o!==s)throw Error(\"CSSResult is not constructable. Use `unsafeCSS` or `css` instead.\");this.cssText=t,this.t=e}get styleSheet(){let t=this.o;const s=this.t;if(e&&void 0===t){const e=void 0!==s&&1===s.length;e&&(t=o.get(s)),void 0===t&&((this.o=t=new CSSStyleSheet).replaceSync(this.cssText),e&&o.set(s,t))}return t}toString(){return this.cssText}}const r=t=>new n(\"string\"==typeof t?t:t+\"\",void 0,s),i=(t,...e)=>{const o=1===t.length?t[0]:e.reduce(((e,s,o)=>e+(t=>{if(!0===t._$cssResult$)return t.cssText;if(\"number\"==typeof t)return t;throw Error(\"Value passed to 'css' function must be a 'css' function result: \"+t+\". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.\")})(s)+t[o+1]),t[0]);return new n(o,t,s)},S=(s,o)=>{if(e)s.adoptedStyleSheets=o.map((t=>t instanceof CSSStyleSheet?t:t.styleSheet));else for(const e of o){const o=document.createElement(\"style\"),n=t.litNonce;void 0!==n&&o.setAttribute(\"nonce\",n),o.textContent=e.cssText,s.appendChild(o)}},c=e?t=>t:t=>t instanceof CSSStyleSheet?(t=>{let e=\"\";for(const s of t.cssRules)e+=s.cssText;return r(e)})(t):t;export{n as CSSResult,S as adoptStyles,i as css,c as getCompatibleStyle,e as supportsAdoptingStyleSheets,r as unsafeCSS};\n//# sourceMappingURL=css-tag.js.map\n","import{getCompatibleStyle as t,adoptStyles as s}from\"./css-tag.js\";export{CSSResult,css,supportsAdoptingStyleSheets,unsafeCSS}from\"./css-tag.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const{is:i,defineProperty:e,getOwnPropertyDescriptor:h,getOwnPropertyNames:r,getOwnPropertySymbols:o,getPrototypeOf:n}=Object,a=globalThis,c=a.trustedTypes,l=c?c.emptyScript:\"\",p=a.reactiveElementPolyfillSupport,d=(t,s)=>t,u={toAttribute(t,s){switch(s){case Boolean:t=t?l:null;break;case Object:case Array:t=null==t?t:JSON.stringify(t)}return t},fromAttribute(t,s){let i=t;switch(s){case Boolean:i=null!==t;break;case Number:i=null===t?null:Number(t);break;case Object:case Array:try{i=JSON.parse(t)}catch(t){i=null}}return i}},f=(t,s)=>!i(t,s),b={attribute:!0,type:String,converter:u,reflect:!1,useDefault:!1,hasChanged:f};Symbol.metadata??=Symbol(\"metadata\"),a.litPropertyMetadata??=new WeakMap;class y extends HTMLElement{static addInitializer(t){this._$Ei(),(this.l??=[]).push(t)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(t,s=b){if(s.state&&(s.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(t)&&((s=Object.create(s)).wrapped=!0),this.elementProperties.set(t,s),!s.noAccessor){const i=Symbol(),h=this.getPropertyDescriptor(t,i,s);void 0!==h&&e(this.prototype,t,h)}}static getPropertyDescriptor(t,s,i){const{get:e,set:r}=h(this.prototype,t)??{get(){return this[s]},set(t){this[s]=t}};return{get:e,set(s){const h=e?.call(this);r?.call(this,s),this.requestUpdate(t,h,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(t){return this.elementProperties.get(t)??b}static _$Ei(){if(this.hasOwnProperty(d(\"elementProperties\")))return;const t=n(this);t.finalize(),void 0!==t.l&&(this.l=[...t.l]),this.elementProperties=new Map(t.elementProperties)}static finalize(){if(this.hasOwnProperty(d(\"finalized\")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d(\"properties\"))){const t=this.properties,s=[...r(t),...o(t)];for(const i of s)this.createProperty(i,t[i])}const t=this[Symbol.metadata];if(null!==t){const s=litPropertyMetadata.get(t);if(void 0!==s)for(const[t,i]of s)this.elementProperties.set(t,i)}this._$Eh=new Map;for(const[t,s]of this.elementProperties){const i=this._$Eu(t,s);void 0!==i&&this._$Eh.set(i,t)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(s){const i=[];if(Array.isArray(s)){const e=new Set(s.flat(1/0).reverse());for(const s of e)i.unshift(t(s))}else void 0!==s&&i.push(t(s));return i}static _$Eu(t,s){const i=s.attribute;return!1===i?void 0:\"string\"==typeof i?i:\"string\"==typeof t?t.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((t=>this.enableUpdating=t)),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((t=>t(this)))}addController(t){(this._$EO??=new Set).add(t),void 0!==this.renderRoot&&this.isConnected&&t.hostConnected?.()}removeController(t){this._$EO?.delete(t)}_$E_(){const t=new Map,s=this.constructor.elementProperties;for(const i of s.keys())this.hasOwnProperty(i)&&(t.set(i,this[i]),delete this[i]);t.size>0&&(this._$Ep=t)}createRenderRoot(){const t=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return s(t,this.constructor.elementStyles),t}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((t=>t.hostConnected?.()))}enableUpdating(t){}disconnectedCallback(){this._$EO?.forEach((t=>t.hostDisconnected?.()))}attributeChangedCallback(t,s,i){this._$AK(t,i)}_$ET(t,s){const i=this.constructor.elementProperties.get(t),e=this.constructor._$Eu(t,i);if(void 0!==e&&!0===i.reflect){const h=(void 0!==i.converter?.toAttribute?i.converter:u).toAttribute(s,i.type);this._$Em=t,null==h?this.removeAttribute(e):this.setAttribute(e,h),this._$Em=null}}_$AK(t,s){const i=this.constructor,e=i._$Eh.get(t);if(void 0!==e&&this._$Em!==e){const t=i.getPropertyOptions(e),h=\"function\"==typeof t.converter?{fromAttribute:t.converter}:void 0!==t.converter?.fromAttribute?t.converter:u;this._$Em=e,this[e]=h.fromAttribute(s,t.type)??this._$Ej?.get(e)??null,this._$Em=null}}requestUpdate(t,s,i){if(void 0!==t){const e=this.constructor,h=this[t];if(i??=e.getPropertyOptions(t),!((i.hasChanged??f)(h,s)||i.useDefault&&i.reflect&&h===this._$Ej?.get(t)&&!this.hasAttribute(e._$Eu(t,i))))return;this.C(t,s,i)}!1===this.isUpdatePending&&(this._$ES=this._$EP())}C(t,s,{useDefault:i,reflect:e,wrapped:h},r){i&&!(this._$Ej??=new Map).has(t)&&(this._$Ej.set(t,r??s??this[t]),!0!==h||void 0!==r)||(this._$AL.has(t)||(this.hasUpdated||i||(s=void 0),this._$AL.set(t,s)),!0===e&&this._$Em!==t&&(this._$Eq??=new Set).add(t))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(t){Promise.reject(t)}const t=this.scheduleUpdate();return null!=t&&await t,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(const[t,s]of this._$Ep)this[t]=s;this._$Ep=void 0}const t=this.constructor.elementProperties;if(t.size>0)for(const[s,i]of t){const{wrapped:t}=i,e=this[s];!0!==t||this._$AL.has(s)||void 0===e||this.C(s,void 0,i,e)}}let t=!1;const s=this._$AL;try{t=this.shouldUpdate(s),t?(this.willUpdate(s),this._$EO?.forEach((t=>t.hostUpdate?.())),this.update(s)):this._$EM()}catch(s){throw t=!1,this._$EM(),s}t&&this._$AE(s)}willUpdate(t){}_$AE(t){this._$EO?.forEach((t=>t.hostUpdated?.())),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(t)),this.updated(t)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(t){return!0}update(t){this._$Eq&&=this._$Eq.forEach((t=>this._$ET(t,this[t]))),this._$EM()}updated(t){}firstUpdated(t){}}y.elementStyles=[],y.shadowRootOptions={mode:\"open\"},y[d(\"elementProperties\")]=new Map,y[d(\"finalized\")]=new Map,p?.({ReactiveElement:y}),(a.reactiveElementVersions??=[]).push(\"2.1.0\");export{y as ReactiveElement,s as adoptStyles,u as defaultConverter,t as getCompatibleStyle,f as notEqual};\n//# sourceMappingURL=reactive-element.js.map\n","import{ReactiveElement as t}from\"@lit/reactive-element\";export*from\"@lit/reactive-element\";import{render as e,noChange as r}from\"lit-html\";export*from\"lit-html\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */const s=globalThis;class i extends t{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){const t=super.createRenderRoot();return this.renderOptions.renderBefore??=t.firstChild,t}update(t){const r=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(t),this._$Do=e(r,this.renderRoot,this.renderOptions)}connectedCallback(){super.connectedCallback(),this._$Do?.setConnected(!0)}disconnectedCallback(){super.disconnectedCallback(),this._$Do?.setConnected(!1)}render(){return r}}i._$litElement$=!0,i[\"finalized\"]=!0,s.litElementHydrateSupport?.({LitElement:i});const o=s.litElementPolyfillSupport;o?.({LitElement:i});const n={_$AK:(t,e,r)=>{t._$AK(e,r)},_$AL:t=>t._$AL};(s.litElementVersions??=[]).push(\"4.2.0\");export{i as LitElement,n as _$LE};\n//# sourceMappingURL=lit-element.js.map\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._t=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._t;this.it=r;const s=[r];return s.raw=s,this._t={_$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';\nimport { directive, Directive, PartInfo, ElementPart, DirectiveResult, EventPart, PartType } from 'lit/directive.js';\nimport { unsafeHTML } from 'lit/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 (vdom['_$litType$']) {\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) { // In lit v3, use PartType.EVENT\n throw new Error('run() can only be used in event handlers');\n }\n }\n // Override update to perform any direct DOM manipulation\n update(part: EventPart, props: Array<any>): DirectiveResult {\n /* Any imperative updates to DOM/parts would go here */\n const element = part.element;\n const name = part.name;\n const [eventOrFn, ...args] = props;\n \n const getComponent = () => {\n let el = element;\n let component = el['_component'];\n while (!component && el) {\n el = el.parentElement;\n component = el && el['_component'];\n }\n console.assert(!!component, 'Component not found.');\n return component;\n }\n\n if (typeof eventOrFn === 'string') {\n element[`on${name}`] = e => {\n const component = getComponent();\n component ? component.run(eventOrFn, ...args, e) : app.run(eventOrFn, ...args, e)\n }\n } else if (typeof eventOrFn === 'function') {\n element[`on${name}`] = e => getComponent().setState(eventOrFn(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","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","window","g","self","app","_AppRunVersions","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","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","result","Symbol","asyncIterator","async","iterator","done","next","e","error","handleAsyncIterator","resolve","then","v","_state","enable_history","_history","_history_idx","callback","_actions","_global_events","_history_prev","_history_next","start","global_event","prev","route","add_actions","is_global_event","indexOf","add_action","action","global","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","React","ReactDOM","version","_root","createRoot","use_prettyLink","onload","pathname","menu","tagName","closest","origin","preventDefault","pushState","getStateValue","setStateValue","type","tag","substring","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","toFixed","slice","r","l","createComment","f","m","RegExp","$","y","_$litType$","strings","x","T","for","E","A","C","createTreeWalker","P","hasOwnProperty","V","u","lastIndex","exec","N","parts","currentNode","content","firstChild","replaceWith","nextNode","hasAttributes","getAttributeNames","index","ctor","H","I","L","k","emptyScript","append","data","innerHTML","S","_$Co","_$Cl","_$AO","M","_$AV","_$AN","_$AD","creationScope","importNode","R","z","_$AI","_$Cv","_$AH","_$AA","_$AB","startNode","endNode","_$AR","O","_$AC","_$AP","remove","setConnected","fill","String","j","arguments","toggleAttribute","capture","passive","removeEventListener","handleEvent","call","host","litHtmlPolyfillSupport","litHtmlVersions","B","renderBefore","_$litPart$","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","definition","Function","obj","prop","prototype","toStringTag","ShadowRoot","ShadyCSS","nativeShadow","Document","CSSStyleSheet","_$cssResult$","styleSheet","replaceSync","adoptedStyleSheets","litNonce","cssRules","is","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","reactiveElementPolyfillSupport","toAttribute","Boolean","fromAttribute","parse","attribute","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","addInitializer","_$Ei","finalize","_$Eh","createProperty","wrapped","elementProperties","noAccessor","getPropertyDescriptor","requestUpdate","getPropertyOptions","finalized","properties","_$Eu","elementStyles","finalizeStyles","styles","Set","flat","reverse","unshift","_$Ep","isUpdatePending","hasUpdated","_$Em","_$Ev","_$ES","enableUpdating","_$AL","_$E_","addController","_$EO","add","renderRoot","hostConnected","removeController","delete","size","createRenderRoot","shadowRoot","shadowRootOptions","hostDisconnected","_$AK","_$ET","_$Ej","_$EP","_$Eq","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","ReactiveElement","reactiveElementVersions","renderOptions","_$Do","_$litElement$","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","it","directiveName","raw","resultType","_render","replaceChildren","RunDirective","partInfo","part","eventOrFn","getComponent","parentElement"],"sourceRoot":""}
|