@geajs/ui 0.2.3 → 0.2.9

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 (170) hide show
  1. package/dist/accordion.d.mts +2 -2
  2. package/dist/accordion.mjs +92 -122
  3. package/dist/accordion.mjs.map +1 -1
  4. package/dist/alert.d.mts +3 -3
  5. package/dist/alert.mjs +45 -107
  6. package/dist/alert.mjs.map +1 -1
  7. package/dist/avatar.d.mts +2 -2
  8. package/dist/avatar.mjs +38 -62
  9. package/dist/avatar.mjs.map +1 -1
  10. package/dist/badge.d.mts +1 -1
  11. package/dist/badge.mjs +18 -43
  12. package/dist/badge.mjs.map +1 -1
  13. package/dist/bind.mjs +130 -0
  14. package/dist/bind.mjs.map +1 -0
  15. package/dist/button.d.mts +3 -2
  16. package/dist/button.mjs +30 -85
  17. package/dist/button.mjs.map +1 -1
  18. package/dist/card.d.mts +6 -6
  19. package/dist/card.mjs +82 -194
  20. package/dist/card.mjs.map +1 -1
  21. package/dist/checkbox.d.mts +2 -2
  22. package/dist/checkbox.mjs +30 -31
  23. package/dist/checkbox.mjs.map +1 -1
  24. package/dist/clipboard.d.mts +2 -2
  25. package/dist/clipboard.mjs +49 -55
  26. package/dist/clipboard.mjs.map +1 -1
  27. package/dist/collapsible.d.mts +2 -2
  28. package/dist/collapsible.mjs +18 -45
  29. package/dist/collapsible.mjs.map +1 -1
  30. package/dist/combobox.d.mts +2 -2
  31. package/dist/combobox.mjs +322 -261
  32. package/dist/combobox.mjs.map +1 -1
  33. package/dist/compiled-component.mjs +119 -0
  34. package/dist/compiled-component.mjs.map +1 -0
  35. package/dist/compiled-reactive-component.mjs +337 -0
  36. package/dist/compiled-reactive-component.mjs.map +1 -0
  37. package/dist/component-id.mjs +10 -0
  38. package/dist/component-id.mjs.map +1 -0
  39. package/dist/conditional-truthy.mjs +48 -0
  40. package/dist/conditional-truthy.mjs.map +1 -0
  41. package/dist/conditional.mjs +54 -0
  42. package/dist/conditional.mjs.map +1 -0
  43. package/dist/delegate-event.mjs +53 -0
  44. package/dist/delegate-event.mjs.map +1 -0
  45. package/dist/dialog.d.mts +4 -3
  46. package/dist/dialog.mjs +57 -70
  47. package/dist/dialog.mjs.map +1 -1
  48. package/dist/dirty-symbols.mjs +7 -0
  49. package/dist/dirty-symbols.mjs.map +1 -0
  50. package/dist/disposer.mjs +46 -0
  51. package/dist/disposer.mjs.map +1 -0
  52. package/dist/dnd-manager.d.mts +9 -1
  53. package/dist/dnd-manager.mjs +67 -29
  54. package/dist/dnd-manager.mjs.map +1 -1
  55. package/dist/drag-drop-context.d.mts +1 -1
  56. package/dist/drag-drop-context.mjs +17 -33
  57. package/dist/drag-drop-context.mjs.map +1 -1
  58. package/dist/draggable.d.mts +1 -1
  59. package/dist/draggable.mjs +2 -91
  60. package/dist/draggable2.mjs +321 -0
  61. package/dist/draggable2.mjs.map +1 -0
  62. package/dist/droppable.d.mts +1 -1
  63. package/dist/droppable.mjs +20 -44
  64. package/dist/droppable.mjs.map +1 -1
  65. package/dist/file-upload.d.mts +2 -2
  66. package/dist/file-upload.mjs +337 -122
  67. package/dist/file-upload.mjs.map +1 -1
  68. package/dist/hover-card.d.mts +2 -2
  69. package/dist/hover-card.mjs +24 -59
  70. package/dist/hover-card.mjs.map +1 -1
  71. package/dist/index.mjs +3 -3
  72. package/dist/input.d.mts +1 -1
  73. package/dist/input.mjs +1 -93
  74. package/dist/input2.mjs +56 -0
  75. package/dist/input2.mjs.map +1 -0
  76. package/dist/internal-symbols.mjs +9 -0
  77. package/dist/internal-symbols.mjs.map +1 -0
  78. package/dist/item-obs.mjs +68 -0
  79. package/dist/item-obs.mjs.map +1 -0
  80. package/dist/keyed-list-symbols.mjs +6 -0
  81. package/dist/keyed-list-symbols.mjs.map +1 -0
  82. package/dist/keyed-list.mjs +487 -0
  83. package/dist/keyed-list.mjs.map +1 -0
  84. package/dist/label.d.mts +1 -1
  85. package/dist/label.mjs +20 -45
  86. package/dist/label.mjs.map +1 -1
  87. package/dist/menu.d.mts +2 -2
  88. package/dist/menu.mjs +87 -41
  89. package/dist/menu.mjs.map +1 -1
  90. package/dist/number-input.d.mts +2 -2
  91. package/dist/number-input.mjs +28 -32
  92. package/dist/number-input.mjs.map +1 -1
  93. package/dist/pagination.d.mts +2 -2
  94. package/dist/pagination.mjs +12 -35
  95. package/dist/pagination.mjs.map +1 -1
  96. package/dist/patch.mjs +21 -0
  97. package/dist/patch.mjs.map +1 -0
  98. package/dist/pin-input.d.mts +2 -2
  99. package/dist/pin-input.mjs +88 -87
  100. package/dist/pin-input.mjs.map +1 -1
  101. package/dist/popover.d.mts +2 -2
  102. package/dist/popover.mjs +45 -67
  103. package/dist/popover.mjs.map +1 -1
  104. package/dist/progress.d.mts +2 -2
  105. package/dist/progress.mjs +37 -43
  106. package/dist/progress.mjs.map +1 -1
  107. package/dist/radio-group.d.mts +2 -2
  108. package/dist/radio-group.mjs +99 -140
  109. package/dist/radio-group.mjs.map +1 -1
  110. package/dist/rating-group.d.mts +2 -2
  111. package/dist/rating-group.mjs +91 -99
  112. package/dist/rating-group.mjs.map +1 -1
  113. package/dist/reactive-attr.mjs +13 -0
  114. package/dist/reactive-attr.mjs.map +1 -0
  115. package/dist/reactive-bool.mjs +13 -0
  116. package/dist/reactive-bool.mjs.map +1 -0
  117. package/dist/reactive-class-name.mjs +15 -0
  118. package/dist/reactive-class-name.mjs.map +1 -0
  119. package/dist/reactive-class.mjs +53 -0
  120. package/dist/reactive-class.mjs.map +1 -0
  121. package/dist/reactive-style.mjs +21 -0
  122. package/dist/reactive-style.mjs.map +1 -0
  123. package/dist/reactive-text.mjs +62 -0
  124. package/dist/reactive-text.mjs.map +1 -0
  125. package/dist/select.d.mts +2 -2
  126. package/dist/select.mjs +106 -186
  127. package/dist/select.mjs.map +1 -1
  128. package/dist/separator.d.mts +1 -1
  129. package/dist/separator.mjs +19 -45
  130. package/dist/separator.mjs.map +1 -1
  131. package/dist/skeleton.d.mts +1 -1
  132. package/dist/skeleton.mjs +11 -35
  133. package/dist/skeleton.mjs.map +1 -1
  134. package/dist/slider.d.mts +2 -2
  135. package/dist/slider.mjs +31 -32
  136. package/dist/slider.mjs.map +1 -1
  137. package/dist/switch.d.mts +2 -2
  138. package/dist/switch.mjs +30 -31
  139. package/dist/switch.mjs.map +1 -1
  140. package/dist/tabs.d.mts +7 -2
  141. package/dist/tabs.mjs +180 -147
  142. package/dist/tabs.mjs.map +1 -1
  143. package/dist/tags-input.d.mts +2 -2
  144. package/dist/tags-input.mjs +102 -188
  145. package/dist/tags-input.mjs.map +1 -1
  146. package/dist/textarea.d.mts +1 -1
  147. package/dist/textarea.mjs +32 -75
  148. package/dist/textarea.mjs.map +1 -1
  149. package/dist/theme.css +4 -5
  150. package/dist/toast.d.mts +1 -1
  151. package/dist/toast.mjs +14 -34
  152. package/dist/toast.mjs.map +1 -1
  153. package/dist/toggle-group.d.mts +2 -2
  154. package/dist/toggle-group.mjs +78 -85
  155. package/dist/toggle-group.mjs.map +1 -1
  156. package/dist/tooltip.d.mts +2 -2
  157. package/dist/tooltip.mjs +23 -43
  158. package/dist/tooltip.mjs.map +1 -1
  159. package/dist/tree-view.d.mts +2 -2
  160. package/dist/tree-view.mjs +32 -50
  161. package/dist/tree-view.mjs.map +1 -1
  162. package/dist/types.d.mts +9 -0
  163. package/dist/zag-component.d.mts +25 -3
  164. package/dist/zag-component.mjs +63 -16
  165. package/dist/zag-component.mjs.map +1 -1
  166. package/package.json +5 -5
  167. package/dist/cn.mjs +0 -10
  168. package/dist/cn.mjs.map +0 -1
  169. package/dist/draggable.mjs.map +0 -1
  170. package/dist/input.mjs.map +0 -1
@@ -1,49 +1,23 @@
1
- import { t as cn } from "./cn.mjs";
2
- import { Component, GEA_ELEMENT, GEA_ON_PROP_CHANGE } from "@geajs/core";
1
+ import { n as cn, t as CompiledComponent } from "./compiled-component.mjs";
2
+ import { o as GEA_CREATE_TEMPLATE } from "./bind.mjs";
3
+ import { t as reactiveAttr } from "./reactive-attr.mjs";
4
+ import { t as reactiveClass } from "./reactive-class.mjs";
3
5
  //#region src/components/separator.tsx
4
- var Separator = class extends Component {
5
- static {
6
- this.__geaTagName = "gea-separator";
7
- }
8
- template(props) {
9
- const __id = this.id;
10
- const isVertical = props.orientation === "vertical";
11
- return `<div id="${__id}"${cn("shrink-0 bg-border", isVertical ? "h-full w-[1px]" : "h-[1px] w-full", props.class) == null || cn("shrink-0 bg-border", isVertical ? "h-full w-[1px]" : "h-[1px] w-full", props.class) === false ? "" : ` class="${(cn("shrink-0 bg-border", isVertical ? "h-full w-[1px]" : "h-[1px] w-full", props.class) != null ? String(cn("shrink-0 bg-border", isVertical ? "h-full w-[1px]" : "h-[1px] w-full", props.class)) : "").trim()}"`} role="separator"${(props.orientation || "horizontal") == null || (props.orientation || "horizontal") === false ? "" : ` aria-orientation="${props.orientation || "horizontal"}"`}></div>`;
12
- }
13
- [GEA_ON_PROP_CHANGE](key, value) {
14
- if (key === "orientation") {
15
- {
16
- const __el = this[GEA_ELEMENT];
17
- this.props;
18
- const __boundValue = cn("shrink-0 bg-border", this.props.orientation === "vertical" ? "h-full w-[1px]" : "h-[1px] w-full", this.props.class);
19
- if (__el) {
20
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
21
- if (__el.className !== __newClass) __el.className = __newClass;
22
- }
23
- }
24
- {
25
- const __el = this[GEA_ELEMENT];
26
- this.props;
27
- const __boundValue = value || "horizontal";
28
- if (__el) {
29
- var __av = __boundValue;
30
- if (__av == null || __av === false) __el.removeAttribute("aria-orientation");
31
- else {
32
- const __newAttr = String(__av);
33
- if (__el.getAttribute("aria-orientation") !== __newAttr) __el.setAttribute("aria-orientation", __newAttr);
34
- }
35
- }
36
- }
37
- }
38
- if (key === "class") {
39
- const __el = this[GEA_ELEMENT];
40
- this.props;
41
- const __boundValue = cn("shrink-0 bg-border", this.props.orientation === "vertical" ? "h-full w-[1px]" : "h-[1px] w-full", value);
42
- if (__el) {
43
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
44
- if (__el.className !== __newClass) __el.className = __newClass;
45
- }
46
- }
6
+ let _tpl0_root = null;
7
+ function _tpl0_create() {
8
+ const t = document.createElement("template");
9
+ t.innerHTML = "<div role=separator>";
10
+ return t.content.firstChild;
11
+ }
12
+ var Separator = class extends CompiledComponent {
13
+ [GEA_CREATE_TEMPLATE](d) {
14
+ this.props.orientation;
15
+ const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
16
+ const el0 = root;
17
+ const el1 = el0;
18
+ reactiveClass(el0, d, this, () => cn("shrink-0 bg-border", this.props.orientation === "vertical" ? "h-full w-[1px]" : "h-[1px] w-full", this.props.class));
19
+ reactiveAttr(el1, d, this, "aria-orientation", () => this.props.orientation || "horizontal");
20
+ return root;
47
21
  }
48
22
  };
49
23
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"separator.mjs","names":["Component","GEA_ON_PROP_CHANGE","GEA_ELEMENT","cn","Separator","__geaTagName","template","props","__id","id","isVertical","orientation","class","String","trim","key","value","__el","__boundValue","__newClass","replace","className","__av","removeAttribute","__newAttr","getAttribute","setAttribute"],"sources":["../src/components/separator.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nexport default class Separator extends Component {\n template(props: any) {\n const isVertical = props.orientation === 'vertical'\n\n return (\n <div\n class={cn('shrink-0 bg-border', isVertical ? 'h-full w-[1px]' : 'h-[1px] w-full', props.class)}\n role=\"separator\"\n aria-orientation={props.orientation || 'horizontal'}\n ></div>\n )\n }\n}\n"],"mappings":";;;AAGA,IAAqBI,YAArB,cAAuCJ,UAAU;;sBAAA;;CAC/CM,SAASC,OAAY;EAAA,MAAAC,OAAA,KAAAC;EACnB,MAAMC,aAAaH,MAAMI,gBAAgB;AAEzC,SAAA,YAAAH,KAAA,GAEWL,GAAG,sBAAsBO,aAAa,mBAAmB,kBAAkBH,MAAMK,MAAM,IAAA,QAAvFT,GAAG,sBAAsBO,aAAa,mBAAmB,kBAAkBH,MAAMK,MAAM,KAAA,QAAA,KAAA,YAAvFT,GAAG,sBAAsBO,aAAa,mBAAmB,kBAAkBH,MAAMK,MAAM,IAAA,OAAAC,OAAvFV,GAAG,sBAAsBO,aAAa,mBAAmB,kBAAkBH,MAAMK,MAAM,CAAA,GAAA,IAAAE,MAAA,CAAA,GAAA,oBAE5EP,MAAMI,eAAe,iBAAY,SAAjCJ,MAAMI,eAAe,kBAAY,QAAA,KAAA,sBAAjCJ,MAAMI,eAAe,aAAY,GAAA;;CAV3D,CAAAV,oBAAwBc,KAAKC,OAAK;AAAA,MAAAD,QAAA,eAAA;GAAA;IAAA,MAAAE,OAAA,KAAAf;AAGb,SAAAK;IACkC,MAAAW,eAIxCf,GAAG,sBARlB,KAAKI,MAIwBI,gBAAgB,aAIQ,mBAAmB,kBARxE,KAAKJ,MAQ2FK,MAAM;AAAA,QAAAK,MARtG;KACM,MAAME,aADXN,OAAOK,gBAAyB,GAAG,CAAEJ,MAAM,CAACM,QAAQ,QAAQ,IACf;AACxC,SAAIH,KAAsBI,cAAcF,WAAYF,MAAsBI,YAAYF;;;GACvF;IAAA,MAAAF,OAAA,KAAAf;AAAgB,SAAAK;IAAA,MAAAW,eAOKF,SAAqB;AAAY,QAAAC,MAAA;KATrD,IAAIK,OAAIJ;AACR,SAAII,QAAQ,QAAQA,SAAS,MAC3BL,MAAsBM,gBAAgB,mBAAmB;UACpD;MACL,MAAMC,YAAYX,OAAOS,KAAK;AAC9B,UAAIL,KAAsBQ,aAAa,mBAAmB,KAAKD,UAC7DP,MAAsBS,aAAa,oBAAoBF,UAAU;;;;;AACpE,MAAAT,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAf;AALc,QAAAK;GACkC,MAAAW,eAIxCf,GAAG,sBARlB,KAAKI,MAIwBI,gBAAgB,aAIQ,mBAAmB,kBAAgBK,MAAc;AAAA,OAAAC,MARtG;IACM,MAAME,aADXN,OAAOK,gBAAyB,GAAG,CAAEJ,MAAM,CAACM,QAAQ,QAAQ,IACf;AACxC,QAAIH,KAAsBI,cAAcF,WAAYF,MAAsBI,YAAYF"}
1
+ {"version":3,"file":"separator.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveAttr","CompiledComponent","Component","cn","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","Separator","d","isVertical","props","orientation","root","cloneNode","el0","el1","class"],"sources":["../src/components/separator.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nexport default class Separator extends Component {\n template(props: any) {\n const isVertical = props.orientation === 'vertical'\n\n return (\n <div\n class={cn('shrink-0 bg-border', isVertical ? 'h-full w-[1px]' : 'h-[1px] w-full', props.class)}\n role=\"separator\"\n aria-orientation={props.orientation || 'horizontal'}\n ></div>\n )\n }\n}\n"],"mappings":";;;;;AAGA,IAAIM,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMC,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAqBC,YAArB,cAAuCX,kBAAkB;CACvD,CAACH,qBAAqBe,GAAG;AACJ,OAAKE,MAAMC;EAC9B,MAAMC,QAAQb,eAAeA,aAAaC,cAAc,GAAGa,UAAU,KAAK;EAC1E,MAAMC,MAAMF;EACZ,MAAMG,MAAMD;AACZpB,gBAAcoB,KAAKN,GAAG,YAAYV,GAAG,sBAAsB,KAAKY,MAAMC,gBAAgB,aAAa,mBAAmB,kBAAkB,KAAKD,MAAMM,MAAM,CAAC;AAC1JrB,eAAaoB,KAAKP,GAAG,MAAM,0BAA0B,KAAKE,MAAMC,eAAe,aAAa;AAC5F,SAAOC"}
@@ -2,7 +2,7 @@ import { Component } from "@geajs/core";
2
2
 
3
3
  //#region src/components/skeleton.d.ts
4
4
  declare class Skeleton extends Component {
5
- template(props: any): string;
5
+ template(props: any): any;
6
6
  }
7
7
  //#endregion
8
8
  export { Skeleton as default };
package/dist/skeleton.mjs CHANGED
@@ -1,39 +1,15 @@
1
- import { t as cn } from "./cn.mjs";
2
- import { Component, GEA_CLONE_TEMPLATE, GEA_ELEMENT, GEA_ON_PROP_CHANGE } from "@geajs/core";
1
+ import { n as cn, t as CompiledComponent } from "./compiled-component.mjs";
2
+ import { o as GEA_CREATE_TEMPLATE } from "./bind.mjs";
3
+ import { t as reactiveClass } from "./reactive-class.mjs";
3
4
  //#region src/components/skeleton.tsx
4
- var Skeleton = class extends Component {
5
- static {
6
- this.__geaTagName = "gea-skeleton";
7
- }
8
- template(props) {
9
- return `<div id="${this.id}"${cn("animate-pulse rounded-md bg-primary/10", props.class) == null || cn("animate-pulse rounded-md bg-primary/10", props.class) === false ? "" : ` class="${(cn("animate-pulse rounded-md bg-primary/10", props.class) != null ? String(cn("animate-pulse rounded-md bg-primary/10", props.class)) : "").trim()}"`}></div>`;
10
- }
11
- static {
12
- this.__tpl = (() => {
13
- if (typeof document === "undefined") return void 0;
14
- var t = document.createElement("template");
15
- t.innerHTML = "<div></div>";
16
- return t;
17
- })();
18
- }
19
- [GEA_CLONE_TEMPLATE]() {
20
- var __tpl = this.constructor.__tpl;
21
- if (!__tpl) throw new Error("[gea] __tpl missing for clone template");
22
- var __root = __tpl.content.firstElementChild.cloneNode(true);
23
- __root.id = this.id;
24
- __root.className = (cn("animate-pulse rounded-md bg-primary/10", props.class) != null ? String(cn("animate-pulse rounded-md bg-primary/10", props.class)) : "").trim();
25
- return __root;
26
- }
27
- [GEA_ON_PROP_CHANGE](key, value) {
28
- if (key === "class") {
29
- const __el = this[GEA_ELEMENT];
30
- this.props;
31
- const __boundValue = cn("animate-pulse rounded-md bg-primary/10", value);
32
- if (__el) {
33
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
34
- if (__el.className !== __newClass) __el.className = __newClass;
35
- }
36
- }
5
+ function _tpl0_create() {
6
+ return document.createElement("div");
7
+ }
8
+ var Skeleton = class extends CompiledComponent {
9
+ [GEA_CREATE_TEMPLATE](d) {
10
+ const root = _tpl0_create();
11
+ reactiveClass(root, d, this, () => cn("animate-pulse rounded-md bg-primary/10", this.props.class));
12
+ return root;
37
13
  }
38
14
  };
39
15
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.mjs","names":["Component","GEA_CLONE_TEMPLATE","GEA_ON_PROP_CHANGE","GEA_ELEMENT","cn","Skeleton","__geaTagName","template","props","__id","id","class","String","trim","__tpl","document","undefined","t","createElement","innerHTML","constructor","Error","__root","content","firstElementChild","cloneNode","className","key","value","__el","__boundValue","__newClass","replace"],"sources":["../src/components/skeleton.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nexport default class Skeleton extends Component {\n template(props: any) {\n return <div class={cn('animate-pulse rounded-md bg-primary/10', props.class)}></div>\n }\n}\n"],"mappings":";;;AAGA,IAAqBK,WAArB,cAAsCL,UAAU;;sBAAA;;CAC9CO,SAASC,OAAY;AACnB,SAAA,YADmB,KAAAE,GACnB,GAAmBN,GAAG,0CAA0CI,MAAMG,MAAM,IAAA,QAAzDP,GAAG,0CAA0CI,MAAMG,MAAM,KAAA,QAAA,KAAA,YAAzDP,GAAG,0CAA0CI,MAAMG,MAAM,IAAA,OAAAC,OAAzDR,GAAG,0CAA0CI,MAAMG,MAAM,CAAA,GAAA,IAAAE,MAAA,CAAA,GAAA;;;sBAJ1D;AAClB,OAAI,OAAOE,aAAa,YAAa,QAAOC,KAAAA;GAC5C,IAAIC,IAAIF,SAASG,cAAc,WAAW;AAC1CD,KAAEE,YAAY;AACd,UAAOF;MACL;;CALN,CAAAhB,sBAA0B;EAA1B,IAAIa,QAAQ,KAAKM,YAAYN;AAA7B,MAAI,CAACA,MAAS,OAAM,IAAIO,MAAM,yCAAyC;EAAvE,IAAIC,SAASR,MAAMS,QAAQC,kBAAkBC,UAAU,KAAK;AAA5DH,SAAsBZ,KAAtB,KAAKA;AAALY,SAAsBI,aAICtB,GAAG,0CAA0CI,MAAMG,MAAM,IAAA,OAAAC,OAAzDR,GAAG,0CAA0CI,MAAMG,MAAM,CAAA,GAAA,IAAAE,MAJzB;AAAvD,SAAAS;;CAAA,CAAApB,oBAAwByB,KAAKC,OAAK;AAAA,MAAAD,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAA1B;AAGb,QAAAK;GAAA,MAAAsB,eACE1B,GAAG,0CAAwCwB,MAAc;AAAA,OAAAC,MAJhF;IACM,MAAME,aADXnB,OAAOkB,gBAAyB,GAAG,CAAEjB,MAAM,CAACmB,QAAQ,QAAQ,IACf;AACxC,QAAIH,KAAsBH,cAAcK,WAAYF,MAAsBH,YAAYK"}
1
+ {"version":3,"file":"skeleton.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","CompiledComponent","Component","cn","_tpl0_create","e","document","createElement","Skeleton","d","root","el0","props","class"],"sources":["../src/components/skeleton.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nexport default class Skeleton extends Component {\n template(props: any) {\n return <div class={cn('animate-pulse rounded-md bg-primary/10', props.class)}></div>\n }\n}\n"],"mappings":";;;;AAGA,SAASK,eAAe;AAEtB,QADUE,SAASC,cAAc,MACzB;;AAEV,IAAqBC,WAArB,cAAsCP,kBAAkB;CACtD,CAACF,qBAAqBU,GAAG;EACvB,MAAMC,OAAON,cAAc;AAE3BJ,gBAAcW,MAAKF,GAAG,YAAYN,GAAG,0CAA0C,KAAKS,MAAMC,MAAM,CAAC;AACjG,SAAOH"}
package/dist/slider.d.mts CHANGED
@@ -7,7 +7,7 @@ declare class Slider extends ZagComponent {
7
7
  value: number[];
8
8
  createMachine(_props: any): any;
9
9
  getMachineProps(props: any): {
10
- id: any;
10
+ id: string;
11
11
  value: any;
12
12
  defaultValue: any;
13
13
  min: any;
@@ -37,7 +37,7 @@ declare class Slider extends ZagComponent {
37
37
  _syncThumbs(): void;
38
38
  syncState(api: any): void;
39
39
  _applyAllSpreads(): void;
40
- template(props: any): string;
40
+ template(props: any): any;
41
41
  }
42
42
  //#endregion
43
43
  export { Slider as default };
package/dist/slider.mjs CHANGED
@@ -1,25 +1,26 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
2
- import { Component, GEA_ELEMENT, GEA_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_REGISTER_COND, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
2
+ import { o as GEA_CREATE_TEMPLATE } from "./bind.mjs";
3
+ import { n as reactiveTextValue } from "./reactive-text.mjs";
4
+ import { t as reactiveClass } from "./reactive-class.mjs";
5
+ import { t as reactiveClassName } from "./reactive-class-name.mjs";
6
+ import { t as conditionalTruthy } from "./conditional-truthy.mjs";
3
7
  import { normalizeProps } from "@zag-js/vanilla";
4
8
  import * as slider from "@zag-js/slider";
5
9
  //#region src/components/slider.tsx
6
10
  const THUMB_CLASS = "slider-thumb block h-5 w-5 rounded-full border-2 border-primary bg-background shadow transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring";
11
+ let _tpl0_root = null;
12
+ function _tpl0_create() {
13
+ const t = document.createElement("template");
14
+ t.innerHTML = "<div data-part=root><!--1--><div data-part=control class=\"slider-control relative flex items-center\"><div data-part=track class=\"slider-track relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20\"><div data-part=range class=\"slider-range absolute h-full bg-primary\"></div></div><div data-part=thumb data-index=0><input data-part=hidden-input data-index=0 type=hidden>";
15
+ return t.content.firstChild;
16
+ }
17
+ let _tpl1_root = null;
18
+ function _tpl1_create() {
19
+ const t = document.createElement("template");
20
+ t.innerHTML = "<div class=\"flex justify-between mb-2\"><label data-part=label class=\"slider-label text-sm font-medium\">0";
21
+ return t.content.firstChild;
22
+ }
7
23
  var Slider = class extends ZagComponent {
8
- static {
9
- this.__geaTagName = "gea-slider";
10
- }
11
- constructor(...args) {
12
- super(...args);
13
- this.props;
14
- this[geaCondValueSymbol(0)] = !!this.props.label;
15
- this[GEA_REGISTER_COND](0, "c0", () => {
16
- this.props;
17
- return this.props.label;
18
- }, () => {
19
- this.props;
20
- return `<div class="flex justify-between mb-2"><label data-part="label" class="slider-label text-sm font-medium">${geaEscapeHtml(String(this.props.label))}</label></div>`;
21
- }, null);
22
- }
23
24
  createMachine(_props) {
24
25
  return slider.machine;
25
26
  }
@@ -93,22 +94,20 @@ var Slider = class extends ZagComponent {
93
94
  this._elementCache?.clear();
94
95
  super._applyAllSpreads();
95
96
  }
96
- template(props) {
97
- const __id = this.id;
98
- Component._register(ZagComponent, "zag-component");
99
- return `<div id="${__id}" data-part="root"${"w-full " + (props.class || "") == null || "w-full " + (props.class || "") === false ? "" : ` class="${("w-full " + (props.class || "") != null ? String("w-full " + (props.class || "")) : "").trim()}"`}><!--${__id + "-c0"}-->${props.label && `<div class="flex justify-between mb-2"><label data-part="label" class="slider-label text-sm font-medium">${geaEscapeHtml(String(props.label))}</label></div>` || ""}<!--${__id + "-c0-end"}--><div data-part="control" class="slider-control relative flex items-center"><div data-part="track" class="slider-track relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20"><div data-part="range" class="slider-range absolute h-full bg-primary"></div></div><div data-part="thumb" data-index="0"${THUMB_CLASS == null || THUMB_CLASS === false ? "" : ` class="${(THUMB_CLASS != null ? String(THUMB_CLASS) : "").trim()}"`}><input data-part="hidden-input" data-index="0" type="hidden" /></div></div></div>`;
100
- }
101
- [GEA_ON_PROP_CHANGE](key, value) {
102
- if (key === "class") {
103
- const __el = this[GEA_ELEMENT];
104
- this.props;
105
- const __boundValue = "w-full " + (value || "");
106
- if (__el) {
107
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
108
- if (__el.className !== __newClass) __el.className = __newClass;
109
- }
110
- }
111
- if (key === "label") this[GEA_PATCH_COND](0);
97
+ [GEA_CREATE_TEMPLATE](d) {
98
+ const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
99
+ const el0 = root;
100
+ const anchor1 = root.firstChild;
101
+ const el2 = root.childNodes[1].childNodes[1];
102
+ reactiveClassName(el0, d, this, () => "w-full " + (this.props.class || ""));
103
+ conditionalTruthy(anchor1.parentNode, anchor1, d, this, () => this.props.label, (d) => {
104
+ const root = (_tpl1_root || (_tpl1_root = _tpl1_create())).cloneNode(true);
105
+ const t0 = root.firstChild.firstChild;
106
+ reactiveTextValue(t0, d, this, () => this.props.label);
107
+ return root;
108
+ });
109
+ reactiveClass(el2, d, this, () => THUMB_CLASS);
110
+ return root;
112
111
  }
113
112
  };
114
113
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"slider.mjs","names":["Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","slider","normalizeProps","ZagComponent","THUMB_CLASS","Slider","__geaTagName","constructor","args","props","label","String","value","createMachine","_props","machine","getMachineProps","id","defaultValue","min","max","step","orientation","thumbAlignment","disabled","readOnly","name","onValueChange","details","ValueChangeDetails","onValueChangeEnd","connectApi","service","connect","getSpreadMap","[data-part=\"thumb\"]","api","el","index","parseInt","HTMLElement","dataset","getThumbProps","[data-part=\"hidden-input\"]","getHiddenInputProps","_syncThumbs","_api","control","querySelector","thumbCount","length","existing","querySelectorAll","i","thumb","document","createElement","setAttribute","className","input","type","appendChild","remove","syncState","_applyAllSpreads","_elementCache","clear","template","__id","_register","class","trim","key","__el","__boundValue","__newClass","replace"],"sources":["../src/components/slider.tsx"],"sourcesContent":["import * as slider from '@zag-js/slider'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nconst THUMB_CLASS =\n 'slider-thumb block h-5 w-5 rounded-full border-2 border-primary bg-background shadow ' +\n 'transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring'\n\nexport default class Slider extends ZagComponent {\n declare value: number[]\n\n createMachine(_props: any): any {\n return slider.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue ?? [50],\n min: props.min ?? 0,\n max: props.max ?? 100,\n step: props.step ?? 1,\n orientation: props.orientation ?? 'horizontal',\n thumbAlignment: props.thumbAlignment ?? 'center',\n disabled: props.disabled,\n readOnly: props.readOnly,\n name: props.name,\n 'aria-label': props['aria-label'],\n onValueChange: (details: slider.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n onValueChangeEnd: props.onValueChangeEnd,\n }\n }\n\n connectApi(service: any) {\n return slider.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"control\"]': 'getControlProps',\n '[data-part=\"track\"]': 'getTrackProps',\n '[data-part=\"range\"]': 'getRangeProps',\n '[data-part=\"thumb\"]': (api, el) => {\n const index = parseInt((el as HTMLElement).dataset.index || '0', 10)\n return api.getThumbProps({ index })\n },\n '[data-part=\"hidden-input\"]': (api, el) => {\n const index = parseInt((el as HTMLElement).dataset.index || '0', 10)\n return api.getHiddenInputProps({ index })\n },\n }\n }\n\n _syncThumbs() {\n if (!this._api || !this.el) return\n const control = this.el.querySelector('[data-part=\"control\"]')\n if (!control) return\n\n const thumbCount = this._api.value.length\n const existing = control.querySelectorAll(':scope > [data-part=\"thumb\"]')\n\n if (existing.length === thumbCount) return\n\n if (existing.length < thumbCount) {\n for (let i = existing.length; i < thumbCount; i++) {\n const thumb = document.createElement('div')\n thumb.setAttribute('data-part', 'thumb')\n thumb.setAttribute('data-index', String(i))\n thumb.className = THUMB_CLASS\n\n const input = document.createElement('input')\n input.setAttribute('data-part', 'hidden-input')\n input.setAttribute('data-index', String(i))\n input.type = 'hidden'\n thumb.appendChild(input)\n\n control.appendChild(thumb)\n }\n } else {\n for (let i = existing.length - 1; i >= thumbCount; i--) {\n existing[i].remove()\n }\n }\n }\n\n syncState(api: any) {\n this.value = api.value\n }\n\n _applyAllSpreads() {\n this._syncThumbs()\n this._elementCache?.clear()\n super._applyAllSpreads()\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={'w-full ' + (props.class || '')}>\n {props.label && (\n <div class=\"flex justify-between mb-2\">\n <label data-part=\"label\" class=\"slider-label text-sm font-medium\">\n {props.label}\n </label>\n </div>\n )}\n <div data-part=\"control\" class=\"slider-control relative flex items-center\">\n <div\n data-part=\"track\"\n class=\"slider-track relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20\"\n >\n <div data-part=\"range\" class=\"slider-range absolute h-full bg-primary\"></div>\n </div>\n <div data-part=\"thumb\" data-index=\"0\" class={THUMB_CLASS}>\n <input data-part=\"hidden-input\" data-index=\"0\" type=\"hidden\" />\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"slider.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClassName","reactiveTextValue","conditionalTruthy","reactiveClass","slider","normalizeProps","ZagComponent","THUMB_CLASS","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","Slider","value","createMachine","_props","machine","getMachineProps","props","id","defaultValue","min","max","step","orientation","thumbAlignment","disabled","readOnly","name","onValueChange","details","ValueChangeDetails","onValueChangeEnd","connectApi","service","connect","getSpreadMap","[data-part=\"thumb\"]","api","el","index","parseInt","HTMLElement","dataset","getThumbProps","[data-part=\"hidden-input\"]","getHiddenInputProps","_syncThumbs","_api","control","querySelector","thumbCount","length","existing","querySelectorAll","i","thumb","setAttribute","String","className","input","type","appendChild","remove","syncState","_applyAllSpreads","_elementCache","clear","d","root","cloneNode","el0","anchor1","el2","childNodes","class","parentNode","label","marker0","t0"],"sources":["../src/components/slider.tsx"],"sourcesContent":["import * as slider from '@zag-js/slider'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nconst THUMB_CLASS =\n 'slider-thumb block h-5 w-5 rounded-full border-2 border-primary bg-background shadow ' +\n 'transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring'\n\nexport default class Slider extends ZagComponent {\n declare value: number[]\n\n createMachine(_props: any): any {\n return slider.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue ?? [50],\n min: props.min ?? 0,\n max: props.max ?? 100,\n step: props.step ?? 1,\n orientation: props.orientation ?? 'horizontal',\n thumbAlignment: props.thumbAlignment ?? 'center',\n disabled: props.disabled,\n readOnly: props.readOnly,\n name: props.name,\n 'aria-label': props['aria-label'],\n onValueChange: (details: slider.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n onValueChangeEnd: props.onValueChangeEnd,\n }\n }\n\n connectApi(service: any) {\n return slider.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"control\"]': 'getControlProps',\n '[data-part=\"track\"]': 'getTrackProps',\n '[data-part=\"range\"]': 'getRangeProps',\n '[data-part=\"thumb\"]': (api, el) => {\n const index = parseInt((el as HTMLElement).dataset.index || '0', 10)\n return api.getThumbProps({ index })\n },\n '[data-part=\"hidden-input\"]': (api, el) => {\n const index = parseInt((el as HTMLElement).dataset.index || '0', 10)\n return api.getHiddenInputProps({ index })\n },\n }\n }\n\n _syncThumbs() {\n if (!this._api || !this.el) return\n const control = this.el.querySelector('[data-part=\"control\"]')\n if (!control) return\n\n const thumbCount = this._api.value.length\n const existing = control.querySelectorAll(':scope > [data-part=\"thumb\"]')\n\n if (existing.length === thumbCount) return\n\n if (existing.length < thumbCount) {\n for (let i = existing.length; i < thumbCount; i++) {\n const thumb = document.createElement('div')\n thumb.setAttribute('data-part', 'thumb')\n thumb.setAttribute('data-index', String(i))\n thumb.className = THUMB_CLASS\n\n const input = document.createElement('input')\n input.setAttribute('data-part', 'hidden-input')\n input.setAttribute('data-index', String(i))\n input.type = 'hidden'\n thumb.appendChild(input)\n\n control.appendChild(thumb)\n }\n } else {\n for (let i = existing.length - 1; i >= thumbCount; i--) {\n existing[i].remove()\n }\n }\n }\n\n syncState(api: any) {\n this.value = api.value\n }\n\n _applyAllSpreads() {\n this._syncThumbs()\n this._elementCache?.clear()\n super._applyAllSpreads()\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={'w-full ' + (props.class || '')}>\n {props.label && (\n <div class=\"flex justify-between mb-2\">\n <label data-part=\"label\" class=\"slider-label text-sm font-medium\">\n {props.label}\n </label>\n </div>\n )}\n <div data-part=\"control\" class=\"slider-control relative flex items-center\">\n <div\n data-part=\"track\"\n class=\"slider-track relative h-1.5 w-full grow overflow-hidden rounded-full bg-primary/20\"\n >\n <div data-part=\"range\" class=\"slider-range absolute h-full bg-primary\"></div>\n </div>\n <div data-part=\"thumb\" data-index=\"0\" class={THUMB_CLASS}>\n <input data-part=\"hidden-input\" data-index=\"0\" type=\"hidden\" />\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
package/dist/switch.d.mts CHANGED
@@ -7,7 +7,7 @@ declare class Switch extends ZagComponent {
7
7
  checked: boolean;
8
8
  createMachine(_props: any): any;
9
9
  getMachineProps(props: any): {
10
- id: any;
10
+ id: string;
11
11
  checked: any;
12
12
  defaultChecked: any;
13
13
  disabled: any;
@@ -30,7 +30,7 @@ declare class Switch extends ZagComponent {
30
30
  '[data-part="hidden-input"]': string;
31
31
  };
32
32
  syncState(api: any): void;
33
- template(props: any): string;
33
+ template(props: any): any;
34
34
  }
35
35
  //#endregion
36
36
  export { Switch as default };
package/dist/switch.mjs CHANGED
@@ -1,24 +1,27 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
2
- import { Component, GEA_ELEMENT, GEA_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_REGISTER_COND, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
2
+ import { o as GEA_CREATE_TEMPLATE } from "./bind.mjs";
3
+ import { n as reactiveTextValue } from "./reactive-text.mjs";
4
+ import { t as reactiveClassName } from "./reactive-class-name.mjs";
5
+ import { t as conditionalTruthy } from "./conditional-truthy.mjs";
3
6
  import { normalizeProps } from "@zag-js/vanilla";
4
7
  import * as switchMachine from "@zag-js/switch";
5
8
  //#region src/components/switch.tsx
9
+ let _tpl0_root = null;
10
+ function _tpl0_create() {
11
+ const t = document.createElement("template");
12
+ t.innerHTML = "<label data-part=root><input data-part=hidden-input type=checkbox><span data-part=control class=\"switch-control inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-xs transition-colors data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\"><span data-part=thumb class=\"switch-thumb pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0\"></span></span><!--1-->";
13
+ return t.content.firstChild;
14
+ }
15
+ let _tpl1_root = null;
16
+ function _tpl1_create() {
17
+ const t = document.createElement("template");
18
+ t.innerHTML = "<span data-part=label class=\"switch-label text-sm font-medium\">0";
19
+ return t.content.firstChild;
20
+ }
6
21
  var Switch = class extends ZagComponent {
7
- static {
8
- this.__geaTagName = "gea-switch";
9
- }
10
- constructor(...args) {
11
- super(...args);
22
+ constructor(..._args) {
23
+ super(..._args);
12
24
  this.checked = false;
13
- this.props;
14
- this[geaCondValueSymbol(0)] = !!this.props.label;
15
- this[GEA_REGISTER_COND](0, "c0", () => {
16
- this.props;
17
- return this.props.label;
18
- }, () => {
19
- this.props;
20
- return `<span data-part="label" class="switch-label text-sm font-medium">${geaEscapeHtml(String(this.props.label))}</span>`;
21
- }, null);
22
25
  }
23
26
  createMachine(_props) {
24
27
  return switchMachine.machine;
@@ -56,22 +59,18 @@ var Switch = class extends ZagComponent {
56
59
  syncState(api) {
57
60
  this.checked = api.checked;
58
61
  }
59
- template(props) {
60
- const __id = this.id;
61
- Component._register(ZagComponent, "zag-component");
62
- return `<label id="${__id}" data-part="root" class="${`switch-root inline-flex items-center gap-2 cursor-pointer ${props.class || ""}`.trim()}"><input data-part="hidden-input" type="checkbox" /><span data-part="control" class="switch-control inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-xs transition-colors data-[state=checked]:bg-primary data-[state=unchecked]:bg-input"><span data-part="thumb" class="switch-thumb pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0"></span></span><!--${__id + "-c0"}-->${props.label && `<span data-part="label" class="switch-label text-sm font-medium">${geaEscapeHtml(String(props.label))}</span>` || ""}<!--${__id + "-c0-end"}--></label>`;
63
- }
64
- [GEA_ON_PROP_CHANGE](key, value) {
65
- if (key === "class") {
66
- const __el = this[GEA_ELEMENT];
67
- this.props;
68
- const __boundValue = `switch-root inline-flex items-center gap-2 cursor-pointer ${value || ""}`;
69
- if (__el) {
70
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
71
- if (__el.className !== __newClass) __el.className = __newClass;
72
- }
73
- }
74
- if (key === "label") this[GEA_PATCH_COND](0);
62
+ [GEA_CREATE_TEMPLATE](d) {
63
+ const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
64
+ const el0 = root;
65
+ const anchor1 = root.childNodes[2];
66
+ reactiveClassName(el0, d, this, () => `switch-root inline-flex items-center gap-2 cursor-pointer ${this.props.class || ""}`);
67
+ conditionalTruthy(anchor1.parentNode, anchor1, d, this, () => this.props.label, (d) => {
68
+ const root = (_tpl1_root || (_tpl1_root = _tpl1_create())).cloneNode(true);
69
+ const t0 = root.firstChild;
70
+ reactiveTextValue(t0, d, this, () => this.props.label);
71
+ return root;
72
+ });
73
+ return root;
75
74
  }
76
75
  };
77
76
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"switch.mjs","names":["Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","switchMachine","normalizeProps","ZagComponent","Switch","__geaTagName","constructor","args","props","label","String","checked","createMachine","_props","machine","getMachineProps","id","defaultChecked","disabled","invalid","required","readOnly","name","form","value","onCheckedChange","details","CheckedChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","_register","class","trim","key","__el","__boundValue","__newClass","replace","className"],"sources":["../src/components/switch.tsx"],"sourcesContent":["import * as switchMachine from '@zag-js/switch'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Switch extends ZagComponent {\n checked = false\n\n createMachine(_props: any): any {\n return switchMachine.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n checked: props.checked,\n defaultChecked: props.defaultChecked,\n disabled: props.disabled,\n invalid: props.invalid,\n required: props.required,\n readOnly: props.readOnly,\n name: props.name,\n form: props.form,\n value: props.value ?? 'on',\n onCheckedChange: (details: switchMachine.CheckedChangeDetails) => {\n this.checked = details.checked\n props.onCheckedChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return switchMachine.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"control\"]': 'getControlProps',\n '[data-part=\"thumb\"]': 'getThumbProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n }\n }\n\n syncState(api: any) {\n this.checked = api.checked\n }\n\n template(props: any) {\n return (\n <label data-part=\"root\" class={`switch-root inline-flex items-center gap-2 cursor-pointer ${props.class || ''}`}>\n <input data-part=\"hidden-input\" type=\"checkbox\" />\n <span\n data-part=\"control\"\n class=\"switch-control inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-xs transition-colors data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\"\n >\n <span\n data-part=\"thumb\"\n class=\"switch-thumb pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0\"\n ></span>\n </span>\n {props.label && (\n <span data-part=\"label\" class=\"switch-label text-sm font-medium\">\n {props.label}\n </span>\n )}\n </label>\n )\n }\n}\n"],"mappings":";;;;;AAIA,IAAqBU,SAArB,cAAoCD,aAAa;;sBAAA;;CAHjDG,YAAsB,GAAGC,MAAI;AAA7B,QAAM,GAAGA,KAAK;iBAIF;AA2CS,OAAAC;AAAA,OAAAb,mBAAA,EAAA,IAAA,CAAA,CA/CrB,KAAKa,MA4DUC;AA5Df,OAAIb,mBAAuB,GAAA,YAAA;AA+CN,QAAAY;AAAA,UA/CrB,KAAKA,MA4DUC;WAAK;AAbC,QAAAD;AAAA,UAAA,oEA/CrBX,cAAca,OAAd,KAAKF,MA8DcC,MA9DwB,CAAC,CAAA;KAAA,KAAA;;CAM1CG,cAAcC,QAAkB;AAC9B,SAAOZ,cAAca;;CAGvBC,gBAAgBP,OAAY;AAC1B,SAAO;GACLQ,IAAI,KAAKA;GACTL,SAASH,MAAMG;GACfM,gBAAgBT,MAAMS;GACtBC,UAAUV,MAAMU;GAChBC,SAASX,MAAMW;GACfC,UAAUZ,MAAMY;GAChBC,UAAUb,MAAMa;GAChBC,MAAMd,MAAMc;GACZC,MAAMf,MAAMe;GACZC,OAAOhB,MAAMgB,SAAS;GACtBC,kBAAkBC,YAAgD;AAChE,SAAKf,UAAUe,QAAQf;AACvBH,UAAMiB,kBAAkBC,QAAQ;;GAEnC;;CAGHE,WAAWC,SAAc;AACvB,SAAO5B,cAAc6B,QAAQD,SAAS3B,eAAe;;CAGvD6B,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,yBAAuB;GACvB,2BAAyB;GACzB,yBAAuB;GACvB,gCAA8B;GAC/B;;CAGHC,UAAUC,KAAU;AAClB,OAAKtB,UAAUsB,IAAItB;;CAGrBuB,SAAS1B,OAAY;EAAA,MAAA2B,OAAA,KAAAnB;AAAAtB,YAAA0C,UAAAjC,cAAA,gBAAA;AACnB,SAAA,cAAAgC,KAAA,4BACiC,6DAA6D3B,MAAM6B,SAAS,KAAIC,MAAA,CAAA,+gBAjDrHH,OAAU,MAAK,KA4DN3B,MAAMC,SAAK,oEA5DpBZ,cAAca,OA8DDF,MAAMC,MA9DwB,CAAC,CAAA,YAAA,GAAA,MAA5C0B,OAAU,UAAS;;CAAnB,CAAArC,oBAAwByC,KAAKf,OAAK;AAAA,MAAAe,QAAA,SAAA;GAAA,MAAAC,OAAA,KAAAzC;AA+Cb,QAAAS;GAAA,MAAAiC,eAEgB,6DAA6DjB,SAAe;AAAI,OAAAgB,MAjDrH;IACM,MAAME,aADXhC,OAAO+B,gBAAyB,GAAG,CAAEH,MAAM,CAACK,QAAQ,QAAQ,IACf;AACxC,QAAIH,KAAsBI,cAAcF,WAAYF,MAAsBI,YAAYF;;;AACvF,MAAAH,QAAA,QAHL,MAAIvC,gBAAwB,EAAE"}
1
+ {"version":3,"file":"switch.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClassName","reactiveTextValue","conditionalTruthy","switchMachine","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","Switch","checked","createMachine","_props","machine","getMachineProps","props","id","defaultChecked","disabled","invalid","required","readOnly","name","form","value","onCheckedChange","details","CheckedChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","d","root","cloneNode","el0","anchor1","childNodes","class","parentNode","label","marker0","t0"],"sources":["../src/components/switch.tsx"],"sourcesContent":["import * as switchMachine from '@zag-js/switch'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Switch extends ZagComponent {\n checked = false\n\n createMachine(_props: any): any {\n return switchMachine.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n checked: props.checked,\n defaultChecked: props.defaultChecked,\n disabled: props.disabled,\n invalid: props.invalid,\n required: props.required,\n readOnly: props.readOnly,\n name: props.name,\n form: props.form,\n value: props.value ?? 'on',\n onCheckedChange: (details: switchMachine.CheckedChangeDetails) => {\n this.checked = details.checked\n props.onCheckedChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return switchMachine.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"control\"]': 'getControlProps',\n '[data-part=\"thumb\"]': 'getThumbProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n }\n }\n\n syncState(api: any) {\n this.checked = api.checked\n }\n\n template(props: any) {\n return (\n <label data-part=\"root\" class={`switch-root inline-flex items-center gap-2 cursor-pointer ${props.class || ''}`}>\n <input data-part=\"hidden-input\" type=\"checkbox\" />\n <span\n data-part=\"control\"\n class=\"switch-control inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-xs transition-colors data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\"\n >\n <span\n data-part=\"thumb\"\n class=\"switch-thumb pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0\"\n ></span>\n </span>\n {props.label && (\n <span data-part=\"label\" class=\"switch-label text-sm font-medium\">\n {props.label}\n </span>\n )}\n </label>\n )\n }\n}\n"],"mappings":";;;;;;;;AAIA,IAAIO,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMC,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAIC,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMP,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAqBG,SAArB,cAAoCX,aAAa;;;iBACrC;;CACVa,cAAcC,QAAkB;AAC9B,SAAOhB,cAAciB;;CAEvBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTN,SAASK,MAAML;GACfO,gBAAgBF,MAAME;GACtBC,UAAUH,MAAMG;GAChBC,SAASJ,MAAMI;GACfC,UAAUL,MAAMK;GAChBC,UAAUN,MAAMM;GAChBC,MAAMP,MAAMO;GACZC,MAAMR,MAAMQ;GACZC,OAAOT,MAAMS,SAAS;GACtBC,kBAAkBC,YAAgD;AAChE,SAAKhB,UAAUgB,QAAQhB;AACvBK,UAAMU,kBAAkBC,QAAQ;;GAEnC;;CAEHE,WAAWC,SAAc;AACvB,SAAOjC,cAAckC,QAAQD,SAAShC,eAAe;;CAEvDkC,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,yBAAuB;GACvB,2BAAyB;GACzB,yBAAuB;GACvB,gCAA8B;GAC/B;;CAEHC,UAAUC,KAAU;AAClB,OAAKvB,UAAUuB,IAAIvB;;CAErB,CAAClB,qBAAqB0C,GAAG;EACvB,MAAMC,QAAQpC,eAAeA,aAAaC,cAAc,GAAGoC,UAAU,KAAK;EAC1E,MAAMC,MAAMF;EACZ,MAAMG,UAAUH,KAAKI,WAAW;AAChC9C,oBAAkB4C,KAAKH,GAAG,YAAY,6DAA6D,KAAKnB,MAAMyB,SAAS,KAAK;AAC5H7C,oBAAkB2C,QAAQG,YAAYH,SAASJ,GAAG,YAAY,KAAKnB,MAAM2B,QAAOR,MAAK;GACnF,MAAMC,QAAQ5B,eAAeA,aAAaC,cAAc,GAAG4B,UAAU,KAAK;GAE1E,MAAMQ,KADUT,KAAK7B;AAErBZ,qBAAkBkD,IAAIV,GAAG,YAAY,KAAKnB,MAAM2B,MAAM;AACtD,UAAOP;IACP;AACF,SAAOA"}
package/dist/tabs.d.mts CHANGED
@@ -1,13 +1,18 @@
1
1
  import { n as ZagComponent } from "./zag-component.mjs";
2
+ import { GEA_ON_PROP_CHANGE } from "@geajs/core";
2
3
  import * as tabs from "@zag-js/tabs";
3
4
  import * as _$_zag_js_types0 from "@zag-js/types";
4
5
 
5
6
  //#region src/components/tabs.d.ts
6
7
  declare class Tabs extends ZagComponent {
7
8
  value: string | null;
9
+ _isNodeLike(value: unknown): value is Node;
10
+ _setPanelContent(panel: HTMLElement, value: unknown): void;
11
+ _syncPanelContents(nextProps: Record<string, any> | undefined): void;
8
12
  createMachine(_props: any): any;
13
+ [GEA_ON_PROP_CHANGE](key: string, next: unknown): void;
9
14
  getMachineProps(props: any): {
10
- id: any;
15
+ id: string;
11
16
  value: any;
12
17
  defaultValue: any;
13
18
  orientation: any;
@@ -29,7 +34,7 @@ declare class Tabs extends ZagComponent {
29
34
  };
30
35
  syncState(api: any): void;
31
36
  onAfterRender(): void;
32
- template(props: any): string;
37
+ template(props: any): any;
33
38
  }
34
39
  //#endregion
35
40
  export { Tabs as default };