@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 +1 @@
1
- {"version":3,"file":"clipboard.mjs","names":["Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","GEA_RENDERED","geaCondPatchedSymbol","GEA_SETUP_LOCAL_STATE_OBSERVERS","GEA_STORE_ROOT","GEA_OBSERVE","clipboard","normalizeProps","ZagComponent","Clipboard","__geaTagName","constructor","args","props","copied","label","String","createMachine","_props","machine","getMachineProps","id","value","defaultValue","timeout","onStatusChange","details","CopyStatusDetails","connectApi","service","connect","getSpreadMap","api","getIndicatorProps","syncState","template","__id","_register","class","trim","key","__el","__boundValue","__newClass","replace","className","__observe_local_copied","change","queueMicrotask"],"sources":["../src/components/clipboard.tsx"],"sourcesContent":["import * as clipboard from '@zag-js/clipboard'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Clipboard extends ZagComponent {\n copied = false\n\n createMachine(_props: any): any {\n return clipboard.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n timeout: props.timeout ?? 2000,\n onStatusChange: (details: clipboard.CopyStatusDetails) => {\n this.copied = details.copied\n props.onStatusChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return clipboard.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=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"input\"]': 'getInputProps',\n '[data-part=\"indicator-copied\"]': (api) => api.getIndicatorProps({ copied: true }),\n '[data-part=\"indicator-not-copied\"]': (api) => api.getIndicatorProps({ copied: false }),\n }\n }\n\n syncState(api: any) {\n this.copied = api.copied\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"clipboard-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"clipboard-control flex gap-2\">\n <input\n data-part=\"input\"\n class=\"clipboard-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs\"\n />\n <button\n data-part=\"trigger\"\n class=\"clipboard-trigger inline-flex h-9 items-center justify-center rounded-md border border-input bg-background px-3 text-sm shadow-xs hover:bg-accent\"\n >\n {this.copied ? (\n <span data-part=\"indicator-copied\">&#x2713; Copied</span>\n ) : (\n <span data-part=\"indicator-not-copied\">Copy</span>\n )}\n </button>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"clipboard.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveTextValue","conditionalTruthy","conditional","clipboard","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","_tpl2_root","_tpl2_create","_tpl3_root","_tpl3_create","Clipboard","copied","createMachine","_props","machine","getMachineProps","props","id","value","defaultValue","timeout","onStatusChange","details","CopyStatusDetails","connectApi","service","connect","getSpreadMap","api","getIndicatorProps","syncState","d","root","cloneNode","el0","anchor1","anchor2","childNodes","class","parentNode","label","marker0","t0"],"sources":["../src/components/clipboard.tsx"],"sourcesContent":["import * as clipboard from '@zag-js/clipboard'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Clipboard extends ZagComponent {\n copied = false\n\n createMachine(_props: any): any {\n return clipboard.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n timeout: props.timeout ?? 2000,\n onStatusChange: (details: clipboard.CopyStatusDetails) => {\n this.copied = details.copied\n props.onStatusChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return clipboard.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=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"input\"]': 'getInputProps',\n '[data-part=\"indicator-copied\"]': (api) => api.getIndicatorProps({ copied: true }),\n '[data-part=\"indicator-not-copied\"]': (api) => api.getIndicatorProps({ copied: false }),\n }\n }\n\n syncState(api: any) {\n this.copied = api.copied\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"clipboard-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"clipboard-control flex gap-2\">\n <input\n data-part=\"input\"\n class=\"clipboard-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs\"\n />\n <button\n data-part=\"trigger\"\n class=\"clipboard-trigger inline-flex h-9 items-center justify-center rounded-md border border-input bg-background px-3 text-sm shadow-xs hover:bg-accent\"\n >\n {this.copied ? (\n <span data-part=\"indicator-copied\">&#x2713; Copied</span>\n ) : (\n <span data-part=\"indicator-not-copied\">Copy</span>\n )}\n </button>\n </div>\n </div>\n )\n }\n}\n"],"mappings":";;;;;;;;;AAIA,IAAIQ,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,IAAIG,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMT,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAIK,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMX,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAqBO,YAArB,cAAuCf,aAAa;;;gBACzC;;CACTiB,cAAcC,QAAkB;AAC9B,SAAOpB,UAAUqB;;CAEnBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTC,OAAOF,MAAME;GACbC,cAAcH,MAAMG;GACpBC,SAASJ,MAAMI,WAAW;GAC1BC,iBAAiBC,YAAyC;AACxD,SAAKX,SAASW,QAAQX;AACtBK,UAAMK,iBAAiBC,QAAQ;;GAElC;;CAEHE,WAAWC,SAAc;AACvB,SAAOhC,UAAUiC,QAAQD,SAAS/B,eAAe;;CAEnDiC,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,yBAAuB;GACvB,2BAAyB;GACzB,2BAAyB;GACzB,yBAAuB;GACvB,qCAAkCC,QAAOA,IAAIC,kBAAkB,EAC7DlB,QAAQ,MACT,CAAC;GACF,yCAAsCiB,QAAOA,IAAIC,kBAAkB,EACjElB,QAAQ,OACT,CAAA;GACF;;CAEHmB,UAAUF,KAAU;AAClB,OAAKjB,SAASiB,IAAIjB;;CAEpB,CAACvB,qBAAqB2C,GAAG;EACvB,MAAMC,QAAQpC,eAAeA,aAAaC,cAAc,GAAGoC,UAAU,KAAK;EAC1E,MAAMC,MAAMF;EACZ,MAAMG,UAAUH,KAAK7B;EACrB,MAAMiC,UAAUJ,KAAKK,WAAW,GAAGA,WAAW,GAAGlC;AACjDd,gBAAc6C,KAAKH,GAAG,YAAY,KAAKf,MAAMsB,SAAS,GAAG;AACzD/C,oBAAkB4C,QAAQI,YAAYJ,SAASJ,GAAG,YAAY,KAAKf,MAAMwB,QAAOT,MAAK;GACnF,MAAMC,QAAQ5B,eAAeA,aAAaC,cAAc,GAAG4B,UAAU,KAAK;GAE1E,MAAMS,KADUV,KAAK7B;AAErBb,qBAAkBoD,IAAIX,GAAG,YAAY,KAAKf,MAAMwB,MAAM;AACtD,UAAOR;IACP;AACFxC,cAAY4C,QAAQG,YAAYH,SAASL,GAAG,YAAY,KAAKpB,SAAQoB,MAAK;AAExE,WADczB,eAAeA,aAAaC,cAAc,GAAG0B,UAAU,KAC1D;MACVF,MAAK;AAEN,WADcvB,eAAeA,aAAaC,cAAc,GAAGwB,UAAU,KAC1D;IACX;AACF,SAAOD"}
@@ -7,7 +7,7 @@ declare class Collapsible extends ZagComponent {
7
7
  open: boolean;
8
8
  createMachine(_props: any): any;
9
9
  getMachineProps(props: any): {
10
- id: any;
10
+ id: string;
11
11
  open: any;
12
12
  defaultOpen: any;
13
13
  disabled: any;
@@ -22,7 +22,7 @@ declare class Collapsible extends ZagComponent {
22
22
  '[data-part="content"]': string;
23
23
  };
24
24
  syncState(api: any): void;
25
- template(props: any): string;
25
+ template(props: any): any;
26
26
  }
27
27
  //#endregion
28
28
  export { Collapsible as default };
@@ -1,12 +1,17 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
2
- import { Component, GEA_ELEMENT, GEA_INSTANTIATE_CHILD_COMPONENTS, GEA_MOUNT_COMPILED_CHILD_COMPONENTS, GEA_ON_PROP_CHANGE, GEA_PATCH_NODE, geaEscapeHtml } from "@geajs/core";
2
+ import { o as GEA_CREATE_TEMPLATE } from "./bind.mjs";
3
+ import { n as reactiveTextValue, t as reactiveText } from "./reactive-text.mjs";
4
+ import { t as reactiveClass } from "./reactive-class.mjs";
3
5
  import { normalizeProps } from "@zag-js/vanilla";
4
6
  import * as collapsible from "@zag-js/collapsible";
5
7
  //#region src/components/collapsible.tsx
8
+ let _tpl0_root = null;
9
+ function _tpl0_create() {
10
+ const t = document.createElement("template");
11
+ t.innerHTML = "<div data-part=root><button data-part=trigger class=\"collapsible-trigger flex w-full items-center justify-between py-2 text-sm font-medium\">0</button><div data-part=content class=\"collapsible-content overflow-hidden\"><div class=pb-4>0";
12
+ return t.content.firstChild;
13
+ }
6
14
  var Collapsible = class extends ZagComponent {
7
- static {
8
- this.__geaTagName = "gea-collapsible";
9
- }
10
15
  createMachine(_props) {
11
16
  return collapsible.machine;
12
17
  }
@@ -35,47 +40,15 @@ var Collapsible = class extends ZagComponent {
35
40
  syncState(api) {
36
41
  this.open = api.open;
37
42
  }
38
- template(props) {
39
- const __id = this.id;
40
- Component._register(ZagComponent, "zag-component");
41
- return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><button id="${__id + "-b1"}" data-part="trigger" class="collapsible-trigger flex w-full items-center justify-between py-2 text-sm font-medium">${geaEscapeHtml(String(props.label || "Toggle"))}</button><div data-part="content" class="collapsible-content overflow-hidden"><div id="${__id + "-b2"}" class="pb-4">${props.children}</div></div></div>`;
42
- }
43
- [GEA_ON_PROP_CHANGE](key, value) {
44
- const __id = this.id;
45
- if (key === "class") {
46
- const __el = this[GEA_ELEMENT];
47
- this.props;
48
- const __boundValue = value || "";
49
- if (__el) {
50
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
51
- if (__el.className !== __newClass) __el.className = __newClass;
52
- }
53
- }
54
- if (key === "label") {
55
- const __el = this.__e0 || (this.__e0 = __gid(__id + "-b1"));
56
- this.props;
57
- const __boundValue = value || "Toggle";
58
- if (__el && __el.textContent !== __boundValue) __el.textContent = __boundValue;
59
- }
60
- if (key === "children") {
61
- const __el = this.__e1 || (this.__e1 = __gid(__id + "-b2"));
62
- if (__el) {
63
- const __tw = document.createElement("template");
64
- __tw.innerHTML = value;
65
- const __newEl = __tw.content.firstElementChild;
66
- const __existEl = __el.firstElementChild;
67
- if (__newEl && __existEl && __tw.content.childNodes.length === 1) this.constructor[GEA_PATCH_NODE](__existEl, __newEl, true);
68
- else if (__el.innerHTML !== value) {
69
- __el.innerHTML = value;
70
- this[GEA_INSTANTIATE_CHILD_COMPONENTS]();
71
- if (this.parentComponent) this.parentComponent[GEA_MOUNT_COMPILED_CHILD_COMPONENTS]();
72
- }
73
- }
74
- }
75
- }
76
- __resetEls() {
77
- this.__e0 = null;
78
- this.__e1 = null;
43
+ [GEA_CREATE_TEMPLATE](d) {
44
+ const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
45
+ const el0 = root;
46
+ const marker1 = root.firstChild.firstChild;
47
+ const marker2 = root.childNodes[1].firstChild.firstChild;
48
+ reactiveClass(el0, d, this, () => this.props.class || "");
49
+ reactiveTextValue(marker1, d, this, () => this.props.label || "Toggle");
50
+ reactiveText(marker2, d, this, () => this.props.children);
51
+ return root;
79
52
  }
80
53
  };
81
54
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"collapsible.mjs","names":["Component","geaEscapeHtml","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_NODE","GEA_INSTANTIATE_CHILD_COMPONENTS","GEA_MOUNT_COMPILED_CHILD_COMPONENTS","collapsible","normalizeProps","ZagComponent","Collapsible","__geaTagName","open","createMachine","_props","machine","getMachineProps","props","id","defaultOpen","disabled","onOpenChange","details","OpenChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","_register","class","String","trim","label","children","key","value","__el","__boundValue","__newClass","replace","className","__e0","__gid","textContent","__e1","__tw","document","createElement","innerHTML","__newEl","content","firstElementChild","__existEl","childNodes","length","constructor","parentComponent","__resetEls"],"sources":["../src/components/collapsible.tsx"],"sourcesContent":["import * as collapsible from '@zag-js/collapsible'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Collapsible extends ZagComponent {\n declare open: boolean\n\n createMachine(_props: any): any {\n return collapsible.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n open: props.open,\n defaultOpen: props.defaultOpen,\n disabled: props.disabled,\n onOpenChange: (details: collapsible.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return collapsible.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"content\"]': 'getContentProps',\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n <button\n data-part=\"trigger\"\n class=\"collapsible-trigger flex w-full items-center justify-between py-2 text-sm font-medium\"\n >\n {props.label || 'Toggle'}\n </button>\n <div data-part=\"content\" class=\"collapsible-content overflow-hidden\">\n <div class=\"pb-4\">{props.children}</div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":";;;;;AAIA,IAAqBU,cAArB,cAAyCD,aAAa;;sBAAA;;CAGpDI,cAAcC,QAAkB;AAC9B,SAAOP,YAAYQ;;CAGrBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTN,MAAMK,MAAML;GACZO,aAAaF,MAAME;GACnBC,UAAUH,MAAMG;GAChBC,eAAeC,YAA2C;AACxD,SAAKV,OAAOU,QAAQV;AACpBK,UAAMI,eAAeC,QAAQ;;GAEhC;;CAGHE,WAAWC,SAAc;AACvB,SAAOlB,YAAYmB,QAAQD,SAASjB,eAAe;;CAGrDmB,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,2BAAyB;GACzB,2BAAyB;GAC1B;;CAGHC,UAAUC,KAAU;AAClB,OAAKjB,OAAOiB,IAAIjB;;CAGlBkB,SAASb,OAAY;EAAA,MAAAc,OAAA,KAAAb;AAAAlB,YAAAgC,UAAAvB,cAAA,gBAAA;AACnB,SAAA,YAAAsB,KAAA,qBAC+Bd,MAAMgB,SAAS,OAAE,SAAjBhB,MAAMgB,SAAS,QAAE,QAAA,KAAA,aAAjBhB,MAAMgB,SAAS,OAAE,OAAAC,OAAjBjB,MAAMgB,SAAS,GAAE,GAAA,IAAAE,MAAA,CAAA,GAAA,eAzCpDJ,OAAU,MAAK,sHAAf9B,cAAciC,OA8CHjB,MAAMmB,SAAS,SA9CiB,CAAC,CAAA,yFAA5CL,OAAU,MAAK,iBAiDcd,MAAMoB,SAAQ;;CAjD3C,CAAAnC,oBAAwBoC,KAAKC,OAAK;EAAA,MAAAR,OAAA,KAAAb;AAAA,MAAAoB,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAArC;AAuCb,QAAAc;GAAA,MAAAwB,eAEcF,SAAe;AAAE,OAAAC,MAzCpD;IACM,MAAME,aADXR,OAAOO,gBAAyB,GAAG,CAAEN,MAAM,CAACQ,QAAQ,QAAQ,IACf;AACxC,QAAIH,KAAsBI,cAAcF,WAAYF,MAAsBI,YAAYF;;;AACvF,MAAAJ,QAAA,SAAA;GAAA,MAAAE,OAAA,KAAAK,SAAA,KAAAA,OAAAC,MAAAf,OAAA,MAAA;AAoCgB,QAAAd;GAAA,MAAAwB,eAOVF,SAAe;AAAQ,OAAAC,QA9C9BA,KAAsBO,gBAAWN,aAArCD,MAAsBO,cAAWN;;AAAqD,MAAAH,QAAA,YAAA;GAAA,MAAAE,OAAA,KAAAQ,SAAA,KAAAA,OAAAF,MAAAf,OAAA,MAAA;AAAA,OAAAS,MAAtF;IACI,MAAMS,OAAOC,SAASC,cAAc,WAAW;AAC/CF,SAAKG,YAASb;IACd,MAAMc,UAAUJ,KAAKK,QAAQC;IAC7B,MAAMC,YAAYhB,KAAsBe;AACxC,QAAIF,WAAWG,aAAaP,KAAKK,QAAQG,WAAWC,WAAW,EAC7D,MAAKC,YAAWvD,gBAAwBoD,WAAWH,SAAS,KAAK;aACxDb,KAAsBY,cAASb,OAA4B;AACpEC,UAAsBY,YAASb;AAC/B,UAAIlC,mCAAyB;AAC7B,SAAI,KAAKuD,gBAAiB,MAAKA,gBAAetD,sCAAyB;;;;;CAV7EuD,aAAU;AAAV,OAAIhB,OAAyB;AAA7B,OAAIG,OAAyB"}
1
+ {"version":3,"file":"collapsible.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveTextValue","reactiveText","collapsible","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","Collapsible","open","createMachine","_props","machine","getMachineProps","props","id","defaultOpen","disabled","onOpenChange","details","OpenChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","d","root","cloneNode","el0","marker1","marker2","childNodes","class","t1","label","t2","children"],"sources":["../src/components/collapsible.tsx"],"sourcesContent":["import * as collapsible from '@zag-js/collapsible'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Collapsible extends ZagComponent {\n declare open: boolean\n\n createMachine(_props: any): any {\n return collapsible.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n open: props.open,\n defaultOpen: props.defaultOpen,\n disabled: props.disabled,\n onOpenChange: (details: collapsible.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return collapsible.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"content\"]': 'getContentProps',\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n <button\n data-part=\"trigger\"\n class=\"collapsible-trigger flex w-full items-center justify-between py-2 text-sm font-medium\"\n >\n {props.label || 'Toggle'}\n </button>\n <div data-part=\"content\" class=\"collapsible-content overflow-hidden\">\n <div class=\"pb-4\">{props.children}</div>\n </div>\n </div>\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,IAAqBC,cAArB,cAAyCT,aAAa;CAEpDW,cAAcC,QAAkB;AAC9B,SAAOd,YAAYe;;CAErBC,gBAAgBC,OAAY;AAC1B,SAAO;GACLC,IAAI,KAAKA;GACTN,MAAMK,MAAML;GACZO,aAAaF,MAAME;GACnBC,UAAUH,MAAMG;GAChBC,eAAeC,YAA2C;AACxD,SAAKV,OAAOU,QAAQV;AACpBK,UAAMI,eAAeC,QAAQ;;GAEhC;;CAEHE,WAAWC,SAAc;AACvB,SAAOzB,YAAY0B,QAAQD,SAASxB,eAAe;;CAErD0B,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,2BAAyB;GACzB,2BAAyB;GAC1B;;CAEHC,UAAUC,KAAU;AAClB,OAAKjB,OAAOiB,IAAIjB;;CAElB,CAAChB,qBAAqBkC,GAAG;EACvB,MAAMC,QAAQ5B,eAAeA,aAAaC,cAAc,GAAG4B,UAAU,KAAK;EAC1E,MAAMC,MAAMF;EACZ,MAAMG,UAAUH,KAAKrB,WAAWA;EAChC,MAAMyB,UAAUJ,KAAKK,WAAW,GAAG1B,WAAWA;AAC9Cb,gBAAcoC,KAAKH,GAAG,YAAY,KAAKb,MAAMoB,SAAS,GAAG;AAEzDvC,oBAAkBwC,SAAIR,GAAG,YAAY,KAAKb,MAAMsB,SAAS,SAAS;AAElExC,eAAayC,SAAIV,GAAG,YAAY,KAAKb,MAAMwB,SAAS;AACpD,SAAOV"}
@@ -15,7 +15,7 @@ declare class Combobox extends ZagComponent {
15
15
  _buildCollection(items: any[]): _$_zag_js_collection0.ListCollection<any>;
16
16
  _filterItems(query: string): void;
17
17
  getMachineProps(props: any): {
18
- id: any;
18
+ id: string;
19
19
  collection: any;
20
20
  value: any;
21
21
  defaultValue: any;
@@ -60,7 +60,7 @@ declare class Combobox extends ZagComponent {
60
60
  '[data-part="item-indicator"]': (api: any, el: any) => any;
61
61
  };
62
62
  syncState(api: any): void;
63
- template(props: any): string;
63
+ template(props: any): any;
64
64
  }
65
65
  //#endregion
66
66
  export { Combobox as default };