@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
@@ -7,7 +7,7 @@ declare class RadioGroup extends ZagComponent {
7
7
  value: string | null;
8
8
  createMachine(_props: any): any;
9
9
  getMachineProps(props: any): {
10
- id: any;
10
+ id: string;
11
11
  value: any;
12
12
  defaultValue: any;
13
13
  name: any;
@@ -30,7 +30,7 @@ declare class RadioGroup extends ZagComponent {
30
30
  '[data-part="item-hidden-input"]': (api: any, el: any) => any;
31
31
  };
32
32
  syncState(api: any): void;
33
- template(props: any): string;
33
+ template(props: any): any;
34
34
  }
35
35
  //#endregion
36
36
  export { RadioGroup as default };
@@ -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_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_REGISTER_MAP, GEA_SYNC_MAP, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
2
+ import { t as NOOP_DISPOSER } from "./disposer.mjs";
3
+ import { o as GEA_CREATE_TEMPLATE, u as GEA_PROXY_RAW } from "./bind.mjs";
4
+ import { n as _DIRTY_PROPS } from "./dirty-symbols.mjs";
5
+ import { n as reactiveTextValue } from "./reactive-text.mjs";
6
+ import { t as reactiveClass } from "./reactive-class.mjs";
7
+ import { t as conditionalTruthy } from "./conditional-truthy.mjs";
8
+ import { n as _rescue, t as keyedList } from "./keyed-list.mjs";
9
+ import { t as GEA_DOM_ITEM } from "./keyed-list-symbols.mjs";
3
10
  import { normalizeProps } from "@zag-js/vanilla";
4
11
  import * as radioGroup from "@zag-js/radio-group";
5
12
  //#region src/components/radio-group.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=indicator class=radio-group-indicator></div><!--2-->";
17
+ return t.content.firstChild;
18
+ }
19
+ let _tpl1_root = null;
20
+ function _tpl1_create() {
21
+ const t = document.createElement("template");
22
+ t.innerHTML = "<span data-part=label class=\"radio-group-label text-sm font-medium mb-2 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 = "<label data-part=item class=\"radio-group-item flex items-center gap-2 cursor-pointer py-1\"><div data-part=item-control class=\"radio-group-item-control h-4 w-4 rounded-full border border-primary flex items-center justify-center\"><span class=radio-dot></span></div><input data-part=item-hidden-input type=radio class=sr-only><span data-part=item-text class=\"radio-group-item-text text-sm\">0";
29
+ return t.content.firstChild;
30
+ }
31
+ const __rq_L0 = /* @__PURE__ */ new Map();
7
32
  var RadioGroup = class extends ZagComponent {
8
- static {
9
- this.__geaTagName = "radio-group";
10
- }
11
- #__rowEls_list;
12
- #__dc___unresolved_0;
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 `<span data-part="label" class="radio-group-label text-sm font-medium mb-2 block">${geaEscapeHtml(String(this.props.label))}</span>`;
23
- }, null);
24
- }
25
33
  createMachine(_props) {
26
34
  return radioGroup.machine;
27
35
  }
@@ -58,128 +66,79 @@ var RadioGroup = class extends ZagComponent {
58
66
  syncState(api) {
59
67
  this.value = api.value;
60
68
  }
61
- template(props) {
62
- const __id = this.id;
63
- Component._register(ZagComponent, "zag-component");
64
- const items = props.items || [];
65
- 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 && `<span data-part="label" class="radio-group-label text-sm font-medium mb-2 block">${geaEscapeHtml(String(props.label))}</span>` || ""}<!--${__id + "-c0-end"}--><div data-part="indicator" class="radio-group-indicator"></div>${items.map((item) => `<label data-gid="${item?.value ?? item}" data-part="item"${item.value == null || item.value === false ? "" : ` data-value="${item.value}"`} class="radio-group-item flex items-center gap-2 cursor-pointer py-1"><div data-part="item-control"${item.value == null || item.value === false ? "" : ` data-value="${item.value}"`} class="radio-group-item-control h-4 w-4 rounded-full border border-primary flex items-center justify-center"><span class="radio-dot"></span></div><input data-part="item-hidden-input"${item.value == null || item.value === false ? "" : ` data-value="${item.value}"`} type="radio" class="sr-only" /><span data-part="item-text"${item.value == null || item.value === false ? "" : ` data-value="${item.value}"`} class="radio-group-item-text text-sm">${item.label}</span></label>`).join("") + "<!---->"}</div>`;
66
- }
67
- render__unresolved_0Item(item) {
68
- return `<label data-gid="${item?.value ?? item}" data-part="item"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`} class="radio-group-item flex items-center gap-2 cursor-pointer py-1"><div data-part="item-control"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`} class="radio-group-item-control h-4 w-4 rounded-full border border-primary flex items-center justify-center"><span class="radio-dot"></span></div><input data-part="item-hidden-input"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`} type="radio" class="sr-only" /><span data-part="item-text"${__v(item.value) == null || __v(item.value) === false ? "" : ` data-value="${item.value}"`} class="radio-group-item-text text-sm">${item.label}</span></label>`;
69
- }
70
- create__unresolved_0Item(item) {
71
- var __c = this.#__dc___unresolved_0 || (this.#__dc___unresolved_0 = this.____unresolved_0_container);
72
- if (!__c.__geaTpl) try {
73
- var __tw = document.createElement("template");
74
- __tw.innerHTML = this.render__unresolved_0Item({
75
- value: 0,
76
- label: " "
77
- });
78
- __c.__geaTpl = __tw.content.firstElementChild;
79
- __c.__geaTpl?.removeAttribute("data-gid");
80
- } catch (__err) {
81
- console.error(__err);
82
- }
83
- if (__c.__geaTpl) var el = __c.__geaTpl.cloneNode(true);
84
- else {
85
- var __fw = document.createElement("template");
86
- __fw.innerHTML = this.render__unresolved_0Item(item);
87
- var el = __fw.content.firstElementChild;
88
- }
89
- el.__ref_0 = el.firstElementChild;
90
- el.__ref_1 = el.firstElementChild.nextElementSibling;
91
- el.__ref_2 = el.firstElementChild.nextElementSibling.nextElementSibling;
92
- var __av = item.value;
93
- if (__av == null || __av === false) el.removeAttribute("data-value");
94
- else {
95
- const __newAttr = String(__av);
96
- if (el.getAttribute("data-value") !== __newAttr) el.setAttribute("data-value", __newAttr);
97
- }
98
- var __av = item.value;
99
- if (__av == null || __av === false) el.__ref_0.removeAttribute("data-value");
100
- else {
101
- const __newAttr = String(__av);
102
- if (el.__ref_0.getAttribute("data-value") !== __newAttr) el.__ref_0.setAttribute("data-value", __newAttr);
103
- }
104
- var __av = item.value;
105
- if (__av == null || __av === false) el.__ref_1.removeAttribute("data-value");
106
- else {
107
- const __newAttr = String(__av);
108
- if (el.__ref_1.getAttribute("data-value") !== __newAttr) el.__ref_1.setAttribute("data-value", __newAttr);
109
- }
110
- var __av = item.value;
111
- if (__av == null || __av === false) el.__ref_2.removeAttribute("data-value");
112
- else {
113
- const __newAttr = String(__av);
114
- if (el.__ref_2.getAttribute("data-value") !== __newAttr) el.__ref_2.setAttribute("data-value", __newAttr);
115
- }
116
- if (el.__ref_2.textContent !== `
117
- ${item.label}
118
- `) el.__ref_2.textContent = `
119
- ${item.label}
120
- `;
121
- el[GEA_DOM_KEY] = String(item?.value ?? item);
122
- el[GEA_DOM_ITEM] = item;
123
- return el;
124
- }
125
- patch__unresolved_0Item(row, item, __prevItem) {
126
- if (!row) return;
127
- if (!row.__ref_0) row.__ref_0 = row.firstElementChild;
128
- if (!row.__ref_1) row.__ref_1 = row.firstElementChild.nextElementSibling;
129
- if (!row.__ref_2) row.__ref_2 = row.firstElementChild.nextElementSibling.nextElementSibling;
130
- var __av = item.value;
131
- if (__av == null || __av === false) row.removeAttribute("data-value");
132
- else {
133
- const __newAttr = String(__av);
134
- if (row.getAttribute("data-value") !== __newAttr) row.setAttribute("data-value", __newAttr);
135
- }
136
- var __av = item.value;
137
- if (__av == null || __av === false) row.__ref_0.removeAttribute("data-value");
138
- else {
139
- const __newAttr = String(__av);
140
- if (row.__ref_0.getAttribute("data-value") !== __newAttr) row.__ref_0.setAttribute("data-value", __newAttr);
141
- }
142
- var __av = item.value;
143
- if (__av == null || __av === false) row.__ref_1.removeAttribute("data-value");
144
- else {
145
- const __newAttr = String(__av);
146
- if (row.__ref_1.getAttribute("data-value") !== __newAttr) row.__ref_1.setAttribute("data-value", __newAttr);
147
- }
148
- var __av = item.value;
149
- if (__av == null || __av === false) row.__ref_2.removeAttribute("data-value");
150
- else {
151
- const __newAttr = String(__av);
152
- if (row.__ref_2.getAttribute("data-value") !== __newAttr) row.__ref_2.setAttribute("data-value", __newAttr);
153
- }
154
- if (row.__ref_2.textContent !== `
155
- ${item.label}
156
- `) row.__ref_2.textContent = `
157
- ${item.label}
158
- `;
159
- row[GEA_DOM_KEY] = String(item?.value ?? item);
160
- (this.#__rowEls_list || (this.#__rowEls_list = {}))[String(item?.value ?? item)] = row;
161
- row[GEA_DOM_ITEM] = item;
162
- }
163
- [GEA_ON_PROP_CHANGE](key, value) {
164
- if (key === "class") {
165
- const __el = this[GEA_ELEMENT];
166
- this.props;
167
- const __boundValue = value || "";
168
- if (__el) {
169
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
170
- if (__el.className !== __newClass) __el.className = __newClass;
69
+ [GEA_CREATE_TEMPLATE](d) {
70
+ this.props.items;
71
+ const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
72
+ const el0 = root;
73
+ const anchor1 = root.firstChild;
74
+ const anchor2 = root.childNodes[2];
75
+ reactiveClass(el0, d, this, () => this.props.class || "");
76
+ conditionalTruthy(anchor1.parentNode, anchor1, d, this, () => this.props.label, (d) => {
77
+ const root = (_tpl1_root || (_tpl1_root = _tpl1_create())).cloneNode(true);
78
+ const t0 = root.firstChild;
79
+ reactiveTextValue(t0, d, this, () => this.props.label);
80
+ return root;
81
+ });
82
+ const __ki_L0 = (item, idx, d) => {
83
+ const root = (_tpl2_root || (_tpl2_root = _tpl2_create())).cloneNode(true);
84
+ root.setAttribute("data-value", String(item.value));
85
+ root.firstChild.setAttribute("data-value", String(item.value));
86
+ root.childNodes[1].setAttribute("data-value", String(item.value));
87
+ root.childNodes[2].setAttribute("data-value", String(item.value));
88
+ {
89
+ const __n = root.childNodes[2].firstChild;
90
+ __n.nodeValue = `${item.label ?? ""}`;
171
91
  }
172
- }
173
- if (key === "label") this[GEA_PATCH_COND](0);
174
- if (key === "items") this[GEA_SYNC_MAP](0);
175
- }
176
- __observe_local_props(__v, __c) {
177
- this[GEA_SYNC_MAP](0);
178
- }
179
- createdHooks() {
180
- this[GEA_REGISTER_MAP](0, "____unresolved_0_container", () => this.$(":scope"), () => {
181
- return this.props.items || [];
182
- }, (__item) => this.create__unresolved_0Item(__item), "value");
92
+ root[GEA_DOM_ITEM] = item;
93
+ return root;
94
+ };
95
+ const __kp_L0 = (el, item) => {
96
+ if (!item[_DIRTY_PROPS] || item[_DIRTY_PROPS].has("value")) el.setAttribute("data-value", String(item.value));
97
+ if (!item[_DIRTY_PROPS] || item[_DIRTY_PROPS].has("value")) (el.__r0 || (el.__r0 = el.firstChild)).setAttribute("data-value", String(item.value));
98
+ if (!item[_DIRTY_PROPS] || item[_DIRTY_PROPS].has("value")) (el.__r1 || (el.__r1 = el.childNodes[1])).setAttribute("data-value", String(item.value));
99
+ if (!item[_DIRTY_PROPS] || item[_DIRTY_PROPS].has("value")) (el.__r2 || (el.__r2 = el.childNodes[2])).setAttribute("data-value", String(item.value));
100
+ if (!item[_DIRTY_PROPS] || item[_DIRTY_PROPS].has("label")) {
101
+ const __n = el.__r3 || (el.__r3 = el.childNodes[2].firstChild);
102
+ __n.nodeValue = `${item.label ?? ""}`;
103
+ }
104
+ };
105
+ keyedList({
106
+ container: anchor2.parentNode,
107
+ anchor: anchor2,
108
+ disposer: d,
109
+ root: this,
110
+ pending: __rq_L0,
111
+ path: () => this.props.items || [],
112
+ key: (item, idx) => item.value,
113
+ createEntry: (item, idx) => {
114
+ const __k = item.value;
115
+ const __r = _rescue(__rq_L0, String(__k), item);
116
+ if (__r) {
117
+ const __raw = item && item[GEA_PROXY_RAW] || item;
118
+ if (__r.item !== __raw) {
119
+ const __prev = __r.item;
120
+ __r.item = __raw;
121
+ __kp_L0(__r.element, item, __prev, idx);
122
+ }
123
+ return __r;
124
+ }
125
+ const __rd = NOOP_DISPOSER;
126
+ const __obs = null;
127
+ const __el = __ki_L0(item, idx, __rd);
128
+ return {
129
+ key: __k,
130
+ item: item && item[GEA_PROXY_RAW] || item,
131
+ element: __el,
132
+ disposer: __rd,
133
+ obs: __obs
134
+ };
135
+ },
136
+ patchEntry: (e, newItem, newIdx) => {
137
+ e.item = newItem && newItem[GEA_PROXY_RAW] || newItem;
138
+ __kp_L0(e.element, newItem);
139
+ }
140
+ });
141
+ return root;
183
142
  }
184
143
  };
185
144
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.mjs","names":["__v","v","valueOf","Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_DOM_KEY","GEA_DOM_ITEM","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","GEA_SYNC_MAP","GEA_REGISTER_MAP","radioGroup","normalizeProps","ZagComponent","RadioGroup","__geaTagName","__rowEls_list","__dc___unresolved_0","constructor","args","props","label","String","value","createMachine","_props","machine","getMachineProps","id","defaultValue","name","form","disabled","readOnly","orientation","onValueChange","details","ValueChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","getItemProps","HTMLElement","dataset","[data-part=\"item-text\"]","getItemTextProps","[data-part=\"item-control\"]","getItemControlProps","[data-part=\"item-hidden-input\"]","getItemHiddenInputProps","syncState","template","__id","_register","items","class","trim","map","item","join","render__unresolved_0Item","create__unresolved_0Item","__c","____unresolved_0_container","__geaTpl","__tw","document","createElement","innerHTML","content","firstElementChild","removeAttribute","__err","console","error","cloneNode","__fw","__ref_0","__ref_1","nextElementSibling","__ref_2","__av","__newAttr","getAttribute","setAttribute","textContent","patch__unresolved_0Item","row","__prevItem","key","__el","__boundValue","__newClass","replace","className","__observe_local_props","createdHooks","$","__item"],"sources":["../src/components/radio-group.tsx"],"sourcesContent":["import * as radioGroup from '@zag-js/radio-group'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class RadioGroup extends ZagComponent {\n declare value: string | null\n\n createMachine(_props: any): any {\n return radioGroup.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n name: props.name,\n form: props.form,\n disabled: props.disabled,\n readOnly: props.readOnly,\n orientation: props.orientation ?? 'vertical',\n onValueChange: (details: radioGroup.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return radioGroup.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"indicator\"]': 'getIndicatorProps',\n '[data-part=\"item\"]': (api, el) => api.getItemProps({ value: (el as HTMLElement).dataset.value }),\n '[data-part=\"item-text\"]': (api, el) => api.getItemTextProps({ value: (el as HTMLElement).dataset.value }),\n '[data-part=\"item-control\"]': (api, el) => api.getItemControlProps({ value: (el as HTMLElement).dataset.value }),\n '[data-part=\"item-hidden-input\"]': (api, el) =>\n api.getItemHiddenInputProps({ value: (el as HTMLElement).dataset.value }),\n }\n }\n\n syncState(api: any) {\n this.value = api.value\n }\n\n template(props: any) {\n const items = props.items || []\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <span data-part=\"label\" class=\"radio-group-label text-sm font-medium mb-2 block\">\n {props.label}\n </span>\n )}\n <div data-part=\"indicator\" class=\"radio-group-indicator\"></div>\n {items.map((item: any) => (\n <label\n key={item.value}\n data-part=\"item\"\n data-value={item.value}\n class=\"radio-group-item flex items-center gap-2 cursor-pointer py-1\"\n >\n <div\n data-part=\"item-control\"\n data-value={item.value}\n class=\"radio-group-item-control h-4 w-4 rounded-full border border-primary flex items-center justify-center\"\n >\n <span class=\"radio-dot\"></span>\n </div>\n <input data-part=\"item-hidden-input\" data-value={item.value} type=\"radio\" class=\"sr-only\" />\n <span data-part=\"item-text\" data-value={item.value} class=\"radio-group-item-text text-sm\">\n {item.label}\n </span>\n </label>\n ))}\n </div>\n )\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"radio-group.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveTextValue","conditionalTruthy","reactiveAttr","GEA_DIRTY_PROPS","GEA_DOM_ITEM","GEA_PROXY_RAW","_rescue","NOOP_DISPOSER","keyedList","radioGroup","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","_tpl2_root","_tpl2_create","__rq_L0","Map","RadioGroup","value","createMachine","_props","machine","getMachineProps","props","id","defaultValue","name","form","disabled","readOnly","orientation","onValueChange","details","ValueChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","getItemProps","HTMLElement","dataset","[data-part=\"item-text\"]","getItemTextProps","[data-part=\"item-control\"]","getItemControlProps","[data-part=\"item-hidden-input\"]","getItemHiddenInputProps","syncState","d","items","root","cloneNode","el0","anchor1","anchor2","childNodes","class","parentNode","label","marker0","t0","__ki_L0","item","idx","setAttribute","String","__n","nodeValue","__kp_L0","has","__r0","__r1","__r2","__r3","container","anchor","disposer","pending","path","key","createEntry","__k","__r","__raw","__prev","element","__rd","__obs","__li","__el","obs","patchEntry","e","newItem","newIdx"],"sources":["../src/components/radio-group.tsx"],"sourcesContent":["import * as radioGroup from '@zag-js/radio-group'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class RadioGroup extends ZagComponent {\n declare value: string | null\n\n createMachine(_props: any): any {\n return radioGroup.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n name: props.name,\n form: props.form,\n disabled: props.disabled,\n readOnly: props.readOnly,\n orientation: props.orientation ?? 'vertical',\n onValueChange: (details: radioGroup.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return radioGroup.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"indicator\"]': 'getIndicatorProps',\n '[data-part=\"item\"]': (api, el) => api.getItemProps({ value: (el as HTMLElement).dataset.value }),\n '[data-part=\"item-text\"]': (api, el) => api.getItemTextProps({ value: (el as HTMLElement).dataset.value }),\n '[data-part=\"item-control\"]': (api, el) => api.getItemControlProps({ value: (el as HTMLElement).dataset.value }),\n '[data-part=\"item-hidden-input\"]': (api, el) =>\n api.getItemHiddenInputProps({ value: (el as HTMLElement).dataset.value }),\n }\n }\n\n syncState(api: any) {\n this.value = api.value\n }\n\n template(props: any) {\n const items = props.items || []\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <span data-part=\"label\" class=\"radio-group-label text-sm font-medium mb-2 block\">\n {props.label}\n </span>\n )}\n <div data-part=\"indicator\" class=\"radio-group-indicator\"></div>\n {items.map((item: any) => (\n <label\n key={item.value}\n data-part=\"item\"\n data-value={item.value}\n class=\"radio-group-item flex items-center gap-2 cursor-pointer py-1\"\n >\n <div\n data-part=\"item-control\"\n data-value={item.value}\n class=\"radio-group-item-control h-4 w-4 rounded-full border border-primary flex items-center justify-center\"\n >\n <span class=\"radio-dot\"></span>\n </div>\n <input data-part=\"item-hidden-input\" data-value={item.value} type=\"radio\" class=\"sr-only\" />\n <span data-part=\"item-text\" data-value={item.value} class=\"radio-group-item-text text-sm\">\n {item.label}\n </span>\n </label>\n ))}\n </div>\n )\n }\n}\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ declare class RatingGroup extends ZagComponent {
8
8
  _allowHalf: boolean;
9
9
  createMachine(_props: any): any;
10
10
  getMachineProps(props: any): {
11
- id: any;
11
+ id: string;
12
12
  value: any;
13
13
  defaultValue: any;
14
14
  count: any;
@@ -31,7 +31,7 @@ declare class RatingGroup extends ZagComponent {
31
31
  };
32
32
  syncState(api: any): void;
33
33
  _applyAllSpreads(): void;
34
- template(props: any): string;
34
+ template(props: any): any;
35
35
  }
36
36
  //#endregion
37
37
  export { RatingGroup as default };
@@ -1,27 +1,36 @@
1
1
  import { t as ZagComponent } from "./zag-component.mjs";
2
- import { Component, GEA_DOM_ITEM, GEA_DOM_KEY, GEA_ELEMENT, GEA_ON_PROP_CHANGE, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_REGISTER_MAP, 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 reactiveStyle } from "./reactive-style.mjs";
7
+ import { t as conditionalTruthy } from "./conditional-truthy.mjs";
8
+ import { n as _rescue, t as keyedList } from "./keyed-list.mjs";
9
+ import { t as GEA_DOM_ITEM } from "./keyed-list-symbols.mjs";
10
+ import { n as createItemProxy, t as createItemObservable } from "./item-obs.mjs";
3
11
  import { normalizeProps } from "@zag-js/vanilla";
4
12
  import * as ratingGroup from "@zag-js/rating-group";
5
13
  //#region src/components/rating-group.tsx
6
- const __v = (v) => v != null && typeof v === "object" ? v.valueOf() : v;
14
+ let _tpl0_root = null;
15
+ function _tpl0_create() {
16
+ const t = document.createElement("template");
17
+ t.innerHTML = "<div data-part=root><!--1--><div data-part=control class=\"rating-group-control flex gap-0.5\"><!--2--></div><input data-part=hidden-input type=hidden>";
18
+ return t.content.firstChild;
19
+ }
20
+ let _tpl1_root = null;
21
+ function _tpl1_create() {
22
+ const t = document.createElement("template");
23
+ t.innerHTML = "<label data-part=label class=\"rating-group-label text-sm font-medium mb-1 block\">0";
24
+ return t.content.firstChild;
25
+ }
26
+ let _tpl2_root = null;
27
+ function _tpl2_create() {
28
+ const t = document.createElement("template");
29
+ t.innerHTML = "<span data-part=item class=\"rating-group-item cursor-pointer text-2xl text-muted-foreground data-[highlighted]:text-yellow-400 data-[checked]:text-yellow-400\">★";
30
+ return t.content.firstChild;
31
+ }
32
+ const __rq_L0 = /* @__PURE__ */ new Map();
7
33
  var RatingGroup = class extends ZagComponent {
8
- static {
9
- this.__geaTagName = "rating-group";
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="rating-group-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(this.props.label))}</label>`;
23
- }, null);
24
- }
25
34
  createMachine(_props) {
26
35
  return ratingGroup.machine;
27
36
  }
@@ -88,87 +97,70 @@ var RatingGroup = class extends ZagComponent {
88
97
  }
89
98
  }
90
99
  }
91
- template(props) {
92
- const __id = this.id;
93
- Component._register(ZagComponent, "zag-component");
94
- const count = props.count ?? 5;
95
- const items = Array.from({ length: count }, (_, i) => i + 1);
96
- 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="rating-group-label text-sm font-medium mb-1 block">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c0-end"}--><div id="${__id + "-b1"}" data-part="control" class="rating-group-control flex gap-0.5">${items.map((i) => `<span data-gid="${String(i)}" data-part="item"${String(i) == null || String(i) === false ? "" : ` data-index="${String(i)}"`} class="rating-group-item cursor-pointer text-2xl text-muted-foreground data-[highlighted]:text-yellow-400 data-[checked]:text-yellow-400" style="line-height: 1px">★</span>`).join("") + "<!---->"}</div><input data-part="hidden-input" type="hidden" /></div>`;
97
- }
98
- render__unresolved_0Item(i) {
99
- return `<span data-gid="${String(i)}" data-part="item"${__v(String(i)) == null || __v(String(i)) === false ? "" : ` data-index="${String(i)}"`} class="rating-group-item cursor-pointer text-2xl text-muted-foreground data-[highlighted]:text-yellow-400 data-[checked]:text-yellow-400" style="line-height: 1px">★</span>`;
100
- }
101
- create__unresolved_0Item(item) {
102
- var __c = this.#__dc_b1 || (this.#__dc_b1 = this.____unresolved_0_container);
103
- if (!__c.__geaTpl) try {
104
- var __tw = document.createElement("template");
105
- __tw.innerHTML = this.render__unresolved_0Item("__dummy__");
106
- __c.__geaTpl = __tw.content.firstElementChild;
107
- __c.__geaTpl?.removeAttribute("data-gid");
108
- } catch (__err) {
109
- console.error(__err);
110
- }
111
- if (__c.__geaTpl) var el = __c.__geaTpl.cloneNode(true);
112
- else {
113
- var __fw = document.createElement("template");
114
- __fw.innerHTML = this.render__unresolved_0Item(item);
115
- var el = __fw.content.firstElementChild;
116
- }
117
- var __av = String(item);
118
- if (__av == null || __av === false) el.removeAttribute("data-index");
119
- else {
120
- const __newAttr = String(__av);
121
- if (el.getAttribute("data-index") !== __newAttr) el.setAttribute("data-index", __newAttr);
122
- }
123
- var __av = { lineHeight: 1 };
124
- if (__av == null || __av === void 0) el.removeAttribute("style");
125
- else {
126
- const __newCss = typeof __av === "object" ? Object.entries(__av).map(([k, v]) => k.replace(/[A-Z]/g, "-$&") + ": " + v).join("; ") : String(__av);
127
- if (el.style.cssText !== __newCss) el.style.cssText = __newCss;
128
- }
129
- el[GEA_DOM_KEY] = String(item);
130
- el[GEA_DOM_ITEM] = item;
131
- return el;
132
- }
133
- patch__unresolved_0Item(row, item, __prevItem) {
134
- if (!row) return;
135
- var __av = String(item);
136
- if (__av == null || __av === false) row.removeAttribute("data-index");
137
- else {
138
- const __newAttr = String(__av);
139
- if (row.getAttribute("data-index") !== __newAttr) row.setAttribute("data-index", __newAttr);
140
- }
141
- var __av = { lineHeight: 1 };
142
- if (__av == null || __av === void 0) row.removeAttribute("style");
143
- else {
144
- const __newCss = typeof __av === "object" ? Object.entries(__av).map(([k, v]) => k.replace(/[A-Z]/g, "-$&") + ": " + v).join("; ") : String(__av);
145
- if (row.style.cssText !== __newCss) row.style.cssText = __newCss;
146
- }
147
- row[GEA_DOM_KEY] = String(item);
148
- (this.#__rowEls_b1 || (this.#__rowEls_b1 = {}))[String(item)] = row;
149
- row[GEA_DOM_ITEM] = item;
150
- }
151
- [GEA_ON_PROP_CHANGE](key, value) {
152
- if (key === "class") {
153
- const __el = this[GEA_ELEMENT];
154
- this.props;
155
- const __boundValue = value || "";
156
- if (__el) {
157
- const __newClass = String(__boundValue ?? "").trim().replace(/\s+/g, " ");
158
- if (__el.className !== __newClass) __el.className = __newClass;
100
+ [GEA_CREATE_TEMPLATE](d) {
101
+ this.props.count;
102
+ Array.from({ length: this.props.count ?? 5 }, (_, i) => i + 1);
103
+ const root = (_tpl0_root || (_tpl0_root = _tpl0_create())).cloneNode(true);
104
+ const el0 = root;
105
+ const anchor1 = root.firstChild;
106
+ const anchor2 = root.childNodes[1].firstChild;
107
+ reactiveClass(el0, d, this, () => this.props.class || "");
108
+ conditionalTruthy(anchor1.parentNode, anchor1, d, this, () => this.props.label, (d) => {
109
+ const root = (_tpl1_root || (_tpl1_root = _tpl1_create())).cloneNode(true);
110
+ const t0 = root.firstChild;
111
+ reactiveTextValue(t0, d, this, () => this.props.label);
112
+ return root;
113
+ });
114
+ const __ki_L0 = (i, idx, d) => {
115
+ const root = (_tpl2_root || (_tpl2_root = _tpl2_create())).cloneNode(true);
116
+ const el0 = root;
117
+ const el1 = el0;
118
+ const el2 = el0;
119
+ reactiveAttr(el0, d, this, "key", () => i);
120
+ reactiveAttr(el1, d, this, "data-index", () => String(i));
121
+ reactiveStyle(el2, d, this, () => ({ lineHeight: 1 }));
122
+ root[GEA_DOM_ITEM] = i;
123
+ return root;
124
+ };
125
+ keyedList({
126
+ container: anchor2.parentNode,
127
+ anchor: anchor2,
128
+ disposer: d,
129
+ root: this,
130
+ pending: __rq_L0,
131
+ path: () => Array.from({ length: this.props.count ?? 5 }, (_, i) => i + 1),
132
+ key: (i, idx) => i,
133
+ createEntry: (item, idx) => {
134
+ const __k = item;
135
+ const __r = _rescue(__rq_L0, String(__k), item);
136
+ if (__r) {
137
+ const __raw = item && item[GEA_PROXY_RAW] || item;
138
+ if (__r.item !== __raw) {
139
+ __r.item;
140
+ __r.item = __raw;
141
+ __r.obs.current = item;
142
+ __r.obs._fire();
143
+ }
144
+ return __r;
145
+ }
146
+ const __rd = d.child();
147
+ const __obs = createItemObservable(item);
148
+ const __el = __ki_L0(item !== null && typeof item === "object" ? createItemProxy(__obs) : item, idx, __rd);
149
+ return {
150
+ key: __k,
151
+ item: item && item[GEA_PROXY_RAW] || item,
152
+ element: __el,
153
+ disposer: __rd,
154
+ obs: __obs
155
+ };
156
+ },
157
+ patchEntry: (e, newItem, newIdx) => {
158
+ e.item = newItem && newItem[GEA_PROXY_RAW] || newItem;
159
+ e.obs.current = newItem;
160
+ e.obs._fire();
159
161
  }
160
- }
161
- if (key === "label") this[GEA_PATCH_COND](0);
162
- if (key === "count") this[GEA_SYNC_MAP](0);
163
- }
164
- __observe_local_props(__v, __c) {
165
- this[GEA_SYNC_MAP](0);
166
- }
167
- createdHooks() {
168
- this[GEA_REGISTER_MAP](0, "____unresolved_0_container", () => __gid(this.id + "-b1"), () => {
169
- const count = this.props.count ?? 5;
170
- return Array.from({ length: count }, (_, i) => i + 1);
171
- }, (__item) => this.create__unresolved_0Item(__item));
162
+ });
163
+ return root;
172
164
  }
173
165
  };
174
166
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"rating-group.mjs","names":["__v","v","valueOf","Component","geaCondValueSymbol","GEA_REGISTER_COND","geaEscapeHtml","GEA_DOM_KEY","GEA_DOM_ITEM","GEA_ON_PROP_CHANGE","GEA_ELEMENT","GEA_PATCH_COND","GEA_SYNC_MAP","GEA_REGISTER_MAP","ratingGroup","normalizeProps","ZagComponent","RatingGroup","__geaTagName","__rowEls_b1","__dc_b1","constructor","args","props","label","String","value","_allowHalf","createMachine","_props","machine","getMachineProps","allowHalf","id","defaultValue","count","readOnly","disabled","name","form","onValueChange","details","ValueChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","htmlEl","HTMLElement","index","parseInt","dataset","getItemProps","onpointerdown","e","PointerEvent","rect","getBoundingClientRect","isLeftHalf","clientX","left","width","setValue","syncState","_applyAllSpreads","_api","items","querySelectorAll","i","length","state","getItemState","half","style","background","backgroundClip","setProperty","template","__id","_register","Array","from","_","class","trim","map","join","render__unresolved_0Item","create__unresolved_0Item","item","__c","____unresolved_0_container","__geaTpl","__tw","document","createElement","innerHTML","content","firstElementChild","removeAttribute","__err","console","error","cloneNode","__fw","__av","__newAttr","getAttribute","setAttribute","lineHeight","undefined","__newCss","Object","entries","k","replace","cssText","patch__unresolved_0Item","row","__prevItem","key","__el","__boundValue","__newClass","className","__observe_local_props","createdHooks","__gid","__item"],"sources":["../src/components/rating-group.tsx"],"sourcesContent":["import * as ratingGroup from '@zag-js/rating-group'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class RatingGroup extends ZagComponent {\n declare value: number\n declare _allowHalf: boolean\n\n createMachine(_props: any): any {\n return ratingGroup.machine\n }\n\n getMachineProps(props: any) {\n this._allowHalf = !!props.allowHalf\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n count: props.count ?? 5,\n allowHalf: !!props.allowHalf,\n readOnly: props.readOnly,\n disabled: props.disabled,\n name: props.name,\n form: props.form,\n onValueChange: (details: ratingGroup.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return ratingGroup.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=\"hidden-input\"]': 'getHiddenInputProps',\n '[data-part=\"item\"]': (api, el) => {\n const htmlEl = el as HTMLElement\n const index = parseInt(htmlEl.dataset.index || '0', 10)\n const props = api.getItemProps({ index })\n if (this._allowHalf) {\n props.onpointerdown = (e: PointerEvent) => {\n const rect = htmlEl.getBoundingClientRect()\n const isLeftHalf = e.clientX - rect.left < rect.width / 2\n api.setValue(isLeftHalf ? index - 0.5 : index)\n }\n }\n return props\n },\n }\n }\n\n syncState(api: any) {\n this.value = api.value\n }\n\n _applyAllSpreads() {\n super._applyAllSpreads()\n if (!this._api || !this.el) return\n const items = this.el.querySelectorAll('[data-part=\"item\"]')\n for (let i = 0; i < items.length; i++) {\n const el = items[i] as HTMLElement\n const index = parseInt(el.dataset.index || '0', 10)\n const state = this._api.getItemState({ index })\n if (state.half) {\n el.style.background = 'linear-gradient(90deg, #facc15 50%, hsl(var(--muted-foreground)) 50%)'\n el.style.backgroundClip = 'text'\n el.style.setProperty('-webkit-background-clip', 'text')\n el.style.setProperty('-webkit-text-fill-color', 'transparent')\n } else {\n el.style.background = ''\n el.style.backgroundClip = ''\n el.style.setProperty('-webkit-background-clip', '')\n el.style.setProperty('-webkit-text-fill-color', '')\n }\n }\n }\n\n template(props: any) {\n const count = props.count ?? 5\n const items = Array.from({ length: count }, (_, i) => i + 1)\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"rating-group-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"rating-group-control flex gap-0.5\">\n {items.map((i: number) => (\n <span\n key={i}\n data-part=\"item\"\n data-index={String(i)}\n class=\"rating-group-item cursor-pointer text-2xl text-muted-foreground data-[highlighted]:text-yellow-400 data-[checked]:text-yellow-400\"\n style={{ lineHeight: 1 }}\n >\n &#x2605;\n </span>\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":"rating-group.mjs","names":["GEA_CREATE_TEMPLATE","reactiveClass","reactiveTextValue","conditionalTruthy","reactiveAttr","reactiveStyle","GEA_DOM_ITEM","createItemObservable","createItemProxy","GEA_PROXY_RAW","_rescue","keyedList","ratingGroup","normalizeProps","ZagComponent","_tpl0_root","_tpl0_create","t","document","createElement","innerHTML","content","firstChild","_tpl1_root","_tpl1_create","_tpl2_root","_tpl2_create","__rq_L0","Map","RatingGroup","value","_allowHalf","createMachine","_props","machine","getMachineProps","props","allowHalf","id","defaultValue","count","readOnly","disabled","name","form","onValueChange","details","ValueChangeDetails","connectApi","service","connect","getSpreadMap","[data-part=\"item\"]","api","el","htmlEl","HTMLElement","index","parseInt","dataset","getItemProps","onpointerdown","e","PointerEvent","rect","getBoundingClientRect","isLeftHalf","clientX","left","width","setValue","syncState","_applyAllSpreads","_api","items","querySelectorAll","i","length","state","getItemState","half","style","background","backgroundClip","setProperty","d","Array","from","_","root","cloneNode","el0","anchor1","anchor2","childNodes","class","parentNode","label","marker0","t0","__ki_L0","idx","el1","el2","String","lineHeight","container","anchor","disposer","pending","path","key","createEntry","item","__k","__r","__raw","__prev","obs","current","_fire","__rd","child","__obs","__li","__el","element","patchEntry","newItem","newIdx"],"sources":["../src/components/rating-group.tsx"],"sourcesContent":["import * as ratingGroup from '@zag-js/rating-group'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class RatingGroup extends ZagComponent {\n declare value: number\n declare _allowHalf: boolean\n\n createMachine(_props: any): any {\n return ratingGroup.machine\n }\n\n getMachineProps(props: any) {\n this._allowHalf = !!props.allowHalf\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n count: props.count ?? 5,\n allowHalf: !!props.allowHalf,\n readOnly: props.readOnly,\n disabled: props.disabled,\n name: props.name,\n form: props.form,\n onValueChange: (details: ratingGroup.ValueChangeDetails) => {\n this.value = details.value\n props.onValueChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return ratingGroup.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=\"hidden-input\"]': 'getHiddenInputProps',\n '[data-part=\"item\"]': (api, el) => {\n const htmlEl = el as HTMLElement\n const index = parseInt(htmlEl.dataset.index || '0', 10)\n const props = api.getItemProps({ index })\n if (this._allowHalf) {\n props.onpointerdown = (e: PointerEvent) => {\n const rect = htmlEl.getBoundingClientRect()\n const isLeftHalf = e.clientX - rect.left < rect.width / 2\n api.setValue(isLeftHalf ? index - 0.5 : index)\n }\n }\n return props\n },\n }\n }\n\n syncState(api: any) {\n this.value = api.value\n }\n\n _applyAllSpreads() {\n super._applyAllSpreads()\n if (!this._api || !this.el) return\n const items = this.el.querySelectorAll('[data-part=\"item\"]')\n for (let i = 0; i < items.length; i++) {\n const el = items[i] as HTMLElement\n const index = parseInt(el.dataset.index || '0', 10)\n const state = this._api.getItemState({ index })\n if (state.half) {\n el.style.background = 'linear-gradient(90deg, #facc15 50%, hsl(var(--muted-foreground)) 50%)'\n el.style.backgroundClip = 'text'\n el.style.setProperty('-webkit-background-clip', 'text')\n el.style.setProperty('-webkit-text-fill-color', 'transparent')\n } else {\n el.style.background = ''\n el.style.backgroundClip = ''\n el.style.setProperty('-webkit-background-clip', '')\n el.style.setProperty('-webkit-text-fill-color', '')\n }\n }\n }\n\n template(props: any) {\n const count = props.count ?? 5\n const items = Array.from({ length: count }, (_, i) => i + 1)\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"rating-group-label text-sm font-medium mb-1 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"rating-group-control flex gap-0.5\">\n {items.map((i: number) => (\n <span\n key={i}\n data-part=\"item\"\n data-index={String(i)}\n class=\"rating-group-item cursor-pointer text-2xl text-muted-foreground data-[highlighted]:text-yellow-400 data-[checked]:text-yellow-400\"\n style={{ lineHeight: 1 }}\n >\n &#x2605;\n </span>\n ))}\n </div>\n <input data-part=\"hidden-input\" type=\"hidden\" />\n </div>\n )\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { t as bind } from "./bind.mjs";
2
+ import { t as patch } from "./patch.mjs";
3
+ //#region ../gea/src/runtime/reactive-attr.ts
4
+ const reactiveAttr = (el, d, root, attrName, pathOrGetter) => {
5
+ let prev = void 0;
6
+ bind(d, root, pathOrGetter, (v) => {
7
+ prev = patch(el, "attr", prev, v, attrName);
8
+ });
9
+ };
10
+ //#endregion
11
+ export { reactiveAttr as t };
12
+
13
+ //# sourceMappingURL=reactive-attr.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reactive-attr.mjs","names":[],"sources":["../../gea/src/runtime/reactive-attr.ts"],"sourcesContent":["import type { Disposer } from './disposer'\nimport { bind } from './bind'\nimport { patch } from './patch'\n\nexport const reactiveAttr = (\n el: Element,\n d: Disposer,\n root: any,\n attrName: string,\n pathOrGetter: readonly string[] | (() => unknown),\n): void => {\n let prev: unknown = undefined\n bind(d, root, pathOrGetter, (v) => {\n prev = patch(el, 'attr', prev, v, attrName)\n })\n}\n"],"mappings":";;;AAIA,MAAa,gBACX,IACA,GACA,MACA,UACA,iBACS;CACT,IAAI,OAAgB,KAAA;AACpB,MAAK,GAAG,MAAM,eAAe,MAAM;AACjC,SAAO,MAAM,IAAI,QAAQ,MAAM,GAAG,SAAS;GAC3C"}