json-schema-builder-react 0.0.1 → 0.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.
package/dist-lib/index.js CHANGED
@@ -1,90 +1,90 @@
1
- import { jsx as n, jsxs as l, Fragment as Ye } from "react/jsx-runtime";
1
+ import { jsx as n, jsxs as l, Fragment as et } from "react/jsx-runtime";
2
2
  import * as I from "react";
3
- import { useContext as et, createContext as tt, useState as E, useEffect as re, useMemo as rt } from "react";
4
- import { Slot as nt } from "@radix-ui/react-slot";
5
- import { X as ot, ChevronDown as ge, Check as je, ChevronUp as at, Type as it, Hash as Ce, CheckSquare as st, Braces as lt, List as dt, FileText as ct, Plus as te, Pencil as mt, Trash2 as Re, CheckCircle2 as ut, Copy as pt, Download as ht, ChevronRight as ft, Moon as gt, Sun as bt, Upload as yt } from "lucide-react";
3
+ import { createContext as tt, useContext as rt, useState as V, useEffect as be, useMemo as nt, useCallback as H } from "react";
4
+ import { Slot as ot } from "@radix-ui/react-slot";
5
+ import { X as at, ChevronDown as ye, Check as Re, ChevronUp as it, Type as st, Hash as Se, CheckSquare as lt, Braces as dt, List as ct, FileText as mt, Plus as re, Pencil as ut, Trash2 as Le, CheckCircle2 as pt, Copy as ht, Download as ft, ChevronRight as gt, Moon as bt, Sun as yt, Upload as vt } from "lucide-react";
6
6
  import * as ne from "@radix-ui/react-tooltip";
7
- import * as B from "@radix-ui/react-dialog";
8
- import * as Le from "@radix-ui/react-label";
9
- import * as A from "@radix-ui/react-select";
10
- import * as ie from "@radix-ui/react-checkbox";
11
- function Me(e) {
7
+ import * as D from "@radix-ui/react-dialog";
8
+ import * as qe from "@radix-ui/react-label";
9
+ import * as P from "@radix-ui/react-select";
10
+ import * as se from "@radix-ui/react-checkbox";
11
+ function Ee(e) {
12
12
  var r, t, a = "";
13
13
  if (typeof e == "string" || typeof e == "number") a += e;
14
14
  else if (typeof e == "object") if (Array.isArray(e)) {
15
15
  var o = e.length;
16
- for (r = 0; r < o; r++) e[r] && (t = Me(e[r])) && (a && (a += " "), a += t);
16
+ for (r = 0; r < o; r++) e[r] && (t = Ee(e[r])) && (a && (a += " "), a += t);
17
17
  } else for (t in e) e[t] && (a && (a += " "), a += t);
18
18
  return a;
19
19
  }
20
- function qe() {
21
- for (var e, r, t = 0, a = "", o = arguments.length; t < o; t++) (e = arguments[t]) && (r = Me(e)) && (a && (a += " "), a += r);
20
+ function Me() {
21
+ for (var e, r, t = 0, a = "", o = arguments.length; t < o; t++) (e = arguments[t]) && (r = Ee(e)) && (a && (a += " "), a += r);
22
22
  return a;
23
23
  }
24
- const ke = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Se = qe, Ee = (e, r) => (t) => {
24
+ const Ie = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Te = Me, Fe = (e, r) => (t) => {
25
25
  var a;
26
- if ((r == null ? void 0 : r.variants) == null) return Se(e, t == null ? void 0 : t.class, t == null ? void 0 : t.className);
26
+ if ((r == null ? void 0 : r.variants) == null) return Te(e, t == null ? void 0 : t.class, t == null ? void 0 : t.className);
27
27
  const { variants: o, defaultVariants: i } = r, s = Object.keys(o).map((d) => {
28
- const f = t == null ? void 0 : t[d], C = i == null ? void 0 : i[d];
29
- if (f === null) return null;
30
- const v = ke(f) || ke(C);
31
- return o[d][v];
32
- }), c = t && Object.entries(t).reduce((d, f) => {
33
- let [C, v] = f;
34
- return v === void 0 || (d[C] = v), d;
35
- }, {}), m = r == null || (a = r.compoundVariants) === null || a === void 0 ? void 0 : a.reduce((d, f) => {
36
- let { class: C, className: v, ...T } = f;
37
- return Object.entries(T).every((b) => {
38
- let [u, h] = b;
28
+ const g = t == null ? void 0 : t[d], N = i == null ? void 0 : i[d];
29
+ if (g === null) return null;
30
+ const x = Ie(g) || Ie(N);
31
+ return o[d][x];
32
+ }), c = t && Object.entries(t).reduce((d, g) => {
33
+ let [N, x] = g;
34
+ return x === void 0 || (d[N] = x), d;
35
+ }, {}), m = r == null || (a = r.compoundVariants) === null || a === void 0 ? void 0 : a.reduce((d, g) => {
36
+ let { class: N, className: x, ...S } = g;
37
+ return Object.entries(S).every((y) => {
38
+ let [p, h] = y;
39
39
  return Array.isArray(h) ? h.includes({
40
40
  ...i,
41
41
  ...c
42
- }[u]) : {
42
+ }[p]) : {
43
43
  ...i,
44
44
  ...c
45
- }[u] === h;
45
+ }[p] === h;
46
46
  }) ? [
47
47
  ...d,
48
- C,
49
- v
48
+ N,
49
+ x
50
50
  ] : d;
51
51
  }, []);
52
- return Se(e, s, m, t == null ? void 0 : t.class, t == null ? void 0 : t.className);
53
- }, be = "-", vt = (e) => {
54
- const r = wt(e), {
52
+ return Te(e, s, m, t == null ? void 0 : t.class, t == null ? void 0 : t.className);
53
+ }, ve = "-", xt = (e) => {
54
+ const r = Nt(e), {
55
55
  conflictingClassGroups: t,
56
56
  conflictingClassGroupModifiers: a
57
57
  } = e;
58
58
  return {
59
59
  getClassGroupId: (s) => {
60
- const c = s.split(be);
61
- return c[0] === "" && c.length !== 1 && c.shift(), Fe(c, r) || xt(s);
60
+ const c = s.split(ve);
61
+ return c[0] === "" && c.length !== 1 && c.shift(), Oe(c, r) || wt(s);
62
62
  },
63
63
  getConflictingClassGroupIds: (s, c) => {
64
64
  const m = t[s] || [];
65
65
  return c && a[s] ? [...m, ...a[s]] : m;
66
66
  }
67
67
  };
68
- }, Fe = (e, r) => {
68
+ }, Oe = (e, r) => {
69
69
  var s;
70
70
  if (e.length === 0)
71
71
  return r.classGroupId;
72
- const t = e[0], a = r.nextPart.get(t), o = a ? Fe(e.slice(1), a) : void 0;
72
+ const t = e[0], a = r.nextPart.get(t), o = a ? Oe(e.slice(1), a) : void 0;
73
73
  if (o)
74
74
  return o;
75
75
  if (r.validators.length === 0)
76
76
  return;
77
- const i = e.join(be);
77
+ const i = e.join(ve);
78
78
  return (s = r.validators.find(({
79
79
  validator: c
80
80
  }) => c(i))) == null ? void 0 : s.classGroupId;
81
- }, Ie = /^\[(.+)\]$/, xt = (e) => {
82
- if (Ie.test(e)) {
83
- const r = Ie.exec(e)[1], t = r == null ? void 0 : r.substring(0, r.indexOf(":"));
81
+ }, ze = /^\[(.+)\]$/, wt = (e) => {
82
+ if (ze.test(e)) {
83
+ const r = ze.exec(e)[1], t = r == null ? void 0 : r.substring(0, r.indexOf(":"));
84
84
  if (t)
85
85
  return "arbitrary.." + t;
86
86
  }
87
- }, wt = (e) => {
87
+ }, Nt = (e) => {
88
88
  const {
89
89
  theme: r,
90
90
  prefix: t
@@ -92,19 +92,19 @@ const ke = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Se = qe, E
92
92
  nextPart: /* @__PURE__ */ new Map(),
93
93
  validators: []
94
94
  };
95
- return Ct(Object.entries(e.classGroups), t).forEach(([i, s]) => {
96
- se(s, a, i, r);
95
+ return kt(Object.entries(e.classGroups), t).forEach(([i, s]) => {
96
+ le(s, a, i, r);
97
97
  }), a;
98
- }, se = (e, r, t, a) => {
98
+ }, le = (e, r, t, a) => {
99
99
  e.forEach((o) => {
100
100
  if (typeof o == "string") {
101
- const i = o === "" ? r : Te(r, o);
101
+ const i = o === "" ? r : Pe(r, o);
102
102
  i.classGroupId = t;
103
103
  return;
104
104
  }
105
105
  if (typeof o == "function") {
106
- if (Nt(o)) {
107
- se(o(a), r, t, a);
106
+ if (Ct(o)) {
107
+ le(o(a), r, t, a);
108
108
  return;
109
109
  }
110
110
  r.validators.push({
@@ -114,21 +114,21 @@ const ke = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Se = qe, E
114
114
  return;
115
115
  }
116
116
  Object.entries(o).forEach(([i, s]) => {
117
- se(s, Te(r, i), t, a);
117
+ le(s, Pe(r, i), t, a);
118
118
  });
119
119
  });
120
- }, Te = (e, r) => {
120
+ }, Pe = (e, r) => {
121
121
  let t = e;
122
- return r.split(be).forEach((a) => {
122
+ return r.split(ve).forEach((a) => {
123
123
  t.nextPart.has(a) || t.nextPart.set(a, {
124
124
  nextPart: /* @__PURE__ */ new Map(),
125
125
  validators: []
126
126
  }), t = t.nextPart.get(a);
127
127
  }), t;
128
- }, Nt = (e) => e.isThemeGetter, Ct = (e, r) => r ? e.map(([t, a]) => {
128
+ }, Ct = (e) => e.isThemeGetter, kt = (e, r) => r ? e.map(([t, a]) => {
129
129
  const o = a.map((i) => typeof i == "string" ? r + i : typeof i == "object" ? Object.fromEntries(Object.entries(i).map(([s, c]) => [r + s, c])) : i);
130
130
  return [t, o];
131
- }) : e, kt = (e) => {
131
+ }) : e, St = (e) => {
132
132
  if (e < 1)
133
133
  return {
134
134
  get: () => {
@@ -152,40 +152,40 @@ const ke = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Se = qe, E
152
152
  t.has(i) ? t.set(i, s) : o(i, s);
153
153
  }
154
154
  };
155
- }, Oe = "!", St = (e) => {
155
+ }, Ve = "!", It = (e) => {
156
156
  const {
157
157
  separator: r,
158
158
  experimentalParseClassName: t
159
159
  } = e, a = r.length === 1, o = r[0], i = r.length, s = (c) => {
160
160
  const m = [];
161
- let d = 0, f = 0, C;
161
+ let d = 0, g = 0, N;
162
162
  for (let h = 0; h < c.length; h++) {
163
- let k = c[h];
163
+ let v = c[h];
164
164
  if (d === 0) {
165
- if (k === o && (a || c.slice(h, h + i) === r)) {
166
- m.push(c.slice(f, h)), f = h + i;
165
+ if (v === o && (a || c.slice(h, h + i) === r)) {
166
+ m.push(c.slice(g, h)), g = h + i;
167
167
  continue;
168
168
  }
169
- if (k === "/") {
170
- C = h;
169
+ if (v === "/") {
170
+ N = h;
171
171
  continue;
172
172
  }
173
173
  }
174
- k === "[" ? d++ : k === "]" && d--;
174
+ v === "[" ? d++ : v === "]" && d--;
175
175
  }
176
- const v = m.length === 0 ? c : c.substring(f), T = v.startsWith(Oe), b = T ? v.substring(1) : v, u = C && C > f ? C - f : void 0;
176
+ const x = m.length === 0 ? c : c.substring(g), S = x.startsWith(Ve), y = S ? x.substring(1) : x, p = N && N > g ? N - g : void 0;
177
177
  return {
178
178
  modifiers: m,
179
- hasImportantModifier: T,
180
- baseClassName: b,
181
- maybePostfixModifierPosition: u
179
+ hasImportantModifier: S,
180
+ baseClassName: y,
181
+ maybePostfixModifierPosition: p
182
182
  };
183
183
  };
184
184
  return t ? (c) => t({
185
185
  className: c,
186
186
  parseClassName: s
187
187
  }) : s;
188
- }, It = (e) => {
188
+ }, Tt = (e) => {
189
189
  if (e.length <= 1)
190
190
  return e;
191
191
  const r = [];
@@ -193,122 +193,122 @@ const ke = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, Se = qe, E
193
193
  return e.forEach((a) => {
194
194
  a[0] === "[" ? (r.push(...t.sort(), a), t = []) : t.push(a);
195
195
  }), r.push(...t.sort()), r;
196
- }, Tt = (e) => ({
197
- cache: kt(e.cacheSize),
198
- parseClassName: St(e),
199
- ...vt(e)
200
- }), zt = /\s+/, Pt = (e, r) => {
196
+ }, zt = (e) => ({
197
+ cache: St(e.cacheSize),
198
+ parseClassName: It(e),
199
+ ...xt(e)
200
+ }), Pt = /\s+/, At = (e, r) => {
201
201
  const {
202
202
  parseClassName: t,
203
203
  getClassGroupId: a,
204
204
  getConflictingClassGroupIds: o
205
- } = r, i = [], s = e.trim().split(zt);
205
+ } = r, i = [], s = e.trim().split(Pt);
206
206
  let c = "";
207
207
  for (let m = s.length - 1; m >= 0; m -= 1) {
208
208
  const d = s[m], {
209
- modifiers: f,
210
- hasImportantModifier: C,
211
- baseClassName: v,
212
- maybePostfixModifierPosition: T
209
+ modifiers: g,
210
+ hasImportantModifier: N,
211
+ baseClassName: x,
212
+ maybePostfixModifierPosition: S
213
213
  } = t(d);
214
- let b = !!T, u = a(b ? v.substring(0, T) : v);
215
- if (!u) {
216
- if (!b) {
214
+ let y = !!S, p = a(y ? x.substring(0, S) : x);
215
+ if (!p) {
216
+ if (!y) {
217
217
  c = d + (c.length > 0 ? " " + c : c);
218
218
  continue;
219
219
  }
220
- if (u = a(v), !u) {
220
+ if (p = a(x), !p) {
221
221
  c = d + (c.length > 0 ? " " + c : c);
222
222
  continue;
223
223
  }
224
- b = !1;
224
+ y = !1;
225
225
  }
226
- const h = It(f).join(":"), k = C ? h + Oe : h, w = k + u;
227
- if (i.includes(w))
226
+ const h = Tt(g).join(":"), v = N ? h + Ve : h, T = v + p;
227
+ if (i.includes(T))
228
228
  continue;
229
- i.push(w);
230
- const p = o(u, b);
231
- for (let j = 0; j < p.length; ++j) {
232
- const V = p[j];
233
- i.push(k + V);
229
+ i.push(T);
230
+ const u = o(p, y);
231
+ for (let A = 0; A < u.length; ++A) {
232
+ const O = u[A];
233
+ i.push(v + O);
234
234
  }
235
235
  c = d + (c.length > 0 ? " " + c : c);
236
236
  }
237
237
  return c;
238
238
  };
239
- function At() {
239
+ function jt() {
240
240
  let e = 0, r, t, a = "";
241
241
  for (; e < arguments.length; )
242
- (r = arguments[e++]) && (t = Ve(r)) && (a && (a += " "), a += t);
242
+ (r = arguments[e++]) && (t = De(r)) && (a && (a += " "), a += t);
243
243
  return a;
244
244
  }
245
- const Ve = (e) => {
245
+ const De = (e) => {
246
246
  if (typeof e == "string")
247
247
  return e;
248
248
  let r, t = "";
249
249
  for (let a = 0; a < e.length; a++)
250
- e[a] && (r = Ve(e[a])) && (t && (t += " "), t += r);
250
+ e[a] && (r = De(e[a])) && (t && (t += " "), t += r);
251
251
  return t;
252
252
  };
253
- function jt(e, ...r) {
253
+ function Rt(e, ...r) {
254
254
  let t, a, o, i = s;
255
255
  function s(m) {
256
- const d = r.reduce((f, C) => C(f), e());
257
- return t = Tt(d), a = t.cache.get, o = t.cache.set, i = c, c(m);
256
+ const d = r.reduce((g, N) => N(g), e());
257
+ return t = zt(d), a = t.cache.get, o = t.cache.set, i = c, c(m);
258
258
  }
259
259
  function c(m) {
260
260
  const d = a(m);
261
261
  if (d)
262
262
  return d;
263
- const f = Pt(m, t);
264
- return o(m, f), f;
263
+ const g = At(m, t);
264
+ return o(m, g), g;
265
265
  }
266
266
  return function() {
267
- return i(At.apply(null, arguments));
267
+ return i(jt.apply(null, arguments));
268
268
  };
269
269
  }
270
- const S = (e) => {
270
+ const k = (e) => {
271
271
  const r = (t) => t[e] || [];
272
272
  return r.isThemeGetter = !0, r;
273
- }, De = /^\[(?:([a-z-]+):)?(.+)\]$/i, Rt = /^\d+\/\d+$/, Lt = /* @__PURE__ */ new Set(["px", "full", "screen"]), Mt = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, qt = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Et = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Ft = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Ot = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, U = (e) => X(e) || Lt.has(e) || Rt.test(e), K = (e) => Z(e, "length", Ut), X = (e) => !!e && !Number.isNaN(Number(e)), ae = (e) => Z(e, "number", X), Y = (e) => !!e && Number.isInteger(Number(e)), Vt = (e) => e.endsWith("%") && X(e.slice(0, -1)), g = (e) => De.test(e), H = (e) => Mt.test(e), Dt = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Gt = (e) => Z(e, Dt, Ge), Bt = (e) => Z(e, "position", Ge), $t = /* @__PURE__ */ new Set(["image", "url"]), _t = (e) => Z(e, $t, Kt), Jt = (e) => Z(e, "", Wt), ee = () => !0, Z = (e, r, t) => {
274
- const a = De.exec(e);
273
+ }, Ge = /^\[(?:([a-z-]+):)?(.+)\]$/i, Lt = /^\d+\/\d+$/, qt = /* @__PURE__ */ new Set(["px", "full", "screen"]), Et = /^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/, Mt = /\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/, Ft = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/, Ot = /^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/, Vt = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/, $ = (e) => Z(e) || qt.has(e) || Lt.test(e), U = (e) => Q(e, "length", Wt), Z = (e) => !!e && !Number.isNaN(Number(e)), ie = (e) => Q(e, "number", Z), ee = (e) => !!e && Number.isInteger(Number(e)), Dt = (e) => e.endsWith("%") && Z(e.slice(0, -1)), b = (e) => Ge.test(e), W = (e) => Et.test(e), Gt = /* @__PURE__ */ new Set(["length", "size", "percentage"]), Bt = (e) => Q(e, Gt, Be), $t = (e) => Q(e, "position", Be), _t = /* @__PURE__ */ new Set(["image", "url"]), Jt = (e) => Q(e, _t, Ht), Ut = (e) => Q(e, "", Kt), te = () => !0, Q = (e, r, t) => {
274
+ const a = Ge.exec(e);
275
275
  return a ? a[1] ? typeof r == "string" ? a[1] === r : r.has(a[1]) : t(a[2]) : !1;
276
- }, Ut = (e) => (
276
+ }, Wt = (e) => (
277
277
  // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.
278
278
  // For example, `hsl(0 0% 0%)` would be classified as a length without this check.
279
279
  // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.
280
- qt.test(e) && !Et.test(e)
281
- ), Ge = () => !1, Wt = (e) => Ft.test(e), Kt = (e) => Ot.test(e), Ht = () => {
282
- const e = S("colors"), r = S("spacing"), t = S("blur"), a = S("brightness"), o = S("borderColor"), i = S("borderRadius"), s = S("borderSpacing"), c = S("borderWidth"), m = S("contrast"), d = S("grayscale"), f = S("hueRotate"), C = S("invert"), v = S("gap"), T = S("gradientColorStops"), b = S("gradientColorStopPositions"), u = S("inset"), h = S("margin"), k = S("opacity"), w = S("padding"), p = S("saturate"), j = S("scale"), V = S("sepia"), W = S("skew"), F = S("space"), D = S("translate"), q = () => ["auto", "contain", "none"], _ = () => ["auto", "hidden", "clip", "visible", "scroll"], $ = () => ["auto", g, r], x = () => [g, r], y = () => ["", U, K], O = () => ["auto", X, g], z = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], G = () => ["solid", "dashed", "dotted", "double", "none"], we = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], oe = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], Q = () => ["", "0", g], Ne = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], J = () => [X, g];
280
+ Mt.test(e) && !Ft.test(e)
281
+ ), Be = () => !1, Kt = (e) => Ot.test(e), Ht = (e) => Vt.test(e), Xt = () => {
282
+ const e = k("colors"), r = k("spacing"), t = k("blur"), a = k("brightness"), o = k("borderColor"), i = k("borderRadius"), s = k("borderSpacing"), c = k("borderWidth"), m = k("contrast"), d = k("grayscale"), g = k("hueRotate"), N = k("invert"), x = k("gap"), S = k("gradientColorStops"), y = k("gradientColorStopPositions"), p = k("inset"), h = k("margin"), v = k("opacity"), T = k("padding"), u = k("saturate"), A = k("scale"), O = k("sepia"), _ = k("skew"), M = k("space"), F = k("translate"), E = () => ["auto", "contain", "none"], J = () => ["auto", "hidden", "clip", "visible", "scroll"], G = () => ["auto", b, r], w = () => [b, r], f = () => ["", $, U], q = () => ["auto", Z, b], X = () => ["bottom", "center", "left", "left-bottom", "left-top", "right", "right-bottom", "right-top", "top"], K = () => ["solid", "dashed", "dotted", "double", "none"], Ce = () => ["normal", "multiply", "screen", "overlay", "darken", "lighten", "color-dodge", "color-burn", "hard-light", "soft-light", "difference", "exclusion", "hue", "saturation", "color", "luminosity"], ae = () => ["start", "end", "center", "between", "around", "evenly", "stretch"], Y = () => ["", "0", b], ke = () => ["auto", "avoid", "all", "avoid-page", "page", "left", "right", "column"], B = () => [Z, b];
283
283
  return {
284
284
  cacheSize: 500,
285
285
  separator: ":",
286
286
  theme: {
287
- colors: [ee],
288
- spacing: [U, K],
289
- blur: ["none", "", H, g],
290
- brightness: J(),
287
+ colors: [te],
288
+ spacing: [$, U],
289
+ blur: ["none", "", W, b],
290
+ brightness: B(),
291
291
  borderColor: [e],
292
- borderRadius: ["none", "", "full", H, g],
293
- borderSpacing: x(),
294
- borderWidth: y(),
295
- contrast: J(),
296
- grayscale: Q(),
297
- hueRotate: J(),
298
- invert: Q(),
299
- gap: x(),
292
+ borderRadius: ["none", "", "full", W, b],
293
+ borderSpacing: w(),
294
+ borderWidth: f(),
295
+ contrast: B(),
296
+ grayscale: Y(),
297
+ hueRotate: B(),
298
+ invert: Y(),
299
+ gap: w(),
300
300
  gradientColorStops: [e],
301
- gradientColorStopPositions: [Vt, K],
302
- inset: $(),
303
- margin: $(),
304
- opacity: J(),
305
- padding: x(),
306
- saturate: J(),
307
- scale: J(),
308
- sepia: Q(),
309
- skew: J(),
310
- space: x(),
311
- translate: x()
301
+ gradientColorStopPositions: [Dt, U],
302
+ inset: G(),
303
+ margin: G(),
304
+ opacity: B(),
305
+ padding: w(),
306
+ saturate: B(),
307
+ scale: B(),
308
+ sepia: Y(),
309
+ skew: B(),
310
+ space: w(),
311
+ translate: w()
312
312
  },
313
313
  classGroups: {
314
314
  // Layout
@@ -317,7 +317,7 @@ const S = (e) => {
317
317
  * @see https://tailwindcss.com/docs/aspect-ratio
318
318
  */
319
319
  aspect: [{
320
- aspect: ["auto", "square", "video", g]
320
+ aspect: ["auto", "square", "video", b]
321
321
  }],
322
322
  /**
323
323
  * Container
@@ -329,21 +329,21 @@ const S = (e) => {
329
329
  * @see https://tailwindcss.com/docs/columns
330
330
  */
331
331
  columns: [{
332
- columns: [H]
332
+ columns: [W]
333
333
  }],
334
334
  /**
335
335
  * Break After
336
336
  * @see https://tailwindcss.com/docs/break-after
337
337
  */
338
338
  "break-after": [{
339
- "break-after": Ne()
339
+ "break-after": ke()
340
340
  }],
341
341
  /**
342
342
  * Break Before
343
343
  * @see https://tailwindcss.com/docs/break-before
344
344
  */
345
345
  "break-before": [{
346
- "break-before": Ne()
346
+ "break-before": ke()
347
347
  }],
348
348
  /**
349
349
  * Break Inside
@@ -402,49 +402,49 @@ const S = (e) => {
402
402
  * @see https://tailwindcss.com/docs/object-position
403
403
  */
404
404
  "object-position": [{
405
- object: [...z(), g]
405
+ object: [...X(), b]
406
406
  }],
407
407
  /**
408
408
  * Overflow
409
409
  * @see https://tailwindcss.com/docs/overflow
410
410
  */
411
411
  overflow: [{
412
- overflow: _()
412
+ overflow: J()
413
413
  }],
414
414
  /**
415
415
  * Overflow X
416
416
  * @see https://tailwindcss.com/docs/overflow
417
417
  */
418
418
  "overflow-x": [{
419
- "overflow-x": _()
419
+ "overflow-x": J()
420
420
  }],
421
421
  /**
422
422
  * Overflow Y
423
423
  * @see https://tailwindcss.com/docs/overflow
424
424
  */
425
425
  "overflow-y": [{
426
- "overflow-y": _()
426
+ "overflow-y": J()
427
427
  }],
428
428
  /**
429
429
  * Overscroll Behavior
430
430
  * @see https://tailwindcss.com/docs/overscroll-behavior
431
431
  */
432
432
  overscroll: [{
433
- overscroll: q()
433
+ overscroll: E()
434
434
  }],
435
435
  /**
436
436
  * Overscroll Behavior X
437
437
  * @see https://tailwindcss.com/docs/overscroll-behavior
438
438
  */
439
439
  "overscroll-x": [{
440
- "overscroll-x": q()
440
+ "overscroll-x": E()
441
441
  }],
442
442
  /**
443
443
  * Overscroll Behavior Y
444
444
  * @see https://tailwindcss.com/docs/overscroll-behavior
445
445
  */
446
446
  "overscroll-y": [{
447
- "overscroll-y": q()
447
+ "overscroll-y": E()
448
448
  }],
449
449
  /**
450
450
  * Position
@@ -456,63 +456,63 @@ const S = (e) => {
456
456
  * @see https://tailwindcss.com/docs/top-right-bottom-left
457
457
  */
458
458
  inset: [{
459
- inset: [u]
459
+ inset: [p]
460
460
  }],
461
461
  /**
462
462
  * Right / Left
463
463
  * @see https://tailwindcss.com/docs/top-right-bottom-left
464
464
  */
465
465
  "inset-x": [{
466
- "inset-x": [u]
466
+ "inset-x": [p]
467
467
  }],
468
468
  /**
469
469
  * Top / Bottom
470
470
  * @see https://tailwindcss.com/docs/top-right-bottom-left
471
471
  */
472
472
  "inset-y": [{
473
- "inset-y": [u]
473
+ "inset-y": [p]
474
474
  }],
475
475
  /**
476
476
  * Start
477
477
  * @see https://tailwindcss.com/docs/top-right-bottom-left
478
478
  */
479
479
  start: [{
480
- start: [u]
480
+ start: [p]
481
481
  }],
482
482
  /**
483
483
  * End
484
484
  * @see https://tailwindcss.com/docs/top-right-bottom-left
485
485
  */
486
486
  end: [{
487
- end: [u]
487
+ end: [p]
488
488
  }],
489
489
  /**
490
490
  * Top
491
491
  * @see https://tailwindcss.com/docs/top-right-bottom-left
492
492
  */
493
493
  top: [{
494
- top: [u]
494
+ top: [p]
495
495
  }],
496
496
  /**
497
497
  * Right
498
498
  * @see https://tailwindcss.com/docs/top-right-bottom-left
499
499
  */
500
500
  right: [{
501
- right: [u]
501
+ right: [p]
502
502
  }],
503
503
  /**
504
504
  * Bottom
505
505
  * @see https://tailwindcss.com/docs/top-right-bottom-left
506
506
  */
507
507
  bottom: [{
508
- bottom: [u]
508
+ bottom: [p]
509
509
  }],
510
510
  /**
511
511
  * Left
512
512
  * @see https://tailwindcss.com/docs/top-right-bottom-left
513
513
  */
514
514
  left: [{
515
- left: [u]
515
+ left: [p]
516
516
  }],
517
517
  /**
518
518
  * Visibility
@@ -524,7 +524,7 @@ const S = (e) => {
524
524
  * @see https://tailwindcss.com/docs/z-index
525
525
  */
526
526
  z: [{
527
- z: ["auto", Y, g]
527
+ z: ["auto", ee, b]
528
528
  }],
529
529
  // Flexbox and Grid
530
530
  /**
@@ -532,7 +532,7 @@ const S = (e) => {
532
532
  * @see https://tailwindcss.com/docs/flex-basis
533
533
  */
534
534
  basis: [{
535
- basis: $()
535
+ basis: G()
536
536
  }],
537
537
  /**
538
538
  * Flex Direction
@@ -553,35 +553,35 @@ const S = (e) => {
553
553
  * @see https://tailwindcss.com/docs/flex
554
554
  */
555
555
  flex: [{
556
- flex: ["1", "auto", "initial", "none", g]
556
+ flex: ["1", "auto", "initial", "none", b]
557
557
  }],
558
558
  /**
559
559
  * Flex Grow
560
560
  * @see https://tailwindcss.com/docs/flex-grow
561
561
  */
562
562
  grow: [{
563
- grow: Q()
563
+ grow: Y()
564
564
  }],
565
565
  /**
566
566
  * Flex Shrink
567
567
  * @see https://tailwindcss.com/docs/flex-shrink
568
568
  */
569
569
  shrink: [{
570
- shrink: Q()
570
+ shrink: Y()
571
571
  }],
572
572
  /**
573
573
  * Order
574
574
  * @see https://tailwindcss.com/docs/order
575
575
  */
576
576
  order: [{
577
- order: ["first", "last", "none", Y, g]
577
+ order: ["first", "last", "none", ee, b]
578
578
  }],
579
579
  /**
580
580
  * Grid Template Columns
581
581
  * @see https://tailwindcss.com/docs/grid-template-columns
582
582
  */
583
583
  "grid-cols": [{
584
- "grid-cols": [ee]
584
+ "grid-cols": [te]
585
585
  }],
586
586
  /**
587
587
  * Grid Column Start / End
@@ -589,29 +589,29 @@ const S = (e) => {
589
589
  */
590
590
  "col-start-end": [{
591
591
  col: ["auto", {
592
- span: ["full", Y, g]
593
- }, g]
592
+ span: ["full", ee, b]
593
+ }, b]
594
594
  }],
595
595
  /**
596
596
  * Grid Column Start
597
597
  * @see https://tailwindcss.com/docs/grid-column
598
598
  */
599
599
  "col-start": [{
600
- "col-start": O()
600
+ "col-start": q()
601
601
  }],
602
602
  /**
603
603
  * Grid Column End
604
604
  * @see https://tailwindcss.com/docs/grid-column
605
605
  */
606
606
  "col-end": [{
607
- "col-end": O()
607
+ "col-end": q()
608
608
  }],
609
609
  /**
610
610
  * Grid Template Rows
611
611
  * @see https://tailwindcss.com/docs/grid-template-rows
612
612
  */
613
613
  "grid-rows": [{
614
- "grid-rows": [ee]
614
+ "grid-rows": [te]
615
615
  }],
616
616
  /**
617
617
  * Grid Row Start / End
@@ -619,22 +619,22 @@ const S = (e) => {
619
619
  */
620
620
  "row-start-end": [{
621
621
  row: ["auto", {
622
- span: [Y, g]
623
- }, g]
622
+ span: [ee, b]
623
+ }, b]
624
624
  }],
625
625
  /**
626
626
  * Grid Row Start
627
627
  * @see https://tailwindcss.com/docs/grid-row
628
628
  */
629
629
  "row-start": [{
630
- "row-start": O()
630
+ "row-start": q()
631
631
  }],
632
632
  /**
633
633
  * Grid Row End
634
634
  * @see https://tailwindcss.com/docs/grid-row
635
635
  */
636
636
  "row-end": [{
637
- "row-end": O()
637
+ "row-end": q()
638
638
  }],
639
639
  /**
640
640
  * Grid Auto Flow
@@ -648,42 +648,42 @@ const S = (e) => {
648
648
  * @see https://tailwindcss.com/docs/grid-auto-columns
649
649
  */
650
650
  "auto-cols": [{
651
- "auto-cols": ["auto", "min", "max", "fr", g]
651
+ "auto-cols": ["auto", "min", "max", "fr", b]
652
652
  }],
653
653
  /**
654
654
  * Grid Auto Rows
655
655
  * @see https://tailwindcss.com/docs/grid-auto-rows
656
656
  */
657
657
  "auto-rows": [{
658
- "auto-rows": ["auto", "min", "max", "fr", g]
658
+ "auto-rows": ["auto", "min", "max", "fr", b]
659
659
  }],
660
660
  /**
661
661
  * Gap
662
662
  * @see https://tailwindcss.com/docs/gap
663
663
  */
664
664
  gap: [{
665
- gap: [v]
665
+ gap: [x]
666
666
  }],
667
667
  /**
668
668
  * Gap X
669
669
  * @see https://tailwindcss.com/docs/gap
670
670
  */
671
671
  "gap-x": [{
672
- "gap-x": [v]
672
+ "gap-x": [x]
673
673
  }],
674
674
  /**
675
675
  * Gap Y
676
676
  * @see https://tailwindcss.com/docs/gap
677
677
  */
678
678
  "gap-y": [{
679
- "gap-y": [v]
679
+ "gap-y": [x]
680
680
  }],
681
681
  /**
682
682
  * Justify Content
683
683
  * @see https://tailwindcss.com/docs/justify-content
684
684
  */
685
685
  "justify-content": [{
686
- justify: ["normal", ...oe()]
686
+ justify: ["normal", ...ae()]
687
687
  }],
688
688
  /**
689
689
  * Justify Items
@@ -704,7 +704,7 @@ const S = (e) => {
704
704
  * @see https://tailwindcss.com/docs/align-content
705
705
  */
706
706
  "align-content": [{
707
- content: ["normal", ...oe(), "baseline"]
707
+ content: ["normal", ...ae(), "baseline"]
708
708
  }],
709
709
  /**
710
710
  * Align Items
@@ -725,7 +725,7 @@ const S = (e) => {
725
725
  * @see https://tailwindcss.com/docs/place-content
726
726
  */
727
727
  "place-content": [{
728
- "place-content": [...oe(), "baseline"]
728
+ "place-content": [...ae(), "baseline"]
729
729
  }],
730
730
  /**
731
731
  * Place Items
@@ -747,63 +747,63 @@ const S = (e) => {
747
747
  * @see https://tailwindcss.com/docs/padding
748
748
  */
749
749
  p: [{
750
- p: [w]
750
+ p: [T]
751
751
  }],
752
752
  /**
753
753
  * Padding X
754
754
  * @see https://tailwindcss.com/docs/padding
755
755
  */
756
756
  px: [{
757
- px: [w]
757
+ px: [T]
758
758
  }],
759
759
  /**
760
760
  * Padding Y
761
761
  * @see https://tailwindcss.com/docs/padding
762
762
  */
763
763
  py: [{
764
- py: [w]
764
+ py: [T]
765
765
  }],
766
766
  /**
767
767
  * Padding Start
768
768
  * @see https://tailwindcss.com/docs/padding
769
769
  */
770
770
  ps: [{
771
- ps: [w]
771
+ ps: [T]
772
772
  }],
773
773
  /**
774
774
  * Padding End
775
775
  * @see https://tailwindcss.com/docs/padding
776
776
  */
777
777
  pe: [{
778
- pe: [w]
778
+ pe: [T]
779
779
  }],
780
780
  /**
781
781
  * Padding Top
782
782
  * @see https://tailwindcss.com/docs/padding
783
783
  */
784
784
  pt: [{
785
- pt: [w]
785
+ pt: [T]
786
786
  }],
787
787
  /**
788
788
  * Padding Right
789
789
  * @see https://tailwindcss.com/docs/padding
790
790
  */
791
791
  pr: [{
792
- pr: [w]
792
+ pr: [T]
793
793
  }],
794
794
  /**
795
795
  * Padding Bottom
796
796
  * @see https://tailwindcss.com/docs/padding
797
797
  */
798
798
  pb: [{
799
- pb: [w]
799
+ pb: [T]
800
800
  }],
801
801
  /**
802
802
  * Padding Left
803
803
  * @see https://tailwindcss.com/docs/padding
804
804
  */
805
805
  pl: [{
806
- pl: [w]
806
+ pl: [T]
807
807
  }],
808
808
  /**
809
809
  * Margin
@@ -873,7 +873,7 @@ const S = (e) => {
873
873
  * @see https://tailwindcss.com/docs/space
874
874
  */
875
875
  "space-x": [{
876
- "space-x": [F]
876
+ "space-x": [M]
877
877
  }],
878
878
  /**
879
879
  * Space Between X Reverse
@@ -885,7 +885,7 @@ const S = (e) => {
885
885
  * @see https://tailwindcss.com/docs/space
886
886
  */
887
887
  "space-y": [{
888
- "space-y": [F]
888
+ "space-y": [M]
889
889
  }],
890
890
  /**
891
891
  * Space Between Y Reverse
@@ -898,51 +898,51 @@ const S = (e) => {
898
898
  * @see https://tailwindcss.com/docs/width
899
899
  */
900
900
  w: [{
901
- w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", g, r]
901
+ w: ["auto", "min", "max", "fit", "svw", "lvw", "dvw", b, r]
902
902
  }],
903
903
  /**
904
904
  * Min-Width
905
905
  * @see https://tailwindcss.com/docs/min-width
906
906
  */
907
907
  "min-w": [{
908
- "min-w": [g, r, "min", "max", "fit"]
908
+ "min-w": [b, r, "min", "max", "fit"]
909
909
  }],
910
910
  /**
911
911
  * Max-Width
912
912
  * @see https://tailwindcss.com/docs/max-width
913
913
  */
914
914
  "max-w": [{
915
- "max-w": [g, r, "none", "full", "min", "max", "fit", "prose", {
916
- screen: [H]
917
- }, H]
915
+ "max-w": [b, r, "none", "full", "min", "max", "fit", "prose", {
916
+ screen: [W]
917
+ }, W]
918
918
  }],
919
919
  /**
920
920
  * Height
921
921
  * @see https://tailwindcss.com/docs/height
922
922
  */
923
923
  h: [{
924
- h: [g, r, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
924
+ h: [b, r, "auto", "min", "max", "fit", "svh", "lvh", "dvh"]
925
925
  }],
926
926
  /**
927
927
  * Min-Height
928
928
  * @see https://tailwindcss.com/docs/min-height
929
929
  */
930
930
  "min-h": [{
931
- "min-h": [g, r, "min", "max", "fit", "svh", "lvh", "dvh"]
931
+ "min-h": [b, r, "min", "max", "fit", "svh", "lvh", "dvh"]
932
932
  }],
933
933
  /**
934
934
  * Max-Height
935
935
  * @see https://tailwindcss.com/docs/max-height
936
936
  */
937
937
  "max-h": [{
938
- "max-h": [g, r, "min", "max", "fit", "svh", "lvh", "dvh"]
938
+ "max-h": [b, r, "min", "max", "fit", "svh", "lvh", "dvh"]
939
939
  }],
940
940
  /**
941
941
  * Size
942
942
  * @see https://tailwindcss.com/docs/size
943
943
  */
944
944
  size: [{
945
- size: [g, r, "auto", "min", "max", "fit"]
945
+ size: [b, r, "auto", "min", "max", "fit"]
946
946
  }],
947
947
  // Typography
948
948
  /**
@@ -950,7 +950,7 @@ const S = (e) => {
950
950
  * @see https://tailwindcss.com/docs/font-size
951
951
  */
952
952
  "font-size": [{
953
- text: ["base", H, K]
953
+ text: ["base", W, U]
954
954
  }],
955
955
  /**
956
956
  * Font Smoothing
@@ -967,14 +967,14 @@ const S = (e) => {
967
967
  * @see https://tailwindcss.com/docs/font-weight
968
968
  */
969
969
  "font-weight": [{
970
- font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", ae]
970
+ font: ["thin", "extralight", "light", "normal", "medium", "semibold", "bold", "extrabold", "black", ie]
971
971
  }],
972
972
  /**
973
973
  * Font Family
974
974
  * @see https://tailwindcss.com/docs/font-family
975
975
  */
976
976
  "font-family": [{
977
- font: [ee]
977
+ font: [te]
978
978
  }],
979
979
  /**
980
980
  * Font Variant Numeric
@@ -1011,35 +1011,35 @@ const S = (e) => {
1011
1011
  * @see https://tailwindcss.com/docs/letter-spacing
1012
1012
  */
1013
1013
  tracking: [{
1014
- tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", g]
1014
+ tracking: ["tighter", "tight", "normal", "wide", "wider", "widest", b]
1015
1015
  }],
1016
1016
  /**
1017
1017
  * Line Clamp
1018
1018
  * @see https://tailwindcss.com/docs/line-clamp
1019
1019
  */
1020
1020
  "line-clamp": [{
1021
- "line-clamp": ["none", X, ae]
1021
+ "line-clamp": ["none", Z, ie]
1022
1022
  }],
1023
1023
  /**
1024
1024
  * Line Height
1025
1025
  * @see https://tailwindcss.com/docs/line-height
1026
1026
  */
1027
1027
  leading: [{
1028
- leading: ["none", "tight", "snug", "normal", "relaxed", "loose", U, g]
1028
+ leading: ["none", "tight", "snug", "normal", "relaxed", "loose", $, b]
1029
1029
  }],
1030
1030
  /**
1031
1031
  * List Style Image
1032
1032
  * @see https://tailwindcss.com/docs/list-style-image
1033
1033
  */
1034
1034
  "list-image": [{
1035
- "list-image": ["none", g]
1035
+ "list-image": ["none", b]
1036
1036
  }],
1037
1037
  /**
1038
1038
  * List Style Type
1039
1039
  * @see https://tailwindcss.com/docs/list-style-type
1040
1040
  */
1041
1041
  "list-style-type": [{
1042
- list: ["none", "disc", "decimal", g]
1042
+ list: ["none", "disc", "decimal", b]
1043
1043
  }],
1044
1044
  /**
1045
1045
  * List Style Position
@@ -1061,7 +1061,7 @@ const S = (e) => {
1061
1061
  * @see https://tailwindcss.com/docs/placeholder-opacity
1062
1062
  */
1063
1063
  "placeholder-opacity": [{
1064
- "placeholder-opacity": [k]
1064
+ "placeholder-opacity": [v]
1065
1065
  }],
1066
1066
  /**
1067
1067
  * Text Alignment
@@ -1082,7 +1082,7 @@ const S = (e) => {
1082
1082
  * @see https://tailwindcss.com/docs/text-opacity
1083
1083
  */
1084
1084
  "text-opacity": [{
1085
- "text-opacity": [k]
1085
+ "text-opacity": [v]
1086
1086
  }],
1087
1087
  /**
1088
1088
  * Text Decoration
@@ -1094,21 +1094,21 @@ const S = (e) => {
1094
1094
  * @see https://tailwindcss.com/docs/text-decoration-style
1095
1095
  */
1096
1096
  "text-decoration-style": [{
1097
- decoration: [...G(), "wavy"]
1097
+ decoration: [...K(), "wavy"]
1098
1098
  }],
1099
1099
  /**
1100
1100
  * Text Decoration Thickness
1101
1101
  * @see https://tailwindcss.com/docs/text-decoration-thickness
1102
1102
  */
1103
1103
  "text-decoration-thickness": [{
1104
- decoration: ["auto", "from-font", U, K]
1104
+ decoration: ["auto", "from-font", $, U]
1105
1105
  }],
1106
1106
  /**
1107
1107
  * Text Underline Offset
1108
1108
  * @see https://tailwindcss.com/docs/text-underline-offset
1109
1109
  */
1110
1110
  "underline-offset": [{
1111
- "underline-offset": ["auto", U, g]
1111
+ "underline-offset": ["auto", $, b]
1112
1112
  }],
1113
1113
  /**
1114
1114
  * Text Decoration Color
@@ -1139,14 +1139,14 @@ const S = (e) => {
1139
1139
  * @see https://tailwindcss.com/docs/text-indent
1140
1140
  */
1141
1141
  indent: [{
1142
- indent: x()
1142
+ indent: w()
1143
1143
  }],
1144
1144
  /**
1145
1145
  * Vertical Alignment
1146
1146
  * @see https://tailwindcss.com/docs/vertical-align
1147
1147
  */
1148
1148
  "vertical-align": [{
1149
- align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", g]
1149
+ align: ["baseline", "top", "middle", "bottom", "text-top", "text-bottom", "sub", "super", b]
1150
1150
  }],
1151
1151
  /**
1152
1152
  * Whitespace
@@ -1174,7 +1174,7 @@ const S = (e) => {
1174
1174
  * @see https://tailwindcss.com/docs/content
1175
1175
  */
1176
1176
  content: [{
1177
- content: ["none", g]
1177
+ content: ["none", b]
1178
1178
  }],
1179
1179
  // Backgrounds
1180
1180
  /**
@@ -1197,7 +1197,7 @@ const S = (e) => {
1197
1197
  * @see https://tailwindcss.com/docs/background-opacity
1198
1198
  */
1199
1199
  "bg-opacity": [{
1200
- "bg-opacity": [k]
1200
+ "bg-opacity": [v]
1201
1201
  }],
1202
1202
  /**
1203
1203
  * Background Origin
@@ -1211,7 +1211,7 @@ const S = (e) => {
1211
1211
  * @see https://tailwindcss.com/docs/background-position
1212
1212
  */
1213
1213
  "bg-position": [{
1214
- bg: [...z(), Bt]
1214
+ bg: [...X(), $t]
1215
1215
  }],
1216
1216
  /**
1217
1217
  * Background Repeat
@@ -1227,7 +1227,7 @@ const S = (e) => {
1227
1227
  * @see https://tailwindcss.com/docs/background-size
1228
1228
  */
1229
1229
  "bg-size": [{
1230
- bg: ["auto", "cover", "contain", Gt]
1230
+ bg: ["auto", "cover", "contain", Bt]
1231
1231
  }],
1232
1232
  /**
1233
1233
  * Background Image
@@ -1236,7 +1236,7 @@ const S = (e) => {
1236
1236
  "bg-image": [{
1237
1237
  bg: ["none", {
1238
1238
  "gradient-to": ["t", "tr", "r", "br", "b", "bl", "l", "tl"]
1239
- }, _t]
1239
+ }, Jt]
1240
1240
  }],
1241
1241
  /**
1242
1242
  * Background Color
@@ -1250,42 +1250,42 @@ const S = (e) => {
1250
1250
  * @see https://tailwindcss.com/docs/gradient-color-stops
1251
1251
  */
1252
1252
  "gradient-from-pos": [{
1253
- from: [b]
1253
+ from: [y]
1254
1254
  }],
1255
1255
  /**
1256
1256
  * Gradient Color Stops Via Position
1257
1257
  * @see https://tailwindcss.com/docs/gradient-color-stops
1258
1258
  */
1259
1259
  "gradient-via-pos": [{
1260
- via: [b]
1260
+ via: [y]
1261
1261
  }],
1262
1262
  /**
1263
1263
  * Gradient Color Stops To Position
1264
1264
  * @see https://tailwindcss.com/docs/gradient-color-stops
1265
1265
  */
1266
1266
  "gradient-to-pos": [{
1267
- to: [b]
1267
+ to: [y]
1268
1268
  }],
1269
1269
  /**
1270
1270
  * Gradient Color Stops From
1271
1271
  * @see https://tailwindcss.com/docs/gradient-color-stops
1272
1272
  */
1273
1273
  "gradient-from": [{
1274
- from: [T]
1274
+ from: [S]
1275
1275
  }],
1276
1276
  /**
1277
1277
  * Gradient Color Stops Via
1278
1278
  * @see https://tailwindcss.com/docs/gradient-color-stops
1279
1279
  */
1280
1280
  "gradient-via": [{
1281
- via: [T]
1281
+ via: [S]
1282
1282
  }],
1283
1283
  /**
1284
1284
  * Gradient Color Stops To
1285
1285
  * @see https://tailwindcss.com/docs/gradient-color-stops
1286
1286
  */
1287
1287
  "gradient-to": [{
1288
- to: [T]
1288
+ to: [S]
1289
1289
  }],
1290
1290
  // Borders
1291
1291
  /**
@@ -1461,14 +1461,14 @@ const S = (e) => {
1461
1461
  * @see https://tailwindcss.com/docs/border-opacity
1462
1462
  */
1463
1463
  "border-opacity": [{
1464
- "border-opacity": [k]
1464
+ "border-opacity": [v]
1465
1465
  }],
1466
1466
  /**
1467
1467
  * Border Style
1468
1468
  * @see https://tailwindcss.com/docs/border-style
1469
1469
  */
1470
1470
  "border-style": [{
1471
- border: [...G(), "hidden"]
1471
+ border: [...K(), "hidden"]
1472
1472
  }],
1473
1473
  /**
1474
1474
  * Divide Width X
@@ -1499,14 +1499,14 @@ const S = (e) => {
1499
1499
  * @see https://tailwindcss.com/docs/divide-opacity
1500
1500
  */
1501
1501
  "divide-opacity": [{
1502
- "divide-opacity": [k]
1502
+ "divide-opacity": [v]
1503
1503
  }],
1504
1504
  /**
1505
1505
  * Divide Style
1506
1506
  * @see https://tailwindcss.com/docs/divide-style
1507
1507
  */
1508
1508
  "divide-style": [{
1509
- divide: G()
1509
+ divide: K()
1510
1510
  }],
1511
1511
  /**
1512
1512
  * Border Color
@@ -1583,21 +1583,21 @@ const S = (e) => {
1583
1583
  * @see https://tailwindcss.com/docs/outline-style
1584
1584
  */
1585
1585
  "outline-style": [{
1586
- outline: ["", ...G()]
1586
+ outline: ["", ...K()]
1587
1587
  }],
1588
1588
  /**
1589
1589
  * Outline Offset
1590
1590
  * @see https://tailwindcss.com/docs/outline-offset
1591
1591
  */
1592
1592
  "outline-offset": [{
1593
- "outline-offset": [U, g]
1593
+ "outline-offset": [$, b]
1594
1594
  }],
1595
1595
  /**
1596
1596
  * Outline Width
1597
1597
  * @see https://tailwindcss.com/docs/outline-width
1598
1598
  */
1599
1599
  "outline-w": [{
1600
- outline: [U, K]
1600
+ outline: [$, U]
1601
1601
  }],
1602
1602
  /**
1603
1603
  * Outline Color
@@ -1611,7 +1611,7 @@ const S = (e) => {
1611
1611
  * @see https://tailwindcss.com/docs/ring-width
1612
1612
  */
1613
1613
  "ring-w": [{
1614
- ring: y()
1614
+ ring: f()
1615
1615
  }],
1616
1616
  /**
1617
1617
  * Ring Width Inset
@@ -1630,14 +1630,14 @@ const S = (e) => {
1630
1630
  * @see https://tailwindcss.com/docs/ring-opacity
1631
1631
  */
1632
1632
  "ring-opacity": [{
1633
- "ring-opacity": [k]
1633
+ "ring-opacity": [v]
1634
1634
  }],
1635
1635
  /**
1636
1636
  * Ring Offset Width
1637
1637
  * @see https://tailwindcss.com/docs/ring-offset-width
1638
1638
  */
1639
1639
  "ring-offset-w": [{
1640
- "ring-offset": [U, K]
1640
+ "ring-offset": [$, U]
1641
1641
  }],
1642
1642
  /**
1643
1643
  * Ring Offset Color
@@ -1652,35 +1652,35 @@ const S = (e) => {
1652
1652
  * @see https://tailwindcss.com/docs/box-shadow
1653
1653
  */
1654
1654
  shadow: [{
1655
- shadow: ["", "inner", "none", H, Jt]
1655
+ shadow: ["", "inner", "none", W, Ut]
1656
1656
  }],
1657
1657
  /**
1658
1658
  * Box Shadow Color
1659
1659
  * @see https://tailwindcss.com/docs/box-shadow-color
1660
1660
  */
1661
1661
  "shadow-color": [{
1662
- shadow: [ee]
1662
+ shadow: [te]
1663
1663
  }],
1664
1664
  /**
1665
1665
  * Opacity
1666
1666
  * @see https://tailwindcss.com/docs/opacity
1667
1667
  */
1668
1668
  opacity: [{
1669
- opacity: [k]
1669
+ opacity: [v]
1670
1670
  }],
1671
1671
  /**
1672
1672
  * Mix Blend Mode
1673
1673
  * @see https://tailwindcss.com/docs/mix-blend-mode
1674
1674
  */
1675
1675
  "mix-blend": [{
1676
- "mix-blend": [...we(), "plus-lighter", "plus-darker"]
1676
+ "mix-blend": [...Ce(), "plus-lighter", "plus-darker"]
1677
1677
  }],
1678
1678
  /**
1679
1679
  * Background Blend Mode
1680
1680
  * @see https://tailwindcss.com/docs/background-blend-mode
1681
1681
  */
1682
1682
  "bg-blend": [{
1683
- "bg-blend": we()
1683
+ "bg-blend": Ce()
1684
1684
  }],
1685
1685
  // Filters
1686
1686
  /**
@@ -1717,7 +1717,7 @@ const S = (e) => {
1717
1717
  * @see https://tailwindcss.com/docs/drop-shadow
1718
1718
  */
1719
1719
  "drop-shadow": [{
1720
- "drop-shadow": ["", "none", H, g]
1720
+ "drop-shadow": ["", "none", W, b]
1721
1721
  }],
1722
1722
  /**
1723
1723
  * Grayscale
@@ -1731,28 +1731,28 @@ const S = (e) => {
1731
1731
  * @see https://tailwindcss.com/docs/hue-rotate
1732
1732
  */
1733
1733
  "hue-rotate": [{
1734
- "hue-rotate": [f]
1734
+ "hue-rotate": [g]
1735
1735
  }],
1736
1736
  /**
1737
1737
  * Invert
1738
1738
  * @see https://tailwindcss.com/docs/invert
1739
1739
  */
1740
1740
  invert: [{
1741
- invert: [C]
1741
+ invert: [N]
1742
1742
  }],
1743
1743
  /**
1744
1744
  * Saturate
1745
1745
  * @see https://tailwindcss.com/docs/saturate
1746
1746
  */
1747
1747
  saturate: [{
1748
- saturate: [p]
1748
+ saturate: [u]
1749
1749
  }],
1750
1750
  /**
1751
1751
  * Sepia
1752
1752
  * @see https://tailwindcss.com/docs/sepia
1753
1753
  */
1754
1754
  sepia: [{
1755
- sepia: [V]
1755
+ sepia: [O]
1756
1756
  }],
1757
1757
  /**
1758
1758
  * Backdrop Filter
@@ -1795,35 +1795,35 @@ const S = (e) => {
1795
1795
  * @see https://tailwindcss.com/docs/backdrop-hue-rotate
1796
1796
  */
1797
1797
  "backdrop-hue-rotate": [{
1798
- "backdrop-hue-rotate": [f]
1798
+ "backdrop-hue-rotate": [g]
1799
1799
  }],
1800
1800
  /**
1801
1801
  * Backdrop Invert
1802
1802
  * @see https://tailwindcss.com/docs/backdrop-invert
1803
1803
  */
1804
1804
  "backdrop-invert": [{
1805
- "backdrop-invert": [C]
1805
+ "backdrop-invert": [N]
1806
1806
  }],
1807
1807
  /**
1808
1808
  * Backdrop Opacity
1809
1809
  * @see https://tailwindcss.com/docs/backdrop-opacity
1810
1810
  */
1811
1811
  "backdrop-opacity": [{
1812
- "backdrop-opacity": [k]
1812
+ "backdrop-opacity": [v]
1813
1813
  }],
1814
1814
  /**
1815
1815
  * Backdrop Saturate
1816
1816
  * @see https://tailwindcss.com/docs/backdrop-saturate
1817
1817
  */
1818
1818
  "backdrop-saturate": [{
1819
- "backdrop-saturate": [p]
1819
+ "backdrop-saturate": [u]
1820
1820
  }],
1821
1821
  /**
1822
1822
  * Backdrop Sepia
1823
1823
  * @see https://tailwindcss.com/docs/backdrop-sepia
1824
1824
  */
1825
1825
  "backdrop-sepia": [{
1826
- "backdrop-sepia": [V]
1826
+ "backdrop-sepia": [O]
1827
1827
  }],
1828
1828
  // Tables
1829
1829
  /**
@@ -1874,35 +1874,35 @@ const S = (e) => {
1874
1874
  * @see https://tailwindcss.com/docs/transition-property
1875
1875
  */
1876
1876
  transition: [{
1877
- transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", g]
1877
+ transition: ["none", "all", "", "colors", "opacity", "shadow", "transform", b]
1878
1878
  }],
1879
1879
  /**
1880
1880
  * Transition Duration
1881
1881
  * @see https://tailwindcss.com/docs/transition-duration
1882
1882
  */
1883
1883
  duration: [{
1884
- duration: J()
1884
+ duration: B()
1885
1885
  }],
1886
1886
  /**
1887
1887
  * Transition Timing Function
1888
1888
  * @see https://tailwindcss.com/docs/transition-timing-function
1889
1889
  */
1890
1890
  ease: [{
1891
- ease: ["linear", "in", "out", "in-out", g]
1891
+ ease: ["linear", "in", "out", "in-out", b]
1892
1892
  }],
1893
1893
  /**
1894
1894
  * Transition Delay
1895
1895
  * @see https://tailwindcss.com/docs/transition-delay
1896
1896
  */
1897
1897
  delay: [{
1898
- delay: J()
1898
+ delay: B()
1899
1899
  }],
1900
1900
  /**
1901
1901
  * Animation
1902
1902
  * @see https://tailwindcss.com/docs/animation
1903
1903
  */
1904
1904
  animate: [{
1905
- animate: ["none", "spin", "ping", "pulse", "bounce", g]
1905
+ animate: ["none", "spin", "ping", "pulse", "bounce", b]
1906
1906
  }],
1907
1907
  // Transforms
1908
1908
  /**
@@ -1917,63 +1917,63 @@ const S = (e) => {
1917
1917
  * @see https://tailwindcss.com/docs/scale
1918
1918
  */
1919
1919
  scale: [{
1920
- scale: [j]
1920
+ scale: [A]
1921
1921
  }],
1922
1922
  /**
1923
1923
  * Scale X
1924
1924
  * @see https://tailwindcss.com/docs/scale
1925
1925
  */
1926
1926
  "scale-x": [{
1927
- "scale-x": [j]
1927
+ "scale-x": [A]
1928
1928
  }],
1929
1929
  /**
1930
1930
  * Scale Y
1931
1931
  * @see https://tailwindcss.com/docs/scale
1932
1932
  */
1933
1933
  "scale-y": [{
1934
- "scale-y": [j]
1934
+ "scale-y": [A]
1935
1935
  }],
1936
1936
  /**
1937
1937
  * Rotate
1938
1938
  * @see https://tailwindcss.com/docs/rotate
1939
1939
  */
1940
1940
  rotate: [{
1941
- rotate: [Y, g]
1941
+ rotate: [ee, b]
1942
1942
  }],
1943
1943
  /**
1944
1944
  * Translate X
1945
1945
  * @see https://tailwindcss.com/docs/translate
1946
1946
  */
1947
1947
  "translate-x": [{
1948
- "translate-x": [D]
1948
+ "translate-x": [F]
1949
1949
  }],
1950
1950
  /**
1951
1951
  * Translate Y
1952
1952
  * @see https://tailwindcss.com/docs/translate
1953
1953
  */
1954
1954
  "translate-y": [{
1955
- "translate-y": [D]
1955
+ "translate-y": [F]
1956
1956
  }],
1957
1957
  /**
1958
1958
  * Skew X
1959
1959
  * @see https://tailwindcss.com/docs/skew
1960
1960
  */
1961
1961
  "skew-x": [{
1962
- "skew-x": [W]
1962
+ "skew-x": [_]
1963
1963
  }],
1964
1964
  /**
1965
1965
  * Skew Y
1966
1966
  * @see https://tailwindcss.com/docs/skew
1967
1967
  */
1968
1968
  "skew-y": [{
1969
- "skew-y": [W]
1969
+ "skew-y": [_]
1970
1970
  }],
1971
1971
  /**
1972
1972
  * Transform Origin
1973
1973
  * @see https://tailwindcss.com/docs/transform-origin
1974
1974
  */
1975
1975
  "transform-origin": [{
1976
- origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", g]
1976
+ origin: ["center", "top", "top-right", "right", "bottom-right", "bottom", "bottom-left", "left", "top-left", b]
1977
1977
  }],
1978
1978
  // Interactivity
1979
1979
  /**
@@ -1995,7 +1995,7 @@ const S = (e) => {
1995
1995
  * @see https://tailwindcss.com/docs/cursor
1996
1996
  */
1997
1997
  cursor: [{
1998
- cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", g]
1998
+ cursor: ["auto", "default", "pointer", "wait", "text", "move", "help", "not-allowed", "none", "context-menu", "progress", "cell", "crosshair", "vertical-text", "alias", "copy", "no-drop", "grab", "grabbing", "all-scroll", "col-resize", "row-resize", "n-resize", "e-resize", "s-resize", "w-resize", "ne-resize", "nw-resize", "se-resize", "sw-resize", "ew-resize", "ns-resize", "nesw-resize", "nwse-resize", "zoom-in", "zoom-out", b]
1999
1999
  }],
2000
2000
  /**
2001
2001
  * Caret Color
@@ -2030,126 +2030,126 @@ const S = (e) => {
2030
2030
  * @see https://tailwindcss.com/docs/scroll-margin
2031
2031
  */
2032
2032
  "scroll-m": [{
2033
- "scroll-m": x()
2033
+ "scroll-m": w()
2034
2034
  }],
2035
2035
  /**
2036
2036
  * Scroll Margin X
2037
2037
  * @see https://tailwindcss.com/docs/scroll-margin
2038
2038
  */
2039
2039
  "scroll-mx": [{
2040
- "scroll-mx": x()
2040
+ "scroll-mx": w()
2041
2041
  }],
2042
2042
  /**
2043
2043
  * Scroll Margin Y
2044
2044
  * @see https://tailwindcss.com/docs/scroll-margin
2045
2045
  */
2046
2046
  "scroll-my": [{
2047
- "scroll-my": x()
2047
+ "scroll-my": w()
2048
2048
  }],
2049
2049
  /**
2050
2050
  * Scroll Margin Start
2051
2051
  * @see https://tailwindcss.com/docs/scroll-margin
2052
2052
  */
2053
2053
  "scroll-ms": [{
2054
- "scroll-ms": x()
2054
+ "scroll-ms": w()
2055
2055
  }],
2056
2056
  /**
2057
2057
  * Scroll Margin End
2058
2058
  * @see https://tailwindcss.com/docs/scroll-margin
2059
2059
  */
2060
2060
  "scroll-me": [{
2061
- "scroll-me": x()
2061
+ "scroll-me": w()
2062
2062
  }],
2063
2063
  /**
2064
2064
  * Scroll Margin Top
2065
2065
  * @see https://tailwindcss.com/docs/scroll-margin
2066
2066
  */
2067
2067
  "scroll-mt": [{
2068
- "scroll-mt": x()
2068
+ "scroll-mt": w()
2069
2069
  }],
2070
2070
  /**
2071
2071
  * Scroll Margin Right
2072
2072
  * @see https://tailwindcss.com/docs/scroll-margin
2073
2073
  */
2074
2074
  "scroll-mr": [{
2075
- "scroll-mr": x()
2075
+ "scroll-mr": w()
2076
2076
  }],
2077
2077
  /**
2078
2078
  * Scroll Margin Bottom
2079
2079
  * @see https://tailwindcss.com/docs/scroll-margin
2080
2080
  */
2081
2081
  "scroll-mb": [{
2082
- "scroll-mb": x()
2082
+ "scroll-mb": w()
2083
2083
  }],
2084
2084
  /**
2085
2085
  * Scroll Margin Left
2086
2086
  * @see https://tailwindcss.com/docs/scroll-margin
2087
2087
  */
2088
2088
  "scroll-ml": [{
2089
- "scroll-ml": x()
2089
+ "scroll-ml": w()
2090
2090
  }],
2091
2091
  /**
2092
2092
  * Scroll Padding
2093
2093
  * @see https://tailwindcss.com/docs/scroll-padding
2094
2094
  */
2095
2095
  "scroll-p": [{
2096
- "scroll-p": x()
2096
+ "scroll-p": w()
2097
2097
  }],
2098
2098
  /**
2099
2099
  * Scroll Padding X
2100
2100
  * @see https://tailwindcss.com/docs/scroll-padding
2101
2101
  */
2102
2102
  "scroll-px": [{
2103
- "scroll-px": x()
2103
+ "scroll-px": w()
2104
2104
  }],
2105
2105
  /**
2106
2106
  * Scroll Padding Y
2107
2107
  * @see https://tailwindcss.com/docs/scroll-padding
2108
2108
  */
2109
2109
  "scroll-py": [{
2110
- "scroll-py": x()
2110
+ "scroll-py": w()
2111
2111
  }],
2112
2112
  /**
2113
2113
  * Scroll Padding Start
2114
2114
  * @see https://tailwindcss.com/docs/scroll-padding
2115
2115
  */
2116
2116
  "scroll-ps": [{
2117
- "scroll-ps": x()
2117
+ "scroll-ps": w()
2118
2118
  }],
2119
2119
  /**
2120
2120
  * Scroll Padding End
2121
2121
  * @see https://tailwindcss.com/docs/scroll-padding
2122
2122
  */
2123
2123
  "scroll-pe": [{
2124
- "scroll-pe": x()
2124
+ "scroll-pe": w()
2125
2125
  }],
2126
2126
  /**
2127
2127
  * Scroll Padding Top
2128
2128
  * @see https://tailwindcss.com/docs/scroll-padding
2129
2129
  */
2130
2130
  "scroll-pt": [{
2131
- "scroll-pt": x()
2131
+ "scroll-pt": w()
2132
2132
  }],
2133
2133
  /**
2134
2134
  * Scroll Padding Right
2135
2135
  * @see https://tailwindcss.com/docs/scroll-padding
2136
2136
  */
2137
2137
  "scroll-pr": [{
2138
- "scroll-pr": x()
2138
+ "scroll-pr": w()
2139
2139
  }],
2140
2140
  /**
2141
2141
  * Scroll Padding Bottom
2142
2142
  * @see https://tailwindcss.com/docs/scroll-padding
2143
2143
  */
2144
2144
  "scroll-pb": [{
2145
- "scroll-pb": x()
2145
+ "scroll-pb": w()
2146
2146
  }],
2147
2147
  /**
2148
2148
  * Scroll Padding Left
2149
2149
  * @see https://tailwindcss.com/docs/scroll-padding
2150
2150
  */
2151
2151
  "scroll-pl": [{
2152
- "scroll-pl": x()
2152
+ "scroll-pl": w()
2153
2153
  }],
2154
2154
  /**
2155
2155
  * Scroll Snap Align
@@ -2217,7 +2217,7 @@ const S = (e) => {
2217
2217
  * @see https://tailwindcss.com/docs/will-change
2218
2218
  */
2219
2219
  "will-change": [{
2220
- "will-change": ["auto", "scroll", "contents", "transform", g]
2220
+ "will-change": ["auto", "scroll", "contents", "transform", b]
2221
2221
  }],
2222
2222
  // SVG
2223
2223
  /**
@@ -2232,7 +2232,7 @@ const S = (e) => {
2232
2232
  * @see https://tailwindcss.com/docs/stroke-width
2233
2233
  */
2234
2234
  "stroke-w": [{
2235
- stroke: [U, K, ae]
2235
+ stroke: [$, U, ie]
2236
2236
  }],
2237
2237
  /**
2238
2238
  * Stroke
@@ -2307,11 +2307,11 @@ const S = (e) => {
2307
2307
  "font-size": ["leading"]
2308
2308
  }
2309
2309
  };
2310
- }, Xt = /* @__PURE__ */ jt(Ht);
2311
- function N(...e) {
2312
- return Xt(qe(e));
2310
+ }, Zt = /* @__PURE__ */ Rt(Xt);
2311
+ function C(...e) {
2312
+ return Zt(Me(e));
2313
2313
  }
2314
- const Zt = Ee(
2314
+ const Qt = Fe(
2315
2315
  "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 hover-elevate active-elevate-2",
2316
2316
  {
2317
2317
  variants: {
@@ -2342,23 +2342,23 @@ const Zt = Ee(
2342
2342
  size: "default"
2343
2343
  }
2344
2344
  }
2345
- ), L = I.forwardRef(
2345
+ ), R = I.forwardRef(
2346
2346
  ({ className: e, variant: r, size: t, asChild: a = !1, ...o }, i) => /* @__PURE__ */ n(
2347
- a ? nt : "button",
2347
+ a ? ot : "button",
2348
2348
  {
2349
- className: N(Zt({ variant: r, size: t, className: e })),
2349
+ className: C(Qt({ variant: r, size: t, className: e })),
2350
2350
  ref: i,
2351
2351
  ...o
2352
2352
  }
2353
2353
  )
2354
2354
  );
2355
- L.displayName = "Button";
2356
- const M = I.forwardRef(
2355
+ R.displayName = "Button";
2356
+ const L = I.forwardRef(
2357
2357
  ({ className: e, type: r, ...t }, a) => /* @__PURE__ */ n(
2358
2358
  "input",
2359
2359
  {
2360
2360
  type: r,
2361
- className: N(
2361
+ className: C(
2362
2362
  "flex h-9 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
2363
2363
  e
2364
2364
  ),
@@ -2367,161 +2367,161 @@ const M = I.forwardRef(
2367
2367
  }
2368
2368
  )
2369
2369
  );
2370
- M.displayName = "Input";
2371
- const Qt = ne.Provider, Yt = ne.Root, er = ne.Trigger, Be = I.forwardRef(({ className: e, sideOffset: r = 4, ...t }, a) => /* @__PURE__ */ n(
2370
+ L.displayName = "Input";
2371
+ const Yt = ne.Provider, er = ne.Root, tr = ne.Trigger, $e = I.forwardRef(({ className: e, sideOffset: r = 4, ...t }, a) => /* @__PURE__ */ n(
2372
2372
  ne.Content,
2373
2373
  {
2374
2374
  ref: a,
2375
2375
  sideOffset: r,
2376
- className: N(
2376
+ className: C(
2377
2377
  "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",
2378
2378
  e
2379
2379
  ),
2380
2380
  ...t
2381
2381
  }
2382
2382
  ));
2383
- Be.displayName = ne.Content.displayName;
2384
- const tr = B.Root, rr = B.Portal, $e = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2385
- B.Overlay,
2383
+ $e.displayName = ne.Content.displayName;
2384
+ const rr = D.Root, nr = D.Portal, _e = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2385
+ D.Overlay,
2386
2386
  {
2387
2387
  ref: t,
2388
- className: N(
2388
+ className: C(
2389
2389
  "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
2390
2390
  e
2391
2391
  ),
2392
2392
  ...r
2393
2393
  }
2394
2394
  ));
2395
- $e.displayName = B.Overlay.displayName;
2396
- const _e = I.forwardRef(({ className: e, children: r, ...t }, a) => /* @__PURE__ */ l(rr, { children: [
2397
- /* @__PURE__ */ n($e, {}),
2395
+ _e.displayName = D.Overlay.displayName;
2396
+ const Je = I.forwardRef(({ className: e, children: r, ...t }, a) => /* @__PURE__ */ l(nr, { children: [
2397
+ /* @__PURE__ */ n(_e, {}),
2398
2398
  /* @__PURE__ */ l(
2399
- B.Content,
2399
+ D.Content,
2400
2400
  {
2401
2401
  ref: a,
2402
- className: N(
2402
+ className: C(
2403
2403
  "fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 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 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",
2404
2404
  e
2405
2405
  ),
2406
2406
  ...t,
2407
2407
  children: [
2408
2408
  r,
2409
- /* @__PURE__ */ l(B.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
2410
- /* @__PURE__ */ n(ot, { className: "h-4 w-4" }),
2409
+ /* @__PURE__ */ l(D.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground", children: [
2410
+ /* @__PURE__ */ n(at, { className: "h-4 w-4" }),
2411
2411
  /* @__PURE__ */ n("span", { className: "sr-only", children: "Close" })
2412
2412
  ] })
2413
2413
  ]
2414
2414
  }
2415
2415
  )
2416
2416
  ] }));
2417
- _e.displayName = B.Content.displayName;
2418
- const Je = ({
2417
+ Je.displayName = D.Content.displayName;
2418
+ const Ue = ({
2419
2419
  className: e,
2420
2420
  ...r
2421
2421
  }) => /* @__PURE__ */ n(
2422
2422
  "div",
2423
2423
  {
2424
- className: N(
2424
+ className: C(
2425
2425
  "flex flex-col space-y-1.5 text-center sm:text-left",
2426
2426
  e
2427
2427
  ),
2428
2428
  ...r
2429
2429
  }
2430
2430
  );
2431
- Je.displayName = "DialogHeader";
2432
- const Ue = ({
2431
+ Ue.displayName = "DialogHeader";
2432
+ const We = ({
2433
2433
  className: e,
2434
2434
  ...r
2435
2435
  }) => /* @__PURE__ */ n(
2436
2436
  "div",
2437
2437
  {
2438
- className: N(
2438
+ className: C(
2439
2439
  "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
2440
2440
  e
2441
2441
  ),
2442
2442
  ...r
2443
2443
  }
2444
2444
  );
2445
- Ue.displayName = "DialogFooter";
2446
- const We = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2447
- B.Title,
2445
+ We.displayName = "DialogFooter";
2446
+ const Ke = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2447
+ D.Title,
2448
2448
  {
2449
2449
  ref: t,
2450
- className: N(
2450
+ className: C(
2451
2451
  "text-lg font-semibold leading-none tracking-tight",
2452
2452
  e
2453
2453
  ),
2454
2454
  ...r
2455
2455
  }
2456
2456
  ));
2457
- We.displayName = B.Title.displayName;
2458
- const nr = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2459
- B.Description,
2457
+ Ke.displayName = D.Title.displayName;
2458
+ const or = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2459
+ D.Description,
2460
2460
  {
2461
2461
  ref: t,
2462
- className: N("text-sm text-muted-foreground", e),
2462
+ className: C("text-sm text-muted-foreground", e),
2463
2463
  ...r
2464
2464
  }
2465
2465
  ));
2466
- nr.displayName = B.Description.displayName;
2467
- const or = Ee(
2466
+ or.displayName = D.Description.displayName;
2467
+ const ar = Fe(
2468
2468
  "text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"
2469
- ), P = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2470
- Le.Root,
2469
+ ), z = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2470
+ qe.Root,
2471
2471
  {
2472
2472
  ref: t,
2473
- className: N(or(), e),
2473
+ className: C(ar(), e),
2474
2474
  ...r
2475
2475
  }
2476
2476
  ));
2477
- P.displayName = Le.Root.displayName;
2478
- const ze = A.Root, Pe = A.Value, le = I.forwardRef(({ className: e, children: r, ...t }, a) => /* @__PURE__ */ l(
2479
- A.Trigger,
2477
+ z.displayName = qe.Root.displayName;
2478
+ const Ae = P.Root, je = P.Value, de = I.forwardRef(({ className: e, children: r, ...t }, a) => /* @__PURE__ */ l(
2479
+ P.Trigger,
2480
2480
  {
2481
2481
  ref: a,
2482
- className: N(
2482
+ className: C(
2483
2483
  "flex h-9 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background data-[placeholder]:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",
2484
2484
  e
2485
2485
  ),
2486
2486
  ...t,
2487
2487
  children: [
2488
2488
  r,
2489
- /* @__PURE__ */ n(A.Icon, { asChild: !0, children: /* @__PURE__ */ n(ge, { className: "h-4 w-4 opacity-50" }) })
2489
+ /* @__PURE__ */ n(P.Icon, { asChild: !0, children: /* @__PURE__ */ n(ye, { className: "h-4 w-4 opacity-50" }) })
2490
2490
  ]
2491
2491
  }
2492
2492
  ));
2493
- le.displayName = A.Trigger.displayName;
2494
- const Ke = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2495
- A.ScrollUpButton,
2493
+ de.displayName = P.Trigger.displayName;
2494
+ const He = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2495
+ P.ScrollUpButton,
2496
2496
  {
2497
2497
  ref: t,
2498
- className: N(
2498
+ className: C(
2499
2499
  "flex cursor-default items-center justify-center py-1",
2500
2500
  e
2501
2501
  ),
2502
2502
  ...r,
2503
- children: /* @__PURE__ */ n(at, { className: "h-4 w-4" })
2503
+ children: /* @__PURE__ */ n(it, { className: "h-4 w-4" })
2504
2504
  }
2505
2505
  ));
2506
- Ke.displayName = A.ScrollUpButton.displayName;
2507
- const He = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2508
- A.ScrollDownButton,
2506
+ He.displayName = P.ScrollUpButton.displayName;
2507
+ const Xe = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2508
+ P.ScrollDownButton,
2509
2509
  {
2510
2510
  ref: t,
2511
- className: N(
2511
+ className: C(
2512
2512
  "flex cursor-default items-center justify-center py-1",
2513
2513
  e
2514
2514
  ),
2515
2515
  ...r,
2516
- children: /* @__PURE__ */ n(ge, { className: "h-4 w-4" })
2516
+ children: /* @__PURE__ */ n(ye, { className: "h-4 w-4" })
2517
2517
  }
2518
2518
  ));
2519
- He.displayName = A.ScrollDownButton.displayName;
2520
- const de = I.forwardRef(({ className: e, children: r, position: t = "popper", ...a }, o) => /* @__PURE__ */ n(A.Portal, { children: /* @__PURE__ */ l(
2521
- A.Content,
2519
+ Xe.displayName = P.ScrollDownButton.displayName;
2520
+ const ce = I.forwardRef(({ className: e, children: r, position: t = "popper", ...a }, o) => /* @__PURE__ */ n(P.Portal, { children: /* @__PURE__ */ l(
2521
+ P.Content,
2522
2522
  {
2523
2523
  ref: o,
2524
- className: N(
2524
+ className: C(
2525
2525
  "relative z-50 max-h-[--radix-select-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-select-content-transform-origin]",
2526
2526
  t === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
2527
2527
  e
@@ -2529,79 +2529,79 @@ const de = I.forwardRef(({ className: e, children: r, position: t = "popper", ..
2529
2529
  position: t,
2530
2530
  ...a,
2531
2531
  children: [
2532
- /* @__PURE__ */ n(Ke, {}),
2532
+ /* @__PURE__ */ n(He, {}),
2533
2533
  /* @__PURE__ */ n(
2534
- A.Viewport,
2534
+ P.Viewport,
2535
2535
  {
2536
- className: N(
2536
+ className: C(
2537
2537
  "p-1",
2538
2538
  t === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"
2539
2539
  ),
2540
2540
  children: r
2541
2541
  }
2542
2542
  ),
2543
- /* @__PURE__ */ n(He, {})
2543
+ /* @__PURE__ */ n(Xe, {})
2544
2544
  ]
2545
2545
  }
2546
2546
  ) }));
2547
- de.displayName = A.Content.displayName;
2548
- const ar = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2549
- A.Label,
2547
+ ce.displayName = P.Content.displayName;
2548
+ const ir = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2549
+ P.Label,
2550
2550
  {
2551
2551
  ref: t,
2552
- className: N("py-1.5 pl-8 pr-2 text-sm font-semibold", e),
2552
+ className: C("py-1.5 pl-8 pr-2 text-sm font-semibold", e),
2553
2553
  ...r
2554
2554
  }
2555
2555
  ));
2556
- ar.displayName = A.Label.displayName;
2557
- const R = I.forwardRef(({ className: e, children: r, ...t }, a) => /* @__PURE__ */ l(
2558
- A.Item,
2556
+ ir.displayName = P.Label.displayName;
2557
+ const j = I.forwardRef(({ className: e, children: r, ...t }, a) => /* @__PURE__ */ l(
2558
+ P.Item,
2559
2559
  {
2560
2560
  ref: a,
2561
- className: N(
2561
+ className: C(
2562
2562
  "relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
2563
2563
  e
2564
2564
  ),
2565
2565
  ...t,
2566
2566
  children: [
2567
- /* @__PURE__ */ n("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ n(A.ItemIndicator, { children: /* @__PURE__ */ n(je, { className: "h-4 w-4" }) }) }),
2568
- /* @__PURE__ */ n(A.ItemText, { children: r })
2567
+ /* @__PURE__ */ n("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ n(P.ItemIndicator, { children: /* @__PURE__ */ n(Re, { className: "h-4 w-4" }) }) }),
2568
+ /* @__PURE__ */ n(P.ItemText, { children: r })
2569
2569
  ]
2570
2570
  }
2571
2571
  ));
2572
- R.displayName = A.Item.displayName;
2573
- const ir = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2574
- A.Separator,
2572
+ j.displayName = P.Item.displayName;
2573
+ const sr = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2574
+ P.Separator,
2575
2575
  {
2576
2576
  ref: t,
2577
- className: N("-mx-1 my-1 h-px bg-muted", e),
2577
+ className: C("-mx-1 my-1 h-px bg-muted", e),
2578
2578
  ...r
2579
2579
  }
2580
2580
  ));
2581
- ir.displayName = A.Separator.displayName;
2582
- const ce = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2583
- ie.Root,
2581
+ sr.displayName = P.Separator.displayName;
2582
+ const me = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2583
+ se.Root,
2584
2584
  {
2585
2585
  ref: t,
2586
- className: N(
2586
+ className: C(
2587
2587
  "peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",
2588
2588
  e
2589
2589
  ),
2590
2590
  ...r,
2591
2591
  children: /* @__PURE__ */ n(
2592
- ie.Indicator,
2592
+ se.Indicator,
2593
2593
  {
2594
- className: N("flex items-center justify-center text-current"),
2595
- children: /* @__PURE__ */ n(je, { className: "h-4 w-4" })
2594
+ className: C("flex items-center justify-center text-current"),
2595
+ children: /* @__PURE__ */ n(Re, { className: "h-4 w-4" })
2596
2596
  }
2597
2597
  )
2598
2598
  }
2599
2599
  ));
2600
- ce.displayName = ie.Root.displayName;
2601
- const ye = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2600
+ me.displayName = se.Root.displayName;
2601
+ const xe = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2602
2602
  "textarea",
2603
2603
  {
2604
- className: N(
2604
+ className: C(
2605
2605
  "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
2606
2606
  e
2607
2607
  ),
@@ -2609,8 +2609,8 @@ const ye = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
2609
2609
  ...r
2610
2610
  }
2611
2611
  ));
2612
- ye.displayName = "Textarea";
2613
- const sr = (e) => e.trim().toLowerCase().replace(/[^\w\s]/g, "").replace(/\s+/g, "_"), lr = (e, r, t = !1) => {
2612
+ xe.displayName = "Textarea";
2613
+ const lr = (e) => e.trim().toLowerCase().replace(/[^\w\s]/g, "").replace(/\s+/g, "_"), dr = (e, r, t = !1) => {
2614
2614
  const a = (m, d) => {
2615
2615
  r({ ...e, [m]: d });
2616
2616
  };
@@ -2620,7 +2620,7 @@ const sr = (e) => e.trim().toLowerCase().replace(/[^\w\s]/g, "").replace(/\s+/g,
2620
2620
  },
2621
2621
  handleTitleBlur: () => {
2622
2622
  if (t && e.title) {
2623
- const m = sr(e.title);
2623
+ const m = lr(e.title);
2624
2624
  a("key", m);
2625
2625
  }
2626
2626
  },
@@ -2635,7 +2635,7 @@ const sr = (e) => e.trim().toLowerCase().replace(/[^\w\s]/g, "").replace(/\s+/g,
2635
2635
  });
2636
2636
  }
2637
2637
  };
2638
- }, me = {
2638
+ }, ue = {
2639
2639
  string: "String",
2640
2640
  number: "Number",
2641
2641
  integer: "Integer",
@@ -2644,21 +2644,21 @@ const sr = (e) => e.trim().toLowerCase().replace(/[^\w\s]/g, "").replace(/\s+/g,
2644
2644
  array: "Array",
2645
2645
  null: "Null",
2646
2646
  file: "File"
2647
- }, Xe = tt({
2648
- getTypeLabel: (e) => me[e],
2649
- typeLabels: me
2647
+ }, Ze = tt({
2648
+ getTypeLabel: (e) => ue[e],
2649
+ typeLabels: ue
2650
2650
  });
2651
- function dr({
2651
+ function cr({
2652
2652
  children: e,
2653
2653
  customLabels: r = {}
2654
2654
  }) {
2655
- const t = { ...me, ...r }, a = (o) => t[o] || o;
2656
- return /* @__PURE__ */ n(Xe.Provider, { value: { getTypeLabel: a, typeLabels: t }, children: e });
2655
+ const t = { ...ue, ...r }, a = (o) => t[o] || o;
2656
+ return /* @__PURE__ */ n(Ze.Provider, { value: { getTypeLabel: a, typeLabels: t }, children: e });
2657
2657
  }
2658
- function Ze() {
2659
- return et(Xe);
2658
+ function Qe() {
2659
+ return rt(Ze);
2660
2660
  }
2661
- function ue({
2661
+ function pe({
2662
2662
  property: e,
2663
2663
  open: r,
2664
2664
  onOpenChange: t,
@@ -2668,69 +2668,69 @@ function ue({
2668
2668
  propertyLabel: s = { singular: "Property", plural: "Properties" },
2669
2669
  showRegex: c = !1
2670
2670
  }) {
2671
- var w;
2672
- const { typeLabels: m } = Ze(), [d, f] = E(e);
2673
- re(() => {
2674
- r && f(e);
2671
+ var T;
2672
+ const { typeLabels: m } = Qe(), [d, g] = V(e);
2673
+ be(() => {
2674
+ r && g(e);
2675
2675
  }, [e, r]);
2676
2676
  const {
2677
- handleTitleChange: C,
2678
- handleTitleBlur: v,
2679
- handleKeyChange: T,
2680
- handleFieldChange: b,
2681
- handleConstraintChange: u
2682
- } = lr(d, f, i), h = () => {
2683
- var p;
2684
- (p = d.title) != null && p.trim() && (a(d), t(!1));
2685
- }, k = () => {
2686
- f(e), t(!1);
2677
+ handleTitleChange: N,
2678
+ handleTitleBlur: x,
2679
+ handleKeyChange: S,
2680
+ handleFieldChange: y,
2681
+ handleConstraintChange: p
2682
+ } = dr(d, g, i), h = () => {
2683
+ var u;
2684
+ (u = d.title) != null && u.trim() && (a(d), t(!1));
2685
+ }, v = () => {
2686
+ g(e), t(!1);
2687
2687
  };
2688
- return /* @__PURE__ */ n(tr, { open: r, onOpenChange: t, children: /* @__PURE__ */ l(
2689
- _e,
2688
+ return /* @__PURE__ */ n(rr, { open: r, onOpenChange: t, children: /* @__PURE__ */ l(
2689
+ Je,
2690
2690
  {
2691
2691
  className: "max-w-2xl max-h-[80vh] flex flex-col gap-0 p-0",
2692
2692
  "data-testid": "dialog-edit-property",
2693
2693
  children: [
2694
- /* @__PURE__ */ n(Je, { className: "px-6 pt-6 pb-4 shrink-0", children: /* @__PURE__ */ n(We, { children: i ? `Add ${s.singular}` : `Edit ${s.singular}` }) }),
2694
+ /* @__PURE__ */ n(Ue, { className: "px-6 pt-6 pb-4 shrink-0", children: /* @__PURE__ */ n(Ke, { children: i ? `Add ${s.singular}` : `Edit ${s.singular}` }) }),
2695
2695
  /* @__PURE__ */ l("div", { className: "space-y-6 px-6 pb-4 overflow-y-auto flex-1 min-h-0", children: [
2696
2696
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2697
- /* @__PURE__ */ l(P, { className: "flex items-center gap-1.5", children: [
2697
+ /* @__PURE__ */ l(z, { className: "flex items-center gap-1.5", children: [
2698
2698
  /* @__PURE__ */ n("span", { className: "w-1.5 h-1.5 rounded-full bg-red-500" }),
2699
2699
  "Type"
2700
2700
  ] }),
2701
2701
  /* @__PURE__ */ l(
2702
- ze,
2702
+ Ae,
2703
2703
  {
2704
2704
  value: d.type,
2705
- onValueChange: (p) => b("type", p),
2705
+ onValueChange: (u) => y("type", u),
2706
2706
  "data-testid": "select-type-dialog",
2707
2707
  children: [
2708
- /* @__PURE__ */ n(le, { children: /* @__PURE__ */ n(Pe, {}) }),
2709
- /* @__PURE__ */ l(de, { children: [
2710
- /* @__PURE__ */ n(R, { value: "string", children: m.string }),
2711
- /* @__PURE__ */ n(R, { value: "number", children: m.number }),
2712
- /* @__PURE__ */ n(R, { value: "integer", children: m.integer }),
2713
- /* @__PURE__ */ n(R, { value: "boolean", children: m.boolean }),
2714
- /* @__PURE__ */ n(R, { value: "object", children: m.object }),
2715
- /* @__PURE__ */ n(R, { value: "array", children: m.array }),
2716
- /* @__PURE__ */ n(R, { value: "file", children: m.file }),
2717
- /* @__PURE__ */ n(R, { value: "null", children: m.null })
2708
+ /* @__PURE__ */ n(de, { children: /* @__PURE__ */ n(je, {}) }),
2709
+ /* @__PURE__ */ l(ce, { children: [
2710
+ /* @__PURE__ */ n(j, { value: "string", children: m.string }),
2711
+ /* @__PURE__ */ n(j, { value: "number", children: m.number }),
2712
+ /* @__PURE__ */ n(j, { value: "integer", children: m.integer }),
2713
+ /* @__PURE__ */ n(j, { value: "boolean", children: m.boolean }),
2714
+ /* @__PURE__ */ n(j, { value: "object", children: m.object }),
2715
+ /* @__PURE__ */ n(j, { value: "array", children: m.array }),
2716
+ /* @__PURE__ */ n(j, { value: "file", children: m.file }),
2717
+ /* @__PURE__ */ n(j, { value: "null", children: m.null })
2718
2718
  ] })
2719
2719
  ]
2720
2720
  }
2721
2721
  )
2722
2722
  ] }),
2723
2723
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2724
- /* @__PURE__ */ l(P, { className: "flex items-center gap-1.5", children: [
2724
+ /* @__PURE__ */ l(z, { className: "flex items-center gap-1.5", children: [
2725
2725
  /* @__PURE__ */ n("span", { className: "w-1.5 h-1.5 rounded-full bg-red-500" }),
2726
2726
  "Title"
2727
2727
  ] }),
2728
2728
  /* @__PURE__ */ n(
2729
- M,
2729
+ L,
2730
2730
  {
2731
2731
  value: d.title || "",
2732
- onChange: (p) => C(p.target.value),
2733
- onBlur: v,
2732
+ onChange: (u) => N(u.target.value),
2733
+ onBlur: x,
2734
2734
  placeholder: "Property Title",
2735
2735
  "data-testid": "input-title-dialog",
2736
2736
  required: !0
@@ -2742,76 +2742,76 @@ function ue({
2742
2742
  ] })
2743
2743
  ] }),
2744
2744
  i && /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2745
- /* @__PURE__ */ n(P, { children: "Key" }),
2745
+ /* @__PURE__ */ n(z, { children: "Key" }),
2746
2746
  /* @__PURE__ */ n(
2747
- M,
2747
+ L,
2748
2748
  {
2749
2749
  value: d.key,
2750
- onChange: (p) => T(p.target.value),
2750
+ onChange: (u) => S(u.target.value),
2751
2751
  placeholder: "property_key",
2752
2752
  "data-testid": "input-key-dialog"
2753
2753
  }
2754
2754
  )
2755
2755
  ] }),
2756
2756
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2757
- /* @__PURE__ */ n(P, { children: "Description" }),
2757
+ /* @__PURE__ */ n(z, { children: "Description" }),
2758
2758
  /* @__PURE__ */ n(
2759
- ye,
2759
+ xe,
2760
2760
  {
2761
2761
  placeholder: "Optional description",
2762
2762
  value: d.description || "",
2763
- onChange: (p) => b("description", p.target.value),
2763
+ onChange: (u) => y("description", u.target.value),
2764
2764
  rows: 2,
2765
2765
  "data-testid": "input-edit-description"
2766
2766
  }
2767
2767
  )
2768
2768
  ] }),
2769
2769
  d.type === "array" && /* @__PURE__ */ l("div", { className: "space-y-2 border-l-2 border-border pl-4 mt-2", children: [
2770
- /* @__PURE__ */ l(P, { className: "font-semibold text-xs text-muted-foreground", children: [
2770
+ /* @__PURE__ */ l(z, { className: "font-semibold text-xs text-muted-foreground", children: [
2771
2771
  m.array,
2772
2772
  " Items"
2773
2773
  ] }),
2774
2774
  d.items ? /* @__PURE__ */ l("div", { className: "bg-muted/40 p-2 rounded", children: [
2775
2775
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2776
- /* @__PURE__ */ n(P, { children: "Item Type" }),
2776
+ /* @__PURE__ */ n(z, { children: "Item Type" }),
2777
2777
  /* @__PURE__ */ l(
2778
- ze,
2778
+ Ae,
2779
2779
  {
2780
2780
  value: d.items.type,
2781
- onValueChange: (p) => f({
2781
+ onValueChange: (u) => g({
2782
2782
  ...d,
2783
2783
  items: {
2784
2784
  ...d.items,
2785
- type: p
2785
+ type: u
2786
2786
  }
2787
2787
  }),
2788
2788
  children: [
2789
- /* @__PURE__ */ n(le, { children: /* @__PURE__ */ n(Pe, {}) }),
2790
- /* @__PURE__ */ l(de, { children: [
2791
- /* @__PURE__ */ n(R, { value: "string", children: m.string }),
2792
- /* @__PURE__ */ n(R, { value: "number", children: m.number }),
2793
- /* @__PURE__ */ n(R, { value: "integer", children: m.integer }),
2794
- /* @__PURE__ */ n(R, { value: "boolean", children: m.boolean }),
2795
- /* @__PURE__ */ n(R, { value: "object", children: m.object }),
2796
- /* @__PURE__ */ n(R, { value: "array", children: m.array }),
2797
- /* @__PURE__ */ n(R, { value: "file", children: m.file }),
2798
- /* @__PURE__ */ n(R, { value: "null", children: m.null })
2789
+ /* @__PURE__ */ n(de, { children: /* @__PURE__ */ n(je, {}) }),
2790
+ /* @__PURE__ */ l(ce, { children: [
2791
+ /* @__PURE__ */ n(j, { value: "string", children: m.string }),
2792
+ /* @__PURE__ */ n(j, { value: "number", children: m.number }),
2793
+ /* @__PURE__ */ n(j, { value: "integer", children: m.integer }),
2794
+ /* @__PURE__ */ n(j, { value: "boolean", children: m.boolean }),
2795
+ /* @__PURE__ */ n(j, { value: "object", children: m.object }),
2796
+ /* @__PURE__ */ n(j, { value: "array", children: m.array }),
2797
+ /* @__PURE__ */ n(j, { value: "file", children: m.file }),
2798
+ /* @__PURE__ */ n(j, { value: "null", children: m.null })
2799
2799
  ] })
2800
2800
  ]
2801
2801
  }
2802
2802
  )
2803
2803
  ] }),
2804
2804
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2805
- /* @__PURE__ */ n(P, { children: "Item Title" }),
2805
+ /* @__PURE__ */ n(z, { children: "Item Title" }),
2806
2806
  /* @__PURE__ */ n(
2807
- M,
2807
+ L,
2808
2808
  {
2809
2809
  value: d.items.title || "",
2810
- onChange: (p) => f({
2810
+ onChange: (u) => g({
2811
2811
  ...d,
2812
2812
  items: {
2813
2813
  ...d.items,
2814
- title: p.target.value
2814
+ title: u.target.value
2815
2815
  }
2816
2816
  }),
2817
2817
  placeholder: "Item Title"
@@ -2819,12 +2819,12 @@ function ue({
2819
2819
  )
2820
2820
  ] }),
2821
2821
  /* @__PURE__ */ l(
2822
- L,
2822
+ R,
2823
2823
  {
2824
2824
  variant: "ghost",
2825
2825
  size: "sm",
2826
2826
  className: "mt-2",
2827
- onClick: () => f({ ...d, items: void 0 }),
2827
+ onClick: () => g({ ...d, items: void 0 }),
2828
2828
  children: [
2829
2829
  "Remove ",
2830
2830
  m.array,
@@ -2833,12 +2833,12 @@ function ue({
2833
2833
  }
2834
2834
  )
2835
2835
  ] }) : /* @__PURE__ */ l(
2836
- L,
2836
+ R,
2837
2837
  {
2838
2838
  variant: "outline",
2839
2839
  size: "sm",
2840
2840
  onClick: () => {
2841
- f({
2841
+ g({
2842
2842
  ...d,
2843
2843
  items: {
2844
2844
  id: Date.now().toString() + Math.random(),
@@ -2858,15 +2858,15 @@ function ue({
2858
2858
  ] }),
2859
2859
  !o && /* @__PURE__ */ l("div", { className: "flex items-center gap-2", children: [
2860
2860
  /* @__PURE__ */ n(
2861
- ce,
2861
+ me,
2862
2862
  {
2863
2863
  id: "prop-required",
2864
2864
  checked: d.required,
2865
- onCheckedChange: (p) => b("required", p),
2865
+ onCheckedChange: (u) => y("required", u),
2866
2866
  "data-testid": "checkbox-edit-required"
2867
2867
  }
2868
2868
  ),
2869
- /* @__PURE__ */ n(P, { htmlFor: "prop-required", className: "cursor-pointer", children: "Required field" })
2869
+ /* @__PURE__ */ n(z, { htmlFor: "prop-required", className: "cursor-pointer", children: "Required field" })
2870
2870
  ] }),
2871
2871
  d.type === "string" && /* @__PURE__ */ l("details", { className: "border rounded-md", children: [
2872
2872
  /* @__PURE__ */ n("summary", { className: "p-4 cursor-pointer hover:bg-accent/50 transition-colors", children: /* @__PURE__ */ l("h4", { className: "text-sm font-medium inline", children: [
@@ -2876,34 +2876,34 @@ function ue({
2876
2876
  /* @__PURE__ */ l("div", { className: "space-y-4 p-4 pt-0", children: [
2877
2877
  /* @__PURE__ */ l("div", { className: "grid grid-cols-2 gap-4", children: [
2878
2878
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2879
- /* @__PURE__ */ n(P, { htmlFor: "min-length", children: "Minimum Length" }),
2879
+ /* @__PURE__ */ n(z, { htmlFor: "min-length", children: "Minimum Length" }),
2880
2880
  /* @__PURE__ */ n(
2881
- M,
2881
+ L,
2882
2882
  {
2883
2883
  id: "min-length",
2884
2884
  type: "number",
2885
2885
  placeholder: "0",
2886
2886
  value: d.minLength || "",
2887
- onChange: (p) => u(
2887
+ onChange: (u) => p(
2888
2888
  "minLength",
2889
- p.target.value ? parseInt(p.target.value) : void 0
2889
+ u.target.value ? parseInt(u.target.value) : void 0
2890
2890
  ),
2891
2891
  "data-testid": "input-edit-minlength"
2892
2892
  }
2893
2893
  )
2894
2894
  ] }),
2895
2895
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2896
- /* @__PURE__ */ n(P, { htmlFor: "max-length", children: "Maximum Length" }),
2896
+ /* @__PURE__ */ n(z, { htmlFor: "max-length", children: "Maximum Length" }),
2897
2897
  /* @__PURE__ */ n(
2898
- M,
2898
+ L,
2899
2899
  {
2900
2900
  id: "max-length",
2901
2901
  type: "number",
2902
2902
  placeholder: "∞",
2903
2903
  value: d.maxLength || "",
2904
- onChange: (p) => u(
2904
+ onChange: (u) => p(
2905
2905
  "maxLength",
2906
- p.target.value ? parseInt(p.target.value) : void 0
2906
+ u.target.value ? parseInt(u.target.value) : void 0
2907
2907
  ),
2908
2908
  "data-testid": "input-edit-maxlength"
2909
2909
  }
@@ -2911,51 +2911,51 @@ function ue({
2911
2911
  ] })
2912
2912
  ] }),
2913
2913
  c && /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2914
- /* @__PURE__ */ n(P, { htmlFor: "pattern", children: "Pattern (regex)" }),
2914
+ /* @__PURE__ */ n(z, { htmlFor: "pattern", children: "Pattern (regex)" }),
2915
2915
  /* @__PURE__ */ n(
2916
- M,
2916
+ L,
2917
2917
  {
2918
2918
  id: "pattern",
2919
2919
  placeholder: "^[a-z]+$",
2920
2920
  value: d.pattern || "",
2921
- onChange: (p) => u("pattern", p.target.value),
2921
+ onChange: (u) => p("pattern", u.target.value),
2922
2922
  className: "font-mono text-sm",
2923
2923
  "data-testid": "input-edit-pattern"
2924
2924
  }
2925
2925
  )
2926
2926
  ] }),
2927
2927
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2928
- /* @__PURE__ */ n(P, { children: "Enum Values" }),
2929
- /* @__PURE__ */ n("div", { className: "space-y-2", children: [...d.enum || [], ""].map((p, j) => {
2930
- var V;
2928
+ /* @__PURE__ */ n(z, { children: "Enum Values" }),
2929
+ /* @__PURE__ */ n("div", { className: "space-y-2", children: [...d.enum || [], ""].map((u, A) => {
2930
+ var O;
2931
2931
  return /* @__PURE__ */ n(
2932
- M,
2932
+ L,
2933
2933
  {
2934
- placeholder: j === (((V = d.enum) == null ? void 0 : V.length) || 0) ? "Add new value..." : "Enum value",
2935
- value: p,
2936
- onChange: (W) => {
2937
- const F = W.target.value, D = d.enum || [];
2938
- if (j === D.length)
2939
- F.trim() && u("enum", [
2940
- ...D,
2941
- F.trim()
2934
+ placeholder: A === (((O = d.enum) == null ? void 0 : O.length) || 0) ? "Add new value..." : "Enum value",
2935
+ value: u,
2936
+ onChange: (_) => {
2937
+ const M = _.target.value, F = d.enum || [];
2938
+ if (A === F.length)
2939
+ M.trim() && p("enum", [
2940
+ ...F,
2941
+ M.trim()
2942
2942
  ]);
2943
- else if (F.trim()) {
2944
- const q = [...D];
2945
- q[j] = F.trim(), u("enum", q);
2943
+ else if (M.trim()) {
2944
+ const E = [...F];
2945
+ E[A] = M.trim(), p("enum", E);
2946
2946
  } else {
2947
- const q = D.filter(
2948
- (_, $) => $ !== j
2947
+ const E = F.filter(
2948
+ (J, G) => G !== A
2949
2949
  );
2950
- u(
2950
+ p(
2951
2951
  "enum",
2952
- q.length > 0 ? q : void 0
2952
+ E.length > 0 ? E : void 0
2953
2953
  );
2954
2954
  }
2955
2955
  },
2956
- "data-testid": `input-edit-enum-${j}`
2956
+ "data-testid": `input-edit-enum-${A}`
2957
2957
  },
2958
- j
2958
+ A
2959
2959
  );
2960
2960
  }) }),
2961
2961
  /* @__PURE__ */ n("p", { className: "text-xs text-muted-foreground", children: "Enter allowed values (empty fields will be removed)" })
@@ -2966,34 +2966,34 @@ function ue({
2966
2966
  /* @__PURE__ */ n("summary", { className: "p-4 cursor-pointer hover:bg-accent/50 transition-colors", children: /* @__PURE__ */ n("h4", { className: "text-sm font-medium inline", children: "Numeric Constraints" }) }),
2967
2967
  /* @__PURE__ */ n("div", { className: "space-y-4 p-4 pt-0", children: /* @__PURE__ */ l("div", { className: "grid grid-cols-2 gap-4", children: [
2968
2968
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2969
- /* @__PURE__ */ n(P, { htmlFor: "minimum", children: "Minimum Value" }),
2969
+ /* @__PURE__ */ n(z, { htmlFor: "minimum", children: "Minimum Value" }),
2970
2970
  /* @__PURE__ */ n(
2971
- M,
2971
+ L,
2972
2972
  {
2973
2973
  id: "minimum",
2974
2974
  type: "number",
2975
2975
  placeholder: "-∞",
2976
2976
  value: d.minimum ?? "",
2977
- onChange: (p) => u(
2977
+ onChange: (u) => p(
2978
2978
  "minimum",
2979
- p.target.value ? parseFloat(p.target.value) : void 0
2979
+ u.target.value ? parseFloat(u.target.value) : void 0
2980
2980
  ),
2981
2981
  "data-testid": "input-edit-minimum"
2982
2982
  }
2983
2983
  )
2984
2984
  ] }),
2985
2985
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
2986
- /* @__PURE__ */ n(P, { htmlFor: "maximum", children: "Maximum Value" }),
2986
+ /* @__PURE__ */ n(z, { htmlFor: "maximum", children: "Maximum Value" }),
2987
2987
  /* @__PURE__ */ n(
2988
- M,
2988
+ L,
2989
2989
  {
2990
2990
  id: "maximum",
2991
2991
  type: "number",
2992
2992
  placeholder: "∞",
2993
2993
  value: d.maximum ?? "",
2994
- onChange: (p) => u(
2994
+ onChange: (u) => p(
2995
2995
  "maximum",
2996
- p.target.value ? parseFloat(p.target.value) : void 0
2996
+ u.target.value ? parseFloat(u.target.value) : void 0
2997
2997
  ),
2998
2998
  "data-testid": "input-edit-maximum"
2999
2999
  }
@@ -3009,34 +3009,34 @@ function ue({
3009
3009
  /* @__PURE__ */ l("div", { className: "space-y-4 p-4 pt-0", children: [
3010
3010
  /* @__PURE__ */ l("div", { className: "grid grid-cols-2 gap-4", children: [
3011
3011
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
3012
- /* @__PURE__ */ n(P, { htmlFor: "min-items", children: "Minimum Items" }),
3012
+ /* @__PURE__ */ n(z, { htmlFor: "min-items", children: "Minimum Items" }),
3013
3013
  /* @__PURE__ */ n(
3014
- M,
3014
+ L,
3015
3015
  {
3016
3016
  id: "min-items",
3017
3017
  type: "number",
3018
3018
  placeholder: "0",
3019
3019
  value: d.minItems || "",
3020
- onChange: (p) => u(
3020
+ onChange: (u) => p(
3021
3021
  "minItems",
3022
- p.target.value ? parseInt(p.target.value) : void 0
3022
+ u.target.value ? parseInt(u.target.value) : void 0
3023
3023
  ),
3024
3024
  "data-testid": "input-edit-minitems"
3025
3025
  }
3026
3026
  )
3027
3027
  ] }),
3028
3028
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
3029
- /* @__PURE__ */ n(P, { htmlFor: "max-items", children: "Maximum Items" }),
3029
+ /* @__PURE__ */ n(z, { htmlFor: "max-items", children: "Maximum Items" }),
3030
3030
  /* @__PURE__ */ n(
3031
- M,
3031
+ L,
3032
3032
  {
3033
3033
  id: "max-items",
3034
3034
  type: "number",
3035
3035
  placeholder: "∞",
3036
3036
  value: d.maxItems || "",
3037
- onChange: (p) => u(
3037
+ onChange: (u) => p(
3038
3038
  "maxItems",
3039
- p.target.value ? parseInt(p.target.value) : void 0
3039
+ u.target.value ? parseInt(u.target.value) : void 0
3040
3040
  ),
3041
3041
  "data-testid": "input-edit-maxitems"
3042
3042
  }
@@ -3045,35 +3045,35 @@ function ue({
3045
3045
  ] }),
3046
3046
  /* @__PURE__ */ l("div", { className: "flex items-center gap-2", children: [
3047
3047
  /* @__PURE__ */ n(
3048
- ce,
3048
+ me,
3049
3049
  {
3050
3050
  id: "unique-items",
3051
3051
  checked: d.uniqueItems || !1,
3052
- onCheckedChange: (p) => u("uniqueItems", p),
3052
+ onCheckedChange: (u) => p("uniqueItems", u),
3053
3053
  "data-testid": "checkbox-edit-unique"
3054
3054
  }
3055
3055
  ),
3056
- /* @__PURE__ */ n(P, { htmlFor: "unique-items", className: "cursor-pointer", children: "All items must be unique" })
3056
+ /* @__PURE__ */ n(z, { htmlFor: "unique-items", className: "cursor-pointer", children: "All items must be unique" })
3057
3057
  ] })
3058
3058
  ] })
3059
3059
  ] })
3060
3060
  ] }),
3061
- /* @__PURE__ */ l(Ue, { className: "px-6 py-4 border-t bg-background shrink-0", children: [
3061
+ /* @__PURE__ */ l(We, { className: "px-6 py-4 border-t bg-background shrink-0", children: [
3062
3062
  /* @__PURE__ */ n(
3063
- L,
3063
+ R,
3064
3064
  {
3065
3065
  variant: "outline",
3066
- onClick: k,
3066
+ onClick: v,
3067
3067
  "data-testid": "button-cancel",
3068
3068
  children: "Cancel"
3069
3069
  }
3070
3070
  ),
3071
3071
  /* @__PURE__ */ n(
3072
- L,
3072
+ R,
3073
3073
  {
3074
3074
  onClick: h,
3075
3075
  "data-testid": "button-save",
3076
- disabled: !((w = d.title) != null && w.trim()),
3076
+ disabled: !((T = d.title) != null && T.trim()),
3077
3077
  children: "Save Changes"
3078
3078
  }
3079
3079
  )
@@ -3082,8 +3082,8 @@ function ue({
3082
3082
  }
3083
3083
  ) });
3084
3084
  }
3085
- const ve = () => `${Date.now()}-${Math.random()}`;
3086
- function pe({
3085
+ const we = () => `${Date.now()}-${Math.random()}`;
3086
+ function he({
3087
3087
  property: e,
3088
3088
  onUpdate: r,
3089
3089
  onDelete: t,
@@ -3091,52 +3091,52 @@ function pe({
3091
3091
  isArrayItem: o = !1,
3092
3092
  showRegex: i = !1
3093
3093
  }) {
3094
- const { getTypeLabel: s } = Ze(), [c, m] = E(!1), [d, f] = E(null), [C, v] = E(!1), [T, b] = E(!1), [u, h] = E(e.title || "");
3095
- re(() => {
3096
- T || h(e.title || "");
3097
- }, [e.title, T]);
3098
- const k = `h${Math.min(a, 6)}`, w = e.type === "object", p = w && e.children && e.children.length > 0, j = {
3099
- 1: "text-xl",
3094
+ const { getTypeLabel: s } = Qe(), [c, m] = V(!1), [d, g] = V(null), [N, x] = V(!1), [S, y] = V(!1), [p, h] = V(e.title || "");
3095
+ be(() => {
3096
+ S || h(e.title || "");
3097
+ }, [e.title, S]);
3098
+ const v = `h${Math.min(a, 6)}`, T = e.type === "object", u = T && e.children && e.children.length > 0, A = {
3099
+ 1: "text-lg font-semibold",
3100
3100
  2: "text-base",
3101
3101
  3: "text-base",
3102
3102
  4: "text-base",
3103
3103
  5: "text-sm",
3104
3104
  6: "text-sm"
3105
- }[a] || "text-sm", V = (y, O) => {
3106
- const z = e.children.map(
3107
- (G) => G.id === y ? O : G
3105
+ }[a] || "text-sm", O = (f, q) => {
3106
+ const X = e.children.map(
3107
+ (K) => K.id === f ? q : K
3108
3108
  );
3109
- r({ ...e, children: z });
3110
- }, W = (y) => {
3111
- const O = e.children.filter((z) => z.id !== y);
3112
- r({ ...e, children: O });
3113
- }, F = () => {
3114
- const y = {
3115
- id: ve(),
3109
+ r({ ...e, children: X });
3110
+ }, _ = (f) => {
3111
+ const q = e.children.filter((X) => X.id !== f);
3112
+ r({ ...e, children: q });
3113
+ }, M = () => {
3114
+ const f = {
3115
+ id: we(),
3116
3116
  key: "",
3117
3117
  type: "string",
3118
3118
  required: !1
3119
3119
  };
3120
- f(y), v(!0);
3121
- }, D = (y) => {
3120
+ g(f), x(!0);
3121
+ }, F = (f) => {
3122
3122
  r({
3123
3123
  ...e,
3124
- children: [...e.children || [], y]
3125
- }), v(!1), f(null);
3126
- }, q = () => {
3127
- v(!1), f(null);
3128
- }, _ = () => {
3129
- const y = e.title || e.key || "";
3130
- h(y), b(!0);
3131
- }, $ = () => {
3132
- const y = u.trim();
3133
- if (!y) {
3134
- h(e.title || ""), b(!1);
3124
+ children: [...e.children || [], f]
3125
+ }), x(!1), g(null);
3126
+ }, E = () => {
3127
+ x(!1), g(null);
3128
+ }, J = () => {
3129
+ const f = e.title || e.key || "";
3130
+ h(f), y(!0);
3131
+ }, G = () => {
3132
+ const f = p.trim();
3133
+ if (!f) {
3134
+ h(e.title || ""), y(!1);
3135
3135
  return;
3136
3136
  }
3137
- y !== e.title && r({ ...e, title: y }), b(!1);
3138
- }, x = (y) => {
3139
- y.key === "Enter" ? $() : y.key === "Escape" && (h(e.title || ""), b(!1));
3137
+ f !== e.title && r({ ...e, title: f }), y(!1);
3138
+ }, w = (f) => {
3139
+ f.key === "Enter" ? G() : f.key === "Escape" && (h(e.title || ""), y(!1));
3140
3140
  };
3141
3141
  return /* @__PURE__ */ l("div", { className: "group", children: [
3142
3142
  /* @__PURE__ */ l("div", { className: "flex gap-4 items-center rounded-md -mx-2 px-2 py-1 transition-colors hover:bg-accent/50", children: [
@@ -3150,51 +3150,51 @@ function pe({
3150
3150
  children: e.required ? /* @__PURE__ */ n("span", { className: "block w-4 h-4 rounded-full bg-primary" }) : /* @__PURE__ */ n("span", { className: "block w-4 h-4 rounded-full border border-dashed border-gray-400" })
3151
3151
  }
3152
3152
  ),
3153
- T ? /* @__PURE__ */ n(
3154
- M,
3153
+ S ? /* @__PURE__ */ n(
3154
+ L,
3155
3155
  {
3156
- value: u,
3157
- onChange: (y) => h(y.target.value),
3158
- onBlur: $,
3159
- onKeyDown: x,
3156
+ value: p,
3157
+ onChange: (f) => h(f.target.value),
3158
+ onBlur: G,
3159
+ onKeyDown: w,
3160
3160
  autoFocus: !0,
3161
- className: j,
3161
+ className: A,
3162
3162
  placeholder: "Enter title"
3163
3163
  }
3164
3164
  ) : /* @__PURE__ */ l("div", { className: "flex gap-2 flex-wrap", children: [
3165
3165
  /* @__PURE__ */ l("div", { className: "flex items-start gap-2", children: [
3166
3166
  /* @__PURE__ */ n(
3167
- k,
3167
+ v,
3168
3168
  {
3169
- className: `${j} font-medium cursor-pointer hover:text-primary transition-colors leading-none`,
3170
- onClick: _,
3169
+ className: `${A} cursor-pointer hover:text-primary transition-colors leading-none`,
3170
+ onClick: J,
3171
3171
  children: e.title || e.key || /* @__PURE__ */ n("span", { className: "text-muted-foreground italic", children: "unnamed" })
3172
3172
  }
3173
3173
  ),
3174
- /* @__PURE__ */ n(Qt, { children: /* @__PURE__ */ l(Yt, { children: [
3175
- /* @__PURE__ */ n(er, { asChild: !0, children: /* @__PURE__ */ l("span", { children: [
3176
- e.type === "string" && /* @__PURE__ */ n(it, { className: "w-5 h-5 text-muted-foreground" }),
3177
- e.type === "number" && /* @__PURE__ */ n(Ce, { className: "w-5 h-5 text-muted-foreground" }),
3178
- e.type === "integer" && /* @__PURE__ */ n(Ce, { className: "w-5 h-5 text-muted-foreground" }),
3179
- e.type === "boolean" && /* @__PURE__ */ n(st, { className: "w-5 h-5 text-muted-foreground" }),
3180
- e.type === "object" && /* @__PURE__ */ n(lt, { className: "w-5 h-5 text-muted-foreground" }),
3181
- e.type === "array" && /* @__PURE__ */ n(dt, { className: "w-5 h-5 text-muted-foreground" }),
3182
- e.type === "file" && /* @__PURE__ */ n(ct, { className: "w-5 h-5 text-muted-foreground" })
3174
+ /* @__PURE__ */ n(Yt, { children: /* @__PURE__ */ l(er, { children: [
3175
+ /* @__PURE__ */ n(tr, { asChild: !0, children: /* @__PURE__ */ l("span", { children: [
3176
+ e.type === "string" && /* @__PURE__ */ n(st, { className: "w-5 h-5 text-muted-foreground" }),
3177
+ e.type === "number" && /* @__PURE__ */ n(Se, { className: "w-5 h-5 text-muted-foreground" }),
3178
+ e.type === "integer" && /* @__PURE__ */ n(Se, { className: "w-5 h-5 text-muted-foreground" }),
3179
+ e.type === "boolean" && /* @__PURE__ */ n(lt, { className: "w-5 h-5 text-muted-foreground" }),
3180
+ e.type === "object" && /* @__PURE__ */ n(dt, { className: "w-5 h-5 text-muted-foreground" }),
3181
+ e.type === "array" && /* @__PURE__ */ n(ct, { className: "w-5 h-5 text-muted-foreground" }),
3182
+ e.type === "file" && /* @__PURE__ */ n(mt, { className: "w-5 h-5 text-muted-foreground" })
3183
3183
  ] }) }),
3184
- /* @__PURE__ */ l(Be, { side: "top", children: [
3184
+ /* @__PURE__ */ l($e, { side: "top", children: [
3185
3185
  s(e.type),
3186
3186
  e.type === "array" && e.items ? ` of ${s(e.items.type)}` : ""
3187
3187
  ] })
3188
3188
  ] }) }),
3189
3189
  e.type === "object" && /* @__PURE__ */ n(
3190
- L,
3190
+ R,
3191
3191
  {
3192
3192
  variant: "ghost",
3193
3193
  size: "icon",
3194
3194
  className: "opacity-0 group-hover:opacity-100 h-6 w-6",
3195
- onClick: F,
3195
+ onClick: M,
3196
3196
  "data-testid": `button-add-child-${e.id}`,
3197
- children: /* @__PURE__ */ n(te, { className: "!w-5 !h-5" })
3197
+ children: /* @__PURE__ */ n(re, { className: "!w-5 !h-5" })
3198
3198
  }
3199
3199
  )
3200
3200
  ] }),
@@ -3210,54 +3210,54 @@ function pe({
3210
3210
  ] }) }),
3211
3211
  /* @__PURE__ */ l("div", { className: "flex items-center gap-1 opacity-0 group-hover:opacity-100 transition-opacity shrink-0", children: [
3212
3212
  /* @__PURE__ */ n(
3213
- L,
3213
+ R,
3214
3214
  {
3215
3215
  variant: "ghost",
3216
3216
  size: "icon",
3217
3217
  className: "h-7 w-7",
3218
3218
  onClick: () => m(!0),
3219
3219
  "data-testid": `button-edit-${e.id}`,
3220
- children: /* @__PURE__ */ n(mt, { className: "w-3 h-3" })
3220
+ children: /* @__PURE__ */ n(ut, { className: "w-3 h-3" })
3221
3221
  }
3222
3222
  ),
3223
- w && e.type !== "object" && /* @__PURE__ */ n(
3224
- L,
3223
+ T && e.type !== "object" && /* @__PURE__ */ n(
3224
+ R,
3225
3225
  {
3226
3226
  variant: "ghost",
3227
3227
  size: "icon",
3228
3228
  className: "h-7 w-7",
3229
- onClick: F,
3229
+ onClick: M,
3230
3230
  "data-testid": `button-add-child-${e.id}`,
3231
- children: /* @__PURE__ */ n(te, { className: "w-3 h-3" })
3231
+ children: /* @__PURE__ */ n(re, { className: "w-3 h-3" })
3232
3232
  }
3233
3233
  ),
3234
3234
  /* @__PURE__ */ n(
3235
- L,
3235
+ R,
3236
3236
  {
3237
3237
  variant: "ghost",
3238
3238
  size: "icon",
3239
3239
  className: "h-7 w-7 text-muted-foreground hover:text-destructive",
3240
3240
  onClick: t,
3241
3241
  "data-testid": `button-delete-${e.id}`,
3242
- children: /* @__PURE__ */ n(Re, { className: "w-3 h-3" })
3242
+ children: /* @__PURE__ */ n(Le, { className: "w-3 h-3" })
3243
3243
  }
3244
3244
  )
3245
3245
  ] })
3246
3246
  ] }),
3247
- p && /* @__PURE__ */ n(
3247
+ u && /* @__PURE__ */ n(
3248
3248
  "div",
3249
3249
  {
3250
3250
  className: a === 1 ? "ml-6 mt-1 border-l-2 border-border pl-6" : "ml-4 mt-1 border-l border-border pl-4",
3251
- children: e.children.map((y) => /* @__PURE__ */ n(
3252
- pe,
3251
+ children: e.children.map((f) => /* @__PURE__ */ n(
3252
+ he,
3253
3253
  {
3254
- property: y,
3255
- onUpdate: (O) => V(y.id, O),
3256
- onDelete: () => W(y.id),
3254
+ property: f,
3255
+ onUpdate: (q) => O(f.id, q),
3256
+ onDelete: () => _(f.id),
3257
3257
  level: a + 1,
3258
3258
  showRegex: i
3259
3259
  },
3260
- y.id
3260
+ f.id
3261
3261
  ))
3262
3262
  }
3263
3263
  ),
@@ -3271,10 +3271,10 @@ function pe({
3271
3271
  " Items"
3272
3272
  ] }),
3273
3273
  /* @__PURE__ */ n(
3274
- pe,
3274
+ he,
3275
3275
  {
3276
3276
  property: e.items,
3277
- onUpdate: (y) => r({ ...e, items: y }),
3277
+ onUpdate: (f) => r({ ...e, items: f }),
3278
3278
  onDelete: () => r({ ...e, items: void 0 }),
3279
3279
  level: a + 1,
3280
3280
  isArrayItem: !0,
@@ -3285,7 +3285,7 @@ function pe({
3285
3285
  }
3286
3286
  ),
3287
3287
  /* @__PURE__ */ n(
3288
- ue,
3288
+ pe,
3289
3289
  {
3290
3290
  property: e,
3291
3291
  open: c,
@@ -3296,75 +3296,75 @@ function pe({
3296
3296
  showRegex: i
3297
3297
  }
3298
3298
  ),
3299
- C && d && /* @__PURE__ */ n(
3300
- ue,
3299
+ N && d && /* @__PURE__ */ n(
3300
+ pe,
3301
3301
  {
3302
3302
  property: d,
3303
- open: C,
3303
+ open: N,
3304
3304
  isNewProperty: !0,
3305
- onOpenChange: (y) => {
3306
- y || q();
3305
+ onOpenChange: (f) => {
3306
+ f || E();
3307
3307
  },
3308
- onUpdate: D,
3308
+ onUpdate: F,
3309
3309
  showRegex: i
3310
3310
  }
3311
3311
  )
3312
3312
  ] });
3313
3313
  }
3314
- const xe = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
3314
+ const Ne = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
3315
3315
  "div",
3316
3316
  {
3317
3317
  ref: t,
3318
- className: N(
3318
+ className: C(
3319
3319
  "shadcn-card rounded-xl border bg-card border-card-border text-card-foreground shadow-sm",
3320
3320
  e
3321
3321
  ),
3322
3322
  ...r
3323
3323
  }
3324
3324
  ));
3325
- xe.displayName = "Card";
3326
- const cr = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
3325
+ Ne.displayName = "Card";
3326
+ const mr = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
3327
3327
  "div",
3328
3328
  {
3329
3329
  ref: t,
3330
- className: N("flex flex-col space-y-1.5 p-6", e),
3330
+ className: C("flex flex-col space-y-1.5 p-6", e),
3331
3331
  ...r
3332
3332
  }
3333
3333
  ));
3334
- cr.displayName = "CardHeader";
3335
- const mr = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
3334
+ mr.displayName = "CardHeader";
3335
+ const ur = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
3336
3336
  "div",
3337
3337
  {
3338
3338
  ref: t,
3339
- className: N(
3339
+ className: C(
3340
3340
  "text-2xl font-semibold leading-none tracking-tight",
3341
3341
  e
3342
3342
  ),
3343
3343
  ...r
3344
3344
  }
3345
3345
  ));
3346
- mr.displayName = "CardTitle";
3347
- const ur = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
3346
+ ur.displayName = "CardTitle";
3347
+ const pr = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
3348
3348
  "div",
3349
3349
  {
3350
3350
  ref: t,
3351
- className: N("text-sm text-muted-foreground", e),
3351
+ className: C("text-sm text-muted-foreground", e),
3352
3352
  ...r
3353
3353
  }
3354
3354
  ));
3355
- ur.displayName = "CardDescription";
3356
- const pr = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n("div", { ref: t, className: N("p-6 pt-0", e), ...r }));
3357
- pr.displayName = "CardContent";
3358
- const hr = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
3355
+ pr.displayName = "CardDescription";
3356
+ const hr = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n("div", { ref: t, className: C("p-6 pt-0", e), ...r }));
3357
+ hr.displayName = "CardContent";
3358
+ const fr = I.forwardRef(({ className: e, ...r }, t) => /* @__PURE__ */ n(
3359
3359
  "div",
3360
3360
  {
3361
3361
  ref: t,
3362
- className: N("flex items-center p-6 pt-0", e),
3362
+ className: C("flex items-center p-6 pt-0", e),
3363
3363
  ...r
3364
3364
  }
3365
3365
  ));
3366
- hr.displayName = "CardFooter";
3367
- const fr = () => new Promise((e, r) => {
3366
+ fr.displayName = "CardFooter";
3367
+ const gr = () => new Promise((e, r) => {
3368
3368
  const t = document.createElement("input");
3369
3369
  t.type = "file", t.accept = ".json", t.onchange = (a) => {
3370
3370
  var s;
@@ -3384,18 +3384,18 @@ const fr = () => new Promise((e, r) => {
3384
3384
  }
3385
3385
  }, i.onerror = () => r(new Error("Failed to read file")), i.readAsText(o);
3386
3386
  }, t.click();
3387
- }), Qe = (e, r = "schema.json") => {
3387
+ }), Ye = (e, r = "schema.json") => {
3388
3388
  const t = JSON.stringify(e, null, 2), a = new Blob([t], { type: "application/json" }), o = URL.createObjectURL(a), i = document.createElement("a");
3389
3389
  i.href = o, i.download = r, document.body.appendChild(i), i.click(), document.body.removeChild(i), URL.revokeObjectURL(o);
3390
3390
  };
3391
- function gr({ schema: e }) {
3392
- const [r, t] = E(!1), a = JSON.stringify(e, null, 2);
3391
+ function br({ schema: e }) {
3392
+ const [r, t] = V(!1), a = JSON.stringify(e, null, 2);
3393
3393
  return /* @__PURE__ */ l("div", { className: "h-full flex flex-col", children: [
3394
3394
  /* @__PURE__ */ l("div", { className: "flex items-center justify-between p-4 border-b", children: [
3395
3395
  /* @__PURE__ */ n("h2", { className: "text-sm font-medium", children: "JSON Schema Output" }),
3396
3396
  /* @__PURE__ */ l("div", { className: "flex gap-2", children: [
3397
3397
  /* @__PURE__ */ n(
3398
- L,
3398
+ R,
3399
3399
  {
3400
3400
  variant: "outline",
3401
3401
  size: "sm",
@@ -3403,24 +3403,24 @@ function gr({ schema: e }) {
3403
3403
  await navigator.clipboard.writeText(a), t(!0), setTimeout(() => t(!1), 2e3);
3404
3404
  },
3405
3405
  "data-testid": "button-copy",
3406
- children: r ? /* @__PURE__ */ n(ut, { className: "w-4 h-4" }) : /* @__PURE__ */ n(pt, { className: "w-4 h-4" })
3406
+ children: r ? /* @__PURE__ */ n(pt, { className: "w-4 h-4" }) : /* @__PURE__ */ n(ht, { className: "w-4 h-4" })
3407
3407
  }
3408
3408
  ),
3409
3409
  /* @__PURE__ */ n(
3410
- L,
3410
+ R,
3411
3411
  {
3412
3412
  variant: "outline",
3413
3413
  size: "sm",
3414
3414
  onClick: () => {
3415
- Qe(e, "schema.json");
3415
+ Ye(e, "schema.json");
3416
3416
  },
3417
3417
  "data-testid": "button-download",
3418
- children: /* @__PURE__ */ n(ht, { className: "w-4 h-4" })
3418
+ children: /* @__PURE__ */ n(ft, { className: "w-4 h-4" })
3419
3419
  }
3420
3420
  )
3421
3421
  ] })
3422
3422
  ] }),
3423
- /* @__PURE__ */ n("div", { className: "flex-1 overflow-auto", children: /* @__PURE__ */ n(xe, { className: "m-4 bg-muted/30", children: /* @__PURE__ */ n(
3423
+ /* @__PURE__ */ n("div", { className: "flex-1 overflow-auto", children: /* @__PURE__ */ n(Ne, { className: "m-4 bg-muted/30", children: /* @__PURE__ */ n(
3424
3424
  "pre",
3425
3425
  {
3426
3426
  className: "p-6 text-xs font-mono overflow-auto",
@@ -3430,16 +3430,16 @@ function gr({ schema: e }) {
3430
3430
  ) }) })
3431
3431
  ] });
3432
3432
  }
3433
- function br({
3433
+ function yr({
3434
3434
  title: e,
3435
3435
  description: r,
3436
3436
  version: t,
3437
3437
  onUpdate: a
3438
3438
  }) {
3439
- const [o, i] = E(!1);
3440
- return /* @__PURE__ */ l(xe, { className: "p-4", children: [
3439
+ const [o, i] = V(!1);
3440
+ return /* @__PURE__ */ l(Ne, { className: "p-4", children: [
3441
3441
  /* @__PURE__ */ l(
3442
- L,
3442
+ R,
3443
3443
  {
3444
3444
  variant: "ghost",
3445
3445
  onClick: () => i(!o),
@@ -3447,14 +3447,14 @@ function br({
3447
3447
  "data-testid": "button-toggle-metadata",
3448
3448
  children: [
3449
3449
  /* @__PURE__ */ n("h3", { className: "text-sm font-medium", children: "Schema Metadata" }),
3450
- o ? /* @__PURE__ */ n(ge, { className: "w-4 h-4" }) : /* @__PURE__ */ n(ft, { className: "w-4 h-4" })
3450
+ o ? /* @__PURE__ */ n(ye, { className: "w-4 h-4" }) : /* @__PURE__ */ n(gt, { className: "w-4 h-4" })
3451
3451
  ]
3452
3452
  }
3453
3453
  ),
3454
3454
  o && /* @__PURE__ */ l("div", { className: "mt-4 space-y-4", children: [
3455
3455
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
3456
3456
  /* @__PURE__ */ n(
3457
- P,
3457
+ z,
3458
3458
  {
3459
3459
  htmlFor: "schema-title",
3460
3460
  className: "text-xs text-muted-foreground",
@@ -3462,7 +3462,7 @@ function br({
3462
3462
  }
3463
3463
  ),
3464
3464
  /* @__PURE__ */ n(
3465
- M,
3465
+ L,
3466
3466
  {
3467
3467
  id: "schema-title",
3468
3468
  placeholder: "My Schema",
@@ -3474,7 +3474,7 @@ function br({
3474
3474
  ] }),
3475
3475
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
3476
3476
  /* @__PURE__ */ n(
3477
- P,
3477
+ z,
3478
3478
  {
3479
3479
  htmlFor: "schema-description",
3480
3480
  className: "text-xs text-muted-foreground",
@@ -3482,7 +3482,7 @@ function br({
3482
3482
  }
3483
3483
  ),
3484
3484
  /* @__PURE__ */ n(
3485
- ye,
3485
+ xe,
3486
3486
  {
3487
3487
  id: "schema-description",
3488
3488
  placeholder: "Describe your schema...",
@@ -3496,7 +3496,7 @@ function br({
3496
3496
  ] }),
3497
3497
  /* @__PURE__ */ l("div", { className: "space-y-2", children: [
3498
3498
  /* @__PURE__ */ n(
3499
- P,
3499
+ z,
3500
3500
  {
3501
3501
  htmlFor: "schema-version",
3502
3502
  className: "text-xs text-muted-foreground",
@@ -3504,7 +3504,7 @@ function br({
3504
3504
  }
3505
3505
  ),
3506
3506
  /* @__PURE__ */ n(
3507
- M,
3507
+ L,
3508
3508
  {
3509
3509
  id: "schema-version",
3510
3510
  placeholder: "1.0.0",
@@ -3517,30 +3517,30 @@ function br({
3517
3517
  ] })
3518
3518
  ] });
3519
3519
  }
3520
- const yr = (e, r, t = !0) => {
3520
+ const oe = (e, r, t = !0) => {
3521
3521
  const a = {
3522
3522
  type: "object"
3523
3523
  };
3524
3524
  t && r && (r.title && (a.title = r.title), r.description && (a.description = r.description));
3525
- const o = he(e);
3525
+ const o = fe(e);
3526
3526
  Object.keys(o).length > 0 && (a.properties = o);
3527
3527
  const i = e.filter((s) => s.required && s.key).map((s) => s.key);
3528
3528
  return i.length > 0 && (a.required = i), a;
3529
- }, he = (e) => {
3529
+ }, fe = (e) => {
3530
3530
  const r = {};
3531
3531
  return e.forEach((t) => {
3532
3532
  if (!t.key) return;
3533
3533
  const o = { type: t.type === "file" ? "string" : t.type };
3534
- if (t.title && (o.title = t.title), t.description && (o.description = t.description), t.type === "file" && (o.format = "filename"), t.type === "string" && (t.minLength !== void 0 && (o.minLength = t.minLength), t.maxLength !== void 0 && (o.maxLength = t.maxLength), t.pattern && (o.pattern = t.pattern), t.enum && t.enum.length > 0 && (o.enum = t.enum)), (t.type === "number" || t.type === "integer") && (t.minimum !== void 0 && (o.minimum = t.minimum), t.maximum !== void 0 && (o.maximum = t.maximum)), t.type === "array" && (t.minItems !== void 0 && (o.minItems = t.minItems), t.maxItems !== void 0 && (o.maxItems = t.maxItems), t.uniqueItems && (o.uniqueItems = t.uniqueItems), t.items && (o.items = he([t.items])[t.items.key] || {
3534
+ if (t.title && (o.title = t.title), t.description && (o.description = t.description), t.type === "file" && (o.format = "filename"), t.type === "string" && (t.minLength !== void 0 && (o.minLength = t.minLength), t.maxLength !== void 0 && (o.maxLength = t.maxLength), t.pattern && (o.pattern = t.pattern), t.enum && t.enum.length > 0 && (o.enum = t.enum)), (t.type === "number" || t.type === "integer") && (t.minimum !== void 0 && (o.minimum = t.minimum), t.maximum !== void 0 && (o.maximum = t.maximum)), t.type === "array" && (t.minItems !== void 0 && (o.minItems = t.minItems), t.maxItems !== void 0 && (o.maxItems = t.maxItems), t.uniqueItems && (o.uniqueItems = t.uniqueItems), t.items && (o.items = fe([t.items])[t.items.key] || {
3535
3535
  type: t.items.type
3536
3536
  })), t.type === "object" && t.children && t.children.length > 0) {
3537
- o.properties = he(t.children);
3537
+ o.properties = fe(t.children);
3538
3538
  const i = t.children.filter((s) => s.required && s.key).map((s) => s.key);
3539
3539
  i.length > 0 && (o.required = i);
3540
3540
  }
3541
3541
  r[t.key] = o;
3542
3542
  }), r;
3543
- }, Ae = (e) => {
3543
+ }, vr = (e) => {
3544
3544
  const r = {
3545
3545
  properties: []
3546
3546
  };
@@ -3549,80 +3549,86 @@ const yr = (e, r, t = !0) => {
3549
3549
  description: typeof e.description == "string" ? e.description : "",
3550
3550
  version: "1.0.0"
3551
3551
  // Default version
3552
- }), e.properties && typeof e.properties == "object" && (r.properties = fe(
3552
+ }), e.properties && typeof e.properties == "object" && (r.properties = ge(
3553
3553
  e.properties,
3554
3554
  Array.isArray(e.required) ? e.required : []
3555
3555
  )), r;
3556
- }, fe = (e, r = []) => e ? Object.entries(e).filter(([, t]) => typeof t == "object").map(([t, a]) => {
3556
+ }, ge = (e, r = []) => e ? Object.entries(e).filter(([, t]) => typeof t == "object").map(([t, a]) => {
3557
3557
  const o = a;
3558
3558
  let i = typeof o.type == "string" ? o.type : "string";
3559
3559
  i === "string" && o.format === "filename" && (i = "file");
3560
3560
  const s = {
3561
- id: ve(),
3561
+ id: we(),
3562
3562
  key: t,
3563
3563
  title: typeof o.title == "string" ? o.title : void 0,
3564
3564
  type: i,
3565
3565
  description: typeof o.description == "string" ? o.description : void 0,
3566
3566
  required: r.includes(t)
3567
3567
  };
3568
- return o.minLength !== void 0 && (s.minLength = o.minLength), o.maxLength !== void 0 && (s.maxLength = o.maxLength), o.pattern && (s.pattern = o.pattern), o.enum && Array.isArray(o.enum) && (s.enum = o.enum), o.minimum !== void 0 && (s.minimum = o.minimum), o.maximum !== void 0 && (s.maximum = o.maximum), o.minItems !== void 0 && (s.minItems = o.minItems), o.maxItems !== void 0 && (s.maxItems = o.maxItems), o.uniqueItems && (s.uniqueItems = o.uniqueItems), s.type === "array" && o.items && typeof o.items == "object" && !Array.isArray(o.items) && (s.items = fe(
3568
+ return o.minLength !== void 0 && (s.minLength = o.minLength), o.maxLength !== void 0 && (s.maxLength = o.maxLength), o.pattern && (s.pattern = o.pattern), o.enum && Array.isArray(o.enum) && (s.enum = o.enum), o.minimum !== void 0 && (s.minimum = o.minimum), o.maximum !== void 0 && (s.maximum = o.maximum), o.minItems !== void 0 && (s.minItems = o.minItems), o.maxItems !== void 0 && (s.maxItems = o.maxItems), o.uniqueItems && (s.uniqueItems = o.uniqueItems), s.type === "array" && o.items && typeof o.items == "object" && !Array.isArray(o.items) && (s.items = ge(
3569
3569
  { item: o.items },
3570
3570
  []
3571
- ).find((c) => c.key === "item")), o.properties && typeof o.properties == "object" && (s.children = fe(
3571
+ ).find((c) => c.key === "item")), o.properties && typeof o.properties == "object" && (s.children = ge(
3572
3572
  o.properties,
3573
3573
  Array.isArray(o.required) ? o.required : []
3574
3574
  )), s;
3575
- }) : [], vr = (e = !0) => {
3576
- const [r, t] = E([]), [a, o] = E({
3575
+ }) : [], xr = ({
3576
+ schema: e,
3577
+ onChange: r,
3578
+ includeMetadata: t = !0
3579
+ }) => {
3580
+ const { properties: a, metadata: o } = nt(
3581
+ () => vr(e),
3582
+ [e]
3583
+ ), i = a, s = o || {
3577
3584
  title: "",
3578
3585
  description: "",
3579
3586
  version: ""
3580
- }), i = rt(
3581
- () => yr(r, a, e),
3582
- [r, a, e]
3583
- );
3587
+ }, c = H(() => ({
3588
+ id: we(),
3589
+ key: "",
3590
+ type: "string",
3591
+ required: !1
3592
+ }), []), m = H((y, p) => {
3593
+ const h = i.some((u) => u.id === y);
3594
+ let v;
3595
+ h ? v = i.map((u) => u.id === y ? p : u) : v = [...i, p];
3596
+ const T = oe(v, s, t);
3597
+ r(T);
3598
+ }, [i, s, t, r]), d = H((y) => {
3599
+ const p = i.filter((v) => v.id !== y), h = oe(p, s, t);
3600
+ r(h);
3601
+ }, [i, s, t, r]), g = H(() => {
3602
+ const p = oe([], { title: "", description: "" }, t);
3603
+ r(p);
3604
+ }, [t, r]), N = H((y, p) => {
3605
+ const h = { ...s, [y]: p }, v = oe(i, h, t);
3606
+ r(v);
3607
+ }, [i, s, t, r]), x = H(async () => {
3608
+ const y = await gr();
3609
+ r(y);
3610
+ }, [r]), S = H(() => {
3611
+ Ye(e, "schema.json");
3612
+ }, [e]);
3584
3613
  return {
3585
- properties: r,
3586
- metadata: a,
3587
- schema: i,
3588
- addProperty: () => ({
3589
- id: ve(),
3590
- key: "",
3591
- type: "string",
3592
- required: !1
3593
- }),
3594
- updateProperty: (b, u) => {
3595
- t((h) => h.some((w) => w.id === b) ? h.map((w) => w.id === b ? u : w) : [...h, u]);
3596
- },
3597
- deleteProperty: (b) => {
3598
- t((u) => u.filter((h) => h.id !== b));
3599
- },
3600
- clearAll: () => {
3601
- t([]), o({ title: "", description: "", version: "" });
3602
- },
3603
- updateMetadata: (b, u) => {
3604
- o((h) => ({ ...h, [b]: u }));
3605
- },
3606
- importSchema: async () => {
3607
- const b = await fr(), u = Ae(b);
3608
- t(u.properties), u.metadata && e && o(u.metadata);
3609
- },
3610
- downloadSchema: () => {
3611
- Qe(i, "schema.json");
3612
- },
3613
- loadSchema: (b) => {
3614
- const u = Ae(b);
3615
- t(u.properties), u.metadata && e && o(u.metadata);
3616
- }
3614
+ properties: i,
3615
+ metadata: s,
3616
+ addProperty: c,
3617
+ updateProperty: m,
3618
+ deleteProperty: d,
3619
+ clearAll: g,
3620
+ updateMetadata: N,
3621
+ importSchema: x,
3622
+ downloadSchema: S
3617
3623
  };
3618
3624
  };
3619
- function xr() {
3620
- const [e, r] = E("light");
3621
- return re(() => {
3625
+ function wr() {
3626
+ const [e, r] = V("light");
3627
+ return be(() => {
3622
3628
  const o = localStorage.getItem("theme") || (window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");
3623
3629
  r(o), document.documentElement.classList.toggle("dark", o === "dark");
3624
3630
  }, []), /* @__PURE__ */ n(
3625
- L,
3631
+ R,
3626
3632
  {
3627
3633
  variant: "ghost",
3628
3634
  size: "icon",
@@ -3631,128 +3637,124 @@ function xr() {
3631
3637
  r(a), localStorage.setItem("theme", a), document.documentElement.classList.toggle("dark", a === "dark");
3632
3638
  },
3633
3639
  "data-testid": "button-theme-toggle",
3634
- children: e === "light" ? /* @__PURE__ */ n(gt, { className: "w-4 h-4" }) : /* @__PURE__ */ n(bt, { className: "w-4 h-4" })
3640
+ children: e === "light" ? /* @__PURE__ */ n(bt, { className: "w-4 h-4" }) : /* @__PURE__ */ n(yt, { className: "w-4 h-4" })
3635
3641
  }
3636
3642
  );
3637
3643
  }
3638
- function Sr({
3639
- initialSchema: e,
3640
- onSchemaChange: r,
3644
+ function Ir({
3645
+ schema: e,
3646
+ onChange: r,
3641
3647
  showMetadata: t = !1,
3642
3648
  showImport: a = !0,
3643
3649
  showClear: o = !0,
3644
3650
  showOutput: i = !0,
3645
3651
  showHeader: s = !0,
3646
- className: c = "h-screen",
3652
+ className: c = "",
3647
3653
  showSummary: m = !1,
3648
3654
  typeLabels: d,
3649
- propertyLabel: f = { singular: "property", plural: "properties" },
3650
- showRegex: C = !1
3655
+ propertyLabel: g = { singular: "property", plural: "properties" },
3656
+ showRegex: N = !1
3651
3657
  }) {
3652
- const [v, T] = E(null), [b, u] = E(!1), {
3658
+ const [x, S] = V(null), [y, p] = V(!1), {
3653
3659
  properties: h,
3654
- metadata: k,
3655
- schema: w,
3656
- addProperty: p,
3657
- updateProperty: j,
3658
- deleteProperty: V,
3659
- clearAll: W,
3660
- updateMetadata: F,
3661
- importSchema: D,
3662
- loadSchema: q
3663
- } = vr(t);
3664
- re(() => {
3665
- r && r(w);
3666
- }, [w]), re(() => {
3667
- e && q(e);
3668
- }, [e]);
3669
- const _ = () => {
3670
- const z = p();
3671
- T(z), u(!0);
3672
- }, $ = (z) => {
3673
- j(z.id, z), u(!1), T(null);
3674
- }, x = () => {
3675
- u(!1), T(null);
3676
- }, y = () => {
3677
- W();
3678
- }, O = async () => {
3679
- await D();
3660
+ metadata: v,
3661
+ addProperty: T,
3662
+ updateProperty: u,
3663
+ deleteProperty: A,
3664
+ clearAll: O,
3665
+ updateMetadata: _,
3666
+ importSchema: M
3667
+ } = xr({
3668
+ schema: e,
3669
+ onChange: r,
3670
+ includeMetadata: t
3671
+ }), F = () => {
3672
+ const f = T();
3673
+ S(f), p(!0);
3674
+ }, E = (f) => {
3675
+ u(f.id, f), p(!1), S(null);
3676
+ }, J = () => {
3677
+ p(!1), S(null);
3678
+ }, G = () => {
3679
+ O();
3680
+ }, w = async () => {
3681
+ await M();
3680
3682
  };
3681
- return /* @__PURE__ */ n(dr, { customLabels: d, children: /* @__PURE__ */ l("div", { className: `${c} flex flex-col`, children: [
3683
+ return /* @__PURE__ */ n(cr, { customLabels: d, children: /* @__PURE__ */ l("div", { className: `${c} flex flex-col json-schema-builder-react`, children: [
3682
3684
  s && /* @__PURE__ */ n("header", { className: "h-16 border-b flex items-center justify-between px-6", children: /* @__PURE__ */ l("div", { className: "flex items-center gap-3", children: [
3683
3685
  a && /* @__PURE__ */ n(
3684
- L,
3686
+ R,
3685
3687
  {
3686
3688
  variant: "outline",
3687
3689
  size: "sm",
3688
- onClick: O,
3690
+ onClick: w,
3689
3691
  "data-testid": "button-import",
3690
- children: /* @__PURE__ */ n(yt, { className: "w-4 h-4" })
3692
+ children: /* @__PURE__ */ n(vt, { className: "w-4 h-4" })
3691
3693
  }
3692
3694
  ),
3693
3695
  o && /* @__PURE__ */ n(
3694
- L,
3696
+ R,
3695
3697
  {
3696
3698
  variant: "outline",
3697
3699
  size: "sm",
3698
- onClick: y,
3700
+ onClick: G,
3699
3701
  disabled: h.length === 0,
3700
3702
  "data-testid": "button-clear",
3701
- children: /* @__PURE__ */ n(Re, { className: "w-4 h-4" })
3703
+ children: /* @__PURE__ */ n(Le, { className: "w-4 h-4" })
3702
3704
  }
3703
3705
  ),
3704
- /* @__PURE__ */ n(xr, {})
3706
+ /* @__PURE__ */ n(wr, {})
3705
3707
  ] }) }),
3706
3708
  /* @__PURE__ */ l("div", { className: "flex-1 flex overflow-hidden", children: [
3707
- /* @__PURE__ */ n("div", { className: i ? "w-3/5 border-r" : "w-full", children: /* @__PURE__ */ l("div", { className: "h-full overflow-auto p-6 space-y-4", children: [
3709
+ /* @__PURE__ */ n("div", { className: i ? "w-3/5 border-r" : "w-full", children: /* @__PURE__ */ l("div", { className: "h-full overflow-auto p-2 space-y-4", children: [
3708
3710
  t && /* @__PURE__ */ n(
3709
- br,
3711
+ yr,
3710
3712
  {
3711
- title: k.title,
3712
- description: k.description,
3713
- version: k.version,
3714
- onUpdate: (z, G) => F(z, G)
3713
+ title: v.title,
3714
+ description: v.description,
3715
+ version: v.version,
3716
+ onUpdate: (f, q) => _(f, q)
3715
3717
  }
3716
3718
  ),
3717
3719
  h.length === 0 ? /* @__PURE__ */ l("div", { className: "flex flex-col items-center justify-center py-16 text-center", children: [
3718
- /* @__PURE__ */ n("div", { className: "w-16 h-16 rounded-full bg-muted flex items-center justify-center mb-4", children: /* @__PURE__ */ n(te, { className: "w-8 h-8 text-muted-foreground" }) }),
3720
+ /* @__PURE__ */ n("div", { className: "w-16 h-16 rounded-full bg-muted flex items-center justify-center mb-4", children: /* @__PURE__ */ n(re, { className: "w-8 h-8 text-muted-foreground" }) }),
3719
3721
  /* @__PURE__ */ l("h2", { className: "text-lg font-medium mb-2", children: [
3720
3722
  "No ",
3721
- f.plural,
3723
+ g.plural,
3722
3724
  " yet"
3723
3725
  ] }),
3724
3726
  /* @__PURE__ */ l("p", { className: "text-sm text-muted-foreground mb-6 max-w-sm", children: [
3725
3727
  "Start building your JSON schema by adding your first",
3726
3728
  " ",
3727
- f.singular
3729
+ g.singular
3728
3730
  ] }),
3729
- /* @__PURE__ */ l(L, { onClick: _, "data-testid": "button-add-first", children: [
3730
- /* @__PURE__ */ n(te, { className: "w-4 h-4 mr-2" }),
3731
+ /* @__PURE__ */ l(R, { onClick: F, "data-testid": "button-add-first", children: [
3732
+ /* @__PURE__ */ n(re, { className: "w-4 h-4 mr-2" }),
3731
3733
  "Add ",
3732
- f.singular
3734
+ g.singular
3733
3735
  ] })
3734
- ] }) : /* @__PURE__ */ l(Ye, { children: [
3735
- /* @__PURE__ */ n("div", { className: "space-y-1", children: h.map((z) => /* @__PURE__ */ n(
3736
- pe,
3736
+ ] }) : /* @__PURE__ */ l(et, { children: [
3737
+ /* @__PURE__ */ n("div", { className: "space-y-1", children: h.map((f) => /* @__PURE__ */ n(
3738
+ he,
3737
3739
  {
3738
- property: z,
3739
- onUpdate: (G) => j(z.id, G),
3740
- onDelete: () => V(z.id),
3741
- showRegex: C
3740
+ property: f,
3741
+ onUpdate: (q) => u(f.id, q),
3742
+ onDelete: () => A(f.id),
3743
+ showRegex: N
3742
3744
  },
3743
- z.id
3745
+ f.id
3744
3746
  )) }),
3745
3747
  /* @__PURE__ */ n("div", { className: "pt-6", children: /* @__PURE__ */ l(
3746
- L,
3748
+ R,
3747
3749
  {
3748
- onClick: _,
3750
+ onClick: F,
3749
3751
  className: "w-full",
3750
3752
  variant: "outline",
3751
3753
  "data-testid": "button-add-property",
3752
3754
  children: [
3753
- /* @__PURE__ */ n(te, { className: "w-4 h-4 mr-2" }),
3755
+ /* @__PURE__ */ n(re, { className: "w-4 h-4 mr-2" }),
3754
3756
  "Add ",
3755
- f.singular
3757
+ g.singular
3756
3758
  ]
3757
3759
  }
3758
3760
  ) }),
@@ -3760,44 +3762,34 @@ function Sr({
3760
3762
  /* @__PURE__ */ l("span", { children: [
3761
3763
  h.length,
3762
3764
  " ",
3763
- h.length === 1 ? f.singular : f.plural
3765
+ h.length === 1 ? g.singular : g.plural
3764
3766
  ] }),
3765
3767
  /* @__PURE__ */ l("span", { children: [
3766
- h.filter((z) => z.required).length,
3768
+ h.filter((f) => f.required).length,
3767
3769
  " required"
3768
3770
  ] })
3769
3771
  ] })
3770
3772
  ] })
3771
3773
  ] }) }),
3772
- i && /* @__PURE__ */ n("div", { className: "w-2/5", children: /* @__PURE__ */ n(gr, { schema: w }) })
3774
+ i && /* @__PURE__ */ n("div", { className: "w-2/5", children: /* @__PURE__ */ n(br, { schema: e }) })
3773
3775
  ] }),
3774
- b && v && /* @__PURE__ */ n(
3775
- ue,
3776
+ y && x && /* @__PURE__ */ n(
3777
+ pe,
3776
3778
  {
3777
- property: v,
3778
- open: b,
3779
+ property: x,
3780
+ open: y,
3779
3781
  isNewProperty: !0,
3780
- onOpenChange: (z) => {
3781
- z || x();
3782
+ onOpenChange: (f) => {
3783
+ f || J();
3782
3784
  },
3783
- propertyLabel: f,
3784
- onUpdate: $,
3785
- showRegex: C
3785
+ propertyLabel: g,
3786
+ onUpdate: E,
3787
+ showRegex: N
3786
3788
  }
3787
3789
  )
3788
3790
  ] }) });
3789
3791
  }
3790
3792
  export {
3791
- gr as JsonOutput,
3792
- Sr as JsonSchemaBuilder,
3793
- pe as PropertyDocument,
3794
- ue as PropertyEditDialog,
3795
- br as SchemaMetadataComponent,
3796
- Qe as downloadJsonFile,
3797
- yr as generateSchema,
3798
- fr as importJsonFile,
3799
- Ae as parseSchema,
3800
- lr as usePropertyEditor,
3801
- vr as useSchemaBuilder
3793
+ Ir as JsonSchemaBuilder
3802
3794
  };
3803
3795
  //# sourceMappingURL=index.js.map