@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.
- package/CHANGELOG.md +241 -0
- package/README.md +74 -15
- package/dist/index.d.ts +1 -146
- package/dist/index.esm.js +3127 -748
- package/dist/src/components/Alert/Alert.d.ts +65 -0
- package/dist/src/components/Alert/Alert.d.ts.map +1 -0
- package/dist/src/components/Alert/alert.types.d.ts +130 -0
- package/dist/src/components/Alert/alert.types.d.ts.map +1 -0
- package/dist/src/components/Alert/alert.variants.d.ts +85 -0
- package/dist/src/components/Alert/alert.variants.d.ts.map +1 -0
- package/dist/src/components/Avatar/Avatar.d.ts +48 -0
- package/dist/src/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/src/components/Avatar/avatar.types.d.ts +162 -0
- package/dist/src/components/Avatar/avatar.types.d.ts.map +1 -0
- package/dist/src/components/Avatar/avatar.variants.d.ts +208 -0
- package/dist/src/components/Avatar/avatar.variants.d.ts.map +1 -0
- package/dist/src/components/Badge/Badge.d.ts +63 -0
- package/dist/src/components/Badge/Badge.d.ts.map +1 -0
- package/dist/src/components/Badge/badge.types.d.ts +124 -0
- package/dist/src/components/Badge/badge.types.d.ts.map +1 -0
- package/dist/src/components/Badge/badge.variants.d.ts +262 -0
- package/dist/src/components/Badge/badge.variants.d.ts.map +1 -0
- package/dist/src/components/Box/Box.d.ts.map +1 -1
- package/dist/src/components/Box/box.types.d.ts +53 -0
- package/dist/src/components/Box/box.types.d.ts.map +1 -1
- package/dist/src/components/Button/Button.d.ts.map +1 -1
- package/dist/src/components/Button/button.types.d.ts +35 -0
- package/dist/src/components/Button/button.types.d.ts.map +1 -1
- package/dist/src/components/Card/Card.d.ts +107 -0
- package/dist/src/components/Card/Card.d.ts.map +1 -0
- package/dist/src/components/Card/card.types.d.ts +119 -0
- package/dist/src/components/Card/card.types.d.ts.map +1 -0
- package/dist/src/components/Chip/Chip.d.ts +67 -0
- package/dist/src/components/Chip/Chip.d.ts.map +1 -0
- package/dist/src/components/Chip/chip.types.d.ts +113 -0
- package/dist/src/components/Chip/chip.types.d.ts.map +1 -0
- package/dist/src/components/Chip/chip.variants.d.ts +155 -0
- package/dist/src/components/Chip/chip.variants.d.ts.map +1 -0
- package/dist/src/components/IconButton/IconButton.d.ts +57 -0
- package/dist/src/components/IconButton/IconButton.d.ts.map +1 -0
- package/dist/src/components/IconButton/iconButton.types.d.ts +96 -0
- package/dist/src/components/IconButton/iconButton.types.d.ts.map +1 -0
- package/dist/src/components/IconButton/iconButton.variants.d.ts +26 -0
- package/dist/src/components/IconButton/iconButton.variants.d.ts.map +1 -0
- package/dist/src/components/Menu/Menu.d.ts +118 -0
- package/dist/src/components/Menu/Menu.d.ts.map +1 -0
- package/dist/src/components/Menu/menu.types.d.ts +179 -0
- package/dist/src/components/Menu/menu.types.d.ts.map +1 -0
- package/dist/src/components/Menu/menu.variants.d.ts +129 -0
- package/dist/src/components/Menu/menu.variants.d.ts.map +1 -0
- package/dist/src/components/Snackbar/Snackbar.d.ts.map +1 -1
- package/dist/src/components/Snackbar/snackbar.types.d.ts +40 -3
- package/dist/src/components/Snackbar/snackbar.types.d.ts.map +1 -1
- package/dist/src/components/Snackbar/snackbar.variants.d.ts +12 -57
- package/dist/src/components/Snackbar/snackbar.variants.d.ts.map +1 -1
- package/dist/src/components/Spinner/Spinner.d.ts +44 -0
- package/dist/src/components/Spinner/Spinner.d.ts.map +1 -0
- package/dist/src/components/Spinner/spinner.types.d.ts +89 -0
- package/dist/src/components/Spinner/spinner.types.d.ts.map +1 -0
- package/dist/src/components/Spinner/spinner.variants.d.ts +111 -0
- package/dist/src/components/Spinner/spinner.variants.d.ts.map +1 -0
- package/dist/src/components/Table/cells/RenderChip.d.ts +15 -72
- package/dist/src/components/Table/cells/RenderChip.d.ts.map +1 -1
- package/dist/src/components/_shared/severity/index.d.ts +21 -0
- package/dist/src/components/_shared/severity/index.d.ts.map +1 -0
- package/dist/src/components/_shared/severity/severity.types.d.ts +48 -0
- package/dist/src/components/_shared/severity/severity.types.d.ts.map +1 -0
- package/dist/src/components/_shared/severity/severityIcons.d.ts +45 -0
- package/dist/src/components/_shared/severity/severityIcons.d.ts.map +1 -0
- package/dist/src/components/_shared/severity/severityVariants.d.ts +22 -0
- package/dist/src/components/_shared/severity/severityVariants.d.ts.map +1 -0
- package/dist/src/index.d.ts +27 -2
- package/dist/src/index.d.ts.map +1 -1
- package/package.json +9 -3
- package/.swcrc +0 -29
- package/A11Y.md +0 -130
- package/CONSUMER-VALIDATION.md +0 -130
- package/COVERAGE.md +0 -63
- package/LICENSE +0 -21
- package/PARITY.md +0 -481
- package/PERFORMANCE.md +0 -227
- package/REFINEMENT-NOTES.md +0 -50
- package/THEME-AUDIT.md +0 -174
- package/dist/components/Accordion/Accordion.d.ts +0 -21
- package/dist/components/Accordion/Accordion.d.ts.map +0 -1
- package/dist/components/Accordion/accordion.types.d.ts +0 -74
- package/dist/components/Accordion/accordion.types.d.ts.map +0 -1
- package/dist/components/Accordion/accordion.variants.d.ts +0 -58
- package/dist/components/Accordion/accordion.variants.d.ts.map +0 -1
- package/dist/components/AppShell/AppShell.d.ts +0 -46
- package/dist/components/AppShell/AppShell.d.ts.map +0 -1
- package/dist/components/AppShell/appShell.types.d.ts +0 -62
- package/dist/components/AppShell/appShell.types.d.ts.map +0 -1
- package/dist/components/AppShell/appShell.variants.d.ts +0 -65
- package/dist/components/AppShell/appShell.variants.d.ts.map +0 -1
- package/dist/components/AspectRatio/AspectRatio.d.ts +0 -36
- package/dist/components/AspectRatio/AspectRatio.d.ts.map +0 -1
- package/dist/components/AspectRatio/aspectRatio.types.d.ts +0 -50
- package/dist/components/AspectRatio/aspectRatio.types.d.ts.map +0 -1
- package/dist/components/Autocomplete/Autocomplete.d.ts +0 -32
- package/dist/components/Autocomplete/Autocomplete.d.ts.map +0 -1
- package/dist/components/Autocomplete/autocomplete.types.d.ts +0 -214
- package/dist/components/Autocomplete/autocomplete.types.d.ts.map +0 -1
- package/dist/components/Autocomplete/autocomplete.variants.d.ts +0 -214
- package/dist/components/Autocomplete/autocomplete.variants.d.ts.map +0 -1
- package/dist/components/Box/Box.d.ts +0 -36
- package/dist/components/Box/Box.d.ts.map +0 -1
- package/dist/components/Box/box.types.d.ts +0 -54
- package/dist/components/Box/box.types.d.ts.map +0 -1
- package/dist/components/Box/box.variants.d.ts +0 -402
- package/dist/components/Box/box.variants.d.ts.map +0 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +0 -23
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +0 -1
- package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts +0 -98
- package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts.map +0 -1
- package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts +0 -85
- package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts.map +0 -1
- package/dist/components/Button/Button.d.ts +0 -44
- package/dist/components/Button/Button.d.ts.map +0 -1
- package/dist/components/Button/button.types.d.ts +0 -66
- package/dist/components/Button/button.types.d.ts.map +0 -1
- package/dist/components/Button/button.variants.d.ts +0 -104
- package/dist/components/Button/button.variants.d.ts.map +0 -1
- package/dist/components/Calendar/Calendar.d.ts +0 -14
- package/dist/components/Calendar/Calendar.d.ts.map +0 -1
- package/dist/components/Calendar/calendar.types.d.ts +0 -72
- package/dist/components/Calendar/calendar.types.d.ts.map +0 -1
- package/dist/components/Calendar/calendar.variants.d.ts +0 -99
- package/dist/components/Calendar/calendar.variants.d.ts.map +0 -1
- package/dist/components/Checkbox/Checkbox.d.ts +0 -31
- package/dist/components/Checkbox/Checkbox.d.ts.map +0 -1
- package/dist/components/Checkbox/checkbox.types.d.ts +0 -86
- package/dist/components/Checkbox/checkbox.types.d.ts.map +0 -1
- package/dist/components/Checkbox/checkbox.variants.d.ts +0 -109
- package/dist/components/Checkbox/checkbox.variants.d.ts.map +0 -1
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +0 -38
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +0 -1
- package/dist/components/ConfirmDialog/confirmDialog.types.d.ts +0 -80
- package/dist/components/ConfirmDialog/confirmDialog.types.d.ts.map +0 -1
- package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts +0 -90
- package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts.map +0 -1
- package/dist/components/Container/Container.d.ts +0 -35
- package/dist/components/Container/Container.d.ts.map +0 -1
- package/dist/components/Container/container.types.d.ts +0 -41
- package/dist/components/Container/container.types.d.ts.map +0 -1
- package/dist/components/Container/container.variants.d.ts +0 -93
- package/dist/components/Container/container.variants.d.ts.map +0 -1
- package/dist/components/DataGrid/DataGrid.d.ts +0 -29
- package/dist/components/DataGrid/DataGrid.d.ts.map +0 -1
- package/dist/components/DataGrid/dataGrid.types.d.ts +0 -214
- package/dist/components/DataGrid/dataGrid.types.d.ts.map +0 -1
- package/dist/components/DataGrid/dataGrid.variants.d.ts +0 -222
- package/dist/components/DataGrid/dataGrid.variants.d.ts.map +0 -1
- package/dist/components/DataGrid/filters/ColumnFilters.d.ts +0 -23
- package/dist/components/DataGrid/filters/ColumnFilters.d.ts.map +0 -1
- package/dist/components/DataGrid/reorder/useColumnReorder.d.ts +0 -50
- package/dist/components/DataGrid/reorder/useColumnReorder.d.ts.map +0 -1
- package/dist/components/DataGrid/resize/useColumnResize.d.ts +0 -39
- package/dist/components/DataGrid/resize/useColumnResize.d.ts.map +0 -1
- package/dist/components/DataGrid/visibility/ColumnVisibilityMenu.d.ts +0 -44
- package/dist/components/DataGrid/visibility/ColumnVisibilityMenu.d.ts.map +0 -1
- package/dist/components/DatePicker/DatePicker.d.ts +0 -14
- package/dist/components/DatePicker/DatePicker.d.ts.map +0 -1
- package/dist/components/DatePicker/datePicker.types.d.ts +0 -88
- package/dist/components/DatePicker/datePicker.types.d.ts.map +0 -1
- package/dist/components/DatePicker/datePicker.variants.d.ts +0 -97
- package/dist/components/DatePicker/datePicker.variants.d.ts.map +0 -1
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +0 -13
- package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +0 -1
- package/dist/components/DateRangePicker/dateRangePicker.types.d.ts +0 -85
- package/dist/components/DateRangePicker/dateRangePicker.types.d.ts.map +0 -1
- package/dist/components/DateRangePicker/dateRangePicker.variants.d.ts +0 -183
- package/dist/components/DateRangePicker/dateRangePicker.variants.d.ts.map +0 -1
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +0 -13
- package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +0 -1
- package/dist/components/DateTimePicker/dateTimePicker.types.d.ts +0 -90
- package/dist/components/DateTimePicker/dateTimePicker.types.d.ts.map +0 -1
- package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts +0 -107
- package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts.map +0 -1
- package/dist/components/Dialog/Dialog.d.ts +0 -17
- package/dist/components/Dialog/Dialog.d.ts.map +0 -1
- package/dist/components/Dialog/dialog.types.d.ts +0 -75
- package/dist/components/Dialog/dialog.types.d.ts.map +0 -1
- package/dist/components/Dialog/dialog.variants.d.ts +0 -80
- package/dist/components/Dialog/dialog.variants.d.ts.map +0 -1
- package/dist/components/Divider/Divider.d.ts +0 -50
- package/dist/components/Divider/Divider.d.ts.map +0 -1
- package/dist/components/Divider/divider.types.d.ts +0 -47
- package/dist/components/Divider/divider.types.d.ts.map +0 -1
- package/dist/components/Divider/divider.variants.d.ts +0 -129
- package/dist/components/Divider/divider.variants.d.ts.map +0 -1
- package/dist/components/Grid/Grid.d.ts +0 -32
- package/dist/components/Grid/Grid.d.ts.map +0 -1
- package/dist/components/Grid/grid.types.d.ts +0 -103
- package/dist/components/Grid/grid.types.d.ts.map +0 -1
- package/dist/components/Grid/grid.variants.d.ts +0 -453
- package/dist/components/Grid/grid.variants.d.ts.map +0 -1
- package/dist/components/LeftNav/LeftNav.d.ts +0 -34
- package/dist/components/LeftNav/LeftNav.d.ts.map +0 -1
- package/dist/components/LeftNav/leftNav.types.d.ts +0 -136
- package/dist/components/LeftNav/leftNav.types.d.ts.map +0 -1
- package/dist/components/LeftNav/leftNav.variants.d.ts +0 -143
- package/dist/components/LeftNav/leftNav.variants.d.ts.map +0 -1
- package/dist/components/NumberField/NumberField.d.ts +0 -18
- package/dist/components/NumberField/NumberField.d.ts.map +0 -1
- package/dist/components/NumberField/numberField.types.d.ts +0 -79
- package/dist/components/NumberField/numberField.types.d.ts.map +0 -1
- package/dist/components/NumberField/numberField.variants.d.ts +0 -169
- package/dist/components/NumberField/numberField.variants.d.ts.map +0 -1
- package/dist/components/OTPField/OTPField.d.ts +0 -25
- package/dist/components/OTPField/OTPField.d.ts.map +0 -1
- package/dist/components/OTPField/otpField.types.d.ts +0 -74
- package/dist/components/OTPField/otpField.types.d.ts.map +0 -1
- package/dist/components/OTPField/otpField.variants.d.ts +0 -105
- package/dist/components/OTPField/otpField.variants.d.ts.map +0 -1
- package/dist/components/Pagination/Pagination.d.ts +0 -32
- package/dist/components/Pagination/Pagination.d.ts.map +0 -1
- package/dist/components/Pagination/pagination.helpers.d.ts +0 -23
- package/dist/components/Pagination/pagination.helpers.d.ts.map +0 -1
- package/dist/components/Pagination/pagination.types.d.ts +0 -120
- package/dist/components/Pagination/pagination.types.d.ts.map +0 -1
- package/dist/components/Pagination/pagination.variants.d.ts +0 -150
- package/dist/components/Pagination/pagination.variants.d.ts.map +0 -1
- package/dist/components/Popover/Popover.d.ts +0 -15
- package/dist/components/Popover/Popover.d.ts.map +0 -1
- package/dist/components/Popover/popover.types.d.ts +0 -45
- package/dist/components/Popover/popover.types.d.ts.map +0 -1
- package/dist/components/Popover/popover.variants.d.ts +0 -34
- package/dist/components/Popover/popover.variants.d.ts.map +0 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts +0 -35
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +0 -1
- package/dist/components/RadioGroup/radioGroup.types.d.ts +0 -103
- package/dist/components/RadioGroup/radioGroup.types.d.ts.map +0 -1
- package/dist/components/RadioGroup/radioGroup.variants.d.ts +0 -166
- package/dist/components/RadioGroup/radioGroup.variants.d.ts.map +0 -1
- package/dist/components/Skeleton/Skeleton.d.ts +0 -23
- package/dist/components/Skeleton/Skeleton.d.ts.map +0 -1
- package/dist/components/Skeleton/skeleton.types.d.ts +0 -56
- package/dist/components/Skeleton/skeleton.types.d.ts.map +0 -1
- package/dist/components/Skeleton/skeleton.variants.d.ts +0 -110
- package/dist/components/Skeleton/skeleton.variants.d.ts.map +0 -1
- package/dist/components/Snackbar/Snackbar.d.ts +0 -37
- package/dist/components/Snackbar/Snackbar.d.ts.map +0 -1
- package/dist/components/Snackbar/snackbar.types.d.ts +0 -86
- package/dist/components/Snackbar/snackbar.types.d.ts.map +0 -1
- package/dist/components/Snackbar/snackbar.variants.d.ts +0 -153
- package/dist/components/Snackbar/snackbar.variants.d.ts.map +0 -1
- package/dist/components/Stack/Stack.d.ts +0 -24
- package/dist/components/Stack/Stack.d.ts.map +0 -1
- package/dist/components/Stack/stack.types.d.ts +0 -61
- package/dist/components/Stack/stack.types.d.ts.map +0 -1
- package/dist/components/Stack/stack.variants.d.ts +0 -163
- package/dist/components/Stack/stack.variants.d.ts.map +0 -1
- package/dist/components/Switch/Switch.d.ts +0 -15
- package/dist/components/Switch/Switch.d.ts.map +0 -1
- package/dist/components/Switch/switch.types.d.ts +0 -47
- package/dist/components/Switch/switch.types.d.ts.map +0 -1
- package/dist/components/Switch/switch.variants.d.ts +0 -105
- package/dist/components/Switch/switch.variants.d.ts.map +0 -1
- package/dist/components/Table/Table.d.ts +0 -24
- package/dist/components/Table/Table.d.ts.map +0 -1
- package/dist/components/Table/cells/RenderButton.d.ts +0 -13
- package/dist/components/Table/cells/RenderButton.d.ts.map +0 -1
- package/dist/components/Table/cells/RenderChip.d.ts +0 -80
- package/dist/components/Table/cells/RenderChip.d.ts.map +0 -1
- package/dist/components/Table/cells/RenderText.d.ts +0 -21
- package/dist/components/Table/cells/RenderText.d.ts.map +0 -1
- package/dist/components/Table/cells/RenderTwoLine.d.ts +0 -20
- package/dist/components/Table/cells/RenderTwoLine.d.ts.map +0 -1
- package/dist/components/Table/cells/RowActionsMenu.d.ts +0 -36
- package/dist/components/Table/cells/RowActionsMenu.d.ts.map +0 -1
- package/dist/components/Table/cells/index.d.ts +0 -11
- package/dist/components/Table/cells/index.d.ts.map +0 -1
- package/dist/components/Table/table.types.d.ts +0 -399
- package/dist/components/Table/table.types.d.ts.map +0 -1
- package/dist/components/Table/table.variants.d.ts +0 -285
- package/dist/components/Table/table.variants.d.ts.map +0 -1
- package/dist/components/Tabs/Tabs.d.ts +0 -19
- package/dist/components/Tabs/Tabs.d.ts.map +0 -1
- package/dist/components/Tabs/tabs.types.d.ts +0 -61
- package/dist/components/Tabs/tabs.types.d.ts.map +0 -1
- package/dist/components/Tabs/tabs.variants.d.ts +0 -82
- package/dist/components/Tabs/tabs.variants.d.ts.map +0 -1
- package/dist/components/Tabs/useTabs.d.ts +0 -55
- package/dist/components/Tabs/useTabs.d.ts.map +0 -1
- package/dist/components/TextField/TextField.d.ts +0 -25
- package/dist/components/TextField/TextField.d.ts.map +0 -1
- package/dist/components/TextField/textField.types.d.ts +0 -98
- package/dist/components/TextField/textField.types.d.ts.map +0 -1
- package/dist/components/TextField/textField.variants.d.ts +0 -166
- package/dist/components/TextField/textField.variants.d.ts.map +0 -1
- package/dist/components/Textarea/Textarea.d.ts +0 -16
- package/dist/components/Textarea/Textarea.d.ts.map +0 -1
- package/dist/components/Textarea/textarea.types.d.ts +0 -63
- package/dist/components/Textarea/textarea.types.d.ts.map +0 -1
- package/dist/components/Textarea/textarea.variants.d.ts +0 -197
- package/dist/components/Textarea/textarea.variants.d.ts.map +0 -1
- package/dist/components/TimePicker/TimePicker.d.ts +0 -12
- package/dist/components/TimePicker/TimePicker.d.ts.map +0 -1
- package/dist/components/TimePicker/timePicker.types.d.ts +0 -80
- package/dist/components/TimePicker/timePicker.types.d.ts.map +0 -1
- package/dist/components/TimePicker/timePicker.variants.d.ts +0 -103
- package/dist/components/TimePicker/timePicker.variants.d.ts.map +0 -1
- package/dist/components/Tooltip/Tooltip.d.ts +0 -29
- package/dist/components/Tooltip/Tooltip.d.ts.map +0 -1
- package/dist/components/Tooltip/tooltip.types.d.ts +0 -47
- package/dist/components/Tooltip/tooltip.types.d.ts.map +0 -1
- package/dist/components/Tooltip/tooltip.variants.d.ts +0 -34
- package/dist/components/Tooltip/tooltip.variants.d.ts.map +0 -1
- package/dist/components/TopBar/TopBar.d.ts +0 -33
- package/dist/components/TopBar/TopBar.d.ts.map +0 -1
- package/dist/components/TopBar/topBar.types.d.ts +0 -49
- package/dist/components/TopBar/topBar.types.d.ts.map +0 -1
- package/dist/components/TopBar/topBar.variants.d.ts +0 -79
- package/dist/components/TopBar/topBar.variants.d.ts.map +0 -1
- package/dist/components/Typography/Typography.d.ts +0 -42
- package/dist/components/Typography/Typography.d.ts.map +0 -1
- package/dist/components/Typography/typography.types.d.ts +0 -61
- package/dist/components/Typography/typography.types.d.ts.map +0 -1
- package/dist/components/Typography/typography.variants.d.ts +0 -167
- package/dist/components/Typography/typography.variants.d.ts.map +0 -1
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +0 -42
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +0 -1
- package/dist/components/VisuallyHidden/visuallyHidden.types.d.ts +0 -42
- package/dist/components/VisuallyHidden/visuallyHidden.types.d.ts.map +0 -1
- package/dist/components/_shared/data/getNestedValue.d.ts +0 -20
- package/dist/components/_shared/data/getNestedValue.d.ts.map +0 -1
- package/dist/components/_shared/data/useColumnAutoDetect.d.ts +0 -45
- package/dist/components/_shared/data/useColumnAutoDetect.d.ts.map +0 -1
- package/dist/components/_shared/data/useControllableState.d.ts +0 -23
- package/dist/components/_shared/data/useControllableState.d.ts.map +0 -1
- package/dist/components/_shared/data/useDebouncedValue.d.ts +0 -10
- package/dist/components/_shared/data/useDebouncedValue.d.ts.map +0 -1
- package/dist/components/_shared/data/useTableFilter.d.ts +0 -36
- package/dist/components/_shared/data/useTableFilter.d.ts.map +0 -1
- package/dist/components/_shared/data/useTableSearch.d.ts +0 -23
- package/dist/components/_shared/data/useTableSearch.d.ts.map +0 -1
- package/dist/components/_shared/data/useTableSelection.d.ts +0 -25
- package/dist/components/_shared/data/useTableSelection.d.ts.map +0 -1
- package/dist/components/_shared/data/useTableSort.d.ts +0 -20
- package/dist/components/_shared/data/useTableSort.d.ts.map +0 -1
- package/dist/components/_shared/data/useVirtualizer.d.ts +0 -107
- package/dist/components/_shared/data/useVirtualizer.d.ts.map +0 -1
- package/dist/components/_shared/resolveValidationState.d.ts +0 -42
- package/dist/components/_shared/resolveValidationState.d.ts.map +0 -1
- package/dist/hooks/useAccessState.d.ts +0 -37
- package/dist/hooks/useAccessState.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/tsconfig.lib.tsbuildinfo +0 -1
- package/dist/utils/cn.d.ts +0 -26
- package/dist/utils/cn.d.ts.map +0 -1
- package/eslint.config.mjs +0 -62
- package/project.json +0 -15
- package/rollup.config.cjs +0 -16
- package/src/components/Accordion/Accordion.test.tsx +0 -95
- package/src/components/Accordion/Accordion.tsx +0 -97
- package/src/components/Accordion/accordion.types.ts +0 -66
- package/src/components/Accordion/accordion.variants.ts +0 -32
- package/src/components/AppShell/AppShell.test.tsx +0 -223
- package/src/components/AppShell/AppShell.tsx +0 -239
- package/src/components/AppShell/appShell.types.ts +0 -49
- package/src/components/AppShell/appShell.variants.ts +0 -54
- package/src/components/AspectRatio/AspectRatio.test.tsx +0 -173
- package/src/components/AspectRatio/AspectRatio.tsx +0 -73
- package/src/components/AspectRatio/aspectRatio.types.ts +0 -54
- package/src/components/Autocomplete/Autocomplete.perf.test.tsx +0 -225
- package/src/components/Autocomplete/Autocomplete.test.tsx +0 -556
- package/src/components/Autocomplete/Autocomplete.tsx +0 -1069
- package/src/components/Autocomplete/autocomplete.types.ts +0 -198
- package/src/components/Autocomplete/autocomplete.variants.ts +0 -141
- package/src/components/Box/Box.test.tsx +0 -370
- package/src/components/Box/Box.tsx +0 -83
- package/src/components/Box/box.types.ts +0 -61
- package/src/components/Box/box.variants.ts +0 -230
- package/src/components/Breadcrumbs/Breadcrumbs.perf.test.tsx +0 -128
- package/src/components/Breadcrumbs/Breadcrumbs.test.tsx +0 -231
- package/src/components/Breadcrumbs/Breadcrumbs.tsx +0 -203
- package/src/components/Breadcrumbs/breadcrumbs.types.ts +0 -87
- package/src/components/Breadcrumbs/breadcrumbs.variants.ts +0 -54
- package/src/components/Button/Button.test.tsx +0 -183
- package/src/components/Button/Button.tsx +0 -150
- package/src/components/Button/button.types.ts +0 -74
- package/src/components/Button/button.variants.ts +0 -159
- package/src/components/Calendar/Calendar.test.tsx +0 -75
- package/src/components/Calendar/Calendar.tsx +0 -264
- package/src/components/Calendar/calendar.types.ts +0 -65
- package/src/components/Calendar/calendar.variants.ts +0 -64
- package/src/components/Checkbox/Checkbox.test.tsx +0 -146
- package/src/components/Checkbox/Checkbox.tsx +0 -286
- package/src/components/Checkbox/checkbox.types.ts +0 -88
- package/src/components/Checkbox/checkbox.variants.ts +0 -68
- package/src/components/ConfirmDialog/ConfirmDialog.perf.test.tsx +0 -172
- package/src/components/ConfirmDialog/ConfirmDialog.test.tsx +0 -311
- package/src/components/ConfirmDialog/ConfirmDialog.tsx +0 -252
- package/src/components/ConfirmDialog/confirmDialog.types.ts +0 -70
- package/src/components/ConfirmDialog/confirmDialog.variants.ts +0 -76
- package/src/components/Container/Container.test.tsx +0 -209
- package/src/components/Container/Container.tsx +0 -74
- package/src/components/Container/container.types.ts +0 -45
- package/src/components/Container/container.variants.ts +0 -81
- package/src/components/DataGrid/DataGrid.perf.test.tsx +0 -114
- package/src/components/DataGrid/DataGrid.test.tsx +0 -1153
- package/src/components/DataGrid/DataGrid.tsx +0 -1282
- package/src/components/DataGrid/dataGrid.types.ts +0 -238
- package/src/components/DataGrid/dataGrid.variants.ts +0 -152
- package/src/components/DataGrid/filters/ColumnFilters.test.tsx +0 -330
- package/src/components/DataGrid/filters/ColumnFilters.tsx +0 -456
- package/src/components/DataGrid/reorder/useColumnReorder.test.ts +0 -130
- package/src/components/DataGrid/reorder/useColumnReorder.ts +0 -144
- package/src/components/DataGrid/resize/useColumnResize.test.ts +0 -144
- package/src/components/DataGrid/resize/useColumnResize.ts +0 -135
- package/src/components/DataGrid/visibility/ColumnVisibilityMenu.tsx +0 -186
- package/src/components/DatePicker/DatePicker.test.tsx +0 -76
- package/src/components/DatePicker/DatePicker.tsx +0 -305
- package/src/components/DatePicker/datePicker.types.ts +0 -77
- package/src/components/DatePicker/datePicker.variants.ts +0 -50
- package/src/components/DateRangePicker/DateRangePicker.test.tsx +0 -92
- package/src/components/DateRangePicker/DateRangePicker.tsx +0 -510
- package/src/components/DateRangePicker/dateRangePicker.types.ts +0 -74
- package/src/components/DateRangePicker/dateRangePicker.variants.ts +0 -101
- package/src/components/DateTimePicker/DateTimePicker.test.tsx +0 -78
- package/src/components/DateTimePicker/DateTimePicker.tsx +0 -347
- package/src/components/DateTimePicker/dateTimePicker.types.ts +0 -79
- package/src/components/DateTimePicker/dateTimePicker.variants.ts +0 -55
- package/src/components/Dialog/Dialog.test.tsx +0 -96
- package/src/components/Dialog/Dialog.tsx +0 -102
- package/src/components/Dialog/dialog.types.ts +0 -62
- package/src/components/Dialog/dialog.variants.ts +0 -66
- package/src/components/Divider/Divider.test.tsx +0 -243
- package/src/components/Divider/Divider.tsx +0 -140
- package/src/components/Divider/divider.types.ts +0 -52
- package/src/components/Divider/divider.variants.ts +0 -116
- package/src/components/Grid/Grid.test.tsx +0 -321
- package/src/components/Grid/Grid.tsx +0 -148
- package/src/components/Grid/grid.types.ts +0 -112
- package/src/components/Grid/grid.variants.ts +0 -133
- package/src/components/LeftNav/LeftNav.perf.test.tsx +0 -172
- package/src/components/LeftNav/LeftNav.test.tsx +0 -302
- package/src/components/LeftNav/LeftNav.tsx +0 -330
- package/src/components/LeftNav/leftNav.types.ts +0 -120
- package/src/components/LeftNav/leftNav.variants.ts +0 -107
- package/src/components/NumberField/NumberField.test.tsx +0 -83
- package/src/components/NumberField/NumberField.tsx +0 -321
- package/src/components/NumberField/numberField.types.ts +0 -72
- package/src/components/NumberField/numberField.variants.ts +0 -94
- package/src/components/OTPField/OTPField.test.tsx +0 -121
- package/src/components/OTPField/OTPField.tsx +0 -250
- package/src/components/OTPField/otpField.types.ts +0 -58
- package/src/components/OTPField/otpField.variants.ts +0 -72
- package/src/components/Pagination/Pagination.test.tsx +0 -314
- package/src/components/Pagination/Pagination.tsx +0 -277
- package/src/components/Pagination/pagination.helpers.ts +0 -102
- package/src/components/Pagination/pagination.types.ts +0 -117
- package/src/components/Pagination/pagination.variants.ts +0 -117
- package/src/components/Popover/Popover.test.tsx +0 -72
- package/src/components/Popover/Popover.tsx +0 -55
- package/src/components/Popover/popover.types.ts +0 -42
- package/src/components/Popover/popover.variants.ts +0 -24
- package/src/components/RadioGroup/RadioGroup.test.tsx +0 -140
- package/src/components/RadioGroup/RadioGroup.tsx +0 -283
- package/src/components/RadioGroup/radioGroup.types.ts +0 -85
- package/src/components/RadioGroup/radioGroup.variants.ts +0 -87
- package/src/components/Skeleton/Skeleton.test.tsx +0 -127
- package/src/components/Skeleton/Skeleton.tsx +0 -49
- package/src/components/Skeleton/skeleton.types.ts +0 -59
- package/src/components/Skeleton/skeleton.variants.ts +0 -87
- package/src/components/Snackbar/Snackbar.perf.test.tsx +0 -144
- package/src/components/Snackbar/Snackbar.test.tsx +0 -327
- package/src/components/Snackbar/Snackbar.tsx +0 -298
- package/src/components/Snackbar/snackbar.types.ts +0 -83
- package/src/components/Snackbar/snackbar.variants.ts +0 -74
- package/src/components/Stack/Stack.test.tsx +0 -309
- package/src/components/Stack/Stack.tsx +0 -115
- package/src/components/Stack/stack.types.ts +0 -68
- package/src/components/Stack/stack.variants.ts +0 -80
- package/src/components/Switch/Switch.test.tsx +0 -131
- package/src/components/Switch/Switch.tsx +0 -158
- package/src/components/Switch/switch.types.ts +0 -36
- package/src/components/Switch/switch.variants.ts +0 -70
- package/src/components/Table/Table.perf.test.tsx +0 -81
- package/src/components/Table/Table.test.tsx +0 -674
- package/src/components/Table/Table.tsx +0 -863
- package/src/components/Table/cells/RenderButton.tsx +0 -23
- package/src/components/Table/cells/RenderChip.tsx +0 -100
- package/src/components/Table/cells/RenderText.tsx +0 -37
- package/src/components/Table/cells/RenderTwoLine.tsx +0 -34
- package/src/components/Table/cells/RowActionsMenu.tsx +0 -147
- package/src/components/Table/cells/cells.test.tsx +0 -247
- package/src/components/Table/cells/index.ts +0 -14
- package/src/components/Table/table.types.ts +0 -438
- package/src/components/Table/table.variants.ts +0 -207
- package/src/components/Tabs/Tabs.test.tsx +0 -145
- package/src/components/Tabs/Tabs.tsx +0 -77
- package/src/components/Tabs/tabs.types.ts +0 -55
- package/src/components/Tabs/tabs.variants.ts +0 -69
- package/src/components/Tabs/useTabs.ts +0 -167
- package/src/components/TextField/TextField.test.tsx +0 -198
- package/src/components/TextField/TextField.tsx +0 -245
- package/src/components/TextField/textField.types.ts +0 -90
- package/src/components/TextField/textField.variants.ts +0 -105
- package/src/components/Textarea/Textarea.test.tsx +0 -75
- package/src/components/Textarea/Textarea.tsx +0 -190
- package/src/components/Textarea/textarea.types.ts +0 -60
- package/src/components/Textarea/textarea.variants.ts +0 -85
- package/src/components/TimePicker/TimePicker.test.tsx +0 -65
- package/src/components/TimePicker/TimePicker.tsx +0 -274
- package/src/components/TimePicker/timePicker.types.ts +0 -69
- package/src/components/TimePicker/timePicker.variants.ts +0 -53
- package/src/components/Tooltip/Tooltip.test.tsx +0 -73
- package/src/components/Tooltip/Tooltip.tsx +0 -70
- package/src/components/Tooltip/tooltip.types.ts +0 -44
- package/src/components/Tooltip/tooltip.variants.ts +0 -28
- package/src/components/TopBar/TopBar.test.tsx +0 -129
- package/src/components/TopBar/TopBar.tsx +0 -66
- package/src/components/TopBar/topBar.types.ts +0 -42
- package/src/components/TopBar/topBar.variants.ts +0 -38
- package/src/components/Typography/Typography.test.tsx +0 -247
- package/src/components/Typography/Typography.tsx +0 -112
- package/src/components/Typography/typography.types.ts +0 -65
- package/src/components/Typography/typography.variants.ts +0 -130
- package/src/components/VisuallyHidden/VisuallyHidden.test.tsx +0 -86
- package/src/components/VisuallyHidden/VisuallyHidden.tsx +0 -59
- package/src/components/VisuallyHidden/visuallyHidden.types.ts +0 -45
- package/src/components/_shared/data/getNestedValue.test.ts +0 -50
- package/src/components/_shared/data/getNestedValue.ts +0 -32
- package/src/components/_shared/data/useColumnAutoDetect.test.ts +0 -123
- package/src/components/_shared/data/useColumnAutoDetect.ts +0 -100
- package/src/components/_shared/data/useControllableState.ts +0 -48
- package/src/components/_shared/data/useDebouncedValue.ts +0 -24
- package/src/components/_shared/data/useTableFilter.test.ts +0 -166
- package/src/components/_shared/data/useTableFilter.ts +0 -118
- package/src/components/_shared/data/useTableSearch.test.ts +0 -115
- package/src/components/_shared/data/useTableSearch.ts +0 -66
- package/src/components/_shared/data/useTableSelection.test.ts +0 -100
- package/src/components/_shared/data/useTableSelection.ts +0 -100
- package/src/components/_shared/data/useTableSort.test.ts +0 -150
- package/src/components/_shared/data/useTableSort.ts +0 -141
- package/src/components/_shared/data/useVirtualizer.test.ts +0 -158
- package/src/components/_shared/data/useVirtualizer.ts +0 -199
- package/src/components/_shared/resolveValidationState.ts +0 -60
- package/src/components/_shared/themeIdentity.test.ts +0 -113
- package/src/hooks/useAccessState.spec.tsx +0 -161
- package/src/hooks/useAccessState.ts +0 -81
- package/src/index.ts +0 -388
- package/src/utils/cn.spec.ts +0 -16
- package/src/utils/cn.ts +0 -29
- package/test-output/vitest/coverage/base.css +0 -224
- package/test-output/vitest/coverage/block-navigation.js +0 -87
- package/test-output/vitest/coverage/clover.xml +0 -2418
- package/test-output/vitest/coverage/coverage-final.json +0 -89
- package/test-output/vitest/coverage/favicon.png +0 -0
- package/test-output/vitest/coverage/index.html +0 -746
- package/test-output/vitest/coverage/prettify.css +0 -1
- package/test-output/vitest/coverage/prettify.js +0 -2
- package/test-output/vitest/coverage/sort-arrow-sprite.png +0 -0
- package/test-output/vitest/coverage/sorter.js +0 -210
- package/test-output/vitest/coverage/src/components/Accordion/Accordion.tsx.html +0 -376
- package/test-output/vitest/coverage/src/components/Accordion/accordion.variants.ts.html +0 -181
- package/test-output/vitest/coverage/src/components/Accordion/index.html +0 -131
- package/test-output/vitest/coverage/src/components/AppShell/AppShell.tsx.html +0 -802
- package/test-output/vitest/coverage/src/components/AppShell/appShell.variants.ts.html +0 -247
- package/test-output/vitest/coverage/src/components/AppShell/index.html +0 -131
- package/test-output/vitest/coverage/src/components/AspectRatio/AspectRatio.tsx.html +0 -304
- package/test-output/vitest/coverage/src/components/AspectRatio/index.html +0 -116
- package/test-output/vitest/coverage/src/components/Autocomplete/Autocomplete.tsx.html +0 -3292
- package/test-output/vitest/coverage/src/components/Autocomplete/autocomplete.variants.ts.html +0 -508
- package/test-output/vitest/coverage/src/components/Autocomplete/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Box/Box.tsx.html +0 -334
- package/test-output/vitest/coverage/src/components/Box/box.variants.ts.html +0 -775
- package/test-output/vitest/coverage/src/components/Box/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Breadcrumbs/Breadcrumbs.tsx.html +0 -694
- package/test-output/vitest/coverage/src/components/Breadcrumbs/breadcrumbs.variants.ts.html +0 -247
- package/test-output/vitest/coverage/src/components/Breadcrumbs/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Button/Button.tsx.html +0 -535
- package/test-output/vitest/coverage/src/components/Button/button.variants.ts.html +0 -562
- package/test-output/vitest/coverage/src/components/Button/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Checkbox/Checkbox.tsx.html +0 -943
- package/test-output/vitest/coverage/src/components/Checkbox/checkbox.variants.ts.html +0 -289
- package/test-output/vitest/coverage/src/components/Checkbox/index.html +0 -131
- package/test-output/vitest/coverage/src/components/ConfirmDialog/ConfirmDialog.tsx.html +0 -841
- package/test-output/vitest/coverage/src/components/ConfirmDialog/confirmDialog.variants.ts.html +0 -313
- package/test-output/vitest/coverage/src/components/ConfirmDialog/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Container/Container.tsx.html +0 -307
- package/test-output/vitest/coverage/src/components/Container/container.variants.ts.html +0 -328
- package/test-output/vitest/coverage/src/components/Container/index.html +0 -131
- package/test-output/vitest/coverage/src/components/DataGrid/DataGrid.tsx.html +0 -3937
- package/test-output/vitest/coverage/src/components/DataGrid/dataGrid.variants.ts.html +0 -541
- package/test-output/vitest/coverage/src/components/DataGrid/filters/ColumnFilters.tsx.html +0 -1453
- package/test-output/vitest/coverage/src/components/DataGrid/filters/index.html +0 -116
- package/test-output/vitest/coverage/src/components/DataGrid/index.html +0 -131
- package/test-output/vitest/coverage/src/components/DataGrid/reorder/index.html +0 -116
- package/test-output/vitest/coverage/src/components/DataGrid/reorder/useColumnReorder.ts.html +0 -517
- package/test-output/vitest/coverage/src/components/DataGrid/resize/index.html +0 -116
- package/test-output/vitest/coverage/src/components/DataGrid/resize/useColumnResize.ts.html +0 -490
- package/test-output/vitest/coverage/src/components/DataGrid/visibility/ColumnVisibilityMenu.tsx.html +0 -592
- package/test-output/vitest/coverage/src/components/DataGrid/visibility/index.html +0 -116
- package/test-output/vitest/coverage/src/components/DateTimePicker/DateTimePicker.tsx.html +0 -1042
- package/test-output/vitest/coverage/src/components/DateTimePicker/dateTimePicker.variants.ts.html +0 -337
- package/test-output/vitest/coverage/src/components/DateTimePicker/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Dialog/Dialog.tsx.html +0 -391
- package/test-output/vitest/coverage/src/components/Dialog/dialog.variants.ts.html +0 -283
- package/test-output/vitest/coverage/src/components/Dialog/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Divider/Divider.tsx.html +0 -505
- package/test-output/vitest/coverage/src/components/Divider/divider.variants.ts.html +0 -433
- package/test-output/vitest/coverage/src/components/Divider/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Grid/Grid.tsx.html +0 -529
- package/test-output/vitest/coverage/src/components/Grid/grid.variants.ts.html +0 -484
- package/test-output/vitest/coverage/src/components/Grid/index.html +0 -131
- package/test-output/vitest/coverage/src/components/LeftNav/LeftNav.tsx.html +0 -1075
- package/test-output/vitest/coverage/src/components/LeftNav/index.html +0 -131
- package/test-output/vitest/coverage/src/components/LeftNav/leftNav.variants.ts.html +0 -406
- package/test-output/vitest/coverage/src/components/NumberField/NumberField.tsx.html +0 -1048
- package/test-output/vitest/coverage/src/components/NumberField/index.html +0 -131
- package/test-output/vitest/coverage/src/components/NumberField/numberField.variants.ts.html +0 -367
- package/test-output/vitest/coverage/src/components/OTPField/OTPField.tsx.html +0 -835
- package/test-output/vitest/coverage/src/components/OTPField/index.html +0 -131
- package/test-output/vitest/coverage/src/components/OTPField/otpField.variants.ts.html +0 -301
- package/test-output/vitest/coverage/src/components/Pagination/Pagination.tsx.html +0 -916
- package/test-output/vitest/coverage/src/components/Pagination/index.html +0 -146
- package/test-output/vitest/coverage/src/components/Pagination/pagination.helpers.ts.html +0 -391
- package/test-output/vitest/coverage/src/components/Pagination/pagination.variants.ts.html +0 -436
- package/test-output/vitest/coverage/src/components/Popover/Popover.tsx.html +0 -250
- package/test-output/vitest/coverage/src/components/Popover/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Popover/popover.variants.ts.html +0 -157
- package/test-output/vitest/coverage/src/components/RadioGroup/RadioGroup.tsx.html +0 -934
- package/test-output/vitest/coverage/src/components/RadioGroup/index.html +0 -131
- package/test-output/vitest/coverage/src/components/RadioGroup/radioGroup.variants.ts.html +0 -346
- package/test-output/vitest/coverage/src/components/Skeleton/Skeleton.tsx.html +0 -232
- package/test-output/vitest/coverage/src/components/Skeleton/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Skeleton/skeleton.variants.ts.html +0 -346
- package/test-output/vitest/coverage/src/components/Snackbar/Snackbar.tsx.html +0 -979
- package/test-output/vitest/coverage/src/components/Snackbar/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Snackbar/snackbar.variants.ts.html +0 -307
- package/test-output/vitest/coverage/src/components/Stack/Stack.tsx.html +0 -430
- package/test-output/vitest/coverage/src/components/Stack/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Stack/stack.variants.ts.html +0 -325
- package/test-output/vitest/coverage/src/components/Switch/Switch.tsx.html +0 -559
- package/test-output/vitest/coverage/src/components/Switch/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Switch/switch.variants.ts.html +0 -295
- package/test-output/vitest/coverage/src/components/Table/Table.tsx.html +0 -2677
- package/test-output/vitest/coverage/src/components/Table/cells/RenderButton.tsx.html +0 -154
- package/test-output/vitest/coverage/src/components/Table/cells/RenderChip.tsx.html +0 -385
- package/test-output/vitest/coverage/src/components/Table/cells/RenderText.tsx.html +0 -196
- package/test-output/vitest/coverage/src/components/Table/cells/RenderTwoLine.tsx.html +0 -187
- package/test-output/vitest/coverage/src/components/Table/cells/RowActionsMenu.tsx.html +0 -526
- package/test-output/vitest/coverage/src/components/Table/cells/index.html +0 -191
- package/test-output/vitest/coverage/src/components/Table/cells/index.ts.html +0 -127
- package/test-output/vitest/coverage/src/components/Table/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Table/table.variants.ts.html +0 -706
- package/test-output/vitest/coverage/src/components/Tabs/Tabs.tsx.html +0 -283
- package/test-output/vitest/coverage/src/components/Tabs/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Tabs/tabs.variants.ts.html +0 -292
- package/test-output/vitest/coverage/src/components/TextField/TextField.tsx.html +0 -820
- package/test-output/vitest/coverage/src/components/TextField/index.html +0 -131
- package/test-output/vitest/coverage/src/components/TextField/textField.variants.ts.html +0 -400
- package/test-output/vitest/coverage/src/components/Textarea/Textarea.tsx.html +0 -655
- package/test-output/vitest/coverage/src/components/Textarea/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Textarea/textarea.variants.ts.html +0 -340
- package/test-output/vitest/coverage/src/components/Tooltip/Tooltip.tsx.html +0 -295
- package/test-output/vitest/coverage/src/components/Tooltip/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Tooltip/tooltip.variants.ts.html +0 -169
- package/test-output/vitest/coverage/src/components/TopBar/TopBar.tsx.html +0 -283
- package/test-output/vitest/coverage/src/components/TopBar/index.html +0 -131
- package/test-output/vitest/coverage/src/components/TopBar/topBar.variants.ts.html +0 -199
- package/test-output/vitest/coverage/src/components/Typography/Typography.tsx.html +0 -421
- package/test-output/vitest/coverage/src/components/Typography/index.html +0 -131
- package/test-output/vitest/coverage/src/components/Typography/typography.variants.ts.html +0 -436
- package/test-output/vitest/coverage/src/components/VisuallyHidden/VisuallyHidden.tsx.html +0 -262
- package/test-output/vitest/coverage/src/components/VisuallyHidden/index.html +0 -116
- package/test-output/vitest/coverage/src/components/_shared/data/getNestedValue.ts.html +0 -181
- package/test-output/vitest/coverage/src/components/_shared/data/index.html +0 -236
- package/test-output/vitest/coverage/src/components/_shared/data/useColumnAutoDetect.ts.html +0 -385
- package/test-output/vitest/coverage/src/components/_shared/data/useControllableState.ts.html +0 -229
- package/test-output/vitest/coverage/src/components/_shared/data/useDebouncedValue.ts.html +0 -157
- package/test-output/vitest/coverage/src/components/_shared/data/useTableFilter.ts.html +0 -439
- package/test-output/vitest/coverage/src/components/_shared/data/useTableSearch.ts.html +0 -283
- package/test-output/vitest/coverage/src/components/_shared/data/useTableSelection.ts.html +0 -385
- package/test-output/vitest/coverage/src/components/_shared/data/useTableSort.ts.html +0 -508
- package/test-output/vitest/coverage/src/components/_shared/data/useVirtualizer.ts.html +0 -682
- package/test-output/vitest/coverage/src/components/_shared/index.html +0 -116
- package/test-output/vitest/coverage/src/components/_shared/resolveValidationState.ts.html +0 -265
- package/test-output/vitest/coverage/src/hooks/index.html +0 -116
- package/test-output/vitest/coverage/src/hooks/useAccessState.ts.html +0 -328
- package/test-output/vitest/coverage/src/index.html +0 -116
- package/test-output/vitest/coverage/src/index.ts.html +0 -1153
- package/test-output/vitest/coverage/src/utils/cn.ts.html +0 -172
- package/test-output/vitest/coverage/src/utils/index.html +0 -116
- package/tsconfig.json +0 -13
- package/tsconfig.lib.json +0 -58
- package/tsconfig.spec.json +0 -34
- package/vite.config.ts +0 -33
- package/vitest.config.mts +0 -29
package/PERFORMANCE.md
DELETED
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
# `@dashforge/tw` performance baseline
|
|
2
|
-
|
|
3
|
-
> Establishes the performance commitment for `@dashforge/tw`. Every
|
|
4
|
-
> subsequent release should hold these numbers or justify any
|
|
5
|
-
> regression in `CHANGELOG.md`.
|
|
6
|
-
|
|
7
|
-
## Bundle size
|
|
8
|
-
|
|
9
|
-
### Full library (`dist/index.esm.js`)
|
|
10
|
-
|
|
11
|
-
Measured immediately after `nx build @dashforge/tw` on the
|
|
12
|
-
`0.4.0-beta` source tree.
|
|
13
|
-
|
|
14
|
-
| Metric | Value |
|
|
15
|
-
|---|---|
|
|
16
|
-
| Raw size | **312 KB** (319,924 bytes) |
|
|
17
|
-
| Gzipped | **68.85 KB** (70,499 bytes) |
|
|
18
|
-
| Brotli (estimate) | ~58 KB |
|
|
19
|
-
|
|
20
|
-
### Historical bundle trajectory
|
|
21
|
-
|
|
22
|
-
| Version | Raw | Gzipped | Components | Delta vs prev |
|
|
23
|
-
|---|---|---|---|---|
|
|
24
|
-
| `0.1.0-beta` | 255 KB | ~57 KB | 16 (tier-1/2/3) | baseline |
|
|
25
|
-
| `0.2.0-beta` | 272 KB | ~60 KB | 24 (+8 foundation) | +17 KB raw |
|
|
26
|
-
| `0.3.0-beta` | 272 KB | ~60 KB | 24 | 0 (no new components) |
|
|
27
|
-
| `0.4.0-beta` | **312 KB** | **68.85 KB** | 29 (+5 tier-4) | **+40 KB raw / +8.85 KB gz** |
|
|
28
|
-
|
|
29
|
-
The `0.4.0-beta` delta is the cost of 5 new Tier-4 components +
|
|
30
|
-
their 5 Radix UI primitive dependencies (`@radix-ui/react-dialog`,
|
|
31
|
-
`-tabs`, `-tooltip`, `-popover`, `-accordion`). The Radix runtime
|
|
32
|
-
sub-dependencies (`@radix-ui/react-portal`, `-presence`,
|
|
33
|
-
`-dismissable-layer`, etc.) are shared across primitives so the
|
|
34
|
-
marginal cost of each new primitive after the first is smaller.
|
|
35
|
-
|
|
36
|
-
### Tree-shaken size — per-component source weight
|
|
37
|
-
|
|
38
|
-
Tree-shaken bundle size depends on the consumer's bundler (Vite,
|
|
39
|
-
webpack, esbuild, Rollup). The TS source size below is a **proxy**
|
|
40
|
-
for the contribution each component makes — not the precise
|
|
41
|
-
tree-shaken cost, which includes the Radix runtime and shared
|
|
42
|
-
helpers (`cn()`, `tailwind-variants`).
|
|
43
|
-
|
|
44
|
-
| Component | Source bytes | Tier |
|
|
45
|
-
|---|---:|---|
|
|
46
|
-
| Autocomplete | 49,020 | Tier-3 (heaviest — multi-select + free-solo + async) |
|
|
47
|
-
| LeftNav | 18,002 | F6 (navigation) |
|
|
48
|
-
| RadioGroup | 16,946 | Tier-2 |
|
|
49
|
-
| NumberField | 16,289 | Tier-2 |
|
|
50
|
-
| DateTimePicker | 16,075 | Tier-3 |
|
|
51
|
-
| Checkbox | 15,732 | Tier-1 |
|
|
52
|
-
| Grid | 15,086 | F10 (foundation) |
|
|
53
|
-
| TextField | 14,772 | Tier-1 |
|
|
54
|
-
| Snackbar | 14,770 | F7 |
|
|
55
|
-
| Box | 14,039 | F9 (foundation) |
|
|
56
|
-
| ConfirmDialog | 13,361 | F7 |
|
|
57
|
-
| AppShell | 12,734 | F6 |
|
|
58
|
-
| Button | 12,628 | Tier-1 |
|
|
59
|
-
| OTPField | 12,497 | Tier-2 |
|
|
60
|
-
| Breadcrumbs | 11,694 | F6 |
|
|
61
|
-
| Typography | 11,619 | F9 |
|
|
62
|
-
| Divider | 11,026 | F10 |
|
|
63
|
-
| Textarea | 10,310 | Tier-2 |
|
|
64
|
-
| Stack | 9,131 | F9 |
|
|
65
|
-
| Switch | 8,711 | Tier-1 |
|
|
66
|
-
| **Dialog** | **7,421** | **Tier-4 (new)** |
|
|
67
|
-
| Container | 6,754 | F10 |
|
|
68
|
-
| **Accordion** | **6,150** | **Tier-4 (new)** |
|
|
69
|
-
| **Tabs** | **5,303** | **Tier-4 (new)** |
|
|
70
|
-
| AspectRatio | 4,871 | F10 |
|
|
71
|
-
| TopBar | 4,723 | F6 |
|
|
72
|
-
| **Tooltip** | **4,389** | **Tier-4 (new)** |
|
|
73
|
-
| **Popover** | **3,747** | **Tier-4 (new)** |
|
|
74
|
-
| VisuallyHidden | 3,744 | F10 |
|
|
75
|
-
|
|
76
|
-
The 5 new Tier-4 components contribute **~27 KB of source** combined
|
|
77
|
-
— roughly aligned with the +40 KB raw bundle delta (the extra
|
|
78
|
-
~13 KB is Radix runtime).
|
|
79
|
-
|
|
80
|
-
### Representative bundle subsets
|
|
81
|
-
|
|
82
|
-
If a consumer imports only a subset, expected gzipped cost
|
|
83
|
-
(estimated, depends on bundler):
|
|
84
|
-
|
|
85
|
-
| Subset | Components | Estimated gzipped |
|
|
86
|
-
|---|---|---|
|
|
87
|
-
| Atomic (Button only) | 1 | ~6 KB |
|
|
88
|
-
| Form bundle | TextField + Checkbox + Switch + RadioGroup + NumberField + Textarea + OTPField | ~28 KB |
|
|
89
|
-
| Layout bundle | Box + Stack + Grid + Container + AppShell + LeftNav + TopBar + Breadcrumbs | ~24 KB |
|
|
90
|
-
| Foundation (F9 + F10) | Typography + Box + Stack + Grid + Container + Divider + AspectRatio + VisuallyHidden | ~18 KB |
|
|
91
|
-
| Tier-4 overlay primitives | Dialog + Tabs + Tooltip + Popover + Accordion | ~12 KB |
|
|
92
|
-
| Full library | 29 | **68.85 KB** |
|
|
93
|
-
|
|
94
|
-
Estimates are upper bounds — actual tree-shaking can do better if
|
|
95
|
-
the consumer doesn't trigger code paths (e.g. importing
|
|
96
|
-
`<Autocomplete>` without using `loadOptions` won't strip the async
|
|
97
|
-
loader code from the bundle, but other unused components are
|
|
98
|
-
fully eliminable).
|
|
99
|
-
|
|
100
|
-
## Render performance
|
|
101
|
-
|
|
102
|
-
### Sprint 2 baseline (in `dash` consumer, React Profiler)
|
|
103
|
-
|
|
104
|
-
Measured in
|
|
105
|
-
`~/projects/web/learn/dash/src/pages/TestFoundation.tsx` — page
|
|
106
|
-
mounts all 8 Foundation primitives × ~6 instances each (50+
|
|
107
|
-
primitives total) inside `<DashforgeTailwindProvider>` wrapped in
|
|
108
|
-
`<React.Profiler>`:
|
|
109
|
-
|
|
110
|
-
| Operation | Time | Notes |
|
|
111
|
-
|---|---|---|
|
|
112
|
-
| First mount | **12.1 ms** | Cold cache, no styles compiled yet |
|
|
113
|
-
| Re-render (no state change) | **7.0 ms** | After style cache warm |
|
|
114
|
-
| Re-render (state change) | **8.6 ms** | One field updated, sibling fields untouched |
|
|
115
|
-
|
|
116
|
-
Within the **60 fps budget** (16.67 ms per frame) for the full page
|
|
117
|
-
mount + every subsequent interaction. The primitives are pure (no
|
|
118
|
-
internal `useState`, no `useEffect`, only className resolution via
|
|
119
|
-
`tv()` + `cn()`), so React's reconciler trivially handles re-renders
|
|
120
|
-
without `React.memo`.
|
|
121
|
-
|
|
122
|
-
### Tier-4 components — expected render cost
|
|
123
|
-
|
|
124
|
-
Tier-4 components (Dialog, Tabs, Tooltip, Popover, Accordion) carry
|
|
125
|
-
internal Radix state machines. Render cost is dominated by Radix's
|
|
126
|
-
own reconciliation, which is well-optimized. Expected ranges:
|
|
127
|
-
|
|
128
|
-
| Component | Expected mount | Notes |
|
|
129
|
-
|---|---|---|
|
|
130
|
-
| Tooltip | <1 ms | Renders nothing until hover; portal mount on open is ~2 ms |
|
|
131
|
-
| Popover | <1 ms | Same as Tooltip |
|
|
132
|
-
| Tabs | ~2 ms | Static — all triggers + active panel mount once |
|
|
133
|
-
| Accordion | ~3 ms | Per-item triggers + lazy panel mount |
|
|
134
|
-
| Dialog | ~3 ms | Portal + focus trap setup on open |
|
|
135
|
-
|
|
136
|
-
These are estimates based on Radix's published benchmarks. Real
|
|
137
|
-
consumer-app numbers will be captured in Sprint 3 follow-up
|
|
138
|
-
end-to-end validation pass (`/test-tier-4` page in `dash`).
|
|
139
|
-
|
|
140
|
-
## Regression budget policy
|
|
141
|
-
|
|
142
|
-
**Every PR that touches a component or adds a new export MUST**:
|
|
143
|
-
|
|
144
|
-
1. Re-run `nx build @dashforge/tw` and check the new
|
|
145
|
-
`dist/index.esm.js` size (raw + gzipped).
|
|
146
|
-
2. If the gzipped delta is **> +5%** vs the previous release,
|
|
147
|
-
include in the PR description:
|
|
148
|
-
- The bytes added (raw + gzipped)
|
|
149
|
-
- The reason (new component / new feature / new dep / refactor)
|
|
150
|
-
- A justification for why the cost is worth it
|
|
151
|
-
3. If the gzipped delta is **> +10%**, the PR also requires a
|
|
152
|
-
reviewer's sign-off on the bundle impact explicitly (not a
|
|
153
|
-
silent pass).
|
|
154
|
-
|
|
155
|
-
The 5% threshold at the current 68.85 KB baseline = 3.4 KB. That's
|
|
156
|
-
enough headroom for a typical component-level change (e.g. adding a
|
|
157
|
-
single Radix primitive's worth of code) without the policy
|
|
158
|
-
triggering, but small enough that a careless dep addition gets
|
|
159
|
-
flagged.
|
|
160
|
-
|
|
161
|
-
## Render perf test suite (Sprint 6 P3)
|
|
162
|
-
|
|
163
|
-
CI-enforced render budgets, co-located as `*.perf.test.tsx`. Bounds
|
|
164
|
-
are deliberately generous — they catch **order-of-magnitude**
|
|
165
|
-
regressions (an accidental O(n²) in the pipeline, or a virtualization
|
|
166
|
-
break that mounts the full dataset), not micro-jitter.
|
|
167
|
-
|
|
168
|
-
### `<Table>` — non-virtualized (`Table.perf.test.tsx`)
|
|
169
|
-
|
|
170
|
-
| Scenario | Budget | Asserts |
|
|
171
|
-
|---|---|---|
|
|
172
|
-
| Mount 500 rows (Table's row-count ceiling) | < 800 ms | render path stays linear |
|
|
173
|
-
| 500 rows in DOM | exactly 500 `<tbody tr>` | non-virtualized contract |
|
|
174
|
-
| Default sort over 500 rows | < 800 ms | sort pipeline is not O(n²) |
|
|
175
|
-
|
|
176
|
-
### `<DataGrid>` — virtualized (`DataGrid.perf.test.tsx`)
|
|
177
|
-
|
|
178
|
-
| Scenario | Budget | Asserts |
|
|
179
|
-
|---|---|---|
|
|
180
|
-
| Mount 10 000 rows | < 500 ms | render is O(window) |
|
|
181
|
-
| 10 000-row DOM node count | < 100 `<tbody tr>` | only the window is mounted |
|
|
182
|
-
| Mount 100 000 rows | < 800 ms | cost does NOT scale with the dataset |
|
|
183
|
-
|
|
184
|
-
The 100 000-row test is the load-bearing one: if a regression makes
|
|
185
|
-
`renderedRows` slice the full array, the DOM-node-count assertion
|
|
186
|
-
fails immediately (100k `<tr>` ≫ 100).
|
|
187
|
-
|
|
188
|
-
## Strict gate assessment (Sprint 6 P3)
|
|
189
|
-
|
|
190
|
-
A probe enabled `exactOptionalPropertyTypes` + `noUncheckedIndexedAccess`
|
|
191
|
-
+ `noUnusedParameters` on `@dashforge/tw`. Result: **42 errors, zero
|
|
192
|
-
real bugs.** Every hit was either pedantic (`exactOptionalPropertyTypes`
|
|
193
|
-
flagging `fn | undefined` passed to an optional prop) or invariant-safe
|
|
194
|
-
but unprovable (`noUncheckedIndexedAccess` flagging array accesses
|
|
195
|
-
already guarded by a `.length` check — AppShell focus trap, RadioGroup
|
|
196
|
-
option access, Autocomplete highlight index).
|
|
197
|
-
|
|
198
|
-
**Decision**: enabling those flags is a workspace-wide change (the
|
|
199
|
-
`@dashforge/source` path mapping pulls the bridge layer's source into
|
|
200
|
-
the same program) for near-zero bug-catching value. Deferred to the
|
|
201
|
-
`1.0.0-rc` hardening sprint. The codebase is already solid under the
|
|
202
|
-
current `strict: true` baseline + `noImplicitOverride` /
|
|
203
|
-
`noImplicitReturns` / `noUnusedLocals` / `noFallthroughCasesInSwitch`.
|
|
204
|
-
ESLint is on `typescript-eslint recommended` + `react-hooks
|
|
205
|
-
recommended` + Nx boundary/dependency checks; promotion to
|
|
206
|
-
`strict-type-checked` (type-aware `no-unsafe-*` / `no-floating-promises`)
|
|
207
|
-
is the same workspace-wide 1.0-rc item.
|
|
208
|
-
|
|
209
|
-
## Console hygiene (Sprint 6 P3)
|
|
210
|
-
|
|
211
|
-
The full test run is audited for stray `console.error` / `console.warn`.
|
|
212
|
-
Sprint 6 P3 fixed the one finding: Radix logged 8× *"Missing
|
|
213
|
-
`Description` or `aria-describedby` for DialogContent"* — `<Dialog>`
|
|
214
|
-
now passes `aria-describedby={undefined}` on the content when no
|
|
215
|
-
`description` is supplied (Radix's documented opt-out). Console is
|
|
216
|
-
clean apart from a single jsdom-only *"Not implemented: navigation"*
|
|
217
|
-
(an environment limitation, not a component defect).
|
|
218
|
-
|
|
219
|
-
## Reference
|
|
220
|
-
|
|
221
|
-
- **Build command**: `nx build @dashforge/tw`
|
|
222
|
-
- **Measurement script**: `gzip -c dist/index.esm.js | wc -c`
|
|
223
|
-
- **Render perf setup**: see Sprint 2 P1
|
|
224
|
-
(`/test-foundation` route in `dash` consumer)
|
|
225
|
-
- **Render perf suite**: `*.perf.test.tsx` (Sprint 6 P3 — Table + DataGrid)
|
|
226
|
-
- **CHANGELOG entries**: every release records the bundle delta
|
|
227
|
-
in the `Compatibility` section
|
package/REFINEMENT-NOTES.md
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
# REFINEMENT-NOTES — `@dashforge/tw` Table + DataGrid
|
|
2
|
-
|
|
3
|
-
> Sprint 6 P2 deliverable (2026-05-20). Blind technical review of
|
|
4
|
-
> `<Table>` + `<DataGrid>` — what was fixed, and what was explicitly
|
|
5
|
-
> deferred.
|
|
6
|
-
|
|
7
|
-
## Fixed in Sprint 6 P2
|
|
8
|
-
|
|
9
|
-
| ID | Area | Fix |
|
|
10
|
-
|----|------|-----|
|
|
11
|
-
| D1 | DataGrid a11y | `aria-rowcount` on the `<table>` (true dataset size, not the virtualized window) + `aria-rowindex` on the header row (1) and every data row (`absoluteIndex + 2`). A screen reader now announces the real position. |
|
|
12
|
-
| D3 | DataGrid a11y | Column resize is now keyboard-operable: the resize handle is `tabIndex=0`, `ArrowLeft`/`ArrowRight` nudge the width 16px (64px with Shift), `aria-valuemin/max/now` announce the bounds. New `nudge()` on `useColumnResize`. |
|
|
13
|
-
| D6 | DataGrid bug | The resize handle on a reorderable column could also start a column-reorder drag (the `<th>` is `draggable`). Handle now sets `draggable={false}` — grabbing it always resizes. |
|
|
14
|
-
| D2 | DataGrid touch | Column reorder rides native HTML5 drag-and-drop, whose events don't fire on touch. The grid now detects a coarse pointer (`matchMedia('(pointer: coarse)')`) and disables the `draggable` affordance there, so it isn't a dead interaction. (Full touch reorder — see Deferred below.) |
|
|
15
|
-
| D4 | DataGrid UX | `Enter` in any filter Popover input now applies the filter (was: must click "Apply"). |
|
|
16
|
-
| D7 | Table + DataGrid UX | Empty state distinguishes a genuinely empty dataset (`noData`) from one emptied by an active search / filter (`noResults`). New `TableLabels.noResults`. |
|
|
17
|
-
| D8 | Table | Verified non-issue — Table is auto-height by design; skeleton rows inherit cell density padding. Added a clarifying code comment. |
|
|
18
|
-
| M4 | Cell library | Cleaned up a self-contradictory comment in `RenderChip` (the `solid neutral` variant). |
|
|
19
|
-
| T1 | Table | `getRowId` stays optional (back-compat) but now emits a dev-only `console.warn` when omitted while sort / search / selection / expandable is active — the positional-index fallback breaks row identity on reorder. Expanded the prop JSDoc. |
|
|
20
|
-
|
|
21
|
-
## Deferred — tracked follow-ups
|
|
22
|
-
|
|
23
|
-
### T3 — Per-column filter UI on `<Table>`
|
|
24
|
-
`<DataGrid>` got the in-header filter Popover in 0.8.0-beta (`filterable: true`).
|
|
25
|
-
`<Table>` still only accepts a controlled `filterModel` with no UI to
|
|
26
|
-
produce it. Porting `ColumnFilterTrigger` + the filter pipeline to
|
|
27
|
-
Table is a feature, not a refinement — it belongs in a dedicated
|
|
28
|
-
feature sprint (or post-1.0). Until then, Table's `filterModel` is
|
|
29
|
-
consumer-driven only.
|
|
30
|
-
|
|
31
|
-
### C2 — Cell renderer library additions
|
|
32
|
-
The library ships `RenderText`, `RenderTwoLine`, `RenderChip`,
|
|
33
|
-
`RenderButton`, `RowActionsMenu`. Common table-cell patterns still
|
|
34
|
-
missing:
|
|
35
|
-
- `RenderDate` — locale-aware date formatting (`Intl.DateTimeFormat`,
|
|
36
|
-
zero-dep)
|
|
37
|
-
- `RenderAvatar` — avatar image / initials + label, the canonical
|
|
38
|
-
"user" cell
|
|
39
|
-
- `RenderLink` — a styled anchor honoring the theme
|
|
40
|
-
|
|
41
|
-
Purely additive — slated for a feature sprint, not refinement.
|
|
42
|
-
|
|
43
|
-
### D2-full — Pointer-events column reorder (touch support)
|
|
44
|
-
The D2 fix above is *graceful degradation* — reorder is cleanly
|
|
45
|
-
unavailable on touch rather than silently broken. A proper touch
|
|
46
|
-
implementation means replacing `useColumnReorder`'s HTML5
|
|
47
|
-
drag-and-drop with pointer events (à la `useColumnResize`): track
|
|
48
|
-
`pointerdown` → `pointermove` with hit-testing (`elementFromPoint`)
|
|
49
|
-
for the drop target → `pointerup` to commit. Meaningful rewrite —
|
|
50
|
-
deferred to a follow-up so P2 stays a refinement pass.
|
package/THEME-AUDIT.md
DELETED
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
# THEME-AUDIT — @dashforge/tw catalog identity sweep
|
|
2
|
-
|
|
3
|
-
> Audit of every `@dashforge/tw` component against the **default
|
|
4
|
-
> `dashforgePreset()` identity rule**.
|
|
5
|
-
>
|
|
6
|
-
> **Rule recap.** The `dashforgePreset()` CSS-variable swap
|
|
7
|
-
> auto-inverts the neutral palette:
|
|
8
|
-
> `bg-neutral-50` / `text-neutral-900` etc. resolve to the
|
|
9
|
-
> appropriate physical color via `--df-tw-color-neutral-N`. Adding a
|
|
10
|
-
> `dark:` variant on a neutral class **double-inverts** the value
|
|
11
|
-
> and breaks dark mode. The Table fix established the
|
|
12
|
-
> canonical patterns; Sprint 4.3 applies them to the whole catalog.
|
|
13
|
-
|
|
14
|
-
## Scoring legend
|
|
15
|
-
|
|
16
|
-
- **A** — Pure double inversion. REMOVE `dark:` variant entirely.
|
|
17
|
-
- **B** — `bg-white` / `text-white` paired with a wrong `dark:`
|
|
18
|
-
target. KEEP the `dark:` variant (white doesn't auto-invert) but
|
|
19
|
-
FIX the target — `dark:bg-neutral-900` in dark mode resolves to
|
|
20
|
-
near-white (broken); use `dark:bg-neutral-100` for proper dark
|
|
21
|
-
elevated surface.
|
|
22
|
-
- **C** — Intentional `dark:` on color palette (`primary`,
|
|
23
|
-
`success`, `warning`, `danger`, `info`, `secondary`). KEEP — color
|
|
24
|
-
palettes don't auto-invert; explicit `dark:` is a design choice.
|
|
25
|
-
- **D** — Component-specific exception (e.g. Tooltip wants
|
|
26
|
-
high-contrast inversion against the page). Document why kept.
|
|
27
|
-
|
|
28
|
-
## Per-file findings
|
|
29
|
-
|
|
30
|
-
### Accordion (`accordion.variants.ts`)
|
|
31
|
-
|
|
32
|
-
| Line | Class | Category | Fix |
|
|
33
|
-
|---|---|---|---|
|
|
34
|
-
| 6 | `border-b border-neutral-200 dark:border-neutral-800` | A | `border-b border-neutral-200` |
|
|
35
|
-
| 10 | `text-sm font-medium text-neutral-900 dark:text-neutral-50` | A | `text-sm font-medium text-neutral-900` |
|
|
36
|
-
| 18 | `overflow-hidden text-sm text-neutral-700 dark:text-neutral-300` | A | drop `dark:text-neutral-300` |
|
|
37
|
-
|
|
38
|
-
### Box (`box.variants.ts`)
|
|
39
|
-
|
|
40
|
-
| Line | Class | Category | Fix |
|
|
41
|
-
|---|---|---|---|
|
|
42
|
-
| 58 | `bg-white dark:bg-neutral-900` (elevated) | B | `bg-white dark:bg-neutral-100` (dark-mode elevation tier above page surface) |
|
|
43
|
-
| 168 | `border-neutral-200 bg-white dark:border-neutral-700 dark:bg-neutral-900` (outlined) | A + B | `border-neutral-200 bg-white dark:bg-neutral-100` (border auto-inverts; bg keeps `bg-white` + corrected dark target) |
|
|
44
|
-
| 184 | `bg-neutral-100 text-neutral-900 dark:bg-neutral-800 dark:text-neutral-100` (soft) | A | `bg-neutral-100 text-neutral-900` |
|
|
45
|
-
| 200 | `bg-neutral-900 text-white dark:bg-neutral-100 dark:text-neutral-900` (solid neutral) | D | `bg-neutral-900 text-neutral-50` (auto-invert — solid neutral becomes inverted accent: dark surface in light mode, light surface in dark mode; consistent with identity rule) |
|
|
46
|
-
|
|
47
|
-
### Dialog (`dialog.variants.ts`)
|
|
48
|
-
|
|
49
|
-
| Line | Class | Category | Fix |
|
|
50
|
-
|---|---|---|---|
|
|
51
|
-
| 29 | `w-full bg-white dark:bg-neutral-900 rounded-lg shadow-xl` | B | `dark:bg-neutral-100` |
|
|
52
|
-
| 30 | `border border-neutral-200 dark:border-neutral-800` | A | drop `dark:` |
|
|
53
|
-
| 37 | `text-lg ... text-neutral-900 dark:text-neutral-50` | A | drop `dark:` |
|
|
54
|
-
| 38 | `text-sm text-neutral-600 dark:text-neutral-400` | A | drop `dark:` |
|
|
55
|
-
| 42 | `dark:text-neutral-400 dark:hover:text-neutral-50` (close button) | A | drop both `dark:` |
|
|
56
|
-
| 43 | `hover:bg-neutral-100 dark:hover:bg-neutral-800` | A | drop `dark:` |
|
|
57
|
-
|
|
58
|
-
### Divider (`divider.variants.ts` + `Divider.tsx`)
|
|
59
|
-
|
|
60
|
-
| File / Line | Class | Category | Fix |
|
|
61
|
-
|---|---|---|---|
|
|
62
|
-
| `divider.variants.ts:88` | `border-neutral-200 dark:border-neutral-800` (neutral color variant) | A | drop `dark:` |
|
|
63
|
-
| `Divider.tsx:131` | `text-sm text-neutral-500 dark:text-neutral-400` (label) | A | drop `dark:` |
|
|
64
|
-
|
|
65
|
-
### Pagination (`pagination.variants.ts` + `Pagination.tsx`)
|
|
66
|
-
|
|
67
|
-
10 violations — full sweep of borders / text / bg / hover / active-button.
|
|
68
|
-
|
|
69
|
-
| Line | Class | Category | Fix |
|
|
70
|
-
|---|---|---|---|
|
|
71
|
-
| `variants:26` summary | `text-neutral-600 dark:text-neutral-400` | A | drop |
|
|
72
|
-
| `variants:30, 44, 58` borders | `border border-neutral-300 dark:border-neutral-700` | A | drop |
|
|
73
|
-
| `variants:31, 45, 59` button/selector/input bg | `bg-white dark:bg-neutral-900` | B → drop entirely | use `bg-neutral-50` (auto-inverts; border provides separation against page) |
|
|
74
|
-
| `variants:32, 46, 55` button text | `text-neutral-700 dark:text-neutral-300` | A | drop |
|
|
75
|
-
| `variants:33, 47` button hover bg | `hover:bg-neutral-50 dark:hover:bg-neutral-800` | A | `hover:bg-neutral-100` (1 elevation tier; auto-inverts) |
|
|
76
|
-
| `variants:60` jumpInput text | `text-neutral-900 dark:text-neutral-50` | A | drop |
|
|
77
|
-
| `Pagination.tsx:241` select bg+border | `border ... dark:border-neutral-700 bg-white dark:bg-neutral-900` | B → drop | `border border-neutral-300 bg-neutral-50` |
|
|
78
|
-
|
|
79
|
-
### Popover (`popover.variants.ts`)
|
|
80
|
-
|
|
81
|
-
| Line | Class | Category | Fix |
|
|
82
|
-
|---|---|---|---|
|
|
83
|
-
| 6 | `border border-neutral-200 dark:border-neutral-800` | A | drop |
|
|
84
|
-
| 7 | `bg-white dark:bg-neutral-900 p-4 shadow-lg` | B | `dark:bg-neutral-100` |
|
|
85
|
-
| 8 | `text-sm text-neutral-900 dark:text-neutral-50` | A | drop |
|
|
86
|
-
| 14 | `fill-white dark:fill-neutral-900` (arrow) | B | `fill-white dark:fill-neutral-100` (match content bg) |
|
|
87
|
-
|
|
88
|
-
### Skeleton (`skeleton.variants.ts`)
|
|
89
|
-
|
|
90
|
-
| Line | Class | Category | Fix |
|
|
91
|
-
|---|---|---|---|
|
|
92
|
-
| 38 | `bg-neutral-200 dark:bg-neutral-800` | A | drop `dark:` (auto-inverts — skeleton placeholder slightly more visible than page surface in both modes) |
|
|
93
|
-
|
|
94
|
-
### Tabs (`tabs.variants.ts`)
|
|
95
|
-
|
|
96
|
-
| Line | Class | Category | Fix |
|
|
97
|
-
|---|---|---|---|
|
|
98
|
-
| 22 | `border-b border-neutral-200 dark:border-neutral-800` (underline list) | A | drop |
|
|
99
|
-
| 24 | `... text-neutral-600 dark:text-neutral-400` (underline trigger) | A | drop |
|
|
100
|
-
| 25 | `hover:text-neutral-900 dark:hover:text-neutral-50` | A | drop |
|
|
101
|
-
| 31 | `bg-neutral-100 dark:bg-neutral-800 p-1` (pill list) | A | drop |
|
|
102
|
-
| 33 | `... text-neutral-600 dark:text-neutral-400` (pill trigger) | A | drop |
|
|
103
|
-
| 34 | `hover:text-neutral-900 dark:hover:text-neutral-50` | A | drop |
|
|
104
|
-
| 35 | `data-[state=active]:bg-white dark:data-[state=active]:bg-neutral-900` (pill active) | B | `dark:bg-neutral-100` |
|
|
105
|
-
| 36 | `data-[state=active]:text-neutral-900 dark:data-[state=active]:text-neutral-50` | A | drop |
|
|
106
|
-
|
|
107
|
-
### Tooltip (`tooltip.variants.ts`)
|
|
108
|
-
|
|
109
|
-
Tooltip historically used a "fixed dark surface in both modes" pattern.
|
|
110
|
-
Per the identity rule, **auto-invert** is the right behavior: dark
|
|
111
|
-
tooltip on light page (light mode), light tooltip on dark page (dark
|
|
112
|
-
mode) — the inversion **is** the high-contrast effect.
|
|
113
|
-
|
|
114
|
-
| Line | Class | Category | Fix |
|
|
115
|
-
|---|---|---|---|
|
|
116
|
-
| 8 | `bg-neutral-900 text-neutral-50` + `dark:bg-neutral-50 dark:text-neutral-900` | A | drop the `dark:` line entirely (the base classes already auto-invert and give the high-contrast effect against the page) |
|
|
117
|
-
| 14 | `fill-neutral-900 dark:fill-neutral-50` (arrow) | A | drop `dark:` (arrow auto-inverts with content bg) |
|
|
118
|
-
|
|
119
|
-
### Typography (`typography.variants.ts`)
|
|
120
|
-
|
|
121
|
-
| Line | Class | Category | Fix |
|
|
122
|
-
|---|---|---|---|
|
|
123
|
-
| 65 | `neutral: 'text-neutral-900 dark:text-neutral-100'` | A | `'text-neutral-900'` |
|
|
124
|
-
| 66 | `muted: 'text-neutral-600 dark:text-neutral-400'` | A | `'text-neutral-600'` |
|
|
125
|
-
|
|
126
|
-
### Table-side (Sprint 4.1 — already fixed)
|
|
127
|
-
|
|
128
|
-
Per-file already corrected in Sprint 4.1. Sprint 4.3 just verifies
|
|
129
|
-
the regression guard (themeIdentity test) is promoted to global so
|
|
130
|
-
the rest of the catalog is covered too.
|
|
131
|
-
|
|
132
|
-
## Summary
|
|
133
|
-
|
|
134
|
-
| Component | Violations | Fix categories |
|
|
135
|
-
|---|---|---|
|
|
136
|
-
| Accordion | 3 | A × 3 |
|
|
137
|
-
| Box | 4 | A + B + D |
|
|
138
|
-
| Dialog | 6 | A × 5 + B × 1 |
|
|
139
|
-
| Divider | 2 | A × 2 |
|
|
140
|
-
| Pagination | 10 | A × 7 + B × 3 |
|
|
141
|
-
| Popover | 4 | A × 3 + B × 1 |
|
|
142
|
-
| Skeleton | 1 | A × 1 |
|
|
143
|
-
| Tabs | 8 | A × 7 + B × 1 |
|
|
144
|
-
| Tooltip | 2 | A × 2 (was "double-inverted to preserve fixed look" — auto-invert is now the canonical choice) |
|
|
145
|
-
| Typography | 2 | A × 2 |
|
|
146
|
-
| **Total** | **42** | **31 A + 5 B + 1 D + 5 fixed already** |
|
|
147
|
-
|
|
148
|
-
## Color palettes — NOT touched
|
|
149
|
-
|
|
150
|
-
`dark:` variants on `primary`, `secondary`, `success`, `warning`,
|
|
151
|
-
`danger`, `info` palettes are **intentional** — those palettes do
|
|
152
|
-
not auto-invert (same physical color in both modes), so the
|
|
153
|
-
`dark:` shift is a design choice for tone refinement. They stay.
|
|
154
|
-
|
|
155
|
-
Affected sites (kept as-is):
|
|
156
|
-
|
|
157
|
-
- `Box` compound variants (`outlined/soft/solid` × color) for the
|
|
158
|
-
6 color palettes (lines 188-198 in `box.variants.ts`)
|
|
159
|
-
- `RenderChip` color rows (Sprint 4.1 decision)
|
|
160
|
-
- `RowActionsMenu` `text-danger-700 dark:text-danger-300` and same
|
|
161
|
-
for warning
|
|
162
|
-
|
|
163
|
-
## Sprint 4.3 deliverables
|
|
164
|
-
|
|
165
|
-
1. ✅ THEME-AUDIT.md (this file)
|
|
166
|
-
2. ⏳ Apply fixes per-file (P3)
|
|
167
|
-
3. ⏳ Promote `themeIdentity.test.ts` from `Table/_internal/` to
|
|
168
|
-
package-level scanner walking `libs/dashforge/tw/src/components/**`
|
|
169
|
-
(P2). Excludes `*.test.*` files. The test fails any future
|
|
170
|
-
`dark:*-neutral-N` reintroduction.
|
|
171
|
-
4. ⏳ Visual regression catch in `dash` (manual check in both
|
|
172
|
-
light + dark mode)
|
|
173
|
-
5. ⏳ Release `@dashforge/tw@0.7.0-beta` — expected bundle to
|
|
174
|
-
**shrink** by 1-3 KB gz (removing redundant classes).
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { AccordionProps } from './accordion.types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Dashforge TW `<Accordion>` — collapsible section list.
|
|
4
|
-
*
|
|
5
|
-
* Built on `@radix-ui/react-accordion`:
|
|
6
|
-
* - APG accordion pattern: `role="region"` on content, header
|
|
7
|
-
* button with `aria-expanded` and `aria-controls` linked to
|
|
8
|
-
* the panel.
|
|
9
|
-
* - Keyboard support: Space / Enter toggle, ArrowDown / ArrowUp
|
|
10
|
-
* move focus between triggers, Home / End to extremes.
|
|
11
|
-
* - Two modes:
|
|
12
|
-
* - `type="single"` — at most one section open at a time;
|
|
13
|
-
* `collapsible` allows clicking the open section to close it
|
|
14
|
-
* (default true).
|
|
15
|
-
* - `type="multiple"` — multiple sections open simultaneously.
|
|
16
|
-
*
|
|
17
|
-
* The trigger renders a chevron that flips 180° via CSS
|
|
18
|
-
* (`data-state=open` selector) — no React state, no JS animation.
|
|
19
|
-
*/
|
|
20
|
-
export declare function Accordion(props: AccordionProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
-
//# sourceMappingURL=Accordion.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,cAAc,EAGf,MAAM,sBAAsB,CAAC;AAE9B;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAqE9C"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
export interface AccordionSlotProps {
|
|
3
|
-
root?: {
|
|
4
|
-
className?: string;
|
|
5
|
-
};
|
|
6
|
-
item?: {
|
|
7
|
-
className?: string;
|
|
8
|
-
};
|
|
9
|
-
header?: {
|
|
10
|
-
className?: string;
|
|
11
|
-
};
|
|
12
|
-
trigger?: {
|
|
13
|
-
className?: string;
|
|
14
|
-
};
|
|
15
|
-
content?: {
|
|
16
|
-
className?: string;
|
|
17
|
-
};
|
|
18
|
-
chevron?: {
|
|
19
|
-
className?: string;
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Single accordion section — paired `{ value, header, content }`.
|
|
24
|
-
* The `value` is the canonical id (used in `value` / `defaultValue`
|
|
25
|
-
* to control which sections are expanded).
|
|
26
|
-
*/
|
|
27
|
-
export interface AccordionItem {
|
|
28
|
-
value: string;
|
|
29
|
-
/** Trigger label (clickable to expand / collapse). */
|
|
30
|
-
header: ReactNode;
|
|
31
|
-
/** Section body, revealed when this item is expanded. */
|
|
32
|
-
content: ReactNode;
|
|
33
|
-
/** Per-item disabled flag. */
|
|
34
|
-
disabled?: boolean;
|
|
35
|
-
}
|
|
36
|
-
interface AccordionBaseProps {
|
|
37
|
-
items: AccordionItem[];
|
|
38
|
-
/** Root className shortcut. */
|
|
39
|
-
sx?: string;
|
|
40
|
-
/** Per-slot overrides. */
|
|
41
|
-
slotProps?: AccordionSlotProps;
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Single-mode props — at most one section open at a time.
|
|
45
|
-
* `collapsible: true` (default) lets the user close the open
|
|
46
|
-
* section by clicking it again.
|
|
47
|
-
*/
|
|
48
|
-
export interface AccordionSingleProps extends AccordionBaseProps {
|
|
49
|
-
type?: 'single';
|
|
50
|
-
value?: string;
|
|
51
|
-
defaultValue?: string;
|
|
52
|
-
onValueChange?: (value: string) => void;
|
|
53
|
-
/** @default true */
|
|
54
|
-
collapsible?: boolean;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Multiple-mode props — any number of sections open simultaneously.
|
|
58
|
-
*/
|
|
59
|
-
export interface AccordionMultipleProps extends AccordionBaseProps {
|
|
60
|
-
type: 'multiple';
|
|
61
|
-
value?: string[];
|
|
62
|
-
defaultValue?: string[];
|
|
63
|
-
onValueChange?: (value: string[]) => void;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Props for `<Accordion>`.
|
|
67
|
-
*
|
|
68
|
-
* Built on `@radix-ui/react-accordion`. Discriminated by `type`:
|
|
69
|
-
* - `type="single"` (default) — `value` is `string`.
|
|
70
|
-
* - `type="multiple"` — `value` is `string[]`.
|
|
71
|
-
*/
|
|
72
|
-
export type AccordionProps = AccordionSingleProps | AccordionMultipleProps;
|
|
73
|
-
export {};
|
|
74
|
-
//# sourceMappingURL=accordion.types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.types.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/accordion.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,MAAM,EAAE,SAAS,CAAC;IAClB,yDAAyD;IACzD,OAAO,EAAE,SAAS,CAAC;IACnB,8BAA8B;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,+BAA+B;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,0BAA0B;IAC1B,SAAS,CAAC,EAAE,kBAAkB,CAAC;CAChC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,oBAAoB;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,MAAM,MAAM,cAAc,GAAG,oBAAoB,GAAG,sBAAsB,CAAC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
-
export declare const accordionVariants: import("tailwind-variants").TVReturnType<{
|
|
3
|
-
[key: string]: {
|
|
4
|
-
[key: string]: import("tailwind-merge").ClassNameValue | {
|
|
5
|
-
content?: import("tailwind-merge").ClassNameValue;
|
|
6
|
-
root?: import("tailwind-merge").ClassNameValue;
|
|
7
|
-
header?: import("tailwind-merge").ClassNameValue;
|
|
8
|
-
trigger?: import("tailwind-merge").ClassNameValue;
|
|
9
|
-
item?: import("tailwind-merge").ClassNameValue;
|
|
10
|
-
chevron?: import("tailwind-merge").ClassNameValue;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
} | {
|
|
14
|
-
[x: string]: {
|
|
15
|
-
[x: string]: import("tailwind-merge").ClassNameValue | {
|
|
16
|
-
content?: import("tailwind-merge").ClassNameValue;
|
|
17
|
-
root?: import("tailwind-merge").ClassNameValue;
|
|
18
|
-
header?: import("tailwind-merge").ClassNameValue;
|
|
19
|
-
trigger?: import("tailwind-merge").ClassNameValue;
|
|
20
|
-
item?: import("tailwind-merge").ClassNameValue;
|
|
21
|
-
chevron?: import("tailwind-merge").ClassNameValue;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
} | {}, {
|
|
25
|
-
root: string;
|
|
26
|
-
item: string;
|
|
27
|
-
header: string;
|
|
28
|
-
trigger: string[];
|
|
29
|
-
content: string[];
|
|
30
|
-
chevron: string[];
|
|
31
|
-
}, undefined, {
|
|
32
|
-
[key: string]: {
|
|
33
|
-
[key: string]: import("tailwind-merge").ClassNameValue | {
|
|
34
|
-
content?: import("tailwind-merge").ClassNameValue;
|
|
35
|
-
root?: import("tailwind-merge").ClassNameValue;
|
|
36
|
-
header?: import("tailwind-merge").ClassNameValue;
|
|
37
|
-
trigger?: import("tailwind-merge").ClassNameValue;
|
|
38
|
-
item?: import("tailwind-merge").ClassNameValue;
|
|
39
|
-
chevron?: import("tailwind-merge").ClassNameValue;
|
|
40
|
-
};
|
|
41
|
-
};
|
|
42
|
-
} | {}, {
|
|
43
|
-
root: string;
|
|
44
|
-
item: string;
|
|
45
|
-
header: string;
|
|
46
|
-
trigger: string[];
|
|
47
|
-
content: string[];
|
|
48
|
-
chevron: string[];
|
|
49
|
-
}, import("tailwind-variants").TVReturnType<unknown, {
|
|
50
|
-
root: string;
|
|
51
|
-
item: string;
|
|
52
|
-
header: string;
|
|
53
|
-
trigger: string[];
|
|
54
|
-
content: string[];
|
|
55
|
-
chevron: string[];
|
|
56
|
-
}, undefined, unknown, unknown, undefined>>;
|
|
57
|
-
export type AccordionVariants = VariantProps<typeof accordionVariants>;
|
|
58
|
-
//# sourceMappingURL=accordion.variants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.variants.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/accordion.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CA2B5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import type { AppShellProps } from './appShell.types.js';
|
|
2
|
-
/**
|
|
3
|
-
* Dashforge TW AppShell — top-level layout orchestrator.
|
|
4
|
-
*
|
|
5
|
-
* ┌──────────────────────────────────────────┐
|
|
6
|
-
* │ header │ ← `header` slot
|
|
7
|
-
* ├────────┬─────────────────────────────────┤
|
|
8
|
-
* │ │ │
|
|
9
|
-
* │ nav │ main │ ← `nav` + `children`
|
|
10
|
-
* │ │ │
|
|
11
|
-
* ├────────┴─────────────────────────────────┤
|
|
12
|
-
* │ footer │ ← `footer` slot
|
|
13
|
-
* └──────────────────────────────────────────┘
|
|
14
|
-
*
|
|
15
|
-
* **Responsive**:
|
|
16
|
-
* - `≥ md`: nav stays in the inline slot at the left.
|
|
17
|
-
* - `< md`: nav becomes a slide-in drawer toggled by `navOpen`.
|
|
18
|
-
* A backdrop closes the drawer on click (mirrors `<Dialog>` UX).
|
|
19
|
-
*
|
|
20
|
-
* **Body scroll lock**: when the mobile drawer is open we add
|
|
21
|
-
* `overflow-hidden` to `<body>` to prevent dual-scroll wobble. The
|
|
22
|
-
* effect cleans up on close + on unmount.
|
|
23
|
-
*
|
|
24
|
-
* **A11y**:
|
|
25
|
-
* - `<main>` landmark wraps the content area.
|
|
26
|
-
* - `<header>` / `<footer>` come for free from their HTML tags.
|
|
27
|
-
* - The mobile drawer + backdrop participate in the standard
|
|
28
|
-
* "click outside to close" pattern — `Escape` closes the drawer
|
|
29
|
-
* too (added via global keydown).
|
|
30
|
-
* - **Focus trap** (WCAG 2.4.3) — when the mobile drawer opens:
|
|
31
|
-
* 1. The previously-focused element is captured.
|
|
32
|
-
* 2. Focus moves to the first focusable element inside the drawer.
|
|
33
|
-
* 3. Tab / Shift+Tab wrap inside the drawer (cycle from
|
|
34
|
-
* last → first and first → last) — Tab can never escape
|
|
35
|
-
* to the page underneath while the drawer is open.
|
|
36
|
-
* 4. On close, focus returns to the captured element (typically
|
|
37
|
-
* the hamburger toggle the user pressed to open the drawer).
|
|
38
|
-
* This pattern matches WAI-ARIA APG's modal dialog guidance even
|
|
39
|
-
* though the drawer isn't strictly a dialog — same focus
|
|
40
|
-
* management makes keyboard users' experience predictable.
|
|
41
|
-
* - **`role="dialog"` + `aria-modal="true"`** are applied to the
|
|
42
|
-
* drawer when open so screen readers announce it as a modal
|
|
43
|
-
* overlay rather than just an aside.
|
|
44
|
-
*/
|
|
45
|
-
export declare function AppShell(props: AppShellProps): import("react/jsx-runtime").JSX.Element;
|
|
46
|
-
//# sourceMappingURL=AppShell.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../src/components/AppShell/AppShell.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA0BzD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,2CAsK5C"}
|