@d4gger/design-system 3.0.0 → 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 (772) hide show
  1. package/README.md +19 -0
  2. package/dist/{components/controlGroup/ControlGroup.cjs → _internal/floatingLayer.cjs} +11 -26
  3. package/dist/_internal/floatingLayer.cjs.map +7 -0
  4. package/dist/_internal/floatingLayer.d.cts +28 -0
  5. package/dist/_internal/floatingLayer.d.cts.map +1 -0
  6. package/dist/_internal/floatingLayer.d.mts +28 -0
  7. package/dist/_internal/floatingLayer.d.mts.map +1 -0
  8. package/dist/_internal/floatingLayer.d.ts +28 -0
  9. package/dist/_internal/floatingLayer.d.ts.map +1 -0
  10. package/dist/_internal/floatingLayer.js +11 -0
  11. package/dist/_internal/floatingLayer.js.map +7 -0
  12. package/dist/components/accordion.css +9 -2
  13. package/dist/components/alert/Alert.cjs +11 -7
  14. package/dist/components/alert/Alert.cjs.map +2 -2
  15. package/dist/components/alert/Alert.d.cts.map +1 -1
  16. package/dist/components/alert/Alert.d.mts.map +1 -1
  17. package/dist/components/alert/Alert.d.ts.map +1 -1
  18. package/dist/components/alert/Alert.js +12 -8
  19. package/dist/components/alert/Alert.js.map +2 -2
  20. package/dist/components/alert.css +13 -0
  21. package/dist/components/article-nodes.css +16 -1
  22. package/dist/components/articleNodes/ArticleNodes.cjs +46 -5
  23. package/dist/components/articleNodes/ArticleNodes.cjs.map +2 -2
  24. package/dist/components/articleNodes/ArticleNodes.d.cts +7 -3
  25. package/dist/components/articleNodes/ArticleNodes.d.cts.map +1 -1
  26. package/dist/components/articleNodes/ArticleNodes.d.mts +7 -3
  27. package/dist/components/articleNodes/ArticleNodes.d.mts.map +1 -1
  28. package/dist/components/articleNodes/ArticleNodes.d.ts +7 -3
  29. package/dist/components/articleNodes/ArticleNodes.d.ts.map +1 -1
  30. package/dist/components/articleNodes/ArticleNodes.js +46 -5
  31. package/dist/components/articleNodes/ArticleNodes.js.map +2 -2
  32. package/dist/components/articleNodes/articleExtensions.cjs +21 -4
  33. package/dist/components/articleNodes/articleExtensions.cjs.map +2 -2
  34. package/dist/components/articleNodes/articleExtensions.d.cts +8 -2
  35. package/dist/components/articleNodes/articleExtensions.d.cts.map +1 -1
  36. package/dist/components/articleNodes/articleExtensions.d.mts +8 -2
  37. package/dist/components/articleNodes/articleExtensions.d.mts.map +1 -1
  38. package/dist/components/articleNodes/articleExtensions.d.ts +8 -2
  39. package/dist/components/articleNodes/articleExtensions.d.ts.map +1 -1
  40. package/dist/components/articleNodes/articleExtensions.js +21 -4
  41. package/dist/components/articleNodes/articleExtensions.js.map +2 -2
  42. package/dist/components/articleNodes/articleNodeViews.cjs +154 -0
  43. package/dist/components/articleNodes/articleNodeViews.cjs.map +7 -0
  44. package/dist/components/articleNodes/articleNodeViews.d.cts +3 -0
  45. package/dist/components/articleNodes/articleNodeViews.d.cts.map +1 -0
  46. package/dist/components/articleNodes/articleNodeViews.d.mts +3 -0
  47. package/dist/components/articleNodes/articleNodeViews.d.mts.map +1 -0
  48. package/dist/components/articleNodes/articleNodeViews.d.ts +3 -0
  49. package/dist/components/articleNodes/articleNodeViews.d.ts.map +1 -0
  50. package/dist/components/articleNodes/articleNodeViews.js +124 -0
  51. package/dist/components/articleNodes/articleNodeViews.js.map +7 -0
  52. package/dist/components/articleNodes/articleNodes.props.cjs.map +1 -1
  53. package/dist/components/articleNodes/articleNodes.props.d.cts +25 -2
  54. package/dist/components/articleNodes/articleNodes.props.d.cts.map +1 -1
  55. package/dist/components/articleNodes/articleNodes.props.d.mts +25 -2
  56. package/dist/components/articleNodes/articleNodes.props.d.mts.map +1 -1
  57. package/dist/components/articleNodes/articleNodes.props.d.ts +25 -2
  58. package/dist/components/articleNodes/articleNodes.props.d.ts.map +1 -1
  59. package/dist/components/banner/Banner.cjs +105 -0
  60. package/dist/components/banner/Banner.cjs.map +7 -0
  61. package/dist/components/banner/Banner.d.cts +27 -0
  62. package/dist/components/banner/Banner.d.cts.map +1 -0
  63. package/dist/components/banner/Banner.d.mts +27 -0
  64. package/dist/components/banner/Banner.d.mts.map +1 -0
  65. package/dist/components/banner/Banner.d.ts +27 -0
  66. package/dist/components/banner/Banner.d.ts.map +1 -0
  67. package/dist/components/banner/Banner.js +80 -0
  68. package/dist/components/banner/Banner.js.map +7 -0
  69. package/dist/components/{controlGroup/controlGroup.props.cjs → banner/banner.props.cjs} +23 -16
  70. package/dist/components/banner/banner.props.cjs.map +7 -0
  71. package/dist/components/banner/banner.props.d.cts +32 -0
  72. package/dist/components/banner/banner.props.d.cts.map +1 -0
  73. package/dist/components/banner/banner.props.d.mts +32 -0
  74. package/dist/components/banner/banner.props.d.mts.map +1 -0
  75. package/dist/components/banner/banner.props.d.ts +32 -0
  76. package/dist/components/banner/banner.props.d.ts.map +1 -0
  77. package/dist/components/banner/banner.props.js +27 -0
  78. package/dist/components/banner/banner.props.js.map +7 -0
  79. package/dist/components/banner.css +61 -0
  80. package/dist/components/blockquote.css +7 -4
  81. package/dist/components/bottom-dock.css +132 -0
  82. package/dist/components/bottomDock/BottomDock.cjs +140 -0
  83. package/dist/components/bottomDock/BottomDock.cjs.map +7 -0
  84. package/dist/components/bottomDock/BottomDock.d.cts +25 -0
  85. package/dist/components/bottomDock/BottomDock.d.cts.map +1 -0
  86. package/dist/components/bottomDock/BottomDock.d.mts +25 -0
  87. package/dist/components/bottomDock/BottomDock.d.mts.map +1 -0
  88. package/dist/components/bottomDock/BottomDock.d.ts +25 -0
  89. package/dist/components/bottomDock/BottomDock.d.ts.map +1 -0
  90. package/dist/components/bottomDock/BottomDock.js +110 -0
  91. package/dist/components/bottomDock/BottomDock.js.map +7 -0
  92. package/dist/components/bottomDock/bottomDock.props.cjs +49 -0
  93. package/dist/components/bottomDock/bottomDock.props.cjs.map +7 -0
  94. package/dist/components/bottomDock/bottomDock.props.d.cts +29 -0
  95. package/dist/components/bottomDock/bottomDock.props.d.cts.map +1 -0
  96. package/dist/components/bottomDock/bottomDock.props.d.mts +29 -0
  97. package/dist/components/bottomDock/bottomDock.props.d.mts.map +1 -0
  98. package/dist/components/bottomDock/bottomDock.props.d.ts +29 -0
  99. package/dist/components/bottomDock/bottomDock.props.d.ts.map +1 -0
  100. package/dist/components/bottomDock/bottomDock.props.js +29 -0
  101. package/dist/components/bottomDock/bottomDock.props.js.map +7 -0
  102. package/dist/components/breadcrumb.css +24 -3
  103. package/dist/components/button-group.css +25 -0
  104. package/dist/components/button.css +9 -0
  105. package/dist/components/callout.css +20 -7
  106. package/dist/components/card.css +11 -0
  107. package/dist/components/carousel/Carousel.cjs +109 -39
  108. package/dist/components/carousel/Carousel.cjs.map +3 -3
  109. package/dist/components/carousel/Carousel.d.cts.map +1 -1
  110. package/dist/components/carousel/Carousel.d.mts.map +1 -1
  111. package/dist/components/carousel/Carousel.d.ts.map +1 -1
  112. package/dist/components/carousel/Carousel.js +111 -41
  113. package/dist/components/carousel/Carousel.js.map +3 -3
  114. package/dist/components/carousel.css +93 -26
  115. package/dist/components/chart/Chart.cjs +61 -11
  116. package/dist/components/chart/Chart.cjs.map +2 -2
  117. package/dist/components/chart/Chart.d.cts.map +1 -1
  118. package/dist/components/chart/Chart.d.mts.map +1 -1
  119. package/dist/components/chart/Chart.d.ts.map +1 -1
  120. package/dist/components/chart/Chart.js +62 -11
  121. package/dist/components/chart/Chart.js.map +2 -2
  122. package/dist/components/chart.css +10 -1
  123. package/dist/components/checkbox.css +14 -0
  124. package/dist/components/code.css +29 -13
  125. package/dist/components/collapsible/Collapsible.cjs +4 -0
  126. package/dist/components/collapsible/Collapsible.cjs.map +2 -2
  127. package/dist/components/collapsible/Collapsible.d.cts.map +1 -1
  128. package/dist/components/collapsible/Collapsible.d.mts.map +1 -1
  129. package/dist/components/collapsible/Collapsible.d.ts.map +1 -1
  130. package/dist/components/collapsible/Collapsible.js +4 -0
  131. package/dist/components/collapsible/Collapsible.js.map +2 -2
  132. package/dist/components/collapsible.css +10 -1
  133. package/dist/components/combobox/Combobox.cjs +3 -1
  134. package/dist/components/combobox/Combobox.cjs.map +2 -2
  135. package/dist/components/combobox/Combobox.d.cts.map +1 -1
  136. package/dist/components/combobox/Combobox.d.mts.map +1 -1
  137. package/dist/components/combobox/Combobox.d.ts.map +1 -1
  138. package/dist/components/combobox/Combobox.js +3 -1
  139. package/dist/components/combobox/Combobox.js.map +2 -2
  140. package/dist/components/combobox.css +5 -1
  141. package/dist/components/command/Command.cjs +1 -1
  142. package/dist/components/command/Command.cjs.map +2 -2
  143. package/dist/components/command/Command.js +1 -1
  144. package/dist/components/command/Command.js.map +2 -2
  145. package/dist/components/command.css +0 -2
  146. package/dist/components/comment-thread.css +15 -7
  147. package/dist/components/commentThread/CommentThread.cjs +45 -17
  148. package/dist/components/commentThread/CommentThread.cjs.map +2 -2
  149. package/dist/components/commentThread/CommentThread.d.cts +6 -6
  150. package/dist/components/commentThread/CommentThread.d.cts.map +1 -1
  151. package/dist/components/commentThread/CommentThread.d.mts +6 -6
  152. package/dist/components/commentThread/CommentThread.d.mts.map +1 -1
  153. package/dist/components/commentThread/CommentThread.d.ts +6 -6
  154. package/dist/components/commentThread/CommentThread.d.ts.map +1 -1
  155. package/dist/components/commentThread/CommentThread.js +45 -17
  156. package/dist/components/commentThread/CommentThread.js.map +2 -2
  157. package/dist/components/commentThread/commentThread.props.cjs.map +1 -1
  158. package/dist/components/commentThread/commentThread.props.d.cts +24 -0
  159. package/dist/components/commentThread/commentThread.props.d.cts.map +1 -1
  160. package/dist/components/commentThread/commentThread.props.d.mts +24 -0
  161. package/dist/components/commentThread/commentThread.props.d.mts.map +1 -1
  162. package/dist/components/commentThread/commentThread.props.d.ts +24 -0
  163. package/dist/components/commentThread/commentThread.props.d.ts.map +1 -1
  164. package/dist/components/config-drawer.css +7 -3
  165. package/dist/components/configDrawer/ConfigDrawer.cjs +1 -1
  166. package/dist/components/configDrawer/ConfigDrawer.cjs.map +2 -2
  167. package/dist/components/configDrawer/ConfigDrawer.js +1 -1
  168. package/dist/components/configDrawer/ConfigDrawer.js.map +2 -2
  169. package/dist/components/context-menu.css +4 -2
  170. package/dist/components/contextMenu/ContextMenu.cjs +37 -6
  171. package/dist/components/contextMenu/ContextMenu.cjs.map +2 -2
  172. package/dist/components/contextMenu/ContextMenu.d.cts +1 -1
  173. package/dist/components/contextMenu/ContextMenu.d.cts.map +1 -1
  174. package/dist/components/contextMenu/ContextMenu.d.mts +1 -1
  175. package/dist/components/contextMenu/ContextMenu.d.mts.map +1 -1
  176. package/dist/components/contextMenu/ContextMenu.d.ts +1 -1
  177. package/dist/components/contextMenu/ContextMenu.d.ts.map +1 -1
  178. package/dist/components/contextMenu/ContextMenu.js +37 -6
  179. package/dist/components/contextMenu/ContextMenu.js.map +2 -2
  180. package/dist/components/copy-field.css +18 -0
  181. package/dist/components/copyField/CopyField.cjs +3 -3
  182. package/dist/components/copyField/CopyField.cjs.map +2 -2
  183. package/dist/components/copyField/CopyField.d.cts.map +1 -1
  184. package/dist/components/copyField/CopyField.d.mts.map +1 -1
  185. package/dist/components/copyField/CopyField.d.ts.map +1 -1
  186. package/dist/components/copyField/CopyField.js +3 -3
  187. package/dist/components/copyField/CopyField.js.map +2 -2
  188. package/dist/components/data-list.css +19 -4
  189. package/dist/components/data-table.css +190 -0
  190. package/dist/components/dataTable/DataTable.cjs +193 -68
  191. package/dist/components/dataTable/DataTable.cjs.map +3 -3
  192. package/dist/components/dataTable/DataTable.d.cts +29 -1
  193. package/dist/components/dataTable/DataTable.d.cts.map +1 -1
  194. package/dist/components/dataTable/DataTable.d.mts +29 -1
  195. package/dist/components/dataTable/DataTable.d.mts.map +1 -1
  196. package/dist/components/dataTable/DataTable.d.ts +29 -1
  197. package/dist/components/dataTable/DataTable.d.ts.map +1 -1
  198. package/dist/components/dataTable/DataTable.js +193 -68
  199. package/dist/components/dataTable/DataTable.js.map +2 -2
  200. package/dist/components/dataTable/DataTableContext.cjs +41 -0
  201. package/dist/components/dataTable/DataTableContext.cjs.map +7 -0
  202. package/dist/components/dataTable/DataTableContext.d.cts +23 -0
  203. package/dist/components/dataTable/DataTableContext.d.cts.map +1 -0
  204. package/dist/components/dataTable/DataTableContext.d.mts +23 -0
  205. package/dist/components/dataTable/DataTableContext.d.mts.map +1 -0
  206. package/dist/components/dataTable/DataTableContext.d.ts +23 -0
  207. package/dist/components/dataTable/DataTableContext.d.ts.map +1 -0
  208. package/dist/components/dataTable/DataTableContext.js +11 -0
  209. package/dist/components/dataTable/DataTableContext.js.map +7 -0
  210. package/dist/components/dataTable/DataTablePagination.cjs +72 -47
  211. package/dist/components/dataTable/DataTablePagination.cjs.map +2 -2
  212. package/dist/components/dataTable/DataTablePagination.d.cts +5 -1
  213. package/dist/components/dataTable/DataTablePagination.d.cts.map +1 -1
  214. package/dist/components/dataTable/DataTablePagination.d.mts +5 -1
  215. package/dist/components/dataTable/DataTablePagination.d.mts.map +1 -1
  216. package/dist/components/dataTable/DataTablePagination.d.ts +5 -1
  217. package/dist/components/dataTable/DataTablePagination.d.ts.map +1 -1
  218. package/dist/components/dataTable/DataTablePagination.js +75 -47
  219. package/dist/components/dataTable/DataTablePagination.js.map +2 -2
  220. package/dist/components/dataTable/DataTableToolbar.cjs +122 -93
  221. package/dist/components/dataTable/DataTableToolbar.cjs.map +2 -2
  222. package/dist/components/dataTable/DataTableToolbar.d.cts +6 -5
  223. package/dist/components/dataTable/DataTableToolbar.d.cts.map +1 -1
  224. package/dist/components/dataTable/DataTableToolbar.d.mts +6 -5
  225. package/dist/components/dataTable/DataTableToolbar.d.mts.map +1 -1
  226. package/dist/components/dataTable/DataTableToolbar.d.ts +6 -5
  227. package/dist/components/dataTable/DataTableToolbar.d.ts.map +1 -1
  228. package/dist/components/dataTable/DataTableToolbar.js +123 -94
  229. package/dist/components/dataTable/DataTableToolbar.js.map +2 -2
  230. package/dist/components/dataTable/dataTable.export.cjs +83 -0
  231. package/dist/components/dataTable/dataTable.export.cjs.map +7 -0
  232. package/dist/components/dataTable/dataTable.export.d.cts +11 -0
  233. package/dist/components/dataTable/dataTable.export.d.cts.map +1 -0
  234. package/dist/components/dataTable/dataTable.export.d.mts +11 -0
  235. package/dist/components/dataTable/dataTable.export.d.mts.map +1 -0
  236. package/dist/components/dataTable/dataTable.export.d.ts +11 -0
  237. package/dist/components/dataTable/dataTable.export.d.ts.map +1 -0
  238. package/dist/components/dataTable/dataTable.export.js +63 -0
  239. package/dist/components/dataTable/dataTable.export.js.map +7 -0
  240. package/dist/components/dataTable/dataTable.props.cjs +23 -1
  241. package/dist/components/dataTable/dataTable.props.cjs.map +2 -2
  242. package/dist/components/dataTable/dataTable.props.d.cts +21 -1
  243. package/dist/components/dataTable/dataTable.props.d.cts.map +1 -1
  244. package/dist/components/dataTable/dataTable.props.d.mts +21 -1
  245. package/dist/components/dataTable/dataTable.props.d.mts.map +1 -1
  246. package/dist/components/dataTable/dataTable.props.d.ts +21 -1
  247. package/dist/components/dataTable/dataTable.props.d.ts.map +1 -1
  248. package/dist/components/dataTable/dataTable.props.js +23 -1
  249. package/dist/components/dataTable/dataTable.props.js.map +2 -2
  250. package/dist/components/dialog/Dialog.cjs +2 -1
  251. package/dist/components/dialog/Dialog.cjs.map +2 -2
  252. package/dist/components/dialog/Dialog.d.cts.map +1 -1
  253. package/dist/components/dialog/Dialog.d.mts.map +1 -1
  254. package/dist/components/dialog/Dialog.d.ts.map +1 -1
  255. package/dist/components/dialog/Dialog.js +2 -1
  256. package/dist/components/dialog/Dialog.js.map +2 -2
  257. package/dist/components/drawer.css +23 -6
  258. package/dist/components/dropdown-menu.css +1 -1
  259. package/dist/components/dropdownMenu/DropdownMenu.cjs +10 -5
  260. package/dist/components/dropdownMenu/DropdownMenu.cjs.map +2 -2
  261. package/dist/components/dropdownMenu/DropdownMenu.d.cts.map +1 -1
  262. package/dist/components/dropdownMenu/DropdownMenu.d.mts.map +1 -1
  263. package/dist/components/dropdownMenu/DropdownMenu.d.ts.map +1 -1
  264. package/dist/components/dropdownMenu/DropdownMenu.js +10 -5
  265. package/dist/components/dropdownMenu/DropdownMenu.js.map +2 -2
  266. package/dist/components/empty-state.css +5 -0
  267. package/dist/components/file-upload.css +36 -9
  268. package/dist/components/fileUpload/FileUpload.cjs +10 -1
  269. package/dist/components/fileUpload/FileUpload.cjs.map +2 -2
  270. package/dist/components/fileUpload/FileUpload.d.cts +1 -0
  271. package/dist/components/fileUpload/FileUpload.d.cts.map +1 -1
  272. package/dist/components/fileUpload/FileUpload.d.mts +1 -0
  273. package/dist/components/fileUpload/FileUpload.d.mts.map +1 -1
  274. package/dist/components/fileUpload/FileUpload.d.ts +1 -0
  275. package/dist/components/fileUpload/FileUpload.d.ts.map +1 -1
  276. package/dist/components/fileUpload/FileUpload.js +10 -1
  277. package/dist/components/fileUpload/FileUpload.js.map +2 -2
  278. package/dist/components/filter-bar.css +380 -8
  279. package/dist/components/filterBar/FilterBar.cjs +630 -1
  280. package/dist/components/filterBar/FilterBar.cjs.map +2 -2
  281. package/dist/components/filterBar/FilterBar.d.cts +132 -2
  282. package/dist/components/filterBar/FilterBar.d.cts.map +1 -1
  283. package/dist/components/filterBar/FilterBar.d.mts +132 -2
  284. package/dist/components/filterBar/FilterBar.d.mts.map +1 -1
  285. package/dist/components/filterBar/FilterBar.d.ts +132 -2
  286. package/dist/components/filterBar/FilterBar.d.ts.map +1 -1
  287. package/dist/components/filterBar/FilterBar.js +631 -2
  288. package/dist/components/filterBar/FilterBar.js.map +2 -2
  289. package/dist/components/floating-panel.css +50 -19
  290. package/dist/components/floatingPanel/FloatingPanel.cjs +156 -58
  291. package/dist/components/floatingPanel/FloatingPanel.cjs.map +2 -2
  292. package/dist/components/floatingPanel/FloatingPanel.d.cts.map +1 -1
  293. package/dist/components/floatingPanel/FloatingPanel.d.mts.map +1 -1
  294. package/dist/components/floatingPanel/FloatingPanel.d.ts.map +1 -1
  295. package/dist/components/floatingPanel/FloatingPanel.js +156 -58
  296. package/dist/components/floatingPanel/FloatingPanel.js.map +2 -2
  297. package/dist/components/fontProvider/FontProvider.cjs +1 -1
  298. package/dist/components/fontProvider/FontProvider.cjs.map +1 -1
  299. package/dist/components/fontProvider/FontProvider.js +1 -1
  300. package/dist/components/fontProvider/FontProvider.js.map +1 -1
  301. package/dist/components/grid/Grid.cjs +24 -35
  302. package/dist/components/grid/Grid.cjs.map +2 -2
  303. package/dist/components/grid/Grid.d.cts.map +1 -1
  304. package/dist/components/grid/Grid.d.mts.map +1 -1
  305. package/dist/components/grid/Grid.d.ts.map +1 -1
  306. package/dist/components/grid/Grid.js +24 -35
  307. package/dist/components/grid/Grid.js.map +2 -2
  308. package/dist/components/heading/Heading.cjs +1 -8
  309. package/dist/components/heading/Heading.cjs.map +2 -2
  310. package/dist/components/heading/Heading.d.cts.map +1 -1
  311. package/dist/components/heading/Heading.d.mts.map +1 -1
  312. package/dist/components/heading/Heading.d.ts.map +1 -1
  313. package/dist/components/heading/Heading.js +1 -8
  314. package/dist/components/heading/Heading.js.map +2 -2
  315. package/dist/components/heading/heading.props.cjs +9 -9
  316. package/dist/components/heading/heading.props.cjs.map +2 -2
  317. package/dist/components/heading/heading.props.d.cts +42 -43
  318. package/dist/components/heading/heading.props.d.cts.map +1 -1
  319. package/dist/components/heading/heading.props.d.mts +42 -43
  320. package/dist/components/heading/heading.props.d.mts.map +1 -1
  321. package/dist/components/heading/heading.props.d.ts +42 -43
  322. package/dist/components/heading/heading.props.d.ts.map +1 -1
  323. package/dist/components/heading/heading.props.js +9 -9
  324. package/dist/components/heading/heading.props.js.map +2 -2
  325. package/dist/components/heading.css +127 -104
  326. package/dist/components/hover-card.css +5 -2
  327. package/dist/components/icon/Icon.cjs +28 -2
  328. package/dist/components/icon/Icon.cjs.map +2 -2
  329. package/dist/components/icon/Icon.d.cts +33 -1
  330. package/dist/components/icon/Icon.d.cts.map +1 -1
  331. package/dist/components/icon/Icon.d.mts +33 -1
  332. package/dist/components/icon/Icon.d.mts.map +1 -1
  333. package/dist/components/icon/Icon.d.ts +33 -1
  334. package/dist/components/icon/Icon.d.ts.map +1 -1
  335. package/dist/components/icon/Icon.js +37 -2
  336. package/dist/components/icon/Icon.js.map +2 -2
  337. package/dist/components/icon/icons.cjs +18 -0
  338. package/dist/components/icon/icons.cjs.map +2 -2
  339. package/dist/components/icon/icons.d.cts +45 -0
  340. package/dist/components/icon/icons.d.cts.map +1 -1
  341. package/dist/components/icon/icons.d.mts +45 -0
  342. package/dist/components/icon/icons.d.mts.map +1 -1
  343. package/dist/components/icon/icons.d.ts +45 -0
  344. package/dist/components/icon/icons.d.ts.map +1 -1
  345. package/dist/components/icon/icons.js +18 -0
  346. package/dist/components/icon/icons.js.map +2 -2
  347. package/dist/components/icon-button.css +29 -0
  348. package/dist/components/index.cjs +2 -1
  349. package/dist/components/index.cjs.map +2 -2
  350. package/dist/components/index.d.cts +2 -1
  351. package/dist/components/index.d.cts.map +1 -1
  352. package/dist/components/index.d.mts +2 -1
  353. package/dist/components/index.d.mts.map +1 -1
  354. package/dist/components/index.d.ts +2 -1
  355. package/dist/components/index.d.ts.map +1 -1
  356. package/dist/components/index.js +2 -1
  357. package/dist/components/index.js.map +2 -2
  358. package/dist/components/item/Item.cjs +1 -1
  359. package/dist/components/item/Item.cjs.map +2 -2
  360. package/dist/components/item/Item.js +1 -1
  361. package/dist/components/item/Item.js.map +2 -2
  362. package/dist/components/item.css +12 -1
  363. package/dist/components/label.css +3 -0
  364. package/dist/components/link.css +33 -97
  365. package/dist/components/marquee/Marquee.cjs +1 -1
  366. package/dist/components/marquee/Marquee.cjs.map +2 -2
  367. package/dist/components/marquee/Marquee.js +1 -1
  368. package/dist/components/marquee/Marquee.js.map +2 -2
  369. package/dist/components/marquee.css +6 -0
  370. package/dist/components/menu/Menu.cjs +3 -1
  371. package/dist/components/menu/Menu.cjs.map +2 -2
  372. package/dist/components/menu/Menu.d.cts.map +1 -1
  373. package/dist/components/menu/Menu.d.mts.map +1 -1
  374. package/dist/components/menu/Menu.d.ts.map +1 -1
  375. package/dist/components/menu/Menu.js +3 -1
  376. package/dist/components/menu/Menu.js.map +2 -2
  377. package/dist/components/menubar.css +1 -1
  378. package/dist/components/metric.css +5 -0
  379. package/dist/components/notification-center.css +49 -9
  380. package/dist/components/notificationCenter/NotificationCenter.cjs +21 -16
  381. package/dist/components/notificationCenter/NotificationCenter.cjs.map +2 -2
  382. package/dist/components/notificationCenter/NotificationCenter.d.cts.map +1 -1
  383. package/dist/components/notificationCenter/NotificationCenter.d.mts.map +1 -1
  384. package/dist/components/notificationCenter/NotificationCenter.d.ts.map +1 -1
  385. package/dist/components/notificationCenter/NotificationCenter.js +22 -17
  386. package/dist/components/notificationCenter/NotificationCenter.js.map +2 -2
  387. package/dist/components/pagination/Pagination.cjs +143 -17
  388. package/dist/components/pagination/Pagination.cjs.map +2 -2
  389. package/dist/components/pagination/Pagination.d.cts +64 -4
  390. package/dist/components/pagination/Pagination.d.cts.map +1 -1
  391. package/dist/components/pagination/Pagination.d.mts +64 -4
  392. package/dist/components/pagination/Pagination.d.mts.map +1 -1
  393. package/dist/components/pagination/Pagination.d.ts +64 -4
  394. package/dist/components/pagination/Pagination.d.ts.map +1 -1
  395. package/dist/components/pagination/Pagination.js +143 -17
  396. package/dist/components/pagination/Pagination.js.map +2 -2
  397. package/dist/components/pagination.css +50 -8
  398. package/dist/components/phoneInput/PhoneInput.cjs +18 -13
  399. package/dist/components/phoneInput/PhoneInput.cjs.map +2 -2
  400. package/dist/components/phoneInput/PhoneInput.d.cts.map +1 -1
  401. package/dist/components/phoneInput/PhoneInput.d.mts.map +1 -1
  402. package/dist/components/phoneInput/PhoneInput.d.ts.map +1 -1
  403. package/dist/components/phoneInput/PhoneInput.js +19 -14
  404. package/dist/components/phoneInput/PhoneInput.js.map +2 -2
  405. package/dist/components/pills/Pills.cjs +1 -1
  406. package/dist/components/pills/Pills.cjs.map +2 -2
  407. package/dist/components/pills/Pills.js +2 -2
  408. package/dist/components/pills/Pills.js.map +2 -2
  409. package/dist/components/pills.css +6 -0
  410. package/dist/components/popover/Popover.cjs +2 -1
  411. package/dist/components/popover/Popover.cjs.map +2 -2
  412. package/dist/components/popover/Popover.d.cts.map +1 -1
  413. package/dist/components/popover/Popover.d.mts.map +1 -1
  414. package/dist/components/popover/Popover.d.ts.map +1 -1
  415. package/dist/components/popover/Popover.js +2 -1
  416. package/dist/components/popover/Popover.js.map +2 -2
  417. package/dist/components/popover.css +45 -6
  418. package/dist/components/prose.css +4 -4
  419. package/dist/components/qr-code.css +10 -17
  420. package/dist/components/qrCode/QrCode.cjs +14 -11
  421. package/dist/components/qrCode/QrCode.cjs.map +2 -2
  422. package/dist/components/qrCode/QrCode.d.cts.map +1 -1
  423. package/dist/components/qrCode/QrCode.d.mts.map +1 -1
  424. package/dist/components/qrCode/QrCode.d.ts.map +1 -1
  425. package/dist/components/qrCode/QrCode.js +14 -11
  426. package/dist/components/qrCode/QrCode.js.map +2 -2
  427. package/dist/components/radio-group.css +19 -0
  428. package/dist/components/radioGroup/RadioGroup.cjs +3 -2
  429. package/dist/components/radioGroup/RadioGroup.cjs.map +2 -2
  430. package/dist/components/radioGroup/RadioGroup.d.cts.map +1 -1
  431. package/dist/components/radioGroup/RadioGroup.d.mts.map +1 -1
  432. package/dist/components/radioGroup/RadioGroup.d.ts.map +1 -1
  433. package/dist/components/radioGroup/RadioGroup.js +3 -2
  434. package/dist/components/radioGroup/RadioGroup.js.map +2 -2
  435. package/dist/components/radioGroup/radioGroup.props.cjs +1 -1
  436. package/dist/components/radioGroup/radioGroup.props.cjs.map +2 -2
  437. package/dist/components/radioGroup/radioGroup.props.d.cts +1 -1
  438. package/dist/components/radioGroup/radioGroup.props.d.mts +1 -1
  439. package/dist/components/radioGroup/radioGroup.props.d.ts +1 -1
  440. package/dist/components/radioGroup/radioGroup.props.js +1 -1
  441. package/dist/components/radioGroup/radioGroup.props.js.map +2 -2
  442. package/dist/components/rating.css +12 -0
  443. package/dist/components/resizable.css +20 -4
  444. package/dist/components/result.css +2 -1
  445. package/dist/components/rich-text-editor.css +50 -14
  446. package/dist/components/richTextEditor/EditorTools.cjs +226 -0
  447. package/dist/components/richTextEditor/EditorTools.cjs.map +7 -0
  448. package/dist/components/richTextEditor/EditorTools.d.cts +22 -0
  449. package/dist/components/richTextEditor/EditorTools.d.cts.map +1 -0
  450. package/dist/components/richTextEditor/EditorTools.d.mts +22 -0
  451. package/dist/components/richTextEditor/EditorTools.d.mts.map +1 -0
  452. package/dist/components/richTextEditor/EditorTools.d.ts +22 -0
  453. package/dist/components/richTextEditor/EditorTools.d.ts.map +1 -0
  454. package/dist/components/richTextEditor/EditorTools.js +196 -0
  455. package/dist/components/richTextEditor/EditorTools.js.map +7 -0
  456. package/dist/components/richTextEditor/MentionSuggestions.cjs +96 -0
  457. package/dist/components/richTextEditor/MentionSuggestions.cjs.map +7 -0
  458. package/dist/components/richTextEditor/MentionSuggestions.d.cts +7 -0
  459. package/dist/components/richTextEditor/MentionSuggestions.d.cts.map +1 -0
  460. package/dist/components/richTextEditor/MentionSuggestions.d.mts +7 -0
  461. package/dist/components/richTextEditor/MentionSuggestions.d.mts.map +1 -0
  462. package/dist/components/richTextEditor/MentionSuggestions.d.ts +7 -0
  463. package/dist/components/richTextEditor/MentionSuggestions.d.ts.map +1 -0
  464. package/dist/components/richTextEditor/MentionSuggestions.js +66 -0
  465. package/dist/components/richTextEditor/MentionSuggestions.js.map +7 -0
  466. package/dist/components/richTextEditor/RichTextEditor.cjs +63 -208
  467. package/dist/components/richTextEditor/RichTextEditor.cjs.map +3 -3
  468. package/dist/components/richTextEditor/RichTextEditor.d.cts +17 -7
  469. package/dist/components/richTextEditor/RichTextEditor.d.cts.map +1 -1
  470. package/dist/components/richTextEditor/RichTextEditor.d.mts +17 -7
  471. package/dist/components/richTextEditor/RichTextEditor.d.mts.map +1 -1
  472. package/dist/components/richTextEditor/RichTextEditor.d.ts +17 -7
  473. package/dist/components/richTextEditor/RichTextEditor.d.ts.map +1 -1
  474. package/dist/components/richTextEditor/RichTextEditor.js +63 -208
  475. package/dist/components/richTextEditor/RichTextEditor.js.map +3 -3
  476. package/dist/components/richTextEditor/editorTokens.cjs +75 -0
  477. package/dist/components/richTextEditor/editorTokens.cjs.map +7 -0
  478. package/dist/components/richTextEditor/editorTokens.d.cts +21 -0
  479. package/dist/components/richTextEditor/editorTokens.d.cts.map +1 -0
  480. package/dist/components/richTextEditor/editorTokens.d.mts +21 -0
  481. package/dist/components/richTextEditor/editorTokens.d.mts.map +1 -0
  482. package/dist/components/richTextEditor/editorTokens.d.ts +21 -0
  483. package/dist/components/richTextEditor/editorTokens.d.ts.map +1 -0
  484. package/dist/components/richTextEditor/editorTokens.js +55 -0
  485. package/dist/components/richTextEditor/editorTokens.js.map +7 -0
  486. package/dist/components/scroll-area.css +12 -0
  487. package/dist/components/scrollArea/ScrollArea.cjs +12 -1
  488. package/dist/components/scrollArea/ScrollArea.cjs.map +2 -2
  489. package/dist/components/scrollArea/ScrollArea.d.cts.map +1 -1
  490. package/dist/components/scrollArea/ScrollArea.d.mts.map +1 -1
  491. package/dist/components/scrollArea/ScrollArea.d.ts.map +1 -1
  492. package/dist/components/scrollArea/ScrollArea.js +12 -1
  493. package/dist/components/scrollArea/ScrollArea.js.map +2 -2
  494. package/dist/components/segmented-control.css +80 -4
  495. package/dist/components/segmentedControl/SegmentedControl.cjs +18 -5
  496. package/dist/components/segmentedControl/SegmentedControl.cjs.map +2 -2
  497. package/dist/components/segmentedControl/SegmentedControl.d.cts.map +1 -1
  498. package/dist/components/segmentedControl/SegmentedControl.d.mts.map +1 -1
  499. package/dist/components/segmentedControl/SegmentedControl.d.ts.map +1 -1
  500. package/dist/components/segmentedControl/SegmentedControl.js +18 -5
  501. package/dist/components/segmentedControl/SegmentedControl.js.map +2 -2
  502. package/dist/components/segmentedControl/segmentedControl.props.cjs +10 -0
  503. package/dist/components/segmentedControl/segmentedControl.props.cjs.map +2 -2
  504. package/dist/components/segmentedControl/segmentedControl.props.d.cts +9 -0
  505. package/dist/components/segmentedControl/segmentedControl.props.d.cts.map +1 -1
  506. package/dist/components/segmentedControl/segmentedControl.props.d.mts +9 -0
  507. package/dist/components/segmentedControl/segmentedControl.props.d.mts.map +1 -1
  508. package/dist/components/segmentedControl/segmentedControl.props.d.ts +9 -0
  509. package/dist/components/segmentedControl/segmentedControl.props.d.ts.map +1 -1
  510. package/dist/components/segmentedControl/segmentedControl.props.js +10 -0
  511. package/dist/components/segmentedControl/segmentedControl.props.js.map +2 -2
  512. package/dist/components/select/Select.cjs +3 -1
  513. package/dist/components/select/Select.cjs.map +2 -2
  514. package/dist/components/select/Select.d.cts.map +1 -1
  515. package/dist/components/select/Select.d.mts.map +1 -1
  516. package/dist/components/select/Select.d.ts.map +1 -1
  517. package/dist/components/select/Select.js +3 -1
  518. package/dist/components/select/Select.js.map +2 -2
  519. package/dist/components/select.css +1 -1
  520. package/dist/components/separator.css +3 -9
  521. package/dist/components/sidebar/Sidebar.cjs +12 -4
  522. package/dist/components/sidebar/Sidebar.cjs.map +2 -2
  523. package/dist/components/sidebar/Sidebar.d.cts +4 -1
  524. package/dist/components/sidebar/Sidebar.d.cts.map +1 -1
  525. package/dist/components/sidebar/Sidebar.d.mts +4 -1
  526. package/dist/components/sidebar/Sidebar.d.mts.map +1 -1
  527. package/dist/components/sidebar/Sidebar.d.ts +4 -1
  528. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  529. package/dist/components/sidebar/Sidebar.js +12 -4
  530. package/dist/components/sidebar/Sidebar.js.map +2 -2
  531. package/dist/components/sidebar/sidebar.props.cjs +8 -1
  532. package/dist/components/sidebar/sidebar.props.cjs.map +2 -2
  533. package/dist/components/sidebar/sidebar.props.d.cts +9 -1
  534. package/dist/components/sidebar/sidebar.props.d.cts.map +1 -1
  535. package/dist/components/sidebar/sidebar.props.d.mts +9 -1
  536. package/dist/components/sidebar/sidebar.props.d.mts.map +1 -1
  537. package/dist/components/sidebar/sidebar.props.d.ts +9 -1
  538. package/dist/components/sidebar/sidebar.props.d.ts.map +1 -1
  539. package/dist/components/sidebar/sidebar.props.js +8 -1
  540. package/dist/components/sidebar/sidebar.props.js.map +2 -2
  541. package/dist/components/sidebar.css +28 -0
  542. package/dist/components/sonner.css +79 -17
  543. package/dist/components/sortableList/SortableList.cjs +8 -2
  544. package/dist/components/sortableList/SortableList.cjs.map +2 -2
  545. package/dist/components/sortableList/SortableList.d.cts.map +1 -1
  546. package/dist/components/sortableList/SortableList.d.mts.map +1 -1
  547. package/dist/components/sortableList/SortableList.d.ts.map +1 -1
  548. package/dist/components/sortableList/SortableList.js +8 -2
  549. package/dist/components/sortableList/SortableList.js.map +2 -2
  550. package/dist/components/stat-card.css +2 -0
  551. package/dist/components/stepper.css +23 -12
  552. package/dist/components/tab-nav.css +25 -13
  553. package/dist/components/tabNav/TabNav.cjs +1 -4
  554. package/dist/components/tabNav/TabNav.cjs.map +2 -2
  555. package/dist/components/tabNav/TabNav.d.cts.map +1 -1
  556. package/dist/components/tabNav/TabNav.d.mts.map +1 -1
  557. package/dist/components/tabNav/TabNav.d.ts.map +1 -1
  558. package/dist/components/tabNav/TabNav.js +1 -4
  559. package/dist/components/tabNav/TabNav.js.map +2 -2
  560. package/dist/components/table/Table.cjs +3 -2
  561. package/dist/components/table/Table.cjs.map +2 -2
  562. package/dist/components/table/Table.d.cts.map +1 -1
  563. package/dist/components/table/Table.d.mts.map +1 -1
  564. package/dist/components/table/Table.d.ts.map +1 -1
  565. package/dist/components/table/Table.js +3 -2
  566. package/dist/components/table/Table.js.map +2 -2
  567. package/dist/components/table/table.props.cjs +6 -0
  568. package/dist/components/table/table.props.cjs.map +2 -2
  569. package/dist/components/table/table.props.d.cts +5 -0
  570. package/dist/components/table/table.props.d.cts.map +1 -1
  571. package/dist/components/table/table.props.d.mts +5 -0
  572. package/dist/components/table/table.props.d.mts.map +1 -1
  573. package/dist/components/table/table.props.d.ts +5 -0
  574. package/dist/components/table/table.props.d.ts.map +1 -1
  575. package/dist/components/table/table.props.js +6 -0
  576. package/dist/components/table/table.props.js.map +2 -2
  577. package/dist/components/table-of-contents.css +12 -2
  578. package/dist/components/table.css +20 -13
  579. package/dist/components/tableOfContents/TableOfContents.cjs +11 -4
  580. package/dist/components/tableOfContents/TableOfContents.cjs.map +2 -2
  581. package/dist/components/tableOfContents/TableOfContents.d.cts.map +1 -1
  582. package/dist/components/tableOfContents/TableOfContents.d.mts.map +1 -1
  583. package/dist/components/tableOfContents/TableOfContents.d.ts.map +1 -1
  584. package/dist/components/tableOfContents/TableOfContents.js +11 -4
  585. package/dist/components/tableOfContents/TableOfContents.js.map +2 -2
  586. package/dist/components/tabs/Tabs.cjs +39 -54
  587. package/dist/components/tabs/Tabs.cjs.map +2 -2
  588. package/dist/components/tabs/Tabs.d.cts.map +1 -1
  589. package/dist/components/tabs/Tabs.d.mts.map +1 -1
  590. package/dist/components/tabs/Tabs.d.ts.map +1 -1
  591. package/dist/components/tabs/Tabs.js +39 -54
  592. package/dist/components/tabs/Tabs.js.map +2 -2
  593. package/dist/components/tabs.css +62 -7
  594. package/dist/components/text/text.props.cjs +9 -9
  595. package/dist/components/text/text.props.cjs.map +2 -2
  596. package/dist/components/text/text.props.d.cts +42 -43
  597. package/dist/components/text/text.props.d.cts.map +1 -1
  598. package/dist/components/text/text.props.d.mts +42 -43
  599. package/dist/components/text/text.props.d.mts.map +1 -1
  600. package/dist/components/text/text.props.d.ts +42 -43
  601. package/dist/components/text/text.props.d.ts.map +1 -1
  602. package/dist/components/text/text.props.js +9 -9
  603. package/dist/components/text/text.props.js.map +2 -2
  604. package/dist/components/text/typography.props.cjs +32 -0
  605. package/dist/components/text/typography.props.cjs.map +7 -0
  606. package/dist/components/text/typography.props.d.cts +3 -0
  607. package/dist/components/text/typography.props.d.cts.map +1 -0
  608. package/dist/components/text/typography.props.d.mts +3 -0
  609. package/dist/components/text/typography.props.d.mts.map +1 -0
  610. package/dist/components/text/typography.props.d.ts +3 -0
  611. package/dist/components/text/typography.props.d.ts.map +1 -0
  612. package/dist/components/text/typography.props.js +12 -0
  613. package/dist/components/text/typography.props.js.map +7 -0
  614. package/dist/components/text-field.css +1 -0
  615. package/dist/components/text.css +41 -6
  616. package/dist/components/theme-panel.css +6 -0
  617. package/dist/components/timeline.css +54 -18
  618. package/dist/components/toast/Toast.cjs +3 -1
  619. package/dist/components/toast/Toast.cjs.map +2 -2
  620. package/dist/components/toast/Toast.d.cts.map +1 -1
  621. package/dist/components/toast/Toast.d.mts.map +1 -1
  622. package/dist/components/toast/Toast.d.ts.map +1 -1
  623. package/dist/components/toast/Toast.js +3 -1
  624. package/dist/components/toast/Toast.js.map +2 -2
  625. package/dist/components/toast.css +50 -18
  626. package/dist/components/toggle-group.css +5 -0
  627. package/dist/components/toggle-tip.css +58 -9
  628. package/dist/components/toggleTip/ToggleTip.cjs +9 -5
  629. package/dist/components/toggleTip/ToggleTip.cjs.map +2 -2
  630. package/dist/components/toggleTip/ToggleTip.d.cts.map +1 -1
  631. package/dist/components/toggleTip/ToggleTip.d.mts.map +1 -1
  632. package/dist/components/toggleTip/ToggleTip.d.ts.map +1 -1
  633. package/dist/components/toggleTip/ToggleTip.js +9 -5
  634. package/dist/components/toggleTip/ToggleTip.js.map +2 -2
  635. package/dist/components/toolbar/Toolbar.cjs +10 -7
  636. package/dist/components/toolbar/Toolbar.cjs.map +2 -2
  637. package/dist/components/toolbar/Toolbar.js +10 -7
  638. package/dist/components/toolbar/Toolbar.js.map +2 -2
  639. package/dist/components/toolbar.css +58 -4
  640. package/dist/components/tooltip.css +9 -5
  641. package/dist/components/tree-view.css +17 -3
  642. package/dist/components/treeView/TreeView.cjs +76 -21
  643. package/dist/components/treeView/TreeView.cjs.map +2 -2
  644. package/dist/components/treeView/TreeView.d.cts.map +1 -1
  645. package/dist/components/treeView/TreeView.d.mts.map +1 -1
  646. package/dist/components/treeView/TreeView.d.ts.map +1 -1
  647. package/dist/components/treeView/TreeView.js +76 -21
  648. package/dist/components/treeView/TreeView.js.map +2 -2
  649. package/dist/components.css +2 -2
  650. package/dist/docs/README.md +2 -1
  651. package/dist/docs/component-contract.md +7 -6
  652. package/dist/docs/component-index.json +17 -9
  653. package/dist/docs/components/accordion.md +5 -36
  654. package/dist/docs/components/alert.md +17 -10
  655. package/dist/docs/components/article-nodes.md +59 -2
  656. package/dist/docs/components/aspect-ratio.md +3 -26
  657. package/dist/docs/components/banner.md +152 -0
  658. package/dist/docs/components/blockquote.md +15 -14
  659. package/dist/docs/components/bottom-dock.md +146 -0
  660. package/dist/docs/components/box.md +3 -34
  661. package/dist/docs/components/breadcrumb.md +13 -8
  662. package/dist/docs/components/button-group.md +4 -3
  663. package/dist/docs/components/button.md +2 -2
  664. package/dist/docs/components/callout.md +18 -7
  665. package/dist/docs/components/card.md +10 -2
  666. package/dist/docs/components/carousel.md +55 -32
  667. package/dist/docs/components/chart.md +25 -7
  668. package/dist/docs/components/checkbox.md +4 -0
  669. package/dist/docs/components/code.md +33 -220
  670. package/dist/docs/components/collapsible.md +11 -35
  671. package/dist/docs/components/combobox.md +3 -1
  672. package/dist/docs/components/command.md +4 -2
  673. package/dist/docs/components/comment-thread.md +51 -1
  674. package/dist/docs/components/config-drawer.md +72 -171
  675. package/dist/docs/components/container.md +2 -0
  676. package/dist/docs/components/context-menu.md +19 -5
  677. package/dist/docs/components/copy-field.md +2 -2
  678. package/dist/docs/components/data-list.md +15 -3
  679. package/dist/docs/components/data-table.md +98 -17
  680. package/dist/docs/components/dialog.md +7 -1
  681. package/dist/docs/components/drawer.md +17 -6
  682. package/dist/docs/components/dropdown-menu.md +13 -3
  683. package/dist/docs/components/em.md +1 -1
  684. package/dist/docs/components/empty-state.md +3 -1
  685. package/dist/docs/components/file-upload.md +14 -7
  686. package/dist/docs/components/filter-bar.md +193 -8
  687. package/dist/docs/components/floating-panel.md +79 -285
  688. package/dist/docs/components/form.md +4 -0
  689. package/dist/docs/components/grid.md +11 -60
  690. package/dist/docs/components/heading.md +35 -32
  691. package/dist/docs/components/hover-card.md +9 -1
  692. package/dist/docs/components/icon-button.md +4 -1
  693. package/dist/docs/components/item.md +18 -13
  694. package/dist/docs/components/kbd.md +2 -0
  695. package/dist/docs/components/label.md +11 -9
  696. package/dist/docs/components/link.md +31 -209
  697. package/dist/docs/components/marquee.md +2 -2
  698. package/dist/docs/components/menu.md +4 -1
  699. package/dist/docs/components/metric.md +4 -1
  700. package/dist/docs/components/notification-center.md +24 -14
  701. package/dist/docs/components/page-header.md +2 -0
  702. package/dist/docs/components/pagination.md +92 -17
  703. package/dist/docs/components/pills.md +13 -4
  704. package/dist/docs/components/popover.md +12 -3
  705. package/dist/docs/components/prose.md +14 -1
  706. package/dist/docs/components/qr-code.md +25 -24
  707. package/dist/docs/components/quote.md +9 -4
  708. package/dist/docs/components/radio-group.md +5 -2
  709. package/dist/docs/components/rating.md +2 -0
  710. package/dist/docs/components/resizable.md +26 -18
  711. package/dist/docs/components/result.md +6 -0
  712. package/dist/docs/components/rich-text-editor.md +68 -18
  713. package/dist/docs/components/scroll-area.md +17 -9
  714. package/dist/docs/components/section.md +3 -38
  715. package/dist/docs/components/segmented-control.md +8 -3
  716. package/dist/docs/components/segmented-meter.md +9 -0
  717. package/dist/docs/components/select.md +3 -2
  718. package/dist/docs/components/separator.md +10 -46
  719. package/dist/docs/components/sidebar.md +20 -4
  720. package/dist/docs/components/sonner.md +26 -17
  721. package/dist/docs/components/sortable-list.md +2 -0
  722. package/dist/docs/components/stat-card.md +5 -4
  723. package/dist/docs/components/stepper.md +8 -32
  724. package/dist/docs/components/strong.md +1 -1
  725. package/dist/docs/components/tab-nav.md +33 -96
  726. package/dist/docs/components/table-of-contents.md +8 -2
  727. package/dist/docs/components/table.md +14 -5
  728. package/dist/docs/components/tabs.md +19 -50
  729. package/dist/docs/components/tag.md +4 -2
  730. package/dist/docs/components/text-field.md +1 -0
  731. package/dist/docs/components/text.md +34 -28
  732. package/dist/docs/components/theme-panel.md +3 -28
  733. package/dist/docs/components/theme.md +7 -3
  734. package/dist/docs/components/timeline.md +9 -5
  735. package/dist/docs/components/toast.md +28 -14
  736. package/dist/docs/components/toggle-group.md +2 -1
  737. package/dist/docs/components/toggle-tip.md +58 -241
  738. package/dist/docs/components/toolbar.md +16 -39
  739. package/dist/docs/components/tooltip.md +13 -7
  740. package/dist/docs/components/tree-view.md +22 -55
  741. package/dist/fonts.css +1 -1
  742. package/dist/generated/tokens.cjs +2 -1
  743. package/dist/generated/tokens.cjs.map +2 -2
  744. package/dist/generated/tokens.d.cts.map +1 -1
  745. package/dist/generated/tokens.d.mts.map +1 -1
  746. package/dist/generated/tokens.d.ts.map +1 -1
  747. package/dist/generated/tokens.js +2 -1
  748. package/dist/generated/tokens.js.map +2 -2
  749. package/dist/motion.css +18 -3
  750. package/dist/styles.css +3045 -1756
  751. package/dist/tokens.css +349 -361
  752. package/package.json +1 -1
  753. package/dist/components/control-group.css +0 -142
  754. package/dist/components/controlGroup/ControlGroup.cjs.map +0 -7
  755. package/dist/components/controlGroup/ControlGroup.d.cts +0 -16
  756. package/dist/components/controlGroup/ControlGroup.d.cts.map +0 -1
  757. package/dist/components/controlGroup/ControlGroup.d.mts +0 -16
  758. package/dist/components/controlGroup/ControlGroup.d.mts.map +0 -1
  759. package/dist/components/controlGroup/ControlGroup.d.ts +0 -16
  760. package/dist/components/controlGroup/ControlGroup.d.ts.map +0 -1
  761. package/dist/components/controlGroup/ControlGroup.js +0 -26
  762. package/dist/components/controlGroup/ControlGroup.js.map +0 -7
  763. package/dist/components/controlGroup/controlGroup.props.cjs.map +0 -7
  764. package/dist/components/controlGroup/controlGroup.props.d.cts +0 -18
  765. package/dist/components/controlGroup/controlGroup.props.d.cts.map +0 -1
  766. package/dist/components/controlGroup/controlGroup.props.d.mts +0 -18
  767. package/dist/components/controlGroup/controlGroup.props.d.mts.map +0 -1
  768. package/dist/components/controlGroup/controlGroup.props.d.ts +0 -18
  769. package/dist/components/controlGroup/controlGroup.props.d.ts.map +0 -1
  770. package/dist/components/controlGroup/controlGroup.props.js +0 -20
  771. package/dist/components/controlGroup/controlGroup.props.js.map +0 -7
  772. package/dist/docs/components/control-group.md +0 -261
@@ -13,7 +13,28 @@
13
13
  background-color: var(--dsx-color-surface-sunken);
14
14
  border: var(--dsx-boundary-control-width) solid transparent;
15
15
  border-radius: var(--dsx-grouped-radius, var(--dsx-rounded-md));
16
- min-width: max-content;
16
+ /* Narrow-container rule (TMA slice-1 2026-09-23): same fused-frame
17
+ containment as button/toggle groups — min-width:max-content would override
18
+ the cap and hard-clip right segments in narrow FilterBars, so floor at 0,
19
+ cap at the container, and scroll. The sliding indicator measures live item
20
+ boxes, so scrolling shifts it along correctly. */
21
+ min-width: 0;
22
+ max-width: 100%;
23
+ overflow-x: auto;
24
+ }
25
+
26
+ /* Fill opt-in (`fill` prop): the root spans the container and items share
27
+ the width equally. The indicator measures live boxes, so it tracks fill
28
+ widths with no change. For overflowing groups keep the default hug root
29
+ (scroll containment above) — fill is for few-item groups that fit. */
30
+ .dsx-segmented-control:where(.dsx-segmented-control--fill, [data-fill='true']) {
31
+ width: 100%;
32
+ align-self: stretch;
33
+ }
34
+
35
+ .dsx-segmented-control:where(.dsx-segmented-control--fill, [data-fill='true']) .dsx-segmented-control__item {
36
+ flex: 1 1 0;
37
+ min-width: 0;
17
38
  }
18
39
 
19
40
  /* ---- Disabled root ---- */
@@ -31,6 +52,9 @@
31
52
  display: inline-flex;
32
53
  align-items: center;
33
54
  justify-content: center;
55
+ /* Never compress inside the scrolled root — labels truncate ("Cl…"/"G…")
56
+ otherwise. No effect in roomy containers. */
57
+ flex-shrink: 0;
34
58
  gap: var(--dsx-space-xs);
35
59
  padding-inline: var(--dsx-space-md);
36
60
  border: 0;
@@ -57,6 +81,37 @@
57
81
  margin-inline-start: calc(-1 * var(--dsx-boundary-control-width));
58
82
  }
59
83
 
84
+ /* ---- Vertical orientation ---- */
85
+
86
+ .dsx-segmented-control[data-orientation='vertical'] {
87
+ flex-direction: column;
88
+ min-width: 0;
89
+ /* Definite height: Firefox flex-shrinks auto-height column roots inside the
90
+ matrix row down toward one row; max-content is identical to auto everywhere
91
+ else and immune to the shrink. */
92
+ height: max-content;
93
+ }
94
+
95
+ .dsx-segmented-control[data-orientation='vertical'] .dsx-segmented-control__item + .dsx-segmented-control__item {
96
+ margin-inline-start: 0;
97
+ margin-block-start: calc(-1 * var(--dsx-boundary-control-width));
98
+ }
99
+
100
+ .dsx-segmented-control[data-orientation='vertical'] .dsx-segmented-control__indicator {
101
+ top: 0;
102
+ bottom: auto;
103
+ left: var(--dsx-space-2xs);
104
+ right: var(--dsx-space-2xs);
105
+ width: auto;
106
+ height: 0;
107
+ transition-property: transform, height;
108
+ }
109
+
110
+ .dsx-segmented-control[data-orientation='vertical'] .dsx-segmented-control__indicator::before {
111
+ inset-block: var(--dsx-space-2xs);
112
+ inset-inline: 0;
113
+ }
114
+
60
115
  /* ---- Sliding indicator — Mantine-style measured pill ---- */
61
116
 
62
117
  .dsx-segmented-control__indicator {
@@ -130,7 +185,7 @@
130
185
  }
131
186
 
132
187
  .dsx-segmented-control--sm .dsx-segmented-control__item {
133
- min-height: var(--dsx-size-lg);
188
+ min-height: calc(var(--dsx-density-control-height-sm, var(--dsx-size-lg)) - 2 * var(--dsx-boundary-control-width));
134
189
  padding-inline: var(--dsx-space-sm);
135
190
  font-size: var(--dsx-typography-label-small-font-size);
136
191
  letter-spacing: var(--dsx-typography-label-small-letter-spacing);
@@ -141,7 +196,7 @@
141
196
  }
142
197
 
143
198
  .dsx-segmented-control--md .dsx-segmented-control__item {
144
- min-height: var(--dsx-size-xl);
199
+ min-height: calc(var(--dsx-density-control-height, var(--dsx-size-xl)) - 2 * var(--dsx-boundary-control-width));
145
200
  padding-inline: var(--dsx-space-md);
146
201
  }
147
202
 
@@ -150,7 +205,7 @@
150
205
  }
151
206
 
152
207
  .dsx-segmented-control--lg .dsx-segmented-control__item {
153
- min-height: var(--dsx-size-2xl);
208
+ min-height: calc(var(--dsx-density-control-height-lg, var(--dsx-size-2xl)) - 2 * var(--dsx-boundary-control-width));
154
209
  padding-inline: var(--dsx-space-lg);
155
210
  font-size: var(--dsx-typography-label-large-font-size);
156
211
  letter-spacing: var(--dsx-typography-label-large-letter-spacing);
@@ -209,6 +264,27 @@
209
264
  padding-inline: 0;
210
265
  }
211
266
 
267
+ /* ---- Vertical: icon-only targets also constrain the block axis (inline
268
+ sizing is inherited from the base icon-only rules above) ---- */
269
+
270
+ .dsx-segmented-control--sm[data-orientation='vertical'] .dsx-segmented-control__item:where([data-icon-only]) {
271
+ block-size: var(--dsx-density-control-height-sm, var(--dsx-size-lg));
272
+ min-block-size: var(--dsx-density-control-height-sm, var(--dsx-size-lg));
273
+ padding-block: 0;
274
+ }
275
+
276
+ .dsx-segmented-control--md[data-orientation='vertical'] .dsx-segmented-control__item:where([data-icon-only]) {
277
+ block-size: var(--dsx-density-control-height, var(--dsx-size-xl));
278
+ min-block-size: var(--dsx-density-control-height, var(--dsx-size-xl));
279
+ padding-block: 0;
280
+ }
281
+
282
+ .dsx-segmented-control--lg[data-orientation='vertical'] .dsx-segmented-control__item:where([data-icon-only]) {
283
+ block-size: var(--dsx-density-control-height-lg, var(--dsx-size-2xl));
284
+ min-block-size: var(--dsx-density-control-height-lg, var(--dsx-size-2xl));
285
+ padding-block: 0;
286
+ }
287
+
212
288
  .dsx-segmented-control__item:focus-visible {
213
289
  outline: none;
214
290
  box-shadow: var(--dsx-shadow-focus-ring);
@@ -56,16 +56,16 @@ function composeRefs(...refs) {
56
56
  }
57
57
  const useIsomorphicLayoutEffect = typeof window === "undefined" ? React.useEffect : React.useLayoutEffect;
58
58
  const SegmentedControlSelectionContext = React.createContext(null);
59
- const SegmentedControlRoot = React.forwardRef(({ className, children, disabled = false, size = "md", variant = "default", activationMode = "manual", value, defaultValue, onValueChange, ...props }, forwardedRef) => {
59
+ const SegmentedControlRoot = React.forwardRef(({ className, children, disabled = false, size = "md", variant = "default", orientation = "horizontal", activationMode = "manual", fill = false, value, defaultValue, onValueChange, ...props }, forwardedRef) => {
60
60
  const rootProps = (0, import_extractProps.extractProps)(
61
- { className, disabled, size },
61
+ { className, disabled, orientation, size },
62
62
  import_segmentedControl.segmentedControlPropDefs
63
63
  );
64
64
  const innerRootRef = React.useRef(null);
65
65
  const mergedRef = composeRefs(forwardedRef, innerRootRef);
66
66
  const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue);
67
67
  const resolvedValue = value ?? uncontrolledValue;
68
- const [indicator, setIndicator] = React.useState({ x: 0, width: 0 });
68
+ const [indicator, setIndicator] = React.useState({ x: 0, y: 0, width: 0, height: 0 });
69
69
  const [indicatorLive, setIndicatorLive] = React.useState(false);
70
70
  const measureActive = React.useCallback((root) => {
71
71
  const active = root.querySelector('[data-state="on"]');
@@ -74,7 +74,12 @@ const SegmentedControlRoot = React.forwardRef(({ className, children, disabled =
74
74
  }
75
75
  const rootRect = root.getBoundingClientRect();
76
76
  const activeRect = active.getBoundingClientRect();
77
- setIndicator({ x: activeRect.left - rootRect.left, width: activeRect.width });
77
+ setIndicator({
78
+ x: activeRect.left - rootRect.left - root.clientLeft + root.scrollLeft,
79
+ y: activeRect.top - rootRect.top - root.clientTop + root.scrollTop,
80
+ width: activeRect.width,
81
+ height: activeRect.height
82
+ });
78
83
  }, []);
79
84
  useIsomorphicLayoutEffect(() => {
80
85
  const root = innerRootRef.current;
@@ -123,15 +128,19 @@ const SegmentedControlRoot = React.forwardRef(({ className, children, disabled =
123
128
  "dsx-segmented-control",
124
129
  `dsx-segmented-control--${size}`,
125
130
  `dsx-segmented-control--${variant}`,
131
+ fill && "dsx-segmented-control--fill",
126
132
  className
127
133
  ),
128
134
  type: "single",
129
135
  value: resolvedValue,
130
136
  onValueChange: handleValueChange,
131
137
  disabled,
138
+ orientation,
132
139
  "data-disabled": disabled || void 0,
140
+ "data-fill": fill || void 0,
133
141
  "data-size": size,
134
142
  "data-variant": variant,
143
+ "data-orientation": orientation,
135
144
  "data-activation-mode": activationMode,
136
145
  children: [
137
146
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SegmentedControlSelectionContext.Provider, { value: selection, children }),
@@ -140,7 +149,11 @@ const SegmentedControlRoot = React.forwardRef(({ className, children, disabled =
140
149
  {
141
150
  "aria-hidden": "true",
142
151
  className: "dsx-segmented-control__indicator",
143
- style: {
152
+ style: orientation === "vertical" ? {
153
+ transform: `translateY(${indicator.y}px)`,
154
+ height: indicator.height,
155
+ transition: indicatorLive ? void 0 : "none"
156
+ } : {
144
157
  transform: `translateX(${indicator.x}px)`,
145
158
  width: indicator.width,
146
159
  transition: indicatorLive ? void 0 : "none"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/segmentedControl/SegmentedControl.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { segmentedControlPropDefs } from './segmentedControl.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype SegmentedControlRootOwnProps = GetPropDefTypes<typeof segmentedControlPropDefs> & {\n value?: string\n defaultValue?: string\n onValueChange?(value: string): void\n}\n\ntype SegmentedControlRootProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root>\n & SegmentedControlRootOwnProps\n\ntype SegmentedControlRootElement = React.ComponentRef<typeof ToggleGroupPrimitive.Root>\n\nfunction composeRefs<T>(...refs: Array<React.Ref<T> | undefined>) {\n return (node: T | null) => {\n for (const ref of refs) {\n if (!ref) {\n continue\n }\n\n if (typeof ref === 'function') {\n ref(node)\n continue\n }\n\n ;(ref as { current: T | null }).current = node\n }\n }\n}\n\nconst useIsomorphicLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\ninterface SegmentedControlSelection {\n activationMode: 'manual' | 'automatic'\n disabled: boolean\n selectedValue: string | undefined\n requestSelect(value: string): void\n}\n\nconst SegmentedControlSelectionContext = React.createContext<SegmentedControlSelection | null>(null)\n\nconst SegmentedControlRoot = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive.Root>,\n SegmentedControlRootProps\n>(({ className, children, disabled = false, size = 'md', variant = 'default', activationMode = 'manual', value, defaultValue, onValueChange, ...props }, forwardedRef) => {\n const rootProps = extractProps(\n { className, disabled, size },\n segmentedControlPropDefs,\n )\n const innerRootRef = React.useRef<SegmentedControlRootElement | null>(null)\n const mergedRef = composeRefs(forwardedRef, innerRootRef)\n\n // Deselect guard (disallowEmptySelection): own the selection so the control\n // can never render with no active item. Radix fires \"\" when the active item\n // is clicked; the handler below swallows it and keeps the last value, and\n // the resolved value below keeps Radix controlled so its internal state can\n // never clear either.\n const [uncontrolledValue, setUncontrolledValue] = React.useState<string | undefined>(defaultValue)\n const resolvedValue = value ?? uncontrolledValue\n\n // Sliding indicator: Mantine-style measured pill rendered behind the active\n // item. The offset is a physical-pixel diff (active.left - root.left), which\n // is direction-agnostic and therefore RTL-correct without special-casing.\n // Measuring in layout effect positions the pill before first paint, and the\n // `indicatorLive` gate keeps `transition: none` until that first positioned\n // frame so mount never animates from the origin.\n const [indicator, setIndicator] = React.useState({ x: 0, width: 0 })\n const [indicatorLive, setIndicatorLive] = React.useState(false)\n\n const measureActive = React.useCallback((root: HTMLElement) => {\n const active = root.querySelector<HTMLElement>('[data-state=\"on\"]')\n\n if (!active) {\n return\n }\n\n const rootRect = root.getBoundingClientRect()\n const activeRect = active.getBoundingClientRect()\n setIndicator({ x: activeRect.left - rootRect.left, width: activeRect.width })\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n const root = innerRootRef.current\n\n if (!root) {\n return undefined\n }\n\n const measure = () => measureActive(root)\n\n measure()\n setIndicatorLive(true)\n\n if (typeof ResizeObserver === 'undefined') {\n return undefined\n }\n\n const observer = new ResizeObserver(measure)\n observer.observe(root)\n\n const active = root.querySelector('[data-state=\"on\"]')\n\n if (active) {\n observer.observe(active)\n }\n\n return () => observer.disconnect()\n }, [resolvedValue, measureActive])\n\n const handleValueChange = (nextValue: string) => {\n if (!nextValue) {\n return\n }\n\n if (value === undefined) {\n setUncontrolledValue(nextValue)\n }\n\n onValueChange?.(nextValue)\n }\n\n // Automatic activation: selection follows focus, so arrow-key navigation\n // selects without Enter. The focused value goes through the same guarded\n // setter, so focus can never empty the selection; landing on the\n // already-selected item is a no-op. Manual mode (default) ignores focus\n // and only selects on activation \u2014 use it when onValueChange drives side\n // effects that must not fire on focus. Each item reads this context in its\n // own onFocus (Radix strips the value prop from the DOM, so the root\n // cannot recover the focused value from the event target).\n const selection = React.useMemo<SegmentedControlSelection>(\n () => ({\n activationMode,\n disabled,\n selectedValue: resolvedValue,\n requestSelect: handleValueChange,\n }),\n [activationMode, disabled, resolvedValue, handleValueChange],\n )\n\n return (\n <ToggleGroupPrimitive.Root\n {...props}\n {...rootProps}\n ref={mergedRef}\n className={classNames(\n 'dsx-segmented-control',\n `dsx-segmented-control--${size}`,\n `dsx-segmented-control--${variant}`,\n className,\n )}\n type=\"single\"\n value={resolvedValue}\n onValueChange={handleValueChange}\n disabled={disabled}\n data-disabled={disabled || undefined}\n data-size={size}\n data-variant={variant}\n data-activation-mode={activationMode}\n >\n <SegmentedControlSelectionContext.Provider value={selection}>\n {children}\n </SegmentedControlSelectionContext.Provider>\n <span\n aria-hidden=\"true\"\n className=\"dsx-segmented-control__indicator\"\n style={{\n transform: `translateX(${indicator.x}px)`,\n width: indicator.width,\n transition: indicatorLive ? undefined : 'none',\n }}\n />\n </ToggleGroupPrimitive.Root>\n )\n})\nSegmentedControlRoot.displayName = 'SegmentedControl'\n\ninterface SegmentedControlItemProps\n extends React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> {\n iconOnly?: boolean\n value: string\n}\n\nconst SegmentedControlItem = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive.Item>,\n SegmentedControlItemProps\n>(({ children, className, disabled, iconOnly = false, value, onFocus, ...props }, forwardedRef) => {\n const selection = React.useContext(SegmentedControlSelectionContext)\n\n const handleItemFocus: React.FocusEventHandler<React.ComponentRef<typeof ToggleGroupPrimitive.Item>> = (event) => {\n onFocus?.(event)\n\n if (!selection || selection.activationMode !== 'automatic') {\n return\n }\n\n if (selection.disabled || disabled || value === selection.selectedValue) {\n return\n }\n\n selection.requestSelect(value)\n }\n\n return (\n <ToggleGroupPrimitive.Item\n {...props}\n ref={forwardedRef}\n value={value}\n className={classNames('dsx-segmented-control__item', className)}\n disabled={disabled}\n data-disabled={disabled || undefined}\n data-icon-only={iconOnly || undefined}\n onFocus={handleItemFocus}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n})\nSegmentedControlItem.displayName = 'SegmentedControlItem'\n\nconst SegmentedControl: typeof SegmentedControlRoot & {\n Item: typeof SegmentedControlItem\n} = Object.assign(SegmentedControlRoot, {\n Item: SegmentedControlItem,\n})\n\nexport { SegmentedControl, SegmentedControlItem, SegmentedControlRoot }\nexport type { SegmentedControlItemProps, SegmentedControlRootProps }\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { segmentedControlPropDefs } from './segmentedControl.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype SegmentedControlRootOwnProps = GetPropDefTypes<typeof segmentedControlPropDefs> & {\n value?: string\n defaultValue?: string\n onValueChange?(value: string): void\n}\n\ntype SegmentedControlRootProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root>\n & SegmentedControlRootOwnProps\n\ntype SegmentedControlRootElement = React.ComponentRef<typeof ToggleGroupPrimitive.Root>\n\nfunction composeRefs<T>(...refs: Array<React.Ref<T> | undefined>) {\n return (node: T | null) => {\n for (const ref of refs) {\n if (!ref) {\n continue\n }\n\n if (typeof ref === 'function') {\n ref(node)\n continue\n }\n\n ;(ref as { current: T | null }).current = node\n }\n }\n}\n\nconst useIsomorphicLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\ninterface SegmentedControlSelection {\n activationMode: 'manual' | 'automatic'\n disabled: boolean\n selectedValue: string | undefined\n requestSelect(value: string): void\n}\n\nconst SegmentedControlSelectionContext = React.createContext<SegmentedControlSelection | null>(null)\n\nconst SegmentedControlRoot = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive.Root>,\n SegmentedControlRootProps\n>(({ className, children, disabled = false, size = 'md', variant = 'default', orientation = 'horizontal', activationMode = 'manual', fill = false, value, defaultValue, onValueChange, ...props }, forwardedRef) => {\n const rootProps = extractProps(\n { className, disabled, orientation, size },\n segmentedControlPropDefs,\n )\n const innerRootRef = React.useRef<SegmentedControlRootElement | null>(null)\n const mergedRef = composeRefs(forwardedRef, innerRootRef)\n\n // Deselect guard (disallowEmptySelection): own the selection so the control\n // can never render with no active item. Radix fires \"\" when the active item\n // is clicked; the handler below swallows it and keeps the last value, and\n // the resolved value below keeps Radix controlled so its internal state can\n // never clear either.\n const [uncontrolledValue, setUncontrolledValue] = React.useState<string | undefined>(defaultValue)\n const resolvedValue = value ?? uncontrolledValue\n\n // Sliding indicator: Mantine-style measured pill rendered behind the active\n // item. The offset is a physical-pixel diff (active.left - root.left), which\n // is direction-agnostic and therefore RTL-correct without special-casing.\n // Measuring in layout effect positions the pill before first paint, and the\n // `indicatorLive` gate keeps `transition: none` until that first positioned\n // frame so mount never animates from the origin.\n const [indicator, setIndicator] = React.useState({ x: 0, y: 0, width: 0, height: 0 })\n const [indicatorLive, setIndicatorLive] = React.useState(false)\n\n const measureActive = React.useCallback((root: HTMLElement) => {\n const active = root.querySelector<HTMLElement>('[data-state=\"on\"]')\n\n if (!active) {\n return\n }\n\n const rootRect = root.getBoundingClientRect()\n const activeRect = active.getBoundingClientRect()\n // Border-box diffs are padding-box positioned: subtract the frame so the\n // wrapper never overshoots the content box (1-2px overflow summoned a\n // horizontal scrollbar on bordered variants). Add scroll offsets to convert\n // viewport coordinates into the indicator's content coordinates; otherwise\n // a scrolled selection paints behind the preceding item.\n setIndicator({\n x: activeRect.left - rootRect.left - root.clientLeft + root.scrollLeft,\n y: activeRect.top - rootRect.top - root.clientTop + root.scrollTop,\n width: activeRect.width,\n height: activeRect.height,\n })\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n const root = innerRootRef.current\n\n if (!root) {\n return undefined\n }\n\n const measure = () => measureActive(root)\n\n measure()\n setIndicatorLive(true)\n\n if (typeof ResizeObserver === 'undefined') {\n return undefined\n }\n\n const observer = new ResizeObserver(measure)\n observer.observe(root)\n\n const active = root.querySelector('[data-state=\"on\"]')\n\n if (active) {\n observer.observe(active)\n }\n\n return () => observer.disconnect()\n }, [resolvedValue, measureActive])\n\n const handleValueChange = (nextValue: string) => {\n if (!nextValue) {\n return\n }\n\n if (value === undefined) {\n setUncontrolledValue(nextValue)\n }\n\n onValueChange?.(nextValue)\n }\n\n // Automatic activation: selection follows focus, so arrow-key navigation\n // selects without Enter. The focused value goes through the same guarded\n // setter, so focus can never empty the selection; landing on the\n // already-selected item is a no-op. Manual mode (default) ignores focus\n // and only selects on activation \u2014 use it when onValueChange drives side\n // effects that must not fire on focus. Each item reads this context in its\n // own onFocus (Radix strips the value prop from the DOM, so the root\n // cannot recover the focused value from the event target).\n const selection = React.useMemo<SegmentedControlSelection>(\n () => ({\n activationMode,\n disabled,\n selectedValue: resolvedValue,\n requestSelect: handleValueChange,\n }),\n [activationMode, disabled, resolvedValue, handleValueChange],\n )\n\n return (\n <ToggleGroupPrimitive.Root\n {...props}\n {...rootProps}\n ref={mergedRef}\n className={classNames(\n 'dsx-segmented-control',\n `dsx-segmented-control--${size}`,\n `dsx-segmented-control--${variant}`,\n fill && 'dsx-segmented-control--fill',\n className,\n )}\n type=\"single\"\n value={resolvedValue}\n onValueChange={handleValueChange}\n disabled={disabled}\n orientation={orientation}\n data-disabled={disabled || undefined}\n data-fill={fill || undefined}\n data-size={size}\n data-variant={variant}\n data-orientation={orientation}\n data-activation-mode={activationMode}\n >\n <SegmentedControlSelectionContext.Provider value={selection}>\n {children}\n </SegmentedControlSelectionContext.Provider>\n <span\n aria-hidden=\"true\"\n className=\"dsx-segmented-control__indicator\"\n style={\n orientation === 'vertical'\n ? {\n transform: `translateY(${indicator.y}px)`,\n height: indicator.height,\n transition: indicatorLive ? undefined : 'none',\n }\n : {\n transform: `translateX(${indicator.x}px)`,\n width: indicator.width,\n transition: indicatorLive ? undefined : 'none',\n }\n }\n />\n </ToggleGroupPrimitive.Root>\n )\n})\nSegmentedControlRoot.displayName = 'SegmentedControl'\n\ninterface SegmentedControlItemProps\n extends React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> {\n iconOnly?: boolean\n value: string\n}\n\nconst SegmentedControlItem = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive.Item>,\n SegmentedControlItemProps\n>(({ children, className, disabled, iconOnly = false, value, onFocus, ...props }, forwardedRef) => {\n const selection = React.useContext(SegmentedControlSelectionContext)\n\n const handleItemFocus: React.FocusEventHandler<React.ComponentRef<typeof ToggleGroupPrimitive.Item>> = (event) => {\n onFocus?.(event)\n\n if (!selection || selection.activationMode !== 'automatic') {\n return\n }\n\n if (selection.disabled || disabled || value === selection.selectedValue) {\n return\n }\n\n selection.requestSelect(value)\n }\n\n return (\n <ToggleGroupPrimitive.Item\n {...props}\n ref={forwardedRef}\n value={value}\n className={classNames('dsx-segmented-control__item', className)}\n disabled={disabled}\n data-disabled={disabled || undefined}\n data-icon-only={iconOnly || undefined}\n onFocus={handleItemFocus}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n})\nSegmentedControlItem.displayName = 'SegmentedControlItem'\n\nconst SegmentedControl: typeof SegmentedControlRoot & {\n Item: typeof SegmentedControlItem\n} = Object.assign(SegmentedControlRoot, {\n Item: SegmentedControlItem,\n})\n\nexport { SegmentedControl, SegmentedControlItem, SegmentedControlRoot }\nexport type { SegmentedControlItemProps, SegmentedControlRootProps }\n"],
5
+ "mappings": "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",
6
6
  "names": ["classNames"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.d.cts","sourceRoot":"","sources":["../../../src/components/segmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAGpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,GAAG;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC,CAAA;AAED,KAAK,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAC7F,4BAA4B,CAAA;AAgChC,QAAA,MAAM,oBAAoB,kGAoIxB,CAAA;AAGF,UAAU,yBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,QAAA,MAAM,oBAAoB,qGAkCxB,CAAA;AAGF,QAAA,MAAM,gBAAgB,EAAE,OAAO,oBAAoB,GAAG;IACpD,IAAI,EAAE,OAAO,oBAAoB,CAAA;CAGjC,CAAA;AAEF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAA;AACvE,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAA"}
1
+ {"version":3,"file":"SegmentedControl.d.cts","sourceRoot":"","sources":["../../../src/components/segmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAGpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,GAAG;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC,CAAA;AAED,KAAK,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAC7F,4BAA4B,CAAA;AAgChC,QAAA,MAAM,oBAAoB,kGA0JxB,CAAA;AAGF,UAAU,yBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,QAAA,MAAM,oBAAoB,qGAkCxB,CAAA;AAGF,QAAA,MAAM,gBAAgB,EAAE,OAAO,oBAAoB,GAAG;IACpD,IAAI,EAAE,OAAO,oBAAoB,CAAA;CAGjC,CAAA;AAEF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAA;AACvE,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.d.mts","sourceRoot":"","sources":["../../../src/components/segmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAGpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,GAAG;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC,CAAA;AAED,KAAK,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAC7F,4BAA4B,CAAA;AAgChC,QAAA,MAAM,oBAAoB,kGAoIxB,CAAA;AAGF,UAAU,yBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,QAAA,MAAM,oBAAoB,qGAkCxB,CAAA;AAGF,QAAA,MAAM,gBAAgB,EAAE,OAAO,oBAAoB,GAAG;IACpD,IAAI,EAAE,OAAO,oBAAoB,CAAA;CAGjC,CAAA;AAEF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAA;AACvE,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAA"}
1
+ {"version":3,"file":"SegmentedControl.d.mts","sourceRoot":"","sources":["../../../src/components/segmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAGpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,GAAG;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC,CAAA;AAED,KAAK,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAC7F,4BAA4B,CAAA;AAgChC,QAAA,MAAM,oBAAoB,kGA0JxB,CAAA;AAGF,UAAU,yBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,QAAA,MAAM,oBAAoB,qGAkCxB,CAAA;AAGF,QAAA,MAAM,gBAAgB,EAAE,OAAO,oBAAoB,GAAG;IACpD,IAAI,EAAE,OAAO,oBAAoB,CAAA;CAGjC,CAAA;AAEF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAA;AACvE,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/components/segmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAGpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,GAAG;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC,CAAA;AAED,KAAK,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAC7F,4BAA4B,CAAA;AAgChC,QAAA,MAAM,oBAAoB,kGAoIxB,CAAA;AAGF,UAAU,yBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,QAAA,MAAM,oBAAoB,qGAkCxB,CAAA;AAGF,QAAA,MAAM,gBAAgB,EAAE,OAAO,oBAAoB,GAAG;IACpD,IAAI,EAAE,OAAO,oBAAoB,CAAA;CAGjC,CAAA;AAEF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAA;AACvE,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAA"}
1
+ {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/components/segmentedControl/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAGpE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAA;AAEnE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE,KAAK,4BAA4B,GAAG,eAAe,CAAC,OAAO,wBAAwB,CAAC,GAAG;IACrF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACpC,CAAA;AAED,KAAK,yBAAyB,GAAG,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC,GAC7F,4BAA4B,CAAA;AAgChC,QAAA,MAAM,oBAAoB,kGA0JxB,CAAA;AAGF,UAAU,yBACR,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,IAAI,CAAC;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,QAAA,MAAM,oBAAoB,qGAkCxB,CAAA;AAGF,QAAA,MAAM,gBAAgB,EAAE,OAAO,oBAAoB,GAAG;IACpD,IAAI,EAAE,OAAO,oBAAoB,CAAA;CAGjC,CAAA;AAEF,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,CAAA;AACvE,YAAY,EAAE,yBAAyB,EAAE,yBAAyB,EAAE,CAAA"}
@@ -21,16 +21,16 @@ function composeRefs(...refs) {
21
21
  }
22
22
  const useIsomorphicLayoutEffect = typeof window === "undefined" ? React.useEffect : React.useLayoutEffect;
23
23
  const SegmentedControlSelectionContext = React.createContext(null);
24
- const SegmentedControlRoot = React.forwardRef(({ className, children, disabled = false, size = "md", variant = "default", activationMode = "manual", value, defaultValue, onValueChange, ...props }, forwardedRef) => {
24
+ const SegmentedControlRoot = React.forwardRef(({ className, children, disabled = false, size = "md", variant = "default", orientation = "horizontal", activationMode = "manual", fill = false, value, defaultValue, onValueChange, ...props }, forwardedRef) => {
25
25
  const rootProps = extractProps(
26
- { className, disabled, size },
26
+ { className, disabled, orientation, size },
27
27
  segmentedControlPropDefs
28
28
  );
29
29
  const innerRootRef = React.useRef(null);
30
30
  const mergedRef = composeRefs(forwardedRef, innerRootRef);
31
31
  const [uncontrolledValue, setUncontrolledValue] = React.useState(defaultValue);
32
32
  const resolvedValue = value ?? uncontrolledValue;
33
- const [indicator, setIndicator] = React.useState({ x: 0, width: 0 });
33
+ const [indicator, setIndicator] = React.useState({ x: 0, y: 0, width: 0, height: 0 });
34
34
  const [indicatorLive, setIndicatorLive] = React.useState(false);
35
35
  const measureActive = React.useCallback((root) => {
36
36
  const active = root.querySelector('[data-state="on"]');
@@ -39,7 +39,12 @@ const SegmentedControlRoot = React.forwardRef(({ className, children, disabled =
39
39
  }
40
40
  const rootRect = root.getBoundingClientRect();
41
41
  const activeRect = active.getBoundingClientRect();
42
- setIndicator({ x: activeRect.left - rootRect.left, width: activeRect.width });
42
+ setIndicator({
43
+ x: activeRect.left - rootRect.left - root.clientLeft + root.scrollLeft,
44
+ y: activeRect.top - rootRect.top - root.clientTop + root.scrollTop,
45
+ width: activeRect.width,
46
+ height: activeRect.height
47
+ });
43
48
  }, []);
44
49
  useIsomorphicLayoutEffect(() => {
45
50
  const root = innerRootRef.current;
@@ -88,15 +93,19 @@ const SegmentedControlRoot = React.forwardRef(({ className, children, disabled =
88
93
  "dsx-segmented-control",
89
94
  `dsx-segmented-control--${size}`,
90
95
  `dsx-segmented-control--${variant}`,
96
+ fill && "dsx-segmented-control--fill",
91
97
  className
92
98
  ),
93
99
  type: "single",
94
100
  value: resolvedValue,
95
101
  onValueChange: handleValueChange,
96
102
  disabled,
103
+ orientation,
97
104
  "data-disabled": disabled || void 0,
105
+ "data-fill": fill || void 0,
98
106
  "data-size": size,
99
107
  "data-variant": variant,
108
+ "data-orientation": orientation,
100
109
  "data-activation-mode": activationMode,
101
110
  children: [
102
111
  /* @__PURE__ */ jsx(SegmentedControlSelectionContext.Provider, { value: selection, children }),
@@ -105,7 +114,11 @@ const SegmentedControlRoot = React.forwardRef(({ className, children, disabled =
105
114
  {
106
115
  "aria-hidden": "true",
107
116
  className: "dsx-segmented-control__indicator",
108
- style: {
117
+ style: orientation === "vertical" ? {
118
+ transform: `translateY(${indicator.y}px)`,
119
+ height: indicator.height,
120
+ transition: indicatorLive ? void 0 : "none"
121
+ } : {
109
122
  transform: `translateX(${indicator.x}px)`,
110
123
  width: indicator.width,
111
124
  transition: indicatorLive ? void 0 : "none"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/segmentedControl/SegmentedControl.tsx"],
4
- "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { segmentedControlPropDefs } from './segmentedControl.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype SegmentedControlRootOwnProps = GetPropDefTypes<typeof segmentedControlPropDefs> & {\n value?: string\n defaultValue?: string\n onValueChange?(value: string): void\n}\n\ntype SegmentedControlRootProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root>\n & SegmentedControlRootOwnProps\n\ntype SegmentedControlRootElement = React.ComponentRef<typeof ToggleGroupPrimitive.Root>\n\nfunction composeRefs<T>(...refs: Array<React.Ref<T> | undefined>) {\n return (node: T | null) => {\n for (const ref of refs) {\n if (!ref) {\n continue\n }\n\n if (typeof ref === 'function') {\n ref(node)\n continue\n }\n\n ;(ref as { current: T | null }).current = node\n }\n }\n}\n\nconst useIsomorphicLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\ninterface SegmentedControlSelection {\n activationMode: 'manual' | 'automatic'\n disabled: boolean\n selectedValue: string | undefined\n requestSelect(value: string): void\n}\n\nconst SegmentedControlSelectionContext = React.createContext<SegmentedControlSelection | null>(null)\n\nconst SegmentedControlRoot = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive.Root>,\n SegmentedControlRootProps\n>(({ className, children, disabled = false, size = 'md', variant = 'default', activationMode = 'manual', value, defaultValue, onValueChange, ...props }, forwardedRef) => {\n const rootProps = extractProps(\n { className, disabled, size },\n segmentedControlPropDefs,\n )\n const innerRootRef = React.useRef<SegmentedControlRootElement | null>(null)\n const mergedRef = composeRefs(forwardedRef, innerRootRef)\n\n // Deselect guard (disallowEmptySelection): own the selection so the control\n // can never render with no active item. Radix fires \"\" when the active item\n // is clicked; the handler below swallows it and keeps the last value, and\n // the resolved value below keeps Radix controlled so its internal state can\n // never clear either.\n const [uncontrolledValue, setUncontrolledValue] = React.useState<string | undefined>(defaultValue)\n const resolvedValue = value ?? uncontrolledValue\n\n // Sliding indicator: Mantine-style measured pill rendered behind the active\n // item. The offset is a physical-pixel diff (active.left - root.left), which\n // is direction-agnostic and therefore RTL-correct without special-casing.\n // Measuring in layout effect positions the pill before first paint, and the\n // `indicatorLive` gate keeps `transition: none` until that first positioned\n // frame so mount never animates from the origin.\n const [indicator, setIndicator] = React.useState({ x: 0, width: 0 })\n const [indicatorLive, setIndicatorLive] = React.useState(false)\n\n const measureActive = React.useCallback((root: HTMLElement) => {\n const active = root.querySelector<HTMLElement>('[data-state=\"on\"]')\n\n if (!active) {\n return\n }\n\n const rootRect = root.getBoundingClientRect()\n const activeRect = active.getBoundingClientRect()\n setIndicator({ x: activeRect.left - rootRect.left, width: activeRect.width })\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n const root = innerRootRef.current\n\n if (!root) {\n return undefined\n }\n\n const measure = () => measureActive(root)\n\n measure()\n setIndicatorLive(true)\n\n if (typeof ResizeObserver === 'undefined') {\n return undefined\n }\n\n const observer = new ResizeObserver(measure)\n observer.observe(root)\n\n const active = root.querySelector('[data-state=\"on\"]')\n\n if (active) {\n observer.observe(active)\n }\n\n return () => observer.disconnect()\n }, [resolvedValue, measureActive])\n\n const handleValueChange = (nextValue: string) => {\n if (!nextValue) {\n return\n }\n\n if (value === undefined) {\n setUncontrolledValue(nextValue)\n }\n\n onValueChange?.(nextValue)\n }\n\n // Automatic activation: selection follows focus, so arrow-key navigation\n // selects without Enter. The focused value goes through the same guarded\n // setter, so focus can never empty the selection; landing on the\n // already-selected item is a no-op. Manual mode (default) ignores focus\n // and only selects on activation \u2014 use it when onValueChange drives side\n // effects that must not fire on focus. Each item reads this context in its\n // own onFocus (Radix strips the value prop from the DOM, so the root\n // cannot recover the focused value from the event target).\n const selection = React.useMemo<SegmentedControlSelection>(\n () => ({\n activationMode,\n disabled,\n selectedValue: resolvedValue,\n requestSelect: handleValueChange,\n }),\n [activationMode, disabled, resolvedValue, handleValueChange],\n )\n\n return (\n <ToggleGroupPrimitive.Root\n {...props}\n {...rootProps}\n ref={mergedRef}\n className={classNames(\n 'dsx-segmented-control',\n `dsx-segmented-control--${size}`,\n `dsx-segmented-control--${variant}`,\n className,\n )}\n type=\"single\"\n value={resolvedValue}\n onValueChange={handleValueChange}\n disabled={disabled}\n data-disabled={disabled || undefined}\n data-size={size}\n data-variant={variant}\n data-activation-mode={activationMode}\n >\n <SegmentedControlSelectionContext.Provider value={selection}>\n {children}\n </SegmentedControlSelectionContext.Provider>\n <span\n aria-hidden=\"true\"\n className=\"dsx-segmented-control__indicator\"\n style={{\n transform: `translateX(${indicator.x}px)`,\n width: indicator.width,\n transition: indicatorLive ? undefined : 'none',\n }}\n />\n </ToggleGroupPrimitive.Root>\n )\n})\nSegmentedControlRoot.displayName = 'SegmentedControl'\n\ninterface SegmentedControlItemProps\n extends React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> {\n iconOnly?: boolean\n value: string\n}\n\nconst SegmentedControlItem = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive.Item>,\n SegmentedControlItemProps\n>(({ children, className, disabled, iconOnly = false, value, onFocus, ...props }, forwardedRef) => {\n const selection = React.useContext(SegmentedControlSelectionContext)\n\n const handleItemFocus: React.FocusEventHandler<React.ComponentRef<typeof ToggleGroupPrimitive.Item>> = (event) => {\n onFocus?.(event)\n\n if (!selection || selection.activationMode !== 'automatic') {\n return\n }\n\n if (selection.disabled || disabled || value === selection.selectedValue) {\n return\n }\n\n selection.requestSelect(value)\n }\n\n return (\n <ToggleGroupPrimitive.Item\n {...props}\n ref={forwardedRef}\n value={value}\n className={classNames('dsx-segmented-control__item', className)}\n disabled={disabled}\n data-disabled={disabled || undefined}\n data-icon-only={iconOnly || undefined}\n onFocus={handleItemFocus}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n})\nSegmentedControlItem.displayName = 'SegmentedControlItem'\n\nconst SegmentedControl: typeof SegmentedControlRoot & {\n Item: typeof SegmentedControlItem\n} = Object.assign(SegmentedControlRoot, {\n Item: SegmentedControlItem,\n})\n\nexport { SegmentedControl, SegmentedControlItem, SegmentedControlRoot }\nexport type { SegmentedControlItemProps, SegmentedControlRootProps }\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react'\nimport classNames from 'classnames'\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'\n\nimport { extractProps } from '../../_internal/helpers/extractProps'\nimport { segmentedControlPropDefs } from './segmentedControl.props'\n\nimport type { GetPropDefTypes } from '../../_internal/props/propDef'\n\ntype SegmentedControlRootOwnProps = GetPropDefTypes<typeof segmentedControlPropDefs> & {\n value?: string\n defaultValue?: string\n onValueChange?(value: string): void\n}\n\ntype SegmentedControlRootProps = React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root>\n & SegmentedControlRootOwnProps\n\ntype SegmentedControlRootElement = React.ComponentRef<typeof ToggleGroupPrimitive.Root>\n\nfunction composeRefs<T>(...refs: Array<React.Ref<T> | undefined>) {\n return (node: T | null) => {\n for (const ref of refs) {\n if (!ref) {\n continue\n }\n\n if (typeof ref === 'function') {\n ref(node)\n continue\n }\n\n ;(ref as { current: T | null }).current = node\n }\n }\n}\n\nconst useIsomorphicLayoutEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect\n\ninterface SegmentedControlSelection {\n activationMode: 'manual' | 'automatic'\n disabled: boolean\n selectedValue: string | undefined\n requestSelect(value: string): void\n}\n\nconst SegmentedControlSelectionContext = React.createContext<SegmentedControlSelection | null>(null)\n\nconst SegmentedControlRoot = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive.Root>,\n SegmentedControlRootProps\n>(({ className, children, disabled = false, size = 'md', variant = 'default', orientation = 'horizontal', activationMode = 'manual', fill = false, value, defaultValue, onValueChange, ...props }, forwardedRef) => {\n const rootProps = extractProps(\n { className, disabled, orientation, size },\n segmentedControlPropDefs,\n )\n const innerRootRef = React.useRef<SegmentedControlRootElement | null>(null)\n const mergedRef = composeRefs(forwardedRef, innerRootRef)\n\n // Deselect guard (disallowEmptySelection): own the selection so the control\n // can never render with no active item. Radix fires \"\" when the active item\n // is clicked; the handler below swallows it and keeps the last value, and\n // the resolved value below keeps Radix controlled so its internal state can\n // never clear either.\n const [uncontrolledValue, setUncontrolledValue] = React.useState<string | undefined>(defaultValue)\n const resolvedValue = value ?? uncontrolledValue\n\n // Sliding indicator: Mantine-style measured pill rendered behind the active\n // item. The offset is a physical-pixel diff (active.left - root.left), which\n // is direction-agnostic and therefore RTL-correct without special-casing.\n // Measuring in layout effect positions the pill before first paint, and the\n // `indicatorLive` gate keeps `transition: none` until that first positioned\n // frame so mount never animates from the origin.\n const [indicator, setIndicator] = React.useState({ x: 0, y: 0, width: 0, height: 0 })\n const [indicatorLive, setIndicatorLive] = React.useState(false)\n\n const measureActive = React.useCallback((root: HTMLElement) => {\n const active = root.querySelector<HTMLElement>('[data-state=\"on\"]')\n\n if (!active) {\n return\n }\n\n const rootRect = root.getBoundingClientRect()\n const activeRect = active.getBoundingClientRect()\n // Border-box diffs are padding-box positioned: subtract the frame so the\n // wrapper never overshoots the content box (1-2px overflow summoned a\n // horizontal scrollbar on bordered variants). Add scroll offsets to convert\n // viewport coordinates into the indicator's content coordinates; otherwise\n // a scrolled selection paints behind the preceding item.\n setIndicator({\n x: activeRect.left - rootRect.left - root.clientLeft + root.scrollLeft,\n y: activeRect.top - rootRect.top - root.clientTop + root.scrollTop,\n width: activeRect.width,\n height: activeRect.height,\n })\n }, [])\n\n useIsomorphicLayoutEffect(() => {\n const root = innerRootRef.current\n\n if (!root) {\n return undefined\n }\n\n const measure = () => measureActive(root)\n\n measure()\n setIndicatorLive(true)\n\n if (typeof ResizeObserver === 'undefined') {\n return undefined\n }\n\n const observer = new ResizeObserver(measure)\n observer.observe(root)\n\n const active = root.querySelector('[data-state=\"on\"]')\n\n if (active) {\n observer.observe(active)\n }\n\n return () => observer.disconnect()\n }, [resolvedValue, measureActive])\n\n const handleValueChange = (nextValue: string) => {\n if (!nextValue) {\n return\n }\n\n if (value === undefined) {\n setUncontrolledValue(nextValue)\n }\n\n onValueChange?.(nextValue)\n }\n\n // Automatic activation: selection follows focus, so arrow-key navigation\n // selects without Enter. The focused value goes through the same guarded\n // setter, so focus can never empty the selection; landing on the\n // already-selected item is a no-op. Manual mode (default) ignores focus\n // and only selects on activation \u2014 use it when onValueChange drives side\n // effects that must not fire on focus. Each item reads this context in its\n // own onFocus (Radix strips the value prop from the DOM, so the root\n // cannot recover the focused value from the event target).\n const selection = React.useMemo<SegmentedControlSelection>(\n () => ({\n activationMode,\n disabled,\n selectedValue: resolvedValue,\n requestSelect: handleValueChange,\n }),\n [activationMode, disabled, resolvedValue, handleValueChange],\n )\n\n return (\n <ToggleGroupPrimitive.Root\n {...props}\n {...rootProps}\n ref={mergedRef}\n className={classNames(\n 'dsx-segmented-control',\n `dsx-segmented-control--${size}`,\n `dsx-segmented-control--${variant}`,\n fill && 'dsx-segmented-control--fill',\n className,\n )}\n type=\"single\"\n value={resolvedValue}\n onValueChange={handleValueChange}\n disabled={disabled}\n orientation={orientation}\n data-disabled={disabled || undefined}\n data-fill={fill || undefined}\n data-size={size}\n data-variant={variant}\n data-orientation={orientation}\n data-activation-mode={activationMode}\n >\n <SegmentedControlSelectionContext.Provider value={selection}>\n {children}\n </SegmentedControlSelectionContext.Provider>\n <span\n aria-hidden=\"true\"\n className=\"dsx-segmented-control__indicator\"\n style={\n orientation === 'vertical'\n ? {\n transform: `translateY(${indicator.y}px)`,\n height: indicator.height,\n transition: indicatorLive ? undefined : 'none',\n }\n : {\n transform: `translateX(${indicator.x}px)`,\n width: indicator.width,\n transition: indicatorLive ? undefined : 'none',\n }\n }\n />\n </ToggleGroupPrimitive.Root>\n )\n})\nSegmentedControlRoot.displayName = 'SegmentedControl'\n\ninterface SegmentedControlItemProps\n extends React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> {\n iconOnly?: boolean\n value: string\n}\n\nconst SegmentedControlItem = React.forwardRef<\n React.ComponentRef<typeof ToggleGroupPrimitive.Item>,\n SegmentedControlItemProps\n>(({ children, className, disabled, iconOnly = false, value, onFocus, ...props }, forwardedRef) => {\n const selection = React.useContext(SegmentedControlSelectionContext)\n\n const handleItemFocus: React.FocusEventHandler<React.ComponentRef<typeof ToggleGroupPrimitive.Item>> = (event) => {\n onFocus?.(event)\n\n if (!selection || selection.activationMode !== 'automatic') {\n return\n }\n\n if (selection.disabled || disabled || value === selection.selectedValue) {\n return\n }\n\n selection.requestSelect(value)\n }\n\n return (\n <ToggleGroupPrimitive.Item\n {...props}\n ref={forwardedRef}\n value={value}\n className={classNames('dsx-segmented-control__item', className)}\n disabled={disabled}\n data-disabled={disabled || undefined}\n data-icon-only={iconOnly || undefined}\n onFocus={handleItemFocus}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n})\nSegmentedControlItem.displayName = 'SegmentedControlItem'\n\nconst SegmentedControl: typeof SegmentedControlRoot & {\n Item: typeof SegmentedControlItem\n} = Object.assign(SegmentedControlRoot, {\n Item: SegmentedControlItem,\n})\n\nexport { SegmentedControl, SegmentedControlItem, SegmentedControlRoot }\nexport type { SegmentedControlItemProps, SegmentedControlRootProps }\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -24,6 +24,7 @@ module.exports = __toCommonJS(segmentedControl_props_exports);
24
24
  const segmentedControlSizes = ["sm", "md", "lg"];
25
25
  const segmentedControlVariants = ["default", "outline", "subtle"];
26
26
  const segmentedControlActivationModes = ["manual", "automatic"];
27
+ const segmentedControlOrientations = ["horizontal", "vertical"];
27
28
  const segmentedControlPropDefs = {
28
29
  size: {
29
30
  type: "enum",
@@ -35,6 +36,11 @@ const segmentedControlPropDefs = {
35
36
  values: segmentedControlVariants,
36
37
  default: "default"
37
38
  },
39
+ orientation: {
40
+ type: "enum",
41
+ values: segmentedControlOrientations,
42
+ default: "horizontal"
43
+ },
38
44
  activationMode: {
39
45
  type: "enum",
40
46
  values: segmentedControlActivationModes,
@@ -43,6 +49,10 @@ const segmentedControlPropDefs = {
43
49
  disabled: {
44
50
  type: "boolean",
45
51
  default: false
52
+ },
53
+ fill: {
54
+ type: "boolean",
55
+ default: false
46
56
  }
47
57
  };
48
58
  //# sourceMappingURL=segmentedControl.props.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/segmentedControl/segmentedControl.props.ts"],
4
- "sourcesContent": ["import type { PropDef } from '../../_internal/props/propDef'\n\nconst segmentedControlSizes = ['sm', 'md', 'lg'] as const\nconst segmentedControlVariants = ['default', 'outline', 'subtle'] as const\nconst segmentedControlActivationModes = ['manual', 'automatic'] as const\n\nconst segmentedControlPropDefs = {\n size: {\n type: 'enum',\n values: segmentedControlSizes,\n default: 'md',\n },\n variant: {\n type: 'enum',\n values: segmentedControlVariants,\n default: 'default',\n },\n activationMode: {\n type: 'enum',\n values: segmentedControlActivationModes,\n default: 'manual',\n },\n disabled: {\n type: 'boolean',\n default: false,\n },\n} satisfies {\n activationMode: PropDef<(typeof segmentedControlActivationModes)[number]>\n disabled: PropDef\n size: PropDef<(typeof segmentedControlSizes)[number]>\n variant: PropDef<(typeof segmentedControlVariants)[number]>\n}\n\nexport { segmentedControlPropDefs }\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,wBAAwB,CAAC,MAAM,MAAM,IAAI;AAC/C,MAAM,2BAA2B,CAAC,WAAW,WAAW,QAAQ;AAChE,MAAM,kCAAkC,CAAC,UAAU,WAAW;AAE9D,MAAM,2BAA2B;AAAA,EAC/B,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF;",
4
+ "sourcesContent": ["import type { PropDef } from '../../_internal/props/propDef'\n\nconst segmentedControlSizes = ['sm', 'md', 'lg'] as const\nconst segmentedControlVariants = ['default', 'outline', 'subtle'] as const\nconst segmentedControlActivationModes = ['manual', 'automatic'] as const\nconst segmentedControlOrientations = ['horizontal', 'vertical'] as const\n\nconst segmentedControlPropDefs = {\n size: {\n type: 'enum',\n values: segmentedControlSizes,\n default: 'md',\n },\n variant: {\n type: 'enum',\n values: segmentedControlVariants,\n default: 'default',\n },\n orientation: {\n type: 'enum',\n values: segmentedControlOrientations,\n default: 'horizontal',\n },\n activationMode: {\n type: 'enum',\n values: segmentedControlActivationModes,\n default: 'manual',\n },\n disabled: {\n type: 'boolean',\n default: false,\n },\n fill: {\n type: 'boolean',\n default: false,\n },\n} satisfies {\n activationMode: PropDef<(typeof segmentedControlActivationModes)[number]>\n disabled: PropDef\n fill: PropDef\n orientation: PropDef<(typeof segmentedControlOrientations)[number]>\n size: PropDef<(typeof segmentedControlSizes)[number]>\n variant: PropDef<(typeof segmentedControlVariants)[number]>\n}\n\nexport { segmentedControlPropDefs }\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,MAAM,wBAAwB,CAAC,MAAM,MAAM,IAAI;AAC/C,MAAM,2BAA2B,CAAC,WAAW,WAAW,QAAQ;AAChE,MAAM,kCAAkC,CAAC,UAAU,WAAW;AAC9D,MAAM,+BAA+B,CAAC,cAAc,UAAU;AAE9D,MAAM,2BAA2B;AAAA,EAC/B,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF;",
6
6
  "names": []
7
7
  }
@@ -9,6 +9,11 @@ declare const segmentedControlPropDefs: {
9
9
  values: readonly ["default", "outline", "subtle"];
10
10
  default: "default";
11
11
  };
12
+ orientation: {
13
+ type: "enum";
14
+ values: readonly ["horizontal", "vertical"];
15
+ default: "horizontal";
16
+ };
12
17
  activationMode: {
13
18
  type: "enum";
14
19
  values: readonly ["manual", "automatic"];
@@ -18,6 +23,10 @@ declare const segmentedControlPropDefs: {
18
23
  type: "boolean";
19
24
  default: false;
20
25
  };
26
+ fill: {
27
+ type: "boolean";
28
+ default: false;
29
+ };
21
30
  };
22
31
  export { segmentedControlPropDefs };
23
32
  //# sourceMappingURL=segmentedControl.props.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmentedControl.props.d.cts","sourceRoot":"","sources":["../../../src/components/segmentedControl/segmentedControl.props.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;CAyB7B,CAAA;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
1
+ {"version":3,"file":"segmentedControl.props.d.cts","sourceRoot":"","sources":["../../../src/components/segmentedControl/segmentedControl.props.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC7B,CAAA;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
@@ -9,6 +9,11 @@ declare const segmentedControlPropDefs: {
9
9
  values: readonly ["default", "outline", "subtle"];
10
10
  default: "default";
11
11
  };
12
+ orientation: {
13
+ type: "enum";
14
+ values: readonly ["horizontal", "vertical"];
15
+ default: "horizontal";
16
+ };
12
17
  activationMode: {
13
18
  type: "enum";
14
19
  values: readonly ["manual", "automatic"];
@@ -18,6 +23,10 @@ declare const segmentedControlPropDefs: {
18
23
  type: "boolean";
19
24
  default: false;
20
25
  };
26
+ fill: {
27
+ type: "boolean";
28
+ default: false;
29
+ };
21
30
  };
22
31
  export { segmentedControlPropDefs };
23
32
  //# sourceMappingURL=segmentedControl.props.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmentedControl.props.d.mts","sourceRoot":"","sources":["../../../src/components/segmentedControl/segmentedControl.props.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;CAyB7B,CAAA;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
1
+ {"version":3,"file":"segmentedControl.props.d.mts","sourceRoot":"","sources":["../../../src/components/segmentedControl/segmentedControl.props.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC7B,CAAA;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
@@ -9,6 +9,11 @@ declare const segmentedControlPropDefs: {
9
9
  values: readonly ["default", "outline", "subtle"];
10
10
  default: "default";
11
11
  };
12
+ orientation: {
13
+ type: "enum";
14
+ values: readonly ["horizontal", "vertical"];
15
+ default: "horizontal";
16
+ };
12
17
  activationMode: {
13
18
  type: "enum";
14
19
  values: readonly ["manual", "automatic"];
@@ -18,6 +23,10 @@ declare const segmentedControlPropDefs: {
18
23
  type: "boolean";
19
24
  default: false;
20
25
  };
26
+ fill: {
27
+ type: "boolean";
28
+ default: false;
29
+ };
21
30
  };
22
31
  export { segmentedControlPropDefs };
23
32
  //# sourceMappingURL=segmentedControl.props.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"segmentedControl.props.d.ts","sourceRoot":"","sources":["../../../src/components/segmentedControl/segmentedControl.props.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;CAyB7B,CAAA;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
1
+ {"version":3,"file":"segmentedControl.props.d.ts","sourceRoot":"","sources":["../../../src/components/segmentedControl/segmentedControl.props.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoC7B,CAAA;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAA"}
@@ -1,6 +1,7 @@
1
1
  const segmentedControlSizes = ["sm", "md", "lg"];
2
2
  const segmentedControlVariants = ["default", "outline", "subtle"];
3
3
  const segmentedControlActivationModes = ["manual", "automatic"];
4
+ const segmentedControlOrientations = ["horizontal", "vertical"];
4
5
  const segmentedControlPropDefs = {
5
6
  size: {
6
7
  type: "enum",
@@ -12,6 +13,11 @@ const segmentedControlPropDefs = {
12
13
  values: segmentedControlVariants,
13
14
  default: "default"
14
15
  },
16
+ orientation: {
17
+ type: "enum",
18
+ values: segmentedControlOrientations,
19
+ default: "horizontal"
20
+ },
15
21
  activationMode: {
16
22
  type: "enum",
17
23
  values: segmentedControlActivationModes,
@@ -20,6 +26,10 @@ const segmentedControlPropDefs = {
20
26
  disabled: {
21
27
  type: "boolean",
22
28
  default: false
29
+ },
30
+ fill: {
31
+ type: "boolean",
32
+ default: false
23
33
  }
24
34
  };
25
35
  export {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/components/segmentedControl/segmentedControl.props.ts"],
4
- "sourcesContent": ["import type { PropDef } from '../../_internal/props/propDef'\n\nconst segmentedControlSizes = ['sm', 'md', 'lg'] as const\nconst segmentedControlVariants = ['default', 'outline', 'subtle'] as const\nconst segmentedControlActivationModes = ['manual', 'automatic'] as const\n\nconst segmentedControlPropDefs = {\n size: {\n type: 'enum',\n values: segmentedControlSizes,\n default: 'md',\n },\n variant: {\n type: 'enum',\n values: segmentedControlVariants,\n default: 'default',\n },\n activationMode: {\n type: 'enum',\n values: segmentedControlActivationModes,\n default: 'manual',\n },\n disabled: {\n type: 'boolean',\n default: false,\n },\n} satisfies {\n activationMode: PropDef<(typeof segmentedControlActivationModes)[number]>\n disabled: PropDef\n size: PropDef<(typeof segmentedControlSizes)[number]>\n variant: PropDef<(typeof segmentedControlVariants)[number]>\n}\n\nexport { segmentedControlPropDefs }\n"],
5
- "mappings": "AAEA,MAAM,wBAAwB,CAAC,MAAM,MAAM,IAAI;AAC/C,MAAM,2BAA2B,CAAC,WAAW,WAAW,QAAQ;AAChE,MAAM,kCAAkC,CAAC,UAAU,WAAW;AAE9D,MAAM,2BAA2B;AAAA,EAC/B,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF;",
4
+ "sourcesContent": ["import type { PropDef } from '../../_internal/props/propDef'\n\nconst segmentedControlSizes = ['sm', 'md', 'lg'] as const\nconst segmentedControlVariants = ['default', 'outline', 'subtle'] as const\nconst segmentedControlActivationModes = ['manual', 'automatic'] as const\nconst segmentedControlOrientations = ['horizontal', 'vertical'] as const\n\nconst segmentedControlPropDefs = {\n size: {\n type: 'enum',\n values: segmentedControlSizes,\n default: 'md',\n },\n variant: {\n type: 'enum',\n values: segmentedControlVariants,\n default: 'default',\n },\n orientation: {\n type: 'enum',\n values: segmentedControlOrientations,\n default: 'horizontal',\n },\n activationMode: {\n type: 'enum',\n values: segmentedControlActivationModes,\n default: 'manual',\n },\n disabled: {\n type: 'boolean',\n default: false,\n },\n fill: {\n type: 'boolean',\n default: false,\n },\n} satisfies {\n activationMode: PropDef<(typeof segmentedControlActivationModes)[number]>\n disabled: PropDef\n fill: PropDef\n orientation: PropDef<(typeof segmentedControlOrientations)[number]>\n size: PropDef<(typeof segmentedControlSizes)[number]>\n variant: PropDef<(typeof segmentedControlVariants)[number]>\n}\n\nexport { segmentedControlPropDefs }\n"],
5
+ "mappings": "AAEA,MAAM,wBAAwB,CAAC,MAAM,MAAM,IAAI;AAC/C,MAAM,2BAA2B,CAAC,WAAW,WAAW,QAAQ;AAChE,MAAM,kCAAkC,CAAC,UAAU,WAAW;AAC9D,MAAM,+BAA+B,CAAC,cAAc,UAAU;AAE9D,MAAM,2BAA2B;AAAA,EAC/B,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,aAAa;AAAA,IACX,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,SAAS;AAAA,EACX;AAAA,EACA,UAAU;AAAA,IACR,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AACF;",
6
6
  "names": []
7
7
  }
@@ -48,6 +48,7 @@ var React = __toESM(require("react"), 1);
48
48
  var import_classnames = __toESM(require("classnames"), 1);
49
49
  var SelectPrimitive = __toESM(require("@radix-ui/react-select"), 1);
50
50
  var import_BaseDialog = require("../../_internal/BaseDialog");
51
+ var import_floatingLayer = require("../../_internal/floatingLayer");
51
52
  var import_extractProps = require("../../_internal/helpers/extractProps");
52
53
  var import_Icon = require("../icon/Icon");
53
54
  var import_VisuallyHidden = require("../visuallyHidden/VisuallyHidden");
@@ -145,6 +146,7 @@ const SelectContent = React.forwardRef(
145
146
  const context = useSelectContext();
146
147
  const resolvedSize = props["data-size"] ?? size ?? context.size;
147
148
  const resolvedVariant = props["data-variant"] ?? variant ?? context.variant;
149
+ const nestedInModalHost = (0, import_floatingLayer.useFloatingLayerHost)();
148
150
  const { asChild: _asChild, className: contentClassName, ...contentProps } = (0, import_extractProps.extractProps)(
149
151
  {
150
152
  ...props,
@@ -162,7 +164,7 @@ const SelectContent = React.forwardRef(
162
164
  position,
163
165
  sideOffset,
164
166
  align: "start",
165
- className: (0, import_classnames.default)("dsx-select__content", contentClassName),
167
+ className: (0, import_classnames.default)("dsx-select__content", nestedInModalHost && "dsx-menu__nested", contentClassName),
166
168
  "data-size": resolvedSize,
167
169
  "data-variant": resolvedVariant,
168
170
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ScrollArea.ScrollArea, { className: "dsx-select__scroll-area", viewportAsChild: true, viewportClassName: "dsx-select__viewport", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SelectPrimitive.Viewport, { children }) })