juxscript 1.1.11 → 1.1.14

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 (121) hide show
  1. package/lib/components/alert.d.ts +4 -0
  2. package/lib/components/alert.d.ts.map +1 -1
  3. package/lib/components/alert.js +6 -0
  4. package/lib/components/alert.ts +7 -0
  5. package/lib/components/badge.d.ts +1 -0
  6. package/lib/components/badge.d.ts.map +1 -1
  7. package/lib/components/badge.js +3 -0
  8. package/lib/components/badge.ts +4 -0
  9. package/lib/components/base/BaseComponent.d.ts +23 -9
  10. package/lib/components/base/BaseComponent.d.ts.map +1 -1
  11. package/lib/components/base/BaseComponent.js +12 -11
  12. package/lib/components/base/BaseComponent.ts +37 -11
  13. package/lib/components/base/FormInput.d.ts +4 -0
  14. package/lib/components/base/FormInput.d.ts.map +1 -1
  15. package/lib/components/base/FormInput.js +6 -0
  16. package/lib/components/base/FormInput.ts +7 -0
  17. package/lib/components/button.d.ts +1 -0
  18. package/lib/components/button.d.ts.map +1 -1
  19. package/lib/components/button.js +3 -0
  20. package/lib/components/button.ts +4 -0
  21. package/lib/components/card.d.ts +1 -0
  22. package/lib/components/card.d.ts.map +1 -1
  23. package/lib/components/card.js +3 -0
  24. package/lib/components/card.ts +4 -0
  25. package/lib/components/chart.d.ts +5 -1
  26. package/lib/components/chart.d.ts.map +1 -1
  27. package/lib/components/chart.js +21 -2
  28. package/lib/components/chart.ts +25 -2
  29. package/lib/components/code.d.ts +1 -0
  30. package/lib/components/code.d.ts.map +1 -1
  31. package/lib/components/code.js +3 -0
  32. package/lib/components/code.ts +4 -0
  33. package/lib/components/container.d.ts +1 -0
  34. package/lib/components/container.d.ts.map +1 -1
  35. package/lib/components/container.js +3 -0
  36. package/lib/components/container.ts +4 -0
  37. package/lib/components/dialog.d.ts +1 -0
  38. package/lib/components/dialog.d.ts.map +1 -1
  39. package/lib/components/dialog.js +3 -0
  40. package/lib/components/dialog.ts +4 -0
  41. package/lib/components/divider.d.ts +1 -0
  42. package/lib/components/divider.d.ts.map +1 -1
  43. package/lib/components/divider.js +3 -0
  44. package/lib/components/divider.ts +4 -0
  45. package/lib/components/dropdown.d.ts +1 -0
  46. package/lib/components/dropdown.d.ts.map +1 -1
  47. package/lib/components/dropdown.js +3 -0
  48. package/lib/components/dropdown.ts +4 -0
  49. package/lib/components/element.d.ts +1 -0
  50. package/lib/components/element.d.ts.map +1 -1
  51. package/lib/components/element.js +3 -0
  52. package/lib/components/element.ts +4 -0
  53. package/lib/components/grid.d.ts +1 -0
  54. package/lib/components/grid.d.ts.map +1 -1
  55. package/lib/components/grid.js +3 -0
  56. package/lib/components/grid.ts +4 -0
  57. package/lib/components/guard.d.ts +1 -0
  58. package/lib/components/guard.d.ts.map +1 -1
  59. package/lib/components/guard.js +3 -0
  60. package/lib/components/guard.ts +4 -0
  61. package/lib/components/heading.d.ts +1 -0
  62. package/lib/components/heading.d.ts.map +1 -1
  63. package/lib/components/heading.js +3 -0
  64. package/lib/components/heading.ts +4 -0
  65. package/lib/components/hero.d.ts +5 -0
  66. package/lib/components/hero.d.ts.map +1 -1
  67. package/lib/components/hero.js +57 -52
  68. package/lib/components/hero.ts +68 -68
  69. package/lib/components/icon.d.ts +1 -0
  70. package/lib/components/icon.d.ts.map +1 -1
  71. package/lib/components/icon.js +3 -0
  72. package/lib/components/icon.ts +4 -0
  73. package/lib/components/list.d.ts +1 -0
  74. package/lib/components/list.d.ts.map +1 -1
  75. package/lib/components/list.js +3 -0
  76. package/lib/components/list.ts +4 -0
  77. package/lib/components/loading.d.ts +1 -0
  78. package/lib/components/loading.d.ts.map +1 -1
  79. package/lib/components/loading.js +3 -0
  80. package/lib/components/loading.ts +4 -0
  81. package/lib/components/menu.d.ts +1 -0
  82. package/lib/components/menu.d.ts.map +1 -1
  83. package/lib/components/menu.js +3 -0
  84. package/lib/components/menu.ts +4 -0
  85. package/lib/components/modal.d.ts +1 -0
  86. package/lib/components/modal.d.ts.map +1 -1
  87. package/lib/components/modal.js +3 -0
  88. package/lib/components/modal.ts +4 -0
  89. package/lib/components/nav.d.ts +1 -0
  90. package/lib/components/nav.d.ts.map +1 -1
  91. package/lib/components/nav.js +3 -0
  92. package/lib/components/nav.ts +4 -0
  93. package/lib/components/paragraph.d.ts +1 -0
  94. package/lib/components/paragraph.d.ts.map +1 -1
  95. package/lib/components/paragraph.js +3 -0
  96. package/lib/components/paragraph.ts +4 -0
  97. package/lib/components/progress.d.ts +1 -0
  98. package/lib/components/progress.d.ts.map +1 -1
  99. package/lib/components/progress.js +3 -0
  100. package/lib/components/progress.ts +4 -0
  101. package/lib/components/sidebar.d.ts +1 -0
  102. package/lib/components/sidebar.d.ts.map +1 -1
  103. package/lib/components/sidebar.js +3 -0
  104. package/lib/components/sidebar.ts +4 -0
  105. package/lib/components/table.d.ts +1 -0
  106. package/lib/components/table.d.ts.map +1 -1
  107. package/lib/components/table.js +3 -0
  108. package/lib/components/table.ts +4 -0
  109. package/lib/components/tabs.d.ts +1 -0
  110. package/lib/components/tabs.d.ts.map +1 -1
  111. package/lib/components/tabs.js +3 -0
  112. package/lib/components/tabs.ts +4 -0
  113. package/lib/components/theme-toggle.d.ts +1 -0
  114. package/lib/components/theme-toggle.d.ts.map +1 -1
  115. package/lib/components/theme-toggle.js +3 -0
  116. package/lib/components/theme-toggle.ts +4 -0
  117. package/lib/components/tooltip.d.ts +1 -0
  118. package/lib/components/tooltip.d.ts.map +1 -1
  119. package/lib/components/tooltip.js +3 -0
  120. package/lib/components/tooltip.ts +4 -0
  121. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,WAAW,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,MAAO,SAAQ,aAAa,CAAC,WAAW,CAAC;IAClD,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,QAAQ,CAA4B;gBAEhC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAanD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI;IAKtD,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAYb,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CAkElC;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAEtE"}
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,aAAa;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,WAAW,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,MAAO,SAAQ,aAAa,CAAC,WAAW,CAAC;IAClD,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,QAAQ,CAA4B;gBAEhC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB;IAanD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKhC,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/B,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI;IAKtD,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAQb,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAQtC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CAkElC;AAED,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,MAAM,CAEtE"}
@@ -60,6 +60,9 @@ export class Dialog extends BaseComponent {
60
60
  }
61
61
  return this;
62
62
  }
63
+ update(prop, value) {
64
+ // No reactive updates needed
65
+ }
63
66
  /* ═════════════════════════════════════════════════════════════════
64
67
  * RENDER
65
68
  * ═════════════════════════════════════════════════════════════════ */
@@ -95,6 +95,10 @@ export class Dialog extends BaseComponent<DialogState> {
95
95
  return this;
96
96
  }
97
97
 
98
+ update(prop: string, value: any): void {
99
+ // No reactive updates needed
100
+ }
101
+
98
102
  /* ═════════════════════════════════════════════════════════════════
99
103
  * RENDER
100
104
  * ═════════════════════════════════════════════════════════════════ */
@@ -24,6 +24,7 @@ export declare class Divider extends BaseComponent<DividerState> {
24
24
  class(value: string): this;
25
25
  render(targetId?: string): this;
26
26
  renderTo(juxComponent: any): this;
27
+ update(prop: string, value: any): void;
27
28
  }
28
29
  export declare function divider(options?: DividerOptions): Divider;
29
30
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"divider.d.ts","sourceRoot":"","sources":["divider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,OAAQ,SAAQ,aAAa,CAAC,YAAY,CAAC;gBACxC,EAAE,GAAE,MAA2E,EAAE,OAAO,GAAE,cAAmB;IAWzH,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAIhD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI;IAKnD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAyB/B,QAAQ,CAAC,YAAY,EAAE,GAAG,GAAG,IAAI;CAMpC;AAGD,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAE7D"}
1
+ {"version":3,"file":"divider.d.ts","sourceRoot":"","sources":["divider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,cAAc;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,qBAAa,OAAQ,SAAQ,aAAa,CAAC,YAAY,CAAC;gBACxC,EAAE,GAAE,MAA2E,EAAE,OAAO,GAAE,cAAmB;IAWzH,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAIhD,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKzB,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,UAAU,GAAG,IAAI;IAKnD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAyB/B,QAAQ,CAAC,YAAY,EAAE,GAAG,GAAG,IAAI;IAOjC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;CAGzC;AAGD,wBAAgB,OAAO,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAE7D"}
@@ -62,6 +62,9 @@ export class Divider extends BaseComponent {
62
62
  }
63
63
  return this.render(`#${juxComponent._id}`);
64
64
  }
65
+ update(prop, value) {
66
+ // No reactive updates needed
67
+ }
65
68
  }
66
69
  // ✅ ID is now optional - auto-generated if not provided
67
70
  export function divider(options = {}) {
@@ -92,6 +92,10 @@ export class Divider extends BaseComponent<DividerState> {
92
92
  }
93
93
  return this.render(`#${juxComponent._id}`);
94
94
  }
95
+
96
+ update(prop: string, value: any): void {
97
+ // No reactive updates needed
98
+ }
95
99
  }
96
100
 
97
101
  // ✅ ID is now optional - auto-generated if not provided
@@ -33,6 +33,7 @@ export declare class Dropdown extends BaseComponent<DropdownState> {
33
33
  close(): this;
34
34
  toggle(): this;
35
35
  render(targetId?: string): this;
36
+ update(prop: string, value: any): void;
36
37
  }
37
38
  export declare function dropdown(id: string, options?: DropdownOptions): Dropdown;
38
39
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,aAAa,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,QAAS,SAAQ,aAAa,CAAC,aAAa,CAAC;IACtD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAA4B;gBAE7B,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAWrD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKjC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAKlC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI;IAKhF,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,IAAI;IAQd,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CAqFlC;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAE5E"}
1
+ {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["dropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,YAAY;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,QAAQ,CAAC,EAAE,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,aAAa,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,QAAS,SAAQ,aAAa,CAAC,aAAa,CAAC;IACtD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,KAAK,CAA4B;gBAE7B,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB;IAWrD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKjC,KAAK,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,IAAI;IAKlC,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,cAAc,GAAG,UAAU,GAAG,WAAW,GAAG,IAAI;IAKhF,IAAI,IAAI,IAAI;IAQZ,KAAK,IAAI,IAAI;IAQb,MAAM,IAAI,IAAI;IAQd,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAsF/B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;CAGzC;AAED,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,QAAQ,CAE5E"}
@@ -127,6 +127,9 @@ export class Dropdown extends BaseComponent {
127
127
  this._dropdown = wrapper;
128
128
  return this;
129
129
  }
130
+ update(prop, value) {
131
+ // No reactive updates needed
132
+ }
130
133
  }
131
134
  export function dropdown(id, options = {}) {
132
135
  return new Dropdown(id, options);
@@ -179,6 +179,10 @@ export class Dropdown extends BaseComponent<DropdownState> {
179
179
 
180
180
  return this;
181
181
  }
182
+
183
+ update(prop: string, value: any): void {
184
+ // No reactive updates needed
185
+ }
182
186
  }
183
187
 
184
188
  export function dropdown(id: string, options: DropdownOptions = {}): Dropdown {
@@ -36,6 +36,7 @@ export declare class Element extends BaseComponent<ElementState> {
36
36
  */
37
37
  append(child: any): Element;
38
38
  render(targetId?: string): this;
39
+ update(prop: string, value: any): void;
39
40
  }
40
41
  export declare function element(id: string, options?: ElementOptions): Element;
41
42
  export declare function header(id: string, options?: Omit<ElementOptions, 'tagType'>): Element;
@@ -1 +1 @@
1
- {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["element.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"element.d.ts","sourceRoot":"","sources":["element.ts"],"names":[],"mappings":"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"}
@@ -163,6 +163,9 @@ export class Element extends BaseComponent {
163
163
  this._element = element;
164
164
  return this;
165
165
  }
166
+ update(prop, value) {
167
+ // No reactive updates needed
168
+ }
166
169
  }
167
170
  export function element(id, options = {}) {
168
171
  return new Element(id, options);
@@ -214,6 +214,10 @@ export class Element extends BaseComponent<ElementState> {
214
214
 
215
215
  return this;
216
216
  }
217
+
218
+ update(prop: string, value: any): void {
219
+ // No reactive updates needed
220
+ }
217
221
  }
218
222
 
219
223
  export function element(id: string, options: ElementOptions = {}): Element {
@@ -78,6 +78,7 @@ export declare class Grid extends BaseComponent<GridState> {
78
78
  */
79
79
  create(config: GridCreateConfig): this;
80
80
  render(targetId?: string): this;
81
+ update(prop: string, value: any): void;
81
82
  }
82
83
  /**
83
84
  * Factory function
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,aAAa;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,gBAAgB;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,GAAG,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC7B,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IACtC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IACxB,OAAO,CAAC,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC;IACtC,IAAI,CAAC,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,SAAS,GAAG;IACb,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,QAAQ,EAAE;QACN,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,qBAAa,IAAK,SAAQ,aAAa,CAAC,SAAS,CAAC;gBAClC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAoBjD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAehD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK3B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKxB;;;OAGG;IACH,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,GAAG,IAAI;IAK5C;;;OAGG;IACH,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,GAAG,IAAI;IAKlD;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;IAI3C;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAK1D;;;OAGG;IACH,OAAO,CAAC,KAAK,GAAE,OAAc,GAAG,IAAI;IASpC;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAyCtC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CAwElC;AAYD;;GAEG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAEhE"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["grid.ts"],"names":[],"mappings":"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"}
@@ -187,6 +187,9 @@ export class Grid extends BaseComponent {
187
187
  container.appendChild(grid);
188
188
  return this;
189
189
  }
190
+ update(prop, value) {
191
+ // No reactive updates needed
192
+ }
190
193
  }
191
194
  /**
192
195
  * Normalize track configuration to array format
@@ -271,6 +271,10 @@ export class Grid extends BaseComponent<GridState> {
271
271
  container.appendChild(grid);
272
272
  return this;
273
273
  }
274
+
275
+ update(prop: string, value: any): void {
276
+ // No reactive updates needed
277
+ }
274
278
  }
275
279
 
276
280
  /**
@@ -35,6 +35,7 @@ export declare class Guard extends BaseComponent<GuardState> {
35
35
  protect(...paths: string[]): this;
36
36
  render(targetId?: string): this;
37
37
  deactivate(): this;
38
+ update(prop: string, value: any): void;
38
39
  }
39
40
  export declare function guard(id: string, options?: GuardOptions): Guard;
40
41
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAG/C,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;QACnE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAC7C;CACJ;AAMD,MAAM,WAAW,YAAY;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,KAAK,UAAU,GAAG;IACd,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,KAAM,SAAQ,aAAa,CAAC,UAAU,CAAC;gBACpC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IAclD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhE,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IASjC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAK/B,UAAU,IAAI,IAAI;CAGrB;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,CAE/D"}
1
+ {"version":3,"file":"guard.d.ts","sourceRoot":"","sources":["guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAG/C,OAAO,CAAC,MAAM,CAAC;IACX,UAAU,MAAM;QACZ,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;QACnE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;KAC7C;CACJ;AAMD,MAAM,WAAW,YAAY;IACzB,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,KAAK,UAAU,GAAG;IACd,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;;;;GASG;AACH,qBAAa,KAAM,SAAQ,aAAa,CAAC,UAAU,CAAC;gBACpC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IAclD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,WAAW,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI;IAKhE,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI;IASjC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAK/B,UAAU,IAAI,IAAI;IAIlB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;CAGzC;AAED,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,CAE/D"}
@@ -50,6 +50,9 @@ export class Guard extends BaseComponent {
50
50
  deactivate() {
51
51
  return this;
52
52
  }
53
+ update(prop, value) {
54
+ // No reactive updates needed
55
+ }
53
56
  }
54
57
  export function guard(id, options) {
55
58
  return new Guard(id, options);
@@ -85,6 +85,10 @@ export class Guard extends BaseComponent<GuardState> {
85
85
  deactivate(): this {
86
86
  return this;
87
87
  }
88
+
89
+ update(prop: string, value: any): void {
90
+ // No reactive updates needed
91
+ }
88
92
  }
89
93
 
90
94
  export function guard(id: string, options?: GuardOptions): Guard {
@@ -15,6 +15,7 @@ export declare class Heading extends BaseComponent<HeadingState> {
15
15
  constructor(id: string, options?: HeadingOptions);
16
16
  protected getTriggerEvents(): readonly string[];
17
17
  protected getCallbackEvents(): readonly string[];
18
+ update(prop: string, value: any): void;
18
19
  level(value: 1 | 2 | 3 | 4 | 5 | 6): this;
19
20
  content(value: string): this;
20
21
  render(targetId?: string): this;
@@ -1 +1 @@
1
- {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["heading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG;IAChB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,OAAQ,SAAQ,aAAa,CAAC,YAAY,CAAC;gBACxC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB;IASpD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAahD,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;IAKzC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS5B,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CA8BlC;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAEzE"}
1
+ {"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["heading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,cAAc;IAC3B,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,KAAK,YAAY,GAAG;IAChB,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,qBAAa,OAAQ,SAAQ,aAAa,CAAC,YAAY,CAAC;gBACxC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB;IASpD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAIhD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAatC,KAAK,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI;IAKzC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAS5B,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CA8BlC;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,cAAmB,GAAG,OAAO,CAEzE"}
@@ -17,6 +17,9 @@ export class Heading extends BaseComponent {
17
17
  getCallbackEvents() {
18
18
  return CALLBACK_EVENTS;
19
19
  }
20
+ update(prop, value) {
21
+ // No reactive updates needed
22
+ }
20
23
  /* ═════════════════════════════════════════════════════════════════
21
24
  * FLUENT API
22
25
  * ═════════════════════════════════════════════════════════════════ */
@@ -36,6 +36,10 @@ export class Heading extends BaseComponent<HeadingState> {
36
36
  return CALLBACK_EVENTS;
37
37
  }
38
38
 
39
+ update(prop: string, value: any): void {
40
+ // No reactive updates needed
41
+ }
42
+
39
43
  /* ═════════════════════════════════════════════════════════════════
40
44
  * FLUENT API
41
45
  * ═════════════════════════════════════════════════════════════════ */
@@ -37,6 +37,11 @@ export declare class Hero extends BaseComponent<HeroState> {
37
37
  constructor(id: string, options?: HeroOptions);
38
38
  protected getTriggerEvents(): readonly string[];
39
39
  protected getCallbackEvents(): readonly string[];
40
+ /**
41
+ * Called automatically by BaseComponent when state changes.
42
+ * Centralizes DOM manipulation so setters don't have to drill/repeat logic.
43
+ */
44
+ update(prop: string, value: any): void;
40
45
  title(value: string): this;
41
46
  subtitle(value: string): this;
42
47
  content(value: string): this;
@@ -1 +1 @@
1
- {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["hero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,IAAK,SAAQ,aAAa,CAAC,SAAS,CAAC;gBACpC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAqBjD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKxB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAatF,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKvC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAS9B,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CA6GhC;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAEhE"}
1
+ {"version":3,"file":"hero.d.ts","sourceRoot":"","sources":["hero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAMxD,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,KAAK,SAAS,GAAG;IACf,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,IAAK,SAAQ,aAAa,CAAC,SAAS,CAAC;gBACpC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAoBjD,SAAS,CAAC,gBAAgB,IAAI,SAAS,MAAM,EAAE;IAI/C,SAAS,CAAC,iBAAiB,IAAI,SAAS,MAAM,EAAE;IAQhD;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IA+CtC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAKxB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAatF,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAKvC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK5B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAS9B,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;CAuEhC;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,IAAI,CAEhE"}
@@ -1,23 +1,22 @@
1
1
  import { BaseComponent } from './base/BaseComponent.js';
2
2
  // Event definitions - Hero is display-only, but CTA button can trigger actions
3
3
  const TRIGGER_EVENTS = [];
4
- const CALLBACK_EVENTS = ['ctaClick']; // ✅ When CTA button is clicked
4
+ const CALLBACK_EVENTS = ['ctaClick'];
5
5
  export class Hero extends BaseComponent {
6
6
  constructor(id, options = {}) {
7
- // Normalize backgroundImage to object format
8
7
  const bgImage = typeof options.backgroundImage === 'string'
9
8
  ? { url: options.backgroundImage, size: 'cover', repeat: 'no-repeat' }
10
9
  : options.backgroundImage || { url: '', size: 'cover', repeat: 'no-repeat' };
11
10
  super(id, {
12
11
  title: options.title ?? '',
13
12
  subtitle: options.subtitle ?? '',
14
- content: options.content ?? '', // ✅ ADD
13
+ content: options.content ?? '',
15
14
  cta: options.cta ?? '',
16
15
  ctaLink: options.ctaLink ?? '#',
17
16
  backgroundImage: { url: bgImage.url, size: bgImage.size || 'cover', repeat: bgImage.repeat || 'no-repeat' },
18
- backgroundOverlay: options.backgroundOverlay ?? false, // ✅ ADD
17
+ backgroundOverlay: options.backgroundOverlay ?? false,
19
18
  variant: options.variant ?? 'default',
20
- centered: options.centered ?? false, // ✅ ADD
19
+ centered: options.centered ?? false,
21
20
  style: options.style ?? '',
22
21
  class: options.class ?? ''
23
22
  });
@@ -29,10 +28,60 @@ export class Hero extends BaseComponent {
29
28
  return CALLBACK_EVENTS;
30
29
  }
31
30
  /* ═════════════════════════════════════════════════════════════════
32
- * FLUENT API
31
+ * REACTIVE DOM UPDATES
32
+ * ═════════════════════════════════════════════════════════════════ */
33
+ /**
34
+ * Called automatically by BaseComponent when state changes.
35
+ * Centralizes DOM manipulation so setters don't have to drill/repeat logic.
36
+ */
37
+ update(prop, value) {
38
+ const hero = document.getElementById(this._id);
39
+ if (!hero)
40
+ return; // Component not mounted/rendered yet
41
+ switch (prop) {
42
+ case 'title':
43
+ const titleEl = document.getElementById(`${this._id}-title`);
44
+ if (titleEl)
45
+ titleEl.textContent = value;
46
+ break;
47
+ case 'subtitle':
48
+ const subtitleEl = document.getElementById(`${this._id}-subtitle`);
49
+ if (subtitleEl)
50
+ subtitleEl.textContent = value;
51
+ break;
52
+ case 'content':
53
+ const contentEl = hero.querySelector('.jux-hero-body');
54
+ if (contentEl)
55
+ contentEl.innerHTML = value;
56
+ break;
57
+ case 'cta':
58
+ const ctaEl = hero.querySelector('.jux-hero-cta');
59
+ if (ctaEl)
60
+ ctaEl.textContent = value;
61
+ break;
62
+ case 'ctaLink':
63
+ const ctaLinkEl = hero.querySelector('.jux-hero-cta');
64
+ if (ctaLinkEl)
65
+ ctaLinkEl.href = value;
66
+ break;
67
+ case 'backgroundImage':
68
+ hero.style.backgroundImage = `url(${value.url})`;
69
+ hero.style.backgroundSize = value.size;
70
+ hero.style.backgroundRepeat = value.repeat;
71
+ break;
72
+ case 'centered':
73
+ if (value)
74
+ hero.classList.add('jux-hero-centered');
75
+ else
76
+ hero.classList.remove('jux-hero-centered');
77
+ break;
78
+ }
79
+ }
80
+ /* ═════════════════════════════════════════════════════════════════
81
+ * FLUENT API (Simplified - just updates state)
33
82
  * ═════════════════════════════════════════════════════════════════ */
34
83
  title(value) {
35
- this.state.title = value;
84
+ this.state.title = value; // Triggers update('title', value) via Proxy
36
85
  return this;
37
86
  }
38
87
  subtitle(value) {
@@ -136,41 +185,7 @@ export class Hero extends BaseComponent {
136
185
  }
137
186
  hero.appendChild(contentContainer);
138
187
  this._wireStandardEvents(hero);
139
- this._syncBindings.forEach(({ property, stateObj, toState, toComponent }) => {
140
- if (property === 'title') {
141
- const transform = toComponent || ((v) => String(v));
142
- stateObj.subscribe((val) => {
143
- const transformed = transform(val);
144
- const titleEl = document.getElementById(`${this._id}-title`);
145
- if (titleEl) {
146
- titleEl.textContent = transformed;
147
- }
148
- this.state.title = transformed;
149
- });
150
- }
151
- else if (property === 'subtitle') {
152
- const transform = toComponent || ((v) => String(v));
153
- stateObj.subscribe((val) => {
154
- const transformed = transform(val);
155
- const subtitleEl = document.getElementById(`${this._id}-subtitle`);
156
- if (subtitleEl) {
157
- subtitleEl.textContent = transformed;
158
- }
159
- this.state.subtitle = transformed;
160
- });
161
- }
162
- else if (property === 'content') {
163
- const transform = toComponent || ((v) => String(v));
164
- stateObj.subscribe((val) => {
165
- const transformed = transform(val);
166
- const contentEl = hero.querySelector('.jux-hero-body');
167
- if (contentEl) {
168
- contentEl.innerHTML = transformed;
169
- }
170
- this.state.content = transformed;
171
- });
172
- }
173
- });
188
+ this._wireAllSyncs(); // Use base method
174
189
  container.appendChild(hero);
175
190
  return this;
176
191
  }
@@ -178,13 +193,3 @@ export class Hero extends BaseComponent {
178
193
  export function hero(id, options = {}) {
179
194
  return new Hero(id, options);
180
195
  }
181
- // String format (backward compatible)
182
- hero('h1').backgroundImage('/hero.jpg');
183
- // Object format with defaults
184
- hero('h2').backgroundImage({ url: '/hero.jpg' });
185
- // Object format with custom values
186
- hero('h3').backgroundImage({
187
- url: '/pattern.png',
188
- size: 'contain',
189
- repeat: 'repeat'
190
- });