@vertz/ui-primitives 0.2.19 → 0.2.21

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 (104) hide show
  1. package/dist/shared/{chunk-ppcv3ehd.js → chunk-0gn67thm.js} +14 -11
  2. package/dist/shared/{chunk-4da5zksy.js → chunk-1dzcjmfq.js} +2 -2
  3. package/dist/shared/{chunk-avxcmmk6.js → chunk-1hv9yd28.js} +6 -6
  4. package/dist/shared/{chunk-kg27s15c.js → chunk-2d05qxdw.js} +4 -4
  5. package/dist/shared/{chunk-bew4bjgf.js → chunk-4jnweh3m.js} +4 -4
  6. package/dist/shared/{chunk-jctqs9m4.js → chunk-7867pr13.js} +36 -12
  7. package/dist/shared/{chunk-rnjm61t0.js → chunk-90hmpm0w.js} +3 -3
  8. package/dist/shared/{chunk-hr9hx58m.js → chunk-ac86qw7a.js} +4 -4
  9. package/dist/shared/{chunk-gt0wth9h.js → chunk-b02fkvts.js} +2 -2
  10. package/dist/shared/{chunk-7kpsyjd7.js → chunk-bsx59bv9.js} +4 -4
  11. package/dist/shared/{chunk-jz0s6srh.js → chunk-cm2akzrm.js} +1 -1
  12. package/dist/shared/{chunk-yr9yzpvq.js → chunk-cvms20w3.js} +82 -57
  13. package/dist/shared/{chunk-ttsyf6ma.js → chunk-d8n8mggh.js} +4 -4
  14. package/dist/shared/{chunk-34yfm2b0.js → chunk-er9625ar.js} +105 -83
  15. package/dist/shared/{chunk-tfyg0qrp.js → chunk-ewxzhtej.js} +5 -5
  16. package/dist/shared/{chunk-4085nbdq.js → chunk-ey4485fh.js} +4 -4
  17. package/dist/shared/{chunk-x2hz98qn.js → chunk-f501vw7e.js} +2 -2
  18. package/dist/shared/{chunk-9hj9p7s2.js → chunk-g67tnd19.js} +36 -30
  19. package/dist/shared/{chunk-j4cm8avr.js → chunk-gbxbkmte.js} +4 -4
  20. package/dist/shared/chunk-gzgyfhz6.js +237 -0
  21. package/dist/shared/{chunk-g9qvd20g.js → chunk-je7tqf67.js} +2 -2
  22. package/dist/shared/{chunk-sqs8kyb2.js → chunk-kr5qg80z.js} +4 -4
  23. package/dist/shared/{chunk-7krvqrwq.js → chunk-kytkmdpc.js} +35 -13
  24. package/dist/shared/{chunk-18y8gfk0.js → chunk-pvy0tcd7.js} +115 -93
  25. package/dist/shared/{chunk-n9nwx58j.js → chunk-q2q20y9a.js} +4 -4
  26. package/dist/shared/{chunk-dpsgb1xw.js → chunk-q8dm19a5.js} +7 -2
  27. package/dist/shared/{chunk-7ffg0caj.js → chunk-q9fgfgh9.js} +7 -5
  28. package/dist/shared/{chunk-m1ptgp1s.js → chunk-qfk1ycfw.js} +6 -6
  29. package/dist/shared/{chunk-x0we8gcy.js → chunk-te4pdqnh.js} +4 -4
  30. package/dist/shared/{chunk-gkddsbmh.js → chunk-v9qddmh9.js} +3 -3
  31. package/dist/shared/{chunk-t1vkvsz2.js → chunk-vm37m55w.js} +4 -4
  32. package/dist/shared/{chunk-8ak7vdk1.js → chunk-y5vdb6br.js} +4 -4
  33. package/dist/shared/{chunk-96d9nr7y.js → chunk-zf0rhm9e.js} +1 -1
  34. package/dist/shared/chunk-ztvj60xp.js +185 -0
  35. package/dist/src/accordion/accordion.d.ts +2 -0
  36. package/dist/src/accordion/accordion.js +1 -5
  37. package/dist/src/alert-dialog/alert-dialog.d.ts +7 -7
  38. package/dist/src/alert-dialog/alert-dialog.js +1 -4
  39. package/dist/src/badge/badge.d.ts +2 -0
  40. package/dist/src/badge/badge.js +1 -3
  41. package/dist/src/button/button.d.ts +2 -0
  42. package/dist/src/button/button.js +1 -3
  43. package/dist/src/calendar/calendar.d.ts +9 -6
  44. package/dist/src/calendar/calendar.js +1 -2
  45. package/dist/src/carousel/carousel.d.ts +2 -0
  46. package/dist/src/carousel/carousel.js +1 -4
  47. package/dist/src/checkbox/checkbox.d.ts +2 -0
  48. package/dist/src/checkbox/checkbox.js +1 -4
  49. package/dist/src/collapsible/collapsible.d.ts +2 -0
  50. package/dist/src/collapsible/collapsible.js +1 -4
  51. package/dist/src/combobox/combobox.d.ts +2 -0
  52. package/dist/src/combobox/combobox.js +1 -5
  53. package/dist/src/command/command.d.ts +2 -0
  54. package/dist/src/command/command.js +1 -5
  55. package/dist/src/context-menu/context-menu.d.ts +2 -0
  56. package/dist/src/context-menu/context-menu.js +1 -7
  57. package/dist/src/date-picker/date-picker.d.ts +6 -6
  58. package/dist/src/date-picker/date-picker.js +1 -10
  59. package/dist/src/dialog/dialog.d.ts +3 -0
  60. package/dist/src/dialog/dialog.js +1 -6
  61. package/dist/src/dropdown-menu/dropdown-menu.d.ts +3 -0
  62. package/dist/src/dropdown-menu/dropdown-menu.js +1 -8
  63. package/dist/src/hover-card/hover-card.d.ts +2 -0
  64. package/dist/src/hover-card/hover-card.js +1 -6
  65. package/dist/src/index.d.ts +744 -34
  66. package/dist/src/index.js +4955 -39
  67. package/dist/src/menu/menu.d.ts +3 -0
  68. package/dist/src/menu/menu.js +1 -7
  69. package/dist/src/menubar/menubar.d.ts +2 -0
  70. package/dist/src/menubar/menubar.js +1 -8
  71. package/dist/src/navigation-menu/navigation-menu.d.ts +7 -5
  72. package/dist/src/navigation-menu/navigation-menu.js +1 -6
  73. package/dist/src/popover/popover.d.ts +2 -0
  74. package/dist/src/popover/popover.js +1 -8
  75. package/dist/src/progress/progress.d.ts +4 -2
  76. package/dist/src/progress/progress.js +1 -4
  77. package/dist/src/radio/radio.d.ts +9 -3
  78. package/dist/src/radio/radio.js +1 -6
  79. package/dist/src/resizable-panel/resizable-panel.d.ts +2 -0
  80. package/dist/src/resizable-panel/resizable-panel.js +1 -4
  81. package/dist/src/scroll-area/scroll-area.d.ts +2 -0
  82. package/dist/src/scroll-area/scroll-area.js +1 -2
  83. package/dist/src/select/select.d.ts +2 -0
  84. package/dist/src/select/select.js +1 -7
  85. package/dist/src/sheet/sheet.js +1 -5
  86. package/dist/src/slider/slider.d.ts +2 -0
  87. package/dist/src/slider/slider.js +1 -5
  88. package/dist/src/switch/switch.d.ts +2 -0
  89. package/dist/src/switch/switch.js +1 -4
  90. package/dist/src/tabs/tabs.d.ts +7 -4
  91. package/dist/src/tabs/tabs.js +1 -6
  92. package/dist/src/toast/toast.d.ts +2 -0
  93. package/dist/src/toast/toast.js +1 -4
  94. package/dist/src/toggle/toggle.d.ts +2 -0
  95. package/dist/src/toggle/toggle.js +1 -4
  96. package/dist/src/toggle-group/toggle-group.d.ts +2 -0
  97. package/dist/src/toggle-group/toggle-group.js +1 -5
  98. package/dist/src/tooltip/tooltip.d.ts +3 -1
  99. package/dist/src/tooltip/tooltip.js +1 -6
  100. package/dist/src/utils.d.ts +61 -1
  101. package/dist/src/utils.js +48 -1
  102. package/package.json +4 -6
  103. package/dist/shared/chunk-8nk0ya7a.js +0 -163
  104. 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 };