@satoshibits/react-json-schema-builder 1.1.6 → 1.1.7

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 (196) hide show
  1. package/README.md +2 -0
  2. package/dist/index.cjs132.js +1 -1
  3. package/dist/index.cjs132.js.map +1 -1
  4. package/dist/index.cjs133.js +1 -1
  5. package/dist/index.cjs133.js.map +1 -1
  6. package/dist/index.cjs136.js +1 -1
  7. package/dist/index.cjs138.js +1 -1
  8. package/dist/index.cjs139.js +5 -1
  9. package/dist/index.cjs139.js.map +1 -1
  10. package/dist/index.cjs140.js +1 -1
  11. package/dist/index.cjs140.js.map +1 -1
  12. package/dist/index.cjs141.js +1 -1
  13. package/dist/index.cjs141.js.map +1 -1
  14. package/dist/index.cjs142.js +1 -1
  15. package/dist/index.cjs142.js.map +1 -1
  16. package/dist/index.cjs143.js +1 -1
  17. package/dist/index.cjs143.js.map +1 -1
  18. package/dist/index.cjs144.js +1 -1
  19. package/dist/index.cjs144.js.map +1 -1
  20. package/dist/index.cjs145.js +1 -1
  21. package/dist/index.cjs145.js.map +1 -1
  22. package/dist/index.cjs146.js +1 -1
  23. package/dist/index.cjs146.js.map +1 -1
  24. package/dist/index.cjs147.js +1 -1
  25. package/dist/index.cjs147.js.map +1 -1
  26. package/dist/index.cjs148.js +1 -1
  27. package/dist/index.cjs148.js.map +1 -1
  28. package/dist/index.cjs149.js +1 -1
  29. package/dist/index.cjs149.js.map +1 -1
  30. package/dist/index.cjs15.js +1 -1
  31. package/dist/index.cjs150.js +1 -1
  32. package/dist/index.cjs150.js.map +1 -1
  33. package/dist/index.cjs151.js +1 -1
  34. package/dist/index.cjs151.js.map +1 -1
  35. package/dist/index.cjs152.js +1 -1
  36. package/dist/index.cjs152.js.map +1 -1
  37. package/dist/index.cjs153.js +1 -5
  38. package/dist/index.cjs153.js.map +1 -1
  39. package/dist/index.cjs154.js +1 -1
  40. package/dist/index.cjs154.js.map +1 -1
  41. package/dist/index.cjs155.js +1 -1
  42. package/dist/index.cjs155.js.map +1 -1
  43. package/dist/index.cjs156.js +1 -1
  44. package/dist/index.cjs156.js.map +1 -1
  45. package/dist/index.cjs157.js +1 -1
  46. package/dist/index.cjs157.js.map +1 -1
  47. package/dist/index.cjs158.js +1 -1
  48. package/dist/index.cjs158.js.map +1 -1
  49. package/dist/index.cjs159.js +1 -1
  50. package/dist/index.cjs159.js.map +1 -1
  51. package/dist/index.cjs164.js +1 -1
  52. package/dist/index.cjs166.js +1 -1
  53. package/dist/index.cjs17.js +1 -1
  54. package/dist/index.cjs171.js +1 -38
  55. package/dist/index.cjs171.js.map +1 -1
  56. package/dist/index.cjs172.js +38 -1
  57. package/dist/index.cjs172.js.map +1 -1
  58. package/dist/index.cjs173.js +1 -1
  59. package/dist/index.cjs173.js.map +1 -1
  60. package/dist/index.cjs174.js +1 -1
  61. package/dist/index.cjs174.js.map +1 -1
  62. package/dist/index.cjs175.js +1 -1
  63. package/dist/index.cjs175.js.map +1 -1
  64. package/dist/index.cjs178.js +1 -1
  65. package/dist/index.cjs178.js.map +1 -1
  66. package/dist/index.cjs179.js +1 -1
  67. package/dist/index.cjs179.js.map +1 -1
  68. package/dist/index.cjs180.js +1 -1
  69. package/dist/index.cjs180.js.map +1 -1
  70. package/dist/index.cjs181.js +1 -1
  71. package/dist/index.cjs181.js.map +1 -1
  72. package/dist/index.cjs21.js +1 -1
  73. package/dist/index.cjs25.js +1 -1
  74. package/dist/index.cjs32.js +1 -1
  75. package/dist/index.cjs35.js +1 -1
  76. package/dist/index.cjs37.js +1 -1
  77. package/dist/index.cjs37.js.map +1 -1
  78. package/dist/index.cjs38.js +1 -1
  79. package/dist/index.cjs38.js.map +1 -1
  80. package/dist/index.cjs39.js +1 -6
  81. package/dist/index.cjs39.js.map +1 -1
  82. package/dist/index.cjs40.js +1 -6
  83. package/dist/index.cjs40.js.map +1 -1
  84. package/dist/index.cjs41.js +1 -6
  85. package/dist/index.cjs41.js.map +1 -1
  86. package/dist/index.cjs42.js +1 -1
  87. package/dist/index.cjs42.js.map +1 -1
  88. package/dist/index.cjs43.js +1 -1
  89. package/dist/index.cjs43.js.map +1 -1
  90. package/dist/index.cjs44.js +1 -1
  91. package/dist/index.cjs44.js.map +1 -1
  92. package/dist/index.cjs45.js +6 -1
  93. package/dist/index.cjs45.js.map +1 -1
  94. package/dist/index.cjs46.js +6 -1
  95. package/dist/index.cjs46.js.map +1 -1
  96. package/dist/index.cjs47.js +6 -1
  97. package/dist/index.cjs47.js.map +1 -1
  98. package/dist/index.cjs48.js +1 -1
  99. package/dist/index.es132.js +32 -26
  100. package/dist/index.es132.js.map +1 -1
  101. package/dist/index.es133.js +26 -32
  102. package/dist/index.es133.js.map +1 -1
  103. package/dist/index.es136.js +1 -1
  104. package/dist/index.es138.js +1 -1
  105. package/dist/index.es139.js +254 -3
  106. package/dist/index.es139.js.map +1 -1
  107. package/dist/index.es140.js +19 -43
  108. package/dist/index.es140.js.map +1 -1
  109. package/dist/index.es141.js +3 -7
  110. package/dist/index.es141.js.map +1 -1
  111. package/dist/index.es142.js +44 -123
  112. package/dist/index.es142.js.map +1 -1
  113. package/dist/index.es143.js +7 -14
  114. package/dist/index.es143.js.map +1 -1
  115. package/dist/index.es144.js +116 -125
  116. package/dist/index.es144.js.map +1 -1
  117. package/dist/index.es145.js +14 -10
  118. package/dist/index.es145.js.map +1 -1
  119. package/dist/index.es146.js +127 -209
  120. package/dist/index.es146.js.map +1 -1
  121. package/dist/index.es147.js +10 -12
  122. package/dist/index.es147.js.map +1 -1
  123. package/dist/index.es148.js +215 -7
  124. package/dist/index.es148.js.map +1 -1
  125. package/dist/index.es149.js +13 -4
  126. package/dist/index.es149.js.map +1 -1
  127. package/dist/index.es15.js +1 -1
  128. package/dist/index.es150.js +7 -27
  129. package/dist/index.es150.js.map +1 -1
  130. package/dist/index.es151.js +3 -49
  131. package/dist/index.es151.js.map +1 -1
  132. package/dist/index.es152.js +28 -9
  133. package/dist/index.es152.js.map +1 -1
  134. package/dist/index.es153.js +48 -253
  135. package/dist/index.es153.js.map +1 -1
  136. package/dist/index.es154.js +8 -21
  137. package/dist/index.es154.js.map +1 -1
  138. package/dist/index.es155.js +67 -11
  139. package/dist/index.es155.js.map +1 -1
  140. package/dist/index.es156.js +10 -203
  141. package/dist/index.es156.js.map +1 -1
  142. package/dist/index.es157.js +203 -20
  143. package/dist/index.es157.js.map +1 -1
  144. package/dist/index.es158.js +21 -392
  145. package/dist/index.es158.js.map +1 -1
  146. package/dist/index.es159.js +386 -61
  147. package/dist/index.es159.js.map +1 -1
  148. package/dist/index.es164.js +1 -1
  149. package/dist/index.es166.js +4 -4
  150. package/dist/index.es17.js +4 -4
  151. package/dist/index.es171.js +65 -69
  152. package/dist/index.es171.js.map +1 -1
  153. package/dist/index.es172.js +68 -8
  154. package/dist/index.es172.js.map +1 -1
  155. package/dist/index.es173.js +9 -14
  156. package/dist/index.es173.js.map +1 -1
  157. package/dist/index.es174.js +14 -62
  158. package/dist/index.es174.js.map +1 -1
  159. package/dist/index.es175.js +61 -64
  160. package/dist/index.es175.js.map +1 -1
  161. package/dist/index.es178.js +21 -11
  162. package/dist/index.es178.js.map +1 -1
  163. package/dist/index.es179.js +11 -26
  164. package/dist/index.es179.js.map +1 -1
  165. package/dist/index.es180.js +27 -4
  166. package/dist/index.es180.js.map +1 -1
  167. package/dist/index.es181.js +4 -22
  168. package/dist/index.es181.js.map +1 -1
  169. package/dist/index.es21.js +5 -5
  170. package/dist/index.es25.js +6 -6
  171. package/dist/index.es32.js +1 -1
  172. package/dist/index.es35.js +1 -1
  173. package/dist/index.es37.js +106 -108
  174. package/dist/index.es37.js.map +1 -1
  175. package/dist/index.es38.js +48 -824
  176. package/dist/index.es38.js.map +1 -1
  177. package/dist/index.es39.js +24 -10
  178. package/dist/index.es39.js.map +1 -1
  179. package/dist/index.es40.js +45 -10
  180. package/dist/index.es40.js.map +1 -1
  181. package/dist/index.es41.js +86 -10
  182. package/dist/index.es41.js.map +1 -1
  183. package/dist/index.es42.js +56 -110
  184. package/dist/index.es42.js.map +1 -1
  185. package/dist/index.es43.js +109 -49
  186. package/dist/index.es43.js.map +1 -1
  187. package/dist/index.es44.js +827 -19
  188. package/dist/index.es44.js.map +1 -1
  189. package/dist/index.es45.js +10 -45
  190. package/dist/index.es45.js.map +1 -1
  191. package/dist/index.es46.js +10 -86
  192. package/dist/index.es46.js.map +1 -1
  193. package/dist/index.es47.js +10 -60
  194. package/dist/index.es47.js.map +1 -1
  195. package/dist/index.es48.js +2 -2
  196. package/package.json +9 -1
@@ -1,117 +1,63 @@
1
- import { jsx as e, jsxs as n } from "react/jsx-runtime";
2
- import { Root as l, Content as i, Close as r, Title as d, Description as c, Portal as g, Overlay as f } from "./index.es153.js";
3
- import { cn as o } from "./index.es13.js";
4
- import u from "./index.es16.js";
5
- function D({
6
- ...t
7
- }) {
8
- return /* @__PURE__ */ e(l, { "data-slot": "dialog", ...t });
9
- }
10
- function m({
11
- ...t
12
- }) {
13
- return /* @__PURE__ */ e(g, { "data-slot": "dialog-portal", ...t });
14
- }
15
- function p({
16
- className: t,
17
- ...a
18
- }) {
19
- return /* @__PURE__ */ e(
20
- f,
1
+ import { jsxs as m, jsx as e } from "react/jsx-runtime";
2
+ import { Label as h } from "./index.es12.js";
3
+ import { Input as x } from "./index.es10.js";
4
+ import { InputErrorWrapper as y } from "./index.es11.js";
5
+ import { useState as p } from "react";
6
+ import E from "./index.es16.js";
7
+ const w = ({
8
+ values: t,
9
+ onAddValue: s,
10
+ renderValues: o,
11
+ maxValues: n,
12
+ onRemoveValue: c,
13
+ ...u
14
+ }) => {
15
+ const [i, d] = p(), [l, f] = p();
16
+ return /* @__PURE__ */ m(
17
+ y,
21
18
  {
22
- "data-slot": "dialog-overlay",
23
- className: o(
24
- "data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80",
25
- t
26
- ),
27
- ...a
28
- }
29
- );
30
- }
31
- function y({
32
- className: t,
33
- children: a,
34
- ...s
35
- }) {
36
- return /* @__PURE__ */ n(m, { "data-slot": "dialog-portal", children: [
37
- /* @__PURE__ */ e(p, {}),
38
- /* @__PURE__ */ n(
39
- i,
40
- {
41
- "data-slot": "dialog-content",
42
- className: o(
43
- "bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg",
44
- t
19
+ errorCode: i,
20
+ errorDescription: l,
21
+ showError: !!i,
22
+ className: "space-y-2",
23
+ children: [
24
+ /* @__PURE__ */ e(h, { children: "Add Input" }),
25
+ /* @__PURE__ */ e(
26
+ x,
27
+ {
28
+ ...u,
29
+ onKeyDown: (r) => {
30
+ r.key === "Enter" && (r.preventDefault(), r.stopPropagation());
31
+ },
32
+ onKeyUp: (r) => {
33
+ if (r.key === "Enter") {
34
+ if (n && t.length >= n) {
35
+ d("Maximum reached"), f(
36
+ "You have reached the maximum number of values"
37
+ );
38
+ return;
39
+ }
40
+ s?.(r.currentTarget.value), r.currentTarget.value = "";
41
+ }
42
+ }
43
+ }
45
44
  ),
46
- ...s,
47
- children: [
48
- a,
49
- /* @__PURE__ */ n(r, { className: "ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", children: [
50
- /* @__PURE__ */ e(u, {}),
51
- /* @__PURE__ */ e("span", { className: "sr-only", children: "Close" })
52
- ] })
53
- ]
54
- }
55
- )
56
- ] });
57
- }
58
- function N({ className: t, ...a }) {
59
- return /* @__PURE__ */ e(
60
- "div",
61
- {
62
- "data-slot": "dialog-header",
63
- className: o("flex flex-col gap-2 text-center sm:text-left", t),
64
- ...a
45
+ o ? o() : /* @__PURE__ */ e("div", { className: "space-x-2 flex", children: t.map((r, a) => /* @__PURE__ */ m(
46
+ "div",
47
+ {
48
+ className: "flex items-center text-xs border rounded p-1 w-max mt-2",
49
+ children: [
50
+ /* @__PURE__ */ e("span", { children: r }),
51
+ /* @__PURE__ */ e("button", { onClick: () => c(a), children: /* @__PURE__ */ e(E, { size: 16 }) })
52
+ ]
53
+ },
54
+ `${a}-${r}`
55
+ )) })
56
+ ]
65
57
  }
66
58
  );
67
- }
68
- function z({ className: t, ...a }) {
69
- return /* @__PURE__ */ e(
70
- "div",
71
- {
72
- "data-slot": "dialog-footer",
73
- className: o(
74
- "flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",
75
- t
76
- ),
77
- ...a
78
- }
79
- );
80
- }
81
- function w({
82
- className: t,
83
- ...a
84
- }) {
85
- return /* @__PURE__ */ e(
86
- d,
87
- {
88
- "data-slot": "dialog-title",
89
- className: o("text-lg leading-none font-semibold", t),
90
- ...a
91
- }
92
- );
93
- }
94
- function k({
95
- className: t,
96
- ...a
97
- }) {
98
- return /* @__PURE__ */ e(
99
- c,
100
- {
101
- "data-slot": "dialog-description",
102
- className: o("text-muted-foreground text-sm", t),
103
- ...a
104
- }
105
- );
106
- }
59
+ };
107
60
  export {
108
- D as Dialog,
109
- y as DialogContent,
110
- k as DialogDescription,
111
- z as DialogFooter,
112
- N as DialogHeader,
113
- p as DialogOverlay,
114
- m as DialogPortal,
115
- w as DialogTitle
61
+ w as default
116
62
  };
117
63
  //# sourceMappingURL=index.es42.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es42.js","sources":["../src/components/ui/dialog.tsx"],"sourcesContent":["import * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/80\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content>) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\">\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n )\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n"],"names":["Dialog","props","DialogPrimitive.Root","DialogPortal","DialogPrimitive.Portal","DialogOverlay","className","jsx","DialogPrimitive.Overlay","cn","DialogContent","children","jsxs","DialogPrimitive.Content","DialogPrimitive.Close","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogPrimitive.Title","DialogDescription","DialogPrimitive.Description"],"mappings":";;;;AAMA,SAASA,EAAO;AAAA,EACd,GAAGC;AACL,GAAsD;AACpD,2BAAQC,GAAA,EAAqB,aAAU,UAAU,GAAGD,GAAO;AAC7D;AAQA,SAASE,EAAa;AAAA,EACpB,GAAGF;AACL,GAAwD;AACtD,2BAAQG,GAAA,EAAuB,aAAU,iBAAiB,GAAGH,GAAO;AACtE;AAQA,SAASI,EAAc;AAAA,EACrB,WAAAC;AAAA,EACA,GAAGL;AACL,GAAyD;AAErD,SAAA,gBAAAM;AAAA,IAACC;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MACF;AAAA,MACC,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASS,EAAc;AAAA,EACrB,WAAAJ;AAAA,EACA,UAAAK;AAAA,EACA,GAAGV;AACL,GAAyD;AAErD,SAAA,gBAAAW,EAACT,GAAa,EAAA,aAAU,iBACtB,UAAA;AAAA,IAAA,gBAAAI,EAACF,GAAc,EAAA;AAAA,IACf,gBAAAO;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,aAAU;AAAA,QACV,WAAWJ;AAAA,UACT;AAAA,UACAH;AAAA,QACF;AAAA,QACC,GAAGL;AAAA,QAEH,UAAA;AAAA,UAAAU;AAAA,UACA,gBAAAC,EAAAE,GAAA,EAAsB,WAAU,qWAC/B,UAAA;AAAA,YAAA,gBAAAP,EAACQ,GAAM,EAAA;AAAA,YACN,gBAAAR,EAAA,QAAA,EAAK,WAAU,WAAU,UAAK,QAAA,CAAA;AAAA,UAAA,EACjC,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;AAEA,SAASS,EAAa,EAAE,WAAAV,GAAW,GAAGL,KAAsC;AAExE,SAAA,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWE,EAAG,gDAAgDH,CAAS;AAAA,MACtE,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASgB,EAAa,EAAE,WAAAX,GAAW,GAAGL,KAAsC;AAExE,SAAA,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWE;AAAA,QACT;AAAA,QACAH;AAAA,MACF;AAAA,MACC,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASiB,EAAY;AAAA,EACnB,WAAAZ;AAAA,EACA,GAAGL;AACL,GAAuD;AAEnD,SAAA,gBAAAM;AAAA,IAACY;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWV,EAAG,sCAAsCH,CAAS;AAAA,MAC5D,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;AAEA,SAASmB,EAAkB;AAAA,EACzB,WAAAd;AAAA,EACA,GAAGL;AACL,GAA6D;AAEzD,SAAA,gBAAAM;AAAA,IAACc;AAAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWZ,EAAG,iCAAiCH,CAAS;AAAA,MACvD,GAAGL;AAAA,IAAA;AAAA,EACN;AAEJ;"}
1
+ {"version":3,"file":"index.es42.js","sources":["../src/components/multi-input.tsx"],"sourcesContent":["import { Label } from \"@/components/ui/label\";\nimport { Input } from \"@/components/ui/input\";\nimport { X } from \"lucide-react\";\nimport { InputErrorWrapper } from \"@/components/input-error\";\nimport { useState } from \"react\";\n\ninterface MultiInputProps {\n renderValues?: () => React.ReactNode;\n values: string[];\n onAddValue: (newVal: string) => void;\n onRemoveValue: (index: number) => void;\n maxValues?: number;\n}\n\nconst MultiInput = ({\n values,\n onAddValue,\n renderValues,\n maxValues,\n onRemoveValue,\n ...props\n}: MultiInputProps &\n Omit<React.ComponentProps<\"input\">, \"value\" | \"onChange\">) => {\n const [primaryError, setPrimaryError] = useState<string>();\n const [errorDescription, setErrorDescription] = useState<string>();\n\n return (\n <InputErrorWrapper\n errorCode={primaryError}\n errorDescription={errorDescription}\n showError={!!primaryError}\n className=\"space-y-2\"\n >\n <Label>Add Input</Label>\n <Input\n {...props}\n onKeyDown={(e) => {\n // Prevent form submission on Enter key press\n if (e.key === \"Enter\") {\n e.preventDefault();\n //prevent bubbling up\n e.stopPropagation();\n }\n }}\n onKeyUp={(e) => {\n // Add value on Enter key press\n if (e.key === \"Enter\") {\n if (maxValues && values.length >= maxValues) {\n setPrimaryError(\"Maximum reached\");\n setErrorDescription(\n \"You have reached the maximum number of values\",\n );\n return;\n }\n onAddValue?.(e.currentTarget.value);\n e.currentTarget.value = \"\";\n }\n }}\n />\n {renderValues ? (\n renderValues()\n ) : (\n <div className=\"space-x-2 flex\">\n {values.map((value, i) => (\n <div\n key={`${i}-${value}`}\n className=\"flex items-center text-xs border rounded p-1 w-max mt-2\"\n >\n <span>{value}</span>\n <button onClick={() => onRemoveValue(i)}>\n <X size={16} />\n </button>\n </div>\n ))}\n </div>\n )}\n </InputErrorWrapper>\n );\n};\n\nexport default MultiInput;\n"],"names":["MultiInput","values","onAddValue","renderValues","maxValues","onRemoveValue","props","primaryError","setPrimaryError","useState","errorDescription","setErrorDescription","jsxs","InputErrorWrapper","jsx","Label","Input","e","value","i","X"],"mappings":";;;;;;AAcA,MAAMA,IAAa,CAAC;AAAA,EAClB,QAAAC;AAAA,EACA,YAAAC;AAAA,EACA,cAAAC;AAAA,EACA,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,GAAGC;AACL,MACgE;AAC9D,QAAM,CAACC,GAAcC,CAAe,IAAIC,EAAiB,GACnD,CAACC,GAAkBC,CAAmB,IAAIF,EAAiB;AAG/D,SAAA,gBAAAG;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWN;AAAA,MACX,kBAAAG;AAAA,MACA,WAAW,CAAC,CAACH;AAAA,MACb,WAAU;AAAA,MAEV,UAAA;AAAA,QAAA,gBAAAO,EAACC,KAAM,UAAS,YAAA,CAAA;AAAA,QAChB,gBAAAD;AAAA,UAACE;AAAA,UAAA;AAAA,YACE,GAAGV;AAAA,YACJ,WAAW,CAACW,MAAM;AAEZ,cAAAA,EAAE,QAAQ,YACZA,EAAE,eAAe,GAEjBA,EAAE,gBAAgB;AAAA,YAEtB;AAAA,YACA,SAAS,CAACA,MAAM;AAEV,kBAAAA,EAAE,QAAQ,SAAS;AACjB,oBAAAb,KAAaH,EAAO,UAAUG,GAAW;AAC3C,kBAAAI,EAAgB,iBAAiB,GACjCG;AAAA,oBACE;AAAA,kBACF;AACA;AAAA,gBAAA;AAEW,gBAAAT,IAAAe,EAAE,cAAc,KAAK,GAClCA,EAAE,cAAc,QAAQ;AAAA,cAAA;AAAA,YAC1B;AAAA,UACF;AAAA,QACF;AAAA,QACCd,IACCA,EAAa,IAEZ,gBAAAW,EAAA,OAAA,EAAI,WAAU,kBACZ,UAAOb,EAAA,IAAI,CAACiB,GAAOC,MAClB,gBAAAP;AAAA,UAAC;AAAA,UAAA;AAAA,YAEC,WAAU;AAAA,YAEV,UAAA;AAAA,cAAA,gBAAAE,EAAC,UAAM,UAAMI,EAAA,CAAA;AAAA,cACb,gBAAAJ,EAAC,UAAO,EAAA,SAAS,MAAMT,EAAcc,CAAC,GACpC,UAAC,gBAAAL,EAAAM,GAAA,EAAE,MAAM,GAAI,CAAA,EACf,CAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UANK,GAAGD,CAAC,IAAID,CAAK;AAAA,QAAA,CAQrB,EACH,CAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAEJ;AAEJ;"}
@@ -1,59 +1,119 @@
1
- import { jsxs as s, jsx as t } from "react/jsx-runtime";
2
- import { useState as u } from "react";
3
- import { Select as f, SelectTrigger as h, SelectValue as p, SelectContent as S, SelectItem as C } from "./index.es17.js";
4
- import { Button as v } from "./index.es14.js";
5
- import g from "./index.es26.js";
6
- const V = ({
7
- availableDefinitions: i,
8
- addedConstraints: a,
9
- onAdd: c
10
- }) => {
11
- const [n, r] = u(), d = () => {
12
- if (!n) return;
13
- const e = i.find(
14
- (m) => m.name === n
15
- );
16
- if (!e) return;
17
- const l = {
18
- name: n,
19
- value: e.defaultValue
20
- };
21
- c([...a, l]), r(void 0);
22
- }, o = i.filter(
23
- (e) => !a.some((l) => l.name === e.name)
24
- );
25
- return (
26
- //Don't render the component if there are no constraints to add
27
- o.length > 0 && /* @__PURE__ */ s("div", { className: "flex items-end gap-2", children: [
28
- /* @__PURE__ */ t("div", { className: "flex-1", children: /* @__PURE__ */ s(
29
- f,
1
+ import * as n from "react";
2
+ import { composeEventHandlers as _ } from "./index.es134.js";
3
+ import { useComposedRefs as H } from "./index.es133.js";
4
+ import { createContextScope as I } from "./index.es135.js";
5
+ import { useControllableState as M } from "./index.es136.js";
6
+ import { usePrevious as N } from "./index.es137.js";
7
+ import { useSize as j } from "./index.es138.js";
8
+ import { Primitive as w } from "./index.es132.js";
9
+ import { jsxs as B, jsx as m } from "react/jsx-runtime";
10
+ var S = "Switch", [q, K] = I(S), [z, A] = q(S), C = n.forwardRef(
11
+ (e, s) => {
12
+ const {
13
+ __scopeSwitch: t,
14
+ name: o,
15
+ checked: r,
16
+ defaultChecked: p,
17
+ required: a,
18
+ disabled: c,
19
+ value: i = "on",
20
+ onCheckedChange: f,
21
+ form: b,
22
+ ...u
23
+ } = e, [d, R] = n.useState(null), g = H(s, (h) => R(h)), v = n.useRef(!1), k = d ? b || !!d.closest("form") : !0, [l = !1, E] = M({
24
+ prop: r,
25
+ defaultProp: p,
26
+ onChange: f
27
+ });
28
+ return /* @__PURE__ */ B(z, { scope: t, checked: l, disabled: c, children: [
29
+ /* @__PURE__ */ m(
30
+ w.button,
30
31
  {
31
- value: n,
32
- onValueChange: (e) => {
33
- r(e);
34
- },
35
- children: [
36
- /* @__PURE__ */ t(h, { className: "w-full", "aria-label": "Select constraint", children: /* @__PURE__ */ t(p, { placeholder: "Select a constraint" }) }),
37
- /* @__PURE__ */ t(S, { children: o.map((e) => /* @__PURE__ */ t(C, { value: e.name, children: e.label }, e.name)) })
38
- ]
32
+ type: "button",
33
+ role: "switch",
34
+ "aria-checked": l,
35
+ "aria-required": a,
36
+ "data-state": x(l),
37
+ "data-disabled": c ? "" : void 0,
38
+ disabled: c,
39
+ value: i,
40
+ ...u,
41
+ ref: g,
42
+ onClick: _(e.onClick, (h) => {
43
+ E((T) => !T), k && (v.current = h.isPropagationStopped(), v.current || h.stopPropagation());
44
+ })
39
45
  }
40
- ) }),
41
- /* @__PURE__ */ t(
42
- v,
46
+ ),
47
+ k && /* @__PURE__ */ m(
48
+ O,
43
49
  {
44
- type: "button",
45
- variant: "outline",
46
- size: "icon",
47
- onClick: d,
48
- disabled: !n,
49
- "aria-label": "Add constraint",
50
- children: /* @__PURE__ */ t(g, { className: "h-4 w-4" })
50
+ control: d,
51
+ bubbles: !v.current,
52
+ name: o,
53
+ value: i,
54
+ checked: l,
55
+ required: a,
56
+ disabled: c,
57
+ form: b,
58
+ style: { transform: "translateX(-100%)" }
51
59
  }
52
60
  )
53
- ] })
61
+ ] });
62
+ }
63
+ );
64
+ C.displayName = S;
65
+ var P = "SwitchThumb", y = n.forwardRef(
66
+ (e, s) => {
67
+ const { __scopeSwitch: t, ...o } = e, r = A(P, t);
68
+ return /* @__PURE__ */ m(
69
+ w.span,
70
+ {
71
+ "data-state": x(r.checked),
72
+ "data-disabled": r.disabled ? "" : void 0,
73
+ ...o,
74
+ ref: s
75
+ }
76
+ );
77
+ }
78
+ );
79
+ y.displayName = P;
80
+ var O = (e) => {
81
+ const { control: s, checked: t, bubbles: o = !0, ...r } = e, p = n.useRef(null), a = N(t), c = j(s);
82
+ return n.useEffect(() => {
83
+ const i = p.current, f = window.HTMLInputElement.prototype, u = Object.getOwnPropertyDescriptor(f, "checked").set;
84
+ if (a !== t && u) {
85
+ const d = new Event("click", { bubbles: o });
86
+ u.call(i, t), i.dispatchEvent(d);
87
+ }
88
+ }, [a, t, o]), /* @__PURE__ */ m(
89
+ "input",
90
+ {
91
+ type: "checkbox",
92
+ "aria-hidden": !0,
93
+ defaultChecked: t,
94
+ ...r,
95
+ tabIndex: -1,
96
+ ref: p,
97
+ style: {
98
+ ...e.style,
99
+ ...c,
100
+ position: "absolute",
101
+ pointerEvents: "none",
102
+ opacity: 0,
103
+ margin: 0
104
+ }
105
+ }
54
106
  );
55
107
  };
108
+ function x(e) {
109
+ return e ? "checked" : "unchecked";
110
+ }
111
+ var Q = C, V = y;
56
112
  export {
57
- V as default
113
+ Q as Root,
114
+ C as Switch,
115
+ y as SwitchThumb,
116
+ V as Thumb,
117
+ K as createSwitchScope
58
118
  };
59
119
  //# sourceMappingURL=index.es43.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es43.js","sources":["../src/packages/constraints/constraint-add.tsx"],"sourcesContent":["import { useState } from \"react\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"@/components/ui/select\";\nimport { Button } from \"@/components/ui/button\";\nimport { Plus } from \"lucide-react\";\nimport { Constraint, ConstraintDefinition } from \"./context\";\n\ninterface ConstraintsSectionProps {\n /** The available constraints for a specific schema type */\n availableDefinitions: ConstraintDefinition[];\n addedConstraints: Constraint[];\n onAdd: (constraints: Constraint[]) => void;\n}\n\nconst ConstraintsAdd = ({\n availableDefinitions,\n addedConstraints,\n onAdd,\n}: ConstraintsSectionProps) => {\n const [selectedConstraintDefinition, setSelectedConstraintDefinition] =\n useState<Constraint[\"name\"]>();\n\n const handleAddConstraint = () => {\n if (!selectedConstraintDefinition) return;\n\n const definition = availableDefinitions.find(\n (c) => c.name === selectedConstraintDefinition,\n );\n if (!definition) return;\n\n const newConstraint: Constraint = {\n name: selectedConstraintDefinition,\n value: definition.defaultValue,\n };\n\n onAdd([...addedConstraints, newConstraint]);\n setSelectedConstraintDefinition(undefined);\n };\n\n const unusedConstraintDefinitions = availableDefinitions.filter(\n (constraint) => !addedConstraints.some((v) => v.name === constraint.name),\n );\n\n return (\n //Don't render the component if there are no constraints to add\n unusedConstraintDefinitions.length > 0 && (\n <div className=\"flex items-end gap-2\">\n <div className=\"flex-1\">\n <Select\n value={selectedConstraintDefinition}\n onValueChange={(newVal) => {\n setSelectedConstraintDefinition(newVal as Constraint[\"name\"]);\n }}\n >\n <SelectTrigger className=\"w-full\" aria-label=\"Select constraint\">\n <SelectValue placeholder=\"Select a constraint\" />\n </SelectTrigger>\n <SelectContent>\n {unusedConstraintDefinitions.map((constraint) => (\n <SelectItem key={constraint.name} value={constraint.name}>\n {constraint.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <Button\n type=\"button\"\n variant=\"outline\"\n size=\"icon\"\n onClick={handleAddConstraint}\n disabled={!selectedConstraintDefinition}\n aria-label=\"Add constraint\"\n >\n <Plus className=\"h-4 w-4\" />\n </Button>\n </div>\n )\n );\n};\n\nexport default ConstraintsAdd;\n"],"names":["ConstraintsAdd","availableDefinitions","addedConstraints","onAdd","selectedConstraintDefinition","setSelectedConstraintDefinition","useState","handleAddConstraint","definition","c","newConstraint","unusedConstraintDefinitions","constraint","v","jsxs","jsx","Select","newVal","SelectTrigger","SelectValue","SelectContent","SelectItem","Button","Plus"],"mappings":";;;;;AAmBA,MAAMA,IAAiB,CAAC;AAAA,EACtB,sBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,OAAAC;AACF,MAA+B;AAC7B,QAAM,CAACC,GAA8BC,CAA+B,IAClEC,EAA6B,GAEzBC,IAAsB,MAAM;AAChC,QAAI,CAACH,EAA8B;AAEnC,UAAMI,IAAaP,EAAqB;AAAA,MACtC,CAACQ,MAAMA,EAAE,SAASL;AAAA,IACpB;AACA,QAAI,CAACI,EAAY;AAEjB,UAAME,IAA4B;AAAA,MAChC,MAAMN;AAAA,MACN,OAAOI,EAAW;AAAA,IACpB;AAEA,IAAAL,EAAM,CAAC,GAAGD,GAAkBQ,CAAa,CAAC,GAC1CL,EAAgC,MAAS;AAAA,EAC3C,GAEMM,IAA8BV,EAAqB;AAAA,IACvD,CAACW,MAAe,CAACV,EAAiB,KAAK,CAACW,MAAMA,EAAE,SAASD,EAAW,IAAI;AAAA,EAC1E;AAEA;AAAA;AAAA,IAEED,EAA4B,SAAS,KAClC,gBAAAG,EAAA,OAAA,EAAI,WAAU,wBACb,UAAA;AAAA,MAAC,gBAAAC,EAAA,OAAA,EAAI,WAAU,UACb,UAAA,gBAAAD;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,OAAOZ;AAAA,UACP,eAAe,CAACa,MAAW;AACzB,YAAAZ,EAAgCY,CAA4B;AAAA,UAC9D;AAAA,UAEA,UAAA;AAAA,YAAC,gBAAAF,EAAAG,GAAA,EAAc,WAAU,UAAS,cAAW,qBAC3C,UAAC,gBAAAH,EAAAI,GAAA,EAAY,aAAY,sBAAA,CAAsB,EACjD,CAAA;AAAA,8BACCC,GACE,EAAA,UAAAT,EAA4B,IAAI,CAACC,MAC/B,gBAAAG,EAAAM,GAAA,EAAiC,OAAOT,EAAW,MACjD,UAAWA,EAAA,SADGA,EAAW,IAE5B,CACD,EACH,CAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,GAEJ;AAAA,MACA,gBAAAG;AAAA,QAACO;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,SAASf;AAAA,UACT,UAAU,CAACH;AAAA,UACX,cAAW;AAAA,UAEX,UAAA,gBAAAW,EAACQ,GAAK,EAAA,WAAU,UAAU,CAAA;AAAA,QAAA;AAAA,MAAA;AAAA,IAC5B,EACF,CAAA;AAAA;AAGN;"}
1
+ {"version":3,"file":"index.es43.js","sources":["../../../node_modules/.pnpm/@radix-ui+react-switch@1.1.3_@types+react-dom@18.3.5_@types+react@18.3.18__@types+react_15d42b834e748f71167a3931ef9a499b/node_modules/@radix-ui/react-switch/dist/index.mjs"],"sourcesContent":["\"use client\";\n\n// packages/react/switch/src/switch.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { usePrevious } from \"@radix-ui/react-use-previous\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar SWITCH_NAME = \"Switch\";\nvar [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);\nvar [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);\nvar Switch = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeSwitch,\n name,\n checked: checkedProp,\n defaultChecked,\n required,\n disabled,\n value = \"on\",\n onCheckedChange,\n form,\n ...switchProps\n } = props;\n const [button, setButton] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = button ? form || !!button.closest(\"form\") : true;\n const [checked = false, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked,\n onChange: onCheckedChange\n });\n return /* @__PURE__ */ jsxs(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [\n /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n role: \"switch\",\n \"aria-checked\": checked,\n \"aria-required\": required,\n \"data-state\": getState(checked),\n \"data-disabled\": disabled ? \"\" : void 0,\n disabled,\n value,\n ...switchProps,\n ref: composedRefs,\n onClick: composeEventHandlers(props.onClick, (event) => {\n setChecked((prevChecked) => !prevChecked);\n if (isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })\n }\n ),\n isFormControl && /* @__PURE__ */ jsx(\n BubbleInput,\n {\n control: button,\n bubbles: !hasConsumerStoppedPropagationRef.current,\n name,\n value,\n checked,\n required,\n disabled,\n form,\n style: { transform: \"translateX(-100%)\" }\n }\n )\n ] });\n }\n);\nSwitch.displayName = SWITCH_NAME;\nvar THUMB_NAME = \"SwitchThumb\";\nvar SwitchThumb = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeSwitch, ...thumbProps } = props;\n const context = useSwitchContext(THUMB_NAME, __scopeSwitch);\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": getState(context.checked),\n \"data-disabled\": context.disabled ? \"\" : void 0,\n ...thumbProps,\n ref: forwardedRef\n }\n );\n }\n);\nSwitchThumb.displayName = THUMB_NAME;\nvar BubbleInput = (props) => {\n const { control, checked, bubbles = true, ...inputProps } = props;\n const ref = React.useRef(null);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n React.useEffect(() => {\n const input = ref.current;\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(inputProto, \"checked\");\n const setChecked = descriptor.set;\n if (prevChecked !== checked && setChecked) {\n const event = new Event(\"click\", { bubbles });\n setChecked.call(input, checked);\n input.dispatchEvent(event);\n }\n }, [prevChecked, checked, bubbles]);\n return /* @__PURE__ */ jsx(\n \"input\",\n {\n type: \"checkbox\",\n \"aria-hidden\": true,\n defaultChecked: checked,\n ...inputProps,\n tabIndex: -1,\n ref,\n style: {\n ...props.style,\n ...controlSize,\n position: \"absolute\",\n pointerEvents: \"none\",\n opacity: 0,\n margin: 0\n }\n }\n );\n};\nfunction getState(checked) {\n return checked ? \"checked\" : \"unchecked\";\n}\nvar Root = Switch;\nvar Thumb = SwitchThumb;\nexport {\n Root,\n Switch,\n SwitchThumb,\n Thumb,\n createSwitchScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"names":["SWITCH_NAME","createSwitchContext","createSwitchScope","createContextScope","SwitchProvider","useSwitchContext","Switch","React","props","forwardedRef","__scopeSwitch","name","checkedProp","defaultChecked","required","disabled","value","onCheckedChange","form","switchProps","button","setButton","composedRefs","useComposedRefs","node","hasConsumerStoppedPropagationRef","isFormControl","checked","setChecked","useControllableState","jsxs","jsx","Primitive","getState","composeEventHandlers","event","prevChecked","BubbleInput","THUMB_NAME","SwitchThumb","thumbProps","context","control","bubbles","inputProps","ref","usePrevious","controlSize","useSize","input","inputProto","Root","Thumb"],"mappings":"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","x_google_ignoreList":[0]}