@geajs/ui 0.2.4 → 0.2.10

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 +169 -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 +390 -261
  32. package/dist/combobox.mjs.map +1 -1
  33. package/dist/compiled-component.mjs +121 -0
  34. package/dist/compiled-component.mjs.map +1 -0
  35. package/dist/compiled-reactive-component.mjs +435 -0
  36. package/dist/compiled-reactive-component.mjs.map +1 -0
  37. package/dist/component-id.mjs +21 -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 +65 -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 +424 -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 +405 -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 +31 -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 +538 -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 +54 -0
  120. package/dist/reactive-class.mjs.map +1 -0
  121. package/dist/reactive-style.mjs +24 -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 +26 -3
  164. package/dist/zag-component.mjs +73 -17
  165. package/dist/zag-component.mjs.map +1 -1
  166. package/package.json +4 -3
  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,35 +1,40 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
2
- import { Component, GEA_ELEMENT, GEA_OBSERVE, GEA_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_RENDERED, GEA_SETUP_LOCAL_STATE_OBSERVERS, GEA_STORE_ROOT, geaCondPatchedSymbol, 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 conditional } from "./conditional.mjs";
6
+ import { t as conditionalTruthy } from "./conditional-truthy.mjs";
3
7
  import { normalizeProps } from "@zag-js/vanilla";
4
8
  import * as clipboard from "@zag-js/clipboard";
5
9
  //#region src/components/clipboard.tsx
10
+ let _tpl0_root = null;
11
+ function _tpl0_create() {
12
+ const t = document.createElement("template");
13
+ t.innerHTML = "<div data-part=root><!--1--><div data-part=control class=\"clipboard-control flex gap-2\"><input data-part=input class=\"clipboard-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs\"><button data-part=trigger 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\"><!--2-->";
14
+ return t.content.firstChild;
15
+ }
16
+ let _tpl1_root = null;
17
+ function _tpl1_create() {
18
+ const t = document.createElement("template");
19
+ t.innerHTML = "<label data-part=label class=\"clipboard-label text-sm font-medium mb-1 block\">0";
20
+ return t.content.firstChild;
21
+ }
22
+ let _tpl2_root = null;
23
+ function _tpl2_create() {
24
+ const t = document.createElement("template");
25
+ t.innerHTML = "<span data-part=indicator-copied>✓ Copied";
26
+ return t.content.firstChild;
27
+ }
28
+ let _tpl3_root = null;
29
+ function _tpl3_create() {
30
+ const t = document.createElement("template");
31
+ t.innerHTML = "<span data-part=indicator-not-copied>Copy";
32
+ return t.content.firstChild;
33
+ }
6
34
  var Clipboard = class extends ZagComponent {
7
- static {
8
- this.__geaTagName = "gea-clipboard";
9
- }
10
- constructor(...args) {
11
- super(...args);
35
+ constructor(..._args) {
36
+ super(..._args);
12
37
  this.copied = false;
13
- this.props;
14
- this[geaCondValueSymbol(0)] = !!this.copied;
15
- this[geaCondValueSymbol(1)] = !!this.props.label;
16
- this[GEA_REGISTER_COND](0, "c0", () => {
17
- this.props;
18
- return this.copied;
19
- }, () => {
20
- this.props;
21
- return `<span data-part="indicator-copied">✓ Copied</span>`;
22
- }, () => {
23
- this.props;
24
- return `<span data-part="indicator-not-copied">Copy</span>`;
25
- });
26
- this[GEA_REGISTER_COND](1, "c1", () => {
27
- this.props;
28
- return this.props.label;
29
- }, () => {
30
- this.props;
31
- return `<label data-part="label" class="clipboard-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(this.props.label))}</label>`;
32
- }, null);
33
38
  }
34
39
  createMachine(_props) {
35
40
  return clipboard.machine;
@@ -63,35 +68,24 @@ var Clipboard = class extends ZagComponent {
63
68
  syncState(api) {
64
69
  this.copied = api.copied;
65
70
  }
66
- template(props) {
67
- const __id = this.id;
68
- Component._register(ZagComponent, "zag-component");
69
- return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><!--${__id + "-c1"}-->${props.label && `<label data-part="label" class="clipboard-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c1-end"}--><div data-part="control" class="clipboard-control flex gap-2"><input data-part="input" class="clipboard-input flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs" /><button data-part="trigger" 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"><!--${__id + "-c0"}-->${(this.copied ? `<span data-part="indicator-copied">✓ Copied</span>` : `<span data-part="indicator-not-copied">Copy</span>`) || ""}<!--${__id + "-c0-end"}--></button></div></div>`;
70
- }
71
- [GEA_ON_PROP_CHANGE](key, value) {
72
- if (key === "class") {
73
- const __el = this[GEA_ELEMENT];
74
- this.props;
75
- const __boundValue = value || "";
76
- if (__el) {
77
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
78
- if (__el.className !== __newClass) __el.className = __newClass;
79
- }
80
- }
81
- this[GEA_PATCH_COND](0);
82
- if (key === "label") this[GEA_PATCH_COND](1);
83
- }
84
- __observe_local_copied(value, change) {
85
- if (this[GEA_RENDERED]) {
86
- if (!this[geaCondPatchedSymbol(0)]) {
87
- this[geaCondPatchedSymbol(0)] = this[GEA_PATCH_COND](0);
88
- if (this[geaCondPatchedSymbol(0)]) queueMicrotask(() => this[geaCondPatchedSymbol(0)] = false);
89
- }
90
- }
91
- }
92
- [GEA_SETUP_LOCAL_STATE_OBSERVERS]() {
93
- if (!this[GEA_STORE_ROOT]) return;
94
- this[GEA_OBSERVE](this, ["copied"], this.__observe_local_copied);
71
+ [GEA_CREATE_TEMPLATE](d) {
72
+ const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
73
+ const el0 = root;
74
+ const anchor1 = root.firstChild;
75
+ const anchor2 = root.childNodes[1].childNodes[1].firstChild;
76
+ reactiveClass(el0, d, this, () => this.props.class || "");
77
+ conditionalTruthy(anchor1.parentNode, anchor1, d, this, () => this.props.label, (d) => {
78
+ const root = (_tpl1_root || (_tpl1_root = _tpl1_create())).cloneNode(true);
79
+ const t0 = root.firstChild;
80
+ reactiveTextValue(t0, d, this, () => this.props.label);
81
+ return root;
82
+ });
83
+ conditional(anchor2.parentNode, anchor2, d, this, () => this.copied, (d) => {
84
+ return (_tpl2_root || (_tpl2_root = _tpl2_create())).cloneNode(true);
85
+ }, (d) => {
86
+ return (_tpl3_root || (_tpl3_root = _tpl3_create())).cloneNode(true);
87
+ });
88
+ return root;
95
89
  }
96
90
  };
97
91
  //#endregion
@@ -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 };