@vertz/ui-primitives 0.2.22 → 0.2.23

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 (91) hide show
  1. package/dist/shared/chunk-3h1mxp95.js +148 -0
  2. package/dist/shared/chunk-3kwh27dv.js +135 -0
  3. package/dist/shared/chunk-4894pmy6.js +184 -0
  4. package/dist/shared/chunk-67sn29eh.js +125 -0
  5. package/dist/shared/chunk-7cb3z0s8.js +287 -0
  6. package/dist/shared/chunk-8c01c8mb.js +217 -0
  7. package/dist/shared/chunk-99tk72t3.js +69 -0
  8. package/dist/shared/chunk-9gfp3ffv.js +204 -0
  9. package/dist/shared/chunk-b25npqer.js +149 -0
  10. package/dist/shared/chunk-cgb2j94g.js +141 -0
  11. package/dist/shared/chunk-e1jcf22s.js +79 -0
  12. package/dist/shared/chunk-e3h0ddmx.js +168 -0
  13. package/dist/shared/chunk-f2vx4tpw.js +168 -0
  14. package/dist/shared/chunk-h3v10x04.js +271 -0
  15. package/dist/shared/chunk-hdvdfd1c.js +96 -0
  16. package/dist/shared/{chunk-dhyr0s9n.js → chunk-j902w020.js} +1 -1
  17. package/dist/shared/chunk-jdygp28a.js +260 -0
  18. package/dist/shared/chunk-jqre4qtw.js +180 -0
  19. package/dist/shared/{chunk-k8nabsxm.js → chunk-mgr904ap.js} +74 -34
  20. package/dist/shared/chunk-mr1tb0dp.js +167 -0
  21. package/dist/shared/chunk-nj420k31.js +54 -0
  22. package/dist/shared/chunk-p0x7hgv6.js +181 -0
  23. package/dist/shared/{chunk-w9dag6ce.js → chunk-pn6shbcs.js} +132 -80
  24. package/dist/shared/chunk-pzx0vpq1.js +223 -0
  25. package/dist/shared/chunk-tn0m98j8.js +42 -0
  26. package/dist/shared/{chunk-myq79qew.js → chunk-ttb2tt03.js} +47 -27
  27. package/dist/shared/chunk-vy874zxe.js +68 -0
  28. package/dist/shared/chunk-ww7k2azn.js +297 -0
  29. package/dist/shared/{chunk-jda3v59q.js → chunk-xa1b96mb.js} +2 -2
  30. package/dist/shared/chunk-xs6gp369.js +245 -0
  31. package/dist/shared/chunk-y4mmmayp.js +206 -0
  32. package/dist/src/accordion/accordion.js +1 -1
  33. package/dist/src/alert-dialog/alert-dialog.js +1 -1
  34. package/dist/src/badge/badge.js +1 -1
  35. package/dist/src/button/button.js +1 -1
  36. package/dist/src/calendar/calendar.js +1 -1
  37. package/dist/src/carousel/carousel.js +1 -1
  38. package/dist/src/checkbox/checkbox.js +1 -1
  39. package/dist/src/collapsible/collapsible.js +1 -1
  40. package/dist/src/combobox/combobox.js +1 -1
  41. package/dist/src/command/command.js +1 -1
  42. package/dist/src/context-menu/context-menu.js +1 -1
  43. package/dist/src/date-picker/date-picker.js +1 -1
  44. package/dist/src/dialog/dialog.js +1 -1
  45. package/dist/src/dropdown-menu/dropdown-menu.js +1 -1
  46. package/dist/src/hover-card/hover-card.js +1 -1
  47. package/dist/src/index.d.ts +14 -1
  48. package/dist/src/index.js +5595 -4310
  49. package/dist/src/menu/menu.js +1 -1
  50. package/dist/src/menubar/menubar.js +1 -1
  51. package/dist/src/navigation-menu/navigation-menu.js +1 -1
  52. package/dist/src/popover/popover.js +1 -1
  53. package/dist/src/progress/progress.js +1 -1
  54. package/dist/src/radio/radio.js +1 -1
  55. package/dist/src/resizable-panel/resizable-panel.js +1 -1
  56. package/dist/src/scroll-area/scroll-area.js +1 -1
  57. package/dist/src/select/select.js +1 -1
  58. package/dist/src/sheet/sheet.js +1 -1
  59. package/dist/src/slider/slider.js +1 -1
  60. package/dist/src/switch/switch.js +1 -1
  61. package/dist/src/tabs/tabs.js +1 -1
  62. package/dist/src/toggle/toggle.js +1 -1
  63. package/dist/src/toggle-group/toggle-group.js +1 -1
  64. package/dist/src/tooltip/tooltip.js +1 -1
  65. package/package.json +3 -3
  66. package/dist/shared/chunk-07yzsaaw.js +0 -165
  67. package/dist/shared/chunk-279bzynx.js +0 -132
  68. package/dist/shared/chunk-27xs9apd.js +0 -288
  69. package/dist/shared/chunk-2k8gxzdf.js +0 -151
  70. package/dist/shared/chunk-3rp73gkd.js +0 -175
  71. package/dist/shared/chunk-4rf1m34c.js +0 -267
  72. package/dist/shared/chunk-7bxsf80c.js +0 -60
  73. package/dist/shared/chunk-8qtexw5s.js +0 -199
  74. package/dist/shared/chunk-9ezgd78r.js +0 -142
  75. package/dist/shared/chunk-ajpj10z0.js +0 -282
  76. package/dist/shared/chunk-c46v0fsw.js +0 -117
  77. package/dist/shared/chunk-e4mm5e59.js +0 -178
  78. package/dist/shared/chunk-fqa5bwn1.js +0 -128
  79. package/dist/shared/chunk-g8hnc95b.js +0 -219
  80. package/dist/shared/chunk-j2tdpxgc.js +0 -185
  81. package/dist/shared/chunk-kcnq15je.js +0 -175
  82. package/dist/shared/chunk-mqs4qq0b.js +0 -46
  83. package/dist/shared/chunk-pg2yjn8f.js +0 -88
  84. package/dist/shared/chunk-rb53v045.js +0 -71
  85. package/dist/shared/chunk-s6a2yph8.js +0 -239
  86. package/dist/shared/chunk-vhx3sqw6.js +0 -196
  87. package/dist/shared/chunk-w318par6.js +0 -204
  88. package/dist/shared/chunk-wcdq7bew.js +0 -133
  89. package/dist/shared/chunk-z0gwkzgp.js +0 -34
  90. package/dist/shared/chunk-z850et33.js +0 -161
  91. package/dist/shared/chunk-zyfc6cx3.js +0 -61
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Menu
3
- } from "../../shared/chunk-4rf1m34c.js";
3
+ } from "../../shared/chunk-h3v10x04.js";
4
4
  export {
5
5
  Menu
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Menubar
3
- } from "../../shared/chunk-27xs9apd.js";
3
+ } from "../../shared/chunk-ww7k2azn.js";
4
4
  export {
5
5
  Menubar
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  NavigationMenu
3
- } from "../../shared/chunk-w9dag6ce.js";
3
+ } from "../../shared/chunk-pn6shbcs.js";
4
4
  export {
5
5
  NavigationMenu
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Popover
3
- } from "../../shared/chunk-9ezgd78r.js";
3
+ } from "../../shared/chunk-b25npqer.js";
4
4
  export {
5
5
  Popover
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Progress
3
- } from "../../shared/chunk-pg2yjn8f.js";
3
+ } from "../../shared/chunk-hdvdfd1c.js";
4
4
  export {
5
5
  Progress
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Radio
3
- } from "../../shared/chunk-279bzynx.js";
3
+ } from "../../shared/chunk-3h1mxp95.js";
4
4
  export {
5
5
  Radio
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ResizablePanel
3
- } from "../../shared/chunk-kcnq15je.js";
3
+ } from "../../shared/chunk-p0x7hgv6.js";
4
4
  export {
5
5
  ResizablePanel
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ScrollArea
3
- } from "../../shared/chunk-z850et33.js";
3
+ } from "../../shared/chunk-f2vx4tpw.js";
4
4
  export {
5
5
  ScrollArea
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Select
3
- } from "../../shared/chunk-ajpj10z0.js";
3
+ } from "../../shared/chunk-7cb3z0s8.js";
4
4
  export {
5
5
  Select
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Sheet
3
- } from "../../shared/chunk-3rp73gkd.js";
3
+ } from "../../shared/chunk-jqre4qtw.js";
4
4
  export {
5
5
  Sheet
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Slider
3
- } from "../../shared/chunk-2k8gxzdf.js";
3
+ } from "../../shared/chunk-e3h0ddmx.js";
4
4
  export {
5
5
  Slider
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Switch
3
- } from "../../shared/chunk-zyfc6cx3.js";
3
+ } from "../../shared/chunk-99tk72t3.js";
4
4
  export {
5
5
  Switch
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Tabs
3
- } from "../../shared/chunk-j2tdpxgc.js";
3
+ } from "../../shared/chunk-8c01c8mb.js";
4
4
  export {
5
5
  Tabs
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Toggle
3
- } from "../../shared/chunk-7bxsf80c.js";
3
+ } from "../../shared/chunk-vy874zxe.js";
4
4
  export {
5
5
  Toggle
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  ToggleGroup
3
- } from "../../shared/chunk-fqa5bwn1.js";
3
+ } from "../../shared/chunk-3kwh27dv.js";
4
4
  export {
5
5
  ToggleGroup
6
6
  };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Tooltip
3
- } from "../../shared/chunk-myq79qew.js";
3
+ } from "../../shared/chunk-ttb2tt03.js";
4
4
  export {
5
5
  Tooltip
6
6
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vertz/ui-primitives",
3
- "version": "0.2.22",
3
+ "version": "0.2.23",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Headless UI primitives for Vertz — Accordion, Dialog, Select, and more",
@@ -36,11 +36,11 @@
36
36
  },
37
37
  "dependencies": {
38
38
  "@floating-ui/dom": "^1.7.5",
39
- "@vertz/ui": "^0.2.21"
39
+ "@vertz/ui": "^0.2.22"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@happy-dom/global-registrator": "^20.7.0",
43
- "@vertz/ui-compiler": "^0.2.21",
43
+ "@vertz/ui-compiler": "^0.2.22",
44
44
  "bunup": "^0.16.31",
45
45
  "happy-dom": "^20.7.0",
46
46
  "typescript": "^5.7.0"
@@ -1,165 +0,0 @@
1
- import {
2
- createFloatingPosition
3
- } from "./chunk-0mcr52hc.js";
4
- import {
5
- Keys,
6
- isKey
7
- } from "./chunk-7867pr13.js";
8
- import {
9
- setDataState,
10
- setExpanded,
11
- setHidden,
12
- setHiddenAnimated
13
- } from "./chunk-vevfhpc9.js";
14
- import {
15
- uniqueId
16
- } from "./chunk-8y1jf6xr.js";
17
- import {
18
- applyAttrs
19
- } from "./chunk-2db2dnp3.js";
20
-
21
- // src/hover-card/hover-card.tsx
22
- import { __element, __on } from "@vertz/ui/internals";
23
- import { signal } from "@vertz/ui";
24
- function HoverCardRoot(options = {}) {
25
- const { openDelay = 700, closeDelay = 300, onOpenChange, positioning, ...attrs } = options;
26
- const contentId = uniqueId("hovercard");
27
- const state = { open: signal(false) };
28
- let openTimeout = null;
29
- let closeTimeout = null;
30
- let floatingCleanup = null;
31
- function cancelTimers() {
32
- if (openTimeout) {
33
- clearTimeout(openTimeout);
34
- openTimeout = null;
35
- }
36
- if (closeTimeout) {
37
- clearTimeout(closeTimeout);
38
- closeTimeout = null;
39
- }
40
- }
41
- function cancelCloseTimer() {
42
- if (closeTimeout) {
43
- clearTimeout(closeTimeout);
44
- closeTimeout = null;
45
- }
46
- }
47
- function positionContent() {
48
- if (positioning) {
49
- floatingCleanup?.();
50
- const effectivePlacement = positioning.placement ?? "bottom";
51
- const result = createFloatingPosition(trigger, content, {
52
- ...positioning,
53
- placement: effectivePlacement
54
- });
55
- floatingCleanup = result.cleanup;
56
- }
57
- }
58
- function show() {
59
- cancelTimers();
60
- if (state.open.peek())
61
- return;
62
- openTimeout = setTimeout(() => {
63
- state.open.value = true;
64
- setExpanded(trigger, true);
65
- setHidden(content, false);
66
- setDataState(content, "open");
67
- positionContent();
68
- onOpenChange?.(true);
69
- openTimeout = null;
70
- }, openDelay);
71
- }
72
- function showImmediate() {
73
- cancelTimers();
74
- state.open.value = true;
75
- setExpanded(trigger, true);
76
- setHidden(content, false);
77
- setDataState(content, "open");
78
- positionContent();
79
- onOpenChange?.(true);
80
- }
81
- function hide() {
82
- cancelTimers();
83
- if (!state.open.peek())
84
- return;
85
- closeTimeout = setTimeout(() => {
86
- state.open.value = false;
87
- setExpanded(trigger, false);
88
- setDataState(content, "closed");
89
- setHiddenAnimated(content, true);
90
- floatingCleanup?.();
91
- floatingCleanup = null;
92
- onOpenChange?.(false);
93
- closeTimeout = null;
94
- }, closeDelay);
95
- }
96
- function hideImmediate() {
97
- cancelTimers();
98
- state.open.value = false;
99
- setExpanded(trigger, false);
100
- setDataState(content, "closed");
101
- setHiddenAnimated(content, true);
102
- floatingCleanup?.();
103
- floatingCleanup = null;
104
- onOpenChange?.(false);
105
- }
106
- function handleTriggerBlur(event) {
107
- const related = event.relatedTarget;
108
- if (related && (trigger.contains(related) || content.contains(related)))
109
- return;
110
- hide();
111
- }
112
- function handleTriggerKeydown(event) {
113
- if (isKey(event, Keys.Escape) && state.open.peek()) {
114
- hideImmediate();
115
- }
116
- }
117
- function handleContentFocusout(event) {
118
- const related = event.relatedTarget;
119
- if (related && (trigger.contains(related) || content.contains(related)))
120
- return;
121
- hide();
122
- }
123
- function handleContentKeydown(event) {
124
- if (isKey(event, Keys.Escape)) {
125
- hideImmediate();
126
- trigger.focus();
127
- }
128
- }
129
- const trigger = (() => {
130
- const __el0 = __element("span");
131
- __el0.setAttribute("aria-haspopup", "dialog");
132
- __el0.setAttribute("aria-expanded", "false");
133
- __on(__el0, "mouseenter", show);
134
- __on(__el0, "mouseleave", hide);
135
- __on(__el0, "focus", showImmediate);
136
- __on(__el0, "blur", handleTriggerBlur);
137
- __on(__el0, "keydown", handleTriggerKeydown);
138
- return __el0;
139
- })();
140
- const content = (() => {
141
- const __el1 = __element("div");
142
- __el1.setAttribute("role", "dialog");
143
- {
144
- const __v = contentId;
145
- if (__v != null && __v !== false)
146
- __el1.setAttribute("id", __v === true ? "" : __v);
147
- }
148
- __el1.setAttribute("aria-hidden", "true");
149
- __el1.setAttribute("data-state", "closed");
150
- __el1.setAttribute("style", "display: none");
151
- __on(__el1, "mouseenter", cancelCloseTimer);
152
- __on(__el1, "mouseleave", hide);
153
- __on(__el1, "focusin", cancelCloseTimer);
154
- __on(__el1, "focusout", handleContentFocusout);
155
- __on(__el1, "keydown", handleContentKeydown);
156
- return __el1;
157
- })();
158
- applyAttrs(trigger, attrs);
159
- return { trigger, content, state };
160
- }
161
- var HoverCard = {
162
- Root: HoverCardRoot
163
- };
164
-
165
- export { HoverCard };
@@ -1,132 +0,0 @@
1
- import {
2
- setRovingTabindex
3
- } from "./chunk-e2v1c9ex.js";
4
- import {
5
- handleListNavigation
6
- } from "./chunk-7867pr13.js";
7
- import {
8
- setChecked,
9
- setDataState,
10
- setDisabled
11
- } from "./chunk-vevfhpc9.js";
12
- import {
13
- uniqueId
14
- } from "./chunk-8y1jf6xr.js";
15
- import {
16
- applyAttrs
17
- } from "./chunk-2db2dnp3.js";
18
-
19
- // src/radio/radio.tsx
20
- import { __element, __enterChildren, __exitChildren, __insert, __on } from "@vertz/ui/internals";
21
- import { signal } from "@vertz/ui";
22
- function RadioGroup(items, itemValues, selectItem) {
23
- return (() => {
24
- const __el0 = __element("div");
25
- __el0.setAttribute("role", "radiogroup");
26
- {
27
- const __v = uniqueId("radiogroup");
28
- if (__v != null && __v !== false)
29
- __el0.setAttribute("id", __v === true ? "" : __v);
30
- }
31
- __on(__el0, "keydown", (event) => {
32
- const result = handleListNavigation(event, items, { orientation: "vertical" });
33
- if (result) {
34
- const idx = items.indexOf(result);
35
- if (idx >= 0) {
36
- const val = itemValues[idx];
37
- if (val !== undefined)
38
- selectItem(val);
39
- }
40
- }
41
- });
42
- return __el0;
43
- })();
44
- }
45
- function RadioItem(value, label, isActive, disabled, selectItem) {
46
- const el = (() => {
47
- const __el0 = __element("div");
48
- __el0.setAttribute("role", "radio");
49
- {
50
- const __v = uniqueId("radio");
51
- if (__v != null && __v !== false)
52
- __el0.setAttribute("id", __v === true ? "" : __v);
53
- }
54
- {
55
- const __v = value;
56
- if (__v != null && __v !== false)
57
- __el0.setAttribute("data-value", __v === true ? "" : __v);
58
- }
59
- {
60
- const __v = isActive ? "true" : "false";
61
- if (__v != null && __v !== false)
62
- __el0.setAttribute("aria-checked", __v === true ? "" : __v);
63
- }
64
- {
65
- const __v = isActive ? "checked" : "unchecked";
66
- if (__v != null && __v !== false)
67
- __el0.setAttribute("data-state", __v === true ? "" : __v);
68
- }
69
- __on(__el0, "click", () => {
70
- if (!disabled)
71
- selectItem(value);
72
- });
73
- __enterChildren(__el0);
74
- __insert(__el0, label ?? value);
75
- __exitChildren();
76
- return __el0;
77
- })();
78
- if (disabled) {
79
- setDisabled(el, true);
80
- el.setAttribute("data-disabled", "");
81
- }
82
- return el;
83
- }
84
- function RadioRoot(options = {}) {
85
- const { defaultValue = "", onValueChange, ...attrs } = options;
86
- const state = { value: signal(defaultValue) };
87
- const items = [];
88
- const itemValues = [];
89
- function selectItem(value) {
90
- state.value.value = value;
91
- for (let i = 0;i < items.length; i++) {
92
- const item = items[i];
93
- if (!item)
94
- continue;
95
- const isActive = itemValues[i] === value;
96
- setChecked(item, isActive);
97
- setDataState(item, isActive ? "checked" : "unchecked");
98
- }
99
- setRovingTabindex(items, itemValues.indexOf(value));
100
- onValueChange?.(value);
101
- }
102
- const root = RadioGroup(items, itemValues, selectItem);
103
- const cleanups = [];
104
- function Item(value, label, itemOptions) {
105
- const isActive = value === state.value.peek();
106
- const disabled = itemOptions?.disabled ?? false;
107
- const item = RadioItem(value, label, isActive, disabled, selectItem);
108
- const handleClick = () => {
109
- if (!disabled)
110
- item.focus();
111
- };
112
- item.addEventListener("click", handleClick);
113
- cleanups.push(() => item.removeEventListener("click", handleClick));
114
- items.push(item);
115
- itemValues.push(value);
116
- root.appendChild(item);
117
- setRovingTabindex(items, itemValues.indexOf(state.value.peek()));
118
- return item;
119
- }
120
- function destroy() {
121
- for (const cleanup of cleanups)
122
- cleanup();
123
- cleanups.length = 0;
124
- }
125
- applyAttrs(root, attrs);
126
- return { root, state, Item, destroy };
127
- }
128
- var Radio = {
129
- Root: RadioRoot
130
- };
131
-
132
- export { Radio };