@devalok/shilp-sutra 0.8.4 → 0.9.0

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 (217) hide show
  1. package/dist/_chunks/avatar.js +50 -0
  2. package/dist/_chunks/button.js +95 -0
  3. package/dist/_chunks/card.js +40 -0
  4. package/dist/_chunks/checkbox.js +14 -0
  5. package/dist/_chunks/form.js +27 -0
  6. package/dist/_chunks/primitives.js +6965 -0
  7. package/dist/_chunks/sidebar.js +592 -0
  8. package/dist/_chunks/spinner.js +34 -0
  9. package/dist/_chunks/tiptap.js +15254 -0
  10. package/dist/_chunks/tooltip.js +13 -0
  11. package/dist/_chunks/tree-view.js +304 -0
  12. package/dist/_chunks/use-calendar.js +990 -0
  13. package/dist/_chunks/utils.js +15 -0
  14. package/dist/_chunks/vendor.js +5823 -0
  15. package/dist/composed/avatar-group.js +20 -20
  16. package/dist/composed/command-palette.js +1 -1
  17. package/dist/composed/confirm-dialog.js +5 -5
  18. package/dist/composed/content-card.d.ts +1 -1
  19. package/dist/composed/content-card.js +6 -6
  20. package/dist/composed/date-picker/index.js +13 -0
  21. package/dist/composed/empty-state.js +10 -10
  22. package/dist/composed/error-boundary.js +2 -2
  23. package/dist/composed/global-loading.js +4 -4
  24. package/dist/composed/index.js +45 -53
  25. package/dist/composed/loading-skeleton.js +2 -2
  26. package/dist/composed/member-picker.js +5 -5
  27. package/dist/composed/page-header.js +4 -4
  28. package/dist/composed/page-skeletons.js +1 -1
  29. package/dist/composed/priority-indicator.js +6 -6
  30. package/dist/composed/rich-text-editor.js +422 -209
  31. package/dist/composed/schedule-view.js +1 -1
  32. package/dist/composed/simple-tooltip.js +6 -6
  33. package/dist/composed/status-badge.d.ts +1 -1
  34. package/dist/composed/status-badge.js +2 -2
  35. package/dist/shell/bottom-navbar.js +1 -1
  36. package/dist/shell/notification-center.js +2 -2
  37. package/dist/shell/notification-preferences.js +32 -33
  38. package/dist/shell/sidebar.js +24 -24
  39. package/dist/shell/top-bar.js +22 -22
  40. package/dist/ui/accordion.js +17 -17
  41. package/dist/ui/alert-dialog.js +29 -29
  42. package/dist/ui/alert.d.ts +2 -2
  43. package/dist/ui/alert.js +65 -44
  44. package/dist/ui/aspect-ratio.js +1 -1
  45. package/dist/ui/autocomplete.js +11 -11
  46. package/dist/ui/avatar.d.ts +1 -1
  47. package/dist/ui/avatar.js +67 -25
  48. package/dist/ui/badge.d.ts +2 -2
  49. package/dist/ui/badge.js +115 -91
  50. package/dist/ui/banner.d.ts +1 -1
  51. package/dist/ui/banner.js +5 -5
  52. package/dist/ui/breadcrumb.js +14 -14
  53. package/dist/ui/button-group.js +30 -15
  54. package/dist/ui/button.d.ts +2 -2
  55. package/dist/ui/button.js +114 -71
  56. package/dist/ui/card.js +66 -22
  57. package/dist/ui/charts/index.js +1221 -18
  58. package/dist/ui/checkbox.js +25 -5
  59. package/dist/ui/chip.d.ts +4 -4
  60. package/dist/ui/chip.js +2 -2
  61. package/dist/ui/code.js +1 -1
  62. package/dist/ui/collapsible.js +5 -5
  63. package/dist/ui/color-input.js +11 -11
  64. package/dist/ui/combobox.js +12 -12
  65. package/dist/ui/container.js +4 -4
  66. package/dist/ui/context-menu.js +37 -37
  67. package/dist/ui/data-table-toolbar.js +18 -18
  68. package/dist/ui/data-table.js +2 -2
  69. package/dist/ui/dialog.js +33 -33
  70. package/dist/ui/dropdown-menu.js +60 -60
  71. package/dist/ui/file-upload.js +1 -1
  72. package/dist/ui/form.js +36 -15
  73. package/dist/ui/hover-card.js +7 -7
  74. package/dist/ui/icon-button.js +9 -9
  75. package/dist/ui/index.js +523 -325
  76. package/dist/ui/input-otp.d.ts +2 -2
  77. package/dist/ui/input-otp.js +14 -14
  78. package/dist/ui/input.js +56 -28
  79. package/dist/ui/label.js +18 -4
  80. package/dist/ui/lib/utils.js +4 -5
  81. package/dist/ui/link.js +9 -9
  82. package/dist/ui/menubar.js +81 -81
  83. package/dist/ui/navigation-menu.js +42 -42
  84. package/dist/ui/number-input.js +13 -13
  85. package/dist/ui/pagination.js +5 -5
  86. package/dist/ui/popover.js +9 -9
  87. package/dist/ui/progress.d.ts +1 -1
  88. package/dist/ui/progress.js +15 -15
  89. package/dist/ui/radio.js +10 -10
  90. package/dist/ui/search-input.js +5 -5
  91. package/dist/ui/segmented-control.js +91 -83
  92. package/dist/ui/select.js +52 -52
  93. package/dist/ui/separator.js +20 -5
  94. package/dist/ui/sheet.js +28 -28
  95. package/dist/ui/sidebar.js +36 -560
  96. package/dist/ui/skeleton.d.ts +1 -1
  97. package/dist/ui/skeleton.js +9 -9
  98. package/dist/ui/slider.js +11 -11
  99. package/dist/ui/spinner.js +37 -2
  100. package/dist/ui/stack.js +1 -1
  101. package/dist/ui/stat-card.js +1 -1
  102. package/dist/ui/stepper.js +15 -15
  103. package/dist/ui/switch.js +22 -3
  104. package/dist/ui/table.js +1 -1
  105. package/dist/ui/tabs.js +59 -32
  106. package/dist/ui/text.js +2 -2
  107. package/dist/ui/textarea.js +7 -7
  108. package/dist/ui/toast.d.ts +1 -1
  109. package/dist/ui/toast.js +28 -28
  110. package/dist/ui/toggle-group.js +11 -11
  111. package/dist/ui/toggle.js +9 -9
  112. package/dist/ui/tooltip.js +17 -6
  113. package/dist/ui/transitions.js +68 -58
  114. package/dist/ui/tree-view/index.js +7 -0
  115. package/dist/ui/visually-hidden.js +3 -3
  116. package/llms-full.txt +1 -1
  117. package/llms.txt +7 -0
  118. package/package.json +656 -706
  119. package/dist/_virtual/client.js +0 -5
  120. package/dist/_virtual/index.js +0 -5
  121. package/dist/_virtual/react-dom-client.development.js +0 -5
  122. package/dist/_virtual/react-dom-client.production.js +0 -5
  123. package/dist/_virtual/scheduler.development.js +0 -5
  124. package/dist/_virtual/scheduler.production.js +0 -5
  125. package/dist/composed/date-picker/calendar-grid.js +0 -194
  126. package/dist/composed/date-picker/date-picker.js +0 -124
  127. package/dist/composed/date-picker/date-range-picker.js +0 -167
  128. package/dist/composed/date-picker/date-time-picker.js +0 -193
  129. package/dist/composed/date-picker/month-picker.js +0 -53
  130. package/dist/composed/date-picker/presets.js +0 -84
  131. package/dist/composed/date-picker/time-picker.js +0 -181
  132. package/dist/composed/date-picker/use-calendar.js +0 -17
  133. package/dist/composed/date-picker/year-picker.js +0 -45
  134. package/dist/composed/extensions/emoji-suggestion.js +0 -119
  135. package/dist/composed/extensions/file-attachment.js +0 -55
  136. package/dist/composed/extensions/mention-suggestion.js +0 -79
  137. package/dist/node_modules/.pnpm/@emoji-mart_data@1.2.1/node_modules/@emoji-mart/data/sets/15/native.json.js +0 -40141
  138. package/dist/node_modules/.pnpm/@emoji-mart_react@1.1.1_emoji-mart@5.6.0_react@19.2.4/node_modules/@emoji-mart/react/dist/module.js +0 -17
  139. package/dist/node_modules/.pnpm/emoji-mart@5.6.0/node_modules/emoji-mart/dist/module.js +0 -2958
  140. package/dist/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.development.js +0 -17062
  141. package/dist/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/cjs/react-dom-client.production.js +0 -9790
  142. package/dist/node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/client.js +0 -20
  143. package/dist/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.development.js +0 -237
  144. package/dist/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/cjs/scheduler.production.js +0 -234
  145. package/dist/node_modules/.pnpm/scheduler@0.27.0/node_modules/scheduler/index.js +0 -11
  146. package/dist/primitives/_internal/number.js +0 -6
  147. package/dist/primitives/_internal/primitive.js +0 -9
  148. package/dist/primitives/_internal/react-arrow.js +0 -13
  149. package/dist/primitives/_internal/react-collection.js +0 -48
  150. package/dist/primitives/_internal/react-compose-refs.js +0 -29
  151. package/dist/primitives/_internal/react-context.js +0 -76
  152. package/dist/primitives/_internal/react-direction.js +0 -10
  153. package/dist/primitives/_internal/react-dismissable-layer.js +0 -103
  154. package/dist/primitives/_internal/react-focus-guards.js +0 -17
  155. package/dist/primitives/_internal/react-focus-scope.js +0 -137
  156. package/dist/primitives/_internal/react-id.js +0 -14
  157. package/dist/primitives/_internal/react-popper.js +0 -137
  158. package/dist/primitives/_internal/react-portal.js +0 -16
  159. package/dist/primitives/_internal/react-presence.js +0 -71
  160. package/dist/primitives/_internal/react-primitive.js +0 -36
  161. package/dist/primitives/_internal/react-use-callback-ref.js +0 -13
  162. package/dist/primitives/_internal/react-use-controllable-state.js +0 -44
  163. package/dist/primitives/_internal/react-use-escape-keydown.js +0 -14
  164. package/dist/primitives/_internal/react-use-is-hydrated.js +0 -15
  165. package/dist/primitives/_internal/react-use-layout-effect.js +0 -6
  166. package/dist/primitives/_internal/react-use-previous.js +0 -8
  167. package/dist/primitives/_internal/react-use-size.js +0 -27
  168. package/dist/primitives/react-accordion.js +0 -239
  169. package/dist/primitives/react-alert-dialog.js +0 -127
  170. package/dist/primitives/react-aspect-ratio.js +0 -43
  171. package/dist/primitives/react-avatar.js +0 -75
  172. package/dist/primitives/react-checkbox.js +0 -251
  173. package/dist/primitives/react-collapsible.js +0 -120
  174. package/dist/primitives/react-context-menu.js +0 -240
  175. package/dist/primitives/react-dialog.js +0 -262
  176. package/dist/primitives/react-dropdown-menu.js +0 -227
  177. package/dist/primitives/react-hover-card.js +0 -187
  178. package/dist/primitives/react-label.js +0 -20
  179. package/dist/primitives/react-menu.js +0 -652
  180. package/dist/primitives/react-menubar.js +0 -355
  181. package/dist/primitives/react-navigation-menu.js +0 -607
  182. package/dist/primitives/react-popover.js +0 -243
  183. package/dist/primitives/react-progress.js +0 -84
  184. package/dist/primitives/react-radio-group.js +0 -238
  185. package/dist/primitives/react-roving-focus.js +0 -183
  186. package/dist/primitives/react-select.js +0 -862
  187. package/dist/primitives/react-separator.js +0 -24
  188. package/dist/primitives/react-slider.js +0 -437
  189. package/dist/primitives/react-slot.js +0 -70
  190. package/dist/primitives/react-switch.js +0 -132
  191. package/dist/primitives/react-tabs.js +0 -163
  192. package/dist/primitives/react-toast.js +0 -446
  193. package/dist/primitives/react-toggle-group.js +0 -137
  194. package/dist/primitives/react-toggle.js +0 -33
  195. package/dist/primitives/react-tooltip.js +0 -338
  196. package/dist/primitives/react-visually-hidden.js +0 -32
  197. package/dist/ui/charts/_internal/animation.js +0 -18
  198. package/dist/ui/charts/_internal/axes.js +0 -42
  199. package/dist/ui/charts/_internal/colors.js +0 -21
  200. package/dist/ui/charts/_internal/grid-lines.js +0 -43
  201. package/dist/ui/charts/_internal/legend.js +0 -29
  202. package/dist/ui/charts/_internal/tooltip.js +0 -39
  203. package/dist/ui/charts/_internal/types.js +0 -10
  204. package/dist/ui/charts/area-chart.js +0 -245
  205. package/dist/ui/charts/bar-chart.js +0 -153
  206. package/dist/ui/charts/chart-container.js +0 -27
  207. package/dist/ui/charts/gauge-chart.js +0 -72
  208. package/dist/ui/charts/line-chart.js +0 -163
  209. package/dist/ui/charts/pie-chart.js +0 -132
  210. package/dist/ui/charts/radar-chart.js +0 -223
  211. package/dist/ui/charts/sparkline.js +0 -124
  212. package/dist/ui/lib/motion.js +0 -32
  213. package/dist/ui/lib/use-reduced-motion.js +0 -15
  214. package/dist/ui/lib/use-ripple.js +0 -14
  215. package/dist/ui/tree-view/tree-item.js +0 -139
  216. package/dist/ui/tree-view/tree-view.js +0 -140
  217. package/dist/ui/tree-view/use-tree.js +0 -38
@@ -1,652 +0,0 @@
1
- import * as r from "react";
2
- import { composeEventHandlers as h } from "./_internal/primitive.js";
3
- import { createCollection as Ze } from "./_internal/react-collection.js";
4
- import { useComposedRefs as N, composeRefs as qe } from "./_internal/react-compose-refs.js";
5
- import { createContextScope as Je } from "./_internal/react-context.js";
6
- import { useDirection as Qe } from "./_internal/react-direction.js";
7
- import { DismissableLayer as et } from "./_internal/react-dismissable-layer.js";
8
- import { useFocusGuards as tt } from "./_internal/react-focus-guards.js";
9
- import { FocusScope as nt } from "./_internal/react-focus-scope.js";
10
- import { useId as Me } from "./_internal/react-id.js";
11
- import { Root as ve, Anchor as ot, createPopperScope as Ce, Content as rt, Arrow as ct } from "./_internal/react-popper.js";
12
- import { Portal as at } from "./_internal/react-portal.js";
13
- import { Presence as W } from "./_internal/react-presence.js";
14
- import { Primitive as F, dispatchDiscreteCustomEvent as st } from "./_internal/react-primitive.js";
15
- import { createRovingFocusGroupScope as ge, Item as ut, Root as it } from "./react-roving-focus.js";
16
- import { createSlot as lt } from "./react-slot.js";
17
- import { useCallbackRef as ee } from "./_internal/react-use-callback-ref.js";
18
- import { hideOthers as dt } from "aria-hidden";
19
- import { RemoveScroll as ft } from "react-remove-scroll";
20
- import { jsx as u } from "react/jsx-runtime";
21
- var Q = ["Enter", " "], mt = ["ArrowDown", "PageUp", "Home"], _e = ["ArrowUp", "PageDown", "End"], pt = [...mt, ..._e], Mt = {
22
- ltr: [...Q, "ArrowRight"],
23
- rtl: [...Q, "ArrowLeft"]
24
- }, ht = {
25
- ltr: ["ArrowLeft"],
26
- rtl: ["ArrowRight"]
27
- }, L = "Menu", [D, vt, Ct] = Ze(L), [I, cn] = Je(L, [
28
- Ct,
29
- Ce,
30
- ge
31
- ]), K = Ce(), Re = ge(), [Se, E] = I(L), [gt, G] = I(L), Pe = (e) => {
32
- const { __scopeMenu: n, open: t = !1, children: o, dir: s, onOpenChange: a, modal: l = !0 } = e, p = K(n), [M, m] = r.useState(null), f = r.useRef(!1), c = ee(a), d = Qe(s);
33
- return r.useEffect(() => {
34
- const C = () => {
35
- f.current = !0, document.addEventListener("pointerdown", v, { capture: !0, once: !0 }), document.addEventListener("pointermove", v, { capture: !0, once: !0 });
36
- }, v = () => f.current = !1;
37
- return document.addEventListener("keydown", C, { capture: !0 }), () => {
38
- document.removeEventListener("keydown", C, { capture: !0 }), document.removeEventListener("pointerdown", v, { capture: !0 }), document.removeEventListener("pointermove", v, { capture: !0 });
39
- };
40
- }, []), /* @__PURE__ */ u(ve, { ...p, children: /* @__PURE__ */ u(
41
- Se,
42
- {
43
- scope: n,
44
- open: t,
45
- onOpenChange: c,
46
- content: M,
47
- onContentChange: m,
48
- children: /* @__PURE__ */ u(
49
- gt,
50
- {
51
- scope: n,
52
- onClose: r.useCallback(() => c(!1), [c]),
53
- isUsingKeyboardRef: f,
54
- dir: d,
55
- modal: l,
56
- children: o
57
- }
58
- )
59
- }
60
- ) });
61
- };
62
- Pe.displayName = L;
63
- var _t = "MenuAnchor", te = r.forwardRef(
64
- (e, n) => {
65
- const { __scopeMenu: t, ...o } = e, s = K(t);
66
- return /* @__PURE__ */ u(ot, { ...s, ...o, ref: n });
67
- }
68
- );
69
- te.displayName = _t;
70
- var ne = "MenuPortal", [Rt, Ee] = I(ne, {
71
- forceMount: void 0
72
- }), we = (e) => {
73
- const { __scopeMenu: n, forceMount: t, children: o, container: s } = e, a = E(ne, n);
74
- return /* @__PURE__ */ u(Rt, { scope: n, forceMount: t, children: /* @__PURE__ */ u(W, { present: t || a.open, children: /* @__PURE__ */ u(at, { asChild: !0, container: s, children: o }) }) });
75
- };
76
- we.displayName = ne;
77
- var _ = "MenuContent", [St, oe] = I(_), Ie = r.forwardRef(
78
- (e, n) => {
79
- const t = Ee(_, e.__scopeMenu), { forceMount: o = t.forceMount, ...s } = e, a = E(_, e.__scopeMenu), l = G(_, e.__scopeMenu);
80
- return /* @__PURE__ */ u(D.Provider, { scope: e.__scopeMenu, children: /* @__PURE__ */ u(W, { present: o || a.open, children: /* @__PURE__ */ u(D.Slot, { scope: e.__scopeMenu, children: l.modal ? /* @__PURE__ */ u(Pt, { ...s, ref: n }) : /* @__PURE__ */ u(Et, { ...s, ref: n }) }) }) });
81
- }
82
- ), Pt = r.forwardRef(
83
- (e, n) => {
84
- const t = E(_, e.__scopeMenu), o = r.useRef(null), s = N(n, o);
85
- return r.useEffect(() => {
86
- const a = o.current;
87
- if (a) return dt(a);
88
- }, []), /* @__PURE__ */ u(
89
- re,
90
- {
91
- ...e,
92
- ref: s,
93
- trapFocus: t.open,
94
- disableOutsidePointerEvents: t.open,
95
- disableOutsideScroll: !0,
96
- onFocusOutside: h(
97
- e.onFocusOutside,
98
- (a) => a.preventDefault(),
99
- { checkForDefaultPrevented: !1 }
100
- ),
101
- onDismiss: () => t.onOpenChange(!1)
102
- }
103
- );
104
- }
105
- ), Et = r.forwardRef((e, n) => {
106
- const t = E(_, e.__scopeMenu);
107
- return /* @__PURE__ */ u(
108
- re,
109
- {
110
- ...e,
111
- ref: n,
112
- trapFocus: !1,
113
- disableOutsidePointerEvents: !1,
114
- disableOutsideScroll: !1,
115
- onDismiss: () => t.onOpenChange(!1)
116
- }
117
- );
118
- }), wt = lt("MenuContent.ScrollLock"), re = r.forwardRef(
119
- (e, n) => {
120
- const {
121
- __scopeMenu: t,
122
- loop: o = !1,
123
- trapFocus: s,
124
- onOpenAutoFocus: a,
125
- onCloseAutoFocus: l,
126
- disableOutsidePointerEvents: p,
127
- onEntryFocus: M,
128
- onEscapeKeyDown: m,
129
- onPointerDownOutside: f,
130
- onFocusOutside: c,
131
- onInteractOutside: d,
132
- onDismiss: C,
133
- disableOutsideScroll: v,
134
- ...w
135
- } = e, y = E(_, t), T = G(_, t), U = K(t), B = Re(t), ie = vt(t), [Xe, le] = r.useState(null), V = r.useRef(null), je = N(n, V, y.onContentChange), Y = r.useRef(0), X = r.useRef(""), He = r.useRef(0), $ = r.useRef(null), de = r.useRef("right"), Z = r.useRef(0), We = v ? ft : r.Fragment, ze = v ? { as: wt, allowPinchZoom: !0 } : void 0, $e = (i) => {
136
- var b, me;
137
- const g = X.current + i, R = ie().filter((S) => !S.disabled), P = document.activeElement, q = (b = R.find((S) => S.ref.current === P)) == null ? void 0 : b.textValue, J = R.map((S) => S.textValue), fe = Lt(J, g, q), A = (me = R.find((S) => S.textValue === fe)) == null ? void 0 : me.ref.current;
138
- (function S(pe) {
139
- X.current = pe, window.clearTimeout(Y.current), pe !== "" && (Y.current = window.setTimeout(() => S(""), 1e3));
140
- })(g), A && setTimeout(() => A.focus());
141
- };
142
- r.useEffect(() => () => window.clearTimeout(Y.current), []), tt();
143
- const x = r.useCallback((i) => {
144
- var R, P;
145
- return de.current === ((R = $.current) == null ? void 0 : R.side) && Gt(i, (P = $.current) == null ? void 0 : P.area);
146
- }, []);
147
- return /* @__PURE__ */ u(
148
- St,
149
- {
150
- scope: t,
151
- searchRef: X,
152
- onItemEnter: r.useCallback(
153
- (i) => {
154
- x(i) && i.preventDefault();
155
- },
156
- [x]
157
- ),
158
- onItemLeave: r.useCallback(
159
- (i) => {
160
- var g;
161
- x(i) || ((g = V.current) == null || g.focus(), le(null));
162
- },
163
- [x]
164
- ),
165
- onTriggerLeave: r.useCallback(
166
- (i) => {
167
- x(i) && i.preventDefault();
168
- },
169
- [x]
170
- ),
171
- pointerGraceTimerRef: He,
172
- onPointerGraceIntentChange: r.useCallback((i) => {
173
- $.current = i;
174
- }, []),
175
- children: /* @__PURE__ */ u(We, { ...ze, children: /* @__PURE__ */ u(
176
- nt,
177
- {
178
- asChild: !0,
179
- trapped: s,
180
- onMountAutoFocus: h(a, (i) => {
181
- var g;
182
- i.preventDefault(), (g = V.current) == null || g.focus({ preventScroll: !0 });
183
- }),
184
- onUnmountAutoFocus: l,
185
- children: /* @__PURE__ */ u(
186
- et,
187
- {
188
- asChild: !0,
189
- disableOutsidePointerEvents: p,
190
- onEscapeKeyDown: m,
191
- onPointerDownOutside: f,
192
- onFocusOutside: c,
193
- onInteractOutside: d,
194
- onDismiss: C,
195
- children: /* @__PURE__ */ u(
196
- it,
197
- {
198
- asChild: !0,
199
- ...B,
200
- dir: T.dir,
201
- orientation: "vertical",
202
- loop: o,
203
- currentTabStopId: Xe,
204
- onCurrentTabStopIdChange: le,
205
- onEntryFocus: h(M, (i) => {
206
- T.isUsingKeyboardRef.current || i.preventDefault();
207
- }),
208
- preventScrollOnEntryFocus: !0,
209
- children: /* @__PURE__ */ u(
210
- rt,
211
- {
212
- role: "menu",
213
- "aria-orientation": "vertical",
214
- "data-state": Ye(y.open),
215
- "data-radix-menu-content": "",
216
- dir: T.dir,
217
- ...U,
218
- ...w,
219
- ref: je,
220
- style: { outline: "none", ...w.style },
221
- onKeyDown: h(w.onKeyDown, (i) => {
222
- const R = i.target.closest("[data-radix-menu-content]") === i.currentTarget, P = i.ctrlKey || i.altKey || i.metaKey, q = i.key.length === 1;
223
- R && (i.key === "Tab" && i.preventDefault(), !P && q && $e(i.key));
224
- const J = V.current;
225
- if (i.target !== J || !pt.includes(i.key)) return;
226
- i.preventDefault();
227
- const A = ie().filter((b) => !b.disabled).map((b) => b.ref.current);
228
- _e.includes(i.key) && A.reverse(), Nt(A);
229
- }),
230
- onBlur: h(e.onBlur, (i) => {
231
- i.currentTarget.contains(i.target) || (window.clearTimeout(Y.current), X.current = "");
232
- }),
233
- onPointerMove: h(
234
- e.onPointerMove,
235
- k((i) => {
236
- const g = i.target, R = Z.current !== i.clientX;
237
- if (i.currentTarget.contains(g) && R) {
238
- const P = i.clientX > Z.current ? "right" : "left";
239
- de.current = P, Z.current = i.clientX;
240
- }
241
- })
242
- )
243
- }
244
- )
245
- }
246
- )
247
- }
248
- )
249
- }
250
- ) })
251
- }
252
- );
253
- }
254
- );
255
- Ie.displayName = _;
256
- var It = "MenuGroup", ce = r.forwardRef(
257
- (e, n) => {
258
- const { __scopeMenu: t, ...o } = e;
259
- return /* @__PURE__ */ u(F.div, { role: "group", ...o, ref: n });
260
- }
261
- );
262
- ce.displayName = It;
263
- var yt = "MenuLabel", ye = r.forwardRef(
264
- (e, n) => {
265
- const { __scopeMenu: t, ...o } = e;
266
- return /* @__PURE__ */ u(F.div, { ...o, ref: n });
267
- }
268
- );
269
- ye.displayName = yt;
270
- var j = "MenuItem", he = "menu.itemSelect", z = r.forwardRef(
271
- (e, n) => {
272
- const { disabled: t = !1, onSelect: o, ...s } = e, a = r.useRef(null), l = G(j, e.__scopeMenu), p = oe(j, e.__scopeMenu), M = N(n, a), m = r.useRef(!1), f = () => {
273
- const c = a.current;
274
- if (!t && c) {
275
- const d = new CustomEvent(he, { bubbles: !0, cancelable: !0 });
276
- c.addEventListener(he, (C) => o == null ? void 0 : o(C), { once: !0 }), st(c, d), d.defaultPrevented ? m.current = !1 : l.onClose();
277
- }
278
- };
279
- return /* @__PURE__ */ u(
280
- xe,
281
- {
282
- ...s,
283
- ref: M,
284
- disabled: t,
285
- onClick: h(e.onClick, f),
286
- onPointerDown: (c) => {
287
- var d;
288
- (d = e.onPointerDown) == null || d.call(e, c), m.current = !0;
289
- },
290
- onPointerUp: h(e.onPointerUp, (c) => {
291
- var d;
292
- m.current || (d = c.currentTarget) == null || d.click();
293
- }),
294
- onKeyDown: h(e.onKeyDown, (c) => {
295
- const d = p.searchRef.current !== "";
296
- t || d && c.key === " " || Q.includes(c.key) && (c.currentTarget.click(), c.preventDefault());
297
- })
298
- }
299
- );
300
- }
301
- );
302
- z.displayName = j;
303
- var xe = r.forwardRef(
304
- (e, n) => {
305
- const { __scopeMenu: t, disabled: o = !1, textValue: s, ...a } = e, l = oe(j, t), p = Re(t), M = r.useRef(null), m = N(n, M), [f, c] = r.useState(!1), [d, C] = r.useState("");
306
- return r.useEffect(() => {
307
- const v = M.current;
308
- v && C((v.textContent ?? "").trim());
309
- }, [a.children]), /* @__PURE__ */ u(
310
- D.ItemSlot,
311
- {
312
- scope: t,
313
- disabled: o,
314
- textValue: s ?? d,
315
- children: /* @__PURE__ */ u(ut, { asChild: !0, ...p, focusable: !o, children: /* @__PURE__ */ u(
316
- F.div,
317
- {
318
- role: "menuitem",
319
- "data-highlighted": f ? "" : void 0,
320
- "aria-disabled": o || void 0,
321
- "data-disabled": o ? "" : void 0,
322
- ...a,
323
- ref: m,
324
- onPointerMove: h(
325
- e.onPointerMove,
326
- k((v) => {
327
- o ? l.onItemLeave(v) : (l.onItemEnter(v), v.defaultPrevented || v.currentTarget.focus({ preventScroll: !0 }));
328
- })
329
- ),
330
- onPointerLeave: h(
331
- e.onPointerLeave,
332
- k((v) => l.onItemLeave(v))
333
- ),
334
- onFocus: h(e.onFocus, () => c(!0)),
335
- onBlur: h(e.onBlur, () => c(!1))
336
- }
337
- ) })
338
- }
339
- );
340
- }
341
- ), xt = "MenuCheckboxItem", be = r.forwardRef(
342
- (e, n) => {
343
- const { checked: t = !1, onCheckedChange: o, ...s } = e;
344
- return /* @__PURE__ */ u(ke, { scope: e.__scopeMenu, checked: t, children: /* @__PURE__ */ u(
345
- z,
346
- {
347
- role: "menuitemcheckbox",
348
- "aria-checked": H(t) ? "mixed" : t,
349
- ...s,
350
- ref: n,
351
- "data-state": ue(t),
352
- onSelect: h(
353
- s.onSelect,
354
- () => o == null ? void 0 : o(H(t) ? !0 : !t),
355
- { checkForDefaultPrevented: !1 }
356
- )
357
- }
358
- ) });
359
- }
360
- );
361
- be.displayName = xt;
362
- var Te = "MenuRadioGroup", [bt, Tt] = I(
363
- Te,
364
- { value: void 0, onValueChange: () => {
365
- } }
366
- ), Ae = r.forwardRef(
367
- (e, n) => {
368
- const { value: t, onValueChange: o, ...s } = e, a = ee(o);
369
- return /* @__PURE__ */ u(bt, { scope: e.__scopeMenu, value: t, onValueChange: a, children: /* @__PURE__ */ u(ce, { ...s, ref: n }) });
370
- }
371
- );
372
- Ae.displayName = Te;
373
- var Oe = "MenuRadioItem", De = r.forwardRef(
374
- (e, n) => {
375
- const { value: t, ...o } = e, s = Tt(Oe, e.__scopeMenu), a = t === s.value;
376
- return /* @__PURE__ */ u(ke, { scope: e.__scopeMenu, checked: a, children: /* @__PURE__ */ u(
377
- z,
378
- {
379
- role: "menuitemradio",
380
- "aria-checked": a,
381
- ...o,
382
- ref: n,
383
- "data-state": ue(a),
384
- onSelect: h(
385
- o.onSelect,
386
- () => {
387
- var l;
388
- return (l = s.onValueChange) == null ? void 0 : l.call(s, t);
389
- },
390
- { checkForDefaultPrevented: !1 }
391
- )
392
- }
393
- ) });
394
- }
395
- );
396
- De.displayName = Oe;
397
- var ae = "MenuItemIndicator", [ke, At] = I(
398
- ae,
399
- { checked: !1 }
400
- ), Ne = r.forwardRef(
401
- (e, n) => {
402
- const { __scopeMenu: t, forceMount: o, ...s } = e, a = At(ae, t);
403
- return /* @__PURE__ */ u(
404
- W,
405
- {
406
- present: o || H(a.checked) || a.checked === !0,
407
- children: /* @__PURE__ */ u(
408
- F.span,
409
- {
410
- ...s,
411
- ref: n,
412
- "data-state": ue(a.checked)
413
- }
414
- )
415
- }
416
- );
417
- }
418
- );
419
- Ne.displayName = ae;
420
- var Ot = "MenuSeparator", Fe = r.forwardRef(
421
- (e, n) => {
422
- const { __scopeMenu: t, ...o } = e;
423
- return /* @__PURE__ */ u(
424
- F.div,
425
- {
426
- role: "separator",
427
- "aria-orientation": "horizontal",
428
- ...o,
429
- ref: n
430
- }
431
- );
432
- }
433
- );
434
- Fe.displayName = Ot;
435
- var Dt = "MenuArrow", Le = r.forwardRef(
436
- (e, n) => {
437
- const { __scopeMenu: t, ...o } = e, s = K(t);
438
- return /* @__PURE__ */ u(ct, { ...s, ...o, ref: n });
439
- }
440
- );
441
- Le.displayName = Dt;
442
- var se = "MenuSub", [kt, Ke] = I(se), Ge = (e) => {
443
- const { __scopeMenu: n, children: t, open: o = !1, onOpenChange: s } = e, a = E(se, n), l = K(n), [p, M] = r.useState(null), [m, f] = r.useState(null), c = ee(s);
444
- return r.useEffect(() => (a.open === !1 && c(!1), () => c(!1)), [a.open, c]), /* @__PURE__ */ u(ve, { ...l, children: /* @__PURE__ */ u(
445
- Se,
446
- {
447
- scope: n,
448
- open: o,
449
- onOpenChange: c,
450
- content: m,
451
- onContentChange: f,
452
- children: /* @__PURE__ */ u(
453
- kt,
454
- {
455
- scope: n,
456
- contentId: Me(),
457
- triggerId: Me(),
458
- trigger: p,
459
- onTriggerChange: M,
460
- children: t
461
- }
462
- )
463
- }
464
- ) });
465
- };
466
- Ge.displayName = se;
467
- var O = "MenuSubTrigger", Ue = r.forwardRef(
468
- (e, n) => {
469
- const t = E(O, e.__scopeMenu), o = G(O, e.__scopeMenu), s = Ke(O, e.__scopeMenu), a = oe(O, e.__scopeMenu), l = r.useRef(null), { pointerGraceTimerRef: p, onPointerGraceIntentChange: M } = a, m = { __scopeMenu: e.__scopeMenu }, f = r.useCallback(() => {
470
- l.current && window.clearTimeout(l.current), l.current = null;
471
- }, []);
472
- return r.useEffect(() => f, [f]), r.useEffect(() => {
473
- const c = p.current;
474
- return () => {
475
- window.clearTimeout(c), M(null);
476
- };
477
- }, [p, M]), /* @__PURE__ */ u(te, { asChild: !0, ...m, children: /* @__PURE__ */ u(
478
- xe,
479
- {
480
- id: s.triggerId,
481
- "aria-haspopup": "menu",
482
- "aria-expanded": t.open,
483
- "aria-controls": s.contentId,
484
- "data-state": Ye(t.open),
485
- ...e,
486
- ref: qe(n, s.onTriggerChange),
487
- onClick: (c) => {
488
- var d;
489
- (d = e.onClick) == null || d.call(e, c), !(e.disabled || c.defaultPrevented) && (c.currentTarget.focus(), t.open || t.onOpenChange(!0));
490
- },
491
- onPointerMove: h(
492
- e.onPointerMove,
493
- k((c) => {
494
- a.onItemEnter(c), !c.defaultPrevented && !e.disabled && !t.open && !l.current && (a.onPointerGraceIntentChange(null), l.current = window.setTimeout(() => {
495
- t.onOpenChange(!0), f();
496
- }, 100));
497
- })
498
- ),
499
- onPointerLeave: h(
500
- e.onPointerLeave,
501
- k((c) => {
502
- var C, v;
503
- f();
504
- const d = (C = t.content) == null ? void 0 : C.getBoundingClientRect();
505
- if (d) {
506
- const w = (v = t.content) == null ? void 0 : v.dataset.side, y = w === "right", T = y ? -5 : 5, U = d[y ? "left" : "right"], B = d[y ? "right" : "left"];
507
- a.onPointerGraceIntentChange({
508
- area: [
509
- // Apply a bleed on clientX to ensure that our exit point is
510
- // consistently within polygon bounds
511
- { x: c.clientX + T, y: c.clientY },
512
- { x: U, y: d.top },
513
- { x: B, y: d.top },
514
- { x: B, y: d.bottom },
515
- { x: U, y: d.bottom }
516
- ],
517
- side: w
518
- }), window.clearTimeout(p.current), p.current = window.setTimeout(
519
- () => a.onPointerGraceIntentChange(null),
520
- 300
521
- );
522
- } else {
523
- if (a.onTriggerLeave(c), c.defaultPrevented) return;
524
- a.onPointerGraceIntentChange(null);
525
- }
526
- })
527
- ),
528
- onKeyDown: h(e.onKeyDown, (c) => {
529
- var C;
530
- const d = a.searchRef.current !== "";
531
- e.disabled || d && c.key === " " || Mt[o.dir].includes(c.key) && (t.onOpenChange(!0), (C = t.content) == null || C.focus(), c.preventDefault());
532
- })
533
- }
534
- ) });
535
- }
536
- );
537
- Ue.displayName = O;
538
- var Be = "MenuSubContent", Ve = r.forwardRef(
539
- (e, n) => {
540
- const t = Ee(_, e.__scopeMenu), { forceMount: o = t.forceMount, ...s } = e, a = E(_, e.__scopeMenu), l = G(_, e.__scopeMenu), p = Ke(Be, e.__scopeMenu), M = r.useRef(null), m = N(n, M);
541
- return /* @__PURE__ */ u(D.Provider, { scope: e.__scopeMenu, children: /* @__PURE__ */ u(W, { present: o || a.open, children: /* @__PURE__ */ u(D.Slot, { scope: e.__scopeMenu, children: /* @__PURE__ */ u(
542
- re,
543
- {
544
- id: p.contentId,
545
- "aria-labelledby": p.triggerId,
546
- ...s,
547
- ref: m,
548
- align: "start",
549
- side: l.dir === "rtl" ? "left" : "right",
550
- disableOutsidePointerEvents: !1,
551
- disableOutsideScroll: !1,
552
- trapFocus: !1,
553
- onOpenAutoFocus: (f) => {
554
- var c;
555
- l.isUsingKeyboardRef.current && ((c = M.current) == null || c.focus()), f.preventDefault();
556
- },
557
- onCloseAutoFocus: (f) => f.preventDefault(),
558
- onFocusOutside: h(e.onFocusOutside, (f) => {
559
- f.target !== p.trigger && a.onOpenChange(!1);
560
- }),
561
- onEscapeKeyDown: h(e.onEscapeKeyDown, (f) => {
562
- l.onClose(), f.preventDefault();
563
- }),
564
- onKeyDown: h(e.onKeyDown, (f) => {
565
- var C;
566
- const c = f.currentTarget.contains(f.target), d = ht[l.dir].includes(f.key);
567
- c && d && (a.onOpenChange(!1), (C = p.trigger) == null || C.focus(), f.preventDefault());
568
- })
569
- }
570
- ) }) }) });
571
- }
572
- );
573
- Ve.displayName = Be;
574
- function Ye(e) {
575
- return e ? "open" : "closed";
576
- }
577
- function H(e) {
578
- return e === "indeterminate";
579
- }
580
- function ue(e) {
581
- return H(e) ? "indeterminate" : e ? "checked" : "unchecked";
582
- }
583
- function Nt(e) {
584
- const n = document.activeElement;
585
- for (const t of e)
586
- if (t === n || (t.focus(), document.activeElement !== n)) return;
587
- }
588
- function Ft(e, n) {
589
- return e.map((t, o) => e[(n + o) % e.length]);
590
- }
591
- function Lt(e, n, t) {
592
- const s = n.length > 1 && Array.from(n).every((m) => m === n[0]) ? n[0] : n, a = t ? e.indexOf(t) : -1;
593
- let l = Ft(e, Math.max(a, 0));
594
- s.length === 1 && (l = l.filter((m) => m !== t));
595
- const M = l.find(
596
- (m) => m.toLowerCase().startsWith(s.toLowerCase())
597
- );
598
- return M !== t ? M : void 0;
599
- }
600
- function Kt(e, n) {
601
- const { x: t, y: o } = e;
602
- let s = !1;
603
- for (let a = 0, l = n.length - 1; a < n.length; l = a++) {
604
- const p = n[a], M = n[l], m = p.x, f = p.y, c = M.x, d = M.y;
605
- f > o != d > o && t < (c - m) * (o - f) / (d - f) + m && (s = !s);
606
- }
607
- return s;
608
- }
609
- function Gt(e, n) {
610
- if (!n) return !1;
611
- const t = { x: e.clientX, y: e.clientY };
612
- return Kt(t, n);
613
- }
614
- function k(e) {
615
- return (n) => n.pointerType === "mouse" ? e(n) : void 0;
616
- }
617
- var an = Pe, sn = te, un = we, ln = Ie, dn = ce, fn = ye, mn = z, pn = be, Mn = Ae, hn = De, vn = Ne, Cn = Fe, gn = Le, _n = Ge, Rn = Ue, Sn = Ve;
618
- export {
619
- sn as Anchor,
620
- gn as Arrow,
621
- pn as CheckboxItem,
622
- ln as Content,
623
- dn as Group,
624
- mn as Item,
625
- vn as ItemIndicator,
626
- fn as Label,
627
- Pe as Menu,
628
- te as MenuAnchor,
629
- Le as MenuArrow,
630
- be as MenuCheckboxItem,
631
- Ie as MenuContent,
632
- ce as MenuGroup,
633
- z as MenuItem,
634
- Ne as MenuItemIndicator,
635
- ye as MenuLabel,
636
- we as MenuPortal,
637
- Ae as MenuRadioGroup,
638
- De as MenuRadioItem,
639
- Fe as MenuSeparator,
640
- Ge as MenuSub,
641
- Ve as MenuSubContent,
642
- Ue as MenuSubTrigger,
643
- un as Portal,
644
- Mn as RadioGroup,
645
- hn as RadioItem,
646
- an as Root,
647
- Cn as Separator,
648
- _n as Sub,
649
- Sn as SubContent,
650
- Rn as SubTrigger,
651
- cn as createMenuScope
652
- };