@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/COVERAGE.md
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# COVERAGE — `@dashforge/tw`
|
|
2
|
-
|
|
3
|
-
> Test-coverage audit for `@dashforge/tw`. Current numbers, the gap-fill
|
|
4
|
-
> performed, and the tracked debt.
|
|
5
|
-
|
|
6
|
-
## Current coverage (`vitest --coverage`, v8 provider)
|
|
7
|
-
|
|
8
|
-
| Metric | Value | Target |
|
|
9
|
-
|--------|-------|--------|
|
|
10
|
-
| Statements | 83.53% | — |
|
|
11
|
-
| **Branches** | **75.87%** | 85% (not met — see Deferred) |
|
|
12
|
-
| Functions | 89.06% | — |
|
|
13
|
-
| **Lines** | **85.78%** | 85% ✅ |
|
|
14
|
-
|
|
15
|
-
Suite: **1105 tests** across 55 files.
|
|
16
|
-
|
|
17
|
-
## Filled in Sprint 6 P4 (+62 tests)
|
|
18
|
-
|
|
19
|
-
P4 targeted the Sprint 4.2 / 4.2-bis additions that shipped with
|
|
20
|
-
integration-only coverage. All are now directly unit-tested:
|
|
21
|
-
|
|
22
|
-
| Area | Before | After |
|
|
23
|
-
|------|--------|-------|
|
|
24
|
-
| Cell renderer library (`Table/cells/` — RenderText / RenderTwoLine / RenderChip / RenderButton / RowActionsMenu) | ~0% | high (30 tests) |
|
|
25
|
-
| `DataGrid/filters/ColumnFilters.tsx` | 22% branch | covered — every filter type + apply/clear/Enter (17 tests) |
|
|
26
|
-
| `DataGrid/resize/useColumnResize.ts` | 33% | **100%** (8 tests — `nudge` clamp paths + pointer-drag commit) |
|
|
27
|
-
| `DataGrid/reorder/useColumnReorder.ts` | 32% | 93% stmts / 98% lines (14 tests — `moveColumn` + drag handlers) |
|
|
28
|
-
|
|
29
|
-
## Deferred — pre-Sprint-6 branch-coverage debt
|
|
30
|
-
|
|
31
|
-
Line coverage met the 85% target. **Branch coverage (75.87%) did
|
|
32
|
-
not.** The shortfall is concentrated in form-input components that
|
|
33
|
-
predate Sprint 6 and shipped with partial branch coverage — their
|
|
34
|
-
validation-state / RBAC / controlled-vs-uncontrolled branches are
|
|
35
|
-
under-exercised:
|
|
36
|
-
|
|
37
|
-
| Component | Branch % |
|
|
38
|
-
|-----------|----------|
|
|
39
|
-
| `NumberField` | 50.56% |
|
|
40
|
-
| `AppShell` | 55.81% |
|
|
41
|
-
| `Textarea` | 56% |
|
|
42
|
-
| `Switch` | 62.5% |
|
|
43
|
-
| `TextField` | 63.63% |
|
|
44
|
-
| `RadioGroup` | 64.06% |
|
|
45
|
-
| `Checkbox` | 67.5% |
|
|
46
|
-
| `Autocomplete` | 68% |
|
|
47
|
-
| `OTPField` | 69.56% |
|
|
48
|
-
| `Dialog` | 75% |
|
|
49
|
-
| `DataGrid` | 76.15% |
|
|
50
|
-
|
|
51
|
-
Closing this to 85% overall is a focused **test-debt paydown
|
|
52
|
-
sprint** (~100+ branch-targeted tests across the 11 components) —
|
|
53
|
-
deliberately scoped OUT of Sprint 6, which is a Table/DataGrid +
|
|
54
|
-
theme-core refinement pass. Recommended slot: alongside the
|
|
55
|
-
`1.0.0-rc` hardening sprint.
|
|
56
|
-
|
|
57
|
-
## CI gate
|
|
58
|
-
|
|
59
|
-
The catalog-wide regression suite (`nx test @dashforge/tw`) is the
|
|
60
|
-
enforced gate. A hard per-file coverage threshold is **not** wired
|
|
61
|
-
into CI yet — doing so requires first closing the pre-Sprint-6 debt
|
|
62
|
-
above, otherwise the gate fails on day one. Wiring the threshold is
|
|
63
|
-
part of the same `1.0.0-rc` test-debt sprint.
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Dashforge
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
package/PARITY.md
DELETED
|
@@ -1,481 +0,0 @@
|
|
|
1
|
-
# `@dashforge/tw` ↔ `@dashforge/ui` parity audit
|
|
2
|
-
|
|
3
|
-
> Per-component diff between the two Dashforge UI lines for the
|
|
4
|
-
> **10 bridge-integrated components**.
|
|
5
|
-
>
|
|
6
|
-
> **Motivation.** This audit ensures:
|
|
7
|
-
>
|
|
8
|
-
> 1. **Internal consistency** — a refactor on `@dashforge/ui` that
|
|
9
|
-
> doesn't land on `@dashforge/tw` would otherwise be invisible.
|
|
10
|
-
> 2. **Bridge contract validation** — the same `@dashforge/forms`
|
|
11
|
-
> schema works identically on both lines.
|
|
12
|
-
> 3. **Parallel starter-kit maintainability** — two parallel kits
|
|
13
|
-
> (one MUI, one TW) require call-site-level parity to stay
|
|
14
|
-
> in sync.
|
|
15
|
-
|
|
16
|
-
## Versions audited
|
|
17
|
-
|
|
18
|
-
| Lib | Version | Date |
|
|
19
|
-
|---|---|---|
|
|
20
|
-
| `@dashforge/tw` | `0.3.0-beta` | 2026-05-18 |
|
|
21
|
-
| `@dashforge/ui` | `0.2.3-beta` | 2026-05-15 |
|
|
22
|
-
|
|
23
|
-
## Scoring legend
|
|
24
|
-
|
|
25
|
-
| Symbol | Meaning |
|
|
26
|
-
|---|---|
|
|
27
|
-
| ✓ | Parity verified — the two lines accept the same prop / behave the same way at the call-site level. |
|
|
28
|
-
| ⚠ | Intentional delta — different prop or slightly different behavior, motivated and documented in the per-component section below. |
|
|
29
|
-
| ✗ | Unintended drift — bug or oversight, files a follow-up issue. |
|
|
30
|
-
|
|
31
|
-
## Bridge contract — universal across all 10 components
|
|
32
|
-
|
|
33
|
-
Both libs share an identical bridge contract. The following props
|
|
34
|
-
behave **byte-identical** in both lines (verified by reading the
|
|
35
|
-
types files of all 10 components):
|
|
36
|
-
|
|
37
|
-
| Prop | Type | Semantics |
|
|
38
|
-
|---|---|---|
|
|
39
|
-
| `name` | `string` (required) | Field name registered with the `DashFormProvider` bridge. |
|
|
40
|
-
| `rules` | `unknown` | Validation rules forwarded to the bridge engine — opaque to the component. |
|
|
41
|
-
| `visibleWhen` | `(engine: Engine) => boolean` | Engine predicate. Component returns `null` when false. |
|
|
42
|
-
| `access` | `AccessRequirement` | RBAC requirement. Behaviors (`hide` / `disable` / `readonly`) identical in both libs. |
|
|
43
|
-
| `helperText` | `ReactNode` | Helper text slot below the control. Auto-replaced with bridge error message when (a) error is true and (b) the Form Closure v1 gate passes (`touched \|\| submitCount > 0`). |
|
|
44
|
-
| `error` | `boolean` | Explicit error semaphore override. Cuts ahead of the bridge's auto-error. |
|
|
45
|
-
| `label` | `ReactNode` | Visible label. |
|
|
46
|
-
|
|
47
|
-
The bridge integration semantics (Form Closure v1 error gating, prop
|
|
48
|
-
precedence, granular per-field subscriptions, StrictMode-safe
|
|
49
|
-
unregister on unmount) are implemented identically across both lines
|
|
50
|
-
via the shared `@dashforge/ui-core` + `@dashforge/forms` packages.
|
|
51
|
-
|
|
52
|
-
This is the **portability layer**: any consumer who swaps
|
|
53
|
-
`@dashforge/ui` for `@dashforge/tw` (or vice versa) keeps their
|
|
54
|
-
form schemas, validation rules, and RBAC declarations unchanged.
|
|
55
|
-
|
|
56
|
-
## Per-component parity table
|
|
57
|
-
|
|
58
|
-
| # | Component | Signature | Behavior | Variant axis | Bridge | Overall |
|
|
59
|
-
|---|---|---|---|---|---|---|
|
|
60
|
-
| 1 | Button | ✓ | ✓ | ⚠ | ✓ | ⚠ |
|
|
61
|
-
| 2 | TextField | ✓ | ✓ | ⚠ | ✓ | ⚠ |
|
|
62
|
-
| 3 | Checkbox | ⚠ | ✓ | ✓ | ✓ | ⚠ |
|
|
63
|
-
| 4 | Switch | ⚠ | ✓ | ✓ | ✓ | ⚠ |
|
|
64
|
-
| 5 | RadioGroup | ⚠ | ✓ | ⚠ | ✓ | ⚠ |
|
|
65
|
-
| 6 | Textarea | ⚠ | ✓ | ⚠ | ✓ | ⚠ |
|
|
66
|
-
| 7 | NumberField | ✓ | ✓ | ⚠ | ✓ | ⚠ |
|
|
67
|
-
| 8 | OTPField | ✓ | ✓ | ⚠ | ✓ | ⚠ |
|
|
68
|
-
| 9 | Autocomplete | ⚠ | ⚠ | ⚠ | ✓ | ⚠ |
|
|
69
|
-
| 10 | DateTimePicker | ✓ | ✓ | ✓ | ✓ | ✓ |
|
|
70
|
-
|
|
71
|
-
**No `✗` rows** — no unintended drift was discovered. All deltas
|
|
72
|
-
are intentional and motivated below. The single `✓` overall
|
|
73
|
-
(DateTimePicker) is the only component where the two lines are
|
|
74
|
-
truly byte-identical at the prop level.
|
|
75
|
-
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
## 1. Button
|
|
79
|
-
|
|
80
|
-
### Signature
|
|
81
|
-
|
|
82
|
-
| Prop | `@dashforge/ui` (MUI) | `@dashforge/tw` |
|
|
83
|
-
|---|---|---|
|
|
84
|
-
| Inherits | `Omit<MuiButtonProps, 'disabled'>` | `Omit<ButtonHTMLAttributes, 'className' \| 'color'>` + `Pick<TVariants, 'variant' \| 'color' \| 'size' \| 'fullWidth' \| 'loading'>` |
|
|
85
|
-
| `access` | ✓ | ✓ |
|
|
86
|
-
| `disabled` | ✓ | ✓ |
|
|
87
|
-
| `asChild` | ✗ | ✓ (Radix Slot polymorphism) |
|
|
88
|
-
| `sx` | ✗ (MUI sx-object inherited via MuiButtonProps) | ✓ (utility-string) |
|
|
89
|
-
| `loading` | ✗ (consumer adds it manually) | ✓ (built-in variant axis) |
|
|
90
|
-
|
|
91
|
-
### Variant axis ⚠
|
|
92
|
-
|
|
93
|
-
| Axis | MUI | TW |
|
|
94
|
-
|---|---|---|
|
|
95
|
-
| `variant` | `contained` \| `outlined` \| `text` | `solid` \| `outline` \| `soft` \| `ghost` |
|
|
96
|
-
| `size` | `small` \| `medium` \| `large` | `sm` \| `md` \| `lg` |
|
|
97
|
-
| `color` | `primary` \| `secondary` \| `error` \| `info` \| `success` \| `warning` | same 6 intents |
|
|
98
|
-
| `fullWidth` | ✓ | ✓ |
|
|
99
|
-
|
|
100
|
-
**Intentional delta.** TW renames `contained → solid`, adds `soft`
|
|
101
|
-
+ `ghost` variants, renames sizes to short forms. The MUI naming is
|
|
102
|
-
a vestige of Material Design vocabulary; TW adopts the
|
|
103
|
-
shadcn/Radix/Mantine common-denominator naming because that's what
|
|
104
|
-
TW-native developers expect.
|
|
105
|
-
|
|
106
|
-
### Notes
|
|
107
|
-
|
|
108
|
-
- `loading` is a built-in TW variant (renders spinner + sets
|
|
109
|
-
`aria-busy`). On MUI side it's a consumer-level pattern.
|
|
110
|
-
- TW's `asChild` (Radix Slot) is more powerful than MUI's
|
|
111
|
-
`component`/`href` polymorphism — single API, no DOM doubling.
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
## 2. TextField
|
|
116
|
-
|
|
117
|
-
### Signature
|
|
118
|
-
|
|
119
|
-
| Prop | MUI | TW |
|
|
120
|
-
|---|---|---|
|
|
121
|
-
| Inherits | `Omit<MuiTextFieldProps, 'name' \| 'SelectProps' \| 'InputProps' \| 'InputLabelProps' \| 'FormHelperTextProps' \| 'inputProps'>` | `Omit<InputHTMLAttributes, 'size' \| 'className'>` + `Pick<TVariants, 'size' \| 'layout' \| 'fullWidth'>` |
|
|
122
|
-
| `layout` | ✓ (`floating` \| `stacked` \| `inline`) | ✓ (same enum) |
|
|
123
|
-
| `required` | ✓ (renders asterisk) | ✓ (same) |
|
|
124
|
-
| `slotProps.prefix/suffix` | ✗ (use `slotProps.input.startAdornment` / `endAdornment` — MUI v9 API) | ✓ (new in `0.3.0-beta` — inline adornments) |
|
|
125
|
-
| `sx` | MUI sx-object | TW utility-string |
|
|
126
|
-
|
|
127
|
-
### Variant axis ⚠
|
|
128
|
-
|
|
129
|
-
| Axis | MUI | TW |
|
|
130
|
-
|---|---|---|
|
|
131
|
-
| `variant` | `outlined` \| `filled` \| `standard` | not exposed (defaults to `outlined`-equivalent) |
|
|
132
|
-
| `size` | `small` \| `medium` | `sm` \| `md` \| `lg` |
|
|
133
|
-
| `layout` | `floating` \| `stacked` \| `inline` | same |
|
|
134
|
-
|
|
135
|
-
**Intentional delta.** TW intentionally drops MUI's
|
|
136
|
-
`variant="standard"` (underline-only field) — it's a Material Design
|
|
137
|
-
artifact that doesn't fit a typical Tailwind design system. TW also
|
|
138
|
-
drops MUI's `variant="filled"` for now (no design system demand).
|
|
139
|
-
|
|
140
|
-
### Notes
|
|
141
|
-
|
|
142
|
-
- TW exposes `slotProps.prefix` / `slotProps.suffix` (added in
|
|
143
|
-
`0.3.0-beta`) for inline adornments. MUI achieves the same via
|
|
144
|
-
`slotProps.input.startAdornment` / `endAdornment` — different shape,
|
|
145
|
-
same outcome.
|
|
146
|
-
- MUI's deprecated `inputProps` / `InputProps` / `InputLabelProps` /
|
|
147
|
-
`FormHelperTextProps` are explicitly Omit-ed from TW (cleanly,
|
|
148
|
-
since TW never inherited them in the first place).
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## 3. Checkbox
|
|
153
|
-
|
|
154
|
-
### Signature ⚠
|
|
155
|
-
|
|
156
|
-
| Prop | MUI | TW |
|
|
157
|
-
|---|---|---|
|
|
158
|
-
| Inherits | `Omit<MuiCheckboxProps, 'name'>` (inherits MUI's `onChange: (event, checked) => void`) | `Pick<TVariants, 'size'>` (no HTML attrs inherited) |
|
|
159
|
-
| `onChange` | ✓ MUI HTML signature: `(event, checked) => void` | ✗ (not exposed) |
|
|
160
|
-
| `onCheckedChange` | ✗ | ✓ Radix signature: `(checked: boolean) => void` |
|
|
161
|
-
| `checked` / `defaultChecked` | ✓ | ✓ |
|
|
162
|
-
| `slotProps.indicator` | ✗ | ✓ |
|
|
163
|
-
|
|
164
|
-
**Intentional delta.** Callback signature differs: MUI uses the HTML
|
|
165
|
-
`onChange(event, checked)`, TW uses Radix's `onCheckedChange(checked)`.
|
|
166
|
-
A consumer rewriting `<Checkbox onChange={…}>` → `<Checkbox onCheckedChange={…}>`
|
|
167
|
-
is the only call-site change. Documented in `customization.mdx`
|
|
168
|
-
(Sprint 3 P2).
|
|
169
|
-
|
|
170
|
-
### Variant axis ✓
|
|
171
|
-
|
|
172
|
-
Both libs expose `size` only (`small`/`medium`/`large` MUI ↔
|
|
173
|
-
`sm`/`md`/`lg` TW — same naming convention as Button).
|
|
174
|
-
|
|
175
|
-
### Notes
|
|
176
|
-
|
|
177
|
-
- TW's Indicator renders BOTH `<CheckIcon />` and `<DashIcon />` and
|
|
178
|
-
toggles via Radix `data-state` (added in `0.3.0-beta`).
|
|
179
|
-
Indeterminate state is handled CSS-only.
|
|
180
|
-
- Bridge contract identical: `useDashFieldMeta(name)` granular
|
|
181
|
-
subscription, Form Closure v1 gating.
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## 4. Switch
|
|
186
|
-
|
|
187
|
-
### Signature ⚠
|
|
188
|
-
|
|
189
|
-
Same delta as Checkbox: TW exposes `onCheckedChange(checked)` (Radix),
|
|
190
|
-
MUI exposes `onChange(event, checked)` (HTML). All other props
|
|
191
|
-
identical (name, label, rules, visibleWhen, helperText, error, access,
|
|
192
|
-
checked, defaultChecked, disabled).
|
|
193
|
-
|
|
194
|
-
### Variant axis ✓
|
|
195
|
-
|
|
196
|
-
Both libs: `size` only.
|
|
197
|
-
|
|
198
|
-
### Notes
|
|
199
|
-
|
|
200
|
-
- TW gates the thumb-slide animation on `prefers-reduced-motion`
|
|
201
|
-
(added Sprint 2 0.3.0-beta).
|
|
202
|
-
|
|
203
|
-
---
|
|
204
|
-
|
|
205
|
-
## 5. RadioGroup
|
|
206
|
-
|
|
207
|
-
### Signature ⚠
|
|
208
|
-
|
|
209
|
-
| Prop | MUI | TW |
|
|
210
|
-
|---|---|---|
|
|
211
|
-
| Inherits | `Omit<MuiRadioGroupProps, 'name'>` | `RadioGroupVariants` (Pick-style) |
|
|
212
|
-
| `onChange` | ✓ MUI signature | ✗ |
|
|
213
|
-
| `onValueChange` | ✗ | ✓ Radix signature: `(value: string) => void` |
|
|
214
|
-
| `options` | ✓ (`RadioGroupOption[]` — identical shape) | ✓ |
|
|
215
|
-
| `RadioGroupOption.access` | ✓ option-level RBAC | ✓ option-level RBAC |
|
|
216
|
-
|
|
217
|
-
### Variant axis ⚠
|
|
218
|
-
|
|
219
|
-
| Axis | MUI | TW |
|
|
220
|
-
|---|---|---|
|
|
221
|
-
| `orientation` | inherited from MUI's `row` boolean | dedicated `orientation: 'horizontal' \| 'vertical'` |
|
|
222
|
-
| `size` | inherited (`small`/`medium`) | `sm` \| `md` \| `lg` |
|
|
223
|
-
|
|
224
|
-
**Intentional delta.** TW exposes `orientation` as a typed variant
|
|
225
|
-
axis (vs MUI's legacy `row={true}` boolean). MUI's `row` prop is a
|
|
226
|
-
Material legacy; TW's `orientation` is the Radix/Aria standard.
|
|
227
|
-
|
|
228
|
-
### Notes
|
|
229
|
-
|
|
230
|
-
- Option-level RBAC is implemented identically in both libs
|
|
231
|
-
(`hide` keeps selected option visible-but-disabled to expose the
|
|
232
|
-
user's previous choice).
|
|
233
|
-
- Group-level access has precedence over option-level access in
|
|
234
|
-
both libs.
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
## 6. Textarea
|
|
239
|
-
|
|
240
|
-
### Signature ⚠
|
|
241
|
-
|
|
242
|
-
| Prop | MUI | TW |
|
|
243
|
-
|---|---|---|
|
|
244
|
-
| Inherits | `Omit<MuiTextFieldProps, 'name'>` (with internal `multiline={true}` hard-coded) | `Omit<TextareaHTMLAttributes, 'name' \| 'size' \| 'onChange' \| 'onBlur' \| 'value' \| 'defaultValue'>` + `TextareaVariants` |
|
|
245
|
-
| `rows` / `minRows` | ✓ (defaults `minRows={3}`) | ✓ (`rows` defaults to 3) |
|
|
246
|
-
| `resize` | ✗ (CSS native, no prop) | ✓ variant axis (`none` \| `vertical` \| `horizontal` \| `both`) |
|
|
247
|
-
|
|
248
|
-
### Variant axis ⚠
|
|
249
|
-
|
|
250
|
-
TW adds the `resize` variant axis as a typed prop. MUI relies on the
|
|
251
|
-
consumer adding inline `style={{ resize: 'vertical' }}` or CSS.
|
|
252
|
-
|
|
253
|
-
### Notes
|
|
254
|
-
|
|
255
|
-
- Form bridge contract identical.
|
|
256
|
-
- TW exposes own `onChange` / `onBlur` typed for `HTMLTextAreaElement`;
|
|
257
|
-
MUI inherits from MUI's `TextFieldProps` typing for the
|
|
258
|
-
multiline-disguised-as-input case.
|
|
259
|
-
|
|
260
|
-
---
|
|
261
|
-
|
|
262
|
-
## 7. NumberField
|
|
263
|
-
|
|
264
|
-
### Signature
|
|
265
|
-
|
|
266
|
-
| Prop | MUI | TW |
|
|
267
|
-
|---|---|---|
|
|
268
|
-
| Inherits | `Omit<MuiTextFieldProps, 'name' \| 'type' \| 'value' \| 'onChange'>` | `Omit<InputHTMLAttributes, 'name' \| 'type' \| 'size' \| ...>` + `NumberFieldVariants` |
|
|
269
|
-
| `value` | `number \| string \| null` | `number \| string \| null` (identical) |
|
|
270
|
-
| `min` / `max` / `step` | inherited HTML attrs | typed at top level |
|
|
271
|
-
| `showStepper` | ✗ | ✓ (TW-only: inline +/− buttons) |
|
|
272
|
-
| `slotProps.stepper` / `slotProps.stepperButton` | ✗ | ✓ |
|
|
273
|
-
|
|
274
|
-
### Variant axis ⚠
|
|
275
|
-
|
|
276
|
-
TW exposes the stepper as a typed feature (`showStepper={true}`).
|
|
277
|
-
MUI's NumberField is a plain `type="number"` input with no stepper UI.
|
|
278
|
-
|
|
279
|
-
### Behavior ✓
|
|
280
|
-
|
|
281
|
-
**Value contract is byte-identical** between the two lines:
|
|
282
|
-
|
|
283
|
-
- Bridge storage type: `number \| null` (NEVER `NaN`)
|
|
284
|
-
- UI display: `number → String(number)`, `null/undefined → ""`
|
|
285
|
-
- Empty string → `setValue(name, null)`
|
|
286
|
-
- Parseable number → `setValue(name, parsed)`
|
|
287
|
-
- Non-numeric input → no bridge write (UI keeps string for UX,
|
|
288
|
-
bridge stays at last valid value)
|
|
289
|
-
- Parsing uses `Number(...)` + `Number.isFinite(...)`. No locale parsing.
|
|
290
|
-
|
|
291
|
-
This contract is explicitly documented in both lines' types files —
|
|
292
|
-
the audit confirms they match word-for-word.
|
|
293
|
-
|
|
294
|
-
---
|
|
295
|
-
|
|
296
|
-
## 8. OTPField
|
|
297
|
-
|
|
298
|
-
### Signature
|
|
299
|
-
|
|
300
|
-
| Prop | MUI | TW |
|
|
301
|
-
|---|---|---|
|
|
302
|
-
| `length` | ✓ (default 6) | ✓ (default 6) |
|
|
303
|
-
| `mode` | `numeric` \| `alphanumeric` \| `alpha` | `numeric` \| `alphanumeric` |
|
|
304
|
-
| `onComplete` | ✓ | ✓ |
|
|
305
|
-
| `onChange` | `(value: string) => void` | `(value: string) => void` (identical) |
|
|
306
|
-
| `autoFocus` | ✓ (default `true`) | not in types (defaults via native `<input autoFocus>`) |
|
|
307
|
-
|
|
308
|
-
### Variant axis ⚠
|
|
309
|
-
|
|
310
|
-
| Axis | MUI | TW |
|
|
311
|
-
|---|---|---|
|
|
312
|
-
| Slot rendering | custom React per-slot | custom React per-slot + Tailwind variant (`size`, `tone`) |
|
|
313
|
-
|
|
314
|
-
**Intentional delta.** TW drops MUI's `alpha`-only mode (no design
|
|
315
|
-
system demand; consumers needing pure-alpha can use `alphanumeric`
|
|
316
|
-
+ client-side filter). TW also exposes per-slot styling via typed
|
|
317
|
-
`slotProps.slot` / `slotProps.slotChar`.
|
|
318
|
-
|
|
319
|
-
### Behavior ✓
|
|
320
|
-
|
|
321
|
-
Both libs:
|
|
322
|
-
- Sanitize input per `mode` on every keystroke
|
|
323
|
-
- Sanitize paste content and fill slots sequentially
|
|
324
|
-
- Emit `onChange` with the joined sanitized value (≤ `length`)
|
|
325
|
-
- Fire `onComplete` when all slots filled
|
|
326
|
-
|
|
327
|
-
---
|
|
328
|
-
|
|
329
|
-
## 9. Autocomplete
|
|
330
|
-
|
|
331
|
-
### Signature ⚠
|
|
332
|
-
|
|
333
|
-
| Prop | MUI | TW |
|
|
334
|
-
|---|---|---|
|
|
335
|
-
| `multiple` (multi-select) | ✗ (MUI v9 inherits but Dashforge wrapper doesn't expose) | ✓ |
|
|
336
|
-
| `freeSolo` | ✗ (MUI inherits but wrapper hides it) | ✓ |
|
|
337
|
-
| `loadOptions` (async loader) | ✗ | ✓ |
|
|
338
|
-
| `loadDebounceMs` | ✗ | ✓ (default 250ms) |
|
|
339
|
-
| `optionsFromFieldData` | ✓ (MUI-only feature for runtime options from form runtime) | ✗ (TW doesn't have a runtime-data integration yet — F6+ work) |
|
|
340
|
-
| `getOptionValue` / `getOptionLabel` / `getOptionDisabled` | ✓ | ✓ |
|
|
341
|
-
| `getOptionKey` | ✗ | ✓ |
|
|
342
|
-
| `onChange` | `(value: TValue \| null) => void` | `onValueChange: (AutocompleteValue) => void` (AutocompleteValue = `string \| string[] \| null`) |
|
|
343
|
-
|
|
344
|
-
### Variant axis ⚠
|
|
345
|
-
|
|
346
|
-
| Axis | MUI | TW |
|
|
347
|
-
|---|---|---|
|
|
348
|
-
| Mode | single-select only | single + multi + free-solo |
|
|
349
|
-
| Async | not in wrapper (use MUI's directly if needed) | first-class `loadOptions` prop |
|
|
350
|
-
|
|
351
|
-
**Intentional delta — TW is feature-ahead.** TW's Autocomplete is
|
|
352
|
-
the most-extended bridge component:
|
|
353
|
-
|
|
354
|
-
- **Multi-select** (chips inside input, backspace to remove last)
|
|
355
|
-
- **Free-solo** (Enter commits typed text as value)
|
|
356
|
-
- **Async loadOptions** (debounced, replaces static `options` while
|
|
357
|
-
the user types)
|
|
358
|
-
|
|
359
|
-
MUI's Dashforge wrapper trails behind because: (a) MUI's underlying
|
|
360
|
-
Autocomplete already supports these via inherited props, so wrapping
|
|
361
|
-
them feels redundant; (b) the MUI consumer can drop down to
|
|
362
|
-
`MuiAutocomplete` directly when they need these features. TW had to
|
|
363
|
-
implement them from scratch (built on React Aria's `useComboBox`),
|
|
364
|
-
so it was natural to expose them as first-class props.
|
|
365
|
-
|
|
366
|
-
**Reverse delta — MUI is ahead on**: `optionsFromFieldData` (runtime
|
|
367
|
-
field data integration for dynamic option lists fed by the form
|
|
368
|
-
engine). This is a F6+ feature on the TW roadmap.
|
|
369
|
-
|
|
370
|
-
### Behavior ⚠
|
|
371
|
-
|
|
372
|
-
The core bridge contract is parity:
|
|
373
|
-
|
|
374
|
-
- Storage policy: option pick → mapped `option.value`; clear → `null`
|
|
375
|
-
- Form Closure v1 error gating
|
|
376
|
-
- StrictMode-safe unregister on unmount
|
|
377
|
-
|
|
378
|
-
But the **storage type** differs:
|
|
379
|
-
- MUI: `TValue \| null` where TValue is `string | number`
|
|
380
|
-
- TW: `string \| string[] \| null` (`string[]` for multi-select)
|
|
381
|
-
|
|
382
|
-
This is a real call-site delta. A consumer migrating MUI → TW with
|
|
383
|
-
a NumberField-style numeric `TValue` would need to switch to string
|
|
384
|
-
storage + cast on submission.
|
|
385
|
-
|
|
386
|
-
---
|
|
387
|
-
|
|
388
|
-
## 10. DateTimePicker
|
|
389
|
-
|
|
390
|
-
### Signature ✓
|
|
391
|
-
|
|
392
|
-
All props parity:
|
|
393
|
-
|
|
394
|
-
- `mode: 'date' \| 'time' \| 'datetime'` — identical
|
|
395
|
-
- `value: string \| null` — identical (ISO 8601-ish naive string)
|
|
396
|
-
- `min` / `max` / `step` — identical
|
|
397
|
-
- `name` / `rules` / `visibleWhen` / `access` — identical (bridge)
|
|
398
|
-
- `label` / `helperText` / `error` / `required` / `disabled` — identical
|
|
399
|
-
|
|
400
|
-
### Variant axis ✓
|
|
401
|
-
|
|
402
|
-
Layout: both libs allow `stacked` / `inline` and downgrade `floating`
|
|
403
|
-
to `stacked` with a dev warning (rationale: native input always
|
|
404
|
-
shows a placeholder mask that overlaps the floating label).
|
|
405
|
-
|
|
406
|
-
### Behavior ✓
|
|
407
|
-
|
|
408
|
-
Both libs:
|
|
409
|
-
- Use native `<input type="date|time|datetime-local">`
|
|
410
|
-
- Bridge contract identical
|
|
411
|
-
- ISO string contract identical (`datetime-local` is naive — no TZ;
|
|
412
|
-
if you need TZ-aware persistence, both libs say to convert
|
|
413
|
-
upstream)
|
|
414
|
-
|
|
415
|
-
**This is the cleanest parity case in the audit** — the only ✓✓✓
|
|
416
|
-
across all four columns. Likely because both lines deliberately
|
|
417
|
-
chose native HTML5 inputs over a custom calendar widget, leaving
|
|
418
|
-
very little surface to diverge on.
|
|
419
|
-
|
|
420
|
-
### Notes
|
|
421
|
-
|
|
422
|
-
- MUI exposes `@deprecated inputProps` / `InputLabelProps` shims for
|
|
423
|
-
MUI v7 backward compatibility. TW never had these (no MUI lineage).
|
|
424
|
-
|
|
425
|
-
---
|
|
426
|
-
|
|
427
|
-
## Summary of intentional deltas
|
|
428
|
-
|
|
429
|
-
1. **Callback signatures**: TW prefers Radix-style `onCheckedChange` /
|
|
430
|
-
`onValueChange` (single-arg). MUI inherits HTML `onChange(event, value)`.
|
|
431
|
-
→ **Documented in `customization.mdx` decision tree.**
|
|
432
|
-
2. **Variant taxonomy**: TW uses shadcn/Radix common-denominator
|
|
433
|
-
vocabulary (`solid`/`outline`/`soft`/`ghost`, `sm`/`md`/`lg`).
|
|
434
|
-
MUI uses Material Design vocabulary (`contained`/`outlined`/`text`,
|
|
435
|
-
`small`/`medium`/`large`). 1:1 mappable.
|
|
436
|
-
3. **`sx` shape**: TW = utility string, MUI = sx-object. Same name,
|
|
437
|
-
different semantics — by design (see `customization.mdx` §1).
|
|
438
|
-
4. **TW-only props**: `slotProps`, `asChild` (Button), `loading`
|
|
439
|
-
(Button), `slotProps.prefix/suffix` (TextField), `showStepper`
|
|
440
|
-
(NumberField), `multiple` / `freeSolo` / `loadOptions`
|
|
441
|
-
(Autocomplete), `resize` variant (Textarea).
|
|
442
|
-
5. **MUI-only props**: `optionsFromFieldData` (Autocomplete runtime
|
|
443
|
-
data integration).
|
|
444
|
-
|
|
445
|
-
## Components NOT covered by this audit
|
|
446
|
-
|
|
447
|
-
The MUI line has these additional components that have no TW
|
|
448
|
-
counterpart yet (NOT in scope for this audit — they're not part of
|
|
449
|
-
the bridge-integrated tier):
|
|
450
|
-
|
|
451
|
-
- `Select` (MUI-only) — TW uses Autocomplete for select-like UX
|
|
452
|
-
- `Animate` (MUI-only utility)
|
|
453
|
-
|
|
454
|
-
The TW line has these additional components with no MUI counterpart
|
|
455
|
-
(Sprint 1-2 Foundation work, not in scope here):
|
|
456
|
-
|
|
457
|
-
- `Typography`, `Box`, `Stack`, `Grid`, `Container`, `Divider`,
|
|
458
|
-
`AspectRatio`, `VisuallyHidden` (8 Foundation primitives)
|
|
459
|
-
|
|
460
|
-
Tier-4 components (Dialog, Tabs, Tooltip, Popover, Accordion) ship in
|
|
461
|
-
Sprint 3 P3 — they will be MUI-side counterparts of MUI's own
|
|
462
|
-
`Dialog`, `Tabs`, `Tooltip`, `Popover`, `Accordion`. Future PARITY.md
|
|
463
|
-
revisions will include them.
|
|
464
|
-
|
|
465
|
-
## Follow-up items
|
|
466
|
-
|
|
467
|
-
No `✗` rows surfaced, so no critical follow-ups. The intentional
|
|
468
|
-
deltas are documented above. The following nice-to-haves were
|
|
469
|
-
identified but are explicitly deferred:
|
|
470
|
-
|
|
471
|
-
| Item | Notes | Sprint |
|
|
472
|
-
|---|---|---|
|
|
473
|
-
| Optional `onChange` (HTML-style) on Checkbox / Switch / RadioGroup | For MUI-migrating consumers who want byte-identical call-sites. Could be added as an additional optional callback alongside `onCheckedChange`. | Not planned. Intentional choice; documented in customization.mdx instead. |
|
|
474
|
-
| `optionsFromFieldData` on TW Autocomplete | Runtime field data integration. Requires F6 infrastructure (form runtime data hooks not yet ported to TW). | Sprint 6 (post-1.0 candidate). |
|
|
475
|
-
| MUI-side `loadOptions` / `freeSolo` / `multiple` exposure | MUI consumer can use `MuiAutocomplete` directly for these. Not adding to the wrapper unless concrete demand. | Not planned. |
|
|
476
|
-
| `variant="standard"` / `"filled"` on TW TextField | No design system demand. | Not planned. |
|
|
477
|
-
|
|
478
|
-
Maintenance pact: every release that touches a bridge-integrated
|
|
479
|
-
component on either line MUST re-run this audit. The cost is low
|
|
480
|
-
(~30 min for a single-component diff) and the consistency value is
|
|
481
|
-
high.
|