@epam/ai-dial-ui-kit 0.16.0-dev.44 → 0.16.0-dev.46

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 (217) hide show
  1. package/README.md +7 -10
  2. package/dist/CHANGELOG.md +9 -2
  3. package/dist/DateCellRenderer-Bx79kGGv.cjs +63 -0
  4. package/dist/MarkdownEditor-BtLY7OVq.cjs +1 -0
  5. package/dist/components/New/Grid/Grid.js +19 -14
  6. package/dist/components/New/Popup/constants.js +1 -1
  7. package/dist/components-manifest.json +520 -3036
  8. package/dist/constants/public-class-names.js +0 -7
  9. package/dist/dial-ui-kit.cjs +3 -3
  10. package/dist/dial-ui-kit.js +373 -456
  11. package/dist/editors.cjs +1 -1
  12. package/dist/editors.js +4 -10
  13. package/dist/grid.cjs +1 -1
  14. package/dist/grid.js +23 -31
  15. package/dist/{merge-classes-B0SnCG4i.cjs → icon-D93YIwGJ.cjs} +1 -1
  16. package/dist/index.css +1 -1
  17. package/dist/migration-guides/0.16.0/legacy-file-manager-removal.md +5 -3
  18. package/dist/migration-guides/0.16.0/unused-legacy-components-removal.md +128 -0
  19. package/dist/migration-guides/README.md +1 -0
  20. package/dist/node_modules/react-dnd/dist/internals/registration.js +5 -13
  21. package/dist/src/components/New/MarkdownEditor/lazy.d.ts +8 -2
  22. package/dist/src/components/New/Popup/constants.d.ts +1 -1
  23. package/dist/src/components/New/SegmentedControl/SegmentedControl.d.ts +2 -2
  24. package/dist/src/constants/public-class-names.d.ts +0 -7
  25. package/dist/src/index.d.ts +2 -53
  26. package/dist/src/subpaths/editors.d.ts +9 -15
  27. package/dist/src/subpaths/grid.d.ts +2 -8
  28. package/dist/src/types/editor.d.ts +0 -6
  29. package/dist/src/types/grid.d.ts +2 -2
  30. package/dist/src/utils/grid-registration.d.ts +6 -8
  31. package/package.json +1 -12
  32. package/dist/DateCellRenderer-FseALDXV.cjs +0 -63
  33. package/dist/IconButton-CsePS6PY.cjs +0 -1
  34. package/dist/JsonEditor-DQhHSm93.cjs +0 -1
  35. package/dist/MarkdownEditor-CvIPIbPq.cjs +0 -1
  36. package/dist/MarkdownEditor-TR6X_gdl.cjs +0 -1
  37. package/dist/MarkdownEditorContainer-JIn_VNUX.cjs +0 -1
  38. package/dist/Switch-HEL_aq23.cjs +0 -1
  39. package/dist/assets/icons/file/c.svg.js +0 -5
  40. package/dist/assets/icons/file/cpp.svg.js +0 -5
  41. package/dist/assets/icons/file/cs.svg.js +0 -5
  42. package/dist/assets/icons/file/ini.svg.js +0 -5
  43. package/dist/assets/icons/file/json.svg.js +0 -5
  44. package/dist/assets/icons/file/md.svg.js +0 -5
  45. package/dist/assets/icons/file/py.svg.js +0 -5
  46. package/dist/assets/icons/open-popup.svg.js +0 -5
  47. package/dist/components/AutocompleteInput/AutocompleteInputValue.js +0 -21
  48. package/dist/components/ButtonDropdown/ButtonDropdown.js +0 -33
  49. package/dist/components/ButtonDropdown/constants.js +0 -8
  50. package/dist/components/Checkbox/Checkbox.js +0 -64
  51. package/dist/components/Checkbox/constants.js +0 -4
  52. package/dist/components/CollapsibleSidebar/CollapsibleSidebar.js +0 -84
  53. package/dist/components/ConfirmationPopup/ConfirmationPopup.js +0 -75
  54. package/dist/components/ConfirmationPopup/constants.js +0 -32
  55. package/dist/components/DraggableItem/DraggableItem.js +0 -61
  56. package/dist/components/DraggableItem/constants.js +0 -6
  57. package/dist/components/DropdownIcon/DropdownIcon.js +0 -103
  58. package/dist/components/FileIcon/FileIcon.js +0 -37
  59. package/dist/components/FileIcon/constants.js +0 -60
  60. package/dist/components/FileName/FileName.js +0 -68
  61. package/dist/components/FolderName/FolderName.js +0 -57
  62. package/dist/components/FormItem/FormItem.js +0 -90
  63. package/dist/components/FormItem/constants.js +0 -9
  64. package/dist/components/FormPopup/FormPopup.js +0 -59
  65. package/dist/components/FormPopup/constants.js +0 -6
  66. package/dist/components/Grid/Grid.js +0 -333
  67. package/dist/components/Grid/constants.js +0 -33
  68. package/dist/components/Grid/renderers/DateCellRenderer.js +0 -27
  69. package/dist/components/Grid/renderers/constants.js +0 -25
  70. package/dist/components/InputPopup/InputPopup.js +0 -174
  71. package/dist/components/JsonEditor/JsonEditor.js +0 -65
  72. package/dist/components/JsonEditor/lazy.js +0 -4
  73. package/dist/components/MarkdownEditor/MarkdownEditor.js +0 -39
  74. package/dist/components/MarkdownEditor/MarkdownEditorContainer.js +0 -82
  75. package/dist/components/MarkdownEditor/lazy.js +0 -4
  76. package/dist/components/Notification/Notification.js +0 -67
  77. package/dist/components/Notification/constants.js +0 -24
  78. package/dist/components/NumberInput/NumberInput.js +0 -41
  79. package/dist/components/Pagination/Pagination.js +0 -80
  80. package/dist/components/Pagination/utils.js +0 -10
  81. package/dist/components/PasswordInput/Icons/HideIcon.js +0 -16
  82. package/dist/components/PasswordInput/Icons/ShowIcon.js +0 -16
  83. package/dist/components/PasswordInput/PasswordInput.js +0 -21
  84. package/dist/components/Popup/Popup.js +0 -110
  85. package/dist/components/Popup/constants.js +0 -12
  86. package/dist/components/RadioButton/RadioButton.js +0 -103
  87. package/dist/components/RadioGroup/RadioGroup.js +0 -92
  88. package/dist/components/RadioGroup/constants.js +0 -10
  89. package/dist/components/RadioGroupPopupField/RadioGroupPopupField.js +0 -101
  90. package/dist/components/ResizableContainer/ConditionalResizableContainer.js +0 -6
  91. package/dist/components/ResizableContainer/ResizableContainer.js +0 -79
  92. package/dist/components/ResizableContainer/components/ResizeHandle.js +0 -20
  93. package/dist/components/ResizableContainer/components/ResizeIcon.js +0 -11
  94. package/dist/components/SchemaRenderer/SchemaRenderer.js +0 -151
  95. package/dist/components/SchemaRenderer/components/SchemaAdditionalPropertiesEditor.js +0 -56
  96. package/dist/components/SchemaRenderer/components/SchemaAnyOfEditor.js +0 -74
  97. package/dist/components/SchemaRenderer/components/SchemaArrayEditor.js +0 -118
  98. package/dist/components/SchemaRenderer/components/SchemaField.js +0 -78
  99. package/dist/components/SchemaRenderer/components/SchemaFieldContent.js +0 -114
  100. package/dist/components/SchemaRenderer/components/SchemaKeyValueEditor.js +0 -272
  101. package/dist/components/SchemaRenderer/components/SchemaObjectEditor.js +0 -36
  102. package/dist/components/SchemaRenderer/components/SchemaOneOfEditor.js +0 -192
  103. package/dist/components/SchemaRenderer/components/SchemaPrimitiveField.js +0 -161
  104. package/dist/components/SchemaRenderer/components/SchemaSection.js +0 -81
  105. package/dist/components/SchemaRenderer/context.js +0 -12
  106. package/dist/components/Search/Search.js +0 -63
  107. package/dist/components/Search/constants.js +0 -27
  108. package/dist/components/SegmentedControl/SegmentedControl.js +0 -87
  109. package/dist/components/SegmentedControl/constants.js +0 -8
  110. package/dist/components/Select/MultiSelectTags.js +0 -23
  111. package/dist/components/Select/Select.js +0 -435
  112. package/dist/components/Select/SelectSubMenuItem.js +0 -90
  113. package/dist/components/Select/constants.js +0 -15
  114. package/dist/components/SelectField/SelectField.js +0 -66
  115. package/dist/components/SharedEntityIndicator/SharedEntityIndicator.js +0 -34
  116. package/dist/components/Slider/Slider.js +0 -158
  117. package/dist/components/Switch/Switch.js +0 -70
  118. package/dist/components/TagInput/TagInput.js +0 -179
  119. package/dist/components/Textarea/Textarea.js +0 -43
  120. package/dist/constants/editor.js +0 -52
  121. package/dist/icon-CrGVkVpG.cjs +0 -1
  122. package/dist/icon-DhjrDQ8I.cjs +0 -1
  123. package/dist/lazy-kq-xfXXv.cjs +0 -1
  124. package/dist/node_modules/react-dnd/dist/hooks/useDrag/DragSourceImpl.js +0 -25
  125. package/dist/node_modules/react-dnd/dist/hooks/useDrag/connectors.js +0 -21
  126. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDrag.js +0 -20
  127. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSource.js +0 -19
  128. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceConnector.js +0 -22
  129. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceMonitor.js +0 -15
  130. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragType.js +0 -13
  131. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useRegisteredDragSource.js +0 -23
  132. package/dist/node_modules/react-dnd/dist/internals/DragSourceMonitorImpl.js +0 -88
  133. package/dist/node_modules/react-dnd/dist/internals/SourceConnector.js +0 -87
  134. package/dist/src/components/AutocompleteInput/AutocompleteInputValue.d.ts +0 -34
  135. package/dist/src/components/ButtonDropdown/ButtonDropdown.d.ts +0 -24
  136. package/dist/src/components/ButtonDropdown/constants.d.ts +0 -2
  137. package/dist/src/components/Checkbox/Checkbox.d.ts +0 -36
  138. package/dist/src/components/Checkbox/constants.d.ts +0 -1
  139. package/dist/src/components/CollapsibleSidebar/CollapsibleSidebar.d.ts +0 -46
  140. package/dist/src/components/ConfirmationPopup/ConfirmationPopup.d.ts +0 -55
  141. package/dist/src/components/ConfirmationPopup/constants.d.ts +0 -18
  142. package/dist/src/components/DraggableItem/DraggableItem.d.ts +0 -33
  143. package/dist/src/components/DraggableItem/constants.d.ts +0 -3
  144. package/dist/src/components/DropdownIcon/DropdownIcon.d.ts +0 -38
  145. package/dist/src/components/FileIcon/FileIcon.d.ts +0 -33
  146. package/dist/src/components/FileIcon/constants.d.ts +0 -9
  147. package/dist/src/components/FileName/FileName.d.ts +0 -49
  148. package/dist/src/components/FolderName/FolderName.d.ts +0 -37
  149. package/dist/src/components/FormItem/FormItem.d.ts +0 -66
  150. package/dist/src/components/FormItem/constants.d.ts +0 -3
  151. package/dist/src/components/FormPopup/FormPopup.d.ts +0 -46
  152. package/dist/src/components/FormPopup/constants.d.ts +0 -3
  153. package/dist/src/components/Grid/Grid.d.ts +0 -120
  154. package/dist/src/components/Grid/comparators/base-column-comparator.d.ts +0 -1
  155. package/dist/src/components/Grid/constants.d.ts +0 -28
  156. package/dist/src/components/Grid/renderers/DateCellRenderer.d.ts +0 -34
  157. package/dist/src/components/Grid/renderers/constants.d.ts +0 -7
  158. package/dist/src/components/Grid/renderers/utils.d.ts +0 -1
  159. package/dist/src/components/InputPopup/InputPopup.d.ts +0 -61
  160. package/dist/src/components/JsonEditor/JsonEditor.d.ts +0 -25
  161. package/dist/src/components/JsonEditor/lazy.d.ts +0 -14
  162. package/dist/src/components/MarkdownEditor/MarkdownEditor.d.ts +0 -38
  163. package/dist/src/components/MarkdownEditor/MarkdownEditorContainer.d.ts +0 -51
  164. package/dist/src/components/MarkdownEditor/lazy.d.ts +0 -7
  165. package/dist/src/components/Notification/Notification.d.ts +0 -58
  166. package/dist/src/components/Notification/constants.d.ts +0 -8
  167. package/dist/src/components/NumberInput/NumberInput.d.ts +0 -34
  168. package/dist/src/components/Pagination/Pagination.d.ts +0 -11
  169. package/dist/src/components/Pagination/utils.d.ts +0 -9
  170. package/dist/src/components/PasswordInput/Icons/HideIcon.d.ts +0 -16
  171. package/dist/src/components/PasswordInput/Icons/ShowIcon.d.ts +0 -16
  172. package/dist/src/components/PasswordInput/PasswordInput.d.ts +0 -26
  173. package/dist/src/components/Popup/Popup.d.ts +0 -64
  174. package/dist/src/components/Popup/constants.d.ts +0 -5
  175. package/dist/src/components/RadioButton/RadioButton.d.ts +0 -54
  176. package/dist/src/components/RadioGroup/RadioGroup.d.ts +0 -66
  177. package/dist/src/components/RadioGroup/constants.d.ts +0 -5
  178. package/dist/src/components/RadioGroupPopupField/RadioGroupPopupField.d.ts +0 -74
  179. package/dist/src/components/ResizableContainer/ConditionalResizableContainer.d.ts +0 -35
  180. package/dist/src/components/ResizableContainer/ResizableContainer.d.ts +0 -72
  181. package/dist/src/components/ResizableContainer/components/ResizeHandle.d.ts +0 -10
  182. package/dist/src/components/ResizableContainer/components/ResizeIcon.d.ts +0 -8
  183. package/dist/src/components/SchemaRenderer/SchemaRenderer.d.ts +0 -30
  184. package/dist/src/components/SchemaRenderer/components/SchemaAdditionalPropertiesEditor.d.ts +0 -20
  185. package/dist/src/components/SchemaRenderer/components/SchemaAnyOfEditor.d.ts +0 -31
  186. package/dist/src/components/SchemaRenderer/components/SchemaArrayEditor.d.ts +0 -31
  187. package/dist/src/components/SchemaRenderer/components/SchemaField.d.ts +0 -29
  188. package/dist/src/components/SchemaRenderer/components/SchemaFieldContent.d.ts +0 -25
  189. package/dist/src/components/SchemaRenderer/components/SchemaKeyValueEditor.d.ts +0 -33
  190. package/dist/src/components/SchemaRenderer/components/SchemaObjectEditor.d.ts +0 -31
  191. package/dist/src/components/SchemaRenderer/components/SchemaOneOfEditor.d.ts +0 -31
  192. package/dist/src/components/SchemaRenderer/components/SchemaPrimitiveField.d.ts +0 -31
  193. package/dist/src/components/SchemaRenderer/components/SchemaSection.d.ts +0 -33
  194. package/dist/src/components/SchemaRenderer/context.d.ts +0 -19
  195. package/dist/src/components/SchemaRenderer/types.d.ts +0 -62
  196. package/dist/src/components/SchemaRenderer/utils.d.ts +0 -1
  197. package/dist/src/components/Search/Search.d.ts +0 -35
  198. package/dist/src/components/Search/constants.d.ts +0 -8
  199. package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +0 -40
  200. package/dist/src/components/SegmentedControl/constants.d.ts +0 -5
  201. package/dist/src/components/Select/MultiSelectTags.d.ts +0 -8
  202. package/dist/src/components/Select/Select.d.ts +0 -100
  203. package/dist/src/components/Select/SelectSubMenuItem.d.ts +0 -8
  204. package/dist/src/components/Select/constants.d.ts +0 -9
  205. package/dist/src/components/SelectField/SelectField.d.ts +0 -42
  206. package/dist/src/components/SharedEntityIndicator/SharedEntityIndicator.d.ts +0 -31
  207. package/dist/src/components/Slider/Slider.d.ts +0 -57
  208. package/dist/src/components/Switch/Switch.d.ts +0 -34
  209. package/dist/src/components/TagInput/TagInput.d.ts +0 -52
  210. package/dist/src/components/Textarea/Textarea.d.ts +0 -39
  211. package/dist/src/constants/editor.d.ts +0 -2
  212. package/dist/src/constants/storybook/form-item.d.ts +0 -3
  213. package/dist/src/models/segmented-control.d.ts +0 -7
  214. package/dist/src/types/form-item.d.ts +0 -31
  215. package/dist/src/types/select.d.ts +0 -8
  216. package/dist/types/form-item.js +0 -4
  217. package/dist/types/select.js +0 -5
@@ -1,33 +0,0 @@
1
- import { FC } from 'react';
2
- import { JsonSchemaDef } from '../types';
3
- export interface SchemaKeyValueEditorProps {
4
- schema: JsonSchemaDef;
5
- value: unknown;
6
- onChange: (value: unknown) => void;
7
- path: string[];
8
- level: number;
9
- }
10
- /**
11
- * Renders an `additionalProperties` object schema as an editable key-value list. Primitive
12
- * values render inline; object/`oneOf`/array values render as a collapsible section recursing
13
- * back into `SchemaFieldContent`.
14
- * aliases: KeyValueSchemaEditor|AdditionalPropertiesEditor
15
- *
16
- * @example
17
- * ```tsx
18
- * <SchemaKeyValueEditor
19
- * schema={{ type: 'object', additionalProperties: { type: 'string' } }}
20
- * value={{ foo: 'bar' }}
21
- * onChange={(v) => console.log(v)}
22
- * path={['metadata']}
23
- * level={1}
24
- * />
25
- * ```
26
- *
27
- * @param schema - The JSON Schema object definition with `additionalProperties`
28
- * @param value - Current object value (treated as a key-value map)
29
- * @param onChange - Called with the updated object when pairs are added, removed, or changed
30
- * @param path - Field path segments used for validation error tracking
31
- * @param level - Nesting depth passed to child section components
32
- */
33
- export declare const SchemaKeyValueEditor: FC<SchemaKeyValueEditorProps>;
@@ -1,31 +0,0 @@
1
- import { JsonSchemaDef } from '../types';
2
- import { FC } from 'react';
3
- export interface SchemaObjectEditorProps {
4
- schema: JsonSchemaDef;
5
- value: unknown;
6
- onChange: (value: unknown) => void;
7
- path: string[];
8
- level: number;
9
- }
10
- /**
11
- * Renders the properties of a JSON Schema object as labeled form fields.
12
- * aliases: ObjectSchemaEditor|SchemaPropertiesEditor
13
- *
14
- * @example
15
- * ```tsx
16
- * <SchemaObjectEditor
17
- * schema={{ type: 'object', properties: { name: { type: 'string' } } }}
18
- * value={{ name: 'Alice' }}
19
- * onChange={(v) => console.log(v)}
20
- * path={['config']}
21
- * level={1}
22
- * />
23
- * ```
24
- *
25
- * @param schema - The JSON Schema object definition
26
- * @param value - Current object value
27
- * @param onChange - Called with the updated object when any property changes
28
- * @param path - Field path segments used for validation error tracking
29
- * @param level - Nesting depth passed to child SchemaField instances
30
- */
31
- export declare const SchemaObjectEditor: FC<SchemaObjectEditorProps>;
@@ -1,31 +0,0 @@
1
- import { FC } from 'react';
2
- import { JsonSchemaDef } from '../types';
3
- export interface SchemaOneOfEditorProps {
4
- schema: JsonSchemaDef;
5
- value: unknown;
6
- onChange: (value: unknown) => void;
7
- path: string[];
8
- level: number;
9
- }
10
- /**
11
- * Renders a `oneOf` schema field as a type-selector dropdown with an inline sub-editor.
12
- * aliases: OneOfSchemaEditor|SchemaDiscriminatorEditor
13
- *
14
- * @example
15
- * ```tsx
16
- * <SchemaOneOfEditor
17
- * schema={{ oneOf: [...], discriminator: { propertyName: 'type', mapping: {...} } }}
18
- * value={{ type: 'foo' }}
19
- * onChange={(v) => console.log(v)}
20
- * path={['config']}
21
- * level={1}
22
- * />
23
- * ```
24
- *
25
- * @param schema - The JSON Schema definition containing a `oneOf` array and optional `discriminator`
26
- * @param value - Current field value
27
- * @param onChange - Called with the new value when the selected type or sub-value changes
28
- * @param path - Field path segments used for validation error tracking
29
- * @param level - Nesting depth passed to child editor components
30
- */
31
- export declare const SchemaOneOfEditor: FC<SchemaOneOfEditorProps>;
@@ -1,31 +0,0 @@
1
- import { FC } from 'react';
2
- import { JsonSchemaDef } from '../types';
3
- export interface SchemaPrimitiveFieldProps {
4
- schema: JsonSchemaDef;
5
- value: unknown;
6
- onChange: (value: unknown) => void;
7
- invalid?: boolean;
8
- }
9
- /**
10
- * Renders a single primitive schema field: string, integer, number, boolean, enum, or const.
11
- * - `isProtected: true` → masked password input
12
- * - `enum` + `enumDisplay: 'radio'` → radio buttons (`enumOrientation: 'row'` lays them horizontally)
13
- * - `enum` without `enumDisplay` → select dropdown
14
- * - `const` → disabled read-only input
15
- * aliases: SchemaInputField|PrimitiveSchemaField
16
- *
17
- * @example
18
- * ```tsx
19
- * <SchemaPrimitiveField
20
- * schema={{ type: 'string', enum: ['a', 'b'], enumDisplay: 'radio', enumOrientation: 'row' }}
21
- * value="a"
22
- * onChange={(v) => console.log(v)}
23
- * />
24
- * ```
25
- *
26
- * @param schema - The resolved JSON Schema definition; supports `isProtected`, `enumDisplay`, `enumOrientation`
27
- * @param value - Current field value
28
- * @param onChange - Called with the new value when the field changes
29
- * @param [invalid] - Whether the field has a validation error (applies error styling)
30
- */
31
- export declare const SchemaPrimitiveField: FC<SchemaPrimitiveFieldProps>;
@@ -1,33 +0,0 @@
1
- import { FC, ReactNode } from 'react';
2
- export interface SchemaSectionProps {
3
- title: string;
4
- description?: string;
5
- summary?: string;
6
- errorCount?: number;
7
- level?: number;
8
- children?: ReactNode;
9
- onRemove?: () => void;
10
- defaultExpanded?: boolean;
11
- removeItemAriaLabel?: string;
12
- }
13
- /**
14
- * A collapsible section card used to wrap schema property groups.
15
- * aliases: CollapsibleSchemaSection|SchemaCard
16
- *
17
- * @example
18
- * ```tsx
19
- * <SchemaSection title="Settings" level={0} summary="3/4 fields" errorCount={1}>
20
- * <p>Content</p>
21
- * </SchemaSection>
22
- * ```
23
- *
24
- * @param title - Section header title
25
- * @param [description] - Optional description shown in collapsed state
26
- * @param [summary] - Short summary text shown in the header (e.g. "3/4 fields", "2 items")
27
- * @param [errorCount=0] - Number of validation errors; shows error badge when > 0
28
- * @param [level=0] - Nesting depth; 0 = top-level card style, 1+ = nested style
29
- * @param [children] - Section body content rendered when expanded
30
- * @param [onRemove] - If provided, shows a remove button in the section header
31
- * @param [defaultExpanded=true] - Whether the section starts in the expanded state
32
- */
33
- export declare const SchemaSection: FC<SchemaSectionProps>;
@@ -1,19 +0,0 @@
1
- import { default as React } from 'react';
2
- import { JsonSchema, JsonSchemaDef, SchemaRendererTexts } from './types';
3
- import { EditorThemes } from '../../types/editor';
4
- interface SchemaRendererContextValue {
5
- rootSchema: JsonSchema;
6
- texts: SchemaRendererTexts;
7
- readonly?: boolean;
8
- defaultExpanded?: boolean;
9
- inputClassName?: string;
10
- jsonEditorTheme?: EditorThemes;
11
- acceptableResourceTypes?: Record<string, unknown>;
12
- renderField?: (path: string[], schema: JsonSchemaDef, defaultElement: React.ReactElement) => React.ReactNode;
13
- touchedPaths?: ReadonlySet<string>;
14
- markTouched?: (path: string) => void;
15
- skipUntouched?: boolean;
16
- }
17
- export declare const SchemaRendererContext: React.Context<SchemaRendererContextValue | null>;
18
- export declare function useSchemaContext(): SchemaRendererContextValue;
19
- export {};
@@ -1,62 +0,0 @@
1
- import { default as React } from 'react';
2
- import { EditorThemes } from '../../types/editor';
3
- import { SchemaRendererVariant } from '../../types/json-schema';
4
- import { JsonSchema, JsonSchemaDef, SchemaRendererTexts } from '../../models/json-schema';
5
- export { SchemaRendererVariant, SchemaDisplayMode, SchemaOrientation, JsonSchemaType, } from '../../types/json-schema';
6
- export type { DialMeta, JsonSchemaDef, JsonSchema, ValidationError, SchemaRendererTexts, } from '../../models/json-schema';
7
- export { DEFAULT_SCHEMA_TEXTS } from '../../constants/schema-renderer';
8
- export interface DialSchemaRendererProps {
9
- schema: JsonSchema;
10
- defaultValue?: Record<string, unknown>;
11
- texts?: Partial<SchemaRendererTexts>;
12
- className?: string;
13
- readonly?: boolean;
14
- defaultExpanded?: boolean;
15
- inputClassName?: string;
16
- /**
17
- * `'sections'` (default) — every top-level property is a collapsible SchemaSection card.
18
- * `'flat'` — primitive top-level properties render as plain DialFormItem fields; object/array
19
- * properties still use collapsible sections.
20
- */
21
- variant?: SchemaRendererVariant;
22
- /**
23
- * When `true`, required-field errors are only shown after the user has interacted
24
- * with a field. When `false` (default), all unfilled required fields are highlighted immediately.
25
- */
26
- skipUntouched?: boolean;
27
- /**
28
- * Theme applied to the JSON editor shown for value keys that are not declared in the
29
- * schema's `properties`. Defaults to `EditorThemes.dark`.
30
- */
31
- jsonEditorTheme?: EditorThemes;
32
- /**
33
- * Live resource options for schema properties flagged with `dial:resource: true`.
34
- * Keyed by the resource type name referenced in a property's `acceptableResourceTypes`
35
- * array; each value provides the selectable entries for that resource type (a string
36
- * array for string-typed properties).
37
- */
38
- acceptableResourceTypes?: Record<string, unknown>;
39
- onChange?: (value: Record<string, unknown>) => void;
40
- onPropertyChange?: (path: string, value: unknown) => void;
41
- onDefaultValues?: (value: Record<string, unknown>) => void;
42
- /**
43
- * Override the rendered element for any field by path.
44
- * Return `defaultElement` to fall back to the built-in renderer.
45
- * @param path - Array of schema property keys leading to this field (e.g. ['connection', 'token'])
46
- * @param schema - The resolved JSON Schema definition for this field
47
- * @param defaultElement - The element that would be rendered without customization
48
- */
49
- renderField?: (path: string[], schema: JsonSchemaDef, defaultElement: React.ReactElement) => React.ReactNode;
50
- }
51
- export interface SchemaFieldContentProps {
52
- schema: JsonSchemaDef;
53
- value: unknown;
54
- onChange: (value: unknown) => void;
55
- path: string[];
56
- level: number;
57
- required?: boolean;
58
- suppressInlineError?: boolean;
59
- }
60
- export interface SchemaFieldProps extends SchemaFieldContentProps {
61
- label?: string;
62
- }
@@ -1 +0,0 @@
1
- export * from '../../utils/json-schema';
@@ -1,35 +0,0 @@
1
- import { FC } from 'react';
2
- import { ElementSize } from '../../types/size';
3
- import { DialInputProps } from '../Input/Input';
4
- export interface DialSearchProps extends Omit<DialInputProps, 'type' | 'size' | 'inputButtonProps' | 'labelProps' | 'iconBefore' | 'iconAfter' | 'prefix' | 'postfix' | 'onChange'> {
5
- withoutBorder?: boolean;
6
- size?: ElementSize;
7
- onChange?: (value: string) => void;
8
- }
9
- /**
10
- * A search input component with a customizable placeholder, icons, flexible props, and the ability
11
- * aliases: SearchField|QueryInput
12
- * Design system 1.0
13
- *
14
- * to clear the input value via a clear button. Supports multiple sizes for flexible layouts.
15
- *
16
- * @example
17
- * ```tsx
18
- * <DialSearch
19
- * id="search"
20
- * value={query}
21
- * placeholder="Search"
22
- * size={ElementSize.Small}
23
- * onChange={(value) => setQuery(value)}
24
- * onBlur={() => handleBlur()}
25
- * disabled={false}
26
- * />
27
- * ```
28
- *
29
- * Extends the `DialInput` component, inheriting all of its props except for those that are overridden
30
- * (like `iconBefore`, `iconAfter`, and `inputButtonProps` which are managed internally). The `size`
31
- * prop allows you to choose between predefined size configurations that adjust the input's appearance
32
- * @param [size=ElementSize.Standard] - The size of the search input. Uses the {@link ElementSize} enum.
33
- * @param [withoutBorder] - If true, the search input will be rendered without a border.
34
- */
35
- export declare const DialSearch: FC<DialSearchProps>;
@@ -1,8 +0,0 @@
1
- import { ElementSize } from '../../types/size';
2
- export declare const SIZE_CONFIG: Record<ElementSize, {
3
- className: string;
4
- wrapperClassName: string;
5
- containerClassName: string;
6
- iconSize: number;
7
- iconStroke: number;
8
- }>;
@@ -1,40 +0,0 @@
1
- import { SegmentedControlOption } from '../../models/segmented-control';
2
- export interface DialSegmentedControlProps<T extends string> {
3
- options: SegmentedControlOption<T>[];
4
- value: T;
5
- onChange: (value: T) => void;
6
- disabled?: boolean;
7
- className?: string;
8
- ariaLabel?: string;
9
- }
10
- /**
11
- * A single-select control for switching between a small set of mutually exclusive,
12
- * equally-sized options (e.g. view switchers).
13
- * aliases: SegmentedButton|ViewSwitcher
14
- * Design system 1.0
15
- *
16
- * Renders a horizontal group of segments where every option is always visible and
17
- * equally sized. Supports 2 or more segments, optional per-option icons, and
18
- * keyboard navigation (Arrow keys, Home, End).
19
- *
20
- * @example
21
- * ```tsx
22
- * <DialSegmentedControl
23
- * ariaLabel="View"
24
- * value={view}
25
- * onChange={setView}
26
- * options={[
27
- * { value: 'list', label: 'List' },
28
- * { value: 'grid', label: 'Grid' },
29
- * ]}
30
- * />
31
- * ```
32
- *
33
- * @param options - Segments to render. Each option needs a unique `value` and may include a `label`, `icon`, and `disabled` flag.
34
- * @param value - The currently selected option `value`.
35
- * @param onChange - Callback fired with the selected option `value`.
36
- * @param [disabled] - Disables the entire control when set.
37
- * @param [className] - Additional classes applied to the container.
38
- * @param [ariaLabel] - Accessible label for the control (applied to the `tablist`).
39
- */
40
- export declare const DialSegmentedControl: <T extends string>({ options, value, onChange, disabled, className, ariaLabel, }: DialSegmentedControlProps<T>) => import('react/jsx-runtime').JSX.Element;
@@ -1,5 +0,0 @@
1
- export declare const containerBaseClassName = "inline-flex items-center rounded bg-layer-3";
2
- export declare const segmentBaseClassName = "flex flex-1 items-center justify-center gap-2 h-7 px-3 py-1 border border-primary dial-small-text whitespace-nowrap focus-visible:outline outline-offset-0 focus-visible:relative focus-visible:z-10";
3
- export declare const segmentSelectedClassName = "relative z-10 bg-controls-accent-primary-alpha-active text-primary";
4
- export declare const segmentUnselectedClassName = "text-secondary hover:text-primary";
5
- export declare const segmentDisabledClassName = "text-controls-disable-accent cursor-not-allowed hover:text-controls-disable-accent";
@@ -1,8 +0,0 @@
1
- import { SelectOption } from '../../models/select';
2
- import { FC, MouseEvent } from 'react';
3
- export interface DialMultiSelectTagsProps {
4
- options: SelectOption[];
5
- selectedValues: string[];
6
- handleRemoveTag?: (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>, val: string) => void;
7
- }
8
- export declare const DialMultiSelectTags: FC<DialMultiSelectTagsProps>;
@@ -1,100 +0,0 @@
1
- import { FC, ReactNode, MouseEvent, Ref } from 'react';
2
- import { SelectOption } from '../../models/select';
3
- import { SelectSize, SelectVariant } from '../../types/select';
4
- import { ElementSize } from '../../types/size';
5
- export interface DialSelectProps {
6
- options: SelectOption[];
7
- multiple?: boolean;
8
- elementId?: string;
9
- size?: SelectSize;
10
- variant?: SelectVariant;
11
- value?: string | string[];
12
- customSelectedValue?: string;
13
- prefix?: string;
14
- defaultValue?: string | string[];
15
- placeholder?: string;
16
- searchable?: boolean;
17
- searchSize?: ElementSize;
18
- searchPlaceholder?: string;
19
- selectAll?: boolean;
20
- selectAllLabel?: string;
21
- emptyStateTitle?: string;
22
- emptyStateDescription?: string;
23
- emptyStateIcon?: ReactNode;
24
- disabled?: boolean;
25
- className?: string;
26
- listClassName?: string;
27
- closable?: boolean;
28
- invalid?: boolean;
29
- header?: ReactNode | (() => ReactNode);
30
- footer?: ReactNode | (() => ReactNode);
31
- open?: boolean;
32
- onOpenChange?: (open: boolean) => void;
33
- onInlineQueryChange?: (query: string) => void;
34
- dismissRef?: Ref<unknown>;
35
- onClose?: (e: MouseEvent<HTMLButtonElement>) => void;
36
- onChange?: (next: string | string[]) => void;
37
- inlineSearch?: boolean;
38
- onFooterClick?: (e: MouseEvent<HTMLDivElement>) => void;
39
- customMultiSelectTagsRenderer?: (options: SelectOption[], selectedValues: string[], handleRemoveTag: (event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>, val: string) => void) => ReactNode;
40
- }
41
- /**
42
- * A versatile select supporting single and multiple selections.
43
- * aliases: OptionPicker|ChoiceSelector
44
- * Design system 1.0
45
- *
46
- * Single mode mirrors the legacy visual:
47
- * - Trigger shows the selected option's leading icon + label.
48
- * - In the list, the selected option is indicated by a LEFT border and tinted background
49
- * (no check icon).
50
- *
51
- * Multiple mode uses checkboxes (including Select All with indeterminate state).
52
- *
53
- * Search:
54
- * - `searchable`: shows a plain input in the overlay header that filters options.
55
- * - `inlineSearch` (single mode only): the trigger renders a plain input; typing filters options;
56
- * when closed, the input shows the selected label.
57
- *
58
- * @example
59
- * ```tsx
60
- * <DialSelect options={[{ value: 'option-1', label: 'Option 1' }]} />
61
- * <DialSelect searchable options={[{ value: 'a', label: 'Alpha' }, { value: 'b', label: 'Beta' }]} />
62
- * <DialSelect multiple selectAll options={[{ value: '1', label: 'One' }, { value: '2', label: 'Two' }]} />
63
- * <DialSelect inlineSearch options={[{ value: 'r', label: 'Relax-Name' }, { value: 'rep2', label: 'rep2' }]} />
64
- * ```
65
- *
66
- * @param options - Array of options to select from.
67
- * @param [elementId] - The id attribute for the select element.
68
- * @param [multiple] - Whether multiple selections are allowed.
69
- * @param [size=SelectSize.Md] - Size of the control.
70
- * @param [variant=SelectVariant.Primary] - Visual variant.
71
- * @param [value] - Controlled selected value(s).
72
- * @param [customSelectedValue] - Custom string to render as the selected value in single mode.
73
- * @param [prefix] - Prefix for selected value(s).
74
- * @param [defaultValue] - Uncontrolled initial selected value(s).
75
- * @param [placeholder="Select..."] - Placeholder text when no selection is made.
76
- * @param [searchable=false] - Show a search field in the overlay header.
77
- * @param [searchSize=ElementSize.Standard] - Size of the overlay search input when `searchable` is enabled.
78
- * @param [searchPlaceholder] - Placeholder for the search input (overlay/inline).
79
- * @param [selectAll=false] - Show a "Select All" checkbox in multiple mode.
80
- * @param [selectAllLabel="Select all"] - Label for the "Select All" checkbox.
81
- * @param [emptyStateTitle="No options available"] - Title text when there are no options.
82
- * @param [emptyStateDescription] - Description text when there are no options.
83
- * @param [emptyStateIcon] - Icon to display when there are no options.
84
- * @param [invalid] - Whether the select is in an invalid state, affecting styling.
85
- * @param [disabled=false] - Disable the control.
86
- * @param [className] - Additional CSS classes for the trigger.
87
- * @param [listClassName] - Additional CSS classes for the list dropdown.
88
- * @param [closable=false] - Show a close button in the dropdown header.
89
- * @param [header] - Custom node/function rendered above the options.
90
- * @param [footer] - Custom node/function rendered below the options.
91
- * @param [open] - Controlled open state of the dropdown. When provided, makes the dropdown controlled.
92
- * @param [onOpenChange] - Called when the dropdown open state changes.
93
- * @param [onClose] - Called when the dropdown close button is clicked.
94
- * @param [onChange] - Called when the selection changes.
95
- * @param [inlineSearch=false] - Render a plain input inside trigger (single mode only).
96
- * @param [onInlineQueryChange] - Called when the inline search query changes
97
- * @param [onFooterClick] - Called when the footer element is clicked. When provided, automatically closes the dropdown.
98
- * @param [dismissRef] - Ref object to expose a `dismiss` method to programmatically close the select.
99
- */
100
- export declare const DialSelect: FC<DialSelectProps>;
@@ -1,8 +0,0 @@
1
- import { FC } from 'react';
2
- import { SelectOption } from '../../models/select';
3
- export interface SelectSubMenuItemProps {
4
- opt: SelectOption;
5
- selectedValues: string[];
6
- onSelect: (value: string) => void;
7
- }
8
- export declare const SelectSubMenuItem: FC<SelectSubMenuItemProps>;
@@ -1,9 +0,0 @@
1
- export declare const selectTriggerBaseClassName = "dial-input flex w-full items-center justify-between gap-2 dial-small-text cursor-pointer";
2
- export declare const selectOverlayBaseClassName = "w-full rounded flex flex-col";
3
- export declare const selectOptionBaseClassName = "flex w-full items-center justify-between gap-2 px-3 h-[34px] dial-small-text text-primary truncate hover:bg-accent-primary-alpha focus:bg-accent-primary-alpha focus:outline-hidden";
4
- export declare const selectOptionSelectedClassName = "bg-accent-primary-alpha";
5
- export declare const selectOptionSingleSelectedClassName = "bg-accent-primary-alpha border-l border-accent-primary";
6
- export declare const selectOptionDisabledClassName = "opacity-75";
7
- export declare const dropdownMenuMaxHeight = 352;
8
- export declare const selectSubMenuGap = 4;
9
- export declare const selectChevronIcon: import('react/jsx-runtime').JSX.Element;
@@ -1,42 +0,0 @@
1
- import { FC } from 'react';
2
- import { DialFormItemProps } from '../FormItem/FormItem';
3
- import { DialSelectProps } from '../Select/Select';
4
- import { DialLabelProps } from '../Label/Label';
5
- export interface DialSelectFieldProps extends Omit<DialSelectProps, 'className' | 'elementId'>, Omit<DialLabelProps, 'htmlFor'>, Omit<DialFormItemProps, 'label' | 'children' | 'value'> {
6
- selectClassName?: string;
7
- containerClassName?: string;
8
- }
9
- /**
10
- * A Select field wrapper that composes `DialFormItem` and `DialSelect`.
11
- * aliases: SelectInput|ComboField
12
- * Design system 1.0
13
- *
14
- * Provides unified label, description, error rendering and a readonly view that shows
15
- * the selected option labels (comma-separated in single mode, list in multiple).
16
- *
17
- * @example
18
- * ```tsx
19
- * <DialSelectField
20
- * elementId="transport"
21
- * fieldTitle="Transport"
22
- * options={[
23
- * { value: 'SSE', label: 'Server-Sent Events (SSE)' },
24
- * { value: 'WS', label: 'WebSocket' },
25
- * ]}
26
- * value="WS"
27
- * onChange={(v) => setTransport(v as string)}
28
- * />
29
- *
30
- * @params - Component properties extending:
31
- * - {@link DialSelectProps} for select options and props, except for className
32
- * - {@link DialFormItemProps} for form item props, except for htmlFor
33
- * - {@link DialLabelProps} for label props, except for label, children, value
34
- *
35
- * @param selectClassName CSS class for the select element
36
- * @param containerClassName CSS class for the form item container
37
- * @param emptyStateTitle Title to show when there are no options
38
- * @param restSelectProps All other DialSelect props
39
- * @param restFormItemProps All other DialFormItem props
40
- * ```
41
- */
42
- export declare const DialSelectField: FC<DialSelectFieldProps>;
@@ -1,31 +0,0 @@
1
- import { FC, ReactNode } from 'react';
2
- export interface DialSharedEntityIndicatorProps {
3
- label?: ReactNode;
4
- size?: number;
5
- stroke?: number;
6
- className?: string;
7
- containerClassName?: string;
8
- sharedIndicatorTooltip?: ReactNode;
9
- }
10
- /**
11
- * A compact icon-only indicator to denote a "shared" entity.
12
- * aliases: SharedIcon|AccessIndicator
13
- * Design system 1.0
14
- *
15
- * Renders a small arrow-up-right icon with token-based colors.
16
- *
17
- * @example
18
- * ```tsx
19
- * <DialSharedEntityIndicator />
20
- * <DialSharedEntityIndicator size={12} label="Opens in new window" />
21
- * ```
22
- *
23
- * @param [label="Shared entity"] - Accessible label for assistive tech
24
- * @param [size=10] - Pixel size for the icon
25
- * @param [className] - Additional Tailwind classes applied to the icon
26
- * @param [containerClassName] - Additional Tailwind classes appended to the container
27
- * @param [stroke=1.5] - Stroke width for the icon
28
- * @param [sharedIndicatorTooltip] - Custom tooltip content, defaults to "Shared"
29
- *
30
- */
31
- export declare const DialSharedEntityIndicator: FC<DialSharedEntityIndicatorProps>;
@@ -1,57 +0,0 @@
1
- import { FC, HTMLAttributes } from 'react';
2
- import { DialLabelProps } from '../Label/Label';
3
- export interface DialSliderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> {
4
- value: number;
5
- min?: number;
6
- max?: number;
7
- step?: number;
8
- disabled?: boolean;
9
- labelProps?: DialLabelProps;
10
- /** 2-element or 3-element label tuple rendered below the track */
11
- labels?: [string, string] | [string, string, string];
12
- /** Custom formatter for the thumb value; defaults to fixed-decimal based on step */
13
- formatValue?: (value: number) => string;
14
- onChange?: (value: number) => void;
15
- /** Additional classes for the track bar (default: `bg-layer-1`) */
16
- trackClassName?: string;
17
- /** Additional classes for the filled portion of the track (default: `bg-controls-accent-primary`) */
18
- fillClassName?: string;
19
- /** Additional classes for the thumb circle (default: `bg-layer-3 text-primary dial-small-text`) */
20
- thumbClassName?: string;
21
- /** Additional classes for the labels row (default: `text-secondary dial-tiny-text`) */
22
- labelsClassName?: string;
23
- }
24
- /**
25
- * A range slider with a custom thumb showing the current value and optional labels.
26
- * aliases: RangeInput|TemperatureSlider
27
- * Design system 1.0
28
- *
29
- * @example
30
- * ```tsx
31
- * <DialSlider
32
- * value={0.5}
33
- * min={0}
34
- * max={1}
35
- * step={0.1}
36
- * labels={['Precise', 'Neutral', 'Creative']}
37
- * aria-label="Temperature"
38
- * onChange={(v) => console.log(v)}
39
- * />
40
- * ```
41
- *
42
- * @param value - Current slider value
43
- * @param [min=0] - Minimum value
44
- * @param [max=1] - Maximum value
45
- * @param [step=0.1] - Step increment
46
- * @param [disabled=false] - Disables interaction
47
- * @param [labelProps] - Props forwarded to DialLabel rendered above the slider
48
- * @param [labels] - 2 or 3 strings rendered below the track (start, [middle,] end)
49
- * @param [formatValue] - Custom value formatter for the thumb display
50
- * @param [onChange] - Callback fired with the new value on interaction
51
- * @param [className] - Additional CSS classes for the outer container
52
- * @param [trackClassName] - Additional CSS classes for the track bar
53
- * @param [fillClassName] - Additional CSS classes for the fill portion of the track
54
- * @param [thumbClassName] - Additional CSS classes for the thumb circle
55
- * @param [labelsClassName] - Additional CSS classes for the labels row
56
- */
57
- export declare const DialSlider: FC<DialSliderProps>;
@@ -1,34 +0,0 @@
1
- import { FC, ReactNode } from 'react';
2
- export interface DialSwitchProps {
3
- label?: ReactNode;
4
- switchId: string;
5
- isOn?: boolean;
6
- disabled?: boolean;
7
- onChange?: (value: boolean) => void;
8
- caption?: string;
9
- }
10
- /**
11
- * A Switch component with various styling options
12
- * aliases: ToggleSwitch|BinaryToggle
13
- * Design system 1.0
14
- *
15
- * @example
16
- * ```tsx
17
- * <DialSwitch
18
- * switchId="switch"
19
- * label="Toggle"
20
- * isOn={true}
21
- * disabled={false}
22
- * onChange={(value) => console.log(value)}
23
- * caption="Caption"
24
- * />
25
- * ```
26
- *
27
- * @param switchId - Unique identifier for the switch element
28
- * @param [title] - The label text for the field
29
- * @param [isOn=false] - The current value of the switch
30
- * @param [disabled=false] - Whether the switch is disabled
31
- * @param [onChange] - Callback function called when the switch value changes
32
- * @param [caption] - Caption text
33
- */
34
- export declare const DialSwitch: FC<DialSwitchProps>;