@satoshibits/react-json-schema-builder 1.1.2 → 1.1.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/index.cjs14.js +1 -1
- package/dist/index.cjs16.js +1 -1
- package/dist/index.cjs21.js +1 -1
- package/dist/index.cjs21.js.map +1 -1
- package/dist/index.cjs31.js +1 -1
- package/dist/index.cjs34.js +1 -1
- package/dist/index.cjs36.js +1 -1
- package/dist/index.cjs37.js +1 -1
- package/dist/index.cjs37.js.map +1 -1
- package/dist/index.cjs38.js +1 -6
- package/dist/index.cjs38.js.map +1 -1
- package/dist/index.cjs39.js +1 -6
- package/dist/index.cjs39.js.map +1 -1
- package/dist/index.cjs40.js +1 -6
- package/dist/index.cjs40.js.map +1 -1
- package/dist/index.cjs41.js +1 -1
- package/dist/index.cjs41.js.map +1 -1
- package/dist/index.cjs42.js +1 -1
- package/dist/index.cjs42.js.map +1 -1
- package/dist/index.cjs43.js +1 -1
- package/dist/index.cjs43.js.map +1 -1
- package/dist/index.cjs44.js +6 -1
- package/dist/index.cjs44.js.map +1 -1
- package/dist/index.cjs45.js +6 -1
- package/dist/index.cjs45.js.map +1 -1
- package/dist/index.cjs46.js +6 -1
- package/dist/index.cjs46.js.map +1 -1
- package/dist/index.cjs47.js +1 -1
- package/dist/index.cjs55.js +5 -1
- package/dist/index.cjs55.js.map +1 -1
- package/dist/index.cjs56.js +1 -1
- package/dist/index.cjs56.js.map +1 -1
- package/dist/index.cjs57.js +1 -1
- package/dist/index.cjs57.js.map +1 -1
- package/dist/index.cjs58.js +1 -1
- package/dist/index.cjs58.js.map +1 -1
- package/dist/index.cjs59.js +1 -1
- package/dist/index.cjs59.js.map +1 -1
- package/dist/index.cjs60.js +1 -1
- package/dist/index.cjs60.js.map +1 -1
- package/dist/index.cjs61.js +1 -1
- package/dist/index.cjs61.js.map +1 -1
- package/dist/index.cjs62.js +1 -1
- package/dist/index.cjs62.js.map +1 -1
- package/dist/index.cjs63.js +1 -1
- package/dist/index.cjs63.js.map +1 -1
- package/dist/index.cjs64.js +1 -1
- package/dist/index.cjs64.js.map +1 -1
- package/dist/index.cjs65.js +1 -1
- package/dist/index.cjs65.js.map +1 -1
- package/dist/index.cjs66.js +1 -1
- package/dist/index.cjs66.js.map +1 -1
- package/dist/index.cjs67.js +1 -1
- package/dist/index.cjs67.js.map +1 -1
- package/dist/index.cjs68.js +1 -1
- package/dist/index.cjs68.js.map +1 -1
- package/dist/index.cjs69.js +1 -1
- package/dist/index.cjs69.js.map +1 -1
- package/dist/index.cjs70.js +1 -1
- package/dist/index.cjs70.js.map +1 -1
- package/dist/index.cjs71.js +1 -1
- package/dist/index.cjs71.js.map +1 -1
- package/dist/index.cjs72.js +1 -1
- package/dist/index.cjs72.js.map +1 -1
- package/dist/index.cjs73.js +1 -1
- package/dist/index.cjs73.js.map +1 -1
- package/dist/index.cjs74.js +1 -1
- package/dist/index.cjs74.js.map +1 -1
- package/dist/index.cjs75.js +1 -1
- package/dist/index.cjs75.js.map +1 -1
- package/dist/index.cjs76.js +1 -5
- package/dist/index.cjs76.js.map +1 -1
- package/dist/index.cjs77.js +1 -1
- package/dist/index.cjs77.js.map +1 -1
- package/dist/index.cjs78.js +1 -1
- package/dist/index.cjs78.js.map +1 -1
- package/dist/index.cjs79.js +1 -1
- package/dist/index.cjs79.js.map +1 -1
- package/dist/index.cjs80.js +1 -1
- package/dist/index.cjs80.js.map +1 -1
- package/dist/index.cjs81.js +1 -1
- package/dist/index.cjs81.js.map +1 -1
- package/dist/index.cjs82.js +1 -1
- package/dist/index.cjs82.js.map +1 -1
- package/dist/index.cjs87.js +1 -1
- package/dist/index.cjs89.js +1 -1
- package/dist/index.cjs94.js +1 -38
- package/dist/index.cjs94.js.map +1 -1
- package/dist/index.cjs95.js +38 -1
- package/dist/index.cjs95.js.map +1 -1
- package/dist/index.cjs96.js +1 -1
- package/dist/index.cjs96.js.map +1 -1
- package/dist/index.cjs97.js +1 -1
- package/dist/index.cjs97.js.map +1 -1
- package/dist/index.cjs98.js +1 -1
- package/dist/index.cjs98.js.map +1 -1
- package/dist/index.es14.js +4 -4
- package/dist/index.es16.js +5 -5
- package/dist/index.es21.js +53 -50
- package/dist/index.es21.js.map +1 -1
- package/dist/index.es31.js +1 -1
- package/dist/index.es34.js +1 -1
- package/dist/index.es36.js +7 -7
- package/dist/index.es37.js +97 -815
- package/dist/index.es37.js.map +1 -1
- package/dist/index.es38.js +56 -10
- package/dist/index.es38.js.map +1 -1
- package/dist/index.es39.js +24 -10
- package/dist/index.es39.js.map +1 -1
- package/dist/index.es40.js +45 -10
- package/dist/index.es40.js.map +1 -1
- package/dist/index.es41.js +71 -99
- package/dist/index.es41.js.map +1 -1
- package/dist/index.es42.js +56 -52
- package/dist/index.es42.js.map +1 -1
- package/dist/index.es43.js +827 -19
- package/dist/index.es43.js.map +1 -1
- package/dist/index.es44.js +10 -45
- package/dist/index.es44.js.map +1 -1
- package/dist/index.es45.js +10 -86
- package/dist/index.es45.js.map +1 -1
- package/dist/index.es46.js +10 -60
- package/dist/index.es46.js.map +1 -1
- package/dist/index.es47.js +4 -4
- package/dist/index.es55.js +252 -30
- package/dist/index.es55.js.map +1 -1
- package/dist/index.es56.js +21 -6
- package/dist/index.es56.js.map +1 -1
- package/dist/index.es57.js +32 -26
- package/dist/index.es57.js.map +1 -1
- package/dist/index.es58.js +23 -62
- package/dist/index.es58.js.map +1 -1
- package/dist/index.es59.js +6 -29
- package/dist/index.es59.js.map +1 -1
- package/dist/index.es60.js +64 -4
- package/dist/index.es60.js.map +1 -1
- package/dist/index.es61.js +29 -24
- package/dist/index.es61.js.map +1 -1
- package/dist/index.es62.js +5 -3
- package/dist/index.es62.js.map +1 -1
- package/dist/index.es63.js +24 -45
- package/dist/index.es63.js.map +1 -1
- package/dist/index.es64.js +3 -7
- package/dist/index.es64.js.map +1 -1
- package/dist/index.es65.js +44 -123
- package/dist/index.es65.js.map +1 -1
- package/dist/index.es66.js +7 -14
- package/dist/index.es66.js.map +1 -1
- package/dist/index.es67.js +116 -125
- package/dist/index.es67.js.map +1 -1
- package/dist/index.es68.js +14 -10
- package/dist/index.es68.js.map +1 -1
- package/dist/index.es69.js +127 -209
- package/dist/index.es69.js.map +1 -1
- package/dist/index.es70.js +10 -12
- package/dist/index.es70.js.map +1 -1
- package/dist/index.es71.js +215 -7
- package/dist/index.es71.js.map +1 -1
- package/dist/index.es72.js +13 -4
- package/dist/index.es72.js.map +1 -1
- package/dist/index.es73.js +7 -27
- package/dist/index.es73.js.map +1 -1
- package/dist/index.es74.js +3 -49
- package/dist/index.es74.js.map +1 -1
- package/dist/index.es75.js +28 -9
- package/dist/index.es75.js.map +1 -1
- package/dist/index.es76.js +48 -253
- package/dist/index.es76.js.map +1 -1
- package/dist/index.es77.js +8 -21
- package/dist/index.es77.js.map +1 -1
- package/dist/index.es78.js +67 -11
- package/dist/index.es78.js.map +1 -1
- package/dist/index.es79.js +10 -203
- package/dist/index.es79.js.map +1 -1
- package/dist/index.es80.js +203 -20
- package/dist/index.es80.js.map +1 -1
- package/dist/index.es81.js +21 -392
- package/dist/index.es81.js.map +1 -1
- package/dist/index.es82.js +386 -61
- package/dist/index.es82.js.map +1 -1
- package/dist/index.es87.js +1 -1
- package/dist/index.es89.js +4 -4
- package/dist/index.es94.js +65 -69
- package/dist/index.es94.js.map +1 -1
- package/dist/index.es95.js +68 -8
- package/dist/index.es95.js.map +1 -1
- package/dist/index.es96.js +9 -14
- package/dist/index.es96.js.map +1 -1
- package/dist/index.es97.js +14 -62
- package/dist/index.es97.js.map +1 -1
- package/dist/index.es98.js +61 -64
- package/dist/index.es98.js.map +1 -1
- package/dist/packages/builder/add-dialog.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.es21.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { jsx as e, jsxs as i } from "react/jsx-runtime";
|
|
2
2
|
import { Button as x } from "./index.es11.js";
|
|
3
|
-
import { zodResolver as K } from "./index.
|
|
4
|
-
import { Dialog as M, DialogContent as _, DialogHeader as B, DialogTitle as H, DialogDescription as J, DialogFooter as G } from "./index.
|
|
3
|
+
import { zodResolver as K } from "./index.es40.js";
|
|
4
|
+
import { Dialog as M, DialogContent as _, DialogHeader as B, DialogTitle as H, DialogDescription as J, DialogFooter as G } from "./index.es37.js";
|
|
5
5
|
import { Input as O } from "./index.es28.js";
|
|
6
6
|
import { Label as Q } from "./index.es15.js";
|
|
7
7
|
import { Select as A, SelectTrigger as j, SelectValue as F, SelectContent as N, SelectItem as s } from "./index.es14.js";
|
|
8
8
|
import { Switch as U } from "./index.es13.js";
|
|
9
9
|
import { DebouncedInput as V } from "./index.es20.js";
|
|
10
|
-
import { a as
|
|
11
|
-
import W from "./index.
|
|
10
|
+
import { a as b } from "./index.es10.js";
|
|
11
|
+
import W from "./index.es42.js";
|
|
12
12
|
import { useConstraints as X } from "./index.es4.js";
|
|
13
|
-
import Y from "./index.
|
|
14
|
-
import { Separator as Z } from "./index.
|
|
13
|
+
import Y from "./index.es38.js";
|
|
14
|
+
import { Separator as Z } from "./index.es39.js";
|
|
15
15
|
import { z as t } from "zod";
|
|
16
16
|
import { useForm as ee } from "react-hook-form";
|
|
17
|
-
import { Form as re, FormField as
|
|
17
|
+
import { Form as re, FormField as m, FormItem as p, FormLabel as u, FormControl as h, FormMessage as y } from "./index.es41.js";
|
|
18
18
|
const g = t.enum([
|
|
19
19
|
"string",
|
|
20
20
|
"number",
|
|
@@ -63,19 +63,19 @@ function Ce({
|
|
|
63
63
|
}
|
|
64
64
|
}), v = n.watch("constraints"), C = n.watch("property"), I = n.watch("property.enum"), w = n.watch("property.type"), {
|
|
65
65
|
getConstraintDefinitionsForType: k,
|
|
66
|
-
getRendererForConstraint:
|
|
67
|
-
validateConstraintValue:
|
|
66
|
+
getRendererForConstraint: P,
|
|
67
|
+
validateConstraintValue: q
|
|
68
68
|
} = X(), $ = (r) => {
|
|
69
|
-
const { key: o, property: a, required: l, constraints: c } = r,
|
|
69
|
+
const { key: o, property: a, required: l, constraints: c } = r, d = {
|
|
70
70
|
...a,
|
|
71
|
-
...c?.reduce((
|
|
72
|
-
...
|
|
73
|
-
[
|
|
71
|
+
...c?.reduce((f, S) => ({
|
|
72
|
+
...f,
|
|
73
|
+
[S.name]: S.value
|
|
74
74
|
}), {})
|
|
75
75
|
};
|
|
76
|
-
R(o,
|
|
76
|
+
R(o, d, l), n.reset();
|
|
77
77
|
}, z = (r, o) => {
|
|
78
|
-
const a =
|
|
78
|
+
const a = b(v), l = a?.[r];
|
|
79
79
|
if (!l) {
|
|
80
80
|
n.setError(`constraints.${r}`, {
|
|
81
81
|
message: "The constraint was not found",
|
|
@@ -83,24 +83,24 @@ function Ce({
|
|
|
83
83
|
});
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
|
-
const c =
|
|
86
|
+
const c = q(
|
|
87
87
|
l.name,
|
|
88
88
|
o
|
|
89
89
|
);
|
|
90
90
|
if (c.status === "error") {
|
|
91
|
-
let
|
|
92
|
-
c.code === "invalid" && (
|
|
91
|
+
let d = c.message;
|
|
92
|
+
c.code === "invalid" && (d = `${d}: ${c.error?.map((f) => f.message).join(", ")}`), n.setError(`constraints.${r}`, {
|
|
93
93
|
type: c.code,
|
|
94
|
-
message:
|
|
94
|
+
message: d
|
|
95
95
|
});
|
|
96
96
|
return;
|
|
97
97
|
}
|
|
98
98
|
l.value = o, n.setValue("constraints", a), n.clearErrors(`constraints.${r}`);
|
|
99
99
|
}, L = (r) => {
|
|
100
100
|
if (!v) return;
|
|
101
|
-
const a =
|
|
101
|
+
const a = b(v).filter((l) => l.name !== r);
|
|
102
102
|
n.setValue("constraints", a);
|
|
103
|
-
},
|
|
103
|
+
}, D = k(
|
|
104
104
|
typeof C?.type == "string" ? C.type : ""
|
|
105
105
|
);
|
|
106
106
|
return /* @__PURE__ */ e(M, { open: T, onOpenChange: E, children: /* @__PURE__ */ i(_, { "data-testid": "add-property-dialog", children: [
|
|
@@ -111,19 +111,22 @@ function Ce({
|
|
|
111
111
|
/* @__PURE__ */ e(re, { ...n, children: /* @__PURE__ */ i(
|
|
112
112
|
"form",
|
|
113
113
|
{
|
|
114
|
-
onSubmit:
|
|
114
|
+
onSubmit: (r) => {
|
|
115
|
+
r.stopPropagation(), r.preventDefault(), n.handleSubmit($)(r);
|
|
116
|
+
},
|
|
115
117
|
className: "space-y-4",
|
|
116
118
|
"data-testid": "add-property-form",
|
|
119
|
+
id: "add-property-form",
|
|
117
120
|
children: [
|
|
118
121
|
/* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(
|
|
119
|
-
|
|
122
|
+
m,
|
|
120
123
|
{
|
|
121
124
|
control: n.control,
|
|
122
125
|
name: "key",
|
|
123
126
|
render: ({ field: r }) => {
|
|
124
127
|
const { onChange: o, ...a } = r;
|
|
125
|
-
return /* @__PURE__ */ i(
|
|
126
|
-
/* @__PURE__ */ e(
|
|
128
|
+
return /* @__PURE__ */ i(p, { children: [
|
|
129
|
+
/* @__PURE__ */ e(u, { children: "Property Key" }),
|
|
127
130
|
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
|
|
128
131
|
V,
|
|
129
132
|
{
|
|
@@ -137,14 +140,14 @@ function Ce({
|
|
|
137
140
|
}
|
|
138
141
|
) }),
|
|
139
142
|
/* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(
|
|
140
|
-
|
|
143
|
+
m,
|
|
141
144
|
{
|
|
142
145
|
control: n.control,
|
|
143
146
|
name: "property.title",
|
|
144
147
|
render: ({ field: r }) => {
|
|
145
148
|
const { onChange: o, ...a } = r;
|
|
146
|
-
return /* @__PURE__ */ i(
|
|
147
|
-
/* @__PURE__ */ e(
|
|
149
|
+
return /* @__PURE__ */ i(p, { children: [
|
|
150
|
+
/* @__PURE__ */ e(u, { children: "Property Title" }),
|
|
148
151
|
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
|
|
149
152
|
V,
|
|
150
153
|
{
|
|
@@ -158,12 +161,12 @@ function Ce({
|
|
|
158
161
|
}
|
|
159
162
|
) }),
|
|
160
163
|
/* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(
|
|
161
|
-
|
|
164
|
+
m,
|
|
162
165
|
{
|
|
163
166
|
control: n.control,
|
|
164
167
|
name: "property.type",
|
|
165
|
-
render: ({ field: r }) => /* @__PURE__ */ i(
|
|
166
|
-
/* @__PURE__ */ e(
|
|
168
|
+
render: ({ field: r }) => /* @__PURE__ */ i(p, { children: [
|
|
169
|
+
/* @__PURE__ */ e(u, { children: "Type" }),
|
|
167
170
|
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ i(
|
|
168
171
|
A,
|
|
169
172
|
{
|
|
@@ -239,12 +242,12 @@ function Ce({
|
|
|
239
242
|
}
|
|
240
243
|
) }),
|
|
241
244
|
w === "array" && /* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(
|
|
242
|
-
|
|
245
|
+
m,
|
|
243
246
|
{
|
|
244
247
|
control: n.control,
|
|
245
248
|
name: "property.items.type",
|
|
246
|
-
render: ({ field: r }) => /* @__PURE__ */ i(
|
|
247
|
-
/* @__PURE__ */ e(
|
|
249
|
+
render: ({ field: r }) => /* @__PURE__ */ i(p, { children: [
|
|
250
|
+
/* @__PURE__ */ e(u, { children: "Items of type" }),
|
|
248
251
|
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ i(
|
|
249
252
|
A,
|
|
250
253
|
{
|
|
@@ -323,11 +326,11 @@ function Ce({
|
|
|
323
326
|
}
|
|
324
327
|
) }),
|
|
325
328
|
/* @__PURE__ */ e("div", { className: "flex items-center space-x-2", children: /* @__PURE__ */ e(
|
|
326
|
-
|
|
329
|
+
m,
|
|
327
330
|
{
|
|
328
331
|
control: n.control,
|
|
329
332
|
name: "required",
|
|
330
|
-
render: ({ field: r }) => /* @__PURE__ */ i(
|
|
333
|
+
render: ({ field: r }) => /* @__PURE__ */ i(p, { children: [
|
|
331
334
|
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
|
|
332
335
|
U,
|
|
333
336
|
{
|
|
@@ -335,30 +338,30 @@ function Ce({
|
|
|
335
338
|
onCheckedChange: (o) => r.onChange(o)
|
|
336
339
|
}
|
|
337
340
|
) }),
|
|
338
|
-
/* @__PURE__ */ e(
|
|
341
|
+
/* @__PURE__ */ e(u, { children: "Required" }),
|
|
339
342
|
/* @__PURE__ */ e(y, {})
|
|
340
343
|
] })
|
|
341
344
|
}
|
|
342
345
|
) }),
|
|
343
346
|
/* @__PURE__ */ e("div", { className: "space-y-2", children: /* @__PURE__ */ e(
|
|
344
|
-
|
|
347
|
+
m,
|
|
345
348
|
{
|
|
346
349
|
control: n.control,
|
|
347
350
|
name: "property.description",
|
|
348
|
-
render: ({ field: r }) => /* @__PURE__ */ i(
|
|
349
|
-
/* @__PURE__ */ e(
|
|
351
|
+
render: ({ field: r }) => /* @__PURE__ */ i(p, { children: [
|
|
352
|
+
/* @__PURE__ */ e(u, { children: "Description" }),
|
|
350
353
|
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(O, { ...r }) }),
|
|
351
354
|
/* @__PURE__ */ e(y, {})
|
|
352
355
|
] })
|
|
353
356
|
}
|
|
354
357
|
) }),
|
|
355
358
|
I ? /* @__PURE__ */ e(
|
|
356
|
-
|
|
359
|
+
m,
|
|
357
360
|
{
|
|
358
361
|
control: n.control,
|
|
359
362
|
name: "property.enum",
|
|
360
|
-
render: ({ field: r }) => /* @__PURE__ */ i(
|
|
361
|
-
/* @__PURE__ */ e(
|
|
363
|
+
render: ({ field: r }) => /* @__PURE__ */ i(p, { children: [
|
|
364
|
+
/* @__PURE__ */ e(u, { children: "Enum" }),
|
|
362
365
|
/* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
|
|
363
366
|
W,
|
|
364
367
|
{
|
|
@@ -368,7 +371,7 @@ function Ce({
|
|
|
368
371
|
r.value && a.push(...r.value), a.push(o), r.onChange(a);
|
|
369
372
|
},
|
|
370
373
|
onRemoveValue: (o) => {
|
|
371
|
-
const a =
|
|
374
|
+
const a = b(r.value ?? []);
|
|
372
375
|
a.splice(o, 1), r.onChange(a);
|
|
373
376
|
}
|
|
374
377
|
}
|
|
@@ -377,13 +380,13 @@ function Ce({
|
|
|
377
380
|
] })
|
|
378
381
|
}
|
|
379
382
|
) : null,
|
|
380
|
-
|
|
383
|
+
D.length ? /* @__PURE__ */ i("div", { className: "space-y-2", children: [
|
|
381
384
|
/* @__PURE__ */ e(Q, { children: "Constraints" }),
|
|
382
385
|
/* @__PURE__ */ e(
|
|
383
386
|
Y,
|
|
384
387
|
{
|
|
385
388
|
addedConstraints: v ?? [],
|
|
386
|
-
availableDefinitions:
|
|
389
|
+
availableDefinitions: D,
|
|
387
390
|
onAdd: (r) => {
|
|
388
391
|
n.setValue("constraints", r);
|
|
389
392
|
}
|
|
@@ -391,7 +394,7 @@ function Ce({
|
|
|
391
394
|
),
|
|
392
395
|
/* @__PURE__ */ e(Z, {}),
|
|
393
396
|
v?.map((r, o) => {
|
|
394
|
-
const a =
|
|
397
|
+
const a = P(r.name);
|
|
395
398
|
if (!a) return null;
|
|
396
399
|
const l = n.formState.errors.constraints?.[o];
|
|
397
400
|
let c;
|
|
@@ -403,8 +406,8 @@ function Ce({
|
|
|
403
406
|
{
|
|
404
407
|
constraintName: r.name,
|
|
405
408
|
value: r.value,
|
|
406
|
-
onConstraintChange: (
|
|
407
|
-
z(o,
|
|
409
|
+
onConstraintChange: (d) => {
|
|
410
|
+
z(o, d);
|
|
408
411
|
},
|
|
409
412
|
onRemoveConstraint: () => {
|
|
410
413
|
L(r.name);
|
|
@@ -415,7 +418,7 @@ function Ce({
|
|
|
415
418
|
);
|
|
416
419
|
})
|
|
417
420
|
] }) : null,
|
|
418
|
-
/* @__PURE__ */ e(G, { children: /* @__PURE__ */ e(x, { type: "submit", children: "Add Property" }) })
|
|
421
|
+
/* @__PURE__ */ e(G, { children: /* @__PURE__ */ e(x, { type: "submit", form: "add-property-form", children: "Add Property" }) })
|
|
419
422
|
]
|
|
420
423
|
}
|
|
421
424
|
) })
|
package/dist/index.es21.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es21.js","sources":["../src/packages/builder/add-dialog.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\n\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogFooter,\n DialogDescription,\n} from \"@/components/ui/dialog\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Switch } from \"@/components/ui/switch\";\nimport type { JSONSchema7, JSONSchema7TypeName } from \"json-schema\";\nimport { DebouncedInput } from \"@/components/depounced-input\";\nimport { clone } from \"remeda\";\nimport MultiInput from \"@/components/multi-input\";\nimport { Constraint, useConstraints } from \"@/packages/constraints/context\";\nimport ConstraintsAdd from \"@/packages/constraints/constraint-add\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { z } from \"zod\";\nimport { useForm } from \"react-hook-form\";\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from \"@/components/ui/form\";\nimport type { OperationError } from \"./shared-types\";\n\nexport interface AddPropertyDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n onSubmit: (key: string, property: JSONSchema7, required: boolean) => void;\n}\n\nconst zodJsonTypes = z.enum([\n \"string\",\n \"number\",\n \"integer\",\n \"boolean\",\n \"object\",\n \"array\",\n \"null\",\n]);\n\nexport const AddFormSchema = z.object({\n key: z\n .string()\n .trim()\n .min(1, { message: \"Key must be at least 1 character long\" }),\n property: z.object({\n title: z\n .string()\n .trim()\n .min(1, { message: \"Title must be at least 1 character long\" }),\n type: zodJsonTypes.or(z.array(zodJsonTypes)),\n description: z.string().optional(),\n enum: z\n .array(\n z\n .string()\n .or(z.number())\n .or(z.null())\n .or(z.boolean())\n .or(z.record(z.string(), z.any())),\n )\n .optional(),\n items: z\n .object({\n type: zodJsonTypes.or(z.array(zodJsonTypes)),\n })\n //only to satisfy the other types but we actually don't handle it\n .or(\n z.array(\n z\n .object({ type: zodJsonTypes.or(z.array(zodJsonTypes)) })\n .or(z.boolean()),\n ),\n )\n .or(z.boolean())\n .optional(),\n }),\n required: z.boolean().default(false),\n constraints: z\n .array(\n z.custom<Constraint>(() => ({\n name: z.string().trim().min(1),\n value: z.any(),\n })),\n )\n .optional(),\n});\n\n/**\n * Handles adding a property to a parent JSON schema's \"properties\".\n * This means you are working under a child property.\n */\nexport function AddPropertyDialog({\n open,\n onOpenChange,\n onSubmit,\n}: AddPropertyDialogProps) {\n const form = useForm<z.infer<typeof AddFormSchema>>({\n resolver: zodResolver(AddFormSchema),\n defaultValues: {\n key: \"\",\n property: {\n title: \"\",\n },\n },\n });\n\n const currentConstraints = form.watch(\"constraints\");\n const currentProperty = form.watch(\"property\");\n const currentEnum = form.watch(\"property.enum\");\n const currentType = form.watch(\"property.type\");\n\n const {\n getConstraintDefinitionsForType,\n getRendererForConstraint,\n validateConstraintValue,\n } = useConstraints();\n\n const handleSubmit = (data: z.infer<typeof AddFormSchema>) => {\n const { key, property, required, constraints } = data;\n const propertyToSubmit: JSONSchema7 = {\n ...property,\n ...constraints?.reduce((acc, constraint) => {\n return {\n ...acc,\n [constraint.name]: constraint.value,\n } satisfies JSONSchema7;\n }, {}),\n };\n onSubmit(key, propertyToSubmit, required);\n form.reset();\n };\n\n const handleConstraintChange = (\n index: number,\n newVal: Constraint[\"value\"],\n ) => {\n const constraintsCopy = clone(currentConstraints);\n\n const constraintToChange = constraintsCopy?.[index];\n\n if (!constraintToChange) {\n form.setError(`constraints.${index}`, {\n message: \"The constraint was not found\",\n type: \"constraint_not_found\",\n });\n return;\n }\n\n const validationResult = validateConstraintValue(\n constraintToChange.name,\n newVal,\n );\n\n if (validationResult.status === \"error\") {\n let message = validationResult.message;\n if (validationResult.code === \"invalid\") {\n message = `${message}: ${validationResult.error?.map((i) => i.message).join(\", \")}`;\n }\n form.setError(`constraints.${index}`, {\n type: validationResult.code,\n message,\n });\n return;\n }\n\n //edit reference\n constraintToChange.value = newVal;\n form.setValue(\"constraints\", constraintsCopy);\n form.clearErrors(`constraints.${index}`);\n };\n\n const handleRemoveConstraint = (constraintName: Constraint[\"name\"]) => {\n if (!currentConstraints) return;\n const copy = clone(currentConstraints);\n const newConstraints = copy.filter((c) => c.name !== constraintName);\n form.setValue(\"constraints\", newConstraints);\n };\n\n const availableDefinitions = getConstraintDefinitionsForType(\n typeof currentProperty?.type === \"string\" ? currentProperty.type : \"\",\n );\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent data-testid=\"add-property-dialog\">\n <DialogHeader>\n <DialogTitle>Add</DialogTitle>\n <DialogDescription>\n Required property values and constraints\n </DialogDescription>\n </DialogHeader>\n <Form {...form}>\n <form\n onSubmit={form.handleSubmit(handleSubmit)}\n className=\"space-y-4\"\n data-testid=\"add-property-form\"\n >\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"key\"\n render={({ field }) => {\n // Pull the onChange since debounced input should\n // be calling onDebounce instead\n const { onChange, ...rest } = field;\n\n return (\n <FormItem>\n <FormLabel>Property Key</FormLabel>\n <FormControl>\n <DebouncedInput\n {...rest}\n onDebounce={(newVal) => onChange(newVal)}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.title\"\n render={({ field }) => {\n const { onChange, ...rest } = field;\n return (\n <FormItem>\n <FormLabel>Property Title</FormLabel>\n <FormControl>\n <DebouncedInput\n {...rest}\n onDebounce={(newVal) => onChange(newVal)}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.type\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Type</FormLabel>\n <FormControl>\n <Select\n value={\n !Array.isArray(field.value)\n ? field.value\n : undefined\n }\n onValueChange={(newVal) => {\n if (newVal === \"enum\") {\n form.setValue(\"property.enum\", []);\n } else {\n form.setValue(\"property.enum\", undefined);\n }\n\n // If changing away from array, clear any array item errors\n if (field.value === \"array\" && newVal !== \"array\") {\n form.clearErrors(\"property.items\");\n form.setValue(\"property.items\", undefined);\n }\n\n field.onChange(newVal);\n }}\n >\n <SelectTrigger\n className=\"w-full\"\n aria-label=\"Select type\"\n >\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n value={\"string\" satisfies JSONSchema7TypeName}\n >\n string\n </SelectItem>\n <SelectItem\n value={\"number\" satisfies JSONSchema7TypeName}\n >\n number\n </SelectItem>\n <SelectItem\n value={\"integer\" satisfies JSONSchema7TypeName}\n >\n integer\n </SelectItem>\n <SelectItem\n value={\"boolean\" satisfies JSONSchema7TypeName}\n >\n boolean\n </SelectItem>\n <SelectItem\n value={\"object\" satisfies JSONSchema7TypeName}\n >\n object\n </SelectItem>\n <SelectItem\n value={\"array\" satisfies JSONSchema7TypeName}\n >\n array\n </SelectItem>\n <SelectItem\n value={\"null\" satisfies JSONSchema7TypeName}\n >\n null\n </SelectItem>\n </SelectContent>\n </Select>\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n\n {/* Array Items Type selector */}\n {currentType === \"array\" && (\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.items.type\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Items of type</FormLabel>\n <FormControl>\n <Select\n value={\n !Array.isArray(field.value)\n ? field.value\n : undefined\n }\n onValueChange={(newVal) => {\n form.clearErrors(\"property.items.type\");\n form.setValue(\n \"property.items.type\",\n newVal as JSONSchema7TypeName,\n );\n }}\n >\n <SelectTrigger\n className=\"w-full\"\n aria-label=\"Select items of type\"\n >\n <SelectValue placeholder=\"Select item type\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n value={\"string\" satisfies JSONSchema7TypeName}\n >\n string\n </SelectItem>\n <SelectItem\n value={\"number\" satisfies JSONSchema7TypeName}\n >\n number\n </SelectItem>\n <SelectItem\n value={\"integer\" satisfies JSONSchema7TypeName}\n >\n integer\n </SelectItem>\n <SelectItem\n value={\"boolean\" satisfies JSONSchema7TypeName}\n >\n boolean\n </SelectItem>\n <SelectItem\n value={\"object\" satisfies JSONSchema7TypeName}\n >\n object\n </SelectItem>\n <SelectItem\n value={\"array\" satisfies JSONSchema7TypeName}\n >\n array\n </SelectItem>\n <SelectItem\n value={\"null\" satisfies JSONSchema7TypeName}\n >\n null\n </SelectItem>\n </SelectContent>\n </Select>\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n )}\n\n <div className=\"flex items-center space-x-2\">\n <FormField\n control={form.control}\n name=\"required\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormControl>\n <Switch\n checked={field.value}\n onCheckedChange={(checked) => field.onChange(checked)}\n />\n </FormControl>\n <FormLabel>Required</FormLabel>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.description\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Description</FormLabel>\n <FormControl>\n <Input {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n {currentEnum ? (\n <FormField\n control={form.control}\n name=\"property.enum\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Enum</FormLabel>\n <FormControl>\n <MultiInput\n values={\n field.value?.filter((i) => typeof i === \"string\") ??\n []\n }\n onAddValue={(newVal) => {\n const updates = [];\n if (field.value) {\n updates.push(...field.value);\n }\n updates.push(newVal);\n field.onChange(updates);\n }}\n onRemoveValue={(index) => {\n const newEnums = clone(field.value ?? []);\n newEnums.splice(index, 1);\n field.onChange(newEnums);\n }}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n ) : null}\n\n {availableDefinitions.length ? (\n <div className=\"space-y-2\">\n <Label>Constraints</Label>\n <ConstraintsAdd\n addedConstraints={currentConstraints ?? []}\n availableDefinitions={availableDefinitions}\n onAdd={(newConstraints) => {\n form.setValue(\"constraints\", newConstraints);\n }}\n />\n <Separator />\n {currentConstraints?.map((constraint, i) => {\n const Renderer = getRendererForConstraint(constraint.name);\n if (!Renderer) return null;\n\n const error = form.formState.errors.constraints?.[i];\n let mappedError: OperationError | undefined;\n\n if (error) {\n mappedError = {\n code: error?.type ?? \"INVALID\",\n message: error.message ?? \"An error occurred\",\n };\n }\n\n return (\n <Renderer\n key={constraint.name}\n constraintName={constraint.name}\n value={constraint.value}\n onConstraintChange={(newVal) => {\n handleConstraintChange(i, newVal);\n }}\n onRemoveConstraint={() => {\n handleRemoveConstraint(constraint.name);\n }}\n error={mappedError}\n />\n );\n })}\n </div>\n ) : null}\n\n <DialogFooter>\n <Button type=\"submit\">Add Property</Button>\n </DialogFooter>\n </form>\n </Form>\n </DialogContent>\n </Dialog>\n );\n}\n"],"names":["zodJsonTypes","z","AddFormSchema","AddPropertyDialog","open","onOpenChange","onSubmit","form","useForm","zodResolver","currentConstraints","currentProperty","currentEnum","currentType","getConstraintDefinitionsForType","getRendererForConstraint","validateConstraintValue","useConstraints","handleSubmit","data","key","property","required","constraints","propertyToSubmit","acc","constraint","handleConstraintChange","index","newVal","constraintsCopy","clone","constraintToChange","validationResult","message","i","handleRemoveConstraint","constraintName","newConstraints","c","availableDefinitions","Dialog","jsxs","DialogContent","DialogHeader","jsx","DialogTitle","DialogDescription","Form","FormField","field","onChange","rest","FormItem","FormLabel","FormControl","DebouncedInput","FormMessage","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Switch","checked","Input","MultiInput","updates","newEnums","Label","ConstraintsAdd","Separator","Renderer","error","mappedError","DialogFooter","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es21.js","sources":["../src/packages/builder/add-dialog.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { zodResolver } from \"@hookform/resolvers/zod\";\n\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogFooter,\n DialogDescription,\n} from \"@/components/ui/dialog\";\nimport { Input } from \"@/components/ui/input\";\nimport { Label } from \"@/components/ui/label\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Switch } from \"@/components/ui/switch\";\nimport type { JSONSchema7, JSONSchema7TypeName } from \"json-schema\";\nimport { DebouncedInput } from \"@/components/depounced-input\";\nimport { clone } from \"remeda\";\nimport MultiInput from \"@/components/multi-input\";\nimport { Constraint, useConstraints } from \"@/packages/constraints/context\";\nimport ConstraintsAdd from \"@/packages/constraints/constraint-add\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { z } from \"zod\";\nimport { useForm } from \"react-hook-form\";\nimport {\n Form,\n FormControl,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from \"@/components/ui/form\";\nimport type { OperationError } from \"./shared-types\";\n\nexport interface AddPropertyDialogProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n onSubmit: (key: string, property: JSONSchema7, required: boolean) => void;\n}\n\nconst zodJsonTypes = z.enum([\n \"string\",\n \"number\",\n \"integer\",\n \"boolean\",\n \"object\",\n \"array\",\n \"null\",\n]);\n\nexport const AddFormSchema = z.object({\n key: z\n .string()\n .trim()\n .min(1, { message: \"Key must be at least 1 character long\" }),\n property: z.object({\n title: z\n .string()\n .trim()\n .min(1, { message: \"Title must be at least 1 character long\" }),\n type: zodJsonTypes.or(z.array(zodJsonTypes)),\n description: z.string().optional(),\n enum: z\n .array(\n z\n .string()\n .or(z.number())\n .or(z.null())\n .or(z.boolean())\n .or(z.record(z.string(), z.any())),\n )\n .optional(),\n items: z\n .object({\n type: zodJsonTypes.or(z.array(zodJsonTypes)),\n })\n //only to satisfy the other types but we actually don't handle it\n .or(\n z.array(\n z\n .object({ type: zodJsonTypes.or(z.array(zodJsonTypes)) })\n .or(z.boolean()),\n ),\n )\n .or(z.boolean())\n .optional(),\n }),\n required: z.boolean().default(false),\n constraints: z\n .array(\n z.custom<Constraint>(() => ({\n name: z.string().trim().min(1),\n value: z.any(),\n })),\n )\n .optional(),\n});\n\n/**\n * Handles adding a property to a parent JSON schema's \"properties\".\n * This means you are working under a child property.\n */\nexport function AddPropertyDialog({\n open,\n onOpenChange,\n onSubmit,\n}: AddPropertyDialogProps) {\n const form = useForm<z.infer<typeof AddFormSchema>>({\n resolver: zodResolver(AddFormSchema),\n defaultValues: {\n key: \"\",\n property: {\n title: \"\",\n },\n },\n });\n\n const currentConstraints = form.watch(\"constraints\");\n const currentProperty = form.watch(\"property\");\n const currentEnum = form.watch(\"property.enum\");\n const currentType = form.watch(\"property.type\");\n\n const {\n getConstraintDefinitionsForType,\n getRendererForConstraint,\n validateConstraintValue,\n } = useConstraints();\n\n const handleSubmit = (data: z.infer<typeof AddFormSchema>) => {\n const { key, property, required, constraints } = data;\n const propertyToSubmit: JSONSchema7 = {\n ...property,\n ...constraints?.reduce((acc, constraint) => {\n return {\n ...acc,\n [constraint.name]: constraint.value,\n } satisfies JSONSchema7;\n }, {}),\n };\n onSubmit(key, propertyToSubmit, required);\n form.reset();\n };\n\n const handleConstraintChange = (\n index: number,\n newVal: Constraint[\"value\"],\n ) => {\n const constraintsCopy = clone(currentConstraints);\n\n const constraintToChange = constraintsCopy?.[index];\n\n if (!constraintToChange) {\n form.setError(`constraints.${index}`, {\n message: \"The constraint was not found\",\n type: \"constraint_not_found\",\n });\n return;\n }\n\n const validationResult = validateConstraintValue(\n constraintToChange.name,\n newVal,\n );\n\n if (validationResult.status === \"error\") {\n let message = validationResult.message;\n if (validationResult.code === \"invalid\") {\n message = `${message}: ${validationResult.error?.map((i) => i.message).join(\", \")}`;\n }\n form.setError(`constraints.${index}`, {\n type: validationResult.code,\n message,\n });\n return;\n }\n\n //edit reference\n constraintToChange.value = newVal;\n form.setValue(\"constraints\", constraintsCopy);\n form.clearErrors(`constraints.${index}`);\n };\n\n const handleRemoveConstraint = (constraintName: Constraint[\"name\"]) => {\n if (!currentConstraints) return;\n const copy = clone(currentConstraints);\n const newConstraints = copy.filter((c) => c.name !== constraintName);\n form.setValue(\"constraints\", newConstraints);\n };\n\n const availableDefinitions = getConstraintDefinitionsForType(\n typeof currentProperty?.type === \"string\" ? currentProperty.type : \"\",\n );\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange}>\n <DialogContent data-testid=\"add-property-dialog\">\n <DialogHeader>\n <DialogTitle>Add</DialogTitle>\n <DialogDescription>\n Required property values and constraints\n </DialogDescription>\n </DialogHeader>\n <Form {...form}>\n <form\n onSubmit={(e) => {\n e.stopPropagation();\n e.preventDefault();\n void form.handleSubmit(handleSubmit)(e);\n }}\n className=\"space-y-4\"\n data-testid=\"add-property-form\"\n id=\"add-property-form\"\n >\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"key\"\n render={({ field }) => {\n // Pull the onChange since debounced input should\n // be calling onDebounce instead\n const { onChange, ...rest } = field;\n\n return (\n <FormItem>\n <FormLabel>Property Key</FormLabel>\n <FormControl>\n <DebouncedInput\n {...rest}\n onDebounce={(newVal) => onChange(newVal)}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.title\"\n render={({ field }) => {\n const { onChange, ...rest } = field;\n return (\n <FormItem>\n <FormLabel>Property Title</FormLabel>\n <FormControl>\n <DebouncedInput\n {...rest}\n onDebounce={(newVal) => onChange(newVal)}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.type\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Type</FormLabel>\n <FormControl>\n <Select\n value={\n !Array.isArray(field.value)\n ? field.value\n : undefined\n }\n onValueChange={(newVal) => {\n if (newVal === \"enum\") {\n form.setValue(\"property.enum\", []);\n } else {\n form.setValue(\"property.enum\", undefined);\n }\n\n // If changing away from array, clear any array item errors\n if (field.value === \"array\" && newVal !== \"array\") {\n form.clearErrors(\"property.items\");\n form.setValue(\"property.items\", undefined);\n }\n\n field.onChange(newVal);\n }}\n >\n <SelectTrigger\n className=\"w-full\"\n aria-label=\"Select type\"\n >\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n value={\"string\" satisfies JSONSchema7TypeName}\n >\n string\n </SelectItem>\n <SelectItem\n value={\"number\" satisfies JSONSchema7TypeName}\n >\n number\n </SelectItem>\n <SelectItem\n value={\"integer\" satisfies JSONSchema7TypeName}\n >\n integer\n </SelectItem>\n <SelectItem\n value={\"boolean\" satisfies JSONSchema7TypeName}\n >\n boolean\n </SelectItem>\n <SelectItem\n value={\"object\" satisfies JSONSchema7TypeName}\n >\n object\n </SelectItem>\n <SelectItem\n value={\"array\" satisfies JSONSchema7TypeName}\n >\n array\n </SelectItem>\n <SelectItem\n value={\"null\" satisfies JSONSchema7TypeName}\n >\n null\n </SelectItem>\n </SelectContent>\n </Select>\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n\n {/* Array Items Type selector */}\n {currentType === \"array\" && (\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.items.type\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Items of type</FormLabel>\n <FormControl>\n <Select\n value={\n !Array.isArray(field.value)\n ? field.value\n : undefined\n }\n onValueChange={(newVal) => {\n form.clearErrors(\"property.items.type\");\n form.setValue(\n \"property.items.type\",\n newVal as JSONSchema7TypeName,\n );\n }}\n >\n <SelectTrigger\n className=\"w-full\"\n aria-label=\"Select items of type\"\n >\n <SelectValue placeholder=\"Select item type\" />\n </SelectTrigger>\n <SelectContent>\n <SelectItem\n value={\"string\" satisfies JSONSchema7TypeName}\n >\n string\n </SelectItem>\n <SelectItem\n value={\"number\" satisfies JSONSchema7TypeName}\n >\n number\n </SelectItem>\n <SelectItem\n value={\"integer\" satisfies JSONSchema7TypeName}\n >\n integer\n </SelectItem>\n <SelectItem\n value={\"boolean\" satisfies JSONSchema7TypeName}\n >\n boolean\n </SelectItem>\n <SelectItem\n value={\"object\" satisfies JSONSchema7TypeName}\n >\n object\n </SelectItem>\n <SelectItem\n value={\"array\" satisfies JSONSchema7TypeName}\n >\n array\n </SelectItem>\n <SelectItem\n value={\"null\" satisfies JSONSchema7TypeName}\n >\n null\n </SelectItem>\n </SelectContent>\n </Select>\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n )}\n\n <div className=\"flex items-center space-x-2\">\n <FormField\n control={form.control}\n name=\"required\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormControl>\n <Switch\n checked={field.value}\n onCheckedChange={(checked) => field.onChange(checked)}\n />\n </FormControl>\n <FormLabel>Required</FormLabel>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n <div className=\"space-y-2\">\n <FormField\n control={form.control}\n name=\"property.description\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Description</FormLabel>\n <FormControl>\n <Input {...field} />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n </div>\n {currentEnum ? (\n <FormField\n control={form.control}\n name=\"property.enum\"\n render={({ field }) => {\n return (\n <FormItem>\n <FormLabel>Enum</FormLabel>\n <FormControl>\n <MultiInput\n values={\n field.value?.filter((i) => typeof i === \"string\") ??\n []\n }\n onAddValue={(newVal) => {\n const updates = [];\n if (field.value) {\n updates.push(...field.value);\n }\n updates.push(newVal);\n field.onChange(updates);\n }}\n onRemoveValue={(index) => {\n const newEnums = clone(field.value ?? []);\n newEnums.splice(index, 1);\n field.onChange(newEnums);\n }}\n />\n </FormControl>\n <FormMessage />\n </FormItem>\n );\n }}\n />\n ) : null}\n\n {availableDefinitions.length ? (\n <div className=\"space-y-2\">\n <Label>Constraints</Label>\n <ConstraintsAdd\n addedConstraints={currentConstraints ?? []}\n availableDefinitions={availableDefinitions}\n onAdd={(newConstraints) => {\n form.setValue(\"constraints\", newConstraints);\n }}\n />\n <Separator />\n {currentConstraints?.map((constraint, i) => {\n const Renderer = getRendererForConstraint(constraint.name);\n if (!Renderer) return null;\n\n const error = form.formState.errors.constraints?.[i];\n let mappedError: OperationError | undefined;\n\n if (error) {\n mappedError = {\n code: error?.type ?? \"INVALID\",\n message: error.message ?? \"An error occurred\",\n };\n }\n\n return (\n <Renderer\n key={constraint.name}\n constraintName={constraint.name}\n value={constraint.value}\n onConstraintChange={(newVal) => {\n handleConstraintChange(i, newVal);\n }}\n onRemoveConstraint={() => {\n handleRemoveConstraint(constraint.name);\n }}\n error={mappedError}\n />\n );\n })}\n </div>\n ) : null}\n\n <DialogFooter>\n <Button type=\"submit\" form=\"add-property-form\">\n Add Property\n </Button>\n </DialogFooter>\n </form>\n </Form>\n </DialogContent>\n </Dialog>\n );\n}\n"],"names":["zodJsonTypes","z","AddFormSchema","AddPropertyDialog","open","onOpenChange","onSubmit","form","useForm","zodResolver","currentConstraints","currentProperty","currentEnum","currentType","getConstraintDefinitionsForType","getRendererForConstraint","validateConstraintValue","useConstraints","handleSubmit","data","key","property","required","constraints","propertyToSubmit","acc","constraint","handleConstraintChange","index","newVal","constraintsCopy","clone","constraintToChange","validationResult","message","i","handleRemoveConstraint","constraintName","newConstraints","c","availableDefinitions","Dialog","jsxs","DialogContent","DialogHeader","jsx","DialogTitle","DialogDescription","Form","e","FormField","field","onChange","rest","FormItem","FormLabel","FormControl","DebouncedInput","FormMessage","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","Switch","checked","Input","MultiInput","updates","newEnums","Label","ConstraintsAdd","Separator","Renderer","error","mappedError","DialogFooter","Button"],"mappings":";;;;;;;;;;;;;;;;;AA8CA,MAAMA,IAAeC,EAAE,KAAK;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC,GAEYC,KAAgBD,EAAE,OAAO;AAAA,EACpC,KAAKA,EACF,OAAA,EACA,KAAA,EACA,IAAI,GAAG,EAAE,SAAS,yCAAyC;AAAA,EAC9D,UAAUA,EAAE,OAAO;AAAA,IACjB,OAAOA,EACJ,OAAA,EACA,KAAA,EACA,IAAI,GAAG,EAAE,SAAS,2CAA2C;AAAA,IAChE,MAAMD,EAAa,GAAGC,EAAE,MAAMD,CAAY,CAAC;AAAA,IAC3C,aAAaC,EAAE,OAAO,EAAE,SAAS;AAAA,IACjC,MAAMA,EACH;AAAA,MACCA,EACG,OAAO,EACP,GAAGA,EAAE,QAAQ,EACb,GAAGA,EAAE,KAAA,CAAM,EACX,GAAGA,EAAE,QAAS,CAAA,EACd,GAAGA,EAAE,OAAOA,EAAE,OAAU,GAAAA,EAAE,KAAK,CAAC;AAAA,MAEpC,SAAS;AAAA,IACZ,OAAOA,EACJ,OAAO;AAAA,MACN,MAAMD,EAAa,GAAGC,EAAE,MAAMD,CAAY,CAAC;AAAA,IAC5C,CAAA,EAEA;AAAA,MACCC,EAAE;AAAA,QACAA,EACG,OAAO,EAAE,MAAMD,EAAa,GAAGC,EAAE,MAAMD,CAAY,CAAC,EAAG,CAAA,EACvD,GAAGC,EAAE,QAAS,CAAA;AAAA,MAAA;AAAA,MAGpB,GAAGA,EAAE,QAAQ,CAAC,EACd,SAAS;AAAA,EAAA,CACb;AAAA,EACD,UAAUA,EAAE,UAAU,QAAQ,EAAK;AAAA,EACnC,aAAaA,EACV;AAAA,IACCA,EAAE,OAAmB,OAAO;AAAA,MAC1B,MAAMA,EAAE,OAAA,EAAS,KAAK,EAAE,IAAI,CAAC;AAAA,MAC7B,OAAOA,EAAE,IAAI;AAAA,IAAA,EACb;AAAA,EAAA,EAEH,SAAS;AACd,CAAC;AAMM,SAASE,GAAkB;AAAA,EAChC,MAAAC;AAAA,EACA,cAAAC;AAAA,EACA,UAAAC;AACF,GAA2B;AACzB,QAAMC,IAAOC,GAAuC;AAAA,IAClD,UAAUC,EAAYP,EAAa;AAAA,IACnC,eAAe;AAAA,MACb,KAAK;AAAA,MACL,UAAU;AAAA,QACR,OAAO;AAAA,MAAA;AAAA,IACT;AAAA,EACF,CACD,GAEKQ,IAAqBH,EAAK,MAAM,aAAa,GAC7CI,IAAkBJ,EAAK,MAAM,UAAU,GACvCK,IAAcL,EAAK,MAAM,eAAe,GACxCM,IAAcN,EAAK,MAAM,eAAe,GAExC;AAAA,IACJ,iCAAAO;AAAA,IACA,0BAAAC;AAAA,IACA,yBAAAC;AAAA,MACEC,EAAe,GAEbC,IAAe,CAACC,MAAwC;AAC5D,UAAM,EAAE,KAAAC,GAAK,UAAAC,GAAU,UAAAC,GAAU,aAAAC,EAAgB,IAAAJ,GAC3CK,IAAgC;AAAA,MACpC,GAAGH;AAAA,MACH,GAAGE,GAAa,OAAO,CAACE,GAAKC,OACpB;AAAA,QACL,GAAGD;AAAA,QACH,CAACC,EAAW,IAAI,GAAGA,EAAW;AAAA,MAChC,IACC,CAAE,CAAA;AAAA,IACP;AACS,IAAApB,EAAAc,GAAKI,GAAkBF,CAAQ,GACxCf,EAAK,MAAM;AAAA,EACb,GAEMoB,IAAyB,CAC7BC,GACAC,MACG;AACG,UAAAC,IAAkBC,EAAMrB,CAAkB,GAE1CsB,IAAqBF,IAAkBF,CAAK;AAElD,QAAI,CAACI,GAAoB;AAClB,MAAAzB,EAAA,SAAS,eAAeqB,CAAK,IAAI;AAAA,QACpC,SAAS;AAAA,QACT,MAAM;AAAA,MAAA,CACP;AACD;AAAA,IAAA;AAGF,UAAMK,IAAmBjB;AAAA,MACvBgB,EAAmB;AAAA,MACnBH;AAAA,IACF;AAEI,QAAAI,EAAiB,WAAW,SAAS;AACvC,UAAIC,IAAUD,EAAiB;AAC3B,MAAAA,EAAiB,SAAS,cAC5BC,IAAU,GAAGA,CAAO,KAAKD,EAAiB,OAAO,IAAI,CAACE,MAAMA,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC,KAE9E5B,EAAA,SAAS,eAAeqB,CAAK,IAAI;AAAA,QACpC,MAAMK,EAAiB;AAAA,QACvB,SAAAC;AAAA,MAAA,CACD;AACD;AAAA,IAAA;AAIF,IAAAF,EAAmB,QAAQH,GACtBtB,EAAA,SAAS,eAAeuB,CAAe,GACvCvB,EAAA,YAAY,eAAeqB,CAAK,EAAE;AAAA,EACzC,GAEMQ,IAAyB,CAACC,MAAuC;AACrE,QAAI,CAAC3B,EAAoB;AAEzB,UAAM4B,IADOP,EAAMrB,CAAkB,EACT,OAAO,CAAC6B,MAAMA,EAAE,SAASF,CAAc;AAC9D,IAAA9B,EAAA,SAAS,eAAe+B,CAAc;AAAA,EAC7C,GAEME,IAAuB1B;AAAA,IAC3B,OAAOH,GAAiB,QAAS,WAAWA,EAAgB,OAAO;AAAA,EACrE;AAEA,2BACG8B,GAAO,EAAA,MAAArC,GAAY,cAAAC,GAClB,UAAC,gBAAAqC,EAAAC,GAAA,EAAc,eAAY,uBACzB,UAAA;AAAA,IAAA,gBAAAD,EAACE,GACC,EAAA,UAAA;AAAA,MAAA,gBAAAC,EAACC,KAAY,UAAG,MAAA,CAAA;AAAA,MAChB,gBAAAD,EAACE,KAAkB,UAEnB,2CAAA,CAAA;AAAA,IAAA,GACF;AAAA,IACA,gBAAAF,EAACG,IAAM,EAAA,GAAGzC,GACR,UAAA,gBAAAmC;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,UAAU,CAACO,MAAM;AACf,UAAAA,EAAE,gBAAgB,GAClBA,EAAE,eAAe,GACZ1C,EAAK,aAAaW,CAAY,EAAE+B,CAAC;AAAA,QACxC;AAAA,QACA,WAAU;AAAA,QACV,eAAY;AAAA,QACZ,IAAG;AAAA,QAEH,UAAA;AAAA,UAAC,gBAAAJ,EAAA,OAAA,EAAI,WAAU,aACb,UAAA,gBAAAA;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,SAAS3C,EAAK;AAAA,cACd,MAAK;AAAA,cACL,QAAQ,CAAC,EAAE,OAAA4C,QAAY;AAGrB,sBAAM,EAAE,UAAAC,GAAU,GAAGC,EAAA,IAASF;AAE9B,yCACGG,GACC,EAAA,UAAA;AAAA,kBAAA,gBAAAT,EAACU,KAAU,UAAY,eAAA,CAAA;AAAA,oCACtBC,GACC,EAAA,UAAA,gBAAAX;AAAA,oBAACY;AAAA,oBAAA;AAAA,sBACE,GAAGJ;AAAA,sBACJ,YAAY,CAACxB,MAAWuB,EAASvB,CAAM;AAAA,oBAAA;AAAA,kBAAA,GAE3C;AAAA,oCACC6B,GAAY,CAAA,CAAA;AAAA,gBAAA,GACf;AAAA,cAAA;AAAA,YAEJ;AAAA,UAAA,GAEJ;AAAA,UACA,gBAAAb,EAAC,OAAI,EAAA,WAAU,aACb,UAAA,gBAAAA;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,SAAS3C,EAAK;AAAA,cACd,MAAK;AAAA,cACL,QAAQ,CAAC,EAAE,OAAA4C,QAAY;AACrB,sBAAM,EAAE,UAAAC,GAAU,GAAGC,EAAA,IAASF;AAC9B,yCACGG,GACC,EAAA,UAAA;AAAA,kBAAA,gBAAAT,EAACU,KAAU,UAAc,iBAAA,CAAA;AAAA,oCACxBC,GACC,EAAA,UAAA,gBAAAX;AAAA,oBAACY;AAAA,oBAAA;AAAA,sBACE,GAAGJ;AAAA,sBACJ,YAAY,CAACxB,MAAWuB,EAASvB,CAAM;AAAA,oBAAA;AAAA,kBAAA,GAE3C;AAAA,oCACC6B,GAAY,CAAA,CAAA;AAAA,gBAAA,GACf;AAAA,cAAA;AAAA,YAEJ;AAAA,UAAA,GAEJ;AAAA,UACA,gBAAAb,EAAC,OAAI,EAAA,WAAU,aACb,UAAA,gBAAAA;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,SAAS3C,EAAK;AAAA,cACd,MAAK;AAAA,cACL,QAAQ,CAAC,EAAE,OAAA4C,0BAENG,GACC,EAAA,UAAA;AAAA,gBAAA,gBAAAT,EAACU,KAAU,UAAI,OAAA,CAAA;AAAA,kCACdC,GACC,EAAA,UAAA,gBAAAd;AAAA,kBAACiB;AAAA,kBAAA;AAAA,oBACC,OACG,MAAM,QAAQR,EAAM,KAAK,IAEtB,SADAA,EAAM;AAAA,oBAGZ,eAAe,CAACtB,MAAW;AACzB,sBAAIA,MAAW,SACRtB,EAAA,SAAS,iBAAiB,EAAE,IAE5BA,EAAA,SAAS,iBAAiB,MAAS,GAItC4C,EAAM,UAAU,WAAWtB,MAAW,YACxCtB,EAAK,YAAY,gBAAgB,GAC5BA,EAAA,SAAS,kBAAkB,MAAS,IAG3C4C,EAAM,SAAStB,CAAM;AAAA,oBACvB;AAAA,oBAEA,UAAA;AAAA,sBAAA,gBAAAgB;AAAA,wBAACe;AAAA,wBAAA;AAAA,0BACC,WAAU;AAAA,0BACV,cAAW;AAAA,0BAEX,4BAACC,GAAY,CAAA,CAAA;AAAA,wBAAA;AAAA,sBACf;AAAA,wCACCC,GACC,EAAA,UAAA;AAAA,wBAAA,gBAAAjB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBAED,EACF,CAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAAA,GAEJ;AAAA,kCACCL,GAAY,CAAA,CAAA;AAAA,cAAA,GACf;AAAA,YAEJ;AAAA,UAAA,GAEJ;AAAA,UAGC7C,MAAgB,WACd,gBAAAgC,EAAA,OAAA,EAAI,WAAU,aACb,UAAA,gBAAAA;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,SAAS3C,EAAK;AAAA,cACd,MAAK;AAAA,cACL,QAAQ,CAAC,EAAE,OAAA4C,0BAENG,GACC,EAAA,UAAA;AAAA,gBAAA,gBAAAT,EAACU,KAAU,UAAa,gBAAA,CAAA;AAAA,kCACvBC,GACC,EAAA,UAAA,gBAAAd;AAAA,kBAACiB;AAAA,kBAAA;AAAA,oBACC,OACG,MAAM,QAAQR,EAAM,KAAK,IAEtB,SADAA,EAAM;AAAA,oBAGZ,eAAe,CAACtB,MAAW;AACzB,sBAAAtB,EAAK,YAAY,qBAAqB,GACjCA,EAAA;AAAA,wBACH;AAAA,wBACAsB;AAAA,sBACF;AAAA,oBACF;AAAA,oBAEA,UAAA;AAAA,sBAAA,gBAAAgB;AAAA,wBAACe;AAAA,wBAAA;AAAA,0BACC,WAAU;AAAA,0BACV,cAAW;AAAA,0BAEX,UAAA,gBAAAf,EAACgB,GAAY,EAAA,aAAY,mBAAmB,CAAA;AAAA,wBAAA;AAAA,sBAC9C;AAAA,wCACCC,GACC,EAAA,UAAA;AAAA,wBAAA,gBAAAjB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAED;AAAA,wBACA,gBAAAlB;AAAA,0BAACkB;AAAA,0BAAA;AAAA,4BACC,OAAO;AAAA,4BACR,UAAA;AAAA,0BAAA;AAAA,wBAAA;AAAA,sBAED,EACF,CAAA;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAAA,GAEJ;AAAA,kCACCL,GAAY,CAAA,CAAA;AAAA,cAAA,GACf;AAAA,YAEJ;AAAA,UAAA,GAEJ;AAAA,UAGF,gBAAAb,EAAC,OAAI,EAAA,WAAU,+BACb,UAAA,gBAAAA;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,SAAS3C,EAAK;AAAA,cACd,MAAK;AAAA,cACL,QAAQ,CAAC,EAAE,OAAA4C,0BAENG,GACC,EAAA,UAAA;AAAA,gBAAA,gBAAAT,EAACW,GACC,EAAA,UAAA,gBAAAX;AAAA,kBAACmB;AAAA,kBAAA;AAAA,oBACC,SAASb,EAAM;AAAA,oBACf,iBAAiB,CAACc,MAAYd,EAAM,SAASc,CAAO;AAAA,kBAAA;AAAA,gBAAA,GAExD;AAAA,gBACA,gBAAApB,EAACU,KAAU,UAAQ,WAAA,CAAA;AAAA,kCAClBG,GAAY,CAAA,CAAA;AAAA,cAAA,GACf;AAAA,YAEJ;AAAA,UAAA,GAEJ;AAAA,UACA,gBAAAb,EAAC,OAAI,EAAA,WAAU,aACb,UAAA,gBAAAA;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,SAAS3C,EAAK;AAAA,cACd,MAAK;AAAA,cACL,QAAQ,CAAC,EAAE,OAAA4C,0BAENG,GACC,EAAA,UAAA;AAAA,gBAAA,gBAAAT,EAACU,KAAU,UAAW,cAAA,CAAA;AAAA,kCACrBC,GACC,EAAA,UAAA,gBAAAX,EAACqB,GAAO,EAAA,GAAGf,EAAO,CAAA,GACpB;AAAA,kCACCO,GAAY,CAAA,CAAA;AAAA,cAAA,GACf;AAAA,YAEJ;AAAA,UAAA,GAEJ;AAAA,UACC9C,IACC,gBAAAiC;AAAA,YAACK;AAAA,YAAA;AAAA,cACC,SAAS3C,EAAK;AAAA,cACd,MAAK;AAAA,cACL,QAAQ,CAAC,EAAE,OAAA4C,0BAENG,GACC,EAAA,UAAA;AAAA,gBAAA,gBAAAT,EAACU,KAAU,UAAI,OAAA,CAAA;AAAA,kCACdC,GACC,EAAA,UAAA,gBAAAX;AAAA,kBAACsB;AAAA,kBAAA;AAAA,oBACC,QACEhB,EAAM,OAAO,OAAO,CAAChB,MAAM,OAAOA,KAAM,QAAQ,KAChD,CAAC;AAAA,oBAEH,YAAY,CAACN,MAAW;AACtB,4BAAMuC,IAAU,CAAC;AACjB,sBAAIjB,EAAM,SACAiB,EAAA,KAAK,GAAGjB,EAAM,KAAK,GAE7BiB,EAAQ,KAAKvC,CAAM,GACnBsB,EAAM,SAASiB,CAAO;AAAA,oBACxB;AAAA,oBACA,eAAe,CAACxC,MAAU;AACxB,4BAAMyC,IAAWtC,EAAMoB,EAAM,SAAS,CAAA,CAAE;AAC/B,sBAAAkB,EAAA,OAAOzC,GAAO,CAAC,GACxBuB,EAAM,SAASkB,CAAQ;AAAA,oBAAA;AAAA,kBACzB;AAAA,gBAAA,GAEJ;AAAA,kCACCX,GAAY,CAAA,CAAA;AAAA,cAAA,GACf;AAAA,YAEJ;AAAA,UAAA,IAEA;AAAA,UAEHlB,EAAqB,SACnB,gBAAAE,EAAA,OAAA,EAAI,WAAU,aACb,UAAA;AAAA,YAAA,gBAAAG,EAACyB,KAAM,UAAW,cAAA,CAAA;AAAA,YAClB,gBAAAzB;AAAA,cAAC0B;AAAA,cAAA;AAAA,gBACC,kBAAkB7D,KAAsB,CAAC;AAAA,gBACzC,sBAAA8B;AAAA,gBACA,OAAO,CAACF,MAAmB;AACpB,kBAAA/B,EAAA,SAAS,eAAe+B,CAAc;AAAA,gBAAA;AAAA,cAC7C;AAAA,YACF;AAAA,8BACCkC,GAAU,EAAA;AAAA,YACV9D,GAAoB,IAAI,CAACgB,GAAYS,MAAM;AACpC,oBAAAsC,IAAW1D,EAAyBW,EAAW,IAAI;AACrD,kBAAA,CAAC+C,EAAiB,QAAA;AAEtB,oBAAMC,IAAQnE,EAAK,UAAU,OAAO,cAAc4B,CAAC;AAC/C,kBAAAwC;AAEJ,qBAAID,MACYC,IAAA;AAAA,gBACZ,MAAMD,GAAO,QAAQ;AAAA,gBACrB,SAASA,EAAM,WAAW;AAAA,cAC5B,IAIA,gBAAA7B;AAAA,gBAAC4B;AAAA,gBAAA;AAAA,kBAEC,gBAAgB/C,EAAW;AAAA,kBAC3B,OAAOA,EAAW;AAAA,kBAClB,oBAAoB,CAACG,MAAW;AAC9B,oBAAAF,EAAuBQ,GAAGN,CAAM;AAAA,kBAClC;AAAA,kBACA,oBAAoB,MAAM;AACxB,oBAAAO,EAAuBV,EAAW,IAAI;AAAA,kBACxC;AAAA,kBACA,OAAOiD;AAAA,gBAAA;AAAA,gBATFjD,EAAW;AAAA,cAUlB;AAAA,YAEH,CAAA;AAAA,UAAA,EAAA,CACH,IACE;AAAA,UAEJ,gBAAAmB,EAAC+B,KACC,UAAC,gBAAA/B,EAAAgC,GAAA,EAAO,MAAK,UAAS,MAAK,qBAAoB,UAAA,eAE/C,CAAA,EACF,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA,EAEJ,CAAA;AAAA,EAAA,EAAA,CACF,EACF,CAAA;AAEJ;"}
|
package/dist/index.es31.js
CHANGED
package/dist/index.es34.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as o from "react";
|
|
2
|
-
import { composeRefs as u } from "./index.
|
|
2
|
+
import { composeRefs as u } from "./index.es58.js";
|
|
3
3
|
import { jsx as c, Fragment as d } from "react/jsx-runtime";
|
|
4
4
|
var m = o.forwardRef((r, n) => {
|
|
5
5
|
const { children: e, ...t } = r, l = o.Children.toArray(e), i = l.find(y);
|
package/dist/index.es36.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import * as n from "react";
|
|
2
|
-
import { composeEventHandlers as _ } from "./index.
|
|
3
|
-
import { useComposedRefs as H } from "./index.
|
|
4
|
-
import { createContextScope as I } from "./index.
|
|
5
|
-
import { useControllableState as M } from "./index.
|
|
6
|
-
import { usePrevious as N } from "./index.
|
|
7
|
-
import { useSize as j } from "./index.
|
|
8
|
-
import { Primitive as w } from "./index.
|
|
2
|
+
import { composeEventHandlers as _ } from "./index.es59.js";
|
|
3
|
+
import { useComposedRefs as H } from "./index.es58.js";
|
|
4
|
+
import { createContextScope as I } from "./index.es60.js";
|
|
5
|
+
import { useControllableState as M } from "./index.es61.js";
|
|
6
|
+
import { usePrevious as N } from "./index.es62.js";
|
|
7
|
+
import { useSize as j } from "./index.es63.js";
|
|
8
|
+
import { Primitive as w } from "./index.es57.js";
|
|
9
9
|
import { jsxs as B, jsx as m } from "react/jsx-runtime";
|
|
10
10
|
var S = "Switch", [q, K] = I(S), [z, A] = q(S), C = n.forwardRef(
|
|
11
11
|
(e, s) => {
|