@epam/ai-dial-ui-kit 0.14.0-dev.5 → 0.14.0-dev.51

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 (534) hide show
  1. package/README.md +34 -4
  2. package/dist/CHANGELOG.md +20 -4
  3. package/dist/DateCellRenderer-BVM-Q8yx.cjs +63 -0
  4. package/dist/DateCellRenderer-C9SdzDU4.cjs +1 -0
  5. package/dist/IconButton-DWqoaBWf.cjs +1 -0
  6. package/dist/JsonEditor-BlaSMX26.cjs +1 -0
  7. package/dist/MarkdownEditor-5kljDPcm.cjs +1 -0
  8. package/dist/MarkdownEditor-C0_gU7Fi.cjs +1 -0
  9. package/dist/MarkdownEditorContainer-BqTGQArV.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/no-data.svg.js +5 -0
  30. package/dist/assets/icons/open-popup.svg.js +5 -0
  31. package/dist/assets/icons/unshare.svg.js +5 -0
  32. package/dist/components/Accordion/Accordion.js +70 -0
  33. package/dist/components/Analytics/Bar/Bar.js +80 -0
  34. package/dist/components/Analytics/Bar/utils.js +24 -0
  35. package/dist/components/Analytics/BarGroup/BarGroup.js +142 -0
  36. package/dist/components/Analytics/Card/Card.js +87 -0
  37. package/dist/components/Analytics/ErrorTag/ErrorTag.js +19 -0
  38. package/dist/components/Analytics/Histogram/Histogram.js +200 -0
  39. package/dist/components/Analytics/Histogram/utils.js +45 -0
  40. package/dist/components/AutocompleteInput/AutocompleteInputValue.js +21 -0
  41. package/dist/components/Breadcrumb/Breadcrumb.js +126 -0
  42. package/dist/components/Breadcrumb/BreadcrumbItem.js +83 -0
  43. package/dist/components/Breadcrumb/constants.js +20 -0
  44. package/dist/components/Button/Button.js +53 -0
  45. package/dist/components/Button/ButtonWrappers.js +40 -0
  46. package/dist/components/Button/constants.js +29 -0
  47. package/dist/components/Button/utils.js +11 -0
  48. package/dist/components/ButtonDropdown/ButtonDropdown.js +33 -0
  49. package/dist/components/ButtonDropdown/constants.js +8 -0
  50. package/dist/components/CaptionText/CaptionText.js +27 -0
  51. package/dist/components/Checkbox/Checkbox.js +64 -0
  52. package/dist/components/Checkbox/constants.js +4 -0
  53. package/dist/components/CloseButton/CloseButton.js +27 -0
  54. package/dist/components/CollapsibleSidebar/CollapsibleSidebar.js +84 -0
  55. package/dist/components/ConfirmationPopup/ConfirmationPopup.js +75 -0
  56. package/dist/components/ConfirmationPopup/constants.js +32 -0
  57. package/dist/components/DraggableItem/DraggableItem.js +61 -0
  58. package/dist/components/DraggableItem/constants.js +6 -0
  59. package/dist/components/Dropdown/Dropdown.js +293 -0
  60. package/dist/components/Dropdown/DropdownSubMenuItem.js +121 -0
  61. package/dist/components/Dropdown/constants.js +24 -0
  62. package/dist/components/DropdownIcon/DropdownIcon.js +92 -0
  63. package/dist/components/EllipsisTooltip/EllipsisTooltip.js +75 -0
  64. package/dist/components/EllipsisTooltip/constants.js +4 -0
  65. package/dist/components/FabButton/FabButton.js +35 -0
  66. package/dist/components/FileIcon/FileIcon.js +37 -0
  67. package/dist/components/FileIcon/constants.js +60 -0
  68. package/dist/components/FileManager/FileManager.js +887 -0
  69. package/dist/components/FileManager/FileManagerContext.js +5 -0
  70. package/dist/components/FileManager/FileManagerProvider.js +770 -0
  71. package/dist/components/FileManager/FileManagerTooltip.js +92 -0
  72. package/dist/components/FileManager/components/ConflictResolutionPopup/ConflictResolutionPopup.js +293 -0
  73. package/dist/components/FileManager/components/DestinationFolderPopup/DestinationFolderPopup.js +201 -0
  74. package/dist/components/FileManager/components/DialFileManagerItemSummaryCell/DialFileManagerItemSummaryCell.js +52 -0
  75. package/dist/components/FileManager/components/FileManagerBulkActionsToolbar/FileManagerBulkActionsToolbar.js +103 -0
  76. package/dist/components/FileManager/components/FileManagerBulkActionsToolbar/constants.js +5 -0
  77. package/dist/components/FileManager/components/FileManagerDeleteConfirmationPopup/FileManagerDeleteConfirmationPopup.js +56 -0
  78. package/dist/components/FileManager/components/FileManagerItemIcon/FileManagerItemIcon.js +69 -0
  79. package/dist/components/FileManager/components/FileManagerItemName/FileManagerItemName.js +100 -0
  80. package/dist/components/FileManager/components/FileManagerItemNameInput/FileManagerItemNameInput.js +93 -0
  81. package/dist/components/FileManager/components/FileManagerNavigationPanel/FileManagerNavigationPanel.js +165 -0
  82. package/dist/components/FileManager/components/FileManagerNavigationPanel/constants.js +6 -0
  83. package/dist/components/FileManager/components/FileManagerToolbar/DialFileManagerToolbar.js +120 -0
  84. package/dist/components/FileManager/components/FileMetadataPopup/FileMetadataPopup.js +119 -0
  85. package/dist/components/FileManager/components/FileMetadataPopup/constants.js +9 -0
  86. package/dist/components/FileManager/components/FoldersTree/FoldersTree.js +180 -0
  87. package/dist/components/FileManager/components/FoldersTree/constants.js +9 -0
  88. package/dist/components/FileManager/components/FoldersTree/hooks/use-expanded-paths.js +51 -0
  89. package/dist/components/FileManager/constants.js +28 -0
  90. package/dist/components/FileManager/errors.js +10 -0
  91. package/dist/components/FileManager/hooks/use-bulk-actions.js +143 -0
  92. package/dist/components/FileManager/hooks/use-collapse-tree.js +22 -0
  93. package/dist/components/FileManager/hooks/use-conflict-resolution.js +158 -0
  94. package/dist/components/FileManager/hooks/use-current-path.js +29 -0
  95. package/dist/components/FileManager/hooks/use-file-clipboard.js +154 -0
  96. package/dist/components/FileManager/hooks/use-file-delete.js +39 -0
  97. package/dist/components/FileManager/hooks/use-file-download.js +16 -0
  98. package/dist/components/FileManager/hooks/use-file-manager-columns.js +106 -0
  99. package/dist/components/FileManager/hooks/use-file-manager-context.js +13 -0
  100. package/dist/components/FileManager/hooks/use-file-manager-tabs.js +23 -0
  101. package/dist/components/FileManager/hooks/use-file-metadata.js +20 -0
  102. package/dist/components/FileManager/hooks/use-file-search.js +90 -0
  103. package/dist/components/FileManager/hooks/use-file-upload.js +338 -0
  104. package/dist/components/FileManager/hooks/use-folder-creation.js +151 -0
  105. package/dist/components/FileManager/hooks/use-grid-actions-column.js +65 -0
  106. package/dist/components/FileManager/hooks/use-grid-context-menu.js +188 -0
  107. package/dist/components/FileManager/hooks/use-item-renaming.js +124 -0
  108. package/dist/components/FileManager/hooks/use-new-actions.js +67 -0
  109. package/dist/components/FileManager/hooks/use-paths-selection.js +28 -0
  110. package/dist/components/FileManager/hooks/use-show-hidden-files.js +20 -0
  111. package/dist/components/FileManager/hooks/use-tree-additional-buttons.js +39 -0
  112. package/dist/components/FileManager/hooks/use-trigger-view-create-folder.js +42 -0
  113. package/dist/components/FileManager/hooks/use-trigger-view-rename.js +25 -0
  114. package/dist/components/FileManager/utils.js +129 -0
  115. package/dist/components/FileName/FileName.js +68 -0
  116. package/dist/components/FolderName/FolderName.js +57 -0
  117. package/dist/components/FormItem/FormItem.js +90 -0
  118. package/dist/components/FormItem/constants.js +9 -0
  119. package/dist/components/FormPopup/FormPopup.js +59 -0
  120. package/dist/components/FormPopup/constants.js +6 -0
  121. package/dist/components/Grid/Grid.js +333 -0
  122. package/dist/components/Grid/constants.js +33 -0
  123. package/dist/components/Grid/renderers/DateCellRenderer.js +27 -0
  124. package/dist/components/Grid/renderers/constants.js +25 -0
  125. package/dist/components/Icon/Icon.js +6 -0
  126. package/dist/components/IconButton/IconButton.js +40 -0
  127. package/dist/components/IconButton/IconButtonWrappers.js +48 -0
  128. package/dist/components/InfoButton/InfoButton.js +32 -0
  129. package/dist/components/InfoButton/constants.js +4 -0
  130. package/dist/components/Input/Button/InputButton.js +37 -0
  131. package/dist/components/Input/Button/constants.js +4 -0
  132. package/dist/components/Input/Input.js +120 -0
  133. package/dist/components/Input/utils.js +37 -0
  134. package/dist/components/InputPopup/InputPopup.js +174 -0
  135. package/dist/components/JsonEditor/JsonEditor.js +64 -0
  136. package/dist/components/JsonEditor/lazy.js +4 -0
  137. package/dist/components/Label/Label.js +27 -0
  138. package/dist/components/LabelledText/LabelledText.js +37 -0
  139. package/dist/components/LoadFileArea/EmptyFileArea.js +130 -0
  140. package/dist/components/LoadFileArea/FilledDropZone.js +80 -0
  141. package/dist/components/LoadFileArea/FilledInput.js +29 -0
  142. package/dist/components/LoadFileArea/LoadFileArea.js +70 -0
  143. package/dist/components/LoadFileArea/LoadFileAreaField.js +128 -0
  144. package/dist/components/Loader/Loader.js +40 -0
  145. package/dist/components/Loader/constants.js +5 -0
  146. package/dist/components/MarkdownEditor/MarkdownEditor.js +37 -0
  147. package/dist/components/MarkdownEditor/MarkdownEditorContainer.js +80 -0
  148. package/dist/components/MarkdownEditor/lazy.js +4 -0
  149. package/dist/components/New/Accordion/Accordion.js +103 -0
  150. package/dist/components/New/Button/Button.js +76 -0
  151. package/dist/components/New/Button/ButtonWrappers.js +44 -0
  152. package/dist/components/New/Button/constants.js +27 -0
  153. package/dist/components/New/Button/utils.js +11 -0
  154. package/dist/components/New/ButtonDropdown/ButtonDropdown.js +28 -0
  155. package/dist/components/New/ButtonDropdown/constants.js +17 -0
  156. package/dist/components/New/Calendar/Calendar.js +343 -0
  157. package/dist/components/New/Calendar/constants.js +57 -0
  158. package/dist/components/New/Calendar/utils.js +77 -0
  159. package/dist/components/New/CaptionText/CaptionText.js +27 -0
  160. package/dist/components/New/CardShell/CardShell.js +22 -0
  161. package/dist/components/New/Checkbox/Checkbox.js +92 -0
  162. package/dist/components/New/Checkbox/CheckboxBox.js +34 -0
  163. package/dist/components/New/Checkbox/constants.js +8 -0
  164. package/dist/components/New/CloseButton/CloseButton.js +33 -0
  165. package/dist/components/New/CollapsibleSidebar/CollapsibleSidebar.js +108 -0
  166. package/dist/components/New/ConfirmationPopup/ConfirmationPopup.js +78 -0
  167. package/dist/components/New/ConfirmationPopup/constants.js +27 -0
  168. package/dist/components/New/Dropdown/Dropdown.js +316 -0
  169. package/dist/components/New/Dropdown/DropdownSubMenuItem.js +105 -0
  170. package/dist/components/New/Dropdown/constants.js +28 -0
  171. package/dist/components/New/Dropdown/item-mark.js +6 -0
  172. package/dist/components/New/EllipsisTooltip/EllipsisTooltip.js +45 -0
  173. package/dist/components/New/EllipsisTooltip/use-truncation.js +18 -0
  174. package/dist/components/New/FileDropzone/FileDropzone.js +135 -0
  175. package/dist/components/New/FolderPath/FolderPath.js +64 -0
  176. package/dist/components/New/Grid/Grid.js +301 -0
  177. package/dist/components/New/Grid/components/SelectionCell.js +50 -0
  178. package/dist/components/New/Grid/components/SelectionHeader.js +46 -0
  179. package/dist/components/New/Grid/constants.js +44 -0
  180. package/dist/components/New/Grid/renderers/DateCellRenderer.js +27 -0
  181. package/dist/components/New/Grid/renderers/constants.js +25 -0
  182. package/dist/components/New/Highlight/Highlight.js +50 -0
  183. package/dist/components/New/IconButton/IconButton.js +46 -0
  184. package/dist/components/New/IconButton/IconButtonWrappers.js +40 -0
  185. package/dist/components/New/InfoButton/InfoButton.js +39 -0
  186. package/dist/components/New/InlineSelect/InlineSelect.js +96 -0
  187. package/dist/components/New/Input/Button/InputButton.js +38 -0
  188. package/dist/components/New/Input/Button/constants.js +4 -0
  189. package/dist/components/New/Input/Input.js +169 -0
  190. package/dist/components/New/Input/utils.js +37 -0
  191. package/dist/components/New/InteractiveTooltip/InteractiveTooltip.js +104 -0
  192. package/dist/components/New/InteractiveTooltip/constants.js +6 -0
  193. package/dist/components/New/Label/Label.js +42 -0
  194. package/dist/components/New/MarkdownEditor/MarkdownEditor.js +41 -0
  195. package/dist/components/New/MarkdownEditor/constants.js +43 -0
  196. package/dist/components/New/MarkdownEditor/lazy.js +4 -0
  197. package/dist/components/New/MenuItem/MenuItem.js +108 -0
  198. package/dist/components/New/MenuItem/constants.js +16 -0
  199. package/dist/components/New/NoDataContent/NoDataContent.js +54 -0
  200. package/dist/components/New/Notification/Notification.js +67 -0
  201. package/dist/components/New/Notification/NotificationWrapper.js +61 -0
  202. package/dist/components/New/Notification/constants.js +32 -0
  203. package/dist/components/New/NumberInput/NumberInput.js +41 -0
  204. package/dist/components/New/PasswordInput/PasswordInput.js +54 -0
  205. package/dist/components/New/Popup/Popup.js +164 -0
  206. package/dist/components/New/Popup/constants.js +17 -0
  207. package/dist/components/New/Radio/Radio.js +100 -0
  208. package/dist/components/New/RadioGroup/RadioGroup.js +81 -0
  209. package/dist/components/New/RadioGroup/constants.js +11 -0
  210. package/dist/components/New/RadioGroupPopupField/RadioGroupPopupField.js +138 -0
  211. package/dist/components/New/RadioGroupPopupField/constants.js +11 -0
  212. package/dist/components/New/ResizableContainer/ConditionalResizableContainer.js +6 -0
  213. package/dist/components/New/ResizableContainer/ResizableContainer.js +106 -0
  214. package/dist/components/New/ResizableContainer/components/ResizeHandle.js +85 -0
  215. package/dist/components/New/Search/Search.js +74 -0
  216. package/dist/components/New/SegmentedControl/SegmentedControl.js +92 -0
  217. package/dist/components/New/SegmentedControl/constants.js +19 -0
  218. package/dist/components/New/Select/MultiSelectTags.js +23 -0
  219. package/dist/components/New/Select/Select.js +379 -0
  220. package/dist/components/New/Select/SelectSubMenuItem.js +103 -0
  221. package/dist/components/New/Select/constants.js +42 -0
  222. package/dist/components/New/Slider/Slider.js +112 -0
  223. package/dist/components/New/Switch/Switch.js +95 -0
  224. package/dist/components/New/Tabs/Tabs.js +95 -0
  225. package/dist/components/New/Tag/Tag.js +76 -0
  226. package/dist/components/New/Tag/constants.js +17 -0
  227. package/dist/components/New/TagInput/TagInput.js +197 -0
  228. package/dist/components/New/TagInput/utils.js +21 -0
  229. package/dist/components/New/Textarea/Textarea.js +55 -0
  230. package/dist/components/New/ThemeScope/ThemeScope.js +14 -0
  231. package/dist/components/New/ToggleIconButton/ToggleIconButton.js +54 -0
  232. package/dist/components/New/Tooltip/Tooltip.js +19 -0
  233. package/dist/components/New/Tooltip/TooltipContainer.js +12 -0
  234. package/dist/components/New/Tooltip/TooltipContent.js +45 -0
  235. package/dist/components/New/Tooltip/TooltipContext.js +67 -0
  236. package/dist/components/New/Tooltip/TooltipTrigger.js +45 -0
  237. package/dist/components/New/Tooltip/constants.js +8 -0
  238. package/dist/components/New/constants/icon.js +4 -0
  239. package/dist/components/New/constants/overlay.js +27 -0
  240. package/dist/components/NoDataContent/NoDataContent.js +45 -0
  241. package/dist/components/Notification/Notification.js +67 -0
  242. package/dist/components/Notification/constants.js +24 -0
  243. package/dist/components/NumberInput/NumberInput.js +41 -0
  244. package/dist/components/Pagination/Pagination.js +80 -0
  245. package/dist/components/Pagination/utils.js +10 -0
  246. package/dist/components/PasswordInput/Icons/HideIcon.js +16 -0
  247. package/dist/components/PasswordInput/Icons/ShowIcon.js +16 -0
  248. package/dist/components/PasswordInput/PasswordInput.js +21 -0
  249. package/dist/components/Popup/Popup.js +110 -0
  250. package/dist/components/Popup/constants.js +12 -0
  251. package/dist/components/ProgressBar/ProgressBar.js +58 -0
  252. package/dist/components/RadioButton/RadioButton.js +103 -0
  253. package/dist/components/RadioGroup/RadioGroup.js +92 -0
  254. package/dist/components/RadioGroup/constants.js +10 -0
  255. package/dist/components/RadioGroupPopupField/RadioGroupPopupField.js +101 -0
  256. package/dist/components/RemoveButton/RemoveButton.js +30 -0
  257. package/dist/components/ResizableContainer/ConditionalResizableContainer.js +6 -0
  258. package/dist/components/ResizableContainer/ResizableContainer.js +79 -0
  259. package/dist/components/ResizableContainer/components/ResizeHandle.js +20 -0
  260. package/dist/components/ResizableContainer/components/ResizeIcon.js +11 -0
  261. package/dist/components/SchemaRenderer/SchemaRenderer.js +150 -0
  262. package/dist/components/SchemaRenderer/components/SchemaAdditionalPropertiesEditor.js +41 -0
  263. package/dist/components/SchemaRenderer/components/SchemaAnyOfEditor.js +74 -0
  264. package/dist/components/SchemaRenderer/components/SchemaArrayEditor.js +118 -0
  265. package/dist/components/SchemaRenderer/components/SchemaField.js +78 -0
  266. package/dist/components/SchemaRenderer/components/SchemaFieldContent.js +114 -0
  267. package/dist/components/SchemaRenderer/components/SchemaKeyValueEditor.js +184 -0
  268. package/dist/components/SchemaRenderer/components/SchemaObjectEditor.js +36 -0
  269. package/dist/components/SchemaRenderer/components/SchemaOneOfEditor.js +192 -0
  270. package/dist/components/SchemaRenderer/components/SchemaPrimitiveField.js +161 -0
  271. package/dist/components/SchemaRenderer/components/SchemaSection.js +81 -0
  272. package/dist/components/SchemaRenderer/context.js +12 -0
  273. package/dist/components/SchemaRenderer/types.js +27 -0
  274. package/dist/components/SchemaRenderer/utils.js +258 -0
  275. package/dist/components/Search/Search.js +63 -0
  276. package/dist/components/Search/constants.js +27 -0
  277. package/dist/components/SegmentedControl/SegmentedControl.js +87 -0
  278. package/dist/components/SegmentedControl/constants.js +8 -0
  279. package/dist/components/Select/MultiSelectTags.js +23 -0
  280. package/dist/components/Select/Select.js +435 -0
  281. package/dist/components/Select/SelectSubMenuItem.js +90 -0
  282. package/dist/components/Select/constants.js +15 -0
  283. package/dist/components/SelectField/SelectField.js +66 -0
  284. package/dist/components/SharedEntityIndicator/SharedEntityIndicator.js +34 -0
  285. package/dist/components/Skeleton/Skeleton.js +90 -0
  286. package/dist/components/Skeleton/utils.js +16 -0
  287. package/dist/components/Slider/Slider.js +158 -0
  288. package/dist/components/Spinner/Spinner.js +30 -0
  289. package/dist/components/Steps/Step.js +34 -0
  290. package/dist/components/Steps/Steps.js +27 -0
  291. package/dist/components/Steps/utils.js +42 -0
  292. package/dist/components/Switch/Switch.js +70 -0
  293. package/dist/components/Tab/Tab.js +65 -0
  294. package/dist/components/Tabs/Tabs.js +213 -0
  295. package/dist/components/Tabs/constants.js +4 -0
  296. package/dist/components/Tag/Tag.js +37 -0
  297. package/dist/components/TagInput/TagInput.js +179 -0
  298. package/dist/components/Textarea/Textarea.js +43 -0
  299. package/dist/components/Tooltip/Tooltip.js +30 -0
  300. package/dist/components/Tooltip/TooltipContainer.js +12 -0
  301. package/dist/components/Tooltip/TooltipContent.js +40 -0
  302. package/dist/components/Tooltip/TooltipContext.js +66 -0
  303. package/dist/components/Tooltip/TooltipTrigger.js +33 -0
  304. package/dist/components-manifest.json +1130 -182
  305. package/dist/{JsonEditor-DrC6i27F.js → constants/editor.js} +5 -63
  306. package/dist/constants/file-grid-columns.js +176 -0
  307. package/dist/constants/icon.js +10 -0
  308. package/dist/constants/validation.js +11 -0
  309. package/dist/dial-ui-kit.cjs +2 -0
  310. package/dist/dial-ui-kit.js +416 -0
  311. package/dist/editors.cjs +1 -0
  312. package/dist/editors.js +12 -0
  313. package/dist/file-manager.cjs +1 -0
  314. package/dist/file-manager.js +22 -0
  315. package/dist/grid.cjs +1 -0
  316. package/dist/grid.js +30 -0
  317. package/dist/hooks/use-editable-item.js +94 -0
  318. package/dist/hooks/use-flexible-actions.js +72 -0
  319. package/dist/hooks/use-has-hover.js +17 -0
  320. package/dist/hooks/use-is-mobile-screen.js +12 -0
  321. package/dist/hooks/use-is-tablet-screen.js +12 -0
  322. package/dist/hooks/use-screen-type.js +14 -0
  323. package/dist/hooks/use-width-breakpoint.js +15 -0
  324. package/dist/icon-CrGVkVpG.cjs +1 -0
  325. package/dist/icon-DhjrDQ8I.cjs +1 -0
  326. package/dist/index.css +2 -2
  327. package/dist/lazy-B1eG0EeX.cjs +1 -0
  328. package/dist/merge-classes-Dipy1Ih1.cjs +1 -0
  329. package/dist/migration-guides/0.14.0/button-tooltip-2-0.md +1 -1
  330. package/dist/migration-guides/0.14.0/shadow-token-per-step-rename.md +139 -0
  331. package/dist/migration-guides/0.14.0/tag-single-size.md +121 -0
  332. package/dist/migration-guides/README.md +2 -0
  333. package/dist/models/file.js +6 -0
  334. package/dist/models/selection-mode.js +4 -0
  335. package/dist/models/step.js +4 -0
  336. package/dist/node_modules/@react-dnd/asap/dist/AsapQueue.js +39 -0
  337. package/dist/node_modules/@react-dnd/asap/dist/RawTask.js +17 -0
  338. package/dist/node_modules/@react-dnd/asap/dist/TaskFactory.js +16 -0
  339. package/dist/node_modules/@react-dnd/asap/dist/asap.js +9 -0
  340. package/dist/node_modules/@react-dnd/asap/dist/makeRequestCall.js +62 -0
  341. package/dist/node_modules/@react-dnd/invariant/dist/index.js +22 -0
  342. package/dist/node_modules/@react-dnd/shallowequal/dist/index.js +25 -0
  343. package/dist/node_modules/ag-grid-community/dist/package/main.esm.js +39799 -0
  344. package/dist/node_modules/ag-grid-react/dist/package/index.esm.js +1989 -0
  345. package/dist/node_modules/dnd-core/dist/actions/dragDrop/beginDrag.js +70 -0
  346. package/dist/node_modules/dnd-core/dist/actions/dragDrop/drop.js +54 -0
  347. package/dist/node_modules/dnd-core/dist/actions/dragDrop/endDrag.js +18 -0
  348. package/dist/node_modules/dnd-core/dist/actions/dragDrop/hover.js +42 -0
  349. package/dist/node_modules/dnd-core/dist/actions/dragDrop/index.js +17 -0
  350. package/dist/node_modules/dnd-core/dist/actions/dragDrop/local/setClientOffset.js +13 -0
  351. package/dist/node_modules/dnd-core/dist/actions/dragDrop/publishDragSource.js +12 -0
  352. package/dist/node_modules/dnd-core/dist/actions/dragDrop/types.js +9 -0
  353. package/dist/node_modules/dnd-core/dist/actions/registry.js +43 -0
  354. package/dist/node_modules/dnd-core/dist/classes/DragDropManagerImpl.js +41 -0
  355. package/dist/node_modules/dnd-core/dist/classes/DragDropMonitorImpl.js +115 -0
  356. package/dist/node_modules/dnd-core/dist/classes/HandlerRegistryImpl.js +96 -0
  357. package/dist/node_modules/dnd-core/dist/contracts.js +21 -0
  358. package/dist/node_modules/dnd-core/dist/createDragDropManager.js +19 -0
  359. package/dist/node_modules/dnd-core/dist/interfaces.js +7 -0
  360. package/dist/node_modules/dnd-core/dist/reducers/dirtyHandlerIds.js +30 -0
  361. package/dist/node_modules/dnd-core/dist/reducers/dragOffset.js +50 -0
  362. package/dist/node_modules/dnd-core/dist/reducers/dragOperation.js +78 -0
  363. package/dist/node_modules/dnd-core/dist/reducers/index.js +42 -0
  364. package/dist/node_modules/dnd-core/dist/reducers/refCount.js +16 -0
  365. package/dist/node_modules/dnd-core/dist/reducers/stateId.js +6 -0
  366. package/dist/node_modules/dnd-core/dist/utils/coords.js +26 -0
  367. package/dist/node_modules/dnd-core/dist/utils/dirtiness.js +12 -0
  368. package/dist/node_modules/dnd-core/dist/utils/equality.js +17 -0
  369. package/dist/node_modules/dnd-core/dist/utils/getNextUniqueId.js +7 -0
  370. package/dist/node_modules/dnd-core/dist/utils/js_utils.js +36 -0
  371. package/dist/node_modules/dnd-core/dist/utils/matchesType.js +8 -0
  372. package/dist/node_modules/fast-deep-equal/index.js +31 -0
  373. package/dist/node_modules/mime-db/db.json.js +2527 -0
  374. package/dist/node_modules/mime-db/index.js +8 -0
  375. package/dist/node_modules/mime-types/index.js +70 -0
  376. package/dist/node_modules/mime-types/mimeScore.js +38 -0
  377. package/dist/node_modules/re-resizable/lib/index.js +424 -0
  378. package/dist/node_modules/re-resizable/lib/resizer.js +49 -0
  379. package/dist/node_modules/react-dnd/dist/core/DndContext.js +7 -0
  380. package/dist/node_modules/react-dnd/dist/core/DndProvider.js +66 -0
  381. package/dist/node_modules/react-dnd/dist/hooks/useCollectedProps.js +11 -0
  382. package/dist/node_modules/react-dnd/dist/hooks/useCollector.js +22 -0
  383. package/dist/node_modules/react-dnd/dist/hooks/useDrag/DragSourceImpl.js +25 -0
  384. package/dist/node_modules/react-dnd/dist/hooks/useDrag/connectors.js +21 -0
  385. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDrag.js +20 -0
  386. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSource.js +19 -0
  387. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceConnector.js +22 -0
  388. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceMonitor.js +15 -0
  389. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragType.js +13 -0
  390. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useRegisteredDragSource.js +23 -0
  391. package/dist/node_modules/react-dnd/dist/hooks/useDragDropManager.js +10 -0
  392. package/dist/node_modules/react-dnd/dist/hooks/useDrop/DropTargetImpl.js +21 -0
  393. package/dist/node_modules/react-dnd/dist/hooks/useDrop/connectors.js +12 -0
  394. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useAccept.js +13 -0
  395. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDrop.js +16 -0
  396. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDropTarget.js +18 -0
  397. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDropTargetConnector.js +18 -0
  398. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDropTargetMonitor.js +15 -0
  399. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useRegisteredDropTarget.js +23 -0
  400. package/dist/node_modules/react-dnd/dist/hooks/useIsomorphicLayoutEffect.js +5 -0
  401. package/dist/node_modules/react-dnd/dist/hooks/useMonitorOutput.js +20 -0
  402. package/dist/node_modules/react-dnd/dist/hooks/useOptionalFactory.js +10 -0
  403. package/dist/node_modules/react-dnd/dist/internals/DragSourceMonitorImpl.js +88 -0
  404. package/dist/node_modules/react-dnd/dist/internals/DropTargetMonitorImpl.js +59 -0
  405. package/dist/node_modules/react-dnd/dist/internals/SourceConnector.js +87 -0
  406. package/dist/node_modules/react-dnd/dist/internals/TargetConnector.js +57 -0
  407. package/dist/node_modules/react-dnd/dist/internals/isRef.js +9 -0
  408. package/dist/node_modules/react-dnd/dist/internals/registration.js +18 -0
  409. package/dist/node_modules/react-dnd/dist/internals/wrapConnectorHooks.js +46 -0
  410. package/dist/node_modules/react-dnd-html5-backend/dist/BrowserDetector.js +10 -0
  411. package/dist/node_modules/react-dnd-html5-backend/dist/EnterLeaveCounter.js +22 -0
  412. package/dist/node_modules/react-dnd-html5-backend/dist/HTML5BackendImpl.js +274 -0
  413. package/dist/node_modules/react-dnd-html5-backend/dist/MonotonicInterpolant.js +59 -0
  414. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/NativeDragSource.js +43 -0
  415. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/getDataFromDataTransfer.js +10 -0
  416. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/index.js +24 -0
  417. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/nativeTypesConfig.js +48 -0
  418. package/dist/node_modules/react-dnd-html5-backend/dist/NativeTypes.js +7 -0
  419. package/dist/node_modules/react-dnd-html5-backend/dist/OffsetUtils.js +70 -0
  420. package/dist/node_modules/react-dnd-html5-backend/dist/OptionsReader.js +22 -0
  421. package/dist/node_modules/react-dnd-html5-backend/dist/index.js +7 -0
  422. package/dist/node_modules/react-dnd-html5-backend/dist/utils/js_utils.js +22 -0
  423. package/dist/node_modules/redux/es/redux.js +158 -0
  424. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +2924 -0
  425. package/dist/src/components/Analytics/BarGroup/BarGroup.d.ts +9 -2
  426. package/dist/src/components/FileManager/FileManager.d.ts +2 -1
  427. package/dist/src/components/FileManager/components/DestinationFolderPopup/DestinationFolderPopup.d.ts +2 -0
  428. package/dist/src/components/FileManager/hooks/use-file-upload.d.ts +4 -2
  429. package/dist/src/components/FileManager/utils.d.ts +11 -0
  430. package/dist/src/components/Grid/comparators/base-column-comparator.d.ts +1 -4
  431. package/dist/src/components/Grid/renderers/utils.d.ts +1 -2
  432. package/dist/src/components/JsonEditor/lazy.d.ts +14 -0
  433. package/dist/src/components/MarkdownEditor/lazy.d.ts +7 -0
  434. package/dist/src/components/New/CollapsibleSidebar/CollapsibleSidebar.d.ts +82 -0
  435. package/dist/src/components/New/Dropdown/Dropdown.d.ts +20 -0
  436. package/dist/src/components/New/Dropdown/constants.d.ts +5 -4
  437. package/dist/src/components/New/Dropdown/item-mark.d.ts +15 -0
  438. package/dist/src/components/New/EllipsisTooltip/EllipsisTooltip.d.ts +1 -1
  439. package/dist/src/components/New/EllipsisTooltip/use-truncation.d.ts +5 -0
  440. package/dist/src/components/New/Grid/Grid.d.ts +124 -0
  441. package/dist/src/components/New/Grid/components/SelectionCell.d.ts +21 -0
  442. package/dist/src/components/New/Grid/components/SelectionHeader.d.ts +14 -0
  443. package/dist/src/components/New/Grid/constants.d.ts +61 -0
  444. package/dist/src/components/New/Grid/renderers/DateCellRenderer.d.ts +48 -0
  445. package/dist/src/components/New/Grid/renderers/constants.d.ts +5 -0
  446. package/dist/src/components/New/InteractiveTooltip/InteractiveTooltip.d.ts +74 -0
  447. package/dist/src/components/New/InteractiveTooltip/constants.d.ts +26 -0
  448. package/dist/src/components/New/MarkdownEditor/MarkdownEditor.d.ts +6 -0
  449. package/dist/src/components/New/MarkdownEditor/lazy.d.ts +7 -0
  450. package/dist/src/components/New/MenuItem/MenuItem.d.ts +68 -0
  451. package/dist/src/components/New/MenuItem/constants.d.ts +5 -0
  452. package/dist/src/components/New/NoDataContent/NoDataContent.d.ts +48 -0
  453. package/dist/src/components/New/ResizableContainer/ConditionalResizableContainer.d.ts +34 -0
  454. package/dist/src/components/New/ResizableContainer/ResizableContainer.d.ts +77 -0
  455. package/dist/src/components/New/ResizableContainer/components/ResizeHandle.d.ts +21 -0
  456. package/dist/src/components/New/SegmentedControl/constants.d.ts +2 -2
  457. package/dist/src/components/New/Select/Select.d.ts +14 -2
  458. package/dist/src/components/New/Select/SelectSubMenuItem.d.ts +3 -0
  459. package/dist/src/components/New/Select/constants.d.ts +12 -5
  460. package/dist/src/components/New/Slider/Slider.d.ts +70 -0
  461. package/dist/src/components/New/Tag/Tag.d.ts +17 -10
  462. package/dist/src/components/New/Tag/constants.d.ts +23 -0
  463. package/dist/src/components/New/Textarea/Textarea.d.ts +8 -2
  464. package/dist/src/components/New/ThemeScope/ThemeScope.d.ts +46 -0
  465. package/dist/src/components/New/Tooltip/Tooltip.d.ts +1 -1
  466. package/dist/src/components/New/Tooltip/TooltipContent.d.ts +4 -3
  467. package/dist/src/components/New/Tooltip/constants.d.ts +10 -1
  468. package/dist/src/components/New/constants/icon.d.ts +22 -0
  469. package/dist/src/components/New/constants/overlay.d.ts +7 -0
  470. package/dist/src/components/Tooltip/TooltipContent.d.ts +4 -0
  471. package/dist/src/hooks/use-has-hover.d.ts +20 -0
  472. package/dist/src/index.d.ts +30 -4
  473. package/dist/src/models/dropdown.d.ts +40 -1
  474. package/dist/src/models/select.d.ts +30 -0
  475. package/dist/src/subpaths/editors.d.ts +22 -0
  476. package/dist/src/subpaths/file-manager.d.ts +21 -0
  477. package/dist/src/subpaths/grid.d.ts +25 -0
  478. package/dist/src/types/menu-item.d.ts +21 -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/src/utils/sub-menu-floating.d.ts +1 -0
  488. package/dist/types/analytics.js +4 -0
  489. package/dist/types/button.js +5 -0
  490. package/dist/types/calendar.js +4 -0
  491. package/dist/types/caption.js +4 -0
  492. package/dist/types/confirmation-popup.js +4 -0
  493. package/dist/types/dropdown.js +6 -0
  494. package/dist/types/editor.js +4 -0
  495. package/dist/types/file-manager.js +12 -0
  496. package/dist/types/flexible-actions.js +4 -0
  497. package/dist/types/form-item.js +4 -0
  498. package/dist/types/item.js +4 -0
  499. package/dist/types/menu-item.js +4 -0
  500. package/dist/types/notification.js +5 -0
  501. package/dist/types/popup.js +4 -0
  502. package/dist/types/radio-group.js +4 -0
  503. package/dist/types/resizable-container.js +4 -0
  504. package/dist/types/screen.js +4 -0
  505. package/dist/types/select.js +5 -0
  506. package/dist/types/size.js +4 -0
  507. package/dist/types/skeleton.js +6 -0
  508. package/dist/types/tab.js +6 -0
  509. package/dist/types/tag.js +4 -0
  510. package/dist/types/tooltip.js +4 -0
  511. package/dist/use-file-manager-tabs-DjdR_mYM.cjs +3 -0
  512. package/dist/utils/accessible-name.js +6 -0
  513. package/dist/utils/debounce.js +9 -0
  514. package/dist/utils/element-size-observer.js +24 -0
  515. package/dist/utils/file-accept.js +16 -0
  516. package/dist/utils/flat-to-hierarchy-convertor.js +86 -0
  517. package/dist/utils/grid-comparators.js +17 -0
  518. package/dist/utils/grid-date.js +20 -0
  519. package/dist/utils/grid-registration.js +8 -0
  520. package/dist/utils/merge-classes.js +8 -0
  521. package/dist/utils/mobile.js +11 -0
  522. package/dist/utils/path.js +4 -0
  523. package/dist/utils/pointer.js +5 -0
  524. package/dist/utils/sub-menu-floating.js +85 -0
  525. package/package.json +37 -12
  526. package/dist/JsonEditor-dP4yDdgN.cjs +0 -1
  527. package/dist/MarkdownEditor-BeNDQecT.js +0 -75
  528. package/dist/MarkdownEditor-CO-k9xZo.js +0 -35
  529. package/dist/MarkdownEditor-CSgVi6EZ.cjs +0 -1
  530. package/dist/MarkdownEditor-fskBDR5e.cjs +0 -1
  531. package/dist/dial-ui-kit.cjs.js +0 -1
  532. package/dist/dial-ui-kit.es.js +0 -220
  533. package/dist/index-DmEajFx0.cjs +0 -71
  534. package/dist/index-jMP1W9V6.js +0 -66826
@@ -1,27 +1,23 @@
1
1
  {
2
- "version": "0.14.0-dev.5",
3
- "generatedAt": "2026-08-24T19:20:52.126Z",
2
+ "version": "0.14.0-dev.51",
3
+ "generatedAt": "2026-09-14T09:04:04.409Z",
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",
7
7
  "installation": "npm install @epam/ai-dial-ui-kit",
8
8
  "cssImport": "import '@epam/ai-dial-ui-kit/styles.css'",
9
9
  "peerDependencies": {
10
- "@floating-ui/react": "^0.27.19",
11
10
  "@modelcontextprotocol/sdk": "^1.29.0",
12
11
  "@monaco-editor/react": "^4.7.0",
13
- "@tabler/icons-react": "^3.41.1",
14
- "@uiw/react-markdown-preview": "^5.2.0",
15
12
  "@uiw/react-md-editor": "^4.1.0",
16
- "classnames": "^2.5.1",
17
13
  "monaco-editor": "^0.55.1",
18
14
  "react": "^19.2.5",
19
15
  "react-dom": "^19.2.5"
20
16
  },
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."
17
+ "setupNotes": "## Next.js Integration\n1. Install the package. React is the only peer you have to supply — everything\n the kit renders with, it installs itself.\n\n``` bash\nnpm install @epam/ai-dial-ui-kit\nnpm install react react-dom\n```\n\nAdd the editor packages only if you use the `@epam/ai-dial-ui-kit/editors`\nsubpath. They are optional peers, so `npm install` stays quiet without them, and\nthe kit only reaches for them when a `Lazy*` editor actually mounts:\n\n``` bash\nnpm install monaco-editor @monaco-editor/react @uiw/react-md-editor\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
18
  },
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` |",
19
+ "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",
20
+ "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
21
  "components": [
26
22
  {
27
23
  "name": "Spinner",
@@ -887,6 +883,18 @@
887
883
  "required": false,
888
884
  "defaultValue": "'edit'",
889
885
  "description": "Initial edit/live/preview mode"
886
+ },
887
+ {
888
+ "name": "id",
889
+ "type": "string",
890
+ "required": false,
891
+ "description": "`id` of the underlying textarea, for a visible `<label htmlFor>`"
892
+ },
893
+ {
894
+ "name": "ariaLabel",
895
+ "type": "string",
896
+ "required": false,
897
+ "description": "Accessible name for the underlying textarea"
890
898
  }
891
899
  ],
892
900
  "examples": [
@@ -994,7 +1002,7 @@
994
1002
  "name": "Select",
995
1003
  "category": "Components_2_0",
996
1004
  "generation": "2.0",
997
- "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.",
1005
+ "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.",
998
1006
  "props": [
999
1007
  {
1000
1008
  "name": "options",
@@ -1111,6 +1119,13 @@
1111
1119
  "defaultValue": "'Select all'",
1112
1120
  "description": "Label for the \"Select All\" checkbox."
1113
1121
  },
1122
+ {
1123
+ "name": "selectedOptionMark",
1124
+ "type": "| MenuItemMark.Tint\n | MenuItemMark.Check\n | MenuItemMark.Highlight",
1125
+ "required": false,
1126
+ "defaultValue": "MenuItemMark.Tint",
1127
+ "description": "How the chosen option is marked in single mode."
1128
+ },
1114
1129
  {
1115
1130
  "name": "emptyStateTitle",
1116
1131
  "type": "string",
@@ -1360,10 +1375,10 @@
1360
1375
  },
1361
1376
  {
1362
1377
  "name": "resize",
1363
- "type": "boolean",
1378
+ "type": "boolean | TextareaResize",
1364
1379
  "required": false,
1365
1380
  "defaultValue": "false",
1366
- "description": "Whether the textarea has possibility to resize"
1381
+ "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`)"
1367
1382
  },
1368
1383
  {
1369
1384
  "name": "error",
@@ -1857,7 +1872,7 @@
1857
1872
  "name": "Dropdown",
1858
1873
  "category": "Components_2_0",
1859
1874
  "generation": "2.0",
1860
- "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`.",
1875
+ "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.",
1861
1876
  "props": [
1862
1877
  {
1863
1878
  "name": "children",
@@ -2009,6 +2024,12 @@
2009
2024
  "type": "number | null",
2010
2025
  "required": false,
2011
2026
  "description": "Maximum height of the dropdown menu; when omitted, no limit is applied"
2027
+ },
2028
+ {
2029
+ "name": "initialFocus",
2030
+ "type": "0 | -1 | RefObject<HTMLElement | null>",
2031
+ "required": false,
2032
+ "description": "Initial focus target inside the overlay on open, forwarded to `FloatingFocusManager`; when omitted, matches pre-existing behavior"
2012
2033
  }
2013
2034
  ],
2014
2035
  "examples": [
@@ -2016,6 +2037,117 @@
2016
2037
  ],
2017
2038
  "sourceFile": "components/New/Dropdown/Dropdown.tsx"
2018
2039
  },
2040
+ {
2041
+ "name": "ThemeScope",
2042
+ "category": "Components_2_0",
2043
+ "generation": "2.0",
2044
+ "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.",
2045
+ "props": [
2046
+ {
2047
+ "name": "className",
2048
+ "type": "string",
2049
+ "required": true,
2050
+ "description": "Class name redefining the design tokens for this subtree"
2051
+ },
2052
+ {
2053
+ "name": "children",
2054
+ "type": "ReactNode",
2055
+ "required": true,
2056
+ "description": "The subtree painted with those tokens"
2057
+ }
2058
+ ],
2059
+ "examples": [
2060
+ "// .side-panel-theme redefines --bg-*, --text-* and --stroke-* tokens.\n<ThemeScope className=\"side-panel-theme\">\n <ConversationPanel {...props} />\n</ThemeScope>"
2061
+ ],
2062
+ "sourceFile": "components/New/ThemeScope/ThemeScope.tsx"
2063
+ },
2064
+ {
2065
+ "name": "MenuItem",
2066
+ "category": "Components_2_0",
2067
+ "generation": "2.0",
2068
+ "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`.",
2069
+ "props": [
2070
+ {
2071
+ "name": "ref",
2072
+ "type": "Ref<HTMLButtonElement>",
2073
+ "required": false
2074
+ },
2075
+ {
2076
+ "name": "label",
2077
+ "type": "ReactNode",
2078
+ "required": false,
2079
+ "description": "The row's text"
2080
+ },
2081
+ {
2082
+ "name": "icon",
2083
+ "type": "ReactNode",
2084
+ "required": false,
2085
+ "description": "Icon rendered before the label"
2086
+ },
2087
+ {
2088
+ "name": "description",
2089
+ "type": "ReactNode",
2090
+ "required": false,
2091
+ "description": "Secondary text at the row's trailing edge"
2092
+ },
2093
+ {
2094
+ "name": "mark",
2095
+ "type": "MenuItemMark",
2096
+ "required": false,
2097
+ "defaultValue": "MenuItemMark.None",
2098
+ "description": "How a chosen row is marked"
2099
+ },
2100
+ {
2101
+ "name": "selected",
2102
+ "type": "boolean",
2103
+ "required": false,
2104
+ "defaultValue": "false",
2105
+ "description": "Whether this row is the chosen one"
2106
+ },
2107
+ {
2108
+ "name": "danger",
2109
+ "type": "boolean",
2110
+ "required": false,
2111
+ "defaultValue": "false",
2112
+ "description": "Paints the row in the error colour"
2113
+ },
2114
+ {
2115
+ "name": "trailing",
2116
+ "type": "ReactNode",
2117
+ "required": false,
2118
+ "description": "Node pinned to the trailing edge, e.g. a submenu caret"
2119
+ },
2120
+ {
2121
+ "name": "rightControl",
2122
+ "type": "ReactNode",
2123
+ "required": false,
2124
+ "description": "A control of its own at the trailing edge, rendered beside the row"
2125
+ },
2126
+ {
2127
+ "name": "ellipsisLabel",
2128
+ "type": "boolean",
2129
+ "required": false,
2130
+ "defaultValue": "false",
2131
+ "description": "Truncate the label with a tooltip once clipped"
2132
+ },
2133
+ {
2134
+ "name": "labelClassName",
2135
+ "type": "string",
2136
+ "required": false,
2137
+ "description": "Additional classes for the label element"
2138
+ },
2139
+ {
2140
+ "name": "children",
2141
+ "type": "ReactNode",
2142
+ "required": false,
2143
+ "description": "Replaces the icon + label content"
2144
+ }
2145
+ ],
2146
+ "examples": [
2147
+ "<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 />"
2148
+ ],
2149
+ "sourceFile": "components/New/MenuItem/MenuItem.tsx"
2150
+ },
2019
2151
  {
2020
2152
  "name": "CaptionText",
2021
2153
  "category": "Components_2_0",
@@ -2849,7 +2981,7 @@
2849
2981
  "name": "Tag",
2850
2982
  "category": "Components_2_0",
2851
2983
  "generation": "2.0",
2852
- "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.\n\n`TagAppearance.Selectable` is the filter chip of the 2.0 design: no rim and no\nfill until it is selected, one hover tint shared by both states, and the state\ncarried on `aria-pressed` rather than by the tint alone. Give it an `onClick` —\na selectable tag that cannot be activated is a colour and nothing else.",
2984
+ "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.",
2853
2985
  "props": [
2854
2986
  {
2855
2987
  "name": "label",
@@ -2863,19 +2995,12 @@
2863
2995
  "required": false,
2864
2996
  "description": "Icon rendered before the label."
2865
2997
  },
2866
- {
2867
- "name": "size",
2868
- "type": "ElementSize",
2869
- "required": false,
2870
- "defaultValue": "ElementSize.Standard",
2871
- "description": "Tag height: standard is 24px, small is 20px."
2872
- },
2873
2998
  {
2874
2999
  "name": "appearance",
2875
3000
  "type": "TagAppearance",
2876
3001
  "required": false,
2877
3002
  "defaultValue": "TagAppearance.Outlined",
2878
- "description": "`outlined` is the bordered chip; `selectable`\nis the borderless filter chip that tints when selected."
3003
+ "description": "`outlined` is the filled chip on the raised\nlayer; `selectable` is the unfilled filter chip that tints and turns semibold when selected."
2879
3004
  },
2880
3005
  {
2881
3006
  "name": "selected",
@@ -2889,7 +3014,7 @@
2889
3014
  "type": "boolean",
2890
3015
  "required": false,
2891
3016
  "defaultValue": "false",
2892
- "description": "Dims the tag and suppresses the remove control and click handling."
3017
+ "description": "Stops the tag responding: no click handling, no remove control. The design defines no disabled tag, so the colours stay put."
2893
3018
  },
2894
3019
  {
2895
3020
  "name": "closable",
@@ -2975,240 +3100,915 @@
2975
3100
  "name": "invalid",
2976
3101
  "type": "boolean",
2977
3102
  "required": false,
2978
- "description": "Applies the field's error styling."
3103
+ "description": "Applies the field's error styling."
3104
+ },
3105
+ {
3106
+ "name": "disabled",
3107
+ "type": "boolean",
3108
+ "required": false,
3109
+ "defaultValue": "false",
3110
+ "description": "Disables typing and tag removal."
3111
+ },
3112
+ {
3113
+ "name": "readOnly",
3114
+ "type": "boolean",
3115
+ "required": false,
3116
+ "defaultValue": "false",
3117
+ "description": "Shows the tags without allowing new ones or removal."
3118
+ },
3119
+ {
3120
+ "name": "collapseTagOverflow",
3121
+ "type": "boolean",
3122
+ "required": false,
3123
+ "defaultValue": "false",
3124
+ "description": "Keep the tags on one line, replacing the ones that do not fit with a `+N` chip."
3125
+ },
3126
+ {
3127
+ "name": "ariaLabel",
3128
+ "type": "string",
3129
+ "required": false,
3130
+ "description": "Accessible name for the text input; use it when there is no visible label."
3131
+ },
3132
+ {
3133
+ "name": "tagListLabel",
3134
+ "type": "string",
3135
+ "required": false,
3136
+ "defaultValue": "'Tags'",
3137
+ "description": "Accessible name of the tag list."
3138
+ },
3139
+ {
3140
+ "name": "className",
3141
+ "type": "string",
3142
+ "required": false,
3143
+ "description": "Additional CSS classes for the outer container."
3144
+ },
3145
+ {
3146
+ "name": "fieldClassName",
3147
+ "type": "string",
3148
+ "required": false,
3149
+ "description": "Additional CSS classes for the field itself."
3150
+ },
3151
+ {
3152
+ "name": "tagClassName",
3153
+ "type": "string",
3154
+ "required": false,
3155
+ "description": "Additional CSS classes applied to every tag."
3156
+ },
3157
+ {
3158
+ "name": "onChange",
3159
+ "type": "(tags: string[]) => void",
3160
+ "required": false,
3161
+ "description": "Called with the new list whenever a tag is added or removed."
3162
+ }
3163
+ ],
3164
+ "examples": [
3165
+ "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/>"
3166
+ ],
3167
+ "sourceFile": "components/New/TagInput/TagInput.tsx"
3168
+ },
3169
+ {
3170
+ "name": "Search",
3171
+ "category": "Components_2_0",
3172
+ "generation": "2.0",
3173
+ "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.",
3174
+ "props": [
3175
+ {
3176
+ "name": "withoutBorder",
3177
+ "type": "boolean",
3178
+ "required": false,
3179
+ "defaultValue": "false",
3180
+ "description": "Renders the field without its border and background"
3181
+ },
3182
+ {
3183
+ "name": "clearLabel",
3184
+ "type": "string",
3185
+ "required": false,
3186
+ "defaultValue": "'Clear search'",
3187
+ "description": "Accessible name of the clear button"
3188
+ }
3189
+ ],
3190
+ "examples": [
3191
+ "<Search\n id=\"search\"\n value={query}\n placeholder=\"Search\"\n onChange={setQuery}\n/>"
3192
+ ],
3193
+ "sourceFile": "components/New/Search/Search.tsx"
3194
+ },
3195
+ {
3196
+ "name": "Slider",
3197
+ "category": "Components_2_0",
3198
+ "generation": "2.0",
3199
+ "description": "A range slider from the 2.0 design system.\naliases: RangeInput|TemperatureSlider|RangeSlider\nDesign system 2.0",
3200
+ "props": [
3201
+ {
3202
+ "name": "value",
3203
+ "type": "number",
3204
+ "required": true,
3205
+ "description": "Current slider value"
3206
+ },
3207
+ {
3208
+ "name": "min",
3209
+ "type": "number",
3210
+ "required": false,
3211
+ "defaultValue": "0",
3212
+ "description": "Minimum value"
3213
+ },
3214
+ {
3215
+ "name": "max",
3216
+ "type": "number",
3217
+ "required": false,
3218
+ "defaultValue": "1",
3219
+ "description": "Maximum value"
3220
+ },
3221
+ {
3222
+ "name": "step",
3223
+ "type": "number",
3224
+ "required": false,
3225
+ "defaultValue": "0.1",
3226
+ "description": "Step increment"
3227
+ },
3228
+ {
3229
+ "name": "disabled",
3230
+ "type": "boolean",
3231
+ "required": false,
3232
+ "description": "Whether the slider is disabled"
3233
+ },
3234
+ {
3235
+ "name": "labelProps",
3236
+ "type": "LabelProps",
3237
+ "required": false,
3238
+ "description": "Props of the rendered above the track"
3239
+ },
3240
+ {
3241
+ "name": "labels",
3242
+ "type": "[string, string] | [string, string, string]",
3243
+ "required": false,
3244
+ "description": "2 or 3 strings rendered below the track (start, [middle,] end)"
3245
+ },
3246
+ {
3247
+ "name": "formatValue",
3248
+ "type": "(value: number) => string",
3249
+ "required": false,
3250
+ "description": "Custom formatter for the displayed value; also becomes the announced `aria-valuetext`"
3251
+ },
3252
+ {
3253
+ "name": "showValue",
3254
+ "type": "boolean",
3255
+ "required": false,
3256
+ "defaultValue": "false",
3257
+ "description": "Renders the current value at the end of the label row"
3258
+ },
3259
+ {
3260
+ "name": "caption",
3261
+ "type": "string",
3262
+ "required": false,
3263
+ "description": "Helper text rendered below the track, and described by the slider"
3264
+ },
3265
+ {
3266
+ "name": "error",
3267
+ "type": "string",
3268
+ "required": false,
3269
+ "description": "Error message rendered below the track; replaces the caption"
3270
+ },
3271
+ {
3272
+ "name": "onChange",
3273
+ "type": "(value: number) => void",
3274
+ "required": false,
3275
+ "description": "Callback fired with the new value"
3276
+ },
3277
+ {
3278
+ "name": "containerClassName",
3279
+ "type": "string",
3280
+ "required": false,
3281
+ "description": "Additional classes for the outer container"
3282
+ },
3283
+ {
3284
+ "name": "trackClassName",
3285
+ "type": "string",
3286
+ "required": false,
3287
+ "description": "Additional classes for the unfilled track"
3288
+ },
3289
+ {
3290
+ "name": "fillClassName",
3291
+ "type": "string",
3292
+ "required": false,
3293
+ "description": "Additional classes for the filled portion of the track"
3294
+ }
3295
+ ],
3296
+ "examples": [
3297
+ "<Slider\n id=\"temperature\"\n labelProps={{ label: 'Temperature' }}\n value={temperature}\n labels={['Precise', 'Neutral', 'Creative']}\n onChange={setTemperature}\n/>"
3298
+ ],
3299
+ "sourceFile": "components/New/Slider/Slider.tsx"
3300
+ },
3301
+ {
3302
+ "name": "Tooltip",
3303
+ "category": "Components_2_0",
3304
+ "generation": "2.0",
3305
+ "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.",
3306
+ "props": [
3307
+ {
3308
+ "name": "hideTooltip",
3309
+ "type": "boolean",
3310
+ "required": false,
3311
+ "defaultValue": "false",
3312
+ "description": "Suppress the tooltip while keeping the trigger rendered"
3313
+ },
3314
+ {
3315
+ "name": "tooltip",
3316
+ "type": "ReactNode",
3317
+ "required": false,
3318
+ "description": "The content to display in the tooltip"
3319
+ },
3320
+ {
3321
+ "name": "children",
3322
+ "type": "ReactNode",
3323
+ "required": true,
3324
+ "description": "The element that triggers the tooltip"
3325
+ },
3326
+ {
3327
+ "name": "asChild",
3328
+ "type": "boolean",
3329
+ "required": false,
3330
+ "defaultValue": "false",
3331
+ "description": "Use the child as the trigger instead of wrapping it in a `<span>`"
3332
+ },
3333
+ {
3334
+ "name": "triggerClassName",
3335
+ "type": "string",
3336
+ "required": false,
3337
+ "description": "Additional CSS classes for the trigger element"
3338
+ },
3339
+ {
3340
+ "name": "contentClassName",
3341
+ "type": "string",
3342
+ "required": false,
3343
+ "description": "Additional CSS classes for the tooltip bubble"
3344
+ }
3345
+ ],
3346
+ "examples": [
3347
+ "<Tooltip tooltip=\"Tooltip text\" placement={TooltipPlacement.Top} asChild>\n <button>Hover me</button>\n</Tooltip>"
3348
+ ],
3349
+ "sourceFile": "components/New/Tooltip/Tooltip.tsx"
3350
+ },
3351
+ {
3352
+ "name": "TooltipContainer",
3353
+ "category": "Components_2_0",
3354
+ "generation": "2.0",
3355
+ "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.",
3356
+ "props": [],
3357
+ "examples": [
3358
+ "<TooltipContainer placement={TooltipPlacement.Top}>\n <TooltipTrigger asChild>\n <button>Hover me</button>\n </TooltipTrigger>\n <TooltipContent>Tooltip text</TooltipContent>\n</TooltipContainer>"
3359
+ ],
3360
+ "sourceFile": "components/New/Tooltip/TooltipContainer.tsx"
3361
+ },
3362
+ {
3363
+ "name": "TooltipContent",
3364
+ "category": "Components_2_0",
3365
+ "generation": "2.0",
3366
+ "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.",
3367
+ "props": [
3368
+ {
3369
+ "name": "style",
3370
+ "type": "CSSProperties",
3371
+ "required": false,
3372
+ "description": "Additional inline styles for the tooltip bubble"
3373
+ }
3374
+ ],
3375
+ "examples": [],
3376
+ "sourceFile": "components/New/Tooltip/TooltipContent.tsx"
3377
+ },
3378
+ {
3379
+ "name": "TooltipTrigger",
3380
+ "category": "Components_2_0",
3381
+ "generation": "2.0",
3382
+ "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.",
3383
+ "props": [
3384
+ {
3385
+ "name": "asChild",
3386
+ "type": "boolean",
3387
+ "required": false,
3388
+ "defaultValue": "false",
3389
+ "description": "Render the child as the trigger instead of wrapping it in a `<span>`"
3390
+ }
3391
+ ],
3392
+ "examples": [],
3393
+ "sourceFile": "components/New/Tooltip/TooltipTrigger.tsx"
3394
+ },
3395
+ {
3396
+ "name": "InteractiveTooltip",
3397
+ "category": "Components_2_0",
3398
+ "generation": "2.0",
3399
+ "description": "A hover panel that, unlike , can hold its own interactive\ncontent.\naliases: HoverCard|InfoPopover\nDesign system 2.0\n\nOpens next to the trigger on hover or focus, the way a tooltip does, but\nstays open while the pointer moves into the panel so its content — links,\nbuttons, anything — can be hovered and clicked. It carries no `role`, since\nARIA's `tooltip` role forbids focusable content and this is meant to hold\nsome; a panel with meaningfully interactive content should still be\nreachable without a mouse (Tab from the trigger reaches it), but a purely\ndecorative one is fine to leave out of the tab order entirely.\n\nRenders nothing on a mobile screen, where there is no hover to reveal it —\nso, as with , a control must never depend on this panel alone\nto be understood or operated.",
3400
+ "props": [
3401
+ {
3402
+ "name": "content",
3403
+ "type": "ReactNode",
3404
+ "required": true,
3405
+ "description": "The panel's content"
3406
+ },
3407
+ {
3408
+ "name": "placement",
3409
+ "type": "TooltipPlacement",
3410
+ "required": false,
3411
+ "defaultValue": "TooltipPlacement.Right",
3412
+ "description": "Side of the trigger the panel is placed on"
3413
+ },
3414
+ {
3415
+ "name": "children",
3416
+ "type": "ReactNode",
3417
+ "required": true,
3418
+ "description": "The element that triggers the panel"
3419
+ },
3420
+ {
3421
+ "name": "asChild",
3422
+ "type": "boolean",
3423
+ "required": false,
3424
+ "defaultValue": "false",
3425
+ "description": "Use the child as the trigger instead of wrapping it in a `<span>`"
3426
+ },
3427
+ {
3428
+ "name": "hideTooltip",
3429
+ "type": "boolean",
3430
+ "required": false,
3431
+ "defaultValue": "false",
3432
+ "description": "Suppress the panel while keeping the trigger rendered"
3433
+ },
3434
+ {
3435
+ "name": "initialOpen",
3436
+ "type": "boolean",
3437
+ "required": false,
3438
+ "defaultValue": "false",
3439
+ "description": "Whether the panel starts open (uncontrolled only)"
3440
+ },
3441
+ {
3442
+ "name": "open",
3443
+ "type": "boolean",
3444
+ "required": false,
3445
+ "description": "Controlled open state; disables the hover and focus triggers"
3446
+ },
3447
+ {
3448
+ "name": "onOpenChange",
3449
+ "type": "(open: boolean) => void",
3450
+ "required": false,
3451
+ "description": "Callback fired when the open state should change"
3452
+ },
3453
+ {
3454
+ "name": "triggerClassName",
3455
+ "type": "string",
3456
+ "required": false,
3457
+ "description": "Additional CSS classes for the trigger element"
3458
+ },
3459
+ {
3460
+ "name": "contentClassName",
3461
+ "type": "string",
3462
+ "required": false,
3463
+ "description": "Additional CSS classes for the panel"
3464
+ }
3465
+ ],
3466
+ "examples": [
3467
+ "<InteractiveTooltip\n placement={TooltipPlacement.Right}\n content={\n <>\n <p>Lets the model write and execute Python in an isolated sandbox.</p>\n <Button variant={ButtonVariant.Primary} appearance={ButtonAppearance.Link}>\n View details\n </Button>\n </>\n }\n>\n <MenuItem label=\"code-interpreter\" />\n</InteractiveTooltip>"
3468
+ ],
3469
+ "sourceFile": "components/New/InteractiveTooltip/InteractiveTooltip.tsx"
3470
+ },
3471
+ {
3472
+ "name": "EllipsisTooltip",
3473
+ "category": "Components_2_0",
3474
+ "generation": "2.0",
3475
+ "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.",
3476
+ "props": [
3477
+ {
3478
+ "name": "text",
3479
+ "type": "ReactNode",
3480
+ "required": true,
3481
+ "description": "The text or node to display, truncated with an ellipsis when it does not fit"
3482
+ },
3483
+ {
3484
+ "name": "className",
3485
+ "type": "string",
3486
+ "required": false,
3487
+ "description": "Additional CSS classes for the text element, typically its width"
3488
+ },
3489
+ {
3490
+ "name": "contentClassName",
3491
+ "type": "string",
3492
+ "required": false,
3493
+ "description": "Additional CSS classes for the tooltip bubble"
3494
+ },
3495
+ {
3496
+ "name": "hideTooltip",
3497
+ "type": "boolean",
3498
+ "required": false,
3499
+ "defaultValue": "false",
3500
+ "description": "Suppress the tooltip even while the text is truncated"
3501
+ },
3502
+ {
3503
+ "name": "id",
3504
+ "type": "string",
3505
+ "required": false,
3506
+ "description": "`id` of the text element"
3507
+ },
3508
+ {
3509
+ "name": "customTooltipContent",
3510
+ "type": "ReactNode",
3511
+ "required": false,
3512
+ "description": "Shown instead of the full text while truncated"
3513
+ }
3514
+ ],
3515
+ "examples": [
3516
+ "<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 />"
3517
+ ],
3518
+ "sourceFile": "components/New/EllipsisTooltip/EllipsisTooltip.tsx"
3519
+ },
3520
+ {
3521
+ "name": "CollapsibleSidebar",
3522
+ "category": "Components_2_0",
3523
+ "generation": "2.0",
3524
+ "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.",
3525
+ "props": [
3526
+ {
3527
+ "name": "children",
3528
+ "type": "ReactNode",
3529
+ "required": true,
3530
+ "description": "Content shown while the sidebar is expanded."
3531
+ },
3532
+ {
3533
+ "name": "title",
3534
+ "type": "ReactNode",
3535
+ "required": true,
3536
+ "description": "Name of the panel, rendered as vertical text while collapsed."
3537
+ },
3538
+ {
3539
+ "name": "width",
3540
+ "type": "number",
3541
+ "required": false,
3542
+ "defaultValue": "280",
3543
+ "description": "Width in px while expanded."
3544
+ },
3545
+ {
3546
+ "name": "collapsedWidth",
3547
+ "type": "number",
3548
+ "required": false,
3549
+ "defaultValue": "COLLAPSED_WIDTH",
3550
+ "description": "Width in px while collapsed."
3551
+ },
3552
+ {
3553
+ "name": "isOpened",
3554
+ "type": "boolean",
3555
+ "required": false,
3556
+ "description": "Controlled open state."
3557
+ },
3558
+ {
3559
+ "name": "defaultOpened",
3560
+ "type": "boolean",
3561
+ "required": false,
3562
+ "defaultValue": "true",
3563
+ "description": "Initial open state when uncontrolled."
3564
+ },
3565
+ {
3566
+ "name": "onToggle",
3567
+ "type": "(nextOpened: boolean, e: MouseEvent<HTMLButtonElement>) => void",
3568
+ "required": false,
3569
+ "description": "Fired when the toggle is clicked. Receives the next open state."
3570
+ },
3571
+ {
3572
+ "name": "additionalButtons",
3573
+ "type": "ReactNode",
3574
+ "required": false,
3575
+ "description": "Extra footer controls, rendered while expanded."
3576
+ },
3577
+ {
3578
+ "name": "ariaLabel",
3579
+ "type": "string",
3580
+ "required": false,
3581
+ "defaultValue": "'Sidebar'",
3582
+ "description": "Accessible name of the sidebar region."
3583
+ },
3584
+ {
3585
+ "name": "collapseLabel",
3586
+ "type": "string",
3587
+ "required": false,
3588
+ "defaultValue": "'Collapse sidebar'",
3589
+ "description": "Name and tooltip of the toggle while expanded."
3590
+ },
3591
+ {
3592
+ "name": "expandLabel",
3593
+ "type": "string",
3594
+ "required": false,
3595
+ "defaultValue": "'Expand sidebar'",
3596
+ "description": "Name and tooltip of the toggle while collapsed."
3597
+ },
3598
+ {
3599
+ "name": "className",
3600
+ "type": "string",
3601
+ "required": false,
3602
+ "description": "Additional CSS classes for the outer container."
3603
+ },
3604
+ {
3605
+ "name": "titleClassName",
3606
+ "type": "string",
3607
+ "required": false,
3608
+ "description": "Additional CSS classes for the vertical title."
3609
+ },
3610
+ {
3611
+ "name": "contentClassName",
3612
+ "type": "string",
3613
+ "required": false,
3614
+ "description": "Additional CSS classes for the content region."
3615
+ },
3616
+ {
3617
+ "name": "footerClassName",
3618
+ "type": "string",
3619
+ "required": false,
3620
+ "description": "Additional CSS classes for the footer."
3621
+ }
3622
+ ],
3623
+ "examples": [
3624
+ "<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>"
3625
+ ],
3626
+ "sourceFile": "components/New/CollapsibleSidebar/CollapsibleSidebar.tsx"
3627
+ },
3628
+ {
3629
+ "name": "ResizableContainer",
3630
+ "category": "Components_2_0",
3631
+ "generation": "2.0",
3632
+ "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.",
3633
+ "props": [
3634
+ {
3635
+ "name": "children",
3636
+ "type": "ReactNode",
3637
+ "required": true,
3638
+ "description": "Content placed inside the container."
3639
+ },
3640
+ {
3641
+ "name": "minWidth",
3642
+ "type": "number",
3643
+ "required": true,
3644
+ "description": "Minimum allowed width in px."
3645
+ },
3646
+ {
3647
+ "name": "maxWidth",
3648
+ "type": "number",
3649
+ "required": true,
3650
+ "description": "Maximum allowed width in px."
3651
+ },
3652
+ {
3653
+ "name": "width",
3654
+ "type": "number",
3655
+ "required": false,
3656
+ "description": "Controlled width. If omitted the container is uncontrolled."
3657
+ },
3658
+ {
3659
+ "name": "defaultWidth",
3660
+ "type": "number",
3661
+ "required": false,
3662
+ "description": "Initial width when uncontrolled. Defaults to `minWidth`."
3663
+ },
3664
+ {
3665
+ "name": "onResizeStop",
3666
+ "type": "(width: number) => void",
3667
+ "required": false,
3668
+ "description": "Fired when a resize ends, and once per arrow key press."
3669
+ },
3670
+ {
3671
+ "name": "onResize",
3672
+ "type": "(width: number) => void",
3673
+ "required": false,
3674
+ "description": "Fired continuously while dragging."
3675
+ },
3676
+ {
3677
+ "name": "side",
3678
+ "type": "ResizableContainerSide",
3679
+ "required": false,
3680
+ "defaultValue": "ResizableContainerSide.Right",
3681
+ "description": "Edge carrying the resize handle."
3682
+ },
3683
+ {
3684
+ "name": "keyboardStep",
3685
+ "type": "number",
3686
+ "required": false,
3687
+ "defaultValue": "DEFAULT_KEYBOARD_STEP",
3688
+ "description": "Width change per arrow key press."
3689
+ },
3690
+ {
3691
+ "name": "ariaLabel",
3692
+ "type": "string",
3693
+ "required": false,
3694
+ "defaultValue": "'Resize panel'",
3695
+ "description": "Accessible name of the handle."
3696
+ },
3697
+ {
3698
+ "name": "className",
3699
+ "type": "string",
3700
+ "required": false,
3701
+ "description": "Additional CSS classes for the inner content wrapper."
3702
+ },
3703
+ {
3704
+ "name": "resizeHandlerClassName",
3705
+ "type": "string",
3706
+ "required": false,
3707
+ "description": "Additional CSS classes for the resize handle."
3708
+ },
3709
+ {
3710
+ "name": "resizeHandler",
3711
+ "type": "ReactNode",
3712
+ "required": false,
3713
+ "description": "Custom node rendered inside the handle, replacing the default chevron."
3714
+ }
3715
+ ],
3716
+ "examples": [
3717
+ "<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>"
3718
+ ],
3719
+ "sourceFile": "components/New/ResizableContainer/ResizableContainer.tsx"
3720
+ },
3721
+ {
3722
+ "name": "ConditionalResizableContainer",
3723
+ "category": "Components_2_0",
3724
+ "generation": "2.0",
3725
+ "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.",
3726
+ "props": [
3727
+ {
3728
+ "name": "enabled",
3729
+ "type": "boolean",
3730
+ "required": false,
3731
+ "defaultValue": "true",
3732
+ "description": "Whether resizing is enabled."
3733
+ }
3734
+ ],
3735
+ "examples": [
3736
+ "<ConditionalResizableContainer\n enabled={isExpanded}\n minWidth={180}\n maxWidth={520}\n defaultWidth={260}\n>\n <Sidebar />\n</ConditionalResizableContainer>"
3737
+ ],
3738
+ "sourceFile": "components/New/ResizableContainer/ConditionalResizableContainer.tsx"
3739
+ },
3740
+ {
3741
+ "name": "NoDataContent",
3742
+ "category": "Components_2_0",
3743
+ "generation": "2.0",
3744
+ "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.",
3745
+ "props": [
3746
+ {
3747
+ "name": "title",
3748
+ "type": "ReactNode",
3749
+ "required": true,
3750
+ "description": "Headline of the empty state."
3751
+ },
3752
+ {
3753
+ "name": "description",
3754
+ "type": "ReactNode",
3755
+ "required": false,
3756
+ "description": "Optional secondary line under the title."
3757
+ },
3758
+ {
3759
+ "name": "icon",
3760
+ "type": "ReactNode",
3761
+ "required": false,
3762
+ "description": "Illustration above the title. Defaults to the empty-state document mark."
3763
+ },
3764
+ {
3765
+ "name": "live",
3766
+ "type": "boolean",
3767
+ "required": false,
3768
+ "defaultValue": "false",
3769
+ "description": "Announce the empty state to assistive tech as it appears."
3770
+ },
3771
+ {
3772
+ "name": "className",
3773
+ "type": "string",
3774
+ "required": false,
3775
+ "description": "Additional CSS classes for the container."
3776
+ },
3777
+ {
3778
+ "name": "titleClassName",
3779
+ "type": "string",
3780
+ "required": false,
3781
+ "description": "Additional CSS classes for the title."
3782
+ },
3783
+ {
3784
+ "name": "descriptionClassName",
3785
+ "type": "string",
3786
+ "required": false,
3787
+ "description": "Additional CSS classes for the description."
3788
+ }
3789
+ ],
3790
+ "examples": [
3791
+ "<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 />"
3792
+ ],
3793
+ "sourceFile": "components/New/NoDataContent/NoDataContent.tsx"
3794
+ },
3795
+ {
3796
+ "name": "Grid",
3797
+ "category": "Components_2_0",
3798
+ "generation": "2.0",
3799
+ "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.",
3800
+ "props": [
3801
+ {
3802
+ "name": "columnDefs",
3803
+ "type": "ColDef<T>[]",
3804
+ "required": false,
3805
+ "description": "Column definitions, in ag-Grid `ColDef` format."
3806
+ },
3807
+ {
3808
+ "name": "rowData",
3809
+ "type": "T[]",
3810
+ "required": false,
3811
+ "description": "Rows to display."
3812
+ },
3813
+ {
3814
+ "name": "additionalGridOptions",
3815
+ "type": "GridOptions<T>",
3816
+ "required": false,
3817
+ "description": "Extra ag-Grid options, merged over the defaults."
3818
+ },
3819
+ {
3820
+ "name": "getContextMenuItems",
3821
+ "type": "(row: T) => DropdownItem[]",
3822
+ "required": false,
3823
+ "description": "Items of the row context menu. Omit for no menu."
3824
+ },
3825
+ {
3826
+ "name": "className",
3827
+ "type": "string",
3828
+ "required": false,
3829
+ "description": "Additional CSS classes for the grid container."
3830
+ },
3831
+ {
3832
+ "name": "ariaLabel",
3833
+ "type": "string",
3834
+ "required": false,
3835
+ "defaultValue": "'Data grid'",
3836
+ "description": "Accessible name of the grid region."
3837
+ },
3838
+ {
3839
+ "name": "wrapCustomCellRenderers",
3840
+ "type": "boolean | ((col: ColDef<T>) => boolean)",
3841
+ "required": false,
3842
+ "defaultValue": "true",
3843
+ "description": "Whether custom renderers get context-menu support."
3844
+ },
3845
+ {
3846
+ "name": "disabledRowIds",
3847
+ "type": "Set<string>",
3848
+ "required": false,
3849
+ "description": "Rows that cannot be selected."
3850
+ },
3851
+ {
3852
+ "name": "selectedRowIds",
3853
+ "type": "Set<string>",
3854
+ "required": false,
3855
+ "description": "Controlled selection: ids of the selected rows."
2979
3856
  },
2980
3857
  {
2981
- "name": "disabled",
2982
- "type": "boolean",
3858
+ "name": "onGridApiChange",
3859
+ "type": "(api: GridApi<T>) => void",
2983
3860
  "required": false,
2984
- "defaultValue": "false",
2985
- "description": "Disables typing and tag removal."
3861
+ "description": "Fired when the grid API becomes available."
2986
3862
  },
2987
3863
  {
2988
- "name": "readOnly",
2989
- "type": "boolean",
3864
+ "name": "onSelectionChange",
3865
+ "type": "(selectedRowIds: Set<string>, selectedRows: T[]) => void",
2990
3866
  "required": false,
2991
- "defaultValue": "false",
2992
- "description": "Shows the tags without allowing new ones or removal."
3867
+ "description": "Fired when the selection changes."
2993
3868
  },
2994
3869
  {
2995
- "name": "collapseTagOverflow",
2996
- "type": "boolean",
3870
+ "name": "getRowId",
3871
+ "type": "(row: T) => string",
2997
3872
  "required": false,
2998
- "defaultValue": "false",
2999
- "description": "Keep the tags on one line, replacing the ones that do not fit with a `+N` chip."
3873
+ "description": "Extracts the unique id of a row. Defaults to its `id` field."
3000
3874
  },
3001
3875
  {
3002
- "name": "ariaLabel",
3003
- "type": "string",
3876
+ "name": "alternateOddRowColors",
3877
+ "type": "boolean",
3004
3878
  "required": false,
3005
- "description": "Accessible name for the text input; use it when there is no visible label."
3879
+ "defaultValue": "false",
3880
+ "description": "Tints odd rows."
3006
3881
  },
3007
3882
  {
3008
- "name": "tagListLabel",
3883
+ "name": "filterPlaceholder",
3009
3884
  "type": "string",
3010
3885
  "required": false,
3011
- "defaultValue": "'Tags'",
3012
- "description": "Accessible name of the tag list."
3886
+ "defaultValue": "'Enter value'",
3887
+ "description": "Placeholder of the column filter inputs."
3013
3888
  },
3014
3889
  {
3015
- "name": "className",
3016
- "type": "string",
3890
+ "name": "emptyStateIcon",
3891
+ "type": "ReactNode",
3017
3892
  "required": false,
3018
- "description": "Additional CSS classes for the outer container."
3893
+ "description": "Illustration of the empty state."
3019
3894
  },
3020
3895
  {
3021
- "name": "fieldClassName",
3896
+ "name": "emptyStateTitle",
3022
3897
  "type": "string",
3023
3898
  "required": false,
3024
- "description": "Additional CSS classes for the field itself."
3899
+ "defaultValue": "'No results found'",
3900
+ "description": "Headline of the empty state."
3025
3901
  },
3026
3902
  {
3027
- "name": "tagClassName",
3903
+ "name": "emptyStateDescription",
3028
3904
  "type": "string",
3029
3905
  "required": false,
3030
- "description": "Additional CSS classes applied to every tag."
3906
+ "defaultValue": "\"Sorry, we couldn't find any results for your search.\"",
3907
+ "description": "Secondary line of the empty state."
3031
3908
  },
3032
3909
  {
3033
- "name": "onChange",
3034
- "type": "(tags: string[]) => void",
3035
- "required": false,
3036
- "description": "Called with the new list whenever a tag is added or removed."
3037
- }
3038
- ],
3039
- "examples": [
3040
- "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/>"
3041
- ],
3042
- "sourceFile": "components/New/TagInput/TagInput.tsx"
3043
- },
3044
- {
3045
- "name": "Search",
3046
- "category": "Components_2_0",
3047
- "generation": "2.0",
3048
- "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.",
3049
- "props": [
3050
- {
3051
- "name": "withoutBorder",
3910
+ "name": "loading",
3052
3911
  "type": "boolean",
3053
3912
  "required": false,
3054
3913
  "defaultValue": "false",
3055
- "description": "Renders the field without its border and background"
3914
+ "description": "Shows the loading overlay."
3056
3915
  },
3057
3916
  {
3058
- "name": "clearLabel",
3059
- "type": "string",
3917
+ "name": "wrapperBorder",
3918
+ "type": "boolean",
3060
3919
  "required": false,
3061
- "defaultValue": "'Clear search'",
3062
- "description": "Accessible name of the clear button"
3063
- }
3064
- ],
3065
- "examples": [
3066
- "<Search\n id=\"search\"\n value={query}\n placeholder=\"Search\"\n onChange={setQuery}\n/>"
3067
- ],
3068
- "sourceFile": "components/New/Search/Search.tsx"
3069
- },
3070
- {
3071
- "name": "Tooltip",
3072
- "category": "Components_2_0",
3073
- "generation": "2.0",
3074
- "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.",
3075
- "props": [
3920
+ "defaultValue": "true",
3921
+ "description": "Draws a border around the grid."
3922
+ },
3076
3923
  {
3077
- "name": "hideTooltip",
3924
+ "name": "withoutHeaderBorders",
3078
3925
  "type": "boolean",
3079
3926
  "required": false,
3080
3927
  "defaultValue": "false",
3081
- "description": "Suppress the tooltip while keeping the trigger rendered"
3928
+ "description": "Hides the vertical borders between header cells."
3082
3929
  },
3083
3930
  {
3084
- "name": "tooltip",
3085
- "type": "ReactNode",
3931
+ "name": "selectionMode",
3932
+ "type": "GridSelectionMode",
3086
3933
  "required": false,
3087
- "description": "The content to display in the tooltip"
3088
- },
3089
- {
3090
- "name": "children",
3091
- "type": "ReactNode",
3092
- "required": true,
3093
- "description": "The element that triggers the tooltip"
3934
+ "description": "Renders a selection column of checkboxes or radios."
3094
3935
  },
3095
3936
  {
3096
- "name": "asChild",
3937
+ "name": "allowDisabledContextMenu",
3097
3938
  "type": "boolean",
3098
3939
  "required": false,
3099
3940
  "defaultValue": "false",
3100
- "description": "Use the child as the trigger instead of wrapping it in a `<span>`"
3941
+ "description": "Keeps the context menu on a non-selectable row."
3101
3942
  },
3102
3943
  {
3103
- "name": "triggerClassName",
3104
- "type": "string",
3944
+ "name": "selectRowLabel",
3945
+ "type": "(row: T) => string",
3105
3946
  "required": false,
3106
- "description": "Additional CSS classes for the trigger element"
3947
+ "description": "Accessible name of a row's selection control."
3107
3948
  },
3108
3949
  {
3109
- "name": "contentClassName",
3950
+ "name": "selectAllLabel",
3110
3951
  "type": "string",
3111
3952
  "required": false,
3112
- "description": "Additional CSS classes for the tooltip bubble"
3953
+ "defaultValue": "'Select all rows'",
3954
+ "description": "Accessible name of the select-all control."
3113
3955
  }
3114
3956
  ],
3115
3957
  "examples": [
3116
- "<Tooltip tooltip=\"Tooltip text\" placement={TooltipPlacement.Top} asChild>\n <button>Hover me</button>\n</Tooltip>"
3117
- ],
3118
- "sourceFile": "components/New/Tooltip/Tooltip.tsx"
3119
- },
3120
- {
3121
- "name": "TooltipContainer",
3122
- "category": "Components_2_0",
3123
- "generation": "2.0",
3124
- "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.",
3125
- "props": [],
3126
- "examples": [
3127
- "<TooltipContainer placement={TooltipPlacement.Top}>\n <TooltipTrigger asChild>\n <button>Hover me</button>\n </TooltipTrigger>\n <TooltipContent>Tooltip text</TooltipContent>\n</TooltipContainer>"
3128
- ],
3129
- "sourceFile": "components/New/Tooltip/TooltipContainer.tsx"
3130
- },
3131
- {
3132
- "name": "TooltipContent",
3133
- "category": "Components_2_0",
3134
- "generation": "2.0",
3135
- "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.",
3136
- "props": [
3137
- {
3138
- "name": "style",
3139
- "type": "CSSProperties",
3140
- "required": false,
3141
- "description": "Additional inline styles for the tooltip bubble"
3142
- }
3958
+ "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/>"
3143
3959
  ],
3144
- "examples": [],
3145
- "sourceFile": "components/New/Tooltip/TooltipContent.tsx"
3960
+ "sourceFile": "components/New/Grid/Grid.tsx"
3146
3961
  },
3147
3962
  {
3148
- "name": "TooltipTrigger",
3149
- "category": "Components_2_0",
3963
+ "name": "DateCellRenderer",
3964
+ "category": "Components_2_0/Grid",
3150
3965
  "generation": "2.0",
3151
- "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.",
3966
+ "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.",
3152
3967
  "props": [
3153
3968
  {
3154
- "name": "asChild",
3155
- "type": "boolean",
3969
+ "name": "value",
3970
+ "type": "DateValue | null",
3156
3971
  "required": false,
3157
- "defaultValue": "false",
3158
- "description": "Render the child as the trigger instead of wrapping it in a `<span>`"
3159
- }
3160
- ],
3161
- "examples": [],
3162
- "sourceFile": "components/New/Tooltip/TooltipTrigger.tsx"
3163
- },
3164
- {
3165
- "name": "EllipsisTooltip",
3166
- "category": "Components_2_0",
3167
- "generation": "2.0",
3168
- "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.",
3169
- "props": [
3170
- {
3171
- "name": "text",
3172
- "type": "ReactNode",
3173
- "required": true,
3174
- "description": "The text or node to display, truncated with an ellipsis when it does not fit"
3972
+ "description": "The date to render."
3175
3973
  },
3176
3974
  {
3177
- "name": "className",
3975
+ "name": "locale",
3178
3976
  "type": "string",
3179
3977
  "required": false,
3180
- "description": "Additional CSS classes for the text element, typically its width"
3978
+ "defaultValue": "DEFAULT_LOCALE",
3979
+ "description": "Locale used for formatting."
3181
3980
  },
3182
3981
  {
3183
- "name": "contentClassName",
3184
- "type": "string",
3982
+ "name": "options",
3983
+ "type": "Intl.DateTimeFormatOptions",
3185
3984
  "required": false,
3186
- "description": "Additional CSS classes for the tooltip bubble"
3985
+ "defaultValue": "DEFAULT_DATE_FORMAT_OPTIONS",
3986
+ "description": "`Intl.DateTimeFormat` options, e.g. `timeZone`."
3187
3987
  },
3188
3988
  {
3189
- "name": "hideTooltip",
3190
- "type": "boolean",
3989
+ "name": "emptyPlaceholder",
3990
+ "type": "string",
3191
3991
  "required": false,
3192
- "defaultValue": "false",
3193
- "description": "Suppress the tooltip even while the text is truncated"
3992
+ "description": "Rendered when the value carries no usable date."
3194
3993
  },
3195
3994
  {
3196
- "name": "id",
3995
+ "name": "className",
3197
3996
  "type": "string",
3198
3997
  "required": false,
3199
- "description": "`id` of the text element"
3998
+ "description": "Additional CSS classes for the cell."
3200
3999
  },
3201
4000
  {
3202
- "name": "customTooltipContent",
3203
- "type": "ReactNode",
4001
+ "name": "hideTooltip",
4002
+ "type": "boolean",
3204
4003
  "required": false,
3205
- "description": "Shown instead of the full text while truncated"
4004
+ "defaultValue": "false",
4005
+ "description": "Suppresses the truncation tooltip."
3206
4006
  }
3207
4007
  ],
3208
4008
  "examples": [
3209
- "<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 />"
4009
+ "// 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"
3210
4010
  ],
3211
- "sourceFile": "components/New/EllipsisTooltip/EllipsisTooltip.tsx"
4011
+ "sourceFile": "components/New/Grid/renderers/DateCellRenderer.tsx"
3212
4012
  },
3213
4013
  {
3214
4014
  "name": "DialCaptionText",
@@ -3539,7 +4339,7 @@
3539
4339
  "name": "barClassName",
3540
4340
  "type": "string",
3541
4341
  "required": false,
3542
- "description": "Additional CSS classes for each bar's outer container."
4342
+ "description": "Additional CSS classes for each bar's outer container. In compare mode they apply to the shared pair container (one continuous block); the entry is a Tailwind `group` — use `group-hover:` for pair hover; when `onBarClick` is set that container also gets a default accent fill on hover and `:focus-visible`."
3543
4343
  },
3544
4344
  {
3545
4345
  "name": "barDescriptions",
@@ -4305,7 +5105,8 @@
4305
5105
  "examples": [
4306
5106
  "<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/>"
4307
5107
  ],
4308
- "sourceFile": "components/Slider/Slider.tsx"
5108
+ "sourceFile": "components/Slider/Slider.tsx",
5109
+ "supersededBy": "Slider"
4309
5110
  },
4310
5111
  {
4311
5112
  "name": "DialNoDataContent",
@@ -4353,7 +5154,8 @@
4353
5154
  "examples": [
4354
5155
  "<NoDataContent\n emptyDataTitle=\"No results found\"\n icon={<CustomIcon />}\n/>"
4355
5156
  ],
4356
- "sourceFile": "components/NoDataContent/NoDataContent.tsx"
5157
+ "sourceFile": "components/NoDataContent/NoDataContent.tsx",
5158
+ "supersededBy": "NoDataContent"
4357
5159
  },
4358
5160
  {
4359
5161
  "name": "DialCollapsibleSidebar",
@@ -4428,7 +5230,8 @@
4428
5230
  "examples": [
4429
5231
  "<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>"
4430
5232
  ],
4431
- "sourceFile": "components/CollapsibleSidebar/CollapsibleSidebar.tsx"
5233
+ "sourceFile": "components/CollapsibleSidebar/CollapsibleSidebar.tsx",
5234
+ "supersededBy": "CollapsibleSidebar"
4432
5235
  },
4433
5236
  {
4434
5237
  "name": "DialLabelledText",
@@ -5023,7 +5826,8 @@
5023
5826
  }
5024
5827
  ],
5025
5828
  "examples": [],
5026
- "sourceFile": "components/ResizableContainer/ResizableContainer.tsx"
5829
+ "sourceFile": "components/ResizableContainer/ResizableContainer.tsx",
5830
+ "supersededBy": "ResizableContainer"
5027
5831
  },
5028
5832
  {
5029
5833
  "name": "DialConditionalResizableContainer",
@@ -5042,7 +5846,8 @@
5042
5846
  "examples": [
5043
5847
  "<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>"
5044
5848
  ],
5045
- "sourceFile": "components/ResizableContainer/ConditionalResizableContainer.tsx"
5849
+ "sourceFile": "components/ResizableContainer/ConditionalResizableContainer.tsx",
5850
+ "supersededBy": "ConditionalResizableContainer"
5046
5851
  },
5047
5852
  {
5048
5853
  "name": "DialGrid",
@@ -5197,7 +6002,8 @@
5197
6002
  "examples": [
5198
6003
  "// 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/>"
5199
6004
  ],
5200
- "sourceFile": "components/Grid/Grid.tsx"
6005
+ "sourceFile": "components/Grid/Grid.tsx",
6006
+ "supersededBy": "Grid"
5201
6007
  },
5202
6008
  {
5203
6009
  "name": "DialDateCellRenderer",
@@ -5246,7 +6052,8 @@
5246
6052
  "examples": [
5247
6053
  "// 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"
5248
6054
  ],
5249
- "sourceFile": "components/Grid/renderers/DateCellRenderer.tsx"
6055
+ "sourceFile": "components/Grid/renderers/DateCellRenderer.tsx",
6056
+ "supersededBy": "DateCellRenderer"
5250
6057
  },
5251
6058
  {
5252
6059
  "name": "DialTabs",
@@ -5887,7 +6694,7 @@
5887
6694
  "name": "DialTooltipContent",
5888
6695
  "category": "Overlay",
5889
6696
  "generation": "1.0",
5890
- "description": "The content area of a tooltip that displays the tooltip information\nDesign system 1.0",
6697
+ "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.",
5891
6698
  "props": [],
5892
6699
  "examples": [],
5893
6700
  "sourceFile": "components/Tooltip/TooltipContent.tsx",
@@ -8403,6 +9210,39 @@
8403
9210
  ],
8404
9211
  "sourceFile": "types/dropdown.ts"
8405
9212
  },
9213
+ {
9214
+ "name": "MenuItemMark",
9215
+ "kind": "enum",
9216
+ "members": [
9217
+ {
9218
+ "name": "None",
9219
+ "value": "'none'",
9220
+ "comment": "Nothing marks the row — it is only ever unselected."
9221
+ },
9222
+ {
9223
+ "name": "Check",
9224
+ "value": "'check'",
9225
+ "comment": "A trailing check on the chosen row; the row keeps its plain background."
9226
+ },
9227
+ {
9228
+ "name": "Tint",
9229
+ "value": "'tint'",
9230
+ "comment": "The chosen row is tinted, with no glyph — the select list's own mark."
9231
+ },
9232
+ {
9233
+ "name": "Checkbox",
9234
+ "value": "'checkbox'",
9235
+ "comment": "A leading checkbox box, tinted while checked, for multiselect rows."
9236
+ },
9237
+ {
9238
+ "name": "Highlight",
9239
+ "value": "'highlight'",
9240
+ "comment": "Accent label on a tinted row: the current item in a navigation menu."
9241
+ }
9242
+ ],
9243
+ "sourceFile": "types/menu-item.ts",
9244
+ "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."
9245
+ },
8406
9246
  {
8407
9247
  "name": "ElementSize",
8408
9248
  "kind": "enum",
@@ -8856,6 +9696,14 @@
8856
9696
  "name": "icon?",
8857
9697
  "value": "ReactNode"
8858
9698
  },
9699
+ {
9700
+ "name": "rightControl?",
9701
+ "value": "ReactNode"
9702
+ },
9703
+ {
9704
+ "name": "interactiveTooltip?",
9705
+ "value": "SelectOptionInteractiveTooltip"
9706
+ },
8859
9707
  {
8860
9708
  "name": "children?",
8861
9709
  "value": "SelectOption[]"
@@ -8941,10 +9789,18 @@
8941
9789
  "name": "selectable?",
8942
9790
  "value": "boolean"
8943
9791
  },
9792
+ {
9793
+ "name": "mark?",
9794
+ "value": "MenuItemMark"
9795
+ },
8944
9796
  {
8945
9797
  "name": "checked?",
8946
9798
  "value": "boolean"
8947
9799
  },
9800
+ {
9801
+ "name": "rightControl?",
9802
+ "value": "ReactNode"
9803
+ },
8948
9804
  {
8949
9805
  "name": "type?",
8950
9806
  "value": "DropdownItemType"
@@ -8980,6 +9836,10 @@
8980
9836
  {
8981
9837
  "name": "subMenuHoverOptions?",
8982
9838
  "value": "DropdownSubMenuHoverOptions"
9839
+ },
9840
+ {
9841
+ "name": "interactiveTooltip?",
9842
+ "value": "DropdownItemInteractiveTooltip"
8983
9843
  }
8984
9844
  ],
8985
9845
  "sourceFile": "models/dropdown.ts"
@@ -9515,6 +10375,29 @@
9515
10375
  "sourceFile": "components/New/Calendar/Calendar.tsx",
9516
10376
  "typeBody": "Date | string | null"
9517
10377
  },
10378
+ {
10379
+ "name": "TextareaResize",
10380
+ "kind": "enum",
10381
+ "members": [
10382
+ {
10383
+ "name": "None",
10384
+ "value": "'none'"
10385
+ },
10386
+ {
10387
+ "name": "Both",
10388
+ "value": "'both'"
10389
+ },
10390
+ {
10391
+ "name": "Horizontal",
10392
+ "value": "'horizontal'"
10393
+ },
10394
+ {
10395
+ "name": "Vertical",
10396
+ "value": "'vertical'"
10397
+ }
10398
+ ],
10399
+ "sourceFile": "components/New/Textarea/Textarea.tsx"
10400
+ },
9518
10401
  {
9519
10402
  "name": "RadioGroupItem",
9520
10403
  "kind": "interface",
@@ -9680,7 +10563,7 @@
9680
10563
  },
9681
10564
  {
9682
10565
  "name": "convertGridDateToDate",
9683
- "sourceFile": "components/Grid/renderers/utils.ts"
10566
+ "sourceFile": "utils/grid-date.ts"
9684
10567
  },
9685
10568
  {
9686
10569
  "name": "useDialFileManagerTabs",
@@ -9719,11 +10602,76 @@
9719
10602
  "description": "Hook to read the File Manager context.\nThrows if used outside of the provider.",
9720
10603
  "signature": "() => unknown"
9721
10604
  },
10605
+ {
10606
+ "name": "useThemeScope",
10607
+ "sourceFile": "components/New/ThemeScope/ThemeScope.tsx",
10608
+ "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.",
10609
+ "signature": "() => string"
10610
+ },
9722
10611
  {
9723
10612
  "name": "matchesAccept",
9724
10613
  "sourceFile": "utils/file-accept.ts",
9725
10614
  "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.",
9726
10615
  "signature": "(file: File, accept?: string) => boolean"
10616
+ },
10617
+ {
10618
+ "name": "GRID_SELECTION_COLUMN_ID",
10619
+ "sourceFile": "components/New/Grid/Grid.tsx",
10620
+ "description": "Column id of the selection column this component prepends itself.",
10621
+ "signature": "GRID_SELECTION_COLUMN_ID = 'dial-kit-grid-selection'"
10622
+ },
10623
+ {
10624
+ "name": "DEFAULT_DATE_FORMAT_OPTIONS",
10625
+ "sourceFile": "components/New/Grid/renderers/constants.ts",
10626
+ "signature": "DEFAULT_DATE_FORMAT_OPTIONS: Intl.DateTimeFormatOptions"
10627
+ },
10628
+ {
10629
+ "name": "DEFAULT_DATE_LOCALE",
10630
+ "sourceFile": "components/New/Grid/renderers/constants.ts"
10631
+ },
10632
+ {
10633
+ "name": "GRID_ALIGN_RIGHT_CLASS",
10634
+ "sourceFile": "components/New/Grid/constants.ts",
10635
+ "description": "Right-aligns a column. Applied by the consumer through `cellClass`.",
10636
+ "signature": "GRID_ALIGN_RIGHT_CLASS = 'dial-kit-grid-align-right'"
10637
+ },
10638
+ {
10639
+ "name": "GRID_ROOT_CLASS",
10640
+ "sourceFile": "components/New/Grid/constants.ts",
10641
+ "description": "Root class of the 2.0 grid; every rule in `styles/grid.scss` sits under it.",
10642
+ "signature": "GRID_ROOT_CLASS = 'dial-kit-grid'"
10643
+ },
10644
+ {
10645
+ "name": "GRID_THEME_PARAMS",
10646
+ "sourceFile": "components/New/Grid/constants.ts",
10647
+ "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.",
10648
+ "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}"
10649
+ },
10650
+ {
10651
+ "name": "GRID_ROW_HEIGHT",
10652
+ "sourceFile": "components/New/Grid/constants.ts"
10653
+ },
10654
+ {
10655
+ "name": "DIAL_KIT_ICON_STROKE",
10656
+ "sourceFile": "components/New/constants/icon.ts",
10657
+ "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.",
10658
+ "signature": "DIAL_KIT_ICON_STROKE = 1.5"
10659
+ },
10660
+ {
10661
+ "name": "convertToDate",
10662
+ "sourceFile": "utils/grid-date.ts",
10663
+ "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.",
10664
+ "signature": "(input?: DateValue | null) => Date | null"
10665
+ },
10666
+ {
10667
+ "name": "baseColumnComparator",
10668
+ "sourceFile": "utils/grid-comparators.ts",
10669
+ "signature": "(a: string | number | undefined, b: string | number | undefined, _nodeA?: IRowNode, _nodeB?: IRowNode, isInverted?: boolean) => number"
10670
+ },
10671
+ {
10672
+ "name": "checkColDefsChanges",
10673
+ "sourceFile": "utils/grid-comparators.ts",
10674
+ "signature": "(cols: ColDef[], initialCols: ColDef[]) => unknown"
9727
10675
  }
9728
10676
  ],
9729
10677
  "utils": [