@vertz/ui-primitives 0.2.22 → 0.2.24

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 (236) hide show
  1. package/dist/shared/chunk-00fqgnq1.js +218 -0
  2. package/dist/shared/chunk-1hm0mbke.js +258 -0
  3. package/dist/shared/chunk-20kwns82.js +293 -0
  4. package/dist/shared/chunk-3jack97k.js +509 -0
  5. package/dist/shared/chunk-455p0jbk.js +241 -0
  6. package/dist/shared/chunk-4gyg71bn.js +178 -0
  7. package/dist/shared/chunk-4z006v1j.js +467 -0
  8. package/dist/shared/chunk-585ysr70.js +149 -0
  9. package/dist/shared/chunk-67sn29eh.js +125 -0
  10. package/dist/shared/chunk-75pegjs7.js +26 -0
  11. package/dist/shared/chunk-7a2nqmeh.js +167 -0
  12. package/dist/shared/chunk-7wem1bhb.js +252 -0
  13. package/dist/shared/chunk-8evj43jn.js +284 -0
  14. package/dist/shared/chunk-8t0nm721.js +152 -0
  15. package/dist/shared/chunk-94twh4s4.js +28 -0
  16. package/dist/shared/chunk-98y1sw9y.js +398 -0
  17. package/dist/shared/chunk-99tk72t3.js +69 -0
  18. package/dist/shared/chunk-9eedsnnk.js +164 -0
  19. package/dist/shared/chunk-9hv3vc72.js +215 -0
  20. package/dist/shared/chunk-aa3w85hn.js +321 -0
  21. package/dist/shared/chunk-axpbdpgx.js +177 -0
  22. package/dist/shared/chunk-b4zzg457.js +410 -0
  23. package/dist/shared/chunk-brk0drrk.js +202 -0
  24. package/dist/shared/chunk-czv0kqj4.js +107 -0
  25. package/dist/shared/chunk-d83ag07h.js +189 -0
  26. package/dist/shared/chunk-de18ashk.js +134 -0
  27. package/dist/shared/chunk-dvk4h36t.js +140 -0
  28. package/dist/shared/chunk-e1jcf22s.js +79 -0
  29. package/dist/shared/chunk-e3h0ddmx.js +168 -0
  30. package/dist/shared/chunk-e6660g7e.js +179 -0
  31. package/dist/shared/chunk-eq4d9b0w.js +147 -0
  32. package/dist/shared/chunk-ev367pq3.js +102 -0
  33. package/dist/shared/chunk-f0wy7k56.js +183 -0
  34. package/dist/shared/chunk-fjykbv0v.js +214 -0
  35. package/dist/shared/chunk-ghkw5bjq.js +55 -0
  36. package/dist/shared/chunk-gqb1n1hj.js +60 -0
  37. package/dist/shared/chunk-hdvdfd1c.js +96 -0
  38. package/dist/shared/chunk-hfjtkytb.js +310 -0
  39. package/dist/shared/chunk-hpvjfj0j.js +31 -0
  40. package/dist/shared/chunk-hxmxvp56.js +67 -0
  41. package/dist/shared/chunk-j9m2f0rd.js +162 -0
  42. package/dist/shared/chunk-jdygp28a.js +260 -0
  43. package/dist/shared/chunk-jpyjk616.js +52 -0
  44. package/dist/shared/chunk-jqre4qtw.js +180 -0
  45. package/dist/shared/{chunk-myq79qew.js → chunk-jsa3byag.js} +48 -28
  46. package/dist/shared/chunk-jzy1bkdk.js +203 -0
  47. package/dist/shared/chunk-knzg86am.js +168 -0
  48. package/dist/shared/chunk-kskxxc2q.js +228 -0
  49. package/dist/shared/chunk-metxdt5x.js +28 -0
  50. package/dist/shared/chunk-mhn2aazf.js +353 -0
  51. package/dist/shared/chunk-mtx2cfbx.js +175 -0
  52. package/dist/shared/chunk-nj420k31.js +54 -0
  53. package/dist/shared/chunk-nsmvdxgp.js +213 -0
  54. package/dist/shared/{chunk-w9dag6ce.js → chunk-pdzmg245.js} +133 -85
  55. package/dist/shared/chunk-pzknpa1y.js +327 -0
  56. package/dist/shared/chunk-q1ff3xp3.js +95 -0
  57. package/dist/shared/chunk-q7xbcj9q.js +7 -0
  58. package/dist/shared/chunk-qhnany7w.js +179 -0
  59. package/dist/shared/chunk-qrm43tr3.js +357 -0
  60. package/dist/shared/{chunk-jda3v59q.js → chunk-qsp7sfhp.js} +2 -2
  61. package/dist/shared/{chunk-dhyr0s9n.js → chunk-qwqnjjg8.js} +1 -1
  62. package/dist/shared/chunk-r0rz7z03.js +266 -0
  63. package/dist/shared/chunk-r3ngaa64.js +418 -0
  64. package/dist/shared/chunk-r3pffzss.js +13 -0
  65. package/dist/shared/chunk-rrt62bp0.js +353 -0
  66. package/dist/shared/chunk-s24gkmna.js +131 -0
  67. package/dist/shared/chunk-s62e7jf4.js +30 -0
  68. package/dist/shared/chunk-spng4yb9.js +73 -0
  69. package/dist/shared/chunk-tn0m98j8.js +42 -0
  70. package/dist/shared/chunk-v0b5pkcq.js +30 -0
  71. package/dist/shared/chunk-v11kd39k.js +162 -0
  72. package/dist/shared/{chunk-0mcr52hc.js → chunk-vef3sepw.js} +17 -1
  73. package/dist/shared/chunk-vkscwzpr.js +294 -0
  74. package/dist/shared/chunk-vv187snj.js +112 -0
  75. package/dist/shared/chunk-vy874zxe.js +68 -0
  76. package/dist/shared/chunk-wqsek87j.js +311 -0
  77. package/dist/shared/chunk-wtkxz2te.js +157 -0
  78. package/dist/shared/chunk-y1hpsqzy.js +185 -0
  79. package/dist/shared/chunk-y4mmmayp.js +206 -0
  80. package/dist/shared/chunk-yfzddvxc.js +71 -0
  81. package/dist/src/accordion/accordion-composed.d.ts +30 -0
  82. package/dist/src/accordion/accordion-composed.js +6 -0
  83. package/dist/src/accordion/accordion.js +1 -1
  84. package/dist/src/alert/alert-composed.d.ts +26 -0
  85. package/dist/src/alert/alert-composed.js +6 -0
  86. package/dist/src/alert-dialog/alert-dialog-composed.d.ts +40 -0
  87. package/dist/src/alert-dialog/alert-dialog-composed.js +6 -0
  88. package/dist/src/alert-dialog/alert-dialog.js +1 -1
  89. package/dist/src/avatar/avatar-composed.d.ts +33 -0
  90. package/dist/src/avatar/avatar-composed.js +6 -0
  91. package/dist/src/badge/badge-composed.d.ts +33 -0
  92. package/dist/src/badge/badge-composed.js +6 -0
  93. package/dist/src/badge/badge.js +1 -1
  94. package/dist/src/breadcrumb/breadcrumb-composed.d.ts +34 -0
  95. package/dist/src/breadcrumb/breadcrumb-composed.js +6 -0
  96. package/dist/src/button/button-composed.d.ts +34 -0
  97. package/dist/src/button/button-composed.js +6 -0
  98. package/dist/src/button/button.js +1 -1
  99. package/dist/src/calendar/calendar-composed.d.ts +42 -0
  100. package/dist/src/calendar/calendar-composed.js +6 -0
  101. package/dist/src/calendar/calendar.js +1 -1
  102. package/dist/src/card/card-composed.d.ts +34 -0
  103. package/dist/src/card/card-composed.js +6 -0
  104. package/dist/src/carousel/carousel-composed.d.ts +32 -0
  105. package/dist/src/carousel/carousel-composed.js +6 -0
  106. package/dist/src/carousel/carousel.js +1 -1
  107. package/dist/src/checkbox/checkbox-composed.d.ts +18 -0
  108. package/dist/src/checkbox/checkbox-composed.js +6 -0
  109. package/dist/src/checkbox/checkbox.js +1 -1
  110. package/dist/src/collapsible/collapsible-composed.d.ts +26 -0
  111. package/dist/src/collapsible/collapsible-composed.js +6 -0
  112. package/dist/src/collapsible/collapsible.js +1 -1
  113. package/dist/src/combobox/combobox-composed.d.ts +30 -0
  114. package/dist/src/combobox/combobox-composed.js +6 -0
  115. package/dist/src/combobox/combobox.js +1 -1
  116. package/dist/src/command/command-composed.d.ts +67 -0
  117. package/dist/src/command/command-composed.js +6 -0
  118. package/dist/src/command/command.js +1 -1
  119. package/dist/src/composed/with-styles.d.ts +38 -0
  120. package/dist/src/composed/with-styles.js +6 -0
  121. package/dist/src/context-menu/context-menu-composed.d.ts +51 -0
  122. package/dist/src/context-menu/context-menu-composed.js +6 -0
  123. package/dist/src/context-menu/context-menu.js +1 -1
  124. package/dist/src/date-picker/date-picker-composed.d.ts +77 -0
  125. package/dist/src/date-picker/date-picker-composed.js +6 -0
  126. package/dist/src/date-picker/date-picker.js +1 -1
  127. package/dist/src/dialog/dialog-composed.d.ts +36 -0
  128. package/dist/src/dialog/dialog-composed.js +6 -0
  129. package/dist/src/dialog/dialog-stack-parts.d.ts +16 -0
  130. package/dist/src/dialog/dialog-stack-parts.js +18 -0
  131. package/dist/src/dialog/dialog.js +1 -1
  132. package/dist/src/dropdown-menu/dropdown-menu-composed.d.ts +51 -0
  133. package/dist/src/dropdown-menu/dropdown-menu-composed.js +6 -0
  134. package/dist/src/dropdown-menu/dropdown-menu.js +1 -1
  135. package/dist/src/empty-state/empty-state-composed.d.ts +30 -0
  136. package/dist/src/empty-state/empty-state-composed.js +6 -0
  137. package/dist/src/form-group/form-group-composed.d.ts +24 -0
  138. package/dist/src/form-group/form-group-composed.js +6 -0
  139. package/dist/src/hover-card/hover-card-composed.d.ts +38 -0
  140. package/dist/src/hover-card/hover-card-composed.js +6 -0
  141. package/dist/src/hover-card/hover-card.js +1 -1
  142. package/dist/src/index.d.ts +1284 -804
  143. package/dist/src/index.js +78 -5281
  144. package/dist/src/input/input-composed.d.ts +35 -0
  145. package/dist/src/input/input-composed.js +6 -0
  146. package/dist/src/label/label-composed.d.ts +32 -0
  147. package/dist/src/label/label-composed.js +6 -0
  148. package/dist/src/menu/menu-composed.d.ts +51 -0
  149. package/dist/src/menu/menu-composed.js +6 -0
  150. package/dist/src/menu/menu.js +1 -1
  151. package/dist/src/menubar/menubar-composed.d.ts +56 -0
  152. package/dist/src/menubar/menubar-composed.js +6 -0
  153. package/dist/src/menubar/menubar.js +1 -1
  154. package/dist/src/navigation-menu/navigation-menu-composed.d.ts +56 -0
  155. package/dist/src/navigation-menu/navigation-menu-composed.js +6 -0
  156. package/dist/src/navigation-menu/navigation-menu.js +1 -1
  157. package/dist/src/pagination/pagination-composed.d.ts +30 -0
  158. package/dist/src/pagination/pagination-composed.js +6 -0
  159. package/dist/src/popover/popover-composed.d.ts +36 -0
  160. package/dist/src/popover/popover-composed.js +6 -0
  161. package/dist/src/popover/popover.js +1 -1
  162. package/dist/src/progress/progress-composed.d.ts +17 -0
  163. package/dist/src/progress/progress-composed.js +6 -0
  164. package/dist/src/progress/progress.js +1 -1
  165. package/dist/src/radio/radio-composed.d.ts +24 -0
  166. package/dist/src/radio/radio-composed.js +6 -0
  167. package/dist/src/radio/radio.js +1 -1
  168. package/dist/src/resizable-panel/resizable-panel-composed.d.ts +33 -0
  169. package/dist/src/resizable-panel/resizable-panel-composed.js +6 -0
  170. package/dist/src/resizable-panel/resizable-panel.js +1 -1
  171. package/dist/src/scroll-area/scroll-area-composed.d.ts +17 -0
  172. package/dist/src/scroll-area/scroll-area-composed.js +6 -0
  173. package/dist/src/scroll-area/scroll-area.js +1 -1
  174. package/dist/src/select/select-composed.d.ts +53 -0
  175. package/dist/src/select/select-composed.js +6 -0
  176. package/dist/src/select/select.js +1 -1
  177. package/dist/src/separator/separator-composed.d.ts +32 -0
  178. package/dist/src/separator/separator-composed.js +6 -0
  179. package/dist/src/sheet/sheet-composed.d.ts +34 -0
  180. package/dist/src/sheet/sheet-composed.js +6 -0
  181. package/dist/src/sheet/sheet.js +1 -1
  182. package/dist/src/skeleton/skeleton-composed.d.ts +65 -0
  183. package/dist/src/skeleton/skeleton-composed.js +6 -0
  184. package/dist/src/slider/slider-composed.d.ts +22 -0
  185. package/dist/src/slider/slider-composed.js +6 -0
  186. package/dist/src/slider/slider.js +1 -1
  187. package/dist/src/switch/switch-composed.d.ts +17 -0
  188. package/dist/src/switch/switch-composed.js +6 -0
  189. package/dist/src/switch/switch.js +1 -1
  190. package/dist/src/table/table-composed.d.ts +34 -0
  191. package/dist/src/table/table-composed.js +6 -0
  192. package/dist/src/tabs/tabs-composed.d.ts +33 -0
  193. package/dist/src/tabs/tabs-composed.js +6 -0
  194. package/dist/src/tabs/tabs.js +1 -1
  195. package/dist/src/textarea/textarea-composed.d.ts +35 -0
  196. package/dist/src/textarea/textarea-composed.js +6 -0
  197. package/dist/src/toast/toast.js +1 -1
  198. package/dist/src/toggle/toggle-composed.d.ts +16 -0
  199. package/dist/src/toggle/toggle-composed.js +6 -0
  200. package/dist/src/toggle/toggle.js +1 -1
  201. package/dist/src/toggle-group/toggle-group-composed.d.ts +24 -0
  202. package/dist/src/toggle-group/toggle-group-composed.js +6 -0
  203. package/dist/src/toggle-group/toggle-group.js +1 -1
  204. package/dist/src/tooltip/tooltip-composed.d.ts +36 -0
  205. package/dist/src/tooltip/tooltip-composed.js +6 -0
  206. package/dist/src/tooltip/tooltip.js +1 -1
  207. package/dist/src/utils.js +1 -1
  208. package/package.json +3 -3
  209. package/dist/shared/chunk-07yzsaaw.js +0 -165
  210. package/dist/shared/chunk-279bzynx.js +0 -132
  211. package/dist/shared/chunk-27xs9apd.js +0 -288
  212. package/dist/shared/chunk-2k8gxzdf.js +0 -151
  213. package/dist/shared/chunk-3rp73gkd.js +0 -175
  214. package/dist/shared/chunk-4rf1m34c.js +0 -267
  215. package/dist/shared/chunk-56reyd5r.js +0 -64
  216. package/dist/shared/chunk-7bxsf80c.js +0 -60
  217. package/dist/shared/chunk-8qtexw5s.js +0 -199
  218. package/dist/shared/chunk-9ezgd78r.js +0 -142
  219. package/dist/shared/chunk-ajpj10z0.js +0 -282
  220. package/dist/shared/chunk-c46v0fsw.js +0 -117
  221. package/dist/shared/chunk-e4mm5e59.js +0 -178
  222. package/dist/shared/chunk-fqa5bwn1.js +0 -128
  223. package/dist/shared/chunk-g8hnc95b.js +0 -219
  224. package/dist/shared/chunk-j2tdpxgc.js +0 -185
  225. package/dist/shared/chunk-k8nabsxm.js +0 -330
  226. package/dist/shared/chunk-kcnq15je.js +0 -175
  227. package/dist/shared/chunk-mqs4qq0b.js +0 -46
  228. package/dist/shared/chunk-pg2yjn8f.js +0 -88
  229. package/dist/shared/chunk-rb53v045.js +0 -71
  230. package/dist/shared/chunk-s6a2yph8.js +0 -239
  231. package/dist/shared/chunk-vhx3sqw6.js +0 -196
  232. package/dist/shared/chunk-w318par6.js +0 -204
  233. package/dist/shared/chunk-wcdq7bew.js +0 -133
  234. package/dist/shared/chunk-z0gwkzgp.js +0 -34
  235. package/dist/shared/chunk-z850et33.js +0 -161
  236. package/dist/shared/chunk-zyfc6cx3.js +0 -61
@@ -0,0 +1,162 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-q7xbcj9q.js";
4
+ import {
5
+ Keys,
6
+ isKey
7
+ } from "./chunk-7867pr13.js";
8
+ import {
9
+ uniqueId
10
+ } from "./chunk-8y1jf6xr.js";
11
+
12
+ // src/radio/radio-composed.tsx
13
+ import { computed, signal } from "@vertz/ui";
14
+ import { __append, __attr, __child, __conditional, __discardMountFrame, __element, __enterChildren, __exitChildren, __flushMountFrame, __on, __pushMountFrame, __styleStr } from "@vertz/ui/internals";
15
+ import { createContext, useContext } from "@vertz/ui";
16
+ var RadioGroupContext = createContext(undefined, "@vertz/ui-primitives::RadioGroupContext");
17
+ function RadioGroupItem(__props) {
18
+ const __mfDepth = __pushMountFrame();
19
+ try {
20
+ const ctx = useContext(RadioGroupContext);
21
+ if (!ctx) {
22
+ throw new Error("<RadioGroup.Item> must be used inside <RadioGroup>. " + "Ensure it is a direct or nested child of the RadioGroup root component.");
23
+ }
24
+ const isDisabled = computed(() => __props.disabled ?? false);
25
+ const isChecked = computed(() => ctx.isSelected(__props.value));
26
+ const __mfResult0 = (() => {
27
+ const __el0 = __element("div");
28
+ {
29
+ const __v = { display: "flex", alignItems: "center", gap: "0.5rem", cursor: "pointer" };
30
+ if (__v != null && __v !== false)
31
+ __el0.setAttribute("style", typeof __v === "object" ? __styleStr(__v) : __v === true ? "" : String(__v));
32
+ }
33
+ __el0.setAttribute("data-radiogroup-item", "");
34
+ __on(__el0, "click", () => {
35
+ if (!isDisabled.value)
36
+ ctx.select(__props.value);
37
+ });
38
+ __enterChildren(__el0);
39
+ __append(__el0, (() => {
40
+ const __el1 = __element("div");
41
+ __el1.setAttribute("role", "radio");
42
+ __attr(__el1, "data-value", () => __props.value);
43
+ __attr(__el1, "aria-checked", () => isChecked.value ? "true" : "false");
44
+ __attr(__el1, "data-state", () => isChecked.value ? "checked" : "unchecked");
45
+ __attr(__el1, "tabindex", () => isChecked.value ? "0" : "-1");
46
+ __attr(__el1, "aria-disabled", () => isDisabled.value ? "true" : undefined);
47
+ __attr(__el1, "class", () => cn(ctx.classes?.item));
48
+ __attr(__el1, "style", () => ({ pointerEvents: isDisabled.value ? "none" : undefined, position: "relative" }));
49
+ __enterChildren(__el1);
50
+ __append(__el1, (() => {
51
+ const __el2 = __element("span");
52
+ __el2.setAttribute("data-part", "indicator");
53
+ __attr(__el2, "data-state", () => isChecked.value ? "checked" : "unchecked");
54
+ __attr(__el2, "class", () => cn(ctx.classes?.indicator));
55
+ __enterChildren(__el2);
56
+ __append(__el2, (() => {
57
+ const __el3 = __element("span");
58
+ __el3.setAttribute("data-part", "indicator-icon");
59
+ __attr(__el3, "class", () => cn(ctx.classes?.indicatorIcon));
60
+ return __el3;
61
+ })());
62
+ __exitChildren();
63
+ return __el2;
64
+ })());
65
+ __exitChildren();
66
+ return __el1;
67
+ })());
68
+ __append(__el0, __conditional(() => __props.children, () => (() => {
69
+ const __el4 = __element("span");
70
+ __enterChildren(__el4);
71
+ __append(__el4, __child(() => __props.children));
72
+ __exitChildren();
73
+ return __el4;
74
+ })(), () => null));
75
+ __exitChildren();
76
+ return __el0;
77
+ })();
78
+ __flushMountFrame();
79
+ return __mfResult0;
80
+ } catch (__mfErr) {
81
+ __discardMountFrame(__mfDepth);
82
+ throw __mfErr;
83
+ }
84
+ }
85
+ function ComposedRadioGroupRoot(__props) {
86
+ const __mfDepth = __pushMountFrame();
87
+ try {
88
+ let select = function(value) {
89
+ selectedValue.value = value;
90
+ __props.onValueChange?.(value);
91
+ };
92
+ const selectedValue = signal(__props.defaultValue ?? "", "selectedValue");
93
+ const ctx = {
94
+ isSelected: (value) => selectedValue.value === value,
95
+ classes: __props.classes,
96
+ select
97
+ };
98
+ const __mfResult0 = RadioGroupContext.Provider({ get value() {
99
+ return ctx;
100
+ }, children: () => (() => {
101
+ const __el0 = __element("div");
102
+ __el0.setAttribute("role", "radiogroup");
103
+ {
104
+ const __v = uniqueId("radiogroup");
105
+ if (__v != null && __v !== false)
106
+ __el0.setAttribute("id", __v === true ? "" : __v);
107
+ }
108
+ __attr(__el0, "class", () => cn(__props.classes?.root));
109
+ __el0.setAttribute("data-radiogroup-root", "");
110
+ __on(__el0, "keydown", (event) => {
111
+ const root = event.currentTarget;
112
+ const items = [...root.querySelectorAll('[role="radio"]')];
113
+ const currentIdx = items.indexOf(document.activeElement);
114
+ if (currentIdx < 0)
115
+ return;
116
+ const len = items.length;
117
+ let nextIdx = -1;
118
+ if (isKey(event, Keys.ArrowDown, Keys.ArrowRight)) {
119
+ event.preventDefault();
120
+ nextIdx = (currentIdx + 1) % len;
121
+ } else if (isKey(event, Keys.ArrowUp, Keys.ArrowLeft)) {
122
+ event.preventDefault();
123
+ nextIdx = (currentIdx - 1 + len) % len;
124
+ } else if (isKey(event, Keys.Home)) {
125
+ event.preventDefault();
126
+ nextIdx = 0;
127
+ } else if (isKey(event, Keys.End)) {
128
+ event.preventDefault();
129
+ nextIdx = len - 1;
130
+ }
131
+ if (nextIdx < 0)
132
+ return;
133
+ const direction = isKey(event, Keys.End, Keys.ArrowUp, Keys.ArrowLeft) ? -1 : 1;
134
+ const startIdx = nextIdx;
135
+ while (items[nextIdx]?.getAttribute("aria-disabled") === "true") {
136
+ nextIdx = (nextIdx + direction + len) % len;
137
+ if (nextIdx === startIdx)
138
+ return;
139
+ }
140
+ const nextValue = items[nextIdx]?.getAttribute("data-value");
141
+ if (nextValue != null) {
142
+ select(nextValue);
143
+ items[nextIdx]?.focus();
144
+ }
145
+ });
146
+ __enterChildren(__el0);
147
+ __append(__el0, __child(() => __props.children));
148
+ __exitChildren();
149
+ return __el0;
150
+ })() });
151
+ __flushMountFrame();
152
+ return __mfResult0;
153
+ } catch (__mfErr) {
154
+ __discardMountFrame(__mfDepth);
155
+ throw __mfErr;
156
+ }
157
+ }
158
+ var ComposedRadioGroup = Object.assign(ComposedRadioGroupRoot, {
159
+ Item: RadioGroupItem
160
+ });
161
+
162
+ export { ComposedRadioGroup };
@@ -0,0 +1,260 @@
1
+ import {
2
+ saveFocus,
3
+ trapFocus
4
+ } from "./chunk-e2v1c9ex.js";
5
+ import {
6
+ setDataState,
7
+ setExpanded,
8
+ setHidden,
9
+ setHiddenAnimated
10
+ } from "./chunk-vevfhpc9.js";
11
+ import {
12
+ linkedIds
13
+ } from "./chunk-8y1jf6xr.js";
14
+
15
+ // src/alert-dialog/alert-dialog.tsx
16
+ import { __discardMountFrame, __element, __flushMountFrame, __on, __pushMountFrame, __styleStr } from "@vertz/ui/internals";
17
+ import { signal } from "@vertz/ui";
18
+ function AlertDialogTriggerEl(triggerId, contentId, defaultOpen, onClick) {
19
+ const __mfDepth = __pushMountFrame();
20
+ try {
21
+ const __mfResult0 = (() => {
22
+ const __el0 = __element("button");
23
+ __el0.setAttribute("type", "button");
24
+ {
25
+ const __v = triggerId;
26
+ if (__v != null && __v !== false)
27
+ __el0.setAttribute("id", __v === true ? "" : __v);
28
+ }
29
+ {
30
+ const __v = contentId;
31
+ if (__v != null && __v !== false)
32
+ __el0.setAttribute("aria-controls", __v === true ? "" : __v);
33
+ }
34
+ {
35
+ const __v = defaultOpen ? "true" : "false";
36
+ if (__v != null && __v !== false)
37
+ __el0.setAttribute("aria-expanded", __v === true ? "" : __v);
38
+ }
39
+ {
40
+ const __v = defaultOpen ? "open" : "closed";
41
+ if (__v != null && __v !== false)
42
+ __el0.setAttribute("data-state", __v === true ? "" : __v);
43
+ }
44
+ __on(__el0, "click", onClick);
45
+ return __el0;
46
+ })();
47
+ __flushMountFrame();
48
+ return __mfResult0;
49
+ } catch (__mfErr) {
50
+ __discardMountFrame(__mfDepth);
51
+ throw __mfErr;
52
+ }
53
+ }
54
+ function AlertDialogOverlayEl(defaultOpen) {
55
+ const __mfDepth = __pushMountFrame();
56
+ try {
57
+ const __mfResult0 = (() => {
58
+ const __el0 = __element("div");
59
+ __el0.setAttribute("data-alertdialog-overlay", "");
60
+ {
61
+ const __v = defaultOpen ? "false" : "true";
62
+ if (__v != null && __v !== false)
63
+ __el0.setAttribute("aria-hidden", __v === true ? "" : __v);
64
+ }
65
+ {
66
+ const __v = defaultOpen ? "open" : "closed";
67
+ if (__v != null && __v !== false)
68
+ __el0.setAttribute("data-state", __v === true ? "" : __v);
69
+ }
70
+ {
71
+ const __v = { display: defaultOpen ? "" : "none" };
72
+ if (__v != null && __v !== false)
73
+ __el0.setAttribute("style", typeof __v === "object" ? __styleStr(__v) : __v === true ? "" : String(__v));
74
+ }
75
+ return __el0;
76
+ })();
77
+ __flushMountFrame();
78
+ return __mfResult0;
79
+ } catch (__mfErr) {
80
+ __discardMountFrame(__mfDepth);
81
+ throw __mfErr;
82
+ }
83
+ }
84
+ function AlertDialogContentEl(contentId, titleId, descriptionId, defaultOpen) {
85
+ const __mfDepth = __pushMountFrame();
86
+ try {
87
+ const __mfResult0 = (() => {
88
+ const __el0 = __element("div");
89
+ __el0.setAttribute("role", "alertdialog");
90
+ {
91
+ const __v = contentId;
92
+ if (__v != null && __v !== false)
93
+ __el0.setAttribute("id", __v === true ? "" : __v);
94
+ }
95
+ __el0.setAttribute("aria-modal", "true");
96
+ {
97
+ const __v = titleId;
98
+ if (__v != null && __v !== false)
99
+ __el0.setAttribute("aria-labelledby", __v === true ? "" : __v);
100
+ }
101
+ {
102
+ const __v = descriptionId;
103
+ if (__v != null && __v !== false)
104
+ __el0.setAttribute("aria-describedby", __v === true ? "" : __v);
105
+ }
106
+ {
107
+ const __v = defaultOpen ? "false" : "true";
108
+ if (__v != null && __v !== false)
109
+ __el0.setAttribute("aria-hidden", __v === true ? "" : __v);
110
+ }
111
+ {
112
+ const __v = defaultOpen ? "open" : "closed";
113
+ if (__v != null && __v !== false)
114
+ __el0.setAttribute("data-state", __v === true ? "" : __v);
115
+ }
116
+ {
117
+ const __v = { display: defaultOpen ? "" : "none" };
118
+ if (__v != null && __v !== false)
119
+ __el0.setAttribute("style", typeof __v === "object" ? __styleStr(__v) : __v === true ? "" : String(__v));
120
+ }
121
+ return __el0;
122
+ })();
123
+ __flushMountFrame();
124
+ return __mfResult0;
125
+ } catch (__mfErr) {
126
+ __discardMountFrame(__mfDepth);
127
+ throw __mfErr;
128
+ }
129
+ }
130
+ function AlertDialogTitleEl(titleId) {
131
+ const __mfDepth = __pushMountFrame();
132
+ try {
133
+ const __mfResult0 = (() => {
134
+ const __el0 = __element("h2");
135
+ {
136
+ const __v = titleId;
137
+ if (__v != null && __v !== false)
138
+ __el0.setAttribute("id", __v === true ? "" : __v);
139
+ }
140
+ return __el0;
141
+ })();
142
+ __flushMountFrame();
143
+ return __mfResult0;
144
+ } catch (__mfErr) {
145
+ __discardMountFrame(__mfDepth);
146
+ throw __mfErr;
147
+ }
148
+ }
149
+ function AlertDialogDescriptionEl(descriptionId) {
150
+ const __mfDepth = __pushMountFrame();
151
+ try {
152
+ const __mfResult0 = (() => {
153
+ const __el0 = __element("p");
154
+ {
155
+ const __v = descriptionId;
156
+ if (__v != null && __v !== false)
157
+ __el0.setAttribute("id", __v === true ? "" : __v);
158
+ }
159
+ return __el0;
160
+ })();
161
+ __flushMountFrame();
162
+ return __mfResult0;
163
+ } catch (__mfErr) {
164
+ __discardMountFrame(__mfDepth);
165
+ throw __mfErr;
166
+ }
167
+ }
168
+ function AlertDialogCancelBtn(onClick) {
169
+ const __mfDepth = __pushMountFrame();
170
+ try {
171
+ const __mfResult0 = (() => {
172
+ const __el0 = __element("button");
173
+ __el0.setAttribute("type", "button");
174
+ __on(__el0, "click", onClick);
175
+ return __el0;
176
+ })();
177
+ __flushMountFrame();
178
+ return __mfResult0;
179
+ } catch (__mfErr) {
180
+ __discardMountFrame(__mfDepth);
181
+ throw __mfErr;
182
+ }
183
+ }
184
+ function AlertDialogActionBtn(onClick) {
185
+ const __mfDepth = __pushMountFrame();
186
+ try {
187
+ const __mfResult0 = (() => {
188
+ const __el0 = __element("button");
189
+ __el0.setAttribute("type", "button");
190
+ __on(__el0, "click", onClick);
191
+ return __el0;
192
+ })();
193
+ __flushMountFrame();
194
+ return __mfResult0;
195
+ } catch (__mfErr) {
196
+ __discardMountFrame(__mfDepth);
197
+ throw __mfErr;
198
+ }
199
+ }
200
+ function AlertDialogRoot(options = {}) {
201
+ const { defaultOpen = false, onOpenChange, onAction } = options;
202
+ const ids = linkedIds("alertdialog");
203
+ const titleId = `${ids.contentId}-title`;
204
+ const descriptionId = `${ids.contentId}-description`;
205
+ const state = { open: signal(defaultOpen) };
206
+ let restoreFocus = null;
207
+ let removeTrap = null;
208
+ function show() {
209
+ if (state.open.peek())
210
+ return;
211
+ state.open.value = true;
212
+ setExpanded(trigger, true);
213
+ setHidden(overlay, false);
214
+ setHidden(content, false);
215
+ setDataState(trigger, "open");
216
+ setDataState(overlay, "open");
217
+ setDataState(content, "open");
218
+ restoreFocus = saveFocus();
219
+ removeTrap = trapFocus(content);
220
+ queueMicrotask(() => cancel.focus());
221
+ onOpenChange?.(true);
222
+ }
223
+ function hide() {
224
+ if (!state.open.peek())
225
+ return;
226
+ state.open.value = false;
227
+ setExpanded(trigger, false);
228
+ setDataState(trigger, "closed");
229
+ setDataState(overlay, "closed");
230
+ setDataState(content, "closed");
231
+ setHiddenAnimated(overlay, true);
232
+ setHiddenAnimated(content, true);
233
+ removeTrap?.();
234
+ removeTrap = null;
235
+ restoreFocus?.();
236
+ restoreFocus = null;
237
+ onOpenChange?.(false);
238
+ }
239
+ const trigger = AlertDialogTriggerEl(ids.triggerId, ids.contentId, defaultOpen, show);
240
+ const overlay = AlertDialogOverlayEl(defaultOpen);
241
+ const content = AlertDialogContentEl(ids.contentId, titleId, descriptionId, defaultOpen);
242
+ const title = AlertDialogTitleEl(titleId);
243
+ const description = AlertDialogDescriptionEl(descriptionId);
244
+ const cancel = AlertDialogCancelBtn(() => hide());
245
+ const action = AlertDialogActionBtn(() => {
246
+ onAction?.();
247
+ hide();
248
+ });
249
+ if (defaultOpen) {
250
+ restoreFocus = saveFocus();
251
+ removeTrap = trapFocus(content);
252
+ queueMicrotask(() => cancel.focus());
253
+ }
254
+ return { trigger, overlay, content, title, description, cancel, action, state, show, hide };
255
+ }
256
+ var AlertDialog = {
257
+ Root: AlertDialogRoot
258
+ };
259
+
260
+ export { AlertDialog };
@@ -0,0 +1,52 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-q7xbcj9q.js";
4
+
5
+ // src/form-group/form-group-composed.tsx
6
+ import { __append, __attr, __child, __discardMountFrame, __element, __enterChildren, __exitChildren, __flushMountFrame, __pushMountFrame } from "@vertz/ui/internals";
7
+ import { createContext, useContext } from "@vertz/ui";
8
+ var FormGroupContext = createContext(undefined, "@vertz/ui-primitives::FormGroupContext");
9
+ function FormError(__props) {
10
+ const __mfDepth = __pushMountFrame();
11
+ try {
12
+ const ctx = useContext(FormGroupContext);
13
+ const __mfResult0 = (() => {
14
+ const __el0 = __element("span");
15
+ __attr(__el0, "class", () => cn(ctx?.classes?.error, __props.className ?? __props.class));
16
+ __enterChildren(__el0);
17
+ __append(__el0, __child(() => __props.children));
18
+ __exitChildren();
19
+ return __el0;
20
+ })();
21
+ __flushMountFrame();
22
+ return __mfResult0;
23
+ } catch (__mfErr) {
24
+ __discardMountFrame(__mfDepth);
25
+ throw __mfErr;
26
+ }
27
+ }
28
+ function ComposedFormGroupRoot(__props) {
29
+ const __mfDepth = __pushMountFrame();
30
+ try {
31
+ const __mfResult0 = FormGroupContext.Provider({ get value() {
32
+ return { classes: __props.classes };
33
+ }, children: () => (() => {
34
+ const __el0 = __element("div");
35
+ __attr(__el0, "class", () => cn(__props.classes?.base, __props.className ?? __props.class));
36
+ __enterChildren(__el0);
37
+ __append(__el0, __child(() => __props.children));
38
+ __exitChildren();
39
+ return __el0;
40
+ })() });
41
+ __flushMountFrame();
42
+ return __mfResult0;
43
+ } catch (__mfErr) {
44
+ __discardMountFrame(__mfDepth);
45
+ throw __mfErr;
46
+ }
47
+ }
48
+ var ComposedFormGroup = Object.assign(ComposedFormGroupRoot, {
49
+ FormError
50
+ });
51
+
52
+ export { ComposedFormGroup };
@@ -0,0 +1,180 @@
1
+ import {
2
+ focusFirst,
3
+ saveFocus,
4
+ trapFocus
5
+ } from "./chunk-e2v1c9ex.js";
6
+ import {
7
+ Keys,
8
+ isKey
9
+ } from "./chunk-7867pr13.js";
10
+ import {
11
+ setDataState,
12
+ setExpanded,
13
+ setHidden,
14
+ setHiddenAnimated
15
+ } from "./chunk-vevfhpc9.js";
16
+ import {
17
+ linkedIds
18
+ } from "./chunk-8y1jf6xr.js";
19
+
20
+ // src/sheet/sheet.tsx
21
+ import { __discardMountFrame, __element, __flushMountFrame, __on, __pushMountFrame, __styleStr } from "@vertz/ui/internals";
22
+ import { signal } from "@vertz/ui";
23
+ function SheetRoot(options = {}) {
24
+ const __mfDepth = __pushMountFrame();
25
+ try {
26
+ let show = function() {
27
+ state.open.value = true;
28
+ setExpanded(trigger, true);
29
+ setHidden(overlay, false);
30
+ setHidden(content, false);
31
+ setDataState(trigger, "open");
32
+ setDataState(overlay, "open");
33
+ setDataState(content, "open");
34
+ restoreFocus = saveFocus();
35
+ removeTrap = trapFocus(content);
36
+ queueMicrotask(() => focusFirst(content));
37
+ onOpenChange?.(true);
38
+ }, hide = function() {
39
+ state.open.value = false;
40
+ setExpanded(trigger, false);
41
+ setDataState(trigger, "closed");
42
+ setDataState(overlay, "closed");
43
+ setDataState(content, "closed");
44
+ setHiddenAnimated(overlay, true);
45
+ setHiddenAnimated(content, true);
46
+ removeTrap?.();
47
+ removeTrap = null;
48
+ restoreFocus?.();
49
+ restoreFocus = null;
50
+ onOpenChange?.(false);
51
+ }, handlePointerDown = function(e) {
52
+ startX = e.clientX;
53
+ startY = e.clientY;
54
+ }, handlePointerUp = function(e) {
55
+ if (!state.open.peek())
56
+ return;
57
+ const deltaX = e.clientX - startX;
58
+ const deltaY = e.clientY - startY;
59
+ const shouldDismiss = side === "right" && deltaX >= SWIPE_THRESHOLD || side === "left" && deltaX <= -SWIPE_THRESHOLD || side === "bottom" && deltaY >= SWIPE_THRESHOLD || side === "top" && deltaY <= -SWIPE_THRESHOLD;
60
+ if (shouldDismiss) {
61
+ hide();
62
+ }
63
+ };
64
+ const { side = "right", defaultOpen = false, onOpenChange } = options;
65
+ const ids = linkedIds("sheet");
66
+ const state = { open: signal(defaultOpen) };
67
+ let restoreFocus = null;
68
+ let removeTrap = null;
69
+ const SWIPE_THRESHOLD = 50;
70
+ let startX = 0;
71
+ let startY = 0;
72
+ const trigger = (() => {
73
+ const __el0 = __element("button");
74
+ __el0.setAttribute("type", "button");
75
+ {
76
+ const __v = ids.triggerId;
77
+ if (__v != null && __v !== false)
78
+ __el0.setAttribute("id", __v === true ? "" : __v);
79
+ }
80
+ {
81
+ const __v = ids.contentId;
82
+ if (__v != null && __v !== false)
83
+ __el0.setAttribute("aria-controls", __v === true ? "" : __v);
84
+ }
85
+ {
86
+ const __v = defaultOpen ? "true" : "false";
87
+ if (__v != null && __v !== false)
88
+ __el0.setAttribute("aria-expanded", __v === true ? "" : __v);
89
+ }
90
+ {
91
+ const __v = defaultOpen ? "open" : "closed";
92
+ if (__v != null && __v !== false)
93
+ __el0.setAttribute("data-state", __v === true ? "" : __v);
94
+ }
95
+ __on(__el0, "click", () => {
96
+ state.open.peek() ? hide() : show();
97
+ });
98
+ return __el0;
99
+ })();
100
+ const overlay = (() => {
101
+ const __el1 = __element("div");
102
+ __el1.setAttribute("data-sheet-overlay", "");
103
+ {
104
+ const __v = defaultOpen ? "false" : "true";
105
+ if (__v != null && __v !== false)
106
+ __el1.setAttribute("aria-hidden", __v === true ? "" : __v);
107
+ }
108
+ {
109
+ const __v = defaultOpen ? "open" : "closed";
110
+ if (__v != null && __v !== false)
111
+ __el1.setAttribute("data-state", __v === true ? "" : __v);
112
+ }
113
+ {
114
+ const __v = { display: defaultOpen ? "" : "none" };
115
+ if (__v != null && __v !== false)
116
+ __el1.setAttribute("style", typeof __v === "object" ? __styleStr(__v) : __v === true ? "" : String(__v));
117
+ }
118
+ __on(__el1, "click", () => hide());
119
+ return __el1;
120
+ })();
121
+ const content = (() => {
122
+ const __el2 = __element("div");
123
+ __el2.setAttribute("role", "dialog");
124
+ __el2.setAttribute("aria-modal", "true");
125
+ {
126
+ const __v = ids.contentId;
127
+ if (__v != null && __v !== false)
128
+ __el2.setAttribute("id", __v === true ? "" : __v);
129
+ }
130
+ {
131
+ const __v = side;
132
+ if (__v != null && __v !== false)
133
+ __el2.setAttribute("data-side", __v === true ? "" : __v);
134
+ }
135
+ {
136
+ const __v = defaultOpen ? "false" : "true";
137
+ if (__v != null && __v !== false)
138
+ __el2.setAttribute("aria-hidden", __v === true ? "" : __v);
139
+ }
140
+ {
141
+ const __v = defaultOpen ? "open" : "closed";
142
+ if (__v != null && __v !== false)
143
+ __el2.setAttribute("data-state", __v === true ? "" : __v);
144
+ }
145
+ {
146
+ const __v = { display: defaultOpen ? "" : "none" };
147
+ if (__v != null && __v !== false)
148
+ __el2.setAttribute("style", typeof __v === "object" ? __styleStr(__v) : __v === true ? "" : String(__v));
149
+ }
150
+ __on(__el2, "keydown", (event) => {
151
+ if (isKey(event, Keys.Escape)) {
152
+ event.preventDefault();
153
+ event.stopPropagation();
154
+ hide();
155
+ }
156
+ });
157
+ __on(__el2, "pointerdown", handlePointerDown);
158
+ __on(__el2, "pointerup", handlePointerUp);
159
+ return __el2;
160
+ })();
161
+ const close = (() => {
162
+ const __el3 = __element("button");
163
+ __el3.setAttribute("type", "button");
164
+ __el3.setAttribute("aria-label", "Close");
165
+ __on(__el3, "click", () => hide());
166
+ return __el3;
167
+ })();
168
+ const __mfResult0 = { trigger, overlay, content, close, state, show, hide };
169
+ __flushMountFrame();
170
+ return __mfResult0;
171
+ } catch (__mfErr) {
172
+ __discardMountFrame(__mfDepth);
173
+ throw __mfErr;
174
+ }
175
+ }
176
+ var Sheet = {
177
+ Root: SheetRoot
178
+ };
179
+
180
+ export { Sheet };