@dashforge/tw 1.0.0 → 1.1.0
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 +221 -0
- package/README.md +74 -15
- package/dashforge-tw-1.0.0.tgz +0 -0
- 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 +2 -1
- package/src/components/Alert/Alert.test.tsx +302 -0
- package/src/components/Alert/Alert.tsx +186 -0
- package/src/components/Alert/alert.types.ts +144 -0
- package/src/components/Alert/alert.variants.ts +71 -0
- package/src/components/Autocomplete/autocomplete.variants.ts +1 -1
- package/src/components/Avatar/Avatar.test.tsx +287 -0
- package/src/components/Avatar/Avatar.tsx +304 -0
- package/src/components/Avatar/avatar.types.ts +205 -0
- package/src/components/Avatar/avatar.variants.ts +194 -0
- package/src/components/Badge/Badge.test.tsx +385 -0
- package/src/components/Badge/Badge.tsx +174 -0
- package/src/components/Badge/badge.types.ts +154 -0
- package/src/components/Badge/badge.variants.ts +161 -0
- package/src/components/Box/Box.test.tsx +21 -0
- package/src/components/Box/Box.tsx +32 -3
- package/src/components/Box/box.types.ts +55 -0
- package/src/components/Button/Button.test.tsx +21 -0
- package/src/components/Button/Button.tsx +28 -27
- package/src/components/Button/button.types.ts +36 -0
- package/src/components/Card/Card.test.tsx +291 -0
- package/src/components/Card/Card.tsx +241 -0
- package/src/components/Card/card.types.ts +132 -0
- package/src/components/Chip/Chip.test.tsx +316 -0
- package/src/components/Chip/Chip.tsx +224 -0
- package/src/components/Chip/chip.types.ts +128 -0
- package/src/components/Chip/chip.variants.ts +173 -0
- package/src/components/DataGrid/visibility/ColumnVisibilityMenu.tsx +1 -1
- package/src/components/IconButton/IconButton.test.tsx +367 -0
- package/src/components/IconButton/IconButton.tsx +159 -0
- package/src/components/IconButton/iconButton.types.ts +106 -0
- package/src/components/IconButton/iconButton.variants.ts +31 -0
- package/src/components/LeftNav/leftNav.variants.ts +2 -2
- package/src/components/Menu/Menu.test.tsx +408 -0
- package/src/components/Menu/Menu.tsx +335 -0
- package/src/components/Menu/menu.types.ts +221 -0
- package/src/components/Menu/menu.variants.ts +132 -0
- package/src/components/Pagination/pagination.variants.ts +1 -1
- package/src/components/Snackbar/Snackbar.tsx +46 -28
- package/src/components/Snackbar/snackbar.types.ts +47 -3
- package/src/components/Snackbar/snackbar.variants.ts +29 -22
- package/src/components/Spinner/Spinner.test.tsx +199 -0
- package/src/components/Spinner/Spinner.tsx +158 -0
- package/src/components/Spinner/spinner.types.ts +113 -0
- package/src/components/Spinner/spinner.variants.ts +83 -0
- package/src/components/Table/cells/RenderChip.tsx +24 -87
- package/src/components/Table/cells/RowActionsMenu.tsx +1 -1
- package/src/components/_shared/severity/index.ts +33 -0
- package/src/components/_shared/severity/severity.types.ts +50 -0
- package/src/components/_shared/severity/severityIcons.tsx +104 -0
- package/src/components/_shared/severity/severityVariants.test.ts +136 -0
- package/src/components/_shared/severity/severityVariants.ts +115 -0
- package/src/index.ts +163 -1
- package/LICENSE +0 -21
- 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
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { forwardRef, useContext } from 'react';
|
|
2
|
+
import { Slot } from '@radix-ui/react-slot';
|
|
3
|
+
import { DashFormContext, useEngineVisibility } from '@dashforge/ui-core';
|
|
4
|
+
import { cn } from '../../utils/cn.js';
|
|
5
|
+
import { useAccessState } from '../../hooks/useAccessState.js';
|
|
6
|
+
import { buttonVariants } from '../Button/button.variants.js';
|
|
7
|
+
import { Spinner } from '../Spinner/Spinner.js';
|
|
8
|
+
import type { SpinnerSize } from '../Spinner/spinner.types.js';
|
|
9
|
+
import {
|
|
10
|
+
ICON_BUTTON_BASE,
|
|
11
|
+
ICON_BUTTON_SIZE_OVERRIDES,
|
|
12
|
+
} from './iconButton.variants.js';
|
|
13
|
+
import type { IconButtonProps } from './iconButton.types.js';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Map IconButton size to Spinner size. Same mapping as Button —
|
|
17
|
+
* Spinner has 5 steps, the parent has 3.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
function iconButtonSizeToSpinnerSize(size: 'sm' | 'md' | 'lg'): SpinnerSize {
|
|
22
|
+
return size === 'sm' ? 'xs' : size === 'lg' ? 'md' : 'sm';
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Dashforge TW IconButton — square, icon-only action button.
|
|
27
|
+
*
|
|
28
|
+
* Reuses `buttonVariants` 1:1 (same `variant` / `color` / `size` /
|
|
29
|
+
* `loading` axes) so every `<Button>` style maps to the equivalent
|
|
30
|
+
* `<IconButton>` with zero code duplication. The ONLY additions are:
|
|
31
|
+
*
|
|
32
|
+
* - `ICON_BUTTON_SIZE_OVERRIDES` — forces `w-N + px-0` so the button
|
|
33
|
+
* is square at every size token
|
|
34
|
+
* - `ICON_BUTTON_BASE` — `aspect-square inline-flex items-center
|
|
35
|
+
* justify-center` for layout
|
|
36
|
+
*
|
|
37
|
+
* Both additions are token-driven (spacing) or layout-primitive
|
|
38
|
+
* (geometry) — no hardcoded hex, no `dark:` variants.
|
|
39
|
+
*
|
|
40
|
+
* **`aria-label` is REQUIRED** at the type level — icon-only buttons
|
|
41
|
+
* are invisible to assistive tech without an explicit accessible
|
|
42
|
+
* name. The TypeScript compiler enforces this rather than relying on
|
|
43
|
+
* runtime warnings.
|
|
44
|
+
*
|
|
45
|
+
* RBAC integration mirrors `<Button>`: `access` with
|
|
46
|
+
* `onUnauthorized: 'hide' | 'disable' | 'readonly'`. No `visibleWhen`
|
|
47
|
+
* (mirror Button — buttons should disable, not hide, on
|
|
48
|
+
* state-driven unavailability; permission-driven hiding is `access`).
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```tsx
|
|
52
|
+
* import { Trash2 } from 'lucide-react';
|
|
53
|
+
*
|
|
54
|
+
* <IconButton aria-label="Delete row" color="danger" onClick={onDelete}>
|
|
55
|
+
* <Trash2 size={20} />
|
|
56
|
+
* </IconButton>
|
|
57
|
+
*
|
|
58
|
+
* // Polymorphism via Radix Slot
|
|
59
|
+
* <IconButton asChild aria-label="Open settings" variant="ghost">
|
|
60
|
+
* <Link to="/settings"><SettingsIcon size={20} /></Link>
|
|
61
|
+
* </IconButton>
|
|
62
|
+
*
|
|
63
|
+
* // RBAC-gated
|
|
64
|
+
* <IconButton
|
|
65
|
+
* aria-label="Publish article"
|
|
66
|
+
* variant="solid"
|
|
67
|
+
* color="primary"
|
|
68
|
+
* access={{ resource: 'article', action: 'publish', onUnauthorized: 'disable' }}
|
|
69
|
+
* >
|
|
70
|
+
* <PublishIcon size={20} />
|
|
71
|
+
* </IconButton>
|
|
72
|
+
*
|
|
73
|
+
* // Loading swap
|
|
74
|
+
* <IconButton aria-label="Save" loading={isSaving}>
|
|
75
|
+
* <SaveIcon size={20} />
|
|
76
|
+
* </IconButton>
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
export const IconButton = forwardRef<HTMLButtonElement, IconButtonProps>(
|
|
80
|
+
function IconButton(props, ref) {
|
|
81
|
+
const {
|
|
82
|
+
access,
|
|
83
|
+
visibleWhen,
|
|
84
|
+
disabled,
|
|
85
|
+
variant,
|
|
86
|
+
color,
|
|
87
|
+
size = 'md',
|
|
88
|
+
loading,
|
|
89
|
+
asChild,
|
|
90
|
+
sx,
|
|
91
|
+
className,
|
|
92
|
+
children,
|
|
93
|
+
...rest
|
|
94
|
+
} = props;
|
|
95
|
+
|
|
96
|
+
// Bridge — both hooks called unconditionally (rules-of-hooks).
|
|
97
|
+
const bridge = useContext(DashFormContext);
|
|
98
|
+
const isVisible = useEngineVisibility(bridge?.engine, visibleWhen);
|
|
99
|
+
const accessState = useAccessState(access);
|
|
100
|
+
if (!isVisible || !accessState.visible) return null;
|
|
101
|
+
|
|
102
|
+
// Effective disabled = explicit OR RBAC.disabled OR RBAC.readonly OR loading.
|
|
103
|
+
// Mirrors `<Button>` exactly — IconButton has no true read-only
|
|
104
|
+
// state, so RBAC readonly maps to disabled (same as MUI side).
|
|
105
|
+
const effectiveDisabled =
|
|
106
|
+
Boolean(disabled) ||
|
|
107
|
+
accessState.disabled ||
|
|
108
|
+
accessState.readonly ||
|
|
109
|
+
Boolean(loading);
|
|
110
|
+
|
|
111
|
+
const classes = cn(
|
|
112
|
+
buttonVariants({ variant, color, size, loading }),
|
|
113
|
+
ICON_BUTTON_SIZE_OVERRIDES[size],
|
|
114
|
+
ICON_BUTTON_BASE,
|
|
115
|
+
sx,
|
|
116
|
+
className
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
// `aria-busy` while loading — distinguishes "wait for action to
|
|
120
|
+
// finish" from "you can't do this" in screen-reader announcements.
|
|
121
|
+
const ariaBusy = loading ? true : undefined;
|
|
122
|
+
|
|
123
|
+
if (asChild) {
|
|
124
|
+
return (
|
|
125
|
+
<Slot
|
|
126
|
+
ref={ref}
|
|
127
|
+
className={classes}
|
|
128
|
+
data-disabled={effectiveDisabled || undefined}
|
|
129
|
+
aria-disabled={effectiveDisabled || undefined}
|
|
130
|
+
aria-busy={ariaBusy}
|
|
131
|
+
>
|
|
132
|
+
{children}
|
|
133
|
+
</Slot>
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
return (
|
|
138
|
+
<button
|
|
139
|
+
ref={ref}
|
|
140
|
+
type={rest.type ?? 'button'}
|
|
141
|
+
disabled={effectiveDisabled}
|
|
142
|
+
aria-busy={ariaBusy}
|
|
143
|
+
className={classes}
|
|
144
|
+
{...rest}
|
|
145
|
+
>
|
|
146
|
+
{loading ? (
|
|
147
|
+
<Spinner
|
|
148
|
+
size={iconButtonSizeToSpinnerSize(size)}
|
|
149
|
+
thickness="thick"
|
|
150
|
+
withTrack
|
|
151
|
+
label=""
|
|
152
|
+
/>
|
|
153
|
+
) : (
|
|
154
|
+
children
|
|
155
|
+
)}
|
|
156
|
+
</button>
|
|
157
|
+
);
|
|
158
|
+
}
|
|
159
|
+
);
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import type { ButtonHTMLAttributes, 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
|
+
import type { ButtonVariants } from '../Button/button.variants.js';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Props for `<IconButton>`.
|
|
9
|
+
*
|
|
10
|
+
* IconButton is the **icon-only variant of `<Button>`** — it reuses
|
|
11
|
+
* `buttonVariants` 1:1 (same `variant` × `color` × `size` × `loading`
|
|
12
|
+
* compound matrix) and adds:
|
|
13
|
+
*
|
|
14
|
+
* - Square geometry (width = height = size token, `aspect-square`)
|
|
15
|
+
* - Zero horizontal padding (no text to pad around)
|
|
16
|
+
* - **`aria-label` REQUIRED** at the type level — icon-only buttons
|
|
17
|
+
* are invisible to screen readers without an explicit label, so we
|
|
18
|
+
* enforce it via TypeScript rather than runtime warning.
|
|
19
|
+
*
|
|
20
|
+
* Notes on excluded props (deliberate parity with `<Button>`):
|
|
21
|
+
* - **No `slotProps`** — IconButton renders a single DOM element
|
|
22
|
+
* (`<button>` plus a transient loading swap); `className` + `sx`
|
|
23
|
+
* cover the override surface fully, matching Button.
|
|
24
|
+
* - **No `fullWidth`** — meaningless on an icon-sized button.
|
|
25
|
+
*
|
|
26
|
+
* As of 1.1.0 (Sprint 4.4 alignment), IconButton + Button both
|
|
27
|
+
* support `visibleWhen` — see prop docs below.
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```tsx
|
|
31
|
+
* import { TrashIcon } from 'lucide-react';
|
|
32
|
+
*
|
|
33
|
+
* <IconButton aria-label="Delete row" color="danger" onClick={onDelete}>
|
|
34
|
+
* <TrashIcon size={20} />
|
|
35
|
+
* </IconButton>
|
|
36
|
+
*
|
|
37
|
+
* // Polymorphism via Radix Slot — wrap a router Link without nesting
|
|
38
|
+
* // a button inside an anchor.
|
|
39
|
+
* <IconButton asChild aria-label="Open settings" variant="ghost">
|
|
40
|
+
* <Link to="/settings"><SettingsIcon size={20} /></Link>
|
|
41
|
+
* </IconButton>
|
|
42
|
+
*
|
|
43
|
+
* // RBAC-gated
|
|
44
|
+
* <IconButton
|
|
45
|
+
* aria-label="Publish article"
|
|
46
|
+
* variant="solid"
|
|
47
|
+
* color="primary"
|
|
48
|
+
* access={{ resource: 'article', action: 'publish', onUnauthorized: 'disable' }}
|
|
49
|
+
* >
|
|
50
|
+
* <PublishIcon size={20} />
|
|
51
|
+
* </IconButton>
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export interface IconButtonProps
|
|
55
|
+
extends Omit<
|
|
56
|
+
ButtonHTMLAttributes<HTMLButtonElement>,
|
|
57
|
+
'color' | 'children'
|
|
58
|
+
>,
|
|
59
|
+
Pick<ButtonVariants, 'variant' | 'color' | 'size' | 'loading'> {
|
|
60
|
+
/**
|
|
61
|
+
* The icon — typically an SVG element from the consumer's icon
|
|
62
|
+
* library (Lucide / Phosphor / Tabler / inline SVG). A single
|
|
63
|
+
* `ReactNode` is expected.
|
|
64
|
+
*/
|
|
65
|
+
children: ReactNode;
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Required at the type level — icon-only buttons MUST have an
|
|
69
|
+
* accessible name. Pass a short verb phrase describing the action
|
|
70
|
+
* (e.g. `"Delete row"`, `"Open settings"`, NOT `"Trash icon"`).
|
|
71
|
+
*/
|
|
72
|
+
'aria-label': string;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Render-as-child via Radix Slot — the resolved IconButton
|
|
76
|
+
* className is forwarded to the immediate child element, no
|
|
77
|
+
* `<button>` DOM is emitted. Useful for router `<Link>`s.
|
|
78
|
+
* Same contract as `<Button asChild>`.
|
|
79
|
+
*/
|
|
80
|
+
asChild?: boolean;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* RBAC requirement. When the current subject doesn't satisfy the
|
|
84
|
+
* requirement, the button is hidden / disabled / read-only per
|
|
85
|
+
* `onUnauthorized`. Same contract as `<Button access>`.
|
|
86
|
+
*/
|
|
87
|
+
access?: AccessRequirement;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Reactive visibility predicate — same contract as `<Button>` and
|
|
91
|
+
* `<Chip>`. When the predicate returns `false`, the component
|
|
92
|
+
* renders `null`. Inside a `<DashForm>` it subscribes to engine
|
|
93
|
+
* state and re-evaluates on every change; outside a form, it's
|
|
94
|
+
* called with `null` engine (capture external state in closure).
|
|
95
|
+
*
|
|
96
|
+
* Added in 1.1.0 (Sprint 4.4 alignment) to keep IconButton in
|
|
97
|
+
* lockstep with Button.
|
|
98
|
+
*/
|
|
99
|
+
visibleWhen?: (engine: Engine) => boolean;
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Root-element class shortcut (string or `clsx`-compatible value).
|
|
103
|
+
* Last-wins via `tailwind-merge` inside `cn()`.
|
|
104
|
+
*/
|
|
105
|
+
sx?: ClassValue;
|
|
106
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ButtonVariants } from '../Button/button.variants.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* IconButton size overrides — applied ON TOP of `buttonVariants(...)`.
|
|
5
|
+
*
|
|
6
|
+
* Button's `size` axis sets `h-X` + `px-Y` (rectangular). For
|
|
7
|
+
* IconButton we need a SQUARE shape, so we:
|
|
8
|
+
* - zero out the horizontal padding (`px-0`)
|
|
9
|
+
* - set an explicit width that matches the height (`w-N` mirrors the
|
|
10
|
+
* `h-N` from Button's size variant)
|
|
11
|
+
*
|
|
12
|
+
* The `aspect-square` utility provides belt-and-braces in the edge
|
|
13
|
+
* case where Tailwind purges the explicit `w-N` (e.g., when the user
|
|
14
|
+
* passes `size` dynamically and the JIT can't statically see all
|
|
15
|
+
* combinations).
|
|
16
|
+
*
|
|
17
|
+
* Token propagation: `w-N` resolves to `var(--df-tw-spacing-N)`
|
|
18
|
+
* through `dashforgePreset()`, identical to how `h-N` works for
|
|
19
|
+
* Button. `patchTheme({ spacing: { 10: '2.75rem' } })` patches both
|
|
20
|
+
* Button height and IconButton size in lockstep.
|
|
21
|
+
*/
|
|
22
|
+
type IconButtonSize = NonNullable<ButtonVariants['size']>;
|
|
23
|
+
|
|
24
|
+
export const ICON_BUTTON_SIZE_OVERRIDES: Record<IconButtonSize, string> = {
|
|
25
|
+
sm: 'w-8 px-0',
|
|
26
|
+
md: 'w-10 px-0',
|
|
27
|
+
lg: 'w-12 px-0',
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/** Always-applied layout primitives — not token-driven (geometric CSS). */
|
|
31
|
+
export const ICON_BUTTON_BASE = 'aspect-square inline-flex items-center justify-center';
|
|
@@ -33,7 +33,7 @@ export const leftNavVariants = tv({
|
|
|
33
33
|
'flex items-center gap-2 px-3 h-14 shrink-0',
|
|
34
34
|
'border-b border-neutral-200 text-neutral-900 font-semibold',
|
|
35
35
|
],
|
|
36
|
-
list: 'flex flex-col gap-0.5 p-2 flex-1 overflow-y-auto',
|
|
36
|
+
list: 'flex flex-col gap-0.5 p-2 flex-1 overflow-y-auto list-none m-0',
|
|
37
37
|
item: 'list-none',
|
|
38
38
|
itemLink: [
|
|
39
39
|
'flex items-center gap-2 px-2 py-2 rounded-md',
|
|
@@ -66,7 +66,7 @@ export const leftNavVariants = tv({
|
|
|
66
66
|
'outline-none focus-visible:ring-2 focus-visible:ring-primary-500/50',
|
|
67
67
|
'transition-colors w-full',
|
|
68
68
|
],
|
|
69
|
-
groupChildren: 'flex flex-col gap-0.5 pl-6',
|
|
69
|
+
groupChildren: 'flex flex-col gap-0.5 pl-6 list-none m-0',
|
|
70
70
|
footer: [
|
|
71
71
|
'border-t border-neutral-200 p-3 shrink-0',
|
|
72
72
|
'flex items-center gap-2',
|