@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,45 @@
|
|
|
1
|
+
import { n as ZagComponent } from "./zag-component.mjs";
|
|
2
|
+
import * as pinInput from "@zag-js/pin-input";
|
|
3
|
+
import * as _$_zag_js_types0 from "@zag-js/types";
|
|
4
|
+
|
|
5
|
+
//#region src/components/pin-input.d.ts
|
|
6
|
+
declare class PinInput extends ZagComponent {
|
|
7
|
+
value: string[];
|
|
8
|
+
valueAsString: string;
|
|
9
|
+
createMachine(_props: any): any;
|
|
10
|
+
getMachineProps(props: any): {
|
|
11
|
+
id: any;
|
|
12
|
+
value: any;
|
|
13
|
+
defaultValue: any;
|
|
14
|
+
count: any;
|
|
15
|
+
type: any;
|
|
16
|
+
otp: any;
|
|
17
|
+
mask: any;
|
|
18
|
+
placeholder: any;
|
|
19
|
+
disabled: any;
|
|
20
|
+
readOnly: any;
|
|
21
|
+
invalid: any;
|
|
22
|
+
name: any;
|
|
23
|
+
form: any;
|
|
24
|
+
blurOnComplete: any;
|
|
25
|
+
autoFocus: any;
|
|
26
|
+
onValueChange: (details: pinInput.ValueChangeDetails) => void;
|
|
27
|
+
onValueComplete: any;
|
|
28
|
+
onValueInvalid: any;
|
|
29
|
+
};
|
|
30
|
+
connectApi(service: any): pinInput.Api<_$_zag_js_types0.PropTypes<{
|
|
31
|
+
[x: string]: any;
|
|
32
|
+
}>>;
|
|
33
|
+
getSpreadMap(): {
|
|
34
|
+
'[data-part="root"]': string;
|
|
35
|
+
'[data-part="label"]': string;
|
|
36
|
+
'[data-part="control"]': string;
|
|
37
|
+
'[data-part="hidden-input"]': string;
|
|
38
|
+
'[data-part="input"]': (api: any, el: any) => any;
|
|
39
|
+
};
|
|
40
|
+
syncState(api: any): void;
|
|
41
|
+
template(props: any): string;
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { PinInput as default };
|
|
45
|
+
//# sourceMappingURL=pin-input.d.mts.map
|
|
@@ -0,0 +1,147 @@
|
|
|
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 pinInput from "@zag-js/pin-input";
|
|
5
|
+
//#region src/components/pin-input.tsx
|
|
6
|
+
const __v = (v) => v != null && typeof v === "object" ? v.valueOf() : v;
|
|
7
|
+
var PinInput = class extends ZagComponent {
|
|
8
|
+
static {
|
|
9
|
+
this[GEA_CTOR_TAG_NAME] = "pin-input";
|
|
10
|
+
}
|
|
11
|
+
#__rowEls_b1;
|
|
12
|
+
#__dc_b1;
|
|
13
|
+
constructor(...args) {
|
|
14
|
+
super(...args);
|
|
15
|
+
this.props;
|
|
16
|
+
this[geaCondValueSymbol(0)] = !!this.props.label;
|
|
17
|
+
this[GEA_REGISTER_COND](0, "c0", () => {
|
|
18
|
+
this.props;
|
|
19
|
+
return this.props.label;
|
|
20
|
+
}, () => {
|
|
21
|
+
this.props;
|
|
22
|
+
return `<label data-part="label" class="pin-input-label text-sm font-medium mb-2 block">${geaEscapeHtml(String(this.props.label))}</label>`;
|
|
23
|
+
}, null);
|
|
24
|
+
}
|
|
25
|
+
createMachine(_props) {
|
|
26
|
+
return pinInput.machine;
|
|
27
|
+
}
|
|
28
|
+
getMachineProps(props) {
|
|
29
|
+
return {
|
|
30
|
+
id: this.id,
|
|
31
|
+
value: props.value,
|
|
32
|
+
defaultValue: props.defaultValue,
|
|
33
|
+
count: props.count ?? 4,
|
|
34
|
+
type: props.type ?? "numeric",
|
|
35
|
+
otp: props.otp ?? false,
|
|
36
|
+
mask: props.mask ?? false,
|
|
37
|
+
placeholder: props.placeholder ?? "○",
|
|
38
|
+
disabled: props.disabled,
|
|
39
|
+
readOnly: props.readOnly,
|
|
40
|
+
invalid: props.invalid,
|
|
41
|
+
name: props.name,
|
|
42
|
+
form: props.form,
|
|
43
|
+
blurOnComplete: props.blurOnComplete ?? false,
|
|
44
|
+
autoFocus: props.autoFocus,
|
|
45
|
+
onValueChange: (details) => {
|
|
46
|
+
this.value = details.value;
|
|
47
|
+
this.valueAsString = details.valueAsString;
|
|
48
|
+
props.onValueChange?.(details);
|
|
49
|
+
},
|
|
50
|
+
onValueComplete: props.onValueComplete,
|
|
51
|
+
onValueInvalid: props.onValueInvalid
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
connectApi(service) {
|
|
55
|
+
return pinInput.connect(service, normalizeProps);
|
|
56
|
+
}
|
|
57
|
+
getSpreadMap() {
|
|
58
|
+
return {
|
|
59
|
+
"[data-part=\"root\"]": "getRootProps",
|
|
60
|
+
"[data-part=\"label\"]": "getLabelProps",
|
|
61
|
+
"[data-part=\"control\"]": "getControlProps",
|
|
62
|
+
"[data-part=\"hidden-input\"]": "getHiddenInputProps",
|
|
63
|
+
"[data-part=\"input\"]": (api, el) => {
|
|
64
|
+
const index = parseInt(el.dataset.index || "0", 10);
|
|
65
|
+
return api.getInputProps({ index });
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
syncState(api) {
|
|
70
|
+
this.value = api.value;
|
|
71
|
+
this.valueAsString = api.valueAsString;
|
|
72
|
+
}
|
|
73
|
+
template(props) {
|
|
74
|
+
const __id = this.id;
|
|
75
|
+
Component._register(ZagComponent, "zag-component");
|
|
76
|
+
const count = props.count ?? 4;
|
|
77
|
+
const inputs = Array.from({ length: count }, (_, i) => i);
|
|
78
|
+
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="pin-input-label text-sm font-medium mb-2 block">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c0-end"}--><div id="${__id + "-b1"}" data-part="control" class="pin-input-control flex gap-2">${inputs.map((i) => `<input data-gea-item-id="${String(i)}" data-part="input"${String(i) == null || String(i) === false ? "" : ` data-index="${String(i)}"`} class="pin-input-field h-9 w-9 rounded-md border border-input bg-transparent text-center text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" />`).join("") + "<!---->"}</div><input data-part="hidden-input" type="hidden" /></div>`;
|
|
79
|
+
}
|
|
80
|
+
render__unresolved_0Item(i) {
|
|
81
|
+
return `<input data-gea-item-id="${String(i)}" data-part="input"${__v(String(i)) == null || __v(String(i)) === false ? "" : ` data-index="${String(i)}"`} class="pin-input-field h-9 w-9 rounded-md border border-input bg-transparent text-center text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring" />`;
|
|
82
|
+
}
|
|
83
|
+
create__unresolved_0Item(item) {
|
|
84
|
+
var __c = this.#__dc_b1 || (this.#__dc_b1 = this.____unresolved_0_container);
|
|
85
|
+
if (!__c[GEA_MAP_CONFIG_TPL]) try {
|
|
86
|
+
var __tw = document.createElement("template");
|
|
87
|
+
__tw.innerHTML = this.render__unresolved_0Item("__dummy__");
|
|
88
|
+
__c[GEA_MAP_CONFIG_TPL] = __tw.content.firstElementChild;
|
|
89
|
+
__c[GEA_MAP_CONFIG_TPL]?.removeAttribute("data-gea-item-id");
|
|
90
|
+
} catch (__err) {
|
|
91
|
+
console.error(__err);
|
|
92
|
+
}
|
|
93
|
+
if (__c[GEA_MAP_CONFIG_TPL]) var el = __c[GEA_MAP_CONFIG_TPL].cloneNode(true);
|
|
94
|
+
else {
|
|
95
|
+
var __fw = document.createElement("template");
|
|
96
|
+
__fw.innerHTML = this.render__unresolved_0Item(item);
|
|
97
|
+
var el = __fw.content.firstElementChild;
|
|
98
|
+
}
|
|
99
|
+
var __av = String(item);
|
|
100
|
+
if (__av == null || __av === false) el.removeAttribute("data-index");
|
|
101
|
+
else {
|
|
102
|
+
const __newAttr = String(__av);
|
|
103
|
+
if (el.getAttribute("data-index") !== __newAttr) el.setAttribute("data-index", __newAttr);
|
|
104
|
+
}
|
|
105
|
+
el[GEA_DOM_KEY] = String(item);
|
|
106
|
+
el[GEA_DOM_ITEM] = item;
|
|
107
|
+
return el;
|
|
108
|
+
}
|
|
109
|
+
patch__unresolved_0Item(row, item, __prevItem) {
|
|
110
|
+
if (!row) return;
|
|
111
|
+
var __av = String(item);
|
|
112
|
+
if (__av == null || __av === false) row.removeAttribute("data-index");
|
|
113
|
+
else {
|
|
114
|
+
const __newAttr = String(__av);
|
|
115
|
+
if (row.getAttribute("data-index") !== __newAttr) row.setAttribute("data-index", __newAttr);
|
|
116
|
+
}
|
|
117
|
+
row[GEA_DOM_KEY] = String(item);
|
|
118
|
+
(this.#__rowEls_b1 || (this.#__rowEls_b1 = {}))[String(item)] = row;
|
|
119
|
+
row[GEA_DOM_ITEM] = item;
|
|
120
|
+
}
|
|
121
|
+
__onPropChange(key, value) {
|
|
122
|
+
if (key === "class") {
|
|
123
|
+
const __el = this[GEA_ELEMENT];
|
|
124
|
+
this.props;
|
|
125
|
+
const __boundValue = value || "";
|
|
126
|
+
if (__el) {
|
|
127
|
+
const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
|
|
128
|
+
if (__el.className !== __newClass) __el.className = __newClass;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
if (key === "label") this[GEA_PATCH_COND](0);
|
|
132
|
+
if (key === "count") this[GEA_SYNC_MAP](0);
|
|
133
|
+
}
|
|
134
|
+
__observe_local_props(__v, __c) {
|
|
135
|
+
this[GEA_SYNC_MAP](0);
|
|
136
|
+
}
|
|
137
|
+
createdHooks() {
|
|
138
|
+
this[GEA_REGISTER_MAP](0, "____unresolved_0_container", () => document.getElementById(this.id + "-b1"), () => {
|
|
139
|
+
const count = this.props.count ?? 4;
|
|
140
|
+
return Array.from({ length: count }, (_, i) => i);
|
|
141
|
+
}, (__item) => this.create__unresolved_0Item(__item));
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
//#endregion
|
|
145
|
+
export { PinInput as default };
|
|
146
|
+
|
|
147
|
+
//# sourceMappingURL=pin-input.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pin-input.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","pinInput","normalizeProps","ZagComponent","PinInput","__rowEls_b1","__dc_b1","constructor","args","props","label","String","value","valueAsString","createMachine","_props","machine","getMachineProps","id","defaultValue","count","type","otp","mask","placeholder","disabled","readOnly","invalid","name","form","blurOnComplete","autoFocus","onValueChange","details","ValueChangeDetails","onValueComplete","onValueInvalid","connectApi","service","connect","getSpreadMap","[data-part=\"input\"]","api","el","index","parseInt","HTMLElement","dataset","getInputProps","syncState","template","__id","_register","inputs","Array","from","length","_","i","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","patch__unresolved_0Item","row","__prevItem","__onPropChange","key","__el","__boundValue","__newClass","className","__observe_local_props","createdHooks","getElementById","__item"],"sources":["../src/components/pin-input.tsx"],"sourcesContent":["import * as pinInput from '@zag-js/pin-input'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class PinInput extends ZagComponent {\n declare value: string[]\n declare valueAsString: string\n\n createMachine(_props: any): any {\n return pinInput.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue,\n count: props.count ?? 4,\n type: props.type ?? 'numeric',\n otp: props.otp ?? false,\n mask: props.mask ?? false,\n placeholder: props.placeholder ?? '○',\n disabled: props.disabled,\n readOnly: props.readOnly,\n invalid: props.invalid,\n name: props.name,\n form: props.form,\n blurOnComplete: props.blurOnComplete ?? false,\n autoFocus: props.autoFocus,\n onValueChange: (details: pinInput.ValueChangeDetails) => {\n this.value = details.value\n this.valueAsString = details.valueAsString\n props.onValueChange?.(details)\n },\n onValueComplete: props.onValueComplete,\n onValueInvalid: props.onValueInvalid,\n }\n }\n\n connectApi(service: any) {\n return pinInput.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=\"input\"]': (api, el) => {\n const index = parseInt((el as HTMLElement).dataset.index || '0', 10)\n return api.getInputProps({ index })\n },\n }\n }\n\n syncState(api: any) {\n this.value = api.value\n this.valueAsString = api.valueAsString\n }\n\n template(props: any) {\n const count = props.count ?? 4\n const inputs = Array.from({ length: count }, (_, i) => i)\n return (\n <div data-part=\"root\" class={props.class || ''}>\n {props.label && (\n <label data-part=\"label\" class=\"pin-input-label text-sm font-medium mb-2 block\">\n {props.label}\n </label>\n )}\n <div data-part=\"control\" class=\"pin-input-control flex gap-2\">\n {inputs.map((i: number) => (\n <input\n key={i}\n data-part=\"input\"\n data-index={String(i)}\n class=\"pin-input-field h-9 w-9 rounded-md border border-input bg-transparent text-center text-sm shadow-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring\"\n />\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,39 @@
|
|
|
1
|
+
import { n as ZagComponent } from "./zag-component.mjs";
|
|
2
|
+
import * as popover from "@zag-js/popover";
|
|
3
|
+
import * as _$_zag_js_types0 from "@zag-js/types";
|
|
4
|
+
|
|
5
|
+
//#region src/components/popover.d.ts
|
|
6
|
+
declare class Popover extends ZagComponent {
|
|
7
|
+
open: boolean;
|
|
8
|
+
createMachine(_props: any): any;
|
|
9
|
+
getMachineProps(props: any): {
|
|
10
|
+
id: any;
|
|
11
|
+
open: any;
|
|
12
|
+
defaultOpen: any;
|
|
13
|
+
modal: any;
|
|
14
|
+
portalled: any;
|
|
15
|
+
autoFocus: any;
|
|
16
|
+
closeOnInteractOutside: any;
|
|
17
|
+
closeOnEscape: any;
|
|
18
|
+
positioning: any;
|
|
19
|
+
onOpenChange: (details: popover.OpenChangeDetails) => void;
|
|
20
|
+
};
|
|
21
|
+
connectApi(service: any): popover.Api<_$_zag_js_types0.PropTypes<{
|
|
22
|
+
[x: string]: any;
|
|
23
|
+
}>>;
|
|
24
|
+
getSpreadMap(): {
|
|
25
|
+
'[data-part="trigger"]': string;
|
|
26
|
+
'[data-part="positioner"]': string;
|
|
27
|
+
'[data-part="content"]': string;
|
|
28
|
+
'[data-part="title"]': string;
|
|
29
|
+
'[data-part="description"]': string;
|
|
30
|
+
'[data-part="close-trigger"]': string;
|
|
31
|
+
'[data-part="arrow"]': string;
|
|
32
|
+
'[data-part="arrow-tip"]': string;
|
|
33
|
+
};
|
|
34
|
+
syncState(api: any): void;
|
|
35
|
+
template(props: any): string;
|
|
36
|
+
}
|
|
37
|
+
//#endregion
|
|
38
|
+
export { Popover as default };
|
|
39
|
+
//# sourceMappingURL=popover.d.mts.map
|
package/dist/popover.mjs
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { t as ZagComponent } from "./zag-component.mjs";
|
|
2
|
+
import { Component, GEA_CTOR_TAG_NAME, GEA_ELEMENT, GEA_PATCH_COND, GEA_REGISTER_COND, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
|
|
3
|
+
import { normalizeProps } from "@zag-js/vanilla";
|
|
4
|
+
import * as popover from "@zag-js/popover";
|
|
5
|
+
//#region src/components/popover.tsx
|
|
6
|
+
var Popover = class extends ZagComponent {
|
|
7
|
+
static {
|
|
8
|
+
this[GEA_CTOR_TAG_NAME] = "popover";
|
|
9
|
+
}
|
|
10
|
+
constructor(...args) {
|
|
11
|
+
super(...args);
|
|
12
|
+
this.props;
|
|
13
|
+
this[geaCondValueSymbol(0)] = !!this.props.title;
|
|
14
|
+
this[geaCondValueSymbol(1)] = !!this.props.description;
|
|
15
|
+
this[GEA_REGISTER_COND](0, "c0", () => {
|
|
16
|
+
this.props;
|
|
17
|
+
return this.props.title;
|
|
18
|
+
}, () => {
|
|
19
|
+
this.props;
|
|
20
|
+
return `<div data-part="title" class="popover-title font-medium leading-none mb-2">${geaEscapeHtml(String(this.props.title))}</div>`;
|
|
21
|
+
}, null);
|
|
22
|
+
this[GEA_REGISTER_COND](1, "c1", () => {
|
|
23
|
+
this.props;
|
|
24
|
+
return this.props.description;
|
|
25
|
+
}, () => {
|
|
26
|
+
this.props;
|
|
27
|
+
return `<p data-part="description" class="popover-description text-sm text-muted-foreground mb-3">${geaEscapeHtml(String(this.props.description))}</p>`;
|
|
28
|
+
}, null);
|
|
29
|
+
}
|
|
30
|
+
createMachine(_props) {
|
|
31
|
+
return popover.machine;
|
|
32
|
+
}
|
|
33
|
+
getMachineProps(props) {
|
|
34
|
+
return {
|
|
35
|
+
id: this.id,
|
|
36
|
+
open: props.open,
|
|
37
|
+
defaultOpen: props.defaultOpen,
|
|
38
|
+
modal: props.modal ?? false,
|
|
39
|
+
portalled: props.portalled ?? true,
|
|
40
|
+
autoFocus: props.autoFocus ?? true,
|
|
41
|
+
closeOnInteractOutside: props.closeOnInteractOutside ?? true,
|
|
42
|
+
closeOnEscape: props.closeOnEscape ?? true,
|
|
43
|
+
positioning: props.positioning,
|
|
44
|
+
onOpenChange: (details) => {
|
|
45
|
+
this.open = details.open;
|
|
46
|
+
props.onOpenChange?.(details);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
connectApi(service) {
|
|
51
|
+
return popover.connect(service, normalizeProps);
|
|
52
|
+
}
|
|
53
|
+
getSpreadMap() {
|
|
54
|
+
return {
|
|
55
|
+
"[data-part=\"trigger\"]": "getTriggerProps",
|
|
56
|
+
"[data-part=\"positioner\"]": "getPositionerProps",
|
|
57
|
+
"[data-part=\"content\"]": "getContentProps",
|
|
58
|
+
"[data-part=\"title\"]": "getTitleProps",
|
|
59
|
+
"[data-part=\"description\"]": "getDescriptionProps",
|
|
60
|
+
"[data-part=\"close-trigger\"]": "getCloseTriggerProps",
|
|
61
|
+
"[data-part=\"arrow\"]": "getArrowProps",
|
|
62
|
+
"[data-part=\"arrow-tip\"]": "getArrowTipProps"
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
syncState(api) {
|
|
66
|
+
this.open = api.open;
|
|
67
|
+
}
|
|
68
|
+
template(props) {
|
|
69
|
+
const __id = this.id;
|
|
70
|
+
Component._register(ZagComponent, "zag-component");
|
|
71
|
+
return `<div id="${__id}"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><button id="${__id + "-b1"}" data-part="trigger" class="popover-trigger">${geaEscapeHtml(String(props.triggerLabel || "Open"))}</button><div data-part="positioner" class="popover-positioner"><div data-part="content" class="popover-content z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none"><!--${__id + "-c0"}-->${props.title && `<div data-part="title" class="popover-title font-medium leading-none mb-2">${geaEscapeHtml(String(props.title))}</div>` || ""}<!--${__id + "-c0-end"}--><!--${__id + "-c1"}-->${props.description && `<p data-part="description" class="popover-description text-sm text-muted-foreground mb-3">${geaEscapeHtml(String(props.description))}</p>` || ""}<!--${__id + "-c1-end"}--><div id="${__id + "-b2"}" class="popover-body">${props.children}</div><button data-part="close-trigger" class="popover-close-trigger absolute top-2 right-2 text-gray-400 hover:text-gray-600 text-sm">✕</button></div></div></div>`;
|
|
72
|
+
}
|
|
73
|
+
__onPropChange(key, value) {
|
|
74
|
+
const __id = this.id;
|
|
75
|
+
if (key === "class") {
|
|
76
|
+
const __el = this[GEA_ELEMENT];
|
|
77
|
+
this.props;
|
|
78
|
+
const __boundValue = value || "";
|
|
79
|
+
if (__el) {
|
|
80
|
+
const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
|
|
81
|
+
if (__el.className !== __newClass) __el.className = __newClass;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
if (key === "triggerLabel") {
|
|
85
|
+
const __el = this.__e0 || (this.__e0 = document.getElementById(__id + "-b1"));
|
|
86
|
+
this.props;
|
|
87
|
+
const __boundValue = value || "Open";
|
|
88
|
+
if (__el && __el.textContent !== __boundValue) __el.textContent = __boundValue;
|
|
89
|
+
}
|
|
90
|
+
if (key === "children") {
|
|
91
|
+
const __el = this.__e1 || (this.__e1 = document.getElementById(__id + "-b2"));
|
|
92
|
+
if (__el && __el.innerHTML !== value) {
|
|
93
|
+
__el.innerHTML = value;
|
|
94
|
+
this.instantiateChildComponents_();
|
|
95
|
+
if (this.parentComponent) this.parentComponent.mountCompiledChildComponents_();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (key === "title") this[GEA_PATCH_COND](0);
|
|
99
|
+
if (key === "description") this[GEA_PATCH_COND](1);
|
|
100
|
+
}
|
|
101
|
+
*GEA_RESET_ELS() {
|
|
102
|
+
this.__e0 = null;
|
|
103
|
+
this.__e1 = null;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
//#endregion
|
|
107
|
+
export { Popover as default };
|
|
108
|
+
|
|
109
|
+
//# sourceMappingURL=popover.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"popover.mjs","names":["popover","normalizeProps","ZagComponent","Popover","GEA_CTOR_TAG_NAME","constructor","args","props","geaCondValueSymbol","title","description","GEA_REGISTER_COND","geaEscapeHtml","String","open","createMachine","_props","machine","getMachineProps","id","defaultOpen","modal","portalled","autoFocus","closeOnInteractOutside","closeOnEscape","positioning","onOpenChange","details","OpenChangeDetails","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","Component","_register","class","trim","triggerLabel","children","__onPropChange","key","value","__el","GEA_ELEMENT","__boundValue","__newClass","className","__e0","document","getElementById","textContent","__e1","innerHTML","instantiateChildComponents_","parentComponent","mountCompiledChildComponents_","GEA_PATCH_COND","GEA_RESET_ELS"],"sources":["../src/components/popover.tsx"],"sourcesContent":["import * as popover from '@zag-js/popover'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Popover extends ZagComponent {\n declare open: boolean\n\n createMachine(_props: any): any {\n return popover.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n open: props.open,\n defaultOpen: props.defaultOpen,\n modal: props.modal ?? false,\n portalled: props.portalled ?? true,\n autoFocus: props.autoFocus ?? true,\n closeOnInteractOutside: props.closeOnInteractOutside ?? true,\n closeOnEscape: props.closeOnEscape ?? true,\n positioning: props.positioning,\n onOpenChange: (details: popover.OpenChangeDetails) => {\n this.open = details.open\n props.onOpenChange?.(details)\n },\n }\n }\n\n connectApi(service: any) {\n return popover.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"trigger\"]': 'getTriggerProps',\n '[data-part=\"positioner\"]': 'getPositionerProps',\n '[data-part=\"content\"]': 'getContentProps',\n '[data-part=\"title\"]': 'getTitleProps',\n '[data-part=\"description\"]': 'getDescriptionProps',\n '[data-part=\"close-trigger\"]': 'getCloseTriggerProps',\n '[data-part=\"arrow\"]': 'getArrowProps',\n '[data-part=\"arrow-tip\"]': 'getArrowTipProps',\n }\n }\n\n syncState(api: any) {\n this.open = api.open\n }\n\n template(props: any) {\n return (\n <div class={props.class || ''}>\n <button data-part=\"trigger\" class=\"popover-trigger\">\n {props.triggerLabel || 'Open'}\n </button>\n <div data-part=\"positioner\" class=\"popover-positioner\">\n <div\n data-part=\"content\"\n class=\"popover-content z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none\"\n >\n {props.title && (\n <div data-part=\"title\" class=\"popover-title font-medium leading-none mb-2\">\n {props.title}\n </div>\n )}\n {props.description && (\n <p data-part=\"description\" class=\"popover-description text-sm text-muted-foreground mb-3\">\n {props.description}\n </p>\n )}\n <div class=\"popover-body\">{props.children}</div>\n <button\n data-part=\"close-trigger\"\n class=\"popover-close-trigger absolute top-2 right-2 text-gray-400 hover:text-gray-600 text-sm\"\n >\n ✕\n </button>\n </div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { n as ZagComponent } from "./zag-component.mjs";
|
|
2
|
+
import * as progress from "@zag-js/progress";
|
|
3
|
+
import * as _$_zag_js_types0 from "@zag-js/types";
|
|
4
|
+
|
|
5
|
+
//#region src/components/progress.d.ts
|
|
6
|
+
declare class Progress extends ZagComponent {
|
|
7
|
+
value: number | null;
|
|
8
|
+
percent: number;
|
|
9
|
+
createMachine(_props: any): any;
|
|
10
|
+
getMachineProps(props: any): {
|
|
11
|
+
id: any;
|
|
12
|
+
value: any;
|
|
13
|
+
defaultValue: any;
|
|
14
|
+
min: any;
|
|
15
|
+
max: any;
|
|
16
|
+
orientation: any;
|
|
17
|
+
onValueChange: any;
|
|
18
|
+
};
|
|
19
|
+
connectApi(service: any): progress.Api<_$_zag_js_types0.PropTypes<{
|
|
20
|
+
[x: string]: any;
|
|
21
|
+
}>>;
|
|
22
|
+
getSpreadMap(): {
|
|
23
|
+
'[data-part="root"]': string;
|
|
24
|
+
'[data-part="label"]': string;
|
|
25
|
+
'[data-part="track"]': string;
|
|
26
|
+
'[data-part="range"]': string;
|
|
27
|
+
'[data-part="value-text"]': string;
|
|
28
|
+
};
|
|
29
|
+
syncState(api: any): void;
|
|
30
|
+
template(props: any): string;
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { Progress as default };
|
|
34
|
+
//# sourceMappingURL=progress.d.mts.map
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { t as ZagComponent } from "./zag-component.mjs";
|
|
2
|
+
import { Component, GEA_CTOR_TAG_NAME, GEA_ELEMENT, GEA_OBSERVE, GEA_PATCH_COND, GEA_REGISTER_COND, GEA_SETUP_LOCAL_STATE_OBSERVERS, GEA_UPDATE_TEXT, geaCondValueSymbol, geaEscapeHtml } from "@geajs/core";
|
|
3
|
+
import { normalizeProps } from "@zag-js/vanilla";
|
|
4
|
+
import * as progress from "@zag-js/progress";
|
|
5
|
+
//#region src/components/progress.tsx
|
|
6
|
+
var Progress = class extends ZagComponent {
|
|
7
|
+
static {
|
|
8
|
+
this[GEA_CTOR_TAG_NAME] = "gea-progress";
|
|
9
|
+
}
|
|
10
|
+
constructor(...args) {
|
|
11
|
+
super(...args);
|
|
12
|
+
this.percent = 0;
|
|
13
|
+
this.props;
|
|
14
|
+
this[geaCondValueSymbol(0)] = !!this.props.label;
|
|
15
|
+
this[GEA_REGISTER_COND](0, "c0", () => {
|
|
16
|
+
this.props;
|
|
17
|
+
return this.props.label;
|
|
18
|
+
}, () => {
|
|
19
|
+
this.props;
|
|
20
|
+
return `<label data-part="label" class="progress-label text-sm font-medium">${geaEscapeHtml(String(this.props.label))}</label>`;
|
|
21
|
+
}, null);
|
|
22
|
+
}
|
|
23
|
+
createMachine(_props) {
|
|
24
|
+
return progress.machine;
|
|
25
|
+
}
|
|
26
|
+
getMachineProps(props) {
|
|
27
|
+
return {
|
|
28
|
+
id: this.id,
|
|
29
|
+
value: props.value,
|
|
30
|
+
defaultValue: props.defaultValue ?? 0,
|
|
31
|
+
min: props.min ?? 0,
|
|
32
|
+
max: props.max ?? 100,
|
|
33
|
+
orientation: props.orientation,
|
|
34
|
+
onValueChange: props.onValueChange
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
connectApi(service) {
|
|
38
|
+
return progress.connect(service, normalizeProps);
|
|
39
|
+
}
|
|
40
|
+
getSpreadMap() {
|
|
41
|
+
return {
|
|
42
|
+
"[data-part=\"root\"]": "getRootProps",
|
|
43
|
+
"[data-part=\"label\"]": "getLabelProps",
|
|
44
|
+
"[data-part=\"track\"]": "getTrackProps",
|
|
45
|
+
"[data-part=\"range\"]": "getRangeProps",
|
|
46
|
+
"[data-part=\"value-text\"]": "getValueTextProps"
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
syncState(api) {
|
|
50
|
+
this.value = api.value;
|
|
51
|
+
this.percent = api.percent;
|
|
52
|
+
}
|
|
53
|
+
template(props) {
|
|
54
|
+
const __id = this.id;
|
|
55
|
+
Component._register(ZagComponent, "zag-component");
|
|
56
|
+
return `<div id="${__id}" data-part="root"${(props.class || "") == null || (props.class || "") === false ? "" : ` class="${((props.class || "") != null ? String(props.class || "") : "").trim()}"`}><div class="flex justify-between mb-1"><!--${__id + "-c0"}-->${props.label && `<label data-part="label" class="progress-label text-sm font-medium">${geaEscapeHtml(String(props.label))}</label>` || ""}<!--${__id + "-c0-end"}--><span id="${__id + "-b1"}" data-part="value-text" class="progress-value-text text-sm text-muted-foreground">${geaEscapeHtml(String(this.percent))}%</span></div><div data-part="track" class="progress-track relative h-2 w-full overflow-hidden rounded-full bg-primary/20"><div id="${__id + "-b2"}" data-part="range" class="progress-range h-full w-full flex-1 bg-primary transition-all" style="${Object.entries({ width: `${this.percent}%` }).map(([__k, __v]) => `${__k.replace(/[A-Z]/g, "-$&")}: ${typeof __v === "number" && __v !== 0 ? __v + "px" : __v}`).join("; ")}"></div></div></div>`;
|
|
57
|
+
}
|
|
58
|
+
__observe_local_percent(percent, change) {
|
|
59
|
+
this[GEA_UPDATE_TEXT]("b1", `
|
|
60
|
+
${this.percent}%
|
|
61
|
+
`);
|
|
62
|
+
}
|
|
63
|
+
__onPropChange(key, value) {
|
|
64
|
+
if (key === "class") {
|
|
65
|
+
const __el = this[GEA_ELEMENT];
|
|
66
|
+
this.props;
|
|
67
|
+
const __boundValue = value || "";
|
|
68
|
+
if (__el) {
|
|
69
|
+
const __newClass = (__boundValue != null ? String(__boundValue) : "").trim();
|
|
70
|
+
if (__el.className !== __newClass) __el.className = __newClass;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (key === "label") this[GEA_PATCH_COND](0);
|
|
74
|
+
}
|
|
75
|
+
*GEA_RESET_ELS() {
|
|
76
|
+
this.__e0 = null;
|
|
77
|
+
}
|
|
78
|
+
[GEA_SETUP_LOCAL_STATE_OBSERVERS]() {
|
|
79
|
+
if (!this.__store) return;
|
|
80
|
+
this[GEA_OBSERVE](this, ["percent"], this.__observe_local_percent);
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
//#endregion
|
|
84
|
+
export { Progress as default };
|
|
85
|
+
|
|
86
|
+
//# sourceMappingURL=progress.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.mjs","names":["progress","normalizeProps","ZagComponent","Progress","GEA_CTOR_TAG_NAME","constructor","args","props","geaCondValueSymbol","label","GEA_REGISTER_COND","geaEscapeHtml","String","value","percent","createMachine","_props","machine","getMachineProps","id","defaultValue","min","max","orientation","onValueChange","connectApi","service","connect","getSpreadMap","syncState","api","template","__id","Component","_register","class","trim","Object","entries","width","map","__k","__v","replace","join","__observe_local_percent","change","GEA_UPDATE_TEXT","__onPropChange","key","__el","GEA_ELEMENT","__boundValue","__newClass","className","GEA_PATCH_COND","GEA_RESET_ELS","__e0","GEA_SETUP_LOCAL_STATE_OBSERVERS","__store","GEA_OBSERVE"],"sources":["../src/components/progress.tsx"],"sourcesContent":["import * as progress from '@zag-js/progress'\nimport { normalizeProps } from '@zag-js/vanilla'\nimport ZagComponent from '../primitives/zag-component'\n\nexport default class Progress extends ZagComponent {\n declare value: number | null\n percent = 0\n\n createMachine(_props: any): any {\n return progress.machine\n }\n\n getMachineProps(props: any) {\n return {\n id: this.id,\n value: props.value,\n defaultValue: props.defaultValue ?? 0,\n min: props.min ?? 0,\n max: props.max ?? 100,\n orientation: props.orientation,\n onValueChange: props.onValueChange,\n }\n }\n\n connectApi(service: any) {\n return progress.connect(service, normalizeProps)\n }\n\n getSpreadMap() {\n return {\n '[data-part=\"root\"]': 'getRootProps',\n '[data-part=\"label\"]': 'getLabelProps',\n '[data-part=\"track\"]': 'getTrackProps',\n '[data-part=\"range\"]': 'getRangeProps',\n '[data-part=\"value-text\"]': 'getValueTextProps',\n }\n }\n\n syncState(api: any) {\n this.value = api.value\n this.percent = api.percent\n }\n\n template(props: any) {\n return (\n <div data-part=\"root\" class={props.class || ''}>\n <div class=\"flex justify-between mb-1\">\n {props.label && (\n <label data-part=\"label\" class=\"progress-label text-sm font-medium\">\n {props.label}\n </label>\n )}\n <span data-part=\"value-text\" class=\"progress-value-text text-sm text-muted-foreground\">\n {this.percent}%\n </span>\n </div>\n <div data-part=\"track\" class=\"progress-track relative h-2 w-full overflow-hidden rounded-full bg-primary/20\">\n <div\n data-part=\"range\"\n class=\"progress-range h-full w-full flex-1 bg-primary transition-all\"\n style={{ width: `${this.percent}%` }}\n ></div>\n </div>\n </div>\n )\n }\n}\n"],"mappings":";;;;;AAIA,IAAqBG,WAArB,cAAsCD,aAAa;;OAAAE,qBAAA;;CAHnDC,YAAsB,GAAGC,MAAI;AAAA,QAAA,GAAAA,KAAA;iBAKjB;AAqCS,OAAAC;AAAA,OAAAC,mBAAA,EAAA,IAAA,CAAA,CAAA,KAAAD,MAIJE;AAAK,OAAAC,mBAAA,GAAA,YAAA;AAJD,QAAAH;AAAA,UAAA,KAAAA,MAIJE;WAAK;AAJD,QAAAF;AAAA,UAAA,uEAAAI,cAAAC,OAAA,KAAAL,MAMAE,MAAK,CAAA,CAAA;KAAA,KAAA;;CAzCxBM,cAAcC,QAAkB;AAC9B,SAAOhB,SAASiB;;CAGlBC,gBAAgBX,OAAY;AAC1B,SAAO;GACLY,IAAI,KAAKA;GACTN,OAAON,MAAMM;GACbO,cAAcb,MAAMa,gBAAgB;GACpCC,KAAKd,MAAMc,OAAO;GAClBC,KAAKf,MAAMe,OAAO;GAClBC,aAAahB,MAAMgB;GACnBC,eAAejB,MAAMiB;GACtB;;CAGHC,WAAWC,SAAc;AACvB,SAAO1B,SAAS2B,QAAQD,SAASzB,eAAe;;CAGlD2B,eAAe;AACb,SAAO;GACL,wBAAsB;GACtB,yBAAuB;GACvB,yBAAuB;GACvB,yBAAuB;GACvB,8BAA4B;GAC7B;;CAGHC,UAAUC,KAAU;AAClB,OAAKjB,QAAQiB,IAAIjB;AACjB,OAAKC,UAAUgB,IAAIhB;;CAGrBiB,SAASxB,OAAY;EAAA,MAAAyB,OAAA,KAAAb;AAAAc,YAAAC,UAAAhC,cAAA,gBAAA;AACnB,SAAA,YAAA8B,KAAA,qBAC+BzB,MAAM4B,SAAS,OAAE,SAAjB5B,MAAM4B,SAAS,QAAE,QAAA,KAAA,aAAjB5B,MAAM4B,SAAS,OAAE,OAAAvB,OAAjBL,MAAM4B,SAAS,GAAE,GAAA,IAAAC,MAAA,CAAA,GAAA,8CAAAJ,OAAA,MAAA,KAEzCzB,MAAME,SAAK,uEAAAE,cAAAC,OAEPL,MAAME,MAAK,CAAA,CAAA,aAAA,GAAA,MAAAuB,OAAA,UAAA,eAAAA,OAAA,MAAA,qFAAArB,cAAAC,OAIb,KAAKE,QAAO,CAAA,CAAA,sIAAAkB,OAAA,MAAA,mGAAAK,OAAAC,QAON,EAAEC,OAAO,GAAG,KAAKzB,QAAO,IAAK,CAAA,CAAA0B,KAAA,CAAAC,KAAAC,SAAA,GAAAD,IAAAE,QAAA,UAAA,MAAA,CAAA,IAAA,OAAAD,QAAA,YAAAA,QAAA,IAAAA,MAAA,OAAAA,MAAA,CAAAE,KAAA,KAAA,CAAA;;CA3DhDC,wBAAA/B,SAAAgC,QAAoE;AAAA,OAAAC,iBAAA,MAAA;cAoDvD,KAAKjC,QAAO;YAAA;;CApDzBkC,eAAsBC,KAAKpC,OAAK;AAAA,MAAAoC,QAAA,SAAA;GAAA,MAAAC,OAAA,KAAAC;AA0CX,QAAA5C;GAAA,MAAA6C,eAAAvC,SAE6B;AAAE,OAAAqC,MAAA;IAAA,MAAAG,cAAAD,gBAAA,OAAAxC,OAAAwC,aAAA,GAAA,IAAAhB,MAAA;AAAA,QAAAc,KAAAI,cAAAD,WAAAH,MAAAI,YAAAD;;;AAAA,MAAAJ,QAAA,QAAA,MAAAM,gBAAA,EAAA;;CA5ChB,CAAAC,gBAAA;AAAA,OAAAC,OAAA;;CAAA,CAAAC,mCAAA;AAApC,MAAI,CAAA,KAAAC,QAA0B;AAAS,OAAAC,aAAA,MAAA,CAAA,UAAA,EAAA,KAAAf,wBAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { n as ZagComponent } from "./zag-component.mjs";
|
|
2
|
+
import * as radioGroup from "@zag-js/radio-group";
|
|
3
|
+
import * as _$_zag_js_types0 from "@zag-js/types";
|
|
4
|
+
|
|
5
|
+
//#region src/components/radio-group.d.ts
|
|
6
|
+
declare class RadioGroup extends ZagComponent {
|
|
7
|
+
value: string | null;
|
|
8
|
+
createMachine(_props: any): any;
|
|
9
|
+
getMachineProps(props: any): {
|
|
10
|
+
id: any;
|
|
11
|
+
value: any;
|
|
12
|
+
defaultValue: any;
|
|
13
|
+
name: any;
|
|
14
|
+
form: any;
|
|
15
|
+
disabled: any;
|
|
16
|
+
readOnly: any;
|
|
17
|
+
orientation: any;
|
|
18
|
+
onValueChange: (details: radioGroup.ValueChangeDetails) => void;
|
|
19
|
+
};
|
|
20
|
+
connectApi(service: any): radioGroup.Api<_$_zag_js_types0.PropTypes<{
|
|
21
|
+
[x: string]: any;
|
|
22
|
+
}>>;
|
|
23
|
+
getSpreadMap(): {
|
|
24
|
+
'[data-part="root"]': string;
|
|
25
|
+
'[data-part="label"]': string;
|
|
26
|
+
'[data-part="indicator"]': string;
|
|
27
|
+
'[data-part="item"]': (api: any, el: any) => any;
|
|
28
|
+
'[data-part="item-text"]': (api: any, el: any) => any;
|
|
29
|
+
'[data-part="item-control"]': (api: any, el: any) => any;
|
|
30
|
+
'[data-part="item-hidden-input"]': (api: any, el: any) => any;
|
|
31
|
+
};
|
|
32
|
+
syncState(api: any): void;
|
|
33
|
+
template(props: any): string;
|
|
34
|
+
}
|
|
35
|
+
//#endregion
|
|
36
|
+
export { RadioGroup as default };
|
|
37
|
+
//# sourceMappingURL=radio-group.d.mts.map
|