@satoshibits/react-json-schema-builder 1.1.4 → 1.1.5

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 (234) hide show
  1. package/dist/index.cjs.js +1 -1
  2. package/dist/index.cjs10.js +1 -1
  3. package/dist/index.cjs10.js.map +1 -1
  4. package/dist/index.cjs11.js +1 -1
  5. package/dist/index.cjs11.js.map +1 -1
  6. package/dist/index.cjs12.js +1 -1
  7. package/dist/index.cjs12.js.map +1 -1
  8. package/dist/index.cjs13.js +1 -1
  9. package/dist/index.cjs13.js.map +1 -1
  10. package/dist/index.cjs14.js +1 -1
  11. package/dist/index.cjs14.js.map +1 -1
  12. package/dist/index.cjs15.js +6 -1
  13. package/dist/index.cjs15.js.map +1 -1
  14. package/dist/index.cjs16.js +1 -1
  15. package/dist/index.cjs16.js.map +1 -1
  16. package/dist/index.cjs17.js +1 -1
  17. package/dist/index.cjs17.js.map +1 -1
  18. package/dist/index.cjs18.js +1 -1
  19. package/dist/index.cjs18.js.map +1 -1
  20. package/dist/index.cjs19.js +1 -1
  21. package/dist/index.cjs19.js.map +1 -1
  22. package/dist/index.cjs2.js +1 -1
  23. package/dist/index.cjs2.js.map +1 -1
  24. package/dist/index.cjs20.js +1 -1
  25. package/dist/index.cjs20.js.map +1 -1
  26. package/dist/index.cjs21.js +1 -1
  27. package/dist/index.cjs21.js.map +1 -1
  28. package/dist/index.cjs22.js +1 -1
  29. package/dist/index.cjs22.js.map +1 -1
  30. package/dist/index.cjs23.js +1 -6
  31. package/dist/index.cjs23.js.map +1 -1
  32. package/dist/index.cjs24.js +1 -6
  33. package/dist/index.cjs24.js.map +1 -1
  34. package/dist/index.cjs25.js +1 -6
  35. package/dist/index.cjs25.js.map +1 -1
  36. package/dist/index.cjs26.js +1 -1
  37. package/dist/index.cjs26.js.map +1 -1
  38. package/dist/index.cjs27.js +1 -1
  39. package/dist/index.cjs27.js.map +1 -1
  40. package/dist/index.cjs28.js +6 -1
  41. package/dist/index.cjs28.js.map +1 -1
  42. package/dist/index.cjs29.js +6 -1
  43. package/dist/index.cjs29.js.map +1 -1
  44. package/dist/index.cjs3.js +1 -1
  45. package/dist/index.cjs3.js.map +1 -1
  46. package/dist/index.cjs30.js +1 -1
  47. package/dist/index.cjs30.js.map +1 -1
  48. package/dist/index.cjs31.js +1 -1
  49. package/dist/index.cjs34.js +1 -1
  50. package/dist/index.cjs36.js +1 -1
  51. package/dist/index.cjs37.js +1 -1
  52. package/dist/index.cjs37.js.map +1 -1
  53. package/dist/index.cjs38.js +1 -6
  54. package/dist/index.cjs38.js.map +1 -1
  55. package/dist/index.cjs39.js +1 -6
  56. package/dist/index.cjs39.js.map +1 -1
  57. package/dist/index.cjs4.js +1 -1
  58. package/dist/index.cjs4.js.map +1 -1
  59. package/dist/index.cjs40.js +1 -6
  60. package/dist/index.cjs40.js.map +1 -1
  61. package/dist/index.cjs41.js +1 -1
  62. package/dist/index.cjs41.js.map +1 -1
  63. package/dist/index.cjs42.js +1 -1
  64. package/dist/index.cjs42.js.map +1 -1
  65. package/dist/index.cjs43.js +1 -1
  66. package/dist/index.cjs43.js.map +1 -1
  67. package/dist/index.cjs44.js +6 -1
  68. package/dist/index.cjs44.js.map +1 -1
  69. package/dist/index.cjs45.js +6 -1
  70. package/dist/index.cjs45.js.map +1 -1
  71. package/dist/index.cjs46.js +6 -1
  72. package/dist/index.cjs46.js.map +1 -1
  73. package/dist/index.cjs47.js +1 -1
  74. package/dist/index.cjs5.js +1 -1
  75. package/dist/index.cjs5.js.map +1 -1
  76. package/dist/index.cjs55.js +1 -5
  77. package/dist/index.cjs55.js.map +1 -1
  78. package/dist/index.cjs56.js +1 -1
  79. package/dist/index.cjs56.js.map +1 -1
  80. package/dist/index.cjs58.js +1 -1
  81. package/dist/index.cjs58.js.map +1 -1
  82. package/dist/index.cjs59.js +1 -1
  83. package/dist/index.cjs59.js.map +1 -1
  84. package/dist/index.cjs6.js +1 -1
  85. package/dist/index.cjs6.js.map +1 -1
  86. package/dist/index.cjs60.js +1 -1
  87. package/dist/index.cjs60.js.map +1 -1
  88. package/dist/index.cjs61.js +1 -1
  89. package/dist/index.cjs61.js.map +1 -1
  90. package/dist/index.cjs62.js +5 -1
  91. package/dist/index.cjs62.js.map +1 -1
  92. package/dist/index.cjs63.js +1 -1
  93. package/dist/index.cjs63.js.map +1 -1
  94. package/dist/index.cjs65.js +1 -1
  95. package/dist/index.cjs67.js +1 -1
  96. package/dist/index.cjs69.js +1 -1
  97. package/dist/index.cjs7.js +1 -1
  98. package/dist/index.cjs7.js.map +1 -1
  99. package/dist/index.cjs71.js +1 -1
  100. package/dist/index.cjs72.js +1 -1
  101. package/dist/index.cjs75.js +1 -1
  102. package/dist/index.cjs78.js +1 -1
  103. package/dist/index.cjs78.js.map +1 -1
  104. package/dist/index.cjs79.js +1 -1
  105. package/dist/index.cjs79.js.map +1 -1
  106. package/dist/index.cjs8.js +1 -1
  107. package/dist/index.cjs8.js.map +1 -1
  108. package/dist/index.cjs80.js +1 -1
  109. package/dist/index.cjs80.js.map +1 -1
  110. package/dist/index.cjs81.js +1 -1
  111. package/dist/index.cjs81.js.map +1 -1
  112. package/dist/index.cjs82.js +1 -1
  113. package/dist/index.cjs82.js.map +1 -1
  114. package/dist/index.cjs9.js +1 -1
  115. package/dist/index.cjs9.js.map +1 -1
  116. package/dist/index.d.mts +5 -4
  117. package/dist/index.d.mts.map +1 -1
  118. package/dist/index.es.js +18 -28
  119. package/dist/index.es10.js +22 -22
  120. package/dist/index.es10.js.map +1 -1
  121. package/dist/index.es11.js +14 -42
  122. package/dist/index.es11.js.map +1 -1
  123. package/dist/index.es12.js +5 -65
  124. package/dist/index.es12.js.map +1 -1
  125. package/dist/index.es13.js +43 -24
  126. package/dist/index.es13.js.map +1 -1
  127. package/dist/index.es14.js +21 -126
  128. package/dist/index.es14.js.map +1 -1
  129. package/dist/index.es15.js +13 -20
  130. package/dist/index.es15.js.map +1 -1
  131. package/dist/index.es16.js +129 -130
  132. package/dist/index.es16.js.map +1 -1
  133. package/dist/index.es17.js +3 -137
  134. package/dist/index.es17.js.map +1 -1
  135. package/dist/index.es18.js +20 -61
  136. package/dist/index.es18.js.map +1 -1
  137. package/dist/index.es19.js +65 -10
  138. package/dist/index.es19.js.map +1 -1
  139. package/dist/index.es2.js +156 -115
  140. package/dist/index.es2.js.map +1 -1
  141. package/dist/index.es20.js +134 -22
  142. package/dist/index.es20.js.map +1 -1
  143. package/dist/index.es21.js +131 -421
  144. package/dist/index.es21.js.map +1 -1
  145. package/dist/index.es22.js +63 -5
  146. package/dist/index.es22.js.map +1 -1
  147. package/dist/index.es23.js +11 -13
  148. package/dist/index.es23.js.map +1 -1
  149. package/dist/index.es24.js +23 -16
  150. package/dist/index.es24.js.map +1 -1
  151. package/dist/index.es25.js +428 -13
  152. package/dist/index.es25.js.map +1 -1
  153. package/dist/index.es26.js +7 -13
  154. package/dist/index.es26.js.map +1 -1
  155. package/dist/index.es27.js +9 -3
  156. package/dist/index.es27.js.map +1 -1
  157. package/dist/index.es28.js +13 -19
  158. package/dist/index.es28.js.map +1 -1
  159. package/dist/index.es29.js +19 -23
  160. package/dist/index.es29.js.map +1 -1
  161. package/dist/index.es3.js +129 -340
  162. package/dist/index.es3.js.map +1 -1
  163. package/dist/index.es30.js +4 -7
  164. package/dist/index.es30.js.map +1 -1
  165. package/dist/index.es31.js +1 -1
  166. package/dist/index.es34.js +1 -1
  167. package/dist/index.es36.js +6 -6
  168. package/dist/index.es37.js +97 -815
  169. package/dist/index.es37.js.map +1 -1
  170. package/dist/index.es38.js +56 -10
  171. package/dist/index.es38.js.map +1 -1
  172. package/dist/index.es39.js +24 -10
  173. package/dist/index.es39.js.map +1 -1
  174. package/dist/index.es4.js +92 -70
  175. package/dist/index.es4.js.map +1 -1
  176. package/dist/index.es40.js +45 -10
  177. package/dist/index.es40.js.map +1 -1
  178. package/dist/index.es41.js +71 -99
  179. package/dist/index.es41.js.map +1 -1
  180. package/dist/index.es42.js +56 -52
  181. package/dist/index.es42.js.map +1 -1
  182. package/dist/index.es43.js +827 -19
  183. package/dist/index.es43.js.map +1 -1
  184. package/dist/index.es44.js +10 -45
  185. package/dist/index.es44.js.map +1 -1
  186. package/dist/index.es45.js +10 -86
  187. package/dist/index.es45.js.map +1 -1
  188. package/dist/index.es46.js +10 -60
  189. package/dist/index.es46.js.map +1 -1
  190. package/dist/index.es47.js +3 -3
  191. package/dist/index.es5.js +225 -79
  192. package/dist/index.es5.js.map +1 -1
  193. package/dist/index.es55.js +30 -252
  194. package/dist/index.es55.js.map +1 -1
  195. package/dist/index.es56.js +26 -21
  196. package/dist/index.es56.js.map +1 -1
  197. package/dist/index.es58.js +62 -23
  198. package/dist/index.es58.js.map +1 -1
  199. package/dist/index.es59.js +27 -63
  200. package/dist/index.es59.js.map +1 -1
  201. package/dist/index.es6.js +117 -57
  202. package/dist/index.es6.js.map +1 -1
  203. package/dist/index.es60.js +5 -29
  204. package/dist/index.es60.js.map +1 -1
  205. package/dist/index.es61.js +24 -5
  206. package/dist/index.es61.js.map +1 -1
  207. package/dist/index.es62.js +254 -24
  208. package/dist/index.es62.js.map +1 -1
  209. package/dist/index.es63.js +21 -32
  210. package/dist/index.es63.js.map +1 -1
  211. package/dist/index.es65.js +2 -2
  212. package/dist/index.es67.js +3 -3
  213. package/dist/index.es69.js +2 -2
  214. package/dist/index.es7.js +345 -48
  215. package/dist/index.es7.js.map +1 -1
  216. package/dist/index.es71.js +7 -7
  217. package/dist/index.es72.js +1 -1
  218. package/dist/index.es75.js +1 -1
  219. package/dist/index.es78.js +67 -11
  220. package/dist/index.es78.js.map +1 -1
  221. package/dist/index.es79.js +10 -203
  222. package/dist/index.es79.js.map +1 -1
  223. package/dist/index.es8.js +73 -163
  224. package/dist/index.es8.js.map +1 -1
  225. package/dist/index.es80.js +203 -20
  226. package/dist/index.es80.js.map +1 -1
  227. package/dist/index.es81.js +21 -392
  228. package/dist/index.es81.js.map +1 -1
  229. package/dist/index.es82.js +386 -61
  230. package/dist/index.es82.js.map +1 -1
  231. package/dist/index.es9.js +18 -3
  232. package/dist/index.es9.js.map +1 -1
  233. package/dist/packages/builder/add-dialog.d.ts +5 -5
  234. package/package.json +1 -1
@@ -1,835 +1,117 @@
1
- import * as t from "react";
2
- import * as be from "react-dom";
3
- import { clamp as Re } from "./index.es64.js";
4
- import { composeEventHandlers as R } from "./index.es57.js";
5
- import { createCollection as ot } from "./index.es65.js";
6
- import { useComposedRefs as k } from "./index.es58.js";
7
- import { createContextScope as nt } from "./index.es59.js";
8
- import { useDirection as rt } from "./index.es66.js";
9
- import { DismissableLayer as lt } from "./index.es67.js";
10
- import { useFocusGuards as st } from "./index.es68.js";
11
- import { FocusScope as ct } from "./index.es69.js";
12
- import { useId as Ie } from "./index.es70.js";
13
- import { createPopperScope as Ne, Root as it, Anchor as at, Content as dt, Arrow as ut } from "./index.es71.js";
14
- import { Portal as pt } from "./index.es72.js";
15
- import { Primitive as M } from "./index.es63.js";
16
- import { Slot as ft } from "./index.es34.js";
17
- import { useCallbackRef as mt } from "./index.es73.js";
18
- import { useControllableState as Ee } from "./index.es60.js";
19
- import { useLayoutEffect as j } from "./index.es74.js";
20
- import { usePrevious as ht } from "./index.es61.js";
21
- import { VisuallyHidden as vt } from "./index.es75.js";
22
- import { hideOthers as gt } from "./index.es76.js";
23
- import St from "./index.es77.js";
24
- import { jsx as u, jsxs as ce, Fragment as Te } from "react/jsx-runtime";
25
- var wt = [" ", "Enter", "ArrowUp", "ArrowDown"], Ct = [" ", "Enter"], re = "Select", [ae, de, xt] = ot(re), [ee, io] = nt(re, [
26
- xt,
27
- Ne
28
- ]), ue = Ne(), [yt, Y] = ee(re), [It, Tt] = ee(re), _e = (o) => {
29
- const {
30
- __scopeSelect: i,
31
- children: e,
32
- open: c,
33
- defaultOpen: r,
34
- onOpenChange: d,
35
- value: n,
36
- defaultValue: l,
37
- onValueChange: s,
38
- dir: f,
39
- name: g,
40
- autoComplete: C,
41
- disabled: E,
42
- required: T,
43
- form: y
44
- } = o, a = ue(i), [h, S] = t.useState(null), [m, v] = t.useState(null), [U, O] = t.useState(!1), te = rt(f), [b = !1, D] = Ee({
45
- prop: c,
46
- defaultProp: r,
47
- onChange: d
48
- }), [K, X] = Ee({
49
- prop: n,
50
- defaultProp: l,
51
- onChange: s
52
- }), V = t.useRef(null), B = h ? y || !!h.closest("form") : !0, [G, H] = t.useState(/* @__PURE__ */ new Set()), W = Array.from(G).map((N) => N.props.value).join(";");
53
- return /* @__PURE__ */ u(it, { ...a, children: /* @__PURE__ */ ce(
54
- yt,
55
- {
56
- required: T,
57
- scope: i,
58
- trigger: h,
59
- onTriggerChange: S,
60
- valueNode: m,
61
- onValueNodeChange: v,
62
- valueNodeHasChildren: U,
63
- onValueNodeHasChildrenChange: O,
64
- contentId: Ie(),
65
- value: K,
66
- onValueChange: X,
67
- open: b,
68
- onOpenChange: D,
69
- dir: te,
70
- triggerPointerDownPosRef: V,
71
- disabled: E,
72
- children: [
73
- /* @__PURE__ */ u(ae.Provider, { scope: i, children: /* @__PURE__ */ u(
74
- It,
75
- {
76
- scope: o.__scopeSelect,
77
- onNativeOptionAdd: t.useCallback((N) => {
78
- H((L) => new Set(L).add(N));
79
- }, []),
80
- onNativeOptionRemove: t.useCallback((N) => {
81
- H((L) => {
82
- const F = new Set(L);
83
- return F.delete(N), F;
84
- });
85
- }, []),
86
- children: e
87
- }
88
- ) }),
89
- B ? /* @__PURE__ */ ce(
90
- Qe,
91
- {
92
- "aria-hidden": !0,
93
- required: T,
94
- tabIndex: -1,
95
- name: g,
96
- autoComplete: C,
97
- value: K,
98
- onChange: (N) => X(N.target.value),
99
- disabled: E,
100
- form: y,
101
- children: [
102
- K === void 0 ? /* @__PURE__ */ u("option", { value: "" }) : null,
103
- Array.from(G)
104
- ]
105
- },
106
- W
107
- ) : null
108
- ]
109
- }
110
- ) });
111
- };
112
- _e.displayName = re;
113
- var Me = "SelectTrigger", Oe = t.forwardRef(
114
- (o, i) => {
115
- const { __scopeSelect: e, disabled: c = !1, ...r } = o, d = ue(e), n = Y(Me, e), l = n.disabled || c, s = k(i, n.onTriggerChange), f = de(e), g = t.useRef("touch"), [C, E, T] = et((a) => {
116
- const h = f().filter((v) => !v.disabled), S = h.find((v) => v.value === n.value), m = tt(h, a, S);
117
- m !== void 0 && n.onValueChange(m.value);
118
- }), y = (a) => {
119
- l || (n.onOpenChange(!0), T()), a && (n.triggerPointerDownPosRef.current = {
120
- x: Math.round(a.pageX),
121
- y: Math.round(a.pageY)
122
- });
123
- };
124
- return /* @__PURE__ */ u(at, { asChild: !0, ...d, children: /* @__PURE__ */ u(
125
- M.button,
126
- {
127
- type: "button",
128
- role: "combobox",
129
- "aria-controls": n.contentId,
130
- "aria-expanded": n.open,
131
- "aria-required": n.required,
132
- "aria-autocomplete": "none",
133
- dir: n.dir,
134
- "data-state": n.open ? "open" : "closed",
135
- disabled: l,
136
- "data-disabled": l ? "" : void 0,
137
- "data-placeholder": Je(n.value) ? "" : void 0,
138
- ...r,
139
- ref: s,
140
- onClick: R(r.onClick, (a) => {
141
- a.currentTarget.focus(), g.current !== "mouse" && y(a);
142
- }),
143
- onPointerDown: R(r.onPointerDown, (a) => {
144
- g.current = a.pointerType;
145
- const h = a.target;
146
- h.hasPointerCapture(a.pointerId) && h.releasePointerCapture(a.pointerId), a.button === 0 && a.ctrlKey === !1 && a.pointerType === "mouse" && (y(a), a.preventDefault());
147
- }),
148
- onKeyDown: R(r.onKeyDown, (a) => {
149
- const h = C.current !== "";
150
- !(a.ctrlKey || a.altKey || a.metaKey) && a.key.length === 1 && E(a.key), !(h && a.key === " ") && wt.includes(a.key) && (y(), a.preventDefault());
151
- })
152
- }
153
- ) });
154
- }
155
- );
156
- Oe.displayName = Me;
157
- var Ae = "SelectValue", De = t.forwardRef(
158
- (o, i) => {
159
- const { __scopeSelect: e, className: c, style: r, children: d, placeholder: n = "", ...l } = o, s = Y(Ae, e), { onValueNodeHasChildrenChange: f } = s, g = d !== void 0, C = k(i, s.onValueNodeChange);
160
- return j(() => {
161
- f(g);
162
- }, [f, g]), /* @__PURE__ */ u(
163
- M.span,
164
- {
165
- ...l,
166
- ref: C,
167
- style: { pointerEvents: "none" },
168
- children: Je(s.value) ? /* @__PURE__ */ u(Te, { children: n }) : d
169
- }
170
- );
171
- }
172
- );
173
- De.displayName = Ae;
174
- var Pt = "SelectIcon", Le = t.forwardRef(
175
- (o, i) => {
176
- const { __scopeSelect: e, children: c, ...r } = o;
177
- return /* @__PURE__ */ u(M.span, { "aria-hidden": !0, ...r, ref: i, children: c || "▼" });
178
- }
179
- );
180
- Le.displayName = Pt;
181
- var Rt = "SelectPortal", ke = (o) => /* @__PURE__ */ u(pt, { asChild: !0, ...o });
182
- ke.displayName = Rt;
183
- var J = "SelectContent", Ve = t.forwardRef(
184
- (o, i) => {
185
- const e = Y(J, o.__scopeSelect), [c, r] = t.useState();
186
- if (j(() => {
187
- r(new DocumentFragment());
188
- }, []), !e.open) {
189
- const d = c;
190
- return d ? be.createPortal(
191
- /* @__PURE__ */ u(Be, { scope: o.__scopeSelect, children: /* @__PURE__ */ u(ae.Slot, { scope: o.__scopeSelect, children: /* @__PURE__ */ u("div", { children: o.children }) }) }),
192
- d
193
- ) : null;
194
- }
195
- return /* @__PURE__ */ u(He, { ...o, ref: i });
196
- }
197
- );
198
- Ve.displayName = J;
199
- var A = 10, [Be, q] = ee(J), Et = "SelectContentImpl", He = t.forwardRef(
200
- (o, i) => {
201
- const {
202
- __scopeSelect: e,
203
- position: c = "item-aligned",
204
- onCloseAutoFocus: r,
205
- onEscapeKeyDown: d,
206
- onPointerDownOutside: n,
207
- //
208
- // PopperContent props
209
- side: l,
210
- sideOffset: s,
211
- align: f,
212
- alignOffset: g,
213
- arrowPadding: C,
214
- collisionBoundary: E,
215
- collisionPadding: T,
216
- sticky: y,
217
- hideWhenDetached: a,
218
- avoidCollisions: h,
219
- //
220
- ...S
221
- } = o, m = Y(J, e), [v, U] = t.useState(null), [O, te] = t.useState(null), b = k(i, (p) => U(p)), [D, K] = t.useState(null), [X, V] = t.useState(
222
- null
223
- ), B = de(e), [G, H] = t.useState(!1), W = t.useRef(!1);
224
- t.useEffect(() => {
225
- if (v) return gt(v);
226
- }, [v]), st();
227
- const N = t.useCallback(
228
- (p) => {
229
- const [I, ..._] = B().map((P) => P.ref.current), [w] = _.slice(-1), x = document.activeElement;
230
- for (const P of p)
231
- if (P === x || (P?.scrollIntoView({ block: "nearest" }), P === I && O && (O.scrollTop = 0), P === w && O && (O.scrollTop = O.scrollHeight), P?.focus(), document.activeElement !== x)) return;
232
- },
233
- [B, O]
234
- ), L = t.useCallback(
235
- () => N([D, v]),
236
- [N, D, v]
237
- );
238
- t.useEffect(() => {
239
- G && L();
240
- }, [G, L]);
241
- const { onOpenChange: F, triggerPointerDownPosRef: z } = m;
242
- t.useEffect(() => {
243
- if (v) {
244
- let p = { x: 0, y: 0 };
245
- const I = (w) => {
246
- p = {
247
- x: Math.abs(Math.round(w.pageX) - (z.current?.x ?? 0)),
248
- y: Math.abs(Math.round(w.pageY) - (z.current?.y ?? 0))
249
- };
250
- }, _ = (w) => {
251
- p.x <= 10 && p.y <= 10 ? w.preventDefault() : v.contains(w.target) || F(!1), document.removeEventListener("pointermove", I), z.current = null;
252
- };
253
- return z.current !== null && (document.addEventListener("pointermove", I), document.addEventListener("pointerup", _, { capture: !0, once: !0 })), () => {
254
- document.removeEventListener("pointermove", I), document.removeEventListener("pointerup", _, { capture: !0 });
255
- };
256
- }
257
- }, [v, F, z]), t.useEffect(() => {
258
- const p = () => F(!1);
259
- return window.addEventListener("blur", p), window.addEventListener("resize", p), () => {
260
- window.removeEventListener("blur", p), window.removeEventListener("resize", p);
261
- };
262
- }, [F]);
263
- const [pe, le] = et((p) => {
264
- const I = B().filter((x) => !x.disabled), _ = I.find((x) => x.ref.current === document.activeElement), w = tt(I, p, _);
265
- w && setTimeout(() => w.ref.current.focus());
266
- }), fe = t.useCallback(
267
- (p, I, _) => {
268
- const w = !W.current && !_;
269
- (m.value !== void 0 && m.value === I || w) && (K(p), w && (W.current = !0));
270
- },
271
- [m.value]
272
- ), me = t.useCallback(() => v?.focus(), [v]), Q = t.useCallback(
273
- (p, I, _) => {
274
- const w = !W.current && !_;
275
- (m.value !== void 0 && m.value === I || w) && V(p);
276
- },
277
- [m.value]
278
- ), se = c === "popper" ? Se : We, oe = se === Se ? {
279
- side: l,
280
- sideOffset: s,
281
- align: f,
282
- alignOffset: g,
283
- arrowPadding: C,
284
- collisionBoundary: E,
285
- collisionPadding: T,
286
- sticky: y,
287
- hideWhenDetached: a,
288
- avoidCollisions: h
289
- } : {};
290
- return /* @__PURE__ */ u(
291
- Be,
292
- {
293
- scope: e,
294
- content: v,
295
- viewport: O,
296
- onViewportChange: te,
297
- itemRefCallback: fe,
298
- selectedItem: D,
299
- onItemLeave: me,
300
- itemTextRefCallback: Q,
301
- focusSelectedItem: L,
302
- selectedItemText: X,
303
- position: c,
304
- isPositioned: G,
305
- searchRef: pe,
306
- children: /* @__PURE__ */ u(St, { as: ft, allowPinchZoom: !0, children: /* @__PURE__ */ u(
307
- ct,
308
- {
309
- asChild: !0,
310
- trapped: m.open,
311
- onMountAutoFocus: (p) => {
312
- p.preventDefault();
313
- },
314
- onUnmountAutoFocus: R(r, (p) => {
315
- m.trigger?.focus({ preventScroll: !0 }), p.preventDefault();
316
- }),
317
- children: /* @__PURE__ */ u(
318
- lt,
319
- {
320
- asChild: !0,
321
- disableOutsidePointerEvents: !0,
322
- onEscapeKeyDown: d,
323
- onPointerDownOutside: n,
324
- onFocusOutside: (p) => p.preventDefault(),
325
- onDismiss: () => m.onOpenChange(!1),
326
- children: /* @__PURE__ */ u(
327
- se,
328
- {
329
- role: "listbox",
330
- id: m.contentId,
331
- "data-state": m.open ? "open" : "closed",
332
- dir: m.dir,
333
- onContextMenu: (p) => p.preventDefault(),
334
- ...S,
335
- ...oe,
336
- onPlaced: () => H(!0),
337
- ref: b,
338
- style: {
339
- // flex layout so we can place the scroll buttons properly
340
- display: "flex",
341
- flexDirection: "column",
342
- // reset the outline by default as the content MAY get focused
343
- outline: "none",
344
- ...S.style
345
- },
346
- onKeyDown: R(S.onKeyDown, (p) => {
347
- const I = p.ctrlKey || p.altKey || p.metaKey;
348
- if (p.key === "Tab" && p.preventDefault(), !I && p.key.length === 1 && le(p.key), ["ArrowUp", "ArrowDown", "Home", "End"].includes(p.key)) {
349
- let w = B().filter((x) => !x.disabled).map((x) => x.ref.current);
350
- if (["ArrowUp", "End"].includes(p.key) && (w = w.slice().reverse()), ["ArrowUp", "ArrowDown"].includes(p.key)) {
351
- const x = p.target, P = w.indexOf(x);
352
- w = w.slice(P + 1);
353
- }
354
- setTimeout(() => N(w)), p.preventDefault();
355
- }
356
- })
357
- }
358
- )
359
- }
360
- )
361
- }
362
- ) })
363
- }
364
- );
365
- }
366
- );
367
- He.displayName = Et;
368
- var bt = "SelectItemAlignedPosition", We = t.forwardRef((o, i) => {
369
- const { __scopeSelect: e, onPlaced: c, ...r } = o, d = Y(J, e), n = q(J, e), [l, s] = t.useState(null), [f, g] = t.useState(null), C = k(i, (b) => g(b)), E = de(e), T = t.useRef(!1), y = t.useRef(!0), { viewport: a, selectedItem: h, selectedItemText: S, focusSelectedItem: m } = n, v = t.useCallback(() => {
370
- if (d.trigger && d.valueNode && l && f && a && h && S) {
371
- const b = d.trigger.getBoundingClientRect(), D = f.getBoundingClientRect(), K = d.valueNode.getBoundingClientRect(), X = S.getBoundingClientRect();
372
- if (d.dir !== "rtl") {
373
- const x = X.left - D.left, P = K.left - x, Z = b.left - P, $ = b.width + Z, he = Math.max($, D.width), ve = window.innerWidth - A, ge = Re(P, [
374
- A,
375
- // Prevents the content from going off the starting edge of the
376
- // viewport. It may still go off the ending edge, but this can be
377
- // controlled by the user since they may want to manage overflow in a
378
- // specific way.
379
- // https://github.com/radix-ui/primitives/issues/2049
380
- Math.max(A, ve - he)
381
- ]);
382
- l.style.minWidth = $ + "px", l.style.left = ge + "px";
383
- } else {
384
- const x = D.right - X.right, P = window.innerWidth - K.right - x, Z = window.innerWidth - b.right - P, $ = b.width + Z, he = Math.max($, D.width), ve = window.innerWidth - A, ge = Re(P, [
385
- A,
386
- Math.max(A, ve - he)
387
- ]);
388
- l.style.minWidth = $ + "px", l.style.right = ge + "px";
389
- }
390
- const V = E(), B = window.innerHeight - A * 2, G = a.scrollHeight, H = window.getComputedStyle(f), W = parseInt(H.borderTopWidth, 10), N = parseInt(H.paddingTop, 10), L = parseInt(H.borderBottomWidth, 10), F = parseInt(H.paddingBottom, 10), z = W + N + G + F + L, pe = Math.min(h.offsetHeight * 5, z), le = window.getComputedStyle(a), fe = parseInt(le.paddingTop, 10), me = parseInt(le.paddingBottom, 10), Q = b.top + b.height / 2 - A, se = B - Q, oe = h.offsetHeight / 2, p = h.offsetTop + oe, I = W + N + p, _ = z - I;
391
- if (I <= Q) {
392
- const x = V.length > 0 && h === V[V.length - 1].ref.current;
393
- l.style.bottom = "0px";
394
- const P = f.clientHeight - a.offsetTop - a.offsetHeight, Z = Math.max(
395
- se,
396
- oe + // viewport might have padding bottom, include it to avoid a scrollable viewport
397
- (x ? me : 0) + P + L
398
- ), $ = I + Z;
399
- l.style.height = $ + "px";
400
- } else {
401
- const x = V.length > 0 && h === V[0].ref.current;
402
- l.style.top = "0px";
403
- const Z = Math.max(
404
- Q,
405
- W + a.offsetTop + // viewport might have padding top, include it to avoid a scrollable viewport
406
- (x ? fe : 0) + oe
407
- ) + _;
408
- l.style.height = Z + "px", a.scrollTop = I - Q + a.offsetTop;
409
- }
410
- l.style.margin = `${A}px 0`, l.style.minHeight = pe + "px", l.style.maxHeight = B + "px", c?.(), requestAnimationFrame(() => T.current = !0);
411
- }
412
- }, [
413
- E,
414
- d.trigger,
415
- d.valueNode,
416
- l,
1
+ import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
+ import { Root as l, Content as i, Close as r, Title as d, Description as c, Portal as g, Overlay as f } from "./index.es62.js";
3
+ import { cn as o } from "./index.es12.js";
4
+ import u from "./index.es15.js";
5
+ function D({
6
+ ...t
7
+ }) {
8
+ return /* @__PURE__ */ e(l, { "data-slot": "dialog", ...t });
9
+ }
10
+ function m({
11
+ ...t
12
+ }) {
13
+ return /* @__PURE__ */ e(g, { "data-slot": "dialog-portal", ...t });
14
+ }
15
+ function p({
16
+ className: t,
17
+ ...a
18
+ }) {
19
+ return /* @__PURE__ */ e(
417
20
  f,
418
- a,
419
- h,
420
- S,
421
- d.dir,
422
- c
423
- ]);
424
- j(() => v(), [v]);
425
- const [U, O] = t.useState();
426
- j(() => {
427
- f && O(window.getComputedStyle(f).zIndex);
428
- }, [f]);
429
- const te = t.useCallback(
430
- (b) => {
431
- b && y.current === !0 && (v(), m?.(), y.current = !1);
432
- },
433
- [v, m]
434
- );
435
- return /* @__PURE__ */ u(
436
- _t,
437
- {
438
- scope: e,
439
- contentWrapper: l,
440
- shouldExpandOnScrollRef: T,
441
- onScrollButtonChange: te,
442
- children: /* @__PURE__ */ u(
443
- "div",
444
- {
445
- ref: s,
446
- style: {
447
- display: "flex",
448
- flexDirection: "column",
449
- position: "fixed",
450
- zIndex: U
451
- },
452
- children: /* @__PURE__ */ u(
453
- M.div,
454
- {
455
- ...r,
456
- ref: C,
457
- style: {
458
- // When we get the height of the content, it includes borders. If we were to set
459
- // the height without having `boxSizing: 'border-box'` it would be too big.
460
- boxSizing: "border-box",
461
- // We need to ensure the content doesn't get taller than the wrapper
462
- maxHeight: "100%",
463
- ...r.style
464
- }
465
- }
466
- )
467
- }
468
- )
469
- }
470
- );
471
- });
472
- We.displayName = bt;
473
- var Nt = "SelectPopperPosition", Se = t.forwardRef((o, i) => {
474
- const {
475
- __scopeSelect: e,
476
- align: c = "start",
477
- collisionPadding: r = A,
478
- ...d
479
- } = o, n = ue(e);
480
- return /* @__PURE__ */ u(
481
- dt,
482
21
  {
483
- ...n,
484
- ...d,
485
- ref: i,
486
- align: c,
487
- collisionPadding: r,
488
- style: {
489
- // Ensure border-box for floating-ui calculations
490
- boxSizing: "border-box",
491
- ...d.style,
492
- "--radix-select-content-transform-origin": "var(--radix-popper-transform-origin)",
493
- "--radix-select-content-available-width": "var(--radix-popper-available-width)",
494
- "--radix-select-content-available-height": "var(--radix-popper-available-height)",
495
- "--radix-select-trigger-width": "var(--radix-popper-anchor-width)",
496
- "--radix-select-trigger-height": "var(--radix-popper-anchor-height)"
497
- }
22
+ "data-slot": "dialog-overlay",
23
+ className: o(
24
+ "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",
25
+ t
26
+ ),
27
+ ...a
498
28
  }
499
29
  );
500
- });
501
- Se.displayName = Nt;
502
- var [_t, Pe] = ee(J, {}), we = "SelectViewport", Fe = t.forwardRef(
503
- (o, i) => {
504
- const { __scopeSelect: e, nonce: c, ...r } = o, d = q(we, e), n = Pe(we, e), l = k(i, d.onViewportChange), s = t.useRef(0);
505
- return /* @__PURE__ */ ce(Te, { children: [
506
- /* @__PURE__ */ u(
507
- "style",
508
- {
509
- dangerouslySetInnerHTML: {
510
- __html: "[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"
511
- },
512
- nonce: c
513
- }
514
- ),
515
- /* @__PURE__ */ u(ae.Slot, { scope: e, children: /* @__PURE__ */ u(
516
- M.div,
517
- {
518
- "data-radix-select-viewport": "",
519
- role: "presentation",
520
- ...r,
521
- ref: l,
522
- style: {
523
- // we use position: 'relative' here on the `viewport` so that when we call
524
- // `selectedItem.offsetTop` in calculations, the offset is relative to the viewport
525
- // (independent of the scrollUpButton).
526
- position: "relative",
527
- flex: 1,
528
- // Viewport should only be scrollable in the vertical direction.
529
- // This won't work in vertical writing modes, so we'll need to
530
- // revisit this if/when that is supported
531
- // https://developer.chrome.com/blog/vertical-form-controls
532
- overflow: "hidden auto",
533
- ...r.style
534
- },
535
- onScroll: R(r.onScroll, (f) => {
536
- const g = f.currentTarget, { contentWrapper: C, shouldExpandOnScrollRef: E } = n;
537
- if (E?.current && C) {
538
- const T = Math.abs(s.current - g.scrollTop);
539
- if (T > 0) {
540
- const y = window.innerHeight - A * 2, a = parseFloat(C.style.minHeight), h = parseFloat(C.style.height), S = Math.max(a, h);
541
- if (S < y) {
542
- const m = S + T, v = Math.min(y, m), U = m - v;
543
- C.style.height = v + "px", C.style.bottom === "0px" && (g.scrollTop = U > 0 ? U : 0, C.style.justifyContent = "flex-end");
544
- }
545
- }
546
- }
547
- s.current = g.scrollTop;
548
- })
549
- }
550
- ) })
551
- ] });
552
- }
553
- );
554
- Fe.displayName = we;
555
- var Ue = "SelectGroup", [Mt, Ot] = ee(Ue), At = t.forwardRef(
556
- (o, i) => {
557
- const { __scopeSelect: e, ...c } = o, r = Ie();
558
- return /* @__PURE__ */ u(Mt, { scope: e, id: r, children: /* @__PURE__ */ u(M.div, { role: "group", "aria-labelledby": r, ...c, ref: i }) });
559
- }
560
- );
561
- At.displayName = Ue;
562
- var Ke = "SelectLabel", Dt = t.forwardRef(
563
- (o, i) => {
564
- const { __scopeSelect: e, ...c } = o, r = Ot(Ke, e);
565
- return /* @__PURE__ */ u(M.div, { id: r.id, ...c, ref: i });
566
- }
567
- );
568
- Dt.displayName = Ke;
569
- var ie = "SelectItem", [Lt, Ge] = ee(ie), ze = t.forwardRef(
570
- (o, i) => {
571
- const {
572
- __scopeSelect: e,
573
- value: c,
574
- disabled: r = !1,
575
- textValue: d,
576
- ...n
577
- } = o, l = Y(ie, e), s = q(ie, e), f = l.value === c, [g, C] = t.useState(d ?? ""), [E, T] = t.useState(!1), y = k(
30
+ }
31
+ function y({
32
+ className: t,
33
+ children: a,
34
+ ...s
35
+ }) {
36
+ return /* @__PURE__ */ n(m, { "data-slot": "dialog-portal", children: [
37
+ /* @__PURE__ */ e(p, {}),
38
+ /* @__PURE__ */ n(
578
39
  i,
579
- (m) => s.itemRefCallback?.(m, c, r)
580
- ), a = Ie(), h = t.useRef("touch"), S = () => {
581
- r || (l.onValueChange(c), l.onOpenChange(!1));
582
- };
583
- if (c === "")
584
- throw new Error(
585
- "A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder."
586
- );
587
- return /* @__PURE__ */ u(
588
- Lt,
589
40
  {
590
- scope: e,
591
- value: c,
592
- disabled: r,
593
- textId: a,
594
- isSelected: f,
595
- onItemTextChange: t.useCallback((m) => {
596
- C((v) => v || (m?.textContent ?? "").trim());
597
- }, []),
598
- children: /* @__PURE__ */ u(
599
- ae.ItemSlot,
600
- {
601
- scope: e,
602
- value: c,
603
- disabled: r,
604
- textValue: g,
605
- children: /* @__PURE__ */ u(
606
- M.div,
607
- {
608
- role: "option",
609
- "aria-labelledby": a,
610
- "data-highlighted": E ? "" : void 0,
611
- "aria-selected": f && E,
612
- "data-state": f ? "checked" : "unchecked",
613
- "aria-disabled": r || void 0,
614
- "data-disabled": r ? "" : void 0,
615
- tabIndex: r ? void 0 : -1,
616
- ...n,
617
- ref: y,
618
- onFocus: R(n.onFocus, () => T(!0)),
619
- onBlur: R(n.onBlur, () => T(!1)),
620
- onClick: R(n.onClick, () => {
621
- h.current !== "mouse" && S();
622
- }),
623
- onPointerUp: R(n.onPointerUp, () => {
624
- h.current === "mouse" && S();
625
- }),
626
- onPointerDown: R(n.onPointerDown, (m) => {
627
- h.current = m.pointerType;
628
- }),
629
- onPointerMove: R(n.onPointerMove, (m) => {
630
- h.current = m.pointerType, r ? s.onItemLeave?.() : h.current === "mouse" && m.currentTarget.focus({ preventScroll: !0 });
631
- }),
632
- onPointerLeave: R(n.onPointerLeave, (m) => {
633
- m.currentTarget === document.activeElement && s.onItemLeave?.();
634
- }),
635
- onKeyDown: R(n.onKeyDown, (m) => {
636
- s.searchRef?.current !== "" && m.key === " " || (Ct.includes(m.key) && S(), m.key === " " && m.preventDefault());
637
- })
638
- }
639
- )
640
- }
641
- )
41
+ "data-slot": "dialog-content",
42
+ className: o(
43
+ "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
44
+ t
45
+ ),
46
+ ...s,
47
+ children: [
48
+ a,
49
+ /* @__PURE__ */ n(r, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [
50
+ /* @__PURE__ */ e(u, {}),
51
+ /* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
52
+ ] })
53
+ ]
642
54
  }
643
- );
644
- }
645
- );
646
- ze.displayName = ie;
647
- var ne = "SelectItemText", je = t.forwardRef(
648
- (o, i) => {
649
- const { __scopeSelect: e, className: c, style: r, ...d } = o, n = Y(ne, e), l = q(ne, e), s = Ge(ne, e), f = Tt(ne, e), [g, C] = t.useState(null), E = k(
650
- i,
651
- (S) => C(S),
652
- s.onItemTextChange,
653
- (S) => l.itemTextRefCallback?.(S, s.value, s.disabled)
654
- ), T = g?.textContent, y = t.useMemo(
655
- () => /* @__PURE__ */ u("option", { value: s.value, disabled: s.disabled, children: T }, s.value),
656
- [s.disabled, s.value, T]
657
- ), { onNativeOptionAdd: a, onNativeOptionRemove: h } = f;
658
- return j(() => (a(y), () => h(y)), [a, h, y]), /* @__PURE__ */ ce(Te, { children: [
659
- /* @__PURE__ */ u(M.span, { id: s.textId, ...d, ref: E }),
660
- s.isSelected && n.valueNode && !n.valueNodeHasChildren ? be.createPortal(d.children, n.valueNode) : null
661
- ] });
662
- }
663
- );
664
- je.displayName = ne;
665
- var Ye = "SelectItemIndicator", qe = t.forwardRef(
666
- (o, i) => {
667
- const { __scopeSelect: e, ...c } = o;
668
- return Ge(Ye, e).isSelected ? /* @__PURE__ */ u(M.span, { "aria-hidden": !0, ...c, ref: i }) : null;
669
- }
670
- );
671
- qe.displayName = Ye;
672
- var Ce = "SelectScrollUpButton", Xe = t.forwardRef((o, i) => {
673
- const e = q(Ce, o.__scopeSelect), c = Pe(Ce, o.__scopeSelect), [r, d] = t.useState(!1), n = k(i, c.onScrollButtonChange);
674
- return j(() => {
675
- if (e.viewport && e.isPositioned) {
676
- let l = function() {
677
- const f = s.scrollTop > 0;
678
- d(f);
679
- };
680
- const s = e.viewport;
681
- return l(), s.addEventListener("scroll", l), () => s.removeEventListener("scroll", l);
682
- }
683
- }, [e.viewport, e.isPositioned]), r ? /* @__PURE__ */ u(
684
- $e,
55
+ )
56
+ ] });
57
+ }
58
+ function N({ className: t, ...a }) {
59
+ return /* @__PURE__ */ e(
60
+ "div",
685
61
  {
686
- ...o,
687
- ref: n,
688
- onAutoScroll: () => {
689
- const { viewport: l, selectedItem: s } = e;
690
- l && s && (l.scrollTop = l.scrollTop - s.offsetHeight);
691
- }
62
+ "data-slot": "dialog-header",
63
+ className: o("flex flex-col gap-2 text-center sm:text-left", t),
64
+ ...a
692
65
  }
693
- ) : null;
694
- });
695
- Xe.displayName = Ce;
696
- var xe = "SelectScrollDownButton", Ze = t.forwardRef((o, i) => {
697
- const e = q(xe, o.__scopeSelect), c = Pe(xe, o.__scopeSelect), [r, d] = t.useState(!1), n = k(i, c.onScrollButtonChange);
698
- return j(() => {
699
- if (e.viewport && e.isPositioned) {
700
- let l = function() {
701
- const f = s.scrollHeight - s.clientHeight, g = Math.ceil(s.scrollTop) < f;
702
- d(g);
703
- };
704
- const s = e.viewport;
705
- return l(), s.addEventListener("scroll", l), () => s.removeEventListener("scroll", l);
706
- }
707
- }, [e.viewport, e.isPositioned]), r ? /* @__PURE__ */ u(
708
- $e,
66
+ );
67
+ }
68
+ function z({ className: t, ...a }) {
69
+ return /* @__PURE__ */ e(
70
+ "div",
709
71
  {
710
- ...o,
711
- ref: n,
712
- onAutoScroll: () => {
713
- const { viewport: l, selectedItem: s } = e;
714
- l && s && (l.scrollTop = l.scrollTop + s.offsetHeight);
715
- }
72
+ "data-slot": "dialog-footer",
73
+ className: o(
74
+ "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
75
+ t
76
+ ),
77
+ ...a
716
78
  }
717
- ) : null;
718
- });
719
- Ze.displayName = xe;
720
- var $e = t.forwardRef((o, i) => {
721
- const { __scopeSelect: e, onAutoScroll: c, ...r } = o, d = q("SelectScrollButton", e), n = t.useRef(null), l = de(e), s = t.useCallback(() => {
722
- n.current !== null && (window.clearInterval(n.current), n.current = null);
723
- }, []);
724
- return t.useEffect(() => () => s(), [s]), j(() => {
725
- l().find((g) => g.ref.current === document.activeElement)?.ref.current?.scrollIntoView({ block: "nearest" });
726
- }, [l]), /* @__PURE__ */ u(
727
- M.div,
79
+ );
80
+ }
81
+ function w({
82
+ className: t,
83
+ ...a
84
+ }) {
85
+ return /* @__PURE__ */ e(
86
+ d,
728
87
  {
729
- "aria-hidden": !0,
730
- ...r,
731
- ref: i,
732
- style: { flexShrink: 0, ...r.style },
733
- onPointerDown: R(r.onPointerDown, () => {
734
- n.current === null && (n.current = window.setInterval(c, 50));
735
- }),
736
- onPointerMove: R(r.onPointerMove, () => {
737
- d.onItemLeave?.(), n.current === null && (n.current = window.setInterval(c, 50));
738
- }),
739
- onPointerLeave: R(r.onPointerLeave, () => {
740
- s();
741
- })
88
+ "data-slot": "dialog-title",
89
+ className: o("text-lg leading-none font-semibold", t),
90
+ ...a
742
91
  }
743
92
  );
744
- }), kt = "SelectSeparator", Vt = t.forwardRef(
745
- (o, i) => {
746
- const { __scopeSelect: e, ...c } = o;
747
- return /* @__PURE__ */ u(M.div, { "aria-hidden": !0, ...c, ref: i });
748
- }
749
- );
750
- Vt.displayName = kt;
751
- var ye = "SelectArrow", Bt = t.forwardRef(
752
- (o, i) => {
753
- const { __scopeSelect: e, ...c } = o, r = ue(e), d = Y(ye, e), n = q(ye, e);
754
- return d.open && n.position === "popper" ? /* @__PURE__ */ u(ut, { ...r, ...c, ref: i }) : null;
755
- }
756
- );
757
- Bt.displayName = ye;
758
- function Je(o) {
759
- return o === "" || o === void 0;
760
93
  }
761
- var Qe = t.forwardRef(
762
- (o, i) => {
763
- const { value: e, ...c } = o, r = t.useRef(null), d = k(i, r), n = ht(e);
764
- return t.useEffect(() => {
765
- const l = r.current, s = window.HTMLSelectElement.prototype, g = Object.getOwnPropertyDescriptor(
766
- s,
767
- "value"
768
- ).set;
769
- if (n !== e && g) {
770
- const C = new Event("change", { bubbles: !0 });
771
- g.call(l, e), l.dispatchEvent(C);
772
- }
773
- }, [n, e]), /* @__PURE__ */ u(vt, { asChild: !0, children: /* @__PURE__ */ u("select", { ...c, ref: d, defaultValue: e }) });
774
- }
775
- );
776
- Qe.displayName = "BubbleSelect";
777
- function et(o) {
778
- const i = mt(o), e = t.useRef(""), c = t.useRef(0), r = t.useCallback(
779
- (n) => {
780
- const l = e.current + n;
781
- i(l), function s(f) {
782
- e.current = f, window.clearTimeout(c.current), f !== "" && (c.current = window.setTimeout(() => s(""), 1e3));
783
- }(l);
784
- },
785
- [i]
786
- ), d = t.useCallback(() => {
787
- e.current = "", window.clearTimeout(c.current);
788
- }, []);
789
- return t.useEffect(() => () => window.clearTimeout(c.current), []), [e, r, d];
790
- }
791
- function tt(o, i, e) {
792
- const r = i.length > 1 && Array.from(i).every((f) => f === i[0]) ? i[0] : i, d = e ? o.indexOf(e) : -1;
793
- let n = Ht(o, Math.max(d, 0));
794
- r.length === 1 && (n = n.filter((f) => f !== e));
795
- const s = n.find(
796
- (f) => f.textValue.toLowerCase().startsWith(r.toLowerCase())
94
+ function k({
95
+ className: t,
96
+ ...a
97
+ }) {
98
+ return /* @__PURE__ */ e(
99
+ c,
100
+ {
101
+ "data-slot": "dialog-description",
102
+ className: o("text-muted-foreground text-sm", t),
103
+ ...a
104
+ }
797
105
  );
798
- return s !== e ? s : void 0;
799
- }
800
- function Ht(o, i) {
801
- return o.map((e, c) => o[(i + c) % o.length]);
802
106
  }
803
- var ao = _e, uo = Oe, po = De, fo = Le, mo = ke, ho = Ve, vo = Fe, go = ze, So = je, wo = qe, Co = Xe, xo = Ze;
804
107
  export {
805
- ho as Content,
806
- fo as Icon,
807
- go as Item,
808
- wo as ItemIndicator,
809
- So as ItemText,
810
- mo as Portal,
811
- ao as Root,
812
- xo as ScrollDownButton,
813
- Co as ScrollUpButton,
814
- _e as Select,
815
- Bt as SelectArrow,
816
- Ve as SelectContent,
817
- At as SelectGroup,
818
- Le as SelectIcon,
819
- ze as SelectItem,
820
- qe as SelectItemIndicator,
821
- je as SelectItemText,
822
- Dt as SelectLabel,
823
- ke as SelectPortal,
824
- Ze as SelectScrollDownButton,
825
- Xe as SelectScrollUpButton,
826
- Vt as SelectSeparator,
827
- Oe as SelectTrigger,
828
- De as SelectValue,
829
- Fe as SelectViewport,
830
- uo as Trigger,
831
- po as Value,
832
- vo as Viewport,
833
- io as createSelectScope
108
+ D as Dialog,
109
+ y as DialogContent,
110
+ k as DialogDescription,
111
+ z as DialogFooter,
112
+ N as DialogHeader,
113
+ p as DialogOverlay,
114
+ m as DialogPortal,
115
+ w as DialogTitle
834
116
  };
835
117
  //# sourceMappingURL=index.es37.js.map