@geajs/ui 0.2.4 → 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 +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,27 +1,35 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
2
- import { Component, GEA_DOM_ITEM, GEA_DOM_KEY, GEA_ELEMENT, GEA_OBSERVE, GEA_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_REGISTER_MAP, GEA_SETUP_LOCAL_STATE_OBSERVERS, GEA_STORE_ROOT, GEA_SYNC_MAP, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
2
+ import { o as GEA_CREATE_TEMPLATE, u as GEA_PROXY_RAW } from "./bind.mjs";
3
+ import { n as reactiveTextValue } from "./reactive-text.mjs";
4
+ import { t as reactiveAttr } from "./reactive-attr.mjs";
5
+ import { t as reactiveClass } from "./reactive-class.mjs";
6
+ import { t as conditionalTruthy } from "./conditional-truthy.mjs";
7
+ import { n as _rescue, t as keyedList } from "./keyed-list.mjs";
8
+ import { t as GEA_DOM_ITEM } from "./keyed-list-symbols.mjs";
9
+ import { n as createItemProxy, t as createItemObservable } from "./item-obs.mjs";
3
10
  import { normalizeProps } from "@zag-js/vanilla";
4
11
  import * as tagsInput from "@zag-js/tags-input";
5
12
  //#region src/components/tags-input.tsx
6
- const __v = (v) => v != null && typeof v === "object" ? v.valueOf() : v;
13
+ let _tpl0_root = null;
14
+ function _tpl0_create() {
15
+ const t = document.createElement("template");
16
+ t.innerHTML = "<div data-part=root><!--1--><div data-part=control class=\"tags-input-control flex flex-wrap gap-1.5 rounded-md border border-input bg-transparent px-3 py-2 shadow-xs focus-within:ring-1 focus-within:ring-ring\"><!--2--><input data-part=input class=\"tags-input-input flex-1 bg-transparent text-sm outline-hidden placeholder:text-muted-foreground min-w-[60px]\"></div><input data-part=hidden-input type=hidden>";
17
+ return t.content.firstChild;
18
+ }
19
+ let _tpl1_root = null;
20
+ function _tpl1_create() {
21
+ const t = document.createElement("template");
22
+ t.innerHTML = "<label data-part=label class=\"tags-input-label text-sm font-medium mb-1 block\">0";
23
+ return t.content.firstChild;
24
+ }
25
+ let _tpl2_root = null;
26
+ function _tpl2_create() {
27
+ const t = document.createElement("template");
28
+ t.innerHTML = "<span data-part=item class=\"tags-input-item inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs font-medium\"><span data-part=item-preview class=\"inline-flex items-center gap-1 data-[highlighted]:ring-2 data-[highlighted]:ring-ring data-[highlighted]:rounded-xs\"><span data-part=item-text>0</span></span><button data-part=item-delete-trigger class=\"tags-input-item-delete text-muted-foreground hover:text-foreground\">✕";
29
+ return t.content.firstChild;
30
+ }
31
+ const __rq_L0 = /* @__PURE__ */ new Map();
7
32
  var TagsInput = class extends ZagComponent {
8
- static {
9
- this.__geaTagName = "tags-input";
10
- }
11
- #__rowEls_b1;
12
- #__dc_b1;
13
- constructor(...args) {
14
- super(...args);
15
- this.props;
16
- this[geaCondValueSymbol(0)] = !!this.props.label;
17
- this[GEA_REGISTER_COND](0, "c0", () => {
18
- this.props;
19
- return this.props.label;
20
- }, () => {
21
- this.props;
22
- return `<label data-part="label" class="tags-input-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(this.props.label))}</label>`;
23
- }, null);
24
- }
25
33
  createMachine(_props) {
26
34
  return tagsInput.machine;
27
35
  }
@@ -93,176 +101,82 @@ var TagsInput = class extends ZagComponent {
93
101
  syncState(api) {
94
102
  this.value = api.value;
95
103
  }
96
- template(props) {
97
- const __id = this.id;
98
- Component._register(ZagComponent, "zag-component");
99
- return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><!--${__id + "-c0"}-->${props.label && `<label data-part="label" class="tags-input-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c0-end"}--><div id="${__id + "-b1"}" data-part="control" class="tags-input-control flex flex-wrap gap-1.5 rounded-md border border-input bg-transparent px-3 py-2 shadow-xs focus-within:ring-1 focus-within:ring-ring">${(this.value || []).map((tag, i) => `<span data-gid="${String(`${tag}-${i}`)}" data-part="item"${String(i) == null || String(i) === false ? "" : ` data-index="${String(i)}"`}${tag == null || tag === false ? "" : ` data-value="${tag}"`} class="tags-input-item inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs font-medium"><span data-part="item-preview"${String(i) == null || String(i) === false ? "" : ` data-index="${String(i)}"`}${tag == null || tag === false ? "" : ` data-value="${tag}"`} class="inline-flex items-center gap-1 data-[highlighted]:ring-2 data-[highlighted]:ring-ring data-[highlighted]:rounded-xs"><span data-part="item-text"${String(i) == null || String(i) === false ? "" : ` data-index="${String(i)}"`}${tag == null || tag === false ? "" : ` data-value="${tag}"`}>${tag}</span></span><button data-part="item-delete-trigger"${String(i) == null || String(i) === false ? "" : ` data-index="${String(i)}"`}${tag == null || tag === false ? "" : ` data-value="${tag}"`} class="tags-input-item-delete text-muted-foreground hover:text-foreground">✕</button></span>`).join("") + "<!---->"}<input data-part="input" class="tags-input-input flex-1 bg-transparent text-sm outline-hidden placeholder:text-muted-foreground min-w-[60px]" /></div><input data-part="hidden-input" type="hidden" /></div>`;
100
- }
101
- render__unresolved_0Item(tag, i) {
102
- return `<span data-gid="${tag?.id ?? tag}" data-part="item"${__v(String(i)) == null || __v(String(i)) === false ? "" : ` data-index="${String(i)}"`}${__v(tag) == null || __v(tag) === false ? "" : ` data-value="${tag}"`} class="tags-input-item inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs font-medium"><span data-part="item-preview"${__v(String(i)) == null || __v(String(i)) === false ? "" : ` data-index="${String(i)}"`}${__v(tag) == null || __v(tag) === false ? "" : ` data-value="${tag}"`} class="inline-flex items-center gap-1 data-[highlighted]:ring-2 data-[highlighted]:ring-ring data-[highlighted]:rounded-xs"><span data-part="item-text"${__v(String(i)) == null || __v(String(i)) === false ? "" : ` data-index="${String(i)}"`}${__v(tag) == null || __v(tag) === false ? "" : ` data-value="${tag}"`}>${tag}</span></span><button data-part="item-delete-trigger"${__v(String(i)) == null || __v(String(i)) === false ? "" : ` data-index="${String(i)}"`}${__v(tag) == null || __v(tag) === false ? "" : ` data-value="${tag}"`} class="tags-input-item-delete text-muted-foreground hover:text-foreground">✕</button></span>`;
103
- }
104
- create__unresolved_0Item(item, __idx) {
105
- var __c = this.#__dc_b1 || (this.#__dc_b1 = this.____unresolved_0_container);
106
- if (!__c.__geaTpl) try {
107
- var __tw = document.createElement("template");
108
- __tw.innerHTML = this.render__unresolved_0Item({}, 0);
109
- __c.__geaTpl = __tw.content.firstElementChild;
110
- __c.__geaTpl?.removeAttribute("data-gid");
111
- } catch (__err) {
112
- console.error(__err);
113
- }
114
- if (__c.__geaTpl) var el = __c.__geaTpl.cloneNode(true);
115
- else {
116
- var __fw = document.createElement("template");
117
- __fw.innerHTML = this.render__unresolved_0Item(item, __idx);
118
- var el = __fw.content.firstElementChild;
119
- }
120
- el.__ref_0 = el.firstElementChild;
121
- el.__ref_0_0 = el.firstElementChild.firstElementChild;
122
- el.__ref_1 = el.firstElementChild.nextElementSibling;
123
- var __av = String(__idx);
124
- if (__av == null || __av === false) el.removeAttribute("data-index");
125
- else {
126
- const __newAttr = String(__av);
127
- if (el.getAttribute("data-index") !== __newAttr) el.setAttribute("data-index", __newAttr);
128
- }
129
- var __av = item;
130
- if (__av == null || __av === false) el.removeAttribute("data-value");
131
- else {
132
- const __newAttr = String(__av);
133
- if (el.getAttribute("data-value") !== __newAttr) el.setAttribute("data-value", __newAttr);
134
- }
135
- var __av = String(__idx);
136
- if (__av == null || __av === false) el.__ref_0.removeAttribute("data-index");
137
- else {
138
- const __newAttr = String(__av);
139
- if (el.__ref_0.getAttribute("data-index") !== __newAttr) el.__ref_0.setAttribute("data-index", __newAttr);
140
- }
141
- var __av = item;
142
- if (__av == null || __av === false) el.__ref_0.removeAttribute("data-value");
143
- else {
144
- const __newAttr = String(__av);
145
- if (el.__ref_0.getAttribute("data-value") !== __newAttr) el.__ref_0.setAttribute("data-value", __newAttr);
146
- }
147
- var __av = String(__idx);
148
- if (__av == null || __av === false) el.__ref_0_0.removeAttribute("data-index");
149
- else {
150
- const __newAttr = String(__av);
151
- if (el.__ref_0_0.getAttribute("data-index") !== __newAttr) el.__ref_0_0.setAttribute("data-index", __newAttr);
152
- }
153
- var __av = item;
154
- if (__av == null || __av === false) el.__ref_0_0.removeAttribute("data-value");
155
- else {
156
- const __newAttr = String(__av);
157
- if (el.__ref_0_0.getAttribute("data-value") !== __newAttr) el.__ref_0_0.setAttribute("data-value", __newAttr);
158
- }
159
- if (el.__ref_0_0.textContent !== `
160
- ${item}
161
- `) el.__ref_0_0.textContent = `
162
- ${item}
163
- `;
164
- var __av = String(__idx);
165
- if (__av == null || __av === false) el.__ref_1.removeAttribute("data-index");
166
- else {
167
- const __newAttr = String(__av);
168
- if (el.__ref_1.getAttribute("data-index") !== __newAttr) el.__ref_1.setAttribute("data-index", __newAttr);
169
- }
170
- var __av = item;
171
- if (__av == null || __av === false) el.__ref_1.removeAttribute("data-value");
172
- else {
173
- const __newAttr = String(__av);
174
- if (el.__ref_1.getAttribute("data-value") !== __newAttr) el.__ref_1.setAttribute("data-value", __newAttr);
175
- }
176
- el[GEA_DOM_KEY] = String(`${item}-${__idx}`);
177
- el[GEA_DOM_ITEM] = item;
178
- return el;
179
- }
180
- patch__unresolved_0Item(row, item, __prevItem, __idx) {
181
- if (!row) return;
182
- if (!row.__ref_0) row.__ref_0 = row.firstElementChild;
183
- if (!row.__ref_0_0) row.__ref_0_0 = row.firstElementChild.firstElementChild;
184
- if (!row.__ref_1) row.__ref_1 = row.firstElementChild.nextElementSibling;
185
- var __av = String(__idx);
186
- if (__av == null || __av === false) row.removeAttribute("data-index");
187
- else {
188
- const __newAttr = String(__av);
189
- if (row.getAttribute("data-index") !== __newAttr) row.setAttribute("data-index", __newAttr);
190
- }
191
- var __av = item;
192
- if (__av == null || __av === false) row.removeAttribute("data-value");
193
- else {
194
- const __newAttr = String(__av);
195
- if (row.getAttribute("data-value") !== __newAttr) row.setAttribute("data-value", __newAttr);
196
- }
197
- var __av = String(__idx);
198
- if (__av == null || __av === false) row.__ref_0.removeAttribute("data-index");
199
- else {
200
- const __newAttr = String(__av);
201
- if (row.__ref_0.getAttribute("data-index") !== __newAttr) row.__ref_0.setAttribute("data-index", __newAttr);
202
- }
203
- var __av = item;
204
- if (__av == null || __av === false) row.__ref_0.removeAttribute("data-value");
205
- else {
206
- const __newAttr = String(__av);
207
- if (row.__ref_0.getAttribute("data-value") !== __newAttr) row.__ref_0.setAttribute("data-value", __newAttr);
208
- }
209
- var __av = String(__idx);
210
- if (__av == null || __av === false) row.__ref_0_0.removeAttribute("data-index");
211
- else {
212
- const __newAttr = String(__av);
213
- if (row.__ref_0_0.getAttribute("data-index") !== __newAttr) row.__ref_0_0.setAttribute("data-index", __newAttr);
214
- }
215
- var __av = item;
216
- if (__av == null || __av === false) row.__ref_0_0.removeAttribute("data-value");
217
- else {
218
- const __newAttr = String(__av);
219
- if (row.__ref_0_0.getAttribute("data-value") !== __newAttr) row.__ref_0_0.setAttribute("data-value", __newAttr);
220
- }
221
- if (row.__ref_0_0.textContent !== `
222
- ${item}
223
- `) row.__ref_0_0.textContent = `
224
- ${item}
225
- `;
226
- var __av = String(__idx);
227
- if (__av == null || __av === false) row.__ref_1.removeAttribute("data-index");
228
- else {
229
- const __newAttr = String(__av);
230
- if (row.__ref_1.getAttribute("data-index") !== __newAttr) row.__ref_1.setAttribute("data-index", __newAttr);
231
- }
232
- var __av = item;
233
- if (__av == null || __av === false) row.__ref_1.removeAttribute("data-value");
234
- else {
235
- const __newAttr = String(__av);
236
- if (row.__ref_1.getAttribute("data-value") !== __newAttr) row.__ref_1.setAttribute("data-value", __newAttr);
237
- }
238
- row[GEA_DOM_KEY] = String(`${item}-${__idx}`);
239
- (this.#__rowEls_b1 || (this.#__rowEls_b1 = {}))[String(`${item}-${__idx}`)] = row;
240
- row[GEA_DOM_ITEM] = item;
241
- }
242
- __observe_local_value(value, change) {
243
- this[GEA_SYNC_MAP](0);
244
- this[GEA_SYNC_MAP](0);
245
- }
246
- [GEA_ON_PROP_CHANGE](key, value) {
247
- if (key === "class") {
248
- const __el = this[GEA_ELEMENT];
249
- this.props;
250
- const __boundValue = value || "";
251
- if (__el) {
252
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
253
- if (__el.className !== __newClass) __el.className = __newClass;
104
+ [GEA_CREATE_TEMPLATE](d) {
105
+ const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
106
+ const el0 = root;
107
+ const anchor1 = root.firstChild;
108
+ const anchor2 = root.childNodes[1].firstChild;
109
+ reactiveClass(el0, d, this, () => this.props.class || "");
110
+ conditionalTruthy(anchor1.parentNode, anchor1, d, this, () => this.props.label, (d) => {
111
+ const root = (_tpl1_root || (_tpl1_root = _tpl1_create())).cloneNode(true);
112
+ const t0 = root.firstChild;
113
+ reactiveTextValue(t0, d, this, () => this.props.label);
114
+ return root;
115
+ });
116
+ const __ki_L0 = (tag, i, d) => {
117
+ const root = (_tpl2_root || (_tpl2_root = _tpl2_create())).cloneNode(true);
118
+ const el0 = root;
119
+ const el1 = el0;
120
+ const el2 = el0;
121
+ const el3 = root.firstChild;
122
+ const el4 = el3;
123
+ const el5 = root.firstChild.firstChild;
124
+ const el6 = el5;
125
+ const marker7 = root.firstChild.firstChild.firstChild;
126
+ const el8 = root.childNodes[1];
127
+ const el9 = el8;
128
+ reactiveAttr(el0, d, this, "key", () => `${tag}-${i}`);
129
+ reactiveAttr(el1, d, this, "data-index", () => String(i));
130
+ reactiveAttr(el2, d, this, "data-value", () => tag);
131
+ reactiveAttr(el3, d, this, "data-index", () => String(i));
132
+ reactiveAttr(el4, d, this, "data-value", () => tag);
133
+ reactiveAttr(el5, d, this, "data-index", () => String(i));
134
+ reactiveAttr(el6, d, this, "data-value", () => tag);
135
+ reactiveTextValue(marker7, d, this, () => tag);
136
+ reactiveAttr(el8, d, this, "data-index", () => String(i));
137
+ reactiveAttr(el9, d, this, "data-value", () => tag);
138
+ root[GEA_DOM_ITEM] = tag;
139
+ return root;
140
+ };
141
+ keyedList({
142
+ container: anchor2.parentNode,
143
+ anchor: anchor2,
144
+ disposer: d,
145
+ root: this,
146
+ pending: __rq_L0,
147
+ path: () => this.value || [],
148
+ key: (tag, i) => `${tag}-${i}`,
149
+ createEntry: (item, idx) => {
150
+ const __k = `${item}-${idx}`;
151
+ const __r = _rescue(__rq_L0, String(__k), item);
152
+ if (__r) {
153
+ const __raw = item && item[GEA_PROXY_RAW] || item;
154
+ if (__r.item !== __raw) {
155
+ __r.item;
156
+ __r.item = __raw;
157
+ __r.obs.current = item;
158
+ __r.obs._fire();
159
+ }
160
+ return __r;
161
+ }
162
+ const __rd = d.child();
163
+ const __obs = createItemObservable(item);
164
+ const __el = __ki_L0(item !== null && typeof item === "object" ? createItemProxy(__obs) : item, idx, __rd);
165
+ return {
166
+ key: __k,
167
+ item: item && item[GEA_PROXY_RAW] || item,
168
+ element: __el,
169
+ disposer: __rd,
170
+ obs: __obs
171
+ };
172
+ },
173
+ patchEntry: (e, newItem, newIdx) => {
174
+ e.item = newItem && newItem[GEA_PROXY_RAW] || newItem;
175
+ e.obs.current = newItem;
176
+ e.obs._fire();
254
177
  }
255
- }
256
- if (key === "label") this[GEA_PATCH_COND](0);
257
- }
258
- createdHooks() {
259
- this[GEA_REGISTER_MAP](0, "____unresolved_0_container", () => __gid(this.id + "-b1"), () => {
260
- return this.value || [];
261
- }, (__item, __idx) => this.create__unresolved_0Item(__item, __idx), (__k, __ki) => String(`${__k}-${__ki}`));
262
- }
263
- [GEA_SETUP_LOCAL_STATE_OBSERVERS]() {
264
- if (!this[GEA_STORE_ROOT]) return;
265
- this[GEA_OBSERVE](this, ["value"], this.__observe_local_value);
178
+ });
179
+ return root;
266
180
  }
267
181
  };
268
182
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"tags-input.mjs","names":["__v","v","valueOf","Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_DOM_KEY","GEA_DOM_ITEM","GEA_SYNC_MAP","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","GEA_REGISTER_MAP","GEA_SETUP_LOCAL_STATE_OBSERVERS","GEA_STORE_ROOT","GEA_OBSERVE","tagsInput","normalizeProps","ZagComponent","TagsInput","__geaTagName","__rowEls_b1","__dc_b1","constructor","args","props","label","String","value","createMachine","_props","machine","getMachineProps","id","defaultValue","max","maxLength","disabled","readOnly","invalid","addOnPaste","editable","allowDuplicates","name","form","placeholder","blurBehavior","delimiter","onValueChange","details","ValueChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","ds","HTMLElement","dataset","getItemProps","index","[data-part=\"item-preview\"]","getItemPreviewProps","[data-part=\"item-text\"]","getItemTextProps","[data-part=\"item-delete-trigger\"]","getItemDeleteTriggerProps","syncState","template","__id","_register","class","trim","map","tag","i","join","render__unresolved_0Item","create__unresolved_0Item","item","__idx","__c","____unresolved_0_container","__geaTpl","__tw","document","createElement","innerHTML","content","firstElementChild","removeAttribute","__err","console","error","cloneNode","__fw","__ref_0","__ref_0_0","__ref_1","nextElementSibling","__av","__newAttr","getAttribute","setAttribute","textContent","patch__unresolved_0Item","row","__prevItem","__observe_local_value","change","key","__el","__boundValue","__newClass","replace","className","createdHooks","__gid","__item","__k","__ki"],"sources":["../src/components/tags-input.tsx"],"sourcesContent":["import * as tagsInput from '@zag-js/tags-input'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class TagsInput extends ZagComponent {\n declare value: string[]\n\n createMachine(_props: any): any {\n return tagsInput.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n max: props.max,\n maxLength: props.maxLength,\n disabled: props.disabled,\n readOnly: props.readOnly,\n invalid: props.invalid,\n addOnPaste: props.addOnPaste ?? false,\n editable: props.editable ?? true,\n allowDuplicates: props.allowDuplicates ?? false,\n name: props.name,\n form: props.form,\n placeholder: props.placeholder,\n blurBehavior: props.blurBehavior,\n delimiter: props.delimiter,\n onValueChange: (details: tagsInput.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return tagsInput.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=\"input\"]': 'getInputProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n '[data-part=\"item\"]': (api, el) => {\n const ds = (el as HTMLElement).dataset\n return api.getItemProps({ index: ds.index!, value: ds.value! })\n },\n '[data-part=\"item-preview\"]': (api, el) => {\n const ds = (el as HTMLElement).dataset\n return api.getItemPreviewProps({ index: ds.index!, value: ds.value! })\n },\n '[data-part=\"item-text\"]': (api, el) => {\n const ds = (el as HTMLElement).dataset\n return api.getItemTextProps({ index: ds.index!, value: ds.value! })\n },\n '[data-part=\"item-delete-trigger\"]': (api, el) => {\n const ds = (el as HTMLElement).dataset\n return api.getItemDeleteTriggerProps({ index: ds.index!, value: ds.value! })\n },\n }\n }\n\n syncState(api: any) {\n this.value = api.value\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=\"tags-input-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div\n data-part=\"control\"\n class=\"tags-input-control flex flex-wrap gap-1.5 rounded-md border border-input bg-transparent px-3 py-2 shadow-xs focus-within:ring-1 focus-within:ring-ring\"\n >\n {(this.value || []).map((tag: string, i: number) => (\n <span\n key={`${tag}-${i}`}\n data-part=\"item\"\n data-index={String(i)}\n data-value={tag}\n class=\"tags-input-item inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs font-medium\"\n >\n <span\n data-part=\"item-preview\"\n data-index={String(i)}\n data-value={tag}\n class=\"inline-flex items-center gap-1 data-[highlighted]:ring-2 data-[highlighted]:ring-ring data-[highlighted]:rounded-xs\"\n >\n <span data-part=\"item-text\" data-index={String(i)} data-value={tag}>\n {tag}\n </span>\n </span>\n <button\n data-part=\"item-delete-trigger\"\n data-index={String(i)}\n data-value={tag}\n class=\"tags-input-item-delete text-muted-foreground hover:text-foreground\"\n >\n &#x2715;\n </button>\n </span>\n ))}\n <input\n data-part=\"input\"\n class=\"tags-input-input flex-1 bg-transparent text-sm outline-hidden placeholder:text-muted-foreground min-w-[60px]\"\n />\n </div>\n <input data-part=\"hidden-input\" type=\"hidden\" />\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"tags-input.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveTextValue","conditionalTruthy","reactiveAttr","GEA_DOM_ITEM","createItemObservable","createItemProxy","GEA_PROXY_RAW","_rescue","keyedList","tagsInput","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","_tpl2_root","_tpl2_create","__rq_L0","Map","TagsInput","value","createMachine","_props","machine","getMachineProps","props","id","defaultValue","max","maxLength","disabled","readOnly","invalid","addOnPaste","editable","allowDuplicates","name","form","placeholder","blurBehavior","delimiter","onValueChange","details","ValueChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","ds","HTMLElement","dataset","getItemProps","index","[data-part=\"item-preview\"]","getItemPreviewProps","[data-part=\"item-text\"]","getItemTextProps","[data-part=\"item-delete-trigger\"]","getItemDeleteTriggerProps","syncState","d","root","cloneNode","el0","anchor1","anchor2","childNodes","class","parentNode","label","marker0","t0","__ki_L0","tag","i","el1","el2","el3","el4","el5","el6","marker7","el8","el9","String","t7","container","anchor","disposer","pending","path","key","createEntry","item","idx","__k","__r","__raw","__prev","obs","current","_fire","__rd","child","__obs","__li","__el","element","patchEntry","e","newItem","newIdx"],"sources":["../src/components/tags-input.tsx"],"sourcesContent":["import * as tagsInput from '@zag-js/tags-input'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class TagsInput extends ZagComponent {\n declare value: string[]\n\n createMachine(_props: any): any {\n return tagsInput.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n max: props.max,\n maxLength: props.maxLength,\n disabled: props.disabled,\n readOnly: props.readOnly,\n invalid: props.invalid,\n addOnPaste: props.addOnPaste ?? false,\n editable: props.editable ?? true,\n allowDuplicates: props.allowDuplicates ?? false,\n name: props.name,\n form: props.form,\n placeholder: props.placeholder,\n blurBehavior: props.blurBehavior,\n delimiter: props.delimiter,\n onValueChange: (details: tagsInput.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return tagsInput.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=\"input\"]': 'getInputProps',\n '[data-part=\"hidden-input\"]': 'getHiddenInputProps',\n '[data-part=\"clear-trigger\"]': 'getClearTriggerProps',\n '[data-part=\"item\"]': (api, el) => {\n const ds = (el as HTMLElement).dataset\n return api.getItemProps({ index: ds.index!, value: ds.value! })\n },\n '[data-part=\"item-preview\"]': (api, el) => {\n const ds = (el as HTMLElement).dataset\n return api.getItemPreviewProps({ index: ds.index!, value: ds.value! })\n },\n '[data-part=\"item-text\"]': (api, el) => {\n const ds = (el as HTMLElement).dataset\n return api.getItemTextProps({ index: ds.index!, value: ds.value! })\n },\n '[data-part=\"item-delete-trigger\"]': (api, el) => {\n const ds = (el as HTMLElement).dataset\n return api.getItemDeleteTriggerProps({ index: ds.index!, value: ds.value! })\n },\n }\n }\n\n syncState(api: any) {\n this.value = api.value\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=\"tags-input-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div\n data-part=\"control\"\n class=\"tags-input-control flex flex-wrap gap-1.5 rounded-md border border-input bg-transparent px-3 py-2 shadow-xs focus-within:ring-1 focus-within:ring-ring\"\n >\n {(this.value || []).map((tag: string, i: number) => (\n <span\n key={`${tag}-${i}`}\n data-part=\"item\"\n data-index={String(i)}\n data-value={tag}\n class=\"tags-input-item inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs font-medium\"\n >\n <span\n data-part=\"item-preview\"\n data-index={String(i)}\n data-value={tag}\n class=\"inline-flex items-center gap-1 data-[highlighted]:ring-2 data-[highlighted]:ring-ring data-[highlighted]:rounded-xs\"\n >\n <span data-part=\"item-text\" data-index={String(i)} data-value={tag}>\n {tag}\n </span>\n </span>\n <button\n data-part=\"item-delete-trigger\"\n data-index={String(i)}\n data-value={tag}\n class=\"tags-input-item-delete text-muted-foreground hover:text-foreground\"\n >\n &#x2715;\n </button>\n </span>\n ))}\n <input\n data-part=\"input\"\n class=\"tags-input-input flex-1 bg-transparent text-sm outline-hidden placeholder:text-muted-foreground min-w-[60px]\"\n />\n </div>\n <input data-part=\"hidden-input\" type=\"hidden\" />\n </div>\n )\n }\n}\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import { Component } from "@geajs/core";
2
2
 
3
3
  //#region src/components/textarea.d.ts
4
4
  declare class Textarea extends Component {
5
- template(props: any): string;
5
+ template(props: any): any;
6
6
  }
7
7
  //#endregion
8
8
  export { Textarea as default };
package/dist/textarea.mjs CHANGED
@@ -1,79 +1,36 @@
1
- import { t as cn } from "./cn.mjs";
2
- import { Component, GEA_ELEMENT, GEA_ON_PROP_CHANGE, geaEscapeHtml } 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 { n as reactiveTextValue } from "./reactive-text.mjs";
4
+ import { t as reactiveAttr } from "./reactive-attr.mjs";
5
+ import { t as reactiveBoolAttr } from "./reactive-bool.mjs";
6
+ import { t as reactiveClass } from "./reactive-class.mjs";
7
+ import { t as delegateEvent } from "./delegate-event.mjs";
3
8
  //#region src/components/textarea.tsx
4
- var Textarea = class extends Component {
5
- static {
6
- this.__geaTagName = "gea-textarea";
7
- }
8
- template(props) {
9
- return `<textarea id="${this.id}"${cn("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class) == null || cn("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class) === false ? "" : ` class="${(cn("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class) != null ? String(cn("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", props.class)) : "").trim()}"`}${props.placeholder == null || props.placeholder === false ? "" : ` placeholder="${props.placeholder}"`}${props.disabled == null || props.disabled === false ? "" : ` disabled="${props.disabled}"`}${props.name == null || props.name === false ? "" : ` name="${props.name}"`}${props.rows == null || props.rows === false ? "" : ` rows="${props.rows}"`}>${geaEscapeHtml(String(props.value || ""))}</textarea>`;
10
- }
11
- get events() {
12
- if (this.__evts && this[GEA_ELEMENT]) return this.__evts;
13
- const __geaEvtsResult = { input: { [`#${this.id}`]: this.__event_input_0 } };
14
- if (this[GEA_ELEMENT]) this.__evts = __geaEvtsResult;
15
- return __geaEvtsResult;
16
- }
17
- __event_input_0(e, targetComponent) {
18
- this.props.onInput(e);
19
- }
20
- [GEA_ON_PROP_CHANGE](key, value) {
21
- if (key === "class") {
22
- const __el = this[GEA_ELEMENT];
23
- this.props;
24
- const __boundValue = cn("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", value);
25
- if (__el) {
26
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
27
- if (__el.className !== __newClass) __el.className = __newClass;
28
- }
29
- }
30
- if (key === "placeholder") {
31
- const __el = this[GEA_ELEMENT];
32
- if (__el) {
33
- var __av = value;
34
- if (__av == null || __av === false) __el.removeAttribute("placeholder");
35
- else {
36
- const __newAttr = String(__av);
37
- if (__el.getAttribute("placeholder") !== __newAttr) __el.setAttribute("placeholder", __newAttr);
38
- }
39
- }
40
- }
41
- if (key === "disabled") {
42
- const __el = this[GEA_ELEMENT];
43
- if (__el) if (!value) __el.removeAttribute("disabled");
44
- else {
45
- const __newAttr = "";
46
- if (__el.getAttribute("disabled") !== __newAttr) __el.setAttribute("disabled", __newAttr);
47
- }
48
- }
49
- if (key === "name") {
50
- const __el = this[GEA_ELEMENT];
51
- if (__el) {
52
- var __av = value;
53
- if (__av == null || __av === false) __el.removeAttribute("name");
54
- else {
55
- const __newAttr = String(__av);
56
- if (__el.getAttribute("name") !== __newAttr) __el.setAttribute("name", __newAttr);
57
- }
58
- }
59
- }
60
- if (key === "rows") {
61
- const __el = this[GEA_ELEMENT];
62
- if (__el) {
63
- var __av = value;
64
- if (__av == null || __av === false) __el.removeAttribute("rows");
65
- else {
66
- const __newAttr = String(__av);
67
- if (__el.getAttribute("rows") !== __newAttr) __el.setAttribute("rows", __newAttr);
68
- }
69
- }
70
- }
71
- if (key === "value") {
72
- const __el = this[GEA_ELEMENT];
73
- this.props;
74
- const __boundValue = value || "";
75
- if (__el && __el.textContent !== __boundValue) __el.textContent = __boundValue;
76
- }
9
+ let _tpl0_root = null;
10
+ function _tpl0_create() {
11
+ const t = document.createElement("template");
12
+ t.innerHTML = "<textarea>0</textarea>";
13
+ return t.content.firstChild;
14
+ }
15
+ var Textarea = class extends CompiledComponent {
16
+ [GEA_CREATE_TEMPLATE](d) {
17
+ const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
18
+ const el0 = root;
19
+ const el1 = el0;
20
+ const el2 = el0;
21
+ const el3 = el0;
22
+ const el4 = el0;
23
+ const evt5 = el0;
24
+ const marker6 = root.firstChild;
25
+ reactiveClass(el0, d, this, () => cn("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", this.props.class));
26
+ reactiveAttr(el1, d, this, "placeholder", () => this.props.placeholder);
27
+ reactiveBoolAttr(el2, d, this, "disabled", () => this.props.disabled);
28
+ reactiveAttr(el3, d, this, "name", () => this.props.name);
29
+ reactiveAttr(el4, d, this, "rows", () => this.props.rows);
30
+ const h5 = this.props.onInput;
31
+ reactiveTextValue(marker6, d, this, () => this.props.value || "");
32
+ delegateEvent(root, "input", [[evt5, h5]], d);
33
+ return root;
77
34
  }
78
35
  };
79
36
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.mjs","names":["Component","geaEscapeHtml","GEA_ELEMENT","GEA_ON_PROP_CHANGE","cn","Textarea","__geaTagName","template","props","__id","id","class","String","trim","placeholder","disabled","name","rows","value","events","__evts","__geaEvtsResult","input","__event_input_0","e","targetComponent","onInput","key","__el","__boundValue","__newClass","replace","className","__av","removeAttribute","__newAttr","getAttribute","setAttribute","textContent"],"sources":["../src/components/textarea.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nexport default class Textarea extends Component {\n template(props: any) {\n return (\n <textarea\n class={cn(\n 'flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n props.class,\n )}\n placeholder={props.placeholder}\n disabled={props.disabled}\n name={props.name}\n rows={props.rows}\n onInput={props.onInput}\n >\n {props.value || ''}\n </textarea>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"textarea.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveAttr","reactiveBoolAttr","reactiveTextValue","delegateEvent","CompiledComponent","Component","cn","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","Textarea","d","root","cloneNode","el0","el1","el2","el3","el4","evt5","marker6","props","class","placeholder","disabled","name","rows","h5","onInput","t6","value"],"sources":["../src/components/textarea.tsx"],"sourcesContent":["import { Component } from '@geajs/core'\nimport { cn } from '../utils/cn'\n\nexport default class Textarea extends Component {\n template(props: any) {\n return (\n <textarea\n class={cn(\n 'flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n props.class,\n )}\n placeholder={props.placeholder}\n disabled={props.disabled}\n name={props.name}\n rows={props.rows}\n onInput={props.onInput}\n >\n {props.value || ''}\n </textarea>\n )\n }\n}\n"],"mappings":";;;;;;;;AAGA,IAAIS,aAAa;AACjB,SAASC,eAAe;CACtB,MAAMC,IAAIC,SAASC,cAAc,WAAW;AAC5CF,GAAEG,YAAY;AACd,QAAOH,EAAEI,QAAQC;;AAEnB,IAAqBC,WAArB,cAAsCX,kBAAkB;CACtD,CAACN,qBAAqBkB,GAAG;EACvB,MAAMC,QAAQV,eAAeA,aAAaC,cAAc,GAAGU,UAAU,KAAK;EAC1E,MAAMC,MAAMF;EACZ,MAAMG,MAAMD;EACZ,MAAME,MAAMF;EACZ,MAAMG,MAAMH;EACZ,MAAMI,MAAMJ;EACZ,MAAMK,OAAOL;EACb,MAAMM,UAAUR,KAAKH;AACrBf,gBAAcoB,KAAKH,GAAG,YAAYV,GAAG,+QAA+Q,KAAKoB,MAAMC,MAAM,CAAC;AACtU3B,eAAaoB,KAAKJ,GAAG,MAAM,qBAAqB,KAAKU,MAAME,YAAY;AACvE3B,mBAAiBoB,KAAKL,GAAG,MAAM,kBAAkB,KAAKU,MAAMG,SAAS;AACrE7B,eAAasB,KAAKN,GAAG,MAAM,cAAc,KAAKU,MAAMI,KAAK;AACzD9B,eAAauB,KAAKP,GAAG,MAAM,cAAc,KAAKU,MAAMK,KAAK;EACzD,MAAMC,KAAK,KAAKN,MAAMO;AAEtB/B,oBAAkBgC,SAAIlB,GAAG,YAAY,KAAKU,MAAMS,SAAS,GAAG;AAC5DhC,gBAAcc,MAAM,SAAS,CAAC,CAACO,MAAMQ,GAAG,CAAC,EAAEhB,EAAE;AAC7C,SAAOC"}
package/dist/theme.css CHANGED
@@ -1,4 +1,4 @@
1
- @import "tailwindcss";
1
+ @import 'tailwindcss';
2
2
 
3
3
  @custom-variant dark (&:where(.dark, .dark *));
4
4
 
@@ -90,7 +90,6 @@
90
90
  }
91
91
 
92
92
  @layer components {
93
-
94
93
  /* Checkbox: hide indicator when unchecked, show on checked */
95
94
  .checkbox-control [data-part='indicator'] {
96
95
  display: none;
@@ -160,11 +159,11 @@
160
159
  }
161
160
 
162
161
  /* Zag component animations */
163
- [data-part='positioner']>[data-part='content'][data-state='open'] {
162
+ [data-part='positioner'] > [data-part='content'][data-state='open'] {
164
163
  animation: fadeIn 150ms ease-out;
165
164
  }
166
165
 
167
- [data-part='positioner']>[data-part='content'][data-state='closed'] {
166
+ [data-part='positioner'] > [data-part='content'][data-state='closed'] {
168
167
  animation: fadeOut 100ms ease-in;
169
168
  }
170
169
 
@@ -245,4 +244,4 @@
245
244
  transform: translateX(0);
246
245
  opacity: 1;
247
246
  }
248
- }
247
+ }
package/dist/toast.d.mts CHANGED
@@ -26,7 +26,7 @@ declare class Toaster extends Component {
26
26
  _applyGroupSpreads(): void;
27
27
  onAfterRender(): void;
28
28
  dispose(): void;
29
- template(props: any): string;
29
+ template(props: any): any;
30
30
  }
31
31
  //#endregion
32
32
  export { ToastStore, Toaster };