@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
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import type { ElementType, HTMLAttributes } from 'react';
|
|
2
|
-
import type { TypographyVariants } from './typography.variants.js';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Props for `<Typography>`.
|
|
6
|
-
*
|
|
7
|
-
* Composition with native `HTMLAttributes`:
|
|
8
|
-
* • `className` is omitted in favour of `sx` (string of utility classes)
|
|
9
|
-
* — same convention as Button/TextField/Checkbox/Switch in this
|
|
10
|
-
* package. `sx` is merged via `tailwind-merge`, so the consumer's
|
|
11
|
-
* classes always win over variant defaults.
|
|
12
|
-
* • `color` is omitted because the native HTML attribute (the
|
|
13
|
-
* deprecated `color="red"` from HTML4) collides with our intent
|
|
14
|
-
* prop — TypeScript would otherwise widen to a confusing union.
|
|
15
|
-
*
|
|
16
|
-
* Variant axes picked from `TypographyVariants`:
|
|
17
|
-
* • `variant` — the type scale (h1–h6, subtitle1/2, body1/2, caption, overline)
|
|
18
|
-
* • `color` — the intent (primary, secondary, success, warning, danger, info, neutral, muted, inherit)
|
|
19
|
-
* • `weight` — overrides the variant's default font-weight
|
|
20
|
-
* • `align` — text-align
|
|
21
|
-
* • `truncate` — one-line ellipsis
|
|
22
|
-
* • `noWrap` — one-line without ellipsis
|
|
23
|
-
* • `gutterBottom` — adds mb-3 (mirror of MUI's same prop)
|
|
24
|
-
*
|
|
25
|
-
* Polymorphism:
|
|
26
|
-
* • `as` — override the HTML tag while keeping the variant's visual
|
|
27
|
-
* style (e.g. `<Typography variant="h1" as="h2">` renders an
|
|
28
|
-
* `<h2>` styled like h1 — useful when the semantic heading
|
|
29
|
-
* level matters more than the type scale).
|
|
30
|
-
* • `asChild` — render as the single child element via Radix Slot
|
|
31
|
-
* (so the styles paint onto a `<Link>`, `<a>`, etc.).
|
|
32
|
-
* Mutually exclusive with `as` — see component header for
|
|
33
|
-
* the rationale.
|
|
34
|
-
*/
|
|
35
|
-
export interface TypographyProps
|
|
36
|
-
extends Omit<HTMLAttributes<HTMLElement>, 'className' | 'color'>,
|
|
37
|
-
Pick<TypographyVariants, 'variant' | 'color' | 'weight' | 'align' | 'truncate' | 'noWrap' | 'gutterBottom'> {
|
|
38
|
-
/**
|
|
39
|
-
* Override the HTML tag. Defaults to a sensible mapping per variant
|
|
40
|
-
* (h1→h1, …, body1→p, caption→span, overline→span). Use when the
|
|
41
|
-
* semantic heading level should differ from the visual scale —
|
|
42
|
-
* e.g. a "hero" rendered as an `<h2>` but styled like `h1`.
|
|
43
|
-
*
|
|
44
|
-
* Ignored when `asChild` is true.
|
|
45
|
-
*/
|
|
46
|
-
as?: ElementType;
|
|
47
|
-
|
|
48
|
-
/**
|
|
49
|
-
* Render via Radix `Slot` — the Typography styles paint onto the
|
|
50
|
-
* single React child instead of wrapping it in our own tag. Useful
|
|
51
|
-
* for `<Typography asChild><Link>...</Link></Typography>` to get a
|
|
52
|
-
* styled router link with no extra DOM.
|
|
53
|
-
*
|
|
54
|
-
* Mutually exclusive with `as` (when both are passed, `asChild` wins
|
|
55
|
-
* and `as` is ignored — see Typography.tsx for the reason).
|
|
56
|
-
*/
|
|
57
|
-
asChild?: boolean;
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Utility classes appended to the variant chain. Resolved via
|
|
61
|
-
* `tailwind-merge` so the consumer's classes always win over the
|
|
62
|
-
* variant defaults — e.g. `sx="text-pink-500"` overrides `color="primary"`.
|
|
63
|
-
*/
|
|
64
|
-
sx?: string;
|
|
65
|
-
}
|
|
@@ -1,130 +0,0 @@
|
|
|
1
|
-
import { tv, type VariantProps } from 'tailwind-variants';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* `typographyVariants` — the full type scale for the @dashforge/tw library.
|
|
5
|
-
*
|
|
6
|
-
* Mirrors the MUI Typography variant set (h1–h6 · subtitle1/2 · body1/2 ·
|
|
7
|
-
* caption · overline) so the mental model carries over for developers
|
|
8
|
-
* moving between the two ecosystems. Each variant baseline maps to a
|
|
9
|
-
* Tailwind utility chain that resolves through the @dashforge/tw-tokens
|
|
10
|
-
* scale (so the visual stays in sync with the rest of the system when the
|
|
11
|
-
* token theme is patched).
|
|
12
|
-
*
|
|
13
|
-
* Variant axes are intentionally ORTHOGONAL — `variant` chooses the type
|
|
14
|
-
* scale, `weight` overrides the variant's default weight (useful for "h2
|
|
15
|
-
* but lighter"), `color` picks the intent, `align` picks the axis. They
|
|
16
|
-
* never collide, so consumers can mix them freely.
|
|
17
|
-
*
|
|
18
|
-
* Two boolean flags (`truncate`, `noWrap`) encode the most common one-line
|
|
19
|
-
* patterns; `gutterBottom` adds the conventional bottom margin used when a
|
|
20
|
-
* heading precedes a paragraph block (mirror of MUI's same flag).
|
|
21
|
-
*/
|
|
22
|
-
export const typographyVariants = tv({
|
|
23
|
-
base: 'text-inherit',
|
|
24
|
-
|
|
25
|
-
variants: {
|
|
26
|
-
/*
|
|
27
|
-
* `variant` is the type-scale axis.
|
|
28
|
-
*
|
|
29
|
-
* The default font-weight is baked into each variant (headings come
|
|
30
|
-
* with semibold/bold by default). Consumers override per-instance via
|
|
31
|
-
* the `weight` axis below — when set, `weight` wins because it's
|
|
32
|
-
* declared later in the cn() chain and tailwind-merge resolves the
|
|
33
|
-
* last `font-*` to win.
|
|
34
|
-
*/
|
|
35
|
-
variant: {
|
|
36
|
-
h1: 'text-5xl font-bold leading-[1.05] tracking-[-0.025em]',
|
|
37
|
-
h2: 'text-4xl font-bold leading-[1.1] tracking-[-0.022em]',
|
|
38
|
-
h3: 'text-3xl font-semibold leading-[1.15] tracking-[-0.02em]',
|
|
39
|
-
h4: 'text-2xl font-semibold leading-snug tracking-[-0.015em]',
|
|
40
|
-
h5: 'text-xl font-semibold leading-snug',
|
|
41
|
-
h6: 'text-lg font-semibold leading-normal',
|
|
42
|
-
subtitle1: 'text-base font-medium leading-relaxed',
|
|
43
|
-
subtitle2: 'text-sm font-medium leading-relaxed',
|
|
44
|
-
body1: 'text-base font-normal leading-relaxed',
|
|
45
|
-
body2: 'text-sm font-normal leading-relaxed',
|
|
46
|
-
caption: 'text-xs font-normal leading-normal',
|
|
47
|
-
overline: 'text-xs font-semibold uppercase tracking-[0.12em] leading-normal',
|
|
48
|
-
},
|
|
49
|
-
|
|
50
|
-
/*
|
|
51
|
-
* `color` is the intent axis. Pairs with the @dashforge/tw-theme
|
|
52
|
-
* reactive colour vars so the choice survives theme patches and dark
|
|
53
|
-
* mode flips. `inherit` is the escape hatch — used inside a Box that
|
|
54
|
-
* has set its own color (e.g. `<Box variant="solid" color="primary">`
|
|
55
|
-
* paints white text).
|
|
56
|
-
*/
|
|
57
|
-
color: {
|
|
58
|
-
// `inherit` is the explicit escape hatch — use it on a
|
|
59
|
-
// `<Typography>` inside a coloured surface (e.g.
|
|
60
|
-
// `<Box variant="solid" color="primary">` paints white text)
|
|
61
|
-
// so the text picks up the surface colour. It is NO LONGER the
|
|
62
|
-
// default: a bare `<Typography>` would otherwise inherit the
|
|
63
|
-
// consuming app's arbitrary root colour (often OS-`prefers-
|
|
64
|
-
// color-scheme` driven), which diverges from the Dashforge
|
|
65
|
-
// `data-dash-tw-theme` mode and breaks colour consistency in
|
|
66
|
-
// dark mode. The default is now `neutral` — see `defaultVariants`.
|
|
67
|
-
inherit: 'text-inherit',
|
|
68
|
-
primary: 'text-primary-700 dark:text-primary-400',
|
|
69
|
-
secondary: 'text-secondary-700 dark:text-secondary-400',
|
|
70
|
-
success: 'text-success-700 dark:text-success-400',
|
|
71
|
-
warning: 'text-warning-700 dark:text-warning-400',
|
|
72
|
-
danger: 'text-danger-700 dark:text-danger-400',
|
|
73
|
-
info: 'text-info-700 dark:text-info-400',
|
|
74
|
-
// Neutral palette auto-inverts via the dashforgePreset() CSS-var
|
|
75
|
-
// swap — no `dark:` variants. `text-neutral-900` resolves to
|
|
76
|
-
// dark text in light mode and light text in dark mode; same
|
|
77
|
-
// applies to `text-neutral-600` (muted).
|
|
78
|
-
neutral: 'text-neutral-900',
|
|
79
|
-
muted: 'text-neutral-600',
|
|
80
|
-
},
|
|
81
|
-
|
|
82
|
-
/*
|
|
83
|
-
* `weight` overrides the variant's default weight. When unset, the
|
|
84
|
-
* variant's own weight wins. When set, this axis appears LATER in the
|
|
85
|
-
* cn() chain so tailwind-merge resolves to this value.
|
|
86
|
-
*/
|
|
87
|
-
weight: {
|
|
88
|
-
normal: 'font-normal',
|
|
89
|
-
medium: 'font-medium',
|
|
90
|
-
semibold: 'font-semibold',
|
|
91
|
-
bold: 'font-bold',
|
|
92
|
-
extrabold: 'font-extrabold',
|
|
93
|
-
},
|
|
94
|
-
|
|
95
|
-
align: {
|
|
96
|
-
left: 'text-left',
|
|
97
|
-
center: 'text-center',
|
|
98
|
-
right: 'text-right',
|
|
99
|
-
justify: 'text-justify',
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
/*
|
|
103
|
-
* `truncate` collapses to a one-line ellipsis. `noWrap` is the looser
|
|
104
|
-
* sibling — keeps the text on one line but lets it overflow without
|
|
105
|
-
* the `…`. Mutually-exclusive intent-wise; if both are passed,
|
|
106
|
-
* `truncate` wins (later in the cn() chain).
|
|
107
|
-
*/
|
|
108
|
-
truncate: { true: 'truncate' },
|
|
109
|
-
noWrap: { true: 'whitespace-nowrap' },
|
|
110
|
-
|
|
111
|
-
/*
|
|
112
|
-
* `gutterBottom` adds the conventional bottom margin used when a
|
|
113
|
-
* heading precedes a paragraph block. Mirror of MUI's same prop —
|
|
114
|
-
* familiar to developers crossing from the MUI side.
|
|
115
|
-
*/
|
|
116
|
-
gutterBottom: { true: 'mb-3' },
|
|
117
|
-
},
|
|
118
|
-
|
|
119
|
-
defaultVariants: {
|
|
120
|
-
variant: 'body1',
|
|
121
|
-
// `neutral` (not `inherit`): a bare `<Typography>` emits
|
|
122
|
-
// `text-neutral-900`, which auto-inverts via the dashforgePreset()
|
|
123
|
-
// CSS-var swap and follows the Dashforge mode. Pass
|
|
124
|
-
// `color="inherit"` explicitly inside a coloured surface.
|
|
125
|
-
color: 'neutral',
|
|
126
|
-
align: 'left',
|
|
127
|
-
},
|
|
128
|
-
});
|
|
129
|
-
|
|
130
|
-
export type TypographyVariants = VariantProps<typeof typographyVariants>;
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
// @vitest-environment jsdom
|
|
2
|
-
import { describe, it, expect } from 'vitest';
|
|
3
|
-
import { render } from '@testing-library/react';
|
|
4
|
-
import { VisuallyHidden } from './VisuallyHidden.js';
|
|
5
|
-
|
|
6
|
-
describe('<VisuallyHidden>', () => {
|
|
7
|
-
it('renders a <span> by default', () => {
|
|
8
|
-
const { container } = render(<VisuallyHidden>label</VisuallyHidden>);
|
|
9
|
-
expect(container.firstElementChild?.tagName).toBe('SPAN');
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
it('has the sr-only class', () => {
|
|
13
|
-
const { container } = render(<VisuallyHidden>label</VisuallyHidden>);
|
|
14
|
-
expect(container.firstElementChild?.className).toContain('sr-only');
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
it('preserves the text content (so screen readers can read it)', () => {
|
|
18
|
-
const { container } = render(<VisuallyHidden>Close dialog</VisuallyHidden>);
|
|
19
|
-
expect(container.firstElementChild?.textContent).toBe('Close dialog');
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
it('as="div" renders <div>', () => {
|
|
23
|
-
const { container } = render(<VisuallyHidden as="div">label</VisuallyHidden>);
|
|
24
|
-
expect(container.firstElementChild?.tagName).toBe('DIV');
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it('sx adds utilities (merged with sr-only)', () => {
|
|
28
|
-
const { container } = render(
|
|
29
|
-
<VisuallyHidden sx="text-xs">label</VisuallyHidden>,
|
|
30
|
-
);
|
|
31
|
-
const cls = container.firstElementChild?.className ?? '';
|
|
32
|
-
expect(cls).toContain('sr-only');
|
|
33
|
-
expect(cls).toContain('text-xs');
|
|
34
|
-
});
|
|
35
|
-
|
|
36
|
-
it('forwards data-* + aria-*', () => {
|
|
37
|
-
const { container } = render(
|
|
38
|
-
<VisuallyHidden data-testid="vh" aria-live="polite">x</VisuallyHidden>,
|
|
39
|
-
);
|
|
40
|
-
const el = container.firstElementChild;
|
|
41
|
-
expect(el?.getAttribute('data-testid')).toBe('vh');
|
|
42
|
-
expect(el?.getAttribute('aria-live')).toBe('polite');
|
|
43
|
-
});
|
|
44
|
-
|
|
45
|
-
it('typical pattern — icon button label', () => {
|
|
46
|
-
const { container } = render(
|
|
47
|
-
<button type="button">
|
|
48
|
-
<span aria-hidden="true">✕</span>
|
|
49
|
-
<VisuallyHidden>Close</VisuallyHidden>
|
|
50
|
-
</button>,
|
|
51
|
-
);
|
|
52
|
-
const btn = container.querySelector('button');
|
|
53
|
-
// textContent includes the hidden label so AT can read it
|
|
54
|
-
expect(btn?.textContent).toBe('✕Close');
|
|
55
|
-
// visually, the Close span has sr-only
|
|
56
|
-
const hidden = btn?.querySelector('.sr-only');
|
|
57
|
-
expect(hidden?.textContent).toBe('Close');
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
// ─── F11-bis edge cases ─────────────────────────────────────────────
|
|
61
|
-
it('empty children renders empty element with sr-only', () => {
|
|
62
|
-
const { container } = render(<VisuallyHidden>{''}</VisuallyHidden>);
|
|
63
|
-
const el = container.firstElementChild;
|
|
64
|
-
expect(el?.className).toContain('sr-only');
|
|
65
|
-
expect(el?.textContent).toBe('');
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
it('aria-live="polite" pattern for status announcements', () => {
|
|
69
|
-
const { container } = render(
|
|
70
|
-
<VisuallyHidden aria-live="polite">Saved successfully</VisuallyHidden>,
|
|
71
|
-
);
|
|
72
|
-
const el = container.firstElementChild;
|
|
73
|
-
expect(el?.getAttribute('aria-live')).toBe('polite');
|
|
74
|
-
expect(el?.textContent).toBe('Saved successfully');
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it('as="div" renders block element (consumer choice for block hidden content)', () => {
|
|
78
|
-
const { container } = render(
|
|
79
|
-
<VisuallyHidden as="div">
|
|
80
|
-
Block content hidden from sight but readable by AT
|
|
81
|
-
</VisuallyHidden>,
|
|
82
|
-
);
|
|
83
|
-
expect(container.firstElementChild?.tagName).toBe('DIV');
|
|
84
|
-
expect(container.firstElementChild?.className).toContain('sr-only');
|
|
85
|
-
});
|
|
86
|
-
});
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { forwardRef, type ElementType } from 'react';
|
|
2
|
-
import { cn } from '../../utils/cn.js';
|
|
3
|
-
import type { VisuallyHiddenProps } from './visuallyHidden.types.js';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* `<VisuallyHidden>` — the accessibility primitive.
|
|
7
|
-
*
|
|
8
|
-
* Hides children from sighted users (zero pixels rendered, no layout
|
|
9
|
-
* impact) while keeping them in the accessibility tree. Screen readers
|
|
10
|
-
* speak the content; voice control software uses it for click targets;
|
|
11
|
-
* keyboard users see nothing — same as if it weren't there.
|
|
12
|
-
*
|
|
13
|
-
* Implementation: Tailwind's built-in `sr-only` utility, which expands to:
|
|
14
|
-
*
|
|
15
|
-
* .sr-only {
|
|
16
|
-
* position: absolute;
|
|
17
|
-
* width: 1px;
|
|
18
|
-
* height: 1px;
|
|
19
|
-
* padding: 0;
|
|
20
|
-
* margin: -1px;
|
|
21
|
-
* overflow: hidden;
|
|
22
|
-
* clip: rect(0,0,0,0);
|
|
23
|
-
* white-space: nowrap;
|
|
24
|
-
* border-width: 0;
|
|
25
|
-
* }
|
|
26
|
-
*
|
|
27
|
-
* This is the canonical "visually-hidden but screen-reader-accessible"
|
|
28
|
-
* pattern, also known as the WebAIM clip technique. Critically:
|
|
29
|
-
*
|
|
30
|
-
* • NOT `display: none` (removes from a11y tree)
|
|
31
|
-
* • NOT `visibility: hidden` (also removes from a11y tree)
|
|
32
|
-
* • NOT `opacity: 0` (technically still rendered, doesn't help AT)
|
|
33
|
-
* • NOT `width/height: 0` (collapses, some AT skips it)
|
|
34
|
-
*
|
|
35
|
-
* Default tag is `<span>` (inline) — the 99% case is "label inside a
|
|
36
|
-
* button or link". For block content, override with `as="div"`, but
|
|
37
|
-
* be aware nesting block inside inline is invalid HTML.
|
|
38
|
-
*
|
|
39
|
-
* The component is intentionally tiny (~30 LoC total): one className,
|
|
40
|
-
* one tag. The value is the COMPONENT NAME — `<VisuallyHidden>` reads
|
|
41
|
-
* as an intentional a11y decision in code review, while
|
|
42
|
-
* `className="sr-only"` looks like a typo or a forgotten utility.
|
|
43
|
-
*/
|
|
44
|
-
export const VisuallyHidden = forwardRef<HTMLElement, VisuallyHiddenProps>(
|
|
45
|
-
function VisuallyHidden(props, ref) {
|
|
46
|
-
const { as, sx, children, ...rest } = props;
|
|
47
|
-
|
|
48
|
-
const Tag = (as ?? 'span') as ElementType;
|
|
49
|
-
const classes = cn('sr-only', sx);
|
|
50
|
-
|
|
51
|
-
return (
|
|
52
|
-
<Tag ref={ref as never} className={classes} {...rest}>
|
|
53
|
-
{children}
|
|
54
|
-
</Tag>
|
|
55
|
-
);
|
|
56
|
-
},
|
|
57
|
-
);
|
|
58
|
-
|
|
59
|
-
VisuallyHidden.displayName = 'VisuallyHidden';
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import type { ElementType, HTMLAttributes, ReactElement } from 'react';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Props for `<VisuallyHidden>` — the a11y primitive.
|
|
5
|
-
*
|
|
6
|
-
* Hides content visually (zero pixels rendered) while keeping it
|
|
7
|
-
* accessible to assistive technology (screen readers, voice control).
|
|
8
|
-
* The canonical use case: icon-only buttons that need an audible label
|
|
9
|
-
* for non-visual users.
|
|
10
|
-
*
|
|
11
|
-
* <button>
|
|
12
|
-
* <CloseIcon />
|
|
13
|
-
* <VisuallyHidden>Close dialog</VisuallyHidden>
|
|
14
|
-
* </button>
|
|
15
|
-
*
|
|
16
|
-
* Implementation uses Tailwind's `sr-only` utility, which sets
|
|
17
|
-
* `position: absolute; width: 1px; height: 1px; padding: 0;
|
|
18
|
-
* margin: -1px; overflow: hidden; clip: rect(0,0,0,0);
|
|
19
|
-
* white-space: nowrap; border-width: 0;` — the canonical
|
|
20
|
-
* "visually-hidden but screen-reader-accessible" pattern. Better
|
|
21
|
-
* than `display: none` (removes from a11y tree) and better than
|
|
22
|
-
* `visibility: hidden` (also removes from a11y tree).
|
|
23
|
-
*/
|
|
24
|
-
export interface VisuallyHiddenProps
|
|
25
|
-
extends Omit<HTMLAttributes<HTMLElement>, 'className'> {
|
|
26
|
-
/**
|
|
27
|
-
* The text or markup hidden from sighted users but read by AT.
|
|
28
|
-
* Most often a string label.
|
|
29
|
-
*/
|
|
30
|
-
children?: ReactElement | string | number;
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* Override the rendered HTML tag. Defaults to `'span'` — inline
|
|
34
|
-
* placement is the most common case (label inside a button or link).
|
|
35
|
-
* Use `as="div"` when the hidden content is block-level, but be
|
|
36
|
-
* aware: nesting a block inside an inline parent is invalid HTML.
|
|
37
|
-
*/
|
|
38
|
-
as?: ElementType;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Utility classes appended to `sr-only`. RARELY needed for this
|
|
42
|
-
* primitive (it's just hidden text) — kept for API parity.
|
|
43
|
-
*/
|
|
44
|
-
sx?: string;
|
|
45
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { getNestedValue } from './getNestedValue.js';
|
|
3
|
-
|
|
4
|
-
describe('getNestedValue', () => {
|
|
5
|
-
it('returns top-level value', () => {
|
|
6
|
-
expect(getNestedValue({ a: 1 }, 'a')).toBe(1);
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
it('returns nested value (1 level)', () => {
|
|
10
|
-
expect(getNestedValue({ user: { name: 'Jane' } }, 'user.name')).toBe('Jane');
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
it('returns nested value (3 levels)', () => {
|
|
14
|
-
expect(
|
|
15
|
-
getNestedValue({ a: { b: { c: { d: 42 } } } }, 'a.b.c.d'),
|
|
16
|
-
).toBe(42);
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
it('returns undefined when path is empty', () => {
|
|
20
|
-
expect(getNestedValue({ a: 1 }, '')).toBeUndefined();
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
it('returns undefined when intermediate segment is null', () => {
|
|
24
|
-
expect(getNestedValue({ user: null as never }, 'user.name')).toBeUndefined();
|
|
25
|
-
});
|
|
26
|
-
|
|
27
|
-
it('returns undefined when intermediate segment is undefined', () => {
|
|
28
|
-
expect(getNestedValue({} as { a?: { b?: number } }, 'a.b')).toBeUndefined();
|
|
29
|
-
});
|
|
30
|
-
|
|
31
|
-
it('returns undefined when intermediate segment is a primitive', () => {
|
|
32
|
-
expect(getNestedValue({ a: 'hello' }, 'a.b')).toBeUndefined();
|
|
33
|
-
});
|
|
34
|
-
|
|
35
|
-
it('preserves zero value (not coerced to undefined)', () => {
|
|
36
|
-
expect(getNestedValue({ a: { b: 0 } }, 'a.b')).toBe(0);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
it('preserves false value', () => {
|
|
40
|
-
expect(getNestedValue({ a: { b: false } }, 'a.b')).toBe(false);
|
|
41
|
-
});
|
|
42
|
-
|
|
43
|
-
it('preserves empty string value', () => {
|
|
44
|
-
expect(getNestedValue({ a: { b: '' } }, 'a.b')).toBe('');
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
it('returns the full sub-object when path stops mid-tree', () => {
|
|
48
|
-
expect(getNestedValue({ a: { b: { c: 1 } } }, 'a.b')).toEqual({ c: 1 });
|
|
49
|
-
});
|
|
50
|
-
});
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Walk a dotted path through an object and return the value, or
|
|
3
|
-
* `undefined` if any segment is missing / nullish.
|
|
4
|
-
*
|
|
5
|
-
* Bug fix from the MUI-side Table (Sprint 4.1 motivation): the
|
|
6
|
-
* existing wrapper typed `field: NestedKeyOf<T>` but performed a
|
|
7
|
-
* flat `row[col.field]` lookup at runtime — nested keys silently
|
|
8
|
-
* returned `undefined`. This helper makes the runtime match the
|
|
9
|
-
* type contract.
|
|
10
|
-
*
|
|
11
|
-
* @example
|
|
12
|
-
* ```ts
|
|
13
|
-
* getNestedValue({ user: { name: 'Jane' } }, 'user.name') // 'Jane'
|
|
14
|
-
* getNestedValue({ user: null }, 'user.name') // undefined
|
|
15
|
-
* getNestedValue({}, 'a.b.c') // undefined
|
|
16
|
-
* getNestedValue({ a: { b: 0 } }, 'a.b') // 0 (NOT undefined)
|
|
17
|
-
* ```
|
|
18
|
-
*/
|
|
19
|
-
export function getNestedValue<T extends object>(
|
|
20
|
-
row: T,
|
|
21
|
-
path: string,
|
|
22
|
-
): unknown {
|
|
23
|
-
if (!path) return undefined;
|
|
24
|
-
const segments = path.split('.');
|
|
25
|
-
let current: unknown = row;
|
|
26
|
-
for (const segment of segments) {
|
|
27
|
-
if (current == null) return undefined;
|
|
28
|
-
if (typeof current !== 'object') return undefined;
|
|
29
|
-
current = (current as Record<string, unknown>)[segment];
|
|
30
|
-
}
|
|
31
|
-
return current;
|
|
32
|
-
}
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
// @vitest-environment jsdom
|
|
2
|
-
import { describe, it, expect } from 'vitest';
|
|
3
|
-
import { renderHook } from '@testing-library/react';
|
|
4
|
-
import {
|
|
5
|
-
useColumnAutoDetect,
|
|
6
|
-
resolveAlign,
|
|
7
|
-
resolveMonospace,
|
|
8
|
-
resolveTabularNums,
|
|
9
|
-
} from './useColumnAutoDetect.js';
|
|
10
|
-
import type { TableColumn } from '../../Table/table.types.js';
|
|
11
|
-
|
|
12
|
-
interface Row {
|
|
13
|
-
name: string;
|
|
14
|
-
age: number;
|
|
15
|
-
active: boolean;
|
|
16
|
-
joinedAt: Date;
|
|
17
|
-
isoDate: string;
|
|
18
|
-
meta: { count: number };
|
|
19
|
-
unknownField?: never;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
const cols: TableColumn<Row>[] = [
|
|
23
|
-
{ field: 'name', header: 'Name' },
|
|
24
|
-
{ field: 'age', header: 'Age' },
|
|
25
|
-
{ field: 'active', header: 'Active' },
|
|
26
|
-
{ field: 'joinedAt' as never, header: 'JoinedAt' },
|
|
27
|
-
{ field: 'isoDate' as never, header: 'ISO Date' },
|
|
28
|
-
{ field: 'meta.count' as never, header: 'Count' },
|
|
29
|
-
{ field: 'unknownField' as never, header: 'Unknown' },
|
|
30
|
-
];
|
|
31
|
-
|
|
32
|
-
const rows: Row[] = [
|
|
33
|
-
{
|
|
34
|
-
name: 'Jane', age: 30, active: true,
|
|
35
|
-
joinedAt: new Date('2024-01-15'),
|
|
36
|
-
isoDate: '2024-01-15T00:00:00Z',
|
|
37
|
-
meta: { count: 5 },
|
|
38
|
-
},
|
|
39
|
-
];
|
|
40
|
-
|
|
41
|
-
describe('useColumnAutoDetect', () => {
|
|
42
|
-
it('infers number / boolean / string / date / nested-number', () => {
|
|
43
|
-
const { result } = renderHook(() => useColumnAutoDetect(rows, cols));
|
|
44
|
-
expect(result.current.get('name')).toBe('string');
|
|
45
|
-
expect(result.current.get('age')).toBe('number');
|
|
46
|
-
expect(result.current.get('active')).toBe('boolean');
|
|
47
|
-
expect(result.current.get('joinedAt')).toBe('date');
|
|
48
|
-
expect(result.current.get('isoDate')).toBe('date');
|
|
49
|
-
expect(result.current.get('meta.count')).toBe('number');
|
|
50
|
-
expect(result.current.get('unknownField')).toBe('unknown');
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
it('returns unknown for empty rows array', () => {
|
|
54
|
-
const { result } = renderHook(() => useColumnAutoDetect([], cols));
|
|
55
|
-
for (const col of cols) {
|
|
56
|
-
expect(result.current.get(col.field as string)).toBe('unknown');
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it('skips null values to find the first non-null sample', () => {
|
|
61
|
-
const colsAge: TableColumn<{ age: number | null }>[] = [{ field: 'age', header: 'Age' }];
|
|
62
|
-
const sparseRows = [{ age: null }, { age: null }, { age: 42 }];
|
|
63
|
-
const { result } = renderHook(() => useColumnAutoDetect(sparseRows, colsAge));
|
|
64
|
-
expect(result.current.get('age')).toBe('number');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
describe('resolveAlign', () => {
|
|
69
|
-
it('explicit align wins', () => {
|
|
70
|
-
expect(resolveAlign({ align: 'center' }, 'number')).toBe('center');
|
|
71
|
-
});
|
|
72
|
-
it('number → right', () => {
|
|
73
|
-
expect(resolveAlign({}, 'number')).toBe('right');
|
|
74
|
-
});
|
|
75
|
-
it('boolean → center', () => {
|
|
76
|
-
expect(resolveAlign({}, 'boolean')).toBe('center');
|
|
77
|
-
});
|
|
78
|
-
it('string → left (default)', () => {
|
|
79
|
-
expect(resolveAlign({}, 'string')).toBe('left');
|
|
80
|
-
});
|
|
81
|
-
it('date → left', () => {
|
|
82
|
-
expect(resolveAlign({}, 'date')).toBe('left');
|
|
83
|
-
});
|
|
84
|
-
it('unknown → left', () => {
|
|
85
|
-
expect(resolveAlign({}, 'unknown')).toBe('left');
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
|
|
89
|
-
describe('resolveMonospace', () => {
|
|
90
|
-
// Library MUST NOT auto-pick a font family — it would override
|
|
91
|
-
// the consumer's theme font. Only explicit opt-in turns it on.
|
|
92
|
-
it('explicit monospace=true wins', () => {
|
|
93
|
-
expect(resolveMonospace({ monospace: true })).toBe(true);
|
|
94
|
-
});
|
|
95
|
-
it('explicit monospace=false → false', () => {
|
|
96
|
-
expect(resolveMonospace({ monospace: false })).toBe(false);
|
|
97
|
-
});
|
|
98
|
-
it('omitted → false (never auto-applies)', () => {
|
|
99
|
-
expect(resolveMonospace({})).toBe(false);
|
|
100
|
-
});
|
|
101
|
-
});
|
|
102
|
-
|
|
103
|
-
describe('resolveTabularNums', () => {
|
|
104
|
-
// tabular-nums is a font-feature-setting (digit alignment) — does
|
|
105
|
-
// NOT change the font family. Safe to auto-apply for number/date.
|
|
106
|
-
it('explicit tabularNums=true wins', () => {
|
|
107
|
-
expect(resolveTabularNums({ tabularNums: true }, 'string')).toBe(true);
|
|
108
|
-
});
|
|
109
|
-
it('explicit tabularNums=false wins (opt-out)', () => {
|
|
110
|
-
expect(resolveTabularNums({ tabularNums: false }, 'number')).toBe(false);
|
|
111
|
-
});
|
|
112
|
-
it('number → true (auto)', () => {
|
|
113
|
-
expect(resolveTabularNums({}, 'number')).toBe(true);
|
|
114
|
-
});
|
|
115
|
-
it('date → true (auto, ISO digits align)', () => {
|
|
116
|
-
expect(resolveTabularNums({}, 'date')).toBe(true);
|
|
117
|
-
});
|
|
118
|
-
it('string / boolean / unknown → false', () => {
|
|
119
|
-
expect(resolveTabularNums({}, 'string')).toBe(false);
|
|
120
|
-
expect(resolveTabularNums({}, 'boolean')).toBe(false);
|
|
121
|
-
expect(resolveTabularNums({}, 'unknown')).toBe(false);
|
|
122
|
-
});
|
|
123
|
-
});
|