@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,353 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-q7xbcj9q.js";
4
+ import {
5
+ createDismiss
6
+ } from "./chunk-a6wp8c32.js";
7
+ import {
8
+ createFloatingPosition,
9
+ resolveLayoutElement
10
+ } from "./chunk-vef3sepw.js";
11
+ import {
12
+ Keys,
13
+ handleListNavigation,
14
+ isKey
15
+ } from "./chunk-7867pr13.js";
16
+ import {
17
+ linkedIds
18
+ } from "./chunk-8y1jf6xr.js";
19
+
20
+ // src/dropdown-menu/dropdown-menu-composed.tsx
21
+ import { signal } from "@vertz/ui";
22
+ import { __append, __attr, __child, __discardMountFrame, __element, __enterChildren, __exitChildren, __flushMountFrame, __on, __pushMountFrame, __styleStr } from "@vertz/ui/internals";
23
+ import { createContext, ref, useContext } from "@vertz/ui";
24
+ var DropdownMenuContext = createContext(undefined, "@vertz/ui-primitives::DropdownMenuContext");
25
+ function useDropdownMenuContext(componentName) {
26
+ const ctx = useContext(DropdownMenuContext);
27
+ if (!ctx) {
28
+ throw new Error(`<DropdownMenu.${componentName}> must be used inside <DropdownMenu>. ` + "Ensure it is a direct or nested child of the DropdownMenu root component.");
29
+ }
30
+ return ctx;
31
+ }
32
+ function MenuTrigger(__props) {
33
+ const __mfDepth = __pushMountFrame();
34
+ try {
35
+ const ctx = useDropdownMenuContext("Trigger");
36
+ const __mfResult0 = (() => {
37
+ const __el0 = __element("span");
38
+ {
39
+ const __v = { display: "contents" };
40
+ if (__v != null && __v !== false)
41
+ __el0.setAttribute("style", typeof __v === "object" ? __styleStr(__v) : __v === true ? "" : String(__v));
42
+ }
43
+ __el0.setAttribute("data-dropdownmenu-trigger", "");
44
+ __el0.setAttribute("aria-haspopup", "menu");
45
+ {
46
+ const __v = ctx.contentId;
47
+ if (__v != null && __v !== false)
48
+ __el0.setAttribute("aria-controls", __v === true ? "" : __v);
49
+ }
50
+ __el0.setAttribute("aria-expanded", "false");
51
+ __el0.setAttribute("data-state", "closed");
52
+ __on(__el0, "click", () => ctx.toggle());
53
+ __on(__el0, "keydown", (event) => {
54
+ if (isKey(event, Keys.ArrowDown, Keys.Enter, Keys.Space)) {
55
+ event.preventDefault();
56
+ if (!ctx.isOpen())
57
+ ctx.open(true);
58
+ }
59
+ });
60
+ __enterChildren(__el0);
61
+ __append(__el0, __child(() => __props.children));
62
+ __exitChildren();
63
+ return __el0;
64
+ })();
65
+ __flushMountFrame();
66
+ return __mfResult0;
67
+ } catch (__mfErr) {
68
+ __discardMountFrame(__mfDepth);
69
+ throw __mfErr;
70
+ }
71
+ }
72
+ function MenuContent(__props) {
73
+ const __mfDepth = __pushMountFrame();
74
+ try {
75
+ const ctx = useDropdownMenuContext("Content");
76
+ const instanceIndex = ctx._contentCount.value++;
77
+ if (instanceIndex > 0) {
78
+ console.warn("Duplicate <DropdownMenu.Content> detected – only the first is used");
79
+ }
80
+ const __mfResult0 = (() => {
81
+ const __el0 = __element("div");
82
+ ctx.contentRef.current = __el0;
83
+ __el0.setAttribute("role", "menu");
84
+ __el0.setAttribute("tabindex", "-1");
85
+ {
86
+ const __v = ctx.contentId;
87
+ if (__v != null && __v !== false)
88
+ __el0.setAttribute("id", __v === true ? "" : __v);
89
+ }
90
+ __el0.setAttribute("data-dropdownmenu-content", "");
91
+ __el0.setAttribute("aria-hidden", "true");
92
+ __el0.setAttribute("data-state", "closed");
93
+ {
94
+ const __v = { display: "none" };
95
+ if (__v != null && __v !== false)
96
+ __el0.setAttribute("style", typeof __v === "object" ? __styleStr(__v) : __v === true ? "" : String(__v));
97
+ }
98
+ __attr(__el0, "class", () => cn(ctx.classes?.content, __props.className ?? __props.class));
99
+ __on(__el0, "keydown", (event) => {
100
+ if (isKey(event, Keys.Escape)) {
101
+ event.preventDefault();
102
+ ctx.close();
103
+ return;
104
+ }
105
+ const el = event.currentTarget ?? event.target;
106
+ const items = [...el.querySelectorAll('[role="menuitem"]')];
107
+ const focusedIdx = items.indexOf(document.activeElement);
108
+ if (isKey(event, Keys.Enter, Keys.Space)) {
109
+ event.preventDefault();
110
+ const active = items[focusedIdx];
111
+ if (active) {
112
+ const val = active.getAttribute("data-value");
113
+ if (val !== null) {
114
+ ctx.onSelect?.(val);
115
+ ctx.close();
116
+ }
117
+ }
118
+ return;
119
+ }
120
+ handleListNavigation(event, items, { orientation: "vertical" });
121
+ if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {
122
+ const char = event.key.toLowerCase();
123
+ const match = items.find((item) => item.textContent?.toLowerCase().startsWith(char));
124
+ if (match)
125
+ match.focus();
126
+ }
127
+ });
128
+ __on(__el0, "click", (event) => {
129
+ const target = event.target.closest('[role="menuitem"]');
130
+ if (target)
131
+ ctx.close();
132
+ });
133
+ __enterChildren(__el0);
134
+ __append(__el0, __child(() => __props.children));
135
+ __exitChildren();
136
+ return __el0;
137
+ })();
138
+ __flushMountFrame();
139
+ return __mfResult0;
140
+ } catch (__mfErr) {
141
+ __discardMountFrame(__mfDepth);
142
+ throw __mfErr;
143
+ }
144
+ }
145
+ function MenuItem(__props) {
146
+ const __mfDepth = __pushMountFrame();
147
+ try {
148
+ const ctx = useDropdownMenuContext("Item");
149
+ const __mfResult0 = (() => {
150
+ const __el0 = __element("div");
151
+ __el0.setAttribute("role", "menuitem");
152
+ __attr(__el0, "data-value", () => __props.value);
153
+ __el0.setAttribute("tabindex", "-1");
154
+ __attr(__el0, "class", () => cn(ctx.classes?.item, __props.className ?? __props.class));
155
+ __on(__el0, "click", () => {
156
+ ctx.onSelect?.(__props.value);
157
+ ctx.close();
158
+ });
159
+ __enterChildren(__el0);
160
+ __append(__el0, __child(() => __props.children));
161
+ __exitChildren();
162
+ return __el0;
163
+ })();
164
+ __flushMountFrame();
165
+ return __mfResult0;
166
+ } catch (__mfErr) {
167
+ __discardMountFrame(__mfDepth);
168
+ throw __mfErr;
169
+ }
170
+ }
171
+ function MenuGroup(__props) {
172
+ const __mfDepth = __pushMountFrame();
173
+ try {
174
+ const ctx = useDropdownMenuContext("Group");
175
+ const __mfResult0 = (() => {
176
+ const __el0 = __element("div");
177
+ __el0.setAttribute("role", "group");
178
+ __attr(__el0, "aria-label", () => __props.label);
179
+ __attr(__el0, "class", () => cn(ctx.classes?.group, __props.className ?? __props.class));
180
+ __enterChildren(__el0);
181
+ __append(__el0, __child(() => __props.children));
182
+ __exitChildren();
183
+ return __el0;
184
+ })();
185
+ __flushMountFrame();
186
+ return __mfResult0;
187
+ } catch (__mfErr) {
188
+ __discardMountFrame(__mfDepth);
189
+ throw __mfErr;
190
+ }
191
+ }
192
+ function MenuLabel(__props) {
193
+ const __mfDepth = __pushMountFrame();
194
+ try {
195
+ const { classes } = useDropdownMenuContext("Label");
196
+ const __mfResult0 = (() => {
197
+ const __el0 = __element("div");
198
+ __el0.setAttribute("role", "none");
199
+ __attr(__el0, "class", () => cn(classes?.label, __props.className ?? __props.class));
200
+ __enterChildren(__el0);
201
+ __append(__el0, __child(() => __props.children));
202
+ __exitChildren();
203
+ return __el0;
204
+ })();
205
+ __flushMountFrame();
206
+ return __mfResult0;
207
+ } catch (__mfErr) {
208
+ __discardMountFrame(__mfDepth);
209
+ throw __mfErr;
210
+ }
211
+ }
212
+ function MenuSeparator(__props) {
213
+ const __mfDepth = __pushMountFrame();
214
+ try {
215
+ const { classes } = useDropdownMenuContext("Separator");
216
+ const __mfResult0 = (() => {
217
+ const __el0 = __element("hr");
218
+ __el0.setAttribute("role", "separator");
219
+ __attr(__el0, "class", () => cn(classes?.separator, __props.className ?? __props.class));
220
+ return __el0;
221
+ })();
222
+ __flushMountFrame();
223
+ return __mfResult0;
224
+ } catch (__mfErr) {
225
+ __discardMountFrame(__mfDepth);
226
+ throw __mfErr;
227
+ }
228
+ }
229
+ function ComposedDropdownMenuRoot(__props) {
230
+ const __mfDepth = __pushMountFrame();
231
+ try {
232
+ let getContentEl = function() {
233
+ return contentRef.current ?? null;
234
+ }, getItems = function() {
235
+ const content = getContentEl();
236
+ if (!content)
237
+ return [];
238
+ return [...content.querySelectorAll('[role="menuitem"]')];
239
+ }, getTriggerEl = function() {
240
+ const content = getContentEl();
241
+ const triggerSpan = content?.parentElement?.querySelector("[data-dropdownmenu-trigger]");
242
+ if (!triggerSpan)
243
+ return null;
244
+ return resolveLayoutElement(triggerSpan);
245
+ }, updateActiveItem = function(items, index) {
246
+ items.forEach((item, i) => {
247
+ item.setAttribute("tabindex", i === index ? "0" : "-1");
248
+ });
249
+ }, syncContentAttrs = function() {
250
+ const contentEl = getContentEl();
251
+ if (!contentEl)
252
+ return;
253
+ const open2 = isOpen.value;
254
+ contentEl.style.display = open2 ? "" : "none";
255
+ contentEl.setAttribute("aria-hidden", open2 ? "false" : "true");
256
+ contentEl.setAttribute("data-state", open2 ? "open" : "closed");
257
+ const triggerEl = getTriggerEl();
258
+ if (triggerEl) {
259
+ triggerEl.setAttribute("aria-expanded", open2 ? "true" : "false");
260
+ triggerEl.setAttribute("data-state", open2 ? "open" : "closed");
261
+ }
262
+ }, open = function(activateFirst = false) {
263
+ isOpen.value = true;
264
+ state.activeIndex = -1;
265
+ syncContentAttrs();
266
+ __props.onOpenChange?.(true);
267
+ const contentEl = getContentEl();
268
+ const triggerEl = getTriggerEl();
269
+ if (!contentEl)
270
+ return;
271
+ {
272
+ const floatingOpts = __props.positioning ?? { placement: "bottom-start", offset: 4 };
273
+ const refEl = floatingOpts.referenceElement ?? triggerEl ?? contentEl;
274
+ contentEl.style.position = "fixed";
275
+ const result = createFloatingPosition(refEl, contentEl, floatingOpts);
276
+ state.floatingCleanup = result.cleanup;
277
+ state.dismissCleanup = createDismiss({
278
+ onDismiss: close,
279
+ insideElements: [refEl, contentEl, ...triggerEl ? [triggerEl] : []],
280
+ escapeKey: false
281
+ });
282
+ }
283
+ const items = getItems();
284
+ if (activateFirst && items.length > 0) {
285
+ state.activeIndex = 0;
286
+ updateActiveItem(items, 0);
287
+ items[0]?.focus();
288
+ } else {
289
+ updateActiveItem(items, -1);
290
+ contentEl.focus();
291
+ }
292
+ }, close = function() {
293
+ isOpen.value = false;
294
+ syncContentAttrs();
295
+ state.floatingCleanup?.();
296
+ state.floatingCleanup = null;
297
+ state.dismissCleanup?.();
298
+ state.dismissCleanup = null;
299
+ __props.onOpenChange?.(false);
300
+ getTriggerEl()?.focus();
301
+ }, toggle = function() {
302
+ if (isOpen.value)
303
+ close();
304
+ else
305
+ open();
306
+ };
307
+ const ids = linkedIds("menu");
308
+ const contentRef = ref();
309
+ const isOpen = signal(false, "isOpen");
310
+ const state = { activeIndex: -1, floatingCleanup: null, dismissCleanup: null };
311
+ const ctx = {
312
+ isOpen: () => isOpen.value,
313
+ contentId: ids.contentId,
314
+ contentRef,
315
+ classes: __props.classes,
316
+ onSelect: __props.onSelect,
317
+ open,
318
+ close,
319
+ toggle,
320
+ _contentCount: { value: 0 }
321
+ };
322
+ const __mfResult0 = DropdownMenuContext.Provider({ get value() {
323
+ return ctx;
324
+ }, children: () => (() => {
325
+ const __el0 = __element("span");
326
+ {
327
+ const __v = { display: "contents" };
328
+ if (__v != null && __v !== false)
329
+ __el0.setAttribute("style", typeof __v === "object" ? __styleStr(__v) : __v === true ? "" : String(__v));
330
+ }
331
+ __el0.setAttribute("data-dropdownmenu-root", "");
332
+ __enterChildren(__el0);
333
+ __append(__el0, __child(() => __props.children));
334
+ __exitChildren();
335
+ return __el0;
336
+ })() });
337
+ __flushMountFrame();
338
+ return __mfResult0;
339
+ } catch (__mfErr) {
340
+ __discardMountFrame(__mfDepth);
341
+ throw __mfErr;
342
+ }
343
+ }
344
+ var ComposedDropdownMenu = Object.assign(ComposedDropdownMenuRoot, {
345
+ Trigger: MenuTrigger,
346
+ Content: MenuContent,
347
+ Item: MenuItem,
348
+ Group: MenuGroup,
349
+ Label: MenuLabel,
350
+ Separator: MenuSeparator
351
+ });
352
+
353
+ export { ComposedDropdownMenu };
@@ -0,0 +1,131 @@
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/checkbox/checkbox-composed.tsx
13
+ import { signal } from "@vertz/ui";
14
+ import { __append, __attr, __child, __discardMountFrame, __element, __enterChildren, __exitChildren, __flushMountFrame, __on, __pushMountFrame, __styleStr } from "@vertz/ui/internals";
15
+ function dataStateFor(checked) {
16
+ if (checked === "mixed")
17
+ return "indeterminate";
18
+ return checked ? "checked" : "unchecked";
19
+ }
20
+ function ariaCheckedFor(checked) {
21
+ if (checked === "mixed")
22
+ return "mixed";
23
+ return String(checked);
24
+ }
25
+ function ComposedCheckboxRoot(__props) {
26
+ const __mfDepth = __pushMountFrame();
27
+ try {
28
+ let toggle = function() {
29
+ if (__props.disabled ?? false)
30
+ return;
31
+ checked.value = checked.value === "mixed" ? true : !checked.value;
32
+ __props.onCheckedChange?.(checked.value);
33
+ };
34
+ const checked = signal(__props.defaultChecked ?? false, "checked");
35
+ const __mfResult0 = (() => {
36
+ const __el0 = __element("button");
37
+ __el0.setAttribute("data-v-id", "ComposedCheckboxRoot");
38
+ __el0.setAttribute("type", "button");
39
+ __el0.setAttribute("role", "checkbox");
40
+ {
41
+ const __v = uniqueId("checkbox");
42
+ if (__v != null && __v !== false)
43
+ __el0.setAttribute("id", __v === true ? "" : __v);
44
+ }
45
+ __attr(__el0, "aria-checked", () => ariaCheckedFor(checked.value));
46
+ __attr(__el0, "data-state", () => dataStateFor(checked.value));
47
+ __attr(__el0, "disabled", () => __props.disabled ?? false);
48
+ __attr(__el0, "aria-disabled", () => __props.disabled ?? false ? "true" : undefined);
49
+ __attr(__el0, "class", () => cn(__props.classes?.root));
50
+ __on(__el0, "click", toggle);
51
+ __on(__el0, "keydown", (e) => {
52
+ if (isKey(e, Keys.Space)) {
53
+ e.preventDefault();
54
+ toggle();
55
+ }
56
+ });
57
+ __enterChildren(__el0);
58
+ __append(__el0, (() => {
59
+ const __el1 = __element("span");
60
+ __el1.setAttribute("data-part", "indicator");
61
+ __attr(__el1, "data-state", () => dataStateFor(checked.value));
62
+ __attr(__el1, "class", () => cn(__props.classes?.indicator));
63
+ {
64
+ const __v = { width: "100%", height: "100%", pointerEvents: "none" };
65
+ if (__v != null && __v !== false)
66
+ __el1.setAttribute("style", typeof __v === "object" ? __styleStr(__v) : __v === true ? "" : String(__v));
67
+ }
68
+ __enterChildren(__el1);
69
+ __append(__el1, (() => {
70
+ const __el2 = __element("svg");
71
+ __el2.setAttribute("aria-hidden", "true");
72
+ __el2.setAttribute("xmlns", "http://www.w3.org/2000/svg");
73
+ __el2.setAttribute("viewBox", "0 0 24 24");
74
+ __el2.setAttribute("fill", "none");
75
+ __el2.setAttribute("stroke", "currentColor");
76
+ __el2.setAttribute("stroke-width", "3");
77
+ __el2.setAttribute("stroke-linecap", "round");
78
+ __el2.setAttribute("stroke-linejoin", "round");
79
+ __el2.setAttribute("data-part", "indicator-icon");
80
+ __el2.setAttribute("data-icon", "check");
81
+ __el2.setAttribute("width", "100%");
82
+ __el2.setAttribute("height", "100%");
83
+ __enterChildren(__el2);
84
+ __append(__el2, (() => {
85
+ const __el3 = __element("path");
86
+ __el3.setAttribute("d", "M4 12 9 17 20 6");
87
+ return __el3;
88
+ })());
89
+ __exitChildren();
90
+ return __el2;
91
+ })());
92
+ __append(__el1, (() => {
93
+ const __el4 = __element("svg");
94
+ __el4.setAttribute("aria-hidden", "true");
95
+ __el4.setAttribute("xmlns", "http://www.w3.org/2000/svg");
96
+ __el4.setAttribute("viewBox", "0 0 24 24");
97
+ __el4.setAttribute("fill", "none");
98
+ __el4.setAttribute("stroke", "currentColor");
99
+ __el4.setAttribute("stroke-width", "3");
100
+ __el4.setAttribute("stroke-linecap", "round");
101
+ __el4.setAttribute("stroke-linejoin", "round");
102
+ __el4.setAttribute("data-part", "indicator-icon");
103
+ __el4.setAttribute("data-icon", "minus");
104
+ __el4.setAttribute("width", "100%");
105
+ __el4.setAttribute("height", "100%");
106
+ __enterChildren(__el4);
107
+ __append(__el4, (() => {
108
+ const __el5 = __element("path");
109
+ __el5.setAttribute("d", "M5 12h14");
110
+ return __el5;
111
+ })());
112
+ __exitChildren();
113
+ return __el4;
114
+ })());
115
+ __exitChildren();
116
+ return __el1;
117
+ })());
118
+ __append(__el0, __child(() => __props.children));
119
+ __exitChildren();
120
+ return __el0;
121
+ })();
122
+ __flushMountFrame();
123
+ return __mfResult0;
124
+ } catch (__mfErr) {
125
+ __discardMountFrame(__mfDepth);
126
+ throw __mfErr;
127
+ }
128
+ }
129
+ var ComposedCheckbox = ComposedCheckboxRoot;
130
+
131
+ export { ComposedCheckbox };
@@ -0,0 +1,30 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-q7xbcj9q.js";
4
+
5
+ // src/textarea/textarea-composed.tsx
6
+ import { computed } from "@vertz/ui";
7
+ import { __attr, __discardMountFrame, __element, __flushMountFrame, __pushMountFrame, __spread } from "@vertz/ui/internals";
8
+ function ComposedTextareaRoot(__props) {
9
+ const { classes: __$drop_0, className: __$drop_1, class: __$drop_2, value: __$drop_3, ...props } = __props;
10
+ const __mfDepth = __pushMountFrame();
11
+ try {
12
+ const el = computed(() => (() => {
13
+ const __el0 = __element("textarea");
14
+ __attr(__el0, "class", () => cn(__props.classes?.base, __props.className ?? __props.class));
15
+ __spread(__el0, props);
16
+ return __el0;
17
+ })());
18
+ if (__props.value !== undefined)
19
+ el.value.value = __props.value;
20
+ const __mfResult0 = el.value;
21
+ __flushMountFrame();
22
+ return __mfResult0;
23
+ } catch (__mfErr) {
24
+ __discardMountFrame(__mfDepth);
25
+ throw __mfErr;
26
+ }
27
+ }
28
+ var ComposedTextarea = ComposedTextareaRoot;
29
+
30
+ export { ComposedTextarea };
@@ -0,0 +1,73 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-q7xbcj9q.js";
4
+
5
+ // src/alert/alert-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 AlertContext = createContext(undefined, "@vertz/ui-primitives::AlertContext");
9
+ function AlertTitle(__props) {
10
+ const __mfDepth = __pushMountFrame();
11
+ try {
12
+ const ctx = useContext(AlertContext);
13
+ const __mfResult0 = (() => {
14
+ const __el0 = __element("h5");
15
+ __attr(__el0, "class", () => cn(ctx?.classes?.title, __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 AlertDescription(__props) {
29
+ const __mfDepth = __pushMountFrame();
30
+ try {
31
+ const ctx = useContext(AlertContext);
32
+ const __mfResult0 = (() => {
33
+ const __el0 = __element("div");
34
+ __attr(__el0, "class", () => cn(ctx?.classes?.description, __props.className ?? __props.class));
35
+ __enterChildren(__el0);
36
+ __append(__el0, __child(() => __props.children));
37
+ __exitChildren();
38
+ return __el0;
39
+ })();
40
+ __flushMountFrame();
41
+ return __mfResult0;
42
+ } catch (__mfErr) {
43
+ __discardMountFrame(__mfDepth);
44
+ throw __mfErr;
45
+ }
46
+ }
47
+ function ComposedAlertRoot(__props) {
48
+ const __mfDepth = __pushMountFrame();
49
+ try {
50
+ const __mfResult0 = AlertContext.Provider({ get value() {
51
+ return { classes: __props.classes };
52
+ }, children: () => (() => {
53
+ const __el0 = __element("div");
54
+ __el0.setAttribute("role", "alert");
55
+ __attr(__el0, "class", () => cn(__props.classes?.root, __props.className ?? __props.class));
56
+ __enterChildren(__el0);
57
+ __append(__el0, __child(() => __props.children));
58
+ __exitChildren();
59
+ return __el0;
60
+ })() });
61
+ __flushMountFrame();
62
+ return __mfResult0;
63
+ } catch (__mfErr) {
64
+ __discardMountFrame(__mfDepth);
65
+ throw __mfErr;
66
+ }
67
+ }
68
+ var ComposedAlert = Object.assign(ComposedAlertRoot, {
69
+ Title: AlertTitle,
70
+ Description: AlertDescription
71
+ });
72
+
73
+ export { ComposedAlert };
@@ -0,0 +1,42 @@
1
+ import {
2
+ uniqueId
3
+ } from "./chunk-8y1jf6xr.js";
4
+ import {
5
+ applyAttrs
6
+ } from "./chunk-2db2dnp3.js";
7
+
8
+ // src/badge/badge.tsx
9
+ import { __discardMountFrame, __element, __flushMountFrame, __pushMountFrame } from "@vertz/ui/internals";
10
+ function BadgeRoot(options = {}) {
11
+ const __mfDepth = __pushMountFrame();
12
+ try {
13
+ const { variant = "default", ...attrs } = options;
14
+ const badge = (() => {
15
+ const __el0 = __element("span");
16
+ {
17
+ const __v = uniqueId("badge");
18
+ if (__v != null && __v !== false)
19
+ __el0.setAttribute("id", __v === true ? "" : __v);
20
+ }
21
+ __el0.setAttribute("data-slot", "badge");
22
+ {
23
+ const __v = variant;
24
+ if (__v != null && __v !== false)
25
+ __el0.setAttribute("data-variant", __v === true ? "" : __v);
26
+ }
27
+ return __el0;
28
+ })();
29
+ applyAttrs(badge, attrs);
30
+ const __mfResult0 = { badge };
31
+ __flushMountFrame();
32
+ return __mfResult0;
33
+ } catch (__mfErr) {
34
+ __discardMountFrame(__mfDepth);
35
+ throw __mfErr;
36
+ }
37
+ }
38
+ var Badge = {
39
+ Root: BadgeRoot
40
+ };
41
+
42
+ export { Badge };
@@ -0,0 +1,30 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-q7xbcj9q.js";
4
+
5
+ // src/badge/badge-composed.tsx
6
+ import { __append, __attr, __child, __discardMountFrame, __element, __enterChildren, __exitChildren, __flushMountFrame, __pushMountFrame, __spread } from "@vertz/ui/internals";
7
+ function ComposedBadgeRoot(__props) {
8
+ const { classes: __$drop_0, className: __$drop_1, class: __$drop_2, children: __$drop_3, style: __$drop_4, ...rest } = __props;
9
+ const __mfDepth = __pushMountFrame();
10
+ try {
11
+ const __mfResult0 = (() => {
12
+ const __el0 = __element("span");
13
+ __attr(__el0, "class", () => cn(__props.classes?.base, __props.className ?? __props.class));
14
+ __attr(__el0, "style", () => __props.style);
15
+ __spread(__el0, rest);
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
+ var ComposedBadge = ComposedBadgeRoot;
29
+
30
+ export { ComposedBadge };