@d4gger/design-system 3.0.1 → 4.0.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 (450) hide show
  1. package/README.md +19 -0
  2. package/dist/components/accordion.css +9 -2
  3. package/dist/components/alert/Alert.cjs +11 -7
  4. package/dist/components/alert/Alert.cjs.map +2 -2
  5. package/dist/components/alert/Alert.d.cts.map +1 -1
  6. package/dist/components/alert/Alert.d.mts.map +1 -1
  7. package/dist/components/alert/Alert.d.ts.map +1 -1
  8. package/dist/components/alert/Alert.js +12 -8
  9. package/dist/components/alert/Alert.js.map +2 -2
  10. package/dist/components/alert.css +13 -0
  11. package/dist/components/article-nodes.css +16 -1
  12. package/dist/components/articleNodes/ArticleNodes.cjs +46 -5
  13. package/dist/components/articleNodes/ArticleNodes.cjs.map +2 -2
  14. package/dist/components/articleNodes/ArticleNodes.d.cts +7 -3
  15. package/dist/components/articleNodes/ArticleNodes.d.cts.map +1 -1
  16. package/dist/components/articleNodes/ArticleNodes.d.mts +7 -3
  17. package/dist/components/articleNodes/ArticleNodes.d.mts.map +1 -1
  18. package/dist/components/articleNodes/ArticleNodes.d.ts +7 -3
  19. package/dist/components/articleNodes/ArticleNodes.d.ts.map +1 -1
  20. package/dist/components/articleNodes/ArticleNodes.js +46 -5
  21. package/dist/components/articleNodes/ArticleNodes.js.map +2 -2
  22. package/dist/components/articleNodes/articleExtensions.cjs +21 -4
  23. package/dist/components/articleNodes/articleExtensions.cjs.map +2 -2
  24. package/dist/components/articleNodes/articleExtensions.d.cts +8 -2
  25. package/dist/components/articleNodes/articleExtensions.d.cts.map +1 -1
  26. package/dist/components/articleNodes/articleExtensions.d.mts +8 -2
  27. package/dist/components/articleNodes/articleExtensions.d.mts.map +1 -1
  28. package/dist/components/articleNodes/articleExtensions.d.ts +8 -2
  29. package/dist/components/articleNodes/articleExtensions.d.ts.map +1 -1
  30. package/dist/components/articleNodes/articleExtensions.js +21 -4
  31. package/dist/components/articleNodes/articleExtensions.js.map +2 -2
  32. package/dist/components/articleNodes/articleNodeViews.cjs +154 -0
  33. package/dist/components/articleNodes/articleNodeViews.cjs.map +7 -0
  34. package/dist/components/articleNodes/articleNodeViews.d.cts +3 -0
  35. package/dist/components/articleNodes/articleNodeViews.d.cts.map +1 -0
  36. package/dist/components/articleNodes/articleNodeViews.d.mts +3 -0
  37. package/dist/components/articleNodes/articleNodeViews.d.mts.map +1 -0
  38. package/dist/components/articleNodes/articleNodeViews.d.ts +3 -0
  39. package/dist/components/articleNodes/articleNodeViews.d.ts.map +1 -0
  40. package/dist/components/articleNodes/articleNodeViews.js +124 -0
  41. package/dist/components/articleNodes/articleNodeViews.js.map +7 -0
  42. package/dist/components/articleNodes/articleNodes.props.cjs.map +1 -1
  43. package/dist/components/articleNodes/articleNodes.props.d.cts +25 -2
  44. package/dist/components/articleNodes/articleNodes.props.d.cts.map +1 -1
  45. package/dist/components/articleNodes/articleNodes.props.d.mts +25 -2
  46. package/dist/components/articleNodes/articleNodes.props.d.mts.map +1 -1
  47. package/dist/components/articleNodes/articleNodes.props.d.ts +25 -2
  48. package/dist/components/articleNodes/articleNodes.props.d.ts.map +1 -1
  49. package/dist/components/banner.css +5 -4
  50. package/dist/components/blockquote.css +7 -4
  51. package/dist/components/bottom-dock.css +132 -0
  52. package/dist/components/bottomDock/BottomDock.cjs +140 -0
  53. package/dist/components/bottomDock/BottomDock.cjs.map +7 -0
  54. package/dist/components/bottomDock/BottomDock.d.cts +25 -0
  55. package/dist/components/bottomDock/BottomDock.d.cts.map +1 -0
  56. package/dist/components/bottomDock/BottomDock.d.mts +25 -0
  57. package/dist/components/bottomDock/BottomDock.d.mts.map +1 -0
  58. package/dist/components/bottomDock/BottomDock.d.ts +25 -0
  59. package/dist/components/bottomDock/BottomDock.d.ts.map +1 -0
  60. package/dist/components/bottomDock/BottomDock.js +110 -0
  61. package/dist/components/bottomDock/BottomDock.js.map +7 -0
  62. package/dist/components/bottomDock/bottomDock.props.cjs +49 -0
  63. package/dist/components/bottomDock/bottomDock.props.cjs.map +7 -0
  64. package/dist/components/bottomDock/bottomDock.props.d.cts +29 -0
  65. package/dist/components/bottomDock/bottomDock.props.d.cts.map +1 -0
  66. package/dist/components/bottomDock/bottomDock.props.d.mts +29 -0
  67. package/dist/components/bottomDock/bottomDock.props.d.mts.map +1 -0
  68. package/dist/components/bottomDock/bottomDock.props.d.ts +29 -0
  69. package/dist/components/bottomDock/bottomDock.props.d.ts.map +1 -0
  70. package/dist/components/bottomDock/bottomDock.props.js +29 -0
  71. package/dist/components/bottomDock/bottomDock.props.js.map +7 -0
  72. package/dist/components/breadcrumb.css +24 -3
  73. package/dist/components/callout.css +20 -7
  74. package/dist/components/card.css +8 -0
  75. package/dist/components/code.css +29 -13
  76. package/dist/components/collapsible/Collapsible.cjs +4 -0
  77. package/dist/components/collapsible/Collapsible.cjs.map +2 -2
  78. package/dist/components/collapsible/Collapsible.d.cts.map +1 -1
  79. package/dist/components/collapsible/Collapsible.d.mts.map +1 -1
  80. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  81. package/dist/components/collapsible/Collapsible.js +4 -0
  82. package/dist/components/collapsible/Collapsible.js.map +2 -2
  83. package/dist/components/collapsible.css +10 -1
  84. package/dist/components/command.css +0 -2
  85. package/dist/components/comment-thread.css +15 -7
  86. package/dist/components/commentThread/CommentThread.cjs +45 -17
  87. package/dist/components/commentThread/CommentThread.cjs.map +2 -2
  88. package/dist/components/commentThread/CommentThread.d.cts +6 -6
  89. package/dist/components/commentThread/CommentThread.d.cts.map +1 -1
  90. package/dist/components/commentThread/CommentThread.d.mts +6 -6
  91. package/dist/components/commentThread/CommentThread.d.mts.map +1 -1
  92. package/dist/components/commentThread/CommentThread.d.ts +6 -6
  93. package/dist/components/commentThread/CommentThread.d.ts.map +1 -1
  94. package/dist/components/commentThread/CommentThread.js +45 -17
  95. package/dist/components/commentThread/CommentThread.js.map +2 -2
  96. package/dist/components/commentThread/commentThread.props.cjs.map +1 -1
  97. package/dist/components/commentThread/commentThread.props.d.cts +24 -0
  98. package/dist/components/commentThread/commentThread.props.d.cts.map +1 -1
  99. package/dist/components/commentThread/commentThread.props.d.mts +24 -0
  100. package/dist/components/commentThread/commentThread.props.d.mts.map +1 -1
  101. package/dist/components/commentThread/commentThread.props.d.ts +24 -0
  102. package/dist/components/commentThread/commentThread.props.d.ts.map +1 -1
  103. package/dist/components/config-drawer.css +7 -3
  104. package/dist/components/configDrawer/ConfigDrawer.cjs +1 -1
  105. package/dist/components/configDrawer/ConfigDrawer.cjs.map +2 -2
  106. package/dist/components/configDrawer/ConfigDrawer.js +1 -1
  107. package/dist/components/configDrawer/ConfigDrawer.js.map +2 -2
  108. package/dist/components/context-menu.css +3 -1
  109. package/dist/components/contextMenu/ContextMenu.cjs +37 -6
  110. package/dist/components/contextMenu/ContextMenu.cjs.map +2 -2
  111. package/dist/components/contextMenu/ContextMenu.d.cts +1 -1
  112. package/dist/components/contextMenu/ContextMenu.d.cts.map +1 -1
  113. package/dist/components/contextMenu/ContextMenu.d.mts +1 -1
  114. package/dist/components/contextMenu/ContextMenu.d.mts.map +1 -1
  115. package/dist/components/contextMenu/ContextMenu.d.ts +1 -1
  116. package/dist/components/contextMenu/ContextMenu.d.ts.map +1 -1
  117. package/dist/components/contextMenu/ContextMenu.js +37 -6
  118. package/dist/components/contextMenu/ContextMenu.js.map +2 -2
  119. package/dist/components/drawer.css +23 -6
  120. package/dist/components/dropdownMenu/DropdownMenu.cjs +10 -5
  121. package/dist/components/dropdownMenu/DropdownMenu.cjs.map +2 -2
  122. package/dist/components/dropdownMenu/DropdownMenu.d.cts.map +1 -1
  123. package/dist/components/dropdownMenu/DropdownMenu.d.mts.map +1 -1
  124. package/dist/components/dropdownMenu/DropdownMenu.d.ts.map +1 -1
  125. package/dist/components/dropdownMenu/DropdownMenu.js +10 -5
  126. package/dist/components/dropdownMenu/DropdownMenu.js.map +2 -2
  127. package/dist/components/file-upload.css +36 -9
  128. package/dist/components/floating-panel.css +49 -18
  129. package/dist/components/floatingPanel/FloatingPanel.cjs +156 -58
  130. package/dist/components/floatingPanel/FloatingPanel.cjs.map +2 -2
  131. package/dist/components/floatingPanel/FloatingPanel.d.cts.map +1 -1
  132. package/dist/components/floatingPanel/FloatingPanel.d.mts.map +1 -1
  133. package/dist/components/floatingPanel/FloatingPanel.d.ts.map +1 -1
  134. package/dist/components/floatingPanel/FloatingPanel.js +156 -58
  135. package/dist/components/floatingPanel/FloatingPanel.js.map +2 -2
  136. package/dist/components/grid/Grid.cjs +24 -35
  137. package/dist/components/grid/Grid.cjs.map +2 -2
  138. package/dist/components/grid/Grid.d.cts.map +1 -1
  139. package/dist/components/grid/Grid.d.mts.map +1 -1
  140. package/dist/components/grid/Grid.d.ts.map +1 -1
  141. package/dist/components/grid/Grid.js +24 -35
  142. package/dist/components/grid/Grid.js.map +2 -2
  143. package/dist/components/heading/Heading.cjs +1 -8
  144. package/dist/components/heading/Heading.cjs.map +2 -2
  145. package/dist/components/heading/Heading.d.cts.map +1 -1
  146. package/dist/components/heading/Heading.d.mts.map +1 -1
  147. package/dist/components/heading/Heading.d.ts.map +1 -1
  148. package/dist/components/heading/Heading.js +1 -8
  149. package/dist/components/heading/Heading.js.map +2 -2
  150. package/dist/components/heading/heading.props.cjs +9 -9
  151. package/dist/components/heading/heading.props.cjs.map +2 -2
  152. package/dist/components/heading/heading.props.d.cts +42 -43
  153. package/dist/components/heading/heading.props.d.cts.map +1 -1
  154. package/dist/components/heading/heading.props.d.mts +42 -43
  155. package/dist/components/heading/heading.props.d.mts.map +1 -1
  156. package/dist/components/heading/heading.props.d.ts +42 -43
  157. package/dist/components/heading/heading.props.d.ts.map +1 -1
  158. package/dist/components/heading/heading.props.js +9 -9
  159. package/dist/components/heading/heading.props.js.map +2 -2
  160. package/dist/components/heading.css +127 -104
  161. package/dist/components/hover-card.css +5 -2
  162. package/dist/components/icon/Icon.cjs +3 -0
  163. package/dist/components/icon/Icon.cjs.map +2 -2
  164. package/dist/components/icon/Icon.d.cts +5 -1
  165. package/dist/components/icon/Icon.d.cts.map +1 -1
  166. package/dist/components/icon/Icon.d.mts +5 -1
  167. package/dist/components/icon/Icon.d.mts.map +1 -1
  168. package/dist/components/icon/Icon.d.ts +5 -1
  169. package/dist/components/icon/Icon.d.ts.map +1 -1
  170. package/dist/components/icon/Icon.js +4 -0
  171. package/dist/components/icon/Icon.js.map +2 -2
  172. package/dist/components/icon/icons.cjs +2 -0
  173. package/dist/components/icon/icons.cjs.map +2 -2
  174. package/dist/components/icon/icons.d.cts +5 -0
  175. package/dist/components/icon/icons.d.cts.map +1 -1
  176. package/dist/components/icon/icons.d.mts +5 -0
  177. package/dist/components/icon/icons.d.mts.map +1 -1
  178. package/dist/components/icon/icons.d.ts +5 -0
  179. package/dist/components/icon/icons.d.ts.map +1 -1
  180. package/dist/components/icon/icons.js +2 -0
  181. package/dist/components/icon/icons.js.map +2 -2
  182. package/dist/components/index.cjs +1 -0
  183. package/dist/components/index.cjs.map +2 -2
  184. package/dist/components/index.d.cts +1 -0
  185. package/dist/components/index.d.cts.map +1 -1
  186. package/dist/components/index.d.mts +1 -0
  187. package/dist/components/index.d.mts.map +1 -1
  188. package/dist/components/index.d.ts +1 -0
  189. package/dist/components/index.d.ts.map +1 -1
  190. package/dist/components/index.js +1 -0
  191. package/dist/components/index.js.map +2 -2
  192. package/dist/components/label.css +3 -0
  193. package/dist/components/link.css +33 -97
  194. package/dist/components/notification-center.css +49 -9
  195. package/dist/components/notificationCenter/NotificationCenter.cjs +21 -16
  196. package/dist/components/notificationCenter/NotificationCenter.cjs.map +2 -2
  197. package/dist/components/notificationCenter/NotificationCenter.d.cts.map +1 -1
  198. package/dist/components/notificationCenter/NotificationCenter.d.mts.map +1 -1
  199. package/dist/components/notificationCenter/NotificationCenter.d.ts.map +1 -1
  200. package/dist/components/notificationCenter/NotificationCenter.js +22 -17
  201. package/dist/components/notificationCenter/NotificationCenter.js.map +2 -2
  202. package/dist/components/pills/Pills.cjs +1 -1
  203. package/dist/components/pills/Pills.cjs.map +2 -2
  204. package/dist/components/pills/Pills.js +2 -2
  205. package/dist/components/pills/Pills.js.map +2 -2
  206. package/dist/components/pills.css +6 -0
  207. package/dist/components/popover.css +45 -6
  208. package/dist/components/prose.css +3 -3
  209. package/dist/components/qr-code.css +5 -2
  210. package/dist/components/qrCode/QrCode.cjs +14 -11
  211. package/dist/components/qrCode/QrCode.cjs.map +2 -2
  212. package/dist/components/qrCode/QrCode.d.cts.map +1 -1
  213. package/dist/components/qrCode/QrCode.d.mts.map +1 -1
  214. package/dist/components/qrCode/QrCode.d.ts.map +1 -1
  215. package/dist/components/qrCode/QrCode.js +14 -11
  216. package/dist/components/qrCode/QrCode.js.map +2 -2
  217. package/dist/components/resizable.css +20 -4
  218. package/dist/components/rich-text-editor.css +50 -14
  219. package/dist/components/richTextEditor/EditorTools.cjs +226 -0
  220. package/dist/components/richTextEditor/EditorTools.cjs.map +7 -0
  221. package/dist/components/richTextEditor/EditorTools.d.cts +22 -0
  222. package/dist/components/richTextEditor/EditorTools.d.cts.map +1 -0
  223. package/dist/components/richTextEditor/EditorTools.d.mts +22 -0
  224. package/dist/components/richTextEditor/EditorTools.d.mts.map +1 -0
  225. package/dist/components/richTextEditor/EditorTools.d.ts +22 -0
  226. package/dist/components/richTextEditor/EditorTools.d.ts.map +1 -0
  227. package/dist/components/richTextEditor/EditorTools.js +196 -0
  228. package/dist/components/richTextEditor/EditorTools.js.map +7 -0
  229. package/dist/components/richTextEditor/MentionSuggestions.cjs +96 -0
  230. package/dist/components/richTextEditor/MentionSuggestions.cjs.map +7 -0
  231. package/dist/components/richTextEditor/MentionSuggestions.d.cts +7 -0
  232. package/dist/components/richTextEditor/MentionSuggestions.d.cts.map +1 -0
  233. package/dist/components/richTextEditor/MentionSuggestions.d.mts +7 -0
  234. package/dist/components/richTextEditor/MentionSuggestions.d.mts.map +1 -0
  235. package/dist/components/richTextEditor/MentionSuggestions.d.ts +7 -0
  236. package/dist/components/richTextEditor/MentionSuggestions.d.ts.map +1 -0
  237. package/dist/components/richTextEditor/MentionSuggestions.js +66 -0
  238. package/dist/components/richTextEditor/MentionSuggestions.js.map +7 -0
  239. package/dist/components/richTextEditor/RichTextEditor.cjs +53 -206
  240. package/dist/components/richTextEditor/RichTextEditor.cjs.map +3 -3
  241. package/dist/components/richTextEditor/RichTextEditor.d.cts +17 -7
  242. package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
  243. package/dist/components/richTextEditor/RichTextEditor.d.mts +17 -7
  244. package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
  245. package/dist/components/richTextEditor/RichTextEditor.d.ts +17 -7
  246. package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
  247. package/dist/components/richTextEditor/RichTextEditor.js +53 -206
  248. package/dist/components/richTextEditor/RichTextEditor.js.map +3 -3
  249. package/dist/components/richTextEditor/editorTokens.cjs +75 -0
  250. package/dist/components/richTextEditor/editorTokens.cjs.map +7 -0
  251. package/dist/components/richTextEditor/editorTokens.d.cts +21 -0
  252. package/dist/components/richTextEditor/editorTokens.d.cts.map +1 -0
  253. package/dist/components/richTextEditor/editorTokens.d.mts +21 -0
  254. package/dist/components/richTextEditor/editorTokens.d.mts.map +1 -0
  255. package/dist/components/richTextEditor/editorTokens.d.ts +21 -0
  256. package/dist/components/richTextEditor/editorTokens.d.ts.map +1 -0
  257. package/dist/components/richTextEditor/editorTokens.js +55 -0
  258. package/dist/components/richTextEditor/editorTokens.js.map +7 -0
  259. package/dist/components/scroll-area.css +12 -0
  260. package/dist/components/scrollArea/ScrollArea.cjs +12 -1
  261. package/dist/components/scrollArea/ScrollArea.cjs.map +2 -2
  262. package/dist/components/scrollArea/ScrollArea.d.cts.map +1 -1
  263. package/dist/components/scrollArea/ScrollArea.d.mts.map +1 -1
  264. package/dist/components/scrollArea/ScrollArea.d.ts.map +1 -1
  265. package/dist/components/scrollArea/ScrollArea.js +12 -1
  266. package/dist/components/scrollArea/ScrollArea.js.map +2 -2
  267. package/dist/components/segmentedControl/SegmentedControl.cjs +2 -2
  268. package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
  269. package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
  270. package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
  271. package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
  272. package/dist/components/segmentedControl/SegmentedControl.js +2 -2
  273. package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
  274. package/dist/components/separator.css +3 -9
  275. package/dist/components/sidebar/Sidebar.cjs +12 -4
  276. package/dist/components/sidebar/Sidebar.cjs.map +2 -2
  277. package/dist/components/sidebar/Sidebar.d.cts +4 -1
  278. package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
  279. package/dist/components/sidebar/Sidebar.d.mts +4 -1
  280. package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
  281. package/dist/components/sidebar/Sidebar.d.ts +4 -1
  282. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  283. package/dist/components/sidebar/Sidebar.js +12 -4
  284. package/dist/components/sidebar/Sidebar.js.map +2 -2
  285. package/dist/components/sidebar/sidebar.props.cjs +8 -1
  286. package/dist/components/sidebar/sidebar.props.cjs.map +2 -2
  287. package/dist/components/sidebar/sidebar.props.d.cts +9 -1
  288. package/dist/components/sidebar/sidebar.props.d.cts.map +1 -1
  289. package/dist/components/sidebar/sidebar.props.d.mts +9 -1
  290. package/dist/components/sidebar/sidebar.props.d.mts.map +1 -1
  291. package/dist/components/sidebar/sidebar.props.d.ts +9 -1
  292. package/dist/components/sidebar/sidebar.props.d.ts.map +1 -1
  293. package/dist/components/sidebar/sidebar.props.js +8 -1
  294. package/dist/components/sidebar/sidebar.props.js.map +2 -2
  295. package/dist/components/sidebar.css +28 -0
  296. package/dist/components/sonner.css +78 -16
  297. package/dist/components/stepper.css +23 -12
  298. package/dist/components/tab-nav.css +25 -13
  299. package/dist/components/tabNav/TabNav.cjs +1 -4
  300. package/dist/components/tabNav/TabNav.cjs.map +2 -2
  301. package/dist/components/tabNav/TabNav.d.cts.map +1 -1
  302. package/dist/components/tabNav/TabNav.d.mts.map +1 -1
  303. package/dist/components/tabNav/TabNav.d.ts.map +1 -1
  304. package/dist/components/tabNav/TabNav.js +1 -4
  305. package/dist/components/tabNav/TabNav.js.map +2 -2
  306. package/dist/components/table-of-contents.css +12 -2
  307. package/dist/components/tableOfContents/TableOfContents.cjs +11 -4
  308. package/dist/components/tableOfContents/TableOfContents.cjs.map +2 -2
  309. package/dist/components/tableOfContents/TableOfContents.d.cts.map +1 -1
  310. package/dist/components/tableOfContents/TableOfContents.d.mts.map +1 -1
  311. package/dist/components/tableOfContents/TableOfContents.d.ts.map +1 -1
  312. package/dist/components/tableOfContents/TableOfContents.js +11 -4
  313. package/dist/components/tableOfContents/TableOfContents.js.map +2 -2
  314. package/dist/components/tabs/Tabs.cjs +39 -54
  315. package/dist/components/tabs/Tabs.cjs.map +2 -2
  316. package/dist/components/tabs/Tabs.d.cts.map +1 -1
  317. package/dist/components/tabs/Tabs.d.mts.map +1 -1
  318. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  319. package/dist/components/tabs/Tabs.js +39 -54
  320. package/dist/components/tabs/Tabs.js.map +2 -2
  321. package/dist/components/tabs.css +52 -7
  322. package/dist/components/text/text.props.cjs +9 -9
  323. package/dist/components/text/text.props.cjs.map +2 -2
  324. package/dist/components/text/text.props.d.cts +42 -43
  325. package/dist/components/text/text.props.d.cts.map +1 -1
  326. package/dist/components/text/text.props.d.mts +42 -43
  327. package/dist/components/text/text.props.d.mts.map +1 -1
  328. package/dist/components/text/text.props.d.ts +42 -43
  329. package/dist/components/text/text.props.d.ts.map +1 -1
  330. package/dist/components/text/text.props.js +9 -9
  331. package/dist/components/text/text.props.js.map +2 -2
  332. package/dist/components/text/typography.props.cjs +32 -0
  333. package/dist/components/text/typography.props.cjs.map +7 -0
  334. package/dist/components/text/typography.props.d.cts +3 -0
  335. package/dist/components/text/typography.props.d.cts.map +1 -0
  336. package/dist/components/text/typography.props.d.mts +3 -0
  337. package/dist/components/text/typography.props.d.mts.map +1 -0
  338. package/dist/components/text/typography.props.d.ts +3 -0
  339. package/dist/components/text/typography.props.d.ts.map +1 -0
  340. package/dist/components/text/typography.props.js +12 -0
  341. package/dist/components/text/typography.props.js.map +7 -0
  342. package/dist/components/text-field.css +1 -0
  343. package/dist/components/text.css +41 -6
  344. package/dist/components/theme-panel.css +6 -0
  345. package/dist/components/toast/Toast.cjs +3 -1
  346. package/dist/components/toast/Toast.cjs.map +2 -2
  347. package/dist/components/toast/Toast.d.cts.map +1 -1
  348. package/dist/components/toast/Toast.d.mts.map +1 -1
  349. package/dist/components/toast/Toast.d.ts.map +1 -1
  350. package/dist/components/toast/Toast.js +3 -1
  351. package/dist/components/toast/Toast.js.map +2 -2
  352. package/dist/components/toast.css +36 -36
  353. package/dist/components/toggle-tip.css +58 -9
  354. package/dist/components/toggleTip/ToggleTip.cjs +9 -5
  355. package/dist/components/toggleTip/ToggleTip.cjs.map +2 -2
  356. package/dist/components/toggleTip/ToggleTip.d.cts.map +1 -1
  357. package/dist/components/toggleTip/ToggleTip.d.mts.map +1 -1
  358. package/dist/components/toggleTip/ToggleTip.d.ts.map +1 -1
  359. package/dist/components/toggleTip/ToggleTip.js +9 -5
  360. package/dist/components/toggleTip/ToggleTip.js.map +2 -2
  361. package/dist/components/toolbar/Toolbar.cjs +10 -7
  362. package/dist/components/toolbar/Toolbar.cjs.map +2 -2
  363. package/dist/components/toolbar/Toolbar.js +10 -7
  364. package/dist/components/toolbar/Toolbar.js.map +2 -2
  365. package/dist/components/toolbar.css +58 -4
  366. package/dist/components/tooltip.css +9 -5
  367. package/dist/components/tree-view.css +17 -3
  368. package/dist/components/treeView/TreeView.cjs +76 -21
  369. package/dist/components/treeView/TreeView.cjs.map +2 -2
  370. package/dist/components/treeView/TreeView.d.cts.map +1 -1
  371. package/dist/components/treeView/TreeView.d.mts.map +1 -1
  372. package/dist/components/treeView/TreeView.d.ts.map +1 -1
  373. package/dist/components/treeView/TreeView.js +76 -21
  374. package/dist/components/treeView/TreeView.js.map +2 -2
  375. package/dist/components.css +1 -0
  376. package/dist/docs/README.md +1 -0
  377. package/dist/docs/component-contract.md +4 -3
  378. package/dist/docs/component-index.json +9 -1
  379. package/dist/docs/components/accordion.md +5 -36
  380. package/dist/docs/components/alert.md +17 -10
  381. package/dist/docs/components/article-nodes.md +59 -2
  382. package/dist/docs/components/aspect-ratio.md +3 -26
  383. package/dist/docs/components/banner.md +7 -7
  384. package/dist/docs/components/blockquote.md +15 -14
  385. package/dist/docs/components/bottom-dock.md +146 -0
  386. package/dist/docs/components/box.md +3 -34
  387. package/dist/docs/components/breadcrumb.md +13 -8
  388. package/dist/docs/components/callout.md +18 -7
  389. package/dist/docs/components/card.md +9 -2
  390. package/dist/docs/components/code.md +33 -220
  391. package/dist/docs/components/collapsible.md +11 -35
  392. package/dist/docs/components/command.md +2 -0
  393. package/dist/docs/components/comment-thread.md +51 -1
  394. package/dist/docs/components/config-drawer.md +72 -171
  395. package/dist/docs/components/container.md +2 -0
  396. package/dist/docs/components/context-menu.md +19 -5
  397. package/dist/docs/components/dialog.md +3 -1
  398. package/dist/docs/components/drawer.md +17 -6
  399. package/dist/docs/components/dropdown-menu.md +11 -2
  400. package/dist/docs/components/em.md +1 -1
  401. package/dist/docs/components/file-upload.md +13 -7
  402. package/dist/docs/components/floating-panel.md +79 -285
  403. package/dist/docs/components/form.md +4 -0
  404. package/dist/docs/components/grid.md +11 -60
  405. package/dist/docs/components/heading.md +35 -32
  406. package/dist/docs/components/hover-card.md +9 -1
  407. package/dist/docs/components/kbd.md +2 -0
  408. package/dist/docs/components/label.md +11 -9
  409. package/dist/docs/components/link.md +31 -209
  410. package/dist/docs/components/notification-center.md +24 -14
  411. package/dist/docs/components/page-header.md +2 -0
  412. package/dist/docs/components/pagination.md +4 -0
  413. package/dist/docs/components/pills.md +13 -4
  414. package/dist/docs/components/popover.md +10 -3
  415. package/dist/docs/components/prose.md +9 -0
  416. package/dist/docs/components/qr-code.md +12 -12
  417. package/dist/docs/components/quote.md +9 -4
  418. package/dist/docs/components/resizable.md +26 -18
  419. package/dist/docs/components/rich-text-editor.md +68 -18
  420. package/dist/docs/components/scroll-area.md +17 -9
  421. package/dist/docs/components/section.md +3 -38
  422. package/dist/docs/components/segmented-control.md +1 -1
  423. package/dist/docs/components/segmented-meter.md +9 -0
  424. package/dist/docs/components/separator.md +10 -46
  425. package/dist/docs/components/sidebar.md +17 -3
  426. package/dist/docs/components/sonner.md +25 -16
  427. package/dist/docs/components/stepper.md +8 -33
  428. package/dist/docs/components/strong.md +1 -1
  429. package/dist/docs/components/tab-nav.md +33 -96
  430. package/dist/docs/components/table-of-contents.md +8 -2
  431. package/dist/docs/components/tabs.md +19 -50
  432. package/dist/docs/components/text-field.md +1 -0
  433. package/dist/docs/components/text.md +34 -28
  434. package/dist/docs/components/theme-panel.md +3 -28
  435. package/dist/docs/components/theme.md +7 -3
  436. package/dist/docs/components/toast.md +27 -13
  437. package/dist/docs/components/toggle-tip.md +58 -241
  438. package/dist/docs/components/toolbar.md +16 -39
  439. package/dist/docs/components/tooltip.md +13 -7
  440. package/dist/docs/components/tree-view.md +22 -55
  441. package/dist/generated/tokens.cjs +1 -0
  442. package/dist/generated/tokens.cjs.map +2 -2
  443. package/dist/generated/tokens.d.cts.map +1 -1
  444. package/dist/generated/tokens.d.mts.map +1 -1
  445. package/dist/generated/tokens.d.ts.map +1 -1
  446. package/dist/generated/tokens.js +1 -0
  447. package/dist/generated/tokens.js.map +2 -2
  448. package/dist/styles.css +1632 -1300
  449. package/dist/tokens.css +344 -362
  450. package/package.json +1 -1
@@ -12,7 +12,7 @@ depends_on: []
12
12
 
13
13
  ## Purpose
14
14
 
15
- The app-level body text primitive. Renders a `<span>` (or the consumer's host element) with token-aligned typography, a token-backed color prop, a `tone` modifier for muted or inverse contexts, a responsive `size` scale, and the shared margin, padding, alignment, wrap, trim, weight, truncate, high-contrast, and `asChild` infra.
15
+ The app-level body text primitive. Renders a `<span>` (or a consumer host through `asChild`) with token-aligned typography, a token-backed color prop, a `tone` modifier for muted or inverse contexts, a nine-step `size` scale, and the shared margin, padding, alignment, wrap, trim, weight, truncate, high-contrast, and `asChild` infra.
16
16
 
17
17
  ## Anatomy & slots
18
18
 
@@ -20,7 +20,7 @@ The app-level body text primitive. Renders a `<span>` (or the consumer's host el
20
20
 
21
21
  **Slots:**
22
22
 
23
- No slots: flat export. The component renders a single `<span>` host element (or the consumer's host element when `as` or `asChild` is set) with the `dsx-text` root class, the variant modifier class (when no `size` is set), and any `tone` modifier class.
23
+ No slots: flat export. The component renders a single `<span>` host element (or the consumer's host element when `asChild` is set) with the `dsx-text` root class, the variant modifier class (when no `size` is set), and any `tone` modifier class.
24
24
 
25
25
  ## Props contract
26
26
 
@@ -28,16 +28,16 @@ No slots: flat export. The component renders a single `<span>` host element (or
28
28
  |---|---|---|---|---|---|
29
29
  | `variant` | `'body-large' \| 'body-medium' \| 'body-small' \| 'label-large' \| 'label-medium' \| 'label-small'` | `'body-medium'` | no | Typography ramp. Writes the `dsx-text--{variant}` modifier class. Omitted when `size` is set. | no |
30
30
  | `tone` | `'default' \| 'muted' \| 'inverse'` | `'default'` | no | Tone modifier. Writes `dsx-text--{tone}` for `muted` and `inverse`. | no |
31
- | `size` | `'1' \| '2' \| '3' \| '4' \| '5' \| '6' \| '7' \| '8' \| '9'` | `undefined` | no | Responsive size scale. When set, the `size` class (`dsx-r-text-size-{1..9}`) replaces the variant class. Accepts a responsive value (`{ initial, sm, md, lg, xl, 2xl }`). | yes |
32
- | `color` | token name string | `undefined` | no | Free-form color token reference. Writes `data-accent-color` and the matching `dsx-r-color-{name}` class. Accepts a responsive value. | yes |
33
- | `weight` | `string` | `undefined` | no | Typography weight. Writes the `dsx-r-weight-{name}` class. Accepts a responsive value. | yes |
34
- | `align` | `string` | `undefined` | no | Text alignment. Writes the `dsx-r-ta-{name}` class. Accepts a responsive value. | yes |
35
- | `wrap` | `string` | `undefined` | no | Text wrap. Writes the `dsx-r-wrap-{name}` class. | no |
31
+ | `size` | `'1' \| '2' \| '3' \| '4' \| '5' \| '6' \| '7' \| '8' \| '9'` | `undefined` | no | Scalar size scale. When set, the size class replaces the variant class. | no |
32
+ | `color` | shared semantic color enum | `undefined` | no | Values are listed in the class contract below. Writes `data-accent-color` and the matching `dsx-r-color-{name}` class. | no |
33
+ | `weight` | `'light' \| 'regular' \| 'medium' \| 'bold'` | `undefined` | no | Typography weight. Writes the `dsx-r-weight-{name}` class. | no |
34
+ | `align` | `'left' \| 'center' \| 'right' \| 'justify'` | `undefined` | no | Text alignment. Writes the `dsx-r-ta-{name}` class. | no |
35
+ | `wrap` | `'wrap' \| 'nowrap' \| 'pretty' \| 'balance'` | `undefined` | no | Text wrap. Writes the `dsx-r-tw-{name}` class. | no |
36
36
  | `truncate` | `boolean` | `undefined` | no | When set, writes the `dsx-truncate` class. | no |
37
- | `trim` | `string` | `undefined` | no | Leading-trim behavior. Writes the `dsx-r-lt-{name}` class. | no |
37
+ | `trim` | `'normal' \| 'start' \| 'end' \| 'both'` | `undefined` | no | Leading-trim behavior. Writes the `dsx-r-lt-{name}` class. | no |
38
38
  | `highContrast` | `boolean` | `false` | no | When `true`, writes `data-high-contrast="true"`. | no |
39
- | `m`, `mt`, `mr`, `mb`, `ml`, `mx`, `my` | `string` | `undefined` | no | Margin style props from the `margin.prop` def. | no |
40
- | `p`, `pt`, `pr`, `pb`, `pl`, `px`, `py` | `string` | `undefined` | no | Padding style props from the `padding.prop` def. | no |
39
+ | `margin`, `m`, `mt`, `mr`, `mb`, `ml`, `mx`, `my` | `string` | `undefined` | no | Scalar margin style props from the `margin.prop` def. | no |
40
+ | `padding`, `p`, `pt`, `pr`, `pb`, `pl`, `px`, `py` | `string` | `undefined` | no | Scalar padding style props from the `padding.prop` def. | no |
41
41
  | `asChild` | `boolean` | `false` | no | Renders the host through `Slot` from `@radix-ui/react-slot`; consumer supplies the host element. | no |
42
42
  | `className` | `string` | `undefined` | no | Extra classes appended to `dsx-text`. | no |
43
43
  | `style` | `React.CSSProperties` | `undefined` | no | Extra inline style forwarded to the host element. | no |
@@ -54,18 +54,18 @@ Rules that apply to this row:
54
54
 
55
55
  **Root class:** `dsx-text`
56
56
 
57
- **Modifier classes** (driven by the prop def bag and the responsive helpers):
57
+ **Modifier classes** (driven by the scalar prop def bag and shared class extraction):
58
58
 
59
59
  | Attribute | Allowed values | Class | CSS file |
60
60
  |---|---|---|---|
61
61
  | (class) | `body-large`, `body-medium`, `body-small`, `label-large`, `label-medium`, `label-small` | `dsx-text--{variant}` (omitted when `size` is set) | `text.css` |
62
62
  | (class) | `muted`, `inverse` | `dsx-text--muted`, `dsx-text--inverse` | `text.css` |
63
- | `data-size` | `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9` | `dsx-r-text-size-{n}` (and breakpoint-prefixed `sm:`, `md:`, `lg:`, `xl:`, `2xl:`) | `text.css` (and `src/styles/responsive/*.css`) |
64
- | `data-accent-color` | any token name | `dsx-r-color-{name}` (and breakpoint-prefixed variants) | `src/styles/responsive/*.css` |
65
- | (class) | any weight name | `dsx-r-weight-{name}` (and breakpoint-prefixed variants) | `src/styles/responsive/*.css` |
66
- | (class) | any align name | `dsx-r-ta-{name}` (and breakpoint-prefixed variants) | `src/styles/responsive/*.css` |
67
- | (class) | any wrap name | `dsx-r-wrap-{name}` | `src/styles/responsive/*.css` |
68
- | (class) | any trim name | `dsx-r-lt-{name}` | `src/styles/responsive/*.css` |
63
+ | `data-size` | `1`, `2`, `3`, `4`, `5`, `6`, `7`, `8`, `9` | `dsx-r-text-size-{n}` | `text.css` |
64
+ | `data-accent-color` | `primary`, `primary-container`, `secondary`, `secondary-container`, `tertiary`, `tertiary-container`, `success`, `success-container`, `error`, `error-container`, `surface`, `surface-raised`, `surface-overlay`, `surface-sunken`, `background`, `outline`, `outline-variant` | `dsx-r-color-{name}` | `src/styles/responsive/*.css` |
65
+ | (class) | `light`, `regular`, `medium`, `bold` | `dsx-r-weight-{name}` | `src/styles/responsive/*.css` |
66
+ | (class) | `left`, `center`, `right`, `justify` | `dsx-r-ta-{name}` | `src/styles/responsive/*.css` |
67
+ | (class) | `wrap`, `nowrap`, `pretty`, `balance` | `dsx-r-tw-{name}` | `src/styles/responsive/*.css` |
68
+ | (class) | `normal`, `start`, `end`, `both` | `dsx-r-lt-{name}` | `src/styles/responsive/*.css` |
69
69
  | (class) | `true` (truncate) | `dsx-truncate` | `src/styles/responsive/truncate.css` |
70
70
  | `data-high-contrast` | `true` | `.dsx-text[data-high-contrast='true']` | `text.css` |
71
71
 
@@ -73,13 +73,15 @@ Rules that apply to this row:
73
73
 
74
74
  **Responsive behavior:**
75
75
 
76
- - `size`, `color`, `weight`, and `align` are `responsive: true` in the prop def bag. The prop def bag applies breakpoint-prefixed classes (`sm:`, `md:`, `lg:`, `xl:`, `2xl:`) through the `responsive/*` style layer.
77
- - The component itself does not write `@media` rules. The `responsive/*` files are the source of the breakpoint-prefixed classes.
76
+ - All typography and spacing props are scalar. This family emits no breakpoint-prefixed classes and has no viewport rules. Responsive page layout belongs to `Box`, `Flex` and `Grid`.
77
+ - The maintainer approved removing the previous responsive typography API on 2026-10-04: “better to do it best versions from the get go and dont make backwards”. This is a breaking type change; release classification must reflect it.
78
78
 
79
79
  **Reduced motion:**
80
80
 
81
81
  - Text has no motion. No transitions or animations are declared in `text.css`.
82
82
 
83
+ High contrast preserves `on-inverse-background` when `tone="inverse"` is used on its paired surface. Normal-surface high-contrast ink must not replace an inverse foreground.
84
+
83
85
  ## Token mapping
84
86
 
85
87
  Every CSS value the component paints is a `var(--dsx-*)` token.
@@ -97,12 +99,16 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
97
99
  | Color (muted) | `var(--dsx-color-on-surface-variant)` | Muted tone. |
98
100
  | Color (inverse) | `var(--dsx-color-on-inverse-background)` | Inverse-context color. |
99
101
  | Color (high-contrast) | `var(--dsx-color-high-contrast)` | High-contrast shift. |
100
- | Responsive size 1–9 | `var(--dsx-typography-*-font-size)` | `dsx-r-text-size-1` through `dsx-r-text-size-9` map to the same typography tokens. |
101
- | Margin / padding | `var(--dsx-r-m*)`, `var(--dsx-r-p*)` | The `margin.prop` and `padding.prop` defs write `--dsx-r-*` variables that the responsive layer consumes. |
102
+ | Scalar size 1–9 | `var(--dsx-typography-*-font-size)` | `dsx-r-text-size-1` through `dsx-r-text-size-9` map to the same typography tokens. |
103
+ | Margin / padding | `var(--dsx-r-margin-{top,right,bottom,left})`, `var(--dsx-r-p*)` | Numeric, named and arbitrary spacing utilities resolve the local margins and padding. |
102
104
 
103
105
  Rules:
104
106
 
105
- - Tokens come from `DESIGN.md` and the generated `tokens.css`. The variant classes are the only modifiers; the responsive size classes are the second axis.
107
+ - Tokens come from `DESIGN.md` and the generated `tokens.css`. The variant classes are the only modifiers; the size classes are the second axis.
108
+
109
+ Spacing custom properties are reset locally so ancestor padding and margins do not leak into this element. Named margins use the same resolved directional variables as numeric and arbitrary values. Weight utilities resolve to 300 / 400 / 500 / 700.
110
+
111
+ The scalar size scale paints font size and the matching role line height. Its existing role-derived size mapping is preserved. Responsive objects are outside the public contract; compose responsive page layout with Box, Flex or Grid.
106
112
 
107
113
  ## Motion contract
108
114
 
@@ -118,7 +124,7 @@ Rules:
118
124
 
119
125
  **Roles:**
120
126
 
121
- - The component renders a `<span>` by default (or the consumer's host element when `as` / `asChild` is set). It has no implicit role. Consumers that need a paragraph should set `as="p"`.
127
+ - The component renders a `<span>` by default (or the consumer's host element when `asChild` is set). It has no implicit role. Consumers that need a paragraph should use `asChild` with a `<p>`.
122
128
 
123
129
  **Keyboard:**
124
130
 
@@ -154,11 +160,11 @@ Rules:
154
160
 
155
161
  **Size story:**
156
162
 
157
- - Renders Text with each `size` value. Asserts the `data-size` attribute and the `dsx-r-text-size-{n}` class. Responsive `size` produces breakpoint-prefixed classes.
163
+ - Renders Text with each `size` value. Asserts the `data-size` attribute and the `dsx-r-text-size-{n}` class. Size remains unchanged when the viewport changes; responsive maps are rejected by the public type.
158
164
 
159
165
  **Color story:**
160
166
 
161
- - Renders Text with each `color` token name. Asserts the `data-accent-color` attribute and the `dsx-r-color-{name}` class. Responsive `color` produces breakpoint-prefixed classes.
167
+ - Renders Text with each `color` token name. Asserts the `data-accent-color` attribute and the `dsx-r-color-{name}` class. Color is scalar; responsive maps are rejected by the public type.
162
168
 
163
169
  **Composition story** (for `asChild`):
164
170
 
@@ -170,7 +176,7 @@ Rules:
170
176
 
171
177
  **Token story:**
172
178
 
173
- - Renders inside a `Theme` wrapper with `accentColor="warp"` and `accentColor="ray"`. Asserts the `data-accent-color` attribute on the wrapper tracks the active accent.
179
+ - Renders inside a `Theme` wrapper with `accentColor="rift"` and `accentColor="warp"`. Asserts the `data-accent-color` attribute on the wrapper tracks the active accent.
174
180
 
175
181
  **A11y story:**
176
182
 
@@ -206,8 +212,8 @@ Rules:
206
212
 
207
213
  **State boundaries:**
208
214
 
209
- - Owned by Text: the root class, the variant and tone modifier classes, the responsive size class, the color and weight responsive classes, the alignment, wrap, trim, and truncate classes, the high-contrast attribute, the `data-size` and `data-accent-color` attributes, and the prop def bag.
210
- - Owned by the consumer: the text body, the host element when `as` / `asChild` is set, and any extra `className` / `style` applied through prop forwarding.
215
+ - Owned by Text: the root class, the variant and tone modifier classes, the size class, the color and weight classes, the alignment, wrap, trim, and truncate classes, the high-contrast attribute, the `data-size` and `data-accent-color` attributes, and the prop def bag.
216
+ - Owned by the consumer: the text body, the host element when `asChild` is set, and any extra `className` / `style` applied through prop forwarding.
211
217
 
212
218
  **Boundary rules:**
213
219
 
@@ -131,36 +131,11 @@ The component has no motion.
131
131
 
132
132
  - The `label` prop should be the human-readable token name ("Mode", "Accent", "Density"). The `value` should be the current setting ("dark", "amber", "compact"). When the row is interactive, the consumer is responsible for the accessible name of the interactive control.
133
133
 
134
- ## Playground demo spec
135
-
136
- **Default story:**
137
-
138
- - Renders a `ThemePanel` with three `Row`s: `label="Mode" value="dark"`, `label="Accent" value="amber"`, `label="Radius" value="medium"`. Asserts the root class is `dsx-theme-panel` and each row renders the matching label and `Badge` value.
139
-
140
- **Variant story:**
141
-
142
- - The component has no variant. Skip the variant story.
143
-
144
- **State story:**
145
-
146
- - Renders a row with custom `children` (e.g. a `<span data-testid="custom">` element). Asserts the custom content is rendered and the default `Badge` is suppressed.
147
- - Renders a `ThemePanel asChild` wrapping a `<section>` and asserts the root class is moved onto the host element.
134
+ The live example explains that the panel displays app-supplied values and reflects the playground preferences; it is not a built-in theme editor.
148
135
 
149
- **Composition story:**
150
-
151
- - Renders the full panel: six rows covering `Mode`, `Accent`, `Gray`, `Radius`, `Density`, `Scaling`. Asserts all six labels and values resolve, and the `dsx-theme-panel__row` class is applied to every row.
152
-
153
- **Token story:**
154
-
155
- - Renders the default panel inside a `Theme` wrapper with `accentColor="silver"` and `accentColor="bronze"`. Asserts the panel surface tracks `--dsx-color-panel-translucent` and is unaffected by the accent token; the value chip's text color is driven by the `Badge` component.
156
-
157
- **A11y story:**
158
-
159
- - Uses `vitest-axe` against the default story. Asserts no axe violations.
160
-
161
- **Props exposed in the playground controls:**
136
+ ## Playground demo spec
162
137
 
163
- The playground registry for `theme-panel` does not expose prop controls. The component has no variants or size scale; the registry render explains that the panel is mounted live inside `ConfigDrawer` and a second inline instance would conflict with the active one.
138
+ The compact render and full live example show values supplied from the playground theme context. The live description explains application ownership; current appearance/accent/gray/radius/density/scaling update with preferences, and a custom row shows consumer content. The panel does not modify the theme itself.
164
139
 
165
140
  ## Wiring notes
166
141
 
@@ -90,7 +90,10 @@ Rules:
90
90
 
91
91
  - The wrapper does not paint border, padding, or radius. Surface application is the only visible effect; the rest of the surface family comes from downstream components reacting to the attributes.
92
92
  - `data-dsx-scaling` is removed (rather than set to `undefined`) when no scaling is resolved. The token layer treats the missing attribute as the default `100%` scale.
93
- - Accent roles are semantic, not four names for one color. `accent-track` owns solid fills, `accent-contrast` owns their foreground, `accent-indicator` owns accent-as-foreground/indicator paint, and `accent-surface` owns subtle tinted backgrounds.
93
+ - Accent roles are semantic, distinct jobs. `accent-track` owns solid fills, `accent-contrast` owns their foreground, `accent-indicator` owns accent-as-foreground/indicator paint, and `accent-surface` owns subtle tinted backgrounds.
94
+ - Decorative rules use accent-border (light step 8 / dark step 11); readable foreground, focus and selection keep accent-indicator.
95
+ - Generated appearance derivatives resolve on the nearest Theme host; accent mappings do not use appearance ancestor selectors. Dependent rings, seams, shadows and neutral code aliases rebind on theme/accent/gray boundaries.
96
+ - The normal accent indicator resolves to ramp step 11 in both themes; light mode keeps a visible hue. Substantial soft containers use the opaque primary-container/on-primary-container pair, while accent-surface remains a translucent state layer.
94
97
  - Light mode intentionally separates bright track values from darker indicator values. Local `data-accent-color` overrides inherit the nearest Theme's appearance palette, including when the accent attribute is on a descendant component rather than the Theme host.
95
98
 
96
99
  ## Motion contract
@@ -135,11 +138,12 @@ Rules:
135
138
 
136
139
  **Default story:**
137
140
 
138
- - The registry render returns a description block (no live `Theme` mount). Consumers exercise the component by visiting the `/lab/theme` route, which renders the wrapper under the active `ThemeProvider`.
141
+ - The registry render returns a description block (no live `Theme` mount). Consumers exercise the component by visiting the `/tokens#color-role-review` route, which renders the wrapper under the active `ThemeProvider`.
139
142
 
140
143
  **Variant story:**
141
144
 
142
- - The `/lab/theme` route shows the wrapper mounted with several `accentColor`, `density`, and `radius` permutations. The expected attributes (`data-accent-color`, `data-dsx-density`, `data-dsx-radius`, `data-dsx-theme`) are inspected through the runtime.
145
+ - The `/tokens#color-role-review` route shows all five accents with light/dark appearances, both gray palettes and opposite-appearance nesting. The expected attributes (`data-accent-color`, `data-dsx-density`, `data-dsx-radius`, `data-dsx-theme`) are inspected through the runtime.
146
+ - A fixed tinted/neutral side-by-side comparison exposes text, neutral dividers, resting TextField borders and Code wash in both appearances. Large background surfaces are shared by the two gray palettes; changing gray is not a page-background switch.
143
147
 
144
148
  **Composition story:**
145
149
 
@@ -137,7 +137,7 @@ The close also accepts the full `ComponentPropsWithoutRef<typeof ToastPrimitive.
137
137
 
138
138
  | Attribute | Source |
139
139
  |---|---|
140
- | `data-accent-color` | Document `data-accent-color` (defaults to `'amber'`). |
140
+ | `data-accent-color` | Document `data-accent-color` (defaults to `'rift'`). |
141
141
  | `data-gray-color` | Document `data-gray-color` (defaults to `'auto'`). |
142
142
  | `data-dsx-theme` | Document `data-dsx-theme` on `body` or `documentElement` (defaults to `'dark'`). |
143
143
  | `data-panel-background` | Document `data-panel-background` (defaults to `'translucent'`). |
@@ -148,7 +148,7 @@ The `useThemeContext` value wins when a `Theme` provider is in scope; the docume
148
148
  **Responsive behavior:**
149
149
 
150
150
  - The component does not write `@media` rules. None of its prop defs are `responsive: true`.
151
- - The viewport's CSS file includes a `max-width: 640px` block to switch the mobile inset to `var(--dsx-toast-viewport-mobile-inset)` and the padding to `var(--dsx-space-sm)`. The breakpoint is literal because CSS custom properties cannot be used inside the media query.
151
+ - The viewport uses the same intrinsic viewport cap, padding and inset at every width. No width media query is present.
152
152
 
153
153
  **Reduced motion:**
154
154
 
@@ -166,11 +166,9 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
166
166
  | Viewport gap | `var(--dsx-space-md)` | Space between toasts. |
167
167
  | Viewport width | `min(var(--dsx-toast-viewport-width), calc(100vw - var(--dsx-dialog-viewport-gap)))` | Width cap. |
168
168
  | Viewport offset | `var(--dsx-space-md)` | Default inset. |
169
- | Viewport mobile inset | `var(--dsx-toast-viewport-mobile-inset)` | Mobile inset. |
170
- | Viewport mobile padding | `var(--dsx-space-sm)` | Mobile padding. |
171
169
  | Toast padding block | `var(--dsx-space-sm)` | Toast vertical padding. |
172
170
  | Toast padding inline | `var(--dsx-space-md)` | Toast horizontal padding. |
173
- | Toast gap | `var(--dsx-space-md)` | Gap between icon, title, description, and buttons. |
171
+ | Toast row / column gap | `var(--dsx-space-xs)` / `var(--dsx-space-sm)` (md) | Title and trailing Close share the first row; description and action have full-width rows below. |
174
172
  | Toast background | `var(--dsx-color-surface)` | Resting toast surface. |
175
173
  | Toast radius | `var(--dsx-rounded-md)` | Toast corner roundness. |
176
174
  | Toast border | `var(--dsx-border-width-sm) solid var(--dsx-color-outline)` | Toast edge. |
@@ -185,7 +183,7 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
185
183
  | Action typography | `var(--dsx-typography-label-medium-*)` | Action button. |
186
184
  | Action padding | `var(--dsx-space-xs) var(--dsx-space-sm)` | Action padding. |
187
185
  | Action radius | `var(--dsx-rounded-sm)` | Action corner roundness. |
188
- | Close padding | `var(--dsx-space-xs)` | Close padding. |
186
+ | Close dimensions / padding | `var(--dsx-size-md)` / `0` | 24px square, aligned to the trailing top edge. |
189
187
  | Close radius | `var(--dsx-rounded-sm)` | Close corner roundness. |
190
188
  | Close text | `var(--dsx-color-on-surface-variant)` | Default close color. |
191
189
  | Close hover background | `var(--dsx-color-high-contrast-container)` | Hover affordance. |
@@ -194,6 +192,8 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
194
192
  | Trigger radius | `var(--dsx-rounded-sm)` | Trigger corner roundness. |
195
193
  | Trigger text | `var(--dsx-color-on-surface-variant)` | Default trigger color. |
196
194
 
195
+ Title and Close share the first row. Description and Action each occupy a full-width row below; actions do not squeeze long descriptions into a narrow side column. Action is at least 32px tall and retains its intrinsic label width.
196
+
197
197
  ## Motion contract
198
198
 
199
199
  | Region | Token | Default | Reduced |
@@ -218,8 +218,8 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
218
218
 
219
219
  **Focus:**
220
220
 
221
- - Visible focus ring via the host application's focus styles. The DS does not add a custom focus ring; apps that need a custom ring can target the action and close buttons from the host.
222
- - The Radix primitive moves focus to the toast when it appears and returns focus to the trigger on dismissal when a `Toast.Trigger` is in scope.
221
+ - Action and close have the package focus ring.
222
+ - Opening a toast keeps focus on the current control. Radix provides a viewport hotkey (default `F8`) and keyboard traversal into the notification; `Escape` dismisses a focused toast. `Toast.Trigger` is a convenience button; consumers own toast state and any application-specific focus return.
223
223
 
224
224
  **Reduced motion:**
225
225
 
@@ -254,7 +254,7 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
254
254
 
255
255
  **Token story:**
256
256
 
257
- - Renders a `Theme` wrapper with `accentColor="silver"`, mounts a `Toast.Viewport` outside the wrapper, and asserts the viewport host carries `data-accent-color="silver"` after the document theme mirror runs.
257
+ - Renders a `Theme` wrapper with `accentColor="astral"`, mounts a `Toast.Viewport` outside the wrapper, and asserts the viewport host carries `data-accent-color="astral"` after the document theme mirror runs.
258
258
 
259
259
  **Props exposed in the playground controls:**
260
260
 
@@ -275,7 +275,7 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
275
275
 
276
276
  **Used by:**
277
277
 
278
- - `NotificationCenter`: composes `Toast` plus `Sonner`, `Card`, and `DataList` for the inbox-style notification surface. The pattern-level `NotificationCenter` is the intended product composition; `Toast` itself is a leaf surface.
278
+ - Consumers compose transient notifications with `Toast`; `NotificationCenter` is a separate inbox surface and does not render this primitive internally.
279
279
 
280
280
  **State boundaries:**
281
281
 
@@ -337,12 +337,26 @@ Every CSS value the component paints is a `var(--dsx-*)` token.
337
337
 
338
338
  ### Variant model
339
339
 
340
- - `variant`: `default`, `destructive`. Default `default`.
340
+ - `variant`: `default`, `success`, `warning`, `destructive`, `info`. Default `default`.
341
341
  - `size`: `sm`, `md`, `lg`. Default `md`.
342
- - Total members: 6 (2 variants × 3 sizes).
342
+ - Total members: 15 (5 variants × 3 sizes).
343
343
 
344
344
  ### Validation checklist
345
345
 
346
346
  - [ ] Token bindings resolve at the values `DESIGN.md` describes.
347
347
  - [ ] Component is promoted to Main Component under `Components`.
348
- - [ ] `penpotUtils.shapeStructure(board, 3)` matches the expected hierarchy.
348
+ - [ ] `penpotUtils.shapeStructure(board, 3)` matches the expected hierarchy.
349
+ ## Overlay review viewport
350
+
351
+ The viewport uses its existing intrinsic min(preferred width, viewport minus
352
+ dialog-viewport-gap) cap at every width, with space-md padding and bottom/right
353
+ insets. The legacy 640px width media query is removed. `/docs/toast` launches
354
+ and closes real notifications, compares all five variants and three size bands,
355
+ and provides a working Undo or Retry action. Notifications do not auto-open
356
+ in the matrix. Each example owns its Provider and Viewport; render only one
357
+ active example at a time when comparing fixed-position notifications.
358
+
359
+ The document accent fallback accepts all five canonical accents and reads the
360
+ root attribute when the body has none. Theme context still takes precedence.
361
+ Regression tests cover provider-free rift/warp/ray/astral/spark; invalid values
362
+ fall back to rift.