@geajs/ui 0.1.4 → 0.2.0

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 (127) hide show
  1. package/README.md +14 -19
  2. package/dist/accordion.d.mts +34 -0
  3. package/dist/accordion.mjs +167 -0
  4. package/dist/accordion.mjs.map +1 -0
  5. package/dist/alert.d.mts +15 -0
  6. package/dist/alert.mjs +101 -0
  7. package/dist/alert.mjs.map +1 -0
  8. package/dist/avatar.d.mts +26 -0
  9. package/dist/avatar.mjs +97 -0
  10. package/dist/avatar.mjs.map +1 -0
  11. package/dist/badge.d.mts +9 -0
  12. package/dist/badge.mjs +49 -0
  13. package/dist/badge.mjs.map +1 -0
  14. package/dist/button.d.mts +21 -0
  15. package/dist/button.mjs +96 -0
  16. package/dist/button.mjs.map +1 -0
  17. package/dist/card.d.mts +24 -0
  18. package/dist/card.mjs +169 -0
  19. package/dist/card.mjs.map +1 -0
  20. package/dist/checkbox.d.mts +37 -0
  21. package/dist/checkbox.mjs +80 -0
  22. package/dist/checkbox.mjs.map +1 -0
  23. package/dist/clipboard.d.mts +33 -0
  24. package/dist/clipboard.mjs +100 -0
  25. package/dist/clipboard.mjs.map +1 -0
  26. package/dist/cn.mjs +10 -0
  27. package/dist/cn.mjs.map +1 -0
  28. package/dist/collapsible.d.mts +29 -0
  29. package/dist/collapsible.mjs +77 -0
  30. package/dist/collapsible.mjs.map +1 -0
  31. package/dist/combobox.d.mts +67 -0
  32. package/dist/combobox.mjs +375 -0
  33. package/dist/combobox.mjs.map +1 -0
  34. package/dist/dialog.d.mts +57 -0
  35. package/dist/dialog.mjs +139 -0
  36. package/dist/dialog.mjs.map +1 -0
  37. package/dist/dnd-manager.d.mts +67 -0
  38. package/dist/dnd-manager.mjs +387 -0
  39. package/dist/dnd-manager.mjs.map +1 -0
  40. package/dist/drag-drop-context.d.mts +11 -0
  41. package/dist/drag-drop-context.mjs +43 -0
  42. package/dist/drag-drop-context.mjs.map +1 -0
  43. package/dist/draggable.d.mts +11 -0
  44. package/dist/draggable.mjs +72 -0
  45. package/dist/draggable.mjs.map +1 -0
  46. package/dist/droppable.d.mts +14 -0
  47. package/dist/droppable.mjs +66 -0
  48. package/dist/droppable.mjs.map +1 -0
  49. package/dist/file-upload.d.mts +38 -0
  50. package/dist/file-upload.mjs +170 -0
  51. package/dist/file-upload.mjs.map +1 -0
  52. package/dist/hover-card.d.mts +33 -0
  53. package/dist/hover-card.mjs +92 -0
  54. package/dist/hover-card.mjs.map +1 -0
  55. package/dist/index.d.mts +41 -1068
  56. package/dist/index.mjs +41 -4332
  57. package/dist/input.d.mts +9 -0
  58. package/dist/input.mjs +82 -0
  59. package/dist/input.mjs.map +1 -0
  60. package/dist/label.d.mts +9 -0
  61. package/dist/label.mjs +42 -0
  62. package/dist/label.mjs.map +1 -0
  63. package/dist/menu.d.mts +36 -0
  64. package/dist/menu.mjs +88 -0
  65. package/dist/menu.mjs.map +1 -0
  66. package/dist/number-input.d.mts +46 -0
  67. package/dist/number-input.mjs +89 -0
  68. package/dist/number-input.mjs.map +1 -0
  69. package/dist/pagination.d.mts +37 -0
  70. package/dist/pagination.mjs +97 -0
  71. package/dist/pagination.mjs.map +1 -0
  72. package/dist/pin-input.d.mts +45 -0
  73. package/dist/pin-input.mjs +147 -0
  74. package/dist/pin-input.mjs.map +1 -0
  75. package/dist/popover.d.mts +39 -0
  76. package/dist/popover.mjs +109 -0
  77. package/dist/popover.mjs.map +1 -0
  78. package/dist/progress.d.mts +34 -0
  79. package/dist/progress.mjs +86 -0
  80. package/dist/progress.mjs.map +1 -0
  81. package/dist/radio-group.d.mts +37 -0
  82. package/dist/radio-group.mjs +184 -0
  83. package/dist/radio-group.mjs.map +1 -0
  84. package/dist/rating-group.d.mts +38 -0
  85. package/dist/rating-group.mjs +171 -0
  86. package/dist/rating-group.mjs.map +1 -0
  87. package/dist/select.d.mts +54 -0
  88. package/dist/select.mjs +277 -0
  89. package/dist/select.mjs.map +1 -0
  90. package/dist/separator.d.mts +9 -0
  91. package/dist/separator.mjs +49 -0
  92. package/dist/separator.mjs.map +1 -0
  93. package/dist/skeleton.d.mts +9 -0
  94. package/dist/skeleton.mjs +43 -0
  95. package/dist/skeleton.mjs.map +1 -0
  96. package/dist/slider.d.mts +44 -0
  97. package/dist/slider.mjs +117 -0
  98. package/dist/slider.mjs.map +1 -0
  99. package/dist/switch.d.mts +37 -0
  100. package/dist/switch.mjs +80 -0
  101. package/dist/switch.mjs.map +1 -0
  102. package/dist/tabs.d.mts +36 -0
  103. package/dist/tabs.mjs +197 -0
  104. package/dist/tabs.mjs.map +1 -0
  105. package/dist/tags-input.d.mts +48 -0
  106. package/dist/tags-input.mjs +267 -0
  107. package/dist/tags-input.mjs.map +1 -0
  108. package/dist/textarea.d.mts +9 -0
  109. package/dist/textarea.mjs +73 -0
  110. package/dist/textarea.mjs.map +1 -0
  111. package/dist/toast.d.mts +33 -0
  112. package/dist/toast.mjs +213 -0
  113. package/dist/toast.mjs.map +1 -0
  114. package/dist/toggle-group.d.mts +32 -0
  115. package/dist/toggle-group.mjs +124 -0
  116. package/dist/toggle-group.mjs.map +1 -0
  117. package/dist/tooltip.d.mts +39 -0
  118. package/dist/tooltip.mjs +85 -0
  119. package/dist/tooltip.mjs.map +1 -0
  120. package/dist/tree-view.d.mts +35 -0
  121. package/dist/tree-view.mjs +94 -0
  122. package/dist/tree-view.mjs.map +1 -0
  123. package/dist/zag-component.d.mts +40 -0
  124. package/dist/zag-component.mjs +135 -0
  125. package/dist/zag-component.mjs.map +1 -0
  126. package/package.json +8 -8
  127. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,184 @@
1
+ import { t as ZagComponent } from "./zag-component.mjs";
2
+ import { Component, GEA_CTOR_TAG_NAME, GEA_DOM_ITEM, GEA_DOM_KEY, GEA_ELEMENT, GEA_MAP_CONFIG_TPL, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_REGISTER_MAP, GEA_SYNC_MAP, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
3
+ import { normalizeProps } from "@zag-js/vanilla";
4
+ import * as radioGroup from "@zag-js/radio-group";
5
+ //#region src/components/radio-group.tsx
6
+ const __v = (v) => v != null && typeof v === "object" ? v.valueOf() : v;
7
+ var RadioGroup = class extends ZagComponent {
8
+ static {
9
+ this[GEA_CTOR_TAG_NAME] = "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
+ createMachine(_props) {
26
+ return radioGroup.machine;
27
+ }
28
+ getMachineProps(props) {
29
+ return {
30
+ id: this.id,
31
+ value: props.value,
32
+ defaultValue: props.defaultValue,
33
+ name: props.name,
34
+ form: props.form,
35
+ disabled: props.disabled,
36
+ readOnly: props.readOnly,
37
+ orientation: props.orientation ?? "vertical",
38
+ onValueChange: (details) => {
39
+ this.value = details.value;
40
+ props.onValueChange?.(details);
41
+ }
42
+ };
43
+ }
44
+ connectApi(service) {
45
+ return radioGroup.connect(service, normalizeProps);
46
+ }
47
+ getSpreadMap() {
48
+ return {
49
+ "[data-part=\"root\"]": "getRootProps",
50
+ "[data-part=\"label\"]": "getLabelProps",
51
+ "[data-part=\"indicator\"]": "getIndicatorProps",
52
+ "[data-part=\"item\"]": (api, el) => api.getItemProps({ value: el.dataset.value }),
53
+ "[data-part=\"item-text\"]": (api, el) => api.getItemTextProps({ value: el.dataset.value }),
54
+ "[data-part=\"item-control\"]": (api, el) => api.getItemControlProps({ value: el.dataset.value }),
55
+ "[data-part=\"item-hidden-input\"]": (api, el) => api.getItemHiddenInputProps({ value: el.dataset.value })
56
+ };
57
+ }
58
+ syncState(api) {
59
+ this.value = api.value;
60
+ }
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-gea-item-id="${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-gea-item-id="${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[GEA_MAP_CONFIG_TPL]) try {
73
+ var __tw = document.createElement("template");
74
+ __tw.innerHTML = this.render__unresolved_0Item({
75
+ value: 0,
76
+ label: " "
77
+ });
78
+ __c[GEA_MAP_CONFIG_TPL] = __tw.content.firstElementChild;
79
+ __c[GEA_MAP_CONFIG_TPL]?.removeAttribute("data-gea-item-id");
80
+ } catch (__err) {
81
+ console.error(__err);
82
+ }
83
+ if (__c[GEA_MAP_CONFIG_TPL]) var el = __c[GEA_MAP_CONFIG_TPL].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
+ el.__ref_2.firstChild.nodeValue = `
117
+ ${item.label}
118
+ `;
119
+ el[GEA_DOM_KEY] = String(item?.value ?? item);
120
+ el[GEA_DOM_ITEM] = item;
121
+ return el;
122
+ }
123
+ patch__unresolved_0Item(row, item, __prevItem) {
124
+ if (!row) return;
125
+ if (!row.__ref_0) row.__ref_0 = row.firstElementChild;
126
+ if (!row.__ref_1) row.__ref_1 = row.firstElementChild.nextElementSibling;
127
+ if (!row.__ref_2) row.__ref_2 = row.firstElementChild.nextElementSibling.nextElementSibling;
128
+ var __av = item.value;
129
+ if (__av == null || __av === false) row.removeAttribute("data-value");
130
+ else {
131
+ const __newAttr = String(__av);
132
+ if (row.getAttribute("data-value") !== __newAttr) row.setAttribute("data-value", __newAttr);
133
+ }
134
+ var __av = item.value;
135
+ if (__av == null || __av === false) row.__ref_0.removeAttribute("data-value");
136
+ else {
137
+ const __newAttr = String(__av);
138
+ if (row.__ref_0.getAttribute("data-value") !== __newAttr) row.__ref_0.setAttribute("data-value", __newAttr);
139
+ }
140
+ var __av = item.value;
141
+ if (__av == null || __av === false) row.__ref_1.removeAttribute("data-value");
142
+ else {
143
+ const __newAttr = String(__av);
144
+ if (row.__ref_1.getAttribute("data-value") !== __newAttr) row.__ref_1.setAttribute("data-value", __newAttr);
145
+ }
146
+ var __av = item.value;
147
+ if (__av == null || __av === false) row.__ref_2.removeAttribute("data-value");
148
+ else {
149
+ const __newAttr = String(__av);
150
+ if (row.__ref_2.getAttribute("data-value") !== __newAttr) row.__ref_2.setAttribute("data-value", __newAttr);
151
+ }
152
+ row.__ref_2.firstChild.nodeValue = `
153
+ ${item.label}
154
+ `;
155
+ row[GEA_DOM_KEY] = String(item?.value ?? item);
156
+ (this.#__rowEls_list || (this.#__rowEls_list = {}))[String(item?.value ?? item)] = row;
157
+ row[GEA_DOM_ITEM] = item;
158
+ }
159
+ __onPropChange(key, value) {
160
+ if (key === "class") {
161
+ const __el = this[GEA_ELEMENT];
162
+ this.props;
163
+ const __boundValue = value || "";
164
+ if (__el) {
165
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
166
+ if (__el.className !== __newClass) __el.className = __newClass;
167
+ }
168
+ }
169
+ if (key === "label") this[GEA_PATCH_COND](0);
170
+ if (key === "items") this[GEA_SYNC_MAP](0);
171
+ }
172
+ __observe_local_props(__v, __c) {
173
+ this[GEA_SYNC_MAP](0);
174
+ }
175
+ createdHooks() {
176
+ this[GEA_REGISTER_MAP](0, "____unresolved_0_container", () => this.$(":scope"), () => {
177
+ return this.props.items || [];
178
+ }, (__item) => this.create__unresolved_0Item(__item), "value");
179
+ }
180
+ };
181
+ //#endregion
182
+ export { RadioGroup as default };
183
+
184
+ //# sourceMappingURL=radio-group.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.mjs","names":["__v","v","valueOf","Component","GEA_RENDERED","GEA_ELEMENT","GEA_MAPS","GEA_CONDS","GEA_RESET_ELS","GEA_OBSERVE","GEA_OBSERVE_LIST","GEA_EL","GEA_UPDATE_TEXT","GEA_REQUEST_RENDER","GEA_UPDATE_PROPS","GEA_SYNC_MAP","GEA_REGISTER_MAP","GEA_PATCH_COND","GEA_REGISTER_COND","GEA_REFRESH_LIST","GEA_RECONCILE_LIST","GEA_ENSURE_ARRAY_CONFIGS","GEA_APPLY_LIST_CHANGES","GEA_SWAP_CHILD","GEA_SWAP_STATE_CHILDREN","GEA_CHILD","GEA_LIST_CONFIG_REFRESHING","GEA_DOM_KEY","GEA_DOM_ITEM","GEA_DOM_PROPS","GEA_MAP_CONFIG_TPL","GEA_MAP_CONFIG_PREV","GEA_MAP_CONFIG_COUNT","geaCondPatchedSymbol","geaCondValueSymbol","geaObservePrevSymbol","geaPrevGuardSymbol","GEA_SETUP_LOCAL_STATE_OBSERVERS","geaSanitizeAttr","geaEscapeHtml","GEA_CTOR_TAG_NAME","radioGroup","normalizeProps","ZagComponent","RadioGroup","__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","__tw","document","createElement","innerHTML","content","firstElementChild","removeAttribute","__err","console","error","cloneNode","__fw","__ref_0","__ref_1","nextElementSibling","__ref_2","__av","__newAttr","getAttribute","setAttribute","firstChild","nodeValue","patch__unresolved_0Item","row","__prevItem","__onPropChange","key","__el","__boundValue","__newClass","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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"}
@@ -0,0 +1,38 @@
1
+ import { n as ZagComponent } from "./zag-component.mjs";
2
+ import * as ratingGroup from "@zag-js/rating-group";
3
+ import * as _$_zag_js_types0 from "@zag-js/types";
4
+
5
+ //#region src/components/rating-group.d.ts
6
+ declare class RatingGroup extends ZagComponent {
7
+ value: number;
8
+ _allowHalf: boolean;
9
+ createMachine(_props: any): any;
10
+ getMachineProps(props: any): {
11
+ id: any;
12
+ value: any;
13
+ defaultValue: any;
14
+ count: any;
15
+ allowHalf: boolean;
16
+ readOnly: any;
17
+ disabled: any;
18
+ name: any;
19
+ form: any;
20
+ onValueChange: (details: ratingGroup.ValueChangeDetails) => void;
21
+ };
22
+ connectApi(service: any): ratingGroup.Api<_$_zag_js_types0.PropTypes<{
23
+ [x: string]: any;
24
+ }>>;
25
+ getSpreadMap(): {
26
+ '[data-part="root"]': string;
27
+ '[data-part="label"]': string;
28
+ '[data-part="control"]': string;
29
+ '[data-part="hidden-input"]': string;
30
+ '[data-part="item"]': (api: any, el: any) => any;
31
+ };
32
+ syncState(api: any): void;
33
+ _applyAllSpreads(): void;
34
+ template(props: any): string;
35
+ }
36
+ //#endregion
37
+ export { RatingGroup as default };
38
+ //# sourceMappingURL=rating-group.d.mts.map
@@ -0,0 +1,171 @@
1
+ import { t as ZagComponent } from "./zag-component.mjs";
2
+ import { Component, GEA_CTOR_TAG_NAME, GEA_DOM_ITEM, GEA_DOM_KEY, GEA_ELEMENT, GEA_MAP_CONFIG_TPL, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_REGISTER_MAP, GEA_SYNC_MAP, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
3
+ import { normalizeProps } from "@zag-js/vanilla";
4
+ import * as ratingGroup from "@zag-js/rating-group";
5
+ //#region src/components/rating-group.tsx
6
+ const __v = (v) => v != null && typeof v === "object" ? v.valueOf() : v;
7
+ var RatingGroup = class extends ZagComponent {
8
+ static {
9
+ this[GEA_CTOR_TAG_NAME] = "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
+ createMachine(_props) {
26
+ return ratingGroup.machine;
27
+ }
28
+ getMachineProps(props) {
29
+ this._allowHalf = !!props.allowHalf;
30
+ return {
31
+ id: this.id,
32
+ value: props.value,
33
+ defaultValue: props.defaultValue,
34
+ count: props.count ?? 5,
35
+ allowHalf: !!props.allowHalf,
36
+ readOnly: props.readOnly,
37
+ disabled: props.disabled,
38
+ name: props.name,
39
+ form: props.form,
40
+ onValueChange: (details) => {
41
+ this.value = details.value;
42
+ props.onValueChange?.(details);
43
+ }
44
+ };
45
+ }
46
+ connectApi(service) {
47
+ return ratingGroup.connect(service, normalizeProps);
48
+ }
49
+ getSpreadMap() {
50
+ return {
51
+ "[data-part=\"root\"]": "getRootProps",
52
+ "[data-part=\"label\"]": "getLabelProps",
53
+ "[data-part=\"control\"]": "getControlProps",
54
+ "[data-part=\"hidden-input\"]": "getHiddenInputProps",
55
+ "[data-part=\"item\"]": (api, el) => {
56
+ const htmlEl = el;
57
+ const index = parseInt(htmlEl.dataset.index || "0", 10);
58
+ const props = api.getItemProps({ index });
59
+ if (this._allowHalf) props.onpointerdown = (e) => {
60
+ const rect = htmlEl.getBoundingClientRect();
61
+ const isLeftHalf = e.clientX - rect.left < rect.width / 2;
62
+ api.setValue(isLeftHalf ? index - .5 : index);
63
+ };
64
+ return props;
65
+ }
66
+ };
67
+ }
68
+ syncState(api) {
69
+ this.value = api.value;
70
+ }
71
+ _applyAllSpreads() {
72
+ super._applyAllSpreads();
73
+ if (!this._api || !this.el) return;
74
+ const items = this.el.querySelectorAll("[data-part=\"item\"]");
75
+ for (let i = 0; i < items.length; i++) {
76
+ const el = items[i];
77
+ const index = parseInt(el.dataset.index || "0", 10);
78
+ if (this._api.getItemState({ index }).half) {
79
+ el.style.background = "linear-gradient(90deg, #facc15 50%, hsl(var(--muted-foreground)) 50%)";
80
+ el.style.backgroundClip = "text";
81
+ el.style.setProperty("-webkit-background-clip", "text");
82
+ el.style.setProperty("-webkit-text-fill-color", "transparent");
83
+ } else {
84
+ el.style.background = "";
85
+ el.style.backgroundClip = "";
86
+ el.style.setProperty("-webkit-background-clip", "");
87
+ el.style.setProperty("-webkit-text-fill-color", "");
88
+ }
89
+ }
90
+ }
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-gea-item-id="${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-gea-item-id="${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[GEA_MAP_CONFIG_TPL]) try {
104
+ var __tw = document.createElement("template");
105
+ __tw.innerHTML = this.render__unresolved_0Item("__dummy__");
106
+ __c[GEA_MAP_CONFIG_TPL] = __tw.content.firstElementChild;
107
+ __c[GEA_MAP_CONFIG_TPL]?.removeAttribute("data-gea-item-id");
108
+ } catch (__err) {
109
+ console.error(__err);
110
+ }
111
+ if (__c[GEA_MAP_CONFIG_TPL]) var el = __c[GEA_MAP_CONFIG_TPL].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 === false) el.removeAttribute("style");
125
+ else el.style.cssText = typeof __av === "object" ? Object.entries(__av).map(([k, v]) => k.replace(/[A-Z]/g, "-$&") + ": " + v).join("; ") : String(__av);
126
+ el[GEA_DOM_KEY] = String(item);
127
+ el[GEA_DOM_ITEM] = item;
128
+ return el;
129
+ }
130
+ patch__unresolved_0Item(row, item, __prevItem) {
131
+ if (!row) return;
132
+ var __av = String(item);
133
+ if (__av == null || __av === false) row.removeAttribute("data-index");
134
+ else {
135
+ const __newAttr = String(__av);
136
+ if (row.getAttribute("data-index") !== __newAttr) row.setAttribute("data-index", __newAttr);
137
+ }
138
+ var __av = { lineHeight: 1 };
139
+ if (__av == null || __av === false) row.removeAttribute("style");
140
+ else row.style.cssText = typeof __av === "object" ? Object.entries(__av).map(([k, v]) => k.replace(/[A-Z]/g, "-$&") + ": " + v).join("; ") : String(__av);
141
+ row[GEA_DOM_KEY] = String(item);
142
+ (this.#__rowEls_b1 || (this.#__rowEls_b1 = {}))[String(item)] = row;
143
+ row[GEA_DOM_ITEM] = item;
144
+ }
145
+ __onPropChange(key, value) {
146
+ if (key === "class") {
147
+ const __el = this[GEA_ELEMENT];
148
+ this.props;
149
+ const __boundValue = value || "";
150
+ if (__el) {
151
+ const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
152
+ if (__el.className !== __newClass) __el.className = __newClass;
153
+ }
154
+ }
155
+ if (key === "label") this[GEA_PATCH_COND](0);
156
+ if (key === "count") this[GEA_SYNC_MAP](0);
157
+ }
158
+ __observe_local_props(__v, __c) {
159
+ this[GEA_SYNC_MAP](0);
160
+ }
161
+ createdHooks() {
162
+ this[GEA_REGISTER_MAP](0, "____unresolved_0_container", () => document.getElementById(this.id + "-b1"), () => {
163
+ const count = this.props.count ?? 5;
164
+ return Array.from({ length: count }, (_, i) => i + 1);
165
+ }, (__item) => this.create__unresolved_0Item(__item));
166
+ }
167
+ };
168
+ //#endregion
169
+ export { RatingGroup as default };
170
+
171
+ //# sourceMappingURL=rating-group.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating-group.mjs","names":["__v","v","valueOf","Component","GEA_RENDERED","GEA_ELEMENT","GEA_MAPS","GEA_CONDS","GEA_RESET_ELS","GEA_OBSERVE","GEA_OBSERVE_LIST","GEA_EL","GEA_UPDATE_TEXT","GEA_REQUEST_RENDER","GEA_UPDATE_PROPS","GEA_SYNC_MAP","GEA_REGISTER_MAP","GEA_PATCH_COND","GEA_REGISTER_COND","GEA_REFRESH_LIST","GEA_RECONCILE_LIST","GEA_ENSURE_ARRAY_CONFIGS","GEA_APPLY_LIST_CHANGES","GEA_SWAP_CHILD","GEA_SWAP_STATE_CHILDREN","GEA_CHILD","GEA_LIST_CONFIG_REFRESHING","GEA_DOM_KEY","GEA_DOM_ITEM","GEA_DOM_PROPS","GEA_MAP_CONFIG_TPL","GEA_MAP_CONFIG_PREV","GEA_MAP_CONFIG_COUNT","geaCondPatchedSymbol","geaCondValueSymbol","geaObservePrevSymbol","geaPrevGuardSymbol","GEA_SETUP_LOCAL_STATE_OBSERVERS","geaSanitizeAttr","geaEscapeHtml","GEA_CTOR_TAG_NAME","ratingGroup","normalizeProps","ZagComponent","RatingGroup","__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","__tw","document","createElement","innerHTML","content","firstElementChild","removeAttribute","__err","console","error","cloneNode","__fw","__av","__newAttr","getAttribute","setAttribute","lineHeight","cssText","Object","entries","k","replace","patch__unresolved_0Item","row","__prevItem","__onPropChange","key","__el","__boundValue","__newClass","className","__observe_local_props","createdHooks","getElementById","__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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"}
@@ -0,0 +1,54 @@
1
+ import { n as ZagComponent } from "./zag-component.mjs";
2
+ import * as select from "@zag-js/select";
3
+ import * as _$_zag_js_types0 from "@zag-js/types";
4
+
5
+ //#region src/components/select.d.ts
6
+ declare class Select extends ZagComponent {
7
+ open: boolean;
8
+ value: string[];
9
+ valueAsString: string;
10
+ createMachine(_props: any): any;
11
+ getMachineProps(props: any): {
12
+ id: any;
13
+ collection: any;
14
+ value: any;
15
+ defaultValue: any;
16
+ open: any;
17
+ defaultOpen: any;
18
+ multiple: any;
19
+ disabled: any;
20
+ invalid: any;
21
+ readOnly: any;
22
+ required: any;
23
+ name: any;
24
+ form: any;
25
+ closeOnSelect: any;
26
+ positioning: any;
27
+ loopFocus: any;
28
+ onValueChange: (details: select.ValueChangeDetails) => void;
29
+ onOpenChange: (details: select.OpenChangeDetails) => void;
30
+ };
31
+ connectApi(service: any): select.Api<_$_zag_js_types0.PropTypes<{
32
+ [x: string]: any;
33
+ }>, any>;
34
+ getSpreadMap(): {
35
+ '[data-part="root"]': string;
36
+ '[data-part="label"]': string;
37
+ '[data-part="control"]': string;
38
+ '[data-part="trigger"]': string;
39
+ '[data-part="indicator"]': string;
40
+ '[data-part="clear-trigger"]': string;
41
+ '[data-part="value-text"]': string;
42
+ '[data-part="positioner"]': string;
43
+ '[data-part="content"]': string;
44
+ '[data-part="list"]': string;
45
+ '[data-part="item"]': (api: any, el: any) => any;
46
+ '[data-part="item-text"]': (api: any, el: any) => any;
47
+ '[data-part="item-indicator"]': (api: any, el: any) => any;
48
+ };
49
+ syncState(api: any): void;
50
+ template(props: any): string;
51
+ }
52
+ //#endregion
53
+ export { Select as default };
54
+ //# sourceMappingURL=select.d.mts.map