@dashforge/tw 1.0.0 → 1.1.1

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 (692) hide show
  1. package/CHANGELOG.md +241 -0
  2. package/README.md +74 -15
  3. package/dist/index.d.ts +1 -146
  4. package/dist/index.esm.js +3127 -748
  5. package/dist/src/components/Alert/Alert.d.ts +65 -0
  6. package/dist/src/components/Alert/Alert.d.ts.map +1 -0
  7. package/dist/src/components/Alert/alert.types.d.ts +130 -0
  8. package/dist/src/components/Alert/alert.types.d.ts.map +1 -0
  9. package/dist/src/components/Alert/alert.variants.d.ts +85 -0
  10. package/dist/src/components/Alert/alert.variants.d.ts.map +1 -0
  11. package/dist/src/components/Avatar/Avatar.d.ts +48 -0
  12. package/dist/src/components/Avatar/Avatar.d.ts.map +1 -0
  13. package/dist/src/components/Avatar/avatar.types.d.ts +162 -0
  14. package/dist/src/components/Avatar/avatar.types.d.ts.map +1 -0
  15. package/dist/src/components/Avatar/avatar.variants.d.ts +208 -0
  16. package/dist/src/components/Avatar/avatar.variants.d.ts.map +1 -0
  17. package/dist/src/components/Badge/Badge.d.ts +63 -0
  18. package/dist/src/components/Badge/Badge.d.ts.map +1 -0
  19. package/dist/src/components/Badge/badge.types.d.ts +124 -0
  20. package/dist/src/components/Badge/badge.types.d.ts.map +1 -0
  21. package/dist/src/components/Badge/badge.variants.d.ts +262 -0
  22. package/dist/src/components/Badge/badge.variants.d.ts.map +1 -0
  23. package/dist/src/components/Box/Box.d.ts.map +1 -1
  24. package/dist/src/components/Box/box.types.d.ts +53 -0
  25. package/dist/src/components/Box/box.types.d.ts.map +1 -1
  26. package/dist/src/components/Button/Button.d.ts.map +1 -1
  27. package/dist/src/components/Button/button.types.d.ts +35 -0
  28. package/dist/src/components/Button/button.types.d.ts.map +1 -1
  29. package/dist/src/components/Card/Card.d.ts +107 -0
  30. package/dist/src/components/Card/Card.d.ts.map +1 -0
  31. package/dist/src/components/Card/card.types.d.ts +119 -0
  32. package/dist/src/components/Card/card.types.d.ts.map +1 -0
  33. package/dist/src/components/Chip/Chip.d.ts +67 -0
  34. package/dist/src/components/Chip/Chip.d.ts.map +1 -0
  35. package/dist/src/components/Chip/chip.types.d.ts +113 -0
  36. package/dist/src/components/Chip/chip.types.d.ts.map +1 -0
  37. package/dist/src/components/Chip/chip.variants.d.ts +155 -0
  38. package/dist/src/components/Chip/chip.variants.d.ts.map +1 -0
  39. package/dist/src/components/IconButton/IconButton.d.ts +57 -0
  40. package/dist/src/components/IconButton/IconButton.d.ts.map +1 -0
  41. package/dist/src/components/IconButton/iconButton.types.d.ts +96 -0
  42. package/dist/src/components/IconButton/iconButton.types.d.ts.map +1 -0
  43. package/dist/src/components/IconButton/iconButton.variants.d.ts +26 -0
  44. package/dist/src/components/IconButton/iconButton.variants.d.ts.map +1 -0
  45. package/dist/src/components/Menu/Menu.d.ts +118 -0
  46. package/dist/src/components/Menu/Menu.d.ts.map +1 -0
  47. package/dist/src/components/Menu/menu.types.d.ts +179 -0
  48. package/dist/src/components/Menu/menu.types.d.ts.map +1 -0
  49. package/dist/src/components/Menu/menu.variants.d.ts +129 -0
  50. package/dist/src/components/Menu/menu.variants.d.ts.map +1 -0
  51. package/dist/src/components/Snackbar/Snackbar.d.ts.map +1 -1
  52. package/dist/src/components/Snackbar/snackbar.types.d.ts +40 -3
  53. package/dist/src/components/Snackbar/snackbar.types.d.ts.map +1 -1
  54. package/dist/src/components/Snackbar/snackbar.variants.d.ts +12 -57
  55. package/dist/src/components/Snackbar/snackbar.variants.d.ts.map +1 -1
  56. package/dist/src/components/Spinner/Spinner.d.ts +44 -0
  57. package/dist/src/components/Spinner/Spinner.d.ts.map +1 -0
  58. package/dist/src/components/Spinner/spinner.types.d.ts +89 -0
  59. package/dist/src/components/Spinner/spinner.types.d.ts.map +1 -0
  60. package/dist/src/components/Spinner/spinner.variants.d.ts +111 -0
  61. package/dist/src/components/Spinner/spinner.variants.d.ts.map +1 -0
  62. package/dist/src/components/Table/cells/RenderChip.d.ts +15 -72
  63. package/dist/src/components/Table/cells/RenderChip.d.ts.map +1 -1
  64. package/dist/src/components/_shared/severity/index.d.ts +21 -0
  65. package/dist/src/components/_shared/severity/index.d.ts.map +1 -0
  66. package/dist/src/components/_shared/severity/severity.types.d.ts +48 -0
  67. package/dist/src/components/_shared/severity/severity.types.d.ts.map +1 -0
  68. package/dist/src/components/_shared/severity/severityIcons.d.ts +45 -0
  69. package/dist/src/components/_shared/severity/severityIcons.d.ts.map +1 -0
  70. package/dist/src/components/_shared/severity/severityVariants.d.ts +22 -0
  71. package/dist/src/components/_shared/severity/severityVariants.d.ts.map +1 -0
  72. package/dist/src/index.d.ts +27 -2
  73. package/dist/src/index.d.ts.map +1 -1
  74. package/package.json +9 -3
  75. package/.swcrc +0 -29
  76. package/A11Y.md +0 -130
  77. package/CONSUMER-VALIDATION.md +0 -130
  78. package/COVERAGE.md +0 -63
  79. package/LICENSE +0 -21
  80. package/PARITY.md +0 -481
  81. package/PERFORMANCE.md +0 -227
  82. package/REFINEMENT-NOTES.md +0 -50
  83. package/THEME-AUDIT.md +0 -174
  84. package/dist/components/Accordion/Accordion.d.ts +0 -21
  85. package/dist/components/Accordion/Accordion.d.ts.map +0 -1
  86. package/dist/components/Accordion/accordion.types.d.ts +0 -74
  87. package/dist/components/Accordion/accordion.types.d.ts.map +0 -1
  88. package/dist/components/Accordion/accordion.variants.d.ts +0 -58
  89. package/dist/components/Accordion/accordion.variants.d.ts.map +0 -1
  90. package/dist/components/AppShell/AppShell.d.ts +0 -46
  91. package/dist/components/AppShell/AppShell.d.ts.map +0 -1
  92. package/dist/components/AppShell/appShell.types.d.ts +0 -62
  93. package/dist/components/AppShell/appShell.types.d.ts.map +0 -1
  94. package/dist/components/AppShell/appShell.variants.d.ts +0 -65
  95. package/dist/components/AppShell/appShell.variants.d.ts.map +0 -1
  96. package/dist/components/AspectRatio/AspectRatio.d.ts +0 -36
  97. package/dist/components/AspectRatio/AspectRatio.d.ts.map +0 -1
  98. package/dist/components/AspectRatio/aspectRatio.types.d.ts +0 -50
  99. package/dist/components/AspectRatio/aspectRatio.types.d.ts.map +0 -1
  100. package/dist/components/Autocomplete/Autocomplete.d.ts +0 -32
  101. package/dist/components/Autocomplete/Autocomplete.d.ts.map +0 -1
  102. package/dist/components/Autocomplete/autocomplete.types.d.ts +0 -214
  103. package/dist/components/Autocomplete/autocomplete.types.d.ts.map +0 -1
  104. package/dist/components/Autocomplete/autocomplete.variants.d.ts +0 -214
  105. package/dist/components/Autocomplete/autocomplete.variants.d.ts.map +0 -1
  106. package/dist/components/Box/Box.d.ts +0 -36
  107. package/dist/components/Box/Box.d.ts.map +0 -1
  108. package/dist/components/Box/box.types.d.ts +0 -54
  109. package/dist/components/Box/box.types.d.ts.map +0 -1
  110. package/dist/components/Box/box.variants.d.ts +0 -402
  111. package/dist/components/Box/box.variants.d.ts.map +0 -1
  112. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +0 -23
  113. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +0 -1
  114. package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts +0 -98
  115. package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts.map +0 -1
  116. package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts +0 -85
  117. package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts.map +0 -1
  118. package/dist/components/Button/Button.d.ts +0 -44
  119. package/dist/components/Button/Button.d.ts.map +0 -1
  120. package/dist/components/Button/button.types.d.ts +0 -66
  121. package/dist/components/Button/button.types.d.ts.map +0 -1
  122. package/dist/components/Button/button.variants.d.ts +0 -104
  123. package/dist/components/Button/button.variants.d.ts.map +0 -1
  124. package/dist/components/Calendar/Calendar.d.ts +0 -14
  125. package/dist/components/Calendar/Calendar.d.ts.map +0 -1
  126. package/dist/components/Calendar/calendar.types.d.ts +0 -72
  127. package/dist/components/Calendar/calendar.types.d.ts.map +0 -1
  128. package/dist/components/Calendar/calendar.variants.d.ts +0 -99
  129. package/dist/components/Calendar/calendar.variants.d.ts.map +0 -1
  130. package/dist/components/Checkbox/Checkbox.d.ts +0 -31
  131. package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
  132. package/dist/components/Checkbox/checkbox.types.d.ts +0 -86
  133. package/dist/components/Checkbox/checkbox.types.d.ts.map +0 -1
  134. package/dist/components/Checkbox/checkbox.variants.d.ts +0 -109
  135. package/dist/components/Checkbox/checkbox.variants.d.ts.map +0 -1
  136. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +0 -38
  137. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +0 -1
  138. package/dist/components/ConfirmDialog/confirmDialog.types.d.ts +0 -80
  139. package/dist/components/ConfirmDialog/confirmDialog.types.d.ts.map +0 -1
  140. package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts +0 -90
  141. package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts.map +0 -1
  142. package/dist/components/Container/Container.d.ts +0 -35
  143. package/dist/components/Container/Container.d.ts.map +0 -1
  144. package/dist/components/Container/container.types.d.ts +0 -41
  145. package/dist/components/Container/container.types.d.ts.map +0 -1
  146. package/dist/components/Container/container.variants.d.ts +0 -93
  147. package/dist/components/Container/container.variants.d.ts.map +0 -1
  148. package/dist/components/DataGrid/DataGrid.d.ts +0 -29
  149. package/dist/components/DataGrid/DataGrid.d.ts.map +0 -1
  150. package/dist/components/DataGrid/dataGrid.types.d.ts +0 -214
  151. package/dist/components/DataGrid/dataGrid.types.d.ts.map +0 -1
  152. package/dist/components/DataGrid/dataGrid.variants.d.ts +0 -222
  153. package/dist/components/DataGrid/dataGrid.variants.d.ts.map +0 -1
  154. package/dist/components/DataGrid/filters/ColumnFilters.d.ts +0 -23
  155. package/dist/components/DataGrid/filters/ColumnFilters.d.ts.map +0 -1
  156. package/dist/components/DataGrid/reorder/useColumnReorder.d.ts +0 -50
  157. package/dist/components/DataGrid/reorder/useColumnReorder.d.ts.map +0 -1
  158. package/dist/components/DataGrid/resize/useColumnResize.d.ts +0 -39
  159. package/dist/components/DataGrid/resize/useColumnResize.d.ts.map +0 -1
  160. package/dist/components/DataGrid/visibility/ColumnVisibilityMenu.d.ts +0 -44
  161. package/dist/components/DataGrid/visibility/ColumnVisibilityMenu.d.ts.map +0 -1
  162. package/dist/components/DatePicker/DatePicker.d.ts +0 -14
  163. package/dist/components/DatePicker/DatePicker.d.ts.map +0 -1
  164. package/dist/components/DatePicker/datePicker.types.d.ts +0 -88
  165. package/dist/components/DatePicker/datePicker.types.d.ts.map +0 -1
  166. package/dist/components/DatePicker/datePicker.variants.d.ts +0 -97
  167. package/dist/components/DatePicker/datePicker.variants.d.ts.map +0 -1
  168. package/dist/components/DateRangePicker/DateRangePicker.d.ts +0 -13
  169. package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +0 -1
  170. package/dist/components/DateRangePicker/dateRangePicker.types.d.ts +0 -85
  171. package/dist/components/DateRangePicker/dateRangePicker.types.d.ts.map +0 -1
  172. package/dist/components/DateRangePicker/dateRangePicker.variants.d.ts +0 -183
  173. package/dist/components/DateRangePicker/dateRangePicker.variants.d.ts.map +0 -1
  174. package/dist/components/DateTimePicker/DateTimePicker.d.ts +0 -13
  175. package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +0 -1
  176. package/dist/components/DateTimePicker/dateTimePicker.types.d.ts +0 -90
  177. package/dist/components/DateTimePicker/dateTimePicker.types.d.ts.map +0 -1
  178. package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts +0 -107
  179. package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts.map +0 -1
  180. package/dist/components/Dialog/Dialog.d.ts +0 -17
  181. package/dist/components/Dialog/Dialog.d.ts.map +0 -1
  182. package/dist/components/Dialog/dialog.types.d.ts +0 -75
  183. package/dist/components/Dialog/dialog.types.d.ts.map +0 -1
  184. package/dist/components/Dialog/dialog.variants.d.ts +0 -80
  185. package/dist/components/Dialog/dialog.variants.d.ts.map +0 -1
  186. package/dist/components/Divider/Divider.d.ts +0 -50
  187. package/dist/components/Divider/Divider.d.ts.map +0 -1
  188. package/dist/components/Divider/divider.types.d.ts +0 -47
  189. package/dist/components/Divider/divider.types.d.ts.map +0 -1
  190. package/dist/components/Divider/divider.variants.d.ts +0 -129
  191. package/dist/components/Divider/divider.variants.d.ts.map +0 -1
  192. package/dist/components/Grid/Grid.d.ts +0 -32
  193. package/dist/components/Grid/Grid.d.ts.map +0 -1
  194. package/dist/components/Grid/grid.types.d.ts +0 -103
  195. package/dist/components/Grid/grid.types.d.ts.map +0 -1
  196. package/dist/components/Grid/grid.variants.d.ts +0 -453
  197. package/dist/components/Grid/grid.variants.d.ts.map +0 -1
  198. package/dist/components/LeftNav/LeftNav.d.ts +0 -34
  199. package/dist/components/LeftNav/LeftNav.d.ts.map +0 -1
  200. package/dist/components/LeftNav/leftNav.types.d.ts +0 -136
  201. package/dist/components/LeftNav/leftNav.types.d.ts.map +0 -1
  202. package/dist/components/LeftNav/leftNav.variants.d.ts +0 -143
  203. package/dist/components/LeftNav/leftNav.variants.d.ts.map +0 -1
  204. package/dist/components/NumberField/NumberField.d.ts +0 -18
  205. package/dist/components/NumberField/NumberField.d.ts.map +0 -1
  206. package/dist/components/NumberField/numberField.types.d.ts +0 -79
  207. package/dist/components/NumberField/numberField.types.d.ts.map +0 -1
  208. package/dist/components/NumberField/numberField.variants.d.ts +0 -169
  209. package/dist/components/NumberField/numberField.variants.d.ts.map +0 -1
  210. package/dist/components/OTPField/OTPField.d.ts +0 -25
  211. package/dist/components/OTPField/OTPField.d.ts.map +0 -1
  212. package/dist/components/OTPField/otpField.types.d.ts +0 -74
  213. package/dist/components/OTPField/otpField.types.d.ts.map +0 -1
  214. package/dist/components/OTPField/otpField.variants.d.ts +0 -105
  215. package/dist/components/OTPField/otpField.variants.d.ts.map +0 -1
  216. package/dist/components/Pagination/Pagination.d.ts +0 -32
  217. package/dist/components/Pagination/Pagination.d.ts.map +0 -1
  218. package/dist/components/Pagination/pagination.helpers.d.ts +0 -23
  219. package/dist/components/Pagination/pagination.helpers.d.ts.map +0 -1
  220. package/dist/components/Pagination/pagination.types.d.ts +0 -120
  221. package/dist/components/Pagination/pagination.types.d.ts.map +0 -1
  222. package/dist/components/Pagination/pagination.variants.d.ts +0 -150
  223. package/dist/components/Pagination/pagination.variants.d.ts.map +0 -1
  224. package/dist/components/Popover/Popover.d.ts +0 -15
  225. package/dist/components/Popover/Popover.d.ts.map +0 -1
  226. package/dist/components/Popover/popover.types.d.ts +0 -45
  227. package/dist/components/Popover/popover.types.d.ts.map +0 -1
  228. package/dist/components/Popover/popover.variants.d.ts +0 -34
  229. package/dist/components/Popover/popover.variants.d.ts.map +0 -1
  230. package/dist/components/RadioGroup/RadioGroup.d.ts +0 -35
  231. package/dist/components/RadioGroup/RadioGroup.d.ts.map +0 -1
  232. package/dist/components/RadioGroup/radioGroup.types.d.ts +0 -103
  233. package/dist/components/RadioGroup/radioGroup.types.d.ts.map +0 -1
  234. package/dist/components/RadioGroup/radioGroup.variants.d.ts +0 -166
  235. package/dist/components/RadioGroup/radioGroup.variants.d.ts.map +0 -1
  236. package/dist/components/Skeleton/Skeleton.d.ts +0 -23
  237. package/dist/components/Skeleton/Skeleton.d.ts.map +0 -1
  238. package/dist/components/Skeleton/skeleton.types.d.ts +0 -56
  239. package/dist/components/Skeleton/skeleton.types.d.ts.map +0 -1
  240. package/dist/components/Skeleton/skeleton.variants.d.ts +0 -110
  241. package/dist/components/Skeleton/skeleton.variants.d.ts.map +0 -1
  242. package/dist/components/Snackbar/Snackbar.d.ts +0 -37
  243. package/dist/components/Snackbar/Snackbar.d.ts.map +0 -1
  244. package/dist/components/Snackbar/snackbar.types.d.ts +0 -86
  245. package/dist/components/Snackbar/snackbar.types.d.ts.map +0 -1
  246. package/dist/components/Snackbar/snackbar.variants.d.ts +0 -153
  247. package/dist/components/Snackbar/snackbar.variants.d.ts.map +0 -1
  248. package/dist/components/Stack/Stack.d.ts +0 -24
  249. package/dist/components/Stack/Stack.d.ts.map +0 -1
  250. package/dist/components/Stack/stack.types.d.ts +0 -61
  251. package/dist/components/Stack/stack.types.d.ts.map +0 -1
  252. package/dist/components/Stack/stack.variants.d.ts +0 -163
  253. package/dist/components/Stack/stack.variants.d.ts.map +0 -1
  254. package/dist/components/Switch/Switch.d.ts +0 -15
  255. package/dist/components/Switch/Switch.d.ts.map +0 -1
  256. package/dist/components/Switch/switch.types.d.ts +0 -47
  257. package/dist/components/Switch/switch.types.d.ts.map +0 -1
  258. package/dist/components/Switch/switch.variants.d.ts +0 -105
  259. package/dist/components/Switch/switch.variants.d.ts.map +0 -1
  260. package/dist/components/Table/Table.d.ts +0 -24
  261. package/dist/components/Table/Table.d.ts.map +0 -1
  262. package/dist/components/Table/cells/RenderButton.d.ts +0 -13
  263. package/dist/components/Table/cells/RenderButton.d.ts.map +0 -1
  264. package/dist/components/Table/cells/RenderChip.d.ts +0 -80
  265. package/dist/components/Table/cells/RenderChip.d.ts.map +0 -1
  266. package/dist/components/Table/cells/RenderText.d.ts +0 -21
  267. package/dist/components/Table/cells/RenderText.d.ts.map +0 -1
  268. package/dist/components/Table/cells/RenderTwoLine.d.ts +0 -20
  269. package/dist/components/Table/cells/RenderTwoLine.d.ts.map +0 -1
  270. package/dist/components/Table/cells/RowActionsMenu.d.ts +0 -36
  271. package/dist/components/Table/cells/RowActionsMenu.d.ts.map +0 -1
  272. package/dist/components/Table/cells/index.d.ts +0 -11
  273. package/dist/components/Table/cells/index.d.ts.map +0 -1
  274. package/dist/components/Table/table.types.d.ts +0 -399
  275. package/dist/components/Table/table.types.d.ts.map +0 -1
  276. package/dist/components/Table/table.variants.d.ts +0 -285
  277. package/dist/components/Table/table.variants.d.ts.map +0 -1
  278. package/dist/components/Tabs/Tabs.d.ts +0 -19
  279. package/dist/components/Tabs/Tabs.d.ts.map +0 -1
  280. package/dist/components/Tabs/tabs.types.d.ts +0 -61
  281. package/dist/components/Tabs/tabs.types.d.ts.map +0 -1
  282. package/dist/components/Tabs/tabs.variants.d.ts +0 -82
  283. package/dist/components/Tabs/tabs.variants.d.ts.map +0 -1
  284. package/dist/components/Tabs/useTabs.d.ts +0 -55
  285. package/dist/components/Tabs/useTabs.d.ts.map +0 -1
  286. package/dist/components/TextField/TextField.d.ts +0 -25
  287. package/dist/components/TextField/TextField.d.ts.map +0 -1
  288. package/dist/components/TextField/textField.types.d.ts +0 -98
  289. package/dist/components/TextField/textField.types.d.ts.map +0 -1
  290. package/dist/components/TextField/textField.variants.d.ts +0 -166
  291. package/dist/components/TextField/textField.variants.d.ts.map +0 -1
  292. package/dist/components/Textarea/Textarea.d.ts +0 -16
  293. package/dist/components/Textarea/Textarea.d.ts.map +0 -1
  294. package/dist/components/Textarea/textarea.types.d.ts +0 -63
  295. package/dist/components/Textarea/textarea.types.d.ts.map +0 -1
  296. package/dist/components/Textarea/textarea.variants.d.ts +0 -197
  297. package/dist/components/Textarea/textarea.variants.d.ts.map +0 -1
  298. package/dist/components/TimePicker/TimePicker.d.ts +0 -12
  299. package/dist/components/TimePicker/TimePicker.d.ts.map +0 -1
  300. package/dist/components/TimePicker/timePicker.types.d.ts +0 -80
  301. package/dist/components/TimePicker/timePicker.types.d.ts.map +0 -1
  302. package/dist/components/TimePicker/timePicker.variants.d.ts +0 -103
  303. package/dist/components/TimePicker/timePicker.variants.d.ts.map +0 -1
  304. package/dist/components/Tooltip/Tooltip.d.ts +0 -29
  305. package/dist/components/Tooltip/Tooltip.d.ts.map +0 -1
  306. package/dist/components/Tooltip/tooltip.types.d.ts +0 -47
  307. package/dist/components/Tooltip/tooltip.types.d.ts.map +0 -1
  308. package/dist/components/Tooltip/tooltip.variants.d.ts +0 -34
  309. package/dist/components/Tooltip/tooltip.variants.d.ts.map +0 -1
  310. package/dist/components/TopBar/TopBar.d.ts +0 -33
  311. package/dist/components/TopBar/TopBar.d.ts.map +0 -1
  312. package/dist/components/TopBar/topBar.types.d.ts +0 -49
  313. package/dist/components/TopBar/topBar.types.d.ts.map +0 -1
  314. package/dist/components/TopBar/topBar.variants.d.ts +0 -79
  315. package/dist/components/TopBar/topBar.variants.d.ts.map +0 -1
  316. package/dist/components/Typography/Typography.d.ts +0 -42
  317. package/dist/components/Typography/Typography.d.ts.map +0 -1
  318. package/dist/components/Typography/typography.types.d.ts +0 -61
  319. package/dist/components/Typography/typography.types.d.ts.map +0 -1
  320. package/dist/components/Typography/typography.variants.d.ts +0 -167
  321. package/dist/components/Typography/typography.variants.d.ts.map +0 -1
  322. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +0 -42
  323. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +0 -1
  324. package/dist/components/VisuallyHidden/visuallyHidden.types.d.ts +0 -42
  325. package/dist/components/VisuallyHidden/visuallyHidden.types.d.ts.map +0 -1
  326. package/dist/components/_shared/data/getNestedValue.d.ts +0 -20
  327. package/dist/components/_shared/data/getNestedValue.d.ts.map +0 -1
  328. package/dist/components/_shared/data/useColumnAutoDetect.d.ts +0 -45
  329. package/dist/components/_shared/data/useColumnAutoDetect.d.ts.map +0 -1
  330. package/dist/components/_shared/data/useControllableState.d.ts +0 -23
  331. package/dist/components/_shared/data/useControllableState.d.ts.map +0 -1
  332. package/dist/components/_shared/data/useDebouncedValue.d.ts +0 -10
  333. package/dist/components/_shared/data/useDebouncedValue.d.ts.map +0 -1
  334. package/dist/components/_shared/data/useTableFilter.d.ts +0 -36
  335. package/dist/components/_shared/data/useTableFilter.d.ts.map +0 -1
  336. package/dist/components/_shared/data/useTableSearch.d.ts +0 -23
  337. package/dist/components/_shared/data/useTableSearch.d.ts.map +0 -1
  338. package/dist/components/_shared/data/useTableSelection.d.ts +0 -25
  339. package/dist/components/_shared/data/useTableSelection.d.ts.map +0 -1
  340. package/dist/components/_shared/data/useTableSort.d.ts +0 -20
  341. package/dist/components/_shared/data/useTableSort.d.ts.map +0 -1
  342. package/dist/components/_shared/data/useVirtualizer.d.ts +0 -107
  343. package/dist/components/_shared/data/useVirtualizer.d.ts.map +0 -1
  344. package/dist/components/_shared/resolveValidationState.d.ts +0 -42
  345. package/dist/components/_shared/resolveValidationState.d.ts.map +0 -1
  346. package/dist/hooks/useAccessState.d.ts +0 -37
  347. package/dist/hooks/useAccessState.d.ts.map +0 -1
  348. package/dist/index.d.ts.map +0 -1
  349. package/dist/tsconfig.lib.tsbuildinfo +0 -1
  350. package/dist/utils/cn.d.ts +0 -26
  351. package/dist/utils/cn.d.ts.map +0 -1
  352. package/eslint.config.mjs +0 -62
  353. package/project.json +0 -15
  354. package/rollup.config.cjs +0 -16
  355. package/src/components/Accordion/Accordion.test.tsx +0 -95
  356. package/src/components/Accordion/Accordion.tsx +0 -97
  357. package/src/components/Accordion/accordion.types.ts +0 -66
  358. package/src/components/Accordion/accordion.variants.ts +0 -32
  359. package/src/components/AppShell/AppShell.test.tsx +0 -223
  360. package/src/components/AppShell/AppShell.tsx +0 -239
  361. package/src/components/AppShell/appShell.types.ts +0 -49
  362. package/src/components/AppShell/appShell.variants.ts +0 -54
  363. package/src/components/AspectRatio/AspectRatio.test.tsx +0 -173
  364. package/src/components/AspectRatio/AspectRatio.tsx +0 -73
  365. package/src/components/AspectRatio/aspectRatio.types.ts +0 -54
  366. package/src/components/Autocomplete/Autocomplete.perf.test.tsx +0 -225
  367. package/src/components/Autocomplete/Autocomplete.test.tsx +0 -556
  368. package/src/components/Autocomplete/Autocomplete.tsx +0 -1069
  369. package/src/components/Autocomplete/autocomplete.types.ts +0 -198
  370. package/src/components/Autocomplete/autocomplete.variants.ts +0 -141
  371. package/src/components/Box/Box.test.tsx +0 -370
  372. package/src/components/Box/Box.tsx +0 -83
  373. package/src/components/Box/box.types.ts +0 -61
  374. package/src/components/Box/box.variants.ts +0 -230
  375. package/src/components/Breadcrumbs/Breadcrumbs.perf.test.tsx +0 -128
  376. package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +0 -231
  377. package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -203
  378. package/src/components/Breadcrumbs/breadcrumbs.types.ts +0 -87
  379. package/src/components/Breadcrumbs/breadcrumbs.variants.ts +0 -54
  380. package/src/components/Button/Button.test.tsx +0 -183
  381. package/src/components/Button/Button.tsx +0 -150
  382. package/src/components/Button/button.types.ts +0 -74
  383. package/src/components/Button/button.variants.ts +0 -159
  384. package/src/components/Calendar/Calendar.test.tsx +0 -75
  385. package/src/components/Calendar/Calendar.tsx +0 -264
  386. package/src/components/Calendar/calendar.types.ts +0 -65
  387. package/src/components/Calendar/calendar.variants.ts +0 -64
  388. package/src/components/Checkbox/Checkbox.test.tsx +0 -146
  389. package/src/components/Checkbox/Checkbox.tsx +0 -286
  390. package/src/components/Checkbox/checkbox.types.ts +0 -88
  391. package/src/components/Checkbox/checkbox.variants.ts +0 -68
  392. package/src/components/ConfirmDialog/ConfirmDialog.perf.test.tsx +0 -172
  393. package/src/components/ConfirmDialog/ConfirmDialog.test.tsx +0 -311
  394. package/src/components/ConfirmDialog/ConfirmDialog.tsx +0 -252
  395. package/src/components/ConfirmDialog/confirmDialog.types.ts +0 -70
  396. package/src/components/ConfirmDialog/confirmDialog.variants.ts +0 -76
  397. package/src/components/Container/Container.test.tsx +0 -209
  398. package/src/components/Container/Container.tsx +0 -74
  399. package/src/components/Container/container.types.ts +0 -45
  400. package/src/components/Container/container.variants.ts +0 -81
  401. package/src/components/DataGrid/DataGrid.perf.test.tsx +0 -114
  402. package/src/components/DataGrid/DataGrid.test.tsx +0 -1153
  403. package/src/components/DataGrid/DataGrid.tsx +0 -1282
  404. package/src/components/DataGrid/dataGrid.types.ts +0 -238
  405. package/src/components/DataGrid/dataGrid.variants.ts +0 -152
  406. package/src/components/DataGrid/filters/ColumnFilters.test.tsx +0 -330
  407. package/src/components/DataGrid/filters/ColumnFilters.tsx +0 -456
  408. package/src/components/DataGrid/reorder/useColumnReorder.test.ts +0 -130
  409. package/src/components/DataGrid/reorder/useColumnReorder.ts +0 -144
  410. package/src/components/DataGrid/resize/useColumnResize.test.ts +0 -144
  411. package/src/components/DataGrid/resize/useColumnResize.ts +0 -135
  412. package/src/components/DataGrid/visibility/ColumnVisibilityMenu.tsx +0 -186
  413. package/src/components/DatePicker/DatePicker.test.tsx +0 -76
  414. package/src/components/DatePicker/DatePicker.tsx +0 -305
  415. package/src/components/DatePicker/datePicker.types.ts +0 -77
  416. package/src/components/DatePicker/datePicker.variants.ts +0 -50
  417. package/src/components/DateRangePicker/DateRangePicker.test.tsx +0 -92
  418. package/src/components/DateRangePicker/DateRangePicker.tsx +0 -510
  419. package/src/components/DateRangePicker/dateRangePicker.types.ts +0 -74
  420. package/src/components/DateRangePicker/dateRangePicker.variants.ts +0 -101
  421. package/src/components/DateTimePicker/DateTimePicker.test.tsx +0 -78
  422. package/src/components/DateTimePicker/DateTimePicker.tsx +0 -347
  423. package/src/components/DateTimePicker/dateTimePicker.types.ts +0 -79
  424. package/src/components/DateTimePicker/dateTimePicker.variants.ts +0 -55
  425. package/src/components/Dialog/Dialog.test.tsx +0 -96
  426. package/src/components/Dialog/Dialog.tsx +0 -102
  427. package/src/components/Dialog/dialog.types.ts +0 -62
  428. package/src/components/Dialog/dialog.variants.ts +0 -66
  429. package/src/components/Divider/Divider.test.tsx +0 -243
  430. package/src/components/Divider/Divider.tsx +0 -140
  431. package/src/components/Divider/divider.types.ts +0 -52
  432. package/src/components/Divider/divider.variants.ts +0 -116
  433. package/src/components/Grid/Grid.test.tsx +0 -321
  434. package/src/components/Grid/Grid.tsx +0 -148
  435. package/src/components/Grid/grid.types.ts +0 -112
  436. package/src/components/Grid/grid.variants.ts +0 -133
  437. package/src/components/LeftNav/LeftNav.perf.test.tsx +0 -172
  438. package/src/components/LeftNav/LeftNav.test.tsx +0 -302
  439. package/src/components/LeftNav/LeftNav.tsx +0 -330
  440. package/src/components/LeftNav/leftNav.types.ts +0 -120
  441. package/src/components/LeftNav/leftNav.variants.ts +0 -107
  442. package/src/components/NumberField/NumberField.test.tsx +0 -83
  443. package/src/components/NumberField/NumberField.tsx +0 -321
  444. package/src/components/NumberField/numberField.types.ts +0 -72
  445. package/src/components/NumberField/numberField.variants.ts +0 -94
  446. package/src/components/OTPField/OTPField.test.tsx +0 -121
  447. package/src/components/OTPField/OTPField.tsx +0 -250
  448. package/src/components/OTPField/otpField.types.ts +0 -58
  449. package/src/components/OTPField/otpField.variants.ts +0 -72
  450. package/src/components/Pagination/Pagination.test.tsx +0 -314
  451. package/src/components/Pagination/Pagination.tsx +0 -277
  452. package/src/components/Pagination/pagination.helpers.ts +0 -102
  453. package/src/components/Pagination/pagination.types.ts +0 -117
  454. package/src/components/Pagination/pagination.variants.ts +0 -117
  455. package/src/components/Popover/Popover.test.tsx +0 -72
  456. package/src/components/Popover/Popover.tsx +0 -55
  457. package/src/components/Popover/popover.types.ts +0 -42
  458. package/src/components/Popover/popover.variants.ts +0 -24
  459. package/src/components/RadioGroup/RadioGroup.test.tsx +0 -140
  460. package/src/components/RadioGroup/RadioGroup.tsx +0 -283
  461. package/src/components/RadioGroup/radioGroup.types.ts +0 -85
  462. package/src/components/RadioGroup/radioGroup.variants.ts +0 -87
  463. package/src/components/Skeleton/Skeleton.test.tsx +0 -127
  464. package/src/components/Skeleton/Skeleton.tsx +0 -49
  465. package/src/components/Skeleton/skeleton.types.ts +0 -59
  466. package/src/components/Skeleton/skeleton.variants.ts +0 -87
  467. package/src/components/Snackbar/Snackbar.perf.test.tsx +0 -144
  468. package/src/components/Snackbar/Snackbar.test.tsx +0 -327
  469. package/src/components/Snackbar/Snackbar.tsx +0 -298
  470. package/src/components/Snackbar/snackbar.types.ts +0 -83
  471. package/src/components/Snackbar/snackbar.variants.ts +0 -74
  472. package/src/components/Stack/Stack.test.tsx +0 -309
  473. package/src/components/Stack/Stack.tsx +0 -115
  474. package/src/components/Stack/stack.types.ts +0 -68
  475. package/src/components/Stack/stack.variants.ts +0 -80
  476. package/src/components/Switch/Switch.test.tsx +0 -131
  477. package/src/components/Switch/Switch.tsx +0 -158
  478. package/src/components/Switch/switch.types.ts +0 -36
  479. package/src/components/Switch/switch.variants.ts +0 -70
  480. package/src/components/Table/Table.perf.test.tsx +0 -81
  481. package/src/components/Table/Table.test.tsx +0 -674
  482. package/src/components/Table/Table.tsx +0 -863
  483. package/src/components/Table/cells/RenderButton.tsx +0 -23
  484. package/src/components/Table/cells/RenderChip.tsx +0 -100
  485. package/src/components/Table/cells/RenderText.tsx +0 -37
  486. package/src/components/Table/cells/RenderTwoLine.tsx +0 -34
  487. package/src/components/Table/cells/RowActionsMenu.tsx +0 -147
  488. package/src/components/Table/cells/cells.test.tsx +0 -247
  489. package/src/components/Table/cells/index.ts +0 -14
  490. package/src/components/Table/table.types.ts +0 -438
  491. package/src/components/Table/table.variants.ts +0 -207
  492. package/src/components/Tabs/Tabs.test.tsx +0 -145
  493. package/src/components/Tabs/Tabs.tsx +0 -77
  494. package/src/components/Tabs/tabs.types.ts +0 -55
  495. package/src/components/Tabs/tabs.variants.ts +0 -69
  496. package/src/components/Tabs/useTabs.ts +0 -167
  497. package/src/components/TextField/TextField.test.tsx +0 -198
  498. package/src/components/TextField/TextField.tsx +0 -245
  499. package/src/components/TextField/textField.types.ts +0 -90
  500. package/src/components/TextField/textField.variants.ts +0 -105
  501. package/src/components/Textarea/Textarea.test.tsx +0 -75
  502. package/src/components/Textarea/Textarea.tsx +0 -190
  503. package/src/components/Textarea/textarea.types.ts +0 -60
  504. package/src/components/Textarea/textarea.variants.ts +0 -85
  505. package/src/components/TimePicker/TimePicker.test.tsx +0 -65
  506. package/src/components/TimePicker/TimePicker.tsx +0 -274
  507. package/src/components/TimePicker/timePicker.types.ts +0 -69
  508. package/src/components/TimePicker/timePicker.variants.ts +0 -53
  509. package/src/components/Tooltip/Tooltip.test.tsx +0 -73
  510. package/src/components/Tooltip/Tooltip.tsx +0 -70
  511. package/src/components/Tooltip/tooltip.types.ts +0 -44
  512. package/src/components/Tooltip/tooltip.variants.ts +0 -28
  513. package/src/components/TopBar/TopBar.test.tsx +0 -129
  514. package/src/components/TopBar/TopBar.tsx +0 -66
  515. package/src/components/TopBar/topBar.types.ts +0 -42
  516. package/src/components/TopBar/topBar.variants.ts +0 -38
  517. package/src/components/Typography/Typography.test.tsx +0 -247
  518. package/src/components/Typography/Typography.tsx +0 -112
  519. package/src/components/Typography/typography.types.ts +0 -65
  520. package/src/components/Typography/typography.variants.ts +0 -130
  521. package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -86
  522. package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -59
  523. package/src/components/VisuallyHidden/visuallyHidden.types.ts +0 -45
  524. package/src/components/_shared/data/getNestedValue.test.ts +0 -50
  525. package/src/components/_shared/data/getNestedValue.ts +0 -32
  526. package/src/components/_shared/data/useColumnAutoDetect.test.ts +0 -123
  527. package/src/components/_shared/data/useColumnAutoDetect.ts +0 -100
  528. package/src/components/_shared/data/useControllableState.ts +0 -48
  529. package/src/components/_shared/data/useDebouncedValue.ts +0 -24
  530. package/src/components/_shared/data/useTableFilter.test.ts +0 -166
  531. package/src/components/_shared/data/useTableFilter.ts +0 -118
  532. package/src/components/_shared/data/useTableSearch.test.ts +0 -115
  533. package/src/components/_shared/data/useTableSearch.ts +0 -66
  534. package/src/components/_shared/data/useTableSelection.test.ts +0 -100
  535. package/src/components/_shared/data/useTableSelection.ts +0 -100
  536. package/src/components/_shared/data/useTableSort.test.ts +0 -150
  537. package/src/components/_shared/data/useTableSort.ts +0 -141
  538. package/src/components/_shared/data/useVirtualizer.test.ts +0 -158
  539. package/src/components/_shared/data/useVirtualizer.ts +0 -199
  540. package/src/components/_shared/resolveValidationState.ts +0 -60
  541. package/src/components/_shared/themeIdentity.test.ts +0 -113
  542. package/src/hooks/useAccessState.spec.tsx +0 -161
  543. package/src/hooks/useAccessState.ts +0 -81
  544. package/src/index.ts +0 -388
  545. package/src/utils/cn.spec.ts +0 -16
  546. package/src/utils/cn.ts +0 -29
  547. package/test-output/vitest/coverage/base.css +0 -224
  548. package/test-output/vitest/coverage/block-navigation.js +0 -87
  549. package/test-output/vitest/coverage/clover.xml +0 -2418
  550. package/test-output/vitest/coverage/coverage-final.json +0 -89
  551. package/test-output/vitest/coverage/favicon.png +0 -0
  552. package/test-output/vitest/coverage/index.html +0 -746
  553. package/test-output/vitest/coverage/prettify.css +0 -1
  554. package/test-output/vitest/coverage/prettify.js +0 -2
  555. package/test-output/vitest/coverage/sort-arrow-sprite.png +0 -0
  556. package/test-output/vitest/coverage/sorter.js +0 -210
  557. package/test-output/vitest/coverage/src/components/Accordion/Accordion.tsx.html +0 -376
  558. package/test-output/vitest/coverage/src/components/Accordion/accordion.variants.ts.html +0 -181
  559. package/test-output/vitest/coverage/src/components/Accordion/index.html +0 -131
  560. package/test-output/vitest/coverage/src/components/AppShell/AppShell.tsx.html +0 -802
  561. package/test-output/vitest/coverage/src/components/AppShell/appShell.variants.ts.html +0 -247
  562. package/test-output/vitest/coverage/src/components/AppShell/index.html +0 -131
  563. package/test-output/vitest/coverage/src/components/AspectRatio/AspectRatio.tsx.html +0 -304
  564. package/test-output/vitest/coverage/src/components/AspectRatio/index.html +0 -116
  565. package/test-output/vitest/coverage/src/components/Autocomplete/Autocomplete.tsx.html +0 -3292
  566. package/test-output/vitest/coverage/src/components/Autocomplete/autocomplete.variants.ts.html +0 -508
  567. package/test-output/vitest/coverage/src/components/Autocomplete/index.html +0 -131
  568. package/test-output/vitest/coverage/src/components/Box/Box.tsx.html +0 -334
  569. package/test-output/vitest/coverage/src/components/Box/box.variants.ts.html +0 -775
  570. package/test-output/vitest/coverage/src/components/Box/index.html +0 -131
  571. package/test-output/vitest/coverage/src/components/Breadcrumbs/Breadcrumbs.tsx.html +0 -694
  572. package/test-output/vitest/coverage/src/components/Breadcrumbs/breadcrumbs.variants.ts.html +0 -247
  573. package/test-output/vitest/coverage/src/components/Breadcrumbs/index.html +0 -131
  574. package/test-output/vitest/coverage/src/components/Button/Button.tsx.html +0 -535
  575. package/test-output/vitest/coverage/src/components/Button/button.variants.ts.html +0 -562
  576. package/test-output/vitest/coverage/src/components/Button/index.html +0 -131
  577. package/test-output/vitest/coverage/src/components/Checkbox/Checkbox.tsx.html +0 -943
  578. package/test-output/vitest/coverage/src/components/Checkbox/checkbox.variants.ts.html +0 -289
  579. package/test-output/vitest/coverage/src/components/Checkbox/index.html +0 -131
  580. package/test-output/vitest/coverage/src/components/ConfirmDialog/ConfirmDialog.tsx.html +0 -841
  581. package/test-output/vitest/coverage/src/components/ConfirmDialog/confirmDialog.variants.ts.html +0 -313
  582. package/test-output/vitest/coverage/src/components/ConfirmDialog/index.html +0 -131
  583. package/test-output/vitest/coverage/src/components/Container/Container.tsx.html +0 -307
  584. package/test-output/vitest/coverage/src/components/Container/container.variants.ts.html +0 -328
  585. package/test-output/vitest/coverage/src/components/Container/index.html +0 -131
  586. package/test-output/vitest/coverage/src/components/DataGrid/DataGrid.tsx.html +0 -3937
  587. package/test-output/vitest/coverage/src/components/DataGrid/dataGrid.variants.ts.html +0 -541
  588. package/test-output/vitest/coverage/src/components/DataGrid/filters/ColumnFilters.tsx.html +0 -1453
  589. package/test-output/vitest/coverage/src/components/DataGrid/filters/index.html +0 -116
  590. package/test-output/vitest/coverage/src/components/DataGrid/index.html +0 -131
  591. package/test-output/vitest/coverage/src/components/DataGrid/reorder/index.html +0 -116
  592. package/test-output/vitest/coverage/src/components/DataGrid/reorder/useColumnReorder.ts.html +0 -517
  593. package/test-output/vitest/coverage/src/components/DataGrid/resize/index.html +0 -116
  594. package/test-output/vitest/coverage/src/components/DataGrid/resize/useColumnResize.ts.html +0 -490
  595. package/test-output/vitest/coverage/src/components/DataGrid/visibility/ColumnVisibilityMenu.tsx.html +0 -592
  596. package/test-output/vitest/coverage/src/components/DataGrid/visibility/index.html +0 -116
  597. package/test-output/vitest/coverage/src/components/DateTimePicker/DateTimePicker.tsx.html +0 -1042
  598. package/test-output/vitest/coverage/src/components/DateTimePicker/dateTimePicker.variants.ts.html +0 -337
  599. package/test-output/vitest/coverage/src/components/DateTimePicker/index.html +0 -131
  600. package/test-output/vitest/coverage/src/components/Dialog/Dialog.tsx.html +0 -391
  601. package/test-output/vitest/coverage/src/components/Dialog/dialog.variants.ts.html +0 -283
  602. package/test-output/vitest/coverage/src/components/Dialog/index.html +0 -131
  603. package/test-output/vitest/coverage/src/components/Divider/Divider.tsx.html +0 -505
  604. package/test-output/vitest/coverage/src/components/Divider/divider.variants.ts.html +0 -433
  605. package/test-output/vitest/coverage/src/components/Divider/index.html +0 -131
  606. package/test-output/vitest/coverage/src/components/Grid/Grid.tsx.html +0 -529
  607. package/test-output/vitest/coverage/src/components/Grid/grid.variants.ts.html +0 -484
  608. package/test-output/vitest/coverage/src/components/Grid/index.html +0 -131
  609. package/test-output/vitest/coverage/src/components/LeftNav/LeftNav.tsx.html +0 -1075
  610. package/test-output/vitest/coverage/src/components/LeftNav/index.html +0 -131
  611. package/test-output/vitest/coverage/src/components/LeftNav/leftNav.variants.ts.html +0 -406
  612. package/test-output/vitest/coverage/src/components/NumberField/NumberField.tsx.html +0 -1048
  613. package/test-output/vitest/coverage/src/components/NumberField/index.html +0 -131
  614. package/test-output/vitest/coverage/src/components/NumberField/numberField.variants.ts.html +0 -367
  615. package/test-output/vitest/coverage/src/components/OTPField/OTPField.tsx.html +0 -835
  616. package/test-output/vitest/coverage/src/components/OTPField/index.html +0 -131
  617. package/test-output/vitest/coverage/src/components/OTPField/otpField.variants.ts.html +0 -301
  618. package/test-output/vitest/coverage/src/components/Pagination/Pagination.tsx.html +0 -916
  619. package/test-output/vitest/coverage/src/components/Pagination/index.html +0 -146
  620. package/test-output/vitest/coverage/src/components/Pagination/pagination.helpers.ts.html +0 -391
  621. package/test-output/vitest/coverage/src/components/Pagination/pagination.variants.ts.html +0 -436
  622. package/test-output/vitest/coverage/src/components/Popover/Popover.tsx.html +0 -250
  623. package/test-output/vitest/coverage/src/components/Popover/index.html +0 -131
  624. package/test-output/vitest/coverage/src/components/Popover/popover.variants.ts.html +0 -157
  625. package/test-output/vitest/coverage/src/components/RadioGroup/RadioGroup.tsx.html +0 -934
  626. package/test-output/vitest/coverage/src/components/RadioGroup/index.html +0 -131
  627. package/test-output/vitest/coverage/src/components/RadioGroup/radioGroup.variants.ts.html +0 -346
  628. package/test-output/vitest/coverage/src/components/Skeleton/Skeleton.tsx.html +0 -232
  629. package/test-output/vitest/coverage/src/components/Skeleton/index.html +0 -131
  630. package/test-output/vitest/coverage/src/components/Skeleton/skeleton.variants.ts.html +0 -346
  631. package/test-output/vitest/coverage/src/components/Snackbar/Snackbar.tsx.html +0 -979
  632. package/test-output/vitest/coverage/src/components/Snackbar/index.html +0 -131
  633. package/test-output/vitest/coverage/src/components/Snackbar/snackbar.variants.ts.html +0 -307
  634. package/test-output/vitest/coverage/src/components/Stack/Stack.tsx.html +0 -430
  635. package/test-output/vitest/coverage/src/components/Stack/index.html +0 -131
  636. package/test-output/vitest/coverage/src/components/Stack/stack.variants.ts.html +0 -325
  637. package/test-output/vitest/coverage/src/components/Switch/Switch.tsx.html +0 -559
  638. package/test-output/vitest/coverage/src/components/Switch/index.html +0 -131
  639. package/test-output/vitest/coverage/src/components/Switch/switch.variants.ts.html +0 -295
  640. package/test-output/vitest/coverage/src/components/Table/Table.tsx.html +0 -2677
  641. package/test-output/vitest/coverage/src/components/Table/cells/RenderButton.tsx.html +0 -154
  642. package/test-output/vitest/coverage/src/components/Table/cells/RenderChip.tsx.html +0 -385
  643. package/test-output/vitest/coverage/src/components/Table/cells/RenderText.tsx.html +0 -196
  644. package/test-output/vitest/coverage/src/components/Table/cells/RenderTwoLine.tsx.html +0 -187
  645. package/test-output/vitest/coverage/src/components/Table/cells/RowActionsMenu.tsx.html +0 -526
  646. package/test-output/vitest/coverage/src/components/Table/cells/index.html +0 -191
  647. package/test-output/vitest/coverage/src/components/Table/cells/index.ts.html +0 -127
  648. package/test-output/vitest/coverage/src/components/Table/index.html +0 -131
  649. package/test-output/vitest/coverage/src/components/Table/table.variants.ts.html +0 -706
  650. package/test-output/vitest/coverage/src/components/Tabs/Tabs.tsx.html +0 -283
  651. package/test-output/vitest/coverage/src/components/Tabs/index.html +0 -131
  652. package/test-output/vitest/coverage/src/components/Tabs/tabs.variants.ts.html +0 -292
  653. package/test-output/vitest/coverage/src/components/TextField/TextField.tsx.html +0 -820
  654. package/test-output/vitest/coverage/src/components/TextField/index.html +0 -131
  655. package/test-output/vitest/coverage/src/components/TextField/textField.variants.ts.html +0 -400
  656. package/test-output/vitest/coverage/src/components/Textarea/Textarea.tsx.html +0 -655
  657. package/test-output/vitest/coverage/src/components/Textarea/index.html +0 -131
  658. package/test-output/vitest/coverage/src/components/Textarea/textarea.variants.ts.html +0 -340
  659. package/test-output/vitest/coverage/src/components/Tooltip/Tooltip.tsx.html +0 -295
  660. package/test-output/vitest/coverage/src/components/Tooltip/index.html +0 -131
  661. package/test-output/vitest/coverage/src/components/Tooltip/tooltip.variants.ts.html +0 -169
  662. package/test-output/vitest/coverage/src/components/TopBar/TopBar.tsx.html +0 -283
  663. package/test-output/vitest/coverage/src/components/TopBar/index.html +0 -131
  664. package/test-output/vitest/coverage/src/components/TopBar/topBar.variants.ts.html +0 -199
  665. package/test-output/vitest/coverage/src/components/Typography/Typography.tsx.html +0 -421
  666. package/test-output/vitest/coverage/src/components/Typography/index.html +0 -131
  667. package/test-output/vitest/coverage/src/components/Typography/typography.variants.ts.html +0 -436
  668. package/test-output/vitest/coverage/src/components/VisuallyHidden/VisuallyHidden.tsx.html +0 -262
  669. package/test-output/vitest/coverage/src/components/VisuallyHidden/index.html +0 -116
  670. package/test-output/vitest/coverage/src/components/_shared/data/getNestedValue.ts.html +0 -181
  671. package/test-output/vitest/coverage/src/components/_shared/data/index.html +0 -236
  672. package/test-output/vitest/coverage/src/components/_shared/data/useColumnAutoDetect.ts.html +0 -385
  673. package/test-output/vitest/coverage/src/components/_shared/data/useControllableState.ts.html +0 -229
  674. package/test-output/vitest/coverage/src/components/_shared/data/useDebouncedValue.ts.html +0 -157
  675. package/test-output/vitest/coverage/src/components/_shared/data/useTableFilter.ts.html +0 -439
  676. package/test-output/vitest/coverage/src/components/_shared/data/useTableSearch.ts.html +0 -283
  677. package/test-output/vitest/coverage/src/components/_shared/data/useTableSelection.ts.html +0 -385
  678. package/test-output/vitest/coverage/src/components/_shared/data/useTableSort.ts.html +0 -508
  679. package/test-output/vitest/coverage/src/components/_shared/data/useVirtualizer.ts.html +0 -682
  680. package/test-output/vitest/coverage/src/components/_shared/index.html +0 -116
  681. package/test-output/vitest/coverage/src/components/_shared/resolveValidationState.ts.html +0 -265
  682. package/test-output/vitest/coverage/src/hooks/index.html +0 -116
  683. package/test-output/vitest/coverage/src/hooks/useAccessState.ts.html +0 -328
  684. package/test-output/vitest/coverage/src/index.html +0 -116
  685. package/test-output/vitest/coverage/src/index.ts.html +0 -1153
  686. package/test-output/vitest/coverage/src/utils/cn.ts.html +0 -172
  687. package/test-output/vitest/coverage/src/utils/index.html +0 -116
  688. package/tsconfig.json +0 -13
  689. package/tsconfig.lib.json +0 -58
  690. package/tsconfig.spec.json +0 -34
  691. package/vite.config.ts +0 -33
  692. package/vitest.config.mts +0 -29
package/eslint.config.mjs DELETED
@@ -1,62 +0,0 @@
1
- import baseConfig from '../../../eslint.config.mjs';
2
- import reactHooks from 'eslint-plugin-react-hooks';
3
-
4
- export default [
5
- ...baseConfig,
6
- // React Hooks plugin — every component in this package authors
7
- // hooks, so the rule set is required for `// eslint-disable-next-line
8
- // react-hooks/exhaustive-deps` directives to be valid AND to catch
9
- // real rules-of-hooks violations (hook called after early-return).
10
- // Scoped here (not at workspace root) to avoid surfacing pre-existing
11
- // unrelated bugs in sibling packages that fall outside this sprint's
12
- // scope — those should be cleaned up in a dedicated workspace pass.
13
- {
14
- files: ['**/*.{ts,tsx,js,jsx,cts,mts,cjs,mjs}'],
15
- plugins: { 'react-hooks': reactHooks },
16
- rules: {
17
- ...reactHooks.configs.recommended.rules,
18
- },
19
- },
20
- {
21
- files: ['**/*.json'],
22
- rules: {
23
- '@nx/dependency-checks': [
24
- 'error',
25
- {
26
- // Non-shipped files: their imports must NOT count toward the
27
- // published `dependencies` set. Spec/test files import the
28
- // test runner; the build/test config files import build
29
- // tooling — all of which belong in `devDependencies`.
30
- ignoredFiles: [
31
- '{projectRoot}/eslint.config.{js,cjs,mjs,ts,cts,mts}',
32
- '{projectRoot}/rollup.config.{js,ts,mjs,mts,cjs,cts}',
33
- '{projectRoot}/vite.config.{js,ts,mjs,mts}',
34
- '{projectRoot}/vitest.config.{js,ts,mjs,mts}',
35
- '{projectRoot}/**/*.spec.{ts,tsx}',
36
- '{projectRoot}/**/*.test.{ts,tsx}',
37
- ],
38
- // tw-tokens (CSS vars + Tailwind preset) and tw-theme
39
- // (Provider that injects the runtime vars) are CONSUMER-FACING
40
- // peer dependencies: the runtime requires them, but @dashforge/tw
41
- // itself never imports them. Declaring them as peers documents
42
- // the requirement without triggering the "not used" check.
43
- // `tailwindcss` is the same case — a build-time peer (the
44
- // consumer's Tailwind compiles the class strings + reads the
45
- // `darkMode: 'selector'` config from `dashforgePreset()`); it
46
- // is never an `import` site in this package's code.
47
- ignoredDependencies: [
48
- '@dashforge/tw-tokens',
49
- '@dashforge/tw-theme',
50
- 'tailwindcss',
51
- ],
52
- },
53
- ],
54
- },
55
- languageOptions: {
56
- parser: await import('jsonc-eslint-parser'),
57
- },
58
- },
59
- {
60
- ignores: ['**/out-tsc'],
61
- },
62
- ];
package/project.json DELETED
@@ -1,15 +0,0 @@
1
- {
2
- "$schema": "../../../node_modules/nx/schemas/project-schema.json",
3
- "name": "@dashforge/tw",
4
- "targets": {
5
- "typecheck": {
6
- "options": {
7
- "command": "tsc --build tsconfig.lib.json --emitDeclarationOnly"
8
- }
9
- },
10
- "build": {
11
- "_comment": "typecheck excluded from dependsOn: TS bundler resolver fails when consuming `@dashforge/forms/dist/index.d.ts` (a 1-line `export * from \"./src/index\"` re-export) through nx's composite project chain. `nx run typecheck` separately works; `nx run-many -t test` works (it bundles types via vitest). Re-attach `typecheck` once the publishables' dist d.ts wrappers are switched to inline `export ...` (out of scope F3).",
12
- "dependsOn": ["^build"]
13
- }
14
- }
15
- }
package/rollup.config.cjs DELETED
@@ -1,16 +0,0 @@
1
- const { withNx } = require('@nx/rollup/with-nx');
2
-
3
- module.exports = withNx(
4
- {
5
- main: './src/index.ts',
6
- outputPath: './dist',
7
- tsConfig: './tsconfig.lib.json',
8
- compiler: 'swc',
9
- format: ['esm'],
10
- },
11
- {
12
- // Provide additional rollup configuration here. See: https://rollupjs.org/configuration-options
13
- // e.g.
14
- // output: { sourcemap: true },
15
- }
16
- );
@@ -1,95 +0,0 @@
1
- // @vitest-environment jsdom
2
- import * as React from 'react';
3
- import { describe, it, expect, afterEach } from 'vitest';
4
- import { render, screen, fireEvent, cleanup } from '@testing-library/react';
5
- import { Accordion } from './Accordion.js';
6
-
7
- void React;
8
- afterEach(() => cleanup());
9
-
10
- const items = [
11
- { value: 'one', header: 'Section one', content: <p>One body</p> },
12
- { value: 'two', header: 'Section two', content: <p>Two body</p> },
13
- { value: 'three', header: 'Section three', content: <p>Three body</p> },
14
- ];
15
-
16
- function regionIsOpen(bodyText: string): boolean {
17
- const node = screen.queryByText(bodyText);
18
- if (!node) return false;
19
- const region = node.closest('[role="region"]');
20
- if (!region) return false;
21
- // Radix sets `hidden` attr on closed regions in jsdom.
22
- return region.getAttribute('hidden') === null && !(region as HTMLElement).hidden;
23
- }
24
-
25
- describe('Accordion — single mode (default)', () => {
26
- it('renders all triggers', () => {
27
- render(<Accordion items={items} />);
28
- expect(screen.queryByText('Section one')).not.toBeNull();
29
- expect(screen.queryByText('Section two')).not.toBeNull();
30
- expect(screen.queryByText('Section three')).not.toBeNull();
31
- });
32
-
33
- it('opens a panel on trigger click', () => {
34
- render(<Accordion items={items} />);
35
- expect(regionIsOpen('Two body')).toBe(false);
36
- fireEvent.click(screen.getByText('Section two'));
37
- expect(regionIsOpen('Two body')).toBe(true);
38
- });
39
-
40
- it('closes the open panel when clicked again (collapsible default)', () => {
41
- render(<Accordion items={items} />);
42
- const trigger = screen.getByText('Section two');
43
- fireEvent.click(trigger);
44
- expect(regionIsOpen('Two body')).toBe(true);
45
- fireEvent.click(trigger);
46
- expect(regionIsOpen('Two body')).toBe(false);
47
- });
48
-
49
- it('respects defaultValue', () => {
50
- render(<Accordion items={items} defaultValue="three" />);
51
- expect(regionIsOpen('Three body')).toBe(true);
52
- });
53
-
54
- it('emits onValueChange', () => {
55
- let last: string | null = null;
56
- render(<Accordion items={items} onValueChange={(v) => (last = v)} />);
57
- fireEvent.click(screen.getByText('Section one'));
58
- expect(last).toBe('one');
59
- });
60
- });
61
-
62
- describe('Accordion — multiple mode', () => {
63
- it('allows multiple panels open simultaneously', () => {
64
- render(<Accordion type="multiple" items={items} defaultValue={['one', 'three']} />);
65
- expect(regionIsOpen('One body')).toBe(true);
66
- expect(regionIsOpen('Three body')).toBe(true);
67
- });
68
-
69
- it('emits onValueChange with the updated array', () => {
70
- let last: string[] = [];
71
- render(
72
- <Accordion
73
- type="multiple"
74
- items={items}
75
- defaultValue={['one']}
76
- onValueChange={(v) => (last = v)}
77
- />
78
- );
79
- fireEvent.click(screen.getByText('Section two'));
80
- expect(last).toEqual(expect.arrayContaining(['one', 'two']));
81
- });
82
- });
83
-
84
- describe('Accordion — disabled items', () => {
85
- it('does not open a disabled section', () => {
86
- const disabledItems = [
87
- ...items.slice(0, 2),
88
- { ...items[2]!, disabled: true },
89
- ];
90
- render(<Accordion items={disabledItems} />);
91
- const trigger = screen.getByText('Section three');
92
- fireEvent.click(trigger);
93
- expect(regionIsOpen('Three body')).toBe(false);
94
- });
95
- });
@@ -1,97 +0,0 @@
1
- import * as RadixAccordion from '@radix-ui/react-accordion';
2
- import { cn } from '../../utils/cn.js';
3
- import { accordionVariants } from './accordion.variants.js';
4
- import type {
5
- AccordionProps,
6
- AccordionItem,
7
- AccordionSlotProps,
8
- } from './accordion.types.js';
9
-
10
- /**
11
- * Dashforge TW `<Accordion>` — collapsible section list.
12
- *
13
- * Built on `@radix-ui/react-accordion`:
14
- * - APG accordion pattern: `role="region"` on content, header
15
- * button with `aria-expanded` and `aria-controls` linked to
16
- * the panel.
17
- * - Keyboard support: Space / Enter toggle, ArrowDown / ArrowUp
18
- * move focus between triggers, Home / End to extremes.
19
- * - Two modes:
20
- * - `type="single"` — at most one section open at a time;
21
- * `collapsible` allows clicking the open section to close it
22
- * (default true).
23
- * - `type="multiple"` — multiple sections open simultaneously.
24
- *
25
- * The trigger renders a chevron that flips 180° via CSS
26
- * (`data-state=open` selector) — no React state, no JS animation.
27
- */
28
- export function Accordion(props: AccordionProps) {
29
- const v = accordionVariants();
30
- const { items, sx, slotProps } = props;
31
-
32
- const renderItems = (items: AccordionItem[], slotProps?: AccordionSlotProps) =>
33
- items.map((item) => (
34
- <RadixAccordion.Item
35
- key={item.value}
36
- value={item.value}
37
- disabled={item.disabled}
38
- className={cn(v.item(), slotProps?.item?.className)}
39
- >
40
- <RadixAccordion.Header
41
- className={cn(v.header(), slotProps?.header?.className)}
42
- >
43
- <RadixAccordion.Trigger
44
- className={cn(v.trigger(), slotProps?.trigger?.className)}
45
- >
46
- {item.header}
47
- <svg
48
- className={cn(v.chevron(), slotProps?.chevron?.className)}
49
- width="1em"
50
- height="1em"
51
- viewBox="0 0 16 16"
52
- fill="none"
53
- stroke="currentColor"
54
- strokeWidth="1.5"
55
- strokeLinecap="round"
56
- strokeLinejoin="round"
57
- aria-hidden="true"
58
- >
59
- <path d="M4 6l4 4 4-4" />
60
- </svg>
61
- </RadixAccordion.Trigger>
62
- </RadixAccordion.Header>
63
- <RadixAccordion.Content
64
- className={cn(v.content(), slotProps?.content?.className)}
65
- >
66
- <div className="pb-3 pt-0">{item.content}</div>
67
- </RadixAccordion.Content>
68
- </RadixAccordion.Item>
69
- ));
70
-
71
- if (props.type === 'multiple') {
72
- return (
73
- <RadixAccordion.Root
74
- type="multiple"
75
- value={props.value}
76
- defaultValue={props.defaultValue}
77
- onValueChange={props.onValueChange}
78
- className={cn(v.root(), sx, slotProps?.root?.className)}
79
- >
80
- {renderItems(items, slotProps)}
81
- </RadixAccordion.Root>
82
- );
83
- }
84
-
85
- return (
86
- <RadixAccordion.Root
87
- type="single"
88
- collapsible={props.collapsible ?? true}
89
- value={props.value}
90
- defaultValue={props.defaultValue}
91
- onValueChange={props.onValueChange}
92
- className={cn(v.root(), sx, slotProps?.root?.className)}
93
- >
94
- {renderItems(items, slotProps)}
95
- </RadixAccordion.Root>
96
- );
97
- }
@@ -1,66 +0,0 @@
1
- import type { ReactNode } from 'react';
2
-
3
- export interface AccordionSlotProps {
4
- root?: { className?: string };
5
- item?: { className?: string };
6
- header?: { className?: string };
7
- trigger?: { className?: string };
8
- content?: { className?: string };
9
- chevron?: { className?: string };
10
- }
11
-
12
- /**
13
- * Single accordion section — paired `{ value, header, content }`.
14
- * The `value` is the canonical id (used in `value` / `defaultValue`
15
- * to control which sections are expanded).
16
- */
17
- export interface AccordionItem {
18
- value: string;
19
- /** Trigger label (clickable to expand / collapse). */
20
- header: ReactNode;
21
- /** Section body, revealed when this item is expanded. */
22
- content: ReactNode;
23
- /** Per-item disabled flag. */
24
- disabled?: boolean;
25
- }
26
-
27
- interface AccordionBaseProps {
28
- items: AccordionItem[];
29
- /** Root className shortcut. */
30
- sx?: string;
31
- /** Per-slot overrides. */
32
- slotProps?: AccordionSlotProps;
33
- }
34
-
35
- /**
36
- * Single-mode props — at most one section open at a time.
37
- * `collapsible: true` (default) lets the user close the open
38
- * section by clicking it again.
39
- */
40
- export interface AccordionSingleProps extends AccordionBaseProps {
41
- type?: 'single';
42
- value?: string;
43
- defaultValue?: string;
44
- onValueChange?: (value: string) => void;
45
- /** @default true */
46
- collapsible?: boolean;
47
- }
48
-
49
- /**
50
- * Multiple-mode props — any number of sections open simultaneously.
51
- */
52
- export interface AccordionMultipleProps extends AccordionBaseProps {
53
- type: 'multiple';
54
- value?: string[];
55
- defaultValue?: string[];
56
- onValueChange?: (value: string[]) => void;
57
- }
58
-
59
- /**
60
- * Props for `<Accordion>`.
61
- *
62
- * Built on `@radix-ui/react-accordion`. Discriminated by `type`:
63
- * - `type="single"` (default) — `value` is `string`.
64
- * - `type="multiple"` — `value` is `string[]`.
65
- */
66
- export type AccordionProps = AccordionSingleProps | AccordionMultipleProps;
@@ -1,32 +0,0 @@
1
- import { tv, type VariantProps } from 'tailwind-variants';
2
-
3
- export const accordionVariants = tv({
4
- slots: {
5
- root: 'w-full',
6
- // Neutral palette auto-inverts via the dashforgePreset() CSS-var
7
- // swap — no `dark:` variant needed (would double-invert).
8
- item: 'border-b border-neutral-200',
9
- header: 'flex',
10
- trigger: [
11
- 'flex flex-1 items-center justify-between py-3 text-left',
12
- 'text-sm font-medium text-neutral-900',
13
- 'transition-all hover:underline',
14
- 'focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-500 focus-visible:rounded',
15
- '[&[data-state=open]>svg]:rotate-180',
16
- 'disabled:opacity-50 disabled:pointer-events-none',
17
- 'motion-reduce:transition-none',
18
- ],
19
- content: [
20
- 'overflow-hidden text-sm text-neutral-700',
21
- 'data-[state=open]:animate-accordion-down',
22
- 'data-[state=closed]:animate-accordion-up',
23
- 'motion-reduce:animate-none',
24
- ],
25
- chevron: [
26
- 'h-4 w-4 shrink-0 text-neutral-500 transition-transform duration-200',
27
- 'motion-reduce:transition-none motion-reduce:duration-0',
28
- ],
29
- },
30
- });
31
-
32
- export type AccordionVariants = VariantProps<typeof accordionVariants>;
@@ -1,223 +0,0 @@
1
- // @vitest-environment jsdom
2
- import * as React from 'react';
3
- import { describe, it, expect, vi, afterEach } from 'vitest';
4
- import {
5
- render,
6
- screen,
7
- fireEvent,
8
- cleanup,
9
- } from '@testing-library/react';
10
- import { AppShell } from './AppShell.js';
11
-
12
- void React;
13
- afterEach(() => cleanup());
14
-
15
- describe('<AppShell>', () => {
16
- describe('rendering', () => {
17
- it('renders main landmark with children', () => {
18
- render(
19
- <AppShell>
20
- <p>page</p>
21
- </AppShell>
22
- );
23
- const main = screen.getByRole('main');
24
- expect(main.textContent).toBe('page');
25
- });
26
-
27
- it('renders header slot', () => {
28
- render(
29
- <AppShell header={<div data-testid="hdr">H</div>}>
30
- <p>page</p>
31
- </AppShell>
32
- );
33
- expect(screen.getByTestId('hdr')).toBeTruthy();
34
- });
35
-
36
- it('renders footer slot', () => {
37
- render(
38
- <AppShell footer={<div data-testid="ftr">F</div>}>
39
- <p>page</p>
40
- </AppShell>
41
- );
42
- expect(screen.getByTestId('ftr')).toBeTruthy();
43
- });
44
-
45
- it('renders nav slot (twice — desktop inline + mobile drawer)', () => {
46
- const { container } = render(
47
- <AppShell nav={<div data-testid="nav">N</div>}>
48
- <p>page</p>
49
- </AppShell>
50
- );
51
- // Both copies are in the DOM; the mobile one is hidden via CSS.
52
- expect(container.querySelectorAll('[data-testid="nav"]')).toHaveLength(2);
53
- });
54
-
55
- it('does NOT render the nav-side asides when nav is omitted', () => {
56
- const { container } = render(
57
- <AppShell>
58
- <p>page</p>
59
- </AppShell>
60
- );
61
- // Only the <main> remains inside the body row.
62
- expect(container.querySelectorAll('aside')).toHaveLength(0);
63
- });
64
- });
65
-
66
- describe('mobile drawer', () => {
67
- it('renders the mobile aside with aria-hidden=true by default', () => {
68
- const { container } = render(
69
- <AppShell nav={<div>N</div>}>
70
- <p>page</p>
71
- </AppShell>
72
- );
73
- const mobile = container.querySelectorAll('aside')[1];
74
- expect(mobile.getAttribute('aria-hidden')).toBe('true');
75
- });
76
-
77
- it('exposes the mobile aside (aria-hidden=false) when navOpen', () => {
78
- const { container } = render(
79
- <AppShell nav={<div>N</div>} navOpen onNavOpenChange={vi.fn()}>
80
- <p>page</p>
81
- </AppShell>
82
- );
83
- const mobile = container.querySelectorAll('aside')[1];
84
- expect(mobile.getAttribute('aria-hidden')).toBe('false');
85
- });
86
-
87
- it('fires onNavOpenChange(false) when the backdrop is clicked', () => {
88
- const cb = vi.fn();
89
- render(
90
- <AppShell nav={<div>N</div>} navOpen onNavOpenChange={cb}>
91
- <p>page</p>
92
- </AppShell>
93
- );
94
- fireEvent.click(screen.getByTestId('appshell-backdrop'));
95
- expect(cb).toHaveBeenCalledWith(false);
96
- });
97
-
98
- it('fires onNavOpenChange(false) when Escape is pressed', () => {
99
- const cb = vi.fn();
100
- render(
101
- <AppShell nav={<div>N</div>} navOpen onNavOpenChange={cb}>
102
- <p>page</p>
103
- </AppShell>
104
- );
105
- fireEvent.keyDown(document, { key: 'Escape' });
106
- expect(cb).toHaveBeenCalledWith(false);
107
- });
108
-
109
- it('does NOT fire Escape callback when drawer is closed', () => {
110
- const cb = vi.fn();
111
- render(
112
- <AppShell nav={<div>N</div>} onNavOpenChange={cb}>
113
- <p>page</p>
114
- </AppShell>
115
- );
116
- fireEvent.keyDown(document, { key: 'Escape' });
117
- expect(cb).not.toHaveBeenCalled();
118
- });
119
- });
120
-
121
- describe('body scroll lock', () => {
122
- it('locks body overflow while navOpen is true', () => {
123
- const { rerender, unmount } = render(
124
- <AppShell nav={<div>N</div>} navOpen>
125
- <p>page</p>
126
- </AppShell>
127
- );
128
- expect(document.body.style.overflow).toBe('hidden');
129
- rerender(
130
- <AppShell nav={<div>N</div>}>
131
- <p>page</p>
132
- </AppShell>
133
- );
134
- expect(document.body.style.overflow).not.toBe('hidden');
135
- unmount();
136
- });
137
-
138
- it('restores body overflow on unmount even if still open', () => {
139
- const { unmount } = render(
140
- <AppShell nav={<div>N</div>} navOpen>
141
- <p>page</p>
142
- </AppShell>
143
- );
144
- expect(document.body.style.overflow).toBe('hidden');
145
- unmount();
146
- expect(document.body.style.overflow).not.toBe('hidden');
147
- });
148
- });
149
- });
150
-
151
- describe('<AppShell> performance', () => {
152
- it('mounts under 30ms with all slots filled', () => {
153
- const t0 = performance.now();
154
- render(
155
- <AppShell
156
- header={<div>H</div>}
157
- nav={<div>N</div>}
158
- footer={<div>F</div>}
159
- >
160
- <p>page</p>
161
- </AppShell>
162
- );
163
- const t1 = performance.now();
164
- expect(t1 - t0).toBeLessThan(30);
165
- });
166
-
167
- it('renders at most 2 times on mount', () => {
168
- let count = 0;
169
- const Counted = (p: React.ComponentProps<typeof AppShell>) => {
170
- count++;
171
- return <AppShell {...p} />;
172
- };
173
- render(
174
- <Counted nav={<div>N</div>}>
175
- <p>page</p>
176
- </Counted>
177
- );
178
- expect(count).toBeLessThanOrEqual(2);
179
- });
180
-
181
- it('toggling navOpen costs ≤ 1 extra render on the wrapper', () => {
182
- let count = 0;
183
- const Counted = (p: React.ComponentProps<typeof AppShell>) => {
184
- count++;
185
- return <AppShell {...p} />;
186
- };
187
- const { rerender } = render(
188
- <Counted nav={<div>N</div>} navOpen={false}>
189
- <p>page</p>
190
- </Counted>
191
- );
192
- const baseline = count;
193
- rerender(
194
- <Counted nav={<div>N</div>} navOpen={true}>
195
- <p>page</p>
196
- </Counted>
197
- );
198
- expect(count - baseline).toBeLessThanOrEqual(2);
199
- });
200
-
201
- it('does NOT re-render an unrelated sibling on navOpen toggle', () => {
202
- const sibCount = { count: 0 };
203
- const Sibling = () => {
204
- sibCount.count++;
205
- return null;
206
- };
207
- const Tree = ({ open }: { open: boolean }) => (
208
- <div>
209
- <AppShell nav={<div>N</div>} navOpen={open}>
210
- <p>page</p>
211
- </AppShell>
212
- <Sibling />
213
- </div>
214
- );
215
- const { rerender } = render(<Tree open={false} />);
216
- const before = sibCount.count;
217
- rerender(<Tree open={true} />);
218
- rerender(<Tree open={false} />);
219
- // Each parent re-render triggers the sibling once. 2 parent
220
- // rerenders ⇒ ≤ 2 extra sibling renders (tolerance +1).
221
- expect(sibCount.count - before).toBeLessThanOrEqual(3);
222
- });
223
- });