nuclo 0.2.29 → 0.2.31

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.
Files changed (106) hide show
  1. package/dist/{Element-COo4x_Sd.mjs → Element-DXd2npjS.cjs} +2 -2
  2. package/dist/{Element-COo4x_Sd.mjs.map → Element-DXd2npjS.cjs.map} +1 -1
  3. package/dist/polyfill/nuclo.polyfill.cjs +1 -1
  4. package/dist/ssr/nuclo.ssr.cjs +1 -1
  5. package/dist/ssr/nuclo.ssr.cjs.map +1 -1
  6. package/package.json +2 -2
  7. package/dist/Element-DGs_V4AO.cjs +0 -2
  8. package/dist/Element-DGs_V4AO.cjs.map +0 -1
  9. package/dist/bootstrap.d.ts +0 -5
  10. package/dist/bootstrap.d.ts.map +0 -1
  11. package/dist/element/attributes.d.ts +0 -6
  12. package/dist/element/attributes.d.ts.map +0 -1
  13. package/dist/element/class-name.d.ts +0 -6
  14. package/dist/element/class-name.d.ts.map +0 -1
  15. package/dist/element/event-attributes.d.ts +0 -5
  16. package/dist/element/event-attributes.d.ts.map +0 -1
  17. package/dist/element/events.d.ts +0 -35
  18. package/dist/element/events.d.ts.map +0 -1
  19. package/dist/element/factory-meta.d.ts +0 -25
  20. package/dist/element/factory-meta.d.ts.map +0 -1
  21. package/dist/element/factory.d.ts +0 -32
  22. package/dist/element/factory.d.ts.map +0 -1
  23. package/dist/element/inline-style.d.ts +0 -9
  24. package/dist/element/inline-style.d.ts.map +0 -1
  25. package/dist/element/modifiers.d.ts +0 -11
  26. package/dist/element/modifiers.d.ts.map +0 -1
  27. package/dist/element/tags.d.ts +0 -5
  28. package/dist/element/tags.d.ts.map +0 -1
  29. package/dist/hydration.d.ts +0 -73
  30. package/dist/hydration.d.ts.map +0 -1
  31. package/dist/index.d.ts +0 -17
  32. package/dist/index.d.ts.map +0 -1
  33. package/dist/list/index.d.ts +0 -7
  34. package/dist/list/index.d.ts.map +0 -1
  35. package/dist/list/runtime.d.ts +0 -6
  36. package/dist/list/runtime.d.ts.map +0 -1
  37. package/dist/list/template.d.ts +0 -113
  38. package/dist/list/template.d.ts.map +0 -1
  39. package/dist/list/types.d.ts +0 -57
  40. package/dist/list/types.d.ts.map +0 -1
  41. package/dist/nuclo.cjs +0 -2
  42. package/dist/nuclo.cjs.map +0 -1
  43. package/dist/nuclo.mjs +0 -2
  44. package/dist/nuclo.mjs.map +0 -1
  45. package/dist/nuclo.umd.js +0 -2
  46. package/dist/nuclo.umd.js.map +0 -1
  47. package/dist/polyfill/Document.d.ts +0 -19
  48. package/dist/polyfill/Document.d.ts.map +0 -1
  49. package/dist/polyfill/Element.d.ts +0 -48
  50. package/dist/polyfill/Element.d.ts.map +0 -1
  51. package/dist/polyfill/Event.d.ts +0 -43
  52. package/dist/polyfill/Event.d.ts.map +0 -1
  53. package/dist/polyfill/Node.d.ts +0 -13
  54. package/dist/polyfill/Node.d.ts.map +0 -1
  55. package/dist/polyfill/Text.d.ts +0 -11
  56. package/dist/polyfill/Text.d.ts.map +0 -1
  57. package/dist/polyfill/index.d.ts +0 -24
  58. package/dist/polyfill/index.d.ts.map +0 -1
  59. package/dist/polyfill/nuclo.polyfill.mjs +0 -2
  60. package/dist/polyfill/nuclo.polyfill.mjs.map +0 -1
  61. package/dist/render.d.ts +0 -33
  62. package/dist/render.d.ts.map +0 -1
  63. package/dist/shared/conditions.d.ts +0 -4
  64. package/dist/shared/conditions.d.ts.map +0 -1
  65. package/dist/shared/dom.d.ts +0 -69
  66. package/dist/shared/dom.d.ts.map +0 -1
  67. package/dist/shared/environment.d.ts +0 -5
  68. package/dist/shared/environment.d.ts.map +0 -1
  69. package/dist/shared/errors.d.ts +0 -2
  70. package/dist/shared/errors.d.ts.map +0 -1
  71. package/dist/shared/renderables.d.ts +0 -4
  72. package/dist/shared/renderables.d.ts.map +0 -1
  73. package/dist/shared/strings.d.ts +0 -19
  74. package/dist/shared/strings.d.ts.map +0 -1
  75. package/dist/shared/type-guards.d.ts +0 -16
  76. package/dist/shared/type-guards.d.ts.map +0 -1
  77. package/dist/ssr/index.d.ts +0 -19
  78. package/dist/ssr/index.d.ts.map +0 -1
  79. package/dist/ssr/nuclo.ssr.mjs +0 -2
  80. package/dist/ssr/nuclo.ssr.mjs.map +0 -1
  81. package/dist/ssr/render-to-string.d.ts +0 -41
  82. package/dist/ssr/render-to-string.d.ts.map +0 -1
  83. package/dist/style/css.d.ts +0 -26
  84. package/dist/style/css.d.ts.map +0 -1
  85. package/dist/style/engine.d.ts +0 -74
  86. package/dist/style/engine.d.ts.map +0 -1
  87. package/dist/style/index.d.ts +0 -3
  88. package/dist/style/index.d.ts.map +0 -1
  89. package/dist/update/conditional.d.ts +0 -3
  90. package/dist/update/conditional.d.ts.map +0 -1
  91. package/dist/update/reactive-attributes.d.ts +0 -45
  92. package/dist/update/reactive-attributes.d.ts.map +0 -1
  93. package/dist/update/reactive-text.d.ts +0 -38
  94. package/dist/update/reactive-text.d.ts.map +0 -1
  95. package/dist/update/registry.d.ts +0 -116
  96. package/dist/update/registry.d.ts.map +0 -1
  97. package/dist/update/scope.d.ts +0 -7
  98. package/dist/update/scope.d.ts.map +0 -1
  99. package/dist/update/update.d.ts +0 -4
  100. package/dist/update/update.d.ts.map +0 -1
  101. package/dist/when/builder.d.ts +0 -16
  102. package/dist/when/builder.d.ts.map +0 -1
  103. package/dist/when/index.d.ts +0 -44
  104. package/dist/when/index.d.ts.map +0 -1
  105. package/dist/when/runtime.d.ts +0 -59
  106. package/dist/when/runtime.d.ts.map +0 -1
@@ -1,32 +0,0 @@
1
- /**
2
- * Element creation: builds HTML/SVG elements and applies the modifier list
3
- * that was passed to a tag builder (children, attributes, text, on(), ...).
4
- */
5
- import { type NodeModifier } from "./modifiers";
6
- export type { NodeModifier };
7
- /**
8
- * Applies modifiers to an element, appending newly produced Nodes while avoiding
9
- * duplicate DOM insertions (i.e. only appends if parentNode differs).
10
- *
11
- * `localIndex` advances once per appended child so each reactive/static text
12
- * modifier gets a unique `text-N` marker; it is internal bookkeeping only and
13
- * is not returned (no production caller consumed the previous result object).
14
- */
15
- export declare function applyModifiers<TTagName extends ElementTagName>(element: ExpandedElement<TTagName>, modifiers: ReadonlyArray<NodeModifier<TTagName>>, startIndex?: number): void;
16
- /**
17
- * Creates an HTML element with the specified tag name and applies modifiers to it.
18
- */
19
- export declare function createHtmlElementWithModifiers<TTagName extends ElementTagName>(tagName: TTagName, modifiers: ReadonlyArray<NodeModifier<TTagName>>): ExpandedElement<TTagName>;
20
- /**
21
- * Creates an SVG element with the specified tag name and applies modifiers to it.
22
- */
23
- export declare function createSvgElementWithModifiers<TTagName extends keyof SVGElementTagNameMap>(tagName: TTagName, modifiers: ReadonlyArray<unknown>): SVGElementTagNameMap[TTagName];
24
- /**
25
- * Creates an HTML tag builder function.
26
- */
27
- export declare function createHtmlTagBuilder<TTagName extends ElementTagName>(tagName: TTagName): ExpandedElementBuilder<TTagName>;
28
- /**
29
- * Creates an SVG tag builder function.
30
- */
31
- export declare function createSvgTagBuilder<TTagName extends keyof SVGElementTagNameMap>(tagName: TTagName): ExpandedSVGElementBuilder<TTagName>;
32
- //# sourceMappingURL=factory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../src/element/factory.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAKnE,YAAY,EAAE,YAAY,EAAE,CAAC;AAE7B;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,QAAQ,SAAS,cAAc,EAC5D,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,EAClC,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAChD,UAAU,SAAI,GACb,IAAI,CAoBN;AAED;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,SAAS,cAAc,EAC5E,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAC/C,eAAe,CAAC,QAAQ,CAAC,CAO3B;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,SAAS,MAAM,oBAAoB,EACvF,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,aAAa,CAAC,OAAO,CAAC,GAChC,oBAAoB,CAAC,QAAQ,CAAC,CAOhC;AAmED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,SAAS,cAAc,EAClE,OAAO,EAAE,QAAQ,GAChB,sBAAsB,CAAC,QAAQ,CAAC,CAElC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,MAAM,oBAAoB,EAC7E,OAAO,EAAE,QAAQ,GAChB,yBAAyB,CAAC,QAAQ,CAAC,CAErC"}
@@ -1,9 +0,0 @@
1
- type StyleAssignment = CSSStyleObject;
2
- type StyleResolver = () => StyleAssignment | null | undefined;
3
- /**
4
- * Simplified style management - basic functionality with minimal overhead
5
- */
6
- export declare function assignInlineStyles<TTagName extends ElementTagName>(element: ExpandedElement<TTagName>, styles: StyleAssignment | null | undefined): void;
7
- export declare function applyStyleAttribute<TTagName extends ElementTagName>(element: ExpandedElement<TTagName>, styleValue: StyleAssignment | StyleResolver | null | undefined): void;
8
- export {};
9
- //# sourceMappingURL=inline-style.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inline-style.d.ts","sourceRoot":"","sources":["../../src/element/inline-style.ts"],"names":[],"mappings":"AAKA,KAAK,eAAe,GAAG,cAAc,CAAC;AACtC,KAAK,aAAa,GAAG,MAAM,eAAe,GAAG,IAAI,GAAG,SAAS,CAAC;AAE9D;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,cAAc,EAChE,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,EAClC,MAAM,EAAE,eAAe,GAAG,IAAI,GAAG,SAAS,GACzC,IAAI,CAeN;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,cAAc,EACjE,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,EAClC,UAAU,EAAE,eAAe,GAAG,aAAa,GAAG,IAAI,GAAG,SAAS,GAC7D,IAAI,CAUN"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Caches the probe result of zero-arity function modifiers so the same
3
- * function is not re-invoked when it reappears during re-renders.
4
- */
5
- export declare const modifierProbeCache: WeakMap<() => unknown, {
6
- value: unknown;
7
- error: boolean;
8
- }>;
9
- export type NodeModifier<TTagName extends ElementTagName = ElementTagName> = NodeMod<TTagName> | NodeModFn<TTagName> | AnyParentNodeModifier;
10
- export declare function applyNodeModifier<TTagName extends ElementTagName>(parent: ExpandedElement<TTagName>, modifier: NodeModifier<TTagName>, index: number): Node | null;
11
- //# sourceMappingURL=modifiers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"modifiers.d.ts","sourceRoot":"","sources":["../../src/element/modifiers.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,eAAO,MAAM,kBAAkB,gBAAqB,OAAO;WAAW,OAAO;WAAS,OAAO;EAAK,CAAC;AAEnG,MAAM,MAAM,YAAY,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc,IACtE,OAAO,CAAC,QAAQ,CAAC,GACjB,SAAS,CAAC,QAAQ,CAAC,GACnB,qBAAqB,CAAC;AAqDzB,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,cAAc,EAChE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC,EACjC,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,EAChC,KAAK,EAAE,MAAM,GACX,IAAI,GAAG,IAAI,CAsFb"}
@@ -1,5 +0,0 @@
1
- export declare const HTML_TAGS: readonly ["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"];
2
- export declare const SVG_TAGS: readonly ["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"];
3
- export declare const SELF_CLOSING_TAGS: readonly ["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "source", "track", "wbr"];
4
- export declare function registerGlobalTagBuilders(target?: Record<string, unknown>): void;
5
- //# sourceMappingURL=tags.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../src/element/tags.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,SAAS,g7BAc4B,CAAC;AAEnD,eAAO,MAAM,QAAQ,4wBAWyC,CAAC;AAE/D,eAAO,MAAM,iBAAiB,iHAGoB,CAAC;AAkDnD,wBAAgB,yBAAyB,CAAC,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAc,GAAG,IAAI,CAe5F"}
@@ -1,73 +0,0 @@
1
- /**
2
- * Hydration context — tracks global hydration state and per-parent cursor positions.
3
- *
4
- * During hydration the component tree is built against an existing DOM tree
5
- * (produced by SSR). Instead of creating new nodes, factories claim existing
6
- * children from their parent element by advancing a cursor.
7
- *
8
- * The cursor is a *node pointer* (the next unclaimed child), not an index.
9
- * Indexed childNodes access is O(n) after any tree/attribute mutation in
10
- * jsdom (live NodeList re-materialization) which made hydration O(n²);
11
- * firstChild/nextSibling pointers are O(1) in every DOM implementation.
12
- */
13
- export declare function isHydrating(): boolean;
14
- /**
15
- * True while a tree is being built for SSR serialization (inside
16
- * renderToString). Text children must keep their `<!-- text-N -->` markers in
17
- * this mode so the emitted HTML stays hydratable — even when `isBrowser` is
18
- * true (SSR running under jsdom, or an isomorphic worker that provides a DOM).
19
- * A pure client render leaves this false and skips the markers.
20
- */
21
- export declare function isSerializing(): boolean;
22
- /**
23
- * Runs `fn` with serialization mode enabled, restoring the previous state
24
- * afterwards (so nested/re-entrant renderToString calls behave correctly).
25
- */
26
- export declare function runSerializing<T>(fn: () => T): T;
27
- export declare function startHydration(): void;
28
- export declare function endHydration(): void;
29
- /**
30
- * Runs a callback with hydration temporarily disabled, restoring the previous
31
- * state afterwards. Used when a server/client mismatch forces a subtree to be
32
- * rendered fresh in the middle of a hydration pass — fresh rendering must not
33
- * claim nodes from the surrounding SSR DOM.
34
- */
35
- export declare function runWithoutHydration<T>(fn: () => T): T;
36
- /**
37
- * Returns the next unclaimed child of a parent node (or null at the end)
38
- * without advancing the cursor.
39
- */
40
- export declare function peekChild(parent: Node): Node | null;
41
- /**
42
- * Sets the cursor to a specific child node (or null for "past the end").
43
- */
44
- export declare function setCursor(parent: Node, node: Node | null): void;
45
- /**
46
- * Advances the cursor past whitespace-only text nodes.
47
- *
48
- * Nuclo's own SSR output never produces bare whitespace text nodes (text
49
- * children are always preceded by a `<!-- text-N -->` marker), so unmarked
50
- * whitespace comes from the surrounding template or an HTML
51
- * formatter/minifier. Skipping (without removing) keeps the cursor aligned
52
- * while leaving the document's visual whitespace untouched.
53
- */
54
- export declare function skipWhitespaceText(parent: Node): void;
55
- /**
56
- * Claims the next child node from parent at the current cursor position.
57
- * Advances the cursor by one.
58
- */
59
- export declare function claimChild(parent: Node): Node | null;
60
- /**
61
- * Attempts to claim an existing element from the parent during hydration.
62
- * Returns the claimed element if the next child matches the expected tag, or null.
63
- */
64
- export declare function claimElement(parent: Node, tagName: string): Element | null;
65
- /**
66
- * Removes unclaimed SSR children from a hydrated element.
67
- * Must be called after modifiers have been applied to a claimed element.
68
- * Removes nodes from the cursor through `lastOriginalChild` (the element's
69
- * last child before modifiers ran) — nodes appended by modifiers come after
70
- * that boundary and are preserved.
71
- */
72
- export declare function cleanupUnclaimedChildren(node: Node, lastOriginalChild: Node | null): void;
73
- //# sourceMappingURL=hydration.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../src/hydration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAQH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQhD;AAED,wBAAgB,cAAc,IAAI,IAAI,CAMrC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAQrD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAGnD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAE/D;AAMD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAUrD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAMpD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAQ1E;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CASzF"}
package/dist/index.d.ts DELETED
@@ -1,17 +0,0 @@
1
- export { initializeRuntime } from "./bootstrap";
2
- export { registerGlobalTagBuilders, HTML_TAGS, SVG_TAGS, SELF_CLOSING_TAGS } from "./element/tags";
3
- export { createHtmlTagBuilder, createSvgTagBuilder, createHtmlElementWithModifiers, createSvgElementWithModifiers, } from "./element/factory";
4
- export { applyNodeModifier } from "./element/modifiers";
5
- export { applyAttributes } from "./element/attributes";
6
- export { on } from "./element/events";
7
- export { update } from "./update/update";
8
- export { scope } from "./update/scope";
9
- export { list } from "./list";
10
- export { when } from "./when";
11
- export { render, hydrate } from "./render";
12
- export * from "./style";
13
- export { appendChildren, createComment, createConditionalComment, replaceNodeSafely } from "./shared/dom";
14
- export { isBoolean, isFunction, isNode, isObject, isPrimitive, isTagLike, isZeroArityFunction } from "./shared/type-guards";
15
- export { isBrowser } from "./shared/environment";
16
- import "./bootstrap";
17
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAGhD,OAAO,EAAE,yBAAyB,EAAE,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAGtC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAG3C,cAAc,SAAS,CAAC;AAGxB,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,wBAAwB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1G,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC5H,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGjD,OAAO,aAAa,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { ListRenderer, ListItemsProvider } from "./types";
2
- /**
3
- * Maps items to DOM elements, keeping them in sync with changes.
4
- * Returns a function compatible with both HTML and SVG contexts.
5
- */
6
- export declare function list<TItem, TTagName extends ElementTagName = ElementTagName>(itemsProvider: ListItemsProvider<TItem>, render: ListRenderer<TItem, TTagName>): ListModifier<TTagName>;
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/list/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE/D;;;GAGG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,QAAQ,SAAS,cAAc,GAAG,cAAc,EAC1E,aAAa,EAAE,iBAAiB,CAAC,KAAK,CAAC,EACvC,MAAM,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,GACpC,YAAY,CAAC,QAAQ,CAAC,CAOxB"}
@@ -1,6 +0,0 @@
1
- import type { ListRenderer, ListRuntime, ListItemsProvider } from "./types";
2
- import type { UpdateScope } from "../update/scope";
3
- export declare function sync<TItem, TTagName extends ElementTagName>(runtime: ListRuntime<TItem, TTagName>): void;
4
- export declare function createListRuntime<TItem, TTagName extends ElementTagName = ElementTagName>(itemsProvider: ListItemsProvider<TItem>, renderItem: ListRenderer<TItem, TTagName>, host: ExpandedElement<TTagName>, index: number): ListRuntime<TItem, TTagName>;
5
- export declare function updateListRuntimes(scope?: UpdateScope): void;
6
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/list/runtime.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAkC,iBAAiB,EAAmB,MAAM,SAAS,CAAC;AAC7H,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAwRnD,wBAAgB,IAAI,CAAC,KAAK,EAAE,QAAQ,SAAS,cAAc,EACzD,OAAO,EAAE,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,GACpC,IAAI,CA0ON;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,QAAQ,SAAS,cAAc,GAAG,cAAc,EACvF,aAAa,EAAE,iBAAiB,CAAC,KAAK,CAAC,EACvC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,EACzC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAC/B,KAAK,EAAE,MAAM,GACZ,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAM9B;AAoKD,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CAuD5D"}
@@ -1,113 +0,0 @@
1
- /**
2
- * Row-template cloning for list().
3
- *
4
- * Building a row through the normal pipeline costs one createElement + a full
5
- * modifier pass per element. For a keyed list every row comes from the same
6
- * render function, so the structure is identical across rows and only the
7
- * leaves differ (text values, event handlers, reactive resolvers, and —
8
- * rarely — static attribute values). This module:
9
- *
10
- * 1. analyzes the first row's factory tree (via the internal factory
11
- * metadata symbols) and, when every modifier falls into a supported
12
- * shape, records a slot program for the row;
13
- * 2. clones the first row's built element as a skeleton (cloneNode does not
14
- * copy property-assigned `on*` handlers or reactive registrations, and
15
- * reactive classNames are scrubbed so a selected first row can't leak
16
- * its state into the skeleton);
17
- * 3. builds every other row as skeleton.cloneNode(true) + a patch pass that
18
- * walks the new factory tree in lockstep with the slot program.
19
- *
20
- * Any construct outside the supported shape (style objects, on() modifiers,
21
- * nested list()/when(), node children, resolvers returning non-primitives,
22
- * multiple className sources per element, SVG) bails to the normal build
23
- * path — the template is per-list state, so unsupported lists simply never
24
- * activate it. A per-row shape mismatch (heterogeneous render output)
25
- * deactivates the template for that list and rebuilds the row normally.
26
- */
27
- export declare const LEAF_TEXT = 0;
28
- export declare const LEAF_CLASSNAME = 1;
29
- /**
30
- * A clone's dynamic leaf, owned by its list record instead of the global
31
- * reactive registries: template rows have a known lifetime (they live and die
32
- * with their record), so update() can flush them with a tight array walk —
33
- * no WeakRef/WeakMap bookkeeping per row, nothing for the GC sweeps to prune.
34
- */
35
- export interface RowLeaf {
36
- kind: number;
37
- node: Text | HTMLElement;
38
- fn: () => unknown;
39
- last: string;
40
- }
41
- export declare const SLOT_ATTRS = 0;
42
- export declare const SLOT_TEXT = 1;
43
- export declare const SLOT_REACTIVE_TEXT = 2;
44
- export declare const SLOT_CHILD = 3;
45
- export declare const SLOT_NULL = 4;
46
- export declare const ATTR_STATIC = 0;
47
- export declare const ATTR_EVENT = 1;
48
- export declare const ATTR_REACTIVE_CLASSNAME = 2;
49
- export declare const ATTR_NULL = 3;
50
- export interface AttrSpec {
51
- key: string;
52
- kind: number;
53
- /** Static attrs: element exposes the key as a property (filled from the skeleton). */
54
- prop: boolean;
55
- /** Static attrs: first-row value. Events: normalized native property name. */
56
- value?: unknown;
57
- }
58
- export type TemplateSlot = {
59
- kind: typeof SLOT_ATTRS;
60
- keys: AttrSpec[];
61
- } | {
62
- kind: typeof SLOT_TEXT;
63
- } | {
64
- kind: typeof SLOT_REACTIVE_TEXT;
65
- } | {
66
- kind: typeof SLOT_CHILD;
67
- child: TemplateNode;
68
- } | {
69
- kind: typeof SLOT_NULL;
70
- };
71
- export interface TemplateNode {
72
- tag: string;
73
- slots: TemplateSlot[];
74
- }
75
- export interface ListTemplate {
76
- tmpl: TemplateNode;
77
- skeleton: Element;
78
- }
79
- /**
80
- * Classifies a factory's modifier tree into a slot program, or returns null
81
- * when any modifier falls outside the supported shape.
82
- */
83
- export declare function analyzeFactory(tag: string, mods: readonly unknown[]): TemplateNode | null;
84
- /**
85
- * One-time skeleton pass: fills each static attr's property-vs-attribute
86
- * flag and scrubs reactive classNames (the first row may have rendered with
87
- * row-specific state, e.g. a selected row's "danger" class).
88
- */
89
- export declare function prepareSkeleton(tmpl: TemplateNode, skeleton: Element): void;
90
- /**
91
- * Patches a skeleton clone from a fresh factory tree. Returns false on any
92
- * shape mismatch — the caller then rebuilds the row through the normal path
93
- * (a partially patched clone is safe to abandon: its reactive registrations
94
- * are weak and disconnected, so the next update() sweeps them).
95
- */
96
- export declare function instantiateTemplate(tmpl: TemplateNode, mods: readonly unknown[], el: Element, leaves: RowLeaf[]): boolean;
97
- /**
98
- * Converts the normally-built first row of a compatible template into the same
99
- * record-owned dynamic leaf representation used by skeleton clones.
100
- *
101
- * The normal builder has already registered reactive text/className leaves in
102
- * the global registries. Template rows have a tighter lifetime through their
103
- * list record, so unregister those first-row leaves and let updateListRuntimes()
104
- * flush them with the rest of the templated rows.
105
- */
106
- export declare function adoptTemplateLeaves(tmpl: TemplateNode, mods: readonly unknown[], el: Element, leaves: RowLeaf[]): boolean;
107
- /**
108
- * Flushes a template row's dynamic leaves: re-evaluates each resolver and
109
- * writes the DOM only on change. Resolver errors leave the previous value in
110
- * place (matching the notify passes' error tolerance).
111
- */
112
- export declare function flushRowLeaves(leaves: RowLeaf[]): void;
113
- //# sourceMappingURL=template.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../src/list/template.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAQH,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC;IACzB,EAAE,EAAE,MAAM,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,UAAU,IAAI,CAAC;AAC5B,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,SAAS,IAAI,CAAC;AAE3B,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,sFAAsF;IACtF,IAAI,EAAE,OAAO,CAAC;IACd,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,OAAO,UAAU,CAAC;IAAC,IAAI,EAAE,QAAQ,EAAE,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,OAAO,SAAS,CAAA;CAAE,GAC1B;IAAE,IAAI,EAAE,OAAO,kBAAkB,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,OAAO,UAAU,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,OAAO,SAAS,CAAA;CAAE,CAAC;AAE/B,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,YAAY,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,YAAY,GAAG,IAAI,CAqFzF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI,CA8B3E;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,OAAO,EAAE,GAChB,OAAO,CAiHT;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,SAAS,OAAO,EAAE,EACxB,EAAE,EAAE,OAAO,EACX,MAAM,EAAE,OAAO,EAAE,GAChB,OAAO,CAwET;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAuBtD"}
@@ -1,57 +0,0 @@
1
- import type { ListTemplate, RowLeaf } from "./template";
2
- export type ListItemsInput<TItem> = readonly TItem[] | Iterable<TItem>;
3
- export interface ListRenderedRow<TTagName extends ElementTagName = ElementTagName> {
4
- element: ExpandedElement<TTagName>;
5
- update?: () => void;
6
- }
7
- export type ListRenderable<TTagName extends ElementTagName = ElementTagName> = ExpandedElement<TTagName> | DetachedExpandedElementFactory<TTagName> | NodeModFn<TTagName> | DetachedSVGElementFactory | SVGElementModifierFn | Node | ListRenderedRow<TTagName> | null | undefined;
8
- export type ListRenderer<TItem, TTagName extends ElementTagName = ElementTagName> = (item: TItem, index: number) => ListRenderable<TTagName>;
9
- export type ListItemsProvider<TItem> = () => ListItemsInput<TItem>;
10
- export interface ListItemRecord<TItem, TTagName extends ElementTagName = ElementTagName> {
11
- item: TItem;
12
- element: ExpandedElement<TTagName>;
13
- /**
14
- * Template rows own their dynamic leaves (reactive text / className)
15
- * instead of registering them globally; update() flushes them via the
16
- * list runtime. Null/absent for rows built through the normal path.
17
- */
18
- dyn?: RowLeaf[] | null;
19
- refresh?: (() => void) | null;
20
- /**
21
- * Internal updateListRuntimes() epoch in which this record's dynamic leaves
22
- * were initialized. Fresh template rows already hold current values, so that
23
- * same update pass can skip re-flushing them.
24
- */
25
- dynCreatedAt?: number;
26
- }
27
- export interface ListRuntime<TItem, TTagName extends ElementTagName = ElementTagName> {
28
- itemsProvider: ListItemsProvider<TItem>;
29
- renderItem: ListRenderer<TItem, TTagName>;
30
- startMarker: Comment;
31
- endMarker: Comment;
32
- records: ListItemRecord<TItem, TTagName>[];
33
- host: ExpandedElement<TTagName>;
34
- lastSyncedItems: readonly TItem[];
35
- /**
36
- * Row-template state: undefined = not analyzed yet, null = unsupported
37
- * shape (build rows normally forever), object = clone-and-patch active.
38
- */
39
- template?: ListTemplate | null;
40
- /**
41
- * Dynamic leaves of the most recent template-built row, for the record
42
- * creation sites to attach to the new record. Null when the row was built
43
- * through the normal path.
44
- */
45
- lastRenderLeaves?: RowLeaf[] | null;
46
- lastRenderRefresh?: (() => void) | null;
47
- /**
48
- * Set only while updateListRuntimes() is syncing this runtime.
49
- */
50
- currentFlushEpoch?: number;
51
- /**
52
- * Internal updateListRuntimes() epoch in which every current record was
53
- * freshly initialized.
54
- */
55
- allRecordsCreatedAt?: number;
56
- }
57
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/list/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAExD,MAAM,MAAM,cAAc,CAAC,KAAK,IAAI,SAAS,KAAK,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAEvE,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IAC/E,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,MAAM,cAAc,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc,IACvE,eAAe,CAAC,QAAQ,CAAC,GACzB,8BAA8B,CAAC,QAAQ,CAAC,GACxC,SAAS,CAAC,QAAQ,CAAC,GACnB,yBAAyB,GACzB,oBAAoB,GACpB,IAAI,GACJ,eAAe,CAAC,QAAQ,CAAC,GACzB,IAAI,GACJ,SAAS,CAAC;AAEd,MAAM,MAAM,YAAY,CAAC,KAAK,EAAE,QAAQ,SAAS,cAAc,GAAG,cAAc,IAAI,CAClF,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,MAAM,KACV,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE9B,MAAM,MAAM,iBAAiB,CAAC,KAAK,IAAI,MAAM,cAAc,CAAC,KAAK,CAAC,CAAC;AAEnE,MAAM,WAAW,cAAc,CAAC,KAAK,EAAE,QAAQ,SAAS,cAAc,GAAG,cAAc;IACrF,IAAI,EAAE,KAAK,CAAC;IACZ,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnC;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW,CAAC,KAAK,EAAE,QAAQ,SAAS,cAAc,GAAG,cAAc;IAClF,aAAa,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACxC,UAAU,EAAE,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,CAAC;IAC3C,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChC,eAAe,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC;IACxC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B"}
package/dist/nuclo.cjs DELETED
@@ -1,2 +0,0 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});function e(e){return e===null||typeof e!=`object`&&typeof e!=`function`}function t(e){return e instanceof Node?!0:typeof e!=`object`||!e?!1:typeof e.nodeType==`number`}function n(e){return typeof e==`object`&&!!e}function r(e){return n(e)&&`tagName`in e}function i(e){return typeof e==`boolean`}function a(e){return typeof e==`function`}function o(e){return a(e)&&e.length===0}function s(e,t){typeof console<`u`&&console.error(`nuclo: ${e}`,t)}const c=typeof window<`u`&&typeof document<`u`,l=new WeakMap;function u(e,t){let n=l.get(e);n?Array.isArray(n)?n.includes(t)||n.push(t):n!==t&&l.set(e,[n,t]):l.set(e,t)}function d(e,t){e.removeEventListener(t.type,t.wrapped,t.capture)}function f(e,t){let n=l.get(e);if(!n)return;if(t===void 0){if(Array.isArray(n))for(let t=0;t<n.length;t++)d(e,n[t]);else d(e,n);l.delete(e);return}if(!Array.isArray(n)){n.type===t&&(d(e,n),l.delete(e));return}let r=0;for(let i=0;i<n.length;i++){let a=n[i];a.type===t?d(e,a):n[r++]=a}r===0?l.delete(e):r===1?l.set(e,n[0]):n.length=r}function p(e){}function m(e,t,n){return{type:e,wrapped:function(n){let r=this;try{t.call(r,n)}catch(t){s(`Error in '${e}' listener`,t)}},capture:n}}function h(e,t,n){if(!c)return p;let r=m(e,t,n===!0||typeof n==`object`&&!!n&&n.capture===!0);return function(t){if(!t||typeof t.addEventListener!=`function`)return;let i=t;i.addEventListener(e,r.wrapped,n),u(i,r)}}const g=new Set,_=new WeakMap,v=new Set,y=new WeakMap;function b(e,t){let n=_.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);g.add(r),_.set(e,{ref:r,info:t})}function ee(e,t){let n=new WeakRef(e);v.add(n),y.set(e,{ref:n,info:t})}function x(e){g.delete(e)}function S(e){v.delete(e)}function C(e){let t=_.get(e);t&&(g.delete(t.ref),_.delete(e))}function w(e){let t=y.get(e);t&&(v.delete(t.ref),y.delete(e))}const T=new WeakMap,E=new Set,D=new WeakMap,O=typeof FinalizationRegistry<`u`?new FinalizationRegistry(e=>{E.delete(e)}):null;function te(e,t){T.set(e,t);let n=new WeakRef(e);E.add(n),D.set(e,n),O?.register(e,n)}function ne(e){T.delete(e);let t=D.get(e);t&&(E.delete(t),D.delete(e))}function re(){let e=[],t=[];for(let n of E){let r=n.deref();r===void 0?t.push(n):e.push(r)}for(let e of t)E.delete(e);return e}function ie(e){return T.get(e)??null}const ae=`http://www.w3.org/2000/svg`;function oe(e){return globalThis.document?document.createElement(e):null}function se(e,t){return globalThis.document?document.createElementNS(e,t):null}function k(e){return globalThis.document?document.createTextNode(e):null}function ce(){return globalThis.document?document.createDocumentFragment():null}function le(e,t){try{return e.appendChild(t),!0}catch(e){return s(`Failed to append child node`,e),!1}}function ue(e){if(e.nodeType===Node.ELEMENT_NODE){let t=e;f(t),w(t),ne(t)}else e.nodeType===Node.TEXT_NODE?C(e):e.nodeType===Node.COMMENT_NODE&&ne(e);if(e.childNodes&&e.childNodes.length>0)for(let t=0;t<e.childNodes.length;t++)ue(e.childNodes[t])}function A(e){if(!e?.parentNode)return!1;try{return ue(e),e.parentNode.removeChild(e),!0}catch(e){return s(`Failed to remove child node`,e),!1}}function de(e,t,n){try{return e.insertBefore(t,n),!0}catch(e){return s(`Failed to insert node before reference`,e),!1}}function j(e){return globalThis.document?globalThis.document.createComment(e):null}function fe(e,t=`hidden`){return globalThis.document?globalThis.document.createComment(`conditional-${e}-${t}`):null}function pe(e,t){let n=j(`${e}-end`);if(!n)throw Error(`Failed to create comment: document not available`);let r=j(`${e}-start-${t}`);if(!r)throw Error(`Failed to create comment: document not available`);return{start:r,end:n}}function me(e,t){let n=e.nextSibling;for(;n&&n!==t;){let e=n.nextSibling;A(n),n=e}}function he(e,t){let n=t.parentNode;if(n)for(let r=0;r<e.length;r++)de(n,e[r],t)}function ge(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=k(r);if(e)t=e;else continue}else t=r;le(e,t)}}return e}function M(e){return e?.isConnected===!0}function _e(e,t){if(!e?.parentNode)return!1;try{return e.parentNode.replaceChild(t,e),!0}catch(e){return s(`Error replacing conditional node`,e),!1}}function ve(e){return e}function ye(e,t,n){let r=ve(e),i=r.appendChild.bind(r),a=r.insertBefore.bind(r);r.appendChild=function(e){return a(e,t)};try{return n()}finally{r.appendChild=i}}function be(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}}const xe={};let Se=!1;function Ce(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=y.get(n);e&&(M(n)?Oe(e.info):(S(e.ref),y.delete(n)))}n=n.parentNode}}function we(){Se||typeof document>`u`||typeof document.addEventListener!=`function`||(document.addEventListener(`update`,Ce,!0),Se=!0)}function Te(e){let t=y.get(e);if(t)return t.info;let n={attributeResolvers:[]};return ee(e,n),n}function Ee(e){return typeof e!=`object`||!e}function De(e){let t;try{t=e.resolver()}catch(t){s(`Failed to resolve reactive attribute: ${e.key}`,t);return}let n=Ee(t);if(!(n&&Object.is(t,e.lastValue)))try{e.applyValue(t),e.lastValue=n?t:xe}catch(t){s(`Failed to apply reactive attribute: ${e.key}`,t)}}function Oe(e){let t=e.attributeResolvers;for(let e=0;e<t.length;e++)De(t[e])}function ke(e,t,n,r){if(!(e instanceof Element)||!t||typeof n!=`function`){s(`Invalid parameters for registerAttributeResolver`);return}let i={key:t,resolver:n,applyValue:r,lastValue:xe};if(!c){De(i);return}we();let a=Te(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),De(i)}function Ae(e){let t=[];for(let n of v){let r=n.deref();if(r===void 0){t.push(n);continue}let i=y.get(r);if(!i){t.push(n);continue}if(!M(r)){y.delete(r),t.push(n);continue}e&&!e.contains(r)||Oe(i.info)}for(let e of t)S(e)}function je(e,t){if(!(!e?.style||!t))for(let n in t)be(e,n,t[n])||s(`Failed to set style property '${n}'`)}function Me(e,t){e&&(a(t)?ke(e,`style`,t,function(t){je(e,t)}):je(e,t))}const Ne=new WeakMap;function Pe(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?null:e===`onDoubleClick`?`ondblclick`:e.toLowerCase()}function Fe(e,t,n){if(t in e){e[t]=n;return}let r=t.slice(2),i=Ne.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),Ne.set(e,[r,n])}const N=new WeakMap,Ie=new WeakSet;function Le(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 Re(e){let t=``;for(let n of e)t&&(t+=` `),t+=n;return t}function ze(e){if(e.className&&!N.has(e)){let t=new Set;Le(t,e.className),N.set(e,t)}Ie.add(e)}function Be(e){return Ie.has(e)}function Ve(e,t){if(!t)return;let n=N.get(e);n||(n=new Set,N.set(e,n)),Le(n,t)}function He(e,t){let n=N.get(e);if(!n||n.size===0){let n=t||``;e.className!==n&&(e.className=n);return}if(!t){e.className=Re(n);return}let r=Re(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 Ue(e,t){if(!t)return;let n=e.className;if(n&&n!==t){let r=new Set;Le(r,n),Le(r,t),e.className=Re(r)}else e.className=t}function We(e,t,n){if(typeof e!=`function`){s(`Invalid resolver provided to createReactiveTextNode`);let e=k(``);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){s(`Failed to evaluate reactive text resolver`,e),r=``}let i=r===void 0?``:String(r),a=k(i);if(!a)throw Error(`Failed to create text node: document not available`);return c&&b(a,{resolver:e,lastValue:i,sanitize:n}),a}function Ge(e){let t=[];for(let n of g){let r=n.deref();if(r===void 0){t.push(n);continue}let i=_.get(r);if(!i){t.push(n);continue}let a=i.info;if(!M(r)){_.delete(r),t.push(n);continue}if(e&&!e.contains(r))continue;let o;try{o=a.resolver()}catch(e){s(`Failed to update reactive text node`,e),o=void 0}let c=a.sanitize?o==null||typeof o==`object`||typeof o==`function`?``:String(o):o===void 0?``:String(o);c!==a.lastValue&&(r.textContent=c,a.lastValue=c)}for(let e of t)x(e)}function Ke(e,t,n,r){if(n!=null){if(r&&t===`className`&&e instanceof HTMLElement){Ue(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 qe(e,t,n,r=!1){if(n==null)return;let i=t;if(i===`style`){Me(e,n);return}if(a(n)){if(i===`onClick`){e.onclick=n;return}if(i.charCodeAt(0)===111&&i.charCodeAt(1)===110){let t=Pe(i);if(t){Fe(e,t,n);return}if(i in e){e[i]=n;return}}if(n.length===0){let t=n;i===`className`&&e instanceof HTMLElement?(ze(e),ke(e,i,t,function(t){He(e,String(t||``))})):ke(e,i,t,function(t){Ke(e,i,t,!1)});return}}if(i===`className`&&e instanceof HTMLElement&&Be(e)){let t=String(n||``);t&&(Ve(e,t),Ue(e,t));return}Ke(e,i,n,r)}function P(e,t,n=!0){if(t)for(let r in t){let i=r,a=t[r];qe(e,i,a,n&&i===`className`)}}let F=!1,Je=new WeakMap;function I(){return F}function Ye(){return!1}function Xe(){F=!0,Je=new WeakMap}function Ze(){F=!1}function Qe(e){let t=F;F=!1;try{return e()}finally{F=t}}function L(e){let t=Je.get(e);return t===void 0?e.firstChild:t}function R(e,t){Je.set(e,t)}function $e(e){return e.nodeType===3&&!/\S/.test(e.textContent||``)}function z(e){let t=L(e),n=!1;for(;t&&$e(t);)t=t.nextSibling,n=!0;n&&R(e,t)}function B(e){let t=L(e);return t&&R(e,t.nextSibling),t}function et(e,t){if(!F)return null;z(e);let n=L(e);return n&&n.nodeType===1&&n.tagName.toLowerCase()===t?B(e):null}function tt(e,t){if(!t)return;let n=L(e);for(;n;){let r=n===t?null:n.nextSibling;e.removeChild(n),n=r}R(e,null)}const V=new WeakMap;function nt(e){return n(e)&&!t(e)&&`className`in e&&typeof e.className==`string`&&Object.keys(e).length===1}function rt(e){z(e);let t=L(e);return!!t&&t.nodeType===8&&t.textContent?.trimStart().startsWith(`text-`)===!0}function it(e,t){let n=L(e);if(n&&n.nodeType===3)return B(e),n.textContent!==t&&(n.textContent=t),n;let r=k(t);return r?(e.insertBefore(r,n),R(e,n),r):null}function H(r,i,c){if(i==null)return null;if(a(i)){if(o(i))try{let t=V.get(i);if(t||(t={value:i(),error:!1},V.set(i,t)),t.error)return ot(c,()=>``);let n=t.value;if(nt(n))return P(r,{className:()=>{let e=i();return nt(e)?e.className:``}}),null;if(e(n)){let e=i,t=n??``;if(I()&&rt(r)){let n=r;B(n);let i=String(t),a=it(n,i);return a&&b(a,{resolver:e,lastValue:i,sanitize:!0}),null}return ot(c,e,t,!0)}return null}catch(e){return V.set(i,{value:void 0,error:!0}),s(`Error evaluating reactive text function:`,e),ot(c,()=>``)}let a=i(r,c);return a==null?null:e(a)?st(c,a):t(a)?a:(n(a)&&P(r,a),null)}let l=i;if(e(l)){if(I()&&rt(r)){let e=r;return B(e),it(e,String(l)),null}return st(c,l)}return t(l)?l:(P(r,l),null)}function at(e,t){if(c&&!I()&&!Ye())return t;let n=ce();if(!n)throw Error(`Failed to create document fragment: document not available`);let r=j(` text-${e} `);return r&&n.appendChild(r),t&&n.appendChild(t),n}function ot(e,t,n,r){return at(e,We(t,n,r))}function st(e,t){return at(e,k(String(t)))}const ct=Symbol(`nuclo.factory.tag`),lt=Symbol(`nuclo.factory.mods`);let U=0;const ut=[];let dt=0;function ft(){return dt>=ut.length&&ut.push(()=>null),ut[dt++]}function pt(e,t,n){e[ct]=t,e[lt]=n}function W(e){return typeof e==`function`?e[lt]:void 0}function G(e){return typeof e==`function`?e[ct]:void 0}function mt(){return U>0}function ht(e,t,n){let r=U===0;U++,r&&(dt=0);try{return e(t,n)}finally{U--}}function K(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=H(e,a,r);o&&(o.parentNode!==i&&i.appendChild(o),r+=1)}}function gt(e,t){let n=oe(e);if(!n)throw Error(`Failed to create element: ${e}`);return K(n,t,0),n}function _t(e,t){let n=se(ae,e);if(!n)throw Error(`Failed to create SVG element: ${e}`);return K(n,t,0),n}function vt(e,t){if(mt()){let n=ft();return pt(n,e,t),n}let n=function(n,r=0){let i=n,a=i?et(i,e):null,o=a??oe(e);if(!o)throw Error(`Failed to create element: ${e}`);let s=o,c=a?s.lastChild:null;return K(o,t,r),a&&tt(s,c),o};return pt(n,e,t),n}function yt(e,t){if(mt()){let n=ft();return pt(n,e,t),n}return function(n,r=0){let i=n,a=i?et(i,e):null,o=a??se(`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 K(o,t,r),a&&tt(s,c),o}}function bt(e){return(...t)=>vt(e,t)}function xt(e){return(...t)=>yt(e,t)}const St=`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(`.`),Ct=`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(`.`),wt=[`area`,`base`,`br`,`col`,`embed`,`hr`,`img`,`input`,`link`,`meta`,`source`,`track`,`wbr`];function Tt(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,get(){let r=n();return Object.defineProperty(e,t,{value:r,configurable:!0,enumerable:!0,writable:!0}),r},set(n){Object.defineProperty(e,t,{value:n,configurable:!0,enumerable:!0,writable:!0})}})}function Et(e,t){t in e&&typeof e[t]!=`function`||(Tt(e,t,()=>bt(t)),t===`var`&&Tt(e,`var_`,()=>bt(t)))}function Dt(e,t){let n=`${t}Svg`;n in e||Tt(e,n,()=>xt(t))}function Ot(e=globalThis){let t=`__nuclo_tags_registered`;if(!e[t]){for(let t=0;t<Ct.length;t++)Dt(e,Ct[t]);for(let t=0;t<St.length;t++)Et(e,St[t]);e[t]=!0}}function q(e,t,n){if(a(e)){let i=e(t,n);return i&&r(i)?i:null}return e&&r(e)?e:null}function kt(e,n){let r=[],i=0;for(let e=0;e<n.length;e++){let a=n[e];if(a==null){r.push({kind:4});continue}let o=typeof a;if(o===`function`){let e=W(a);if(e!==void 0){let t=G(a);if(!t)return null;let n=kt(t,e);if(!n)return null;r.push({kind:3,child:n});continue}if(a.length===0){let e;try{e=a(),V.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}return null}if(o===`object`){if(t(a))return null;let e=a,n=Object.keys(e),o=[];for(let t=0;t<n.length;t++){let r=n[t],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=Pe(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 At(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.className=``)}break}case 1:case 2:r&&=r.nextSibling;break;case 3:if(!r)return;At(i.child,r),r=r.nextSibling;break}}}function jt(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:Fe(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({kind:1,node:n,fn:e,last:i});break}case 3:if(o!=null)return!1;break}}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||W(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({kind:0,node:n,fn:s,last:t}),a=n.nextSibling;break}case 3:{let e=W(s);if(e===void 0||G(s)!==o.child.tag||!a||!jt(o.child,e,a,r))return!1;a=a.nextSibling;break}case 4:if(s!=null)return!1;break}}return!0}function Mt(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;w(n),r.push({kind:1,node:n,fn:s,last: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;C(e),r.push({kind:0,node:e,fn:s,last:e.nodeValue??``}),a=e.nextSibling;break}case 3:{let e=W(s);if(e===void 0||G(s)!==o.child.tag||!a||!Mt(o.child,e,a,r))return!1;a=a.nextSibling;break}case 4:if(s!=null)return!1;break}}return!0}function Nt(e){for(let t=0;t<e.length;t++){let n=e[t],r;try{r=n.fn()}catch{continue}if(n.kind===0){let e=r==null||typeof r==`object`||typeof r==`function`?``:String(r);e!==n.last&&(n.node.nodeValue=e,n.last=e)}else{let e=r?String(r):``;e!==n.last&&(n.node.className=e,n.last=e)}}}function Pt(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}const J=new Set,Ft=new WeakMap,It=typeof FinalizationRegistry<`u`?new FinalizationRegistry(e=>{J.delete(e)}):null;let Y=0;function Lt(e,t){let n=new WeakRef(e);J.add(n),Ft.set(e,t),It?.register(e,n)}function Rt(e){return Array.isArray(e)?e:Array.from(e)}function zt(e){if(typeof e!=`object`||!e)return!1;let t=e.element;return!!t&&typeof Node<`u`&&t instanceof Node}function Bt(e,t,n){let r=e.renderItem(t,n);return zt(r)?(e.lastRenderRefresh=typeof r.update==`function`?r.update:null,r.element):q(r,e.host,n)}function Vt(e,t,n){e.lastRenderLeaves=null,e.lastRenderRefresh=null;let r=e.template,i=c&&!I()&&!Ye(),a=r&&i?ht(e.renderItem,t,n):e.renderItem(t,n);if(zt(a))return e.lastRenderRefresh=typeof a.update==`function`?a.update:null,a.element;if(r!==null&&i){let i=W(a);if(i!==void 0){if(r===void 0){let t=G(a),r=t?kt(t,i):null,o=q(a,e.host,n);if(r&&o){let t=o.cloneNode(!0);At(r,t);let n=[];if(Mt(r,i,o,n))n.length>0&&(e.lastRenderLeaves=n);else 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=[];return jt(r.tmpl,i,o,s)?(s.length>0&&(e.lastRenderLeaves=s),o):(e.template=null,Bt(e,t,n))}else if(r===void 0)e.template=null;else return e.template=null,Bt(e,t,n)}return q(a,e.host,n)}function X(e){A(e.element)}function Ht(e,t,n,r){if(n.parentNode!==t||r.parentNode!==t)return!1;if(c&&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 Ut(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 Wt(e,t,n,r,i,a,o){let s=ce(),c=0;for(let l=r;l<i;l++){let r=n[l],i=Vt(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});let d=i;s?(s.appendChild(d),c++):t.insertBefore(d,a)}s&&c>0&&t.insertBefore(s,a)}function Gt(e){let{startMarker:t,endMarker:n}=e,r=t.parentNode??e.host,i=Rt(e.itemsProvider());if(Pt(e.lastSyncedItems,i))return;let a=e.records,o=a.length,s=i.length;if(s===0){if(o>0&&!Ht(a,r,t,n))for(let e=0;e<o;e++)X(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)Wt(e,r,i,m,h,t,a),e.allRecordsCreatedAt=o===0?e.currentFlushEpoch:void 0;else{let n=[];Wt(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++)X(a[e]);a.splice(f,p-f),e.allRecordsCreatedAt=void 0,e.lastSyncedItems=i.slice();return}let g=p-f,_=h-m,v=Array(_).fill(-1),y=new Uint8Array(g),b=0,ee=Math.min(p,h);for(let e=c;e<ee;e++)a[e].item===i[e]&&(v[e-m]=e,y[e-f]=1,b++);let x=new Map;for(let e=f;e<p;e++){if(y[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<_;e++){if(v[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.shift(),t.length===0&&x.delete(i[m+e])),v[e]=n,y[n-f]=1,b++}if(b===0&&f===0&&p===o){if(!Ht(a,r,t,n))for(let e=0;e<o;e++)X(a[e]);let c=[];Wt(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++)y[e-f]||X(a[e]);let S=null;if(b>0){let e=[],t=[];for(let n=0;n<_;n++)v[n]!==-1&&(e.push(v[n]),t.push(n));S=new Uint8Array(_);let n=Ut(e);for(let e=0;e<n.length;e++)S[t[n[e]]]=1}let C=Array(_),w=0,T=p<o?a[p].element:n,E=null;for(let t=_-1;t>=0;t--){let n=v[t];if(n===-1){let n=i[m+t],a=Vt(e,n,m+t);if(!a){C[t]=null,w++;continue}let o=e.lastRenderLeaves;C[t]={item:n,element:a,dyn:o,refresh:e.lastRenderRefresh,dynCreatedAt:o?e.currentFlushEpoch:void 0};let s=a;E||=ce(),E?E.insertBefore(s,E.firstChild):(r.insertBefore(s,T),T=s);continue}let o=a[n];C[t]=o;let s=o.element;if(E&&E.firstChild){let e=E.firstChild;r.insertBefore(E,T),T=e,E=null}(!S||!S[t])&&r.insertBefore(s,T),T=s}E&&E.firstChild&&r.insertBefore(E,T);let D=Array(f+(_-w)+(o-p)),O=0;for(let e=0;e<f;e++)D[O++]=a[e];for(let e=0;e<_;e++){let t=C[e];t&&(D[O++]=t)}for(let e=p;e<o;e++)D[O++]=a[e];e.records=D,e.allRecordsCreatedAt=void 0,e.lastSyncedItems=i.slice()}function Kt(e,t,n,r){return I()?Jt(e,t,n,r):qt(e,t,n,r)}function qt(e,t,n,r){let{start:i,end:a}=pe(`list`,r),o={itemsProvider:e,renderItem:t,startMarker:i,endMarker:a,records:[],host:n,lastSyncedItems:[]},s=n;return s.appendChild(i),s.appendChild(a),Gt(o),c&&Lt(i,o),o}function Jt(e,t,n,r){let i=n;z(i);let a=L(i);if(!a||a.nodeType!==8||!a.textContent?.startsWith(`list-start-`))return qt(e,t,n,r);let o=B(i),s=0,l=L(i);for(;l;){if(l.nodeType===8){let e=l.textContent||``;if(e.startsWith(`list-start-`))s++;else if(e===`list-end`){if(s===0)break;s--}}l=l.nextSibling}let u=l;if(!u){let e=j(`list-end`);e&&(i.insertBefore(e,o.nextSibling),u=e)}if(!u)return qt(e,t,n,r);let d=Rt(e()),f=[];for(let e=0;e<d.length;e++){let r=t(d[e],e),i=zt(r)?r:null,a=i?i.element:q(r,n,e);a&&f.push({item:d[e],element:a,refresh:i&&typeof i.update==`function`?i.update:void 0})}let p=L(i);for(;p&&p!==u;){let e=p.nextSibling;A(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}R(i,u.nextSibling);let h={itemsProvider:e,renderItem:t,startMarker:o,endMarker:u,records:f,host:n,lastSyncedItems:d.slice()};return c&&Lt(o,h),h}function Yt(e){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 Xt(e){let t=[];Y++;for(let n of J){let r=n.deref();if(!r){t.push(n);continue}let i=Ft.get(r);if(!i){t.push(n);continue}if(!M(r)||!M(i.endMarker)){Yt(i),Ft.delete(r),t.push(n);continue}if(e&&!e.contains(r))continue;i.currentFlushEpoch=Y;try{Gt(i)}finally{i.currentFlushEpoch=void 0}if(i.allRecordsCreatedAt===Y)continue;let a=i.records;for(let e=0;e<a.length;e++){if(a[e].dynCreatedAt===Y)continue;let t=a[e].refresh;t&&t();let n=a[e].dyn;n&&Nt(n)}}for(let e of t)J.delete(e)}function Zt(e,t){return function(n,r){return Kt(e,t,n,r).startMarker}}function Qt(e,t){try{return e()}catch(e){if(t)return t(e),!1;throw e}}function $t(e,t){return typeof e==`function`?Qt(e,t):!!e}const en=new Set,tn=new WeakMap,nn=typeof FinalizationRegistry<`u`?new FinalizationRegistry(e=>{en.delete(e)}):null;function rn(e,t){for(let t=0;t<e.length;t++)if($t(e[t].condition))return t;return t.length>0?-1:null}function an(e){let{groups:t,elseContent:n,host:r,index:i,endMarker:a}=e,o=rn(t,n);o!==e.activeIndex&&(me(e.startMarker,e.endMarker),e.activeIndex=o,o!==null&&he(ln(o>=0?t[o].content:n,r,i,a),a))}function on(e){let t=new WeakRef(e.startMarker);en.add(t),tn.set(e.startMarker,e),nn?.register(e.startMarker,t)}function sn(e){let t=[];for(let n of en){let r=n.deref();if(r===void 0){t.push(n);continue}let i=tn.get(r);if(!i){t.push(n);continue}if(!M(r)||!M(i.endMarker)){tn.delete(r),t.push(n);continue}if(!(e&&!e.contains(r)))try{i.update()}catch(e){s(`when() branch threw during update; unregistering this conditional`,e),tn.delete(r),t.push(n)}}for(let e of t)en.delete(e)}function cn(e,t,n,r){return a(e)?o(e)?(V.delete(e),H(t,e,n)):ye(t,r,()=>{let r=H(t,e,n);return r&&!r.parentNode?r:null}):H(t,e,n)}function ln(e,t,n,r){let i=[];for(let a of e){let e=cn(a,t,n,r);e&&i.push(e)}return i}function un(e,t){return`when-start-${e}-b${t===null?`n`:t}`}function dn(e){let t=/-b(n|-?\d+)$/.exec(e||``);if(t)return t[1]===`n`?null:parseInt(t[1],10)}var fn=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?I()?this.hydrateRender(e,t):this.freshRender(e,t):null}freshRender(e,t){let{start:n,end:r}=pe(`when`,t),i=this.createRuntimeFromMarkers(e,t,n,r),a=ve(e);return a.appendChild(n),a.appendChild(r),an(i),n.textContent=un(t,i.activeIndex),n}hydrateRender(e,t){let n=e;z(n);let r=L(n);if(!r||r.nodeType!==8||!r.textContent?.startsWith(`when-start-`))return this.freshRender(e,t);let i=B(n),a=0,o=L(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=j(`when-end`);if(!e)return i;n.insertBefore(e,i.nextSibling),s=e,c=!0}let l=rn(this.groups,this.elseContent),u=dn(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)H(e,r,t)}}else if(me(i,s),l!==null){let n=l>=0?this.groups[l].content:this.elseContent,r=s;Qe(()=>{he(ln(n,e,t,r),r)})}return R(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(){an(a)}};return c&&on(a),a}};function pn(e){return Object.assign(function(t,n){return e.render(t,n)},{when:function(t,...n){return pn(e.cloneWith({condition:t,content:n}))},else:function(...t){return pn(e.cloneWith(void 0,t))}})}function mn(e,...t){return pn(new fn(e,...t))}function hn(e){try{return e.isSvg?_t(e.tagName,e.modifiers):gt(e.tagName,e.modifiers)}catch(t){if(s(`Error applying modifiers in conditional element "${e.tagName}"`,t),e.isSvg){let n=se(ae,e.tagName);if(!n)throw Error(`Failed to create SVG element: ${e.tagName}`,{cause:t});return n}let n=oe(e.tagName);if(!n)throw Error(`Failed to create element: ${e.tagName}`,{cause:t});return n}}function gn(e){let t=ie(e);if(!t)return;let n=Qt(t.condition,e=>{s(`Error evaluating conditional condition`,e)}),r=e.nodeType===Node.ELEMENT_NODE;if(n&&!r){let n=hn(t);te(n,t),_e(e,n)}else if(!n&&r){let n=fe(t.tagName);n&&(te(n,t),_e(e,n))}}function _n(e){if(c)try{let t=re();for(let n of t){if(!n.isConnected){ne(n);continue}e&&!e.contains(n)||gn(n)}}catch(e){s(`Error during conditional elements update`,e)}}const vn=new Map;function yn(e){let t=[],n=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 bn(e,t){let n=vn.get(e);n||(n=new Set,vn.set(e,n)),n.add(new WeakRef(t))}function xn(e){let t=yn(e);if(t.length===0)return[];let n=new Set;for(let e of t){let t=vn.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(!M(t)){r.push(e);continue}n.add(t)}for(let e of r)t.delete(e);t.size===0&&vn.delete(e)}return Array.from(n)}function Sn(...e){let t=yn(e);return function(e){if(c&&e instanceof Element)for(let n of t)bn(n,e)}}const Cn=[Xt,sn,_n,Ae,Ge,Tn];function wn(...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 Cn)e(t)}function Tn(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){s(`Error dispatching global update event`,e)}}function En(e,t,n=0){let r=t||document.body,i=e(r,n);return r.appendChild(i),i}function Dn(e,t){let n=t||document.body,r=n;Xe();try{let t=e(n,0),i=t;if(i&&i.nodeType===1&&i.parentNode!==r){let e=L(r);if(e){let t=e.nextSibling;r.insertBefore(i,e),A(e),R(r,t)}else r.appendChild(i),R(r,null)}return t}finally{Ze()}}function On(){return{ssrCollector:null,atomCache:new Map,atomMeta:new Map,rawKeys:new Set,baseRules:[],queryRules:new Map,styleEpoch:0,cssTextCache:null,sheet:null,sheetDocument:null,baseRuleCount:0,groupRules:new Map,externalRules:null,hasExternalGroups:!1}}const kn=Symbol.for(`nuclo.style.engine.v1`),An=globalThis,Z=An[kn]??(An[kn]=On());function jn(e){Z.ssrCollector=e}function Mn(e){for(let t of e)Z.queryRules.has(t)||Z.queryRules.set(t,[])}function Nn(e,t){try{let n=e.cssRules.length;e.insertRule(t+`{}`,n);let r=e.cssRules[n];return Z.groupRules.set(t,r),Z.groupRules.set(Q(r),r),r}catch{return null}}function Q(e){let t=e.cssText,n=t.indexOf(`{`);return(n===-1?t:t.slice(0,n)).trim()}function Pn(e){return e instanceof CSSStyleRule?e.selectorText:Q(e)}function Fn(e,t){return(e===void 0?`-`:`+`+e.length+`:`+e)+t.length+`:`+t}function In(e,t){if(!Z.externalRules)return;let n=Fn(t,Pn(e)),r=Z.externalRules.get(n);r||(r=new Set,Z.externalRules.set(n,r)),r.add(e.cssText)}function Ln(e,t){if(!Z.externalRules)return!1;let n=Fn(t,Pn(e)),r=Z.externalRules.get(n);return r?.delete(e.cssText)?(r.size===0&&Z.externalRules.delete(n),Z.externalRules.size===0&&(Z.externalRules=null),!0):!1}function Rn(e){for(let t=0;t<e.length;t++){let n=e[t];if(n instanceof CSSStyleRule){In(n,void 0);continue}let r=Q(n);if(`cssRules`in n&&!r.startsWith(`@keyframes`)){let e=n;Z.hasExternalGroups=!0,Z.groupRules.set(r,e);for(let t=0;t<e.cssRules.length;t++)In(e.cssRules[t],r)}else In(n,void 0)}}function zn(e,t){try{e.insertRule(t,Z.baseRuleCount);let n=e.cssRules[Z.baseRuleCount];if(Ln(n,void 0)){e.deleteRule(Z.baseRuleCount);return}Z.baseRuleCount++}catch{}}function Bn(e,t){try{let n=e.cssRules.length;e.insertRule(t,n);let r=e.cssRules[n];Ln(r,Q(e))&&e.deleteRule(n)}catch{}}function Vn(e,t){let n=Z.groupRules.get(t);if(n)return n;if(!Z.hasExternalGroups)return Nn(e,t);try{let n=e.cssRules.length;e.insertRule(t+`{}`,n);let r=Q(e.cssRules[n]);e.deleteRule(n);let i=Z.groupRules.get(r);if(i)return Z.groupRules.set(t,i),i}catch{return null}return Nn(e,t)}function Hn(){if(typeof document>`u`||typeof document.getElementById!=`function`)return null;if(Z.sheet&&Z.sheetDocument===document&&Z.sheet.ownerNode&&Z.sheet.ownerNode.isConnected)return Z.sheet;let e=document.getElementById(`nuclo-styles`),t;if(e?.tagName===`STYLE`?t=e:(t=document.createElement(`style`),t.id=`nuclo-styles`,e?e.replaceWith(t):document.head.appendChild(t)),Z.sheet=t.sheet,Z.sheetDocument=document,Z.groupRules.clear(),Z.baseRuleCount=0,Z.externalRules=null,Z.hasExternalGroups=!1,!Z.sheet)return null;if(Z.sheet.cssRules.length>0){let e=0;for(;e<Z.sheet.cssRules.length;){let t=Z.sheet.cssRules[e];if(!(t instanceof CSSStyleRule)&&`cssRules`in t&&!Q(t).startsWith(`@keyframes`))break;e++}Z.baseRuleCount=e,Z.externalRules=new Map,Rn(Z.sheet.cssRules)}for(let e of Z.baseRules)zn(Z.sheet,e);for(let[e,t]of Z.queryRules){let n=Vn(Z.sheet,e);if(n)for(let e of t)Bn(n,e)}return Z.sheet}function Un(e,t){let n=Hn();if(t===void 0)Z.baseRules.push(e);else{let n=Z.queryRules.get(t);n||(n=[],Z.queryRules.set(t,n)),n.push(e)}if(Z.cssTextCache=null,n)if(t===void 0)zn(n,e);else{let r=Vn(n,t);r&&Bn(r,e)}Z.ssrCollector?.(t===void 0?e:t+`{`+e+`}`)}function Wn(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 Gn(e,t){return(e===void 0?`-`:`+`+e.length+`:`+e)+t.length+`:`+t}function Kn(e,t){return e+t.length+`:`+t}function qn(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 Jn(e,t){let n=`.`+e;return n+qn(t,n)}function Yn(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 Xn(e,t,n,r,i=!1){let a=``,o=Gn(e,t);for(let[e,t]of n)a+=(a?`;`:``)+e+`:`+t,o=Kn(Kn(o,e),t);r!==void 0&&!Yn(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`+Kn(``,r)+o,c=Z.atomCache.get(s);return c===void 0?(r===void 0?c=`n`+Wn(s):(c=i?r:r+`-`+Wn(s),Z.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.`)),Z.atomCache.set(s,c),Z.atomMeta.set(c,{query:e,suffix:t,decls:n,name:r}),Un(Jn(c,t)+`{`+a+`}`,e),c):(Hn(),c)}function Zn(e,t,n,r,i=!1){return Xn(e,t,n,r,i)}function Qn(e,t){let n=Z.atomMeta.get(e),r=Z.atomMeta.get(t);if(!n||!r)return t;let i=[...n.decls,...r.decls],a=new Map;for(let e=0;e<i.length;e++)a.set(i[e][0],e);let o=i.filter((e,t)=>a.get(e[0])===t);return Xn(n.query,n.suffix,o,n.name??r.name)}function $n(e){let t=Z.atomMeta.get(e);return t===void 0?void 0:Gn(t.query,t.suffix)}function er(){return Z.styleEpoch}function tr(e,t){if(Z.rawKeys.has(e)){Hn();return}Z.rawKeys.add(e),Un(t,void 0)}function nr(){if(Z.cssTextCache!==null)return Z.cssTextCache;let e=Z.baseRules.join(``);for(let[t,n]of Z.queryRules)n.length>0&&(e+=t+`{`+n.join(``)+`}`);return Z.cssTextCache=e,e}function rr(){Z.atomCache.clear(),Z.atomMeta.clear(),Z.rawKeys.clear(),Z.baseRules.length=0,Z.queryRules.clear(),Z.groupRules.clear(),Z.cssTextCache=null,Z.baseRuleCount=0,Z.sheet=null,Z.sheetDocument=null,Z.externalRules=null,Z.hasExternalGroups=!1,Z.styleEpoch++,typeof document<`u`&&document.getElementById(`nuclo-styles`)?.remove()}const ir={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`},ar={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`]},or={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`}},sr={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`},cr=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`]),lr=new Map;function ur(e){let t=lr.get(e);return t===void 0&&(t=e.replace(/[A-Z]/g,e=>`-`+e.toLowerCase()),lr.set(e,t)),t}function dr(e){return e.charCodeAt(0)===64?e:`@media `+e}function fr(e,t){return e!==void 0&&e.startsWith(`@media`)&&t.startsWith(`@media`)?e+` and`+t.slice(6):t}function pr(e,t){for(let n in t){let r=t[n],i=e[n];typeof r==`object`&&r&&!Array.isArray(r)&&typeof i==`object`&&i&&!Array.isArray(i)?e[n]=pr({...i},r):e[n]=r}return e}function mr(e){let t={className:e};return Object.defineProperty(t,"toString",{value:()=>e,enumerable:!1}),t}function hr(e,t){let n=$n(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,Qn(r,t))}function gr(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&&hr(t,e.slice(n,r)),n=r+1)}}function _r(e,t){for(let n of e)n&&(typeof n==`string`?gr(n,t):Array.isArray(n)?_r(n,t):gr(n.className,t))}function vr(...e){let t=new Map;_r(e,t);let n=``;for(let e of t.values())n+=(n?` `:``)+e;return mr(n)}function yr(e={}){let t=e.screens??{};Mn(Object.values(t).map(dr));let n=new WeakMap;function r(t,n){if(typeof n==`number`)return n===0||cr.has(t)?String(n):n+`px`;let r=sr[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=ir[c];if(e!==void 0){a(l,n,o+e,s);continue}let u=t[c];if(u!==void 0){a(l,fr(n,dr(u)),o,s);continue}let d=c.charCodeAt(0);if(d===38){a(l,n,qn(c,`&`+o).slice(1),s);continue}if(d===64){a(l,fr(n,c),o,s);continue}continue}if(l===!0){let e=or[c];if(e){let t=i(s,n,o).decls;for(let n in e)t.push([n,e[n]])}continue}let u=ar[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=ur(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 mr(``);let s=er(),c=n.get(i);if(c!==void 0&&c.epoch===s&&c.name===o)return c.result;let l=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(Zn(e.query,e.suffix,e.decls,o,t))}let d=mr(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=or[t];if(e)for(let t in e)n(t,e[t]);continue}let a=ar[t];if(a!==void 0)for(let e of a)n(e,r(e,i));else{let e=ur(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`+Wn(t);return tr(n,`@keyframes `+n+`{`+t+`}`),n}function l(e,t){let n=e+`{`+s(t)+`}`;tr(`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=new Map;return function(e){let l={};for(let n of r){let r=(e?e[n]:void 0)??i[n];r!=null&&(l[n]=t(r))}let u=``;for(let e of r){let t=l[e];u+=e.length+`:`+e,u+=t===void 0?`-`:`+`+t.length+`:`+t}let d=c.get(u);if(d)return d;let f={};a&&(f=pr(f,a));for(let e of r){let t=l[e];if(t!==void 0){let r=n[e][t];r&&(f=pr(f,r))}}for(let e of s){let t=!0;for(let n in e.conditions)if(l[n]!==e.conditions[n]){t=!1;break}t&&(f=pr(f,e.style))}let p=o(f);return c.set(u,p),p}}return{css:o,cx:vr,variants:u,keyframes:c,globalStyle:l,theme:e}}let br;function $(){return br??=yr({})}const xr=(e,t)=>typeof e==`string`?$().css(e,t):$().css(e),Sr=e=>$().variants(e),Cr=e=>$().keyframes(e),wr=(e,t)=>$().globalStyle(e,t);function Tr(){Ot();let e=globalThis;e.list=Zt,e.update=wn,e.when=mn,e.on=h,e.scope=Sn,e.render=En,e.hydrate=Dn,e.createCss=yr,e.css=xr,e.cx=vr,e.variants=Sr,e.keyframes=Cr,e.globalStyle=wr}Tr(),exports.HTML_TAGS=St,exports.SELF_CLOSING_TAGS=wt,exports.SVG_TAGS=Ct,exports.appendChildren=ge,exports.applyAttributes=P,exports.applyNodeModifier=H,exports.createComment=j,exports.createConditionalComment=fe,exports.createCss=yr,exports.createHtmlElementWithModifiers=gt,exports.createHtmlTagBuilder=bt,exports.createSvgElementWithModifiers=_t,exports.createSvgTagBuilder=xt,exports.css=xr,exports.cx=vr,exports.getCssText=nr,exports.globalStyle=wr,exports.hydrate=Dn,exports.initializeRuntime=Tr,exports.isBoolean=i,exports.isBrowser=c,exports.isFunction=a,exports.isNode=t,exports.isObject=n,exports.isPrimitive=e,exports.isTagLike=r,exports.isZeroArityFunction=o,exports.keyframes=Cr,exports.list=Zt,exports.on=h,exports.registerGlobalTagBuilders=Ot,exports.render=En,exports.replaceNodeSafely=_e,exports.resetStyles=rr,exports.scope=Sn,exports.setSSRCollector=jn,exports.update=wn,exports.variants=Sr,exports.when=mn;
2
- //# sourceMappingURL=nuclo.cjs.map