@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,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
@@ -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 &#x2715;\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