@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.
- package/README.md +14 -19
- package/dist/accordion.d.mts +34 -0
- package/dist/accordion.mjs +167 -0
- package/dist/accordion.mjs.map +1 -0
- package/dist/alert.d.mts +15 -0
- package/dist/alert.mjs +101 -0
- package/dist/alert.mjs.map +1 -0
- package/dist/avatar.d.mts +26 -0
- package/dist/avatar.mjs +97 -0
- package/dist/avatar.mjs.map +1 -0
- package/dist/badge.d.mts +9 -0
- package/dist/badge.mjs +49 -0
- package/dist/badge.mjs.map +1 -0
- package/dist/button.d.mts +21 -0
- package/dist/button.mjs +96 -0
- package/dist/button.mjs.map +1 -0
- package/dist/card.d.mts +24 -0
- package/dist/card.mjs +169 -0
- package/dist/card.mjs.map +1 -0
- package/dist/checkbox.d.mts +37 -0
- package/dist/checkbox.mjs +80 -0
- package/dist/checkbox.mjs.map +1 -0
- package/dist/clipboard.d.mts +33 -0
- package/dist/clipboard.mjs +100 -0
- package/dist/clipboard.mjs.map +1 -0
- package/dist/cn.mjs +10 -0
- package/dist/cn.mjs.map +1 -0
- package/dist/collapsible.d.mts +29 -0
- package/dist/collapsible.mjs +77 -0
- package/dist/collapsible.mjs.map +1 -0
- package/dist/combobox.d.mts +67 -0
- package/dist/combobox.mjs +375 -0
- package/dist/combobox.mjs.map +1 -0
- package/dist/dialog.d.mts +57 -0
- package/dist/dialog.mjs +139 -0
- package/dist/dialog.mjs.map +1 -0
- package/dist/dnd-manager.d.mts +67 -0
- package/dist/dnd-manager.mjs +387 -0
- package/dist/dnd-manager.mjs.map +1 -0
- package/dist/drag-drop-context.d.mts +11 -0
- package/dist/drag-drop-context.mjs +43 -0
- package/dist/drag-drop-context.mjs.map +1 -0
- package/dist/draggable.d.mts +11 -0
- package/dist/draggable.mjs +72 -0
- package/dist/draggable.mjs.map +1 -0
- package/dist/droppable.d.mts +14 -0
- package/dist/droppable.mjs +66 -0
- package/dist/droppable.mjs.map +1 -0
- package/dist/file-upload.d.mts +38 -0
- package/dist/file-upload.mjs +170 -0
- package/dist/file-upload.mjs.map +1 -0
- package/dist/hover-card.d.mts +33 -0
- package/dist/hover-card.mjs +92 -0
- package/dist/hover-card.mjs.map +1 -0
- package/dist/index.d.mts +41 -1068
- package/dist/index.mjs +41 -4332
- package/dist/input.d.mts +9 -0
- package/dist/input.mjs +82 -0
- package/dist/input.mjs.map +1 -0
- package/dist/label.d.mts +9 -0
- package/dist/label.mjs +42 -0
- package/dist/label.mjs.map +1 -0
- package/dist/menu.d.mts +36 -0
- package/dist/menu.mjs +88 -0
- package/dist/menu.mjs.map +1 -0
- package/dist/number-input.d.mts +46 -0
- package/dist/number-input.mjs +89 -0
- package/dist/number-input.mjs.map +1 -0
- package/dist/pagination.d.mts +37 -0
- package/dist/pagination.mjs +97 -0
- package/dist/pagination.mjs.map +1 -0
- package/dist/pin-input.d.mts +45 -0
- package/dist/pin-input.mjs +147 -0
- package/dist/pin-input.mjs.map +1 -0
- package/dist/popover.d.mts +39 -0
- package/dist/popover.mjs +109 -0
- package/dist/popover.mjs.map +1 -0
- package/dist/progress.d.mts +34 -0
- package/dist/progress.mjs +86 -0
- package/dist/progress.mjs.map +1 -0
- package/dist/radio-group.d.mts +37 -0
- package/dist/radio-group.mjs +184 -0
- package/dist/radio-group.mjs.map +1 -0
- package/dist/rating-group.d.mts +38 -0
- package/dist/rating-group.mjs +171 -0
- package/dist/rating-group.mjs.map +1 -0
- package/dist/select.d.mts +54 -0
- package/dist/select.mjs +277 -0
- package/dist/select.mjs.map +1 -0
- package/dist/separator.d.mts +9 -0
- package/dist/separator.mjs +49 -0
- package/dist/separator.mjs.map +1 -0
- package/dist/skeleton.d.mts +9 -0
- package/dist/skeleton.mjs +43 -0
- package/dist/skeleton.mjs.map +1 -0
- package/dist/slider.d.mts +44 -0
- package/dist/slider.mjs +117 -0
- package/dist/slider.mjs.map +1 -0
- package/dist/switch.d.mts +37 -0
- package/dist/switch.mjs +80 -0
- package/dist/switch.mjs.map +1 -0
- package/dist/tabs.d.mts +36 -0
- package/dist/tabs.mjs +197 -0
- package/dist/tabs.mjs.map +1 -0
- package/dist/tags-input.d.mts +48 -0
- package/dist/tags-input.mjs +267 -0
- package/dist/tags-input.mjs.map +1 -0
- package/dist/textarea.d.mts +9 -0
- package/dist/textarea.mjs +73 -0
- package/dist/textarea.mjs.map +1 -0
- package/dist/toast.d.mts +33 -0
- package/dist/toast.mjs +213 -0
- package/dist/toast.mjs.map +1 -0
- package/dist/toggle-group.d.mts +32 -0
- package/dist/toggle-group.mjs +124 -0
- package/dist/toggle-group.mjs.map +1 -0
- package/dist/tooltip.d.mts +39 -0
- package/dist/tooltip.mjs +85 -0
- package/dist/tooltip.mjs.map +1 -0
- package/dist/tree-view.d.mts +35 -0
- package/dist/tree-view.mjs +94 -0
- package/dist/tree-view.mjs.map +1 -0
- package/dist/zag-component.d.mts +40 -0
- package/dist/zag-component.mjs +135 -0
- package/dist/zag-component.mjs.map +1 -0
- package/package.json +8 -8
- 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 ★\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
|