@satoshibits/react-json-schema-builder 1.1.1 → 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.
Files changed (105) hide show
  1. package/dist/components/ui/button.d.ts.map +1 -1
  2. package/dist/index.cjs10.js +1 -1
  3. package/dist/index.cjs11.js +1 -1
  4. package/dist/index.cjs11.js.map +1 -1
  5. package/dist/index.cjs21.js +1 -1
  6. package/dist/index.cjs21.js.map +1 -1
  7. package/dist/index.cjs23.js +1 -1
  8. package/dist/index.cjs24.js +1 -1
  9. package/dist/index.cjs25.js +1 -1
  10. package/dist/index.cjs26.js +1 -1
  11. package/dist/index.cjs27.js +1 -1
  12. package/dist/index.cjs30.js +1 -1
  13. package/dist/index.cjs31.js +1 -1
  14. package/dist/index.cjs36.js +1 -1
  15. package/dist/index.cjs43.js +1 -1
  16. package/dist/index.cjs44.js +1 -1
  17. package/dist/index.cjs45.js +1 -1
  18. package/dist/index.cjs46.js +1 -1
  19. package/dist/index.cjs47.js +1 -1
  20. package/dist/index.cjs49.js +6 -1
  21. package/dist/index.cjs49.js.map +1 -1
  22. package/dist/index.cjs50.js +6 -1
  23. package/dist/index.cjs50.js.map +1 -1
  24. package/dist/index.cjs51.js +2 -2
  25. package/dist/index.cjs51.js.map +1 -1
  26. package/dist/index.cjs52.js +2 -2
  27. package/dist/index.cjs52.js.map +1 -1
  28. package/dist/index.cjs53.js +1 -6
  29. package/dist/index.cjs53.js.map +1 -1
  30. package/dist/index.cjs54.js +1 -6
  31. package/dist/index.cjs54.js.map +1 -1
  32. package/dist/index.cjs55.js +1 -1
  33. package/dist/index.cjs56.js +1 -1
  34. package/dist/index.cjs57.js +1 -1
  35. package/dist/index.cjs57.js.map +1 -1
  36. package/dist/index.cjs59.js +1 -1
  37. package/dist/index.cjs59.js.map +1 -1
  38. package/dist/index.cjs60.js +1 -1
  39. package/dist/index.cjs60.js.map +1 -1
  40. package/dist/index.cjs61.js +1 -1
  41. package/dist/index.cjs61.js.map +1 -1
  42. package/dist/index.cjs62.js +1 -1
  43. package/dist/index.cjs62.js.map +1 -1
  44. package/dist/index.cjs63.js +1 -1
  45. package/dist/index.cjs63.js.map +1 -1
  46. package/dist/index.cjs65.js +1 -1
  47. package/dist/index.cjs67.js +1 -1
  48. package/dist/index.cjs69.js +1 -1
  49. package/dist/index.cjs71.js +1 -1
  50. package/dist/index.cjs72.js +1 -1
  51. package/dist/index.cjs75.js +1 -1
  52. package/dist/index.cjs81.js +1 -1
  53. package/dist/index.es10.js +1 -1
  54. package/dist/index.es11.js +4 -3
  55. package/dist/index.es11.js.map +1 -1
  56. package/dist/index.es21.js +48 -45
  57. package/dist/index.es21.js.map +1 -1
  58. package/dist/index.es23.js +1 -1
  59. package/dist/index.es24.js +1 -1
  60. package/dist/index.es25.js +1 -1
  61. package/dist/index.es26.js +1 -1
  62. package/dist/index.es27.js +1 -1
  63. package/dist/index.es30.js +1 -1
  64. package/dist/index.es31.js +1 -1
  65. package/dist/index.es36.js +6 -6
  66. package/dist/index.es43.js +5 -5
  67. package/dist/index.es44.js +1 -1
  68. package/dist/index.es45.js +1 -1
  69. package/dist/index.es46.js +1 -1
  70. package/dist/index.es47.js +2 -2
  71. package/dist/index.es49.js +21 -8
  72. package/dist/index.es49.js.map +1 -1
  73. package/dist/index.es50.js +9 -5
  74. package/dist/index.es50.js.map +1 -1
  75. package/dist/index.es51.js +32 -15
  76. package/dist/index.es51.js.map +1 -1
  77. package/dist/index.es52.js +12 -3
  78. package/dist/index.es52.js.map +1 -1
  79. package/dist/index.es53.js +8 -38
  80. package/dist/index.es53.js.map +1 -1
  81. package/dist/index.es54.js +5 -18
  82. package/dist/index.es54.js.map +1 -1
  83. package/dist/index.es55.js +4 -4
  84. package/dist/index.es56.js +1 -1
  85. package/dist/index.es57.js +32 -6
  86. package/dist/index.es57.js.map +1 -1
  87. package/dist/index.es59.js +5 -64
  88. package/dist/index.es59.js.map +1 -1
  89. package/dist/index.es60.js +63 -27
  90. package/dist/index.es60.js.map +1 -1
  91. package/dist/index.es61.js +29 -5
  92. package/dist/index.es61.js.map +1 -1
  93. package/dist/index.es62.js +5 -24
  94. package/dist/index.es62.js.map +1 -1
  95. package/dist/index.es63.js +24 -32
  96. package/dist/index.es63.js.map +1 -1
  97. package/dist/index.es65.js +1 -1
  98. package/dist/index.es67.js +2 -2
  99. package/dist/index.es69.js +1 -1
  100. package/dist/index.es71.js +3 -3
  101. package/dist/index.es72.js +1 -1
  102. package/dist/index.es75.js +1 -1
  103. package/dist/index.es81.js +1 -1
  104. package/dist/packages/builder/add-dialog.d.ts.map +1 -1
  105. package/package.json +1 -1
@@ -7,14 +7,14 @@ 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 f } from "./index.es10.js";
10
+ import { a as b } from "./index.es10.js";
11
11
  import W from "./index.es42.js";
12
12
  import { useConstraints as X } from "./index.es4.js";
13
13
  import Y from "./index.es38.js";
14
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 u, FormItem as d, FormLabel as p, FormControl as h, FormMessage as y } from "./index.es41.js";
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: q,
67
- validateConstraintValue: P
66
+ getRendererForConstraint: P,
67
+ validateConstraintValue: q
68
68
  } = X(), $ = (r) => {
69
- const { key: o, property: a, required: l, constraints: c } = r, m = {
69
+ const { key: o, property: a, required: l, constraints: c } = r, d = {
70
70
  ...a,
71
- ...c?.reduce((b, D) => ({
72
- ...b,
73
- [D.name]: D.value
71
+ ...c?.reduce((f, S) => ({
72
+ ...f,
73
+ [S.name]: S.value
74
74
  }), {})
75
75
  };
76
- R(o, m, l), n.reset();
76
+ R(o, d, l), n.reset();
77
77
  }, z = (r, o) => {
78
- const a = f(v), l = a?.[r];
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 = P(
86
+ const c = q(
87
87
  l.name,
88
88
  o
89
89
  );
90
90
  if (c.status === "error") {
91
- let m = c.message;
92
- c.code === "invalid" && (m = `${m}: ${c.error?.map((b) => b.message).join(", ")}`), n.setError(`constraints.${r}`, {
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: m
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 = f(v).filter((l) => l.name !== r);
101
+ const a = b(v).filter((l) => l.name !== r);
102
102
  n.setValue("constraints", a);
103
- }, S = k(
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: n.handleSubmit($),
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
- u,
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(d, { children: [
126
- /* @__PURE__ */ e(p, { children: "Property Key" }),
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
- u,
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(d, { children: [
147
- /* @__PURE__ */ e(p, { children: "Property Title" }),
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
- u,
164
+ m,
162
165
  {
163
166
  control: n.control,
164
167
  name: "property.type",
165
- render: ({ field: r }) => /* @__PURE__ */ i(d, { children: [
166
- /* @__PURE__ */ e(p, { children: "Type" }),
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
- u,
245
+ m,
243
246
  {
244
247
  control: n.control,
245
248
  name: "property.items.type",
246
- render: ({ field: r }) => /* @__PURE__ */ i(d, { children: [
247
- /* @__PURE__ */ e(p, { children: "Items of type" }),
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
- u,
329
+ m,
327
330
  {
328
331
  control: n.control,
329
332
  name: "required",
330
- render: ({ field: r }) => /* @__PURE__ */ i(d, { children: [
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(p, { children: "Required" }),
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
- u,
347
+ m,
345
348
  {
346
349
  control: n.control,
347
350
  name: "property.description",
348
- render: ({ field: r }) => /* @__PURE__ */ i(d, { children: [
349
- /* @__PURE__ */ e(p, { children: "Description" }),
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
- u,
359
+ m,
357
360
  {
358
361
  control: n.control,
359
362
  name: "property.enum",
360
- render: ({ field: r }) => /* @__PURE__ */ i(d, { children: [
361
- /* @__PURE__ */ e(p, { children: "Enum" }),
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 = f(r.value ?? []);
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
- S.length ? /* @__PURE__ */ i("div", { className: "space-y-2", children: [
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: S,
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 = q(r.name);
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: (m) => {
407
- z(o, m);
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
  ) })
@@ -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":"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"}
@@ -1,4 +1,4 @@
1
- import e from "./index.es51.js";
1
+ import e from "./index.es49.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
@@ -1,4 +1,4 @@
1
- import e from "./index.es51.js";
1
+ import e from "./index.es49.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
@@ -1,4 +1,4 @@
1
- import e from "./index.es51.js";
1
+ import e from "./index.es49.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
@@ -1,4 +1,4 @@
1
- import c from "./index.es51.js";
1
+ import c from "./index.es49.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
@@ -1,4 +1,4 @@
1
- import o from "./index.es51.js";
1
+ import o from "./index.es49.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
@@ -1,4 +1,4 @@
1
- import e from "./index.es51.js";
1
+ import e from "./index.es49.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
@@ -1,5 +1,5 @@
1
1
  import * as o from "react";
2
- import { Primitive as i } from "./index.es63.js";
2
+ import { Primitive as i } from "./index.es57.js";
3
3
  import { jsx as f } from "react/jsx-runtime";
4
4
  var l = "Label", e = o.forwardRef((r, a) => /* @__PURE__ */ f(
5
5
  i.label,
@@ -1,11 +1,11 @@
1
1
  import * as n from "react";
2
- import { composeEventHandlers as _ } from "./index.es57.js";
2
+ import { composeEventHandlers as _ } from "./index.es59.js";
3
3
  import { useComposedRefs as H } from "./index.es58.js";
4
- import { createContextScope as I } from "./index.es59.js";
5
- import { useControllableState as M } from "./index.es60.js";
6
- import { usePrevious as N } from "./index.es61.js";
7
- import { useSize as j } from "./index.es62.js";
8
- import { Primitive as w } from "./index.es63.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) => {
@@ -1,10 +1,10 @@
1
1
  import * as t from "react";
2
2
  import * as be from "react-dom";
3
3
  import { clamp as Re } from "./index.es64.js";
4
- import { composeEventHandlers as R } from "./index.es57.js";
4
+ import { composeEventHandlers as R } from "./index.es59.js";
5
5
  import { createCollection as ot } from "./index.es65.js";
6
6
  import { useComposedRefs as k } from "./index.es58.js";
7
- import { createContextScope as nt } from "./index.es59.js";
7
+ import { createContextScope as nt } from "./index.es60.js";
8
8
  import { useDirection as rt } from "./index.es66.js";
9
9
  import { DismissableLayer as lt } from "./index.es67.js";
10
10
  import { useFocusGuards as st } from "./index.es68.js";
@@ -12,12 +12,12 @@ import { FocusScope as ct } from "./index.es69.js";
12
12
  import { useId as Ie } from "./index.es70.js";
13
13
  import { createPopperScope as Ne, Root as it, Anchor as at, Content as dt, Arrow as ut } from "./index.es71.js";
14
14
  import { Portal as pt } from "./index.es72.js";
15
- import { Primitive as M } from "./index.es63.js";
15
+ import { Primitive as M } from "./index.es57.js";
16
16
  import { Slot as ft } from "./index.es34.js";
17
17
  import { useCallbackRef as mt } from "./index.es73.js";
18
- import { useControllableState as Ee } from "./index.es60.js";
18
+ import { useControllableState as Ee } from "./index.es61.js";
19
19
  import { useLayoutEffect as j } from "./index.es74.js";
20
- import { usePrevious as ht } from "./index.es61.js";
20
+ import { usePrevious as ht } from "./index.es62.js";
21
21
  import { VisuallyHidden as vt } from "./index.es75.js";
22
22
  import { hideOthers as gt } from "./index.es76.js";
23
23
  import St from "./index.es77.js";
@@ -1,4 +1,4 @@
1
- import o from "./index.es51.js";
1
+ import o from "./index.es49.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
@@ -1,4 +1,4 @@
1
- import c from "./index.es51.js";
1
+ import c from "./index.es49.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
@@ -1,4 +1,4 @@
1
- import o from "./index.es51.js";
1
+ import o from "./index.es49.js";
2
2
  /**
3
3
  * @license lucide-react v0.477.0 - ISC
4
4
  *
@@ -1,8 +1,8 @@
1
1
  import * as l from "react";
2
- import { createContextScope as O } from "./index.es59.js";
2
+ import { createContextScope as O } from "./index.es60.js";
3
3
  import { useComposedRefs as u } from "./index.es58.js";
4
4
  import { createDialogScope as A, Root as b, WarningProvider as w, Content as M, Title as x, Description as I, Close as v, Portal as L, Overlay as $, Trigger as F } from "./index.es55.js";
5
- import { composeEventHandlers as G } from "./index.es57.js";
5
+ import { composeEventHandlers as G } from "./index.es59.js";
6
6
  import { Slottable as j } from "./index.es34.js";
7
7
  import { jsx as i, jsxs as W } from "react/jsx-runtime";
8
8
  var f = "AlertDialog", [Y, re] = O(f, [
@@ -1,11 +1,24 @@
1
- import { a as o } from "./index.es50.js";
2
- function a(r, t, n) {
3
- let e = r.length - t.length;
4
- if (e === 0) return r(...t);
5
- if (e === 1) return o(r, t, n);
6
- throw new Error("Wrong number of arguments");
7
- }
1
+ import { forwardRef as s, createElement as c } from "react";
2
+ import { mergeClasses as n, toKebabCase as f } from "./index.es50.js";
3
+ import l from "./index.es51.js";
4
+ /**
5
+ * @license lucide-react v0.477.0 - ISC
6
+ *
7
+ * This source code is licensed under the ISC license.
8
+ * See the LICENSE file in the root directory of this source tree.
9
+ */
10
+ const u = (e, r) => {
11
+ const o = s(
12
+ ({ className: t, ...a }, m) => c(l, {
13
+ ref: m,
14
+ iconNode: r,
15
+ className: n(`lucide-${f(e)}`, t),
16
+ ...a
17
+ })
18
+ );
19
+ return o.displayName = `${e}`, o;
20
+ };
8
21
  export {
9
- a
22
+ u as default
10
23
  };
11
24
  //# sourceMappingURL=index.es49.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es49.js","sources":["../../../node_modules/.pnpm/remeda@2.20.2/node_modules/remeda/dist/chunk-WIMGWYZL.js"],"sourcesContent":["import{a as t}from\"./chunk-D6FCK2GA.js\";function u(r,n,o){let a=r.length-n.length;if(a===0)return r(...n);if(a===1)return t(r,n,o);throw new Error(\"Wrong number of arguments\")}export{u as a};\n"],"names":["u","n","o","a","t"],"mappings":";AAAwC,SAASA,EAAE,GAAEC,GAAEC,GAAE;AAAC,MAAIC,IAAE,EAAE,SAAOF,EAAE;AAAO,MAAGE,MAAI,EAAE,QAAO,EAAE,GAAGF,CAAC;AAAE,MAAGE,MAAI,EAAE,QAAOC,EAAE,GAAEH,GAAEC,CAAC;AAAE,QAAM,IAAI,MAAM,2BAA2B;AAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es49.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/createLucideIcon.js"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props\n })\n );\n Component.displayName = `${iconName}`;\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n"],"names":["createLucideIcon","iconName","iconNode","Component","forwardRef","className","props","ref","createElement","Icon","mergeClasses","toKebabCase"],"mappings":";;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAWK,MAACA,IAAmB,CAACC,GAAUC,MAAa;AAC/C,QAAMC,IAAYC;AAAA,IAChB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAO,GAAEC,MAAQC,EAAcC,GAAM;AAAA,MACpD,KAAAF;AAAA,MACA,UAAAL;AAAA,MACA,WAAWQ,EAAa,UAAUC,EAAYV,CAAQ,CAAC,IAAII,CAAS;AAAA,MACpE,GAAGC;AAAA,IACJ,CAAA;AAAA,EACF;AACD,SAAAH,EAAU,cAAc,GAAGF,CAAQ,IAC5BE;AACT;","x_google_ignoreList":[0]}
@@ -1,8 +1,12 @@
1
- function i(r, t, a) {
2
- let e = (s) => r(s, ...t);
3
- return a === void 0 ? e : Object.assign(e, { lazy: a, lazyArgs: t });
4
- }
1
+ /**
2
+ * @license lucide-react v0.477.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */
7
+ const n = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), i = (...e) => e.filter((o, r, t) => !!o && o.trim() !== "" && t.indexOf(o) === r).join(" ").trim();
5
8
  export {
6
- i as a
9
+ i as mergeClasses,
10
+ n as toKebabCase
7
11
  };
8
12
  //# sourceMappingURL=index.es50.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es50.js","sources":["../../../node_modules/.pnpm/remeda@2.20.2/node_modules/remeda/dist/chunk-D6FCK2GA.js"],"sourcesContent":["function u(o,n,a){let t=r=>o(r,...n);return a===void 0?t:Object.assign(t,{lazy:a,lazyArgs:n})}export{u as a};\n"],"names":["u","o","n","t","r"],"mappings":"AAAA,SAASA,EAAEC,GAAEC,GAAE,GAAE;AAAC,MAAIC,IAAE,CAAAC,MAAGH,EAAEG,GAAE,GAAGF,CAAC;AAAE,SAAO,MAAI,SAAOC,IAAE,OAAO,OAAOA,GAAE,EAAC,MAAK,GAAE,UAASD,EAAC,CAAC;AAAC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index.es50.js","sources":["../../../node_modules/.pnpm/lucide-react@0.477.0_react@18.3.1/node_modules/lucide-react/dist/esm/shared/src/utils.js"],"sourcesContent":["/**\n * @license lucide-react v0.477.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\n\nexport { mergeClasses, toKebabCase };\n//# sourceMappingURL=utils.js.map\n"],"names":["toKebabCase","string","mergeClasses","classes","className","index","array"],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAOK,MAACA,IAAc,CAACC,MAAWA,EAAO,QAAQ,sBAAsB,OAAO,EAAE,YAAW,GACnFC,IAAe,IAAIC,MAAYA,EAAQ,OAAO,CAACC,GAAWC,GAAOC,MAC9D,EAAQF,KAAcA,EAAU,KAAI,MAAO,MAAME,EAAM,QAAQF,CAAS,MAAMC,CACtF,EAAE,KAAK,GAAG,EAAE,KAAI;","x_google_ignoreList":[0]}