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

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 (531) hide show
  1. package/README.md +33 -3
  2. package/dist/CHANGELOG.md +18 -4
  3. package/dist/DateCellRenderer-BVM-Q8yx.cjs +63 -0
  4. package/dist/DateCellRenderer-ssp7eaZY.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 +50 -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 +1127 -172
  305. package/dist/{JsonEditor-CQmVvyc3.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/README.md +1 -0
  332. package/dist/models/file.js +6 -0
  333. package/dist/models/selection-mode.js +4 -0
  334. package/dist/models/step.js +4 -0
  335. package/dist/node_modules/@react-dnd/asap/dist/AsapQueue.js +39 -0
  336. package/dist/node_modules/@react-dnd/asap/dist/RawTask.js +17 -0
  337. package/dist/node_modules/@react-dnd/asap/dist/TaskFactory.js +16 -0
  338. package/dist/node_modules/@react-dnd/asap/dist/asap.js +9 -0
  339. package/dist/node_modules/@react-dnd/asap/dist/makeRequestCall.js +62 -0
  340. package/dist/node_modules/@react-dnd/invariant/dist/index.js +22 -0
  341. package/dist/node_modules/@react-dnd/shallowequal/dist/index.js +25 -0
  342. package/dist/node_modules/ag-grid-community/dist/package/main.esm.js +39799 -0
  343. package/dist/node_modules/ag-grid-react/dist/package/index.esm.js +1989 -0
  344. package/dist/node_modules/dnd-core/dist/actions/dragDrop/beginDrag.js +70 -0
  345. package/dist/node_modules/dnd-core/dist/actions/dragDrop/drop.js +54 -0
  346. package/dist/node_modules/dnd-core/dist/actions/dragDrop/endDrag.js +18 -0
  347. package/dist/node_modules/dnd-core/dist/actions/dragDrop/hover.js +42 -0
  348. package/dist/node_modules/dnd-core/dist/actions/dragDrop/index.js +17 -0
  349. package/dist/node_modules/dnd-core/dist/actions/dragDrop/local/setClientOffset.js +13 -0
  350. package/dist/node_modules/dnd-core/dist/actions/dragDrop/publishDragSource.js +12 -0
  351. package/dist/node_modules/dnd-core/dist/actions/dragDrop/types.js +9 -0
  352. package/dist/node_modules/dnd-core/dist/actions/registry.js +43 -0
  353. package/dist/node_modules/dnd-core/dist/classes/DragDropManagerImpl.js +41 -0
  354. package/dist/node_modules/dnd-core/dist/classes/DragDropMonitorImpl.js +115 -0
  355. package/dist/node_modules/dnd-core/dist/classes/HandlerRegistryImpl.js +96 -0
  356. package/dist/node_modules/dnd-core/dist/contracts.js +21 -0
  357. package/dist/node_modules/dnd-core/dist/createDragDropManager.js +19 -0
  358. package/dist/node_modules/dnd-core/dist/interfaces.js +7 -0
  359. package/dist/node_modules/dnd-core/dist/reducers/dirtyHandlerIds.js +30 -0
  360. package/dist/node_modules/dnd-core/dist/reducers/dragOffset.js +50 -0
  361. package/dist/node_modules/dnd-core/dist/reducers/dragOperation.js +78 -0
  362. package/dist/node_modules/dnd-core/dist/reducers/index.js +42 -0
  363. package/dist/node_modules/dnd-core/dist/reducers/refCount.js +16 -0
  364. package/dist/node_modules/dnd-core/dist/reducers/stateId.js +6 -0
  365. package/dist/node_modules/dnd-core/dist/utils/coords.js +26 -0
  366. package/dist/node_modules/dnd-core/dist/utils/dirtiness.js +12 -0
  367. package/dist/node_modules/dnd-core/dist/utils/equality.js +17 -0
  368. package/dist/node_modules/dnd-core/dist/utils/getNextUniqueId.js +7 -0
  369. package/dist/node_modules/dnd-core/dist/utils/js_utils.js +36 -0
  370. package/dist/node_modules/dnd-core/dist/utils/matchesType.js +8 -0
  371. package/dist/node_modules/fast-deep-equal/index.js +31 -0
  372. package/dist/node_modules/mime-db/db.json.js +2527 -0
  373. package/dist/node_modules/mime-db/index.js +8 -0
  374. package/dist/node_modules/mime-types/index.js +70 -0
  375. package/dist/node_modules/mime-types/mimeScore.js +38 -0
  376. package/dist/node_modules/re-resizable/lib/index.js +424 -0
  377. package/dist/node_modules/re-resizable/lib/resizer.js +49 -0
  378. package/dist/node_modules/react-dnd/dist/core/DndContext.js +7 -0
  379. package/dist/node_modules/react-dnd/dist/core/DndProvider.js +66 -0
  380. package/dist/node_modules/react-dnd/dist/hooks/useCollectedProps.js +11 -0
  381. package/dist/node_modules/react-dnd/dist/hooks/useCollector.js +22 -0
  382. package/dist/node_modules/react-dnd/dist/hooks/useDrag/DragSourceImpl.js +25 -0
  383. package/dist/node_modules/react-dnd/dist/hooks/useDrag/connectors.js +21 -0
  384. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDrag.js +20 -0
  385. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSource.js +19 -0
  386. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceConnector.js +22 -0
  387. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragSourceMonitor.js +15 -0
  388. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useDragType.js +13 -0
  389. package/dist/node_modules/react-dnd/dist/hooks/useDrag/useRegisteredDragSource.js +23 -0
  390. package/dist/node_modules/react-dnd/dist/hooks/useDragDropManager.js +10 -0
  391. package/dist/node_modules/react-dnd/dist/hooks/useDrop/DropTargetImpl.js +21 -0
  392. package/dist/node_modules/react-dnd/dist/hooks/useDrop/connectors.js +12 -0
  393. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useAccept.js +13 -0
  394. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDrop.js +16 -0
  395. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDropTarget.js +18 -0
  396. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDropTargetConnector.js +18 -0
  397. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useDropTargetMonitor.js +15 -0
  398. package/dist/node_modules/react-dnd/dist/hooks/useDrop/useRegisteredDropTarget.js +23 -0
  399. package/dist/node_modules/react-dnd/dist/hooks/useIsomorphicLayoutEffect.js +5 -0
  400. package/dist/node_modules/react-dnd/dist/hooks/useMonitorOutput.js +20 -0
  401. package/dist/node_modules/react-dnd/dist/hooks/useOptionalFactory.js +10 -0
  402. package/dist/node_modules/react-dnd/dist/internals/DragSourceMonitorImpl.js +88 -0
  403. package/dist/node_modules/react-dnd/dist/internals/DropTargetMonitorImpl.js +59 -0
  404. package/dist/node_modules/react-dnd/dist/internals/SourceConnector.js +87 -0
  405. package/dist/node_modules/react-dnd/dist/internals/TargetConnector.js +57 -0
  406. package/dist/node_modules/react-dnd/dist/internals/isRef.js +9 -0
  407. package/dist/node_modules/react-dnd/dist/internals/registration.js +18 -0
  408. package/dist/node_modules/react-dnd/dist/internals/wrapConnectorHooks.js +46 -0
  409. package/dist/node_modules/react-dnd-html5-backend/dist/BrowserDetector.js +10 -0
  410. package/dist/node_modules/react-dnd-html5-backend/dist/EnterLeaveCounter.js +22 -0
  411. package/dist/node_modules/react-dnd-html5-backend/dist/HTML5BackendImpl.js +274 -0
  412. package/dist/node_modules/react-dnd-html5-backend/dist/MonotonicInterpolant.js +59 -0
  413. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/NativeDragSource.js +43 -0
  414. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/getDataFromDataTransfer.js +10 -0
  415. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/index.js +24 -0
  416. package/dist/node_modules/react-dnd-html5-backend/dist/NativeDragSources/nativeTypesConfig.js +48 -0
  417. package/dist/node_modules/react-dnd-html5-backend/dist/NativeTypes.js +7 -0
  418. package/dist/node_modules/react-dnd-html5-backend/dist/OffsetUtils.js +70 -0
  419. package/dist/node_modules/react-dnd-html5-backend/dist/OptionsReader.js +22 -0
  420. package/dist/node_modules/react-dnd-html5-backend/dist/index.js +7 -0
  421. package/dist/node_modules/react-dnd-html5-backend/dist/utils/js_utils.js +22 -0
  422. package/dist/node_modules/redux/es/redux.js +158 -0
  423. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +2924 -0
  424. package/dist/src/components/Analytics/BarGroup/BarGroup.d.ts +9 -2
  425. package/dist/src/components/FileManager/FileManager.d.ts +2 -1
  426. package/dist/src/components/FileManager/components/DestinationFolderPopup/DestinationFolderPopup.d.ts +2 -0
  427. package/dist/src/components/FileManager/hooks/use-file-upload.d.ts +4 -2
  428. package/dist/src/components/FileManager/utils.d.ts +11 -0
  429. package/dist/src/components/Grid/comparators/base-column-comparator.d.ts +1 -4
  430. package/dist/src/components/Grid/renderers/utils.d.ts +1 -2
  431. package/dist/src/components/JsonEditor/lazy.d.ts +14 -0
  432. package/dist/src/components/MarkdownEditor/lazy.d.ts +7 -0
  433. package/dist/src/components/New/CollapsibleSidebar/CollapsibleSidebar.d.ts +82 -0
  434. package/dist/src/components/New/Dropdown/Dropdown.d.ts +20 -0
  435. package/dist/src/components/New/Dropdown/constants.d.ts +5 -4
  436. package/dist/src/components/New/Dropdown/item-mark.d.ts +15 -0
  437. package/dist/src/components/New/EllipsisTooltip/EllipsisTooltip.d.ts +1 -1
  438. package/dist/src/components/New/EllipsisTooltip/use-truncation.d.ts +5 -0
  439. package/dist/src/components/New/Grid/Grid.d.ts +124 -0
  440. package/dist/src/components/New/Grid/components/SelectionCell.d.ts +21 -0
  441. package/dist/src/components/New/Grid/components/SelectionHeader.d.ts +14 -0
  442. package/dist/src/components/New/Grid/constants.d.ts +61 -0
  443. package/dist/src/components/New/Grid/renderers/DateCellRenderer.d.ts +48 -0
  444. package/dist/src/components/New/Grid/renderers/constants.d.ts +5 -0
  445. package/dist/src/components/New/InteractiveTooltip/InteractiveTooltip.d.ts +74 -0
  446. package/dist/src/components/New/InteractiveTooltip/constants.d.ts +26 -0
  447. package/dist/src/components/New/MarkdownEditor/MarkdownEditor.d.ts +6 -0
  448. package/dist/src/components/New/MarkdownEditor/lazy.d.ts +7 -0
  449. package/dist/src/components/New/MenuItem/MenuItem.d.ts +68 -0
  450. package/dist/src/components/New/MenuItem/constants.d.ts +5 -0
  451. package/dist/src/components/New/NoDataContent/NoDataContent.d.ts +48 -0
  452. package/dist/src/components/New/ResizableContainer/ConditionalResizableContainer.d.ts +34 -0
  453. package/dist/src/components/New/ResizableContainer/ResizableContainer.d.ts +77 -0
  454. package/dist/src/components/New/ResizableContainer/components/ResizeHandle.d.ts +21 -0
  455. package/dist/src/components/New/SegmentedControl/constants.d.ts +2 -2
  456. package/dist/src/components/New/Select/Select.d.ts +14 -2
  457. package/dist/src/components/New/Select/SelectSubMenuItem.d.ts +3 -0
  458. package/dist/src/components/New/Select/constants.d.ts +12 -5
  459. package/dist/src/components/New/Slider/Slider.d.ts +70 -0
  460. package/dist/src/components/New/Textarea/Textarea.d.ts +8 -2
  461. package/dist/src/components/New/ThemeScope/ThemeScope.d.ts +46 -0
  462. package/dist/src/components/New/Tooltip/Tooltip.d.ts +1 -1
  463. package/dist/src/components/New/Tooltip/TooltipContent.d.ts +4 -3
  464. package/dist/src/components/New/Tooltip/constants.d.ts +10 -1
  465. package/dist/src/components/New/constants/icon.d.ts +22 -0
  466. package/dist/src/components/New/constants/overlay.d.ts +7 -0
  467. package/dist/src/components/Tooltip/TooltipContent.d.ts +4 -0
  468. package/dist/src/hooks/use-has-hover.d.ts +20 -0
  469. package/dist/src/index.d.ts +30 -4
  470. package/dist/src/models/dropdown.d.ts +40 -1
  471. package/dist/src/models/select.d.ts +30 -0
  472. package/dist/src/subpaths/editors.d.ts +22 -0
  473. package/dist/src/subpaths/file-manager.d.ts +21 -0
  474. package/dist/src/subpaths/grid.d.ts +25 -0
  475. package/dist/src/types/menu-item.d.ts +21 -0
  476. package/dist/src/utils/__tests__/element-size-observer.spec.d.ts +1 -0
  477. package/dist/src/utils/__tests__/pointer.spec.d.ts +1 -0
  478. package/dist/src/utils/element-size-observer.d.ts +26 -0
  479. package/dist/src/utils/grid-comparators.d.ts +4 -0
  480. package/dist/src/utils/grid-date.d.ts +7 -0
  481. package/dist/src/utils/grid-registration.d.ts +16 -0
  482. package/dist/src/utils/grid-registration.spec.d.ts +1 -0
  483. package/dist/src/utils/pointer.d.ts +29 -0
  484. package/dist/src/utils/sub-menu-floating.d.ts +1 -0
  485. package/dist/types/analytics.js +4 -0
  486. package/dist/types/button.js +5 -0
  487. package/dist/types/calendar.js +4 -0
  488. package/dist/types/caption.js +4 -0
  489. package/dist/types/confirmation-popup.js +4 -0
  490. package/dist/types/dropdown.js +6 -0
  491. package/dist/types/editor.js +4 -0
  492. package/dist/types/file-manager.js +12 -0
  493. package/dist/types/flexible-actions.js +4 -0
  494. package/dist/types/form-item.js +4 -0
  495. package/dist/types/item.js +4 -0
  496. package/dist/types/menu-item.js +4 -0
  497. package/dist/types/notification.js +5 -0
  498. package/dist/types/popup.js +4 -0
  499. package/dist/types/radio-group.js +4 -0
  500. package/dist/types/resizable-container.js +4 -0
  501. package/dist/types/screen.js +4 -0
  502. package/dist/types/select.js +5 -0
  503. package/dist/types/size.js +4 -0
  504. package/dist/types/skeleton.js +6 -0
  505. package/dist/types/tab.js +6 -0
  506. package/dist/types/tag.js +4 -0
  507. package/dist/types/tooltip.js +4 -0
  508. package/dist/use-file-manager-tabs-DjdR_mYM.cjs +3 -0
  509. package/dist/utils/accessible-name.js +6 -0
  510. package/dist/utils/debounce.js +9 -0
  511. package/dist/utils/element-size-observer.js +24 -0
  512. package/dist/utils/file-accept.js +16 -0
  513. package/dist/utils/flat-to-hierarchy-convertor.js +86 -0
  514. package/dist/utils/grid-comparators.js +17 -0
  515. package/dist/utils/grid-date.js +20 -0
  516. package/dist/utils/grid-registration.js +8 -0
  517. package/dist/utils/merge-classes.js +8 -0
  518. package/dist/utils/mobile.js +11 -0
  519. package/dist/utils/path.js +4 -0
  520. package/dist/utils/pointer.js +5 -0
  521. package/dist/utils/sub-menu-floating.js +85 -0
  522. package/package.json +37 -12
  523. package/dist/JsonEditor-DpV8EJsP.cjs +0 -1
  524. package/dist/MarkdownEditor-ByqdCRg9.js +0 -75
  525. package/dist/MarkdownEditor-CCsi7d4R.js +0 -35
  526. package/dist/MarkdownEditor-CIH1ew3u.cjs +0 -1
  527. package/dist/MarkdownEditor-Dk2ErWQK.cjs +0 -1
  528. package/dist/dial-ui-kit.cjs.js +0 -1
  529. package/dist/dial-ui-kit.es.js +0 -220
  530. package/dist/index-CdkIstBB.js +0 -66807
  531. package/dist/index-DQfKTiXa.cjs +0 -71
@@ -1,27 +1,23 @@
1
1
  {
2
- "version": "0.14.0-dev.7",
3
- "generatedAt": "2026-08-26T10:16:00.285Z",
2
+ "version": "0.14.0",
3
+ "generatedAt": "2026-09-14T15:28:02.969Z",
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",
@@ -2968,240 +3100,915 @@
2968
3100
  "name": "invalid",
2969
3101
  "type": "boolean",
2970
3102
  "required": false,
2971
- "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."
2972
3856
  },
2973
3857
  {
2974
- "name": "disabled",
2975
- "type": "boolean",
3858
+ "name": "onGridApiChange",
3859
+ "type": "(api: GridApi<T>) => void",
2976
3860
  "required": false,
2977
- "defaultValue": "false",
2978
- "description": "Disables typing and tag removal."
3861
+ "description": "Fired when the grid API becomes available."
2979
3862
  },
2980
3863
  {
2981
- "name": "readOnly",
2982
- "type": "boolean",
3864
+ "name": "onSelectionChange",
3865
+ "type": "(selectedRowIds: Set<string>, selectedRows: T[]) => void",
2983
3866
  "required": false,
2984
- "defaultValue": "false",
2985
- "description": "Shows the tags without allowing new ones or removal."
3867
+ "description": "Fired when the selection changes."
2986
3868
  },
2987
3869
  {
2988
- "name": "collapseTagOverflow",
2989
- "type": "boolean",
3870
+ "name": "getRowId",
3871
+ "type": "(row: T) => string",
2990
3872
  "required": false,
2991
- "defaultValue": "false",
2992
- "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."
2993
3874
  },
2994
3875
  {
2995
- "name": "ariaLabel",
2996
- "type": "string",
3876
+ "name": "alternateOddRowColors",
3877
+ "type": "boolean",
2997
3878
  "required": false,
2998
- "description": "Accessible name for the text input; use it when there is no visible label."
3879
+ "defaultValue": "false",
3880
+ "description": "Tints odd rows."
2999
3881
  },
3000
3882
  {
3001
- "name": "tagListLabel",
3883
+ "name": "filterPlaceholder",
3002
3884
  "type": "string",
3003
3885
  "required": false,
3004
- "defaultValue": "'Tags'",
3005
- "description": "Accessible name of the tag list."
3886
+ "defaultValue": "'Enter value'",
3887
+ "description": "Placeholder of the column filter inputs."
3006
3888
  },
3007
3889
  {
3008
- "name": "className",
3009
- "type": "string",
3890
+ "name": "emptyStateIcon",
3891
+ "type": "ReactNode",
3010
3892
  "required": false,
3011
- "description": "Additional CSS classes for the outer container."
3893
+ "description": "Illustration of the empty state."
3012
3894
  },
3013
3895
  {
3014
- "name": "fieldClassName",
3896
+ "name": "emptyStateTitle",
3015
3897
  "type": "string",
3016
3898
  "required": false,
3017
- "description": "Additional CSS classes for the field itself."
3899
+ "defaultValue": "'No results found'",
3900
+ "description": "Headline of the empty state."
3018
3901
  },
3019
3902
  {
3020
- "name": "tagClassName",
3903
+ "name": "emptyStateDescription",
3021
3904
  "type": "string",
3022
3905
  "required": false,
3023
- "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."
3024
3908
  },
3025
3909
  {
3026
- "name": "onChange",
3027
- "type": "(tags: string[]) => void",
3028
- "required": false,
3029
- "description": "Called with the new list whenever a tag is added or removed."
3030
- }
3031
- ],
3032
- "examples": [
3033
- "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/>"
3034
- ],
3035
- "sourceFile": "components/New/TagInput/TagInput.tsx"
3036
- },
3037
- {
3038
- "name": "Search",
3039
- "category": "Components_2_0",
3040
- "generation": "2.0",
3041
- "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.",
3042
- "props": [
3043
- {
3044
- "name": "withoutBorder",
3910
+ "name": "loading",
3045
3911
  "type": "boolean",
3046
3912
  "required": false,
3047
3913
  "defaultValue": "false",
3048
- "description": "Renders the field without its border and background"
3914
+ "description": "Shows the loading overlay."
3049
3915
  },
3050
3916
  {
3051
- "name": "clearLabel",
3052
- "type": "string",
3917
+ "name": "wrapperBorder",
3918
+ "type": "boolean",
3053
3919
  "required": false,
3054
- "defaultValue": "'Clear search'",
3055
- "description": "Accessible name of the clear button"
3056
- }
3057
- ],
3058
- "examples": [
3059
- "<Search\n id=\"search\"\n value={query}\n placeholder=\"Search\"\n onChange={setQuery}\n/>"
3060
- ],
3061
- "sourceFile": "components/New/Search/Search.tsx"
3062
- },
3063
- {
3064
- "name": "Tooltip",
3065
- "category": "Components_2_0",
3066
- "generation": "2.0",
3067
- "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.",
3068
- "props": [
3920
+ "defaultValue": "true",
3921
+ "description": "Draws a border around the grid."
3922
+ },
3069
3923
  {
3070
- "name": "hideTooltip",
3924
+ "name": "withoutHeaderBorders",
3071
3925
  "type": "boolean",
3072
3926
  "required": false,
3073
3927
  "defaultValue": "false",
3074
- "description": "Suppress the tooltip while keeping the trigger rendered"
3928
+ "description": "Hides the vertical borders between header cells."
3075
3929
  },
3076
3930
  {
3077
- "name": "tooltip",
3078
- "type": "ReactNode",
3931
+ "name": "selectionMode",
3932
+ "type": "GridSelectionMode",
3079
3933
  "required": false,
3080
- "description": "The content to display in the tooltip"
3081
- },
3082
- {
3083
- "name": "children",
3084
- "type": "ReactNode",
3085
- "required": true,
3086
- "description": "The element that triggers the tooltip"
3934
+ "description": "Renders a selection column of checkboxes or radios."
3087
3935
  },
3088
3936
  {
3089
- "name": "asChild",
3937
+ "name": "allowDisabledContextMenu",
3090
3938
  "type": "boolean",
3091
3939
  "required": false,
3092
3940
  "defaultValue": "false",
3093
- "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."
3094
3942
  },
3095
3943
  {
3096
- "name": "triggerClassName",
3097
- "type": "string",
3944
+ "name": "selectRowLabel",
3945
+ "type": "(row: T) => string",
3098
3946
  "required": false,
3099
- "description": "Additional CSS classes for the trigger element"
3947
+ "description": "Accessible name of a row's selection control."
3100
3948
  },
3101
3949
  {
3102
- "name": "contentClassName",
3950
+ "name": "selectAllLabel",
3103
3951
  "type": "string",
3104
3952
  "required": false,
3105
- "description": "Additional CSS classes for the tooltip bubble"
3953
+ "defaultValue": "'Select all rows'",
3954
+ "description": "Accessible name of the select-all control."
3106
3955
  }
3107
3956
  ],
3108
3957
  "examples": [
3109
- "<Tooltip tooltip=\"Tooltip text\" placement={TooltipPlacement.Top} asChild>\n <button>Hover me</button>\n</Tooltip>"
3110
- ],
3111
- "sourceFile": "components/New/Tooltip/Tooltip.tsx"
3112
- },
3113
- {
3114
- "name": "TooltipContainer",
3115
- "category": "Components_2_0",
3116
- "generation": "2.0",
3117
- "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.",
3118
- "props": [],
3119
- "examples": [
3120
- "<TooltipContainer placement={TooltipPlacement.Top}>\n <TooltipTrigger asChild>\n <button>Hover me</button>\n </TooltipTrigger>\n <TooltipContent>Tooltip text</TooltipContent>\n</TooltipContainer>"
3121
- ],
3122
- "sourceFile": "components/New/Tooltip/TooltipContainer.tsx"
3123
- },
3124
- {
3125
- "name": "TooltipContent",
3126
- "category": "Components_2_0",
3127
- "generation": "2.0",
3128
- "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.",
3129
- "props": [
3130
- {
3131
- "name": "style",
3132
- "type": "CSSProperties",
3133
- "required": false,
3134
- "description": "Additional inline styles for the tooltip bubble"
3135
- }
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/>"
3136
3959
  ],
3137
- "examples": [],
3138
- "sourceFile": "components/New/Tooltip/TooltipContent.tsx"
3960
+ "sourceFile": "components/New/Grid/Grid.tsx"
3139
3961
  },
3140
3962
  {
3141
- "name": "TooltipTrigger",
3142
- "category": "Components_2_0",
3963
+ "name": "DateCellRenderer",
3964
+ "category": "Components_2_0/Grid",
3143
3965
  "generation": "2.0",
3144
- "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.",
3145
3967
  "props": [
3146
3968
  {
3147
- "name": "asChild",
3148
- "type": "boolean",
3969
+ "name": "value",
3970
+ "type": "DateValue | null",
3149
3971
  "required": false,
3150
- "defaultValue": "false",
3151
- "description": "Render the child as the trigger instead of wrapping it in a `<span>`"
3152
- }
3153
- ],
3154
- "examples": [],
3155
- "sourceFile": "components/New/Tooltip/TooltipTrigger.tsx"
3156
- },
3157
- {
3158
- "name": "EllipsisTooltip",
3159
- "category": "Components_2_0",
3160
- "generation": "2.0",
3161
- "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.",
3162
- "props": [
3163
- {
3164
- "name": "text",
3165
- "type": "ReactNode",
3166
- "required": true,
3167
- "description": "The text or node to display, truncated with an ellipsis when it does not fit"
3972
+ "description": "The date to render."
3168
3973
  },
3169
3974
  {
3170
- "name": "className",
3975
+ "name": "locale",
3171
3976
  "type": "string",
3172
3977
  "required": false,
3173
- "description": "Additional CSS classes for the text element, typically its width"
3978
+ "defaultValue": "DEFAULT_LOCALE",
3979
+ "description": "Locale used for formatting."
3174
3980
  },
3175
3981
  {
3176
- "name": "contentClassName",
3177
- "type": "string",
3982
+ "name": "options",
3983
+ "type": "Intl.DateTimeFormatOptions",
3178
3984
  "required": false,
3179
- "description": "Additional CSS classes for the tooltip bubble"
3985
+ "defaultValue": "DEFAULT_DATE_FORMAT_OPTIONS",
3986
+ "description": "`Intl.DateTimeFormat` options, e.g. `timeZone`."
3180
3987
  },
3181
3988
  {
3182
- "name": "hideTooltip",
3183
- "type": "boolean",
3989
+ "name": "emptyPlaceholder",
3990
+ "type": "string",
3184
3991
  "required": false,
3185
- "defaultValue": "false",
3186
- "description": "Suppress the tooltip even while the text is truncated"
3992
+ "description": "Rendered when the value carries no usable date."
3187
3993
  },
3188
3994
  {
3189
- "name": "id",
3995
+ "name": "className",
3190
3996
  "type": "string",
3191
3997
  "required": false,
3192
- "description": "`id` of the text element"
3998
+ "description": "Additional CSS classes for the cell."
3193
3999
  },
3194
4000
  {
3195
- "name": "customTooltipContent",
3196
- "type": "ReactNode",
4001
+ "name": "hideTooltip",
4002
+ "type": "boolean",
3197
4003
  "required": false,
3198
- "description": "Shown instead of the full text while truncated"
4004
+ "defaultValue": "false",
4005
+ "description": "Suppresses the truncation tooltip."
3199
4006
  }
3200
4007
  ],
3201
4008
  "examples": [
3202
- "<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"
3203
4010
  ],
3204
- "sourceFile": "components/New/EllipsisTooltip/EllipsisTooltip.tsx"
4011
+ "sourceFile": "components/New/Grid/renderers/DateCellRenderer.tsx"
3205
4012
  },
3206
4013
  {
3207
4014
  "name": "DialCaptionText",
@@ -3532,7 +4339,7 @@
3532
4339
  "name": "barClassName",
3533
4340
  "type": "string",
3534
4341
  "required": false,
3535
- "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`."
3536
4343
  },
3537
4344
  {
3538
4345
  "name": "barDescriptions",
@@ -4298,7 +5105,8 @@
4298
5105
  "examples": [
4299
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/>"
4300
5107
  ],
4301
- "sourceFile": "components/Slider/Slider.tsx"
5108
+ "sourceFile": "components/Slider/Slider.tsx",
5109
+ "supersededBy": "Slider"
4302
5110
  },
4303
5111
  {
4304
5112
  "name": "DialNoDataContent",
@@ -4346,7 +5154,8 @@
4346
5154
  "examples": [
4347
5155
  "<NoDataContent\n emptyDataTitle=\"No results found\"\n icon={<CustomIcon />}\n/>"
4348
5156
  ],
4349
- "sourceFile": "components/NoDataContent/NoDataContent.tsx"
5157
+ "sourceFile": "components/NoDataContent/NoDataContent.tsx",
5158
+ "supersededBy": "NoDataContent"
4350
5159
  },
4351
5160
  {
4352
5161
  "name": "DialCollapsibleSidebar",
@@ -4421,7 +5230,8 @@
4421
5230
  "examples": [
4422
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>"
4423
5232
  ],
4424
- "sourceFile": "components/CollapsibleSidebar/CollapsibleSidebar.tsx"
5233
+ "sourceFile": "components/CollapsibleSidebar/CollapsibleSidebar.tsx",
5234
+ "supersededBy": "CollapsibleSidebar"
4425
5235
  },
4426
5236
  {
4427
5237
  "name": "DialLabelledText",
@@ -5016,7 +5826,8 @@
5016
5826
  }
5017
5827
  ],
5018
5828
  "examples": [],
5019
- "sourceFile": "components/ResizableContainer/ResizableContainer.tsx"
5829
+ "sourceFile": "components/ResizableContainer/ResizableContainer.tsx",
5830
+ "supersededBy": "ResizableContainer"
5020
5831
  },
5021
5832
  {
5022
5833
  "name": "DialConditionalResizableContainer",
@@ -5035,7 +5846,8 @@
5035
5846
  "examples": [
5036
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>"
5037
5848
  ],
5038
- "sourceFile": "components/ResizableContainer/ConditionalResizableContainer.tsx"
5849
+ "sourceFile": "components/ResizableContainer/ConditionalResizableContainer.tsx",
5850
+ "supersededBy": "ConditionalResizableContainer"
5039
5851
  },
5040
5852
  {
5041
5853
  "name": "DialGrid",
@@ -5190,7 +6002,8 @@
5190
6002
  "examples": [
5191
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/>"
5192
6004
  ],
5193
- "sourceFile": "components/Grid/Grid.tsx"
6005
+ "sourceFile": "components/Grid/Grid.tsx",
6006
+ "supersededBy": "Grid"
5194
6007
  },
5195
6008
  {
5196
6009
  "name": "DialDateCellRenderer",
@@ -5239,7 +6052,8 @@
5239
6052
  "examples": [
5240
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"
5241
6054
  ],
5242
- "sourceFile": "components/Grid/renderers/DateCellRenderer.tsx"
6055
+ "sourceFile": "components/Grid/renderers/DateCellRenderer.tsx",
6056
+ "supersededBy": "DateCellRenderer"
5243
6057
  },
5244
6058
  {
5245
6059
  "name": "DialTabs",
@@ -5880,7 +6694,7 @@
5880
6694
  "name": "DialTooltipContent",
5881
6695
  "category": "Overlay",
5882
6696
  "generation": "1.0",
5883
- "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.",
5884
6698
  "props": [],
5885
6699
  "examples": [],
5886
6700
  "sourceFile": "components/Tooltip/TooltipContent.tsx",
@@ -8396,6 +9210,39 @@
8396
9210
  ],
8397
9211
  "sourceFile": "types/dropdown.ts"
8398
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
+ },
8399
9246
  {
8400
9247
  "name": "ElementSize",
8401
9248
  "kind": "enum",
@@ -8849,6 +9696,14 @@
8849
9696
  "name": "icon?",
8850
9697
  "value": "ReactNode"
8851
9698
  },
9699
+ {
9700
+ "name": "rightControl?",
9701
+ "value": "ReactNode"
9702
+ },
9703
+ {
9704
+ "name": "interactiveTooltip?",
9705
+ "value": "SelectOptionInteractiveTooltip"
9706
+ },
8852
9707
  {
8853
9708
  "name": "children?",
8854
9709
  "value": "SelectOption[]"
@@ -8934,10 +9789,18 @@
8934
9789
  "name": "selectable?",
8935
9790
  "value": "boolean"
8936
9791
  },
9792
+ {
9793
+ "name": "mark?",
9794
+ "value": "MenuItemMark"
9795
+ },
8937
9796
  {
8938
9797
  "name": "checked?",
8939
9798
  "value": "boolean"
8940
9799
  },
9800
+ {
9801
+ "name": "rightControl?",
9802
+ "value": "ReactNode"
9803
+ },
8941
9804
  {
8942
9805
  "name": "type?",
8943
9806
  "value": "DropdownItemType"
@@ -8973,6 +9836,10 @@
8973
9836
  {
8974
9837
  "name": "subMenuHoverOptions?",
8975
9838
  "value": "DropdownSubMenuHoverOptions"
9839
+ },
9840
+ {
9841
+ "name": "interactiveTooltip?",
9842
+ "value": "DropdownItemInteractiveTooltip"
8976
9843
  }
8977
9844
  ],
8978
9845
  "sourceFile": "models/dropdown.ts"
@@ -9508,6 +10375,29 @@
9508
10375
  "sourceFile": "components/New/Calendar/Calendar.tsx",
9509
10376
  "typeBody": "Date | string | null"
9510
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
+ },
9511
10401
  {
9512
10402
  "name": "RadioGroupItem",
9513
10403
  "kind": "interface",
@@ -9673,7 +10563,7 @@
9673
10563
  },
9674
10564
  {
9675
10565
  "name": "convertGridDateToDate",
9676
- "sourceFile": "components/Grid/renderers/utils.ts"
10566
+ "sourceFile": "utils/grid-date.ts"
9677
10567
  },
9678
10568
  {
9679
10569
  "name": "useDialFileManagerTabs",
@@ -9712,11 +10602,76 @@
9712
10602
  "description": "Hook to read the File Manager context.\nThrows if used outside of the provider.",
9713
10603
  "signature": "() => unknown"
9714
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
+ },
9715
10611
  {
9716
10612
  "name": "matchesAccept",
9717
10613
  "sourceFile": "utils/file-accept.ts",
9718
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.",
9719
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"
9720
10675
  }
9721
10676
  ],
9722
10677
  "utils": [