@satoshibits/react-json-schema-builder 1.0.2 → 1.0.3

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 (219) hide show
  1. package/dist/index.cjs100.js +1 -1
  2. package/dist/index.cjs100.js.map +1 -1
  3. package/dist/index.cjs101.js +1 -1
  4. package/dist/index.cjs101.js.map +1 -1
  5. package/dist/index.cjs102.js +1 -1
  6. package/dist/index.cjs102.js.map +1 -1
  7. package/dist/index.cjs103.js +1 -1
  8. package/dist/index.cjs103.js.map +1 -1
  9. package/dist/index.cjs12.js +1 -1
  10. package/dist/index.cjs13.js +1 -1
  11. package/dist/index.cjs15.js +1 -1
  12. package/dist/index.cjs2.js +1 -1
  13. package/dist/index.cjs2.js.map +1 -1
  14. package/dist/index.cjs20.js +1 -1
  15. package/dist/index.cjs22.js +1 -1
  16. package/dist/index.cjs23.js +1 -1
  17. package/dist/index.cjs24.js +1 -1
  18. package/dist/index.cjs25.js +1 -1
  19. package/dist/index.cjs26.js +1 -1
  20. package/dist/index.cjs29.js +1 -1
  21. package/dist/index.cjs3.js +1 -1
  22. package/dist/index.cjs3.js.map +1 -1
  23. package/dist/index.cjs30.js +1 -1
  24. package/dist/index.cjs33.js +1 -1
  25. package/dist/index.cjs35.js +1 -1
  26. package/dist/index.cjs35.js.map +1 -1
  27. package/dist/index.cjs36.js +6 -1
  28. package/dist/index.cjs36.js.map +1 -1
  29. package/dist/index.cjs37.js +6 -1
  30. package/dist/index.cjs37.js.map +1 -1
  31. package/dist/index.cjs38.js +6 -1
  32. package/dist/index.cjs38.js.map +1 -1
  33. package/dist/index.cjs39.js +1 -1
  34. package/dist/index.cjs39.js.map +1 -1
  35. package/dist/index.cjs40.js +1 -1
  36. package/dist/index.cjs40.js.map +1 -1
  37. package/dist/index.cjs41.js +1 -1
  38. package/dist/index.cjs41.js.map +1 -1
  39. package/dist/index.cjs42.js +1 -1
  40. package/dist/index.cjs42.js.map +1 -1
  41. package/dist/index.cjs43.js +1 -6
  42. package/dist/index.cjs43.js.map +1 -1
  43. package/dist/index.cjs44.js +1 -6
  44. package/dist/index.cjs44.js.map +1 -1
  45. package/dist/index.cjs45.js +1 -6
  46. package/dist/index.cjs45.js.map +1 -1
  47. package/dist/index.cjs46.js +1 -1
  48. package/dist/index.cjs48.js +1 -6
  49. package/dist/index.cjs48.js.map +1 -1
  50. package/dist/index.cjs49.js +1 -6
  51. package/dist/index.cjs49.js.map +1 -1
  52. package/dist/index.cjs50.js +2 -2
  53. package/dist/index.cjs50.js.map +1 -1
  54. package/dist/index.cjs51.js +2 -2
  55. package/dist/index.cjs51.js.map +1 -1
  56. package/dist/index.cjs52.js +6 -1
  57. package/dist/index.cjs52.js.map +1 -1
  58. package/dist/index.cjs53.js +6 -1
  59. package/dist/index.cjs53.js.map +1 -1
  60. package/dist/index.cjs54.js +1 -1
  61. package/dist/index.cjs55.js +1 -1
  62. package/dist/index.cjs56.js +1 -1
  63. package/dist/index.cjs56.js.map +1 -1
  64. package/dist/index.cjs58.js +1 -1
  65. package/dist/index.cjs58.js.map +1 -1
  66. package/dist/index.cjs59.js +1 -1
  67. package/dist/index.cjs59.js.map +1 -1
  68. package/dist/index.cjs60.js +1 -1
  69. package/dist/index.cjs60.js.map +1 -1
  70. package/dist/index.cjs61.js +1 -1
  71. package/dist/index.cjs61.js.map +1 -1
  72. package/dist/index.cjs62.js +1 -1
  73. package/dist/index.cjs62.js.map +1 -1
  74. package/dist/index.cjs63.js +1 -1
  75. package/dist/index.cjs63.js.map +1 -1
  76. package/dist/index.cjs64.js +1 -1
  77. package/dist/index.cjs64.js.map +1 -1
  78. package/dist/index.cjs65.js +1 -1
  79. package/dist/index.cjs65.js.map +1 -1
  80. package/dist/index.cjs66.js +1 -1
  81. package/dist/index.cjs66.js.map +1 -1
  82. package/dist/index.cjs67.js +1 -1
  83. package/dist/index.cjs67.js.map +1 -1
  84. package/dist/index.cjs68.js +1 -1
  85. package/dist/index.cjs68.js.map +1 -1
  86. package/dist/index.cjs69.js +1 -1
  87. package/dist/index.cjs69.js.map +1 -1
  88. package/dist/index.cjs70.js +1 -1
  89. package/dist/index.cjs70.js.map +1 -1
  90. package/dist/index.cjs71.js +1 -1
  91. package/dist/index.cjs71.js.map +1 -1
  92. package/dist/index.cjs72.js +1 -1
  93. package/dist/index.cjs72.js.map +1 -1
  94. package/dist/index.cjs73.js +1 -1
  95. package/dist/index.cjs73.js.map +1 -1
  96. package/dist/index.cjs74.js +1 -1
  97. package/dist/index.cjs74.js.map +1 -1
  98. package/dist/index.cjs75.js +1 -1
  99. package/dist/index.cjs75.js.map +1 -1
  100. package/dist/index.cjs76.js +1 -1
  101. package/dist/index.cjs76.js.map +1 -1
  102. package/dist/index.cjs77.js +1 -1
  103. package/dist/index.cjs78.js +1 -1
  104. package/dist/index.cjs80.js +1 -1
  105. package/dist/index.cjs9.js +1 -1
  106. package/dist/index.cjs94.js +1 -1
  107. package/dist/index.cjs95.js +1 -1
  108. package/dist/index.es100.js +11 -21
  109. package/dist/index.es100.js.map +1 -1
  110. package/dist/index.es101.js +26 -11
  111. package/dist/index.es101.js.map +1 -1
  112. package/dist/index.es102.js +4 -27
  113. package/dist/index.es102.js.map +1 -1
  114. package/dist/index.es103.js +22 -4
  115. package/dist/index.es103.js.map +1 -1
  116. package/dist/index.es12.js +1 -1
  117. package/dist/index.es13.js +4 -4
  118. package/dist/index.es15.js +5 -5
  119. package/dist/index.es2.js +21 -20
  120. package/dist/index.es2.js.map +1 -1
  121. package/dist/index.es20.js +6 -6
  122. package/dist/index.es22.js +1 -1
  123. package/dist/index.es23.js +1 -1
  124. package/dist/index.es24.js +1 -1
  125. package/dist/index.es25.js +1 -1
  126. package/dist/index.es26.js +1 -1
  127. package/dist/index.es29.js +1 -1
  128. package/dist/index.es3.js +1 -0
  129. package/dist/index.es3.js.map +1 -1
  130. package/dist/index.es30.js +1 -1
  131. package/dist/index.es33.js +1 -1
  132. package/dist/index.es35.js +811 -95
  133. package/dist/index.es35.js.map +1 -1
  134. package/dist/index.es36.js +10 -114
  135. package/dist/index.es36.js.map +1 -1
  136. package/dist/index.es37.js +10 -56
  137. package/dist/index.es37.js.map +1 -1
  138. package/dist/index.es38.js +10 -24
  139. package/dist/index.es38.js.map +1 -1
  140. package/dist/index.es39.js +113 -42
  141. package/dist/index.es39.js.map +1 -1
  142. package/dist/index.es40.js +99 -71
  143. package/dist/index.es40.js.map +1 -1
  144. package/dist/index.es41.js +52 -56
  145. package/dist/index.es41.js.map +1 -1
  146. package/dist/index.es42.js +19 -827
  147. package/dist/index.es42.js.map +1 -1
  148. package/dist/index.es43.js +45 -10
  149. package/dist/index.es43.js.map +1 -1
  150. package/dist/index.es44.js +86 -10
  151. package/dist/index.es44.js.map +1 -1
  152. package/dist/index.es45.js +60 -10
  153. package/dist/index.es45.js.map +1 -1
  154. package/dist/index.es46.js +2 -2
  155. package/dist/index.es48.js +8 -21
  156. package/dist/index.es48.js.map +1 -1
  157. package/dist/index.es49.js +5 -9
  158. package/dist/index.es49.js.map +1 -1
  159. package/dist/index.es50.js +15 -32
  160. package/dist/index.es50.js.map +1 -1
  161. package/dist/index.es51.js +3 -12
  162. package/dist/index.es51.js.map +1 -1
  163. package/dist/index.es52.js +38 -8
  164. package/dist/index.es52.js.map +1 -1
  165. package/dist/index.es53.js +18 -5
  166. package/dist/index.es53.js.map +1 -1
  167. package/dist/index.es54.js +11 -11
  168. package/dist/index.es55.js +1 -1
  169. package/dist/index.es56.js +3 -26
  170. package/dist/index.es56.js.map +1 -1
  171. package/dist/index.es58.js +42 -62
  172. package/dist/index.es58.js.map +1 -1
  173. package/dist/index.es59.js +25 -28
  174. package/dist/index.es59.js.map +1 -1
  175. package/dist/index.es60.js +64 -4
  176. package/dist/index.es60.js.map +1 -1
  177. package/dist/index.es61.js +7 -24
  178. package/dist/index.es61.js.map +1 -1
  179. package/dist/index.es62.js +123 -31
  180. package/dist/index.es62.js.map +1 -1
  181. package/dist/index.es63.js +14 -3
  182. package/dist/index.es63.js.map +1 -1
  183. package/dist/index.es64.js +129 -41
  184. package/dist/index.es64.js.map +1 -1
  185. package/dist/index.es65.js +10 -7
  186. package/dist/index.es65.js.map +1 -1
  187. package/dist/index.es66.js +204 -113
  188. package/dist/index.es66.js.map +1 -1
  189. package/dist/index.es67.js +13 -15
  190. package/dist/index.es67.js.map +1 -1
  191. package/dist/index.es68.js +31 -132
  192. package/dist/index.es68.js.map +1 -1
  193. package/dist/index.es69.js +7 -10
  194. package/dist/index.es69.js.map +1 -1
  195. package/dist/index.es70.js +26 -212
  196. package/dist/index.es70.js.map +1 -1
  197. package/dist/index.es71.js +4 -13
  198. package/dist/index.es71.js.map +1 -1
  199. package/dist/index.es72.js +5 -7
  200. package/dist/index.es72.js.map +1 -1
  201. package/dist/index.es73.js +27 -3
  202. package/dist/index.es73.js.map +1 -1
  203. package/dist/index.es74.js +50 -28
  204. package/dist/index.es74.js.map +1 -1
  205. package/dist/index.es75.js +9 -50
  206. package/dist/index.es75.js.map +1 -1
  207. package/dist/index.es76.js +25 -9
  208. package/dist/index.es76.js.map +1 -1
  209. package/dist/index.es77.js +2 -2
  210. package/dist/index.es78.js +1 -1
  211. package/dist/index.es80.js +1 -1
  212. package/dist/index.es9.js +1 -1
  213. package/dist/index.es94.js +1 -1
  214. package/dist/index.es95.js +1 -1
  215. package/dist/packages/builder/context.d.ts +1 -0
  216. package/dist/packages/builder/context.d.ts.map +1 -1
  217. package/dist/packages/builder/schema-builder.d.ts.map +1 -1
  218. package/dist/style.css +1 -1
  219. package/package.json +3 -3
@@ -1,835 +1,27 @@
1
- import * as t from "react";
2
- import * as be from "react-dom";
3
- import { clamp as Re } from "./index.es63.js";
4
- import { composeEventHandlers as R } from "./index.es57.js";
5
- import { createCollection as ot } from "./index.es64.js";
6
- import { useComposedRefs as k } from "./index.es56.js";
7
- import { createContextScope as nt } from "./index.es58.js";
8
- import { useDirection as rt } from "./index.es65.js";
9
- import { DismissableLayer as lt } from "./index.es66.js";
10
- import { useFocusGuards as st } from "./index.es67.js";
11
- import { FocusScope as ct } from "./index.es68.js";
12
- import { useId as Ie } from "./index.es69.js";
13
- import { createPopperScope as Ne, Root as it, Anchor as at, Content as dt, Arrow as ut } from "./index.es70.js";
14
- import { Portal as pt } from "./index.es71.js";
15
- import { Primitive as M } from "./index.es62.js";
16
- import { Slot as ft } from "./index.es33.js";
17
- import { useCallbackRef as mt } from "./index.es72.js";
18
- import { useControllableState as Ee } from "./index.es59.js";
19
- import { useLayoutEffect as j } from "./index.es73.js";
20
- import { usePrevious as ht } from "./index.es60.js";
21
- import { VisuallyHidden as vt } from "./index.es74.js";
22
- import { hideOthers as gt } from "./index.es75.js";
23
- import St from "./index.es76.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,
1
+ import { jsx as i } from "react/jsx-runtime";
2
+ import { Root as n } from "./index.es55.js";
3
+ import { cn as e } from "./index.es21.js";
4
+ function d({
5
+ className: o,
6
+ orientation: t = "horizontal",
7
+ decorative: r = !0,
8
+ ...a
9
+ }) {
10
+ return /* @__PURE__ */ i(
11
+ n,
55
12
  {
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,
417
- 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
- {
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
- }
498
- }
499
- );
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
- }
13
+ "data-slot": "separator-root",
14
+ decorative: r,
15
+ orientation: t,
16
+ className: e(
17
+ "bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
18
+ o
514
19
  ),
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(
578
- 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
- {
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
- )
642
- }
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,
685
- {
686
- ...o,
687
- ref: n,
688
- onAutoScroll: () => {
689
- const { viewport: l, selectedItem: s } = e;
690
- l && s && (l.scrollTop = l.scrollTop - s.offsetHeight);
691
- }
692
- }
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,
709
- {
710
- ...o,
711
- ref: n,
712
- onAutoScroll: () => {
713
- const { viewport: l, selectedItem: s } = e;
714
- l && s && (l.scrollTop = l.scrollTop + s.offsetHeight);
715
- }
716
- }
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,
728
- {
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
- })
20
+ ...a
742
21
  }
743
22
  );
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
- }
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())
797
- );
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
23
  }
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
24
  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
25
+ d as Separator
834
26
  };
835
27
  //# sourceMappingURL=index.es42.js.map