apprun 3.33.10 → 3.36.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/WHATSNEW.md +58 -3
- package/apprun.d.ts +6 -6
- package/dist/apprun-dev-tools.js +1 -1
- package/dist/apprun-dev-tools.js.map +1 -1
- package/dist/apprun-html.esm.js +7 -7
- package/dist/apprun-html.esm.js.map +1 -1
- package/dist/apprun-html.js +1 -1
- package/dist/apprun-html.js.map +1 -1
- package/dist/apprun-play-html.esm.js +7 -7
- 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 +55 -11
- package/esm/app.js.map +1 -1
- package/esm/apprun-html.js +8 -4
- package/esm/apprun-html.js.map +1 -1
- package/esm/apprun.js +82 -28
- package/esm/apprun.js.map +1 -1
- package/esm/component.js +56 -19
- package/esm/component.js.map +1 -1
- package/esm/decorator.js +22 -5
- package/esm/decorator.js.map +1 -1
- package/esm/directive.js +64 -13
- package/esm/directive.js.map +1 -1
- package/esm/router.js +25 -4
- package/esm/router.js.map +1 -1
- package/esm/type-utils.js +91 -0
- package/esm/type-utils.js.map +1 -0
- package/esm/types.js +32 -11
- package/esm/types.js.map +1 -1
- package/esm/vdom-my.js +66 -43
- package/esm/vdom-my.js.map +1 -1
- package/esm/version.js +15 -0
- package/esm/version.js.map +1 -0
- package/esm/web-component.js +30 -10
- package/esm/web-component.js.map +1 -1
- package/index.html +1 -0
- package/jest.config.js +1 -7
- package/jsx-runtime.js +1 -1
- package/jsx-runtime.js.map +1 -1
- package/package.json +1 -1
- package/plan/plan-apprun-bugfixes.md +207 -0
- package/src/app.ts +57 -15
- package/src/apprun-html.ts +8 -4
- package/src/apprun.ts +98 -33
- package/src/component.ts +58 -20
- package/src/decorator.ts +23 -6
- package/src/directive.ts +64 -13
- package/src/router.ts +25 -6
- package/src/type-utils.ts +130 -0
- package/src/types.ts +33 -12
- package/src/vdom-my.ts +75 -39
- package/src/version.ts +16 -0
- package/src/web-component.ts +31 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apprun-html.esm.js","sources":["../esm/app.js","../esm/directive.js","../esm/vdom-my.js","../esm/web-component.js","../esm/decorator.js","../esm/component.js","../esm/router.js","../esm/apprun.js","../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/unsafe-html.js","../esm/vdom-lit-html.js","../esm/apprun-html.js"],"sourcesContent":["/**\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 */\nexport class App {\n constructor() {\n this._events = {};\n }\n on(name, fn, options = {}) {\n this._events[name] = this._events[name] || [];\n this._events[name].push({ fn, options });\n }\n off(name, fn) {\n const subscribers = this._events[name] || [];\n this._events[name] = subscribers.filter((sub) => sub.fn !== fn);\n }\n find(name) {\n return this._events[name];\n }\n run(name, ...args) {\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 }\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 return subscribers.length;\n }\n once(name, fn, options = {}) {\n this.on(name, fn, Object.assign(Object.assign({}, options), { once: true }));\n }\n delay(name, fn, args, options) {\n if (options._t)\n 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 runAsync(name, ...args) {\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 query(name, ...args) {\n return this.runAsync(name, ...args);\n }\n getSubscribers(name, events) {\n const subscribers = events[name] || [];\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 => (Object.assign(Object.assign({}, sub), { options: Object.assign(Object.assign({}, sub.options), { event: name }) })))));\n return subscribers;\n }\n}\nconst AppRunVersions = 'AppRun-3';\nlet _app;\nconst root = (typeof window !== 'undefined' ? window :\n typeof global !== 'undefined' ? global :\n typeof self !== 'undefined' ? self : {});\nif (root.app && root._AppRunVersions) {\n _app = root.app;\n}\nelse {\n _app = new App();\n root.app = _app;\n root._AppRunVersions = AppRunVersions;\n}\nexport default _app;\n//# sourceMappingURL=app.js.map","/**\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 */\nimport app from './app';\nconst getStateValue = (component, name) => {\n return (name ? component['state'][name] : component['state']) || '';\n};\nconst setStateValue = (component, name, value) => {\n if (name) {\n const state = component['state'] || {};\n state[name] = value;\n component.setState(state);\n }\n else {\n component.setState(value);\n }\n};\nconst apply_directive = (key, 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 }\n else if (typeof event === 'string') {\n props[key] = e => component.run ? component.run(event, e) : app.run(event, e);\n }\n else if (typeof event === 'function') {\n props[key] = e => component.setState(event(component.state, e));\n }\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 }\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 }\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 }\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 }\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 }\n else {\n app.run('$', { key, tag, props, component });\n }\n};\nconst directive = (vdom, component) => {\n if (Array.isArray(vdom)) {\n return vdom.map(element => directive(element, component));\n }\n else {\n let { type, tag, props, children } = vdom;\n tag = tag || type;\n children = children || (props === null || props === void 0 ? void 0 : props.children);\n if (props)\n 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)\n directive(children, component);\n return vdom;\n }\n};\nexport default directive;\n//# sourceMappingURL=directive.js.map","import directive from './directive';\nexport function Fragment(props, ...children) {\n return collect(children);\n}\nconst ATTR_PROPS = '_props';\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 }\n else {\n push(c);\n }\n });\n return ch;\n}\nexport function createElement(tag, props, ...children) {\n const ch = collect(children);\n if (typeof tag === 'string')\n return { tag, props, children: ch };\n else if (Array.isArray(tag))\n return tag; // JSX fragments - babel\n else if (tag === undefined && children)\n return ch; // JSX fragments - typescript\n else if (Object.getPrototypeOf(tag).__isAppRunComponent)\n return { tag, props, children: ch }; // createComponent(tag, { ...props, children });\n else if (typeof tag === 'function')\n return tag(props, ch);\n else\n throw new Error(`Unknown tag in vdom ${tag}`);\n}\n;\nconst keyCache = new WeakMap();\nexport const updateElement = (element, nodes, component = {}) => {\n // tslint:disable-next-line\n if (nodes == null || nodes === false)\n 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};\nfunction render(element, nodes, parent = {}) {\n // tslint:disable-next-line\n if (nodes == null || nodes === false)\n return;\n nodes = createComponent(nodes, parent);\n if (!element)\n return;\n const isSvg = element.nodeName === \"SVG\";\n if (Array.isArray(nodes)) {\n updateChildren(element, nodes, isSvg);\n }\n else {\n updateChildren(element, [nodes], isSvg);\n }\n}\nfunction same(el, node) {\n // if (!el || !node) return false;\n const key1 = el.nodeName;\n const key2 = `${node.tag || ''}`;\n return key1.toUpperCase() === key2.toUpperCase();\n}\nfunction update(element, node, isSvg) {\n if (node['_op'] === 3)\n 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}\nfunction updateChildren(element, children, isSvg) {\n var _a, _b;\n const old_len = ((_a = element.childNodes) === null || _a === void 0 ? void 0 : _a.length) || 0;\n const new_len = (children === null || children === void 0 ? void 0 : 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)\n 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 }\n else {\n element.replaceChild(createText(child), el);\n }\n }\n }\n else if (child instanceof HTMLElement || child instanceof SVGElement) {\n element.insertBefore(child, el);\n }\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 }\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 }\n else {\n element.replaceChild(create(child, isSvg), el);\n }\n }\n }\n else {\n update(element.childNodes[i], child, isSvg);\n }\n }\n }\n let n = ((_b = element.childNodes) === null || _b === void 0 ? void 0 : _b.length) || 0;\n while (n > len) {\n element.removeChild(element.lastChild);\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}\nexport const safeHTML = (html) => {\n const div = document.createElement('section');\n div.insertAdjacentHTML('afterbegin', html);\n return Array.from(div.children);\n};\nfunction createText(node) {\n if ((node === null || node === void 0 ? void 0 : node.indexOf('_html:')) === 0) { // ?\n const div = document.createElement('div');\n div.insertAdjacentHTML('afterbegin', node.substring(6));\n return div;\n }\n else {\n return document.createTextNode(node !== null && node !== void 0 ? node : '');\n }\n}\nfunction create(node, isSvg) {\n // console.assert(node !== null && node !== undefined);\n if ((node instanceof HTMLElement) || (node instanceof SVGElement))\n return node;\n if (typeof node === \"string\")\n return createText(node);\n if (!node.tag || (typeof node.tag === 'function'))\n 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 updateProps(element, node.props, isSvg);\n if (node.children)\n node.children.forEach(child => element.appendChild(create(child, isSvg)));\n return element;\n}\nfunction mergeProps(oldProps, newProps) {\n newProps['class'] = newProps['class'] || newProps['className'];\n delete newProps['className'];\n const props = {};\n if (oldProps)\n Object.keys(oldProps).forEach(p => props[p] = null);\n if (newProps)\n Object.keys(newProps).forEach(p => props[p] = newProps[p]);\n return props;\n}\nexport function updateProps(element, props, isSvg) {\n // console.assert(!!element);\n const cached = element[ATTR_PROPS] || {};\n props = mergeProps(cached, props || {});\n element[ATTR_PROPS] = props;\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 === \"\")\n element.dataset[cname] = value;\n else\n delete element.dataset[cname];\n }\n }\n else if (name === 'style') {\n if (element.style.cssText)\n element.style.cssText = '';\n if (typeof value === 'string')\n element.style.cssText = value;\n else {\n for (const s in value) {\n if (element.style[s] !== value[s])\n element.style[s] = value[s];\n }\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 }\n else {\n element.setAttributeNS('http://www.w3.org/1999/xlink', xname, value);\n }\n }\n else if (name.startsWith('on')) {\n if (!value || typeof value === 'function') {\n element[name] = value;\n }\n else if (typeof value === 'string') {\n if (value)\n element.setAttribute(name, value);\n else\n element.removeAttribute(name);\n }\n }\n else if (/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-|^for$/g.test(name) || isSvg) {\n if (element.getAttribute(name) !== value) {\n if (value)\n element.setAttribute(name, value);\n else\n element.removeAttribute(name);\n }\n }\n else if (element[name] !== value) {\n element[name] = value;\n }\n if (name === 'key' && value)\n keyCache[value] = element;\n }\n if (props && typeof props['ref'] === 'function') {\n window.requestAnimationFrame(() => props['ref'](element));\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)\n id = `_${idx}${Date.now()}`;\n else\n key = id;\n let asTag = 'section';\n if (props && props['as']) {\n asTag = props['as'];\n delete props['as'];\n }\n if (!parent.__componentCache)\n 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(Object.assign(Object.assign({}, props), { children })).mount(element, { render: true });\n }\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}\nfunction createComponent(node, parent, idx = 0) {\n var _a;\n if (typeof node === 'string')\n return node;\n if (Array.isArray(node))\n 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 = (_a = vdom.props) === null || _a === void 0 ? void 0 : _a._component;\n if (new_parent) {\n let i = 0;\n vdom.children = vdom.children.map(child => createComponent(child, new_parent, i++));\n }\n else {\n vdom.children = vdom.children.map(child => createComponent(child, parent, idx++));\n }\n }\n return vdom;\n}\n//# sourceMappingURL=vdom-my.js.map","/**\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 */\nexport const customElement = (componentClass, options = {}) => class CustomElement extends HTMLElement {\n constructor() {\n super();\n }\n get component() { return this._component; }\n get state() { return this._component.state; }\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 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 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) => attrMap[name] || name;\n const props = {};\n Array.from(this.attributes).forEach(item => props[this._attrMap(item.name)] = item.value);\n // add getters/ setters to allow observation on observedAttributes\n observedAttributes.forEach(name => {\n if (this[name] !== undefined)\n props[name] = this[name];\n Object.defineProperty(this, name, {\n get() {\n return props[name];\n },\n set(value) {\n // trigger change event\n this.attributeChangedCallback(name, props[name], value);\n },\n configurable: true,\n enumerable: true\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(Object.assign(Object.assign({}, 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')\n 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))\n this._component.run('.');\n });\n }\n }\n disconnectedCallback() {\n var _a, _b, _c, _d;\n (_b = (_a = this._component) === null || _a === void 0 ? void 0 : _a.unload) === null || _b === void 0 ? void 0 : _b.call(_a);\n (_d = (_c = this._component) === null || _c === void 0 ? void 0 : _c.unmount) === null || _d === void 0 ? void 0 : _d.call(_c);\n this._component = null;\n }\n attributeChangedCallback(name, oldValue, value) {\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 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};\nexport default (name, componentClass, options) => {\n (typeof customElements !== 'undefined') && customElements.define(name, customElement(componentClass, options));\n};\n//# sourceMappingURL=web-component.js.map","import webComponent from './web-component';\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// tslint:disable:no-invalid-this\nexport const Reflect = {\n meta: new WeakMap(),\n defineMetadata(metadataKey, metadataValue, target) {\n if (!this.meta.has(target))\n this.meta.set(target, {});\n this.meta.get(target)[metadataKey] = metadataValue;\n },\n getMetadataKeys(target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? Object.keys(this.meta.get(target)) : [];\n },\n getMetadata(metadataKey, target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? this.meta.get(target)[metadataKey] : null;\n }\n};\nexport function update(events, options = {}) {\n return (target, key, descriptor) => {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`, { name, key, options }, target);\n return descriptor;\n };\n}\nexport function on(events, options = {}) {\n return function (target, key) {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`, { name, key, options }, target);\n };\n}\nexport function customElement(name, options) {\n return function _customElement(constructor) {\n webComponent(name, constructor, options);\n return constructor;\n };\n}\n//# sourceMappingURL=decorator.js.map","/**\n * AppRun Component System Implementation\n *\n * This file provides the Component class which is the foundation for:\n * 1. State Management\n * - Maintains component state\n * - Handles state updates\n * - Supports state history\n *\n * 2. View Rendering\n * - Renders virtual DOM to real DOM\n * - Handles component lifecycle (mounted, rendered, unload)\n * - Supports shadow DOM and web components\n *\n * 3. Event Handling\n * - Local and global event subscription\n * - Event handler registration via decorators\n * - Action to state updates\n *\n * Usage:\n * ```ts\n * class MyComponent extends Component {\n * state = // Initial state\n * view = state => // Return virtual DOM\n * update = {\n * 'event': (state, ...args) => // Return new state\n * }\n * }\n *\n * // Mount component\n * new MyComponent().mount('element-id');\n * ```\n */\nimport app, { App } from './app';\nimport { Reflect } from './decorator';\nimport directive from './directive';\nconst componentCache = new Map();\nif (!app.find('get-components'))\n app.on('get-components', o => o.components = componentCache);\nconst REFRESH = state => state;\nexport class Component {\n renderState(state, vdom = null) {\n if (!this.view)\n return;\n let html = vdom || this.view(state);\n app['debug'] && app.run('debug', {\n component: this,\n _: html ? '.' : '-',\n state,\n vdom: html,\n el: this.element\n });\n if (typeof document !== 'object')\n return;\n const el = (typeof this.element === 'string' && this.element) ?\n document.getElementById(this.element) || document.querySelector(this.element) : this.element;\n if (!el)\n return;\n const tracking_attr = '_c';\n if (!this.unload) {\n el.removeAttribute && el.removeAttribute(tracking_attr);\n }\n else if (el['_component'] !== this || el.getAttribute(tracking_attr) !== this.tracking_id) {\n this.tracking_id = new Date().valueOf().toString();\n el.setAttribute(tracking_attr, this.tracking_id);\n if (typeof MutationObserver !== 'undefined') {\n if (!this.observer)\n this.observer = new MutationObserver(changes => {\n if (changes[0].oldValue === this.tracking_id || !document.body.contains(el)) {\n this.unload(this.state);\n this.observer.disconnect();\n this.observer = null;\n }\n });\n this.observer.observe(document.body, {\n childList: true, subtree: true,\n attributes: true, attributeOldValue: true, attributeFilter: [tracking_attr]\n });\n }\n }\n el['_component'] = this;\n if (!vdom && html) {\n html = directive(html, this);\n if (this.options.transition && document && document['startViewTransition']) {\n document['startViewTransition'](() => app.render(el, html, this));\n }\n else {\n app.render(el, html, this);\n }\n }\n this.rendered && this.rendered(this.state);\n }\n setState(state, options = { render: true, history: false }) {\n const handleAsyncIterator = async (iterator) => {\n try {\n while (true) {\n const { value, done } = await iterator.next();\n if (done)\n break;\n this.setState(value, options);\n }\n }\n catch (e) {\n console.error('Error in async iterator:', e);\n }\n };\n const result = state;\n if (result === null || result === void 0 ? void 0 : result[Symbol.asyncIterator]) {\n // handleAsyncIterator(result[Symbol.asyncIterator]());\n this.setState(handleAsyncIterator(result[Symbol.asyncIterator]()), options);\n return;\n }\n else if ((result === null || result === void 0 ? void 0 : result[Symbol.iterator]) && typeof result.next === \"function\") {\n for (const value of result) {\n this.setState(value, options);\n }\n return;\n }\n else if (state && state instanceof Promise) {\n // Promise will not be saved or rendered\n // state will be saved and rendered when promise is resolved\n Promise.resolve(state).then(v => {\n this.setState(v, options);\n this._state = state;\n });\n }\n else {\n this._state = state;\n if (state == null)\n return;\n this.state = state;\n if (options.render !== false) {\n // before render state\n if (options.transition && document && document['startViewTransition']) {\n document['startViewTransition'](() => this.renderState(state));\n }\n else {\n this.renderState(state);\n }\n }\n if (options.history !== false && this.enable_history) {\n this._history = [...this._history, state];\n this._history_idx = this._history.length - 1;\n }\n if (typeof options.callback === 'function')\n options.callback(this.state);\n }\n }\n constructor(state, view, update, options) {\n this.state = state;\n this.view = view;\n this.update = update;\n this.options = options;\n this._app = new App();\n this._actions = [];\n this._global_events = [];\n this._history = [];\n this._history_idx = -1;\n this._history_prev = () => {\n this._history_idx--;\n if (this._history_idx >= 0) {\n this.setState(this._history[this._history_idx], { render: true, history: false });\n }\n else {\n this._history_idx = 0;\n }\n };\n this._history_next = () => {\n this._history_idx++;\n if (this._history_idx < this._history.length) {\n this.setState(this._history[this._history_idx], { render: true, history: false });\n }\n else {\n this._history_idx = this._history.length - 1;\n }\n };\n this.start = (element = null, options) => {\n this.mount(element, Object.assign({ render: true }, options));\n if (this.mounted && typeof this.mounted === 'function') {\n const new_state = this.mounted({}, [], this.state);\n (typeof new_state !== 'undefined') && this.setState(new_state);\n }\n return this;\n };\n }\n mount(element = null, options) {\n var _a, _b;\n console.assert(!this.element, 'Component already mounted.');\n this.options = options = Object.assign(Object.assign({}, this.options), options);\n this.element = element;\n this.global_event = options.global_event;\n this.enable_history = !!options.history;\n if (this.enable_history) {\n this.on(options.history.prev || 'history-prev', this._history_prev);\n this.on(options.history.next || 'history-next', this._history_next);\n }\n if (options.route) {\n this.update = this.update || {};\n if (!this.update[options.route])\n this.update[options.route] = REFRESH;\n }\n this.add_actions();\n this.state = (_b = (_a = this.state) !== null && _a !== void 0 ? _a : this['model']) !== null && _b !== void 0 ? _b : {};\n if (typeof this.state === 'function')\n this.state = this.state();\n this.setState(this.state, { render: !!options.render, history: true });\n if (app['debug']) {\n if (componentCache.get(element)) {\n componentCache.get(element).push(this);\n }\n else {\n componentCache.set(element, [this]);\n }\n }\n return this;\n }\n is_global_event(name) {\n return name && (this.global_event ||\n this._global_events.indexOf(name) >= 0 ||\n name.startsWith('#') || name.startsWith('/') || name.startsWith('@'));\n }\n add_action(name, action, options = {}) {\n if (!action || typeof action !== 'function')\n return;\n if (options.global)\n this._global_events.push(name);\n this.on(name, (...p) => {\n app['debug'] && app.run('debug', {\n component: this,\n _: '>',\n event: name, p,\n current_state: this.state,\n options\n });\n const newState = action(this.state, ...p);\n app['debug'] && app.run('debug', {\n component: this,\n _: '<',\n event: name, p,\n newState,\n state: this.state,\n options\n });\n this.setState(newState, options);\n }, options);\n }\n add_actions() {\n const actions = this.update || {};\n Reflect.getMetadataKeys(this).forEach(key => {\n if (key.startsWith('apprun-update:')) {\n const meta = Reflect.getMetadata(key, this);\n actions[meta.name] = [this[meta.key].bind(this), meta.options];\n }\n });\n const all = {};\n if (Array.isArray(actions)) {\n actions.forEach(act => {\n const [name, action, opts] = act;\n const names = name.toString();\n names.split(',').forEach(n => all[n.trim()] = [action, opts]);\n });\n }\n else {\n Object.keys(actions).forEach(name => {\n const action = actions[name];\n if (typeof action === 'function' || Array.isArray(action)) {\n name.split(',').forEach(n => all[n.trim()] = action);\n }\n });\n }\n if (!all['.'])\n all['.'] = REFRESH;\n Object.keys(all).forEach(name => {\n const action = all[name];\n if (typeof action === 'function') {\n this.add_action(name, action);\n }\n else if (Array.isArray(action)) {\n this.add_action(name, action[0], action[1]);\n }\n });\n }\n run(event, ...args) {\n if (this.state instanceof Promise) {\n return Promise.resolve(this.state).then(state => {\n this.state = state;\n this.run(event, ...args);\n });\n }\n else {\n const name = event.toString();\n return this.is_global_event(name) ?\n app.run(name, ...args) :\n this._app.run(name, ...args);\n }\n }\n on(event, fn, options) {\n const name = event.toString();\n this._actions.push({ name, fn });\n return this.is_global_event(name) ?\n app.on(name, fn, options) :\n this._app.on(name, fn, options);\n }\n runAsync(event, ...args) {\n const name = event.toString();\n return this.is_global_event(name) ?\n app.runAsync(name, ...args) :\n this._app.runAsync(name, ...args);\n }\n // obsolete\n query(event, ...args) {\n return this.runAsync(event, ...args);\n }\n unmount() {\n var _a;\n (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();\n this._actions.forEach(action => {\n const { name, fn } = action;\n this.is_global_event(name) ?\n app.off(name, fn) :\n this._app.off(name, fn);\n });\n }\n}\nComponent.__isAppRunComponent = true;\n//# sourceMappingURL=component.js.map","/**\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 */\nimport app from './app';\nexport const ROUTER_EVENT = '//';\nexport const ROUTER_404_EVENT = '///';\nexport const route = (url) => {\n if (!url)\n 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 }\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 }\n else {\n app.run(url) || app.run(ROUTER_404_EVENT, url);\n app.run(ROUTER_EVENT, url);\n }\n};\nexport default route;\n//# sourceMappingURL=router.js.map","/**\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 */\nimport app, { App } from './app';\nimport { createElement, render, Fragment, safeHTML } from './vdom';\nimport { Component } from './component';\nimport { on, update, customElement } from './decorator';\nimport webComponent from './web-component';\nimport { route, ROUTER_EVENT, ROUTER_404_EVENT } from './router';\nexport { App, app, Component, on, update, Fragment, safeHTML };\nexport { update as event };\nexport { ROUTER_EVENT, ROUTER_404_EVENT };\nexport { customElement };\nexport default app;\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 app.start = (element, model, view, update, options) => {\n const opts = Object.assign({ render: true, global_event: true }, options);\n const component = new Component(model, view, update);\n if (options && options.rendered)\n component.rendered = options.rendered;\n if (options && options.mounted)\n component.mounted = options.mounted;\n component.start(element, opts);\n return component;\n };\n const NOOP = _ => { };\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 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 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 app.use_render = (render, mode = 0) => {\n if (mode === 0) {\n app.render = (el, vdom) => render(vdom, el); // react style\n }\n else {\n app.render = (el, vdom) => render(el, vdom); // apprun style\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)\n return;\n if (!el._root)\n el._root = ReactDOM.createRoot(el);\n el._root.render(vdom);\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;\n const menu = (element.tagName === 'A' ? element : element.closest('a'));\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//# sourceMappingURL=apprun.js.map","/**\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","/**\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","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","/**\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","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';\nimport { render, svg, html, noChange } from 'lit';\nimport { directive, Directive, PartType } from 'lit/directive.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport app from './apprun';\nfunction _render(element, vdom, parent) {\n if (!vdom)\n return;\n if (typeof vdom === 'string') {\n if (!element['_$litPart$'])\n element.replaceChildren();\n render(html `${unsafeHTML(vdom)}`, element);\n }\n else if (vdom['_$litType$']) {\n if (!element['_$litPart$'])\n element.replaceChildren();\n render(vdom, element);\n }\n else {\n updateElement(element, vdom, parent);\n element['_$litPart$'] = undefined;\n }\n}\nexport class RunDirective extends Directive {\n constructor(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, props) {\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 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 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 }\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}\nconst run = directive(RunDirective);\nexport { createElement, Fragment, html, svg, _render as render, run };\n//# sourceMappingURL=vdom-lit-html.js.map","import app from './apprun';\nexport { app, Component, on, update, event, customElement, ROUTER_404_EVENT, ROUTER_EVENT, safeHTML } from './apprun';\nimport { createElement, render, Fragment, html, svg, run } from './vdom-lit-html';\nexport { html, svg, render, run };\napp.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\nexport default app;\nif (typeof window === 'object') {\n window['React'] = window['_React'] || app;\n window['html'] = html;\n window['svg'] = svg;\n window['run'] = run;\n}\n//# sourceMappingURL=apprun-html.js.map"],"names":["App","constructor","this","_events","on","name","fn","options","push","off","subscribers","filter","sub","find","run","args","getSubscribers","console","assert","length","forEach","delay","Object","keys","apply","once","assign","_t","clearTimeout","setTimeout","runAsync","promises","map","Promise","all","query","events","evt","endsWith","startsWith","replace","sort","a","b","event","_app","root","window","global","self","app","_AppRunVersions","getStateValue","component","setStateValue","value","state","setState","directive","vdom","Array","isArray","element","type","tag","props","children","key","substring","e","handler","p","target","checked","Number","multiple","selected","apply_directive","Fragment","collect","ATTR_PROPS","ch","c","i","createElement","undefined","getPrototypeOf","__isAppRunComponent","Error","keyCache","WeakMap","updateElement","nodes","parent","createComponent","isSvg","nodeName","updateChildren","render","document","getElementById","querySelector","update","node","el","key1","key2","toUpperCase","same","parentNode","replaceChild","create","updateProps","_a","_b","old_len","childNodes","new_len","len","Math","min","child","textContent","nodeType","nodeValue","createText","HTMLElement","SVGElement","insertBefore","old","temp","nextSibling","appendChild","n","removeChild","lastChild","d","createDocumentFragment","safeHTML","html","div","insertAdjacentHTML","from","indexOf","createTextNode","JSON","stringify","createElementNS","cached","oldProps","newProps","mergeProps","cname","match","dataset","style","cssText","s","xname","toLowerCase","removeAttributeNS","setAttributeNS","setAttribute","removeAttribute","test","getAttribute","requestAnimationFrame","idx","id","Date","now","asTag","__componentCache","renderState","mount","mounted","new_state","render_component","new_parent","_component","customElement","componentClass","super","observedAttributes","attr","connectedCallback","isConnected","opts","_shadowRoot","shadow","attachShadow","mode","attrMap","reduce","lc","_attrMap","attributes","item","defineProperty","get","set","attributeChangedCallback","configurable","enumerable","_props","dispatchEvent","bind","disconnectedCallback","_c","_d","unload","call","unmount","oldValue","mappedName","webComponent","customElements","define","Reflect","meta","defineMetadata","metadataKey","metadataValue","has","getMetadataKeys","getMetadata","descriptor","toString","componentCache","Map","o","components","REFRESH","Component","view","_","tracking_attr","tracking_id","valueOf","MutationObserver","observer","changes","body","contains","disconnect","observe","childList","subtree","attributeOldValue","attributeFilter","transition","rendered","history","handleAsyncIterator","async","iterator","done","next","error","result","Symbol","asyncIterator","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","add_action","action","current_state","newState","actions","act","split","trim","ROUTER_EVENT","ROUTER_404_EVENT","url","rest","h","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","t","globalThis","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","n$2","_$cssResult$","styleSheet","replaceSync","cssRules","r","is","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","trustedTypes","l","emptyScript","reactiveElementPolyfillSupport","u","toAttribute","Boolean","fromAttribute","parse","f","attribute","String","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","y$1","addInitializer","_$Ei","finalize","_$Eh","createProperty","hasOwnProperty","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","adoptedStyleSheets","litNonce","hostDisconnected","_$AK","_$ET","_$Ej","C","_$EP","_$Eq","reject","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","y","ReactiveElement","reactiveElementVersions","createPolicy","createHTML","random","toFixed","slice","createComment","m","RegExp","g","$","_$litType$","strings","values","x","T","for","E","A","createTreeWalker","P","V","lastIndex","exec","N","parts","currentNode","content","firstChild","replaceWith","nextNode","hasAttributes","getAttributeNames","index","ctor","H","I","L","k","append","data","innerHTML","S","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","M","_$AV","_$AN","_$AD","_$AM","_$AU","creationScope","importNode","R","z","_$AI","_$Cv","_$AH","_$AA","_$AB","startNode","endNode","_$AR","O","_$AC","_$AP","remove","setConnected","fill","j","arguments","toggleAttribute","capture","passive","removeEventListener","handleEvent","host","litHtmlPolyfillSupport","litHtmlVersions","B","renderBefore","_$litPart$","renderOptions","_$Do","_$litElement$","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","_$Ct","_$Ci","it","directiveName","raw","resultType","_render","replaceChildren","unsafeHTML","Directive","partInfo","PartType","part","eventOrFn","getComponent","parentElement","noChange","svg"],"mappings":"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","x_google_ignoreList":[8,9,10,11,12,13]}
|
|
1
|
+
{"version":3,"file":"apprun-html.esm.js","sources":["../esm/version.js","../esm/app.js","../esm/type-utils.js","../esm/directive.js","../esm/vdom-my.js","../esm/web-component.js","../esm/decorator.js","../esm/component.js","../esm/router.js","../esm/apprun.js","../node_modules/@lit/reactive-element/css-tag.js","../node_modules/@lit/reactive-element/reactive-element.js","../node_modules/lit-html/lit-html.js","../node_modules/lit-element/lit-element.js","../node_modules/lit-html/directive.js","../node_modules/lit-html/directives/unsafe-html.js","../esm/vdom-lit-html.js","../esm/apprun-html.js"],"sourcesContent":["/**\n * Version Management Utility\n *\n * Single source of truth for AppRun version information.\n * This file ensures version consistency across all modules.\n *\n * The version is derived from package.json and should be updated\n * only when the package version changes.\n */\n// Import version from package.json to maintain single source of truth\n// This version string is used across the framework\nexport const APPRUN_VERSION = '3.36.0';\n// Version string with prefix for global tracking\nexport const APPRUN_VERSION_GLOBAL = `AppRun-${APPRUN_VERSION}`;\n//# sourceMappingURL=version.js.map","/**\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 with options (once, delay, global)\n * - off(): Unsubscribe from events with proper cleanup\n * - run(): Publish events synchronously with error handling\n * - runAsync(): Publish events asynchronously with Promise support\n * - query(): Alias for runAsync for backward compatibility\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) with version tracking\n * - Prevents duplicate instances across different versions\n *\n * Features:\n * - Event wildcards support (events ending with '*')\n * - Delayed event execution with timeout management\n * - Once-only event subscriptions\n * - Async event handling with Promise.all\n * - Global event bus shared across components\n * - Memory leak prevention with proper cleanup\n *\n * Type Safety Improvements (v3.35.1):\n * - Added validation for event handler functions\n * - Enhanced error handling in event execution\n * - Improved null checks in delayed event handling\n * - Better error reporting for invalid handlers\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 * // Async events\n * app.runAsync('async-event', data).then(results => {\n * // Handle results\n * });\n * ```\n */\nimport { APPRUN_VERSION_GLOBAL } from './version';\nexport class App {\n constructor() {\n this._events = {};\n }\n on(name, fn, options = {}) {\n this._events[name] = this._events[name] || [];\n this._events[name].push({ fn, options });\n }\n off(name, fn) {\n const subscribers = this._events[name] || [];\n this._events[name] = subscribers.filter((sub) => sub.fn !== fn);\n }\n find(name) {\n return this._events[name];\n }\n run(name, ...args) {\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 (!fn || typeof fn !== 'function') {\n console.error(`AppRun event handler for '${name}' is not a function:`, fn);\n return false;\n }\n if (options.delay) {\n this.delay(name, fn, args, options);\n }\n else {\n try {\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }\n catch (error) {\n console.error(`Error in event handler for '${name}':`, error);\n }\n }\n return !sub.options.once;\n });\n return subscribers.length;\n }\n once(name, fn, options = {}) {\n this.on(name, fn, Object.assign(Object.assign({}, options), { once: true }));\n }\n delay(name, fn, args, options) {\n if (options._t)\n clearTimeout(options._t);\n options._t = setTimeout(() => {\n clearTimeout(options._t);\n try {\n Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }\n catch (error) {\n console.error(`Error in delayed event handler for '${name}':`, error);\n }\n }, options.delay);\n }\n runAsync(name, ...args) {\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 if (!fn || typeof fn !== 'function') {\n console.error(`AppRun async event handler for '${name}' is not a function:`, fn);\n return Promise.resolve(null);\n }\n try {\n return Object.keys(options).length > 0 ? fn.apply(this, [...args, options]) : fn.apply(this, args);\n }\n catch (error) {\n console.error(`Error in async event handler for '${name}':`, error);\n return Promise.reject(error);\n }\n });\n return Promise.all(promises);\n }\n query(name, ...args) {\n return this.runAsync(name, ...args);\n }\n getSubscribers(name, events) {\n const subscribers = events[name] || [];\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 => (Object.assign(Object.assign({}, sub), { options: Object.assign(Object.assign({}, sub.options), { event: name }) })))));\n return subscribers;\n }\n}\nconst AppRunVersions = APPRUN_VERSION_GLOBAL;\nlet _app;\nconst root = (typeof window !== 'undefined' ? window :\n typeof global !== 'undefined' ? global :\n typeof self !== 'undefined' ? self : {});\nif (root.app && root._AppRunVersions) {\n _app = root.app;\n}\nelse {\n _app = new App();\n root.app = _app;\n root._AppRunVersions = AppRunVersions;\n}\nexport default _app;\n//# sourceMappingURL=app.js.map","/**\n * Type Safety Utilities for AppRun\n *\n * This file provides utility functions and types to improve type safety\n * across the AppRun framework, including:\n * 1. Safe type assertions with null checks\n * 2. Global object assignment helpers\n * 3. Event target type guards\n * 4. Function validation utilities\n */\n/**\n * Safely cast event target to specific HTML element type with null check\n */\nexport function safeEventTarget(event) {\n return (event === null || event === void 0 ? void 0 : event.target) instanceof HTMLElement ? event.target : null;\n}\n/**\n * Type guard to check if an object is a valid function\n */\nexport function isFunction(obj) {\n return typeof obj === 'function';\n}\n/**\n * Type guard to check if an object is a valid HTML element\n */\nexport function isHTMLElement(obj) {\n return obj instanceof HTMLElement;\n}\n/**\n * Safely assign properties to global object with type checking\n */\nexport function safeGlobalAssign(globalObj, assignments) {\n if (typeof globalObj === 'object' && globalObj !== null) {\n Object.keys(assignments).forEach(key => {\n globalObj[key] = assignments[key];\n });\n }\n}\n/**\n * Safely get property from global object with fallback\n */\nexport function safeGlobalGet(globalObj, property, fallback) {\n var _a;\n if (typeof globalObj === 'object' && globalObj !== null) {\n return (_a = globalObj[property]) !== null && _a !== void 0 ? _a : fallback;\n }\n return fallback;\n}\n/**\n * Type-safe wrapper for DOM element queries\n */\nexport function safeQuerySelector(selector, context = document) {\n try {\n return context.querySelector(selector);\n }\n catch (error) {\n console.warn(`Invalid selector: ${selector}`, error);\n return null;\n }\n}\n/**\n * Type-safe wrapper for DOM element by ID\n */\nexport function safeGetElementById(id) {\n try {\n return document.getElementById(id);\n }\n catch (error) {\n console.warn(`Error getting element by id: ${id}`, error);\n return null;\n }\n}\n/**\n * Validate and safely execute a function with error handling\n */\nexport function safeExecute(fn, args, context, errorMessage) {\n if (!isFunction(fn)) {\n if (errorMessage) {\n console.warn(errorMessage, fn);\n }\n return undefined;\n }\n try {\n return context ? fn.apply(context, args) : fn(...args);\n }\n catch (error) {\n console.error(errorMessage || 'Error executing function:', error);\n return undefined;\n }\n}\n//# sourceMappingURL=type-utils.js.map","/**\n * Component Directives Implementation\n *\n * This file provides built-in directives for components:\n * 1. Event Binding ($on directives)\n * - $on: Bind DOM events to component events\n * - Supports event delegation and parameters\n * - Handles function, string, and array event handlers\n * - Type-safe event target handling\n *\n * 2. Two-way Data Binding ($bind directive)\n * - $bind: Sync form elements with component state\n * - Handles input types: text, checkbox, radio, number, range\n * - Supports select (single/multiple) and textarea elements\n * - Automatic value type conversion for numbers\n * - Support for complex property paths\n *\n * 3. Custom Directives\n * - Extensible directive system via '$' events\n * - Processes virtual DOM during rendering\n * - Supports custom attribute directives\n *\n * Features:\n * - Automatic state synchronization\n * - Type conversion for form inputs\n * - Event delegation support\n * - Multiple event handler formats\n * - Nested property binding\n * - Custom directive extensibility\n *\n * Type Safety Improvements (v3.35.1):\n * - Added null checks for event targets before type assertions\n * - Proper typing for different HTML element types\n * - Enhanced error handling for invalid event targets\n * - Safer DOM element property access\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 * // Array handlers\n * <button $onclick={['handler', param1, param2]}>Click</button>\n * ```\n */\nimport app from './app';\nimport { safeEventTarget } from './type-utils';\nconst getStateValue = (component, name) => {\n return (name ? component['state'][name] : component['state']) || '';\n};\nconst setStateValue = (component, name, value) => {\n if (name) {\n const state = component['state'] || {};\n state[name] = value;\n component.setState(state);\n }\n else {\n component.setState(value);\n }\n};\nconst apply_directive = (key, 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 }\n else if (typeof event === 'string') {\n props[key] = e => component.run ? component.run(event, e) : app.run(event, e);\n }\n else if (typeof event === 'function') {\n props[key] = e => component.setState(event(component.state, e));\n }\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 }\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 => {\n const target = safeEventTarget(e);\n if (target) {\n setStateValue(component, name || target.name, target.checked);\n }\n };\n break;\n case 'radio':\n props['checked'] = getStateValue(component, name) === props['value'];\n props['onclick'] = e => {\n const target = safeEventTarget(e);\n if (target) {\n setStateValue(component, name || target.name, target.value);\n }\n };\n break;\n case 'number':\n case 'range':\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => {\n const target = safeEventTarget(e);\n if (target) {\n setStateValue(component, name || target.name, Number(target.value));\n }\n };\n break;\n default:\n props['value'] = getStateValue(component, name);\n props['oninput'] = e => {\n const target = safeEventTarget(e);\n if (target) {\n setStateValue(component, name || target.name, target.value);\n }\n };\n }\n }\n else if (tag === 'select') {\n props['value'] = getStateValue(component, name);\n props['onchange'] = e => {\n const target = safeEventTarget(e);\n if (target && !target.multiple) { // multiple selection use $bind on option\n setStateValue(component, name || target.name, target.value);\n }\n };\n }\n else if (tag === 'option') {\n props['selected'] = getStateValue(component, name);\n props['onclick'] = e => {\n const target = safeEventTarget(e);\n if (target) {\n setStateValue(component, name || target.name, target.selected);\n }\n };\n }\n else if (tag === 'textarea') {\n props['innerHTML'] = getStateValue(component, name);\n props['oninput'] = e => {\n const target = safeEventTarget(e);\n if (target) {\n setStateValue(component, name || target.name, target.value);\n }\n };\n }\n }\n else {\n app.run('$', { key, tag, props, component });\n }\n};\nconst directive = (vdom, component) => {\n if (Array.isArray(vdom)) {\n return vdom.map(element => directive(element, component));\n }\n else {\n let { type, tag, props, children } = vdom;\n tag = tag || type;\n children = children || (props === null || props === void 0 ? void 0 : props.children);\n if (props)\n 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)\n directive(children, component);\n return vdom;\n }\n};\nexport default directive;\n//# sourceMappingURL=directive.js.map","import directive from './directive';\nexport function Fragment(props, ...children) {\n return collect(children);\n}\nconst ATTR_PROPS = '_props';\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 }\n else {\n push(c);\n }\n });\n return ch;\n}\nexport function createElement(tag, props, ...children) {\n const ch = collect(children);\n if (typeof tag === 'string')\n return { tag, props, children: ch };\n else if (Array.isArray(tag))\n return tag; // JSX fragments - babel\n else if (tag === undefined && children)\n return ch; // JSX fragments - typescript\n else if (Object.getPrototypeOf(tag).__isAppRunComponent)\n return { tag, props, children: ch }; // createComponent(tag, { ...props, children });\n else if (typeof tag === 'function')\n return tag(props, ch);\n else\n throw new Error(`Unknown tag in vdom ${tag}`);\n}\n;\nconst keyCache = {};\nexport const updateElement = (element, nodes, component = {}) => {\n // tslint:disable-next-line\n if (nodes == null || nodes === false)\n 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};\nfunction render(element, nodes, parent = {}) {\n // tslint:disable-next-line\n if (nodes == null || nodes === false)\n return;\n nodes = createComponent(nodes, parent);\n if (!element)\n return;\n const isSvg = element.nodeName === \"SVG\";\n if (Array.isArray(nodes)) {\n updateChildren(element, nodes, isSvg);\n }\n else {\n updateChildren(element, [nodes], isSvg);\n }\n}\nfunction same(el, node) {\n // if (!el || !node) return false;\n const key1 = el.nodeName;\n const key2 = `${node.tag || ''}`;\n return key1.toUpperCase() === key2.toUpperCase();\n}\nfunction update(element, node, isSvg) {\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 updateChildren(element, node.children, isSvg);\n updateProps(element, node.props, isSvg);\n}\nfunction updateChildren(element, children, isSvg) {\n var _a;\n const old_len = ((_a = element.childNodes) === null || _a === void 0 ? void 0 : _a.length) || 0;\n const new_len = (children === null || children === void 0 ? void 0 : children.length) || 0;\n // Handle key-based reordering first if any children have keys\n const hasKeysInNewChildren = children === null || children === void 0 ? void 0 : children.some(child => child && typeof child === 'object' && child.props && child.props.key !== undefined);\n if (hasKeysInNewChildren) {\n // Create a map of existing keyed elements\n const existingKeyedElements = new Map();\n for (let i = 0; i < old_len; i++) {\n const el = element.childNodes[i];\n if (el && el.key) {\n existingKeyedElements.set(el.key, el);\n }\n }\n // Build new DOM structure\n const fragment = document.createDocumentFragment();\n for (let i = 0; i < new_len; i++) {\n const child = children[i];\n if (child == null)\n continue;\n const key = child.props && child.props['key'];\n if (key && existingKeyedElements.has(key)) {\n // Reuse existing element\n const existingEl = existingKeyedElements.get(key);\n update(existingEl, child, isSvg);\n fragment.appendChild(existingEl);\n existingKeyedElements.delete(key); // Mark as used\n }\n else {\n // Create new element\n fragment.appendChild(create(child, isSvg));\n }\n }\n // Clear current children and append new structure\n while (element.firstChild) {\n element.removeChild(element.firstChild);\n }\n element.appendChild(fragment);\n return;\n }\n // Original non-keyed logic\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 == null)\n continue;\n const el = element.childNodes[i];\n if (!el)\n continue; // Safety check for undefined childNodes\n if (typeof child === 'string') {\n if (el.nodeType === 3) {\n if (el.nodeValue !== child) {\n el.nodeValue = child;\n }\n }\n else {\n element.replaceChild(createText(child), el);\n }\n }\n else if (child instanceof HTMLElement || child instanceof SVGElement) {\n element.replaceChild(child, el);\n }\n else if (child && typeof child === 'object') {\n update(element.childNodes[i], child, isSvg);\n }\n }\n // Remove extra old nodes\n while (element.childNodes.length > len) {\n element.removeChild(element.lastChild);\n }\n if (new_len > len) {\n const d = document.createDocumentFragment();\n for (let i = len; i < children.length; i++) {\n const child = children[i];\n if (child != null) {\n d.appendChild(create(child, isSvg));\n }\n }\n element.appendChild(d);\n }\n}\nexport const safeHTML = (html) => {\n const div = document.createElement('section');\n div.insertAdjacentHTML('afterbegin', html);\n return Array.from(div.children);\n};\nfunction createText(node) {\n if ((node === null || node === void 0 ? void 0 : node.indexOf('_html:')) === 0) { // ?\n const div = document.createElement('div');\n div.insertAdjacentHTML('afterbegin', node.substring(6));\n return div;\n }\n else {\n return document.createTextNode(node !== null && node !== void 0 ? node : '');\n }\n}\nfunction create(node, isSvg) {\n // console.assert(node !== null && node !== undefined);\n if ((node instanceof HTMLElement) || (node instanceof SVGElement))\n return node;\n if (typeof node === \"string\")\n return createText(node);\n // Type guard for VNode objects - handle invalid node types gracefully\n if (!node || typeof node !== 'object' || !node.tag || (typeof node.tag === 'function')) {\n return createText(typeof node === 'object' ? JSON.stringify(node) : String(node !== null && node !== void 0 ? node : ''));\n }\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 updateProps(element, node.props, isSvg);\n if (node.children)\n node.children.forEach(child => element.appendChild(create(child, isSvg)));\n return element;\n}\nfunction mergeProps(oldProps, newProps) {\n newProps['class'] = newProps['class'] || newProps['className'];\n delete newProps['className'];\n const props = {};\n if (oldProps)\n Object.keys(oldProps).forEach(p => props[p] = null);\n if (newProps)\n Object.keys(newProps).forEach(p => props[p] = newProps[p]);\n return props;\n}\nexport function updateProps(element, props, isSvg) {\n // console.assert(!!element);\n const cached = element[ATTR_PROPS] || {};\n props = mergeProps(cached, props || {});\n element[ATTR_PROPS] = props;\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 === \"\")\n element.dataset[cname] = value;\n else\n delete element.dataset[cname];\n }\n }\n else if (name === 'style') {\n if (element.style.cssText)\n element.style.cssText = '';\n if (typeof value === 'string')\n element.style.cssText = value;\n else {\n for (const s in value) {\n if (element.style[s] !== value[s])\n element.style[s] = value[s];\n }\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 }\n else {\n element.setAttributeNS('http://www.w3.org/1999/xlink', xname, value);\n }\n }\n else if (name.startsWith('on')) {\n if (!value || typeof value === 'function') {\n element[name] = value;\n }\n else if (typeof value === 'string') {\n if (value)\n element.setAttribute(name, value);\n else\n element.removeAttribute(name);\n }\n }\n else if (/^id$|^class$|^list$|^readonly$|^contenteditable$|^role|-|^for$/g.test(name) || isSvg) {\n if (element.getAttribute(name) !== value) {\n if (value)\n element.setAttribute(name, value);\n else\n element.removeAttribute(name);\n }\n }\n else if (element[name] !== value) {\n element[name] = value;\n }\n if (name === 'key' && value !== undefined) {\n keyCache[value] = element;\n element.key = value; // Set key property on the DOM element\n }\n }\n if (props && typeof props['ref'] === 'function') {\n window.requestAnimationFrame(() => props['ref'](element));\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)\n id = `_${idx}${Date.now()}`;\n else\n key = id;\n let asTag = 'section';\n if (props && props['as']) {\n asTag = props['as'];\n delete props['as'];\n }\n if (!parent.__componentCache)\n 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(Object.assign(Object.assign({}, props), { children })).mount(element, { render: true });\n }\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}\nfunction createComponent(node, parent, idx = 0) {\n var _a;\n if (typeof node === 'string')\n return node;\n if (Array.isArray(node))\n 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 = (_a = vdom.props) === null || _a === void 0 ? void 0 : _a._component;\n if (new_parent) {\n let i = 0;\n vdom.children = vdom.children.map(child => createComponent(child, new_parent, i++));\n }\n else {\n vdom.children = vdom.children.map(child => createComponent(child, parent, idx++));\n }\n }\n return vdom;\n}\n//# sourceMappingURL=vdom-my.js.map","/**\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, attributeChanged)\n * - Manages shadow DOM and light DOM rendering options\n * - Automatic element registration with customElements.define()\n *\n * 2. Property/Attribute Sync\n * - Observes attribute changes with attributeChangedCallback\n * - Updates component state automatically on changes\n * - Handles camelCase/kebab-case conversion automatically\n * - Supports complex property types and JSON parsing\n * - Two-way data binding between attributes and state\n *\n * 3. Event Handling\n * - Proxies events between component and element\n * - Supports both global and local event systems\n * - Maintains proper event bubbling and capturing\n * - Custom event dispatching for component communication\n *\n * Features:\n * - Shadow DOM encapsulation support\n * - Attribute observation and change detection\n * - Lifecycle management and cleanup\n * - Property reflection to attributes\n * - Event proxy system\n * - Flexible rendering options\n *\n * Type Safety Improvements (v3.35.1):\n * - Enhanced custom element options typing\n * - Better lifecycle method signatures\n * - Improved attribute/property type safety\n * - Safer DOM manipulation with null checks\n *\n * Usage:\n * ```ts\n * // Register web component\n * @customElement('my-element', {\n * shadow: true,\n * observedAttributes: ['name', 'value']\n * })\n * class MyComponent extends Component {\n * // Regular AppRun component code\n * }\n *\n * // Use in HTML\n * <my-element name=\"value\" data-prop=\"complex\"></my-element>\n * ```\n */\nexport const customElement = (componentClass, options = {}) => class CustomElement extends HTMLElement {\n constructor() {\n super();\n }\n get component() { return this._component; }\n get state() { return this._component.state; }\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 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 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) => attrMap[name] || name;\n const props = {};\n Array.from(this.attributes).forEach(item => props[this._attrMap(item.name)] = item.value);\n // add getters/ setters to allow observation on observedAttributes\n observedAttributes.forEach(name => {\n if (this[name] !== undefined)\n props[name] = this[name];\n Object.defineProperty(this, name, {\n get() {\n return props[name];\n },\n set(value) {\n // trigger change event\n this.attributeChangedCallback(name, props[name], value);\n },\n configurable: true,\n enumerable: true\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(Object.assign(Object.assign({}, 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')\n 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))\n this._component.run('.');\n });\n }\n }\n disconnectedCallback() {\n var _a, _b, _c, _d;\n (_b = (_a = this._component) === null || _a === void 0 ? void 0 : _a.unload) === null || _b === void 0 ? void 0 : _b.call(_a);\n (_d = (_c = this._component) === null || _c === void 0 ? void 0 : _c.unmount) === null || _d === void 0 ? void 0 : _d.call(_c);\n this._component = null;\n }\n attributeChangedCallback(name, oldValue, value) {\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 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};\nexport default (name, componentClass, options) => {\n (typeof customElements !== 'undefined') && customElements.define(name, customElement(componentClass, options));\n};\n//# sourceMappingURL=web-component.js.map","import webComponent from './web-component';\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 (global, once, delay)\n * - @update(): Define state updates with metadata and options\n * - Supports method and class decoration patterns\n *\n * 2. Web Component Integration\n * - @customElement(): Register as custom element with options\n * - Handles shadow DOM and attribute observation\n * - Automatic lifecycle management for web components\n *\n * 3. Metadata Management\n * - Custom Reflect implementation for decorator metadata\n * - Stores event handler and update metadata for runtime use\n * - Supports runtime reflection for dynamic behavior\n * - Metadata keys for event bindings and updates\n *\n * Features:\n * - Event handler decoration with options\n * - State update method decoration\n * - Web component registration\n * - Metadata-driven event binding\n * - Flexible decorator patterns\n * - Runtime metadata access\n *\n * Type Safety Improvements (v3.35.1):\n * - Enhanced decorator typing for better IDE support\n * - Improved metadata key management\n * - Better type inference for decorated methods\n *\n * Usage:\n * ```ts\n * @customElement('my-element')\n * class MyComponent extends Component {\n * @on('event', { global: true })\n * handler(state, ...args) {\n * // Handle event\n * }\n *\n * @update('event', { render: true })\n * updater(state, ...args) {\n * // Update state\n * return newState;\n * }\n * }\n * ```\n */\n// tslint:disable:no-invalid-this\nexport const Reflect = {\n meta: new WeakMap(),\n defineMetadata(metadataKey, metadataValue, target) {\n if (!this.meta.has(target))\n this.meta.set(target, {});\n this.meta.get(target)[metadataKey] = metadataValue;\n },\n getMetadataKeys(target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? Object.keys(this.meta.get(target)) : [];\n },\n getMetadata(metadataKey, target) {\n target = Object.getPrototypeOf(target);\n return this.meta.get(target) ? this.meta.get(target)[metadataKey] : null;\n }\n};\nexport function update(events, options = {}) {\n return (target, key, descriptor) => {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`, { name, key, options }, target);\n return descriptor;\n };\n}\nexport function on(events, options = {}) {\n return function (target, key) {\n const name = events ? events.toString() : key;\n Reflect.defineMetadata(`apprun-update:${name}`, { name, key, options }, target);\n };\n}\nexport function customElement(name, options) {\n return function _customElement(constructor) {\n webComponent(name, constructor, options);\n return constructor;\n };\n}\n//# sourceMappingURL=decorator.js.map","/**\n * AppRun Component System Implementation\n *\n * This file provides the Component class which is the foundation for:\n * 1. State Management\n * - Maintains component state with history support\n * - Handles state updates with async/iterator support\n * - Supports state history navigation (prev/next)\n * - Promise and async iterator state handling\n *\n * 2. View Rendering\n * - Renders virtual DOM to real DOM with directives\n * - Handles component lifecycle (mounted, rendered, unload)\n * - Supports shadow DOM and web components\n * - DOM change tracking with MutationObserver\n * - View transition API support\n *\n * 3. Event Handling\n * - Local and global event subscription management\n * - Event handler registration via decorators\n * - Action to state updates with error handling\n * - Support for event options (delay, once, global)\n *\n * Features:\n * - Component caching for debugging\n * - Element tracking for cleanup\n * - History navigation support\n * - Global vs local event routing\n * - Async state handling\n * - Memory leak prevention\n * - Component unmounting with cleanup\n *\n * Type Safety Improvements (v3.35.1):\n * - Enhanced element access with null checks and warnings\n * - Improved action validation and error handling\n * - Better error reporting in component actions\n * - Safer DOM element queries with fallback warnings\n *\n * Usage:\n * ```ts\n * class MyComponent extends Component {\n * state = // Initial state\n * view = state => // Return virtual DOM\n * update = {\n * 'event': (state, ...args) => // Return new state\n * }\n * }\n *\n * // Mount component\n * new MyComponent().mount('element-id');\n * ```\n */\nimport app, { App } from './app';\nimport { Reflect } from './decorator';\nimport directive from './directive';\nimport { safeQuerySelector, safeGetElementById } from './type-utils';\nconst componentCache = new Map();\nif (!app.find('get-components'))\n app.on('get-components', o => o.components = componentCache);\nconst REFRESH = state => state;\nexport class Component {\n renderState(state, vdom = null) {\n if (!this.view)\n return;\n let html = vdom || this.view(state);\n app['debug'] && app.run('debug', {\n component: this,\n _: html ? '.' : '-',\n state,\n vdom: html,\n el: this.element\n });\n if (typeof document !== 'object')\n return;\n const el = (typeof this.element === 'string' && this.element) ?\n safeGetElementById(this.element) || safeQuerySelector(this.element) : this.element;\n if (!el) {\n console.warn(`Component element not found: ${this.element}`);\n return;\n }\n const tracking_attr = '_c';\n if (!this.unload) {\n el.removeAttribute && el.removeAttribute(tracking_attr);\n }\n else if (el['_component'] !== this || el.getAttribute(tracking_attr) !== this.tracking_id) {\n this.tracking_id = new Date().valueOf().toString();\n el.setAttribute(tracking_attr, this.tracking_id);\n if (typeof MutationObserver !== 'undefined') {\n if (!this.observer)\n this.observer = new MutationObserver(changes => {\n if (changes[0].oldValue === this.tracking_id || !document.body.contains(el)) {\n this.unload(this.state);\n this.observer.disconnect();\n this.observer = null;\n }\n });\n this.observer.observe(document.body, {\n childList: true, subtree: true,\n attributes: true, attributeOldValue: true, attributeFilter: [tracking_attr]\n });\n }\n }\n el['_component'] = this;\n if (!vdom && html) {\n html = directive(html, this);\n if (this.options.transition && document && document['startViewTransition']) {\n document['startViewTransition'](() => app.render(el, html, this));\n }\n else {\n app.render(el, html, this);\n }\n }\n this.rendered && this.rendered(this.state);\n }\n setState(state, options = { render: true, history: false }) {\n const handleAsyncIterator = async (iterator) => {\n try {\n while (true) {\n const { value, done } = await iterator.next();\n if (done)\n break;\n this.setState(value, options);\n }\n }\n catch (e) {\n console.error('Error in async iterator:', e);\n }\n };\n const result = state;\n if (result === null || result === void 0 ? void 0 : result[Symbol.asyncIterator]) {\n // handleAsyncIterator(result[Symbol.asyncIterator]());\n this.setState(handleAsyncIterator(result[Symbol.asyncIterator]()), options);\n return;\n }\n else if ((result === null || result === void 0 ? void 0 : result[Symbol.iterator]) && typeof result.next === \"function\") {\n for (const value of result) {\n this.setState(value, options);\n }\n return;\n }\n else if (state && state instanceof Promise) {\n // Promise will not be saved or rendered\n // state will be saved and rendered when promise is resolved\n Promise.resolve(state).then(v => {\n this.setState(v, options);\n this._state = state;\n });\n }\n else {\n this._state = state;\n if (state == null)\n return;\n this.state = state;\n if (options.render !== false) {\n // before render state\n if (options.transition && document && document['startViewTransition']) {\n document['startViewTransition'](() => this.renderState(state));\n }\n else {\n this.renderState(state);\n }\n }\n if (options.history !== false && this.enable_history) {\n this._history = [...this._history, state];\n this._history_idx = this._history.length - 1;\n }\n if (typeof options.callback === 'function')\n options.callback(this.state);\n }\n }\n constructor(state, view, update, options) {\n this.state = state;\n this.view = view;\n this.update = update;\n this.options = options;\n this._app = new App();\n this._actions = [];\n this._global_events = [];\n this._history = [];\n this._history_idx = -1;\n this._history_prev = () => {\n this._history_idx--;\n if (this._history_idx >= 0) {\n this.setState(this._history[this._history_idx], { render: true, history: false });\n }\n else {\n this._history_idx = 0;\n }\n };\n this._history_next = () => {\n this._history_idx++;\n if (this._history_idx < this._history.length) {\n this.setState(this._history[this._history_idx], { render: true, history: false });\n }\n else {\n this._history_idx = this._history.length - 1;\n }\n };\n this.start = (element = null, options) => {\n this.mount(element, Object.assign({ render: true }, options));\n if (this.mounted && typeof this.mounted === 'function') {\n const new_state = this.mounted({}, [], this.state);\n (typeof new_state !== 'undefined') && this.setState(new_state);\n }\n return this;\n };\n }\n mount(element = null, options) {\n var _a, _b;\n console.assert(!this.element, 'Component already mounted.');\n this.options = options = Object.assign(Object.assign({}, this.options), options);\n this.element = element;\n this.global_event = options.global_event;\n this.enable_history = !!options.history;\n if (this.enable_history) {\n this.on(options.history.prev || 'history-prev', this._history_prev);\n this.on(options.history.next || 'history-next', this._history_next);\n }\n if (options.route) {\n this.update = this.update || {};\n if (!this.update[options.route])\n this.update[options.route] = REFRESH;\n }\n this.add_actions();\n this.state = (_b = (_a = this.state) !== null && _a !== void 0 ? _a : this['model']) !== null && _b !== void 0 ? _b : {};\n if (typeof this.state === 'function')\n this.state = this.state();\n this.setState(this.state, { render: !!options.render, history: true });\n if (app['debug']) {\n if (componentCache.get(element)) {\n componentCache.get(element).push(this);\n }\n else {\n componentCache.set(element, [this]);\n }\n }\n return this;\n }\n is_global_event(name) {\n return name && (this.global_event ||\n this._global_events.indexOf(name) >= 0 ||\n name.startsWith('#') || name.startsWith('/') || name.startsWith('@'));\n }\n add_action(name, action, options = {}) {\n if (!action || typeof action !== 'function') {\n console.warn(`Component action for '${name}' is not a valid function:`, action);\n return;\n }\n if (options.global)\n this._global_events.push(name);\n this.on(name, (...p) => {\n app['debug'] && app.run('debug', {\n component: this,\n _: '>',\n event: name, p,\n current_state: this.state,\n options\n });\n try {\n const newState = action(this.state, ...p);\n app['debug'] && app.run('debug', {\n component: this,\n _: '<',\n event: name, p,\n newState,\n state: this.state,\n options\n });\n this.setState(newState, options);\n }\n catch (error) {\n console.error(`Error in component action '${name}':`, error);\n app['debug'] && app.run('debug', {\n component: this,\n _: '!',\n event: name, p,\n error,\n state: this.state,\n options\n });\n }\n }, options);\n }\n add_actions() {\n const actions = this.update || {};\n Reflect.getMetadataKeys(this).forEach(key => {\n if (key.startsWith('apprun-update:')) {\n const meta = Reflect.getMetadata(key, this);\n actions[meta.name] = [this[meta.key].bind(this), meta.options];\n }\n });\n const all = {};\n if (Array.isArray(actions)) {\n actions.forEach(act => {\n const [name, action, opts] = act;\n const names = name.toString();\n names.split(',').forEach(n => all[n.trim()] = [action, opts]);\n });\n }\n else {\n Object.keys(actions).forEach(name => {\n const action = actions[name];\n if (typeof action === 'function' || Array.isArray(action)) {\n name.split(',').forEach(n => all[n.trim()] = action);\n }\n });\n }\n if (!all['.'])\n all['.'] = REFRESH;\n Object.keys(all).forEach(name => {\n const action = all[name];\n if (typeof action === 'function') {\n this.add_action(name, action);\n }\n else if (Array.isArray(action)) {\n this.add_action(name, action[0], action[1]);\n }\n });\n }\n run(event, ...args) {\n if (this.state instanceof Promise) {\n return Promise.resolve(this.state).then(state => {\n this.state = state;\n this.run(event, ...args);\n });\n }\n else {\n const name = event.toString();\n return this.is_global_event(name) ?\n app.run(name, ...args) :\n this._app.run(name, ...args);\n }\n }\n on(event, fn, options) {\n const name = event.toString();\n this._actions.push({ name, fn });\n return this.is_global_event(name) ?\n app.on(name, fn, options) :\n this._app.on(name, fn, options);\n }\n runAsync(event, ...args) {\n const name = event.toString();\n return this.is_global_event(name) ?\n app.runAsync(name, ...args) :\n this._app.runAsync(name, ...args);\n }\n // obsolete\n query(event, ...args) {\n return this.runAsync(event, ...args);\n }\n unmount() {\n var _a;\n (_a = this.observer) === null || _a === void 0 ? void 0 : _a.disconnect();\n this._actions.forEach(action => {\n const { name, fn } = action;\n this.is_global_event(name) ?\n app.off(name, fn) :\n this._app.off(name, fn);\n });\n }\n}\nComponent.__isAppRunComponent = true;\n//# sourceMappingURL=component.js.map","/**\n * AppRun Router Implementation\n *\n * This file provides URL routing capabilities:\n * 1. Hash-based routing (#/path)\n * - Works with SPA mode using hash fragments\n * - Handles hashchange events automatically\n * - No server configuration required\n * 2. Path-based routing (/path)\n * - Works with browser history API\n * - Requires server configuration for SPA routing\n * - Handles popstate events automatically\n * 3. Event-based navigation\n * - Routes trigger corresponding component events\n * - Automatic route parameter extraction\n * - Fallback to 404 handling for unknown routes\n *\n * Features:\n * - Automatic route event firing with ROUTER_EVENT\n * - 404 handling via ROUTER_404_EVENT for unmatched routes\n * - History API integration for seamless navigation\n * - Route parameter parsing and injection into events\n * - URL pattern matching with parameter support\n * - Global and component-level route handling\n *\n * Type Safety Improvements (v3.35.1):\n * - Enhanced route type definitions\n * - Better parameter type inference\n * - Improved URL validation and error handling\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 * app.on('/api/*', (path) => // Handle API routes);\n *\n * // Navigate programmatically\n * app.run('route', '#/home');\n * route('/users/123'); // Direct routing\n * ```\n */\nimport app from './app';\nexport const ROUTER_EVENT = '//';\nexport const ROUTER_404_EVENT = '///';\nexport const route = (url) => {\n if (app['lastUrl'] === url)\n return; // Prevent duplicate routing\n app['lastUrl'] = url;\n if (!url)\n 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 }\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 }\n else {\n app.run(url) || app.run(ROUTER_404_EVENT, url);\n app.run(ROUTER_EVENT, url);\n }\n};\nexport default route;\n//# sourceMappingURL=router.js.map","/**\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 with improved null safety\n * - Web component support\n * - Type-safe React integration\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 * Features:\n * - Event-driven architecture with pub/sub pattern\n * - Virtual DOM rendering with multiple renderer support\n * - Component lifecycle management\n * - Client-side routing with hash/path support\n * - Web Components integration\n * - React compatibility layer\n * - TypeScript support with strong typing\n *\n * Type Safety Improvements (v3.35.1):\n * - Added null checks for DOM event targets\n * - Improved global window object assignments with proper typing\n * - Enhanced React integration parameter validation\n * - Better error handling for invalid event handlers\n * - Safer element access with proper type assertions\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 */\nimport app, { App } from './app';\nimport { createElement, render, Fragment, safeHTML } from './vdom';\nimport { Component } from './component';\nimport { on, update, customElement } from './decorator';\nimport webComponent from './web-component';\nimport { route, ROUTER_EVENT, ROUTER_404_EVENT } from './router';\nimport { APPRUN_VERSION } from './version';\nexport { App, app, Component, on, update, Fragment, safeHTML };\nexport { update as event };\nexport { ROUTER_EVENT, ROUTER_404_EVENT };\nexport { customElement };\nexport default app;\nif (!app.start) {\n app.version = APPRUN_VERSION;\n app.h = app.createElement = createElement;\n app.render = render;\n app.Fragment = Fragment;\n app.webComponent = webComponent;\n app.safeHTML = safeHTML;\n app.start = (element, model, view, update, options) => {\n const opts = Object.assign({ render: true, global_event: true }, options);\n const component = new Component(model, view, update);\n if (options && options.rendered)\n component.rendered = options.rendered;\n if (options && options.mounted)\n component.mounted = options.mounted;\n component.start(element, opts);\n return component;\n };\n app.once = app.once || ((name, fn, options = {}) => {\n app.on(name, fn, Object.assign(Object.assign({}, options), { once: true }));\n });\n app.query = app.query || app.runAsync;\n const NOOP = _ => { };\n // app.on('$', NOOP);\n app.on('debug', _ => NOOP);\n app.on(ROUTER_EVENT, NOOP);\n app.on(ROUTER_404_EVENT, NOOP);\n app.route = route;\n app.on('route', url => app['route'] && app['route'](url));\n if (typeof document === 'object') {\n document.addEventListener(\"DOMContentLoaded\", () => {\n const no_init_route = document.body.hasAttribute('apprun-no-init') || app['no-init-route'] || false;\n const use_hash = app.find('#') || app.find('#/') || false;\n // console.log(`AppRun ${app.version} started with ${use_hash ? 'hash' : 'path'} routing. Initial load: ${init_load ? 'disabled' : 'enabled'}.`);\n window.addEventListener('hashchange', () => route(location.hash));\n window.addEventListener('popstate', () => route(location.pathname));\n if (use_hash) {\n !no_init_route && route(location.hash);\n }\n else {\n !no_init_route && route(location.pathname);\n document.body.addEventListener('click', e => {\n const element = e.target;\n if (!element)\n return;\n const menu = (element.tagName === 'A' ? element : element.closest('a'));\n if (menu &&\n menu.origin === location.origin &&\n menu.pathname) {\n e.preventDefault();\n history.pushState(null, '', menu.pathname);\n route(menu.pathname);\n }\n });\n }\n });\n }\n if (typeof window === 'object') {\n const globalWindow = window;\n globalWindow['Component'] = Component;\n globalWindow['_React'] = globalWindow['React'];\n globalWindow['React'] = app;\n globalWindow['on'] = on;\n globalWindow['customElement'] = customElement;\n globalWindow['safeHTML'] = safeHTML;\n }\n app.use_render = (render, mode = 0) => {\n if (mode === 0) {\n app.render = (el, vdom) => render(vdom, el); // react style\n }\n else {\n app.render = (el, vdom) => render(el, vdom); // apprun style\n }\n };\n app.use_react = (React, ReactDOM) => {\n if (!React || !ReactDOM) {\n console.error('AppRun use_react: React and ReactDOM parameters are required');\n return;\n }\n if (typeof React.createElement !== 'function') {\n console.error('AppRun use_react: Invalid React object - createElement method not found');\n return;\n }\n if (!React.Fragment) {\n console.error('AppRun use_react: Invalid React object - Fragment not found');\n return;\n }\n app.h = app.createElement = React.createElement;\n app.Fragment = React.Fragment;\n // React 18+ uses createRoot API\n if (React.version && React.version.startsWith('18')) {\n if (!ReactDOM.createRoot || typeof ReactDOM.createRoot !== 'function') {\n console.error('AppRun use_react: ReactDOM.createRoot not found in React 18+');\n return;\n }\n app.render = (el, vdom) => {\n if (!el || vdom === undefined)\n return;\n if (!el._root)\n el._root = ReactDOM.createRoot(el);\n el._root.render(vdom);\n };\n }\n else {\n // Legacy React versions\n if (!ReactDOM.render || typeof ReactDOM.render !== 'function') {\n console.error('AppRun use_react: ReactDOM.render not found in legacy React');\n return;\n }\n app.render = (el, vdom) => ReactDOM.render(vdom, el);\n }\n };\n}\n//# sourceMappingURL=apprun.js.map","/**\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","/**\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","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","/**\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","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';\nimport { render, svg, html, noChange } from 'lit';\nimport { directive, Directive, PartType } from 'lit/directive.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport app from './apprun';\nfunction _render(element, vdom, parent) {\n if (!vdom)\n return;\n if (typeof vdom === 'string') {\n if (!element['_$litPart$'])\n element.replaceChildren();\n render(html `${unsafeHTML(vdom)}`, element);\n }\n else if (vdom['_$litType$']) {\n if (!element['_$litPart$'])\n element.replaceChildren();\n render(vdom, element);\n }\n else {\n updateElement(element, vdom, parent);\n element['_$litPart$'] = undefined;\n }\n}\nexport class RunDirective extends Directive {\n constructor(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, props) {\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 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 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 }\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}\nconst run = directive(RunDirective);\nexport { createElement, Fragment, html, svg, _render as render, run };\n//# sourceMappingURL=vdom-lit-html.js.map","import app from './apprun';\nimport { safeGlobalAssign } from './type-utils';\nexport { app, Component, on, update, event, customElement, ROUTER_404_EVENT, ROUTER_EVENT, safeHTML } from './apprun';\nimport { createElement, render, Fragment, html, svg, run } from './vdom-lit-html';\nexport { html, svg, render, run };\napp.createElement = createElement;\napp.render = render;\napp.Fragment = Fragment;\nexport default app;\nif (typeof window === 'object') {\n const globalWindow = window;\n safeGlobalAssign(globalWindow, {\n 'React': globalWindow['_React'] || app,\n 'html': html,\n 'svg': svg,\n 'run': run\n });\n}\n//# sourceMappingURL=apprun-html.js.map"],"names":["APPRUN_VERSION","APPRUN_VERSION_GLOBAL","App","constructor","this","_events","on","name","fn","options","push","off","subscribers","filter","sub","find","run","args","getSubscribers","console","assert","length","forEach","error","delay","Object","keys","apply","once","assign","_t","clearTimeout","setTimeout","runAsync","promises","map","Promise","resolve","reject","all","query","events","evt","endsWith","startsWith","replace","sort","a","b","event","AppRunVersions","_app","root","window","global","self","app","_AppRunVersions","safeEventTarget","target","HTMLElement","getStateValue","component","setStateValue","value","state","setState","directive","vdom","Array","isArray","element","type","tag","props","children","key","substring","e","handler","p","checked","Number","multiple","selected","apply_directive","Fragment","collect","ATTR_PROPS","ch","c","i","createElement","undefined","getPrototypeOf","__isAppRunComponent","Error","updateElement","nodes","parent","createComponent","isSvg","nodeName","updateChildren","render","document","getElementById","querySelector","update","node","el","key1","key2","toUpperCase","same","updateProps","parentNode","replaceChild","create","_a","old_len","childNodes","new_len","some","child","existingKeyedElements","Map","set","fragment","createDocumentFragment","has","existingEl","get","appendChild","delete","firstChild","removeChild","len","Math","min","nodeType","nodeValue","createText","SVGElement","lastChild","d","safeHTML","html","div","insertAdjacentHTML","from","indexOf","createTextNode","JSON","stringify","String","createElementNS","cached","oldProps","newProps","mergeProps","cname","match","dataset","style","cssText","s","xname","toLowerCase","removeAttributeNS","setAttributeNS","setAttribute","removeAttribute","test","getAttribute","requestAnimationFrame","idx","id","Date","now","asTag","__componentCache","renderState","mount","mounted","new_state","render_component","new_parent","_component","customElement","componentClass","super","observedAttributes","attr","connectedCallback","isConnected","opts","_shadowRoot","shadow","attachShadow","mode","attrMap","reduce","lc","_attrMap","attributes","item","defineProperty","attributeChangedCallback","configurable","enumerable","_props","dispatchEvent","bind","disconnectedCallback","_b","_c","_d","unload","call","unmount","oldValue","mappedName","webComponent","customElements","define","Reflect","meta","WeakMap","defineMetadata","metadataKey","metadataValue","getMetadataKeys","getMetadata","descriptor","toString","componentCache","o","components","REFRESH","Component","view","_","warn","safeGetElementById","selector","context","safeQuerySelector","tracking_attr","tracking_id","valueOf","MutationObserver","observer","changes","body","contains","disconnect","observe","childList","subtree","attributeOldValue","attributeFilter","transition","rendered","history","handleAsyncIterator","async","iterator","done","next","result","Symbol","asyncIterator","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","add_action","action","current_state","newState","actions","act","split","n","trim","ROUTER_EVENT","ROUTER_404_EVENT","url","rest","version","h","model","NOOP","addEventListener","no_init_route","hasAttribute","use_hash","location","hash","pathname","menu","tagName","closest","origin","preventDefault","pushState","globalWindow","use_render","use_react","React","ReactDOM","createRoot","_root","t","globalThis","ShadowRoot","ShadyCSS","nativeShadow","Document","prototype","CSSStyleSheet","n$2","_$cssResult$","styleSheet","replaceSync","cssRules","r","is","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","trustedTypes","l","emptyScript","reactiveElementPolyfillSupport","u","toAttribute","Boolean","fromAttribute","parse","f","attribute","converter","reflect","useDefault","hasChanged","metadata","litPropertyMetadata","y$1","addInitializer","_$Ei","finalize","_$Eh","createProperty","hasOwnProperty","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","size","createRenderRoot","shadowRoot","shadowRootOptions","adoptedStyleSheets","litNonce","textContent","hostDisconnected","_$AK","_$ET","_$Ej","C","_$EP","_$Eq","scheduleUpdate","performUpdate","shouldUpdate","willUpdate","hostUpdate","_$EM","_$AE","hostUpdated","firstUpdated","updated","updateComplete","getUpdateComplete","y","ReactiveElement","reactiveElementVersions","createPolicy","createHTML","random","toFixed","slice","createComment","m","RegExp","g","$","_$litType$","strings","values","x","T","for","E","A","createTreeWalker","P","V","lastIndex","exec","N","parts","currentNode","content","replaceWith","nextNode","hasAttributes","getAttributeNames","index","ctor","H","I","L","k","append","data","innerHTML","S","_$Co","_$Cl","_$litDirective$","_$AO","_$AT","_$AS","M","_$AV","_$AN","_$AD","_$AM","_$AU","creationScope","importNode","R","nextSibling","z","_$AI","_$Cv","_$AH","_$AA","_$AB","startNode","endNode","_$AR","O","insertBefore","_$AC","_$AP","remove","setConnected","fill","j","arguments","toggleAttribute","capture","passive","removeEventListener","handleEvent","host","litHtmlPolyfillSupport","litHtmlVersions","B","renderBefore","_$litPart$","renderOptions","_$Do","_$litElement$","litElementHydrateSupport","LitElement","litElementPolyfillSupport","litElementVersions","_$Ct","_$Ci","it","directiveName","raw","resultType","_render","replaceChildren","unsafeHTML","Directive","partInfo","PartType","part","eventOrFn","getComponent","parentElement","noChange","globalObj","assignments","svg"],"mappings":"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","x_google_ignoreList":[10,11,12,13,14,15]}
|