@dashforge/tw 1.1.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 +21 -1
- package/dist/index.esm.js +1 -1
- package/dist/src/index.d.ts +1 -1
- package/package.json +8 -3
- package/.swcrc +0 -29
- package/A11Y.md +0 -130
- package/CONSUMER-VALIDATION.md +0 -130
- package/COVERAGE.md +0 -63
- package/PARITY.md +0 -481
- package/PERFORMANCE.md +0 -227
- package/REFINEMENT-NOTES.md +0 -50
- package/THEME-AUDIT.md +0 -174
- package/dashforge-tw-1.0.0.tgz +0 -0
- 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/Alert/Alert.test.tsx +0 -302
- package/src/components/Alert/Alert.tsx +0 -186
- package/src/components/Alert/alert.types.ts +0 -144
- package/src/components/Alert/alert.variants.ts +0 -71
- 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/Avatar/Avatar.test.tsx +0 -287
- package/src/components/Avatar/Avatar.tsx +0 -304
- package/src/components/Avatar/avatar.types.ts +0 -205
- package/src/components/Avatar/avatar.variants.ts +0 -194
- package/src/components/Badge/Badge.test.tsx +0 -385
- package/src/components/Badge/Badge.tsx +0 -174
- package/src/components/Badge/badge.types.ts +0 -154
- package/src/components/Badge/badge.variants.ts +0 -161
- package/src/components/Box/Box.test.tsx +0 -391
- package/src/components/Box/Box.tsx +0 -112
- package/src/components/Box/box.types.ts +0 -116
- 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 -204
- package/src/components/Button/Button.tsx +0 -151
- package/src/components/Button/button.types.ts +0 -110
- 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/Card/Card.test.tsx +0 -291
- package/src/components/Card/Card.tsx +0 -241
- package/src/components/Card/card.types.ts +0 -132
- 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/Chip/Chip.test.tsx +0 -316
- package/src/components/Chip/Chip.tsx +0 -224
- package/src/components/Chip/chip.types.ts +0 -128
- package/src/components/Chip/chip.variants.ts +0 -173
- 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/IconButton/IconButton.test.tsx +0 -367
- package/src/components/IconButton/IconButton.tsx +0 -159
- package/src/components/IconButton/iconButton.types.ts +0 -106
- package/src/components/IconButton/iconButton.variants.ts +0 -31
- 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/Menu/Menu.test.tsx +0 -408
- package/src/components/Menu/Menu.tsx +0 -335
- package/src/components/Menu/menu.types.ts +0 -221
- package/src/components/Menu/menu.variants.ts +0 -132
- 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 -316
- package/src/components/Snackbar/snackbar.types.ts +0 -127
- package/src/components/Snackbar/snackbar.variants.ts +0 -81
- package/src/components/Spinner/Spinner.test.tsx +0 -199
- package/src/components/Spinner/Spinner.tsx +0 -158
- package/src/components/Spinner/spinner.types.ts +0 -113
- package/src/components/Spinner/spinner.variants.ts +0 -83
- 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 -37
- 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/severity/index.ts +0 -33
- package/src/components/_shared/severity/severity.types.ts +0 -50
- package/src/components/_shared/severity/severityIcons.tsx +0 -104
- package/src/components/_shared/severity/severityVariants.test.ts +0 -136
- package/src/components/_shared/severity/severityVariants.ts +0 -115
- 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 -550
- 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,154 +0,0 @@
|
|
|
1
|
-
import type { ReactNode } from 'react';
|
|
2
|
-
import type { ClassValue } from 'tailwind-variants';
|
|
3
|
-
import type { Engine } from '@dashforge/ui-core';
|
|
4
|
-
import type { AccessRequirement } from '@dashforge/rbac';
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* Intent color — drives the badge background. Default is `danger`
|
|
8
|
-
* because the most common notification UX expects a red dot/count
|
|
9
|
-
* for "needs attention" affordance.
|
|
10
|
-
*/
|
|
11
|
-
export type BadgeColor =
|
|
12
|
-
| 'neutral'
|
|
13
|
-
| 'primary'
|
|
14
|
-
| 'secondary'
|
|
15
|
-
| 'success'
|
|
16
|
-
| 'warning'
|
|
17
|
-
| 'danger'
|
|
18
|
-
| 'info';
|
|
19
|
-
|
|
20
|
-
/** 4 corner positions for the floating badge. */
|
|
21
|
-
export type BadgePlacement =
|
|
22
|
-
| 'top-right'
|
|
23
|
-
| 'top-left'
|
|
24
|
-
| 'bottom-right'
|
|
25
|
-
| 'bottom-left';
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Anchor shape:
|
|
29
|
-
* - `'rectangular'` (default) — badge sits at the bounding-box
|
|
30
|
-
* corner. Use for square-ish anchors like IconButton, Card.
|
|
31
|
-
* - `'circular'` — badge offset to align with the circular edge.
|
|
32
|
-
* Use for round anchors like Avatar.
|
|
33
|
-
*/
|
|
34
|
-
export type BadgeOverlap = 'rectangular' | 'circular';
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Per-slot className overrides for `<Badge>`.
|
|
38
|
-
*/
|
|
39
|
-
export interface BadgeSlotProps {
|
|
40
|
-
/** Outer wrapper (relative-positioned, contains the anchor + badge). */
|
|
41
|
-
root?: { className?: string };
|
|
42
|
-
/** The floating badge pill / dot itself. */
|
|
43
|
-
badge?: { className?: string };
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Props for `<Badge>` — anchored indicator (count / dot / short text).
|
|
48
|
-
*
|
|
49
|
-
* Wrapper-only mode: `<Badge>` always wraps an anchor element passed
|
|
50
|
-
* as `children`. For standalone inline pills (status labels, tags),
|
|
51
|
-
* use `<Chip>` — Badge and Chip are complementary, not interchangeable.
|
|
52
|
-
*
|
|
53
|
-
* Relationship with Chip:
|
|
54
|
-
* - `<Chip>` = inline pill (interactive — `onClick`, `onDelete`,
|
|
55
|
-
* `selected`). Standalone, no anchor.
|
|
56
|
-
* - `<Badge>` = anchored indicator (passive — small count / dot
|
|
57
|
-
* overlaid on top of another element).
|
|
58
|
-
*/
|
|
59
|
-
export interface BadgeProps {
|
|
60
|
-
// ─── Required ──────────────────────────────────────────────────
|
|
61
|
-
/** The anchor element (Avatar / IconButton / button / Card / custom). */
|
|
62
|
-
children: ReactNode;
|
|
63
|
-
|
|
64
|
-
// ─── Content ───────────────────────────────────────────────────
|
|
65
|
-
/**
|
|
66
|
-
* Numeric or string content to display inside the badge.
|
|
67
|
-
* - `number` → formatted via `max` (overflow renders as `"N+"`)
|
|
68
|
-
* - `string` → rendered verbatim (e.g., `"NEW"`)
|
|
69
|
-
* - omitted + `dot=false` → no badge rendered (or only at zero if
|
|
70
|
-
* `showZero=true`)
|
|
71
|
-
*/
|
|
72
|
-
content?: number | string;
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Dot-only mode — small circle without content. When `true`,
|
|
76
|
-
* `content` and `max` are ignored.
|
|
77
|
-
*/
|
|
78
|
-
dot?: boolean;
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Overflow threshold for numeric `content`. Values above render
|
|
82
|
-
* as `{max}+`. Set to `-1` to disable overflow (always raw number).
|
|
83
|
-
* @default 99
|
|
84
|
-
*/
|
|
85
|
-
max?: number;
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Whether to render the badge when numeric `content` is `0`.
|
|
89
|
-
* Hidden by default — the typical notification UX is "no badge =
|
|
90
|
-
* nothing to see".
|
|
91
|
-
* @default false
|
|
92
|
-
*/
|
|
93
|
-
showZero?: boolean;
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Imperative hide — keeps the badge in the DOM but applies
|
|
97
|
-
* `display: none`. Use for opacity/scale fade animations without
|
|
98
|
-
* unmounting.
|
|
99
|
-
* @default false
|
|
100
|
-
*/
|
|
101
|
-
invisible?: boolean;
|
|
102
|
-
|
|
103
|
-
// ─── Visual ────────────────────────────────────────────────────
|
|
104
|
-
/** @default 'danger' — typical "needs attention" notification color. */
|
|
105
|
-
color?: BadgeColor;
|
|
106
|
-
|
|
107
|
-
/** @default 'top-right' */
|
|
108
|
-
placement?: BadgePlacement;
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Anchor shape — controls badge offset.
|
|
112
|
-
* - `'rectangular'` (default) sits at the bounding-box corner
|
|
113
|
-
* - `'circular'` offsets to align with the circular anchor edge
|
|
114
|
-
* (use with `<Avatar shape="circle">`)
|
|
115
|
-
* @default 'rectangular'
|
|
116
|
-
*/
|
|
117
|
-
overlap?: BadgeOverlap;
|
|
118
|
-
|
|
119
|
-
/**
|
|
120
|
-
* White/neutral ring around the badge — visually separates from
|
|
121
|
-
* the anchor surface. Token-driven via `ring-neutral-50` which
|
|
122
|
-
* auto-inverts via the dashforgePreset CSS-var swap (no `dark:`
|
|
123
|
-
* needed).
|
|
124
|
-
* @default true
|
|
125
|
-
*/
|
|
126
|
-
withRing?: boolean;
|
|
127
|
-
|
|
128
|
-
// ─── Bridge integration (Sprint 4.4) ───────────────────────────
|
|
129
|
-
/**
|
|
130
|
-
* RBAC requirement — hides the badge for unauthorized subjects.
|
|
131
|
-
* The wrapped anchor element remains visible (use Box `access`
|
|
132
|
-
* to gate the anchor too).
|
|
133
|
-
*
|
|
134
|
-
* Use case: admin-only notification count, role-gated indicators.
|
|
135
|
-
*/
|
|
136
|
-
access?: AccessRequirement;
|
|
137
|
-
|
|
138
|
-
/**
|
|
139
|
-
* Reactive visibility predicate. When `false`, the badge dot/count
|
|
140
|
-
* is not rendered (children always render). Use for state-driven
|
|
141
|
-
* indicators tied to engine values.
|
|
142
|
-
*/
|
|
143
|
-
visibleWhen?: (engine: Engine) => boolean;
|
|
144
|
-
|
|
145
|
-
// ─── Override ──────────────────────────────────────────────────
|
|
146
|
-
/** Root-element class shortcut. */
|
|
147
|
-
sx?: ClassValue;
|
|
148
|
-
|
|
149
|
-
/** Standard className — appended to the root via `cn()`. */
|
|
150
|
-
className?: string;
|
|
151
|
-
|
|
152
|
-
/** Per-slot overrides — root + badge. */
|
|
153
|
-
slotProps?: BadgeSlotProps;
|
|
154
|
-
}
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { tv, type VariantProps } from 'tailwind-variants';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Tailwind-variants recipe for `<Badge>`.
|
|
5
|
-
*
|
|
6
|
-
* Slot layout:
|
|
7
|
-
* - `root` — outer span (relative-positioned wrapper around the
|
|
8
|
-
* anchor). `inline-flex` so the wrapper shrinks to fit
|
|
9
|
-
* the anchor element.
|
|
10
|
-
* - `badge` — the floating absolute-positioned pill / dot. Two
|
|
11
|
-
* variants (`dot=true` → tiny circle, `dot=false` →
|
|
12
|
-
* pill with min-width to fit content).
|
|
13
|
-
*
|
|
14
|
-
* Color axis emits the `badge` background + text classes. The 7
|
|
15
|
-
* intents map to:
|
|
16
|
-
* - solid bg: `bg-{intent}-500` (vivid, attention-grabbing for
|
|
17
|
-
* notifications — different from Chip which uses 600 for solid
|
|
18
|
-
* because chip surface is larger; small badge needs the brighter
|
|
19
|
-
* mid-tone)
|
|
20
|
-
* - text: `text-white` for primary/secondary/success/warning/danger/
|
|
21
|
-
* info; `text-neutral-50` for neutral (auto-inverts via CSS-var
|
|
22
|
-
* swap, no `dark:` needed)
|
|
23
|
-
*
|
|
24
|
-
* Placement axis emits absolute-position + translate utilities:
|
|
25
|
-
* - top-right (default): `top-0 right-0 -translate-y-1/2 translate-x-1/2`
|
|
26
|
-
* - top-left: `top-0 left-0 -translate-y-1/2 -translate-x-1/2`
|
|
27
|
-
* - bottom-right: `bottom-0 right-0 translate-y-1/2 translate-x-1/2`
|
|
28
|
-
* - bottom-left: `bottom-0 left-0 translate-y-1/2 -translate-x-1/2`
|
|
29
|
-
*
|
|
30
|
-
* Overlap axis adds an extra inset for circular anchors so the
|
|
31
|
-
* badge sits along the round edge instead of the bounding box corner.
|
|
32
|
-
*/
|
|
33
|
-
export const badgeVariants = tv({
|
|
34
|
-
slots: {
|
|
35
|
-
root: 'relative inline-flex shrink-0',
|
|
36
|
-
badge: [
|
|
37
|
-
// Absolute positioning is owned by the placement compound rules.
|
|
38
|
-
'absolute z-10',
|
|
39
|
-
// Layout / typography — pill defaults; dot mode overrides
|
|
40
|
-
// dimensions below.
|
|
41
|
-
'inline-flex items-center justify-center',
|
|
42
|
-
'rounded-full',
|
|
43
|
-
'text-[10px] font-medium leading-none',
|
|
44
|
-
'pointer-events-none select-none',
|
|
45
|
-
// Smooth show/hide for `invisible` toggle (consumer-side
|
|
46
|
-
// animation hook). Gated on motion-reduce per WCAG 2.3.3.
|
|
47
|
-
'transition-transform duration-150 motion-reduce:transition-none motion-reduce:duration-0',
|
|
48
|
-
],
|
|
49
|
-
},
|
|
50
|
-
variants: {
|
|
51
|
-
/**
|
|
52
|
-
* `dot=true` → tiny circle (8px), no content. The badge slot
|
|
53
|
-
* collapses to a fixed-size circle without the pill min-width.
|
|
54
|
-
*/
|
|
55
|
-
dot: {
|
|
56
|
-
true: {
|
|
57
|
-
badge: 'w-2 h-2 p-0',
|
|
58
|
-
},
|
|
59
|
-
false: {
|
|
60
|
-
// Content pill — 16px tall, padded inline, min-width so
|
|
61
|
-
// single-digit counts still read centered.
|
|
62
|
-
badge: 'min-w-4 h-4 px-1',
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
/** Whether the floating badge is hidden via `display: none`. */
|
|
66
|
-
invisible: {
|
|
67
|
-
true: {
|
|
68
|
-
badge: 'hidden',
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
/** Halo ring for visual separation from the anchor surface. */
|
|
72
|
-
withRing: {
|
|
73
|
-
true: {
|
|
74
|
-
// ring-neutral-50 auto-inverts via dashforgePreset CSS var
|
|
75
|
-
// swap (no `dark:` needed for the neutral palette).
|
|
76
|
-
badge: 'ring-2 ring-neutral-50',
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
/** 7 intents — drives the badge background + text colour. */
|
|
80
|
-
color: {
|
|
81
|
-
neutral: {
|
|
82
|
-
// Both classes on the neutral palette — auto-invert via CSS
|
|
83
|
-
// var swap. No `dark:` variants needed.
|
|
84
|
-
badge: 'bg-neutral-700 text-neutral-50',
|
|
85
|
-
},
|
|
86
|
-
primary: { badge: 'bg-primary-500 text-white' },
|
|
87
|
-
secondary: { badge: 'bg-secondary-500 text-white' },
|
|
88
|
-
success: { badge: 'bg-success-500 text-white' },
|
|
89
|
-
warning: { badge: 'bg-warning-500 text-white' },
|
|
90
|
-
danger: { badge: 'bg-danger-500 text-white' },
|
|
91
|
-
info: { badge: 'bg-info-500 text-white' },
|
|
92
|
-
},
|
|
93
|
-
placement: {
|
|
94
|
-
'top-right': {
|
|
95
|
-
badge: 'top-0 right-0 -translate-y-1/2 translate-x-1/2',
|
|
96
|
-
},
|
|
97
|
-
'top-left': {
|
|
98
|
-
badge: 'top-0 left-0 -translate-y-1/2 -translate-x-1/2',
|
|
99
|
-
},
|
|
100
|
-
'bottom-right': {
|
|
101
|
-
badge: 'bottom-0 right-0 translate-y-1/2 translate-x-1/2',
|
|
102
|
-
},
|
|
103
|
-
'bottom-left': {
|
|
104
|
-
badge: 'bottom-0 left-0 translate-y-1/2 -translate-x-1/2',
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
/**
|
|
108
|
-
* `overlap='circular'` adds an inward inset so the badge sits
|
|
109
|
-
* along the circular anchor edge instead of the bounding-box
|
|
110
|
-
* corner. The 14% offset is empirically tuned to match the
|
|
111
|
-
* standard avatar / round-button geometry (matches MUI's value).
|
|
112
|
-
*/
|
|
113
|
-
overlap: {
|
|
114
|
-
rectangular: {},
|
|
115
|
-
circular: {},
|
|
116
|
-
},
|
|
117
|
-
},
|
|
118
|
-
compoundVariants: [
|
|
119
|
-
// ─── overlap='circular' × placement — additional inset ─────────
|
|
120
|
-
// The inward shift is in addition to the placement translate,
|
|
121
|
-
// achieved via an extra `-{translate-corner}` adjustment.
|
|
122
|
-
{
|
|
123
|
-
overlap: 'circular',
|
|
124
|
-
placement: 'top-right',
|
|
125
|
-
class: {
|
|
126
|
-
badge: 'top-[14%] right-[14%] translate-x-1/2 -translate-y-1/2',
|
|
127
|
-
},
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
overlap: 'circular',
|
|
131
|
-
placement: 'top-left',
|
|
132
|
-
class: {
|
|
133
|
-
badge: 'top-[14%] left-[14%] -translate-x-1/2 -translate-y-1/2',
|
|
134
|
-
},
|
|
135
|
-
},
|
|
136
|
-
{
|
|
137
|
-
overlap: 'circular',
|
|
138
|
-
placement: 'bottom-right',
|
|
139
|
-
class: {
|
|
140
|
-
badge: 'bottom-[14%] right-[14%] translate-x-1/2 translate-y-1/2',
|
|
141
|
-
},
|
|
142
|
-
},
|
|
143
|
-
{
|
|
144
|
-
overlap: 'circular',
|
|
145
|
-
placement: 'bottom-left',
|
|
146
|
-
class: {
|
|
147
|
-
badge: 'bottom-[14%] left-[14%] -translate-x-1/2 translate-y-1/2',
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
],
|
|
151
|
-
defaultVariants: {
|
|
152
|
-
dot: false,
|
|
153
|
-
invisible: false,
|
|
154
|
-
withRing: true,
|
|
155
|
-
color: 'danger',
|
|
156
|
-
placement: 'top-right',
|
|
157
|
-
overlap: 'rectangular',
|
|
158
|
-
},
|
|
159
|
-
});
|
|
160
|
-
|
|
161
|
-
export type BadgeVariants = VariantProps<typeof badgeVariants>;
|