apprun 3.33.10 → 3.35.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.
@@ -1 +1 @@
1
- {"version":3,"file":"apprun-play-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","../esm/apprun-play-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","import { app, Component } from './apprun-html';\nconst popup_div = `<div id=\"play-popup\" class=\"overlay\">\n<style id=\"apprun-play-style\">\n.apprun-play .col {\n height: 100%;\n flex: 1;\n}\n.apprun-preview {\n width: 100%\n}\n.apprun-play .editor, .apprun-play .preview {\n display: inline-block;\n width: calc(100% - 20px);\n height: calc(100% - 10px);\n}\n\na.button {\n font-size: .8em;\n padding: 10px;\n cursor: pointer;\n color: var(--md-primary-bg-color);\n background: var(--md-primary-fg-color)\n}\na.button:hover {\n color: var(--md-primary-fg-color);\n background: var(--md-primary-bg-color)\n}\n\n.overlay {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: rgba(0, 0, 0, 0.7);\n visibility: hidden;\n opacity: 0;\n z-index: 999;\n}\n.overlay.show {\n visibility: visible;\n opacity: 1;\n}\n\n.popup {\n margin: 80px auto;\n padding: 20px;\n background: #fff;\n border-radius: 3px;\n position: relative;\n width: 90%;\n height: calc(100% - 150px);\n}\n\n.popup .close {\n position: absolute;\n top: 10px;\n right: 20px;\n font-size: 20px;\n font-weight: bold;\n text-decoration: none;\n color: #333;\n}\n.popup .close:hover {\n color: #06D85F;\n}\n.popup .content {\n height: 100%;\n overflow: hidden;\n display: flex;\n}\n\n.cm-s-default {\n height: 100%;\n font-size: small;\n line-height: 1.5em;\n z-index: 0;\n}\n</style>\n\n\t<div class=\"popup apprun-play\">\n\t\t<a class=\"close\" href=\"javascript:app.run('@close-popup')\">&times;</a>\n\t\t<div class=\"content\">\n\t\t\t<div class=\"col\">\n <textarea class=\"editor\"></textarea>\n </div>\n <div class=\"col\">\n <iframe class=\"preview\"/>\n </div>\n </div>\n\t</div>\n</div>`;\nconst code_html = code => `<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n <script src=\"https://cdnjs.cloudflare.com/ajax/libs/custom-elements/1.1.2/custom-elements.min.js\"></script>\n <title>AppRun Playground</title>\n <style>\n body {\n font-family: \"Benton Sans\", \"Helvetica Neue\", helvetica, arial, sans-serif;\n margin: 2em;\n }\n </style>\n <script src=\"https://unpkg.com/@babel/standalone/babel.min.js\"></script>\n <script src=\"https://unpkg.com/apprun/dist/apprun-html.js\"></script>\n</head>\n<body>\n<script>\n Babel.registerPlugin(\"d\", [Babel.availablePlugins[\"proposal-decorators\"], {legacy: true}]);\n Babel.registerPlugin(\"c\", [Babel.availablePlugins[\"proposal-class-properties\"], {loose: true}]);\n Babel.registerPlugin(\"b\", [Babel.availablePlugins[\"proposal-private-methods\"], {loose: true}]);\n</script>\n<script type=\"text/babel\" data-plugins=\"d, c, b\">\n ${code}\n</script>\n</body>\n</html>`;\nconst setup_editor = (textarea, iframe, code, hide_src) => {\n if (!iframe || !code)\n return;\n const run_code = code => {\n var _a, _b;\n const iframe_clone = iframe.cloneNode();\n (_a = iframe.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(iframe_clone, iframe);\n iframe = iframe_clone;\n const doc = (_b = iframe.contentWindow) === null || _b === void 0 ? void 0 : _b.document;\n if (!doc)\n return;\n doc.open();\n if (code.indexOf('<html') >= 0)\n doc.write(code);\n else\n doc.write(code_html(code));\n doc.close();\n };\n run_code(code);\n if (hide_src || !textarea || textarea.nodeName !== 'TEXTAREA')\n return;\n if (typeof CodeMirror === 'undefined') {\n textarea.onkeyup = () => run_code(textarea.value);\n }\n else {\n if (!textarea.editor) {\n textarea.editor = CodeMirror.fromTextArea(textarea, {\n lineNumbers: true,\n mode: 'jsx'\n });\n textarea.editor.on('change', (cm) => run_code(cm.getValue()));\n }\n }\n};\nclass Play extends Component {\n constructor() {\n super(...arguments);\n this.view = (state) => {\n const code_element = state['code-element'];\n const element = this.element;\n let code_area, code;\n if (code_element) {\n code_area = document.querySelector(code_element);\n }\n else {\n code_area = element.previousElementSibling ||\n element.parentElement.previousElementSibling;\n }\n code = (code_area === null || code_area === void 0 ? void 0 : code_area.innerText // from div-code\n )\n || (code_area === null || code_area === void 0 ? void 0 : code_area.value) // from textarea\n || state['code']; // from code attr\n this.state.code_area = code_area;\n this.state.code = code;\n return code ? `<div class=\"toolbox\">\n ${!state.hide_button && '<a class=\"button\" onclick=\"app.run(\"@show-popup\")\" >Try the Code</a>'}\n </div>`\n : '<div>AppRun Play cannot find code to run, please set code-element selector.</div>';\n };\n this.rendered = ({ style, hide_src, code_area, code }) => {\n if (!code)\n return;\n if (!document.getElementById('play-popup')) {\n document.body.insertAdjacentHTML('beforeend', popup_div);\n const textarea = document.querySelector(\".apprun-play .editor\");\n const iframe = document.querySelector('.apprun-play .preview');\n textarea.value = code;\n setup_editor(textarea, iframe, code, false);\n }\n const iframe = document.createElement('iframe');\n iframe.classList.add('apprun-preview');\n iframe.style.cssText = style;\n this.element.before(iframe);\n if (hide_src)\n code_area.style.display = 'none';\n setup_editor(code_area, iframe, code, hide_src);\n };\n this.update = {\n '@show-popup': ({ code }) => {\n var _a;\n const textarea = document.querySelector(\".apprun-play .editor\");\n (_a = textarea.editor) === null || _a === void 0 ? void 0 : _a.setValue(code);\n document.getElementById('play-popup').classList.add('show');\n },\n '@close-popup': () => { document.getElementById('play-popup').classList.remove('show'); },\n };\n }\n}\napp.webComponent('apprun-play', Play);\n//# sourceMappingURL=apprun-play-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","componentCache","Map","o","components","REFRESH","Component","view","_","tracking_attr","tracking_id","valueOf","toString","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","Directive","partInfo","PartType","part","eventOrFn","getComponent","parentElement","noChange","replaceChildren","unsafeHTML","svg","setup_editor","textarea","iframe","code","hide_src","run_code","iframe_clone","cloneNode","doc","contentWindow","open","write","code_html","close","CodeMirror","onkeyup","editor","fromTextArea","lineNumbers","cm","getValue","code_element","code_area","previousElementSibling","innerText","hide_button","classList","before","display","setValue"],"mappings":"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","x_google_ignoreList":[8,9,10,11,12,13]}
1
+ {"version":3,"file":"apprun-play-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","../esm/apprun-play-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.3.11';\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 (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\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.version = '3.35.0';\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(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 init_load = 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 init_load && route(location.hash);\n }\n else {\n init_load && 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 route(menu.pathname);\n }\n });\n }\n });\n }\n if (typeof window === 'object') {\n window['Component'] = Component;\n window['_React'] = window['React'];\n window['React'] = app;\n window['on'] = on;\n window['customElement'] = customElement;\n window['safeHTML'] = safeHTML;\n }\n 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}\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","import { app, Component } from './apprun-html';\nconst popup_div = `<div id=\"play-popup\" class=\"overlay\">\n<style id=\"apprun-play-style\">\n.apprun-play .col {\n height: 100%;\n flex: 1;\n}\n.apprun-preview {\n width: 100%\n}\n.apprun-play .editor, .apprun-play .preview {\n display: inline-block;\n width: calc(100% - 20px);\n height: calc(100% - 10px);\n}\n\na.button {\n font-size: .8em;\n padding: 10px;\n cursor: pointer;\n color: var(--md-primary-bg-color);\n background: var(--md-primary-fg-color)\n}\na.button:hover {\n color: var(--md-primary-fg-color);\n background: var(--md-primary-bg-color)\n}\n\n.overlay {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n background: rgba(0, 0, 0, 0.7);\n visibility: hidden;\n opacity: 0;\n z-index: 999;\n}\n.overlay.show {\n visibility: visible;\n opacity: 1;\n}\n\n.popup {\n margin: 80px auto;\n padding: 20px;\n background: #fff;\n border-radius: 3px;\n position: relative;\n width: 90%;\n height: calc(100% - 150px);\n}\n\n.popup .close {\n position: absolute;\n top: 10px;\n right: 20px;\n font-size: 20px;\n font-weight: bold;\n text-decoration: none;\n color: #333;\n}\n.popup .close:hover {\n color: #06D85F;\n}\n.popup .content {\n height: 100%;\n overflow: hidden;\n display: flex;\n}\n\n.cm-s-default {\n height: 100%;\n font-size: small;\n line-height: 1.5em;\n z-index: 0;\n}\n</style>\n\n\t<div class=\"popup apprun-play\">\n\t\t<a class=\"close\" href=\"javascript:app.run('@close-popup')\">&times;</a>\n\t\t<div class=\"content\">\n\t\t\t<div class=\"col\">\n <textarea class=\"editor\"></textarea>\n </div>\n <div class=\"col\">\n <iframe class=\"preview\"/>\n </div>\n </div>\n\t</div>\n</div>`;\nconst code_html = code => `<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <meta http-equiv=\"X-UA-Compatible\" content=\"ie=edge\">\n <script src=\"https://cdnjs.cloudflare.com/ajax/libs/custom-elements/1.1.2/custom-elements.min.js\"></script>\n <title>AppRun Playground</title>\n <style>\n body {\n font-family: \"Benton Sans\", \"Helvetica Neue\", helvetica, arial, sans-serif;\n margin: 2em;\n }\n </style>\n <script src=\"https://unpkg.com/@babel/standalone/babel.min.js\"></script>\n <script src=\"https://unpkg.com/apprun/dist/apprun-html.js\"></script>\n</head>\n<body>\n<script>\n Babel.registerPlugin(\"d\", [Babel.availablePlugins[\"proposal-decorators\"], {legacy: true}]);\n Babel.registerPlugin(\"c\", [Babel.availablePlugins[\"proposal-class-properties\"], {loose: true}]);\n Babel.registerPlugin(\"b\", [Babel.availablePlugins[\"proposal-private-methods\"], {loose: true}]);\n</script>\n<script type=\"text/babel\" data-plugins=\"d, c, b\">\n ${code}\n</script>\n</body>\n</html>`;\nconst setup_editor = (textarea, iframe, code, hide_src) => {\n if (!iframe || !code)\n return;\n const run_code = code => {\n var _a, _b;\n const iframe_clone = iframe.cloneNode();\n (_a = iframe.parentNode) === null || _a === void 0 ? void 0 : _a.replaceChild(iframe_clone, iframe);\n iframe = iframe_clone;\n const doc = (_b = iframe.contentWindow) === null || _b === void 0 ? void 0 : _b.document;\n if (!doc)\n return;\n doc.open();\n if (code.indexOf('<html') >= 0)\n doc.write(code);\n else\n doc.write(code_html(code));\n doc.close();\n };\n run_code(code);\n if (hide_src || !textarea || textarea.nodeName !== 'TEXTAREA')\n return;\n if (typeof CodeMirror === 'undefined') {\n textarea.onkeyup = () => run_code(textarea.value);\n }\n else {\n if (!textarea.editor) {\n textarea.editor = CodeMirror.fromTextArea(textarea, {\n lineNumbers: true,\n mode: 'jsx'\n });\n textarea.editor.on('change', (cm) => run_code(cm.getValue()));\n }\n }\n};\nclass Play extends Component {\n constructor() {\n super(...arguments);\n this.view = (state) => {\n const code_element = state['code-element'];\n const element = this.element;\n let code_area, code;\n if (code_element) {\n code_area = document.querySelector(code_element);\n }\n else {\n code_area = element.previousElementSibling ||\n element.parentElement.previousElementSibling;\n }\n code = (code_area === null || code_area === void 0 ? void 0 : code_area.innerText // from div-code\n )\n || (code_area === null || code_area === void 0 ? void 0 : code_area.value) // from textarea\n || state['code']; // from code attr\n this.state.code_area = code_area;\n this.state.code = code;\n return code ? `<div class=\"toolbox\">\n ${!state.hide_button && '<a class=\"button\" onclick=\"app.run(\"@show-popup\")\" >Try the Code</a>'}\n </div>`\n : '<div>AppRun Play cannot find code to run, please set code-element selector.</div>';\n };\n this.rendered = ({ style, hide_src, code_area, code }) => {\n if (!code)\n return;\n if (!document.getElementById('play-popup')) {\n document.body.insertAdjacentHTML('beforeend', popup_div);\n const textarea = document.querySelector(\".apprun-play .editor\");\n const iframe = document.querySelector('.apprun-play .preview');\n textarea.value = code;\n setup_editor(textarea, iframe, code, false);\n }\n const iframe = document.createElement('iframe');\n iframe.classList.add('apprun-preview');\n iframe.style.cssText = style;\n this.element.before(iframe);\n if (hide_src)\n code_area.style.display = 'none';\n setup_editor(code_area, iframe, code, hide_src);\n };\n this.update = {\n '@show-popup': ({ code }) => {\n var _a;\n const textarea = document.querySelector(\".apprun-play .editor\");\n (_a = textarea.editor) === null || _a === void 0 ? void 0 : _a.setValue(code);\n document.getElementById('play-popup').classList.add('show');\n },\n '@close-popup': () => { document.getElementById('play-popup').classList.remove('show'); },\n };\n }\n}\napp.webComponent('apprun-play', Play);\n//# sourceMappingURL=apprun-play-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","componentCache","Map","o","components","REFRESH","Component","view","_","tracking_attr","tracking_id","valueOf","toString","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","version","h","model","NOOP","addEventListener","init_load","hasAttribute","use_hash","location","hash","pathname","menu","tagName","closest","origin","preventDefault","pushState","use_render","use_react","React","ReactDOM","_root","createRoot","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","Directive","partInfo","PartType","part","eventOrFn","getComponent","parentElement","noChange","replaceChildren","unsafeHTML","svg","setup_editor","textarea","iframe","code","hide_src","run_code","iframe_clone","cloneNode","doc","contentWindow","open","write","code_html","close","CodeMirror","onkeyup","editor","fromTextArea","lineNumbers","cm","getValue","code_element","code_area","previousElementSibling","innerText","hide_button","classList","before","display","setValue"],"mappings":"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","x_google_ignoreList":[8,9,10,11,12,13]}