@dashforge/tw 1.7.1 → 2.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 (391) hide show
  1. package/CHANGELOG.md +142 -0
  2. package/dist/{src/components → components}/Accordion/accordion.variants.d.ts +3 -3
  3. package/dist/{src/components → components}/AppShell/appShell.types.d.ts +8 -0
  4. package/dist/{src/components → components}/AppShell/appShell.variants.d.ts +39 -2
  5. package/dist/{src/components → components}/Box/box.types.d.ts +19 -1
  6. package/dist/{src/components → components}/Box/box.variants.d.ts +18 -0
  7. package/dist/{src/components → components}/Button/button.types.d.ts +21 -0
  8. package/dist/{src/components → components}/Button/button.variants.d.ts +60 -0
  9. package/dist/{src/components → components}/Calendar/calendar.types.d.ts +52 -2
  10. package/dist/{src/components → components}/Chip/chip.types.d.ts +42 -0
  11. package/dist/{src/components → components}/Chip/chip.variants.d.ts +9 -0
  12. package/dist/{src/components → components}/Grid/grid.types.d.ts +42 -0
  13. package/dist/components/Kbd/Kbd.d.ts +13 -0
  14. package/dist/components/Kbd/kbd.types.d.ts +62 -0
  15. package/dist/components/Kbd/kbd.variants.d.ts +54 -0
  16. package/dist/{src/components → components}/Select/Select.d.ts +1 -1
  17. package/dist/{src/components → components}/Slider/Slider.d.ts +1 -1
  18. package/dist/{src/components → components}/Stack/stack.types.d.ts +42 -0
  19. package/dist/{src/components → components}/Stack/stack.variants.d.ts +8 -0
  20. package/dist/{src/components → components}/TopBar/TopBar.d.ts +16 -1
  21. package/dist/components/TopBar/topBar.types.d.ts +142 -0
  22. package/dist/components/TopBar/topBar.variants.d.ts +136 -0
  23. package/dist/index.d.ts +212 -1
  24. package/dist/index.esm.js +814 -111
  25. package/package.json +10 -8
  26. package/dist/src/components/Accordion/Accordion.d.ts.map +0 -1
  27. package/dist/src/components/Accordion/accordion.types.d.ts.map +0 -1
  28. package/dist/src/components/Accordion/accordion.variants.d.ts.map +0 -1
  29. package/dist/src/components/Alert/Alert.d.ts.map +0 -1
  30. package/dist/src/components/Alert/alert.types.d.ts.map +0 -1
  31. package/dist/src/components/Alert/alert.variants.d.ts.map +0 -1
  32. package/dist/src/components/AppShell/AppShell.d.ts.map +0 -1
  33. package/dist/src/components/AppShell/appShell.types.d.ts.map +0 -1
  34. package/dist/src/components/AppShell/appShell.variants.d.ts.map +0 -1
  35. package/dist/src/components/AspectRatio/AspectRatio.d.ts.map +0 -1
  36. package/dist/src/components/AspectRatio/aspectRatio.types.d.ts.map +0 -1
  37. package/dist/src/components/Autocomplete/Autocomplete.d.ts.map +0 -1
  38. package/dist/src/components/Autocomplete/autocomplete.props.type-test.d.ts.map +0 -1
  39. package/dist/src/components/Autocomplete/autocomplete.types.d.ts.map +0 -1
  40. package/dist/src/components/Autocomplete/autocomplete.variants.d.ts.map +0 -1
  41. package/dist/src/components/Avatar/Avatar.d.ts.map +0 -1
  42. package/dist/src/components/Avatar/avatar.types.d.ts.map +0 -1
  43. package/dist/src/components/Avatar/avatar.variants.d.ts.map +0 -1
  44. package/dist/src/components/Badge/Badge.d.ts.map +0 -1
  45. package/dist/src/components/Badge/badge.types.d.ts.map +0 -1
  46. package/dist/src/components/Badge/badge.variants.d.ts.map +0 -1
  47. package/dist/src/components/Box/Box.d.ts.map +0 -1
  48. package/dist/src/components/Box/box.types.d.ts.map +0 -1
  49. package/dist/src/components/Box/box.variants.d.ts.map +0 -1
  50. package/dist/src/components/Breadcrumbs/Breadcrumbs.d.ts.map +0 -1
  51. package/dist/src/components/Breadcrumbs/breadcrumbs.types.d.ts.map +0 -1
  52. package/dist/src/components/Breadcrumbs/breadcrumbs.variants.d.ts.map +0 -1
  53. package/dist/src/components/Button/Button.d.ts.map +0 -1
  54. package/dist/src/components/Button/button.types.d.ts.map +0 -1
  55. package/dist/src/components/Button/button.variants.d.ts.map +0 -1
  56. package/dist/src/components/Calendar/Calendar.d.ts.map +0 -1
  57. package/dist/src/components/Calendar/calendar.types.d.ts.map +0 -1
  58. package/dist/src/components/Calendar/calendar.variants.d.ts.map +0 -1
  59. package/dist/src/components/Card/Card.d.ts.map +0 -1
  60. package/dist/src/components/Card/card.types.d.ts.map +0 -1
  61. package/dist/src/components/Checkbox/Checkbox.d.ts.map +0 -1
  62. package/dist/src/components/Checkbox/checkbox.types.d.ts.map +0 -1
  63. package/dist/src/components/Checkbox/checkbox.variants.d.ts.map +0 -1
  64. package/dist/src/components/Chip/Chip.d.ts.map +0 -1
  65. package/dist/src/components/Chip/chip.types.d.ts.map +0 -1
  66. package/dist/src/components/Chip/chip.variants.d.ts.map +0 -1
  67. package/dist/src/components/ConfirmDialog/ConfirmDialog.d.ts.map +0 -1
  68. package/dist/src/components/ConfirmDialog/confirmDialog.types.d.ts.map +0 -1
  69. package/dist/src/components/ConfirmDialog/confirmDialog.variants.d.ts.map +0 -1
  70. package/dist/src/components/Container/Container.d.ts.map +0 -1
  71. package/dist/src/components/Container/container.types.d.ts.map +0 -1
  72. package/dist/src/components/Container/container.variants.d.ts.map +0 -1
  73. package/dist/src/components/DataGrid/DataGrid.d.ts.map +0 -1
  74. package/dist/src/components/DataGrid/dataGrid.types.d.ts.map +0 -1
  75. package/dist/src/components/DataGrid/dataGrid.variants.d.ts.map +0 -1
  76. package/dist/src/components/DataGrid/filters/ColumnFilters.d.ts.map +0 -1
  77. package/dist/src/components/DataGrid/reorder/useColumnReorder.d.ts.map +0 -1
  78. package/dist/src/components/DataGrid/resize/useColumnResize.d.ts.map +0 -1
  79. package/dist/src/components/DataGrid/visibility/ColumnVisibilityMenu.d.ts.map +0 -1
  80. package/dist/src/components/DatePicker/DatePicker.d.ts.map +0 -1
  81. package/dist/src/components/DatePicker/datePicker.types.d.ts.map +0 -1
  82. package/dist/src/components/DatePicker/datePicker.variants.d.ts.map +0 -1
  83. package/dist/src/components/DateRangePicker/DateRangePicker.d.ts.map +0 -1
  84. package/dist/src/components/DateRangePicker/dateRangePicker.types.d.ts.map +0 -1
  85. package/dist/src/components/DateRangePicker/dateRangePicker.variants.d.ts.map +0 -1
  86. package/dist/src/components/DateTimePicker/DateTimePicker.d.ts.map +0 -1
  87. package/dist/src/components/DateTimePicker/dateTimePicker.types.d.ts.map +0 -1
  88. package/dist/src/components/DateTimePicker/dateTimePicker.variants.d.ts.map +0 -1
  89. package/dist/src/components/Dialog/Dialog.d.ts.map +0 -1
  90. package/dist/src/components/Dialog/dialog.types.d.ts.map +0 -1
  91. package/dist/src/components/Dialog/dialog.variants.d.ts.map +0 -1
  92. package/dist/src/components/Divider/Divider.d.ts.map +0 -1
  93. package/dist/src/components/Divider/divider.types.d.ts.map +0 -1
  94. package/dist/src/components/Divider/divider.variants.d.ts.map +0 -1
  95. package/dist/src/components/Drawer/Drawer.d.ts.map +0 -1
  96. package/dist/src/components/Drawer/drawer.types.d.ts.map +0 -1
  97. package/dist/src/components/Drawer/drawer.variants.d.ts.map +0 -1
  98. package/dist/src/components/Grid/Grid.d.ts.map +0 -1
  99. package/dist/src/components/Grid/grid.types.d.ts.map +0 -1
  100. package/dist/src/components/Grid/grid.variants.d.ts.map +0 -1
  101. package/dist/src/components/IconButton/IconButton.d.ts.map +0 -1
  102. package/dist/src/components/IconButton/iconButton.types.d.ts.map +0 -1
  103. package/dist/src/components/IconButton/iconButton.variants.d.ts.map +0 -1
  104. package/dist/src/components/Image/Image.d.ts.map +0 -1
  105. package/dist/src/components/Image/image.types.d.ts.map +0 -1
  106. package/dist/src/components/Image/image.variants.d.ts.map +0 -1
  107. package/dist/src/components/LeftNav/LeftNav.d.ts.map +0 -1
  108. package/dist/src/components/LeftNav/leftNav.types.d.ts.map +0 -1
  109. package/dist/src/components/LeftNav/leftNav.variants.d.ts.map +0 -1
  110. package/dist/src/components/Link/Link.d.ts.map +0 -1
  111. package/dist/src/components/Link/link.types.d.ts.map +0 -1
  112. package/dist/src/components/Link/link.variants.d.ts.map +0 -1
  113. package/dist/src/components/Menu/Menu.d.ts.map +0 -1
  114. package/dist/src/components/Menu/menu.types.d.ts.map +0 -1
  115. package/dist/src/components/Menu/menu.variants.d.ts.map +0 -1
  116. package/dist/src/components/NumberField/NumberField.d.ts.map +0 -1
  117. package/dist/src/components/NumberField/numberField.types.d.ts.map +0 -1
  118. package/dist/src/components/NumberField/numberField.variants.d.ts.map +0 -1
  119. package/dist/src/components/OTPField/OTPField.d.ts.map +0 -1
  120. package/dist/src/components/OTPField/otpField.types.d.ts.map +0 -1
  121. package/dist/src/components/OTPField/otpField.variants.d.ts.map +0 -1
  122. package/dist/src/components/Pagination/Pagination.d.ts.map +0 -1
  123. package/dist/src/components/Pagination/pagination.helpers.d.ts.map +0 -1
  124. package/dist/src/components/Pagination/pagination.types.d.ts.map +0 -1
  125. package/dist/src/components/Pagination/pagination.variants.d.ts.map +0 -1
  126. package/dist/src/components/Popover/Popover.d.ts.map +0 -1
  127. package/dist/src/components/Popover/popover.types.d.ts.map +0 -1
  128. package/dist/src/components/Popover/popover.variants.d.ts.map +0 -1
  129. package/dist/src/components/Progress/Progress.d.ts.map +0 -1
  130. package/dist/src/components/Progress/progress.types.d.ts.map +0 -1
  131. package/dist/src/components/Progress/progress.variants.d.ts.map +0 -1
  132. package/dist/src/components/RadioGroup/RadioGroup.d.ts.map +0 -1
  133. package/dist/src/components/RadioGroup/radioGroup.types.d.ts.map +0 -1
  134. package/dist/src/components/RadioGroup/radioGroup.variants.d.ts.map +0 -1
  135. package/dist/src/components/Select/Select.d.ts.map +0 -1
  136. package/dist/src/components/Select/select.types.d.ts.map +0 -1
  137. package/dist/src/components/Select/select.variants.d.ts.map +0 -1
  138. package/dist/src/components/Skeleton/Skeleton.d.ts.map +0 -1
  139. package/dist/src/components/Skeleton/skeleton.types.d.ts.map +0 -1
  140. package/dist/src/components/Skeleton/skeleton.variants.d.ts.map +0 -1
  141. package/dist/src/components/Slider/Slider.d.ts.map +0 -1
  142. package/dist/src/components/Slider/slider.types.d.ts.map +0 -1
  143. package/dist/src/components/Slider/slider.variants.d.ts.map +0 -1
  144. package/dist/src/components/Snackbar/Snackbar.d.ts.map +0 -1
  145. package/dist/src/components/Snackbar/snackbar.types.d.ts.map +0 -1
  146. package/dist/src/components/Snackbar/snackbar.variants.d.ts.map +0 -1
  147. package/dist/src/components/Spinner/Spinner.d.ts.map +0 -1
  148. package/dist/src/components/Spinner/spinner.types.d.ts.map +0 -1
  149. package/dist/src/components/Spinner/spinner.variants.d.ts.map +0 -1
  150. package/dist/src/components/Stack/Stack.d.ts.map +0 -1
  151. package/dist/src/components/Stack/stack.types.d.ts.map +0 -1
  152. package/dist/src/components/Stack/stack.variants.d.ts.map +0 -1
  153. package/dist/src/components/Stepper/Step.d.ts.map +0 -1
  154. package/dist/src/components/Stepper/Stepper.d.ts.map +0 -1
  155. package/dist/src/components/Stepper/StepperContext.d.ts.map +0 -1
  156. package/dist/src/components/Stepper/stepper.types.d.ts.map +0 -1
  157. package/dist/src/components/Stepper/stepper.variants.d.ts.map +0 -1
  158. package/dist/src/components/Stepper/useStep.d.ts.map +0 -1
  159. package/dist/src/components/Switch/Switch.d.ts.map +0 -1
  160. package/dist/src/components/Switch/switch.types.d.ts.map +0 -1
  161. package/dist/src/components/Switch/switch.variants.d.ts.map +0 -1
  162. package/dist/src/components/Table/Table.d.ts.map +0 -1
  163. package/dist/src/components/Table/cells/RenderButton.d.ts.map +0 -1
  164. package/dist/src/components/Table/cells/RenderChip.d.ts.map +0 -1
  165. package/dist/src/components/Table/cells/RenderText.d.ts.map +0 -1
  166. package/dist/src/components/Table/cells/RenderTwoLine.d.ts.map +0 -1
  167. package/dist/src/components/Table/cells/RowActionsMenu.d.ts.map +0 -1
  168. package/dist/src/components/Table/cells/index.d.ts.map +0 -1
  169. package/dist/src/components/Table/table.types.d.ts.map +0 -1
  170. package/dist/src/components/Table/table.variants.d.ts.map +0 -1
  171. package/dist/src/components/Tabs/Tabs.d.ts.map +0 -1
  172. package/dist/src/components/Tabs/tabs.types.d.ts.map +0 -1
  173. package/dist/src/components/Tabs/tabs.variants.d.ts.map +0 -1
  174. package/dist/src/components/Tabs/useTabs.d.ts.map +0 -1
  175. package/dist/src/components/TextField/TextField.d.ts.map +0 -1
  176. package/dist/src/components/TextField/textField.types.d.ts.map +0 -1
  177. package/dist/src/components/TextField/textField.variants.d.ts.map +0 -1
  178. package/dist/src/components/Textarea/Textarea.d.ts.map +0 -1
  179. package/dist/src/components/Textarea/textarea.types.d.ts.map +0 -1
  180. package/dist/src/components/Textarea/textarea.variants.d.ts.map +0 -1
  181. package/dist/src/components/TimePicker/TimePicker.d.ts.map +0 -1
  182. package/dist/src/components/TimePicker/timePicker.types.d.ts.map +0 -1
  183. package/dist/src/components/TimePicker/timePicker.variants.d.ts.map +0 -1
  184. package/dist/src/components/Tooltip/Tooltip.d.ts.map +0 -1
  185. package/dist/src/components/Tooltip/tooltip.types.d.ts.map +0 -1
  186. package/dist/src/components/Tooltip/tooltip.variants.d.ts.map +0 -1
  187. package/dist/src/components/TopBar/TopBar.d.ts.map +0 -1
  188. package/dist/src/components/TopBar/topBar.types.d.ts +0 -73
  189. package/dist/src/components/TopBar/topBar.types.d.ts.map +0 -1
  190. package/dist/src/components/TopBar/topBar.variants.d.ts +0 -79
  191. package/dist/src/components/TopBar/topBar.variants.d.ts.map +0 -1
  192. package/dist/src/components/Typography/Typography.d.ts.map +0 -1
  193. package/dist/src/components/Typography/typography.types.d.ts.map +0 -1
  194. package/dist/src/components/Typography/typography.variants.d.ts.map +0 -1
  195. package/dist/src/components/Video/Video.d.ts.map +0 -1
  196. package/dist/src/components/Video/video.types.d.ts.map +0 -1
  197. package/dist/src/components/Video/video.variants.d.ts.map +0 -1
  198. package/dist/src/components/VisuallyHidden/VisuallyHidden.d.ts.map +0 -1
  199. package/dist/src/components/VisuallyHidden/visuallyHidden.types.d.ts.map +0 -1
  200. package/dist/src/components/_shared/data/getNestedValue.d.ts.map +0 -1
  201. package/dist/src/components/_shared/data/useColumnAutoDetect.d.ts.map +0 -1
  202. package/dist/src/components/_shared/data/useControllableState.d.ts.map +0 -1
  203. package/dist/src/components/_shared/data/useDebouncedValue.d.ts.map +0 -1
  204. package/dist/src/components/_shared/data/useTableFilter.d.ts.map +0 -1
  205. package/dist/src/components/_shared/data/useTableSearch.d.ts.map +0 -1
  206. package/dist/src/components/_shared/data/useTableSelection.d.ts.map +0 -1
  207. package/dist/src/components/_shared/data/useTableSort.d.ts.map +0 -1
  208. package/dist/src/components/_shared/data/useVirtualizer.d.ts.map +0 -1
  209. package/dist/src/components/_shared/fieldTooltip.d.ts.map +0 -1
  210. package/dist/src/components/_shared/resolveValidationState.d.ts.map +0 -1
  211. package/dist/src/components/_shared/severity/index.d.ts.map +0 -1
  212. package/dist/src/components/_shared/severity/severity.types.d.ts.map +0 -1
  213. package/dist/src/components/_shared/severity/severityIcons.d.ts.map +0 -1
  214. package/dist/src/components/_shared/severity/severityVariants.d.ts.map +0 -1
  215. package/dist/src/hooks/useAccessState.d.ts.map +0 -1
  216. package/dist/src/hooks/useStandaloneFieldWarning.d.ts.map +0 -1
  217. package/dist/src/index.d.ts +0 -199
  218. package/dist/src/index.d.ts.map +0 -1
  219. package/dist/src/utils/cn.d.ts.map +0 -1
  220. /package/dist/{src/components → components}/Accordion/Accordion.d.ts +0 -0
  221. /package/dist/{src/components → components}/Accordion/accordion.types.d.ts +0 -0
  222. /package/dist/{src/components → components}/Alert/Alert.d.ts +0 -0
  223. /package/dist/{src/components → components}/Alert/alert.types.d.ts +0 -0
  224. /package/dist/{src/components → components}/Alert/alert.variants.d.ts +0 -0
  225. /package/dist/{src/components → components}/AppShell/AppShell.d.ts +0 -0
  226. /package/dist/{src/components → components}/AspectRatio/AspectRatio.d.ts +0 -0
  227. /package/dist/{src/components → components}/AspectRatio/aspectRatio.types.d.ts +0 -0
  228. /package/dist/{src/components → components}/Autocomplete/Autocomplete.d.ts +0 -0
  229. /package/dist/{src/components → components}/Autocomplete/autocomplete.props.type-test.d.ts +0 -0
  230. /package/dist/{src/components → components}/Autocomplete/autocomplete.types.d.ts +0 -0
  231. /package/dist/{src/components → components}/Autocomplete/autocomplete.variants.d.ts +0 -0
  232. /package/dist/{src/components → components}/Avatar/Avatar.d.ts +0 -0
  233. /package/dist/{src/components → components}/Avatar/avatar.types.d.ts +0 -0
  234. /package/dist/{src/components → components}/Avatar/avatar.variants.d.ts +0 -0
  235. /package/dist/{src/components → components}/Badge/Badge.d.ts +0 -0
  236. /package/dist/{src/components → components}/Badge/badge.types.d.ts +0 -0
  237. /package/dist/{src/components → components}/Badge/badge.variants.d.ts +0 -0
  238. /package/dist/{src/components → components}/Box/Box.d.ts +0 -0
  239. /package/dist/{src/components → components}/Breadcrumbs/Breadcrumbs.d.ts +0 -0
  240. /package/dist/{src/components → components}/Breadcrumbs/breadcrumbs.types.d.ts +0 -0
  241. /package/dist/{src/components → components}/Breadcrumbs/breadcrumbs.variants.d.ts +0 -0
  242. /package/dist/{src/components → components}/Button/Button.d.ts +0 -0
  243. /package/dist/{src/components → components}/Calendar/Calendar.d.ts +0 -0
  244. /package/dist/{src/components → components}/Calendar/calendar.variants.d.ts +0 -0
  245. /package/dist/{src/components → components}/Card/Card.d.ts +0 -0
  246. /package/dist/{src/components → components}/Card/card.types.d.ts +0 -0
  247. /package/dist/{src/components → components}/Checkbox/Checkbox.d.ts +0 -0
  248. /package/dist/{src/components → components}/Checkbox/checkbox.types.d.ts +0 -0
  249. /package/dist/{src/components → components}/Checkbox/checkbox.variants.d.ts +0 -0
  250. /package/dist/{src/components → components}/Chip/Chip.d.ts +0 -0
  251. /package/dist/{src/components → components}/ConfirmDialog/ConfirmDialog.d.ts +0 -0
  252. /package/dist/{src/components → components}/ConfirmDialog/confirmDialog.types.d.ts +0 -0
  253. /package/dist/{src/components → components}/ConfirmDialog/confirmDialog.variants.d.ts +0 -0
  254. /package/dist/{src/components → components}/Container/Container.d.ts +0 -0
  255. /package/dist/{src/components → components}/Container/container.types.d.ts +0 -0
  256. /package/dist/{src/components → components}/Container/container.variants.d.ts +0 -0
  257. /package/dist/{src/components → components}/DataGrid/DataGrid.d.ts +0 -0
  258. /package/dist/{src/components → components}/DataGrid/dataGrid.types.d.ts +0 -0
  259. /package/dist/{src/components → components}/DataGrid/dataGrid.variants.d.ts +0 -0
  260. /package/dist/{src/components → components}/DataGrid/filters/ColumnFilters.d.ts +0 -0
  261. /package/dist/{src/components → components}/DataGrid/reorder/useColumnReorder.d.ts +0 -0
  262. /package/dist/{src/components → components}/DataGrid/resize/useColumnResize.d.ts +0 -0
  263. /package/dist/{src/components → components}/DataGrid/visibility/ColumnVisibilityMenu.d.ts +0 -0
  264. /package/dist/{src/components → components}/DatePicker/DatePicker.d.ts +0 -0
  265. /package/dist/{src/components → components}/DatePicker/datePicker.types.d.ts +0 -0
  266. /package/dist/{src/components → components}/DatePicker/datePicker.variants.d.ts +0 -0
  267. /package/dist/{src/components → components}/DateRangePicker/DateRangePicker.d.ts +0 -0
  268. /package/dist/{src/components → components}/DateRangePicker/dateRangePicker.types.d.ts +0 -0
  269. /package/dist/{src/components → components}/DateRangePicker/dateRangePicker.variants.d.ts +0 -0
  270. /package/dist/{src/components → components}/DateTimePicker/DateTimePicker.d.ts +0 -0
  271. /package/dist/{src/components → components}/DateTimePicker/dateTimePicker.types.d.ts +0 -0
  272. /package/dist/{src/components → components}/DateTimePicker/dateTimePicker.variants.d.ts +0 -0
  273. /package/dist/{src/components → components}/Dialog/Dialog.d.ts +0 -0
  274. /package/dist/{src/components → components}/Dialog/dialog.types.d.ts +0 -0
  275. /package/dist/{src/components → components}/Dialog/dialog.variants.d.ts +0 -0
  276. /package/dist/{src/components → components}/Divider/Divider.d.ts +0 -0
  277. /package/dist/{src/components → components}/Divider/divider.types.d.ts +0 -0
  278. /package/dist/{src/components → components}/Divider/divider.variants.d.ts +0 -0
  279. /package/dist/{src/components → components}/Drawer/Drawer.d.ts +0 -0
  280. /package/dist/{src/components → components}/Drawer/drawer.types.d.ts +0 -0
  281. /package/dist/{src/components → components}/Drawer/drawer.variants.d.ts +0 -0
  282. /package/dist/{src/components → components}/Grid/Grid.d.ts +0 -0
  283. /package/dist/{src/components → components}/Grid/grid.variants.d.ts +0 -0
  284. /package/dist/{src/components → components}/IconButton/IconButton.d.ts +0 -0
  285. /package/dist/{src/components → components}/IconButton/iconButton.types.d.ts +0 -0
  286. /package/dist/{src/components → components}/IconButton/iconButton.variants.d.ts +0 -0
  287. /package/dist/{src/components → components}/Image/Image.d.ts +0 -0
  288. /package/dist/{src/components → components}/Image/image.types.d.ts +0 -0
  289. /package/dist/{src/components → components}/Image/image.variants.d.ts +0 -0
  290. /package/dist/{src/components → components}/LeftNav/LeftNav.d.ts +0 -0
  291. /package/dist/{src/components → components}/LeftNav/leftNav.types.d.ts +0 -0
  292. /package/dist/{src/components → components}/LeftNav/leftNav.variants.d.ts +0 -0
  293. /package/dist/{src/components → components}/Link/Link.d.ts +0 -0
  294. /package/dist/{src/components → components}/Link/link.types.d.ts +0 -0
  295. /package/dist/{src/components → components}/Link/link.variants.d.ts +0 -0
  296. /package/dist/{src/components → components}/Menu/Menu.d.ts +0 -0
  297. /package/dist/{src/components → components}/Menu/menu.types.d.ts +0 -0
  298. /package/dist/{src/components → components}/Menu/menu.variants.d.ts +0 -0
  299. /package/dist/{src/components → components}/NumberField/NumberField.d.ts +0 -0
  300. /package/dist/{src/components → components}/NumberField/numberField.types.d.ts +0 -0
  301. /package/dist/{src/components → components}/NumberField/numberField.variants.d.ts +0 -0
  302. /package/dist/{src/components → components}/OTPField/OTPField.d.ts +0 -0
  303. /package/dist/{src/components → components}/OTPField/otpField.types.d.ts +0 -0
  304. /package/dist/{src/components → components}/OTPField/otpField.variants.d.ts +0 -0
  305. /package/dist/{src/components → components}/Pagination/Pagination.d.ts +0 -0
  306. /package/dist/{src/components → components}/Pagination/pagination.helpers.d.ts +0 -0
  307. /package/dist/{src/components → components}/Pagination/pagination.types.d.ts +0 -0
  308. /package/dist/{src/components → components}/Pagination/pagination.variants.d.ts +0 -0
  309. /package/dist/{src/components → components}/Popover/Popover.d.ts +0 -0
  310. /package/dist/{src/components → components}/Popover/popover.types.d.ts +0 -0
  311. /package/dist/{src/components → components}/Popover/popover.variants.d.ts +0 -0
  312. /package/dist/{src/components → components}/Progress/Progress.d.ts +0 -0
  313. /package/dist/{src/components → components}/Progress/progress.types.d.ts +0 -0
  314. /package/dist/{src/components → components}/Progress/progress.variants.d.ts +0 -0
  315. /package/dist/{src/components → components}/RadioGroup/RadioGroup.d.ts +0 -0
  316. /package/dist/{src/components → components}/RadioGroup/radioGroup.types.d.ts +0 -0
  317. /package/dist/{src/components → components}/RadioGroup/radioGroup.variants.d.ts +0 -0
  318. /package/dist/{src/components → components}/Select/select.types.d.ts +0 -0
  319. /package/dist/{src/components → components}/Select/select.variants.d.ts +0 -0
  320. /package/dist/{src/components → components}/Skeleton/Skeleton.d.ts +0 -0
  321. /package/dist/{src/components → components}/Skeleton/skeleton.types.d.ts +0 -0
  322. /package/dist/{src/components → components}/Skeleton/skeleton.variants.d.ts +0 -0
  323. /package/dist/{src/components → components}/Slider/slider.types.d.ts +0 -0
  324. /package/dist/{src/components → components}/Slider/slider.variants.d.ts +0 -0
  325. /package/dist/{src/components → components}/Snackbar/Snackbar.d.ts +0 -0
  326. /package/dist/{src/components → components}/Snackbar/snackbar.types.d.ts +0 -0
  327. /package/dist/{src/components → components}/Snackbar/snackbar.variants.d.ts +0 -0
  328. /package/dist/{src/components → components}/Spinner/Spinner.d.ts +0 -0
  329. /package/dist/{src/components → components}/Spinner/spinner.types.d.ts +0 -0
  330. /package/dist/{src/components → components}/Spinner/spinner.variants.d.ts +0 -0
  331. /package/dist/{src/components → components}/Stack/Stack.d.ts +0 -0
  332. /package/dist/{src/components → components}/Stepper/Step.d.ts +0 -0
  333. /package/dist/{src/components → components}/Stepper/Stepper.d.ts +0 -0
  334. /package/dist/{src/components → components}/Stepper/StepperContext.d.ts +0 -0
  335. /package/dist/{src/components → components}/Stepper/stepper.types.d.ts +0 -0
  336. /package/dist/{src/components → components}/Stepper/stepper.variants.d.ts +0 -0
  337. /package/dist/{src/components → components}/Stepper/useStep.d.ts +0 -0
  338. /package/dist/{src/components → components}/Switch/Switch.d.ts +0 -0
  339. /package/dist/{src/components → components}/Switch/switch.types.d.ts +0 -0
  340. /package/dist/{src/components → components}/Switch/switch.variants.d.ts +0 -0
  341. /package/dist/{src/components → components}/Table/Table.d.ts +0 -0
  342. /package/dist/{src/components → components}/Table/cells/RenderButton.d.ts +0 -0
  343. /package/dist/{src/components → components}/Table/cells/RenderChip.d.ts +0 -0
  344. /package/dist/{src/components → components}/Table/cells/RenderText.d.ts +0 -0
  345. /package/dist/{src/components → components}/Table/cells/RenderTwoLine.d.ts +0 -0
  346. /package/dist/{src/components → components}/Table/cells/RowActionsMenu.d.ts +0 -0
  347. /package/dist/{src/components → components}/Table/cells/index.d.ts +0 -0
  348. /package/dist/{src/components → components}/Table/table.types.d.ts +0 -0
  349. /package/dist/{src/components → components}/Table/table.variants.d.ts +0 -0
  350. /package/dist/{src/components → components}/Tabs/Tabs.d.ts +0 -0
  351. /package/dist/{src/components → components}/Tabs/tabs.types.d.ts +0 -0
  352. /package/dist/{src/components → components}/Tabs/tabs.variants.d.ts +0 -0
  353. /package/dist/{src/components → components}/Tabs/useTabs.d.ts +0 -0
  354. /package/dist/{src/components → components}/TextField/TextField.d.ts +0 -0
  355. /package/dist/{src/components → components}/TextField/textField.types.d.ts +0 -0
  356. /package/dist/{src/components → components}/TextField/textField.variants.d.ts +0 -0
  357. /package/dist/{src/components → components}/Textarea/Textarea.d.ts +0 -0
  358. /package/dist/{src/components → components}/Textarea/textarea.types.d.ts +0 -0
  359. /package/dist/{src/components → components}/Textarea/textarea.variants.d.ts +0 -0
  360. /package/dist/{src/components → components}/TimePicker/TimePicker.d.ts +0 -0
  361. /package/dist/{src/components → components}/TimePicker/timePicker.types.d.ts +0 -0
  362. /package/dist/{src/components → components}/TimePicker/timePicker.variants.d.ts +0 -0
  363. /package/dist/{src/components → components}/Tooltip/Tooltip.d.ts +0 -0
  364. /package/dist/{src/components → components}/Tooltip/tooltip.types.d.ts +0 -0
  365. /package/dist/{src/components → components}/Tooltip/tooltip.variants.d.ts +0 -0
  366. /package/dist/{src/components → components}/Typography/Typography.d.ts +0 -0
  367. /package/dist/{src/components → components}/Typography/typography.types.d.ts +0 -0
  368. /package/dist/{src/components → components}/Typography/typography.variants.d.ts +0 -0
  369. /package/dist/{src/components → components}/Video/Video.d.ts +0 -0
  370. /package/dist/{src/components → components}/Video/video.types.d.ts +0 -0
  371. /package/dist/{src/components → components}/Video/video.variants.d.ts +0 -0
  372. /package/dist/{src/components → components}/VisuallyHidden/VisuallyHidden.d.ts +0 -0
  373. /package/dist/{src/components → components}/VisuallyHidden/visuallyHidden.types.d.ts +0 -0
  374. /package/dist/{src/components → components}/_shared/data/getNestedValue.d.ts +0 -0
  375. /package/dist/{src/components → components}/_shared/data/useColumnAutoDetect.d.ts +0 -0
  376. /package/dist/{src/components → components}/_shared/data/useControllableState.d.ts +0 -0
  377. /package/dist/{src/components → components}/_shared/data/useDebouncedValue.d.ts +0 -0
  378. /package/dist/{src/components → components}/_shared/data/useTableFilter.d.ts +0 -0
  379. /package/dist/{src/components → components}/_shared/data/useTableSearch.d.ts +0 -0
  380. /package/dist/{src/components → components}/_shared/data/useTableSelection.d.ts +0 -0
  381. /package/dist/{src/components → components}/_shared/data/useTableSort.d.ts +0 -0
  382. /package/dist/{src/components → components}/_shared/data/useVirtualizer.d.ts +0 -0
  383. /package/dist/{src/components → components}/_shared/fieldTooltip.d.ts +0 -0
  384. /package/dist/{src/components → components}/_shared/resolveValidationState.d.ts +0 -0
  385. /package/dist/{src/components → components}/_shared/severity/index.d.ts +0 -0
  386. /package/dist/{src/components → components}/_shared/severity/severity.types.d.ts +0 -0
  387. /package/dist/{src/components → components}/_shared/severity/severityIcons.d.ts +0 -0
  388. /package/dist/{src/components → components}/_shared/severity/severityVariants.d.ts +0 -0
  389. /package/dist/{src/hooks → hooks}/useAccessState.d.ts +0 -0
  390. /package/dist/{src/hooks → hooks}/useStandaloneFieldWarning.d.ts +0 -0
  391. /package/dist/{src/utils → utils}/cn.d.ts +0 -0
package/CHANGELOG.md CHANGED
@@ -12,6 +12,148 @@ This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
12
12
  > duplicated intentionally — no shared "lowest common denominator" headless
13
13
  > layer.
14
14
 
15
+ ## [2.0.0] — 2026-09-28
16
+
17
+ **Every `@dashforge/*` package moves to `2.0.0` together.** Internal
18
+ dependencies are declared with `workspace:*`, which pnpm rewrites at pack
19
+ time to the EXACT sibling version, so a mixed 1.x / 2.0.0 install will not
20
+ resolve. Upgrade them in the same step.
21
+
22
+ See [MIGRATION-2.0.md](https://github.com/kensaadi/dashforge/blob/main/libs/dashforge/MIGRATION-2.0.md) for every breaking change with
23
+ a before and after.
24
+
25
+ ### Changed
26
+
27
+ - **BREAKING. `<Select>`'s trigger ref is `HTMLDivElement`, not
28
+ `HTMLButtonElement`** (BUG 23). `<Select multiple>` nested a `<button>`
29
+ inside the trigger button, which is invalid HTML and, worse, silently
30
+ strips the inner control from the accessibility tree: `role="button"`
31
+ makes its descendants presentational, so the delete control existed for
32
+ a mouse and not for a screen reader. The trigger is now a
33
+ `div role="combobox"` with an explicit `tabIndex`. The `name` prop is
34
+ untouched and still keys react-hook-form.
35
+
36
+ - **BREAKING. `<Slider>`'s ref is `HTMLDivElement`, not
37
+ `HTMLSpanElement`, and it now actually arrives** (BUG 39). The component
38
+ was wrapped in `forwardRef`, named the parameter, and never attached it,
39
+ so `ref.current` stayed `null` forever with no type error and no
40
+ warning. The declared element type was wrong in the same breath: a
41
+ `span` over a `div` root.
42
+
43
+ - **BREAKING. `<AppShell>` defaults to `layout="viewport"`**, which
44
+ changes which element scrolls (BUG 27). `min-h-screen` on the root made
45
+ `main`'s scroller dead code, so the window scrolled and the header, nav
46
+ and footer scrolled away with it. Pass `layout="page"` for the old
47
+ behaviour.
48
+
49
+ - **BREAKING. `<Chip>`'s clickable root is a `div role="button"`**
50
+ (BUG 35), for the same reason as `<Select>`: a chip that was both
51
+ clickable and deletable nested a button in a button.
52
+
53
+ - **BREAKING. `<Divider orientation="vertical">` no longer spans the
54
+ container width** (BUG 25). It came out `w-full`, so in a nowrap row it
55
+ squeezed its siblings and with wrap it pushed every group onto its own
56
+ line.
57
+
58
+ - **BREAKING. `<TopBar>`'s `start` slot can shrink** (BUG 42). It carried
59
+ `min-w-0` and `shrink-0` together, which cancel: the first exists to let
60
+ an item shrink, the second forbids it. A long brand kept its full width
61
+ and pushed `center` and `end` out of the bar.
62
+
63
+ - **`<Chip variant="outline" color="neutral">`'s border moved from
64
+ `neutral-300` to `neutral-500`** (BUG 40). At 1.42:1 light and 1.91:1
65
+ dark it failed WCAG 1.4.11, and an outline chip IS its border. It was
66
+ also the only colour row at `-300` while the other six sat at `-500`.
67
+
68
+ - **`<Stack divider>` supplies the orientation you did not choose**
69
+ (BUG 41). A `<Divider>` defaults to horizontal, which is `h-0 w-full`:
70
+ in a row that is nothing to see plus a claim on the whole width, so the
71
+ items were squeezed rather than separated. An explicit `orientation`
72
+ still wins, and a divider that is not ours is passed through untouched.
73
+
74
+ ### Added
75
+
76
+ - **`<Button color="inverse">`** for surfaces that are dark whatever the
77
+ theme does. Reads the theme-invariant `inverse` role.
78
+
79
+ - **`<Button pressed>`**, a toggle state. The ARIA is opt-in: omit the
80
+ prop and nothing is emitted, not even `aria-pressed="false"`, because
81
+ announcing "not pressed" on an ordinary action would make every plain
82
+ button in the catalog lie. The "on" look is LeftNav's active-row
83
+ treatment rather than something invented; `solid` deepens to its own
84
+ `active:` tier; `link` gets the ARIA and no paint.
85
+
86
+ - **`access` and `visibleWhen` on `<Stack>` and `<Grid>`**, for parity
87
+ with `<Box>`. A consumer passing neither gets byte-identical output.
88
+
89
+ - **`<Box borderStyle>`** (`solid | dashed | dotted | double`), orthogonal
90
+ to `variant`: a `soft` box can be dashed.
91
+
92
+ - **`<Chip draggable>`**, plus `onDragStart` and `onDragEnd`. Native HTML5
93
+ drag-and-drop, so no dnd dependency is pulled in and the `dataTransfer`
94
+ payload stays yours. **A drag is a pointer gesture**: native DnD is not
95
+ keyboard operable, so pair it with an `onClick` that does the same thing
96
+ or the palette fails WCAG 2.1.1 in your app.
97
+
98
+ - **`<Kbd>`**, a keycap. Renders the semantic `<kbd>` element, which is
99
+ the only reason it needs to exist. Chords compose rather than taking a
100
+ `keys` array.
101
+
102
+ - **`<TopBarBrand>`**, the mark-plus-text block for a `<TopBar>`'s `start`
103
+ slot. A sibling export rather than `TopBar.Brand`, matching this
104
+ catalog's convention. Layout only: a brand that navigates home is a link
105
+ wrapped around it.
106
+
107
+ - **`<Calendar showSiblingDays>`** and **`slotProps.day` as a function of
108
+ the day's state**. The flat object form still type-checks.
109
+
110
+ - **`<Stack>` warns in development** on `direction="column"` and on
111
+ `spacing`, naming the value, the accepted set and the likely intent.
112
+ `spacing` is also pulled out of the spread so it cannot land on the DOM
113
+ as an unknown attribute. Accepting both spellings was the alternative
114
+ and was not taken: a second name for one axis is a fork every consumer,
115
+ theme default and doc example has to pick a side of, forever.
116
+
117
+ ### Fixed
118
+
119
+ - **A selectable sibling-month day in `<Calendar>` failed WCAG contrast**
120
+ (BUG 31): 2.42:1 light and 2.53:1 dark, where the floor for an active
121
+ control's text at 14px is 4.5:1. `neutral-500` clears light and fails
122
+ dark, because it is the pivot of the scale and stays rgb(115,115,115) in
123
+ both themes, so the fix is `neutral-600`.
124
+
125
+ - **Bare `rounded` ignored the radius tokens** (BUG 26), in ten places
126
+ across eight components. The preset extends `borderRadius` and defines
127
+ no `DEFAULT`, so the bare utility keeps Tailwind's hard-coded 0.25rem
128
+ and is immune to the scale by construction. Bare `shadow` is NOT the
129
+ same case and was left alone.
130
+
131
+ - **`<Dialog>` and `<Drawer>` ringed the close button on `:focus`**
132
+ rather than `:focus-visible`, so it lit up on every mouse click
133
+ (BUG 28).
134
+
135
+ - **Radix's hidden input escaped to the `body`** and lengthened the page
136
+ (BUG 36).
137
+
138
+ - **`<Drawer>` sat on MUI's z ladder**, so a `<Dialog>` opened from inside
139
+ it rendered behind (BUG 37).
140
+
141
+ - Eighteen hard-coded font sizes moved onto the new `2xs` token tier, with
142
+ catalog-wide guards against hard-coded colour, shadow and font size, off
143
+ the shared z ladder, and ungated motion.
144
+
145
+ ### Fixed (build)
146
+
147
+ - **A clean checkout could not be built.** `tsBuildInfoFile` sat outside
148
+ `dist`, so deleting `dist` left a valid incremental cache describing
149
+ declarations that no longer existed: `tsc --build` emitted nothing and
150
+ dependents failed with `TS6305`.
151
+
152
+ - **Declaration output is deterministic**, and the published tarball
153
+ dropped from 394 files to 200. Two build steps were writing the same
154
+ declarations in two layouts, and whichever ran last decided what
155
+ shipped.
156
+
15
157
  ## [1.7.1] — 2026-09-25
16
158
 
17
159
  Patch: closes the half of BUG 17 that never reached this package.
@@ -3,10 +3,10 @@ export declare const accordionVariants: import("tailwind-variants").TVReturnType
3
3
  [key: string]: {
4
4
  [key: string]: import("tailwind-merge").ClassNameValue | {
5
5
  content?: import("tailwind-merge").ClassNameValue;
6
+ header?: import("tailwind-merge").ClassNameValue;
6
7
  root?: import("tailwind-merge").ClassNameValue;
7
8
  trigger?: import("tailwind-merge").ClassNameValue;
8
9
  item?: import("tailwind-merge").ClassNameValue;
9
- header?: import("tailwind-merge").ClassNameValue;
10
10
  chevron?: import("tailwind-merge").ClassNameValue;
11
11
  };
12
12
  };
@@ -14,10 +14,10 @@ export declare const accordionVariants: import("tailwind-variants").TVReturnType
14
14
  [x: string]: {
15
15
  [x: string]: import("tailwind-merge").ClassNameValue | {
16
16
  content?: import("tailwind-merge").ClassNameValue;
17
+ header?: import("tailwind-merge").ClassNameValue;
17
18
  root?: import("tailwind-merge").ClassNameValue;
18
19
  trigger?: import("tailwind-merge").ClassNameValue;
19
20
  item?: import("tailwind-merge").ClassNameValue;
20
- header?: import("tailwind-merge").ClassNameValue;
21
21
  chevron?: import("tailwind-merge").ClassNameValue;
22
22
  };
23
23
  };
@@ -32,10 +32,10 @@ export declare const accordionVariants: import("tailwind-variants").TVReturnType
32
32
  [key: string]: {
33
33
  [key: string]: import("tailwind-merge").ClassNameValue | {
34
34
  content?: import("tailwind-merge").ClassNameValue;
35
+ header?: import("tailwind-merge").ClassNameValue;
35
36
  root?: import("tailwind-merge").ClassNameValue;
36
37
  trigger?: import("tailwind-merge").ClassNameValue;
37
38
  item?: import("tailwind-merge").ClassNameValue;
38
- header?: import("tailwind-merge").ClassNameValue;
39
39
  chevron?: import("tailwind-merge").ClassNameValue;
40
40
  };
41
41
  };
@@ -62,6 +62,14 @@ export interface AppShellProps extends AppShellVariants {
62
62
  declare module '@dashforge/tw-tokens' {
63
63
  interface TWComponentDefaults {
64
64
  AppShell?: {
65
+ /**
66
+ * Theme-level variant defaults, same shape as every other component
67
+ * in the catalog. AppShell carried only `slotProps` until the
68
+ * `layout` axis landed (BUG 27), at which point the new axis could
69
+ * be set per instance but not once for the app, which is backwards
70
+ * for a shell.
71
+ */
72
+ defaults?: Partial<AppShellVariants>;
65
73
  slotProps?: AppShellSlotProps;
66
74
  };
67
75
  }
@@ -3,16 +3,33 @@ import { type VariantProps } from 'tailwind-variants';
3
3
  * Tailwind-variants recipe for `<AppShell>`.
4
4
  *
5
5
  * Slots:
6
- * - `root` — outer flex column (full viewport)
6
+ * - `root` — outer flex column
7
7
  * - `header` — top region
8
8
  * - `body` — flex row holding nav + main
9
9
  * - `nav` — desktop nav rail (md+)
10
10
  * - `navMobile` — mobile drawer (slide-in)
11
- * - `main` — scrollable content area
11
+ * - `main` — content area
12
12
  * - `footer` — bottom region
13
13
  * - `backdrop` — semi-opaque overlay behind the mobile drawer
14
+ *
15
+ * Which element scrolls is decided by the `layout` axis, NOT by the
16
+ * slots. Before BUG 27 it was decided by neither: `root` carried
17
+ * `min-h-screen` while `main` carried `overflow-y-auto`, which describe
18
+ * two different layouts, and `min-h-screen` won. The root grew with the
19
+ * content, the window scrolled, and `main` never overflowed, so its
20
+ * `overflow-y-auto` was dead on every page long enough to need it.
14
21
  */
15
22
  export declare const appShellVariants: import("tailwind-variants").TVReturnType<{
23
+ layout: {
24
+ viewport: {
25
+ root: string;
26
+ nav: string;
27
+ main: string;
28
+ };
29
+ page: {
30
+ root: string;
31
+ };
32
+ };
16
33
  navOpen: {
17
34
  true: {
18
35
  navMobile: string;
@@ -29,6 +46,16 @@ export declare const appShellVariants: import("tailwind-variants").TVReturnType<
29
46
  footer: string;
30
47
  backdrop: string[];
31
48
  }, undefined, {
49
+ layout: {
50
+ viewport: {
51
+ root: string;
52
+ nav: string;
53
+ main: string;
54
+ };
55
+ page: {
56
+ root: string;
57
+ };
58
+ };
32
59
  navOpen: {
33
60
  true: {
34
61
  navMobile: string;
@@ -45,6 +72,16 @@ export declare const appShellVariants: import("tailwind-variants").TVReturnType<
45
72
  footer: string;
46
73
  backdrop: string[];
47
74
  }, import("tailwind-variants").TVReturnType<{
75
+ layout: {
76
+ viewport: {
77
+ root: string;
78
+ nav: string;
79
+ main: string;
80
+ };
81
+ page: {
82
+ root: string;
83
+ };
84
+ };
48
85
  navOpen: {
49
86
  true: {
50
87
  navMobile: string;
@@ -12,7 +12,7 @@ import type { BoxVariants } from './box.variants.js';
12
12
  * a layout choice, not a component identity, and would encourage
13
13
  * antipattern global-margin/padding overrides.
14
14
  */
15
- export type BoxVariantProps = Pick<BoxVariants, 'variant' | 'color' | 'elevation' | 'rounded' | 'fullWidth' | 'fullHeight'>;
15
+ export type BoxVariantProps = Pick<BoxVariants, 'variant' | 'color' | 'elevation' | 'rounded' | 'borderStyle' | 'fullWidth' | 'fullHeight'>;
16
16
  declare module '@dashforge/tw-tokens' {
17
17
  interface TWComponentDefaults {
18
18
  Box?: {
@@ -66,6 +66,24 @@ export interface BoxProps extends Omit<HTMLAttributes<HTMLDivElement>, 'classNam
66
66
  * Border-radius identity.
67
67
  * @default 'none'
68
68
  */
69
+ /**
70
+ * Border style, for wireframe and placeholder surfaces (a dashed drop
71
+ * target, a dotted "empty state" frame).
72
+ *
73
+ * Only renders where a border-width already exists: pair it with
74
+ * `variant="outlined"`, which sets one. On `plain` / `elevated` there
75
+ * is no border for the style to apply to.
76
+ *
77
+ * @default undefined (Tailwind's own `solid` applies)
78
+ *
79
+ * @example
80
+ * ```tsx
81
+ * <Box variant="outlined" borderStyle="dashed" rounded="lg" p={4}>
82
+ * Drop a file here
83
+ * </Box>
84
+ * ```
85
+ */
86
+ borderStyle?: BoxVariants['borderStyle'];
69
87
  rounded?: BoxVariants['rounded'];
70
88
  /** Uniform padding — spacing token step. */
71
89
  p?: BoxVariants['p'];
@@ -68,6 +68,12 @@ export declare const boxVariants: import("tailwind-variants").TVReturnType<{
68
68
  4: string;
69
69
  5: string;
70
70
  };
71
+ borderStyle: {
72
+ solid: string;
73
+ dashed: string;
74
+ dotted: string;
75
+ double: string;
76
+ };
71
77
  rounded: {
72
78
  none: string;
73
79
  sm: string;
@@ -186,6 +192,12 @@ export declare const boxVariants: import("tailwind-variants").TVReturnType<{
186
192
  4: string;
187
193
  5: string;
188
194
  };
195
+ borderStyle: {
196
+ solid: string;
197
+ dashed: string;
198
+ dotted: string;
199
+ double: string;
200
+ };
189
201
  rounded: {
190
202
  none: string;
191
203
  sm: string;
@@ -304,6 +316,12 @@ export declare const boxVariants: import("tailwind-variants").TVReturnType<{
304
316
  4: string;
305
317
  5: string;
306
318
  };
319
+ borderStyle: {
320
+ solid: string;
321
+ dashed: string;
322
+ dotted: string;
323
+ double: string;
324
+ };
307
325
  rounded: {
308
326
  none: string;
309
327
  sm: string;
@@ -70,6 +70,27 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
70
70
  * click handlers, and set `aria-busy="true"`.
71
71
  * @default false
72
72
  */
73
+ /**
74
+ * Toggle state. Pass it and the button becomes a toggle: `aria-pressed`
75
+ * is emitted so assistive tech announces on/off, and the "on" look is
76
+ * painted. Leave it out and nothing changes, including the ARIA: a plain
77
+ * button must not be announced as a toggle.
78
+ *
79
+ * The "on" treatment is LeftNav's active-row shape, so a pressed button
80
+ * and a current nav item read the same. `variant="link"` is the one
81
+ * exception: it gets the ARIA but no background, because a surface behind
82
+ * inline text fights the underline.
83
+ *
84
+ * @default undefined
85
+ *
86
+ * @example
87
+ * ```tsx
88
+ * <Button variant="ghost" pressed={bold} onClick={() => setBold(!bold)}>
89
+ * Bold
90
+ * </Button>
91
+ * ```
92
+ */
93
+ pressed?: boolean;
73
94
  loading?: ButtonVariants['loading'];
74
95
  /**
75
96
  * Stretch the button to fill its container's width (`w-full`).
@@ -37,6 +37,13 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
37
37
  success: string;
38
38
  warning: string;
39
39
  danger: string;
40
+ /**
41
+ * For a surface that is dark regardless of the theme: a dark hero,
42
+ * an ink footer, an inverted panel. Reads the theme-invariant
43
+ * `inverse` token role, so it does NOT flip with light/dark the way
44
+ * a `neutral`-based treatment would. See kensaadi/dashforge#140.
45
+ */
46
+ inverse: string;
40
47
  };
41
48
  size: {
42
49
  sm: string;
@@ -49,6 +56,19 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
49
56
  loading: {
50
57
  true: string;
51
58
  };
59
+ /**
60
+ * Toggle state. Styling lives in `compoundVariants` because "on" reads
61
+ * differently on a filled button than on a quiet one: the quiet
62
+ * variants gain a surface, `solid` deepens the one it already has.
63
+ *
64
+ * The treatment is not invented. It is LeftNav's `itemActive`
65
+ * (`bg-*-100 text-*-900 font-medium`), the catalog's existing way of
66
+ * saying "this is the current thing". kensaadi/dashforge#63 gap C.
67
+ */
68
+ pressed: {
69
+ true: string;
70
+ false: string;
71
+ };
52
72
  }, undefined, string[], {
53
73
  variant: {
54
74
  solid: string;
@@ -62,6 +82,13 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
62
82
  success: string;
63
83
  warning: string;
64
84
  danger: string;
85
+ /**
86
+ * For a surface that is dark regardless of the theme: a dark hero,
87
+ * an ink footer, an inverted panel. Reads the theme-invariant
88
+ * `inverse` token role, so it does NOT flip with light/dark the way
89
+ * a `neutral`-based treatment would. See kensaadi/dashforge#140.
90
+ */
91
+ inverse: string;
65
92
  };
66
93
  size: {
67
94
  sm: string;
@@ -74,6 +101,19 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
74
101
  loading: {
75
102
  true: string;
76
103
  };
104
+ /**
105
+ * Toggle state. Styling lives in `compoundVariants` because "on" reads
106
+ * differently on a filled button than on a quiet one: the quiet
107
+ * variants gain a surface, `solid` deepens the one it already has.
108
+ *
109
+ * The treatment is not invented. It is LeftNav's `itemActive`
110
+ * (`bg-*-100 text-*-900 font-medium`), the catalog's existing way of
111
+ * saying "this is the current thing". kensaadi/dashforge#63 gap C.
112
+ */
113
+ pressed: {
114
+ true: string;
115
+ false: string;
116
+ };
77
117
  }, undefined, import("tailwind-variants").TVReturnType<{
78
118
  variant: {
79
119
  solid: string;
@@ -87,6 +127,13 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
87
127
  success: string;
88
128
  warning: string;
89
129
  danger: string;
130
+ /**
131
+ * For a surface that is dark regardless of the theme: a dark hero,
132
+ * an ink footer, an inverted panel. Reads the theme-invariant
133
+ * `inverse` token role, so it does NOT flip with light/dark the way
134
+ * a `neutral`-based treatment would. See kensaadi/dashforge#140.
135
+ */
136
+ inverse: string;
90
137
  };
91
138
  size: {
92
139
  sm: string;
@@ -99,6 +146,19 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
99
146
  loading: {
100
147
  true: string;
101
148
  };
149
+ /**
150
+ * Toggle state. Styling lives in `compoundVariants` because "on" reads
151
+ * differently on a filled button than on a quiet one: the quiet
152
+ * variants gain a surface, `solid` deepens the one it already has.
153
+ *
154
+ * The treatment is not invented. It is LeftNav's `itemActive`
155
+ * (`bg-*-100 text-*-900 font-medium`), the catalog's existing way of
156
+ * saying "this is the current thing". kensaadi/dashforge#63 gap C.
157
+ */
158
+ pressed: {
159
+ true: string;
160
+ false: string;
161
+ };
102
162
  }, undefined, string[], unknown, unknown, undefined>>;
103
163
  export type ButtonVariants = VariantProps<typeof buttonVariants>;
104
164
  //# sourceMappingURL=button.variants.d.ts.map
@@ -15,6 +15,27 @@ declare module '@dashforge/tw-tokens' {
15
15
  };
16
16
  }
17
17
  }
18
+ /**
19
+ * The four booleans the day recipe is keyed on, handed to a functional
20
+ * `slotProps.day` so a consumer can restyle ONE state without touching the
21
+ * others.
22
+ *
23
+ * Before this existed, `slotProps.day.className` was a flat string applied
24
+ * to all 42 cells, so an app that wanted, say, sibling-month days to read
25
+ * as selectable had to restyle every cell identically (which also erased
26
+ * the disabled treatment), reach into the DOM after render, or fork the
27
+ * component. See README-BUG § BUG 31.
28
+ */
29
+ export interface CalendarDayState {
30
+ /** The cell belongs to the previous or next month. */
31
+ siblingMonth: boolean;
32
+ /** The cell is today. */
33
+ today: boolean;
34
+ /** The cell is the selected date. */
35
+ selected: boolean;
36
+ /** The cell cannot be picked (outside min/max, or explicitly disabled). */
37
+ disabled: boolean;
38
+ }
18
39
  /** Per-slot `className` overrides for `<Calendar>`. */
19
40
  export interface CalendarSlotProps {
20
41
  root?: {
@@ -26,10 +47,26 @@ export interface CalendarSlotProps {
26
47
  grid?: {
27
48
  className?: string;
28
49
  };
29
- /** Applied to every day-cell button. */
50
+ /**
51
+ * Applied to every day-cell button.
52
+ *
53
+ * Accepts either a flat object, which lands on all 42 cells, or a
54
+ * function of the cell's state, which is what lets a theme address a
55
+ * single state. Passing an object keeps working unchanged.
56
+ *
57
+ * @example
58
+ * ```tsx
59
+ * slotProps={{
60
+ * day: ({ siblingMonth }) =>
61
+ * siblingMonth ? { className: 'opacity-100 text-neutral-500' } : {},
62
+ * }}
63
+ * ```
64
+ */
30
65
  day?: {
31
66
  className?: string;
32
- };
67
+ } | ((state: CalendarDayState) => {
68
+ className?: string;
69
+ } | undefined);
33
70
  }
34
71
  /**
35
72
  * Props for the `<Calendar>` primitive — a standalone, inline month grid.
@@ -74,6 +111,19 @@ export interface CalendarProps {
74
111
  today?: ISODate;
75
112
  /** Disables the whole calendar. */
76
113
  disabled?: boolean;
114
+ /**
115
+ * Render the leading and trailing cells that belong to the neighbouring
116
+ * months. Default `true`, which is the convention React Day Picker, MUI's
117
+ * `DateCalendar` and the native pickers all follow.
118
+ *
119
+ * Set `false` and those cells become empty placeholders that keep the
120
+ * 7-column geometry. Worth doing for any form where "a day of the next
121
+ * month" is not a distinct concept, because a muted-but-selectable day
122
+ * reads as unavailable at a glance. See README-BUG § BUG 31.
123
+ *
124
+ * @default true
125
+ */
126
+ showSiblingDays?: boolean;
77
127
  /** Moves DOM focus to the active day cell on mount. */
78
128
  autoFocus?: boolean;
79
129
  /** Accessible label for the grid. Default `"Calendar"`. */
@@ -107,6 +107,48 @@ export interface ChipProps {
107
107
  * @default 'Remove'
108
108
  */
109
109
  deleteLabel?: string;
110
+ /**
111
+ * Makes the chip a native drag source: sets the `draggable` attribute and
112
+ * the grab cursor. Use it for a palette of items dragged onto a canvas,
113
+ * which is the shape `<Stack>` + `<Chip>` already composes; what was
114
+ * missing was only the affordance and the event.
115
+ *
116
+ * Native HTML5 drag-and-drop, so no dnd dependency is pulled in and the
117
+ * `dataTransfer` payload stays yours to define in `onDragStart`.
118
+ *
119
+ * ⚠️ **A drag is a pointer gesture and nothing else.** Native DnD is not
120
+ * keyboard operable, so a chip whose ONLY route is dragging fails WCAG
121
+ * 2.1.1 in your app. Give the same action a second path: an `onClick`
122
+ * that adds the item, a context menu, a button beside the palette. The
123
+ * library cannot supply that for you, and it will not pretend otherwise.
124
+ *
125
+ * @default undefined
126
+ *
127
+ * @example
128
+ * ```tsx
129
+ * <Chip
130
+ * label="Heading"
131
+ * draggable
132
+ * onDragStart={(e) => e.dataTransfer.setData('text/plain', 'heading')}
133
+ * onClick={() => insertAtCursor('heading')}
134
+ * />
135
+ * ```
136
+ */
137
+ draggable?: boolean;
138
+ /**
139
+ * Fires when a drag begins. Set the `dataTransfer` payload here.
140
+ * Only meaningful together with `draggable`.
141
+ *
142
+ * @default undefined
143
+ */
144
+ onDragStart?: (event: React.DragEvent<HTMLElement>) => void;
145
+ /**
146
+ * Fires when the drag ends, whether it was dropped or abandoned. Use it
147
+ * to clear any drag-in-progress state.
148
+ *
149
+ * @default undefined
150
+ */
151
+ onDragEnd?: (event: React.DragEvent<HTMLElement>) => void;
110
152
  /**
111
153
  * Reactive visibility predicate. Re-evaluated on every engine state
112
154
  * change when the chip is mounted inside a `<DashForm>`; outside
@@ -61,6 +61,9 @@ export declare const chipVariants: import("tailwind-variants").TVReturnType<{
61
61
  * Compound rules below apply the actual shift per (variant, color)
62
62
  * cell.
63
63
  */
64
+ draggable: {
65
+ true: string;
66
+ };
64
67
  selected: {
65
68
  true: string;
66
69
  };
@@ -102,6 +105,9 @@ export declare const chipVariants: import("tailwind-variants").TVReturnType<{
102
105
  * Compound rules below apply the actual shift per (variant, color)
103
106
  * cell.
104
107
  */
108
+ draggable: {
109
+ true: string;
110
+ };
105
111
  selected: {
106
112
  true: string;
107
113
  };
@@ -143,6 +149,9 @@ export declare const chipVariants: import("tailwind-variants").TVReturnType<{
143
149
  * Compound rules below apply the actual shift per (variant, color)
144
150
  * cell.
145
151
  */
152
+ draggable: {
153
+ true: string;
154
+ };
146
155
  selected: {
147
156
  true: string;
148
157
  };
@@ -1,4 +1,6 @@
1
1
  import type { ElementType, HTMLAttributes } from 'react';
2
+ import type { Engine } from '@dashforge/ui-core';
3
+ import type { AccessRequirement } from '@dashforge/rbac';
2
4
  /**
3
5
  * Grid types — discriminated union for container vs item role.
4
6
  *
@@ -94,6 +96,46 @@ interface GridCommonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'classNam
94
96
  asChild?: boolean;
95
97
  /** Utility-class override, merged via tailwind-merge. */
96
98
  sx?: string;
99
+ /**
100
+ * Reactive visibility predicate. When it returns `false` the component
101
+ * renders `null`. Inside a `<DashForm>` it subscribes reactively to
102
+ * engine state; outside a form it is evaluated as a plain closure.
103
+ *
104
+ * Use it for state-driven hiding. **For permission-driven hiding prefer
105
+ * `access` with `onUnauthorized: 'hide'`**, which is the semantically
106
+ * correct path and surfaces properly in RBAC dev tools.
107
+ *
108
+ * @default undefined
109
+ *
110
+ * @example
111
+ * ```tsx
112
+ * <Grid visibleWhen={() => pendingCount > 0}>
113
+ * <Typography variant="h3">{pendingCount} pending</Typography>
114
+ * </Grid>
115
+ * ```
116
+ */
117
+ visibleWhen?: (engine: Engine) => boolean;
118
+ /**
119
+ * RBAC requirement, evaluated by the centralized `@dashforge/rbac`
120
+ * policy engine. Brings Grid to parity with `<Box>`, which has
121
+ * carried both props since 1.1.0.
122
+ *
123
+ * - `onUnauthorized: 'hide'` → does not render
124
+ * - `onUnauthorized: 'disable'` → `aria-disabled` + dimmed; interactive
125
+ * children derive their own state from `data-disabled` or carry their
126
+ * own `access`
127
+ * - `onUnauthorized: 'readonly'` → `aria-readonly`, for gated sections
128
+ *
129
+ * @default undefined
130
+ *
131
+ * @example
132
+ * ```tsx
133
+ * <Grid access={{ resource: 'billing', action: 'read', onUnauthorized: 'hide' }}>
134
+ * <RevenueCard />
135
+ * </Grid>
136
+ * ```
137
+ */
138
+ access?: AccessRequirement;
97
139
  }
98
140
  /**
99
141
  * `<Grid>` props — discriminated union: container OR item, never both.