@satoshibits/react-json-schema-builder 1.0.0 → 1.0.1

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 (285) hide show
  1. package/README.md +142 -37
  2. package/dist/index.cjs100.js.map +1 -1
  3. package/dist/index.cjs101.js.map +1 -1
  4. package/dist/index.cjs102.js.map +1 -1
  5. package/dist/index.cjs103.js.map +1 -1
  6. package/dist/index.cjs104.js.map +1 -1
  7. package/dist/index.cjs105.js.map +1 -1
  8. package/dist/index.cjs106.js.map +1 -1
  9. package/dist/index.cjs107.js.map +1 -1
  10. package/dist/index.cjs108.js.map +1 -1
  11. package/dist/index.cjs109.js.map +1 -1
  12. package/dist/index.cjs11.js +1 -1
  13. package/dist/index.cjs12.js +1 -1
  14. package/dist/index.cjs13.js +1 -1
  15. package/dist/index.cjs14.js +1 -1
  16. package/dist/index.cjs15.js +1 -1
  17. package/dist/index.cjs16.js +1 -1
  18. package/dist/index.cjs17.js +1 -1
  19. package/dist/index.cjs18.js +1 -1
  20. package/dist/index.cjs20.js +1 -1
  21. package/dist/index.cjs21.js +1 -1
  22. package/dist/index.cjs22.js +1 -6
  23. package/dist/index.cjs22.js.map +1 -1
  24. package/dist/index.cjs23.js +1 -1
  25. package/dist/index.cjs23.js.map +1 -1
  26. package/dist/index.cjs24.js +1 -1
  27. package/dist/index.cjs24.js.map +1 -1
  28. package/dist/index.cjs25.js +1 -1
  29. package/dist/index.cjs25.js.map +1 -1
  30. package/dist/index.cjs26.js +1 -1
  31. package/dist/index.cjs26.js.map +1 -1
  32. package/dist/index.cjs27.js +6 -1
  33. package/dist/index.cjs27.js.map +1 -1
  34. package/dist/index.cjs28.js +1 -1
  35. package/dist/index.cjs28.js.map +1 -1
  36. package/dist/index.cjs29.js +1 -1
  37. package/dist/index.cjs29.js.map +1 -1
  38. package/dist/index.cjs3.js +1 -1
  39. package/dist/index.cjs3.js.map +1 -1
  40. package/dist/index.cjs30.js.map +1 -1
  41. package/dist/index.cjs31.js +1 -1
  42. package/dist/index.cjs31.js.map +1 -1
  43. package/dist/index.cjs33.js +4 -4
  44. package/dist/index.cjs33.js.map +1 -1
  45. package/dist/index.cjs34.js +12 -13
  46. package/dist/index.cjs34.js.map +1 -1
  47. package/dist/index.cjs35.js +1 -1
  48. package/dist/index.cjs35.js.map +1 -1
  49. package/dist/index.cjs38.js +1 -1
  50. package/dist/index.cjs38.js.map +1 -1
  51. package/dist/index.cjs40.js +1 -1
  52. package/dist/index.cjs40.js.map +1 -1
  53. package/dist/index.cjs41.js +1 -1
  54. package/dist/index.cjs41.js.map +1 -1
  55. package/dist/index.cjs42.js +6 -1
  56. package/dist/index.cjs42.js.map +1 -1
  57. package/dist/index.cjs43.js +6 -1
  58. package/dist/index.cjs43.js.map +1 -1
  59. package/dist/index.cjs44.js +6 -1
  60. package/dist/index.cjs44.js.map +1 -1
  61. package/dist/index.cjs45.js +1 -1
  62. package/dist/index.cjs45.js.map +1 -1
  63. package/dist/index.cjs46.js +1 -1
  64. package/dist/index.cjs46.js.map +1 -1
  65. package/dist/index.cjs47.js +1 -1
  66. package/dist/index.cjs47.js.map +1 -1
  67. package/dist/index.cjs48.js +1 -6
  68. package/dist/index.cjs48.js.map +1 -1
  69. package/dist/index.cjs49.js +1 -6
  70. package/dist/index.cjs49.js.map +1 -1
  71. package/dist/index.cjs5.js +1 -1
  72. package/dist/index.cjs50.js +1 -6
  73. package/dist/index.cjs50.js.map +1 -1
  74. package/dist/index.cjs51.js +1 -1
  75. package/dist/index.cjs51.js.map +1 -1
  76. package/dist/index.cjs52.js.map +1 -1
  77. package/dist/index.cjs55.js.map +1 -1
  78. package/dist/index.cjs56.js.map +1 -1
  79. package/dist/index.cjs57.js.map +1 -1
  80. package/dist/index.cjs58.js.map +1 -1
  81. package/dist/index.cjs6.js +1 -1
  82. package/dist/index.cjs61.js +1 -1
  83. package/dist/index.cjs61.js.map +1 -1
  84. package/dist/index.cjs62.js +1 -1
  85. package/dist/index.cjs62.js.map +1 -1
  86. package/dist/index.cjs63.js +1 -1
  87. package/dist/index.cjs63.js.map +1 -1
  88. package/dist/index.cjs65.js +1 -1
  89. package/dist/index.cjs65.js.map +1 -1
  90. package/dist/index.cjs66.js +1 -1
  91. package/dist/index.cjs66.js.map +1 -1
  92. package/dist/index.cjs67.js +1 -1
  93. package/dist/index.cjs67.js.map +1 -1
  94. package/dist/index.cjs68.js +1 -1
  95. package/dist/index.cjs68.js.map +1 -1
  96. package/dist/index.cjs69.js +1 -1
  97. package/dist/index.cjs69.js.map +1 -1
  98. package/dist/index.cjs7.js +1 -1
  99. package/dist/index.cjs70.js +1 -1
  100. package/dist/index.cjs70.js.map +1 -1
  101. package/dist/index.cjs71.js +1 -1
  102. package/dist/index.cjs71.js.map +1 -1
  103. package/dist/index.cjs72.js +1 -1
  104. package/dist/index.cjs72.js.map +1 -1
  105. package/dist/index.cjs73.js +1 -1
  106. package/dist/index.cjs73.js.map +1 -1
  107. package/dist/index.cjs74.js +1 -1
  108. package/dist/index.cjs74.js.map +1 -1
  109. package/dist/index.cjs75.js +1 -1
  110. package/dist/index.cjs75.js.map +1 -1
  111. package/dist/index.cjs76.js +1 -1
  112. package/dist/index.cjs76.js.map +1 -1
  113. package/dist/index.cjs77.js +1 -1
  114. package/dist/index.cjs77.js.map +1 -1
  115. package/dist/index.cjs78.js +1 -1
  116. package/dist/index.cjs78.js.map +1 -1
  117. package/dist/index.cjs79.js +1 -1
  118. package/dist/index.cjs79.js.map +1 -1
  119. package/dist/index.cjs8.js +1 -1
  120. package/dist/index.cjs80.js +1 -1
  121. package/dist/index.cjs80.js.map +1 -1
  122. package/dist/index.cjs81.js +1 -1
  123. package/dist/index.cjs81.js.map +1 -1
  124. package/dist/index.cjs82.js +1 -1
  125. package/dist/index.cjs82.js.map +1 -1
  126. package/dist/index.cjs83.js +1 -1
  127. package/dist/index.cjs83.js.map +1 -1
  128. package/dist/index.cjs84.js +1 -1
  129. package/dist/index.cjs84.js.map +1 -1
  130. package/dist/index.cjs85.js +1 -1
  131. package/dist/index.cjs85.js.map +1 -1
  132. package/dist/index.cjs86.js.map +1 -1
  133. package/dist/index.cjs87.js +1 -1
  134. package/dist/index.cjs87.js.map +1 -1
  135. package/dist/index.cjs90.js.map +1 -1
  136. package/dist/index.cjs91.js.map +1 -1
  137. package/dist/index.cjs92.js.map +1 -1
  138. package/dist/index.cjs93.js.map +1 -1
  139. package/dist/index.cjs94.js.map +1 -1
  140. package/dist/index.cjs95.js.map +1 -1
  141. package/dist/index.cjs96.js.map +1 -1
  142. package/dist/index.es100.js.map +1 -1
  143. package/dist/index.es101.js.map +1 -1
  144. package/dist/index.es102.js.map +1 -1
  145. package/dist/index.es103.js.map +1 -1
  146. package/dist/index.es104.js.map +1 -1
  147. package/dist/index.es105.js.map +1 -1
  148. package/dist/index.es106.js.map +1 -1
  149. package/dist/index.es107.js.map +1 -1
  150. package/dist/index.es108.js.map +1 -1
  151. package/dist/index.es109.js.map +1 -1
  152. package/dist/index.es11.js +1 -1
  153. package/dist/index.es12.js +2 -2
  154. package/dist/index.es13.js +1 -1
  155. package/dist/index.es14.js +5 -5
  156. package/dist/index.es15.js +1 -1
  157. package/dist/index.es16.js +5 -5
  158. package/dist/index.es17.js +1 -1
  159. package/dist/index.es18.js +1 -1
  160. package/dist/index.es20.js +1 -1
  161. package/dist/index.es21.js +7 -7
  162. package/dist/index.es22.js +6 -13
  163. package/dist/index.es22.js.map +1 -1
  164. package/dist/index.es23.js +6 -9
  165. package/dist/index.es23.js.map +1 -1
  166. package/dist/index.es24.js +9 -6
  167. package/dist/index.es24.js.map +1 -1
  168. package/dist/index.es25.js +6 -12
  169. package/dist/index.es25.js.map +1 -1
  170. package/dist/index.es26.js +13 -4
  171. package/dist/index.es26.js.map +1 -1
  172. package/dist/index.es27.js +10 -19
  173. package/dist/index.es27.js.map +1 -1
  174. package/dist/index.es28.js +17 -21
  175. package/dist/index.es28.js.map +1 -1
  176. package/dist/index.es29.js +22 -5
  177. package/dist/index.es29.js.map +1 -1
  178. package/dist/index.es3.js +212 -185
  179. package/dist/index.es3.js.map +1 -1
  180. package/dist/index.es30.js.map +1 -1
  181. package/dist/index.es31.js +3 -3
  182. package/dist/index.es31.js.map +1 -1
  183. package/dist/index.es33.js +17 -24
  184. package/dist/index.es33.js.map +1 -1
  185. package/dist/index.es34.js +527 -331
  186. package/dist/index.es34.js.map +1 -1
  187. package/dist/index.es35.js +1 -1
  188. package/dist/index.es35.js.map +1 -1
  189. package/dist/index.es38.js +1 -1
  190. package/dist/index.es38.js.map +1 -1
  191. package/dist/index.es40.js +6 -6
  192. package/dist/index.es40.js.map +1 -1
  193. package/dist/index.es41.js +815 -97
  194. package/dist/index.es41.js.map +1 -1
  195. package/dist/index.es42.js +10 -56
  196. package/dist/index.es42.js.map +1 -1
  197. package/dist/index.es43.js +10 -24
  198. package/dist/index.es43.js.map +1 -1
  199. package/dist/index.es44.js +10 -45
  200. package/dist/index.es44.js.map +1 -1
  201. package/dist/index.es45.js +97 -69
  202. package/dist/index.es45.js.map +1 -1
  203. package/dist/index.es46.js +52 -56
  204. package/dist/index.es46.js.map +1 -1
  205. package/dist/index.es47.js +19 -827
  206. package/dist/index.es47.js.map +1 -1
  207. package/dist/index.es48.js +45 -10
  208. package/dist/index.es48.js.map +1 -1
  209. package/dist/index.es49.js +86 -10
  210. package/dist/index.es49.js.map +1 -1
  211. package/dist/index.es5.js +3 -3
  212. package/dist/index.es50.js +60 -10
  213. package/dist/index.es50.js.map +1 -1
  214. package/dist/index.es51.js +2 -2
  215. package/dist/index.es51.js.map +1 -1
  216. package/dist/index.es52.js.map +1 -1
  217. package/dist/index.es55.js.map +1 -1
  218. package/dist/index.es56.js.map +1 -1
  219. package/dist/index.es57.js.map +1 -1
  220. package/dist/index.es58.js.map +1 -1
  221. package/dist/index.es6.js +3 -3
  222. package/dist/index.es61.js +11 -11
  223. package/dist/index.es61.js.map +1 -1
  224. package/dist/index.es62.js +1 -1
  225. package/dist/index.es62.js.map +1 -1
  226. package/dist/index.es63.js +26 -3
  227. package/dist/index.es63.js.map +1 -1
  228. package/dist/index.es65.js +62 -42
  229. package/dist/index.es65.js.map +1 -1
  230. package/dist/index.es66.js +28 -25
  231. package/dist/index.es66.js.map +1 -1
  232. package/dist/index.es67.js +4 -64
  233. package/dist/index.es67.js.map +1 -1
  234. package/dist/index.es68.js +24 -7
  235. package/dist/index.es68.js.map +1 -1
  236. package/dist/index.es69.js +31 -123
  237. package/dist/index.es69.js.map +1 -1
  238. package/dist/index.es7.js +3 -3
  239. package/dist/index.es70.js +3 -14
  240. package/dist/index.es70.js.map +1 -1
  241. package/dist/index.es71.js +41 -129
  242. package/dist/index.es71.js.map +1 -1
  243. package/dist/index.es72.js +7 -10
  244. package/dist/index.es72.js.map +1 -1
  245. package/dist/index.es73.js +112 -203
  246. package/dist/index.es73.js.map +1 -1
  247. package/dist/index.es74.js +15 -13
  248. package/dist/index.es74.js.map +1 -1
  249. package/dist/index.es75.js +132 -31
  250. package/dist/index.es75.js.map +1 -1
  251. package/dist/index.es76.js +10 -7
  252. package/dist/index.es76.js.map +1 -1
  253. package/dist/index.es77.js +212 -26
  254. package/dist/index.es77.js.map +1 -1
  255. package/dist/index.es78.js +13 -4
  256. package/dist/index.es78.js.map +1 -1
  257. package/dist/index.es79.js +7 -5
  258. package/dist/index.es79.js.map +1 -1
  259. package/dist/index.es8.js +3 -3
  260. package/dist/index.es80.js +3 -27
  261. package/dist/index.es80.js.map +1 -1
  262. package/dist/index.es81.js +28 -50
  263. package/dist/index.es81.js.map +1 -1
  264. package/dist/index.es82.js +50 -9
  265. package/dist/index.es82.js.map +1 -1
  266. package/dist/index.es83.js +9 -25
  267. package/dist/index.es83.js.map +1 -1
  268. package/dist/index.es84.js +2 -2
  269. package/dist/index.es84.js.map +1 -1
  270. package/dist/index.es85.js +1 -1
  271. package/dist/index.es85.js.map +1 -1
  272. package/dist/index.es86.js.map +1 -1
  273. package/dist/index.es87.js +1 -1
  274. package/dist/index.es87.js.map +1 -1
  275. package/dist/index.es90.js.map +1 -1
  276. package/dist/index.es91.js.map +1 -1
  277. package/dist/index.es92.js.map +1 -1
  278. package/dist/index.es93.js.map +1 -1
  279. package/dist/index.es94.js.map +1 -1
  280. package/dist/index.es95.js.map +1 -1
  281. package/dist/index.es96.js.map +1 -1
  282. package/dist/packages/builder/schema-builder.d.ts +20 -1
  283. package/dist/packages/builder/schema-builder.d.ts.map +1 -1
  284. package/dist/style.css +0 -3
  285. package/package.json +5 -3
package/dist/index.es3.js CHANGED
@@ -1,90 +1,91 @@
1
1
  import { j as e } from "./index.es9.js";
2
- import { useState as a, useEffect as q, Fragment as le } from "react";
3
- import { useSchema as oe } from "./index.es2.js";
4
- import { Button as c } from "./index.es11.js";
5
- import { Breadcrumb as ae, BreadcrumbList as ce, BreadcrumbItem as V, BreadcrumbLink as $, BreadcrumbSeparator as de } from "./index.es12.js";
6
- import { Switch as me } from "./index.es13.js";
7
- import { Select as F, SelectTrigger as O, SelectValue as L, SelectContent as U, SelectItem as i } from "./index.es14.js";
8
- import { Label as H } from "./index.es15.js";
9
- import { a as _ } from "./index.es10.js";
10
- import { usePluginSystem as he, useConstraints as ue } from "./index.es4.js";
11
- import { EditPropertyDialog as je } from "./index.es16.js";
12
- import { AlertDialog as xe, AlertDialogContent as fe, AlertDialogHeader as pe, AlertDialogTitle as ge, AlertDialogDescription as ve, AlertDialogFooter as be, AlertDialogCancel as ye, AlertDialogAction as Ce } from "./index.es17.js";
13
- import { Alert as De, AlertTitle as Ae, AlertDescription as Se } from "./index.es18.js";
14
- import { validateSchema as Pe } from "./index.es19.js";
15
- import Ne from "ajv";
2
+ import { useState as c, useEffect as $, Fragment as ce } from "react";
3
+ import { useSchema as de } from "./index.es2.js";
4
+ import { Button as d } from "./index.es11.js";
5
+ import { Breadcrumb as me, BreadcrumbList as he, BreadcrumbItem as F, BreadcrumbLink as L, BreadcrumbSeparator as ue } from "./index.es12.js";
6
+ import { Switch as je } from "./index.es13.js";
7
+ import { Select as O, SelectTrigger as U, SelectValue as H, SelectContent as _, SelectItem as o } from "./index.es14.js";
8
+ import { Label as G } from "./index.es15.js";
9
+ import { a as J } from "./index.es10.js";
10
+ import { usePluginSystem as xe, useConstraints as fe } from "./index.es4.js";
11
+ import { EditPropertyDialog as pe } from "./index.es16.js";
12
+ import { AlertDialog as ge, AlertDialogContent as ve, AlertDialogHeader as ye, AlertDialogTitle as be, AlertDialogDescription as Ce, AlertDialogFooter as De, AlertDialogCancel as Pe, AlertDialogAction as Se } from "./index.es17.js";
13
+ import { Alert as Ae, AlertTitle as Ne, AlertDescription as Ee } from "./index.es18.js";
14
+ import { validateSchema as we } from "./index.es19.js";
15
+ import Be from "ajv";
16
16
  import { DebouncedInput as C } from "./index.es20.js";
17
- import { AddPropertyDialog as we } from "./index.es21.js";
18
- import Ee from "./index.es22.js";
19
- import Te from "./index.es23.js";
20
- import Be from "./index.es24.js";
21
- import ze from "./index.es25.js";
22
- import Ke from "./index.es26.js";
23
- const tr = (s) => {
24
- const [G, g] = a(!1), [J, v] = a(!1), [M, h] = a(!1), [u, b] = a(), [D, A] = a(), [S, P] = a(), [j, x] = a(null);
25
- he(s.plugins ?? []);
17
+ import { AddPropertyDialog as Te } from "./index.es21.js";
18
+ import { cn as D } from "./index.es22.js";
19
+ import ze from "./index.es23.js";
20
+ import Ke from "./index.es24.js";
21
+ import Re from "./index.es25.js";
22
+ import Ie from "./index.es26.js";
23
+ import qe from "./index.es27.js";
24
+ const at = (i) => {
25
+ const [M, u] = c(!1), [Q, v] = c(!1), [W, j] = c(!1), [x, y] = c(), [P, S] = c(), [A, N] = c(), [f, p] = c(null);
26
+ xe(i.plugins ?? []);
26
27
  const {
27
- getCurrentSchema: N,
28
- setPath: f,
29
- path: d,
28
+ getCurrentSchema: E,
29
+ setPath: m,
30
+ path: a,
30
31
  schema: w,
31
- handleAddProperty: E,
32
+ handleAddProperty: B,
32
33
  handlePropertyChange: l,
33
34
  handleKeyChange: T,
34
- handleDeleteProperty: Q,
35
- setSchema: W,
36
- isPropertyRequired: y
37
- } = oe(), { getConstraintDefinitionsForType: X } = ue();
38
- q(() => {
39
- if (s.schema)
35
+ handleDeleteProperty: X,
36
+ setSchema: Y,
37
+ isPropertyRequired: b
38
+ } = de(), { getConstraintDefinitionsForType: Z } = fe();
39
+ $(() => {
40
+ if (i.initialSchema)
40
41
  try {
41
- Pe(s.schema), W(_(s.schema)), x(null);
42
- } catch (r) {
43
- r instanceof Error ? x(r.message) : r instanceof Ne.ValidationError ? x(`Schema validation error: ${r.message}`) : x("Unknown schema validation error");
42
+ we(i.initialSchema), Y(J(i.initialSchema)), p(null);
43
+ } catch (t) {
44
+ t instanceof Error ? p(t.message) : t instanceof Be.ValidationError ? p(`Schema validation error: ${t.message}`) : p("Unknown schema validation error");
44
45
  }
45
- }, [s.schema]), q(() => {
46
- !j && s.onSchemaChange && s.onSchemaChange(w);
47
- }, [w, j, s.onSchemaChange]);
48
- const Y = N(), B = (r) => {
49
- f([...d, r]);
50
- }, Z = () => {
51
- f(d.slice(0, -1));
52
- }, k = (r, t) => {
53
- A(r), P(t), v(!0);
54
- }, z = (r) => {
55
- b(r), h(!0);
56
- }, ee = () => {
57
- u && (Q(u), b(void 0)), h(!1);
46
+ }, [i.initialSchema]), $(() => {
47
+ !f && i.onSchemaChange && i.onSchemaChange(w);
48
+ }, [w, f, i.onSchemaChange]);
49
+ const k = E(), z = (t) => {
50
+ m([...a, t]);
51
+ }, K = () => {
52
+ m(a.slice(0, -1));
53
+ }, ee = (t, r) => {
54
+ S(t), N(r), v(!0);
55
+ }, R = (t) => {
56
+ y(t), j(!0);
57
+ }, te = () => {
58
+ x && (X(x), y(void 0)), j(!1);
58
59
  }, re = () => {
59
- b(void 0), h(!1);
60
- }, K = (r) => {
61
- const t = N().properties;
62
- if (!t || typeof t[r] == "boolean")
60
+ y(void 0), j(!1);
61
+ }, I = (t) => {
62
+ const r = E().properties;
63
+ if (!r || typeof r[t] == "boolean")
63
64
  return;
64
- const n = t[r], m = `${r}_copy`, p = _(n), o = E(
65
- m,
66
- p,
67
- y(r)
65
+ const n = r[t], h = `${t}_copy`, g = J(n), s = B(
66
+ h,
67
+ g,
68
+ b(t)
68
69
  );
69
- o.status === "error" ? s.onPropertyAddError?.(o) : s.onPropertyAddSuccess?.(o);
70
- }, te = (...r) => {
71
- const t = E(...r);
72
- t.status === "error" ? s.onPropertyAddError?.(t) : t.status === "success" && s.onPropertyAddSuccess?.(t), g(!1);
73
- }, R = s.propertyComponent, ne = (r, t) => R ? /* @__PURE__ */ e.jsx(
74
- R,
70
+ s.status === "error" ? i.onPropertyAddError?.(s) : i.onPropertyAddSuccess?.(s);
71
+ }, ne = (...t) => {
72
+ const r = B(...t);
73
+ r.status === "error" ? i.onPropertyAddError?.(r) : r.status === "success" && i.onPropertyAddSuccess?.(r), u(!1);
74
+ }, q = i.propertyComponent, ie = (t, r) => q ? /* @__PURE__ */ e.jsx(
75
+ q,
75
76
  {
76
77
  property: {
77
- key: r,
78
- schema: t,
79
- isRequired: y(r)
78
+ key: t,
79
+ schema: r,
80
+ isRequired: b(t)
80
81
  },
81
82
  onPropertyChange: l,
82
83
  onKeyChange: T,
83
- onDelete: z,
84
- onDuplicate: K,
85
- onNavigate: t.type === "object" || t.type === "array" && typeof t.items == "object" && t.items.type === "object" ? B : void 0
84
+ onDelete: R,
85
+ onDuplicate: I,
86
+ onNavigate: r.type === "object" || r.type === "array" && typeof r.items == "object" && r.items.type === "object" ? z : void 0
86
87
  },
87
- r
88
+ t
88
89
  ) : /* @__PURE__ */ e.jsxs(
89
90
  "div",
90
91
  {
@@ -93,43 +94,43 @@ const tr = (s) => {
93
94
  /* @__PURE__ */ e.jsx("div", { className: "", children: /* @__PURE__ */ e.jsx(
94
95
  C,
95
96
  {
96
- value: r,
97
- onDebounce: (n) => T(r, n),
97
+ value: t,
98
+ onDebounce: (n) => T(t, n),
98
99
  placeholder: "Property Key",
99
- "aria-label": `Property key for ${r}`,
100
+ "aria-label": `Property key for ${t}`,
100
101
  delay: 500
101
102
  }
102
103
  ) }),
103
104
  /* @__PURE__ */ e.jsxs("div", { className: "flex items-center gap-2", children: [
104
105
  /* @__PURE__ */ e.jsx(
105
- me,
106
+ je,
106
107
  {
107
- checked: y(r),
108
- onCheckedChange: (n) => l(r, { isRequired: n }),
108
+ checked: b(t),
109
+ onCheckedChange: (n) => l(t, { isRequired: n }),
109
110
  "aria-label": "Required"
110
111
  }
111
112
  ),
112
- /* @__PURE__ */ e.jsx(H, { htmlFor: `required-${r}`, children: "Required" })
113
+ /* @__PURE__ */ e.jsx(G, { htmlFor: `required-${t}`, children: "Required" })
113
114
  ] }),
114
115
  /* @__PURE__ */ e.jsx("div", { className: "", children: /* @__PURE__ */ e.jsxs(
115
- F,
116
+ O,
116
117
  {
117
- value: typeof t == "object" && !Array.isArray(t.type) ? t.type : void 0,
118
- onValueChange: (n) => l(r, {
118
+ value: typeof r == "object" && !Array.isArray(r.type) ? r.type : void 0,
119
+ onValueChange: (n) => l(t, {
119
120
  type: n
120
121
  }),
121
122
  "aria-label": "Type",
122
123
  children: [
123
- /* @__PURE__ */ e.jsx(O, { className: "w-full", "aria-label": "Select type", children: /* @__PURE__ */ e.jsx(L, {}) }),
124
- /* @__PURE__ */ e.jsxs(U, { children: [
125
- /* @__PURE__ */ e.jsx(i, { value: "string", children: "string" }),
126
- /* @__PURE__ */ e.jsx(i, { value: "number", children: "number" }),
127
- /* @__PURE__ */ e.jsx(i, { value: "integer", children: "integer" }),
128
- /* @__PURE__ */ e.jsx(i, { value: "boolean", children: "boolean" }),
129
- /* @__PURE__ */ e.jsx(i, { value: "object", children: "object" }),
130
- /* @__PURE__ */ e.jsx(i, { value: "array", children: "array" }),
131
- /* @__PURE__ */ e.jsx(i, { value: "null", children: "null" }),
132
- /* @__PURE__ */ e.jsx(i, { value: "enum", children: "enum" })
124
+ /* @__PURE__ */ e.jsx(U, { className: "w-full", "aria-label": "Select type", children: /* @__PURE__ */ e.jsx(H, {}) }),
125
+ /* @__PURE__ */ e.jsxs(_, { children: [
126
+ /* @__PURE__ */ e.jsx(o, { value: "string", children: "string" }),
127
+ /* @__PURE__ */ e.jsx(o, { value: "number", children: "number" }),
128
+ /* @__PURE__ */ e.jsx(o, { value: "integer", children: "integer" }),
129
+ /* @__PURE__ */ e.jsx(o, { value: "boolean", children: "boolean" }),
130
+ /* @__PURE__ */ e.jsx(o, { value: "object", children: "object" }),
131
+ /* @__PURE__ */ e.jsx(o, { value: "array", children: "array" }),
132
+ /* @__PURE__ */ e.jsx(o, { value: "null", children: "null" }),
133
+ /* @__PURE__ */ e.jsx(o, { value: "enum", children: "enum" })
133
134
  ] })
134
135
  ]
135
136
  }
@@ -137,201 +138,227 @@ const tr = (s) => {
137
138
  /* @__PURE__ */ e.jsx("div", { className: "", children: /* @__PURE__ */ e.jsx(
138
139
  C,
139
140
  {
140
- value: typeof t == "object" ? t.title : void 0,
141
- onDebounce: (n) => l(r, { title: n }),
141
+ value: typeof r == "object" ? r.title : void 0,
142
+ onDebounce: (n) => l(t, { title: n }),
142
143
  placeholder: "Title"
143
144
  }
144
145
  ) }),
145
146
  /* @__PURE__ */ e.jsx("div", { className: "", children: /* @__PURE__ */ e.jsx(
146
147
  C,
147
148
  {
148
- value: typeof t == "object" ? t.description : void 0,
149
- onDebounce: (n) => l(r, { description: n }),
149
+ value: typeof r == "object" ? r.description : void 0,
150
+ onDebounce: (n) => l(t, { description: n }),
150
151
  placeholder: "Description"
151
152
  }
152
153
  ) }),
153
154
  /* @__PURE__ */ e.jsxs("div", { className: "order-last md:order-none flex gap-2", children: [
154
155
  /* @__PURE__ */ e.jsx(
155
- c,
156
+ d,
156
157
  {
157
158
  variant: "outline",
158
159
  size: "sm",
159
- onClick: () => z(r),
160
+ onClick: () => R(t),
160
161
  "aria-label": "Delete",
161
162
  className: "block!",
162
- children: /* @__PURE__ */ e.jsx(Te, { size: 16, className: "text-destructive" })
163
+ children: /* @__PURE__ */ e.jsx(Ke, { size: 16, className: "text-destructive" })
163
164
  }
164
165
  ),
165
166
  /* @__PURE__ */ e.jsx(
166
- c,
167
+ d,
167
168
  {
168
169
  variant: "outline",
169
170
  size: "sm",
170
- onClick: () => K(r),
171
+ onClick: () => I(t),
171
172
  "aria-label": "Duplicate",
172
173
  className: "block!",
173
- children: /* @__PURE__ */ e.jsx(Be, { size: 16 })
174
+ children: /* @__PURE__ */ e.jsx(Re, { size: 16 })
174
175
  }
175
176
  ),
176
- se(r, t),
177
- I(r, t)
177
+ ae(t, r),
178
+ V(t, r)
178
179
  ] }),
179
- ie(r, t)
180
+ oe(t, r)
180
181
  ]
181
182
  },
182
- r
183
- ), ie = (r, t) => {
184
- if (typeof t != "object" || t.type !== "array")
183
+ t
184
+ ), oe = (t, r) => {
185
+ if (typeof r != "object" || r.type !== "array")
185
186
  return null;
186
- const n = t.items, m = !Array.isArray(n) && typeof n == "object" && typeof n.type == "string" ? n?.type : "string";
187
+ const n = r.items, h = !Array.isArray(n) && typeof n == "object" && typeof n.type == "string" ? n?.type : "string";
187
188
  return /* @__PURE__ */ e.jsxs("div", { className: "col-span-full flex items-center gap-4 pl-8 mt-2 bg-gray-50 p-2 rounded-md", children: [
188
- /* @__PURE__ */ e.jsx(H, { children: "Items of type:" }),
189
+ /* @__PURE__ */ e.jsx(G, { children: "Items of type:" }),
189
190
  /* @__PURE__ */ e.jsxs(
190
- F,
191
+ O,
191
192
  {
192
- value: m,
193
- onValueChange: (p) => {
194
- const o = {
193
+ value: h,
194
+ onValueChange: (g) => {
195
+ const s = {
195
196
  ...typeof n == "object" ? n : {},
196
- type: p
197
+ type: g
197
198
  };
198
- p === "object" && (o.properties = o.properties ?? {}), l(r, { items: o });
199
+ g === "object" && (s.properties = s.properties ?? {}), l(t, { items: s });
199
200
  },
200
201
  children: [
201
202
  /* @__PURE__ */ e.jsx(
202
- O,
203
+ U,
203
204
  {
204
205
  className: "w-[200px]",
205
206
  "aria-label": "Select items of type",
206
- children: /* @__PURE__ */ e.jsx(L, {})
207
+ children: /* @__PURE__ */ e.jsx(H, {})
207
208
  }
208
209
  ),
209
- /* @__PURE__ */ e.jsxs(U, { children: [
210
- /* @__PURE__ */ e.jsx(i, { value: "string", children: "string" }),
211
- /* @__PURE__ */ e.jsx(i, { value: "number", children: "number" }),
212
- /* @__PURE__ */ e.jsx(i, { value: "integer", children: "integer" }),
213
- /* @__PURE__ */ e.jsx(i, { value: "boolean", children: "boolean" }),
214
- /* @__PURE__ */ e.jsx(i, { value: "object", children: "object" }),
215
- /* @__PURE__ */ e.jsx(i, { value: "array", children: "array" }),
216
- /* @__PURE__ */ e.jsx(i, { value: "null", children: "null" })
210
+ /* @__PURE__ */ e.jsxs(_, { children: [
211
+ /* @__PURE__ */ e.jsx(o, { value: "string", children: "string" }),
212
+ /* @__PURE__ */ e.jsx(o, { value: "number", children: "number" }),
213
+ /* @__PURE__ */ e.jsx(o, { value: "integer", children: "integer" }),
214
+ /* @__PURE__ */ e.jsx(o, { value: "boolean", children: "boolean" }),
215
+ /* @__PURE__ */ e.jsx(o, { value: "object", children: "object" }),
216
+ /* @__PURE__ */ e.jsx(o, { value: "array", children: "array" }),
217
+ /* @__PURE__ */ e.jsx(o, { value: "null", children: "null" })
217
218
  ] })
218
219
  ]
219
220
  }
220
221
  ),
221
- I(r, n)
222
+ V(t, n)
222
223
  ] });
223
- }, se = (r, t) => {
224
- if (typeof t != "object") return null;
225
- const n = X(
226
- typeof t.type == "string" ? t.type : ""
227
- ), m = Array.isArray(t?.enum);
228
- return n.length || m ? /* @__PURE__ */ e.jsx(
229
- c,
224
+ }, ae = (t, r) => {
225
+ if (typeof r != "object") return null;
226
+ const n = Z(
227
+ typeof r.type == "string" ? r.type : ""
228
+ ), h = Array.isArray(r?.enum);
229
+ return n.length || h ? /* @__PURE__ */ e.jsx(
230
+ d,
230
231
  {
231
232
  variant: "outline",
232
233
  size: "sm",
233
- onClick: () => k(r, t),
234
+ onClick: () => ee(t, r),
234
235
  "aria-label": "Edit constraints",
235
- children: /* @__PURE__ */ e.jsx(ze, { size: 16 })
236
+ children: /* @__PURE__ */ e.jsx(Ie, { size: 16 })
236
237
  }
237
238
  ) : null;
238
- }, I = (r, t) => !Array.isArray(t) && typeof t == "object" && t?.type === "object" ? /* @__PURE__ */ e.jsxs(
239
- c,
239
+ }, V = (t, r) => !Array.isArray(r) && typeof r == "object" && r?.type === "object" ? /* @__PURE__ */ e.jsxs(
240
+ d,
240
241
  {
241
242
  variant: "outline",
242
243
  size: "sm",
243
- onClick: () => B(r),
244
+ onClick: () => z(t),
244
245
  "aria-label": "Navigate",
245
246
  children: [
246
247
  /* @__PURE__ */ e.jsx("span", { className: "sr-only", children: "Navigate" }),
247
- /* @__PURE__ */ e.jsx(Ke, { size: 16 })
248
+ /* @__PURE__ */ e.jsx(qe, { size: 16 })
248
249
  ]
249
250
  }
250
- ) : null;
251
- return /* @__PURE__ */ e.jsxs("div", { children: [
252
- j && /* @__PURE__ */ e.jsxs(De, { variant: "destructive", children: [
253
- /* @__PURE__ */ e.jsx(Ae, { children: "Schema Error" }),
254
- /* @__PURE__ */ e.jsx(Se, { children: j })
255
- ] }),
256
- /* @__PURE__ */ e.jsxs("div", { className: "flex items-center space-x-4", children: [
251
+ ) : null, le = () => {
252
+ const t = i.navigationComponent;
253
+ return t ? /* @__PURE__ */ e.jsx(
254
+ t,
255
+ {
256
+ currentPath: a,
257
+ onNavigateUp: K,
258
+ onNavigateTo: m,
259
+ isRootPath: a.length === 0
260
+ }
261
+ ) : /* @__PURE__ */ e.jsxs("div", { className: "flex items-center space-x-4", children: [
257
262
  /* @__PURE__ */ e.jsx(
258
- c,
263
+ d,
259
264
  {
260
265
  variant: "outline",
261
266
  size: "sm",
262
- onClick: Z,
263
- disabled: d.length === 0,
267
+ onClick: K,
268
+ disabled: a.length === 0,
269
+ className: D(i.backButtonClassName),
264
270
  children: "Back"
265
271
  }
266
272
  ),
267
- /* @__PURE__ */ e.jsx(ae, { children: /* @__PURE__ */ e.jsxs(ce, { children: [
268
- /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx($, { href: "#", onClick: () => f([]), children: "Root" }) }),
269
- d.map((r, t) => /* @__PURE__ */ e.jsxs(le, { children: [
270
- /* @__PURE__ */ e.jsx(de, {}),
271
- /* @__PURE__ */ e.jsx(V, { children: /* @__PURE__ */ e.jsx(
272
- $,
273
+ /* @__PURE__ */ e.jsx(me, { children: /* @__PURE__ */ e.jsxs(he, { children: [
274
+ /* @__PURE__ */ e.jsx(F, { children: /* @__PURE__ */ e.jsx(L, { href: "#", onClick: () => m([]), children: "Root" }) }),
275
+ a.map((r, n) => /* @__PURE__ */ e.jsxs(ce, { children: [
276
+ /* @__PURE__ */ e.jsx(ue, {}),
277
+ /* @__PURE__ */ e.jsx(F, { children: /* @__PURE__ */ e.jsx(
278
+ L,
273
279
  {
274
280
  href: "#",
275
- onClick: () => f(d.slice(0, t + 1)),
281
+ onClick: () => m(a.slice(0, n + 1)),
276
282
  children: r
277
283
  }
278
284
  ) })
279
- ] }, `path-${t}`))
285
+ ] }, `path-${n}`))
280
286
  ] }) })
281
- ] }),
282
- /* @__PURE__ */ e.jsx("div", { className: "mt-6 overflow-x-hidden min-w-dvw", children: Object.entries(Y.properties ?? {}).map(
283
- ([r, t]) => typeof t == "boolean" ? null : ne(r, t)
284
- ) }),
285
- /* @__PURE__ */ e.jsxs(
286
- c,
287
+ ] });
288
+ }, se = () => {
289
+ const t = i.addPropertyButtonComponent;
290
+ return t ? /* @__PURE__ */ e.jsx(
291
+ t,
292
+ {
293
+ onClick: () => u(!0)
294
+ }
295
+ ) : /* @__PURE__ */ e.jsxs(
296
+ d,
287
297
  {
288
- className: "self-center",
298
+ className: D("self-center", i.addPropertyButtonClassName),
289
299
  onClick: () => {
290
- g(!0);
300
+ u(!0);
291
301
  },
292
302
  children: [
293
- /* @__PURE__ */ e.jsx(Ee, { className: "h-4 w-4 mr-2" }),
303
+ /* @__PURE__ */ e.jsx(ze, { className: "h-4 w-4 mr-2" }),
294
304
  "Add Property"
295
305
  ]
296
306
  }
307
+ );
308
+ };
309
+ return /* @__PURE__ */ e.jsxs("div", { children: [
310
+ f && /* @__PURE__ */ e.jsxs(Ae, { variant: "destructive", children: [
311
+ /* @__PURE__ */ e.jsx(Ne, { children: "Schema Error" }),
312
+ /* @__PURE__ */ e.jsx(Ee, { children: f })
313
+ ] }),
314
+ le(),
315
+ /* @__PURE__ */ e.jsx(
316
+ "div",
317
+ {
318
+ className: D("mt-6 overflow-x-hidden", i.propertiesListClassName),
319
+ children: Object.entries(k.properties ?? {}).map(
320
+ ([t, r]) => typeof r == "boolean" ? null : ie(t, r)
321
+ )
322
+ }
297
323
  ),
324
+ se(),
298
325
  /* @__PURE__ */ e.jsx(
299
- we,
326
+ Te,
300
327
  {
301
- open: G,
302
- onOpenChange: g,
303
- onSubmit: te
328
+ open: M,
329
+ onOpenChange: u,
330
+ onSubmit: ne
304
331
  }
305
332
  ),
306
- D && S && /* @__PURE__ */ e.jsx(
307
- je,
333
+ P && A && /* @__PURE__ */ e.jsx(
334
+ pe,
308
335
  {
309
- propertyKey: D,
310
- property: S,
311
- open: J,
336
+ propertyKey: P,
337
+ property: A,
338
+ open: Q,
312
339
  onOpenChange: v,
313
- onSubmit: (r) => {
314
- l(...r), A(void 0), P(void 0), v(!1);
340
+ onSubmit: (t) => {
341
+ l(...t), S(void 0), N(void 0), v(!1);
315
342
  }
316
343
  }
317
344
  ),
318
- /* @__PURE__ */ e.jsx(xe, { open: M, onOpenChange: h, children: /* @__PURE__ */ e.jsxs(fe, { children: [
319
- /* @__PURE__ */ e.jsxs(pe, { children: [
320
- /* @__PURE__ */ e.jsx(ge, { children: "Are you sure?" }),
321
- /* @__PURE__ */ e.jsxs(ve, { children: [
345
+ /* @__PURE__ */ e.jsx(ge, { open: W, onOpenChange: j, children: /* @__PURE__ */ e.jsxs(ve, { children: [
346
+ /* @__PURE__ */ e.jsxs(ye, { children: [
347
+ /* @__PURE__ */ e.jsx(be, { children: "Are you sure?" }),
348
+ /* @__PURE__ */ e.jsxs(Ce, { children: [
322
349
  "This action cannot be undone. This will permanently delete the property",
323
- u ? ` "${u}"` : "",
350
+ x ? ` "${x}"` : "",
324
351
  " from the schema."
325
352
  ] })
326
353
  ] }),
327
- /* @__PURE__ */ e.jsxs(be, { children: [
328
- /* @__PURE__ */ e.jsx(ye, { onClick: re, children: "Cancel" }),
329
- /* @__PURE__ */ e.jsx(Ce, { onClick: ee, children: "Delete" })
354
+ /* @__PURE__ */ e.jsxs(De, { children: [
355
+ /* @__PURE__ */ e.jsx(Pe, { onClick: re, children: "Cancel" }),
356
+ /* @__PURE__ */ e.jsx(Se, { onClick: te, children: "Delete" })
330
357
  ] })
331
358
  ] }) })
332
359
  ] });
333
360
  };
334
361
  export {
335
- tr as SchemaBuilder
362
+ at as SchemaBuilder
336
363
  };
337
364
  //# sourceMappingURL=index.es3.js.map