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,44 +0,0 @@
1
- import type { WhenCondition, WhenContent } from "./runtime";
2
- export { updateWhenRuntimes } from "./runtime";
3
- /**
4
- * Creates a conditional rendering block (when/else logic).
5
- *
6
- * Renders different content based on boolean conditions, similar to if/else statements.
7
- * Conditions can be static booleans or reactive functions that are re-evaluated on updates.
8
- *
9
- * @param condition - Boolean value or function returning a boolean
10
- * @param content - Content to render when condition is true
11
- * @returns A builder that allows chaining additional .when() or .else() branches
12
- *
13
- * @example
14
- * ```ts
15
- * const isLoggedIn = signal(false);
16
- *
17
- * div(
18
- * when(() => isLoggedIn.value,
19
- * span('Welcome back!')
20
- * )
21
- * .else(
22
- * button('Login', on('click', () => login()))
23
- * )
24
- * )
25
- * ```
26
- *
27
- * @example
28
- * ```ts
29
- * // Multiple conditions
30
- * div(
31
- * when(() => status.value === 'loading',
32
- * spinner()
33
- * )
34
- * .when(() => status.value === 'error',
35
- * errorMessage()
36
- * )
37
- * .else(
38
- * contentView()
39
- * )
40
- * )
41
- * ```
42
- */
43
- export declare function when<TTagName extends ElementTagName = ElementTagName>(condition: WhenCondition, ...content: WhenContent<TTagName>[]): WhenBuilder<TTagName>;
44
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/when/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,IAAI,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc,EACnE,SAAS,EAAE,aAAa,EACxB,GAAG,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,GAClC,WAAW,CAAC,QAAQ,CAAC,CAGvB"}
@@ -1,59 +0,0 @@
1
- import type { UpdateScope } from "../update/scope";
2
- export type WhenCondition = boolean | (() => boolean);
3
- export type WhenContent<TTagName extends ElementTagName = ElementTagName> = NodeModLike<TTagName>;
4
- export interface WhenGroup<TTagName extends ElementTagName = ElementTagName> {
5
- condition: WhenCondition;
6
- content: WhenContent<TTagName>[];
7
- }
8
- export interface WhenRuntime<TTagName extends ElementTagName = ElementTagName> {
9
- startMarker: Comment;
10
- endMarker: Comment;
11
- host: ExpandedElement<TTagName>;
12
- index: number;
13
- groups: WhenGroup<TTagName>[];
14
- elseContent: WhenContent<TTagName>[];
15
- /**
16
- * Tracks which branch is currently rendered:
17
- * - null: nothing rendered yet (initial state)
18
- * - -1: else branch is active
19
- * - >= 0: groups[activeIndex] is active
20
- */
21
- activeIndex: number | null;
22
- update(): void;
23
- }
24
- /**
25
- * Evaluates which condition branch should be active.
26
- * Returns the index of the first truthy condition, -1 for else branch, or null for no match.
27
- */
28
- export declare function evaluateActiveCondition<TTagName extends ElementTagName>(groups: ReadonlyArray<WhenGroup<TTagName>>, elseContent: ReadonlyArray<WhenContent<TTagName>>): number | null;
29
- /**
30
- * Main render function for when/else conditionals.
31
- * Evaluates conditions, clears old content, and renders the active branch.
32
- */
33
- export declare function renderWhenContent<TTagName extends ElementTagName>(runtime: WhenRuntime<TTagName>): void;
34
- /**
35
- * Registers a when runtime for tracking and updates.
36
- * Uses WeakRef to prevent memory leaks when elements are removed.
37
- * The runtime object itself is mutable and will be updated in place.
38
- */
39
- export declare function registerWhenRuntime<TTagName extends ElementTagName>(runtime: WhenRuntime<TTagName>): void;
40
- /**
41
- * Updates all active when/else conditional runtimes.
42
- *
43
- * Re-evaluates all conditional branches and re-renders if the active branch has changed.
44
- * Automatically cleans up runtimes that are garbage collected or disconnected from DOM.
45
- *
46
- * This function should be called after state changes that affect conditional expressions.
47
- *
48
- * @example
49
- * ```ts
50
- * isLoggedIn.value = true;
51
- * updateWhenRuntimes(); // All when() conditionals re-evaluate
52
- * ```
53
- */
54
- export declare function updateWhenRuntimes(scope?: UpdateScope): void;
55
- /**
56
- * Renders a list of content items and collects the resulting nodes.
57
- */
58
- export declare function renderContentItems<TTagName extends ElementTagName>(items: ReadonlyArray<WhenContent<TTagName>>, host: ExpandedElement<TTagName>, index: number, endMarker: Comment): Node[];
59
- //# sourceMappingURL=runtime.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/when/runtime.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAKnD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;AACtD,MAAM,MAAM,WAAW,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc,IACtE,WAAW,CAAC,QAAQ,CAAC,CAAC;AAExB,MAAM,WAAW,SAAS,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IACzE,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;CAClC;AAED,MAAM,WAAW,WAAW,CAAC,QAAQ,SAAS,cAAc,GAAG,cAAc;IAC3E,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC9B,WAAW,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;IACrC;;;;;OAKG;IACH,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,IAAI,IAAI,CAAC;CAChB;AAmBD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,SAAS,cAAc,EACrE,MAAM,EAAE,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAC1C,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,GAChD,MAAM,GAAG,IAAI,CAOf;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,SAAS,cAAc,EAC/D,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,GAC7B,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,SAAS,cAAc,EACjE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC,GAC7B,IAAI,CAKN;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,CAAC,EAAE,WAAW,GAAG,IAAI,CA0C5D;AA8BD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,SAAS,cAAc,EAChE,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAC3C,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,EAC/B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,OAAO,GACjB,IAAI,EAAE,CASR"}