@react-pdf-kit/viewer 2.7.0 → 2.7.1-rc.1

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 (152) hide show
  1. package/dist/{AnnotationLayer-D6BfL976.js → AnnotationLayer-CAIvKf_O.js} +1 -1
  2. package/dist/{Button-jStpvb3T.js → Button-DBu3SaMk.js} +3 -3
  3. package/dist/{Checkbox-Brta-YKG.js → Checkbox-Cl-BpoFJ.js} +4 -4
  4. package/dist/{Combination-DqNkTtir.js → Combination-11kyhTGt.js} +15 -15
  5. package/dist/Container-BuamPhw4.js +18 -0
  6. package/dist/{DocumentDialog-DHAWcYIz.js → DocumentDialog-cRr9sSSH.js} +10 -10
  7. package/dist/{DropDown-DikL-krI.js → DropDown-D6c4mnJL.js} +2 -2
  8. package/dist/{Input-DGJSVFE8.js → Input-Dpo1Xfxe.js} +5 -5
  9. package/dist/{LoaderIcon-D9YjinGf.js → LoaderIcon-B3ddfd0D.js} +1 -1
  10. package/dist/{LoadingIndicator-DiWoWs4Y.js → LoadingIndicator-Bzzf28Xv.js} +1 -1
  11. package/dist/{MenuItem-BJDWfzAw.js → MenuItem-BP_RjUuW.js} +2 -2
  12. package/dist/{MenuSeparator-D1H5l8Ej.js → MenuSeparator-Df2Dzzea.js} +1 -1
  13. package/dist/Paginate.module-DhE7N8AA.js +9 -0
  14. package/dist/{PaginationContext--n91mIJ4.js → PaginationContext-Cwf8sCpK.js} +77 -67
  15. package/dist/{PasswordModal-CA6x2l7v.js → PasswordModal-BtHVvrMg.js} +13 -12
  16. package/dist/{RPDropFileZone-D1C3ouep.js → RPDropFileZone-Bq1bzWmO.js} +1 -1
  17. package/dist/{RPPage-BuSGUFzw.js → RPPage-C_r8aeTc.js} +1 -1
  18. package/dist/{RPPages-CQsmCbyj.js → RPPages-DeA52_rv.js} +12 -12
  19. package/dist/RPTooltip-B4KrW-_f.js +568 -0
  20. package/dist/{SkipLink-Bvbn3miT.js → SkipLink-CdcjClGB.js} +1 -1
  21. package/dist/{Thumbnail-Dwo2-4Ki.js → Thumbnail-DyRfHsAh.js} +3 -3
  22. package/dist/{Thumbnails-ComClyJJ.js → Thumbnails-Cbr54TOa.js} +2 -2
  23. package/dist/assets/Button.css +1 -1
  24. package/dist/assets/DocumentDialog.css +1 -1
  25. package/dist/assets/Input.css +1 -1
  26. package/dist/assets/Paginate.css +1 -1
  27. package/dist/assets/PasswordModal.css +1 -1
  28. package/dist/assets/SkipLink.css +1 -1
  29. package/dist/assets/style.js +1 -1
  30. package/dist/{clsx-B7LyVm5O.js → clsx-DSGuh5YW.js} +1 -1
  31. package/dist/components/RPController.js +1 -1
  32. package/dist/components/RPDropFileZone.js +1 -1
  33. package/dist/components/RPPages.js +1 -1
  34. package/dist/components/RPProvider.js +1 -1
  35. package/dist/components/icons/LoaderIcon.js +1 -1
  36. package/dist/components/layout/Container.js +1 -1
  37. package/dist/components/layout/LayoutContainer.js +1 -1
  38. package/dist/components/layout/RPDefaultLayout.js +56 -55
  39. package/dist/components/layout/RPLayout.js +39 -38
  40. package/dist/components/layout/SkipLink.js +1 -1
  41. package/dist/components/layout/sidebar/RPSidebar.js +3 -3
  42. package/dist/components/layout/sidebar/Thumbnail.js +1 -1
  43. package/dist/components/layout/sidebar/Thumbnails.js +1 -1
  44. package/dist/components/layout/toolbar/DarkModeTool.js +2 -2
  45. package/dist/components/layout/toolbar/DocumentDialog.js +1 -1
  46. package/dist/components/layout/toolbar/DocumentProperties.js +3 -3
  47. package/dist/components/layout/toolbar/FileDownloadTool.js +3 -3
  48. package/dist/components/layout/toolbar/FileUploadTool.js +3 -3
  49. package/dist/components/layout/toolbar/FullScreenTool.js +5 -4
  50. package/dist/components/layout/toolbar/MenuItem.js +1 -1
  51. package/dist/components/layout/toolbar/MenuSeparator.js +1 -1
  52. package/dist/components/layout/toolbar/MostPageTool.js +5 -5
  53. package/dist/components/layout/toolbar/OtherTool.js +6 -6
  54. package/dist/components/layout/toolbar/Paginate.js +20 -5
  55. package/dist/components/layout/toolbar/PrintTool.js +3 -3
  56. package/dist/components/layout/toolbar/RPMenuItem.js +3 -3
  57. package/dist/components/layout/toolbar/RPMoreOptions.js +6 -6
  58. package/dist/components/layout/toolbar/RPToolbar.js +1 -1
  59. package/dist/components/layout/toolbar/RotateTool.js +4 -4
  60. package/dist/components/layout/toolbar/ScrollModeTool.js +3 -3
  61. package/dist/components/layout/toolbar/SearchCloseButton.js +2 -2
  62. package/dist/components/layout/toolbar/SearchResultNavigator.js +2 -2
  63. package/dist/components/layout/toolbar/SearchTool.js +7 -6
  64. package/dist/components/layout/toolbar/SelectionModeTool.js +4 -4
  65. package/dist/components/layout/toolbar/ThumbnailTool.js +2 -2
  66. package/dist/components/layout/toolbar/ToolbarCustom.js +2 -2
  67. package/dist/components/layout/toolbar/ToolbarDefault.js +2 -2
  68. package/dist/components/layout/toolbar/ViewModeTool.js +4 -4
  69. package/dist/components/layout/toolbar/ZoomTool.js +7 -7
  70. package/dist/components/layout/toolbar/tools/DocumentPropertiesTool.js +3 -3
  71. package/dist/components/layout/toolbar/tools/DualPageTool.js +2 -2
  72. package/dist/components/layout/toolbar/tools/DualPageWithCoverTool.js +1 -1
  73. package/dist/components/layout/toolbar/tools/FileDownloadTool.js +2 -2
  74. package/dist/components/layout/toolbar/tools/FileUploadTool.js +2 -2
  75. package/dist/components/layout/toolbar/tools/FirstPageTool.js +1 -1
  76. package/dist/components/layout/toolbar/tools/FullScreenTool.js +2 -2
  77. package/dist/components/layout/toolbar/tools/HorizontalScrollingTool.js +2 -2
  78. package/dist/components/layout/toolbar/tools/InputPageTool.js +37 -25
  79. package/dist/components/layout/toolbar/tools/LastPageTool.js +1 -1
  80. package/dist/components/layout/toolbar/tools/NextPageTool.js +3 -3
  81. package/dist/components/layout/toolbar/tools/PageScrollingTool.js +2 -2
  82. package/dist/components/layout/toolbar/tools/PreviousPageTool.js +3 -3
  83. package/dist/components/layout/toolbar/tools/PrintTool.js +2 -2
  84. package/dist/components/layout/toolbar/tools/RotateClockwiseTool.js +2 -2
  85. package/dist/components/layout/toolbar/tools/RotateCounterclockwiseTool.js +2 -2
  86. package/dist/components/layout/toolbar/tools/SelectionModeSwitcherTool.js +2 -2
  87. package/dist/components/layout/toolbar/tools/SinglePageTool.js +2 -2
  88. package/dist/components/layout/toolbar/tools/ThemeSwitcherTool.js +2 -2
  89. package/dist/components/layout/toolbar/tools/ThumbnailTool.js +2 -2
  90. package/dist/components/layout/toolbar/tools/VerticalScrollingTool.js +2 -2
  91. package/dist/components/layout/toolbar/tools/ZoomInTool.js +2 -2
  92. package/dist/components/layout/toolbar/tools/ZoomLevelTool.js +6 -6
  93. package/dist/components/layout/toolbar/tools/ZoomOutTool.js +2 -2
  94. package/dist/components/layout/toolbar/tools/more-options/DocumentProperties.js +2 -2
  95. package/dist/components/layout/toolbar/tools/more-options/FileDownloadTool.js +2 -2
  96. package/dist/components/layout/toolbar/tools/more-options/FileUploadTool.js +2 -2
  97. package/dist/components/layout/toolbar/tools/more-options/FullScreenTool.js +2 -2
  98. package/dist/components/layout/toolbar/tools/more-options/MostPageTool.js +5 -5
  99. package/dist/components/layout/toolbar/tools/more-options/PrintTool.js +2 -2
  100. package/dist/components/layout/toolbar/tools/more-options/RotateTool.js +4 -4
  101. package/dist/components/layout/toolbar/tools/more-options/ScrollModeTool.js +3 -3
  102. package/dist/components/layout/toolbar/tools/more-options/SelectionModeTool.js +4 -4
  103. package/dist/components/layout/toolbar/tools/more-options/ViewModeTool.js +4 -4
  104. package/dist/components/page/AnnotationLayer.js +1 -1
  105. package/dist/components/page/DualPage.js +2 -2
  106. package/dist/components/page/DualPageWithCover.js +2 -2
  107. package/dist/components/page/RPPage.js +1 -1
  108. package/dist/components/page/SinglePage.js +2 -2
  109. package/dist/components/ui/Button.js +1 -1
  110. package/dist/components/ui/Checkbox.js +1 -1
  111. package/dist/components/ui/DropDown.js +1 -1
  112. package/dist/components/ui/Input.js +1 -1
  113. package/dist/components/ui/LoadingIndicator.js +1 -1
  114. package/dist/components/ui/PasswordModal.js +1 -1
  115. package/dist/components/ui/RPTooltip.js +1 -1
  116. package/dist/contexts/ElementThumbnailContext.js +1 -1
  117. package/dist/contexts/LoaderContext.js +1 -1
  118. package/dist/contexts/LocalizationContext.js +12 -6
  119. package/dist/contexts/PaginationContext.js +1 -1
  120. package/dist/contexts/RenderQueueProvider.js +1 -1
  121. package/dist/{de_DE--0LF-SJR.js → de_DE-DwUvXUWH.js} +24 -6
  122. package/dist/{dist-BRVqFn7R.js → dist-BfuBBQ14.js} +6 -6
  123. package/dist/{dist-C3WNMuW2.js → dist-CHiIt8ey.js} +2 -2
  124. package/dist/{dist-bK-AHWLF.js → dist-CgoP608h.js} +7 -7
  125. package/dist/dist-Ch2NetCM.js +1134 -0
  126. package/dist/floating-ui.react-dom-DWNOhDoc.js +1096 -0
  127. package/dist/icons.js +1 -1
  128. package/dist/{lib-BiapEtK1.js → lib-CSInlR9T.js} +142 -237
  129. package/dist/{main-CHO5p1qM.js → main-BVY8P7qz.js} +3 -3
  130. package/dist/main.js +5 -5
  131. package/dist/style-C8T5x1fE.js +5 -0
  132. package/dist/types/locales/de_DE.json.d.ts +6 -2
  133. package/dist/types/locales/en_US.json.d.ts +6 -2
  134. package/dist/types/locales/it_IT.json.d.ts +6 -2
  135. package/dist/types/locales/pt_PT.json.d.ts +6 -2
  136. package/dist/types/locales/th_TH.json.d.ts +6 -2
  137. package/dist/types/locales/zh_CN.json.d.ts +6 -2
  138. package/dist/types/utils/types.d.ts +4 -0
  139. package/dist/utils/hooks/useLicense.js +2 -2
  140. package/dist/utils/hooks/useLocalization.js +1 -1
  141. package/dist/utils/hooks/usePaginate.js +1 -1
  142. package/dist/utils/hooks/usePresentPage.js +1 -1
  143. package/dist/utils/hooks/useScrollToPage.js +1 -1
  144. package/dist/utils/hooks/useSearch.js +1 -1
  145. package/dist/utils/types.js +1 -1
  146. package/package.json +1 -1
  147. package/dist/Container-DTWaZzc7.js +0 -16
  148. package/dist/Paginate.module-B0GMw-MB.js +0 -8
  149. package/dist/RPTooltip-ZZoFqP7C.js +0 -381
  150. package/dist/dist-7FA4Do6I.js +0 -1286
  151. package/dist/dist-CKteKPPA.js +0 -947
  152. package/dist/style-DKH7g1Kh.js +0 -5
@@ -0,0 +1,1134 @@
1
+ import { a as e, d as t, f as n, i as r, l as i, n as a, o, r as s, t as c, u as l } from "./dist-CgoP608h.js";
2
+ import { i as u, n as d, r as f, t as p } from "./dist-BfuBBQ14.js";
3
+ import { a as m, c as h, i as g, l as _, n as v, o as y, r as b, s as ee, t as te } from "./floating-ui.react-dom-DWNOhDoc.js";
4
+ import { t as x } from "./dist-CHiIt8ey.js";
5
+ import { i as S, n as C, r as w, t as ne } from "./Combination-11kyhTGt.js";
6
+ import * as T from "react";
7
+ import E from "react";
8
+ import { jsx as D } from "react/jsx-runtime";
9
+ //#region node_modules/@radix-ui/react-collection/dist/index.mjs
10
+ function O(e) {
11
+ let n = e + "CollectionProvider", [r, a] = i(n), [s, c] = r(n, {
12
+ collectionRef: { current: null },
13
+ itemMap: /* @__PURE__ */ new Map()
14
+ }), l = (e) => {
15
+ let { scope: t, children: n } = e, r = E.useRef(null), i = E.useRef(/* @__PURE__ */ new Map()).current;
16
+ return /* @__PURE__ */ D(s, {
17
+ scope: t,
18
+ itemMap: i,
19
+ collectionRef: r,
20
+ children: n
21
+ });
22
+ };
23
+ l.displayName = n;
24
+ let u = e + "CollectionSlot", d = o(u), f = E.forwardRef((e, n) => {
25
+ let { scope: r, children: i } = e;
26
+ return /* @__PURE__ */ D(d, {
27
+ ref: t(n, c(u, r).collectionRef),
28
+ children: i
29
+ });
30
+ });
31
+ f.displayName = u;
32
+ let p = e + "CollectionItemSlot", m = "data-radix-collection-item", h = o(p), g = E.forwardRef((e, n) => {
33
+ let { scope: r, children: i, ...a } = e, o = E.useRef(null), s = t(n, o), l = c(p, r);
34
+ return E.useEffect(() => (l.itemMap.set(o, {
35
+ ref: o,
36
+ ...a
37
+ }), () => void l.itemMap.delete(o))), /* @__PURE__ */ D(h, {
38
+ [m]: "",
39
+ ref: s,
40
+ children: i
41
+ });
42
+ });
43
+ g.displayName = p;
44
+ function _(t) {
45
+ let n = c(e + "CollectionConsumer", t);
46
+ return E.useCallback(() => {
47
+ let e = n.collectionRef.current;
48
+ if (!e) return [];
49
+ let t = Array.from(e.querySelectorAll(`[${m}]`));
50
+ return Array.from(n.itemMap.values()).sort((e, n) => t.indexOf(e.ref.current) - t.indexOf(n.ref.current));
51
+ }, [n.collectionRef, n.itemMap]);
52
+ }
53
+ return [
54
+ {
55
+ Provider: l,
56
+ Slot: f,
57
+ ItemSlot: g
58
+ },
59
+ _,
60
+ a
61
+ ];
62
+ }
63
+ //#endregion
64
+ //#region node_modules/@radix-ui/react-direction/dist/index.mjs
65
+ var re = T.createContext(void 0);
66
+ function k(e) {
67
+ let t = T.useContext(re);
68
+ return e || t || "ltr";
69
+ }
70
+ //#endregion
71
+ //#region node_modules/@radix-ui/react-menu/node_modules/@radix-ui/react-popper/node_modules/@radix-ui/react-arrow/dist/index.mjs
72
+ var A = "Arrow", j = T.forwardRef((e, t) => {
73
+ let { children: n, width: i = 10, height: a = 5, ...o } = e;
74
+ return /* @__PURE__ */ D(r.svg, {
75
+ ...o,
76
+ ref: t,
77
+ width: i,
78
+ height: a,
79
+ viewBox: "0 0 30 10",
80
+ preserveAspectRatio: "none",
81
+ children: e.asChild ? n : /* @__PURE__ */ D("polygon", { points: "0,0 30,0 15,10" })
82
+ });
83
+ });
84
+ j.displayName = A;
85
+ var M = j, N = "Popper", [P, ie] = i(N), [ae, oe] = P(N), F = (e) => {
86
+ let { __scopePopper: t, children: n } = e, [r, i] = T.useState(null);
87
+ return /* @__PURE__ */ D(ae, {
88
+ scope: t,
89
+ anchor: r,
90
+ onAnchorChange: i,
91
+ children: n
92
+ });
93
+ };
94
+ F.displayName = N;
95
+ var se = "PopperAnchor", I = T.forwardRef((e, n) => {
96
+ let { __scopePopper: i, virtualRef: a, ...o } = e, s = oe(se, i), c = T.useRef(null), l = t(n, c), u = T.useRef(null);
97
+ return T.useEffect(() => {
98
+ let e = u.current;
99
+ u.current = a?.current || c.current, e !== u.current && s.onAnchorChange(u.current);
100
+ }), a ? null : /* @__PURE__ */ D(r.div, {
101
+ ...o,
102
+ ref: l
103
+ });
104
+ });
105
+ I.displayName = se;
106
+ var ce = "PopperContent", [le, ue] = P(ce), L = T.forwardRef((e, n) => {
107
+ let { __scopePopper: i, side: a = "bottom", sideOffset: o = 0, align: c = "center", alignOffset: l = 0, arrowPadding: d = 0, avoidCollisions: f = !0, collisionBoundary: p = [], collisionPadding: S = 0, sticky: C = "partial", hideWhenDetached: w = !1, updatePositionStrategy: ne = "optimized", onPlaced: E, ...O } = e, re = oe(ce, i), [k, A] = T.useState(null), j = t(n, (e) => A(e)), [M, N] = T.useState(null), P = x(M), ie = P?.width ?? 0, ae = P?.height ?? 0, F = a + (c === "center" ? "" : "-" + c), se = typeof S == "number" ? S : {
108
+ top: 0,
109
+ right: 0,
110
+ bottom: 0,
111
+ left: 0,
112
+ ...S
113
+ }, I = Array.isArray(p) ? p : [p], ue = I.length > 0, L = {
114
+ padding: se,
115
+ boundary: I.filter(me),
116
+ altBoundary: ue
117
+ }, { refs: de, floatingStyles: fe, placement: pe, isPositioned: R, middlewareData: z } = h({
118
+ strategy: "fixed",
119
+ placement: F,
120
+ whileElementsMounted: (...e) => _(...e, { animationFrame: ne === "always" }),
121
+ elements: { reference: re.anchor },
122
+ middleware: [
123
+ m({
124
+ mainAxis: o + ae,
125
+ alignmentAxis: l
126
+ }),
127
+ f && y({
128
+ mainAxis: !0,
129
+ crossAxis: !1,
130
+ limiter: C === "partial" ? g() : void 0,
131
+ ...L
132
+ }),
133
+ f && v({ ...L }),
134
+ ee({
135
+ ...L,
136
+ apply: ({ elements: e, rects: t, availableWidth: n, availableHeight: r }) => {
137
+ let { width: i, height: a } = t.reference, o = e.floating.style;
138
+ o.setProperty("--radix-popper-available-width", `${n}px`), o.setProperty("--radix-popper-available-height", `${r}px`), o.setProperty("--radix-popper-anchor-width", `${i}px`), o.setProperty("--radix-popper-anchor-height", `${a}px`);
139
+ }
140
+ }),
141
+ M && te({
142
+ element: M,
143
+ padding: d
144
+ }),
145
+ he({
146
+ arrowWidth: ie,
147
+ arrowHeight: ae
148
+ }),
149
+ w && b({
150
+ strategy: "referenceHidden",
151
+ ...L
152
+ })
153
+ ]
154
+ }), [_e, ve] = ge(pe), B = u(E);
155
+ s(() => {
156
+ R && B?.();
157
+ }, [R, B]);
158
+ let ye = z.arrow?.x, V = z.arrow?.y, H = z.arrow?.centerOffset !== 0, [be, xe] = T.useState();
159
+ return s(() => {
160
+ k && xe(window.getComputedStyle(k).zIndex);
161
+ }, [k]), /* @__PURE__ */ D("div", {
162
+ ref: de.setFloating,
163
+ "data-radix-popper-content-wrapper": "",
164
+ style: {
165
+ ...fe,
166
+ transform: R ? fe.transform : "translate(0, -200%)",
167
+ minWidth: "max-content",
168
+ zIndex: be,
169
+ "--radix-popper-transform-origin": [z.transformOrigin?.x, z.transformOrigin?.y].join(" "),
170
+ ...z.hide?.referenceHidden && {
171
+ visibility: "hidden",
172
+ pointerEvents: "none"
173
+ }
174
+ },
175
+ dir: e.dir,
176
+ children: /* @__PURE__ */ D(le, {
177
+ scope: i,
178
+ placedSide: _e,
179
+ onArrowChange: N,
180
+ arrowX: ye,
181
+ arrowY: V,
182
+ shouldHideArrow: H,
183
+ children: /* @__PURE__ */ D(r.div, {
184
+ "data-side": _e,
185
+ "data-align": ve,
186
+ ...O,
187
+ ref: j,
188
+ style: {
189
+ ...O.style,
190
+ animation: R ? void 0 : "none"
191
+ }
192
+ })
193
+ })
194
+ });
195
+ });
196
+ L.displayName = ce;
197
+ var de = "PopperArrow", fe = {
198
+ top: "bottom",
199
+ right: "left",
200
+ bottom: "top",
201
+ left: "right"
202
+ }, pe = T.forwardRef(function(e, t) {
203
+ let { __scopePopper: n, ...r } = e, i = ue(de, n), a = fe[i.placedSide];
204
+ return /* @__PURE__ */ D("span", {
205
+ ref: i.onArrowChange,
206
+ style: {
207
+ position: "absolute",
208
+ left: i.arrowX,
209
+ top: i.arrowY,
210
+ [a]: 0,
211
+ transformOrigin: {
212
+ top: "",
213
+ right: "0 0",
214
+ bottom: "center 0",
215
+ left: "100% 0"
216
+ }[i.placedSide],
217
+ transform: {
218
+ top: "translateY(100%)",
219
+ right: "translateY(50%) rotate(90deg) translateX(-50%)",
220
+ bottom: "rotate(180deg)",
221
+ left: "translateY(50%) rotate(-90deg) translateX(50%)"
222
+ }[i.placedSide],
223
+ visibility: i.shouldHideArrow ? "hidden" : void 0
224
+ },
225
+ children: /* @__PURE__ */ D(M, {
226
+ ...r,
227
+ ref: t,
228
+ style: {
229
+ ...r.style,
230
+ display: "block"
231
+ }
232
+ })
233
+ });
234
+ });
235
+ pe.displayName = de;
236
+ function me(e) {
237
+ return e !== null;
238
+ }
239
+ var he = (e) => ({
240
+ name: "transformOrigin",
241
+ options: e,
242
+ fn(t) {
243
+ let { placement: n, rects: r, middlewareData: i } = t, a = i.arrow?.centerOffset !== 0, o = a ? 0 : e.arrowWidth, s = a ? 0 : e.arrowHeight, [c, l] = ge(n), u = {
244
+ start: "0%",
245
+ center: "50%",
246
+ end: "100%"
247
+ }[l], d = (i.arrow?.x ?? 0) + o / 2, f = (i.arrow?.y ?? 0) + s / 2, p = "", m = "";
248
+ return c === "bottom" ? (p = a ? u : `${d}px`, m = `${-s}px`) : c === "top" ? (p = a ? u : `${d}px`, m = `${r.floating.height + s}px`) : c === "right" ? (p = `${-s}px`, m = a ? u : `${f}px`) : c === "left" && (p = `${r.floating.width + s}px`, m = a ? u : `${f}px`), { data: {
249
+ x: p,
250
+ y: m
251
+ } };
252
+ }
253
+ });
254
+ function ge(e) {
255
+ let [t, n = "center"] = e.split("-");
256
+ return [t, n];
257
+ }
258
+ var R = F, z = I, _e = L, ve = pe, B = "rovingFocusGroup.onEntryFocus", ye = {
259
+ bubbles: !1,
260
+ cancelable: !0
261
+ }, V = "RovingFocusGroup", [H, be, xe] = O(V), [Se, Ce] = i(V, [xe]), [we, Te] = Se(V), Ee = T.forwardRef((e, t) => /* @__PURE__ */ D(H.Provider, {
262
+ scope: e.__scopeRovingFocusGroup,
263
+ children: /* @__PURE__ */ D(H.Slot, {
264
+ scope: e.__scopeRovingFocusGroup,
265
+ children: /* @__PURE__ */ D(De, {
266
+ ...e,
267
+ ref: t
268
+ })
269
+ })
270
+ }));
271
+ Ee.displayName = V;
272
+ var De = T.forwardRef((e, i) => {
273
+ let { __scopeRovingFocusGroup: a, orientation: o, loop: s = !1, dir: l, currentTabStopId: d, defaultCurrentTabStopId: f, onCurrentTabStopIdChange: p, onEntryFocus: m, preventScrollOnEntryFocus: h = !1, ...g } = e, _ = T.useRef(null), v = t(i, _), y = k(l), [b, ee] = c({
274
+ prop: d,
275
+ defaultProp: f ?? null,
276
+ onChange: p,
277
+ caller: V
278
+ }), [te, x] = T.useState(!1), S = u(m), C = be(a), w = T.useRef(!1), [ne, E] = T.useState(0);
279
+ return T.useEffect(() => {
280
+ let e = _.current;
281
+ if (e) return e.addEventListener(B, S), () => e.removeEventListener(B, S);
282
+ }, [S]), /* @__PURE__ */ D(we, {
283
+ scope: a,
284
+ orientation: o,
285
+ dir: y,
286
+ loop: s,
287
+ currentTabStopId: b,
288
+ onItemFocus: T.useCallback((e) => ee(e), [ee]),
289
+ onItemShiftTab: T.useCallback(() => x(!0), []),
290
+ onFocusableItemAdd: T.useCallback(() => E((e) => e + 1), []),
291
+ onFocusableItemRemove: T.useCallback(() => E((e) => e - 1), []),
292
+ children: /* @__PURE__ */ D(r.div, {
293
+ tabIndex: te || ne === 0 ? -1 : 0,
294
+ "data-orientation": o,
295
+ ...g,
296
+ ref: v,
297
+ style: {
298
+ outline: "none",
299
+ ...e.style
300
+ },
301
+ onMouseDown: n(e.onMouseDown, () => {
302
+ w.current = !0;
303
+ }),
304
+ onFocus: n(e.onFocus, (e) => {
305
+ let t = !w.current;
306
+ if (e.target === e.currentTarget && t && !te) {
307
+ let t = new CustomEvent(B, ye);
308
+ if (e.currentTarget.dispatchEvent(t), !t.defaultPrevented) {
309
+ let e = C().filter((e) => e.focusable);
310
+ Ne([
311
+ e.find((e) => e.active),
312
+ e.find((e) => e.id === b),
313
+ ...e
314
+ ].filter(Boolean).map((e) => e.ref.current), h);
315
+ }
316
+ }
317
+ w.current = !1;
318
+ }),
319
+ onBlur: n(e.onBlur, () => x(!1))
320
+ })
321
+ });
322
+ }), Oe = "RovingFocusGroupItem", ke = T.forwardRef((e, t) => {
323
+ let { __scopeRovingFocusGroup: i, focusable: a = !0, active: o = !1, tabStopId: s, children: c, ...l } = e, u = d(), f = s || u, p = Te(Oe, i), m = p.currentTabStopId === f, h = be(i), { onFocusableItemAdd: g, onFocusableItemRemove: _, currentTabStopId: v } = p;
324
+ return T.useEffect(() => {
325
+ if (a) return g(), () => _();
326
+ }, [
327
+ a,
328
+ g,
329
+ _
330
+ ]), /* @__PURE__ */ D(H.ItemSlot, {
331
+ scope: i,
332
+ id: f,
333
+ focusable: a,
334
+ active: o,
335
+ children: /* @__PURE__ */ D(r.span, {
336
+ tabIndex: m ? 0 : -1,
337
+ "data-orientation": p.orientation,
338
+ ...l,
339
+ ref: t,
340
+ onMouseDown: n(e.onMouseDown, (e) => {
341
+ a ? p.onItemFocus(f) : e.preventDefault();
342
+ }),
343
+ onFocus: n(e.onFocus, () => p.onItemFocus(f)),
344
+ onKeyDown: n(e.onKeyDown, (e) => {
345
+ if (e.key === "Tab" && e.shiftKey) {
346
+ p.onItemShiftTab();
347
+ return;
348
+ }
349
+ if (e.target !== e.currentTarget) return;
350
+ let t = Me(e, p.orientation, p.dir);
351
+ if (t !== void 0) {
352
+ if (e.metaKey || e.ctrlKey || e.altKey || e.shiftKey) return;
353
+ e.preventDefault();
354
+ let n = h().filter((e) => e.focusable).map((e) => e.ref.current);
355
+ if (t === "last") n.reverse();
356
+ else if (t === "prev" || t === "next") {
357
+ t === "prev" && n.reverse();
358
+ let r = n.indexOf(e.currentTarget);
359
+ n = p.loop ? Pe(n, r + 1) : n.slice(r + 1);
360
+ }
361
+ setTimeout(() => Ne(n));
362
+ }
363
+ }),
364
+ children: typeof c == "function" ? c({
365
+ isCurrentTabStop: m,
366
+ hasTabStop: v != null
367
+ }) : c
368
+ })
369
+ });
370
+ });
371
+ ke.displayName = Oe;
372
+ var Ae = {
373
+ ArrowLeft: "prev",
374
+ ArrowUp: "prev",
375
+ ArrowRight: "next",
376
+ ArrowDown: "next",
377
+ PageUp: "first",
378
+ Home: "first",
379
+ PageDown: "last",
380
+ End: "last"
381
+ };
382
+ function je(e, t) {
383
+ return t === "rtl" ? e === "ArrowLeft" ? "ArrowRight" : e === "ArrowRight" ? "ArrowLeft" : e : e;
384
+ }
385
+ function Me(e, t, n) {
386
+ let r = je(e.key, n);
387
+ if (!(t === "vertical" && ["ArrowLeft", "ArrowRight"].includes(r)) && !(t === "horizontal" && ["ArrowUp", "ArrowDown"].includes(r))) return Ae[r];
388
+ }
389
+ function Ne(e, t = !1) {
390
+ let n = document.activeElement;
391
+ for (let r of e) if (r === n || (r.focus({ preventScroll: t }), document.activeElement !== n)) return;
392
+ }
393
+ function Pe(e, t) {
394
+ return e.map((n, r) => e[(t + r) % e.length]);
395
+ }
396
+ var Fe = Ee, Ie = ke, Le = ["Enter", " "], Re = [
397
+ "ArrowDown",
398
+ "PageUp",
399
+ "Home"
400
+ ], ze = [
401
+ "ArrowUp",
402
+ "PageDown",
403
+ "End"
404
+ ], Be = [...Re, ...ze], Ve = {
405
+ ltr: [...Le, "ArrowRight"],
406
+ rtl: [...Le, "ArrowLeft"]
407
+ }, He = {
408
+ ltr: ["ArrowLeft"],
409
+ rtl: ["ArrowRight"]
410
+ }, U = "Menu", [W, Ue, We] = O(U), [G, Ge] = i(U, [
411
+ We,
412
+ ie,
413
+ Ce
414
+ ]), K = ie(), Ke = Ce(), [qe, q] = G(U), [Je, J] = G(U), Ye = (e) => {
415
+ let { __scopeMenu: t, open: n = !1, children: r, dir: i, onOpenChange: a, modal: o = !0 } = e, s = K(t), [c, l] = T.useState(null), d = T.useRef(!1), f = u(a), p = k(i);
416
+ return T.useEffect(() => {
417
+ let e = () => {
418
+ d.current = !0, document.addEventListener("pointerdown", t, {
419
+ capture: !0,
420
+ once: !0
421
+ }), document.addEventListener("pointermove", t, {
422
+ capture: !0,
423
+ once: !0
424
+ });
425
+ }, t = () => d.current = !1;
426
+ return document.addEventListener("keydown", e, { capture: !0 }), () => {
427
+ document.removeEventListener("keydown", e, { capture: !0 }), document.removeEventListener("pointerdown", t, { capture: !0 }), document.removeEventListener("pointermove", t, { capture: !0 });
428
+ };
429
+ }, []), /* @__PURE__ */ D(R, {
430
+ ...s,
431
+ children: /* @__PURE__ */ D(qe, {
432
+ scope: t,
433
+ open: n,
434
+ onOpenChange: f,
435
+ content: c,
436
+ onContentChange: l,
437
+ children: /* @__PURE__ */ D(Je, {
438
+ scope: t,
439
+ onClose: T.useCallback(() => f(!1), [f]),
440
+ isUsingKeyboardRef: d,
441
+ dir: p,
442
+ modal: o,
443
+ children: r
444
+ })
445
+ })
446
+ });
447
+ };
448
+ Ye.displayName = U;
449
+ var Xe = "MenuAnchor", Ze = T.forwardRef((e, t) => {
450
+ let { __scopeMenu: n, ...r } = e;
451
+ return /* @__PURE__ */ D(z, {
452
+ ...K(n),
453
+ ...r,
454
+ ref: t
455
+ });
456
+ });
457
+ Ze.displayName = Xe;
458
+ var Qe = "MenuPortal", [$e, et] = G(Qe, { forceMount: void 0 }), tt = (e) => {
459
+ let { __scopeMenu: t, forceMount: n, children: r, container: i } = e, o = q(Qe, t);
460
+ return /* @__PURE__ */ D($e, {
461
+ scope: t,
462
+ forceMount: n,
463
+ children: /* @__PURE__ */ D(a, {
464
+ present: n || o.open,
465
+ children: /* @__PURE__ */ D(p, {
466
+ asChild: !0,
467
+ container: i,
468
+ children: r
469
+ })
470
+ })
471
+ });
472
+ };
473
+ tt.displayName = Qe;
474
+ var Y = "MenuContent", [nt, rt] = G(Y), it = T.forwardRef((e, t) => {
475
+ let n = et(Y, e.__scopeMenu), { forceMount: r = n.forceMount, ...i } = e, o = q(Y, e.__scopeMenu), s = J(Y, e.__scopeMenu);
476
+ return /* @__PURE__ */ D(W.Provider, {
477
+ scope: e.__scopeMenu,
478
+ children: /* @__PURE__ */ D(a, {
479
+ present: r || o.open,
480
+ children: /* @__PURE__ */ D(W.Slot, {
481
+ scope: e.__scopeMenu,
482
+ children: s.modal ? /* @__PURE__ */ D(at, {
483
+ ...i,
484
+ ref: t
485
+ }) : /* @__PURE__ */ D(ot, {
486
+ ...i,
487
+ ref: t
488
+ })
489
+ })
490
+ })
491
+ });
492
+ }), at = T.forwardRef((e, r) => {
493
+ let i = q(Y, e.__scopeMenu), a = T.useRef(null), o = t(r, a);
494
+ return T.useEffect(() => {
495
+ let e = a.current;
496
+ if (e) return C(e);
497
+ }, []), /* @__PURE__ */ D(ct, {
498
+ ...e,
499
+ ref: o,
500
+ trapFocus: i.open,
501
+ disableOutsidePointerEvents: i.open,
502
+ disableOutsideScroll: !0,
503
+ onFocusOutside: n(e.onFocusOutside, (e) => e.preventDefault(), { checkForDefaultPrevented: !1 }),
504
+ onDismiss: () => i.onOpenChange(!1)
505
+ });
506
+ }), ot = T.forwardRef((e, t) => {
507
+ let n = q(Y, e.__scopeMenu);
508
+ return /* @__PURE__ */ D(ct, {
509
+ ...e,
510
+ ref: t,
511
+ trapFocus: !1,
512
+ disableOutsidePointerEvents: !1,
513
+ disableOutsideScroll: !1,
514
+ onDismiss: () => n.onOpenChange(!1)
515
+ });
516
+ }), st = o("MenuContent.ScrollLock"), ct = T.forwardRef((e, r) => {
517
+ let { __scopeMenu: i, loop: a = !1, trapFocus: o, onOpenAutoFocus: s, onCloseAutoFocus: c, disableOutsidePointerEvents: l, onEntryFocus: u, onEscapeKeyDown: d, onPointerDownOutside: p, onFocusOutside: m, onInteractOutside: h, onDismiss: g, disableOutsideScroll: _, ...v } = e, y = q(Y, i), b = J(Y, i), ee = K(i), te = Ke(i), x = Ue(i), [C, E] = T.useState(null), O = T.useRef(null), re = t(r, O, y.onContentChange), k = T.useRef(0), A = T.useRef(""), j = T.useRef(0), M = T.useRef(null), N = T.useRef("right"), P = T.useRef(0), ie = _ ? ne : T.Fragment, ae = _ ? {
518
+ as: st,
519
+ allowPinchZoom: !0
520
+ } : void 0, oe = (e) => {
521
+ let t = A.current + e, n = x().filter((e) => !e.disabled), r = document.activeElement, i = n.find((e) => e.ref.current === r)?.textValue, a = Wt(n.map((e) => e.textValue), t, i), o = n.find((e) => e.textValue === a)?.ref.current;
522
+ (function e(t) {
523
+ A.current = t, window.clearTimeout(k.current), t !== "" && (k.current = window.setTimeout(() => e(""), 1e3));
524
+ })(t), o && setTimeout(() => o.focus());
525
+ };
526
+ T.useEffect(() => () => window.clearTimeout(k.current), []), S();
527
+ let F = T.useCallback((e) => N.current === M.current?.side && Kt(e, M.current?.area), []);
528
+ return /* @__PURE__ */ D(nt, {
529
+ scope: i,
530
+ searchRef: A,
531
+ onItemEnter: T.useCallback((e) => {
532
+ F(e) && e.preventDefault();
533
+ }, [F]),
534
+ onItemLeave: T.useCallback((e) => {
535
+ F(e) || (O.current?.focus(), E(null));
536
+ }, [F]),
537
+ onTriggerLeave: T.useCallback((e) => {
538
+ F(e) && e.preventDefault();
539
+ }, [F]),
540
+ pointerGraceTimerRef: j,
541
+ onPointerGraceIntentChange: T.useCallback((e) => {
542
+ M.current = e;
543
+ }, []),
544
+ children: /* @__PURE__ */ D(ie, {
545
+ ...ae,
546
+ children: /* @__PURE__ */ D(w, {
547
+ asChild: !0,
548
+ trapped: o,
549
+ onMountAutoFocus: n(s, (e) => {
550
+ e.preventDefault(), O.current?.focus({ preventScroll: !0 });
551
+ }),
552
+ onUnmountAutoFocus: c,
553
+ children: /* @__PURE__ */ D(f, {
554
+ asChild: !0,
555
+ disableOutsidePointerEvents: l,
556
+ onEscapeKeyDown: d,
557
+ onPointerDownOutside: p,
558
+ onFocusOutside: m,
559
+ onInteractOutside: h,
560
+ onDismiss: g,
561
+ children: /* @__PURE__ */ D(Fe, {
562
+ asChild: !0,
563
+ ...te,
564
+ dir: b.dir,
565
+ orientation: "vertical",
566
+ loop: a,
567
+ currentTabStopId: C,
568
+ onCurrentTabStopIdChange: E,
569
+ onEntryFocus: n(u, (e) => {
570
+ b.isUsingKeyboardRef.current || e.preventDefault();
571
+ }),
572
+ preventScrollOnEntryFocus: !0,
573
+ children: /* @__PURE__ */ D(_e, {
574
+ role: "menu",
575
+ "aria-orientation": "vertical",
576
+ "data-state": Bt(y.open),
577
+ "data-radix-menu-content": "",
578
+ dir: b.dir,
579
+ ...ee,
580
+ ...v,
581
+ ref: re,
582
+ style: {
583
+ outline: "none",
584
+ ...v.style
585
+ },
586
+ onKeyDown: n(v.onKeyDown, (e) => {
587
+ let t = e.target.closest("[data-radix-menu-content]") === e.currentTarget, n = e.ctrlKey || e.altKey || e.metaKey, r = e.key.length === 1;
588
+ t && (e.key === "Tab" && e.preventDefault(), !n && r && oe(e.key));
589
+ let i = O.current;
590
+ if (e.target !== i || !Be.includes(e.key)) return;
591
+ e.preventDefault();
592
+ let a = x().filter((e) => !e.disabled).map((e) => e.ref.current);
593
+ ze.includes(e.key) && a.reverse(), Ht(a);
594
+ }),
595
+ onBlur: n(e.onBlur, (e) => {
596
+ e.currentTarget.contains(e.target) || (window.clearTimeout(k.current), A.current = "");
597
+ }),
598
+ onPointerMove: n(e.onPointerMove, Q((e) => {
599
+ let t = e.target, n = P.current !== e.clientX;
600
+ e.currentTarget.contains(t) && n && (N.current = e.clientX > P.current ? "right" : "left", P.current = e.clientX);
601
+ }))
602
+ })
603
+ })
604
+ })
605
+ })
606
+ })
607
+ });
608
+ });
609
+ it.displayName = Y;
610
+ var lt = "MenuGroup", ut = T.forwardRef((e, t) => {
611
+ let { __scopeMenu: n, ...i } = e;
612
+ return /* @__PURE__ */ D(r.div, {
613
+ role: "group",
614
+ ...i,
615
+ ref: t
616
+ });
617
+ });
618
+ ut.displayName = lt;
619
+ var dt = "MenuLabel", ft = T.forwardRef((e, t) => {
620
+ let { __scopeMenu: n, ...i } = e;
621
+ return /* @__PURE__ */ D(r.div, {
622
+ ...i,
623
+ ref: t
624
+ });
625
+ });
626
+ ft.displayName = dt;
627
+ var pt = "MenuItem", mt = "menu.itemSelect", ht = T.forwardRef((r, i) => {
628
+ let { disabled: a = !1, onSelect: o, ...s } = r, c = T.useRef(null), l = J(pt, r.__scopeMenu), u = rt(pt, r.__scopeMenu), d = t(i, c), f = T.useRef(!1), p = () => {
629
+ let t = c.current;
630
+ if (!a && t) {
631
+ let n = new CustomEvent(mt, {
632
+ bubbles: !0,
633
+ cancelable: !0
634
+ });
635
+ t.addEventListener(mt, (e) => o?.(e), { once: !0 }), e(t, n), n.defaultPrevented ? f.current = !1 : l.onClose();
636
+ }
637
+ };
638
+ return /* @__PURE__ */ D(gt, {
639
+ ...s,
640
+ ref: d,
641
+ disabled: a,
642
+ onClick: n(r.onClick, p),
643
+ onPointerDown: (e) => {
644
+ r.onPointerDown?.(e), f.current = !0;
645
+ },
646
+ onPointerUp: n(r.onPointerUp, (e) => {
647
+ f.current || e.currentTarget?.click();
648
+ }),
649
+ onKeyDown: n(r.onKeyDown, (e) => {
650
+ let t = u.searchRef.current !== "";
651
+ a || t && e.key === " " || Le.includes(e.key) && (e.currentTarget.click(), e.preventDefault());
652
+ })
653
+ });
654
+ });
655
+ ht.displayName = pt;
656
+ var gt = T.forwardRef((e, i) => {
657
+ let { __scopeMenu: a, disabled: o = !1, textValue: s, ...c } = e, l = rt(pt, a), u = Ke(a), d = T.useRef(null), f = t(i, d), [p, m] = T.useState(!1), [h, g] = T.useState("");
658
+ return T.useEffect(() => {
659
+ let e = d.current;
660
+ e && g((e.textContent ?? "").trim());
661
+ }, [c.children]), /* @__PURE__ */ D(W.ItemSlot, {
662
+ scope: a,
663
+ disabled: o,
664
+ textValue: s ?? h,
665
+ children: /* @__PURE__ */ D(Ie, {
666
+ asChild: !0,
667
+ ...u,
668
+ focusable: !o,
669
+ children: /* @__PURE__ */ D(r.div, {
670
+ role: "menuitem",
671
+ "data-highlighted": p ? "" : void 0,
672
+ "aria-disabled": o || void 0,
673
+ "data-disabled": o ? "" : void 0,
674
+ ...c,
675
+ ref: f,
676
+ onPointerMove: n(e.onPointerMove, Q((e) => {
677
+ o ? l.onItemLeave(e) : (l.onItemEnter(e), e.defaultPrevented || e.currentTarget.focus({ preventScroll: !0 }));
678
+ })),
679
+ onPointerLeave: n(e.onPointerLeave, Q((e) => l.onItemLeave(e))),
680
+ onFocus: n(e.onFocus, () => m(!0)),
681
+ onBlur: n(e.onBlur, () => m(!1))
682
+ })
683
+ })
684
+ });
685
+ }), _t = "MenuCheckboxItem", vt = T.forwardRef((e, t) => {
686
+ let { checked: r = !1, onCheckedChange: i, ...a } = e;
687
+ return /* @__PURE__ */ D(Et, {
688
+ scope: e.__scopeMenu,
689
+ checked: r,
690
+ children: /* @__PURE__ */ D(ht, {
691
+ role: "menuitemcheckbox",
692
+ "aria-checked": Z(r) ? "mixed" : r,
693
+ ...a,
694
+ ref: t,
695
+ "data-state": Vt(r),
696
+ onSelect: n(a.onSelect, () => i?.(Z(r) ? !0 : !r), { checkForDefaultPrevented: !1 })
697
+ })
698
+ });
699
+ });
700
+ vt.displayName = _t;
701
+ var yt = "MenuRadioGroup", [bt, xt] = G(yt, {
702
+ value: void 0,
703
+ onValueChange: () => {}
704
+ }), St = T.forwardRef((e, t) => {
705
+ let { value: n, onValueChange: r, ...i } = e, a = u(r);
706
+ return /* @__PURE__ */ D(bt, {
707
+ scope: e.__scopeMenu,
708
+ value: n,
709
+ onValueChange: a,
710
+ children: /* @__PURE__ */ D(ut, {
711
+ ...i,
712
+ ref: t
713
+ })
714
+ });
715
+ });
716
+ St.displayName = yt;
717
+ var Ct = "MenuRadioItem", wt = T.forwardRef((e, t) => {
718
+ let { value: r, ...i } = e, a = xt(Ct, e.__scopeMenu), o = r === a.value;
719
+ return /* @__PURE__ */ D(Et, {
720
+ scope: e.__scopeMenu,
721
+ checked: o,
722
+ children: /* @__PURE__ */ D(ht, {
723
+ role: "menuitemradio",
724
+ "aria-checked": o,
725
+ ...i,
726
+ ref: t,
727
+ "data-state": Vt(o),
728
+ onSelect: n(i.onSelect, () => a.onValueChange?.(r), { checkForDefaultPrevented: !1 })
729
+ })
730
+ });
731
+ });
732
+ wt.displayName = Ct;
733
+ var Tt = "MenuItemIndicator", [Et, Dt] = G(Tt, { checked: !1 }), Ot = T.forwardRef((e, t) => {
734
+ let { __scopeMenu: n, forceMount: i, ...o } = e, s = Dt(Tt, n);
735
+ return /* @__PURE__ */ D(a, {
736
+ present: i || Z(s.checked) || s.checked === !0,
737
+ children: /* @__PURE__ */ D(r.span, {
738
+ ...o,
739
+ ref: t,
740
+ "data-state": Vt(s.checked)
741
+ })
742
+ });
743
+ });
744
+ Ot.displayName = Tt;
745
+ var kt = "MenuSeparator", At = T.forwardRef((e, t) => {
746
+ let { __scopeMenu: n, ...i } = e;
747
+ return /* @__PURE__ */ D(r.div, {
748
+ role: "separator",
749
+ "aria-orientation": "horizontal",
750
+ ...i,
751
+ ref: t
752
+ });
753
+ });
754
+ At.displayName = kt;
755
+ var jt = "MenuArrow", Mt = T.forwardRef((e, t) => {
756
+ let { __scopeMenu: n, ...r } = e;
757
+ return /* @__PURE__ */ D(ve, {
758
+ ...K(n),
759
+ ...r,
760
+ ref: t
761
+ });
762
+ });
763
+ Mt.displayName = jt;
764
+ var Nt = "MenuSub", [Pt, Ft] = G(Nt), It = (e) => {
765
+ let { __scopeMenu: t, children: n, open: r = !1, onOpenChange: i } = e, a = q(Nt, t), o = K(t), [s, c] = T.useState(null), [l, f] = T.useState(null), p = u(i);
766
+ return T.useEffect(() => (a.open === !1 && p(!1), () => p(!1)), [a.open, p]), /* @__PURE__ */ D(R, {
767
+ ...o,
768
+ children: /* @__PURE__ */ D(qe, {
769
+ scope: t,
770
+ open: r,
771
+ onOpenChange: p,
772
+ content: l,
773
+ onContentChange: f,
774
+ children: /* @__PURE__ */ D(Pt, {
775
+ scope: t,
776
+ contentId: d(),
777
+ triggerId: d(),
778
+ trigger: s,
779
+ onTriggerChange: c,
780
+ children: n
781
+ })
782
+ })
783
+ });
784
+ };
785
+ It.displayName = Nt;
786
+ var X = "MenuSubTrigger", Lt = T.forwardRef((e, t) => {
787
+ let r = q(X, e.__scopeMenu), i = J(X, e.__scopeMenu), a = Ft(X, e.__scopeMenu), o = rt(X, e.__scopeMenu), s = T.useRef(null), { pointerGraceTimerRef: c, onPointerGraceIntentChange: u } = o, d = { __scopeMenu: e.__scopeMenu }, f = T.useCallback(() => {
788
+ s.current && window.clearTimeout(s.current), s.current = null;
789
+ }, []);
790
+ return T.useEffect(() => f, [f]), T.useEffect(() => {
791
+ let e = c.current;
792
+ return () => {
793
+ window.clearTimeout(e), u(null);
794
+ };
795
+ }, [c, u]), /* @__PURE__ */ D(Ze, {
796
+ asChild: !0,
797
+ ...d,
798
+ children: /* @__PURE__ */ D(gt, {
799
+ id: a.triggerId,
800
+ "aria-haspopup": "menu",
801
+ "aria-expanded": r.open,
802
+ "aria-controls": a.contentId,
803
+ "data-state": Bt(r.open),
804
+ ...e,
805
+ ref: l(t, a.onTriggerChange),
806
+ onClick: (t) => {
807
+ e.onClick?.(t), !(e.disabled || t.defaultPrevented) && (t.currentTarget.focus(), r.open || r.onOpenChange(!0));
808
+ },
809
+ onPointerMove: n(e.onPointerMove, Q((t) => {
810
+ o.onItemEnter(t), !t.defaultPrevented && !e.disabled && !r.open && !s.current && (o.onPointerGraceIntentChange(null), s.current = window.setTimeout(() => {
811
+ r.onOpenChange(!0), f();
812
+ }, 100));
813
+ })),
814
+ onPointerLeave: n(e.onPointerLeave, Q((e) => {
815
+ f();
816
+ let t = r.content?.getBoundingClientRect();
817
+ if (t) {
818
+ let n = r.content?.dataset.side, i = n === "right", a = i ? -5 : 5, s = t[i ? "left" : "right"], l = t[i ? "right" : "left"];
819
+ o.onPointerGraceIntentChange({
820
+ area: [
821
+ {
822
+ x: e.clientX + a,
823
+ y: e.clientY
824
+ },
825
+ {
826
+ x: s,
827
+ y: t.top
828
+ },
829
+ {
830
+ x: l,
831
+ y: t.top
832
+ },
833
+ {
834
+ x: l,
835
+ y: t.bottom
836
+ },
837
+ {
838
+ x: s,
839
+ y: t.bottom
840
+ }
841
+ ],
842
+ side: n
843
+ }), window.clearTimeout(c.current), c.current = window.setTimeout(() => o.onPointerGraceIntentChange(null), 300);
844
+ } else {
845
+ if (o.onTriggerLeave(e), e.defaultPrevented) return;
846
+ o.onPointerGraceIntentChange(null);
847
+ }
848
+ })),
849
+ onKeyDown: n(e.onKeyDown, (t) => {
850
+ let n = o.searchRef.current !== "";
851
+ e.disabled || n && t.key === " " || Ve[i.dir].includes(t.key) && (r.onOpenChange(!0), r.content?.focus(), t.preventDefault());
852
+ })
853
+ })
854
+ });
855
+ });
856
+ Lt.displayName = X;
857
+ var Rt = "MenuSubContent", zt = T.forwardRef((e, r) => {
858
+ let i = et(Y, e.__scopeMenu), { forceMount: o = i.forceMount, ...s } = e, c = q(Y, e.__scopeMenu), l = J(Y, e.__scopeMenu), u = Ft(Rt, e.__scopeMenu), d = T.useRef(null), f = t(r, d);
859
+ return /* @__PURE__ */ D(W.Provider, {
860
+ scope: e.__scopeMenu,
861
+ children: /* @__PURE__ */ D(a, {
862
+ present: o || c.open,
863
+ children: /* @__PURE__ */ D(W.Slot, {
864
+ scope: e.__scopeMenu,
865
+ children: /* @__PURE__ */ D(ct, {
866
+ id: u.contentId,
867
+ "aria-labelledby": u.triggerId,
868
+ ...s,
869
+ ref: f,
870
+ align: "start",
871
+ side: l.dir === "rtl" ? "left" : "right",
872
+ disableOutsidePointerEvents: !1,
873
+ disableOutsideScroll: !1,
874
+ trapFocus: !1,
875
+ onOpenAutoFocus: (e) => {
876
+ l.isUsingKeyboardRef.current && d.current?.focus(), e.preventDefault();
877
+ },
878
+ onCloseAutoFocus: (e) => e.preventDefault(),
879
+ onFocusOutside: n(e.onFocusOutside, (e) => {
880
+ e.target !== u.trigger && c.onOpenChange(!1);
881
+ }),
882
+ onEscapeKeyDown: n(e.onEscapeKeyDown, (e) => {
883
+ l.onClose(), e.preventDefault();
884
+ }),
885
+ onKeyDown: n(e.onKeyDown, (e) => {
886
+ let t = e.currentTarget.contains(e.target), n = He[l.dir].includes(e.key);
887
+ t && n && (c.onOpenChange(!1), u.trigger?.focus(), e.preventDefault());
888
+ })
889
+ })
890
+ })
891
+ })
892
+ });
893
+ });
894
+ zt.displayName = Rt;
895
+ function Bt(e) {
896
+ return e ? "open" : "closed";
897
+ }
898
+ function Z(e) {
899
+ return e === "indeterminate";
900
+ }
901
+ function Vt(e) {
902
+ return Z(e) ? "indeterminate" : e ? "checked" : "unchecked";
903
+ }
904
+ function Ht(e) {
905
+ let t = document.activeElement;
906
+ for (let n of e) if (n === t || (n.focus(), document.activeElement !== t)) return;
907
+ }
908
+ function Ut(e, t) {
909
+ return e.map((n, r) => e[(t + r) % e.length]);
910
+ }
911
+ function Wt(e, t, n) {
912
+ let r = t.length > 1 && Array.from(t).every((e) => e === t[0]) ? t[0] : t, i = n ? e.indexOf(n) : -1, a = Ut(e, Math.max(i, 0));
913
+ r.length === 1 && (a = a.filter((e) => e !== n));
914
+ let o = a.find((e) => e.toLowerCase().startsWith(r.toLowerCase()));
915
+ return o === n ? void 0 : o;
916
+ }
917
+ function Gt(e, t) {
918
+ let { x: n, y: r } = e, i = !1;
919
+ for (let e = 0, a = t.length - 1; e < t.length; a = e++) {
920
+ let o = t[e], s = t[a], c = o.x, l = o.y, u = s.x, d = s.y;
921
+ l > r != d > r && n < (u - c) * (r - l) / (d - l) + c && (i = !i);
922
+ }
923
+ return i;
924
+ }
925
+ function Kt(e, t) {
926
+ return t ? Gt({
927
+ x: e.clientX,
928
+ y: e.clientY
929
+ }, t) : !1;
930
+ }
931
+ function Q(e) {
932
+ return (t) => t.pointerType === "mouse" ? e(t) : void 0;
933
+ }
934
+ var qt = Ye, Jt = Ze, Yt = tt, Xt = it, Zt = ut, Qt = ft, $t = ht, en = vt, tn = St, nn = wt, rn = Ot, an = At, on = Mt, sn = Lt, cn = zt, ln = "DropdownMenu", [un, dn] = i(ln, [Ge]), $ = Ge(), [fn, pn] = un(ln), mn = (e) => {
935
+ let { __scopeDropdownMenu: t, children: n, dir: r, open: i, defaultOpen: a, onOpenChange: o, modal: s = !0 } = e, l = $(t), u = T.useRef(null), [f, p] = c({
936
+ prop: i,
937
+ defaultProp: a ?? !1,
938
+ onChange: o,
939
+ caller: ln
940
+ });
941
+ return /* @__PURE__ */ D(fn, {
942
+ scope: t,
943
+ triggerId: d(),
944
+ triggerRef: u,
945
+ contentId: d(),
946
+ open: f,
947
+ onOpenChange: p,
948
+ onOpenToggle: T.useCallback(() => p((e) => !e), [p]),
949
+ modal: s,
950
+ children: /* @__PURE__ */ D(qt, {
951
+ ...l,
952
+ open: f,
953
+ onOpenChange: p,
954
+ dir: r,
955
+ modal: s,
956
+ children: n
957
+ })
958
+ });
959
+ };
960
+ mn.displayName = ln;
961
+ var hn = "DropdownMenuTrigger", gn = T.forwardRef((e, t) => {
962
+ let { __scopeDropdownMenu: i, disabled: a = !1, ...o } = e, s = pn(hn, i);
963
+ return /* @__PURE__ */ D(Jt, {
964
+ asChild: !0,
965
+ ...$(i),
966
+ children: /* @__PURE__ */ D(r.button, {
967
+ type: "button",
968
+ id: s.triggerId,
969
+ "aria-haspopup": "menu",
970
+ "aria-expanded": s.open,
971
+ "aria-controls": s.open ? s.contentId : void 0,
972
+ "data-state": s.open ? "open" : "closed",
973
+ "data-disabled": a ? "" : void 0,
974
+ disabled: a,
975
+ ...o,
976
+ ref: l(t, s.triggerRef),
977
+ onPointerDown: n(e.onPointerDown, (e) => {
978
+ !a && e.button === 0 && e.ctrlKey === !1 && (s.onOpenToggle(), s.open || e.preventDefault());
979
+ }),
980
+ onKeyDown: n(e.onKeyDown, (e) => {
981
+ a || (["Enter", " "].includes(e.key) && s.onOpenToggle(), e.key === "ArrowDown" && s.onOpenChange(!0), [
982
+ "Enter",
983
+ " ",
984
+ "ArrowDown"
985
+ ].includes(e.key) && e.preventDefault());
986
+ })
987
+ })
988
+ });
989
+ });
990
+ gn.displayName = hn;
991
+ var _n = "DropdownMenuPortal", vn = (e) => {
992
+ let { __scopeDropdownMenu: t, ...n } = e;
993
+ return /* @__PURE__ */ D(Yt, {
994
+ ...$(t),
995
+ ...n
996
+ });
997
+ };
998
+ vn.displayName = _n;
999
+ var yn = "DropdownMenuContent", bn = T.forwardRef((e, t) => {
1000
+ let { __scopeDropdownMenu: r, ...i } = e, a = pn(yn, r), o = $(r), s = T.useRef(!1);
1001
+ return /* @__PURE__ */ D(Xt, {
1002
+ id: a.contentId,
1003
+ "aria-labelledby": a.triggerId,
1004
+ ...o,
1005
+ ...i,
1006
+ ref: t,
1007
+ onCloseAutoFocus: n(e.onCloseAutoFocus, (e) => {
1008
+ s.current || a.triggerRef.current?.focus(), s.current = !1, e.preventDefault();
1009
+ }),
1010
+ onInteractOutside: n(e.onInteractOutside, (e) => {
1011
+ let t = e.detail.originalEvent, n = t.button === 0 && t.ctrlKey === !0, r = t.button === 2 || n;
1012
+ (!a.modal || r) && (s.current = !0);
1013
+ }),
1014
+ style: {
1015
+ ...e.style,
1016
+ "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
1017
+ "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
1018
+ "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
1019
+ "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
1020
+ "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
1021
+ }
1022
+ });
1023
+ });
1024
+ bn.displayName = yn;
1025
+ var xn = "DropdownMenuGroup", Sn = T.forwardRef((e, t) => {
1026
+ let { __scopeDropdownMenu: n, ...r } = e;
1027
+ return /* @__PURE__ */ D(Zt, {
1028
+ ...$(n),
1029
+ ...r,
1030
+ ref: t
1031
+ });
1032
+ });
1033
+ Sn.displayName = xn;
1034
+ var Cn = "DropdownMenuLabel", wn = T.forwardRef((e, t) => {
1035
+ let { __scopeDropdownMenu: n, ...r } = e;
1036
+ return /* @__PURE__ */ D(Qt, {
1037
+ ...$(n),
1038
+ ...r,
1039
+ ref: t
1040
+ });
1041
+ });
1042
+ wn.displayName = Cn;
1043
+ var Tn = "DropdownMenuItem", En = T.forwardRef((e, t) => {
1044
+ let { __scopeDropdownMenu: n, ...r } = e;
1045
+ return /* @__PURE__ */ D($t, {
1046
+ ...$(n),
1047
+ ...r,
1048
+ ref: t
1049
+ });
1050
+ });
1051
+ En.displayName = Tn;
1052
+ var Dn = "DropdownMenuCheckboxItem", On = T.forwardRef((e, t) => {
1053
+ let { __scopeDropdownMenu: n, ...r } = e;
1054
+ return /* @__PURE__ */ D(en, {
1055
+ ...$(n),
1056
+ ...r,
1057
+ ref: t
1058
+ });
1059
+ });
1060
+ On.displayName = Dn;
1061
+ var kn = "DropdownMenuRadioGroup", An = T.forwardRef((e, t) => {
1062
+ let { __scopeDropdownMenu: n, ...r } = e;
1063
+ return /* @__PURE__ */ D(tn, {
1064
+ ...$(n),
1065
+ ...r,
1066
+ ref: t
1067
+ });
1068
+ });
1069
+ An.displayName = kn;
1070
+ var jn = "DropdownMenuRadioItem", Mn = T.forwardRef((e, t) => {
1071
+ let { __scopeDropdownMenu: n, ...r } = e;
1072
+ return /* @__PURE__ */ D(nn, {
1073
+ ...$(n),
1074
+ ...r,
1075
+ ref: t
1076
+ });
1077
+ });
1078
+ Mn.displayName = jn;
1079
+ var Nn = "DropdownMenuItemIndicator", Pn = T.forwardRef((e, t) => {
1080
+ let { __scopeDropdownMenu: n, ...r } = e;
1081
+ return /* @__PURE__ */ D(rn, {
1082
+ ...$(n),
1083
+ ...r,
1084
+ ref: t
1085
+ });
1086
+ });
1087
+ Pn.displayName = Nn;
1088
+ var Fn = "DropdownMenuSeparator", In = T.forwardRef((e, t) => {
1089
+ let { __scopeDropdownMenu: n, ...r } = e;
1090
+ return /* @__PURE__ */ D(an, {
1091
+ ...$(n),
1092
+ ...r,
1093
+ ref: t
1094
+ });
1095
+ });
1096
+ In.displayName = Fn;
1097
+ var Ln = "DropdownMenuArrow", Rn = T.forwardRef((e, t) => {
1098
+ let { __scopeDropdownMenu: n, ...r } = e;
1099
+ return /* @__PURE__ */ D(on, {
1100
+ ...$(n),
1101
+ ...r,
1102
+ ref: t
1103
+ });
1104
+ });
1105
+ Rn.displayName = Ln;
1106
+ var zn = "DropdownMenuSubTrigger", Bn = T.forwardRef((e, t) => {
1107
+ let { __scopeDropdownMenu: n, ...r } = e;
1108
+ return /* @__PURE__ */ D(sn, {
1109
+ ...$(n),
1110
+ ...r,
1111
+ ref: t
1112
+ });
1113
+ });
1114
+ Bn.displayName = zn;
1115
+ var Vn = "DropdownMenuSubContent", Hn = T.forwardRef((e, t) => {
1116
+ let { __scopeDropdownMenu: n, ...r } = e;
1117
+ return /* @__PURE__ */ D(cn, {
1118
+ ...$(n),
1119
+ ...r,
1120
+ ref: t,
1121
+ style: {
1122
+ ...e.style,
1123
+ "--radix-dropdown-menu-content-transform-origin": "var(--radix-popper-transform-origin)",
1124
+ "--radix-dropdown-menu-content-available-width": "var(--radix-popper-available-width)",
1125
+ "--radix-dropdown-menu-content-available-height": "var(--radix-popper-available-height)",
1126
+ "--radix-dropdown-menu-trigger-width": "var(--radix-popper-anchor-width)",
1127
+ "--radix-dropdown-menu-trigger-height": "var(--radix-popper-anchor-height)"
1128
+ }
1129
+ });
1130
+ });
1131
+ Hn.displayName = Vn;
1132
+ var Un = mn, Wn = gn, Gn = vn, Kn = bn, qn = Sn, Jn = En, Yn = In;
1133
+ //#endregion
1134
+ export { Un as a, Gn as i, qn as n, Yn as o, Jn as r, Wn as s, Kn as t };