nuclo 0.2.36 → 0.2.37

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 +0,0 @@
1
- {"version":3,"file":"Element-BUdteOsZ.cjs","names":[],"sources":["../src/shared/environment.ts","../src/polyfill/Node.ts","../src/polyfill/Element.ts"],"sourcesContent":["/**\n * Simplified environment detection - minimal overhead for smaller bundle size\n */\n\n// Basic environment detection - no complex caching or edge cases\nexport const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n","/**\n * Base Node class for instanceof checks in Node.js polyfill\n */\nexport class NucloNode {\n nodeType: number = 1; // ELEMENT_NODE\n nodeName: string = '';\n nodeValue: string | null = null;\n parentNode: unknown = null;\n _childNodes: Node[] | null = null;\n textContent: string = '';\n\n get childNodes(): NodeListOf<ChildNode> {\n const nodes = this._childNodes ?? [];\n return {\n ...nodes,\n length: nodes.length,\n item: (index: number) => (nodes[index] as ChildNode) || null,\n [Symbol.iterator]: function* () {\n for (const node of nodes) {\n yield node as ChildNode;\n }\n },\n forEach: (callback: (value: ChildNode, key: number, parent: NodeListOf<ChildNode>) => void) => {\n for (let i = 0; i < nodes.length; i++) {\n callback(nodes[i] as ChildNode, i, this.childNodes);\n }\n },\n entries: function* () {\n for (let i = 0; i < nodes.length; i++) {\n yield [i, nodes[i] as ChildNode] as [number, ChildNode];\n }\n },\n keys: function* () {\n for (let i = 0; i < nodes.length; i++) {\n yield i;\n }\n },\n values: function* () {\n for (const node of nodes) {\n yield node as ChildNode;\n }\n }\n } as unknown as NodeListOf<ChildNode>;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { NucloNode } from './Node';\nimport { isBrowser } from '../shared/environment';\n\n/**\n * Lightweight style object for SSR — prototype methods instead of Object.defineProperty per element.\n * Stores CSS properties as own properties and provides cssText/setProperty/getPropertyValue via prototype.\n */\nclass SSRStyle {\n [key: string]: unknown;\n\n get cssText(): string {\n const entries = Object.entries(this);\n if (entries.length === 0) return '';\n return entries.map(([k, v]) => `${k}: ${v}`).join('; ');\n }\n\n setProperty(name: string, value: string): void {\n (this as Record<string, unknown>)[name] = value;\n }\n\n getPropertyValue(name: string): string {\n return ((this as Record<string, unknown>)[name] as string) || '';\n }\n}\n\n// Lightweight classList for SSR — prototype methods instead of per-element closures\nclass SSRClassList {\n private _el: NucloElement;\n constructor(el: NucloElement) { this._el = el; }\n\n add(...tokens: string[]): void {\n const classes = this._el.className ? this._el.className.split(' ').filter(Boolean) : [];\n for (const t of tokens) if (t && !classes.includes(t)) classes.push(t);\n this._el.className = classes.join(' ');\n }\n remove(...tokens: string[]): void {\n if (!this._el.className) return;\n this._el.className = this._el.className.split(' ').filter(c => c && !tokens.includes(c)).join(' ');\n }\n contains(token: string): boolean {\n return !!this._el.className && this._el.className.split(' ').includes(token);\n }\n toggle(token: string, force?: boolean): boolean {\n const has = this.contains(token);\n if (force === undefined) { if (has) { this.remove(token); return false; } this.add(token); return true; }\n if (force) { this.add(token); return true; }\n this.remove(token); return false;\n }\n replace(oldToken: string, newToken: string): boolean {\n if (!this.contains(oldToken)) return false;\n this.remove(oldToken); this.add(newToken); return true;\n }\n item(index: number): string | null { return (this._el.className.split(' ').filter(Boolean)[index]) ?? null; }\n get length(): number { return this._el.className ? this._el.className.split(' ').filter(Boolean).length : 0; }\n get value(): string { return this._el.className; }\n set value(v: string) { this._el.className = v; }\n toString(): string { return this._el.className; }\n supports(_token: string): boolean { return false; }\n forEach(cb: (value: string, key: number, parent: DOMTokenList) => void): void {\n const classes = this._el.className.split(' ').filter(Boolean);\n for (let i = 0; i < classes.length; i++) cb(classes[i], i, this as unknown as DOMTokenList);\n }\n [Symbol.iterator](): Iterator<string> {\n const classes = this._el.className.split(' ').filter(Boolean);\n let i = 0;\n return { next(): IteratorResult<string> { return i < classes.length ? { value: classes[i++], done: false } : { value: '', done: true }; } };\n }\n entries(): Iterator<[number, string]> {\n const classes = this._el.className.split(' ').filter(Boolean);\n let i = 0;\n return { next(): IteratorResult<[number, string]> { return i < classes.length ? { value: [i, classes[i++]], done: false } : { value: [0, ''], done: true }; } };\n }\n keys(): Iterator<number> {\n const len = this.length; let i = 0;\n return { next(): IteratorResult<number> { return i < len ? { value: i++, done: false } : { value: 0, done: true }; } };\n }\n values(): Iterator<string> { return this[Symbol.iterator](); }\n}\n\ninterface TextNode {\n nodeType: 3;\n textContent: string;\n}\n\ninterface CommentNode {\n nodeType: 8;\n data: string;\n}\n\nfunction isElementNode(node: unknown): node is NucloElement {\n return typeof node === 'object' && node !== null && 'tagName' in node;\n}\n\nfunction isTextNode(node: unknown): node is TextNode {\n return typeof node === 'object' && node !== null && 'nodeType' in node && (node as { nodeType: number }).nodeType === 3;\n}\n\nfunction isCommentNode(node: unknown): node is CommentNode {\n return typeof node === 'object' && node !== null && 'nodeType' in node && (node as { nodeType: number }).nodeType === 8;\n}\n\nexport class NucloElement extends NucloNode {\n tagName: string;\n children: unknown[];\n className: string = '';\n textContent: string = '';\n private _innerHTML: string = '';\n parentNode: unknown = null;\n rawMods?: unknown[];\n mods?: unknown[];\n id: string = '';\n namespaceURI?: string;\n sheet?: CSSStyleSheet | null;\n private _listeners: Map<string, Set<EventListener>> | null;\n\n // style/classList are allocated lazily: the vast majority of SSR elements\n // never touch either (className is stored on the .className string, and the\n // serializer reads the backing field directly), so eagerly constructing an\n // SSRStyle + SSRClassList per element was pure allocation churn. The browser\n // path assigns these in the constructor, so its getter never lazy-allocates.\n private _style?: CSSStyleDeclaration;\n private _classList?: DOMTokenList;\n\n // attributes is allocated lazily too — most elements carry their identity on\n // .className/.id (separate string fields) and never call setAttribute. Reads\n // short-circuit on the undefined backing map without allocating; the\n // serializer reads _attributes directly. The public getter still lazily\n // materializes a Map for any external `el.attributes` consumer.\n private _attributes?: Map<string, string>;\n\n get attributes(): Map<string, string> {\n return (this._attributes ??= new Map<string, string>());\n }\n set attributes(value: Map<string, string>) {\n this._attributes = value;\n }\n\n get style(): CSSStyleDeclaration {\n return (this._style ??= new SSRStyle() as unknown as CSSStyleDeclaration);\n }\n set style(value: CSSStyleDeclaration) {\n this._style = value;\n }\n\n get classList(): DOMTokenList {\n return (this._classList ??= new SSRClassList(this) as unknown as DOMTokenList);\n }\n set classList(value: DOMTokenList) {\n this._classList = value;\n }\n\n get innerHTML(): string {\n return this.serializeChildren();\n }\n\n set innerHTML(value: string) {\n this._innerHTML = value;\n }\n \n private serializeChildren(): string {\n let html = '';\n for (const child of this.children) {\n if (isElementNode(child)) {\n html += this.serializeElement(child);\n } else if (isTextNode(child)) {\n html += child.textContent || '';\n } else if (isCommentNode(child)) {\n html += `<!--${child.data || ''}-->`;\n }\n }\n return html;\n }\n \n private serializeElement(element: NucloElement): string {\n const tag = element.tagName.toLowerCase();\n let html = `<${tag}`;\n \n // Add attributes\n if (element.id) {\n html += ` id=\"${element.id}\"`;\n }\n if (element.className) {\n html += ` class=\"${element.className}\"`;\n }\n if (element._attributes) {\n for (const [name, value] of element._attributes) {\n if (name !== 'id' && name !== 'class') {\n html += ` ${name}=\"${value}\"`;\n }\n }\n }\n \n html += '>';\n \n // Add children\n if (element.children && element.children.length > 0) {\n for (const child of element.children) {\n if (isElementNode(child)) {\n html += this.serializeElement(child);\n } else if (isTextNode(child)) {\n html += child.textContent || '';\n } else if (isCommentNode(child)) {\n html += `<!--${child.data || ''}-->`;\n }\n }\n }\n \n html += `</${tag}>`;\n return html;\n }\n \n constructor(tagName: string) {\n super();\n this.tagName = tagName.toLowerCase();\n this.nodeType = 1; // ELEMENT_NODE\n this.nodeName = tagName.toUpperCase();\n this.children = [];\n\n if (!isBrowser) {\n // ── SSR path: minimal allocations, no Proxy, no event listeners ──\n // style and classList stay unallocated until first access (see getters).\n this._listeners = null;\n } else {\n // ── Browser path: full-featured Proxy style + DOMTokenList ──\n this._listeners = new Map();\n\n const styleProps: Record<string, string> = {};\n this.style = new Proxy({} as CSSStyleDeclaration, {\n get: (_target, prop: string) => {\n if (prop === 'setProperty') return (name: string, value: string) => { styleProps[name] = value; };\n if (prop === 'getPropertyValue') return (name: string) => styleProps[name] || '';\n if (prop === 'cssText') return Object.entries(styleProps).map(([k, v]) => `${k}: ${v}`).join('; ');\n return styleProps[prop];\n },\n set: (_target, prop: string, value: string) => { styleProps[prop] = value; return true; },\n });\n\n // CSSStyleSheet mock for style elements (browser only)\n if (this.tagName === 'style') {\n const cssRules: CSSRule[] = [];\n this.sheet = {\n cssRules: cssRules as unknown as CSSRuleList,\n insertRule: (rule: string, index?: number) => {\n const idx = index ?? cssRules.length;\n let mockRule: CSSRule;\n if (rule.trim().startsWith('@')) {\n const innerRules: CSSRule[] = [];\n const conditionText = rule.replace(/^@\\w+\\s+/, '').replace(/\\s*\\{[\\s\\S]*\\}$/, '').trim();\n mockRule = {\n cssText: rule, conditionText,\n media: { mediaText: conditionText } as MediaList,\n cssRules: innerRules as unknown as CSSRuleList,\n insertRule: (innerRule: string, innerIndex?: number) => {\n const innerIdx = innerIndex ?? innerRules.length;\n innerRules.splice(innerIdx, 0, { cssText: innerRule, selectorText: innerRule.split('{')[0].trim(), style: {} as CSSStyleDeclaration, type: 1 } as unknown as CSSRule);\n return innerIdx;\n },\n deleteRule: (i: number) => { innerRules.splice(i, 1); },\n type: 4,\n } as unknown as CSSRule;\n } else {\n mockRule = { cssText: rule, selectorText: rule.split('{')[0].trim(), style: {} as CSSStyleDeclaration, type: 1 } as unknown as CSSRule;\n }\n cssRules.splice(idx, 0, mockRule);\n return idx;\n },\n deleteRule: (index: number) => { cssRules.splice(index, 1); },\n } as unknown as CSSStyleSheet;\n }\n\n this.classList = createClassList(this);\n }\n }\n \n appendChild<T extends Node>(child: T): T {\n // Spec behaviour: appending a DocumentFragment moves its children into this\n // node and leaves the fragment empty. The list runtime relies on this to\n // batch row insertions.\n if ((child as any)?.nodeType === 11) {\n // Detach the fragment's backing array before iterating (instead of\n // slicing it) — the fragment is emptied either way, and reassigning\n // first means the loop never has to allocate a copy just to guard\n // against the array it's about to discard.\n const kids = (child as any).childNodes as Node[];\n (child as any).childNodes = [];\n if ((child as any).children) (child as any).children = [];\n for (let i = 0; i < kids.length; i++) this.appendChild(kids[i]);\n return child;\n }\n this.children.push(child);\n if (isBrowser && (this as any)['_childNodes']) {\n (this as any)['_childNodes'].push(child);\n }\n if (typeof child === 'object' && child !== null && 'parentNode' in child) {\n (child as { parentNode: unknown }).parentNode = this;\n }\n return child;\n }\n \n setAttribute(name: string, value: string): void {\n (this._attributes ??= new Map<string, string>()).set(name, value);\n if (name === 'class') {\n this.className = value;\n } else if (name === 'id') {\n this.id = value;\n }\n }\n\n getAttribute(name: string): string | null {\n return this._attributes?.get(name) ?? null;\n }\n\n removeAttribute(name: string): void {\n this._attributes?.delete(name);\n if (name === 'class') {\n this.className = '';\n }\n }\n\n hasAttribute(name: string): boolean {\n return this._attributes?.has(name) ?? false;\n }\n \n insertBefore<T extends Node>(newNode: T, referenceNode: Node | null): T {\n if (referenceNode === null) {\n return this.appendChild(newNode);\n }\n // Spec behaviour: inserting a DocumentFragment moves its children (in order)\n // before the reference node and empties the fragment.\n if ((newNode as any)?.nodeType === 11) {\n const kids = (newNode as any).childNodes as Node[];\n (newNode as any).childNodes = [];\n if ((newNode as any).children) (newNode as any).children = [];\n for (let i = 0; i < kids.length; i++) this.insertBefore(kids[i], referenceNode);\n return newNode;\n }\n const index = this.children.indexOf(referenceNode);\n if (index !== -1) {\n this.children.splice(index, 0, newNode);\n if (isBrowser && (this as any)['_childNodes']) {\n const childNodesIndex = (this as any)['_childNodes'].indexOf(referenceNode);\n if (childNodesIndex !== -1) {\n (this as any)['_childNodes'].splice(childNodesIndex, 0, newNode);\n }\n }\n if (typeof newNode === 'object' && newNode !== null && 'parentNode' in newNode) {\n (newNode as { parentNode: unknown }).parentNode = this;\n }\n }\n return newNode;\n }\n \n removeChild<T extends Node>(child: T): T {\n const index = this.children.indexOf(child);\n if (index !== -1) {\n this.children.splice(index, 1);\n if (isBrowser && (this as any)['_childNodes']) {\n const cnIndex = (this as any)['_childNodes'].indexOf(child);\n if (cnIndex !== -1) {\n (this as any)['_childNodes'].splice(cnIndex, 1);\n }\n }\n if (typeof child === 'object' && child !== null && 'parentNode' in child) {\n (child as { parentNode: unknown }).parentNode = null;\n }\n }\n return child;\n }\n\n replaceChild<T extends Node>(newChild: Node, oldChild: T): T {\n const index = this.children.indexOf(oldChild);\n if (index !== -1) {\n this.children[index] = newChild;\n if (isBrowser && (this as any)['_childNodes']) {\n const cnIndex = (this as any)['_childNodes'].indexOf(oldChild);\n if (cnIndex !== -1) {\n (this as any)['_childNodes'][cnIndex] = newChild;\n }\n }\n if (typeof newChild === 'object' && newChild !== null && 'parentNode' in newChild) {\n (newChild as { parentNode: unknown }).parentNode = this;\n }\n if (typeof oldChild === 'object' && oldChild !== null && 'parentNode' in oldChild) {\n (oldChild as { parentNode: unknown }).parentNode = null;\n }\n }\n return oldChild;\n }\n \n addEventListener(type: string, listener: EventListener): void {\n if (!this._listeners) return;\n if (!this._listeners.has(type)) {\n this._listeners.set(type, new Set());\n }\n this._listeners.get(type)!.add(listener);\n }\n\n removeEventListener(type: string, listener: EventListener): void {\n const listeners = this._listeners?.get(type);\n if (listeners) {\n listeners.delete(listener);\n }\n }\n\n dispatchEvent(event: Event): boolean {\n const listeners = this._listeners?.get(event.type);\n if (listeners) {\n for (const listener of listeners) {\n try {\n listener(event);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error in event listener:', error);\n }\n }\n }\n if (event.bubbles && this.parentNode && typeof this.parentNode === 'object' && 'dispatchEvent' in this.parentNode && typeof this.parentNode.dispatchEvent === 'function') {\n this.parentNode.dispatchEvent(event);\n }\n return true;\n }\n \n querySelector(selector: string): Element | null {\n // Simple implementation - supports basic selectors\n // #id, .class, tagName\n if (selector.startsWith('#')) {\n const id = selector.slice(1);\n return this.querySelectorById(id);\n } else if (selector.startsWith('.')) {\n const className = selector.slice(1);\n return this.querySelectorByClass(className);\n } else {\n // Tag name selector\n return this.querySelectorByTag(selector);\n }\n }\n \n private querySelectorById(id: string): Element | null {\n // Check self\n if (this.id === id) {\n return this as unknown as Element;\n }\n // Check children recursively\n for (const child of this.children) {\n if (isElementNode(child)) {\n if (child.id === id) {\n return child as unknown as Element;\n }\n const found = child.querySelector(`#${id}`);\n if (found) return found;\n }\n }\n return null;\n }\n \n private querySelectorByClass(className: string): Element | null {\n // Check self\n if (this.classList.contains(className)) {\n return this as unknown as Element;\n }\n // Check children recursively\n for (const child of this.children) {\n if (isElementNode(child)) {\n if (child.classList?.contains(className)) {\n return child as unknown as Element;\n }\n const found = child.querySelector(`.${className}`);\n if (found) return found;\n }\n }\n return null;\n }\n \n private querySelectorByTag(tagName: string): Element | null {\n const lowerTag = tagName.toLowerCase();\n // Check self\n if (this.tagName.toLowerCase() === lowerTag) {\n return this as unknown as Element;\n }\n // Check children recursively\n for (const child of this.children) {\n if (isElementNode(child)) {\n if (child.tagName.toLowerCase() === lowerTag) {\n return child as unknown as Element;\n }\n const found = child.querySelector(tagName);\n if (found) return found;\n }\n }\n return null;\n }\n \n querySelectorAll(selector: string): NodeListOf<Element> {\n const results: Element[] = [];\n \n if (selector.startsWith('#')) {\n const found = this.querySelector(selector);\n if (found) results.push(found);\n } else if (selector.startsWith('.')) {\n const className = selector.slice(1);\n this.querySelectorAllByClass(className, results);\n } else {\n const tagName = selector.toLowerCase();\n this.querySelectorAllByTag(tagName, results);\n }\n \n return results as unknown as NodeListOf<Element>;\n }\n \n private querySelectorAllByClass(className: string, results: Element[]): void {\n if (this.classList.contains(className)) {\n results.push(this as unknown as Element);\n }\n // Recursion alone collects matching descendants — checking the child here\n // as well would push direct children twice.\n for (const child of this.children) {\n if (isElementNode(child)) {\n child.querySelectorAllByClass(className, results);\n }\n }\n }\n\n private querySelectorAllByTag(tagName: string, results: Element[]): void {\n if (this.tagName.toLowerCase() === tagName) {\n results.push(this as unknown as Element);\n }\n for (const child of this.children) {\n if (isElementNode(child)) {\n child.querySelectorAllByTag(tagName, results);\n }\n }\n }\n}\n\nfunction createClassList(owner: NucloElement): DOMTokenList {\n const getClasses = () => owner.className.split(' ').filter((c) => c);\n const setClasses = (classes: string[]) => {\n owner.className = classes.join(' ');\n };\n\n const classList = {\n add: (...tokens: string[]) => {\n const classes = getClasses();\n for (const token of tokens) {\n if (token && !classes.includes(token)) {\n classes.push(token);\n }\n }\n setClasses(classes);\n },\n remove: (...tokens: string[]) => {\n if (tokens.length === 0) return;\n setClasses(getClasses().filter((c) => !tokens.includes(c)));\n },\n toggle: (token: string, force?: boolean) => {\n const hasClass = classList.contains(token);\n if (force === undefined) {\n if (hasClass) {\n classList.remove(token);\n return false;\n }\n classList.add(token);\n return true;\n }\n if (force) {\n classList.add(token);\n return true;\n }\n classList.remove(token);\n return false;\n },\n contains: (token: string) => getClasses().includes(token),\n replace: (oldToken: string, newToken: string) => {\n const classes = getClasses();\n const index = classes.indexOf(oldToken);\n if (index === -1) return false;\n classes[index] = newToken;\n setClasses(classes);\n return true;\n },\n item: (index: number) => getClasses()[index] || null,\n get length() {\n return getClasses().length;\n },\n toString: () => owner.className,\n [Symbol.iterator]: function* () {\n yield* getClasses();\n },\n forEach: (callback: (value: string, key: number, parent: DOMTokenList) => void) => {\n const classes = getClasses();\n for (let i = 0; i < classes.length; i++) {\n callback(classes[i], i, classList as unknown as DOMTokenList);\n }\n },\n entries: function* () {\n const classes = getClasses();\n for (let i = 0; i < classes.length; i++) {\n yield [i, classes[i]] as [number, string];\n }\n },\n keys: function* () {\n const classes = getClasses();\n for (let i = 0; i < classes.length; i++) {\n yield i;\n }\n },\n values: function* () {\n yield* getClasses();\n },\n get value() {\n return owner.className;\n },\n set value(value: string) {\n owner.className = value;\n },\n supports: (_token: string) => false\n };\n\n return classList as unknown as DOMTokenList;\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- const e=typeof window<`u`&&typeof document<`u`;var t=class{nodeType=1;nodeName=``;nodeValue=null;parentNode=null;_childNodes=null;textContent=``;get childNodes(){let e=this._childNodes??[];return{...e,length:e.length,item:t=>e[t]||null,[Symbol.iterator]:function*(){for(let t of e)yield t},forEach:t=>{for(let n=0;n<e.length;n++)t(e[n],n,this.childNodes)},entries:function*(){for(let t=0;t<e.length;t++)yield[t,e[t]]},keys:function*(){for(let t=0;t<e.length;t++)yield t},values:function*(){for(let t of e)yield t}}}},n=class{get cssText(){let e=Object.entries(this);return e.length===0?``:e.map(([e,t])=>`${e}: ${t}`).join(`; `)}setProperty(e,t){this[e]=t}getPropertyValue(e){return this[e]||``}},r=class{_el;constructor(e){this._el=e}add(...e){let t=this._el.className?this._el.className.split(` `).filter(Boolean):[];for(let n of e)n&&!t.includes(n)&&t.push(n);this._el.className=t.join(` `)}remove(...e){this._el.className&&(this._el.className=this._el.className.split(` `).filter(t=>t&&!e.includes(t)).join(` `))}contains(e){return!!this._el.className&&this._el.className.split(` `).includes(e)}toggle(e,t){let n=this.contains(e);return t===void 0?n?(this.remove(e),!1):(this.add(e),!0):t?(this.add(e),!0):(this.remove(e),!1)}replace(e,t){return this.contains(e)?(this.remove(e),this.add(t),!0):!1}item(e){return this._el.className.split(` `).filter(Boolean)[e]??null}get length(){return this._el.className?this._el.className.split(` `).filter(Boolean).length:0}get value(){return this._el.className}set value(e){this._el.className=e}toString(){return this._el.className}supports(e){return!1}forEach(e){let t=this._el.className.split(` `).filter(Boolean);for(let n=0;n<t.length;n++)e(t[n],n,this)}[Symbol.iterator](){let e=this._el.className.split(` `).filter(Boolean),t=0;return{next(){return t<e.length?{value:e[t++],done:!1}:{value:``,done:!0}}}}entries(){let e=this._el.className.split(` `).filter(Boolean),t=0;return{next(){return t<e.length?{value:[t,e[t++]],done:!1}:{value:[0,``],done:!0}}}}keys(){let e=this.length,t=0;return{next(){return t<e?{value:t++,done:!1}:{value:0,done:!0}}}}values(){return this[Symbol.iterator]()}};function i(e){return typeof e==`object`&&!!e&&`tagName`in e}function a(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===3}function o(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===8}var s=class extends t{tagName;children;className=``;textContent=``;_innerHTML=``;parentNode=null;rawMods;mods;id=``;namespaceURI;sheet;_listeners;_style;_classList;_attributes;get attributes(){return this._attributes??=/* @__PURE__ */ new Map}set attributes(e){this._attributes=e}get style(){return this._style??=new n}set style(e){this._style=e}get classList(){return this._classList??=new r(this)}set classList(e){this._classList=e}get innerHTML(){return this.serializeChildren()}set innerHTML(e){this._innerHTML=e}serializeChildren(){let e=``;for(let t of this.children)i(t)?e+=this.serializeElement(t):a(t)?e+=t.textContent||``:o(t)&&(e+=`<!--${t.data||``}-->`);return e}serializeElement(e){let t=e.tagName.toLowerCase(),n=`<${t}`;if(e.id&&(n+=` id="${e.id}"`),e.className&&(n+=` class="${e.className}"`),e._attributes)for(let[t,r]of e._attributes)t!==`id`&&t!==`class`&&(n+=` ${t}="${r}"`);if(n+=`>`,e.children&&e.children.length>0)for(let t of e.children)i(t)?n+=this.serializeElement(t):a(t)?n+=t.textContent||``:o(t)&&(n+=`<!--${t.data||``}-->`);return n+=`</${t}>`,n}constructor(t){if(super(),this.tagName=t.toLowerCase(),this.nodeType=1,this.nodeName=t.toUpperCase(),this.children=[],!e)this._listeners=null;else{this._listeners=/* @__PURE__ */ new Map;let e={};if(this.style=new Proxy({},{get:(t,n)=>n===`setProperty`?(t,n)=>{e[t]=n}:n===`getPropertyValue`?t=>e[t]||``:n===`cssText`?Object.entries(e).map(([e,t])=>`${e}: ${t}`).join(`; `):e[n],set:(t,n,r)=>(e[n]=r,!0)}),this.tagName===`style`){let e=[];this.sheet={cssRules:e,insertRule:(t,n)=>{let r=n??e.length,i;if(t.trim().startsWith(`@`)){let e=[],n=t.replace(/^@\w+\s+/,``).replace(/\s*\{[\s\S]*\}$/,``).trim();i={cssText:t,conditionText:n,media:{mediaText:n},cssRules:e,insertRule:(t,n)=>{let r=n??e.length;return e.splice(r,0,{cssText:t,selectorText:t.split(`{`)[0].trim(),style:{},type:1}),r},deleteRule:t=>{e.splice(t,1)},type:4}}else i={cssText:t,selectorText:t.split(`{`)[0].trim(),style:{},type:1};return e.splice(r,0,i),r},deleteRule:t=>{e.splice(t,1)}}}this.classList=c(this)}}appendChild(t){if(t?.nodeType===11){let e=t.childNodes;t.childNodes=[],t.children&&=[];for(let t=0;t<e.length;t++)this.appendChild(e[t]);return t}return this.children.push(t),e&&this._childNodes&&this._childNodes.push(t),typeof t==`object`&&t&&`parentNode`in t&&(t.parentNode=this),t}setAttribute(e,t){(this._attributes??=/* @__PURE__ */ new Map).set(e,t),e===`class`?this.className=t:e===`id`&&(this.id=t)}getAttribute(e){return this._attributes?.get(e)??null}removeAttribute(e){this._attributes?.delete(e),e===`class`&&(this.className=``)}hasAttribute(e){return this._attributes?.has(e)??!1}insertBefore(t,n){if(n===null)return this.appendChild(t);if(t?.nodeType===11){let e=t.childNodes;t.childNodes=[],t.children&&=[];for(let t=0;t<e.length;t++)this.insertBefore(e[t],n);return t}let r=this.children.indexOf(n);if(r!==-1){if(this.children.splice(r,0,t),e&&this._childNodes){let e=this._childNodes.indexOf(n);e!==-1&&this._childNodes.splice(e,0,t)}typeof t==`object`&&t&&`parentNode`in t&&(t.parentNode=this)}return t}removeChild(t){let n=this.children.indexOf(t);if(n!==-1){if(this.children.splice(n,1),e&&this._childNodes){let e=this._childNodes.indexOf(t);e!==-1&&this._childNodes.splice(e,1)}typeof t==`object`&&t&&`parentNode`in t&&(t.parentNode=null)}return t}replaceChild(t,n){let r=this.children.indexOf(n);if(r!==-1){if(this.children[r]=t,e&&this._childNodes){let e=this._childNodes.indexOf(n);e!==-1&&(this._childNodes[e]=t)}typeof t==`object`&&t&&`parentNode`in t&&(t.parentNode=this),typeof n==`object`&&n&&`parentNode`in n&&(n.parentNode=null)}return n}addEventListener(e,t){this._listeners&&(this._listeners.has(e)||this._listeners.set(e,/* @__PURE__ */ new Set),this._listeners.get(e).add(t))}removeEventListener(e,t){let n=this._listeners?.get(e);n&&n.delete(t)}dispatchEvent(e){let t=this._listeners?.get(e.type);if(t)for(let n of t)try{n(e)}catch(e){console.error(`Error in event listener:`,e)}return e.bubbles&&this.parentNode&&typeof this.parentNode==`object`&&`dispatchEvent`in this.parentNode&&typeof this.parentNode.dispatchEvent==`function`&&this.parentNode.dispatchEvent(e),!0}querySelector(e){if(e.startsWith(`#`)){let t=e.slice(1);return this.querySelectorById(t)}if(e.startsWith(`.`)){let t=e.slice(1);return this.querySelectorByClass(t)}return this.querySelectorByTag(e)}querySelectorById(e){if(this.id===e)return this;for(let t of this.children)if(i(t)){if(t.id===e)return t;let n=t.querySelector(`#${e}`);if(n)return n}return null}querySelectorByClass(e){if(this.classList.contains(e))return this;for(let t of this.children)if(i(t)){if(t.classList?.contains(e))return t;let n=t.querySelector(`.${e}`);if(n)return n}return null}querySelectorByTag(e){let t=e.toLowerCase();if(this.tagName.toLowerCase()===t)return this;for(let n of this.children)if(i(n)){if(n.tagName.toLowerCase()===t)return n;let r=n.querySelector(e);if(r)return r}return null}querySelectorAll(e){let t=[];if(e.startsWith(`#`)){let n=this.querySelector(e);n&&t.push(n)}else if(e.startsWith(`.`)){let n=e.slice(1);this.querySelectorAllByClass(n,t)}else{let n=e.toLowerCase();this.querySelectorAllByTag(n,t)}return t}querySelectorAllByClass(e,t){this.classList.contains(e)&&t.push(this);for(let n of this.children)i(n)&&n.querySelectorAllByClass(e,t)}querySelectorAllByTag(e,t){this.tagName.toLowerCase()===e&&t.push(this);for(let n of this.children)i(n)&&n.querySelectorAllByTag(e,t)}};function c(e){let t=()=>e.className.split(` `).filter(e=>e),n=t=>{e.className=t.join(` `)},r={add:(...e)=>{let r=t();for(let t of e)t&&!r.includes(t)&&r.push(t);n(r)},remove:(...e)=>{e.length!==0&&n(t().filter(t=>!e.includes(t)))},toggle:(e,t)=>{let n=r.contains(e);return t===void 0?n?(r.remove(e),!1):(r.add(e),!0):t?(r.add(e),!0):(r.remove(e),!1)},contains:e=>t().includes(e),replace:(e,r)=>{let i=t(),a=i.indexOf(e);return a!==-1&&(i[a]=r,n(i),!0)},item:e=>t()[e]||null,get length(){return t().length},toString:()=>e.className,[Symbol.iterator]:function*(){yield*t()},forEach:e=>{let n=t();for(let t=0;t<n.length;t++)e(n[t],t,r)},entries:function*(){let e=t();for(let t=0;t<e.length;t++)yield[t,e[t]]},keys:function*(){let e=t();for(let t=0;t<e.length;t++)yield t},values:function*(){yield*t()},get value(){return e.className},set value(t){e.className=t},supports:e=>!1};return r}export{t as n,s as t};
2
- //# sourceMappingURL=Element-Djosl17E.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Element-Djosl17E.mjs","names":[],"sources":["../src/shared/environment.ts","../src/polyfill/Node.ts","../src/polyfill/Element.ts"],"sourcesContent":["/**\n * Simplified environment detection - minimal overhead for smaller bundle size\n */\n\n// Basic environment detection - no complex caching or edge cases\nexport const isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n","/**\n * Base Node class for instanceof checks in Node.js polyfill\n */\nexport class NucloNode {\n nodeType: number = 1; // ELEMENT_NODE\n nodeName: string = '';\n nodeValue: string | null = null;\n parentNode: unknown = null;\n _childNodes: Node[] | null = null;\n textContent: string = '';\n\n get childNodes(): NodeListOf<ChildNode> {\n const nodes = this._childNodes ?? [];\n return {\n ...nodes,\n length: nodes.length,\n item: (index: number) => (nodes[index] as ChildNode) || null,\n [Symbol.iterator]: function* () {\n for (const node of nodes) {\n yield node as ChildNode;\n }\n },\n forEach: (callback: (value: ChildNode, key: number, parent: NodeListOf<ChildNode>) => void) => {\n for (let i = 0; i < nodes.length; i++) {\n callback(nodes[i] as ChildNode, i, this.childNodes);\n }\n },\n entries: function* () {\n for (let i = 0; i < nodes.length; i++) {\n yield [i, nodes[i] as ChildNode] as [number, ChildNode];\n }\n },\n keys: function* () {\n for (let i = 0; i < nodes.length; i++) {\n yield i;\n }\n },\n values: function* () {\n for (const node of nodes) {\n yield node as ChildNode;\n }\n }\n } as unknown as NodeListOf<ChildNode>;\n }\n}\n","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { NucloNode } from './Node';\nimport { isBrowser } from '../shared/environment';\n\n/**\n * Lightweight style object for SSR — prototype methods instead of Object.defineProperty per element.\n * Stores CSS properties as own properties and provides cssText/setProperty/getPropertyValue via prototype.\n */\nclass SSRStyle {\n [key: string]: unknown;\n\n get cssText(): string {\n const entries = Object.entries(this);\n if (entries.length === 0) return '';\n return entries.map(([k, v]) => `${k}: ${v}`).join('; ');\n }\n\n setProperty(name: string, value: string): void {\n (this as Record<string, unknown>)[name] = value;\n }\n\n getPropertyValue(name: string): string {\n return ((this as Record<string, unknown>)[name] as string) || '';\n }\n}\n\n// Lightweight classList for SSR — prototype methods instead of per-element closures\nclass SSRClassList {\n private _el: NucloElement;\n constructor(el: NucloElement) { this._el = el; }\n\n add(...tokens: string[]): void {\n const classes = this._el.className ? this._el.className.split(' ').filter(Boolean) : [];\n for (const t of tokens) if (t && !classes.includes(t)) classes.push(t);\n this._el.className = classes.join(' ');\n }\n remove(...tokens: string[]): void {\n if (!this._el.className) return;\n this._el.className = this._el.className.split(' ').filter(c => c && !tokens.includes(c)).join(' ');\n }\n contains(token: string): boolean {\n return !!this._el.className && this._el.className.split(' ').includes(token);\n }\n toggle(token: string, force?: boolean): boolean {\n const has = this.contains(token);\n if (force === undefined) { if (has) { this.remove(token); return false; } this.add(token); return true; }\n if (force) { this.add(token); return true; }\n this.remove(token); return false;\n }\n replace(oldToken: string, newToken: string): boolean {\n if (!this.contains(oldToken)) return false;\n this.remove(oldToken); this.add(newToken); return true;\n }\n item(index: number): string | null { return (this._el.className.split(' ').filter(Boolean)[index]) ?? null; }\n get length(): number { return this._el.className ? this._el.className.split(' ').filter(Boolean).length : 0; }\n get value(): string { return this._el.className; }\n set value(v: string) { this._el.className = v; }\n toString(): string { return this._el.className; }\n supports(_token: string): boolean { return false; }\n forEach(cb: (value: string, key: number, parent: DOMTokenList) => void): void {\n const classes = this._el.className.split(' ').filter(Boolean);\n for (let i = 0; i < classes.length; i++) cb(classes[i], i, this as unknown as DOMTokenList);\n }\n [Symbol.iterator](): Iterator<string> {\n const classes = this._el.className.split(' ').filter(Boolean);\n let i = 0;\n return { next(): IteratorResult<string> { return i < classes.length ? { value: classes[i++], done: false } : { value: '', done: true }; } };\n }\n entries(): Iterator<[number, string]> {\n const classes = this._el.className.split(' ').filter(Boolean);\n let i = 0;\n return { next(): IteratorResult<[number, string]> { return i < classes.length ? { value: [i, classes[i++]], done: false } : { value: [0, ''], done: true }; } };\n }\n keys(): Iterator<number> {\n const len = this.length; let i = 0;\n return { next(): IteratorResult<number> { return i < len ? { value: i++, done: false } : { value: 0, done: true }; } };\n }\n values(): Iterator<string> { return this[Symbol.iterator](); }\n}\n\ninterface TextNode {\n nodeType: 3;\n textContent: string;\n}\n\ninterface CommentNode {\n nodeType: 8;\n data: string;\n}\n\nfunction isElementNode(node: unknown): node is NucloElement {\n return typeof node === 'object' && node !== null && 'tagName' in node;\n}\n\nfunction isTextNode(node: unknown): node is TextNode {\n return typeof node === 'object' && node !== null && 'nodeType' in node && (node as { nodeType: number }).nodeType === 3;\n}\n\nfunction isCommentNode(node: unknown): node is CommentNode {\n return typeof node === 'object' && node !== null && 'nodeType' in node && (node as { nodeType: number }).nodeType === 8;\n}\n\nexport class NucloElement extends NucloNode {\n tagName: string;\n children: unknown[];\n className: string = '';\n textContent: string = '';\n private _innerHTML: string = '';\n parentNode: unknown = null;\n rawMods?: unknown[];\n mods?: unknown[];\n id: string = '';\n namespaceURI?: string;\n sheet?: CSSStyleSheet | null;\n private _listeners: Map<string, Set<EventListener>> | null;\n\n // style/classList are allocated lazily: the vast majority of SSR elements\n // never touch either (className is stored on the .className string, and the\n // serializer reads the backing field directly), so eagerly constructing an\n // SSRStyle + SSRClassList per element was pure allocation churn. The browser\n // path assigns these in the constructor, so its getter never lazy-allocates.\n private _style?: CSSStyleDeclaration;\n private _classList?: DOMTokenList;\n\n // attributes is allocated lazily too — most elements carry their identity on\n // .className/.id (separate string fields) and never call setAttribute. Reads\n // short-circuit on the undefined backing map without allocating; the\n // serializer reads _attributes directly. The public getter still lazily\n // materializes a Map for any external `el.attributes` consumer.\n private _attributes?: Map<string, string>;\n\n get attributes(): Map<string, string> {\n return (this._attributes ??= new Map<string, string>());\n }\n set attributes(value: Map<string, string>) {\n this._attributes = value;\n }\n\n get style(): CSSStyleDeclaration {\n return (this._style ??= new SSRStyle() as unknown as CSSStyleDeclaration);\n }\n set style(value: CSSStyleDeclaration) {\n this._style = value;\n }\n\n get classList(): DOMTokenList {\n return (this._classList ??= new SSRClassList(this) as unknown as DOMTokenList);\n }\n set classList(value: DOMTokenList) {\n this._classList = value;\n }\n\n get innerHTML(): string {\n return this.serializeChildren();\n }\n\n set innerHTML(value: string) {\n this._innerHTML = value;\n }\n \n private serializeChildren(): string {\n let html = '';\n for (const child of this.children) {\n if (isElementNode(child)) {\n html += this.serializeElement(child);\n } else if (isTextNode(child)) {\n html += child.textContent || '';\n } else if (isCommentNode(child)) {\n html += `<!--${child.data || ''}-->`;\n }\n }\n return html;\n }\n \n private serializeElement(element: NucloElement): string {\n const tag = element.tagName.toLowerCase();\n let html = `<${tag}`;\n \n // Add attributes\n if (element.id) {\n html += ` id=\"${element.id}\"`;\n }\n if (element.className) {\n html += ` class=\"${element.className}\"`;\n }\n if (element._attributes) {\n for (const [name, value] of element._attributes) {\n if (name !== 'id' && name !== 'class') {\n html += ` ${name}=\"${value}\"`;\n }\n }\n }\n \n html += '>';\n \n // Add children\n if (element.children && element.children.length > 0) {\n for (const child of element.children) {\n if (isElementNode(child)) {\n html += this.serializeElement(child);\n } else if (isTextNode(child)) {\n html += child.textContent || '';\n } else if (isCommentNode(child)) {\n html += `<!--${child.data || ''}-->`;\n }\n }\n }\n \n html += `</${tag}>`;\n return html;\n }\n \n constructor(tagName: string) {\n super();\n this.tagName = tagName.toLowerCase();\n this.nodeType = 1; // ELEMENT_NODE\n this.nodeName = tagName.toUpperCase();\n this.children = [];\n\n if (!isBrowser) {\n // ── SSR path: minimal allocations, no Proxy, no event listeners ──\n // style and classList stay unallocated until first access (see getters).\n this._listeners = null;\n } else {\n // ── Browser path: full-featured Proxy style + DOMTokenList ──\n this._listeners = new Map();\n\n const styleProps: Record<string, string> = {};\n this.style = new Proxy({} as CSSStyleDeclaration, {\n get: (_target, prop: string) => {\n if (prop === 'setProperty') return (name: string, value: string) => { styleProps[name] = value; };\n if (prop === 'getPropertyValue') return (name: string) => styleProps[name] || '';\n if (prop === 'cssText') return Object.entries(styleProps).map(([k, v]) => `${k}: ${v}`).join('; ');\n return styleProps[prop];\n },\n set: (_target, prop: string, value: string) => { styleProps[prop] = value; return true; },\n });\n\n // CSSStyleSheet mock for style elements (browser only)\n if (this.tagName === 'style') {\n const cssRules: CSSRule[] = [];\n this.sheet = {\n cssRules: cssRules as unknown as CSSRuleList,\n insertRule: (rule: string, index?: number) => {\n const idx = index ?? cssRules.length;\n let mockRule: CSSRule;\n if (rule.trim().startsWith('@')) {\n const innerRules: CSSRule[] = [];\n const conditionText = rule.replace(/^@\\w+\\s+/, '').replace(/\\s*\\{[\\s\\S]*\\}$/, '').trim();\n mockRule = {\n cssText: rule, conditionText,\n media: { mediaText: conditionText } as MediaList,\n cssRules: innerRules as unknown as CSSRuleList,\n insertRule: (innerRule: string, innerIndex?: number) => {\n const innerIdx = innerIndex ?? innerRules.length;\n innerRules.splice(innerIdx, 0, { cssText: innerRule, selectorText: innerRule.split('{')[0].trim(), style: {} as CSSStyleDeclaration, type: 1 } as unknown as CSSRule);\n return innerIdx;\n },\n deleteRule: (i: number) => { innerRules.splice(i, 1); },\n type: 4,\n } as unknown as CSSRule;\n } else {\n mockRule = { cssText: rule, selectorText: rule.split('{')[0].trim(), style: {} as CSSStyleDeclaration, type: 1 } as unknown as CSSRule;\n }\n cssRules.splice(idx, 0, mockRule);\n return idx;\n },\n deleteRule: (index: number) => { cssRules.splice(index, 1); },\n } as unknown as CSSStyleSheet;\n }\n\n this.classList = createClassList(this);\n }\n }\n \n appendChild<T extends Node>(child: T): T {\n // Spec behaviour: appending a DocumentFragment moves its children into this\n // node and leaves the fragment empty. The list runtime relies on this to\n // batch row insertions.\n if ((child as any)?.nodeType === 11) {\n // Detach the fragment's backing array before iterating (instead of\n // slicing it) — the fragment is emptied either way, and reassigning\n // first means the loop never has to allocate a copy just to guard\n // against the array it's about to discard.\n const kids = (child as any).childNodes as Node[];\n (child as any).childNodes = [];\n if ((child as any).children) (child as any).children = [];\n for (let i = 0; i < kids.length; i++) this.appendChild(kids[i]);\n return child;\n }\n this.children.push(child);\n if (isBrowser && (this as any)['_childNodes']) {\n (this as any)['_childNodes'].push(child);\n }\n if (typeof child === 'object' && child !== null && 'parentNode' in child) {\n (child as { parentNode: unknown }).parentNode = this;\n }\n return child;\n }\n \n setAttribute(name: string, value: string): void {\n (this._attributes ??= new Map<string, string>()).set(name, value);\n if (name === 'class') {\n this.className = value;\n } else if (name === 'id') {\n this.id = value;\n }\n }\n\n getAttribute(name: string): string | null {\n return this._attributes?.get(name) ?? null;\n }\n\n removeAttribute(name: string): void {\n this._attributes?.delete(name);\n if (name === 'class') {\n this.className = '';\n }\n }\n\n hasAttribute(name: string): boolean {\n return this._attributes?.has(name) ?? false;\n }\n \n insertBefore<T extends Node>(newNode: T, referenceNode: Node | null): T {\n if (referenceNode === null) {\n return this.appendChild(newNode);\n }\n // Spec behaviour: inserting a DocumentFragment moves its children (in order)\n // before the reference node and empties the fragment.\n if ((newNode as any)?.nodeType === 11) {\n const kids = (newNode as any).childNodes as Node[];\n (newNode as any).childNodes = [];\n if ((newNode as any).children) (newNode as any).children = [];\n for (let i = 0; i < kids.length; i++) this.insertBefore(kids[i], referenceNode);\n return newNode;\n }\n const index = this.children.indexOf(referenceNode);\n if (index !== -1) {\n this.children.splice(index, 0, newNode);\n if (isBrowser && (this as any)['_childNodes']) {\n const childNodesIndex = (this as any)['_childNodes'].indexOf(referenceNode);\n if (childNodesIndex !== -1) {\n (this as any)['_childNodes'].splice(childNodesIndex, 0, newNode);\n }\n }\n if (typeof newNode === 'object' && newNode !== null && 'parentNode' in newNode) {\n (newNode as { parentNode: unknown }).parentNode = this;\n }\n }\n return newNode;\n }\n \n removeChild<T extends Node>(child: T): T {\n const index = this.children.indexOf(child);\n if (index !== -1) {\n this.children.splice(index, 1);\n if (isBrowser && (this as any)['_childNodes']) {\n const cnIndex = (this as any)['_childNodes'].indexOf(child);\n if (cnIndex !== -1) {\n (this as any)['_childNodes'].splice(cnIndex, 1);\n }\n }\n if (typeof child === 'object' && child !== null && 'parentNode' in child) {\n (child as { parentNode: unknown }).parentNode = null;\n }\n }\n return child;\n }\n\n replaceChild<T extends Node>(newChild: Node, oldChild: T): T {\n const index = this.children.indexOf(oldChild);\n if (index !== -1) {\n this.children[index] = newChild;\n if (isBrowser && (this as any)['_childNodes']) {\n const cnIndex = (this as any)['_childNodes'].indexOf(oldChild);\n if (cnIndex !== -1) {\n (this as any)['_childNodes'][cnIndex] = newChild;\n }\n }\n if (typeof newChild === 'object' && newChild !== null && 'parentNode' in newChild) {\n (newChild as { parentNode: unknown }).parentNode = this;\n }\n if (typeof oldChild === 'object' && oldChild !== null && 'parentNode' in oldChild) {\n (oldChild as { parentNode: unknown }).parentNode = null;\n }\n }\n return oldChild;\n }\n \n addEventListener(type: string, listener: EventListener): void {\n if (!this._listeners) return;\n if (!this._listeners.has(type)) {\n this._listeners.set(type, new Set());\n }\n this._listeners.get(type)!.add(listener);\n }\n\n removeEventListener(type: string, listener: EventListener): void {\n const listeners = this._listeners?.get(type);\n if (listeners) {\n listeners.delete(listener);\n }\n }\n\n dispatchEvent(event: Event): boolean {\n const listeners = this._listeners?.get(event.type);\n if (listeners) {\n for (const listener of listeners) {\n try {\n listener(event);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Error in event listener:', error);\n }\n }\n }\n if (event.bubbles && this.parentNode && typeof this.parentNode === 'object' && 'dispatchEvent' in this.parentNode && typeof this.parentNode.dispatchEvent === 'function') {\n this.parentNode.dispatchEvent(event);\n }\n return true;\n }\n \n querySelector(selector: string): Element | null {\n // Simple implementation - supports basic selectors\n // #id, .class, tagName\n if (selector.startsWith('#')) {\n const id = selector.slice(1);\n return this.querySelectorById(id);\n } else if (selector.startsWith('.')) {\n const className = selector.slice(1);\n return this.querySelectorByClass(className);\n } else {\n // Tag name selector\n return this.querySelectorByTag(selector);\n }\n }\n \n private querySelectorById(id: string): Element | null {\n // Check self\n if (this.id === id) {\n return this as unknown as Element;\n }\n // Check children recursively\n for (const child of this.children) {\n if (isElementNode(child)) {\n if (child.id === id) {\n return child as unknown as Element;\n }\n const found = child.querySelector(`#${id}`);\n if (found) return found;\n }\n }\n return null;\n }\n \n private querySelectorByClass(className: string): Element | null {\n // Check self\n if (this.classList.contains(className)) {\n return this as unknown as Element;\n }\n // Check children recursively\n for (const child of this.children) {\n if (isElementNode(child)) {\n if (child.classList?.contains(className)) {\n return child as unknown as Element;\n }\n const found = child.querySelector(`.${className}`);\n if (found) return found;\n }\n }\n return null;\n }\n \n private querySelectorByTag(tagName: string): Element | null {\n const lowerTag = tagName.toLowerCase();\n // Check self\n if (this.tagName.toLowerCase() === lowerTag) {\n return this as unknown as Element;\n }\n // Check children recursively\n for (const child of this.children) {\n if (isElementNode(child)) {\n if (child.tagName.toLowerCase() === lowerTag) {\n return child as unknown as Element;\n }\n const found = child.querySelector(tagName);\n if (found) return found;\n }\n }\n return null;\n }\n \n querySelectorAll(selector: string): NodeListOf<Element> {\n const results: Element[] = [];\n \n if (selector.startsWith('#')) {\n const found = this.querySelector(selector);\n if (found) results.push(found);\n } else if (selector.startsWith('.')) {\n const className = selector.slice(1);\n this.querySelectorAllByClass(className, results);\n } else {\n const tagName = selector.toLowerCase();\n this.querySelectorAllByTag(tagName, results);\n }\n \n return results as unknown as NodeListOf<Element>;\n }\n \n private querySelectorAllByClass(className: string, results: Element[]): void {\n if (this.classList.contains(className)) {\n results.push(this as unknown as Element);\n }\n // Recursion alone collects matching descendants — checking the child here\n // as well would push direct children twice.\n for (const child of this.children) {\n if (isElementNode(child)) {\n child.querySelectorAllByClass(className, results);\n }\n }\n }\n\n private querySelectorAllByTag(tagName: string, results: Element[]): void {\n if (this.tagName.toLowerCase() === tagName) {\n results.push(this as unknown as Element);\n }\n for (const child of this.children) {\n if (isElementNode(child)) {\n child.querySelectorAllByTag(tagName, results);\n }\n }\n }\n}\n\nfunction createClassList(owner: NucloElement): DOMTokenList {\n const getClasses = () => owner.className.split(' ').filter((c) => c);\n const setClasses = (classes: string[]) => {\n owner.className = classes.join(' ');\n };\n\n const classList = {\n add: (...tokens: string[]) => {\n const classes = getClasses();\n for (const token of tokens) {\n if (token && !classes.includes(token)) {\n classes.push(token);\n }\n }\n setClasses(classes);\n },\n remove: (...tokens: string[]) => {\n if (tokens.length === 0) return;\n setClasses(getClasses().filter((c) => !tokens.includes(c)));\n },\n toggle: (token: string, force?: boolean) => {\n const hasClass = classList.contains(token);\n if (force === undefined) {\n if (hasClass) {\n classList.remove(token);\n return false;\n }\n classList.add(token);\n return true;\n }\n if (force) {\n classList.add(token);\n return true;\n }\n classList.remove(token);\n return false;\n },\n contains: (token: string) => getClasses().includes(token),\n replace: (oldToken: string, newToken: string) => {\n const classes = getClasses();\n const index = classes.indexOf(oldToken);\n if (index === -1) return false;\n classes[index] = newToken;\n setClasses(classes);\n return true;\n },\n item: (index: number) => getClasses()[index] || null,\n get length() {\n return getClasses().length;\n },\n toString: () => owner.className,\n [Symbol.iterator]: function* () {\n yield* getClasses();\n },\n forEach: (callback: (value: string, key: number, parent: DOMTokenList) => void) => {\n const classes = getClasses();\n for (let i = 0; i < classes.length; i++) {\n callback(classes[i], i, classList as unknown as DOMTokenList);\n }\n },\n entries: function* () {\n const classes = getClasses();\n for (let i = 0; i < classes.length; i++) {\n yield [i, classes[i]] as [number, string];\n }\n },\n keys: function* () {\n const classes = getClasses();\n for (let i = 0; i < classes.length; i++) {\n yield i;\n }\n },\n values: function* () {\n yield* getClasses();\n },\n get value() {\n return owner.className;\n },\n set value(value: string) {\n owner.className = value;\n },\n supports: (_token: string) => false\n };\n\n return classList as unknown as DOMTokenList;\n}\n"],"mappings":"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"}
package/dist/nuclo.umd.js DELETED
@@ -1,2 +0,0 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports):typeof define==`function`&&define.amd?define([`exports`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.Nuclo={}))})(this,function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){return e===null||typeof e!=`object`&&typeof e!=`function`}function n(e){return e instanceof Node?!0:typeof e!=`object`||!e?!1:typeof e.nodeType==`number`}function r(e){return typeof e==`object`&&!!e}function i(e){return r(e)&&`tagName`in e}function a(e){return typeof e==`boolean`}function o(e){return typeof e==`function`}function s(e){return o(e)&&e.length===0}function c(e,t){typeof console<`u`&&console.error(`nuclo: ${e}`,t)}let l=typeof window<`u`&&typeof document<`u`,u=!1,d=/* @__PURE__ */ new WeakMap;function f(){return u}function p(){return!1}function m(){u=!0,d=/* @__PURE__ */ new WeakMap}function h(){u=!1}function ee(e){let t=u;u=!1;try{return e()}finally{u=t}}function g(e){let t=d.get(e);return t===void 0?e.firstChild:t}function _(e,t){d.set(e,t)}function v(e){return e.nodeType===3&&!/\S/.test(e.textContent||``)}function y(e){let t=g(e),n=!1;for(;t&&v(t);)t=t.nextSibling,n=!0;n&&_(e,t)}function b(e){let t=g(e);return t&&_(e,t.nextSibling),t}function te(e,t){if(!u)return null;y(e);let n=g(e);return n&&n.nodeType===1&&n.tagName.toLowerCase()===t?b(e):null}function x(e,t){if(!t)return;let n=g(e);for(;n;){let r=n===t?null:n.nextSibling;e.removeChild(n),n=r}_(e,null)}let S=/* @__PURE__ */ new WeakMap,C=0,w=[];function T(){return!l||p()}function E(e){let t=S.get(e);return t||(t={mount:null,destroy:null,state:0,queued:!1},S.set(e,t),C++),t}function D(e,t){return e===null?t:Array.isArray(e)?(e.push(t),e):[e,t]}function O(e,t){t.queued||t.state!==0||(t.queued=!0,w.push(new WeakRef(e)))}function k(e,t){if(T())return;let n=E(e);n.state!==2&&(n.mount=D(n.mount,t),O(e,n))}function ne(e,t){if(T())return;let n=E(e);n.state!==2&&(n.destroy=D(n.destroy,t),O(e,n))}function re(e,t,n){if(n.state===1)try{let r=t(e);typeof r==`function`&&(S.get(e)?.state===2?ie(e,r):n.destroy=D(n.destroy,r))}catch(e){c(`Error in mount callback`,e)}}function ie(e,t){try{t(e)}catch(e){c(`Error in destroy callback`,e)}}function ae(e){let t=S.get(e);if(!t||(t.queued=!1,t.state!==0))return;t.state=1;let n=t.mount;if(t.mount=null,n!==null){if(Array.isArray(n))for(let r=0;r<n.length;r++)re(e,n[r],t);else re(e,n,t)}}function oe(){if(w.length===0)return;let e=w;w=[];for(let t=0;t<e.length;t++){let n=e[t].deref();n&&ae(n)}}function se(e){let t=S.get(e);if(!t||t.state===2)return;let n=t.state===1;if(t.state=2,C--,n){let n=t.destroy;if(n!==null){if(Array.isArray(n))for(let t=0;t<n.length;t++)ie(e,n[t]);else ie(e,n)}}t.mount=null,t.destroy=null}function ce(){return C>0}let le=Symbol(`nuclo.factory.tag`),ue=Symbol(`nuclo.factory.mods`),de=Symbol(`nuclo.event.modifier`),fe=0,pe=[],A=0;function me(){return A>=pe.length&&pe.push(()=>null),pe[A++]}function he(e,t,n){e[le]=t,e[ue]=n}function j(e){return typeof e==`function`?e[ue]:void 0}function M(e){return typeof e==`function`?e[le]:void 0}function ge(e){return e[de]=!0,e}function _e(e){return typeof e==`function`&&e[de]===!0}function ve(){return fe>0}function ye(e,t,n){fe++;try{return e(t,n)}finally{fe--}}function be(){return A}function xe(e){for(;A>e;){let e=pe[--A];e[le]=void 0,e[ue]=void 0}}let N=/* @__PURE__ */ new WeakMap;function Se(e,t){let n=N.get(e);n?Array.isArray(n)?n.includes(t)||n.push(t):n!==t&&N.set(e,[n,t]):N.set(e,t)}function P(e,t){e.removeEventListener(t.type,t.wrapped,t.capture)}function Ce(e,t){let n=N.get(e);if(!n)return;if(t===void 0){if(Array.isArray(n))for(let t=0;t<n.length;t++)P(e,n[t]);else P(e,n);N.delete(e);return}if(!Array.isArray(n)){n.type===t&&(P(e,n),N.delete(e));return}let r=0;for(let i=0;i<n.length;i++){let a=n[i];a.type===t?P(e,a):n[r++]=a}r===0?N.delete(e):r===1?N.set(e,n[0]):n.length=r}function we(e){}function Te(e,t){return l?function(n){if(!n)return;let r=n;e===`mount`?k(r,t):ne(r,t)}:we}function Ee(e,t,n){return{type:e,wrapped:function(n){let r=this;try{t.call(r,n)}catch(t){c(`Error in '${e}' listener`,t)}},capture:n}}function De(e,t,n){if(e===`mount`||e===`destroy`)return Te(e,t);if(!l)return we;let r=Ee(e,t,n===!0||typeof n==`object`&&!!n&&n.capture===!0);return ge(function(t){if(!t||typeof t.addEventListener!=`function`)return;let i=t;i.addEventListener(e,r.wrapped,n),Se(i,r)})}let F=/* @__PURE__ */ new Set,I=/* @__PURE__ */ new WeakMap,L=/* @__PURE__ */ new Set,R=/* @__PURE__ */ new WeakMap;function Oe(e,t){let n=I.get(e);if(n){n.info.resolver=t.resolver,n.info.lastValue=t.lastValue,n.info.sanitize=t.sanitize;return}let r=new WeakRef(e);F.add(r),I.set(e,{ref:r,info:t})}function ke(e,t){let n=R.get(e);if(n){n.info=t;return}let r=new WeakRef(e);L.add(r),R.set(e,{ref:r,info:t})}function Ae(e){F.delete(e)}function z(e){L.delete(e)}function je(e){let t=I.get(e);t&&(F.delete(t.ref),I.delete(e))}function Me(e){let t=R.get(e);t&&(L.delete(t.ref),R.delete(e))}let Ne=/* @__PURE__ */ new WeakMap,B=/* @__PURE__ */ new Set,Pe=/* @__PURE__ */ new WeakMap,Fe=typeof FinalizationRegistry<`u`?new FinalizationRegistry(e=>{B.delete(e)}):null;function Ie(e,t){if(Ne.set(e,t),Pe.has(e))return;let n=new WeakRef(e);B.add(n),Pe.set(e,n),Fe?.register(e,n,n)}function Le(e){Ne.delete(e);let t=Pe.get(e);t&&(B.delete(t),Fe?.unregister(t),Pe.delete(e))}function Re(){let e=[];for(let t of B){let n=t.deref();n===void 0?B.delete(t):e.push(n)}return e}function ze(e){return Ne.get(e)??null}let Be=`http://www.w3.org/2000/svg`;function Ve(e){return globalThis.document?document.createElement(e):null}function He(e,t){return globalThis.document?document.createElementNS(e,t):null}function V(e){return globalThis.document?document.createTextNode(e):null}function Ue(){return globalThis.document?document.createDocumentFragment():null}function We(e,t){try{return e.appendChild(t),!0}catch(e){return c(`Failed to append child node`,e),!1}}function Ge(e){if(e.nodeType===Node.ELEMENT_NODE){let t=e;Ce(t),Me(t),Le(t)}else e.nodeType===Node.TEXT_NODE?je(e):e.nodeType===Node.COMMENT_NODE&&Le(e);let t=ce()?Array.from(e.childNodes):e.childNodes;for(let e=0;e<t.length;e++)Ge(t[e]);e.nodeType===Node.ELEMENT_NODE&&se(e)}function Ke(e){if(!ce())return;let t=Array.from(e.childNodes);for(let e=0;e<t.length;e++)Ke(t[e]);e.nodeType===Node.ELEMENT_NODE&&se(e)}function qe(e){if(!e?.parentNode)return!1;try{return Ge(e),e.parentNode?.removeChild(e),!0}catch(e){return c(`Failed to remove child node`,e),!1}}function Je(e,t,n){try{return e.insertBefore(t,n),!0}catch(e){return c(`Failed to insert node before reference`,e),!1}}function H(e){return globalThis.document?globalThis.document.createComment(e):null}function Ye(e,t=`hidden`){return globalThis.document?globalThis.document.createComment(`conditional-${e}-${t}`):null}function Xe(e,t){let n=H(`${e}-end`);if(!n)throw Error(`Failed to create comment: document not available`);let r=H(`${e}-start-${t}`);if(!r)throw Error(`Failed to create comment: document not available`);return{start:r,end:n}}function Ze(e,t){let n=e.nextSibling;for(;n&&n!==t;){let e=n.nextSibling;qe(n),n=e}}function Qe(e,t){let n=t.parentNode;if(n)for(let r=0;r<e.length;r++)Je(n,e[r],t)}function $e(e,...t){if(!e)return e;for(let n=0;n<t.length;n++){let r=t[n];if(r!=null){let t;if(typeof r==`string`){let e=V(r);if(e)t=e;else continue}else t=r;We(e,t)}}return e}function U(e){return e?.isConnected===!0}function et(e,t){if(!e?.parentNode)return!1;try{return e.parentNode.replaceChild(t,e),!0}catch(e){return c(`Error replacing conditional node`,e),!1}}function tt(e){return e}function nt(e,t,n){let r=tt(e),i=Object.getOwnPropertyDescriptor(r,`appendChild`),a=r.insertBefore;r.appendChild=function(e){return a.call(r,e,t)};try{return n()}finally{i?Object.defineProperty(r,"appendChild",i):Reflect.deleteProperty(r,`appendChild`)}}function rt(e,t,n){try{if(n==null||n===``)return e.style[t]=``,!0;let r=String(n);return e.style[t]=r,!0}catch{return!1}}let it={},at=!1;function ot(e){let t=e.target;if(!t||typeof Node>`u`||!(t instanceof Node))return;let n=t;for(;n;){if(n instanceof Element){let e=R.get(n);e&&(U(n)?dt(e.info):(z(e.ref),R.delete(n)))}n=n.parentNode}}function st(){at||typeof document<`u`&&typeof document.addEventListener==`function`&&(document.addEventListener(`update`,ot,!0),at=!0)}function ct(e){let t=R.get(e);if(t)return t.info;let n={attributeResolvers:[]};return ke(e,n),n}function lt(e){return typeof e!=`object`||!e}function ut(e){let t;try{t=e.resolver()}catch(t){c(`Failed to resolve reactive attribute: ${e.key}`,t);return}let n=lt(t);if(!(n&&Object.is(t,e.lastValue)))try{e.applyValue(t),e.lastValue=n?t:it}catch(t){c(`Failed to apply reactive attribute: ${e.key}`,t)}}function dt(e){let t=e.attributeResolvers;for(let e=0;e<t.length;e++)ut(t[e])}function ft(e,t,n,r){if(!(e instanceof Element)||!t||typeof n!=`function`){c(`Invalid parameters for registerAttributeResolver`);return}let i={key:t,resolver:n,applyValue:r,lastValue:it};if(!l){ut(i);return}st();let a=ct(e).attributeResolvers,o=!1;for(let e=0;e<a.length;e++)if(a[e].key===t){a[e]=i,o=!0;break}o||a.push(i),ut(i)}function pt(e){for(let t of L){let n=t.deref();if(n===void 0){z(t);continue}let r=R.get(n);if(!r){z(t);continue}if(!U(n)){R.delete(n),z(t);continue}(!e||e.contains(n))&&dt(r.info)}}function mt(e,t){if(e?.style&&t)for(let n in t)rt(e,n,t[n])||c(`Failed to set style property '${n}'`)}function ht(e,t){e&&(o(t)?ft(e,`style`,t,function(t){mt(e,t)}):mt(e,t))}let gt=/* @__PURE__ */ new Set([`onMount`,`onDestroy`]),_t=/* @__PURE__ */ new WeakMap;function vt(e){if(e.length<=2||e.charCodeAt(0)!==111||e.charCodeAt(1)!==110)return null;let t=e.charCodeAt(2);return t<65||t>90||gt.has(e)?null:e===`onDoubleClick`?`ondblclick`:e.toLowerCase()}function yt(e,t,n){if(t in e){e[t]=n;return}let r=t.slice(2),i=_t.get(e);if(i){for(let t=0;t<i.length;t+=2){if(i[t]!==r)continue;let a=i[t+1];if(a===n)return;e.removeEventListener(r,a),e.addEventListener(r,n),i[t+1]=n;return}e.addEventListener(r,n),i.push(r,n);return}e.addEventListener(r,n),_t.set(e,[r,n])}let W=/* @__PURE__ */ new WeakMap,bt=/* @__PURE__ */ new WeakSet;function xt(e,t){let n=t.length,r=0;for(let i=0;i<=n;i++)(i===n||t.charCodeAt(i)===32)&&(i>r&&e.add(t.substring(r,i)),r=i+1)}function St(e){let t=``;for(let n of e)t&&(t+=` `),t+=n;return t}function Ct(e){if(e.className&&!W.has(e)){let t=/* @__PURE__ */ new Set;xt(t,e.className),W.set(e,t)}bt.add(e)}function wt(e){return bt.has(e)}function Tt(e,t){if(!t)return;let n=W.get(e);n||(n=/* @__PURE__ */ new Set,W.set(e,n)),xt(n,t)}function Et(e,t){let n=W.get(e);if(!n||n.size===0){let n=t||``;e.className!==n&&(e.className=n);return}if(!t){e.className=St(n);return}let r=St(n),i=t.length,a=0;for(let e=0;e<=i;e++)if(e===i||t.charCodeAt(e)===32){if(e>a){let i=t.substring(a,e);n.has(i)||(r+=` `+i)}a=e+1}e.className=r}function Dt(e,t){if(!t)return;let n=e.className;if(n&&n!==t){let r=/* @__PURE__ */ new Set;xt(r,n),xt(r,t),e.className=St(r)}else e.className=t}function Ot(e,t,n){if(typeof e!=`function`){c(`Invalid resolver provided to createReactiveTextNode`);let e=V(``);if(!e)throw Error(`Failed to create text node: document not available`);return e}let r;if(arguments.length>1)r=t;else try{r=e()}catch(e){c(`Failed to evaluate reactive text resolver`,e),r=``}let i=r===void 0?``:String(r),a=V(i);if(!a)throw Error(`Failed to create text node: document not available`);return l&&Oe(a,{resolver:e,lastValue:i,sanitize:n}),a}function kt(e){for(let t of F){let n=t.deref();if(n===void 0){Ae(t);continue}let r=I.get(n);if(!r){Ae(t);continue}let i=r.info;if(!U(n)){I.delete(n),Ae(t);continue}if(e&&!e.contains(n))continue;let a;try{a=i.resolver()}catch(e){c(`Failed to update reactive text node`,e),a=void 0}let o=i.sanitize?a==null||typeof a==`object`||typeof a==`function`?``:String(a):a===void 0?``:String(a);o!==i.lastValue&&(n.textContent=o,i.lastValue=o)}}function At(e,t,n,r){if(n!=null){if(r&&t===`className`&&e instanceof HTMLElement){Dt(e,String(n));return}if(e instanceof Element&&e.namespaceURI===`http://www.w3.org/2000/svg`)e.setAttribute(t,String(n));else if(t in e)try{e[t]=n}catch{e instanceof Element&&e.setAttribute(t,String(n))}else e instanceof Element&&e.setAttribute(t,String(n))}}function jt(e,t,n,r=!1){if(n==null)return;let i=t;if(i===`style`){ht(e,n);return}if(o(n)){if(i===`onMount`){k(e,n);return}if(i===`onDestroy`){ne(e,n);return}if(i===`onClick`){e.onclick=n;return}if(i.charCodeAt(0)===111&&i.charCodeAt(1)===110){let t=vt(i);if(t){yt(e,t,n);return}if(i in e){e[i]=n;return}}if(n.length===0){let t=n;i===`className`&&e instanceof HTMLElement?(Ct(e),ft(e,i,t,function(t){Et(e,String(t||``))})):ft(e,i,t,function(t){At(e,i,t,!1)});return}}if(i===`className`&&e instanceof HTMLElement&&wt(e)){let t=String(n||``);t&&(Tt(e,t),Dt(e,t));return}At(e,i,n,r)}function Mt(e,t,n=!0){if(t)for(let r in t){let i=r,a=t[r];jt(e,i,a,n&&i===`className`)}}let G=/* @__PURE__ */ new WeakMap;function Nt(e){return r(e)&&!n(e)&&`className`in e&&typeof e.className==`string`&&Object.keys(e).length===1}function Pt(e){y(e);let t=g(e);return!!t&&t.nodeType===8&&t.textContent?.trimStart().startsWith(`text-`)===!0}function Ft(e,t){let n=g(e);if(n&&n.nodeType===3)return b(e),n.textContent!==t&&(n.textContent=t),n;let r=V(t);return r?(e.insertBefore(r,n),_(e,n),r):null}function K(e,i,a){if(i==null)return null;if(o(i)){if(s(i))try{let n=G.get(i);if(n||(n={value:i(),error:!1},G.set(i,n)),n.error)return Lt(a,()=>``);let r=n.value;if(Nt(r))return Mt(e,{className:()=>{let e=i();return Nt(e)?e.className:``}}),null;if(t(r)){let t=i,n=r??``;if(f()&&Pt(e)){let r=e;b(r);let i=String(n),a=Ft(r,i);return a&&Oe(a,{resolver:t,lastValue:i,sanitize:!0}),null}return Lt(a,t,n,!0)}return null}catch(e){return G.set(i,{value:void 0,error:!0}),c(`Error evaluating reactive text function:`,e),Lt(a,()=>``)}let o=i(e,a);return o==null?null:t(o)?Rt(a,o):n(o)?o:(r(o)&&Mt(e,o),null)}let l=i;if(t(l)){if(f()&&Pt(e)){let t=e;return b(t),Ft(t,String(l)),null}return Rt(a,l)}return n(l)?l:(Mt(e,l),null)}function It(e,t){if(l&&!f()&&!p())return t;let n=Ue();if(!n)throw Error(`Failed to create document fragment: document not available`);let r=H(` text-${e} `);return r&&n.appendChild(r),t&&n.appendChild(t),n}function Lt(e,t,n,r){return It(e,Ot(t,n,r))}function Rt(e,t){return It(e,V(String(t)))}function zt(e,t,n=0){if(!t||t.length===0)return;let r=n,i=e;for(let n=0;n<t.length;n+=1){let a=t[n];if(a==null)continue;let o=K(e,a,r);o&&(o.parentNode!==i&&i.appendChild(o),r+=1)}}function Bt(e,t){let n=Ve(e);if(!n)throw Error(`Failed to create element: ${e}`);return zt(n,t,0),n}function Vt(e,t){let n=He(Be,e);if(!n)throw Error(`Failed to create SVG element: ${e}`);return zt(n,t,0),n}function Ht(e,t){if(ve()){let n=me();return he(n,e,t),n}let n=function(n,r=0){let i=n,a=i?te(i,e):null,o=a??Ve(e);if(!o)throw Error(`Failed to create element: ${e}`);let s=o,c=a?s.lastChild:null;return zt(o,t,r),a&&x(s,c),o};return he(n,e,t),n}function Ut(e,t){if(ve()){let n=me();return he(n,e,t),n}return function(n,r=0){let i=n,a=i?te(i,e):null,o=a??He(`http://www.w3.org/2000/svg`,e);if(!o)throw Error(`Failed to create SVG element: ${e}`);let s=o,c=a?s.lastChild:null;return zt(o,t,r),a&&x(s,c),o}}function Wt(e){return(...t)=>Ht(e,t)}function Gt(e){return(...t)=>Ut(e,t)}let Kt=/* @__PURE__ */ `a.abbr.address.area.article.aside.audio.b.base.bdi.bdo.blockquote.body.br.button.canvas.caption.cite.code.col.colgroup.data.datalist.dd.del.details.dfn.dialog.div.dl.dt.em.embed.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.iframe.img.input.ins.kbd.label.legend.li.link.main.map.mark.menu.meta.meter.nav.noscript.object.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.script.search.section.select.slot.small.source.span.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.title.tr.track.u.ul.var.video.wbr`.split(`.`),qt=/* @__PURE__ */ `a.animate.animateMotion.animateTransform.circle.clipPath.defs.desc.ellipse.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feDistantLight.feDropShadow.feFlood.feFuncA.feFuncB.feFuncG.feFuncR.feGaussianBlur.feImage.feMerge.feMergeNode.feMorphology.feOffset.fePointLight.feSpecularLighting.feSpotLight.feTile.feTurbulence.filter.foreignObject.g.image.line.linearGradient.marker.mask.metadata.mpath.path.pattern.polygon.polyline.radialGradient.rect.script.set.stop.style.svg.switch.symbol.text.textPath.title.tspan.use.view`.split(`.`),Jt=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`source`,`track`,`wbr`];function Yt(e,t,n,r){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){let i=r(n);return Object.defineProperty(e,t,{value:i,configurable:!0,enumerable:!0,writable:!0}),i},set(n){Object.defineProperty(e,t,{value:n,configurable:!0,enumerable:!0,writable:!0})}})}function Xt(e,t){t in e&&typeof e[t]!=`function`||(Yt(e,t,t,Wt),t===`var`&&Yt(e,`var_`,t,Wt))}function Zt(e,t){let n=`${t}Svg`;n in e||Yt(e,n,t,Gt)}function Qt(e=globalThis){let t=`__nuclo_tags_registered`;if(!e[t]){for(let t=0;t<qt.length;t++)Zt(e,qt[t]);for(let t=0;t<Kt.length;t++)Xt(e,Kt[t]);e[t]=!0}}function $t(e,t,n){if(o(e)){let r=e(t,n);return r&&i(r)?r:null}return e&&i(e)?e:null}function en(e,t){let r=[],i=0;for(let e=0;e<t.length;e++){let a=t[e];if(a==null){r.push({kind:4});continue}let o=typeof a;if(o===`function`){let e=j(a);if(e!==void 0){let t=M(a);if(!t)return null;let n=en(t,e);if(!n)return null;r.push({kind:3,child:n});continue}if(a.length===0){let e;try{e=a(),G.set(a,{value:e,error:!1})}catch{return null}if(e==null||typeof e!=`object`&&typeof e!=`function`){r.push({kind:2});continue}return null}if(_e(a)){r.push({kind:5});continue}return null}if(o===`object`){if(n(a))return null;let e=a,t=Object.keys(e),o=[];for(let n=0;n<t.length;n++){let r=t[n],a=e[r];if(a==null){o.push({key:r,kind:3,prop:!1});continue}if(r===`style`)return null;let s=typeof a;if(s===`function`){let e=vt(r);if(e){o.push({key:r,kind:1,prop:!1,value:e});continue}if(r===`className`&&a.length===0){if(i++)return null;o.push({key:r,kind:2,prop:!1});continue}return null}if(s===`object`||r===`className`&&i++)return null;o.push({key:r,kind:0,prop:!1,value:a})}r.push({kind:0,keys:o});continue}r.push({kind:1})}return{tag:e,slots:r}}function tn(e,t){let n=e.slots,r=t.firstChild;for(let e=0;e<n.length;e++){let i=n[e];switch(i.kind){case 0:{let e=i.keys;for(let n=0;n<e.length;n++){let r=e[n];r.kind===0?r.prop=r.key in t:r.kind===2&&t.removeAttribute(`class`)}break}case 1:case 2:r&&=r.nextSibling;break;case 3:if(!r)return;tn(i.child,r),r=r.nextSibling}}}function nn(e,t,n,r){let i=e.slots;if(t.length!==i.length)return!1;let a=n.firstChild;for(let e=0;e<i.length;e++){let o=i[e],s=t[e];switch(o.kind){case 0:{if(typeof s!=`object`||!s)return!1;let e=s,t=o.keys,i=0;for(let t in e)i++;if(i!==t.length)return!1;for(let i=0;i<t.length;i++){let a=t[i],o=e[a.key];switch(a.kind){case 0:if(o==null||typeof o==`object`||typeof o==`function`)return!1;if(o===a.value)break;if(a.prop){let e=n;e[a.key]!==o&&(e[a.key]=o)}else{let e=String(o);n.getAttribute(a.key)!==e&&n.setAttribute(a.key,e)}break;case 1:{if(typeof o!=`function`)return!1;let e=a.value;e===`onclick`?n.onclick=o:yt(n,e,o);break}case 2:{if(typeof o!=`function`||o.length!==0)return!1;let e=o,t;try{t=e()}catch{return!1}let i=t?String(t):``;i&&(n.className=i),r.push(1,n,e,i);break}case 3:if(o!=null)return!1}}break}case 1:if(s==null||typeof s==`object`||typeof s==`function`||!a)return!1;a.nodeValue=String(s),a=a.nextSibling;break;case 2:{if(typeof s!=`function`||s.length!==0||j(s)!==void 0||!a)return!1;let e;try{e=s()}catch{return!1}if(e!=null&&(typeof e==`object`||typeof e==`function`))return!1;let t=e==null?``:String(e),n=a;n.nodeValue=t,r.push(0,n,s,t),a=n.nextSibling;break}case 3:{let e=j(s);if(e===void 0||M(s)!==o.child.tag||!a||!nn(o.child,e,a,r))return!1;a=a.nextSibling;break}case 4:if(s!=null)return!1;break;case 5:if(!_e(s))return!1;s(n,0)}}return!0}function rn(e,t,n,r){let i=e.slots;if(t.length!==i.length)return!1;let a=n.firstChild;for(let e=0;e<i.length;e++){let o=i[e],s=t[e];switch(o.kind){case 0:{if(typeof s!=`object`||!s)return!1;let e=s,t=o.keys,i=0;for(let a in e){if(i>=t.length)return!1;let o=t[i];if(o.key!==a)return!1;i++;let s=e[a];if(o.kind===2){if(typeof s!=`function`||s.length!==0)return!1;Me(n),r.push(1,n,s,n.className)}}if(i!==t.length)return!1;break}case 1:if(!a)return!1;a=a.nextSibling;break;case 2:{if(typeof s!=`function`||s.length!==0||!a||a.nodeType!==3)return!1;let e=a;je(e),r.push(0,e,s,e.nodeValue??``),a=e.nextSibling;break}case 3:{let e=j(s);if(e===void 0||M(s)!==o.child.tag||!a||!rn(o.child,e,a,r))return!1;a=a.nextSibling;break}case 4:if(s!=null)return!1;break;case 5:if(!_e(s))return!1}}return!0}function an(e){for(let t=0;t<e.length;t+=4){let n;try{n=e[t+2]()}catch{continue}if(e[t]===0){let r=n==null||typeof n==`object`||typeof n==`function`?``:String(n);r!==e[t+3]&&(e[t+1].nodeValue=r,e[t+3]=r)}else{let r=n?String(n):``;r!==e[t+3]&&(e[t+1].className=r,e[t+3]=r)}}}function on(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}let sn=/* @__PURE__ */ new Set,cn=/* @__PURE__ */ new WeakMap,ln=typeof FinalizationRegistry<`u`?new FinalizationRegistry(e=>{sn.delete(e)}):null,q=0;function un(e,t){let n=new WeakRef(e);sn.add(n),cn.set(e,t),ln?.register(e,n)}function dn(e){return Array.isArray(e)?e:Array.from(e)}function fn(e){if(typeof e!=`object`||!e)return!1;let t=e.element;return!!t&&typeof Node<`u`&&t instanceof Node}function pn(e,t,n){let r=e.renderItem(t,n);return fn(r)?(e.lastRenderRefresh=typeof r.update==`function`?r.update:null,r.element):$t(r,e.host,n)}let J=[];function mn(e){return J.length>e?J.slice(e):null}function hn(e,t,n){let r=be();try{return gn(e,t,n)}finally{xe(r)}}function gn(e,t,n){e.lastRenderLeaves=null,e.lastRenderRefresh=null;let r=e.template,i=l&&!f()&&!p(),a=r&&i?ye(e.renderItem,t,n):e.renderItem(t,n);if(fn(a))return e.lastRenderRefresh=typeof a.update==`function`?a.update:null,a.element;if(r!==null&&i){let i=j(a);if(i!==void 0){if(r===void 0){let t=M(a),r=t?en(t,i):null,o=$t(a,e.host,n);if(r&&o){let t=o.cloneNode(!0);tn(r,t);let n=J.length,a=!1;try{a=rn(r,i,o,J),a&&(e.lastRenderLeaves=mn(n))}finally{J.length=n}if(!a)return e.template=null,e.lastRenderLeaves=null,o;e.template={tmpl:r,skeleton:t}}else e.template=null;return o}let o=r.skeleton.cloneNode(!0),s=J.length;try{if(M(a)===r.tmpl.tag&&nn(r.tmpl,i,o,J))return e.lastRenderLeaves=mn(s),o}finally{J.length=s}return e.template=null,pn(e,t,n)}if(r===void 0)e.template=null;else return e.template=null,pn(e,t,n)}return $t(a,e.host,n)}function _n(e){qe(e.element)}function vn(e,t,n,r){if(n.parentNode!==t||r.parentNode!==t)return!1;if(ce())for(let t=0;t<e.length;t++){let n=e[t].element;n&&Ke(n)}if(l&&t.firstChild===n&&t.lastChild===r)return t.textContent=``,t.appendChild(n),t.appendChild(r),!0;for(let n=0;n<e.length;n++){let r=e[n].element;r&&r.parentNode===t&&t.removeChild(r)}return!0}function yn(e){let t=e.length;if(t===0)return[];let n=Array(t),r=[];for(let i=0;i<t;i++){let t=e[i],a=0,o=r.length;for(;a<o;){let n=a+o>>1;e[r[n]]<t?a=n+1:o=n}n[i]=a>0?r[a-1]:-1,a===r.length?r.push(i):r[a]=i}let i=r.length,a=r[i-1],o=Array(i);for(;i>0;)o[--i]=a,a=n[a];return o}function bn(e,t,n,r,i,a,o){let s=Ue(),c=0;for(let l=r;l<i;l++){let r=n[l],i=hn(e,r,l);if(!i)continue;let u=e.lastRenderLeaves;o.push({item:r,element:i,dyn:u,refresh:e.lastRenderRefresh,dynCreatedAt:u?e.currentFlushEpoch:void 0}),e.lastRenderLeaves=null,e.lastRenderRefresh=null;let d=i;s?(s.appendChild(d),c++):t.insertBefore(d,a)}s&&c>0&&t.insertBefore(s,a)}function xn(e){let{startMarker:t,endMarker:n}=e,r=t.parentNode??e.host,i=dn(e.itemsProvider());if(on(e.lastSyncedItems,i))return;let a=e.records,o=a.length,s=i.length;if(s===0){if(o>0&&!vn(a,r,t,n))for(let e=0;e<o;e++)_n(a[e]);e.records=[],e.lastSyncedItems=[],e.allRecordsCreatedAt=void 0;return}let c=0,l=Math.min(o,s);for(;c<l&&a[c].item===i[c];)c++;let u=0,d=l-c;for(;u<d&&a[o-1-u].item===i[s-1-u];)u++;let f=c,p=o-u,m=c,h=s-u;if(f===p){let t=p<o?a[p].element:n;if(p===o)bn(e,r,i,m,h,t,a),e.allRecordsCreatedAt=o===0?e.currentFlushEpoch:void 0;else{let n=[];bn(e,r,i,m,h,t,n),e.records=a.slice(0,f).concat(n,a.slice(f)),e.allRecordsCreatedAt=void 0}e.lastSyncedItems=i.slice();return}if(m===h){for(let e=f;e<p;e++)_n(a[e]);a.splice(f,p-f),e.allRecordsCreatedAt=void 0,e.lastSyncedItems=i.slice();return}let ee=p-f,g=h-m,_=Array(g).fill(-1),v=new Uint8Array(ee),y=0,b=Math.min(p,h);for(let e=c;e<b;e++)a[e].item===i[e]&&(_[e-m]=e,v[e-f]=1,y++);let te=y,x=/* @__PURE__ */ new Map;for(let e=p-1;e>=f;e--){if(v[e-f])continue;let t=a[e].item,n=x.get(t);n===void 0?x.set(t,e):typeof n==`number`?x.set(t,[n,e]):n.push(e)}for(let e=0;e<g;e++){if(_[e]!==-1)continue;let t=x.get(i[m+e]);if(t===void 0)continue;let n;typeof t==`number`?(n=t,x.delete(i[m+e])):(n=t.pop(),t.length===0&&x.delete(i[m+e])),_[e]=n,v[n-f]=1,y++}if(y===0&&f===0&&p===o){if(!vn(a,r,t,n))for(let e=0;e<o;e++)_n(a[e]);let c=[];bn(e,r,i,0,s,n,c),e.records=c,e.allRecordsCreatedAt=e.currentFlushEpoch,e.lastSyncedItems=i.slice();return}for(let e=f;e<p;e++)v[e-f]||_n(a[e]);let S=null,C=y-te<=8&&te>=32;if(y>0&&!C){let e=[],t=[];for(let n=0;n<g;n++)_[n]!==-1&&(e.push(_[n]),t.push(n));S=new Uint8Array(g);let n=yn(e);for(let e=0;e<n.length;e++)S[t[n[e]]]=1}let w=Array(g),T=0,E=p<o?a[p].element:n,D=null;for(let t=g-1;t>=0;t--){let n=_[t];if(n===-1){let n=i[m+t],a=hn(e,n,m+t);if(!a){w[t]=null,T++;continue}let o=e.lastRenderLeaves;w[t]={item:n,element:a,dyn:o,refresh:e.lastRenderRefresh,dynCreatedAt:o?e.currentFlushEpoch:void 0},e.lastRenderLeaves=null,e.lastRenderRefresh=null;let s=a;D||=Ue(),D?D.insertBefore(s,D.firstChild):(r.insertBefore(s,E),E=s);continue}let o=a[n];w[t]=o;let s=o.element;if(D&&D.firstChild){let e=D.firstChild;r.insertBefore(D,E),E=e,D=null}(S?!S[t]:!(C&&n===m+t))&&r.insertBefore(s,E),E=s}D&&D.firstChild&&r.insertBefore(D,E);let O=Array(f+(g-T)+(o-p)),k=0;for(let e=0;e<f;e++)O[k++]=a[e];for(let e=0;e<g;e++){let t=w[e];t&&(O[k++]=t)}for(let e=p;e<o;e++)O[k++]=a[e];e.records=O,e.allRecordsCreatedAt=void 0,e.lastSyncedItems=i.slice()}function Sn(e,t,n,r){return f()?wn(e,t,n,r):Cn(e,t,n,r)}function Cn(e,t,n,r){let{start:i,end:a}=Xe(`list`,r),o={itemsProvider:e,renderItem:t,startMarker:i,endMarker:a,records:[],host:n,lastSyncedItems:[]},s=n;return s.appendChild(i),s.appendChild(a),xn(o),l&&un(i,o),o}function wn(e,t,n,r){let i=n;y(i);let a=g(i);if(!a||a.nodeType!==8||!a.textContent?.startsWith(`list-start-`))return Cn(e,t,n,r);let o=b(i),s=0,c=g(i);for(;c;){if(c.nodeType===8){let e=c.textContent||``;if(e.startsWith(`list-start-`))s++;else if(e===`list-end`){if(s===0)break;s--}}c=c.nextSibling}let u=c;if(!u){let e=H(`list-end`);e&&(i.insertBefore(e,o.nextSibling),u=e)}if(!u)return Cn(e,t,n,r);let d=dn(e()),f=[];for(let e=0;e<d.length;e++){let r=t(d[e],e),i=fn(r)?r:null,a=i?i.element:$t(r,n,e);a&&f.push({item:d[e],element:a,refresh:i&&typeof i.update==`function`?i.update:void 0})}let p=g(i);for(;p&&p!==u;){let e=p.nextSibling;qe(p),p=e}let m=u;for(let e=f.length-1;e>=0;e--){let t=f[e].element;(t.parentNode!==i||t.nextSibling!==m)&&i.insertBefore(t,m),m=t}_(i,u.nextSibling);let h={itemsProvider:e,renderItem:t,startMarker:o,endMarker:u,records:f,host:n,lastSyncedItems:d.slice()};return l&&un(o,h),h}function Tn(e){e.template=null,e.lastRenderLeaves=null,e.lastRenderRefresh=null;for(let t=0;t<e.records.length;t++){let n=e.records[t];n.element=null,n.item=null,n.dyn=null,n.refresh=null,delete n.dynCreatedAt}e.records=[],e.lastSyncedItems=[],e.allRecordsCreatedAt=void 0}function En(e){let t=[];q++;for(let n of sn){let r=n.deref();if(!r){t.push(n);continue}let i=cn.get(r);if(!i){t.push(n);continue}if(!U(r)||!U(i.endMarker)){Tn(i),cn.delete(r),t.push(n);continue}if(e&&!e.contains(r))continue;i.currentFlushEpoch=q;try{xn(i)}finally{i.currentFlushEpoch=void 0}if(i.allRecordsCreatedAt===q)continue;let a=i.records;for(let e=0;e<a.length;e++){if(a[e].dynCreatedAt===q)continue;let t=a[e].refresh;t&&t();let n=a[e].dyn;n&&an(n)}}for(let e of t)sn.delete(e)}function Dn(e,t){return function(n,r){return Sn(e,t,n,r).startMarker}}function On(e,t){try{return e()}catch(e){if(t)return t(e),!1;throw e}}function kn(e,t){return typeof e==`function`?On(e,t):!!e}let An=/* @__PURE__ */ new Set,jn=/* @__PURE__ */ new WeakMap,Mn=typeof FinalizationRegistry<`u`?new FinalizationRegistry(e=>{An.delete(e)}):null;function Nn(e,t){for(let t=0;t<e.length;t++)if(kn(e[t].condition))return t;return t.length>0?-1:null}function Pn(e){let{groups:t,elseContent:n,host:r,index:i,endMarker:a}=e,o=Nn(t,n);o===e.activeIndex||(Ze(e.startMarker,e.endMarker),e.activeIndex=o,o===null)||Qe(Rn(o>=0?t[o].content:n,r,i,a),a)}function Fn(e){let t=new WeakRef(e.startMarker);An.add(t),jn.set(e.startMarker,e),Mn?.register(e.startMarker,t)}function In(e){let t=[];for(let n of An){let r=n.deref();if(r===void 0){t.push(n);continue}let i=jn.get(r);if(!i){t.push(n);continue}if(!U(r)||!U(i.endMarker)){jn.delete(r),t.push(n);continue}if(!e||e.contains(r))try{i.update()}catch(e){c(`when() branch threw during update; unregistering this conditional`,e),jn.delete(r),t.push(n)}}for(let e of t)An.delete(e)}function Ln(e,t,n,r){return o(e)?s(e)?(G.delete(e),K(t,e,n)):nt(t,r,()=>{let r=K(t,e,n);return r&&!r.parentNode?r:null}):K(t,e,n)}function Rn(e,t,n,r){let i=[];for(let a of e){let e=Ln(a,t,n,r);e&&i.push(e)}return i}function zn(e,t){return`when-start-${e}-b${t===null?`n`:t}`}function Bn(e){let t=/-b(n|-?\d+)$/.exec(e||``);if(t)return t[1]===`n`?null:parseInt(t[1],10)}var Vn=class e{groups=[];elseContent=[];constructor(e,...t){this.groups.push({condition:e,content:t})}cloneWith(t,n){let r=Object.create(e.prototype);return r.groups=[...this.groups],t&&r.groups.push(t),r.elseContent=n??[...this.elseContent],r}when(e,...t){return this.groups.push({condition:e,content:t}),this}else(...e){return this.elseContent=e,this}render(e,t){return globalThis.document?f()?this.hydrateRender(e,t):this.freshRender(e,t):null}freshRender(e,t){let{start:n,end:r}=Xe(`when`,t),i=this.createRuntimeFromMarkers(e,t,n,r),a=tt(e);return a.appendChild(n),a.appendChild(r),Pn(i),n.textContent=zn(t,i.activeIndex),n}hydrateRender(e,t){let n=e;y(n);let r=g(n);if(!r||r.nodeType!==8||!r.textContent?.startsWith(`when-start-`))return this.freshRender(e,t);let i=b(n),a=0,o=g(n);for(;o;){if(o.nodeType===8){let e=o.textContent||``;if(e.startsWith(`when-start-`))a++;else if(e===`when-end`){if(a===0)break;a--}}o=o.nextSibling}let s=o,c=!1;if(!s){let e=H(`when-end`);if(!e)return i;n.insertBefore(e,i.nextSibling),s=e,c=!0}let l=Nn(this.groups,this.elseContent),u=Bn(i.textContent);if(!c&&(u===void 0||u===l)){if(l!==null){let n=l>=0?this.groups[l].content:this.elseContent;for(let r of n)K(e,r,t)}}else if(Ze(i,s),l!==null){let n=l>=0?this.groups[l].content:this.elseContent,r=s;ee(()=>{Qe(Rn(n,e,t,r),r)})}return _(n,s.nextSibling),this.createRuntimeFromMarkers(e,t,i,s,l),i}createRuntimeFromMarkers(e,t,n,r,i=null){let a={startMarker:n,endMarker:r,host:e,index:t,groups:[...this.groups],elseContent:[...this.elseContent],activeIndex:i,update:function(){Pn(a)}};return l&&Fn(a),a}};function Hn(e){return Object.assign(function(t,n){return e.render(t,n)},{when:function(t,...n){return Hn(e.cloneWith({condition:t,content:n}))},else:function(...t){return Hn(e.cloneWith(void 0,t))}})}function Un(e,...t){return Hn(new Vn(e,...t))}function Wn(e){try{return e.isSvg?Vt(e.tagName,e.modifiers):Bt(e.tagName,e.modifiers)}catch(t){if(c(`Error applying modifiers in conditional element "${e.tagName}"`,t),e.isSvg){let n=He(Be,e.tagName);if(!n)throw Error(`Failed to create SVG element: ${e.tagName}`,{cause:t});return n}let n=Ve(e.tagName);if(!n)throw Error(`Failed to create element: ${e.tagName}`,{cause:t});return n}}function Gn(e){let t=ze(e);if(!t)return;let n=On(t.condition,e=>{c(`Error evaluating conditional condition`,e)}),r=e.nodeType===Node.ELEMENT_NODE;if(n&&!r){let n=Wn(t);Ie(n,t),et(e,n)}else if(!n&&r){let n=Ye(t.tagName);n&&(Ke(e),Ie(n,t),et(e,n))}}function Kn(e){if(l)try{let t=Re();for(let n of t){if(!n.isConnected){Le(n);continue}(!e||e.contains(n))&&Gn(n)}}catch(e){c(`Error during conditional elements update`,e)}}let qn=/* @__PURE__ */ new Map;function Jn(e){let t=[],n=/* @__PURE__ */ new Set;for(let r of e){if(typeof r!=`string`)continue;let e=r.trim();e&&(n.has(e)||(n.add(e),t.push(e)))}return t}function Yn(e,t){let n=qn.get(e);n||(n=/* @__PURE__ */ new Set,qn.set(e,n)),n.add(new WeakRef(t))}function Xn(e){let t=Jn(e);if(t.length===0)return[];let n=/* @__PURE__ */ new Set;for(let e of t){let t=qn.get(e);if(!t)continue;let r=[];for(let e of t){let t=e.deref();if(t===void 0){r.push(e);continue}if(!U(t)){r.push(e);continue}n.add(t)}for(let e of r)t.delete(e);t.size===0&&qn.delete(e)}return Array.from(n)}function Zn(...e){let t=Jn(e);return function(e){if(l&&e instanceof Element)for(let n of t)Yn(n,e)}}let Qn=[En,In,Kn,pt,kt,er];function $n(...e){let t;if(e.length>0){let n=Xn(e);if(n.length===1){let e=n[0];t={roots:n,contains:t=>e.contains(t)}}else t={roots:n,contains:e=>{for(let t of n)if(t.contains(e))return!0;return!1}}}for(let e of Qn)e(t);oe()}function er(e){if(typeof document>`u`)return;let t=e?e.roots:[document.body??document];for(let e of t)try{e.dispatchEvent(new Event(`update`,{bubbles:!0}))}catch(e){c(`Error dispatching global update event`,e)}}function tr(e,t,n=0){let r=t||document.body,i=e(r,n);return r.appendChild(i),oe(),i}function nr(e,t){let n=t||document.body,r=n;m();let i;try{i=e(n,0);let t=i;if(t&&t.nodeType===1&&t.parentNode!==r){let e=g(r);if(e){let n=e.nextSibling;r.insertBefore(t,e),qe(e),_(r,n)}else r.appendChild(t),_(r,null)}}finally{h()}return oe(),i}function rr(){return{ssrCollector:null,atomCache:/* @__PURE__ */ new Map,atomMeta:/* @__PURE__ */ new Map,rawKeys:/* @__PURE__ */ new Set,baseRules:[],queryRules:/* @__PURE__ */ new Map,styleEpoch:0,cssTextCache:null,sheet:null,sheetDocument:null,baseRuleCount:0,groupRules:/* @__PURE__ */ new Map,externalRules:null,hasExternalGroups:!1}}let ir=Symbol.for(`nuclo.style.engine.v1`),ar=globalThis,or;function Y(){return or??=ar[ir]??(ar[ir]=rr())}function sr(e){let t=Y();t.ssrCollector=e}function cr(e){for(let t of e){let e=Y();e.queryRules.has(t)||e.queryRules.set(t,[])}}function lr(e,t){let n=Y();try{let r=e.cssRules.length;e.insertRule(t+`{}`,r);let i=e.cssRules[r];return n.groupRules.set(t,i),n.groupRules.set(X(i),i),i}catch{return null}}let ur=/* @__PURE__ */ new WeakMap;function X(e){let t=ur.get(e);if(t!==void 0)return t;let n=e.cssText,r=n.indexOf(`{`),i=(r===-1?n:n.slice(0,r)).trim();return ur.set(e,i),i}function dr(e){return e instanceof CSSStyleRule?e.selectorText:X(e)}function fr(e,t){return(e===void 0?`-`:`+`+e.length+`:`+e)+t.length+`:`+t}function pr(e,t){let n=Y();if(!n.externalRules)return;let r=fr(t,dr(e)),i=n.externalRules.get(r);i||(i=/* @__PURE__ */ new Set,n.externalRules.set(r,i)),i.add(e.cssText)}function mr(e,t){let n=Y();if(!n.externalRules)return!1;let r=fr(t,dr(e)),i=n.externalRules.get(r);return i?.delete(e.cssText)?(i.size===0&&n.externalRules.delete(r),n.externalRules.size===0&&(n.externalRules=null),!0):!1}function hr(e){let t=Y();for(let n=0;n<e.length;n++){let r=e[n];if(r instanceof CSSStyleRule){pr(r,void 0);continue}let i=X(r);if(`cssRules`in r&&!i.startsWith(`@keyframes`)){let e=r;t.hasExternalGroups=!0,t.groupRules.set(i,e);for(let t=0;t<e.cssRules.length;t++)pr(e.cssRules[t],i)}else pr(r,void 0)}}function gr(e,t){let n=Y();try{e.insertRule(t,n.baseRuleCount);let r=e.cssRules[n.baseRuleCount];if(mr(r,void 0)){e.deleteRule(n.baseRuleCount);return}n.baseRuleCount++}catch{}}function _r(e,t){let n=Y();try{let r=e.cssRules.length;e.insertRule(t,r);let i=e.cssRules[r];n.externalRules&&mr(i,X(e))&&e.deleteRule(r)}catch{}}function vr(e,t){let n=Y(),r=n.groupRules.get(t);if(r)return r;if(!n.hasExternalGroups)return lr(e,t);try{let r=e.cssRules.length;e.insertRule(t+`{}`,r);let i=X(e.cssRules[r]);e.deleteRule(r);let a=n.groupRules.get(i);if(a)return n.groupRules.set(t,a),a}catch{return null}return lr(e,t)}function Z(){let e=Y();if(typeof document>`u`||typeof document.getElementById!=`function`)return null;if(e.sheet&&e.sheetDocument===document&&e.sheet.ownerNode&&e.sheet.ownerNode.isConnected)return e.sheet;let t=document.getElementById(`nuclo-styles`),n;if(t?.tagName===`STYLE`?n=t:(n=document.createElement(`style`),n.id=`nuclo-styles`,t?t.replaceWith(n):document.head.appendChild(n)),e.sheet=n.sheet,e.sheetDocument=document,e.groupRules.clear(),e.baseRuleCount=0,e.externalRules=null,e.hasExternalGroups=!1,!e.sheet)return null;if(e.sheet.cssRules.length>0){let t=0;for(;t<e.sheet.cssRules.length;){let n=e.sheet.cssRules[t];if(!(n instanceof CSSStyleRule)&&`cssRules`in n&&!X(n).startsWith(`@keyframes`))break;t++}e.baseRuleCount=t,e.externalRules=/* @__PURE__ */ new Map,hr(e.sheet.cssRules)}for(let t of e.baseRules)gr(e.sheet,t);for(let[t,n]of e.queryRules){let r=vr(e.sheet,t);if(r)for(let e of n)_r(r,e)}return e.sheet}function yr(e,t){let n=Y(),r=Z();if(t===void 0)n.baseRules.push(e);else{let r=n.queryRules.get(t);r||(r=[],n.queryRules.set(t,r)),r.push(e)}if(n.cssTextCache=null,r){if(t===void 0)gr(r,e);else{let n=vr(r,t);n&&_r(n,e)}}n.ssrCollector?.(t===void 0?e:t+`{`+e+`}`)}function br(e){let t=2166136261,n=2128831035;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r);t=Math.imul(t^i,16777619),n=Math.imul(n^i,2246822507)}return(t>>>0).toString(36)+((n>>>9)%1296).toString(36)}function xr(e,t){return(e===void 0?`-`:`+`+e.length+`:`+e)+t.length+`:`+t}function Sr(e,t){return e+t.length+`:`+t}function Cr(e,t){let n=``,r=0;for(let i=0;i<e.length;i++){let a=e.charCodeAt(i);if(a===92&&i+1<e.length){n+=e[i]+e[++i];continue}if(r!==0){n+=e[i],a===r&&(r=0);continue}a===34||a===39?(r=a,n+=e[i]):n+=a===38?t:e[i]}return n}function wr(e,t){let n=`.`+e;return n+Cr(t,n)}function Tr(e){if(e.length===0||e===`-`)return!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(!(n>=97&&n<=122||n>=65&&n<=90||n===45||n===95||t>0&&n>=48&&n<=57))return!1}if(e.charCodeAt(0)===45&&e.length>1){let t=e.charCodeAt(1);if(t>=48&&t<=57)return!1}return!0}function Er(e,t,n,r,i=!1){let a=Y(),o=xr(e,t);for(let[e,t]of n)o=Sr(Sr(o,e),t);r!==void 0&&!Tr(r)&&(console.warn(`[nuclo] css() name ${JSON.stringify(r)} is not a valid CSS class name (letters, digits, - and _ only, not starting with a digit); falling back to a generated name.`),r=void 0);let s=r===void 0?`a`+o:`n`+Sr(``,r)+o,c=a.atomCache.get(s);if(c!==void 0)return Z(),c;r===void 0?c=`n`+br(s):(c=i?r:r+`-`+br(s),a.atomMeta.has(c)&&console.warn(`[nuclo] css() name ${JSON.stringify(c)} is already used by a different style. Both rules are emitted under the same class, so they will override each other — rename one.`));let l=``;for(let[e,t]of n)l+=(l?`;`:``)+e+`:`+t;return a.atomCache.set(s,c),a.atomMeta.set(c,{query:e,suffix:t,decls:n,name:r}),yr(wr(c,t)+`{`+l+`}`,e),c}function Dr(e,t,n,r,i=!1){return Er(e,t,n,r,i)}function Or(e,t){let n=Y(),r=n.atomMeta.get(e),i=n.atomMeta.get(t);if(!r||!i)return t;let a=[...r.decls,...i.decls],o=/* @__PURE__ */ new Map;for(let e=0;e<a.length;e++)o.set(a[e][0],e);let s=a.filter((e,t)=>o.get(e[0])===t);return Er(r.query,r.suffix,s,r.name??i.name)}function kr(e){let t=Y().atomMeta.get(e);return t===void 0?void 0:xr(t.query,t.suffix)}function Ar(){return(or??ar[ir])?.styleEpoch??0}function jr(e,t){let n=Y();if(n.rawKeys.has(e)){Z();return}n.rawKeys.add(e),yr(t,void 0)}function Mr(){let e=Y();if(e.cssTextCache!==null)return e.cssTextCache;let t=e.baseRules.join(``);for(let[n,r]of e.queryRules)r.length>0&&(t+=n+`{`+r.join(``)+`}`);return e.cssTextCache=t,t}function Nr(){let e=Y();e.atomCache.clear(),e.atomMeta.clear(),e.rawKeys.clear(),e.baseRules.length=0,e.queryRules.clear(),e.groupRules.clear(),e.cssTextCache=null,e.baseRuleCount=0,e.sheet=null,e.sheetDocument=null,e.externalRules=null,e.hasExternalGroups=!1,e.styleEpoch++,typeof document<`u`&&document.getElementById(`nuclo-styles`)?.remove()}let Pr={hover:`:hover`,focus:`:focus`,focusVisible:`:focus-visible`,focusWithin:`:focus-within`,active:`:active`,visited:`:visited`,disabled:`:disabled`,enabled:`:enabled`,checked:`:checked`,required:`:required`,invalid:`:invalid`,valid:`:valid`,readOnly:`:read-only`,first:`:first-child`,last:`:last-child`,only:`:only-child`,odd:`:nth-child(odd)`,even:`:nth-child(even)`,empty:`:empty`,placeholderShown:`:placeholder-shown`,placeholder:`::placeholder`,before:`::before`,after:`::after`,selection:`::selection`,marker:`::marker`,firstLine:`::first-line`,firstLetter:`::first-letter`},Fr={bg:[`background`],p:[`padding`],px:[`padding-left`,`padding-right`],py:[`padding-top`,`padding-bottom`],pt:[`padding-top`],pr:[`padding-right`],pb:[`padding-bottom`],pl:[`padding-left`],m:[`margin`],mx:[`margin-left`,`margin-right`],my:[`margin-top`,`margin-bottom`],mt:[`margin-top`],mr:[`margin-right`],mb:[`margin-bottom`],ml:[`margin-left`],w:[`width`],h:[`height`],minW:[`min-width`],maxW:[`max-width`],minH:[`min-height`],maxH:[`max-height`],size:[`width`,`height`],text:[`font-size`],font:[`font-family`],weight:[`font-weight`],leading:[`line-height`],tracking:[`letter-spacing`],align:[`text-align`],items:[`align-items`],justify:[`justify-content`],z:[`z-index`],rounded:[`border-radius`],shadow:[`box-shadow`],select:[`user-select`]},Ir={row:{display:`flex`,"flex-direction":`row`},col:{display:`flex`,"flex-direction":`column`},center:{"align-items":`center`,"justify-content":`center`},truncate:{overflow:`hidden`,"text-overflow":`ellipsis`,"white-space":`nowrap`}},Lr={background:`colors`,"background-color":`colors`,color:`colors`,"border-color":`colors`,"border-top-color":`colors`,"border-right-color":`colors`,"border-bottom-color":`colors`,"border-left-color":`colors`,"outline-color":`colors`,"caret-color":`colors`,"text-decoration-color":`colors`,"font-family":`fonts`,"box-shadow":`shadows`,"border-radius":`radii`},Rr=/* @__PURE__ */ new Set([`z-index`,`opacity`,`font-weight`,`line-height`,`flex`,`flex-grow`,`flex-shrink`,`order`,`aspect-ratio`,`zoom`,`scale`,`column-count`,`orphans`,`widows`,`tab-size`,`animation-iteration-count`,`grid-column`,`grid-row`]),zr=/* @__PURE__ */ new Map;function Br(e){if(!/[A-Z]/.test(e))return e;let t=zr.get(e);return t===void 0&&(t=e.replace(/[A-Z]/g,e=>`-`+e.toLowerCase()),zr.size>=512&&zr.clear(),zr.set(e,t)),t}function Vr(e){return e.charCodeAt(0)===64?e:`@media `+e}function Hr(e,t){return e!==void 0&&e.startsWith(`@media`)&&t.startsWith(`@media`)?e+` and`+t.slice(6):t}function Ur(e,t){for(let n in t){let r=t[n],i=e[n];e[n]=typeof r==`object`&&r&&!Array.isArray(r)&&typeof i==`object`&&i&&!Array.isArray(i)?Ur({...i},r):r}return e}var Wr=class{className;constructor(e){this.className=e}toString(){return this.className}};function Q(e){return new Wr(e)}function Gr(e,t){let n=kr(t);if(n===void 0){e.set(t,t);return}let r=e.get(n);r===void 0||r===t?e.set(n,t):e.set(n,Or(r,t))}function Kr(e,t){let n=0;for(let r=0;r<=e.length;r++){let i=r===e.length?32:e.charCodeAt(r);(i===32||i===9||i===10||i===12||i===13)&&(r>n&&Gr(t,e.slice(n,r)),n=r+1)}}function qr(e,t){for(let n of e)n&&(typeof n==`string`?Kr(n,t):Array.isArray(n)?qr(n,t):Kr(n.className,t))}function Jr(e){let t=/* @__PURE__ */ new Map;qr(e,t);let n=``;for(let e of t.values())n+=(n?` `:``)+e;return n}let Yr=/* @__PURE__ */ new WeakMap;function Xr(e){return!!e&&typeof e==`object`&&!Array.isArray(e)}function Zr(...e){if(e.length===0)return Q(``);if(e.length===1){let t=e[0];if(!t)return Q(``);if(!Array.isArray(t)){let e=typeof t==`string`?t:t.className;if(!/[\t\n\f\r ]/.test(e))return Q(e)}}if(e.length===2&&Xr(e[0])&&Xr(e[1])){let t=e[0],n=e[1],r=Ar(),i=Yr.get(t),a=i?.get(n);if(a!==void 0&&a.epoch===r&&a.first===e[0].className&&a.second===e[1].className)return Z(),a.result;let o=Q(Jr(e)),s=i??/* @__PURE__ */ new WeakMap;return s.set(n,{epoch:r,first:e[0].className,second:e[1].className,result:o}),i||Yr.set(t,s),o}return Q(Jr(e))}function Qr(e={}){let t=e.screens??{};cr(Object.values(t).map(Vr));let n=/* @__PURE__ */ new WeakMap;function r(t,n){if(typeof n==`number`)return n===0||Rr.has(t)?String(n):n+`px`;let r=Lr[t];if(r!==void 0){let t=e[r]?.[n];if(t!==void 0)return t}return n}function i(e,t,n){let r=(t===void 0?`-`:`+`+t.length+`:`+t)+n.length+`:`+n,i=e.get(r);return i||(i={query:t,suffix:n,decls:[]},e.set(r,i)),i}function a(e,n,o,s){for(let c in e){let l=e[c];if(l==null||l===!1)continue;if(typeof l==`object`){if(c===`raw`){let e=l,t=i(s,n,o).decls;for(let n in e)t.push([n,r(n,e[n])]);continue}let e=Pr[c];if(e!==void 0){a(l,n,o+e,s);continue}let u=t[c];if(u!==void 0){a(l,Hr(n,Vr(u)),o,s);continue}let d=c.charCodeAt(0);if(d===38){a(l,n,Cr(c,`&`+o).slice(1),s);continue}if(d===64){a(l,Hr(n,c),o,s);continue}continue}if(l===!0){let e=Ir[c];if(e){let t=i(s,n,o).decls;for(let n in e)t.push([n,e[n]])}continue}let u=Fr[c];if(u!==void 0){let e=i(s,n,o).decls;for(let t of u)e.push([t,r(t,l)])}else{let e=Br(c);i(s,n,o).decls.push([e,r(e,l)])}}}function o(e,t){let r=typeof e==`string`,i=r?t:e,o=r?e:void 0;if(i==null)return Q(``);let s=Ar(),c=n.get(i);if(c!==void 0&&c.epoch===s&&c.name===o)return Z(),c.result;let l=/* @__PURE__ */ new Map;a(i,void 0,``,l);let u=[];for(let e of l.values()){if(e.decls.length===0)continue;let t=e.query===void 0&&e.suffix===``;u.push(Dr(e.query,e.suffix,e.decls,o,t))}let d=Q(u.join(` `));return n.set(i,{epoch:s,name:o,result:d}),d}function s(e){let t=``,n=(e,n)=>{t+=(t?`;`:``)+e+`:`+n};for(let t in e){let i=e[t];if(i==null||i===!1)continue;if(t===`raw`&&typeof i==`object`){let e=i;for(let t in e)n(t,r(t,e[t]));continue}if(typeof i==`object`)continue;if(i===!0){let e=Ir[t];if(e)for(let t in e)n(t,e[t]);continue}let a=Fr[t];if(a!==void 0)for(let e of a)n(e,r(e,i));else{let e=Br(t);n(e,r(e,i))}}return t}function c(e){let t=``;for(let n in e)t+=n+`{`+s(e[n])+`}`;let n=`nk`+br(t);return jr(n,`@keyframes `+n+`{`+t+`}`),n}function l(e,t){let n=e+`{`+s(t)+`}`;jr(`g|`+n,n)}function u(e){let t=e=>e===!0?`true`:e===!1?`false`:String(e),n=e.variants??{},r=Object.keys(n),i=e.defaultVariants??{},a=e.base??null,s=(e.compoundVariants??[]).map(e=>{let{css:n,...r}=e,i={};for(let e in r)i[e]=t(r[e]);return{conditions:i,style:n}}),c=/* @__PURE__ */ new Map,l=Ar();return function(e){let u=Ar();l!==u&&(c.clear(),l=u);let d={};for(let n of r){let r=(e?e[n]:void 0)??i[n];r!=null&&(d[n]=t(r))}let f=``;for(let e of r){let t=d[e];f+=e.length+`:`+e,f+=t===void 0?`-`:`+`+t.length+`:`+t}let p=c.get(f);if(p)return Z(),p;let m={};a&&(m=Ur(m,a));for(let e of r){let t=d[e];if(t!==void 0){let r=n[e][t];r&&(m=Ur(m,r))}}for(let e of s){let t=!0;for(let n in e.conditions)if(d[n]!==e.conditions[n]){t=!1;break}t&&(m=Ur(m,e.style))}let h=o(m);return c.set(f,h),h}}return{css:o,cx:Zr,variants:u,keyframes:c,globalStyle:l,theme:e}}let $r;function $(){return $r??=Qr({})}let ei=(e,t)=>typeof e==`string`?$().css(e,t):$().css(e),ti=e=>$().variants(e),ni=e=>$().keyframes(e),ri=(e,t)=>$().globalStyle(e,t);function ii(){Qt();let e=globalThis;e.list=Dn,e.update=$n,e.when=Un,e.on=De,e.scope=Zn,e.render=tr,e.hydrate=nr,e.createCss=Qr,e.css=ei,e.cx=Zr,e.variants=ti,e.keyframes=ni,e.globalStyle=ri}ii(),e.HTML_TAGS=Kt,e.SELF_CLOSING_TAGS=Jt,e.SVG_TAGS=qt,e.appendChildren=$e,e.applyAttributes=Mt,e.applyNodeModifier=K,e.createComment=H,e.createConditionalComment=Ye,e.createCss=Qr,e.createHtmlElementWithModifiers=Bt,e.createHtmlTagBuilder=Wt,e.createSvgElementWithModifiers=Vt,e.createSvgTagBuilder=Gt,e.css=ei,e.cx=Zr,e.getCssText=Mr,e.globalStyle=ri,e.hydrate=nr,e.initializeRuntime=ii,e.isBoolean=a,e.isBrowser=l,e.isFunction=o,e.isNode=n,e.isObject=r,e.isPrimitive=t,e.isTagLike=i,e.isZeroArityFunction=s,e.keyframes=ni,e.list=Dn,e.on=De,e.registerGlobalTagBuilders=Qt,e.render=tr,e.replaceNodeSafely=et,e.resetStyles=Nr,e.scope=Zn,e.setSSRCollector=sr,e.update=$n,e.variants=ti,e.when=Un});
2
- //# sourceMappingURL=nuclo.umd.js.map