@vertz/ui-primitives 0.2.20 → 0.2.22

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 (105) hide show
  1. package/dist/shared/{chunk-bew4bjgf.js → chunk-07yzsaaw.js} +5 -5
  2. package/dist/shared/{chunk-yr9yzpvq.js → chunk-279bzynx.js} +83 -58
  3. package/dist/shared/{chunk-sqs8kyb2.js → chunk-27xs9apd.js} +5 -5
  4. package/dist/shared/{chunk-dpsgb1xw.js → chunk-2db2dnp3.js} +6 -2
  5. package/dist/shared/{chunk-8ak7vdk1.js → chunk-2k8gxzdf.js} +5 -5
  6. package/dist/shared/{chunk-t1vkvsz2.js → chunk-3rp73gkd.js} +5 -5
  7. package/dist/shared/{chunk-7ffg0caj.js → chunk-4rf1m34c.js} +8 -6
  8. package/dist/shared/{chunk-gkddsbmh.js → chunk-56reyd5r.js} +22 -31
  9. package/dist/shared/{chunk-jctqs9m4.js → chunk-7867pr13.js} +36 -12
  10. package/dist/shared/{chunk-n9nwx58j.js → chunk-7bxsf80c.js} +4 -4
  11. package/dist/shared/{chunk-7krvqrwq.js → chunk-8qtexw5s.js} +36 -14
  12. package/dist/shared/{chunk-m1ptgp1s.js → chunk-9ezgd78r.js} +7 -7
  13. package/dist/shared/{chunk-kg27s15c.js → chunk-ajpj10z0.js} +5 -5
  14. package/dist/shared/{chunk-tfyg0qrp.js → chunk-c46v0fsw.js} +6 -6
  15. package/dist/shared/{chunk-96d9nr7y.js → chunk-dhyr0s9n.js} +1 -1
  16. package/dist/shared/{chunk-avxcmmk6.js → chunk-e4mm5e59.js} +7 -7
  17. package/dist/shared/{chunk-gt0wth9h.js → chunk-fqa5bwn1.js} +3 -3
  18. package/dist/shared/{chunk-x0we8gcy.js → chunk-g8hnc95b.js} +5 -5
  19. package/dist/shared/chunk-j2tdpxgc.js +185 -0
  20. package/dist/shared/{chunk-x2hz98qn.js → chunk-jda3v59q.js} +2 -2
  21. package/dist/shared/{chunk-18y8gfk0.js → chunk-k8nabsxm.js} +115 -93
  22. package/dist/shared/{chunk-j4cm8avr.js → chunk-kcnq15je.js} +5 -5
  23. package/dist/shared/{chunk-4da5zksy.js → chunk-mqs4qq0b.js} +2 -2
  24. package/dist/shared/{chunk-9hj9p7s2.js → chunk-myq79qew.js} +37 -31
  25. package/dist/shared/{chunk-ppcv3ehd.js → chunk-pg2yjn8f.js} +15 -12
  26. package/dist/shared/{chunk-hr9hx58m.js → chunk-rb53v045.js} +4 -4
  27. package/dist/shared/{chunk-ttsyf6ma.js → chunk-s6a2yph8.js} +5 -5
  28. package/dist/shared/{chunk-vvjyx7fe.js → chunk-vevfhpc9.js} +1 -1
  29. package/dist/shared/{chunk-4085nbdq.js → chunk-vhx3sqw6.js} +5 -5
  30. package/dist/shared/{chunk-34yfm2b0.js → chunk-w318par6.js} +106 -84
  31. package/dist/shared/chunk-w9dag6ce.js +237 -0
  32. package/dist/shared/{chunk-g9qvd20g.js → chunk-wcdq7bew.js} +3 -3
  33. package/dist/shared/{chunk-rnjm61t0.js → chunk-z0gwkzgp.js} +3 -3
  34. package/dist/shared/{chunk-jz0s6srh.js → chunk-z850et33.js} +1 -1
  35. package/dist/shared/{chunk-7kpsyjd7.js → chunk-zyfc6cx3.js} +4 -4
  36. package/dist/src/accordion/accordion.d.ts +2 -0
  37. package/dist/src/accordion/accordion.js +1 -5
  38. package/dist/src/alert-dialog/alert-dialog.d.ts +7 -7
  39. package/dist/src/alert-dialog/alert-dialog.js +1 -4
  40. package/dist/src/badge/badge.d.ts +2 -0
  41. package/dist/src/badge/badge.js +1 -3
  42. package/dist/src/button/button.d.ts +2 -0
  43. package/dist/src/button/button.js +1 -3
  44. package/dist/src/calendar/calendar.d.ts +9 -6
  45. package/dist/src/calendar/calendar.js +1 -2
  46. package/dist/src/carousel/carousel.d.ts +2 -0
  47. package/dist/src/carousel/carousel.js +1 -4
  48. package/dist/src/checkbox/checkbox.d.ts +2 -0
  49. package/dist/src/checkbox/checkbox.js +1 -4
  50. package/dist/src/collapsible/collapsible.d.ts +2 -0
  51. package/dist/src/collapsible/collapsible.js +1 -4
  52. package/dist/src/combobox/combobox.d.ts +2 -0
  53. package/dist/src/combobox/combobox.js +1 -5
  54. package/dist/src/command/command.d.ts +2 -0
  55. package/dist/src/command/command.js +1 -5
  56. package/dist/src/context-menu/context-menu.d.ts +2 -0
  57. package/dist/src/context-menu/context-menu.js +1 -7
  58. package/dist/src/date-picker/date-picker.d.ts +6 -6
  59. package/dist/src/date-picker/date-picker.js +1 -10
  60. package/dist/src/dialog/dialog.d.ts +3 -0
  61. package/dist/src/dialog/dialog.js +1 -6
  62. package/dist/src/dropdown-menu/dropdown-menu.d.ts +3 -0
  63. package/dist/src/dropdown-menu/dropdown-menu.js +1 -8
  64. package/dist/src/hover-card/hover-card.d.ts +2 -0
  65. package/dist/src/hover-card/hover-card.js +1 -6
  66. package/dist/src/index.d.ts +906 -34
  67. package/dist/src/index.js +5183 -39
  68. package/dist/src/menu/menu.d.ts +3 -0
  69. package/dist/src/menu/menu.js +1 -7
  70. package/dist/src/menubar/menubar.d.ts +2 -0
  71. package/dist/src/menubar/menubar.js +1 -8
  72. package/dist/src/navigation-menu/navigation-menu.d.ts +7 -5
  73. package/dist/src/navigation-menu/navigation-menu.js +1 -6
  74. package/dist/src/popover/popover.d.ts +2 -0
  75. package/dist/src/popover/popover.js +1 -8
  76. package/dist/src/progress/progress.d.ts +4 -2
  77. package/dist/src/progress/progress.js +1 -4
  78. package/dist/src/radio/radio.d.ts +9 -3
  79. package/dist/src/radio/radio.js +1 -6
  80. package/dist/src/resizable-panel/resizable-panel.d.ts +2 -0
  81. package/dist/src/resizable-panel/resizable-panel.js +1 -4
  82. package/dist/src/scroll-area/scroll-area.d.ts +2 -0
  83. package/dist/src/scroll-area/scroll-area.js +1 -2
  84. package/dist/src/select/select.d.ts +2 -0
  85. package/dist/src/select/select.js +1 -7
  86. package/dist/src/sheet/sheet.js +1 -5
  87. package/dist/src/slider/slider.d.ts +2 -0
  88. package/dist/src/slider/slider.js +1 -5
  89. package/dist/src/switch/switch.d.ts +2 -0
  90. package/dist/src/switch/switch.js +1 -4
  91. package/dist/src/tabs/tabs.d.ts +7 -4
  92. package/dist/src/tabs/tabs.js +1 -6
  93. package/dist/src/toast/toast.d.ts +2 -0
  94. package/dist/src/toast/toast.js +1 -4
  95. package/dist/src/toggle/toggle.d.ts +2 -0
  96. package/dist/src/toggle/toggle.js +1 -4
  97. package/dist/src/toggle-group/toggle-group.d.ts +2 -0
  98. package/dist/src/toggle-group/toggle-group.js +1 -5
  99. package/dist/src/tooltip/tooltip.d.ts +3 -1
  100. package/dist/src/tooltip/tooltip.js +1 -6
  101. package/dist/src/utils.d.ts +62 -2
  102. package/dist/src/utils.js +50 -3
  103. package/package.json +4 -6
  104. package/dist/shared/chunk-8nk0ya7a.js +0 -163
  105. package/dist/shared/chunk-8tvzqry6.js +0 -218
@@ -1,163 +0,0 @@
1
- import {
2
- setRovingTabindex
3
- } from "./chunk-e2v1c9ex.js";
4
- import {
5
- handleListNavigation
6
- } from "./chunk-jctqs9m4.js";
7
- import {
8
- setDataState,
9
- setHidden,
10
- setSelected
11
- } from "./chunk-vvjyx7fe.js";
12
- import {
13
- applyAttrs
14
- } from "./chunk-dpsgb1xw.js";
15
- import {
16
- uniqueId
17
- } from "./chunk-8y1jf6xr.js";
18
-
19
- // src/tabs/tabs.tsx
20
- import { __element, __enterChildren, __exitChildren, __insert, __on } from "@vertz/ui/internals";
21
- import { signal } from "@vertz/ui";
22
- function TabsRoot(options = {}) {
23
- const { defaultValue = "", orientation = "horizontal", onValueChange, ...attrs } = options;
24
- const state = { value: signal(defaultValue) };
25
- const triggers = [];
26
- const panels = [];
27
- const tabValues = [];
28
- function selectTab(value) {
29
- state.value.value = value;
30
- for (let i = 0;i < tabValues.length; i++) {
31
- const isActive = tabValues[i] === value;
32
- const trig = triggers[i];
33
- const panel = panels[i];
34
- if (!trig || !panel)
35
- continue;
36
- setSelected(trig, isActive);
37
- setDataState(trig, isActive ? "active" : "inactive");
38
- trig.setAttribute("tabindex", isActive ? "0" : "-1");
39
- setHidden(panel, !isActive);
40
- setDataState(panel, isActive ? "active" : "inactive");
41
- }
42
- onValueChange?.(value);
43
- }
44
- const list = (() => {
45
- const __el0 = __element("div");
46
- __el0.setAttribute("role", "tablist");
47
- {
48
- const __v = orientation === "vertical" ? "vertical" : undefined;
49
- if (__v != null && __v !== false)
50
- __el0.setAttribute("aria-orientation", __v === true ? "" : __v);
51
- }
52
- __on(__el0, "keydown", (event) => {
53
- const result = handleListNavigation(event, triggers, {
54
- orientation
55
- });
56
- if (result) {
57
- const idx = triggers.indexOf(result);
58
- if (idx >= 0) {
59
- const val = tabValues[idx];
60
- if (val !== undefined)
61
- selectTab(val);
62
- }
63
- }
64
- });
65
- return __el0;
66
- })();
67
- const root = (() => {
68
- const __el1 = __element("div");
69
- __enterChildren(__el1);
70
- __insert(__el1, list);
71
- __exitChildren();
72
- return __el1;
73
- })();
74
- function Tab(value, label) {
75
- const baseId = uniqueId("tab");
76
- const triggerId = `${baseId}-trigger`;
77
- const panelId = `${baseId}-panel`;
78
- const isActive = value === state.value.peek();
79
- const trig = (() => {
80
- const __el2 = __element("button");
81
- __el2.setAttribute("type", "button");
82
- __el2.setAttribute("role", "tab");
83
- {
84
- const __v = triggerId;
85
- if (__v != null && __v !== false)
86
- __el2.setAttribute("id", __v === true ? "" : __v);
87
- }
88
- {
89
- const __v = panelId;
90
- if (__v != null && __v !== false)
91
- __el2.setAttribute("aria-controls", __v === true ? "" : __v);
92
- }
93
- {
94
- const __v = value;
95
- if (__v != null && __v !== false)
96
- __el2.setAttribute("data-value", __v === true ? "" : __v);
97
- }
98
- {
99
- const __v = isActive ? "true" : "false";
100
- if (__v != null && __v !== false)
101
- __el2.setAttribute("aria-selected", __v === true ? "" : __v);
102
- }
103
- {
104
- const __v = isActive ? "active" : "inactive";
105
- if (__v != null && __v !== false)
106
- __el2.setAttribute("data-state", __v === true ? "" : __v);
107
- }
108
- __on(__el2, "click", () => {
109
- selectTab(value);
110
- trig.focus();
111
- });
112
- __enterChildren(__el2);
113
- __insert(__el2, label ?? value);
114
- __exitChildren();
115
- return __el2;
116
- })();
117
- const panel = (() => {
118
- const __el3 = __element("div");
119
- __el3.setAttribute("role", "tabpanel");
120
- {
121
- const __v = panelId;
122
- if (__v != null && __v !== false)
123
- __el3.setAttribute("id", __v === true ? "" : __v);
124
- }
125
- {
126
- const __v = triggerId;
127
- if (__v != null && __v !== false)
128
- __el3.setAttribute("aria-labelledby", __v === true ? "" : __v);
129
- }
130
- __el3.setAttribute("tabindex", "0");
131
- {
132
- const __v = isActive ? "false" : "true";
133
- if (__v != null && __v !== false)
134
- __el3.setAttribute("aria-hidden", __v === true ? "" : __v);
135
- }
136
- {
137
- const __v = isActive ? "active" : "inactive";
138
- if (__v != null && __v !== false)
139
- __el3.setAttribute("data-state", __v === true ? "" : __v);
140
- }
141
- {
142
- const __v = isActive ? "" : "display: none";
143
- if (__v != null && __v !== false)
144
- __el3.setAttribute("style", __v === true ? "" : __v);
145
- }
146
- return __el3;
147
- })();
148
- triggers.push(trig);
149
- panels.push(panel);
150
- tabValues.push(value);
151
- list.appendChild(trig);
152
- root.appendChild(panel);
153
- setRovingTabindex(triggers, triggers.findIndex((t) => tabValues[triggers.indexOf(t)] === state.value.peek()));
154
- return { trigger: trig, panel };
155
- }
156
- applyAttrs(root, attrs);
157
- return { root, list, state, Tab };
158
- }
159
- var Tabs = {
160
- Root: TabsRoot
161
- };
162
-
163
- export { Tabs };
@@ -1,218 +0,0 @@
1
- import {
2
- focusFirst,
3
- setRovingTabindex
4
- } from "./chunk-e2v1c9ex.js";
5
- import {
6
- Keys,
7
- handleListNavigation,
8
- isKey
9
- } from "./chunk-jctqs9m4.js";
10
- import {
11
- setDataState,
12
- setExpanded,
13
- setHidden,
14
- setHiddenAnimated
15
- } from "./chunk-vvjyx7fe.js";
16
- import {
17
- applyAttrs
18
- } from "./chunk-dpsgb1xw.js";
19
- import {
20
- linkedIds
21
- } from "./chunk-8y1jf6xr.js";
22
-
23
- // src/navigation-menu/navigation-menu.tsx
24
- import { __element, __enterChildren, __exitChildren, __insert, __on } from "@vertz/ui/internals";
25
- import { signal } from "@vertz/ui";
26
- function NavigationMenuRoot(options = {}) {
27
- const { orientation = "horizontal", delayOpen = 200, delayClose = 300, ...attrs } = options;
28
- const state = { activeItem: signal(null) };
29
- const triggers = [];
30
- const items = new Map;
31
- const openTimeout = signal(null, "openTimeout");
32
- const closeTimeout = signal(null, "closeTimeout");
33
- function cancelTimers() {
34
- if (openTimeout.value) {
35
- clearTimeout(openTimeout.value);
36
- openTimeout.value = null;
37
- }
38
- if (closeTimeout.value) {
39
- clearTimeout(closeTimeout.value);
40
- closeTimeout.value = null;
41
- }
42
- }
43
- function openItem(value) {
44
- cancelTimers();
45
- const current = state.activeItem.peek();
46
- if (current && current !== value) {
47
- const prev = items.get(current);
48
- if (prev) {
49
- setExpanded(prev.trigger, false);
50
- setDataState(prev.trigger, "closed");
51
- setDataState(prev.content, "closed");
52
- setHiddenAnimated(prev.content, true);
53
- }
54
- }
55
- const item = items.get(value);
56
- if (!item)
57
- return;
58
- state.activeItem.value = value;
59
- setExpanded(item.trigger, true);
60
- setHidden(item.content, false);
61
- setDataState(item.trigger, "open");
62
- setDataState(item.content, "open");
63
- }
64
- function closeAll() {
65
- cancelTimers();
66
- const current = state.activeItem.peek();
67
- if (current) {
68
- const item = items.get(current);
69
- if (item) {
70
- setExpanded(item.trigger, false);
71
- setDataState(item.trigger, "closed");
72
- setDataState(item.content, "closed");
73
- setHiddenAnimated(item.content, true);
74
- }
75
- }
76
- state.activeItem.value = null;
77
- }
78
- const list = (() => {
79
- const __el0 = __element("div");
80
- __on(__el0, "keydown", (event) => {
81
- if (isKey(event, Keys.ArrowLeft, Keys.ArrowRight, Keys.Home, Keys.End)) {
82
- handleListNavigation(event, triggers, {
83
- orientation: orientation === "horizontal" ? "horizontal" : "vertical"
84
- });
85
- }
86
- });
87
- return __el0;
88
- })();
89
- const viewport = (() => {
90
- const __el1 = __element("div");
91
- return __el1;
92
- })();
93
- const root = (() => {
94
- const __el2 = __element("nav");
95
- __enterChildren(__el2);
96
- __insert(__el2, list);
97
- __insert(__el2, viewport);
98
- __exitChildren();
99
- return __el2;
100
- })();
101
- function Item(value, label) {
102
- const ids = linkedIds("nav-menu");
103
- const trigger = (() => {
104
- const __el3 = __element("button");
105
- __el3.setAttribute("type", "button");
106
- {
107
- const __v = ids.triggerId;
108
- if (__v != null && __v !== false)
109
- __el3.setAttribute("id", __v === true ? "" : __v);
110
- }
111
- {
112
- const __v = ids.contentId;
113
- if (__v != null && __v !== false)
114
- __el3.setAttribute("aria-controls", __v === true ? "" : __v);
115
- }
116
- {
117
- const __v = value;
118
- if (__v != null && __v !== false)
119
- __el3.setAttribute("data-value", __v === true ? "" : __v);
120
- }
121
- __el3.setAttribute("aria-expanded", "false");
122
- __el3.setAttribute("data-state", "closed");
123
- __on(__el3, "click", () => {
124
- if (state.activeItem.peek() === value) {
125
- closeAll();
126
- } else {
127
- openItem(value);
128
- }
129
- });
130
- __on(__el3, "mouseenter", () => {
131
- cancelTimers();
132
- openTimeout.value = setTimeout(() => {
133
- openItem(value);
134
- openTimeout.value = null;
135
- }, delayOpen);
136
- });
137
- __on(__el3, "mouseleave", () => {
138
- cancelTimers();
139
- closeTimeout.value = setTimeout(() => {
140
- closeAll();
141
- closeTimeout.value = null;
142
- }, delayClose);
143
- });
144
- __on(__el3, "keydown", (event) => {
145
- if (isKey(event, Keys.Enter, Keys.Space)) {
146
- event.preventDefault();
147
- openItem(value);
148
- queueMicrotask(() => focusFirst(content));
149
- }
150
- if (isKey(event, Keys.Escape)) {
151
- event.preventDefault();
152
- closeAll();
153
- }
154
- });
155
- __enterChildren(__el3);
156
- __insert(__el3, label ?? value);
157
- __exitChildren();
158
- return __el3;
159
- })();
160
- const content = (() => {
161
- const __el4 = __element("div");
162
- {
163
- const __v = ids.contentId;
164
- if (__v != null && __v !== false)
165
- __el4.setAttribute("id", __v === true ? "" : __v);
166
- }
167
- __el4.setAttribute("aria-hidden", "true");
168
- __el4.setAttribute("data-state", "closed");
169
- __el4.setAttribute("style", "display: none");
170
- __on(__el4, "mouseenter", () => cancelTimers());
171
- __on(__el4, "mouseleave", () => {
172
- cancelTimers();
173
- closeTimeout.value = setTimeout(() => {
174
- closeAll();
175
- closeTimeout.value = null;
176
- }, delayClose);
177
- });
178
- __on(__el4, "keydown", (event) => {
179
- if (isKey(event, Keys.Escape)) {
180
- event.preventDefault();
181
- event.stopPropagation();
182
- closeAll();
183
- trigger.focus();
184
- }
185
- });
186
- return __el4;
187
- })();
188
- triggers.push(trigger);
189
- setRovingTabindex(triggers, 0);
190
- items.set(value, { trigger, content });
191
- list.appendChild(trigger);
192
- viewport.appendChild(content);
193
- return { trigger, content };
194
- }
195
- function Link(href, label) {
196
- const a = (() => {
197
- const __el5 = __element("a");
198
- {
199
- const __v = href;
200
- if (__v != null && __v !== false)
201
- __el5.setAttribute("href", __v === true ? "" : __v);
202
- }
203
- __enterChildren(__el5);
204
- __insert(__el5, label);
205
- __exitChildren();
206
- return __el5;
207
- })();
208
- list.appendChild(a);
209
- return a;
210
- }
211
- applyAttrs(root, attrs);
212
- return { root, list, viewport, state, Item, Link };
213
- }
214
- var NavigationMenu = {
215
- Root: NavigationMenuRoot
216
- };
217
-
218
- export { NavigationMenu };