@epam/ai-dial-ui-kit 0.15.0-dev.4 → 0.15.0-dev.42

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 (202) hide show
  1. package/README.md +191 -0
  2. package/dist/CHANGELOG.md +75 -0
  3. package/dist/DateCellRenderer-ChqbDlQ2.cjs +1 -0
  4. package/dist/{DateCellRenderer-BVM-Q8yx.cjs → DateCellRenderer-Cl_mNbi1.cjs} +31 -31
  5. package/dist/IconButton-DHOFapLo.cjs +1 -0
  6. package/dist/JsonEditor-CpSpVa0v.cjs +1 -0
  7. package/dist/{MarkdownEditor-jQ8nDJfx.cjs → MarkdownEditor-CPzMv3lE.cjs} +1 -1
  8. package/dist/{MarkdownEditor-DHn2pYOJ.cjs → MarkdownEditor-NYMcKLJy.cjs} +1 -1
  9. package/dist/MarkdownEditorContainer-DVPRplYf.cjs +1 -0
  10. package/dist/{Switch-CUKClcEz.cjs → Switch-DE6MrcqJ.cjs} +1 -1
  11. package/dist/components/Button/constants.js +9 -8
  12. package/dist/components/Dropdown/Dropdown.js +70 -65
  13. package/dist/components/Dropdown/DropdownSubMenuItem.js +63 -55
  14. package/dist/components/Dropdown/constants.js +16 -14
  15. package/dist/components/DropdownIcon/DropdownIcon.js +43 -32
  16. package/dist/components/FileManager/FileManager.js +373 -372
  17. package/dist/components/FileManager/FileManagerProvider.js +266 -264
  18. package/dist/components/FileManager/hooks/use-grid-context-menu.js +59 -59
  19. package/dist/components/MarkdownEditor/MarkdownEditorContainer.js +18 -16
  20. package/dist/components/New/Accordion/Accordion.js +87 -71
  21. package/dist/components/New/AutocompleteTagInput/AutocompleteTagInput.js +206 -0
  22. package/dist/components/New/AutocompleteTagInput/utils.js +11 -0
  23. package/dist/components/New/Avatar/Avatar.js +70 -0
  24. package/dist/components/New/Badge/Badge.js +45 -0
  25. package/dist/components/New/BottomSheet/BottomSheet.js +128 -0
  26. package/dist/components/New/Breadcrumbs/Breadcrumbs.js +159 -0
  27. package/dist/components/New/Breadcrumbs/constants.js +41 -0
  28. package/dist/components/New/Button/Button.js +32 -32
  29. package/dist/components/New/Button/ButtonWrappers.js +93 -37
  30. package/dist/components/New/Button/constants.js +3 -0
  31. package/dist/components/New/Button/utils.js +18 -8
  32. package/dist/components/New/ButtonDropdown/ButtonDropdown.js +26 -16
  33. package/dist/components/New/Calendar/Calendar.js +301 -265
  34. package/dist/components/New/Calendar/constants.js +5 -5
  35. package/dist/components/New/CaptionText/CaptionText.js +18 -15
  36. package/dist/components/New/CardShell/CardShell.js +5 -3
  37. package/dist/components/New/Checkbox/Checkbox.js +67 -56
  38. package/dist/components/New/Checkbox/CheckboxBox.js +5 -3
  39. package/dist/components/New/CloseButton/CloseButton.js +18 -16
  40. package/dist/components/New/CollapsibleSidebar/CollapsibleSidebar.js +39 -34
  41. package/dist/components/New/ConfirmationPopup/ConfirmationPopup.js +38 -37
  42. package/dist/components/New/ConfirmationPopup/constants.js +8 -11
  43. package/dist/components/New/Dropdown/Dropdown.js +112 -105
  44. package/dist/components/New/Dropdown/DropdownSubMenuItem.js +17 -17
  45. package/dist/components/New/Dropdown/constants.js +22 -17
  46. package/dist/components/New/EllipsisTooltip/EllipsisTooltip.js +20 -18
  47. package/dist/components/New/EntityIdentity/EntityIdentity.js +135 -0
  48. package/dist/components/New/FileDropzone/FileDropzone.js +27 -25
  49. package/dist/components/New/FileIcon/FileIcon.js +55 -0
  50. package/dist/components/New/FileIcon/constants.js +134 -0
  51. package/dist/components/New/FileIcon/icons/FileGlyph.js +150 -0
  52. package/dist/components/New/FileIcon/icons/FolderGlyph.js +50 -0
  53. package/dist/components/New/FileName/FileName.js +78 -0
  54. package/dist/components/New/FilterChips/FilterChips.js +43 -0
  55. package/dist/components/New/FilterChips/constants.js +5 -0
  56. package/dist/components/New/FolderName/FolderName.js +16 -0
  57. package/dist/components/New/FolderPath/FolderPath.js +29 -28
  58. package/dist/components/New/Highlight/Highlight.js +23 -30
  59. package/dist/components/New/IconButton/IconButton.js +30 -28
  60. package/dist/components/New/InfoButton/InfoButton.js +13 -11
  61. package/dist/components/New/InlineSelect/InlineSelect.js +74 -56
  62. package/dist/components/New/InteractiveTooltip/InteractiveTooltip.js +41 -39
  63. package/dist/components/New/InteractiveTooltip/constants.js +2 -2
  64. package/dist/components/New/Label/Label.js +13 -8
  65. package/dist/components/New/MenuItem/MenuItem.js +29 -27
  66. package/dist/components/New/MenuItem/constants.js +9 -8
  67. package/dist/components/New/NoDataContent/NoDataContent.js +21 -19
  68. package/dist/components/New/Notification/Notification.js +33 -29
  69. package/dist/components/New/NumberInput/NumberInput.js +42 -33
  70. package/dist/components/New/PasswordInput/PasswordInput.js +41 -35
  71. package/dist/components/New/Popup/Popup.js +46 -44
  72. package/dist/components/New/Popup/constants.js +3 -3
  73. package/dist/components/New/Radio/Radio.js +75 -64
  74. package/dist/components/New/RadioGroup/RadioGroup.js +76 -65
  75. package/dist/components/New/RadioGroupPopupField/RadioGroupPopupField.js +117 -106
  76. package/dist/components/New/ResizableContainer/ResizableContainer.js +42 -40
  77. package/dist/components/New/Search/Search.js +29 -27
  78. package/dist/components/New/SegmentedControl/SegmentedControl.js +29 -23
  79. package/dist/components/New/Select/CollapsedSelectTags.js +127 -0
  80. package/dist/components/New/Select/MultiSelectTags.js +18 -15
  81. package/dist/components/New/Select/Select.js +219 -197
  82. package/dist/components/New/Select/constants.js +23 -20
  83. package/dist/components/New/SharedEntityIndicator/SharedEntityIndicator.js +34 -0
  84. package/dist/components/New/SideDrawer/SideDrawer.js +148 -0
  85. package/dist/components/New/Switch/Switch.js +69 -58
  86. package/dist/components/New/Tabs/Tabs.js +125 -61
  87. package/dist/components/New/Tag/Tag.js +42 -40
  88. package/dist/components/New/TagInput/TagInput.js +48 -44
  89. package/dist/components/New/ToggleIconButton/ToggleIconButton.js +26 -24
  90. package/dist/components/New/Tooltip/TooltipContent.js +11 -9
  91. package/dist/components/New/Tooltip/constants.js +1 -1
  92. package/dist/components/New/TransferQueue/TransferQueue.js +124 -0
  93. package/dist/components/New/TransferQueue/TransferQueueHeader.js +71 -0
  94. package/dist/components/New/TransferQueue/TransferQueueRow.js +119 -0
  95. package/dist/components/New/TransferQueue/constants.js +24 -0
  96. package/dist/components/New/constants/overlay.js +17 -9
  97. package/dist/components/Popup/constants.js +8 -8
  98. package/dist/components/ProgressBar/ProgressBar.js +45 -33
  99. package/dist/components/SchemaRenderer/components/SchemaAdditionalPropertiesEditor.js +46 -31
  100. package/dist/components/SchemaRenderer/components/SchemaField.js +19 -19
  101. package/dist/components/SchemaRenderer/components/SchemaFieldContent.js +18 -18
  102. package/dist/components/SchemaRenderer/components/SchemaKeyValueEditor.js +223 -135
  103. package/dist/components/SchemaRenderer/types.js +19 -8
  104. package/dist/components/SchemaRenderer/utils.js +122 -95
  105. package/dist/components/Skeleton/Skeleton.js +25 -19
  106. package/dist/components/Spinner/Spinner.js +7 -5
  107. package/dist/components/Tooltip/TooltipContent.js +11 -11
  108. package/dist/components-manifest.json +1653 -71
  109. package/dist/constants/public-class-names.js +210 -0
  110. package/dist/dial-ui-kit.cjs +2 -2
  111. package/dist/dial-ui-kit.js +346 -299
  112. package/dist/editor-Bc9xzKuR.cjs +1 -0
  113. package/dist/editors.cjs +1 -1
  114. package/dist/file-manager.cjs +1 -1
  115. package/dist/grid.cjs +1 -1
  116. package/dist/index.css +2 -2
  117. package/dist/lazy-Cy9WobJf.cjs +1 -0
  118. package/dist/merge-classes-BEJXjzkx.cjs +1 -0
  119. package/dist/migration-guides/0.15.0/legacy-theme-variable-fallbacks-removal.md +69 -0
  120. package/dist/migration-guides/README.md +1 -0
  121. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +419 -399
  122. package/dist/src/components/FileManager/FileManager.d.ts +2 -0
  123. package/dist/src/components/FileManager/FileManagerContext.d.ts +1 -0
  124. package/dist/src/components/FileManager/hooks/use-grid-context-menu.d.ts +2 -1
  125. package/dist/src/components/New/Accordion/Accordion.d.ts +6 -1
  126. package/dist/src/components/New/AutocompleteTagInput/AutocompleteTagInput.d.ts +97 -0
  127. package/dist/src/components/New/AutocompleteTagInput/utils.d.ts +17 -0
  128. package/dist/src/components/New/AutocompleteTagInput/utils.spec.d.ts +1 -0
  129. package/dist/src/components/New/Avatar/Avatar.d.ts +55 -0
  130. package/dist/src/components/New/Badge/Badge.d.ts +47 -0
  131. package/dist/src/components/New/BottomSheet/BottomSheet.d.ts +84 -0
  132. package/dist/src/components/New/Breadcrumbs/Breadcrumbs.d.ts +94 -0
  133. package/dist/src/components/New/Breadcrumbs/constants.d.ts +60 -0
  134. package/dist/src/components/New/Button/Button.d.ts +4 -1
  135. package/dist/src/components/New/Button/ButtonWrappers.d.ts +20 -0
  136. package/dist/src/components/New/Button/utils.d.ts +15 -0
  137. package/dist/src/components/New/ButtonDropdown/ButtonDropdown.d.ts +4 -0
  138. package/dist/src/components/New/Calendar/Calendar.d.ts +7 -1
  139. package/dist/src/components/New/Calendar/constants.d.ts +1 -1
  140. package/dist/src/components/New/ConfirmationPopup/constants.d.ts +0 -1
  141. package/dist/src/components/New/Dropdown/Dropdown.d.ts +9 -1
  142. package/dist/src/components/New/Dropdown/constants.d.ts +3 -0
  143. package/dist/src/components/New/EntityIdentity/EntityIdentity.d.ts +85 -0
  144. package/dist/src/components/New/FileIcon/FileIcon.d.ts +61 -0
  145. package/dist/src/components/New/FileIcon/constants.d.ts +16 -0
  146. package/dist/src/components/New/FileIcon/icons/FileGlyph.d.ts +18 -0
  147. package/dist/src/components/New/FileIcon/icons/FolderGlyph.d.ts +17 -0
  148. package/dist/src/components/New/FileName/FileName.d.ts +79 -0
  149. package/dist/src/components/New/FilterChips/FilterChips.d.ts +69 -0
  150. package/dist/src/components/New/FilterChips/constants.d.ts +13 -0
  151. package/dist/src/components/New/FolderName/FolderName.d.ts +37 -0
  152. package/dist/src/components/New/InlineSelect/InlineSelect.d.ts +16 -1
  153. package/dist/src/components/New/InteractiveTooltip/constants.d.ts +5 -4
  154. package/dist/src/components/New/Notification/Notification.d.ts +18 -0
  155. package/dist/src/components/New/Popup/constants.d.ts +1 -1
  156. package/dist/src/components/New/Select/CollapsedSelectTags.d.ts +22 -0
  157. package/dist/src/components/New/Select/MultiSelectTags.d.ts +5 -0
  158. package/dist/src/components/New/Select/Select.d.ts +9 -0
  159. package/dist/src/components/New/Select/constants.d.ts +3 -2
  160. package/dist/src/components/New/SharedEntityIndicator/SharedEntityIndicator.d.ts +35 -0
  161. package/dist/src/components/New/SideDrawer/SideDrawer.d.ts +100 -0
  162. package/dist/src/components/New/Tabs/Tabs.d.ts +54 -6
  163. package/dist/src/components/New/Tooltip/constants.d.ts +5 -3
  164. package/dist/src/components/New/TransferQueue/TransferQueue.d.ts +139 -0
  165. package/dist/src/components/New/TransferQueue/TransferQueueHeader.d.ts +16 -0
  166. package/dist/src/components/New/TransferQueue/TransferQueueRow.d.ts +10 -0
  167. package/dist/src/components/New/TransferQueue/constants.d.ts +6 -0
  168. package/dist/src/components/New/constants/overlay.d.ts +13 -0
  169. package/dist/src/components/Popup/constants.d.ts +1 -1
  170. package/dist/src/components/SchemaRenderer/types.d.ts +11 -0
  171. package/dist/src/components/SchemaRenderer/utils.d.ts +10 -1
  172. package/dist/src/constants/public-class-names.d.ts +201 -0
  173. package/dist/src/index.d.ts +36 -1
  174. package/dist/src/types/accordion.d.ts +7 -0
  175. package/dist/src/types/avatar.d.ts +7 -0
  176. package/dist/src/types/badge.d.ts +16 -0
  177. package/dist/src/types/breadcrumbs.d.ts +9 -0
  178. package/dist/src/types/button.d.ts +1 -0
  179. package/dist/src/types/entity-type.d.ts +9 -0
  180. package/dist/src/types/transfer-queue.d.ts +10 -0
  181. package/dist/src/utils/__tests__/avatar.spec.d.ts +1 -0
  182. package/dist/src/utils/avatar.d.ts +12 -0
  183. package/dist/src/utils/sub-menu-floating.d.ts +7 -4
  184. package/dist/types/accordion.js +4 -0
  185. package/dist/types/avatar.js +4 -0
  186. package/dist/types/badge.js +5 -0
  187. package/dist/types/breadcrumbs.js +4 -0
  188. package/dist/types/button.js +3 -3
  189. package/dist/types/entity-type.js +4 -0
  190. package/dist/types/transfer-queue.js +4 -0
  191. package/dist/use-file-manager-tabs-C-dMqEFy.cjs +3 -0
  192. package/dist/utils/avatar.js +22 -0
  193. package/dist/utils/merge-classes.js +12 -5
  194. package/dist/utils/sub-menu-floating.js +99 -54
  195. package/package.json +4 -7
  196. package/dist/DateCellRenderer-ssp7eaZY.cjs +0 -1
  197. package/dist/IconButton-DWqoaBWf.cjs +0 -1
  198. package/dist/JsonEditor-qv1Z0dLX.cjs +0 -1
  199. package/dist/MarkdownEditorContainer-Bzcnoemw.cjs +0 -1
  200. package/dist/lazy-tfN4sKhq.cjs +0 -1
  201. package/dist/merge-classes-Dipy1Ih1.cjs +0 -1
  202. package/dist/use-file-manager-tabs-DjdR_mYM.cjs +0 -3
@@ -1,184 +1,272 @@
1
- import { jsxs as y, jsx as a } from "react/jsx-runtime";
2
- import { useState as T } from "react";
3
- import { IconPlus as K } from "@tabler/icons-react";
4
- import { DialInput as A } from "../../Input/Input.js";
5
- import { DialErrorText as V } from "../../CaptionText/CaptionText.js";
6
- import { DialGhostButton as z } from "../../Button/ButtonWrappers.js";
7
- import { DialRemoveButton as H } from "../../RemoveButton/RemoveButton.js";
8
- import { ElementSize as q } from "../../../types/size.js";
9
- import { JsonSchemaType as L } from "../types.js";
10
- import { useSchemaContext as E } from "../context.js";
11
- import { resolveRef as G, isObjectType as J, buildSummary as M, validateRequired as U, extractDefaults as Y, getSchemaDefault as _ } from "../utils.js";
12
- import { SchemaPrimitiveField as $ } from "./SchemaPrimitiveField.js";
13
- import { SchemaSection as Q } from "./SchemaSection.js";
14
- import { SchemaFieldContent as W } from "./SchemaFieldContent.js";
15
- const R = (n, i) => ({
1
+ import { jsxs as x, jsx as e } from "react/jsx-runtime";
2
+ import { useState as R, useCallback as U, useMemo as M } from "react";
3
+ import { IconPlus as V } from "@tabler/icons-react";
4
+ import { DialInput as L } from "../../Input/Input.js";
5
+ import { DialErrorText as ee } from "../../CaptionText/CaptionText.js";
6
+ import { DialGhostButton as te } from "../../Button/ButtonWrappers.js";
7
+ import { DialRemoveButton as oe } from "../../RemoveButton/RemoveButton.js";
8
+ import { DialSelect as Y } from "../../Select/Select.js";
9
+ import { DialTooltip as ne } from "../../Tooltip/Tooltip.js";
10
+ import { ElementSize as re } from "../../../types/size.js";
11
+ import { JsonSchemaType as c } from "../types.js";
12
+ import { useSchemaContext as q } from "../context.js";
13
+ import { resolveRef as le, isObjectType as ae, inferEntryType as ie, getEntryTypeDefault as se, ENTRY_TYPE_OPTIONS as ce, buildSummary as de, validateRequired as me, extractDefaults as pe, getSchemaDefault as ye } from "../utils.js";
14
+ import { SchemaPrimitiveField as ue } from "./SchemaPrimitiveField.js";
15
+ import { SchemaSection as fe } from "./SchemaSection.js";
16
+ import { SchemaFieldContent as he } from "./SchemaFieldContent.js";
17
+ import { SchemaAdditionalPropertiesEditor as be } from "./SchemaAdditionalPropertiesEditor.js";
18
+ const _ = (l, d) => ({
16
19
  id: Math.random().toString(36).slice(2),
17
- key: n,
18
- value: i
19
- }), F = (n) => !!(n.oneOf || n.anyOf || n.type === L.Array || J(n)), X = ({
20
- pairId: n,
21
- pairKey: i,
22
- pairValue: s,
23
- valueSchema: c,
24
- onKeyChange: k,
20
+ key: l,
21
+ value: d
22
+ }), J = (l) => !!(l.oneOf || l.anyOf || l.type === c.Array || ae(l)), ve = {
23
+ [c.String]: "entryTypeString",
24
+ [c.Number]: "entryTypeNumber",
25
+ [c.Boolean]: "entryTypeBoolean",
26
+ [c.Null]: "entryTypeNull",
27
+ [c.Object]: "entryTypeObject",
28
+ [c.Array]: "entryTypeArray"
29
+ }, xe = ({
30
+ pairId: l,
31
+ pairKey: d,
32
+ pairValue: i,
33
+ valueSchema: u,
34
+ isUnschematizedValue: f,
35
+ jsonEditorTheme: C,
36
+ onKeyChange: m,
25
37
  onValueChange: p,
26
- onRemove: d,
27
- keyInputPlaceholder: x,
28
- removeFieldAriaLabel: C,
29
- path: m,
30
- level: h,
31
- readonly: l = !1,
32
- inputClassName: u
38
+ onRemove: P,
39
+ keyInputPlaceholder: O,
40
+ removeFieldAriaLabel: T,
41
+ path: h,
42
+ level: N,
43
+ readonly: s = !1,
44
+ inputClassName: b
33
45
  }) => {
34
46
  const {
35
- rootSchema: f,
36
- texts: g,
37
- defaultExpanded: N = !0,
38
- touchedPaths: S = /* @__PURE__ */ new Set(),
39
- markTouched: b = () => {
47
+ rootSchema: v,
48
+ texts: y,
49
+ defaultExpanded: E = !0,
50
+ touchedPaths: j = /* @__PURE__ */ new Set(),
51
+ markTouched: w = () => {
40
52
  },
41
- skipUntouched: P = !1
42
- } = E(), [e, t] = T(i), o = F(c), r = [...m, n, "key"].join("."), w = (!P || S.has(r)) && i === "", j = /* @__PURE__ */ y("div", { className: "flex gap-2 items-start", children: [
43
- /* @__PURE__ */ y("div", { className: o ? "flex-1 min-w-0" : "w-2/5 min-w-0", children: [
44
- /* @__PURE__ */ a(
45
- A,
53
+ skipUntouched: D = !1
54
+ } = q(), [t, o] = R(d), a = J(u), [n, g] = R(
55
+ () => ie(i)
56
+ ), B = f && (n === c.Object || n === c.Array), $ = f && n === c.Null, F = a || B, I = [...h, l, "key"].join("."), S = (!D || j.has(I)) && d === "", z = U(
57
+ (r) => {
58
+ p(se(r)), g(r);
59
+ },
60
+ [p]
61
+ ), G = M(
62
+ () => ce.map((r) => ({
63
+ value: r,
64
+ label: y[ve[r]]
65
+ })),
66
+ [y]
67
+ ), W = M(
68
+ () => [
69
+ { value: "true", label: y.booleanTrueOption },
70
+ { value: "false", label: y.booleanFalseOption }
71
+ ],
72
+ [y]
73
+ ), K = `${l}-key-error`, Q = f && n === c.Boolean, A = /* @__PURE__ */ x("div", { className: "flex gap-2 items-start", children: [
74
+ /* @__PURE__ */ x("div", { className: F ? "flex-1 min-w-0" : "w-2/5 min-w-0", children: [
75
+ /* @__PURE__ */ e(
76
+ L,
46
77
  {
47
- value: e,
48
- disabled: l,
49
- invalid: w,
50
- onChange: (I) => t(I ?? ""),
78
+ value: t,
79
+ disabled: s,
80
+ invalid: S,
81
+ "aria-describedby": S ? K : void 0,
82
+ onChange: (r) => o(r ?? ""),
51
83
  onBlur: () => {
52
- b(r), e !== i && k(e);
84
+ w(I), t !== d && m(t);
53
85
  },
54
- placeholder: x,
55
- containerClassName: u
86
+ placeholder: O,
87
+ containerClassName: b
56
88
  }
57
89
  ),
58
- /* @__PURE__ */ a(
59
- V,
90
+ /* @__PURE__ */ e(
91
+ ee,
60
92
  {
61
- text: w ? `${g.keyColumnHeader} is required` : void 0
93
+ id: K,
94
+ text: S ? `${y.keyColumnHeader} is required` : void 0
62
95
  }
63
96
  )
64
97
  ] }),
65
- !o && /* @__PURE__ */ a("div", { className: "flex-1 min-w-0", children: /* @__PURE__ */ a(
66
- $,
98
+ !a && !B && /* @__PURE__ */ e("div", { className: "flex-1 min-w-0", children: $ ? /* @__PURE__ */ e(
99
+ L,
100
+ {
101
+ value: "null",
102
+ disabled: !0,
103
+ onChange: void 0,
104
+ className: "opacity-60"
105
+ }
106
+ ) : Q ? /* @__PURE__ */ e(
107
+ Y,
67
108
  {
68
- schema: c,
69
- value: s,
109
+ options: W,
110
+ value: i ? "true" : "false",
111
+ disabled: s,
112
+ onChange: (r) => {
113
+ const k = typeof r == "string" ? r : r[0];
114
+ k && p(k === "true");
115
+ }
116
+ }
117
+ ) : /* @__PURE__ */ e(
118
+ ue,
119
+ {
120
+ schema: f ? { type: n } : u,
121
+ value: i,
70
122
  onChange: p
71
123
  }
72
124
  ) }),
73
- !l && /* @__PURE__ */ a(
74
- H,
125
+ f && /* @__PURE__ */ e("div", { className: "w-28 shrink-0", children: /* @__PURE__ */ e(
126
+ ne,
127
+ {
128
+ tooltip: y.entryTypeChangeWarning,
129
+ triggerClassName: "block",
130
+ children: /* @__PURE__ */ e(
131
+ Y,
132
+ {
133
+ options: G,
134
+ value: n,
135
+ disabled: s,
136
+ onChange: (r) => {
137
+ const k = typeof r == "string" ? r : r[0];
138
+ k && z(k);
139
+ }
140
+ }
141
+ )
142
+ }
143
+ ) }),
144
+ !s && /* @__PURE__ */ e(
145
+ oe,
75
146
  {
76
- size: q.Small,
77
- onClick: d,
78
- "aria-label": C,
147
+ size: re.Small,
148
+ onClick: P,
149
+ "aria-label": T,
79
150
  className: "shrink-0 p-1"
80
151
  }
81
152
  )
82
153
  ] });
83
- if (!o) return j;
84
- const D = [...m, i], O = M(s, c, f), B = U(
85
- s,
86
- c,
87
- f,
88
- D.join(".")
154
+ if (!F) return A;
155
+ if (B)
156
+ return /* @__PURE__ */ x("div", { className: "flex flex-col gap-2", children: [
157
+ A,
158
+ /* @__PURE__ */ e(
159
+ be,
160
+ {
161
+ value: i,
162
+ onChange: p,
163
+ theme: C
164
+ },
165
+ n
166
+ )
167
+ ] });
168
+ const H = [...h, d], X = de(i, u, v), Z = me(
169
+ i,
170
+ u,
171
+ v,
172
+ H.join(".")
89
173
  );
90
- return /* @__PURE__ */ y("div", { className: "flex flex-col gap-2", children: [
91
- j,
92
- /* @__PURE__ */ a(
93
- Q,
174
+ return /* @__PURE__ */ x("div", { className: "flex flex-col gap-2", children: [
175
+ A,
176
+ /* @__PURE__ */ e(
177
+ fe,
94
178
  {
95
- title: i,
96
- level: h,
97
- summary: O,
98
- errorCount: B.length + (w ? 1 : 0),
99
- defaultExpanded: N,
100
- children: /* @__PURE__ */ a(
101
- W,
179
+ title: d,
180
+ level: N,
181
+ summary: X,
182
+ errorCount: Z.length + (S ? 1 : 0),
183
+ defaultExpanded: E,
184
+ children: /* @__PURE__ */ e(
185
+ he,
102
186
  {
103
- schema: c,
104
- value: s,
187
+ schema: u,
188
+ value: i,
105
189
  onChange: p,
106
- path: D,
107
- level: h + 1
190
+ path: H,
191
+ level: N + 1
108
192
  }
109
193
  )
110
194
  }
111
195
  )
112
196
  ] });
113
- }, fe = ({
114
- schema: n,
115
- value: i,
116
- onChange: s,
117
- path: c,
118
- level: k
197
+ }, He = ({
198
+ schema: l,
199
+ value: d,
200
+ onChange: i,
201
+ path: u,
202
+ level: f
119
203
  }) => {
120
204
  const {
121
- rootSchema: p,
122
- texts: d,
123
- readonly: x = !1,
124
- inputClassName: C
125
- } = E(), m = n.additionalProperties === !0 || n.additionalProperties == null ? { type: "string" } : typeof n.additionalProperties == "object" ? G(n.additionalProperties, p) : { type: "string" }, h = F(m), [l, u] = T(
126
- () => Object.entries(i ?? {}).map(
127
- ([e, t]) => R(e, t)
205
+ rootSchema: C,
206
+ texts: m,
207
+ readonly: p = !1,
208
+ inputClassName: P,
209
+ jsonEditorTheme: O
210
+ } = q(), T = l.additionalProperties === !0 || l.additionalProperties == null, h = T ? { type: "string" } : typeof l.additionalProperties == "object" ? le(l.additionalProperties, C) : { type: "string" }, N = J(h), [s, b] = R(
211
+ () => Object.entries(d ?? {}).map(
212
+ ([t, o]) => _(t, o)
128
213
  )
129
- ), f = (e) => Object.fromEntries(
130
- e.filter((t) => t.key !== "").map((t) => [t.key, t.value])
131
- ), g = (e, t) => {
132
- const o = l.map(
133
- (r, v) => v === e ? { ...r, key: t } : r
214
+ ), v = (t) => Object.fromEntries(
215
+ t.filter((o) => o.key !== "").map((o) => [o.key, o.value])
216
+ ), y = (t, o) => {
217
+ const a = s.map(
218
+ (n, g) => g === t ? { ...n, key: o } : n
134
219
  );
135
- u(o), s(f(o));
136
- }, N = (e, t) => {
137
- const o = l.map(
138
- (r, v) => v === e ? { ...r, value: t } : r
220
+ b(a), i(v(a));
221
+ }, E = (t, o) => {
222
+ const a = s.map(
223
+ (n, g) => g === t ? { ...n, value: o } : n
139
224
  );
140
- u(o), s(f(o));
141
- }, S = () => h ? Y(m, p) ?? _(m) : "", b = () => {
142
- u((e) => [...e, R("", S())]);
143
- }, P = (e) => {
144
- const t = l.filter((o, r) => r !== e);
145
- u(t), s(f(t));
225
+ b(a), i(v(a));
226
+ }, j = () => N ? pe(h, C) ?? ye(h) : "", w = () => {
227
+ b((t) => [...t, _("", j())]);
228
+ }, D = (t) => {
229
+ const o = s.filter((a, n) => n !== t);
230
+ b(o), i(v(o));
146
231
  };
147
- return /* @__PURE__ */ y("div", { className: "flex flex-col gap-2", children: [
148
- l.length === 0 && /* @__PURE__ */ a("p", { className: "dial-tiny-text text-secondary italic", children: d.noFieldsYet }),
149
- l.length > 0 && !h && /* @__PURE__ */ y("div", { className: "flex gap-2 mb-1 pr-7", children: [
150
- /* @__PURE__ */ a("span", { className: "w-2/5 dial-tiny-text text-secondary font-medium", children: d.keyColumnHeader }),
151
- /* @__PURE__ */ a("span", { className: "flex-1 dial-tiny-text text-secondary font-medium", children: d.valueColumnHeader })
232
+ return /* @__PURE__ */ x("div", { className: "flex flex-col gap-2", children: [
233
+ s.length === 0 && /* @__PURE__ */ e("p", { className: "dial-tiny-text text-secondary italic", children: m.noFieldsYet }),
234
+ s.length > 0 && !N && /* @__PURE__ */ x("div", { className: "flex gap-2 mb-1 pr-7", children: [
235
+ /* @__PURE__ */ e("span", { className: "w-2/5 dial-tiny-text text-secondary font-medium", children: m.keyColumnHeader }),
236
+ /* @__PURE__ */ e("span", { className: "flex-1 dial-tiny-text text-secondary font-medium", children: m.valueColumnHeader }),
237
+ T && /* @__PURE__ */ e("span", { className: "w-28 shrink-0 dial-tiny-text text-secondary font-medium", children: m.typeColumnHeader })
152
238
  ] }),
153
- l.map((e, t) => /* @__PURE__ */ a(
154
- X,
239
+ s.map((t, o) => /* @__PURE__ */ e(
240
+ xe,
155
241
  {
156
- pairId: e.id,
157
- pairKey: e.key,
158
- pairValue: e.value,
159
- valueSchema: m,
160
- onKeyChange: (o) => g(t, o),
161
- onValueChange: (o) => N(t, o),
162
- onRemove: () => P(t),
163
- keyInputPlaceholder: d.keyInputPlaceholder,
164
- removeFieldAriaLabel: d.removeFieldAriaLabel,
165
- path: c,
166
- level: k,
167
- readonly: x,
168
- inputClassName: C
242
+ pairId: t.id,
243
+ pairKey: t.key,
244
+ pairValue: t.value,
245
+ valueSchema: h,
246
+ isUnschematizedValue: T,
247
+ jsonEditorTheme: O,
248
+ onKeyChange: (a) => y(o, a),
249
+ onValueChange: (a) => E(o, a),
250
+ onRemove: () => D(o),
251
+ keyInputPlaceholder: m.keyInputPlaceholder,
252
+ removeFieldAriaLabel: m.removeFieldAriaLabel,
253
+ path: u,
254
+ level: f,
255
+ readonly: p,
256
+ inputClassName: P
169
257
  },
170
- e.id
258
+ t.id
171
259
  )),
172
- !x && /* @__PURE__ */ a("div", { className: "pt-1", children: /* @__PURE__ */ a(
173
- z,
260
+ !p && /* @__PURE__ */ e("div", { className: "pt-1", children: /* @__PURE__ */ e(
261
+ te,
174
262
  {
175
- label: d.addField,
176
- iconBefore: /* @__PURE__ */ a(K, { size: 16, stroke: 2 }),
177
- onClick: b
263
+ label: m.addField,
264
+ iconBefore: /* @__PURE__ */ e(V, { size: 16, stroke: 2 }),
265
+ onClick: w
178
266
  }
179
267
  ) })
180
268
  ] });
181
269
  };
182
270
  export {
183
- fe as SchemaKeyValueEditor
271
+ He as SchemaKeyValueEditor
184
272
  };
@@ -1,5 +1,5 @@
1
- var t = /* @__PURE__ */ ((e) => (e.Sections = "sections", e.Flat = "flat", e.FlatSections = "flat-sections", e))(t || {}), l = /* @__PURE__ */ ((e) => (e.Select = "select", e.Radio = "radio", e))(l || {}), r = /* @__PURE__ */ ((e) => (e.Row = "row", e.Column = "column", e))(r || {}), o = /* @__PURE__ */ ((e) => (e.String = "string", e.Number = "number", e.Integer = "integer", e.Boolean = "boolean", e.Object = "object", e.Array = "array", e.Null = "null", e))(o || {});
2
- const n = {
1
+ var r = /* @__PURE__ */ ((e) => (e.Sections = "sections", e.Flat = "flat", e.FlatSections = "flat-sections", e))(r || {}), t = /* @__PURE__ */ ((e) => (e.Select = "select", e.Radio = "radio", e))(t || {}), l = /* @__PURE__ */ ((e) => (e.Row = "row", e.Column = "column", e))(l || {}), n = /* @__PURE__ */ ((e) => (e.String = "string", e.Number = "number", e.Integer = "integer", e.Boolean = "boolean", e.Object = "object", e.Array = "array", e.Null = "null", e))(n || {});
2
+ const o = {
3
3
  noItemSchema: "No item schema defined.",
4
4
  noItemsYet: "No items yet. Add one below.",
5
5
  addItem: "Add Item",
@@ -16,12 +16,23 @@ const n = {
16
16
  enumSelectPlaceholder: "Select an option",
17
17
  selectTypePlaceholder: "Select type",
18
18
  removeItemAriaLabel: "Remove item",
19
- removeFieldAriaLabel: "Remove field"
19
+ removeFieldAriaLabel: "Remove field",
20
+ typeColumnHeader: "Type",
21
+ entryTypeString: "String",
22
+ entryTypeNumber: "Number",
23
+ entryTypeBoolean: "Boolean",
24
+ entryTypeNull: "Null",
25
+ entryTypeObject: "Object",
26
+ entryTypeArray: "Array",
27
+ entryTypeChangeWarning: "Changing type will reset the current value.",
28
+ booleanTrueOption: "True",
29
+ booleanFalseOption: "False",
30
+ invalidJsonError: "Invalid JSON"
20
31
  };
21
32
  export {
22
- n as DEFAULT_SCHEMA_TEXTS,
23
- o as JsonSchemaType,
24
- l as SchemaDisplayMode,
25
- r as SchemaOrientation,
26
- t as SchemaRendererVariant
33
+ o as DEFAULT_SCHEMA_TEXTS,
34
+ n as JsonSchemaType,
35
+ t as SchemaDisplayMode,
36
+ l as SchemaOrientation,
37
+ r as SchemaRendererVariant
27
38
  };