@dashforge/tw 1.7.1 → 2.0.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 +142 -0
- package/dist/{src/components → components}/Accordion/accordion.variants.d.ts +3 -3
- package/dist/{src/components → components}/AppShell/appShell.types.d.ts +8 -0
- package/dist/{src/components → components}/AppShell/appShell.variants.d.ts +39 -2
- package/dist/{src/components → components}/Box/box.types.d.ts +19 -1
- package/dist/{src/components → components}/Box/box.variants.d.ts +18 -0
- package/dist/{src/components → components}/Button/button.types.d.ts +21 -0
- package/dist/{src/components → components}/Button/button.variants.d.ts +60 -0
- package/dist/{src/components → components}/Calendar/calendar.types.d.ts +52 -2
- package/dist/{src/components → components}/Chip/chip.types.d.ts +42 -0
- package/dist/{src/components → components}/Chip/chip.variants.d.ts +9 -0
- package/dist/{src/components → components}/Grid/grid.types.d.ts +42 -0
- package/dist/components/Kbd/Kbd.d.ts +13 -0
- package/dist/components/Kbd/kbd.types.d.ts +62 -0
- package/dist/components/Kbd/kbd.variants.d.ts +54 -0
- package/dist/{src/components → components}/Select/Select.d.ts +1 -1
- package/dist/{src/components → components}/Slider/Slider.d.ts +1 -1
- package/dist/{src/components → components}/Stack/stack.types.d.ts +42 -0
- package/dist/{src/components → components}/Stack/stack.variants.d.ts +8 -0
- package/dist/{src/components → components}/TopBar/TopBar.d.ts +16 -1
- package/dist/components/TopBar/topBar.types.d.ts +142 -0
- package/dist/components/TopBar/topBar.variants.d.ts +136 -0
- package/dist/index.d.ts +212 -1
- package/dist/index.esm.js +814 -111
- package/package.json +10 -8
- package/dist/src/components/Accordion/Accordion.d.ts.map +0 -1
- package/dist/src/components/Accordion/accordion.types.d.ts.map +0 -1
- package/dist/src/components/Accordion/accordion.variants.d.ts.map +0 -1
- package/dist/src/components/Alert/Alert.d.ts.map +0 -1
- package/dist/src/components/Alert/alert.types.d.ts.map +0 -1
- package/dist/src/components/Alert/alert.variants.d.ts.map +0 -1
- package/dist/src/components/AppShell/AppShell.d.ts.map +0 -1
- package/dist/src/components/AppShell/appShell.types.d.ts.map +0 -1
- package/dist/src/components/AppShell/appShell.variants.d.ts.map +0 -1
- package/dist/src/components/AspectRatio/AspectRatio.d.ts.map +0 -1
- package/dist/src/components/AspectRatio/aspectRatio.types.d.ts.map +0 -1
- package/dist/src/components/Autocomplete/Autocomplete.d.ts.map +0 -1
- package/dist/src/components/Autocomplete/autocomplete.props.type-test.d.ts.map +0 -1
- package/dist/src/components/Autocomplete/autocomplete.types.d.ts.map +0 -1
- package/dist/src/components/Autocomplete/autocomplete.variants.d.ts.map +0 -1
- package/dist/src/components/Avatar/Avatar.d.ts.map +0 -1
- package/dist/src/components/Avatar/avatar.types.d.ts.map +0 -1
- package/dist/src/components/Avatar/avatar.variants.d.ts.map +0 -1
- package/dist/src/components/Badge/Badge.d.ts.map +0 -1
- package/dist/src/components/Badge/badge.types.d.ts.map +0 -1
- package/dist/src/components/Badge/badge.variants.d.ts.map +0 -1
- package/dist/src/components/Box/Box.d.ts.map +0 -1
- package/dist/src/components/Box/box.types.d.ts.map +0 -1
- package/dist/src/components/Box/box.variants.d.ts.map +0 -1
- package/dist/src/components/Breadcrumbs/Breadcrumbs.d.ts.map +0 -1
- package/dist/src/components/Breadcrumbs/breadcrumbs.types.d.ts.map +0 -1
- package/dist/src/components/Breadcrumbs/breadcrumbs.variants.d.ts.map +0 -1
- package/dist/src/components/Button/Button.d.ts.map +0 -1
- package/dist/src/components/Button/button.types.d.ts.map +0 -1
- package/dist/src/components/Button/button.variants.d.ts.map +0 -1
- package/dist/src/components/Calendar/Calendar.d.ts.map +0 -1
- package/dist/src/components/Calendar/calendar.types.d.ts.map +0 -1
- package/dist/src/components/Calendar/calendar.variants.d.ts.map +0 -1
- package/dist/src/components/Card/Card.d.ts.map +0 -1
- package/dist/src/components/Card/card.types.d.ts.map +0 -1
- package/dist/src/components/Checkbox/Checkbox.d.ts.map +0 -1
- package/dist/src/components/Checkbox/checkbox.types.d.ts.map +0 -1
- package/dist/src/components/Checkbox/checkbox.variants.d.ts.map +0 -1
- package/dist/src/components/Chip/Chip.d.ts.map +0 -1
- package/dist/src/components/Chip/chip.types.d.ts.map +0 -1
- package/dist/src/components/Chip/chip.variants.d.ts.map +0 -1
- package/dist/src/components/ConfirmDialog/ConfirmDialog.d.ts.map +0 -1
- package/dist/src/components/ConfirmDialog/confirmDialog.types.d.ts.map +0 -1
- package/dist/src/components/ConfirmDialog/confirmDialog.variants.d.ts.map +0 -1
- package/dist/src/components/Container/Container.d.ts.map +0 -1
- package/dist/src/components/Container/container.types.d.ts.map +0 -1
- package/dist/src/components/Container/container.variants.d.ts.map +0 -1
- package/dist/src/components/DataGrid/DataGrid.d.ts.map +0 -1
- package/dist/src/components/DataGrid/dataGrid.types.d.ts.map +0 -1
- package/dist/src/components/DataGrid/dataGrid.variants.d.ts.map +0 -1
- package/dist/src/components/DataGrid/filters/ColumnFilters.d.ts.map +0 -1
- package/dist/src/components/DataGrid/reorder/useColumnReorder.d.ts.map +0 -1
- package/dist/src/components/DataGrid/resize/useColumnResize.d.ts.map +0 -1
- package/dist/src/components/DataGrid/visibility/ColumnVisibilityMenu.d.ts.map +0 -1
- package/dist/src/components/DatePicker/DatePicker.d.ts.map +0 -1
- package/dist/src/components/DatePicker/datePicker.types.d.ts.map +0 -1
- package/dist/src/components/DatePicker/datePicker.variants.d.ts.map +0 -1
- package/dist/src/components/DateRangePicker/DateRangePicker.d.ts.map +0 -1
- package/dist/src/components/DateRangePicker/dateRangePicker.types.d.ts.map +0 -1
- package/dist/src/components/DateRangePicker/dateRangePicker.variants.d.ts.map +0 -1
- package/dist/src/components/DateTimePicker/DateTimePicker.d.ts.map +0 -1
- package/dist/src/components/DateTimePicker/dateTimePicker.types.d.ts.map +0 -1
- package/dist/src/components/DateTimePicker/dateTimePicker.variants.d.ts.map +0 -1
- package/dist/src/components/Dialog/Dialog.d.ts.map +0 -1
- package/dist/src/components/Dialog/dialog.types.d.ts.map +0 -1
- package/dist/src/components/Dialog/dialog.variants.d.ts.map +0 -1
- package/dist/src/components/Divider/Divider.d.ts.map +0 -1
- package/dist/src/components/Divider/divider.types.d.ts.map +0 -1
- package/dist/src/components/Divider/divider.variants.d.ts.map +0 -1
- package/dist/src/components/Drawer/Drawer.d.ts.map +0 -1
- package/dist/src/components/Drawer/drawer.types.d.ts.map +0 -1
- package/dist/src/components/Drawer/drawer.variants.d.ts.map +0 -1
- package/dist/src/components/Grid/Grid.d.ts.map +0 -1
- package/dist/src/components/Grid/grid.types.d.ts.map +0 -1
- package/dist/src/components/Grid/grid.variants.d.ts.map +0 -1
- package/dist/src/components/IconButton/IconButton.d.ts.map +0 -1
- package/dist/src/components/IconButton/iconButton.types.d.ts.map +0 -1
- package/dist/src/components/IconButton/iconButton.variants.d.ts.map +0 -1
- package/dist/src/components/Image/Image.d.ts.map +0 -1
- package/dist/src/components/Image/image.types.d.ts.map +0 -1
- package/dist/src/components/Image/image.variants.d.ts.map +0 -1
- package/dist/src/components/LeftNav/LeftNav.d.ts.map +0 -1
- package/dist/src/components/LeftNav/leftNav.types.d.ts.map +0 -1
- package/dist/src/components/LeftNav/leftNav.variants.d.ts.map +0 -1
- package/dist/src/components/Link/Link.d.ts.map +0 -1
- package/dist/src/components/Link/link.types.d.ts.map +0 -1
- package/dist/src/components/Link/link.variants.d.ts.map +0 -1
- package/dist/src/components/Menu/Menu.d.ts.map +0 -1
- package/dist/src/components/Menu/menu.types.d.ts.map +0 -1
- package/dist/src/components/Menu/menu.variants.d.ts.map +0 -1
- package/dist/src/components/NumberField/NumberField.d.ts.map +0 -1
- package/dist/src/components/NumberField/numberField.types.d.ts.map +0 -1
- package/dist/src/components/NumberField/numberField.variants.d.ts.map +0 -1
- package/dist/src/components/OTPField/OTPField.d.ts.map +0 -1
- package/dist/src/components/OTPField/otpField.types.d.ts.map +0 -1
- package/dist/src/components/OTPField/otpField.variants.d.ts.map +0 -1
- package/dist/src/components/Pagination/Pagination.d.ts.map +0 -1
- package/dist/src/components/Pagination/pagination.helpers.d.ts.map +0 -1
- package/dist/src/components/Pagination/pagination.types.d.ts.map +0 -1
- package/dist/src/components/Pagination/pagination.variants.d.ts.map +0 -1
- package/dist/src/components/Popover/Popover.d.ts.map +0 -1
- package/dist/src/components/Popover/popover.types.d.ts.map +0 -1
- package/dist/src/components/Popover/popover.variants.d.ts.map +0 -1
- package/dist/src/components/Progress/Progress.d.ts.map +0 -1
- package/dist/src/components/Progress/progress.types.d.ts.map +0 -1
- package/dist/src/components/Progress/progress.variants.d.ts.map +0 -1
- package/dist/src/components/RadioGroup/RadioGroup.d.ts.map +0 -1
- package/dist/src/components/RadioGroup/radioGroup.types.d.ts.map +0 -1
- package/dist/src/components/RadioGroup/radioGroup.variants.d.ts.map +0 -1
- package/dist/src/components/Select/Select.d.ts.map +0 -1
- package/dist/src/components/Select/select.types.d.ts.map +0 -1
- package/dist/src/components/Select/select.variants.d.ts.map +0 -1
- package/dist/src/components/Skeleton/Skeleton.d.ts.map +0 -1
- package/dist/src/components/Skeleton/skeleton.types.d.ts.map +0 -1
- package/dist/src/components/Skeleton/skeleton.variants.d.ts.map +0 -1
- package/dist/src/components/Slider/Slider.d.ts.map +0 -1
- package/dist/src/components/Slider/slider.types.d.ts.map +0 -1
- package/dist/src/components/Slider/slider.variants.d.ts.map +0 -1
- package/dist/src/components/Snackbar/Snackbar.d.ts.map +0 -1
- package/dist/src/components/Snackbar/snackbar.types.d.ts.map +0 -1
- package/dist/src/components/Snackbar/snackbar.variants.d.ts.map +0 -1
- package/dist/src/components/Spinner/Spinner.d.ts.map +0 -1
- package/dist/src/components/Spinner/spinner.types.d.ts.map +0 -1
- package/dist/src/components/Spinner/spinner.variants.d.ts.map +0 -1
- package/dist/src/components/Stack/Stack.d.ts.map +0 -1
- package/dist/src/components/Stack/stack.types.d.ts.map +0 -1
- package/dist/src/components/Stack/stack.variants.d.ts.map +0 -1
- package/dist/src/components/Stepper/Step.d.ts.map +0 -1
- package/dist/src/components/Stepper/Stepper.d.ts.map +0 -1
- package/dist/src/components/Stepper/StepperContext.d.ts.map +0 -1
- package/dist/src/components/Stepper/stepper.types.d.ts.map +0 -1
- package/dist/src/components/Stepper/stepper.variants.d.ts.map +0 -1
- package/dist/src/components/Stepper/useStep.d.ts.map +0 -1
- package/dist/src/components/Switch/Switch.d.ts.map +0 -1
- package/dist/src/components/Switch/switch.types.d.ts.map +0 -1
- package/dist/src/components/Switch/switch.variants.d.ts.map +0 -1
- package/dist/src/components/Table/Table.d.ts.map +0 -1
- package/dist/src/components/Table/cells/RenderButton.d.ts.map +0 -1
- package/dist/src/components/Table/cells/RenderChip.d.ts.map +0 -1
- package/dist/src/components/Table/cells/RenderText.d.ts.map +0 -1
- package/dist/src/components/Table/cells/RenderTwoLine.d.ts.map +0 -1
- package/dist/src/components/Table/cells/RowActionsMenu.d.ts.map +0 -1
- package/dist/src/components/Table/cells/index.d.ts.map +0 -1
- package/dist/src/components/Table/table.types.d.ts.map +0 -1
- package/dist/src/components/Table/table.variants.d.ts.map +0 -1
- package/dist/src/components/Tabs/Tabs.d.ts.map +0 -1
- package/dist/src/components/Tabs/tabs.types.d.ts.map +0 -1
- package/dist/src/components/Tabs/tabs.variants.d.ts.map +0 -1
- package/dist/src/components/Tabs/useTabs.d.ts.map +0 -1
- package/dist/src/components/TextField/TextField.d.ts.map +0 -1
- package/dist/src/components/TextField/textField.types.d.ts.map +0 -1
- package/dist/src/components/TextField/textField.variants.d.ts.map +0 -1
- package/dist/src/components/Textarea/Textarea.d.ts.map +0 -1
- package/dist/src/components/Textarea/textarea.types.d.ts.map +0 -1
- package/dist/src/components/Textarea/textarea.variants.d.ts.map +0 -1
- package/dist/src/components/TimePicker/TimePicker.d.ts.map +0 -1
- package/dist/src/components/TimePicker/timePicker.types.d.ts.map +0 -1
- package/dist/src/components/TimePicker/timePicker.variants.d.ts.map +0 -1
- package/dist/src/components/Tooltip/Tooltip.d.ts.map +0 -1
- package/dist/src/components/Tooltip/tooltip.types.d.ts.map +0 -1
- package/dist/src/components/Tooltip/tooltip.variants.d.ts.map +0 -1
- package/dist/src/components/TopBar/TopBar.d.ts.map +0 -1
- package/dist/src/components/TopBar/topBar.types.d.ts +0 -73
- package/dist/src/components/TopBar/topBar.types.d.ts.map +0 -1
- package/dist/src/components/TopBar/topBar.variants.d.ts +0 -79
- package/dist/src/components/TopBar/topBar.variants.d.ts.map +0 -1
- package/dist/src/components/Typography/Typography.d.ts.map +0 -1
- package/dist/src/components/Typography/typography.types.d.ts.map +0 -1
- package/dist/src/components/Typography/typography.variants.d.ts.map +0 -1
- package/dist/src/components/Video/Video.d.ts.map +0 -1
- package/dist/src/components/Video/video.types.d.ts.map +0 -1
- package/dist/src/components/Video/video.variants.d.ts.map +0 -1
- package/dist/src/components/VisuallyHidden/VisuallyHidden.d.ts.map +0 -1
- package/dist/src/components/VisuallyHidden/visuallyHidden.types.d.ts.map +0 -1
- package/dist/src/components/_shared/data/getNestedValue.d.ts.map +0 -1
- package/dist/src/components/_shared/data/useColumnAutoDetect.d.ts.map +0 -1
- package/dist/src/components/_shared/data/useControllableState.d.ts.map +0 -1
- package/dist/src/components/_shared/data/useDebouncedValue.d.ts.map +0 -1
- package/dist/src/components/_shared/data/useTableFilter.d.ts.map +0 -1
- package/dist/src/components/_shared/data/useTableSearch.d.ts.map +0 -1
- package/dist/src/components/_shared/data/useTableSelection.d.ts.map +0 -1
- package/dist/src/components/_shared/data/useTableSort.d.ts.map +0 -1
- package/dist/src/components/_shared/data/useVirtualizer.d.ts.map +0 -1
- package/dist/src/components/_shared/fieldTooltip.d.ts.map +0 -1
- package/dist/src/components/_shared/resolveValidationState.d.ts.map +0 -1
- package/dist/src/components/_shared/severity/index.d.ts.map +0 -1
- package/dist/src/components/_shared/severity/severity.types.d.ts.map +0 -1
- package/dist/src/components/_shared/severity/severityIcons.d.ts.map +0 -1
- package/dist/src/components/_shared/severity/severityVariants.d.ts.map +0 -1
- package/dist/src/hooks/useAccessState.d.ts.map +0 -1
- package/dist/src/hooks/useStandaloneFieldWarning.d.ts.map +0 -1
- package/dist/src/index.d.ts +0 -199
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/utils/cn.d.ts.map +0 -1
- /package/dist/{src/components → components}/Accordion/Accordion.d.ts +0 -0
- /package/dist/{src/components → components}/Accordion/accordion.types.d.ts +0 -0
- /package/dist/{src/components → components}/Alert/Alert.d.ts +0 -0
- /package/dist/{src/components → components}/Alert/alert.types.d.ts +0 -0
- /package/dist/{src/components → components}/Alert/alert.variants.d.ts +0 -0
- /package/dist/{src/components → components}/AppShell/AppShell.d.ts +0 -0
- /package/dist/{src/components → components}/AspectRatio/AspectRatio.d.ts +0 -0
- /package/dist/{src/components → components}/AspectRatio/aspectRatio.types.d.ts +0 -0
- /package/dist/{src/components → components}/Autocomplete/Autocomplete.d.ts +0 -0
- /package/dist/{src/components → components}/Autocomplete/autocomplete.props.type-test.d.ts +0 -0
- /package/dist/{src/components → components}/Autocomplete/autocomplete.types.d.ts +0 -0
- /package/dist/{src/components → components}/Autocomplete/autocomplete.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Avatar/Avatar.d.ts +0 -0
- /package/dist/{src/components → components}/Avatar/avatar.types.d.ts +0 -0
- /package/dist/{src/components → components}/Avatar/avatar.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Badge/Badge.d.ts +0 -0
- /package/dist/{src/components → components}/Badge/badge.types.d.ts +0 -0
- /package/dist/{src/components → components}/Badge/badge.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Box/Box.d.ts +0 -0
- /package/dist/{src/components → components}/Breadcrumbs/Breadcrumbs.d.ts +0 -0
- /package/dist/{src/components → components}/Breadcrumbs/breadcrumbs.types.d.ts +0 -0
- /package/dist/{src/components → components}/Breadcrumbs/breadcrumbs.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Button/Button.d.ts +0 -0
- /package/dist/{src/components → components}/Calendar/Calendar.d.ts +0 -0
- /package/dist/{src/components → components}/Calendar/calendar.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Card/Card.d.ts +0 -0
- /package/dist/{src/components → components}/Card/card.types.d.ts +0 -0
- /package/dist/{src/components → components}/Checkbox/Checkbox.d.ts +0 -0
- /package/dist/{src/components → components}/Checkbox/checkbox.types.d.ts +0 -0
- /package/dist/{src/components → components}/Checkbox/checkbox.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Chip/Chip.d.ts +0 -0
- /package/dist/{src/components → components}/ConfirmDialog/ConfirmDialog.d.ts +0 -0
- /package/dist/{src/components → components}/ConfirmDialog/confirmDialog.types.d.ts +0 -0
- /package/dist/{src/components → components}/ConfirmDialog/confirmDialog.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Container/Container.d.ts +0 -0
- /package/dist/{src/components → components}/Container/container.types.d.ts +0 -0
- /package/dist/{src/components → components}/Container/container.variants.d.ts +0 -0
- /package/dist/{src/components → components}/DataGrid/DataGrid.d.ts +0 -0
- /package/dist/{src/components → components}/DataGrid/dataGrid.types.d.ts +0 -0
- /package/dist/{src/components → components}/DataGrid/dataGrid.variants.d.ts +0 -0
- /package/dist/{src/components → components}/DataGrid/filters/ColumnFilters.d.ts +0 -0
- /package/dist/{src/components → components}/DataGrid/reorder/useColumnReorder.d.ts +0 -0
- /package/dist/{src/components → components}/DataGrid/resize/useColumnResize.d.ts +0 -0
- /package/dist/{src/components → components}/DataGrid/visibility/ColumnVisibilityMenu.d.ts +0 -0
- /package/dist/{src/components → components}/DatePicker/DatePicker.d.ts +0 -0
- /package/dist/{src/components → components}/DatePicker/datePicker.types.d.ts +0 -0
- /package/dist/{src/components → components}/DatePicker/datePicker.variants.d.ts +0 -0
- /package/dist/{src/components → components}/DateRangePicker/DateRangePicker.d.ts +0 -0
- /package/dist/{src/components → components}/DateRangePicker/dateRangePicker.types.d.ts +0 -0
- /package/dist/{src/components → components}/DateRangePicker/dateRangePicker.variants.d.ts +0 -0
- /package/dist/{src/components → components}/DateTimePicker/DateTimePicker.d.ts +0 -0
- /package/dist/{src/components → components}/DateTimePicker/dateTimePicker.types.d.ts +0 -0
- /package/dist/{src/components → components}/DateTimePicker/dateTimePicker.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Dialog/Dialog.d.ts +0 -0
- /package/dist/{src/components → components}/Dialog/dialog.types.d.ts +0 -0
- /package/dist/{src/components → components}/Dialog/dialog.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Divider/Divider.d.ts +0 -0
- /package/dist/{src/components → components}/Divider/divider.types.d.ts +0 -0
- /package/dist/{src/components → components}/Divider/divider.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Drawer/Drawer.d.ts +0 -0
- /package/dist/{src/components → components}/Drawer/drawer.types.d.ts +0 -0
- /package/dist/{src/components → components}/Drawer/drawer.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Grid/Grid.d.ts +0 -0
- /package/dist/{src/components → components}/Grid/grid.variants.d.ts +0 -0
- /package/dist/{src/components → components}/IconButton/IconButton.d.ts +0 -0
- /package/dist/{src/components → components}/IconButton/iconButton.types.d.ts +0 -0
- /package/dist/{src/components → components}/IconButton/iconButton.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Image/Image.d.ts +0 -0
- /package/dist/{src/components → components}/Image/image.types.d.ts +0 -0
- /package/dist/{src/components → components}/Image/image.variants.d.ts +0 -0
- /package/dist/{src/components → components}/LeftNav/LeftNav.d.ts +0 -0
- /package/dist/{src/components → components}/LeftNav/leftNav.types.d.ts +0 -0
- /package/dist/{src/components → components}/LeftNav/leftNav.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Link/Link.d.ts +0 -0
- /package/dist/{src/components → components}/Link/link.types.d.ts +0 -0
- /package/dist/{src/components → components}/Link/link.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Menu/Menu.d.ts +0 -0
- /package/dist/{src/components → components}/Menu/menu.types.d.ts +0 -0
- /package/dist/{src/components → components}/Menu/menu.variants.d.ts +0 -0
- /package/dist/{src/components → components}/NumberField/NumberField.d.ts +0 -0
- /package/dist/{src/components → components}/NumberField/numberField.types.d.ts +0 -0
- /package/dist/{src/components → components}/NumberField/numberField.variants.d.ts +0 -0
- /package/dist/{src/components → components}/OTPField/OTPField.d.ts +0 -0
- /package/dist/{src/components → components}/OTPField/otpField.types.d.ts +0 -0
- /package/dist/{src/components → components}/OTPField/otpField.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Pagination/Pagination.d.ts +0 -0
- /package/dist/{src/components → components}/Pagination/pagination.helpers.d.ts +0 -0
- /package/dist/{src/components → components}/Pagination/pagination.types.d.ts +0 -0
- /package/dist/{src/components → components}/Pagination/pagination.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Popover/Popover.d.ts +0 -0
- /package/dist/{src/components → components}/Popover/popover.types.d.ts +0 -0
- /package/dist/{src/components → components}/Popover/popover.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Progress/Progress.d.ts +0 -0
- /package/dist/{src/components → components}/Progress/progress.types.d.ts +0 -0
- /package/dist/{src/components → components}/Progress/progress.variants.d.ts +0 -0
- /package/dist/{src/components → components}/RadioGroup/RadioGroup.d.ts +0 -0
- /package/dist/{src/components → components}/RadioGroup/radioGroup.types.d.ts +0 -0
- /package/dist/{src/components → components}/RadioGroup/radioGroup.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Select/select.types.d.ts +0 -0
- /package/dist/{src/components → components}/Select/select.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Skeleton/Skeleton.d.ts +0 -0
- /package/dist/{src/components → components}/Skeleton/skeleton.types.d.ts +0 -0
- /package/dist/{src/components → components}/Skeleton/skeleton.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Slider/slider.types.d.ts +0 -0
- /package/dist/{src/components → components}/Slider/slider.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Snackbar/Snackbar.d.ts +0 -0
- /package/dist/{src/components → components}/Snackbar/snackbar.types.d.ts +0 -0
- /package/dist/{src/components → components}/Snackbar/snackbar.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Spinner/Spinner.d.ts +0 -0
- /package/dist/{src/components → components}/Spinner/spinner.types.d.ts +0 -0
- /package/dist/{src/components → components}/Spinner/spinner.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Stack/Stack.d.ts +0 -0
- /package/dist/{src/components → components}/Stepper/Step.d.ts +0 -0
- /package/dist/{src/components → components}/Stepper/Stepper.d.ts +0 -0
- /package/dist/{src/components → components}/Stepper/StepperContext.d.ts +0 -0
- /package/dist/{src/components → components}/Stepper/stepper.types.d.ts +0 -0
- /package/dist/{src/components → components}/Stepper/stepper.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Stepper/useStep.d.ts +0 -0
- /package/dist/{src/components → components}/Switch/Switch.d.ts +0 -0
- /package/dist/{src/components → components}/Switch/switch.types.d.ts +0 -0
- /package/dist/{src/components → components}/Switch/switch.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Table/Table.d.ts +0 -0
- /package/dist/{src/components → components}/Table/cells/RenderButton.d.ts +0 -0
- /package/dist/{src/components → components}/Table/cells/RenderChip.d.ts +0 -0
- /package/dist/{src/components → components}/Table/cells/RenderText.d.ts +0 -0
- /package/dist/{src/components → components}/Table/cells/RenderTwoLine.d.ts +0 -0
- /package/dist/{src/components → components}/Table/cells/RowActionsMenu.d.ts +0 -0
- /package/dist/{src/components → components}/Table/cells/index.d.ts +0 -0
- /package/dist/{src/components → components}/Table/table.types.d.ts +0 -0
- /package/dist/{src/components → components}/Table/table.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Tabs/Tabs.d.ts +0 -0
- /package/dist/{src/components → components}/Tabs/tabs.types.d.ts +0 -0
- /package/dist/{src/components → components}/Tabs/tabs.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Tabs/useTabs.d.ts +0 -0
- /package/dist/{src/components → components}/TextField/TextField.d.ts +0 -0
- /package/dist/{src/components → components}/TextField/textField.types.d.ts +0 -0
- /package/dist/{src/components → components}/TextField/textField.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Textarea/Textarea.d.ts +0 -0
- /package/dist/{src/components → components}/Textarea/textarea.types.d.ts +0 -0
- /package/dist/{src/components → components}/Textarea/textarea.variants.d.ts +0 -0
- /package/dist/{src/components → components}/TimePicker/TimePicker.d.ts +0 -0
- /package/dist/{src/components → components}/TimePicker/timePicker.types.d.ts +0 -0
- /package/dist/{src/components → components}/TimePicker/timePicker.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Tooltip/Tooltip.d.ts +0 -0
- /package/dist/{src/components → components}/Tooltip/tooltip.types.d.ts +0 -0
- /package/dist/{src/components → components}/Tooltip/tooltip.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Typography/Typography.d.ts +0 -0
- /package/dist/{src/components → components}/Typography/typography.types.d.ts +0 -0
- /package/dist/{src/components → components}/Typography/typography.variants.d.ts +0 -0
- /package/dist/{src/components → components}/Video/Video.d.ts +0 -0
- /package/dist/{src/components → components}/Video/video.types.d.ts +0 -0
- /package/dist/{src/components → components}/Video/video.variants.d.ts +0 -0
- /package/dist/{src/components → components}/VisuallyHidden/VisuallyHidden.d.ts +0 -0
- /package/dist/{src/components → components}/VisuallyHidden/visuallyHidden.types.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/data/getNestedValue.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/data/useColumnAutoDetect.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/data/useControllableState.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/data/useDebouncedValue.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/data/useTableFilter.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/data/useTableSearch.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/data/useTableSelection.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/data/useTableSort.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/data/useVirtualizer.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/fieldTooltip.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/resolveValidationState.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/severity/index.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/severity/severity.types.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/severity/severityIcons.d.ts +0 -0
- /package/dist/{src/components → components}/_shared/severity/severityVariants.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useAccessState.d.ts +0 -0
- /package/dist/{src/hooks → hooks}/useStandaloneFieldWarning.d.ts +0 -0
- /package/dist/{src/utils → utils}/cn.d.ts +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -12,6 +12,148 @@ This project follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
12
12
|
> duplicated intentionally — no shared "lowest common denominator" headless
|
|
13
13
|
> layer.
|
|
14
14
|
|
|
15
|
+
## [2.0.0] — 2026-09-28
|
|
16
|
+
|
|
17
|
+
**Every `@dashforge/*` package moves to `2.0.0` together.** Internal
|
|
18
|
+
dependencies are declared with `workspace:*`, which pnpm rewrites at pack
|
|
19
|
+
time to the EXACT sibling version, so a mixed 1.x / 2.0.0 install will not
|
|
20
|
+
resolve. Upgrade them in the same step.
|
|
21
|
+
|
|
22
|
+
See [MIGRATION-2.0.md](https://github.com/kensaadi/dashforge/blob/main/libs/dashforge/MIGRATION-2.0.md) for every breaking change with
|
|
23
|
+
a before and after.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- **BREAKING. `<Select>`'s trigger ref is `HTMLDivElement`, not
|
|
28
|
+
`HTMLButtonElement`** (BUG 23). `<Select multiple>` nested a `<button>`
|
|
29
|
+
inside the trigger button, which is invalid HTML and, worse, silently
|
|
30
|
+
strips the inner control from the accessibility tree: `role="button"`
|
|
31
|
+
makes its descendants presentational, so the delete control existed for
|
|
32
|
+
a mouse and not for a screen reader. The trigger is now a
|
|
33
|
+
`div role="combobox"` with an explicit `tabIndex`. The `name` prop is
|
|
34
|
+
untouched and still keys react-hook-form.
|
|
35
|
+
|
|
36
|
+
- **BREAKING. `<Slider>`'s ref is `HTMLDivElement`, not
|
|
37
|
+
`HTMLSpanElement`, and it now actually arrives** (BUG 39). The component
|
|
38
|
+
was wrapped in `forwardRef`, named the parameter, and never attached it,
|
|
39
|
+
so `ref.current` stayed `null` forever with no type error and no
|
|
40
|
+
warning. The declared element type was wrong in the same breath: a
|
|
41
|
+
`span` over a `div` root.
|
|
42
|
+
|
|
43
|
+
- **BREAKING. `<AppShell>` defaults to `layout="viewport"`**, which
|
|
44
|
+
changes which element scrolls (BUG 27). `min-h-screen` on the root made
|
|
45
|
+
`main`'s scroller dead code, so the window scrolled and the header, nav
|
|
46
|
+
and footer scrolled away with it. Pass `layout="page"` for the old
|
|
47
|
+
behaviour.
|
|
48
|
+
|
|
49
|
+
- **BREAKING. `<Chip>`'s clickable root is a `div role="button"`**
|
|
50
|
+
(BUG 35), for the same reason as `<Select>`: a chip that was both
|
|
51
|
+
clickable and deletable nested a button in a button.
|
|
52
|
+
|
|
53
|
+
- **BREAKING. `<Divider orientation="vertical">` no longer spans the
|
|
54
|
+
container width** (BUG 25). It came out `w-full`, so in a nowrap row it
|
|
55
|
+
squeezed its siblings and with wrap it pushed every group onto its own
|
|
56
|
+
line.
|
|
57
|
+
|
|
58
|
+
- **BREAKING. `<TopBar>`'s `start` slot can shrink** (BUG 42). It carried
|
|
59
|
+
`min-w-0` and `shrink-0` together, which cancel: the first exists to let
|
|
60
|
+
an item shrink, the second forbids it. A long brand kept its full width
|
|
61
|
+
and pushed `center` and `end` out of the bar.
|
|
62
|
+
|
|
63
|
+
- **`<Chip variant="outline" color="neutral">`'s border moved from
|
|
64
|
+
`neutral-300` to `neutral-500`** (BUG 40). At 1.42:1 light and 1.91:1
|
|
65
|
+
dark it failed WCAG 1.4.11, and an outline chip IS its border. It was
|
|
66
|
+
also the only colour row at `-300` while the other six sat at `-500`.
|
|
67
|
+
|
|
68
|
+
- **`<Stack divider>` supplies the orientation you did not choose**
|
|
69
|
+
(BUG 41). A `<Divider>` defaults to horizontal, which is `h-0 w-full`:
|
|
70
|
+
in a row that is nothing to see plus a claim on the whole width, so the
|
|
71
|
+
items were squeezed rather than separated. An explicit `orientation`
|
|
72
|
+
still wins, and a divider that is not ours is passed through untouched.
|
|
73
|
+
|
|
74
|
+
### Added
|
|
75
|
+
|
|
76
|
+
- **`<Button color="inverse">`** for surfaces that are dark whatever the
|
|
77
|
+
theme does. Reads the theme-invariant `inverse` role.
|
|
78
|
+
|
|
79
|
+
- **`<Button pressed>`**, a toggle state. The ARIA is opt-in: omit the
|
|
80
|
+
prop and nothing is emitted, not even `aria-pressed="false"`, because
|
|
81
|
+
announcing "not pressed" on an ordinary action would make every plain
|
|
82
|
+
button in the catalog lie. The "on" look is LeftNav's active-row
|
|
83
|
+
treatment rather than something invented; `solid` deepens to its own
|
|
84
|
+
`active:` tier; `link` gets the ARIA and no paint.
|
|
85
|
+
|
|
86
|
+
- **`access` and `visibleWhen` on `<Stack>` and `<Grid>`**, for parity
|
|
87
|
+
with `<Box>`. A consumer passing neither gets byte-identical output.
|
|
88
|
+
|
|
89
|
+
- **`<Box borderStyle>`** (`solid | dashed | dotted | double`), orthogonal
|
|
90
|
+
to `variant`: a `soft` box can be dashed.
|
|
91
|
+
|
|
92
|
+
- **`<Chip draggable>`**, plus `onDragStart` and `onDragEnd`. Native HTML5
|
|
93
|
+
drag-and-drop, so no dnd dependency is pulled in and the `dataTransfer`
|
|
94
|
+
payload stays yours. **A drag is a pointer gesture**: native DnD is not
|
|
95
|
+
keyboard operable, so pair it with an `onClick` that does the same thing
|
|
96
|
+
or the palette fails WCAG 2.1.1 in your app.
|
|
97
|
+
|
|
98
|
+
- **`<Kbd>`**, a keycap. Renders the semantic `<kbd>` element, which is
|
|
99
|
+
the only reason it needs to exist. Chords compose rather than taking a
|
|
100
|
+
`keys` array.
|
|
101
|
+
|
|
102
|
+
- **`<TopBarBrand>`**, the mark-plus-text block for a `<TopBar>`'s `start`
|
|
103
|
+
slot. A sibling export rather than `TopBar.Brand`, matching this
|
|
104
|
+
catalog's convention. Layout only: a brand that navigates home is a link
|
|
105
|
+
wrapped around it.
|
|
106
|
+
|
|
107
|
+
- **`<Calendar showSiblingDays>`** and **`slotProps.day` as a function of
|
|
108
|
+
the day's state**. The flat object form still type-checks.
|
|
109
|
+
|
|
110
|
+
- **`<Stack>` warns in development** on `direction="column"` and on
|
|
111
|
+
`spacing`, naming the value, the accepted set and the likely intent.
|
|
112
|
+
`spacing` is also pulled out of the spread so it cannot land on the DOM
|
|
113
|
+
as an unknown attribute. Accepting both spellings was the alternative
|
|
114
|
+
and was not taken: a second name for one axis is a fork every consumer,
|
|
115
|
+
theme default and doc example has to pick a side of, forever.
|
|
116
|
+
|
|
117
|
+
### Fixed
|
|
118
|
+
|
|
119
|
+
- **A selectable sibling-month day in `<Calendar>` failed WCAG contrast**
|
|
120
|
+
(BUG 31): 2.42:1 light and 2.53:1 dark, where the floor for an active
|
|
121
|
+
control's text at 14px is 4.5:1. `neutral-500` clears light and fails
|
|
122
|
+
dark, because it is the pivot of the scale and stays rgb(115,115,115) in
|
|
123
|
+
both themes, so the fix is `neutral-600`.
|
|
124
|
+
|
|
125
|
+
- **Bare `rounded` ignored the radius tokens** (BUG 26), in ten places
|
|
126
|
+
across eight components. The preset extends `borderRadius` and defines
|
|
127
|
+
no `DEFAULT`, so the bare utility keeps Tailwind's hard-coded 0.25rem
|
|
128
|
+
and is immune to the scale by construction. Bare `shadow` is NOT the
|
|
129
|
+
same case and was left alone.
|
|
130
|
+
|
|
131
|
+
- **`<Dialog>` and `<Drawer>` ringed the close button on `:focus`**
|
|
132
|
+
rather than `:focus-visible`, so it lit up on every mouse click
|
|
133
|
+
(BUG 28).
|
|
134
|
+
|
|
135
|
+
- **Radix's hidden input escaped to the `body`** and lengthened the page
|
|
136
|
+
(BUG 36).
|
|
137
|
+
|
|
138
|
+
- **`<Drawer>` sat on MUI's z ladder**, so a `<Dialog>` opened from inside
|
|
139
|
+
it rendered behind (BUG 37).
|
|
140
|
+
|
|
141
|
+
- Eighteen hard-coded font sizes moved onto the new `2xs` token tier, with
|
|
142
|
+
catalog-wide guards against hard-coded colour, shadow and font size, off
|
|
143
|
+
the shared z ladder, and ungated motion.
|
|
144
|
+
|
|
145
|
+
### Fixed (build)
|
|
146
|
+
|
|
147
|
+
- **A clean checkout could not be built.** `tsBuildInfoFile` sat outside
|
|
148
|
+
`dist`, so deleting `dist` left a valid incremental cache describing
|
|
149
|
+
declarations that no longer existed: `tsc --build` emitted nothing and
|
|
150
|
+
dependents failed with `TS6305`.
|
|
151
|
+
|
|
152
|
+
- **Declaration output is deterministic**, and the published tarball
|
|
153
|
+
dropped from 394 files to 200. Two build steps were writing the same
|
|
154
|
+
declarations in two layouts, and whichever ran last decided what
|
|
155
|
+
shipped.
|
|
156
|
+
|
|
15
157
|
## [1.7.1] — 2026-09-25
|
|
16
158
|
|
|
17
159
|
Patch: closes the half of BUG 17 that never reached this package.
|
|
@@ -3,10 +3,10 @@ export declare const accordionVariants: import("tailwind-variants").TVReturnType
|
|
|
3
3
|
[key: string]: {
|
|
4
4
|
[key: string]: import("tailwind-merge").ClassNameValue | {
|
|
5
5
|
content?: import("tailwind-merge").ClassNameValue;
|
|
6
|
+
header?: import("tailwind-merge").ClassNameValue;
|
|
6
7
|
root?: import("tailwind-merge").ClassNameValue;
|
|
7
8
|
trigger?: import("tailwind-merge").ClassNameValue;
|
|
8
9
|
item?: import("tailwind-merge").ClassNameValue;
|
|
9
|
-
header?: import("tailwind-merge").ClassNameValue;
|
|
10
10
|
chevron?: import("tailwind-merge").ClassNameValue;
|
|
11
11
|
};
|
|
12
12
|
};
|
|
@@ -14,10 +14,10 @@ export declare const accordionVariants: import("tailwind-variants").TVReturnType
|
|
|
14
14
|
[x: string]: {
|
|
15
15
|
[x: string]: import("tailwind-merge").ClassNameValue | {
|
|
16
16
|
content?: import("tailwind-merge").ClassNameValue;
|
|
17
|
+
header?: import("tailwind-merge").ClassNameValue;
|
|
17
18
|
root?: import("tailwind-merge").ClassNameValue;
|
|
18
19
|
trigger?: import("tailwind-merge").ClassNameValue;
|
|
19
20
|
item?: import("tailwind-merge").ClassNameValue;
|
|
20
|
-
header?: import("tailwind-merge").ClassNameValue;
|
|
21
21
|
chevron?: import("tailwind-merge").ClassNameValue;
|
|
22
22
|
};
|
|
23
23
|
};
|
|
@@ -32,10 +32,10 @@ export declare const accordionVariants: import("tailwind-variants").TVReturnType
|
|
|
32
32
|
[key: string]: {
|
|
33
33
|
[key: string]: import("tailwind-merge").ClassNameValue | {
|
|
34
34
|
content?: import("tailwind-merge").ClassNameValue;
|
|
35
|
+
header?: import("tailwind-merge").ClassNameValue;
|
|
35
36
|
root?: import("tailwind-merge").ClassNameValue;
|
|
36
37
|
trigger?: import("tailwind-merge").ClassNameValue;
|
|
37
38
|
item?: import("tailwind-merge").ClassNameValue;
|
|
38
|
-
header?: import("tailwind-merge").ClassNameValue;
|
|
39
39
|
chevron?: import("tailwind-merge").ClassNameValue;
|
|
40
40
|
};
|
|
41
41
|
};
|
|
@@ -62,6 +62,14 @@ export interface AppShellProps extends AppShellVariants {
|
|
|
62
62
|
declare module '@dashforge/tw-tokens' {
|
|
63
63
|
interface TWComponentDefaults {
|
|
64
64
|
AppShell?: {
|
|
65
|
+
/**
|
|
66
|
+
* Theme-level variant defaults, same shape as every other component
|
|
67
|
+
* in the catalog. AppShell carried only `slotProps` until the
|
|
68
|
+
* `layout` axis landed (BUG 27), at which point the new axis could
|
|
69
|
+
* be set per instance but not once for the app, which is backwards
|
|
70
|
+
* for a shell.
|
|
71
|
+
*/
|
|
72
|
+
defaults?: Partial<AppShellVariants>;
|
|
65
73
|
slotProps?: AppShellSlotProps;
|
|
66
74
|
};
|
|
67
75
|
}
|
|
@@ -3,16 +3,33 @@ import { type VariantProps } from 'tailwind-variants';
|
|
|
3
3
|
* Tailwind-variants recipe for `<AppShell>`.
|
|
4
4
|
*
|
|
5
5
|
* Slots:
|
|
6
|
-
* - `root` — outer flex column
|
|
6
|
+
* - `root` — outer flex column
|
|
7
7
|
* - `header` — top region
|
|
8
8
|
* - `body` — flex row holding nav + main
|
|
9
9
|
* - `nav` — desktop nav rail (md+)
|
|
10
10
|
* - `navMobile` — mobile drawer (slide-in)
|
|
11
|
-
* - `main` —
|
|
11
|
+
* - `main` — content area
|
|
12
12
|
* - `footer` — bottom region
|
|
13
13
|
* - `backdrop` — semi-opaque overlay behind the mobile drawer
|
|
14
|
+
*
|
|
15
|
+
* Which element scrolls is decided by the `layout` axis, NOT by the
|
|
16
|
+
* slots. Before BUG 27 it was decided by neither: `root` carried
|
|
17
|
+
* `min-h-screen` while `main` carried `overflow-y-auto`, which describe
|
|
18
|
+
* two different layouts, and `min-h-screen` won. The root grew with the
|
|
19
|
+
* content, the window scrolled, and `main` never overflowed, so its
|
|
20
|
+
* `overflow-y-auto` was dead on every page long enough to need it.
|
|
14
21
|
*/
|
|
15
22
|
export declare const appShellVariants: import("tailwind-variants").TVReturnType<{
|
|
23
|
+
layout: {
|
|
24
|
+
viewport: {
|
|
25
|
+
root: string;
|
|
26
|
+
nav: string;
|
|
27
|
+
main: string;
|
|
28
|
+
};
|
|
29
|
+
page: {
|
|
30
|
+
root: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
16
33
|
navOpen: {
|
|
17
34
|
true: {
|
|
18
35
|
navMobile: string;
|
|
@@ -29,6 +46,16 @@ export declare const appShellVariants: import("tailwind-variants").TVReturnType<
|
|
|
29
46
|
footer: string;
|
|
30
47
|
backdrop: string[];
|
|
31
48
|
}, undefined, {
|
|
49
|
+
layout: {
|
|
50
|
+
viewport: {
|
|
51
|
+
root: string;
|
|
52
|
+
nav: string;
|
|
53
|
+
main: string;
|
|
54
|
+
};
|
|
55
|
+
page: {
|
|
56
|
+
root: string;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
32
59
|
navOpen: {
|
|
33
60
|
true: {
|
|
34
61
|
navMobile: string;
|
|
@@ -45,6 +72,16 @@ export declare const appShellVariants: import("tailwind-variants").TVReturnType<
|
|
|
45
72
|
footer: string;
|
|
46
73
|
backdrop: string[];
|
|
47
74
|
}, import("tailwind-variants").TVReturnType<{
|
|
75
|
+
layout: {
|
|
76
|
+
viewport: {
|
|
77
|
+
root: string;
|
|
78
|
+
nav: string;
|
|
79
|
+
main: string;
|
|
80
|
+
};
|
|
81
|
+
page: {
|
|
82
|
+
root: string;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
48
85
|
navOpen: {
|
|
49
86
|
true: {
|
|
50
87
|
navMobile: string;
|
|
@@ -12,7 +12,7 @@ import type { BoxVariants } from './box.variants.js';
|
|
|
12
12
|
* a layout choice, not a component identity, and would encourage
|
|
13
13
|
* antipattern global-margin/padding overrides.
|
|
14
14
|
*/
|
|
15
|
-
export type BoxVariantProps = Pick<BoxVariants, 'variant' | 'color' | 'elevation' | 'rounded' | 'fullWidth' | 'fullHeight'>;
|
|
15
|
+
export type BoxVariantProps = Pick<BoxVariants, 'variant' | 'color' | 'elevation' | 'rounded' | 'borderStyle' | 'fullWidth' | 'fullHeight'>;
|
|
16
16
|
declare module '@dashforge/tw-tokens' {
|
|
17
17
|
interface TWComponentDefaults {
|
|
18
18
|
Box?: {
|
|
@@ -66,6 +66,24 @@ export interface BoxProps extends Omit<HTMLAttributes<HTMLDivElement>, 'classNam
|
|
|
66
66
|
* Border-radius identity.
|
|
67
67
|
* @default 'none'
|
|
68
68
|
*/
|
|
69
|
+
/**
|
|
70
|
+
* Border style, for wireframe and placeholder surfaces (a dashed drop
|
|
71
|
+
* target, a dotted "empty state" frame).
|
|
72
|
+
*
|
|
73
|
+
* Only renders where a border-width already exists: pair it with
|
|
74
|
+
* `variant="outlined"`, which sets one. On `plain` / `elevated` there
|
|
75
|
+
* is no border for the style to apply to.
|
|
76
|
+
*
|
|
77
|
+
* @default undefined (Tailwind's own `solid` applies)
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```tsx
|
|
81
|
+
* <Box variant="outlined" borderStyle="dashed" rounded="lg" p={4}>
|
|
82
|
+
* Drop a file here
|
|
83
|
+
* </Box>
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
borderStyle?: BoxVariants['borderStyle'];
|
|
69
87
|
rounded?: BoxVariants['rounded'];
|
|
70
88
|
/** Uniform padding — spacing token step. */
|
|
71
89
|
p?: BoxVariants['p'];
|
|
@@ -68,6 +68,12 @@ export declare const boxVariants: import("tailwind-variants").TVReturnType<{
|
|
|
68
68
|
4: string;
|
|
69
69
|
5: string;
|
|
70
70
|
};
|
|
71
|
+
borderStyle: {
|
|
72
|
+
solid: string;
|
|
73
|
+
dashed: string;
|
|
74
|
+
dotted: string;
|
|
75
|
+
double: string;
|
|
76
|
+
};
|
|
71
77
|
rounded: {
|
|
72
78
|
none: string;
|
|
73
79
|
sm: string;
|
|
@@ -186,6 +192,12 @@ export declare const boxVariants: import("tailwind-variants").TVReturnType<{
|
|
|
186
192
|
4: string;
|
|
187
193
|
5: string;
|
|
188
194
|
};
|
|
195
|
+
borderStyle: {
|
|
196
|
+
solid: string;
|
|
197
|
+
dashed: string;
|
|
198
|
+
dotted: string;
|
|
199
|
+
double: string;
|
|
200
|
+
};
|
|
189
201
|
rounded: {
|
|
190
202
|
none: string;
|
|
191
203
|
sm: string;
|
|
@@ -304,6 +316,12 @@ export declare const boxVariants: import("tailwind-variants").TVReturnType<{
|
|
|
304
316
|
4: string;
|
|
305
317
|
5: string;
|
|
306
318
|
};
|
|
319
|
+
borderStyle: {
|
|
320
|
+
solid: string;
|
|
321
|
+
dashed: string;
|
|
322
|
+
dotted: string;
|
|
323
|
+
double: string;
|
|
324
|
+
};
|
|
307
325
|
rounded: {
|
|
308
326
|
none: string;
|
|
309
327
|
sm: string;
|
|
@@ -70,6 +70,27 @@ export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement
|
|
|
70
70
|
* click handlers, and set `aria-busy="true"`.
|
|
71
71
|
* @default false
|
|
72
72
|
*/
|
|
73
|
+
/**
|
|
74
|
+
* Toggle state. Pass it and the button becomes a toggle: `aria-pressed`
|
|
75
|
+
* is emitted so assistive tech announces on/off, and the "on" look is
|
|
76
|
+
* painted. Leave it out and nothing changes, including the ARIA: a plain
|
|
77
|
+
* button must not be announced as a toggle.
|
|
78
|
+
*
|
|
79
|
+
* The "on" treatment is LeftNav's active-row shape, so a pressed button
|
|
80
|
+
* and a current nav item read the same. `variant="link"` is the one
|
|
81
|
+
* exception: it gets the ARIA but no background, because a surface behind
|
|
82
|
+
* inline text fights the underline.
|
|
83
|
+
*
|
|
84
|
+
* @default undefined
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```tsx
|
|
88
|
+
* <Button variant="ghost" pressed={bold} onClick={() => setBold(!bold)}>
|
|
89
|
+
* Bold
|
|
90
|
+
* </Button>
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
pressed?: boolean;
|
|
73
94
|
loading?: ButtonVariants['loading'];
|
|
74
95
|
/**
|
|
75
96
|
* Stretch the button to fill its container's width (`w-full`).
|
|
@@ -37,6 +37,13 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
37
37
|
success: string;
|
|
38
38
|
warning: string;
|
|
39
39
|
danger: string;
|
|
40
|
+
/**
|
|
41
|
+
* For a surface that is dark regardless of the theme: a dark hero,
|
|
42
|
+
* an ink footer, an inverted panel. Reads the theme-invariant
|
|
43
|
+
* `inverse` token role, so it does NOT flip with light/dark the way
|
|
44
|
+
* a `neutral`-based treatment would. See kensaadi/dashforge#140.
|
|
45
|
+
*/
|
|
46
|
+
inverse: string;
|
|
40
47
|
};
|
|
41
48
|
size: {
|
|
42
49
|
sm: string;
|
|
@@ -49,6 +56,19 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
49
56
|
loading: {
|
|
50
57
|
true: string;
|
|
51
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* Toggle state. Styling lives in `compoundVariants` because "on" reads
|
|
61
|
+
* differently on a filled button than on a quiet one: the quiet
|
|
62
|
+
* variants gain a surface, `solid` deepens the one it already has.
|
|
63
|
+
*
|
|
64
|
+
* The treatment is not invented. It is LeftNav's `itemActive`
|
|
65
|
+
* (`bg-*-100 text-*-900 font-medium`), the catalog's existing way of
|
|
66
|
+
* saying "this is the current thing". kensaadi/dashforge#63 gap C.
|
|
67
|
+
*/
|
|
68
|
+
pressed: {
|
|
69
|
+
true: string;
|
|
70
|
+
false: string;
|
|
71
|
+
};
|
|
52
72
|
}, undefined, string[], {
|
|
53
73
|
variant: {
|
|
54
74
|
solid: string;
|
|
@@ -62,6 +82,13 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
62
82
|
success: string;
|
|
63
83
|
warning: string;
|
|
64
84
|
danger: string;
|
|
85
|
+
/**
|
|
86
|
+
* For a surface that is dark regardless of the theme: a dark hero,
|
|
87
|
+
* an ink footer, an inverted panel. Reads the theme-invariant
|
|
88
|
+
* `inverse` token role, so it does NOT flip with light/dark the way
|
|
89
|
+
* a `neutral`-based treatment would. See kensaadi/dashforge#140.
|
|
90
|
+
*/
|
|
91
|
+
inverse: string;
|
|
65
92
|
};
|
|
66
93
|
size: {
|
|
67
94
|
sm: string;
|
|
@@ -74,6 +101,19 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
74
101
|
loading: {
|
|
75
102
|
true: string;
|
|
76
103
|
};
|
|
104
|
+
/**
|
|
105
|
+
* Toggle state. Styling lives in `compoundVariants` because "on" reads
|
|
106
|
+
* differently on a filled button than on a quiet one: the quiet
|
|
107
|
+
* variants gain a surface, `solid` deepens the one it already has.
|
|
108
|
+
*
|
|
109
|
+
* The treatment is not invented. It is LeftNav's `itemActive`
|
|
110
|
+
* (`bg-*-100 text-*-900 font-medium`), the catalog's existing way of
|
|
111
|
+
* saying "this is the current thing". kensaadi/dashforge#63 gap C.
|
|
112
|
+
*/
|
|
113
|
+
pressed: {
|
|
114
|
+
true: string;
|
|
115
|
+
false: string;
|
|
116
|
+
};
|
|
77
117
|
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
78
118
|
variant: {
|
|
79
119
|
solid: string;
|
|
@@ -87,6 +127,13 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
87
127
|
success: string;
|
|
88
128
|
warning: string;
|
|
89
129
|
danger: string;
|
|
130
|
+
/**
|
|
131
|
+
* For a surface that is dark regardless of the theme: a dark hero,
|
|
132
|
+
* an ink footer, an inverted panel. Reads the theme-invariant
|
|
133
|
+
* `inverse` token role, so it does NOT flip with light/dark the way
|
|
134
|
+
* a `neutral`-based treatment would. See kensaadi/dashforge#140.
|
|
135
|
+
*/
|
|
136
|
+
inverse: string;
|
|
90
137
|
};
|
|
91
138
|
size: {
|
|
92
139
|
sm: string;
|
|
@@ -99,6 +146,19 @@ export declare const buttonVariants: import("tailwind-variants").TVReturnType<{
|
|
|
99
146
|
loading: {
|
|
100
147
|
true: string;
|
|
101
148
|
};
|
|
149
|
+
/**
|
|
150
|
+
* Toggle state. Styling lives in `compoundVariants` because "on" reads
|
|
151
|
+
* differently on a filled button than on a quiet one: the quiet
|
|
152
|
+
* variants gain a surface, `solid` deepens the one it already has.
|
|
153
|
+
*
|
|
154
|
+
* The treatment is not invented. It is LeftNav's `itemActive`
|
|
155
|
+
* (`bg-*-100 text-*-900 font-medium`), the catalog's existing way of
|
|
156
|
+
* saying "this is the current thing". kensaadi/dashforge#63 gap C.
|
|
157
|
+
*/
|
|
158
|
+
pressed: {
|
|
159
|
+
true: string;
|
|
160
|
+
false: string;
|
|
161
|
+
};
|
|
102
162
|
}, undefined, string[], unknown, unknown, undefined>>;
|
|
103
163
|
export type ButtonVariants = VariantProps<typeof buttonVariants>;
|
|
104
164
|
//# sourceMappingURL=button.variants.d.ts.map
|
|
@@ -15,6 +15,27 @@ declare module '@dashforge/tw-tokens' {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* The four booleans the day recipe is keyed on, handed to a functional
|
|
20
|
+
* `slotProps.day` so a consumer can restyle ONE state without touching the
|
|
21
|
+
* others.
|
|
22
|
+
*
|
|
23
|
+
* Before this existed, `slotProps.day.className` was a flat string applied
|
|
24
|
+
* to all 42 cells, so an app that wanted, say, sibling-month days to read
|
|
25
|
+
* as selectable had to restyle every cell identically (which also erased
|
|
26
|
+
* the disabled treatment), reach into the DOM after render, or fork the
|
|
27
|
+
* component. See README-BUG § BUG 31.
|
|
28
|
+
*/
|
|
29
|
+
export interface CalendarDayState {
|
|
30
|
+
/** The cell belongs to the previous or next month. */
|
|
31
|
+
siblingMonth: boolean;
|
|
32
|
+
/** The cell is today. */
|
|
33
|
+
today: boolean;
|
|
34
|
+
/** The cell is the selected date. */
|
|
35
|
+
selected: boolean;
|
|
36
|
+
/** The cell cannot be picked (outside min/max, or explicitly disabled). */
|
|
37
|
+
disabled: boolean;
|
|
38
|
+
}
|
|
18
39
|
/** Per-slot `className` overrides for `<Calendar>`. */
|
|
19
40
|
export interface CalendarSlotProps {
|
|
20
41
|
root?: {
|
|
@@ -26,10 +47,26 @@ export interface CalendarSlotProps {
|
|
|
26
47
|
grid?: {
|
|
27
48
|
className?: string;
|
|
28
49
|
};
|
|
29
|
-
/**
|
|
50
|
+
/**
|
|
51
|
+
* Applied to every day-cell button.
|
|
52
|
+
*
|
|
53
|
+
* Accepts either a flat object, which lands on all 42 cells, or a
|
|
54
|
+
* function of the cell's state, which is what lets a theme address a
|
|
55
|
+
* single state. Passing an object keeps working unchanged.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```tsx
|
|
59
|
+
* slotProps={{
|
|
60
|
+
* day: ({ siblingMonth }) =>
|
|
61
|
+
* siblingMonth ? { className: 'opacity-100 text-neutral-500' } : {},
|
|
62
|
+
* }}
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
30
65
|
day?: {
|
|
31
66
|
className?: string;
|
|
32
|
-
}
|
|
67
|
+
} | ((state: CalendarDayState) => {
|
|
68
|
+
className?: string;
|
|
69
|
+
} | undefined);
|
|
33
70
|
}
|
|
34
71
|
/**
|
|
35
72
|
* Props for the `<Calendar>` primitive — a standalone, inline month grid.
|
|
@@ -74,6 +111,19 @@ export interface CalendarProps {
|
|
|
74
111
|
today?: ISODate;
|
|
75
112
|
/** Disables the whole calendar. */
|
|
76
113
|
disabled?: boolean;
|
|
114
|
+
/**
|
|
115
|
+
* Render the leading and trailing cells that belong to the neighbouring
|
|
116
|
+
* months. Default `true`, which is the convention React Day Picker, MUI's
|
|
117
|
+
* `DateCalendar` and the native pickers all follow.
|
|
118
|
+
*
|
|
119
|
+
* Set `false` and those cells become empty placeholders that keep the
|
|
120
|
+
* 7-column geometry. Worth doing for any form where "a day of the next
|
|
121
|
+
* month" is not a distinct concept, because a muted-but-selectable day
|
|
122
|
+
* reads as unavailable at a glance. See README-BUG § BUG 31.
|
|
123
|
+
*
|
|
124
|
+
* @default true
|
|
125
|
+
*/
|
|
126
|
+
showSiblingDays?: boolean;
|
|
77
127
|
/** Moves DOM focus to the active day cell on mount. */
|
|
78
128
|
autoFocus?: boolean;
|
|
79
129
|
/** Accessible label for the grid. Default `"Calendar"`. */
|
|
@@ -107,6 +107,48 @@ export interface ChipProps {
|
|
|
107
107
|
* @default 'Remove'
|
|
108
108
|
*/
|
|
109
109
|
deleteLabel?: string;
|
|
110
|
+
/**
|
|
111
|
+
* Makes the chip a native drag source: sets the `draggable` attribute and
|
|
112
|
+
* the grab cursor. Use it for a palette of items dragged onto a canvas,
|
|
113
|
+
* which is the shape `<Stack>` + `<Chip>` already composes; what was
|
|
114
|
+
* missing was only the affordance and the event.
|
|
115
|
+
*
|
|
116
|
+
* Native HTML5 drag-and-drop, so no dnd dependency is pulled in and the
|
|
117
|
+
* `dataTransfer` payload stays yours to define in `onDragStart`.
|
|
118
|
+
*
|
|
119
|
+
* ⚠️ **A drag is a pointer gesture and nothing else.** Native DnD is not
|
|
120
|
+
* keyboard operable, so a chip whose ONLY route is dragging fails WCAG
|
|
121
|
+
* 2.1.1 in your app. Give the same action a second path: an `onClick`
|
|
122
|
+
* that adds the item, a context menu, a button beside the palette. The
|
|
123
|
+
* library cannot supply that for you, and it will not pretend otherwise.
|
|
124
|
+
*
|
|
125
|
+
* @default undefined
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```tsx
|
|
129
|
+
* <Chip
|
|
130
|
+
* label="Heading"
|
|
131
|
+
* draggable
|
|
132
|
+
* onDragStart={(e) => e.dataTransfer.setData('text/plain', 'heading')}
|
|
133
|
+
* onClick={() => insertAtCursor('heading')}
|
|
134
|
+
* />
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
draggable?: boolean;
|
|
138
|
+
/**
|
|
139
|
+
* Fires when a drag begins. Set the `dataTransfer` payload here.
|
|
140
|
+
* Only meaningful together with `draggable`.
|
|
141
|
+
*
|
|
142
|
+
* @default undefined
|
|
143
|
+
*/
|
|
144
|
+
onDragStart?: (event: React.DragEvent<HTMLElement>) => void;
|
|
145
|
+
/**
|
|
146
|
+
* Fires when the drag ends, whether it was dropped or abandoned. Use it
|
|
147
|
+
* to clear any drag-in-progress state.
|
|
148
|
+
*
|
|
149
|
+
* @default undefined
|
|
150
|
+
*/
|
|
151
|
+
onDragEnd?: (event: React.DragEvent<HTMLElement>) => void;
|
|
110
152
|
/**
|
|
111
153
|
* Reactive visibility predicate. Re-evaluated on every engine state
|
|
112
154
|
* change when the chip is mounted inside a `<DashForm>`; outside
|
|
@@ -61,6 +61,9 @@ export declare const chipVariants: import("tailwind-variants").TVReturnType<{
|
|
|
61
61
|
* Compound rules below apply the actual shift per (variant, color)
|
|
62
62
|
* cell.
|
|
63
63
|
*/
|
|
64
|
+
draggable: {
|
|
65
|
+
true: string;
|
|
66
|
+
};
|
|
64
67
|
selected: {
|
|
65
68
|
true: string;
|
|
66
69
|
};
|
|
@@ -102,6 +105,9 @@ export declare const chipVariants: import("tailwind-variants").TVReturnType<{
|
|
|
102
105
|
* Compound rules below apply the actual shift per (variant, color)
|
|
103
106
|
* cell.
|
|
104
107
|
*/
|
|
108
|
+
draggable: {
|
|
109
|
+
true: string;
|
|
110
|
+
};
|
|
105
111
|
selected: {
|
|
106
112
|
true: string;
|
|
107
113
|
};
|
|
@@ -143,6 +149,9 @@ export declare const chipVariants: import("tailwind-variants").TVReturnType<{
|
|
|
143
149
|
* Compound rules below apply the actual shift per (variant, color)
|
|
144
150
|
* cell.
|
|
145
151
|
*/
|
|
152
|
+
draggable: {
|
|
153
|
+
true: string;
|
|
154
|
+
};
|
|
146
155
|
selected: {
|
|
147
156
|
true: string;
|
|
148
157
|
};
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ElementType, HTMLAttributes } from 'react';
|
|
2
|
+
import type { Engine } from '@dashforge/ui-core';
|
|
3
|
+
import type { AccessRequirement } from '@dashforge/rbac';
|
|
2
4
|
/**
|
|
3
5
|
* Grid types — discriminated union for container vs item role.
|
|
4
6
|
*
|
|
@@ -94,6 +96,46 @@ interface GridCommonProps extends Omit<HTMLAttributes<HTMLDivElement>, 'classNam
|
|
|
94
96
|
asChild?: boolean;
|
|
95
97
|
/** Utility-class override, merged via tailwind-merge. */
|
|
96
98
|
sx?: string;
|
|
99
|
+
/**
|
|
100
|
+
* Reactive visibility predicate. When it returns `false` the component
|
|
101
|
+
* renders `null`. Inside a `<DashForm>` it subscribes reactively to
|
|
102
|
+
* engine state; outside a form it is evaluated as a plain closure.
|
|
103
|
+
*
|
|
104
|
+
* Use it for state-driven hiding. **For permission-driven hiding prefer
|
|
105
|
+
* `access` with `onUnauthorized: 'hide'`**, which is the semantically
|
|
106
|
+
* correct path and surfaces properly in RBAC dev tools.
|
|
107
|
+
*
|
|
108
|
+
* @default undefined
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```tsx
|
|
112
|
+
* <Grid visibleWhen={() => pendingCount > 0}>
|
|
113
|
+
* <Typography variant="h3">{pendingCount} pending</Typography>
|
|
114
|
+
* </Grid>
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
visibleWhen?: (engine: Engine) => boolean;
|
|
118
|
+
/**
|
|
119
|
+
* RBAC requirement, evaluated by the centralized `@dashforge/rbac`
|
|
120
|
+
* policy engine. Brings Grid to parity with `<Box>`, which has
|
|
121
|
+
* carried both props since 1.1.0.
|
|
122
|
+
*
|
|
123
|
+
* - `onUnauthorized: 'hide'` → does not render
|
|
124
|
+
* - `onUnauthorized: 'disable'` → `aria-disabled` + dimmed; interactive
|
|
125
|
+
* children derive their own state from `data-disabled` or carry their
|
|
126
|
+
* own `access`
|
|
127
|
+
* - `onUnauthorized: 'readonly'` → `aria-readonly`, for gated sections
|
|
128
|
+
*
|
|
129
|
+
* @default undefined
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```tsx
|
|
133
|
+
* <Grid access={{ resource: 'billing', action: 'read', onUnauthorized: 'hide' }}>
|
|
134
|
+
* <RevenueCard />
|
|
135
|
+
* </Grid>
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
access?: AccessRequirement;
|
|
97
139
|
}
|
|
98
140
|
/**
|
|
99
141
|
* `<Grid>` props — discriminated union: container OR item, never both.
|