@epam/ai-dial-ui-kit 0.14.0-dev.4 → 0.14.0-dev.40

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 (533) hide show
  1. package/README.md +22 -0
  2. package/dist/CHANGELOG.md +26 -4
  3. package/dist/DateCellRenderer-DNPEX0I7.cjs +1 -0
  4. package/dist/DateCellRenderer-p6k-mVZt.cjs +63 -0
  5. package/dist/IconButton-DWqoaBWf.cjs +1 -0
  6. package/dist/JsonEditor-BZCyPc2D.cjs +1 -0
  7. package/dist/MarkdownEditor-CBH7ILah.cjs +1 -0
  8. package/dist/MarkdownEditor-CMRC_XsQ.cjs +1 -0
  9. package/dist/MarkdownEditorContainer-B_6-Gd-T.cjs +1 -0
  10. package/dist/Switch-CUKClcEz.cjs +1 -0
  11. package/dist/_virtual/___vite-browser-external.js +6 -0
  12. package/dist/_virtual/__vite-browser-external.js +4 -0
  13. package/dist/_virtual/_commonjsHelpers.js +31 -0
  14. package/dist/_virtual/index.js +5 -0
  15. package/dist/_virtual/index2.js +4 -0
  16. package/dist/_virtual/index3.js +7 -0
  17. package/dist/assets/icons/add-child.svg.js +5 -0
  18. package/dist/assets/icons/add-sibling.svg.js +5 -0
  19. package/dist/assets/icons/copy-to.svg.js +5 -0
  20. package/dist/assets/icons/file/c.svg.js +5 -0
  21. package/dist/assets/icons/file/cpp.svg.js +5 -0
  22. package/dist/assets/icons/file/cs.svg.js +5 -0
  23. package/dist/assets/icons/file/ini.svg.js +5 -0
  24. package/dist/assets/icons/file/json.svg.js +5 -0
  25. package/dist/assets/icons/file/md.svg.js +5 -0
  26. package/dist/assets/icons/file/py.svg.js +5 -0
  27. package/dist/assets/icons/loader.svg.js +5 -0
  28. package/dist/assets/icons/move-to.svg.js +5 -0
  29. package/dist/assets/icons/open-popup.svg.js +5 -0
  30. package/dist/assets/icons/unshare.svg.js +5 -0
  31. package/dist/components/Accordion/Accordion.js +70 -0
  32. package/dist/components/Analytics/Bar/Bar.js +80 -0
  33. package/dist/components/Analytics/Bar/utils.js +24 -0
  34. package/dist/components/Analytics/BarGroup/BarGroup.js +140 -0
  35. package/dist/components/Analytics/Card/Card.js +87 -0
  36. package/dist/components/Analytics/ErrorTag/ErrorTag.js +19 -0
  37. package/dist/components/Analytics/Histogram/Histogram.js +200 -0
  38. package/dist/components/Analytics/Histogram/utils.js +45 -0
  39. package/dist/components/AutocompleteInput/AutocompleteInputValue.js +21 -0
  40. package/dist/components/Breadcrumb/Breadcrumb.js +126 -0
  41. package/dist/components/Breadcrumb/BreadcrumbItem.js +83 -0
  42. package/dist/components/Breadcrumb/constants.js +20 -0
  43. package/dist/components/Button/Button.js +53 -0
  44. package/dist/components/Button/ButtonWrappers.js +40 -0
  45. package/dist/components/Button/constants.js +29 -0
  46. package/dist/components/Button/utils.js +11 -0
  47. package/dist/components/ButtonDropdown/ButtonDropdown.js +33 -0
  48. package/dist/components/ButtonDropdown/constants.js +8 -0
  49. package/dist/components/CaptionText/CaptionText.js +27 -0
  50. package/dist/components/Checkbox/Checkbox.js +64 -0
  51. package/dist/components/Checkbox/constants.js +4 -0
  52. package/dist/components/CloseButton/CloseButton.js +27 -0
  53. package/dist/components/CollapsibleSidebar/CollapsibleSidebar.js +84 -0
  54. package/dist/components/ConfirmationPopup/ConfirmationPopup.js +75 -0
  55. package/dist/components/ConfirmationPopup/constants.js +32 -0
  56. package/dist/components/DraggableItem/DraggableItem.js +61 -0
  57. package/dist/components/DraggableItem/constants.js +6 -0
  58. package/dist/components/Dropdown/Dropdown.js +293 -0
  59. package/dist/components/Dropdown/DropdownSubMenuItem.js +121 -0
  60. package/dist/components/Dropdown/constants.js +24 -0
  61. package/dist/components/DropdownIcon/DropdownIcon.js +92 -0
  62. package/dist/components/EllipsisTooltip/EllipsisTooltip.js +75 -0
  63. package/dist/components/EllipsisTooltip/constants.js +4 -0
  64. package/dist/components/FabButton/FabButton.js +35 -0
  65. package/dist/components/FileIcon/FileIcon.js +37 -0
  66. package/dist/components/FileIcon/constants.js +60 -0
  67. package/dist/components/FileManager/FileManager.js +887 -0
  68. package/dist/components/FileManager/FileManagerContext.js +5 -0
  69. package/dist/components/FileManager/FileManagerProvider.js +770 -0
  70. package/dist/components/FileManager/FileManagerTooltip.js +92 -0
  71. package/dist/components/FileManager/components/ConflictResolutionPopup/ConflictResolutionPopup.js +293 -0
  72. package/dist/components/FileManager/components/DestinationFolderPopup/DestinationFolderPopup.js +194 -0
  73. package/dist/components/FileManager/components/DialFileManagerItemSummaryCell/DialFileManagerItemSummaryCell.js +52 -0
  74. package/dist/components/FileManager/components/FileManagerBulkActionsToolbar/FileManagerBulkActionsToolbar.js +103 -0
  75. package/dist/components/FileManager/components/FileManagerBulkActionsToolbar/constants.js +5 -0
  76. package/dist/components/FileManager/components/FileManagerDeleteConfirmationPopup/FileManagerDeleteConfirmationPopup.js +56 -0
  77. package/dist/components/FileManager/components/FileManagerItemIcon/FileManagerItemIcon.js +69 -0
  78. package/dist/components/FileManager/components/FileManagerItemName/FileManagerItemName.js +100 -0
  79. package/dist/components/FileManager/components/FileManagerItemNameInput/FileManagerItemNameInput.js +93 -0
  80. package/dist/components/FileManager/components/FileManagerNavigationPanel/FileManagerNavigationPanel.js +165 -0
  81. package/dist/components/FileManager/components/FileManagerNavigationPanel/constants.js +6 -0
  82. package/dist/components/FileManager/components/FileManagerToolbar/DialFileManagerToolbar.js +120 -0
  83. package/dist/components/FileManager/components/FileMetadataPopup/FileMetadataPopup.js +119 -0
  84. package/dist/components/FileManager/components/FileMetadataPopup/constants.js +9 -0
  85. package/dist/components/FileManager/components/FoldersTree/FoldersTree.js +180 -0
  86. package/dist/components/FileManager/components/FoldersTree/constants.js +9 -0
  87. package/dist/components/FileManager/components/FoldersTree/hooks/use-expanded-paths.js +51 -0
  88. package/dist/components/FileManager/constants.js +28 -0
  89. package/dist/components/FileManager/errors.js +10 -0
  90. package/dist/components/FileManager/hooks/use-bulk-actions.js +143 -0
  91. package/dist/components/FileManager/hooks/use-collapse-tree.js +22 -0
  92. package/dist/components/FileManager/hooks/use-conflict-resolution.js +158 -0
  93. package/dist/components/FileManager/hooks/use-current-path.js +29 -0
  94. package/dist/components/FileManager/hooks/use-file-clipboard.js +154 -0
  95. package/dist/components/FileManager/hooks/use-file-delete.js +39 -0
  96. package/dist/components/FileManager/hooks/use-file-download.js +16 -0
  97. package/dist/components/FileManager/hooks/use-file-manager-columns.js +106 -0
  98. package/dist/components/FileManager/hooks/use-file-manager-context.js +13 -0
  99. package/dist/components/FileManager/hooks/use-file-manager-tabs.js +23 -0
  100. package/dist/components/FileManager/hooks/use-file-metadata.js +20 -0
  101. package/dist/components/FileManager/hooks/use-file-search.js +90 -0
  102. package/dist/components/FileManager/hooks/use-file-upload.js +338 -0
  103. package/dist/components/FileManager/hooks/use-folder-creation.js +151 -0
  104. package/dist/components/FileManager/hooks/use-grid-actions-column.js +65 -0
  105. package/dist/components/FileManager/hooks/use-grid-context-menu.js +188 -0
  106. package/dist/components/FileManager/hooks/use-item-renaming.js +124 -0
  107. package/dist/components/FileManager/hooks/use-new-actions.js +67 -0
  108. package/dist/components/FileManager/hooks/use-paths-selection.js +28 -0
  109. package/dist/components/FileManager/hooks/use-show-hidden-files.js +20 -0
  110. package/dist/components/FileManager/hooks/use-tree-additional-buttons.js +39 -0
  111. package/dist/components/FileManager/hooks/use-trigger-view-create-folder.js +42 -0
  112. package/dist/components/FileManager/hooks/use-trigger-view-rename.js +25 -0
  113. package/dist/components/FileManager/utils.js +121 -0
  114. package/dist/components/FileName/FileName.js +68 -0
  115. package/dist/components/FolderName/FolderName.js +57 -0
  116. package/dist/components/FormItem/FormItem.js +90 -0
  117. package/dist/components/FormItem/constants.js +9 -0
  118. package/dist/components/FormPopup/FormPopup.js +59 -0
  119. package/dist/components/FormPopup/constants.js +6 -0
  120. package/dist/components/Grid/Grid.js +333 -0
  121. package/dist/components/Grid/constants.js +33 -0
  122. package/dist/components/Grid/renderers/DateCellRenderer.js +27 -0
  123. package/dist/components/Grid/renderers/constants.js +25 -0
  124. package/dist/components/Icon/Icon.js +6 -0
  125. package/dist/components/IconButton/IconButton.js +40 -0
  126. package/dist/components/IconButton/IconButtonWrappers.js +48 -0
  127. package/dist/components/InfoButton/InfoButton.js +32 -0
  128. package/dist/components/InfoButton/constants.js +4 -0
  129. package/dist/components/Input/Button/InputButton.js +37 -0
  130. package/dist/components/Input/Button/constants.js +4 -0
  131. package/dist/components/Input/Input.js +120 -0
  132. package/dist/components/Input/utils.js +37 -0
  133. package/dist/components/InputPopup/InputPopup.js +174 -0
  134. package/dist/components/JsonEditor/JsonEditor.js +64 -0
  135. package/dist/components/JsonEditor/lazy.js +4 -0
  136. package/dist/components/Label/Label.js +27 -0
  137. package/dist/components/LabelledText/LabelledText.js +37 -0
  138. package/dist/components/LoadFileArea/EmptyFileArea.js +130 -0
  139. package/dist/components/LoadFileArea/FilledDropZone.js +80 -0
  140. package/dist/components/LoadFileArea/FilledInput.js +29 -0
  141. package/dist/components/LoadFileArea/LoadFileArea.js +70 -0
  142. package/dist/components/LoadFileArea/LoadFileAreaField.js +128 -0
  143. package/dist/components/Loader/Loader.js +40 -0
  144. package/dist/components/Loader/constants.js +5 -0
  145. package/dist/components/MarkdownEditor/MarkdownEditor.js +37 -0
  146. package/dist/components/MarkdownEditor/MarkdownEditorContainer.js +82 -0
  147. package/dist/components/MarkdownEditor/lazy.js +4 -0
  148. package/dist/components/New/Accordion/Accordion.js +103 -0
  149. package/dist/components/New/Button/Button.js +76 -0
  150. package/dist/components/New/Button/ButtonWrappers.js +44 -0
  151. package/dist/components/New/Button/constants.js +27 -0
  152. package/dist/components/New/Button/utils.js +11 -0
  153. package/dist/components/New/ButtonDropdown/ButtonDropdown.js +28 -0
  154. package/dist/components/New/ButtonDropdown/constants.js +17 -0
  155. package/dist/components/New/Calendar/Calendar.js +343 -0
  156. package/dist/components/New/Calendar/constants.js +57 -0
  157. package/dist/components/New/Calendar/utils.js +77 -0
  158. package/dist/components/New/CaptionText/CaptionText.js +27 -0
  159. package/dist/components/New/CardShell/CardShell.js +22 -0
  160. package/dist/components/New/Checkbox/Checkbox.js +92 -0
  161. package/dist/components/New/Checkbox/CheckboxBox.js +34 -0
  162. package/dist/components/New/Checkbox/constants.js +8 -0
  163. package/dist/components/New/CloseButton/CloseButton.js +33 -0
  164. package/dist/components/New/CollapsibleSidebar/CollapsibleSidebar.js +108 -0
  165. package/dist/components/New/ConfirmationPopup/ConfirmationPopup.js +78 -0
  166. package/dist/components/New/ConfirmationPopup/constants.js +27 -0
  167. package/dist/components/New/Dropdown/Dropdown.js +304 -0
  168. package/dist/components/New/Dropdown/DropdownSubMenuItem.js +85 -0
  169. package/dist/components/New/Dropdown/constants.js +28 -0
  170. package/dist/components/New/Dropdown/item-mark.js +6 -0
  171. package/dist/components/New/EllipsisTooltip/EllipsisTooltip.js +45 -0
  172. package/dist/components/New/EllipsisTooltip/use-truncation.js +18 -0
  173. package/dist/components/New/FileDropzone/FileDropzone.js +135 -0
  174. package/dist/components/New/FolderPath/FolderPath.js +64 -0
  175. package/dist/components/New/Grid/Grid.js +301 -0
  176. package/dist/components/New/Grid/components/SelectionCell.js +50 -0
  177. package/dist/components/New/Grid/components/SelectionHeader.js +46 -0
  178. package/dist/components/New/Grid/constants.js +44 -0
  179. package/dist/components/New/Grid/renderers/DateCellRenderer.js +27 -0
  180. package/dist/components/New/Grid/renderers/constants.js +25 -0
  181. package/dist/components/New/Highlight/Highlight.js +50 -0
  182. package/dist/components/New/IconButton/IconButton.js +46 -0
  183. package/dist/components/New/IconButton/IconButtonWrappers.js +40 -0
  184. package/dist/components/New/InfoButton/InfoButton.js +39 -0
  185. package/dist/components/New/InlineSelect/InlineSelect.js +96 -0
  186. package/dist/components/New/Input/Button/InputButton.js +38 -0
  187. package/dist/components/New/Input/Button/constants.js +4 -0
  188. package/dist/components/New/Input/Input.js +169 -0
  189. package/dist/components/New/Input/utils.js +37 -0
  190. package/dist/components/New/Label/Label.js +42 -0
  191. package/dist/components/New/MarkdownEditor/MarkdownEditor.js +41 -0
  192. package/dist/components/New/MarkdownEditor/constants.js +43 -0
  193. package/dist/components/New/MarkdownEditor/lazy.js +4 -0
  194. package/dist/components/New/MenuItem/MenuItem.js +108 -0
  195. package/dist/components/New/MenuItem/constants.js +16 -0
  196. package/dist/components/New/NoDataContent/NoDataContent.js +54 -0
  197. package/dist/components/New/Notification/Notification.js +67 -0
  198. package/dist/components/New/Notification/NotificationWrapper.js +61 -0
  199. package/dist/components/New/Notification/constants.js +32 -0
  200. package/dist/components/New/NumberInput/NumberInput.js +41 -0
  201. package/dist/components/New/PasswordInput/PasswordInput.js +54 -0
  202. package/dist/components/New/Popup/Popup.js +164 -0
  203. package/dist/components/New/Popup/constants.js +17 -0
  204. package/dist/components/New/Radio/Radio.js +100 -0
  205. package/dist/components/New/RadioGroup/RadioGroup.js +81 -0
  206. package/dist/components/New/RadioGroup/constants.js +11 -0
  207. package/dist/components/New/RadioGroupPopupField/RadioGroupPopupField.js +138 -0
  208. package/dist/components/New/RadioGroupPopupField/constants.js +11 -0
  209. package/dist/components/New/ResizableContainer/ConditionalResizableContainer.js +6 -0
  210. package/dist/components/New/ResizableContainer/ResizableContainer.js +106 -0
  211. package/dist/components/New/ResizableContainer/components/ResizeHandle.js +85 -0
  212. package/dist/components/New/Search/Search.js +74 -0
  213. package/dist/components/New/SegmentedControl/SegmentedControl.js +92 -0
  214. package/dist/components/New/SegmentedControl/constants.js +19 -0
  215. package/dist/components/New/Select/MultiSelectTags.js +23 -0
  216. package/dist/components/New/Select/Select.js +368 -0
  217. package/dist/components/New/Select/SelectSubMenuItem.js +73 -0
  218. package/dist/components/New/Select/constants.js +42 -0
  219. package/dist/components/New/Slider/Slider.js +112 -0
  220. package/dist/components/New/Switch/Switch.js +95 -0
  221. package/dist/components/New/Tabs/Tabs.js +95 -0
  222. package/dist/components/New/Tag/Tag.js +76 -0
  223. package/dist/components/New/Tag/constants.js +17 -0
  224. package/dist/components/New/TagInput/TagInput.js +197 -0
  225. package/dist/components/New/TagInput/utils.js +21 -0
  226. package/dist/components/New/Textarea/Textarea.js +55 -0
  227. package/dist/components/New/ThemeScope/ThemeScope.js +14 -0
  228. package/dist/components/New/ToggleIconButton/ToggleIconButton.js +54 -0
  229. package/dist/components/New/Tooltip/Tooltip.js +19 -0
  230. package/dist/components/New/Tooltip/TooltipContainer.js +12 -0
  231. package/dist/components/New/Tooltip/TooltipContent.js +45 -0
  232. package/dist/components/New/Tooltip/TooltipContext.js +67 -0
  233. package/dist/components/New/Tooltip/TooltipTrigger.js +45 -0
  234. package/dist/components/New/Tooltip/constants.js +8 -0
  235. package/dist/components/New/constants/icon.js +4 -0
  236. package/dist/components/New/constants/overlay.js +27 -0
  237. package/dist/components/NoDataContent/NoDataContent.js +45 -0
  238. package/dist/components/Notification/Notification.js +67 -0
  239. package/dist/components/Notification/constants.js +24 -0
  240. package/dist/components/NumberInput/NumberInput.js +41 -0
  241. package/dist/components/Pagination/Pagination.js +80 -0
  242. package/dist/components/Pagination/utils.js +10 -0
  243. package/dist/components/PasswordInput/Icons/HideIcon.js +16 -0
  244. package/dist/components/PasswordInput/Icons/ShowIcon.js +16 -0
  245. package/dist/components/PasswordInput/PasswordInput.js +21 -0
  246. package/dist/components/Popup/Popup.js +110 -0
  247. package/dist/components/Popup/constants.js +12 -0
  248. package/dist/components/ProgressBar/ProgressBar.js +58 -0
  249. package/dist/components/RadioButton/RadioButton.js +103 -0
  250. package/dist/components/RadioGroup/RadioGroup.js +92 -0
  251. package/dist/components/RadioGroup/constants.js +10 -0
  252. package/dist/components/RadioGroupPopupField/RadioGroupPopupField.js +101 -0
  253. package/dist/components/RemoveButton/RemoveButton.js +30 -0
  254. package/dist/components/ResizableContainer/ConditionalResizableContainer.js +6 -0
  255. package/dist/components/ResizableContainer/ResizableContainer.js +79 -0
  256. package/dist/components/ResizableContainer/components/ResizeHandle.js +20 -0
  257. package/dist/components/ResizableContainer/components/ResizeIcon.js +11 -0
  258. package/dist/components/SchemaRenderer/SchemaRenderer.js +150 -0
  259. package/dist/components/SchemaRenderer/components/SchemaAdditionalPropertiesEditor.js +41 -0
  260. package/dist/components/SchemaRenderer/components/SchemaAnyOfEditor.js +74 -0
  261. package/dist/components/SchemaRenderer/components/SchemaArrayEditor.js +118 -0
  262. package/dist/components/SchemaRenderer/components/SchemaField.js +78 -0
  263. package/dist/components/SchemaRenderer/components/SchemaFieldContent.js +114 -0
  264. package/dist/components/SchemaRenderer/components/SchemaKeyValueEditor.js +184 -0
  265. package/dist/components/SchemaRenderer/components/SchemaObjectEditor.js +36 -0
  266. package/dist/components/SchemaRenderer/components/SchemaOneOfEditor.js +192 -0
  267. package/dist/components/SchemaRenderer/components/SchemaPrimitiveField.js +161 -0
  268. package/dist/components/SchemaRenderer/components/SchemaSection.js +81 -0
  269. package/dist/components/SchemaRenderer/context.js +12 -0
  270. package/dist/components/SchemaRenderer/types.js +27 -0
  271. package/dist/components/SchemaRenderer/utils.js +258 -0
  272. package/dist/components/Search/Search.js +63 -0
  273. package/dist/components/Search/constants.js +27 -0
  274. package/dist/components/SegmentedControl/SegmentedControl.js +87 -0
  275. package/dist/components/SegmentedControl/constants.js +8 -0
  276. package/dist/components/Select/MultiSelectTags.js +23 -0
  277. package/dist/components/Select/Select.js +435 -0
  278. package/dist/components/Select/SelectSubMenuItem.js +90 -0
  279. package/dist/components/Select/constants.js +15 -0
  280. package/dist/components/SelectField/SelectField.js +66 -0
  281. package/dist/components/SharedEntityIndicator/SharedEntityIndicator.js +34 -0
  282. package/dist/components/Skeleton/Skeleton.js +90 -0
  283. package/dist/components/Skeleton/utils.js +16 -0
  284. package/dist/components/Slider/Slider.js +158 -0
  285. package/dist/components/Spinner/Spinner.js +30 -0
  286. package/dist/components/Steps/Step.js +34 -0
  287. package/dist/components/Steps/Steps.js +27 -0
  288. package/dist/components/Steps/utils.js +42 -0
  289. package/dist/components/Switch/Switch.js +70 -0
  290. package/dist/components/Tab/Tab.js +65 -0
  291. package/dist/components/Tabs/Tabs.js +213 -0
  292. package/dist/components/Tabs/constants.js +4 -0
  293. package/dist/components/Tag/Tag.js +37 -0
  294. package/dist/components/TagInput/TagInput.js +179 -0
  295. package/dist/components/Textarea/Textarea.js +43 -0
  296. package/dist/components/Tooltip/Tooltip.js +30 -0
  297. package/dist/components/Tooltip/TooltipContainer.js +12 -0
  298. package/dist/components/Tooltip/TooltipContent.js +40 -0
  299. package/dist/components/Tooltip/TooltipContext.js +66 -0
  300. package/dist/components/Tooltip/TooltipTrigger.js +33 -0
  301. package/dist/components-manifest.json +1179 -171
  302. package/dist/{JsonEditor-CFkmn69x.js → constants/editor.js} +5 -63
  303. package/dist/constants/file-grid-columns.js +176 -0
  304. package/dist/constants/icon.js +10 -0
  305. package/dist/constants/validation.js +11 -0
  306. package/dist/dial-ui-kit.cjs +2 -0
  307. package/dist/dial-ui-kit.js +414 -0
  308. package/dist/editor-BKQqPhwX.cjs +1 -0
  309. package/dist/editors.cjs +1 -0
  310. package/dist/editors.js +12 -0
  311. package/dist/file-manager.cjs +1 -0
  312. package/dist/file-manager.js +22 -0
  313. package/dist/grid.cjs +1 -0
  314. package/dist/grid.js +30 -0
  315. package/dist/hooks/use-editable-item.js +94 -0
  316. package/dist/hooks/use-flexible-actions.js +72 -0
  317. package/dist/hooks/use-has-hover.js +17 -0
  318. package/dist/hooks/use-is-mobile-screen.js +12 -0
  319. package/dist/hooks/use-is-tablet-screen.js +12 -0
  320. package/dist/hooks/use-screen-type.js +14 -0
  321. package/dist/hooks/use-width-breakpoint.js +15 -0
  322. package/dist/icon-CrGVkVpG.cjs +1 -0
  323. package/dist/icon-DhjrDQ8I.cjs +1 -0
  324. package/dist/index.css +2 -2
  325. package/dist/lazy-CJ-0Pjkj.cjs +1 -0
  326. package/dist/merge-classes-Dipy1Ih1.cjs +1 -0
  327. package/dist/migration-guides/0.14.0/button-tooltip-2-0.md +111 -0
  328. package/dist/migration-guides/0.14.0/select-multiselect-option-row.md +99 -0
  329. package/dist/migration-guides/0.14.0/shadow-token-per-step-rename.md +139 -0
  330. package/dist/migration-guides/0.14.0/tag-single-size.md +121 -0
  331. package/dist/migration-guides/README.md +4 -0
  332. package/dist/models/file.js +6 -0
  333. package/dist/models/selection-mode.js +4 -0
  334. package/dist/models/step.js +4 -0
  335. package/dist/node_modules/@react-dnd/asap/dist/AsapQueue.js +39 -0
  336. package/dist/node_modules/@react-dnd/asap/dist/RawTask.js +17 -0
  337. package/dist/node_modules/@react-dnd/asap/dist/TaskFactory.js +16 -0
  338. package/dist/node_modules/@react-dnd/asap/dist/asap.js +9 -0
  339. package/dist/node_modules/@react-dnd/asap/dist/makeRequestCall.js +62 -0
  340. package/dist/node_modules/@react-dnd/invariant/dist/index.js +22 -0
  341. package/dist/node_modules/@react-dnd/shallowequal/dist/index.js +25 -0
  342. package/dist/node_modules/ag-grid-community/dist/package/main.esm.js +39799 -0
  343. package/dist/node_modules/ag-grid-react/dist/package/index.esm.js +1989 -0
  344. package/dist/node_modules/dnd-core/dist/actions/dragDrop/beginDrag.js +70 -0
  345. package/dist/node_modules/dnd-core/dist/actions/dragDrop/drop.js +54 -0
  346. package/dist/node_modules/dnd-core/dist/actions/dragDrop/endDrag.js +18 -0
  347. package/dist/node_modules/dnd-core/dist/actions/dragDrop/hover.js +42 -0
  348. package/dist/node_modules/dnd-core/dist/actions/dragDrop/index.js +17 -0
  349. package/dist/node_modules/dnd-core/dist/actions/dragDrop/local/setClientOffset.js +13 -0
  350. package/dist/node_modules/dnd-core/dist/actions/dragDrop/publishDragSource.js +12 -0
  351. package/dist/node_modules/dnd-core/dist/actions/dragDrop/types.js +9 -0
  352. package/dist/node_modules/dnd-core/dist/actions/registry.js +43 -0
  353. package/dist/node_modules/dnd-core/dist/classes/DragDropManagerImpl.js +41 -0
  354. package/dist/node_modules/dnd-core/dist/classes/DragDropMonitorImpl.js +115 -0
  355. package/dist/node_modules/dnd-core/dist/classes/HandlerRegistryImpl.js +96 -0
  356. package/dist/node_modules/dnd-core/dist/contracts.js +21 -0
  357. package/dist/node_modules/dnd-core/dist/createDragDropManager.js +19 -0
  358. package/dist/node_modules/dnd-core/dist/interfaces.js +7 -0
  359. package/dist/node_modules/dnd-core/dist/reducers/dirtyHandlerIds.js +30 -0
  360. package/dist/node_modules/dnd-core/dist/reducers/dragOffset.js +50 -0
  361. package/dist/node_modules/dnd-core/dist/reducers/dragOperation.js +78 -0
  362. package/dist/node_modules/dnd-core/dist/reducers/index.js +42 -0
  363. package/dist/node_modules/dnd-core/dist/reducers/refCount.js +16 -0
  364. package/dist/node_modules/dnd-core/dist/reducers/stateId.js +6 -0
  365. package/dist/node_modules/dnd-core/dist/utils/coords.js +26 -0
  366. package/dist/node_modules/dnd-core/dist/utils/dirtiness.js +12 -0
  367. package/dist/node_modules/dnd-core/dist/utils/equality.js +17 -0
  368. package/dist/node_modules/dnd-core/dist/utils/getNextUniqueId.js +7 -0
  369. package/dist/node_modules/dnd-core/dist/utils/js_utils.js +36 -0
  370. package/dist/node_modules/dnd-core/dist/utils/matchesType.js +8 -0
  371. package/dist/node_modules/fast-deep-equal/index.js +31 -0
  372. package/dist/node_modules/mime-db/db.json.js +2527 -0
  373. package/dist/node_modules/mime-db/index.js +8 -0
  374. package/dist/node_modules/mime-types/index.js +70 -0
  375. package/dist/node_modules/mime-types/mimeScore.js +38 -0
  376. package/dist/node_modules/re-resizable/lib/index.js +424 -0
  377. package/dist/node_modules/re-resizable/lib/resizer.js +49 -0
  378. package/dist/node_modules/react-dnd/dist/core/DndContext.js +7 -0
  379. package/dist/node_modules/react-dnd/dist/core/DndProvider.js +66 -0
  380. package/dist/node_modules/react-dnd/dist/hooks/useCollectedProps.js +11 -0
  381. package/dist/node_modules/react-dnd/dist/hooks/useCollector.js +22 -0
  382. package/dist/node_modules/react-dnd/dist/hooks/useDrag/DragSourceImpl.js +25 -0
  383. package/dist/node_modules/react-dnd/dist/hooks/useDrag/connectors.js +21 -0
  384. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDrag.js +20 -0
  385. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSource.js +19 -0
  386. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceConnector.js +22 -0
  387. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceMonitor.js +15 -0
  388. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragType.js +13 -0
  389. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useRegisteredDragSource.js +23 -0
  390. package/dist/node_modules/react-dnd/dist/hooks/useDragDropManager.js +10 -0
  391. package/dist/node_modules/react-dnd/dist/hooks/useDrop/DropTargetImpl.js +21 -0
  392. package/dist/node_modules/react-dnd/dist/hooks/useDrop/connectors.js +12 -0
  393. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useAccept.js +13 -0
  394. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDrop.js +16 -0
  395. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDropTarget.js +18 -0
  396. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDropTargetConnector.js +18 -0
  397. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDropTargetMonitor.js +15 -0
  398. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useRegisteredDropTarget.js +23 -0
  399. package/dist/node_modules/react-dnd/dist/hooks/useIsomorphicLayoutEffect.js +5 -0
  400. package/dist/node_modules/react-dnd/dist/hooks/useMonitorOutput.js +20 -0
  401. package/dist/node_modules/react-dnd/dist/hooks/useOptionalFactory.js +10 -0
  402. package/dist/node_modules/react-dnd/dist/internals/DragSourceMonitorImpl.js +88 -0
  403. package/dist/node_modules/react-dnd/dist/internals/DropTargetMonitorImpl.js +59 -0
  404. package/dist/node_modules/react-dnd/dist/internals/SourceConnector.js +87 -0
  405. package/dist/node_modules/react-dnd/dist/internals/TargetConnector.js +57 -0
  406. package/dist/node_modules/react-dnd/dist/internals/isRef.js +9 -0
  407. package/dist/node_modules/react-dnd/dist/internals/registration.js +18 -0
  408. package/dist/node_modules/react-dnd/dist/internals/wrapConnectorHooks.js +46 -0
  409. package/dist/node_modules/react-dnd-html5-backend/dist/BrowserDetector.js +10 -0
  410. package/dist/node_modules/react-dnd-html5-backend/dist/EnterLeaveCounter.js +22 -0
  411. package/dist/node_modules/react-dnd-html5-backend/dist/HTML5BackendImpl.js +274 -0
  412. package/dist/node_modules/react-dnd-html5-backend/dist/MonotonicInterpolant.js +59 -0
  413. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/NativeDragSource.js +43 -0
  414. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/getDataFromDataTransfer.js +10 -0
  415. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/index.js +24 -0
  416. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/nativeTypesConfig.js +48 -0
  417. package/dist/node_modules/react-dnd-html5-backend/dist/NativeTypes.js +7 -0
  418. package/dist/node_modules/react-dnd-html5-backend/dist/OffsetUtils.js +70 -0
  419. package/dist/node_modules/react-dnd-html5-backend/dist/OptionsReader.js +22 -0
  420. package/dist/node_modules/react-dnd-html5-backend/dist/index.js +7 -0
  421. package/dist/node_modules/react-dnd-html5-backend/dist/utils/js_utils.js +22 -0
  422. package/dist/node_modules/redux/es/redux.js +158 -0
  423. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +2924 -0
  424. package/dist/src/components/FileManager/hooks/use-file-upload.d.ts +4 -2
  425. package/dist/src/components/Grid/comparators/base-column-comparator.d.ts +1 -4
  426. package/dist/src/components/Grid/renderers/utils.d.ts +1 -2
  427. package/dist/src/components/JsonEditor/lazy.d.ts +14 -0
  428. package/dist/src/components/MarkdownEditor/lazy.d.ts +7 -0
  429. package/dist/src/components/New/Button/Button.d.ts +4 -3
  430. package/dist/src/components/New/Checkbox/Checkbox.d.ts +4 -0
  431. package/dist/src/components/New/Checkbox/CheckboxBox.d.ts +30 -0
  432. package/dist/src/components/New/CollapsibleSidebar/CollapsibleSidebar.d.ts +82 -0
  433. package/dist/src/components/New/Dropdown/Dropdown.d.ts +10 -0
  434. package/dist/src/components/New/Dropdown/constants.d.ts +5 -2
  435. package/dist/src/components/New/Dropdown/item-mark.d.ts +15 -0
  436. package/dist/src/components/New/EllipsisTooltip/EllipsisTooltip.d.ts +1 -1
  437. package/dist/src/components/New/EllipsisTooltip/use-truncation.d.ts +5 -0
  438. package/dist/src/components/New/Grid/Grid.d.ts +124 -0
  439. package/dist/src/components/New/Grid/components/SelectionCell.d.ts +21 -0
  440. package/dist/src/components/New/Grid/components/SelectionHeader.d.ts +14 -0
  441. package/dist/src/components/New/Grid/constants.d.ts +61 -0
  442. package/dist/src/components/New/Grid/renderers/DateCellRenderer.d.ts +48 -0
  443. package/dist/src/components/New/Grid/renderers/constants.d.ts +5 -0
  444. package/dist/src/components/New/IconButton/IconButton.d.ts +4 -4
  445. package/dist/src/components/New/MarkdownEditor/MarkdownEditor.d.ts +6 -0
  446. package/dist/src/components/New/MarkdownEditor/lazy.d.ts +7 -0
  447. package/dist/src/components/New/MenuItem/MenuItem.d.ts +68 -0
  448. package/dist/src/components/New/MenuItem/constants.d.ts +5 -0
  449. package/dist/src/components/New/NoDataContent/NoDataContent.d.ts +48 -0
  450. package/dist/src/components/New/Popup/Popup.d.ts +48 -9
  451. package/dist/src/components/New/Popup/constants.d.ts +7 -0
  452. package/dist/src/components/New/ResizableContainer/ConditionalResizableContainer.d.ts +34 -0
  453. package/dist/src/components/New/ResizableContainer/ResizableContainer.d.ts +77 -0
  454. package/dist/src/components/New/ResizableContainer/components/ResizeHandle.d.ts +21 -0
  455. package/dist/src/components/New/SegmentedControl/constants.d.ts +2 -2
  456. package/dist/src/components/New/Select/Select.d.ts +14 -2
  457. package/dist/src/components/New/Select/SelectSubMenuItem.d.ts +3 -0
  458. package/dist/src/components/New/Select/constants.d.ts +12 -5
  459. package/dist/src/components/New/Slider/Slider.d.ts +70 -0
  460. package/dist/src/components/New/Tag/Tag.d.ts +26 -4
  461. package/dist/src/components/New/Tag/constants.d.ts +23 -0
  462. package/dist/src/components/New/Textarea/Textarea.d.ts +8 -2
  463. package/dist/src/components/New/ThemeScope/ThemeScope.d.ts +46 -0
  464. package/dist/src/components/New/Tooltip/Tooltip.d.ts +1 -1
  465. package/dist/src/components/New/Tooltip/TooltipContent.d.ts +4 -3
  466. package/dist/src/components/New/Tooltip/constants.d.ts +15 -1
  467. package/dist/src/components/New/constants/icon.d.ts +22 -0
  468. package/dist/src/components/New/constants/overlay.d.ts +19 -3
  469. package/dist/src/components/Tooltip/TooltipContent.d.ts +4 -0
  470. package/dist/src/hooks/use-has-hover.d.ts +20 -0
  471. package/dist/src/index.d.ts +31 -4
  472. package/dist/src/models/dropdown.d.ts +26 -0
  473. package/dist/src/models/select.d.ts +6 -0
  474. package/dist/src/subpaths/editors.d.ts +22 -0
  475. package/dist/src/subpaths/file-manager.d.ts +21 -0
  476. package/dist/src/subpaths/grid.d.ts +25 -0
  477. package/dist/src/types/menu-item.d.ts +21 -0
  478. package/dist/src/types/tag.d.ts +4 -0
  479. package/dist/src/utils/__tests__/element-size-observer.spec.d.ts +1 -0
  480. package/dist/src/utils/__tests__/pointer.spec.d.ts +1 -0
  481. package/dist/src/utils/element-size-observer.d.ts +26 -0
  482. package/dist/src/utils/grid-comparators.d.ts +4 -0
  483. package/dist/src/utils/grid-date.d.ts +7 -0
  484. package/dist/src/utils/grid-registration.d.ts +16 -0
  485. package/dist/src/utils/grid-registration.spec.d.ts +1 -0
  486. package/dist/src/utils/pointer.d.ts +29 -0
  487. package/dist/types/analytics.js +4 -0
  488. package/dist/types/button.js +5 -0
  489. package/dist/types/calendar.js +4 -0
  490. package/dist/types/caption.js +4 -0
  491. package/dist/types/confirmation-popup.js +4 -0
  492. package/dist/types/dropdown.js +6 -0
  493. package/dist/types/editor.js +4 -0
  494. package/dist/types/file-manager.js +12 -0
  495. package/dist/types/flexible-actions.js +4 -0
  496. package/dist/types/form-item.js +4 -0
  497. package/dist/types/item.js +4 -0
  498. package/dist/types/menu-item.js +4 -0
  499. package/dist/types/notification.js +5 -0
  500. package/dist/types/popup.js +4 -0
  501. package/dist/types/radio-group.js +4 -0
  502. package/dist/types/resizable-container.js +4 -0
  503. package/dist/types/screen.js +4 -0
  504. package/dist/types/select.js +5 -0
  505. package/dist/types/size.js +4 -0
  506. package/dist/types/skeleton.js +6 -0
  507. package/dist/types/tab.js +6 -0
  508. package/dist/types/tag.js +4 -0
  509. package/dist/types/tooltip.js +4 -0
  510. package/dist/use-file-manager-tabs-CIQjiyK-.cjs +3 -0
  511. package/dist/utils/accessible-name.js +6 -0
  512. package/dist/utils/debounce.js +9 -0
  513. package/dist/utils/element-size-observer.js +24 -0
  514. package/dist/utils/file-accept.js +16 -0
  515. package/dist/utils/flat-to-hierarchy-convertor.js +86 -0
  516. package/dist/utils/grid-comparators.js +17 -0
  517. package/dist/utils/grid-date.js +20 -0
  518. package/dist/utils/grid-registration.js +8 -0
  519. package/dist/utils/merge-classes.js +8 -0
  520. package/dist/utils/mobile.js +11 -0
  521. package/dist/utils/path.js +4 -0
  522. package/dist/utils/pointer.js +5 -0
  523. package/dist/utils/sub-menu-floating.js +78 -0
  524. package/package.json +21 -8
  525. package/dist/JsonEditor-CPk58Te4.cjs +0 -1
  526. package/dist/MarkdownEditor-ALJ17x82.js +0 -75
  527. package/dist/MarkdownEditor-CqMQgd-3.js +0 -35
  528. package/dist/MarkdownEditor-Cz2HKRcy.cjs +0 -1
  529. package/dist/MarkdownEditor-DgPlyntV.cjs +0 -1
  530. package/dist/dial-ui-kit.cjs.js +0 -1
  531. package/dist/dial-ui-kit.es.js +0 -218
  532. package/dist/index-BnqboA_3.js +0 -66738
  533. package/dist/index-CBaBO6e_.cjs +0 -71
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.14.0-dev.4",
3
- "generatedAt": "2026-08-23T20:02:20.938Z",
2
+ "version": "0.14.0-dev.40",
3
+ "generatedAt": "2026-09-09T10:20:21.750Z",
4
4
  "kit": {
5
5
  "name": "@epam/ai-dial-ui-kit",
6
6
  "description": "A modern UI kit for building AI DIAL interfaces with React",
@@ -20,8 +20,8 @@
20
20
  },
21
21
  "setupNotes": "## Next.js Integration\n1. Install the package and peer dependencies that are not currently in your project\n``` bash\nnpm install @epam/ai-dial-ui-kit\nnpm install react react-dom @tabler/icons-react classnames\nnpm install @floating-ui/react monaco-editor @monaco-editor/react\n```\n\n2. Import style in the root layout of the project:\n\n```tsx\n// app/layout.tsx\nimport \"@epam/ai-dial-ui-kit/styles.css\";\n```\n\n3. Usage example\n\n```tsx\n// app/page.tsx\n\"use client\";\nimport { DialPrimaryButton } from \"@epam/ai-dial-ui-kit\";\n\nexport default function Home() {\n return (\n <div className=\"w-full h-full flex flex-col gap-3 items-center justify-center\">\n <h1>Test library</h1>\n <DialPrimaryButton onClick={() => alert('Hello AI DIAL!')} />\n </div>\n );\n}\n```\nSee \"🎨 Theming & Customization\" section in README."
22
22
  },
23
- "styles": "# Typography CSS Utility Classes\n\n## Design-system-compliant classes (`dial-*-text`)\n\nUse these by default. They follow the design system type scale.\n\n| Class | Design name | Weight | Size / Line-height |\n| --------------------------------- | --------------------------- | -------- | ----------------------------------- |\n| `.dial-display1-text` | Display 1 | semibold | 32px / 48px |\n| `.dial-display2-text` | Display 2 | semibold | 28px / 40px |\n| `.dial-display3-text` | Display 3 | semibold | 22px / 32px |\n| `.dial-h1-text` | Heading 1 | semibold | 20px / 28px |\n| `.dial-h2-text` | Heading 2 | semibold | 18px / 26px |\n| `.dial-h3-text` | Heading 3 | semibold | 16px / 24px |\n| `.dial-body-text` | Body Text | normal | 16px / 24px |\n| `.dial-body-semi-text` | Body Text (Semi Bold) | semibold | 16px / 24px |\n| `.dial-body-paragraph-text` | Body Paragraph | normal | 16px / 26px |\n| `.dial-body-paragraph-semi-text` | Body Paragraph (Semi Bold) | semibold | 16px / 26px |\n| `.dial-small-text` | Small Text | normal | 14px / 20px |\n| `.dial-small-semi-text` | Small Text (Semi Bold) | semibold | 14px / 20px |\n| `.dial-small-paragraph-text` | Small Paragraph | normal | 14px / 24px |\n| `.dial-small-paragraph-semi-text` | Small Paragraph (Semi Bold) | semibold | 14px / 24px |\n| `.dial-tiny-text` | Tiny Text | normal | 12px / 16px |\n| `.dial-tiny-lead-text` | Tiny Text Lead | normal | 12px / 16px (+0.03em, uppercase) |\n| `.dial-tiny-semi-text` | Tiny Text (Semi Bold) | semibold | 12px / 16px |\n| `.dial-tiny-lead-semi-text` | Tiny Text Lead (Semi Bold) | semibold | 12px / 16px (+0.03em, uppercase) |\n| `.dial-caption-text` | Caption | normal | 10px / 12px |\n| `.dial-caption-lead-semi-text` | Caption Lead (Semi Bold) | semibold | 10px / 12px (+0.06em, uppercase) |\n| `.dial-code-text` | Code | normal | 14px / 20px (Fira Code / monospace) |\n\nThe three `*-lead-*` classes apply `text-transform: uppercase` themselves — pass them the sentence-case string, not a pre-uppercased one, so the accessible name stays readable.\n\n`.dial-code-text` resolves its family through `var(--theme-font-mono, var(--font-fira-code, 'Fira Code'))` before falling back to the system monospace stack. The kit ships no font file; the host provides the face.\n\n## Legacy classes (avoid in new code)\n\nClasses like `dial-h1`, `dial-h2`, `dial-body`, `dial-small*`, `dial-tiny*`, `dial-caption` are legacy. They can be used in legacy projects if user explicidly specify they need legacy typography.\n\n## Raw SCSS source\n",
24
- "theming": "# Theming & CSS Variable Tokens\n\nAI DIAL UI Kit uses CSS custom properties (variables) for theming.\nDark and light themes are switched by setting different values for these variables on `:root` or a theme wrapper element.\n\n## Usage in Tailwind\n\nThe Tailwind config maps CSS variables to utility classes.\nUse these classes in your components:\n\n```tsx\n// Backgrounds\n<div className=\"bg-layer-0\" /> // darkest background\n<div className=\"bg-layer-1\" /> // main content area\n<div className=\"bg-layer-2\" /> // elevated panels\n\n// Text\n<span className=\"text-primary\" /> // main text color\n<span className=\"text-secondary\" /> // muted text\n<span className=\"text-error\" /> // error state\n\n// Borders\n<div className=\"border border-primary\" /> // standard border\n<div className=\"border border-error\" /> // error border\n```\n\n## Override CSS Variables\n\n```css\n:root {\n --bg-layer-0: #000000;\n --bg-layer-1: #0c101d;\n --bg-layer-2: #161b2d;\n --bg-layer-3: #1d2439;\n --text-primary: #eef1f7;\n --text-secondary: #9fa6bd;\n --text-error: #f76464;\n --stroke-primary: #696e7c;\n --controls-bg-accent-primary: #3664e2;\n /* ... see tailwind.config.js for full list */\n}\n```\n\n## Token Reference\n\n\n### backgroundsColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `layer-sunken` | `var(--bg-layer-sunken)` | `#EEF1F7` |\n| `layer-base` | `var(--bg-layer-base)` | `#F5F7FA` |\n| `layer-raised` | `var(--bg-layer-raised)` | `#FCFCFC` |\n| `gradient-1` | `var(--bg-gradient-1)` | `#1D4ED8` |\n| `gradient-1-hover` | `var(--bg-gradient-1-hover)` | `#6785FB` |\n| `gradient-1-active` | `var(--bg-gradient-1-active)` | `#1D4ED8` |\n| `gradient-2` | `var(--bg-gradient-2)` | `#885DF2` |\n| `gradient-2-hover` | `var(--bg-gradient-2-hover)` | `#885DF2` |\n| `gradient-2-active` | `var(--bg-gradient-2-active)` | `#7C3AED` |\n| `control-accent-alpha` | `var(--bg-control-accent-alpha)` | `#2764D90F` |\n| `control-accent-alpha-hover` | `var(--bg-control-accent-alpha-hover)` | `#2764D924` |\n| `control-accent-alpha-active` | `var(--bg-control-accent-alpha-active)` | `#2764D933` |\n| `control-accent` | `var(--bg-control-accent)` | `#1D4ED8` |\n| `control-accent-hover` | `var(--bg-control-accent-hover)` | `#5976E9` |\n| `control-neutral` | `var(--bg-control-neutral)` | `#FCFCFC` |\n| `control-neutral-hover-strong` | `var(--bg-control-neutral-hover-strong)` | `#848E9C` |\n| `control-neutral-active` | `var(--bg-control-neutral-active)` | `#D1DBEA` |\n| `control-neutral-default` | `var(--bg-control-neutral-default)` | `#ACB3C3` |\n| `control-inverted` | `var(--bg-control-inverted)` | `#57647A` |\n| `control-error` | `var(--bg-control-error)` | `#AE2F2F` |\n| `control-error-hover` | `var(--bg-control-error-hover)` | `#BF3939` |\n| `control-error-active` | `var(--bg-control-error-active)` | `#CC4545` |\n| `control-error-alpha-hover` | `var(--bg-control-error-alpha-hover)` | `#F764641A` |\n| `control-error-alpha-active` | `var(--bg-control-error-alpha-active)` | `#F7646433` |\n| `control-disable-secondary` | `var(--bg-control-disable-secondary)` | `#ACB3C3` |\n| `green-1` | `var(--bg-visual-green-1)` | `#CDE8E5` |\n| `green-2` | `var(--bg-visual-green-2)` | `#D1F0DC` |\n| `violet-1` | `var(--bg-visual-violet-1)` | `#DDE3F9` |\n| `violet-2` | `var(--bg-visual-violet-2)` | `#F1E9FF` |\n\n### borderColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-alpha` | `var(--stroke-accent-alpha)` | `#2764D933` |\n| `gradient-1` | `var(--stroke-gradient-1)` | `#5976E9` |\n| `gradient-2` | `var(--stroke-gradient-2)` | `#885DF2` |\n| `accent-focus` | `var(--stroke-focus-blue)` | `#6785FB` |\n| `error-alpha` | `var(--stroke-error-alpha)` | `#AE2F2F73` |\n\n### textColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `warning-icon` | `var(--text-warning-icon)` | `#EEC840` |\n| `green-1` | `var(--text-visual-green-1)` | `#059669` |\n| `green-2` | `var(--text-visual-green-2)` | `#0D6E72` |\n| `green-3` | `var(--text-visual-green-3)` | `#065F46` |\n| `brown-1` | `var(--text-visual-brown-1)` | `#D36817` |\n| `brown-2` | `var(--text-visual-brown-2)` | `#B45309` |\n| `violet-1` | `var(--text-visual-violet-1)` | `#7C3AED` |\n| `violet-2` | `var(--text-visual-violet-2)` | `#3730B7` |\n| `control-permanent` | `var(--text-control-permanent)` | `#FCFCFC` |\n| `control-inverted` | `var(--text-control-inverted)` | `#FCFCFC` |\n\n### backgroundsColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `layer-0` | `var(--bg-layer-0)` | `#FCFCFC` |\n| `layer-1` | `var(--bg-layer-1)` | `#E0E6F0` |\n| `layer-2` | `var(--bg-layer-2)` | `#EEF1F7` |\n| `layer-3` | `var(--bg-layer-3)` | `#FCFCFC` |\n| `layer-4` | `var(--bg-layer-4)` | `#D1DBEA` |\n| `accent-primary-alpha` | `var(--bg-accent-primary-alpha)` | `#7DA4FF26` |\n| `accent-secondary-alpha` | `var(--bg-accent-secondary-alpha)` | `#37BABC2E` |\n| `accent-tertiary-alpha` | `var(--bg-accent-tertiary-alpha)` | `#A972FF2E` |\n| `accent-primary` | `var(--bg-accent-primary)` | `#5C8DEA` |\n| `accent-secondary` | `var(--bg-accent-secondary)` | `#37BABC` |\n| `red-400` | `var(--bg-red-400)` | `#F76464` |\n| `controls-accent-primary` | `var(--controls-bg-accent-primary)` | `#124ACE` |\n| `controls-accent-primary-hover` | `var(--controls-bg-accent-primary-hover)` | `#2656D9` |\n| `controls-accent-primary-active` | `var(--controls-bg-accent-primary-active)` | `#3664E2` |\n| `controls-accent-primary-alpha-active` | `var(--controls-bg-accent-primary-alpha-active)` | `#7DA4FF5C` |\n| `controls-accent-secondary-alpha-active` | `var(--controls-bg-accent-secondary-alpha-active)` | `#37BABC5C` |\n| `controls-accent-tertiary-alpha-active` | `var(--controls-bg-accent-tertiary-alpha-active)` | `#A972FF5C` |\n| `controls-error` | `var(--controls-bg-error)` | `#AE2F2F` |\n| `controls-error-hover` | `var(--controls-bg-error-hover)` | `#BF3939` |\n| `controls-error-active` | `var(--controls-bg-error-active)` | `#CC4545` |\n| `controls-error-alpha-active` | `var(--controls-bg-error-alpha-active)` | `#F764645C` |\n| `controls-disable-accent` | `var(--controls-bg-disable-accent)` | `#7C8293` |\n| `controls-disable` | `var(--controls-bg-disable)` | `#D1DBEA` |\n| `controls-neutral-hover` | `var(--controls-bg-neutral-hover)` | `#D1DBEA` |\n| `controls-neutral-active` | `var(--controls-bg-neutral-active)` | `#9FA6BD` |\n| `controls-accent-success-alpha-hover` | `var(--controls-bg-accent-success-alpha-hover)` | `#37BABC2E` |\n| `controls-accent-success-alpha-active` | `var(--controls-bg-accent-success-alpha-active)` | `#37BABC5C` |\n| `controls-enable-primary` | `var(--controls-enable-primary)` | `#FCFCFC` |\n\n### borderColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-primary` | `var(--stroke-accent-primary)` | `#124ACE` |\n| `accent-secondary` | `var(--stroke-accent-secondary)` | `#007274` |\n| `controls-accent` | `var(--controls-bg-accent)` | `#5C8DEA` |\n| `red-900` | `var(--red-900)` | `#402027` |\n\n### textColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-primary` | `var(--text-accent-primary)` | `#7DA4FF` |\n| `accent-secondary` | `var(--text-accent-secondary)` | `#37BABC` |\n| `accent-tertiary` | `var(--text-accent-tertiary)` | `#A972FF` |\n| `controls-permanent` | `var(--controls-text-permanent)` | `#FCFCFC` |\n| `controls-accent-disable` | `var(--controls-text-accent-disable)` | `#D1DBEA` |\n| `controls-primary-disable` | `var(--controls-text-primary-disable)` | `#696E7C` |\n| `controls-secondary-disable` | `var(--controls-text-secondary-disable)` | `#9FA6BD` |\n| `controls-neutral` | `var(--controls-text-neutral)` | `#161B2D` |\n| `controls-accent-primary-hover` | `var(--controls-text-accent-primary-hover)` | `#3664E2` |\n| `controls-accent-primary-active` | `var(--controls-text-accent-primary-active)` | `#7DA4FF` |",
23
+ "styles": "# Typography CSS Utility Classes\n\n## Design-system-compliant classes (`dial-*-text`)\n\nUse these by default. They follow the design system type scale.\n\n| Class | Design name | Weight | Size / Line-height |\n| --------------------------------- | --------------------------- | -------- | ----------------------------------- |\n| `.dial-display1-text` | Display 1 | semibold | 32px / 48px |\n| `.dial-display2-text` | Display 2 | semibold | 28px / 40px |\n| `.dial-display3-text` | Display 3 | semibold | 22px / 32px |\n| `.dial-h1-text` | Heading 1 | semibold | 20px / 28px |\n| `.dial-h2-text` | Heading 2 | semibold | 18px / 26px |\n| `.dial-h3-text` | Heading 3 | semibold | 16px / 24px |\n| `.dial-body-text` | Body Text | normal | 16px / 24px |\n| `.dial-body-semi-text` | Body Text (Semi Bold) | semibold | 16px / 24px |\n| `.dial-body-paragraph-text` | Body Paragraph | normal | 16px / 26px |\n| `.dial-body-paragraph-semi-text` | Body Paragraph (Semi Bold) | semibold | 16px / 26px |\n| `.dial-small-text` | Small Text | normal | 14px / 20px |\n| `.dial-small-semi-text` | Small Text (Semi Bold) | semibold | 14px / 20px |\n| `.dial-small-paragraph-text` | Small Paragraph | normal | 14px / 24px |\n| `.dial-small-paragraph-semi-text` | Small Paragraph (Semi Bold) | semibold | 14px / 24px |\n| `.dial-tiny-text` | Tiny Text | normal | 12px / 16px |\n| `.dial-tiny-lead-text` | Tiny Text Lead | normal | 12px / 16px (+0.03em, uppercase) |\n| `.dial-tiny-semi-text` | Tiny Text (Semi Bold) | semibold | 12px / 16px |\n| `.dial-tiny-lead-semi-text` | Tiny Text Lead (Semi Bold) | semibold | 12px / 16px (+0.03em, uppercase) |\n| `.dial-caption-text` | Caption | normal | 10px / 12px |\n| `.dial-caption-lead-semi-text` | Caption Lead (Semi Bold) | semibold | 10px / 12px (+0.06em, uppercase) |\n| `.dial-code-text` | Code | normal | 14px / 20px (Fira Code / monospace) |\n| `.dial-italic-text` | Italic | normal | 18px / 22px (serif, italic) |\n| `.dial-small-italic-text` | Small Italic | normal | 14px / 20px (serif, italic) |\n| `.dial-tiny-italic-text` | Tiny Italic | normal | 12px / 16px (serif, italic) |\n| `.dial-caption-italic-text` | Caption Italic | normal | 10px / 12px (serif, italic) |\n\nThe three `*-lead-*` classes apply `text-transform: uppercase` themselves — pass them the sentence-case string, not a pre-uppercased one, so the accessible name stays readable.\n\n`.dial-code-text` resolves its family through `var(--theme-font-mono, var(--font-fira-code, 'Fira Code'))` before falling back to the system monospace stack. The kit ships no font file; the host provides the face.\n\nThe `*-italic-text` classes use a serif italic face and are intended for mathematical and formula symbols. Their line-heights follow the corresponding typography size; the default 18px variant uses a fixed 22px line-height to keep standalone symbols vertically aligned without changing their container's height.\n\n## Legacy classes (avoid in new code)\n\nClasses like `dial-h1`, `dial-h2`, `dial-body`, `dial-small*`, `dial-tiny*`, `dial-caption` are legacy. They can be used in legacy projects if user explicidly specify they need legacy typography.\n\n## Raw SCSS source\n",
24
+ "theming": "# Theming & CSS Variable Tokens\n\nAI DIAL UI Kit uses CSS custom properties (variables) for theming.\nDark and light themes are switched by setting different values for these variables on `:root` or a theme wrapper element.\n\n## Usage in Tailwind\n\nThe Tailwind config maps CSS variables to utility classes.\nUse these classes in your components:\n\n```tsx\n// Backgrounds\n<div className=\"bg-layer-0\" /> // darkest background\n<div className=\"bg-layer-1\" /> // main content area\n<div className=\"bg-layer-2\" /> // elevated panels\n\n// Text\n<span className=\"text-primary\" /> // main text color\n<span className=\"text-secondary\" /> // muted text\n<span className=\"text-error\" /> // error state\n\n// Borders\n<div className=\"border border-primary\" /> // standard border\n<div className=\"border border-error\" /> // error border\n```\n\n## Override CSS Variables\n\n```css\n:root {\n --bg-layer-0: #000000;\n --bg-layer-1: #0c101d;\n --bg-layer-2: #161b2d;\n --bg-layer-3: #1d2439;\n --text-primary: #eef1f7;\n --text-secondary: #9fa6bd;\n --text-error: #f76464;\n --stroke-primary: #696e7c;\n --controls-bg-accent-primary: #3664e2;\n /* ... see tailwind.config.js for full list */\n}\n```\n\n## Token Reference\n\n\n### backgroundsColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `layer-sunken` | `var(--bg-layer-sunken)` | `#EEF1F7` |\n| `layer-base` | `var(--bg-layer-base)` | `#F5F7FA` |\n| `layer-raised` | `var(--bg-layer-raised)` | `#FCFCFC` |\n| `gradient-1` | `var(--bg-gradient-1)` | `#1D4ED8` |\n| `gradient-1-hover` | `var(--bg-gradient-1-hover)` | `#6785FB` |\n| `gradient-1-active` | `var(--bg-gradient-1-active)` | `#1D4ED8` |\n| `gradient-2` | `var(--bg-gradient-2)` | `#885DF2` |\n| `gradient-2-hover` | `var(--bg-gradient-2-hover)` | `#885DF2` |\n| `gradient-2-active` | `var(--bg-gradient-2-active)` | `#7C3AED` |\n| `control-accent-alpha` | `var(--bg-control-accent-alpha)` | `#2764D90F` |\n| `control-accent-alpha-hover` | `var(--bg-control-accent-alpha-hover)` | `#2764D924` |\n| `control-accent-alpha-active` | `var(--bg-control-accent-alpha-active)` | `#2764D933` |\n| `control-accent` | `var(--bg-control-accent)` | `#1D4ED8` |\n| `control-accent-hover` | `var(--bg-control-accent-hover)` | `#5976E9` |\n| `control-neutral` | `var(--bg-control-neutral)` | `#FCFCFC` |\n| `control-neutral-hover-strong` | `var(--bg-control-neutral-hover-strong)` | `#848E9C` |\n| `control-neutral-active` | `var(--bg-control-neutral-active)` | `#D1DBEA` |\n| `control-neutral-default` | `var(--bg-control-neutral-default)` | `#ACB3C3` |\n| `control-inverted` | `var(--bg-control-inverted)` | `#57647A` |\n| `control-error` | `var(--bg-control-error)` | `#AE2F2F` |\n| `control-error-hover` | `var(--bg-control-error-hover)` | `#BF3939` |\n| `control-error-active` | `var(--bg-control-error-active)` | `#CC4545` |\n| `control-error-alpha-hover` | `var(--bg-control-error-alpha-hover)` | `#F764641A` |\n| `control-error-alpha-active` | `var(--bg-control-error-alpha-active)` | `#F7646433` |\n| `control-disable-primary` | `var(--bg-control-disable-primary)` | `#DCE0E8` |\n| `control-disable-secondary` | `var(--bg-control-disable-secondary)` | `#ACB3C3` |\n| `green-1` | `var(--bg-visual-green-1)` | `#CDE8E5` |\n| `green-2` | `var(--bg-visual-green-2)` | `#D1F0DC` |\n| `violet-1` | `var(--bg-visual-violet-1)` | `#DDE3F9` |\n| `violet-2` | `var(--bg-visual-violet-2)` | `#F1E9FF` |\n\n### shadowColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `xs-1` | `var(--shadow-xs-1)` | `#2764D933` |\n| `xs-2` | `var(--shadow-xs-2)` | `#161B2D08` |\n\n### borderColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-alpha` | `var(--stroke-accent-alpha)` | `#2764D933` |\n| `gradient-1` | `var(--stroke-gradient-1)` | `#5976E9` |\n| `gradient-2` | `var(--stroke-gradient-2)` | `#885DF2` |\n| `accent-focus` | `var(--stroke-accent-focus)` | `#6785FB` |\n| `error-alpha` | `var(--stroke-error-alpha)` | `#AE2F2F73` |\n| `control-disable-primary` | `var(--stroke-control-disable-primary)` | `#848E9C` |\n\n### textColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `warning-icon` | `var(--text-warning-icon)` | `#EEC840` |\n| `green-1` | `var(--text-visual-green-1)` | `#059669` |\n| `green-2` | `var(--text-visual-green-2)` | `#0D6E72` |\n| `green-3` | `var(--text-visual-green-3)` | `#065F46` |\n| `brown-1` | `var(--text-visual-brown-1)` | `#D36817` |\n| `brown-2` | `var(--text-visual-brown-2)` | `#B45309` |\n| `violet-1` | `var(--text-visual-violet-1)` | `#7C3AED` |\n| `violet-2` | `var(--text-visual-violet-2)` | `#3730B7` |\n| `control-permanent` | `var(--text-control-permanent)` | `#FCFCFC` |\n| `control-inverted` | `var(--text-control-inverted)` | `#FCFCFC` |\n| `control-disable-primary` | `var(--text-control-disable-primary)` | `#848E9C` |\n| `control-disable-secondary` | `var(--text-control-disable-secondary)` | `#DCE0E8` |\n| `control-accent-hover` | `var(--text-control-accent-hover)` | `#5976E9` |\n| `control-accent-active` | `var(--text-control-accent-active)` | `#6785FB` |\n\n### backgroundsColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `layer-0` | `var(--bg-layer-0)` | `#FCFCFC` |\n| `layer-1` | `var(--bg-layer-1)` | `#E0E6F0` |\n| `layer-2` | `var(--bg-layer-2)` | `#EEF1F7` |\n| `layer-3` | `var(--bg-layer-3)` | `#FCFCFC` |\n| `layer-4` | `var(--bg-layer-4)` | `#D1DBEA` |\n| `accent-primary-alpha` | `var(--bg-accent-primary-alpha)` | `#7DA4FF26` |\n| `accent-secondary-alpha` | `var(--bg-accent-secondary-alpha)` | `#37BABC2E` |\n| `accent-tertiary-alpha` | `var(--bg-accent-tertiary-alpha)` | `#A972FF2E` |\n| `accent-primary` | `var(--bg-accent-primary)` | `#5C8DEA` |\n| `accent-secondary` | `var(--bg-accent-secondary)` | `#37BABC` |\n| `red-400` | `var(--bg-red-400)` | `#F76464` |\n| `controls-accent-primary` | `var(--controls-bg-accent-primary)` | `#124ACE` |\n| `controls-accent-primary-hover` | `var(--controls-bg-accent-primary-hover)` | `#2656D9` |\n| `controls-accent-primary-active` | `var(--controls-bg-accent-primary-active)` | `#3664E2` |\n| `controls-accent-primary-alpha-active` | `var(--controls-bg-accent-primary-alpha-active)` | `#7DA4FF5C` |\n| `controls-accent-secondary-alpha-active` | `var(--controls-bg-accent-secondary-alpha-active)` | `#37BABC5C` |\n| `controls-accent-tertiary-alpha-active` | `var(--controls-bg-accent-tertiary-alpha-active)` | `#A972FF5C` |\n| `controls-error` | `var(--controls-bg-error)` | `#AE2F2F` |\n| `controls-error-hover` | `var(--controls-bg-error-hover)` | `#BF3939` |\n| `controls-error-active` | `var(--controls-bg-error-active)` | `#CC4545` |\n| `controls-error-alpha-active` | `var(--controls-bg-error-alpha-active)` | `#F764645C` |\n| `controls-disable-accent` | `var(--controls-bg-disable-accent)` | `#7C8293` |\n| `controls-disable` | `var(--controls-bg-disable)` | `#D1DBEA` |\n| `controls-neutral-hover` | `var(--controls-bg-neutral-hover)` | `#D1DBEA` |\n| `controls-neutral-active` | `var(--controls-bg-neutral-active)` | `#9FA6BD` |\n| `controls-accent-success-alpha-hover` | `var(--controls-bg-accent-success-alpha-hover)` | `#37BABC2E` |\n| `controls-accent-success-alpha-active` | `var(--controls-bg-accent-success-alpha-active)` | `#37BABC5C` |\n| `controls-enable-primary` | `var(--controls-enable-primary)` | `#FCFCFC` |\n\n### borderColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-primary` | `var(--stroke-accent-primary)` | `#124ACE` |\n| `accent-secondary` | `var(--stroke-accent-secondary)` | `#007274` |\n| `controls-accent` | `var(--controls-bg-accent)` | `#5C8DEA` |\n| `red-900` | `var(--red-900)` | `#402027` |\n\n### textColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-primary` | `var(--text-accent-primary)` | `#7DA4FF` |\n| `accent-secondary` | `var(--text-accent-secondary)` | `#37BABC` |\n| `accent-tertiary` | `var(--text-accent-tertiary)` | `#A972FF` |\n| `controls-permanent` | `var(--controls-text-permanent)` | `#FCFCFC` |\n| `controls-accent-disable` | `var(--controls-text-accent-disable)` | `#D1DBEA` |\n| `controls-primary-disable` | `var(--controls-text-primary-disable)` | `#696E7C` |\n| `controls-secondary-disable` | `var(--controls-text-secondary-disable)` | `#9FA6BD` |\n| `controls-neutral` | `var(--controls-text-neutral)` | `#161B2D` |\n| `controls-accent-primary-hover` | `var(--controls-text-accent-primary-hover)` | `#3664E2` |\n| `controls-accent-primary-active` | `var(--controls-text-accent-primary-active)` | `#7DA4FF` |",
25
25
  "components": [
26
26
  {
27
27
  "name": "Spinner",
@@ -721,8 +721,9 @@
721
721
  },
722
722
  {
723
723
  "name": "tooltipProps",
724
- "type": "TooltipProps",
725
- "required": false
724
+ "type": "ButtonTooltipProps",
725
+ "required": false,
726
+ "description": "Props of the 2.0 wrapping the button"
726
727
  },
727
728
  {
728
729
  "name": "href",
@@ -783,8 +784,9 @@
783
784
  },
784
785
  {
785
786
  "name": "tooltipProps",
786
- "type": "TooltipProps",
787
- "required": false
787
+ "type": "IconButtonTooltipProps",
788
+ "required": false,
789
+ "description": "Props of the 2.0 wrapping the button"
788
790
  }
789
791
  ],
790
792
  "examples": [
@@ -885,6 +887,18 @@
885
887
  "required": false,
886
888
  "defaultValue": "'edit'",
887
889
  "description": "Initial edit/live/preview mode"
890
+ },
891
+ {
892
+ "name": "id",
893
+ "type": "string",
894
+ "required": false,
895
+ "description": "`id` of the underlying textarea, for a visible `<label htmlFor>`"
896
+ },
897
+ {
898
+ "name": "ariaLabel",
899
+ "type": "string",
900
+ "required": false,
901
+ "description": "Accessible name for the underlying textarea"
888
902
  }
889
903
  ],
890
904
  "examples": [
@@ -992,7 +1006,7 @@
992
1006
  "name": "Select",
993
1007
  "category": "Components_2_0",
994
1008
  "generation": "2.0",
995
- "description": "A versatile select supporting single and multiple selections.\naliases: OptionPicker|ChoiceSelector\nDesign system 2.0\n\nThe field is an , so it carries the 2.0 field styling, sizes,\nlabel, caption and error states, and it exposes the control as a `combobox`\nwhose popup is the option list.\n\nSingle mode:\n- The field shows the selected option's leading icon + label.\n- In the list, the selected option is indicated by a LEFT border, a tinted background\n and a trailing check icon.\n\nMultiple mode uses checkboxes (including Select All with indeterminate state) and\nrenders the selection as removable tags inside the field.\n\nThe field itself is never typeable: `searchable` puts a search field in the overlay\nheader that filters the options.",
1009
+ "description": "A versatile select supporting single and multiple selections.\naliases: OptionPicker|ChoiceSelector\nDesign system 2.0\n\nA list of **values to choose from**, opened from the field. It is not the\ncontrol for showing actions or navigation options — that is .\n\nThe field is an , so it carries the 2.0 field styling, sizes,\nlabel, caption and error states, and it exposes the control as a `combobox`\nwhose popup is the option list.\n\nSingle mode:\n- The field shows the selected option's leading icon + label.\n- In the list, the selected option is tinted; `selectedOptionMark` swaps that\n for a trailing check or the navigation highlight.\n\nMultiple mode uses checkboxes (including Select All with indeterminate state) and\nrenders the selection as removable tags inside the field.\n\nThe field itself is never typeable: `searchable` puts a search field in the overlay\nheader that filters the options.",
996
1010
  "props": [
997
1011
  {
998
1012
  "name": "options",
@@ -1109,6 +1123,13 @@
1109
1123
  "defaultValue": "'Select all'",
1110
1124
  "description": "Label for the \"Select All\" checkbox."
1111
1125
  },
1126
+ {
1127
+ "name": "selectedOptionMark",
1128
+ "type": "| MenuItemMark.Tint\n | MenuItemMark.Check\n | MenuItemMark.Highlight",
1129
+ "required": false,
1130
+ "defaultValue": "MenuItemMark.Tint",
1131
+ "description": "How the chosen option is marked in single mode."
1132
+ },
1112
1133
  {
1113
1134
  "name": "emptyStateTitle",
1114
1135
  "type": "string",
@@ -1358,10 +1379,10 @@
1358
1379
  },
1359
1380
  {
1360
1381
  "name": "resize",
1361
- "type": "boolean",
1382
+ "type": "boolean | TextareaResize",
1362
1383
  "required": false,
1363
1384
  "defaultValue": "false",
1364
- "description": "Whether the textarea has possibility to resize"
1385
+ "description": "Whether/how the textarea can be resized. Accepts a boolean (`true` = both directions, `false` = none) or a value for a single axis (`horizontal`/`vertical`)"
1365
1386
  },
1366
1387
  {
1367
1388
  "name": "error",
@@ -1550,7 +1571,7 @@
1550
1571
  "name": "Popup",
1551
1572
  "category": "Components_2_0",
1552
1573
  "generation": "2.0",
1553
- "description": "An accessible modal dialog using Floating UI.\naliases: Modal|Dialog\nDesign system 2.0\n\nRenders in a portal with a scrim overlay, focus management, a header with the\ntitle and close control, a scrollable body and an optional footer. Sections\nare separated by spacing rather than rules; add your own through\n`headerClassName` or the footer node if a surface needs them.\n\nA string `header` names the dialog automatically. A `header` node cannot —\npass `ariaLabel` in that case, or the dialog opens unnamed.",
1574
+ "description": "An accessible modal dialog using Floating UI.\naliases: Modal|Dialog\nDesign system 2.0\n\nRenders in a portal with a scrim overlay, focus management, a header with the\ntitle and close control, a scrollable body and an optional footer. Sections\nare separated by spacing rather than rules; opt into a rule with\n`headerDivider` / `footerDivider`.\n\nThe header grows from the title alone: `onBack` prepends a back control,\n`headerActions` sits between the title and the close button.\n\nThe footer is declared as data, not markup: `mainButtons` and\n`additionalButtons` take and the popup renders the\ns itself, so spacing, order and the neutral default are the\nsame on every dialog. `additionalButtonsOnLeft` moves the secondary group to\nthe opposite edge. A `footer` node still wins over both, for the rare surface\nthat needs something other than a row of buttons.\n\nA string `header` names the dialog automatically. A `header` node cannot —\npass `ariaLabel` in that case, or the dialog opens unnamed.",
1554
1575
  "props": [
1555
1576
  {
1556
1577
  "name": "open",
@@ -1617,7 +1638,13 @@
1617
1638
  "name": "footer",
1618
1639
  "type": "ReactNode",
1619
1640
  "required": false,
1620
- "description": "Footer area for actions"
1641
+ "description": "Custom footer node; overrides `mainButtons` and `additionalButtons`"
1642
+ },
1643
+ {
1644
+ "name": "footerClassName",
1645
+ "type": "string",
1646
+ "required": false,
1647
+ "description": "Additional CSS classes applied to the built-in footer container"
1621
1648
  },
1622
1649
  {
1623
1650
  "name": "onClose",
@@ -1625,6 +1652,58 @@
1625
1652
  "required": false,
1626
1653
  "description": "Callback fired when the popup requests to close"
1627
1654
  },
1655
+ {
1656
+ "name": "onBack",
1657
+ "type": "(e: MouseEvent<HTMLButtonElement>) => void",
1658
+ "required": false,
1659
+ "description": "Callback for the header back button; the button renders only when set"
1660
+ },
1661
+ {
1662
+ "name": "backAriaLabel",
1663
+ "type": "string",
1664
+ "required": false,
1665
+ "defaultValue": "'Back'",
1666
+ "description": "Accessible name of the back button"
1667
+ },
1668
+ {
1669
+ "name": "headerActions",
1670
+ "type": "ReactNode",
1671
+ "required": false,
1672
+ "description": "Controls rendered between the title and the close button"
1673
+ },
1674
+ {
1675
+ "name": "headerDivider",
1676
+ "type": "boolean",
1677
+ "required": false,
1678
+ "defaultValue": "false",
1679
+ "description": "Whether a rule is drawn under the header"
1680
+ },
1681
+ {
1682
+ "name": "mainButtons",
1683
+ "type": "ButtonProps[]",
1684
+ "required": false,
1685
+ "description": "Primary footer buttons, aligned to the trailing edge; each defaults to `ButtonVariant.Neutral`"
1686
+ },
1687
+ {
1688
+ "name": "additionalButtons",
1689
+ "type": "ButtonProps[]",
1690
+ "required": false,
1691
+ "description": "Secondary footer buttons, next to `mainButtons` unless moved left"
1692
+ },
1693
+ {
1694
+ "name": "additionalButtonsOnLeft",
1695
+ "type": "boolean",
1696
+ "required": false,
1697
+ "defaultValue": "false",
1698
+ "description": "Whether `additionalButtons` sit on the leading edge"
1699
+ },
1700
+ {
1701
+ "name": "footerDivider",
1702
+ "type": "boolean",
1703
+ "required": false,
1704
+ "defaultValue": "false",
1705
+ "description": "Whether a rule is drawn above the footer"
1706
+ },
1628
1707
  {
1629
1708
  "name": "size",
1630
1709
  "type": "PopupSize",
@@ -1662,7 +1741,7 @@
1662
1741
  }
1663
1742
  ],
1664
1743
  "examples": [
1665
- "<Popup\n open\n header=\"Title\"\n size={PopupSize.Md}\n footer={\n <div className=\"flex justify-end gap-2 px-6 py-4\">\n <NeutralButton label=\"Cancel\" />\n <PrimaryButton label=\"Confirm\" />\n </div>\n }\n onClose={() => setOpen(false)}\n>\n <div className=\"px-6 py-4\">Dialog content goes here…</div>\n</Popup>"
1744
+ "<Popup\n open\n header=\"Title\"\n size={PopupSize.Md}\n onBack={() => setStep(step - 1)}\n headerActions={<InfoButton caption=\"What is this?\" />}\n additionalButtonsOnLeft\n additionalButtons={[\n {\n label: 'Back',\n variant: ButtonVariant.Primary,\n appearance: ButtonAppearance.Link,\n iconBefore: <IconArrowLeft />,\n onClick: goBack,\n },\n ]}\n mainButtons={[\n { label: 'Cancel', onClick: () => setOpen(false) },\n { label: 'Confirm', variant: ButtonVariant.Primary, onClick: submit },\n ]}\n onClose={() => setOpen(false)}\n>\n <div className=\"px-6 py-4\">Dialog content goes here…</div>\n</Popup>"
1666
1745
  ],
1667
1746
  "sourceFile": "components/New/Popup/Popup.tsx"
1668
1747
  },
@@ -1797,7 +1876,7 @@
1797
1876
  "name": "Dropdown",
1798
1877
  "category": "Components_2_0",
1799
1878
  "generation": "2.0",
1800
- "description": "Renders the given trigger (`children`) and a floating contextual menu overlay.\naliases: ContextMenu|PopupMenu\nDesign system 2.0\n\nSupports click/hover/contextMenu triggers, controlled/uncontrolled open, and an optional\nclose button inside the overlay. Placement is taken directly from Floating UI; when\n`placement` is **undefined** (default), automatic placement is handled by `autoPlacement`.",
1879
+ "description": "Renders the given trigger (`children`) and a floating contextual menu overlay.\naliases: ContextMenu|PopupMenu\nDesign system 2.0\n\nA menu of **actions or navigation options**, opened from a trigger. It is not\nthe control for picking a value out of a list — a country, a sort order, a\nfilter — which is what is for.\n\nSupports click/hover/contextMenu triggers, controlled/uncontrolled open, and an optional\nclose button inside the overlay. Placement is taken directly from Floating UI; when\n`placement` is **undefined** (default), automatic placement is handled by `autoPlacement`.\n\nA chosen row is marked through the item's `mark`: the design draws a menu's\nsingle-select and multiselect the same way, with a check at the trailing edge\n(`MenuItemMark.Check`). Pair it with `selectable` for a multiselect row, which\nkeeps the menu open across toggles. `MenuItemMark.Highlight` is the current\nitem of a navigation menu.",
1801
1880
  "props": [
1802
1881
  {
1803
1882
  "name": "children",
@@ -1956,6 +2035,117 @@
1956
2035
  ],
1957
2036
  "sourceFile": "components/New/Dropdown/Dropdown.tsx"
1958
2037
  },
2038
+ {
2039
+ "name": "ThemeScope",
2040
+ "category": "Components_2_0",
2041
+ "generation": "2.0",
2042
+ "description": "Marks a subtree as living under a host-defined token scope, so overlays this\nsubtree opens in a portal are painted with the same tokens.\nDesign system 2.0\n\nRedefining design tokens on a panel root re-themes everything the panel\nrenders — until a `Dropdown`, `Popup`, `Tooltip` or `Calendar` escapes into a\n`FloatingPortal` at the end of `<body>`, where the scope's custom properties\nno longer reach it. Wrapping the panel in a `ThemeScope` re-applies the same\nclass to those portalled overlays, so an overlay opened from a dark panel\nstays dark while the rest of the app keeps its own palette.\n\nThe wrapper itself is `display: contents`, so it generates no box and leaves\nthe surrounding flex or grid layout untouched — custom properties inherit\nthrough it all the same. Scopes nest: an inner scope's overlays carry the\nouter classes first, matching the cascade they would see in place.",
2043
+ "props": [
2044
+ {
2045
+ "name": "className",
2046
+ "type": "string",
2047
+ "required": true,
2048
+ "description": "Class name redefining the design tokens for this subtree"
2049
+ },
2050
+ {
2051
+ "name": "children",
2052
+ "type": "ReactNode",
2053
+ "required": true,
2054
+ "description": "The subtree painted with those tokens"
2055
+ }
2056
+ ],
2057
+ "examples": [
2058
+ "// .side-panel-theme redefines --bg-*, --text-* and --stroke-* tokens.\n<ThemeScope className=\"side-panel-theme\">\n <ConversationPanel {...props} />\n</ThemeScope>"
2059
+ ],
2060
+ "sourceFile": "components/New/ThemeScope/ThemeScope.tsx"
2061
+ },
2062
+ {
2063
+ "name": "MenuItem",
2064
+ "category": "Components_2_0",
2065
+ "generation": "2.0",
2066
+ "description": "One row of a floating overlay — a dropdown menu item or a select option.\nDesign system 2.0\n\nOwns the Menu-item states the design defines, so the dropdown and the select\ncannot drift apart: rest, hover, focus and disable, plus the three ways a\nchosen row is marked (`MenuItemMark`). The row itself is the control — the\ncheckbox box and the check icon are decorative, since the state already rides\non the `aria-checked`/`aria-selected` the caller sets alongside `role`.",
2067
+ "props": [
2068
+ {
2069
+ "name": "ref",
2070
+ "type": "Ref<HTMLButtonElement>",
2071
+ "required": false
2072
+ },
2073
+ {
2074
+ "name": "label",
2075
+ "type": "ReactNode",
2076
+ "required": false,
2077
+ "description": "The row's text"
2078
+ },
2079
+ {
2080
+ "name": "icon",
2081
+ "type": "ReactNode",
2082
+ "required": false,
2083
+ "description": "Icon rendered before the label"
2084
+ },
2085
+ {
2086
+ "name": "description",
2087
+ "type": "ReactNode",
2088
+ "required": false,
2089
+ "description": "Secondary text at the row's trailing edge"
2090
+ },
2091
+ {
2092
+ "name": "mark",
2093
+ "type": "MenuItemMark",
2094
+ "required": false,
2095
+ "defaultValue": "MenuItemMark.None",
2096
+ "description": "How a chosen row is marked"
2097
+ },
2098
+ {
2099
+ "name": "selected",
2100
+ "type": "boolean",
2101
+ "required": false,
2102
+ "defaultValue": "false",
2103
+ "description": "Whether this row is the chosen one"
2104
+ },
2105
+ {
2106
+ "name": "danger",
2107
+ "type": "boolean",
2108
+ "required": false,
2109
+ "defaultValue": "false",
2110
+ "description": "Paints the row in the error colour"
2111
+ },
2112
+ {
2113
+ "name": "trailing",
2114
+ "type": "ReactNode",
2115
+ "required": false,
2116
+ "description": "Node pinned to the trailing edge, e.g. a submenu caret"
2117
+ },
2118
+ {
2119
+ "name": "rightControl",
2120
+ "type": "ReactNode",
2121
+ "required": false,
2122
+ "description": "A control of its own at the trailing edge, rendered beside the row"
2123
+ },
2124
+ {
2125
+ "name": "ellipsisLabel",
2126
+ "type": "boolean",
2127
+ "required": false,
2128
+ "defaultValue": "false",
2129
+ "description": "Truncate the label with a tooltip once clipped"
2130
+ },
2131
+ {
2132
+ "name": "labelClassName",
2133
+ "type": "string",
2134
+ "required": false,
2135
+ "description": "Additional classes for the label element"
2136
+ },
2137
+ {
2138
+ "name": "children",
2139
+ "type": "ReactNode",
2140
+ "required": false,
2141
+ "description": "Replaces the icon + label content"
2142
+ }
2143
+ ],
2144
+ "examples": [
2145
+ "<MenuItem role=\"menuitem\" label=\"Rename\" icon={<IconPencil />} />\n\n// Single choice, marked with a trailing check\n<MenuItem role=\"option\" aria-selected label=\"English\" mark={MenuItemMark.Check} selected />\n\n// Current item of a navigation menu\n<MenuItem role=\"menuitem\" aria-current label=\"Settings\" mark={MenuItemMark.Highlight} selected />"
2146
+ ],
2147
+ "sourceFile": "components/New/MenuItem/MenuItem.tsx"
2148
+ },
1959
2149
  {
1960
2150
  "name": "CaptionText",
1961
2151
  "category": "Components_2_0",
@@ -2486,6 +2676,12 @@
2486
2676
  "type": "string",
2487
2677
  "required": false,
2488
2678
  "description": "Caption text rendered below the label, and described by the checkbox"
2679
+ },
2680
+ {
2681
+ "name": "boxClassName",
2682
+ "type": "string",
2683
+ "required": false,
2684
+ "description": "Additional classes for the box itself. Use it to drop\nthe box's own focus ring where the container already draws one, as a\nmultiselect row does."
2489
2685
  }
2490
2686
  ],
2491
2687
  "examples": [
@@ -2493,6 +2689,56 @@
2493
2689
  ],
2494
2690
  "sourceFile": "components/New/Checkbox/Checkbox.tsx"
2495
2691
  },
2692
+ {
2693
+ "name": "CheckboxBox",
2694
+ "category": "Components_2_0",
2695
+ "generation": "2.0",
2696
+ "description": "The 20px box a checkbox draws — the square, its border, its fill and the\ncheck or dash inside.\nDesign system 2.0\n\nTwo things render it: , where it is the `<label for>` that\ntoggles the input next to it, and rows that only *look* like a checkbox —\na `menuitemcheckbox` in a dropdown, whose state lives on `aria-checked` and\nwhose whole row is the control. Passing `htmlFor` picks the first: the box\nbecomes a label with a pointer target of its own. Without it the box is a\ndecorative `<span>`, hidden from assistive technology, and the row around it\ncarries both the state and the pointer target.",
2697
+ "props": [
2698
+ {
2699
+ "name": "isSelected",
2700
+ "type": "boolean",
2701
+ "required": false,
2702
+ "defaultValue": "false",
2703
+ "description": "Whether the box is filled with a check"
2704
+ },
2705
+ {
2706
+ "name": "isIndeterminate",
2707
+ "type": "boolean",
2708
+ "required": false,
2709
+ "defaultValue": "false",
2710
+ "description": "Whether the box is filled with a dash; takes precedence over `isSelected`"
2711
+ },
2712
+ {
2713
+ "name": "invalid",
2714
+ "type": "boolean",
2715
+ "required": false,
2716
+ "defaultValue": "false",
2717
+ "description": "Paints the box with the error colour"
2718
+ },
2719
+ {
2720
+ "name": "disabled",
2721
+ "type": "boolean",
2722
+ "required": false,
2723
+ "defaultValue": "false",
2724
+ "description": "Greys the box out"
2725
+ },
2726
+ {
2727
+ "name": "htmlFor",
2728
+ "type": "string",
2729
+ "required": false,
2730
+ "description": "Id of the input this box labels; omit for a decorative box"
2731
+ },
2732
+ {
2733
+ "name": "className",
2734
+ "type": "string",
2735
+ "required": false,
2736
+ "description": "Additional classes for the box"
2737
+ }
2738
+ ],
2739
+ "examples": [],
2740
+ "sourceFile": "components/New/Checkbox/CheckboxBox.tsx"
2741
+ },
2496
2742
  {
2497
2743
  "name": "ToggleIconButton",
2498
2744
  "category": "Components_2_0",
@@ -2733,7 +2979,7 @@
2733
2979
  "name": "Tag",
2734
2980
  "category": "Components_2_0",
2735
2981
  "generation": "2.0",
2736
- "description": "A compact label element used for selections, filters, or categories.\naliases: Chip|Pill\nDesign system 2.0\n\nThe label truncates rather than wrapping, and carries a native `title` so the\nfull text stays reachable when it does.\n\nA tag with `onClick` becomes a `role=\"button\"` operable with Enter and Space.\nIts remove control is a real nested `<button>`, so keep the two roles apart in\nthe caller: a clickable tag that is also closable gives a screen reader two\nactions with no way to tell which one it landed on.",
2982
+ "description": "A compact label element used for selections, filters, or categories.\naliases: Chip|Pill\nDesign system 2.0\n\nThe tag has one height — the 32px pill of the 2.0 design. There is no `size`\nprop: a tag sizes itself, and a caller that needs a different height is\nusually reaching for a button.\n\nThe label truncates rather than wrapping, and carries a native `title` so the\nfull text stays reachable when it does.\n\nA tag with `onClick` becomes a `role=\"button\"` operable with Enter and Space.\nIts remove control is a real nested `<button>`, so keep the two roles apart in\nthe caller: a clickable tag that is also closable gives a screen reader two\nactions with no way to tell which one it landed on.\n\nNo tag draws a rim; the two appearances are told apart by their fill.\n`TagAppearance.Selectable` is the filter chip of the 2.0 design: no fill\nat all until it is selected, one hover tint shared by both states, a semibold\nlabel once selected, and the state carried on `aria-pressed` rather than by\nthe tint alone. Give it an `onClick` — a selectable tag that cannot be\nactivated is a colour and nothing else.\n\nSelecting one therefore changes its width by the difference between the\nregular and semibold label. In a wrapping filter row that is what the design\nasks for; if a fixed width matters, give the chip one.",
2737
2983
  "props": [
2738
2984
  {
2739
2985
  "name": "label",
@@ -2748,11 +2994,11 @@
2748
2994
  "description": "Icon rendered before the label."
2749
2995
  },
2750
2996
  {
2751
- "name": "size",
2752
- "type": "ElementSize",
2997
+ "name": "appearance",
2998
+ "type": "TagAppearance",
2753
2999
  "required": false,
2754
- "defaultValue": "ElementSize.Standard",
2755
- "description": "Tag height: standard is 24px, small is 20px."
3000
+ "defaultValue": "TagAppearance.Outlined",
3001
+ "description": "`outlined` is the filled chip on the raised\nlayer; `selectable` is the unfilled filter chip that tints and turns semibold when selected."
2756
3002
  },
2757
3003
  {
2758
3004
  "name": "selected",
@@ -2766,7 +3012,7 @@
2766
3012
  "type": "boolean",
2767
3013
  "required": false,
2768
3014
  "defaultValue": "false",
2769
- "description": "Dims the tag and suppresses the remove control and click handling."
3015
+ "description": "Stops the tag responding: no click handling, no remove control. The design defines no disabled tag, so the colours stay put."
2770
3016
  },
2771
3017
  {
2772
3018
  "name": "closable",
@@ -2789,7 +3035,7 @@
2789
3035
  }
2790
3036
  ],
2791
3037
  "examples": [
2792
- "<Tag label=\"TypeScript\" />\n<Tag label=\"TypeScript\" closable onRemove={() => remove('TypeScript')} />\n<Tag label=\"Drafts\" selected onClick={() => toggle('Drafts')} />"
3038
+ "<Tag label=\"TypeScript\" />\n<Tag label=\"TypeScript\" closable onRemove={() => remove('TypeScript')} />\n<Tag label=\"Drafts\" selected onClick={() => toggle('Drafts')} />\n<Tag\n label=\"Drafts\"\n appearance={TagAppearance.Selectable}\n selected={isSelected}\n onClick={() => toggle('Drafts')}\n/>"
2793
3039
  ],
2794
3040
  "sourceFile": "components/New/Tag/Tag.tsx"
2795
3041
  },
@@ -2869,223 +3115,822 @@
2869
3115
  "description": "Shows the tags without allowing new ones or removal."
2870
3116
  },
2871
3117
  {
2872
- "name": "collapseTagOverflow",
2873
- "type": "boolean",
3118
+ "name": "collapseTagOverflow",
3119
+ "type": "boolean",
3120
+ "required": false,
3121
+ "defaultValue": "false",
3122
+ "description": "Keep the tags on one line, replacing the ones that do not fit with a `+N` chip."
3123
+ },
3124
+ {
3125
+ "name": "ariaLabel",
3126
+ "type": "string",
3127
+ "required": false,
3128
+ "description": "Accessible name for the text input; use it when there is no visible label."
3129
+ },
3130
+ {
3131
+ "name": "tagListLabel",
3132
+ "type": "string",
3133
+ "required": false,
3134
+ "defaultValue": "'Tags'",
3135
+ "description": "Accessible name of the tag list."
3136
+ },
3137
+ {
3138
+ "name": "className",
3139
+ "type": "string",
3140
+ "required": false,
3141
+ "description": "Additional CSS classes for the outer container."
3142
+ },
3143
+ {
3144
+ "name": "fieldClassName",
3145
+ "type": "string",
3146
+ "required": false,
3147
+ "description": "Additional CSS classes for the field itself."
3148
+ },
3149
+ {
3150
+ "name": "tagClassName",
3151
+ "type": "string",
3152
+ "required": false,
3153
+ "description": "Additional CSS classes applied to every tag."
3154
+ },
3155
+ {
3156
+ "name": "onChange",
3157
+ "type": "(tags: string[]) => void",
3158
+ "required": false,
3159
+ "description": "Called with the new list whenever a tag is added or removed."
3160
+ }
3161
+ ],
3162
+ "examples": [
3163
+ "const [tags, setTags] = useState<string[]>(['React']);\n\n<TagInput\n id=\"skills\"\n labelProps={{ label: 'Skills' }}\n placeholder=\"Add a skill\"\n caption=\"Press Enter or comma to add\"\n value={tags}\n onChange={setTags}\n/>"
3164
+ ],
3165
+ "sourceFile": "components/New/TagInput/TagInput.tsx"
3166
+ },
3167
+ {
3168
+ "name": "Search",
3169
+ "category": "Components_2_0",
3170
+ "generation": "2.0",
3171
+ "description": "A search field with a leading magnifier and a clear button, built on .\naliases: SearchField|QueryInput|SearchBox\nDesign system 2.0\n\nFully controlled: it renders exactly the `value` it is given and reports every\nedit through `onChange`, which receives `undefined` for an empty field. The\nclear button appears only while there is something to clear, and returns focus\nto the input once pressed so keyboard users are not dropped to the page body.\n\n`type` and both icon slots are owned by this component; every other\n prop is passed through.",
3172
+ "props": [
3173
+ {
3174
+ "name": "withoutBorder",
3175
+ "type": "boolean",
3176
+ "required": false,
3177
+ "defaultValue": "false",
3178
+ "description": "Renders the field without its border and background"
3179
+ },
3180
+ {
3181
+ "name": "clearLabel",
3182
+ "type": "string",
3183
+ "required": false,
3184
+ "defaultValue": "'Clear search'",
3185
+ "description": "Accessible name of the clear button"
3186
+ }
3187
+ ],
3188
+ "examples": [
3189
+ "<Search\n id=\"search\"\n value={query}\n placeholder=\"Search\"\n onChange={setQuery}\n/>"
3190
+ ],
3191
+ "sourceFile": "components/New/Search/Search.tsx"
3192
+ },
3193
+ {
3194
+ "name": "Slider",
3195
+ "category": "Components_2_0",
3196
+ "generation": "2.0",
3197
+ "description": "A range slider from the 2.0 design system.\naliases: RangeInput|TemperatureSlider|RangeSlider\nDesign system 2.0",
3198
+ "props": [
3199
+ {
3200
+ "name": "value",
3201
+ "type": "number",
3202
+ "required": true,
3203
+ "description": "Current slider value"
3204
+ },
3205
+ {
3206
+ "name": "min",
3207
+ "type": "number",
3208
+ "required": false,
3209
+ "defaultValue": "0",
3210
+ "description": "Minimum value"
3211
+ },
3212
+ {
3213
+ "name": "max",
3214
+ "type": "number",
3215
+ "required": false,
3216
+ "defaultValue": "1",
3217
+ "description": "Maximum value"
3218
+ },
3219
+ {
3220
+ "name": "step",
3221
+ "type": "number",
3222
+ "required": false,
3223
+ "defaultValue": "0.1",
3224
+ "description": "Step increment"
3225
+ },
3226
+ {
3227
+ "name": "disabled",
3228
+ "type": "boolean",
3229
+ "required": false,
3230
+ "description": "Whether the slider is disabled"
3231
+ },
3232
+ {
3233
+ "name": "labelProps",
3234
+ "type": "LabelProps",
3235
+ "required": false,
3236
+ "description": "Props of the rendered above the track"
3237
+ },
3238
+ {
3239
+ "name": "labels",
3240
+ "type": "[string, string] | [string, string, string]",
3241
+ "required": false,
3242
+ "description": "2 or 3 strings rendered below the track (start, [middle,] end)"
3243
+ },
3244
+ {
3245
+ "name": "formatValue",
3246
+ "type": "(value: number) => string",
3247
+ "required": false,
3248
+ "description": "Custom formatter for the displayed value; also becomes the announced `aria-valuetext`"
3249
+ },
3250
+ {
3251
+ "name": "showValue",
3252
+ "type": "boolean",
3253
+ "required": false,
3254
+ "defaultValue": "false",
3255
+ "description": "Renders the current value at the end of the label row"
3256
+ },
3257
+ {
3258
+ "name": "caption",
3259
+ "type": "string",
3260
+ "required": false,
3261
+ "description": "Helper text rendered below the track, and described by the slider"
3262
+ },
3263
+ {
3264
+ "name": "error",
3265
+ "type": "string",
3266
+ "required": false,
3267
+ "description": "Error message rendered below the track; replaces the caption"
3268
+ },
3269
+ {
3270
+ "name": "onChange",
3271
+ "type": "(value: number) => void",
3272
+ "required": false,
3273
+ "description": "Callback fired with the new value"
3274
+ },
3275
+ {
3276
+ "name": "containerClassName",
3277
+ "type": "string",
3278
+ "required": false,
3279
+ "description": "Additional classes for the outer container"
3280
+ },
3281
+ {
3282
+ "name": "trackClassName",
3283
+ "type": "string",
3284
+ "required": false,
3285
+ "description": "Additional classes for the unfilled track"
3286
+ },
3287
+ {
3288
+ "name": "fillClassName",
3289
+ "type": "string",
3290
+ "required": false,
3291
+ "description": "Additional classes for the filled portion of the track"
3292
+ }
3293
+ ],
3294
+ "examples": [
3295
+ "<Slider\n id=\"temperature\"\n labelProps={{ label: 'Temperature' }}\n value={temperature}\n labels={['Precise', 'Neutral', 'Creative']}\n onChange={setTemperature}\n/>"
3296
+ ],
3297
+ "sourceFile": "components/New/Slider/Slider.tsx"
3298
+ },
3299
+ {
3300
+ "name": "Tooltip",
3301
+ "category": "Components_2_0",
3302
+ "generation": "2.0",
3303
+ "description": "Shows a short explanation next to an element while it is hovered or focused.\naliases: HoverPopover|InfoPopover\nDesign system 2.0\n\nThe tooltip is placed on one of the four sides of the trigger and follows it\non scroll, flipping to the opposite side when it would not fit.\n\nTooltip text does not reach assistive technology unless the trigger itself\ncarries it: pass `asChild` so the `aria-describedby` lands on the control\nrather than on a wrapper `<span>`, and never let a tooltip be the only\naccessible name of a control — it renders nothing on a touch-only device.",
3304
+ "props": [
3305
+ {
3306
+ "name": "hideTooltip",
3307
+ "type": "boolean",
3308
+ "required": false,
3309
+ "defaultValue": "false",
3310
+ "description": "Suppress the tooltip while keeping the trigger rendered"
3311
+ },
3312
+ {
3313
+ "name": "tooltip",
3314
+ "type": "ReactNode",
3315
+ "required": false,
3316
+ "description": "The content to display in the tooltip"
3317
+ },
3318
+ {
3319
+ "name": "children",
3320
+ "type": "ReactNode",
3321
+ "required": true,
3322
+ "description": "The element that triggers the tooltip"
3323
+ },
3324
+ {
3325
+ "name": "asChild",
3326
+ "type": "boolean",
3327
+ "required": false,
3328
+ "defaultValue": "false",
3329
+ "description": "Use the child as the trigger instead of wrapping it in a `<span>`"
3330
+ },
3331
+ {
3332
+ "name": "triggerClassName",
3333
+ "type": "string",
3334
+ "required": false,
3335
+ "description": "Additional CSS classes for the trigger element"
3336
+ },
3337
+ {
3338
+ "name": "contentClassName",
3339
+ "type": "string",
3340
+ "required": false,
3341
+ "description": "Additional CSS classes for the tooltip bubble"
3342
+ }
3343
+ ],
3344
+ "examples": [
3345
+ "<Tooltip tooltip=\"Tooltip text\" placement={TooltipPlacement.Top} asChild>\n <button>Hover me</button>\n</Tooltip>"
3346
+ ],
3347
+ "sourceFile": "components/New/Tooltip/Tooltip.tsx"
3348
+ },
3349
+ {
3350
+ "name": "TooltipContainer",
3351
+ "category": "Components_2_0",
3352
+ "generation": "2.0",
3353
+ "description": "Provides tooltip positioning and open state to a trigger and a content pair.\naliases: TooltipProvider|TooltipRoot\nDesign system 2.0\n\nUse it directly only when the trigger and the content cannot be rendered by\n`Tooltip` itself — for example when the content needs custom markup.",
3354
+ "props": [],
3355
+ "examples": [
3356
+ "<TooltipContainer placement={TooltipPlacement.Top}>\n <TooltipTrigger asChild>\n <button>Hover me</button>\n </TooltipTrigger>\n <TooltipContent>Tooltip text</TooltipContent>\n</TooltipContainer>"
3357
+ ],
3358
+ "sourceFile": "components/New/Tooltip/TooltipContainer.tsx"
3359
+ },
3360
+ {
3361
+ "name": "TooltipContent",
3362
+ "category": "Components_2_0",
3363
+ "generation": "2.0",
3364
+ "description": "The floating bubble that carries the tooltip text.\nDesign system 2.0\n\nRendered in a portal, above popups and dropdowns, with an arrow pointing back\nat the trigger. Renders nothing on a touch-only device, where no pointer can\nhover to reveal it — so a control must never depend on a tooltip alone to be\nunderstood, or to have an accessible name. A narrow viewport is not itself\ndisqualifying: an embed a few hundred pixels wide still hovers on a desktop.",
3365
+ "props": [
3366
+ {
3367
+ "name": "style",
3368
+ "type": "CSSProperties",
3369
+ "required": false,
3370
+ "description": "Additional inline styles for the tooltip bubble"
3371
+ }
3372
+ ],
3373
+ "examples": [],
3374
+ "sourceFile": "components/New/Tooltip/TooltipContent.tsx"
3375
+ },
3376
+ {
3377
+ "name": "TooltipTrigger",
3378
+ "category": "Components_2_0",
3379
+ "generation": "2.0",
3380
+ "description": "The element a tooltip is anchored to and opened from.\nDesign system 2.0\n\nPrefer `asChild` whenever the trigger is a single element: it puts the\n`aria-describedby` that names the tooltip on the control itself instead of on\na wrapper `<span>`, which is the only way the tooltip text reaches assistive\ntechnology.",
3381
+ "props": [
3382
+ {
3383
+ "name": "asChild",
3384
+ "type": "boolean",
3385
+ "required": false,
3386
+ "defaultValue": "false",
3387
+ "description": "Render the child as the trigger instead of wrapping it in a `<span>`"
3388
+ }
3389
+ ],
3390
+ "examples": [],
3391
+ "sourceFile": "components/New/Tooltip/TooltipTrigger.tsx"
3392
+ },
3393
+ {
3394
+ "name": "EllipsisTooltip",
3395
+ "category": "Components_2_0",
3396
+ "generation": "2.0",
3397
+ "description": "Single-line text with a CSS ellipsis that reveals the full string in a\ntooltip **only when it is actually clipped**.\naliases: TruncatedText|TruncationTooltip\nDesign system 2.0\n\nText that fits gets no tooltip at all, so a row of labels does not sprout\ntooltips that repeat what is already on screen.\n\nThe width has to be finite for anything to truncate: the element is a\n`min-w-0`, `flex-1` block, and `className` sets the width it should fit into.\n\na11y: while truncated, the full string is exposed as the element's\n`aria-label`, so a screen reader reads the whole label even though the\ntooltip itself renders nothing on a touch-only device.",
3398
+ "props": [
3399
+ {
3400
+ "name": "text",
3401
+ "type": "ReactNode",
3402
+ "required": true,
3403
+ "description": "The text or node to display, truncated with an ellipsis when it does not fit"
3404
+ },
3405
+ {
3406
+ "name": "className",
3407
+ "type": "string",
3408
+ "required": false,
3409
+ "description": "Additional CSS classes for the text element, typically its width"
3410
+ },
3411
+ {
3412
+ "name": "contentClassName",
3413
+ "type": "string",
3414
+ "required": false,
3415
+ "description": "Additional CSS classes for the tooltip bubble"
3416
+ },
3417
+ {
3418
+ "name": "hideTooltip",
3419
+ "type": "boolean",
3420
+ "required": false,
3421
+ "defaultValue": "false",
3422
+ "description": "Suppress the tooltip even while the text is truncated"
3423
+ },
3424
+ {
3425
+ "name": "id",
3426
+ "type": "string",
3427
+ "required": false,
3428
+ "description": "`id` of the text element"
3429
+ },
3430
+ {
3431
+ "name": "customTooltipContent",
3432
+ "type": "ReactNode",
3433
+ "required": false,
3434
+ "description": "Shown instead of the full text while truncated"
3435
+ }
3436
+ ],
3437
+ "examples": [
3438
+ "<EllipsisTooltip text=\"Very long message that will be truncated\" />\n\n<EllipsisTooltip\n text={<span className=\"dial-small-semi-text\">Custom node</span>}\n className=\"max-w-[160px]\"\n/>\n\n<EllipsisTooltip text=\"Tooltip suppressed even when clipped\" hideTooltip />"
3439
+ ],
3440
+ "sourceFile": "components/New/EllipsisTooltip/EllipsisTooltip.tsx"
3441
+ },
3442
+ {
3443
+ "name": "CollapsibleSidebar",
3444
+ "category": "Components_2_0",
3445
+ "generation": "2.0",
3446
+ "description": "A side panel that collapses to a narrow rail carrying its title vertically.\naliases: ToggleSidebar|CollapsiblePanel|SidePanel\nDesign system 2.0\n\nWorks as a controlled component when `isOpened` is provided, otherwise it keeps\nits own state from `defaultOpened`. The width is derived from the open state, so\nchanging `width` on an open sidebar takes effect immediately.\n\nThe panel is an `aside` named by `ariaLabel`, and the toggle is a real\n`aria-expanded` control pointing at the content region. Content stays mounted\nwhile collapsed — hidden with `display: none` — so scroll position and any\nform state inside it survive a collapse.\n\nThe container paints no background and no radius: it is meant to sit on the\nsurface it belongs to. Pass `className` for either.",
3447
+ "props": [
3448
+ {
3449
+ "name": "children",
3450
+ "type": "ReactNode",
3451
+ "required": true,
3452
+ "description": "Content shown while the sidebar is expanded."
3453
+ },
3454
+ {
3455
+ "name": "title",
3456
+ "type": "ReactNode",
3457
+ "required": true,
3458
+ "description": "Name of the panel, rendered as vertical text while collapsed."
3459
+ },
3460
+ {
3461
+ "name": "width",
3462
+ "type": "number",
3463
+ "required": false,
3464
+ "defaultValue": "280",
3465
+ "description": "Width in px while expanded."
3466
+ },
3467
+ {
3468
+ "name": "collapsedWidth",
3469
+ "type": "number",
3470
+ "required": false,
3471
+ "defaultValue": "COLLAPSED_WIDTH",
3472
+ "description": "Width in px while collapsed."
3473
+ },
3474
+ {
3475
+ "name": "isOpened",
3476
+ "type": "boolean",
3477
+ "required": false,
3478
+ "description": "Controlled open state."
3479
+ },
3480
+ {
3481
+ "name": "defaultOpened",
3482
+ "type": "boolean",
3483
+ "required": false,
3484
+ "defaultValue": "true",
3485
+ "description": "Initial open state when uncontrolled."
3486
+ },
3487
+ {
3488
+ "name": "onToggle",
3489
+ "type": "(nextOpened: boolean, e: MouseEvent<HTMLButtonElement>) => void",
3490
+ "required": false,
3491
+ "description": "Fired when the toggle is clicked. Receives the next open state."
3492
+ },
3493
+ {
3494
+ "name": "additionalButtons",
3495
+ "type": "ReactNode",
3496
+ "required": false,
3497
+ "description": "Extra footer controls, rendered while expanded."
3498
+ },
3499
+ {
3500
+ "name": "ariaLabel",
3501
+ "type": "string",
3502
+ "required": false,
3503
+ "defaultValue": "'Sidebar'",
3504
+ "description": "Accessible name of the sidebar region."
3505
+ },
3506
+ {
3507
+ "name": "collapseLabel",
3508
+ "type": "string",
3509
+ "required": false,
3510
+ "defaultValue": "'Collapse sidebar'",
3511
+ "description": "Name and tooltip of the toggle while expanded."
3512
+ },
3513
+ {
3514
+ "name": "expandLabel",
3515
+ "type": "string",
3516
+ "required": false,
3517
+ "defaultValue": "'Expand sidebar'",
3518
+ "description": "Name and tooltip of the toggle while collapsed."
3519
+ },
3520
+ {
3521
+ "name": "className",
3522
+ "type": "string",
3523
+ "required": false,
3524
+ "description": "Additional CSS classes for the outer container."
3525
+ },
3526
+ {
3527
+ "name": "titleClassName",
3528
+ "type": "string",
3529
+ "required": false,
3530
+ "description": "Additional CSS classes for the vertical title."
3531
+ },
3532
+ {
3533
+ "name": "contentClassName",
3534
+ "type": "string",
3535
+ "required": false,
3536
+ "description": "Additional CSS classes for the content region."
3537
+ },
3538
+ {
3539
+ "name": "footerClassName",
3540
+ "type": "string",
3541
+ "required": false,
3542
+ "description": "Additional CSS classes for the footer."
3543
+ }
3544
+ ],
3545
+ "examples": [
3546
+ "<CollapsibleSidebar title=\"Filters\" width={320}>\n <FilterForm />\n</CollapsibleSidebar>\n\n<CollapsibleSidebar\n title=\"Filters\"\n isOpened={opened}\n onToggle={setOpened}\n>\n <FilterForm />\n</CollapsibleSidebar>"
3547
+ ],
3548
+ "sourceFile": "components/New/CollapsibleSidebar/CollapsibleSidebar.tsx"
3549
+ },
3550
+ {
3551
+ "name": "ResizableContainer",
3552
+ "category": "Components_2_0",
3553
+ "generation": "2.0",
3554
+ "description": "A panel the user can widen or narrow by dragging its edge.\naliases: ResizePanel|SizableContainer|Splitter\nDesign system 2.0\n\nWorks as a controlled component when `width` is provided, otherwise it keeps\nits own width from `defaultWidth`. The handle — an accent line with a chevron\npointing away from the panel — appears on hover and while dragging, and stays\nwithin `minWidth`–`maxWidth` in both modes.\n\nThe handle is a focusable `separator`, so the panel resizes with the arrow\nkeys — `Home` and `End` jump to the bounds — and each press reports through\n`onResize` and `onResizeStop`. Unlike the 1.0 container this one draws no\ndividers between its children; pass `divide-y divide-tertiary` through\n`className` if you want them.",
3555
+ "props": [
3556
+ {
3557
+ "name": "children",
3558
+ "type": "ReactNode",
3559
+ "required": true,
3560
+ "description": "Content placed inside the container."
3561
+ },
3562
+ {
3563
+ "name": "minWidth",
3564
+ "type": "number",
3565
+ "required": true,
3566
+ "description": "Minimum allowed width in px."
3567
+ },
3568
+ {
3569
+ "name": "maxWidth",
3570
+ "type": "number",
3571
+ "required": true,
3572
+ "description": "Maximum allowed width in px."
3573
+ },
3574
+ {
3575
+ "name": "width",
3576
+ "type": "number",
3577
+ "required": false,
3578
+ "description": "Controlled width. If omitted the container is uncontrolled."
3579
+ },
3580
+ {
3581
+ "name": "defaultWidth",
3582
+ "type": "number",
3583
+ "required": false,
3584
+ "description": "Initial width when uncontrolled. Defaults to `minWidth`."
3585
+ },
3586
+ {
3587
+ "name": "onResizeStop",
3588
+ "type": "(width: number) => void",
3589
+ "required": false,
3590
+ "description": "Fired when a resize ends, and once per arrow key press."
3591
+ },
3592
+ {
3593
+ "name": "onResize",
3594
+ "type": "(width: number) => void",
3595
+ "required": false,
3596
+ "description": "Fired continuously while dragging."
3597
+ },
3598
+ {
3599
+ "name": "side",
3600
+ "type": "ResizableContainerSide",
3601
+ "required": false,
3602
+ "defaultValue": "ResizableContainerSide.Right",
3603
+ "description": "Edge carrying the resize handle."
3604
+ },
3605
+ {
3606
+ "name": "keyboardStep",
3607
+ "type": "number",
3608
+ "required": false,
3609
+ "defaultValue": "DEFAULT_KEYBOARD_STEP",
3610
+ "description": "Width change per arrow key press."
3611
+ },
3612
+ {
3613
+ "name": "ariaLabel",
3614
+ "type": "string",
3615
+ "required": false,
3616
+ "defaultValue": "'Resize panel'",
3617
+ "description": "Accessible name of the handle."
3618
+ },
3619
+ {
3620
+ "name": "className",
3621
+ "type": "string",
3622
+ "required": false,
3623
+ "description": "Additional CSS classes for the inner content wrapper."
3624
+ },
3625
+ {
3626
+ "name": "resizeHandlerClassName",
3627
+ "type": "string",
3628
+ "required": false,
3629
+ "description": "Additional CSS classes for the resize handle."
3630
+ },
3631
+ {
3632
+ "name": "resizeHandler",
3633
+ "type": "ReactNode",
3634
+ "required": false,
3635
+ "description": "Custom node rendered inside the handle, replacing the default chevron."
3636
+ }
3637
+ ],
3638
+ "examples": [
3639
+ "<ResizableContainer minWidth={180} maxWidth={520} defaultWidth={260}>\n <Sidebar />\n</ResizableContainer>\n\n<ResizableContainer\n minWidth={180}\n maxWidth={520}\n width={sidebarWidth}\n onResizeStop={setSidebarWidth}\n>\n <Sidebar />\n</ResizableContainer>"
3640
+ ],
3641
+ "sourceFile": "components/New/ResizableContainer/ResizableContainer.tsx"
3642
+ },
3643
+ {
3644
+ "name": "ConditionalResizableContainer",
3645
+ "category": "Components_2_0",
3646
+ "generation": "2.0",
3647
+ "description": "Renders its children inside a only while `enabled`.\naliases: OptionalResize|ConditionalPanel\nDesign system 2.0\n\nWhen `enabled` is false the children are rendered on their own, with no\nwrapper element and no resize behaviour — useful for a panel that is only\nresizable while it is expanded. Every other prop is passed straight through;\nsee for controlled and uncontrolled sizing, sides\nand callbacks.",
3648
+ "props": [
3649
+ {
3650
+ "name": "enabled",
3651
+ "type": "boolean",
3652
+ "required": false,
3653
+ "defaultValue": "true",
3654
+ "description": "Whether resizing is enabled."
3655
+ }
3656
+ ],
3657
+ "examples": [
3658
+ "<ConditionalResizableContainer\n enabled={isExpanded}\n minWidth={180}\n maxWidth={520}\n defaultWidth={260}\n>\n <Sidebar />\n</ConditionalResizableContainer>"
3659
+ ],
3660
+ "sourceFile": "components/New/ResizableContainer/ConditionalResizableContainer.tsx"
3661
+ },
3662
+ {
3663
+ "name": "NoDataContent",
3664
+ "category": "Components_2_0",
3665
+ "generation": "2.0",
3666
+ "description": "Message shown in place of a list, table or grid that has nothing to show.\naliases: EmptyState|NoResults|ZeroState\nDesign system 2.0\n\nFills its container and centres an illustration, a headline and an optional\nsecondary line. The icon is decorative, so it is hidden from assistive tech\nand the text carries the message on its own.",
3667
+ "props": [
3668
+ {
3669
+ "name": "title",
3670
+ "type": "ReactNode",
3671
+ "required": true,
3672
+ "description": "Headline of the empty state."
3673
+ },
3674
+ {
3675
+ "name": "description",
3676
+ "type": "ReactNode",
3677
+ "required": false,
3678
+ "description": "Optional secondary line under the title."
3679
+ },
3680
+ {
3681
+ "name": "icon",
3682
+ "type": "ReactNode",
3683
+ "required": false,
3684
+ "description": "Illustration above the title. Defaults to a struck-through clipboard."
3685
+ },
3686
+ {
3687
+ "name": "live",
3688
+ "type": "boolean",
3689
+ "required": false,
3690
+ "defaultValue": "false",
3691
+ "description": "Announce the empty state to assistive tech as it appears."
3692
+ },
3693
+ {
3694
+ "name": "className",
3695
+ "type": "string",
3696
+ "required": false,
3697
+ "description": "Additional CSS classes for the container."
3698
+ },
3699
+ {
3700
+ "name": "titleClassName",
3701
+ "type": "string",
3702
+ "required": false,
3703
+ "description": "Additional CSS classes for the title."
3704
+ },
3705
+ {
3706
+ "name": "descriptionClassName",
3707
+ "type": "string",
3708
+ "required": false,
3709
+ "description": "Additional CSS classes for the description."
3710
+ }
3711
+ ],
3712
+ "examples": [
3713
+ "<NoDataContent\n title=\"No results found\"\n description=\"Try a different search term.\"\n/>\n\n<NoDataContent title=\"Nothing here yet\" icon={<IconInbox size={60} />} live />"
3714
+ ],
3715
+ "sourceFile": "components/New/NoDataContent/NoDataContent.tsx"
3716
+ },
3717
+ {
3718
+ "name": "Grid",
3719
+ "category": "Components_2_0",
3720
+ "generation": "2.0",
3721
+ "description": "A data grid built on ag-Grid, wired to the 2.0 tokens and controls.\naliases: DataTable|TableGrid|DataGrid\nDesign system 2.0\n\nComes preconfigured with case-insensitive sorting, floating column filters,\ncolumns sized to the available width, a row context menu, truncation\ntooltips, and an empty state.\n\nThe selection column renders the 2.0 `Checkbox` and `Radio` instead of\nag-Grid's own inputs, so selection looks and behaves like every other control\nin the kit and the select-all reaches the `mixed` state when the selection is\npartial. The column stays faded out until the row is hovered, something is\nselected, or the keyboard reaches it.\n\nSelection works controlled or uncontrolled: pass `selectedRowIds` to own it,\nor read `onSelectionChange` and let the grid keep its own. A `sort` declared\non a column is honoured — 1.0 stripped it on startup.",
3722
+ "props": [
3723
+ {
3724
+ "name": "columnDefs",
3725
+ "type": "ColDef<T>[]",
3726
+ "required": false,
3727
+ "description": "Column definitions, in ag-Grid `ColDef` format."
3728
+ },
3729
+ {
3730
+ "name": "rowData",
3731
+ "type": "T[]",
3732
+ "required": false,
3733
+ "description": "Rows to display."
3734
+ },
3735
+ {
3736
+ "name": "additionalGridOptions",
3737
+ "type": "GridOptions<T>",
3738
+ "required": false,
3739
+ "description": "Extra ag-Grid options, merged over the defaults."
3740
+ },
3741
+ {
3742
+ "name": "getContextMenuItems",
3743
+ "type": "(row: T) => DropdownItem[]",
3744
+ "required": false,
3745
+ "description": "Items of the row context menu. Omit for no menu."
3746
+ },
3747
+ {
3748
+ "name": "className",
3749
+ "type": "string",
3750
+ "required": false,
3751
+ "description": "Additional CSS classes for the grid container."
3752
+ },
3753
+ {
3754
+ "name": "ariaLabel",
3755
+ "type": "string",
3756
+ "required": false,
3757
+ "defaultValue": "'Data grid'",
3758
+ "description": "Accessible name of the grid region."
3759
+ },
3760
+ {
3761
+ "name": "wrapCustomCellRenderers",
3762
+ "type": "boolean | ((col: ColDef<T>) => boolean)",
3763
+ "required": false,
3764
+ "defaultValue": "true",
3765
+ "description": "Whether custom renderers get context-menu support."
3766
+ },
3767
+ {
3768
+ "name": "disabledRowIds",
3769
+ "type": "Set<string>",
3770
+ "required": false,
3771
+ "description": "Rows that cannot be selected."
3772
+ },
3773
+ {
3774
+ "name": "selectedRowIds",
3775
+ "type": "Set<string>",
3776
+ "required": false,
3777
+ "description": "Controlled selection: ids of the selected rows."
3778
+ },
3779
+ {
3780
+ "name": "onGridApiChange",
3781
+ "type": "(api: GridApi<T>) => void",
3782
+ "required": false,
3783
+ "description": "Fired when the grid API becomes available."
3784
+ },
3785
+ {
3786
+ "name": "onSelectionChange",
3787
+ "type": "(selectedRowIds: Set<string>, selectedRows: T[]) => void",
3788
+ "required": false,
3789
+ "description": "Fired when the selection changes."
3790
+ },
3791
+ {
3792
+ "name": "getRowId",
3793
+ "type": "(row: T) => string",
2874
3794
  "required": false,
2875
- "defaultValue": "false",
2876
- "description": "Keep the tags on one line, replacing the ones that do not fit with a `+N` chip."
3795
+ "description": "Extracts the unique id of a row. Defaults to its `id` field."
2877
3796
  },
2878
3797
  {
2879
- "name": "ariaLabel",
2880
- "type": "string",
3798
+ "name": "alternateOddRowColors",
3799
+ "type": "boolean",
2881
3800
  "required": false,
2882
- "description": "Accessible name for the text input; use it when there is no visible label."
3801
+ "defaultValue": "false",
3802
+ "description": "Tints odd rows."
2883
3803
  },
2884
3804
  {
2885
- "name": "tagListLabel",
3805
+ "name": "filterPlaceholder",
2886
3806
  "type": "string",
2887
3807
  "required": false,
2888
- "defaultValue": "'Tags'",
2889
- "description": "Accessible name of the tag list."
3808
+ "defaultValue": "'Enter value'",
3809
+ "description": "Placeholder of the column filter inputs."
2890
3810
  },
2891
3811
  {
2892
- "name": "className",
2893
- "type": "string",
3812
+ "name": "emptyStateIcon",
3813
+ "type": "ReactNode",
2894
3814
  "required": false,
2895
- "description": "Additional CSS classes for the outer container."
3815
+ "description": "Illustration of the empty state."
2896
3816
  },
2897
3817
  {
2898
- "name": "fieldClassName",
3818
+ "name": "emptyStateTitle",
2899
3819
  "type": "string",
2900
3820
  "required": false,
2901
- "description": "Additional CSS classes for the field itself."
3821
+ "defaultValue": "'No results found'",
3822
+ "description": "Headline of the empty state."
2902
3823
  },
2903
3824
  {
2904
- "name": "tagClassName",
3825
+ "name": "emptyStateDescription",
2905
3826
  "type": "string",
2906
3827
  "required": false,
2907
- "description": "Additional CSS classes applied to every tag."
3828
+ "defaultValue": "\"Sorry, we couldn't find any results for your search.\"",
3829
+ "description": "Secondary line of the empty state."
2908
3830
  },
2909
3831
  {
2910
- "name": "onChange",
2911
- "type": "(tags: string[]) => void",
2912
- "required": false,
2913
- "description": "Called with the new list whenever a tag is added or removed."
2914
- }
2915
- ],
2916
- "examples": [
2917
- "const [tags, setTags] = useState<string[]>(['React']);\n\n<TagInput\n id=\"skills\"\n labelProps={{ label: 'Skills' }}\n placeholder=\"Add a skill\"\n caption=\"Press Enter or comma to add\"\n value={tags}\n onChange={setTags}\n/>"
2918
- ],
2919
- "sourceFile": "components/New/TagInput/TagInput.tsx"
2920
- },
2921
- {
2922
- "name": "Search",
2923
- "category": "Components_2_0",
2924
- "generation": "2.0",
2925
- "description": "A search field with a leading magnifier and a clear button, built on .\naliases: SearchField|QueryInput|SearchBox\nDesign system 2.0\n\nFully controlled: it renders exactly the `value` it is given and reports every\nedit through `onChange`, which receives `undefined` for an empty field. The\nclear button appears only while there is something to clear, and returns focus\nto the input once pressed so keyboard users are not dropped to the page body.\n\n`type` and both icon slots are owned by this component; every other\n prop is passed through.",
2926
- "props": [
2927
- {
2928
- "name": "withoutBorder",
3832
+ "name": "loading",
2929
3833
  "type": "boolean",
2930
3834
  "required": false,
2931
3835
  "defaultValue": "false",
2932
- "description": "Renders the field without its border and background"
3836
+ "description": "Shows the loading overlay."
2933
3837
  },
2934
3838
  {
2935
- "name": "clearLabel",
2936
- "type": "string",
3839
+ "name": "wrapperBorder",
3840
+ "type": "boolean",
2937
3841
  "required": false,
2938
- "defaultValue": "'Clear search'",
2939
- "description": "Accessible name of the clear button"
2940
- }
2941
- ],
2942
- "examples": [
2943
- "<Search\n id=\"search\"\n value={query}\n placeholder=\"Search\"\n onChange={setQuery}\n/>"
2944
- ],
2945
- "sourceFile": "components/New/Search/Search.tsx"
2946
- },
2947
- {
2948
- "name": "Tooltip",
2949
- "category": "Components_2_0",
2950
- "generation": "2.0",
2951
- "description": "Shows a short explanation next to an element while it is hovered or focused.\naliases: HoverPopover|InfoPopover\nDesign system 2.0\n\nThe tooltip is placed on one of the four sides of the trigger and follows it\non scroll, flipping to the opposite side when it would not fit.\n\nTooltip text does not reach assistive technology unless the trigger itself\ncarries it: pass `asChild` so the `aria-describedby` lands on the control\nrather than on a wrapper `<span>`, and never let a tooltip be the only\naccessible name of a control — it renders nothing on mobile screens.",
2952
- "props": [
3842
+ "defaultValue": "true",
3843
+ "description": "Draws a border around the grid."
3844
+ },
2953
3845
  {
2954
- "name": "hideTooltip",
3846
+ "name": "withoutHeaderBorders",
2955
3847
  "type": "boolean",
2956
3848
  "required": false,
2957
3849
  "defaultValue": "false",
2958
- "description": "Suppress the tooltip while keeping the trigger rendered"
3850
+ "description": "Hides the vertical borders between header cells."
2959
3851
  },
2960
3852
  {
2961
- "name": "tooltip",
2962
- "type": "ReactNode",
3853
+ "name": "selectionMode",
3854
+ "type": "GridSelectionMode",
2963
3855
  "required": false,
2964
- "description": "The content to display in the tooltip"
2965
- },
2966
- {
2967
- "name": "children",
2968
- "type": "ReactNode",
2969
- "required": true,
2970
- "description": "The element that triggers the tooltip"
3856
+ "description": "Renders a selection column of checkboxes or radios."
2971
3857
  },
2972
3858
  {
2973
- "name": "asChild",
3859
+ "name": "allowDisabledContextMenu",
2974
3860
  "type": "boolean",
2975
3861
  "required": false,
2976
3862
  "defaultValue": "false",
2977
- "description": "Use the child as the trigger instead of wrapping it in a `<span>`"
3863
+ "description": "Keeps the context menu on a non-selectable row."
2978
3864
  },
2979
3865
  {
2980
- "name": "triggerClassName",
2981
- "type": "string",
3866
+ "name": "selectRowLabel",
3867
+ "type": "(row: T) => string",
2982
3868
  "required": false,
2983
- "description": "Additional CSS classes for the trigger element"
3869
+ "description": "Accessible name of a row's selection control."
2984
3870
  },
2985
3871
  {
2986
- "name": "contentClassName",
3872
+ "name": "selectAllLabel",
2987
3873
  "type": "string",
2988
3874
  "required": false,
2989
- "description": "Additional CSS classes for the tooltip bubble"
3875
+ "defaultValue": "'Select all rows'",
3876
+ "description": "Accessible name of the select-all control."
2990
3877
  }
2991
3878
  ],
2992
3879
  "examples": [
2993
- "<Tooltip tooltip=\"Tooltip text\" placement={TooltipPlacement.Top} asChild>\n <button>Hover me</button>\n</Tooltip>"
2994
- ],
2995
- "sourceFile": "components/New/Tooltip/Tooltip.tsx"
2996
- },
2997
- {
2998
- "name": "TooltipContainer",
2999
- "category": "Components_2_0",
3000
- "generation": "2.0",
3001
- "description": "Provides tooltip positioning and open state to a trigger and a content pair.\naliases: TooltipProvider|TooltipRoot\nDesign system 2.0\n\nUse it directly only when the trigger and the content cannot be rendered by\n`Tooltip` itself — for example when the content needs custom markup.",
3002
- "props": [],
3003
- "examples": [
3004
- "<TooltipContainer placement={TooltipPlacement.Top}>\n <TooltipTrigger asChild>\n <button>Hover me</button>\n </TooltipTrigger>\n <TooltipContent>Tooltip text</TooltipContent>\n</TooltipContainer>"
3005
- ],
3006
- "sourceFile": "components/New/Tooltip/TooltipContainer.tsx"
3007
- },
3008
- {
3009
- "name": "TooltipContent",
3010
- "category": "Components_2_0",
3011
- "generation": "2.0",
3012
- "description": "The floating bubble that carries the tooltip text.\nDesign system 2.0\n\nRendered in a portal, above popups and dropdowns, with an arrow pointing back\nat the trigger. Renders nothing on a mobile screen, where there is no hover\nto reveal it — so a control must never depend on a tooltip alone to be\nunderstood, or to have an accessible name.",
3013
- "props": [
3014
- {
3015
- "name": "style",
3016
- "type": "CSSProperties",
3017
- "required": false,
3018
- "description": "Additional inline styles for the tooltip bubble"
3019
- }
3880
+ "interface Product { id: string; name: string; price: number }\n\nconst columns: ColDef<Product>[] = [\n { field: 'name', headerName: 'Product', flex: 1 },\n { field: 'price', headerName: 'Price', width: 120 },\n];\n\n<Grid<Product> columnDefs={columns} rowData={products} />\n\n// With selection and a context menu\n<Grid<Product>\n columnDefs={columns}\n rowData={products}\n selectionMode={GridSelectionMode.MULTIPLE}\n selectedRowIds={selectedIds}\n onSelectionChange={(ids) => setSelectedIds(ids)}\n selectRowLabel={(row) => `Select ${row.name}`}\n getContextMenuItems={(row) => [{ key: 'edit', label: 'Edit' }]}\n/>"
3020
3881
  ],
3021
- "examples": [],
3022
- "sourceFile": "components/New/Tooltip/TooltipContent.tsx"
3882
+ "sourceFile": "components/New/Grid/Grid.tsx"
3023
3883
  },
3024
3884
  {
3025
- "name": "TooltipTrigger",
3026
- "category": "Components_2_0",
3885
+ "name": "DateCellRenderer",
3886
+ "category": "Components_2_0/Grid",
3027
3887
  "generation": "2.0",
3028
- "description": "The element a tooltip is anchored to and opened from.\nDesign system 2.0\n\nPrefer `asChild` whenever the trigger is a single element: it puts the\n`aria-describedby` that names the tooltip on the control itself instead of on\na wrapper `<span>`, which is the only way the tooltip text reaches assistive\ntechnology.",
3888
+ "description": "Date cell for the 2.0 , usable as an ag-Grid `cellRenderer`.\naliases: DateCell|TimestampCell\nDesign system 2.0\n\nFormats the value with `Intl.DateTimeFormat` and wraps it in a\n, so the full string is only offered when the column is\ntoo narrow to show it. A valid date is rendered inside a `<time datetime>`,\nwhich gives assistive tech and crawlers the machine-readable value next to\nthe localised one.",
3029
3889
  "props": [
3030
3890
  {
3031
- "name": "asChild",
3032
- "type": "boolean",
3891
+ "name": "value",
3892
+ "type": "DateValue | null",
3033
3893
  "required": false,
3034
- "defaultValue": "false",
3035
- "description": "Render the child as the trigger instead of wrapping it in a `<span>`"
3036
- }
3037
- ],
3038
- "examples": [],
3039
- "sourceFile": "components/New/Tooltip/TooltipTrigger.tsx"
3040
- },
3041
- {
3042
- "name": "EllipsisTooltip",
3043
- "category": "Components_2_0",
3044
- "generation": "2.0",
3045
- "description": "Single-line text with a CSS ellipsis that reveals the full string in a\ntooltip **only when it is actually clipped**.\naliases: TruncatedText|TruncationTooltip\nDesign system 2.0\n\nText that fits gets no tooltip at all, so a row of labels does not sprout\ntooltips that repeat what is already on screen.\n\nThe width has to be finite for anything to truncate: the element is a\n`min-w-0`, `flex-1` block, and `className` sets the width it should fit into.\n\na11y: while truncated, the full string is exposed as the element's\n`aria-label`, so a screen reader reads the whole label even though the\ntooltip itself renders nothing on mobile screens.",
3046
- "props": [
3047
- {
3048
- "name": "text",
3049
- "type": "ReactNode",
3050
- "required": true,
3051
- "description": "The text or node to display, truncated with an ellipsis when it does not fit"
3894
+ "description": "The date to render."
3052
3895
  },
3053
3896
  {
3054
- "name": "className",
3897
+ "name": "locale",
3055
3898
  "type": "string",
3056
3899
  "required": false,
3057
- "description": "Additional CSS classes for the text element, typically its width"
3900
+ "defaultValue": "DEFAULT_LOCALE",
3901
+ "description": "Locale used for formatting."
3058
3902
  },
3059
3903
  {
3060
- "name": "contentClassName",
3061
- "type": "string",
3904
+ "name": "options",
3905
+ "type": "Intl.DateTimeFormatOptions",
3062
3906
  "required": false,
3063
- "description": "Additional CSS classes for the tooltip bubble"
3907
+ "defaultValue": "DEFAULT_DATE_FORMAT_OPTIONS",
3908
+ "description": "`Intl.DateTimeFormat` options, e.g. `timeZone`."
3064
3909
  },
3065
3910
  {
3066
- "name": "hideTooltip",
3067
- "type": "boolean",
3911
+ "name": "emptyPlaceholder",
3912
+ "type": "string",
3068
3913
  "required": false,
3069
- "defaultValue": "false",
3070
- "description": "Suppress the tooltip even while the text is truncated"
3914
+ "description": "Rendered when the value carries no usable date."
3071
3915
  },
3072
3916
  {
3073
- "name": "id",
3917
+ "name": "className",
3074
3918
  "type": "string",
3075
3919
  "required": false,
3076
- "description": "`id` of the text element"
3920
+ "description": "Additional CSS classes for the cell."
3077
3921
  },
3078
3922
  {
3079
- "name": "customTooltipContent",
3080
- "type": "ReactNode",
3923
+ "name": "hideTooltip",
3924
+ "type": "boolean",
3081
3925
  "required": false,
3082
- "description": "Shown instead of the full text while truncated"
3926
+ "defaultValue": "false",
3927
+ "description": "Suppresses the truncation tooltip."
3083
3928
  }
3084
3929
  ],
3085
3930
  "examples": [
3086
- "<EllipsisTooltip text=\"Very long message that will be truncated\" />\n\n<EllipsisTooltip\n text={<span className=\"dial-small-semi-text\">Custom node</span>}\n className=\"max-w-[160px]\"\n/>\n\n<EllipsisTooltip text=\"Tooltip suppressed even when clipped\" hideTooltip />"
3931
+ "// As a column renderer\n{ field: 'createdAt', cellRenderer: DateCellRenderer,\n cellRendererParams: { options: { timeZone: 'UTC' } } }\n\n// Directly\n<DateCellRenderer value=\"2025-07-20T00:00:00Z\" options={{ timeZone: 'UTC' }} />\n<DateCellRenderer value={1752969600000} /> // epoch milliseconds"
3087
3932
  ],
3088
- "sourceFile": "components/New/EllipsisTooltip/EllipsisTooltip.tsx"
3933
+ "sourceFile": "components/New/Grid/renderers/DateCellRenderer.tsx"
3089
3934
  },
3090
3935
  {
3091
3936
  "name": "DialCaptionText",
@@ -4182,7 +5027,8 @@
4182
5027
  "examples": [
4183
5028
  "<DialSlider\n value={0.5}\n min={0}\n max={1}\n step={0.1}\n labels={['Precise', 'Neutral', 'Creative']}\n aria-label=\"Temperature\"\n onChange={(v) => console.log(v)}\n/>"
4184
5029
  ],
4185
- "sourceFile": "components/Slider/Slider.tsx"
5030
+ "sourceFile": "components/Slider/Slider.tsx",
5031
+ "supersededBy": "Slider"
4186
5032
  },
4187
5033
  {
4188
5034
  "name": "DialNoDataContent",
@@ -4230,7 +5076,8 @@
4230
5076
  "examples": [
4231
5077
  "<NoDataContent\n emptyDataTitle=\"No results found\"\n icon={<CustomIcon />}\n/>"
4232
5078
  ],
4233
- "sourceFile": "components/NoDataContent/NoDataContent.tsx"
5079
+ "sourceFile": "components/NoDataContent/NoDataContent.tsx",
5080
+ "supersededBy": "NoDataContent"
4234
5081
  },
4235
5082
  {
4236
5083
  "name": "DialCollapsibleSidebar",
@@ -4305,7 +5152,8 @@
4305
5152
  "examples": [
4306
5153
  "<DialCollapsibleSidebar\n width={300}\n title=\"Menu\"\n titleClassName=\"text-primary font-bold\"\n containerClassName=\"bg-gray-100 shadow-md\"\n iconSize={24}\n additionalButtons={<button>Extra</button>}\n>\n <div>Content goes here</div>\n</DialCollapsibleSidebar>"
4307
5154
  ],
4308
- "sourceFile": "components/CollapsibleSidebar/CollapsibleSidebar.tsx"
5155
+ "sourceFile": "components/CollapsibleSidebar/CollapsibleSidebar.tsx",
5156
+ "supersededBy": "CollapsibleSidebar"
4309
5157
  },
4310
5158
  {
4311
5159
  "name": "DialLabelledText",
@@ -4900,7 +5748,8 @@
4900
5748
  }
4901
5749
  ],
4902
5750
  "examples": [],
4903
- "sourceFile": "components/ResizableContainer/ResizableContainer.tsx"
5751
+ "sourceFile": "components/ResizableContainer/ResizableContainer.tsx",
5752
+ "supersededBy": "ResizableContainer"
4904
5753
  },
4905
5754
  {
4906
5755
  "name": "DialConditionalResizableContainer",
@@ -4919,7 +5768,8 @@
4919
5768
  "examples": [
4920
5769
  "<DialConditionalResizableContainer\n enabled={!isCollapsed}\n defaultWidth={260}\n minWidth={180}\n maxWidth={520}\n onResize={(w) => console.log('Current width:', w)}\n onResizeStop={(w) => setSidebarWidth(w)}\n>\n <Sidebar />\n</DialConditionalResizableContainer>"
4921
5770
  ],
4922
- "sourceFile": "components/ResizableContainer/ConditionalResizableContainer.tsx"
5771
+ "sourceFile": "components/ResizableContainer/ConditionalResizableContainer.tsx",
5772
+ "supersededBy": "ConditionalResizableContainer"
4923
5773
  },
4924
5774
  {
4925
5775
  "name": "DialGrid",
@@ -5074,7 +5924,8 @@
5074
5924
  "examples": [
5075
5925
  "// Basic usage with data\ninterface Product {\n id: string;\n name: string;\n price: number;\n}\n\nconst columns: ColDef<Product>[] = [\n { field: 'name', headerName: 'Product Name', flex: 1 },\n { field: 'price', headerName: 'Price', width: 120 },\n];\n\n<DialGrid<Product>\n columnDefs={columns}\n rowData={products}\n/>\n\n// With loading state\n<DialGrid<Product>\n columnDefs={columns}\n rowData={products}\n loading={true}\n/>\n\n// With context menu\nconst getContextMenu = (row: Product): DropdownItem[] => [\n { key: 'edit', label: 'Edit' },\n { key: 'delete', label: 'Delete', danger: true },\n];\n\n<DialGrid<Product>\n columnDefs={columns}\n rowData={products}\n getContextMenuItems={getContextMenu}\n/>\n\n// Controlled selection\nconst [selectedIds, setSelectedIds] = useState<Set<string>>(new Set());\n\n<DialGrid<Product>\n columnDefs={columns}\n rowData={products}\n selectedRowIds={selectedIds}\n onSelectionChange={(ids, rows) => {\n setSelectedIds(ids);\n console.log('Selected:', rows);\n }}\n/>"
5076
5926
  ],
5077
- "sourceFile": "components/Grid/Grid.tsx"
5927
+ "sourceFile": "components/Grid/Grid.tsx",
5928
+ "supersededBy": "Grid"
5078
5929
  },
5079
5930
  {
5080
5931
  "name": "DialDateCellRenderer",
@@ -5123,7 +5974,8 @@
5123
5974
  "examples": [
5124
5975
  "// ag-Grid colDef\n{ field: 'createdAt', cellRenderer: DateCellRenderer, cellRendererParams: { options: { timeZone: 'UTC' } } }\n\n// Direct usage\n<DateCellRenderer value=\"2025-07-20T00:00:00Z\" options={{ timeZone: 'UTC' }} />\n<DateCellRenderer value={1752969600000} options={{ timeZone: 'UTC' }} /> // milliseconds"
5125
5976
  ],
5126
- "sourceFile": "components/Grid/renderers/DateCellRenderer.tsx"
5977
+ "sourceFile": "components/Grid/renderers/DateCellRenderer.tsx",
5978
+ "supersededBy": "DateCellRenderer"
5127
5979
  },
5128
5980
  {
5129
5981
  "name": "DialTabs",
@@ -5764,7 +6616,7 @@
5764
6616
  "name": "DialTooltipContent",
5765
6617
  "category": "Overlay",
5766
6618
  "generation": "1.0",
5767
- "description": "The content area of a tooltip that displays the tooltip information\nDesign system 1.0",
6619
+ "description": "The content area of a tooltip that displays the tooltip information\nDesign system 1.0\n\nRenders nothing on a touch-only device, where no pointer can hover to reveal\nit. A narrow viewport is not itself disqualifying: an embed a few hundred\npixels wide still hovers on a desktop.",
5768
6620
  "props": [],
5769
6621
  "examples": [],
5770
6622
  "sourceFile": "components/Tooltip/TooltipContent.tsx",
@@ -8280,6 +9132,39 @@
8280
9132
  ],
8281
9133
  "sourceFile": "types/dropdown.ts"
8282
9134
  },
9135
+ {
9136
+ "name": "MenuItemMark",
9137
+ "kind": "enum",
9138
+ "members": [
9139
+ {
9140
+ "name": "None",
9141
+ "value": "'none'",
9142
+ "comment": "Nothing marks the row — it is only ever unselected."
9143
+ },
9144
+ {
9145
+ "name": "Check",
9146
+ "value": "'check'",
9147
+ "comment": "A trailing check on the chosen row; the row keeps its plain background."
9148
+ },
9149
+ {
9150
+ "name": "Tint",
9151
+ "value": "'tint'",
9152
+ "comment": "The chosen row is tinted, with no glyph — the select list's own mark."
9153
+ },
9154
+ {
9155
+ "name": "Checkbox",
9156
+ "value": "'checkbox'",
9157
+ "comment": "A leading checkbox box, tinted while checked, for multiselect rows."
9158
+ },
9159
+ {
9160
+ "name": "Highlight",
9161
+ "value": "'highlight'",
9162
+ "comment": "Accent label on a tinted row: the current item in a navigation menu."
9163
+ }
9164
+ ],
9165
+ "sourceFile": "types/menu-item.ts",
9166
+ "description": "How a chosen row inside an overlay (dropdown menu, select list) is marked.\n\nThe design marks a chosen row differently depending on what the overlay is.\nA **menu** puts a check at the trailing edge, single- and multi-select alike,\nand gives the current item of a navigation menu an accent label. A **select\nlist** tints the chosen row instead, with a checkbox in front of it when the\nlist is a multiselect."
9167
+ },
8283
9168
  {
8284
9169
  "name": "ElementSize",
8285
9170
  "kind": "enum",
@@ -8733,6 +9618,10 @@
8733
9618
  "name": "icon?",
8734
9619
  "value": "ReactNode"
8735
9620
  },
9621
+ {
9622
+ "name": "rightControl?",
9623
+ "value": "ReactNode"
9624
+ },
8736
9625
  {
8737
9626
  "name": "children?",
8738
9627
  "value": "SelectOption[]"
@@ -8814,6 +9703,22 @@
8814
9703
  "name": "danger?",
8815
9704
  "value": "boolean"
8816
9705
  },
9706
+ {
9707
+ "name": "selectable?",
9708
+ "value": "boolean"
9709
+ },
9710
+ {
9711
+ "name": "mark?",
9712
+ "value": "MenuItemMark"
9713
+ },
9714
+ {
9715
+ "name": "checked?",
9716
+ "value": "boolean"
9717
+ },
9718
+ {
9719
+ "name": "rightControl?",
9720
+ "value": "ReactNode"
9721
+ },
8817
9722
  {
8818
9723
  "name": "type?",
8819
9724
  "value": "DropdownItemType"
@@ -9384,6 +10289,29 @@
9384
10289
  "sourceFile": "components/New/Calendar/Calendar.tsx",
9385
10290
  "typeBody": "Date | string | null"
9386
10291
  },
10292
+ {
10293
+ "name": "TextareaResize",
10294
+ "kind": "enum",
10295
+ "members": [
10296
+ {
10297
+ "name": "None",
10298
+ "value": "'none'"
10299
+ },
10300
+ {
10301
+ "name": "Both",
10302
+ "value": "'both'"
10303
+ },
10304
+ {
10305
+ "name": "Horizontal",
10306
+ "value": "'horizontal'"
10307
+ },
10308
+ {
10309
+ "name": "Vertical",
10310
+ "value": "'vertical'"
10311
+ }
10312
+ ],
10313
+ "sourceFile": "components/New/Textarea/Textarea.tsx"
10314
+ },
9387
10315
  {
9388
10316
  "name": "RadioGroupItem",
9389
10317
  "kind": "interface",
@@ -9466,6 +10394,21 @@
9466
10394
  "sourceFile": "components/New/Tabs/Tabs.tsx",
9467
10395
  "description": "A single tab entry rendered by ."
9468
10396
  },
10397
+ {
10398
+ "name": "TagAppearance",
10399
+ "kind": "enum",
10400
+ "members": [
10401
+ {
10402
+ "name": "Outlined",
10403
+ "value": "'outlined'"
10404
+ },
10405
+ {
10406
+ "name": "Selectable",
10407
+ "value": "'selectable'"
10408
+ }
10409
+ ],
10410
+ "sourceFile": "types/tag.ts"
10411
+ },
9469
10412
  {
9470
10413
  "name": "TooltipContainerOptions",
9471
10414
  "kind": "interface",
@@ -9534,7 +10477,7 @@
9534
10477
  },
9535
10478
  {
9536
10479
  "name": "convertGridDateToDate",
9537
- "sourceFile": "components/Grid/renderers/utils.ts"
10480
+ "sourceFile": "utils/grid-date.ts"
9538
10481
  },
9539
10482
  {
9540
10483
  "name": "useDialFileManagerTabs",
@@ -9573,11 +10516,76 @@
9573
10516
  "description": "Hook to read the File Manager context.\nThrows if used outside of the provider.",
9574
10517
  "signature": "() => unknown"
9575
10518
  },
10519
+ {
10520
+ "name": "useThemeScope",
10521
+ "sourceFile": "components/New/ThemeScope/ThemeScope.tsx",
10522
+ "description": "Class names of the enclosing `ThemeScope`s, outermost first, or `''` when the\ncaller sits outside any scope. Components rendering into a `FloatingPortal`\nmerge this onto their floating root so the tokens follow them out of the\nsubtree.",
10523
+ "signature": "() => string"
10524
+ },
9576
10525
  {
9577
10526
  "name": "matchesAccept",
9578
10527
  "sourceFile": "utils/file-accept.ts",
9579
10528
  "description": "Tests a file against the value of a native `accept` attribute.\n\nThe file picker filters by `accept` on its own, but a drop does not: dropping\na `.png` onto an input that accepts `.md` hands the file over regardless. Any\ndrop target therefore has to re-check what it received.\n\nSupports all three `accept` token forms — an extension (`.md`), a full MIME\ntype (`text/markdown`) and a MIME wildcard (`image/*`). An empty or missing\n`accept` accepts everything, matching the attribute's own semantics.",
9580
10529
  "signature": "(file: File, accept?: string) => boolean"
10530
+ },
10531
+ {
10532
+ "name": "GRID_SELECTION_COLUMN_ID",
10533
+ "sourceFile": "components/New/Grid/Grid.tsx",
10534
+ "description": "Column id of the selection column this component prepends itself.",
10535
+ "signature": "GRID_SELECTION_COLUMN_ID = 'dial-kit-grid-selection'"
10536
+ },
10537
+ {
10538
+ "name": "DEFAULT_DATE_FORMAT_OPTIONS",
10539
+ "sourceFile": "components/New/Grid/renderers/constants.ts",
10540
+ "signature": "DEFAULT_DATE_FORMAT_OPTIONS: Intl.DateTimeFormatOptions"
10541
+ },
10542
+ {
10543
+ "name": "DEFAULT_DATE_LOCALE",
10544
+ "sourceFile": "components/New/Grid/renderers/constants.ts"
10545
+ },
10546
+ {
10547
+ "name": "GRID_ALIGN_RIGHT_CLASS",
10548
+ "sourceFile": "components/New/Grid/constants.ts",
10549
+ "description": "Right-aligns a column. Applied by the consumer through `cellClass`.",
10550
+ "signature": "GRID_ALIGN_RIGHT_CLASS = 'dial-kit-grid-align-right'"
10551
+ },
10552
+ {
10553
+ "name": "GRID_ROOT_CLASS",
10554
+ "sourceFile": "components/New/Grid/constants.ts",
10555
+ "description": "Root class of the 2.0 grid; every rule in `styles/grid.scss` sits under it.",
10556
+ "signature": "GRID_ROOT_CLASS = 'dial-kit-grid'"
10557
+ },
10558
+ {
10559
+ "name": "GRID_THEME_PARAMS",
10560
+ "sourceFile": "components/New/Grid/constants.ts",
10561
+ "description": "ag-Grid theme parameters, resolved from the 2.0 colour tokens with the same\nliteral fallbacks the Tailwind config carries, so a consumer that defines no\nCSS variables still gets the intended palette.\n\nHover sits one step up the accent-alpha ramp from the selected tint, so a\nhovered selected row still reads as hovered — the same relationship the 2.0\ndropdown and select rows use.",
10562
+ "signature": "GRID_THEME_PARAMS = {\n accentColor: 'var(--bg-control-accent, #1D4ED8)',\n backgroundColor: 'var(--bg-layer-raised, #FCFCFC)',\n oddRowBackgroundColor: 'var(--bg-layer-sunken, #EEF1F7)',\n selectedRowBackgroundColor: 'var(--bg-control-accent-alpha, #2764D90F)',\n rowHoverColor: 'var(--bg-control-accent-alpha-hover, #2764D924)',\n borderColor: 'var(--stroke-tertiary, #E0E6F0)',\n // Dividers inside the table sit on the thin stroke (0.5px) rather than the\n // 1px main stroke that controls and standalone dividers use, so a dense grid\n // reads as rows of data instead of a set of boxes. Sub-pixel widths are\n // antialiased rather than snapped, which is what makes the line look lighter.\n // `wrapperBorder` and the pinned-column boundary are left on the main stroke\n // by the theme: those frame the table and separate its regions rather than\n // dividing rows and columns.\n rowBorder: THIN_TABLE_DIVIDER,\n headerRowBorder: THIN_TABLE_DIVIDER,\n headerColumnBorder: THIN_TABLE_DIVIDER,\n chromeBackgroundColor: 'var(--bg-layer-base, #F5F7FA)',\n foregroundColor: 'var(--text-primary, #161B2D)',\n headerTextColor: 'var(--text-secondary, #57647A)',\n // 1.0 asked the browser for dark native widgets while painting a light\n // theme; the scheme now matches the palette it is used with.\n browserColorScheme: 'light',\n headerFontSize: 14,\n headerFontWeight: 600,\n fontSize: 14,\n fontFamily: 'var(--theme-font, var(--font-inter))',\n spacing: 4,\n borderRadius: 4,\n wrapperBorderRadius: 8,\n}"
10563
+ },
10564
+ {
10565
+ "name": "GRID_ROW_HEIGHT",
10566
+ "sourceFile": "components/New/Grid/constants.ts"
10567
+ },
10568
+ {
10569
+ "name": "DIAL_KIT_ICON_STROKE",
10570
+ "sourceFile": "components/New/constants/icon.ts",
10571
+ "description": "Icon stroke (1.5px) from the 2.0 stroke scale. Tabler renders every outline\nicon at `stroke={2}` unless told otherwise, so the token has to be passed\nexplicitly — a 2.0 component that omits it draws a heavier icon than the\ndesign system asks for.\n\nIt is a number rather than a Tailwind utility because an icon's weight is an\nSVG `stroke-width` attribute on the glyph, not a border on its box. The\nborder half of the same scale stays on plain Tailwind widths — `border`,\n`border-2`, `border-4`, and `border-[0.5px]` for a table divider.\n\nExported publicly so icons a consumer passes into a 2.0 component — a button\nicon, a menu item, a segmented-control segment — can match the ones the\ncomponents draw themselves.\n\nTwo deliberate departures inside the library: the empty-state illustrations\n(`NoDataContent`, the grid's no-rows overlay) use a much lighter stroke,\nsince a 1.5px line reads as a drawing at 16px and as a fence at 100px; and\nthe checkbox glyph uses a heavier one, because it is a control mark sized to\na 14px box rather than an icon from the set.",
10572
+ "signature": "DIAL_KIT_ICON_STROKE = 1.5"
10573
+ },
10574
+ {
10575
+ "name": "convertToDate",
10576
+ "sourceFile": "utils/grid-date.ts",
10577
+ "description": "Normalises the value a date cell can receive into a `Date`, or `null` when it\ncarries no usable date. A pure integer string is read as epoch milliseconds,\nso a serialised timestamp behaves like the number it came from.",
10578
+ "signature": "(input?: DateValue | null) => Date | null"
10579
+ },
10580
+ {
10581
+ "name": "baseColumnComparator",
10582
+ "sourceFile": "utils/grid-comparators.ts",
10583
+ "signature": "(a: string | number | undefined, b: string | number | undefined, _nodeA?: IRowNode, _nodeB?: IRowNode, isInverted?: boolean) => number"
10584
+ },
10585
+ {
10586
+ "name": "checkColDefsChanges",
10587
+ "sourceFile": "utils/grid-comparators.ts",
10588
+ "signature": "(cols: ColDef[], initialCols: ColDef[]) => unknown"
9581
10589
  }
9582
10590
  ],
9583
10591
  "utils": [