@dashforge/tw 1.7.0 → 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 +173 -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/components/_shared/resolveValidationState.d.ts +52 -0
- package/dist/index.d.ts +212 -1
- package/dist/index.esm.js +845 -124
- 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 +0 -42
- 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/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
|
@@ -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.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { KbdProps } from './kbd.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* `<Kbd>` — a single keycap.
|
|
4
|
+
*
|
|
5
|
+
* ```tsx
|
|
6
|
+
* Press <Kbd>Esc</Kbd> to close
|
|
7
|
+
* ```
|
|
8
|
+
*
|
|
9
|
+
* See {@link KbdProps} for the full API surface, including why chords are
|
|
10
|
+
* composed rather than passed as an array.
|
|
11
|
+
*/
|
|
12
|
+
export declare const Kbd: import("react").ForwardRefExoticComponent<KbdProps & import("react").RefAttributes<HTMLElement>>;
|
|
13
|
+
//# sourceMappingURL=Kbd.d.ts.map
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { KbdVariants } from './kbd.variants.js';
|
|
3
|
+
/** Size scale. `md` matches body text; `sm` sits inside dense chrome. */
|
|
4
|
+
export type KbdSize = NonNullable<KbdVariants['size']>;
|
|
5
|
+
/**
|
|
6
|
+
* Subset of `<Kbd>` props configurable through
|
|
7
|
+
* `theme.components.Kbd.defaults` (Option C).
|
|
8
|
+
*/
|
|
9
|
+
export type KbdVariantProps = Pick<KbdVariants, 'size'>;
|
|
10
|
+
/**
|
|
11
|
+
* Props for `<Kbd>` — a single keycap, for showing the key that triggers
|
|
12
|
+
* something (`⌘K`, `Esc`, `Shift`).
|
|
13
|
+
*
|
|
14
|
+
* It renders the semantic `<kbd>` element rather than a styled span, which
|
|
15
|
+
* is the whole reason the primitive exists: assistive tech and reader modes
|
|
16
|
+
* treat `<kbd>` as keyboard input, and a span says nothing.
|
|
17
|
+
*
|
|
18
|
+
* **Combinations compose.** There is no `keys` prop: a chord is two caps
|
|
19
|
+
* and whatever separator the design calls for, and baking one in would
|
|
20
|
+
* decide `⌘ + K` against `⌘K` for every consumer.
|
|
21
|
+
*
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <span className="inline-flex items-center gap-1">
|
|
24
|
+
* <Kbd>⌘</Kbd>
|
|
25
|
+
* <Kbd>K</Kbd>
|
|
26
|
+
* </span>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* A keycap is display chrome, so it carries no `access` / `visibleWhen`:
|
|
30
|
+
* like `<Typography>`, it is gated by wrapping it, not by gating itself.
|
|
31
|
+
*/
|
|
32
|
+
export interface KbdProps {
|
|
33
|
+
/** The key label. Usually one glyph or a short word (`Esc`, `Tab`). */
|
|
34
|
+
children: ReactNode;
|
|
35
|
+
/**
|
|
36
|
+
* Cap size.
|
|
37
|
+
*
|
|
38
|
+
* @default 'md'
|
|
39
|
+
*/
|
|
40
|
+
size?: KbdSize;
|
|
41
|
+
/**
|
|
42
|
+
* Utility classes appended to the variant chain. Resolved through
|
|
43
|
+
* `tailwind-merge`, so a consumer's class always wins over the recipe.
|
|
44
|
+
*
|
|
45
|
+
* @default undefined
|
|
46
|
+
*/
|
|
47
|
+
sx?: string;
|
|
48
|
+
/**
|
|
49
|
+
* Escape hatch for the rendered `<kbd>`: `id`, `title`, `data-*`.
|
|
50
|
+
*
|
|
51
|
+
* @default undefined
|
|
52
|
+
*/
|
|
53
|
+
className?: string;
|
|
54
|
+
}
|
|
55
|
+
declare module '@dashforge/tw-tokens' {
|
|
56
|
+
interface TWComponentDefaults {
|
|
57
|
+
Kbd?: {
|
|
58
|
+
defaults?: Partial<KbdVariantProps>;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=kbd.types.d.ts.map
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
/**
|
|
3
|
+
* Tailwind-variants recipe for `<Kbd>`.
|
|
4
|
+
*
|
|
5
|
+
* One axis, `size`, because a keycap has no intent: it is chrome around a
|
|
6
|
+
* literal key, not a status or an action. Colour is fixed to the neutral
|
|
7
|
+
* ramp, which auto-inverts through the preset's CSS vars, so the cap reads
|
|
8
|
+
* as a raised surface in light and a recessed one in dark with no `dark:`
|
|
9
|
+
* variant to keep in sync.
|
|
10
|
+
*
|
|
11
|
+
* The border is what makes the cap read as a cap, and it is at `-500`
|
|
12
|
+
* rather than the `-300` a hairline invites. Measured on `learn/dash`
|
|
13
|
+
* against both surfaces a keycap realistically sits on:
|
|
14
|
+
*
|
|
15
|
+
* surface neutral-100 ... 1.09 vs page, 1.04 vs card
|
|
16
|
+
* surface neutral-200 ... 1.26 / 1.21
|
|
17
|
+
* border neutral-300 ... 1.48 / 1.42
|
|
18
|
+
* border neutral-400 ... 2.52 / 2.42
|
|
19
|
+
* border neutral-500 ... 4.74 / 4.54 <- the first that clears 3:1
|
|
20
|
+
*
|
|
21
|
+
* The first draft assumed the `bg-neutral-100` surface would do the
|
|
22
|
+
* separating and left the border at `-300`. It does not: a neutral surface
|
|
23
|
+
* one step off the page is ~1.1:1 by construction, and in dark mode it
|
|
24
|
+
* lands on exactly the same colour as a card, so the cap disappeared into
|
|
25
|
+
* the panel and only the hairline was left. That is the same shape that
|
|
26
|
+
* failed on the outline Chip (README-BUG § BUG 40), and it reached the
|
|
27
|
+
* same tier for the same reason.
|
|
28
|
+
*
|
|
29
|
+
* The surface stays as a faint lift, not as the separator.
|
|
30
|
+
*
|
|
31
|
+
* `rounded-md` rather than a bare `rounded`, which is hard-coded at
|
|
32
|
+
* 0.25rem and immune to the radius tokens (README-BUG § BUG 26).
|
|
33
|
+
*/
|
|
34
|
+
export declare const kbdVariants: import("tailwind-variants").TVReturnType<{
|
|
35
|
+
size: {
|
|
36
|
+
sm: string;
|
|
37
|
+
md: string;
|
|
38
|
+
lg: string;
|
|
39
|
+
};
|
|
40
|
+
}, undefined, string[], {
|
|
41
|
+
size: {
|
|
42
|
+
sm: string;
|
|
43
|
+
md: string;
|
|
44
|
+
lg: string;
|
|
45
|
+
};
|
|
46
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
47
|
+
size: {
|
|
48
|
+
sm: string;
|
|
49
|
+
md: string;
|
|
50
|
+
lg: string;
|
|
51
|
+
};
|
|
52
|
+
}, undefined, string[], unknown, unknown, undefined>>;
|
|
53
|
+
export type KbdVariants = VariantProps<typeof kbdVariants>;
|
|
54
|
+
//# sourceMappingURL=kbd.variants.d.ts.map
|
|
@@ -9,6 +9,6 @@ import type { SelectProps, SelectValue } from './select.types.js';
|
|
|
9
9
|
* `<Select<'a' | 'b'> options={…} onChange={…} />`.
|
|
10
10
|
*/
|
|
11
11
|
export declare const Select: <V extends SelectValue = string>(props: SelectProps<V> & {
|
|
12
|
-
ref?: React.Ref<
|
|
12
|
+
ref?: React.Ref<HTMLDivElement>;
|
|
13
13
|
}) => ReactElement | null;
|
|
14
14
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -10,6 +10,6 @@ import type { SliderProps, SliderSingleProps, SliderRangeProps } from './slider.
|
|
|
10
10
|
*
|
|
11
11
|
* See {@link SliderProps} for the full API surface.
|
|
12
12
|
*/
|
|
13
|
-
export declare const Slider: import("react").ForwardRefExoticComponent<SliderProps & import("react").RefAttributes<
|
|
13
|
+
export declare const Slider: import("react").ForwardRefExoticComponent<SliderProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
14
14
|
export type { SliderSingleProps, SliderRangeProps };
|
|
15
15
|
//# sourceMappingURL=Slider.d.ts.map
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { ElementType, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import type { Engine } from '@dashforge/ui-core';
|
|
3
|
+
import type { AccessRequirement } from '@dashforge/rbac';
|
|
2
4
|
import type { StackGap, StackVariants } from './stack.variants.js';
|
|
3
5
|
/**
|
|
4
6
|
* Subset of `<Stack>` props theme-configurable via
|
|
@@ -108,5 +110,45 @@ export interface StackProps extends Omit<HTMLAttributes<HTMLDivElement>, 'classN
|
|
|
108
110
|
* variant defaults.
|
|
109
111
|
*/
|
|
110
112
|
sx?: string;
|
|
113
|
+
/**
|
|
114
|
+
* Reactive visibility predicate. When it returns `false` the component
|
|
115
|
+
* renders `null`. Inside a `<DashForm>` it subscribes reactively to
|
|
116
|
+
* engine state; outside a form it is evaluated as a plain closure.
|
|
117
|
+
*
|
|
118
|
+
* Use it for state-driven hiding. **For permission-driven hiding prefer
|
|
119
|
+
* `access` with `onUnauthorized: 'hide'`**, which is the semantically
|
|
120
|
+
* correct path and surfaces properly in RBAC dev tools.
|
|
121
|
+
*
|
|
122
|
+
* @default undefined
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```tsx
|
|
126
|
+
* <Stack visibleWhen={() => pendingCount > 0}>
|
|
127
|
+
* <Typography variant="h3">{pendingCount} pending</Typography>
|
|
128
|
+
* </Stack>
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
visibleWhen?: (engine: Engine) => boolean;
|
|
132
|
+
/**
|
|
133
|
+
* RBAC requirement, evaluated by the centralized `@dashforge/rbac`
|
|
134
|
+
* policy engine. Brings Stack to parity with `<Box>`, which has
|
|
135
|
+
* carried both props since 1.1.0.
|
|
136
|
+
*
|
|
137
|
+
* - `onUnauthorized: 'hide'` → does not render
|
|
138
|
+
* - `onUnauthorized: 'disable'` → `aria-disabled` + dimmed; interactive
|
|
139
|
+
* children derive their own state from `data-disabled` or carry their
|
|
140
|
+
* own `access`
|
|
141
|
+
* - `onUnauthorized: 'readonly'` → `aria-readonly`, for gated sections
|
|
142
|
+
*
|
|
143
|
+
* @default undefined
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```tsx
|
|
147
|
+
* <Stack access={{ resource: 'billing', action: 'read', onUnauthorized: 'hide' }}>
|
|
148
|
+
* <RevenueCard />
|
|
149
|
+
* </Stack>
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
152
|
+
access?: AccessRequirement;
|
|
111
153
|
}
|
|
112
154
|
//# sourceMappingURL=stack.types.d.ts.map
|
|
@@ -182,5 +182,13 @@ export type StackGap = 0 | 0.5 | 1 | 2 | 3 | 4 | 6 | 8 | 12 | 16 | 24;
|
|
|
182
182
|
* `gap` value at render time. Same set as {@link StackGap}. Frozen
|
|
183
183
|
* so callers can't mutate the source of truth.
|
|
184
184
|
*/
|
|
185
|
+
/**
|
|
186
|
+
* The accepted `direction` values, for the dev-time guard in `Stack.tsx`.
|
|
187
|
+
*
|
|
188
|
+
* Frozen and exported rather than inlined so the warning cannot drift from
|
|
189
|
+
* the variant recipe: adding an axis value without adding it here would
|
|
190
|
+
* make the guard warn about something that works.
|
|
191
|
+
*/
|
|
192
|
+
export declare const STACK_DIRECTION_VALUES: readonly ["row", "col", "row-reverse", "col-reverse"];
|
|
185
193
|
export declare const STACK_GAP_VALUES: readonly StackGap[];
|
|
186
194
|
//# sourceMappingURL=stack.variants.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TopBarProps } from './topBar.types.js';
|
|
1
|
+
import type { TopBarProps, TopBarBrandProps } from './topBar.types.js';
|
|
2
2
|
/**
|
|
3
3
|
* Dashforge TW TopBar — sticky header with 3 named slots.
|
|
4
4
|
*
|
|
@@ -30,4 +30,19 @@ import type { TopBarProps } from './topBar.types.js';
|
|
|
30
30
|
* appropriate roles (`<nav>`, `<search>`, etc.) where needed.
|
|
31
31
|
*/
|
|
32
32
|
export declare function TopBar(props: TopBarProps): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
/**
|
|
34
|
+
* `<TopBarBrand>` — the mark-plus-text block for a `<TopBar>`'s `start`
|
|
35
|
+
* slot.
|
|
36
|
+
*
|
|
37
|
+
* ```tsx
|
|
38
|
+
* <TopBar
|
|
39
|
+
* start={<TopBarBrand logo={<Logo />} title="Dashforge" subtitle="src/App.tsx" />}
|
|
40
|
+
* end={<UserMenu />}
|
|
41
|
+
* />
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* See {@link TopBarBrandProps} for why it is a sibling export rather than
|
|
45
|
+
* `TopBar.Brand`, and why it stays layout-only.
|
|
46
|
+
*/
|
|
47
|
+
export declare const TopBarBrand: import("react").ForwardRefExoticComponent<TopBarBrandProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
33
48
|
//# sourceMappingURL=TopBar.d.ts.map
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { TopBarVariants } from './topBar.variants.js';
|
|
3
|
+
/**
|
|
4
|
+
* Subset of `<TopBar>` props theme-configurable via
|
|
5
|
+
* `theme.components.TopBar.defaults` (Option C).
|
|
6
|
+
*/
|
|
7
|
+
export type TopBarVariantProps = Pick<TopBarVariants, 'height' | 'sticky'>;
|
|
8
|
+
declare module '@dashforge/tw-tokens' {
|
|
9
|
+
interface TWComponentDefaults {
|
|
10
|
+
TopBar?: {
|
|
11
|
+
defaults?: Partial<TopBarVariantProps>;
|
|
12
|
+
slotProps?: TopBarSlotProps;
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export interface TopBarSlotProps {
|
|
17
|
+
root?: {
|
|
18
|
+
className?: string;
|
|
19
|
+
};
|
|
20
|
+
start?: {
|
|
21
|
+
className?: string;
|
|
22
|
+
};
|
|
23
|
+
center?: {
|
|
24
|
+
className?: string;
|
|
25
|
+
};
|
|
26
|
+
end?: {
|
|
27
|
+
className?: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Props for `<TopBar>`.
|
|
32
|
+
*
|
|
33
|
+
* Pure composition container with 3 named slots — `start`, `center`,
|
|
34
|
+
* `end` — that fill a sticky horizontal bar.
|
|
35
|
+
*
|
|
36
|
+
* Typical patterns:
|
|
37
|
+
*
|
|
38
|
+
* - **start**: mobile menu toggle, brand/logo
|
|
39
|
+
* - **center**: Breadcrumbs, page title, global search
|
|
40
|
+
* - **end**: notifications icon, user menu, theme toggle
|
|
41
|
+
*
|
|
42
|
+
* The component is intentionally minimal: it just lays out the three
|
|
43
|
+
* regions. All semantics (e.g., `<header role="banner">`) come for
|
|
44
|
+
* free from rendering as an HTML `<header>` element.
|
|
45
|
+
*/
|
|
46
|
+
export interface TopBarProps {
|
|
47
|
+
/**
|
|
48
|
+
* Bar height tier — sm:h-12, md:h-14, lg:h-16.
|
|
49
|
+
* @default 'md'
|
|
50
|
+
*/
|
|
51
|
+
height?: TopBarVariants['height'];
|
|
52
|
+
/**
|
|
53
|
+
* Apply `position: sticky; top: 0` so the bar stays pinned during
|
|
54
|
+
* page scroll.
|
|
55
|
+
* @default true
|
|
56
|
+
*/
|
|
57
|
+
sticky?: TopBarVariants['sticky'];
|
|
58
|
+
/** Left-aligned slot (mobile menu, brand). */
|
|
59
|
+
start?: ReactNode;
|
|
60
|
+
/** Center slot (breadcrumbs, title). Grows to fill remaining space. */
|
|
61
|
+
center?: ReactNode;
|
|
62
|
+
/** Right-aligned slot (actions, user menu). */
|
|
63
|
+
end?: ReactNode;
|
|
64
|
+
/** Convenience: render the bar as a plain `<div>` (no banner role). */
|
|
65
|
+
asDiv?: boolean;
|
|
66
|
+
/** Root className shortcut. */
|
|
67
|
+
sx?: string;
|
|
68
|
+
/** Per-slot className overrides. */
|
|
69
|
+
slotProps?: TopBarSlotProps;
|
|
70
|
+
/** Children render between `start` and `end` when no `center` is set. */
|
|
71
|
+
children?: ReactNode;
|
|
72
|
+
}
|
|
73
|
+
/** Per-slot class overrides for `<TopBarBrand>`. */
|
|
74
|
+
export interface TopBarBrandSlotProps {
|
|
75
|
+
/** Outer wrapper holding logo, title and subtitle. */
|
|
76
|
+
root?: {
|
|
77
|
+
className?: string;
|
|
78
|
+
};
|
|
79
|
+
/** The mark. */
|
|
80
|
+
logo?: {
|
|
81
|
+
className?: string;
|
|
82
|
+
};
|
|
83
|
+
/** Wrapper around the two text lines. */
|
|
84
|
+
text?: {
|
|
85
|
+
className?: string;
|
|
86
|
+
};
|
|
87
|
+
/** The primary line. */
|
|
88
|
+
title?: {
|
|
89
|
+
className?: string;
|
|
90
|
+
};
|
|
91
|
+
/** The secondary line. */
|
|
92
|
+
subtitle?: {
|
|
93
|
+
className?: string;
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Props for `<TopBarBrand>` — the "mark plus a line or two of text" block
|
|
98
|
+
* that fills a `<TopBar>`'s `start` slot. kensaadi/dashforge#63 gap G.
|
|
99
|
+
*
|
|
100
|
+
* A **sibling export, not `TopBar.Brand`**, despite how the request was
|
|
101
|
+
* written: this catalog attaches subcomponents as named siblings
|
|
102
|
+
* (`Card` / `CardContent` / `CardActionArea`), and one component doing it
|
|
103
|
+
* differently is worse than matching the request's punctuation.
|
|
104
|
+
*
|
|
105
|
+
* It is deliberately layout only: no link, no routing, no click. A brand
|
|
106
|
+
* that navigates home is a `<Link>` or a router component wrapped around
|
|
107
|
+
* this, which keeps the router out of the library.
|
|
108
|
+
*
|
|
109
|
+
* ⚠️ This lands ahead of kensaadi/dashforge#132, whose job is to freeze the
|
|
110
|
+
* AppShell and TopBar surface, and #134 lists this helper as one of its
|
|
111
|
+
* deliverables. It is kept to the smallest shape that removes the
|
|
112
|
+
* duplication so the audit can adopt or reshape it cheaply.
|
|
113
|
+
*/
|
|
114
|
+
export interface TopBarBrandProps {
|
|
115
|
+
/** The mark: an svg, an `<img>`, an icon. Omit for text-only brands. */
|
|
116
|
+
logo?: ReactNode;
|
|
117
|
+
/**
|
|
118
|
+
* The primary line, e.g. the product name.
|
|
119
|
+
*/
|
|
120
|
+
title: ReactNode;
|
|
121
|
+
/**
|
|
122
|
+
* The secondary line, e.g. the open file or the current page. Omitted,
|
|
123
|
+
* the block is a single line and the title centres against the logo.
|
|
124
|
+
*
|
|
125
|
+
* @default undefined
|
|
126
|
+
*/
|
|
127
|
+
subtitle?: ReactNode;
|
|
128
|
+
/**
|
|
129
|
+
* Utility classes appended to the root's variant chain, resolved through
|
|
130
|
+
* `tailwind-merge`.
|
|
131
|
+
*
|
|
132
|
+
* @default undefined
|
|
133
|
+
*/
|
|
134
|
+
sx?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Per-slot class overrides.
|
|
137
|
+
*
|
|
138
|
+
* @default undefined
|
|
139
|
+
*/
|
|
140
|
+
slotProps?: TopBarBrandSlotProps;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=topBar.types.d.ts.map
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
/**
|
|
3
|
+
* Tailwind-variants recipe for `<TopBar>`.
|
|
4
|
+
*
|
|
5
|
+
* Slots:
|
|
6
|
+
* - `root` — outer `<header>` (or `<div>` with `asDiv`)
|
|
7
|
+
* - `start` — left region (shrink-to-content)
|
|
8
|
+
* - `center` — middle region (grows to fill)
|
|
9
|
+
* - `end` — right region (shrink-to-content)
|
|
10
|
+
*/
|
|
11
|
+
export declare const topBarVariants: import("tailwind-variants").TVReturnType<{
|
|
12
|
+
height: {
|
|
13
|
+
sm: {
|
|
14
|
+
root: string;
|
|
15
|
+
};
|
|
16
|
+
md: {
|
|
17
|
+
root: string;
|
|
18
|
+
};
|
|
19
|
+
lg: {
|
|
20
|
+
root: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
sticky: {
|
|
24
|
+
true: {
|
|
25
|
+
root: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
}, {
|
|
29
|
+
root: string[];
|
|
30
|
+
start: string;
|
|
31
|
+
center: string;
|
|
32
|
+
end: string;
|
|
33
|
+
}, undefined, {
|
|
34
|
+
height: {
|
|
35
|
+
sm: {
|
|
36
|
+
root: string;
|
|
37
|
+
};
|
|
38
|
+
md: {
|
|
39
|
+
root: string;
|
|
40
|
+
};
|
|
41
|
+
lg: {
|
|
42
|
+
root: string;
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
sticky: {
|
|
46
|
+
true: {
|
|
47
|
+
root: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
}, {
|
|
51
|
+
root: string[];
|
|
52
|
+
start: string;
|
|
53
|
+
center: string;
|
|
54
|
+
end: string;
|
|
55
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
56
|
+
height: {
|
|
57
|
+
sm: {
|
|
58
|
+
root: string;
|
|
59
|
+
};
|
|
60
|
+
md: {
|
|
61
|
+
root: string;
|
|
62
|
+
};
|
|
63
|
+
lg: {
|
|
64
|
+
root: string;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
sticky: {
|
|
68
|
+
true: {
|
|
69
|
+
root: string;
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
}, {
|
|
73
|
+
root: string[];
|
|
74
|
+
start: string;
|
|
75
|
+
center: string;
|
|
76
|
+
end: string;
|
|
77
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
78
|
+
export type TopBarVariants = VariantProps<typeof topBarVariants>;
|
|
79
|
+
/**
|
|
80
|
+
* Recipe for `<TopBarBrand>`.
|
|
81
|
+
*
|
|
82
|
+
* `min-w-0` plus `truncate` on both lines is the load-bearing part: a bar
|
|
83
|
+
* is a fixed-height row, and a long subtitle (a file path, which is the
|
|
84
|
+
* case this exists for) would otherwise push the `center` and `end` slots
|
|
85
|
+
* out of the bar rather than ellipsing.
|
|
86
|
+
*/
|
|
87
|
+
export declare const topBarBrandVariants: import("tailwind-variants").TVReturnType<{
|
|
88
|
+
[key: string]: {
|
|
89
|
+
[key: string]: import("tailwind-merge").ClassNameValue | {
|
|
90
|
+
title?: import("tailwind-merge").ClassNameValue;
|
|
91
|
+
text?: import("tailwind-merge").ClassNameValue;
|
|
92
|
+
root?: import("tailwind-merge").ClassNameValue;
|
|
93
|
+
logo?: import("tailwind-merge").ClassNameValue;
|
|
94
|
+
subtitle?: import("tailwind-merge").ClassNameValue;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
} | {
|
|
98
|
+
[x: string]: {
|
|
99
|
+
[x: string]: import("tailwind-merge").ClassNameValue | {
|
|
100
|
+
title?: import("tailwind-merge").ClassNameValue;
|
|
101
|
+
text?: import("tailwind-merge").ClassNameValue;
|
|
102
|
+
root?: import("tailwind-merge").ClassNameValue;
|
|
103
|
+
logo?: import("tailwind-merge").ClassNameValue;
|
|
104
|
+
subtitle?: import("tailwind-merge").ClassNameValue;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
} | {}, {
|
|
108
|
+
root: string;
|
|
109
|
+
logo: string;
|
|
110
|
+
text: string;
|
|
111
|
+
title: string;
|
|
112
|
+
subtitle: string;
|
|
113
|
+
}, undefined, {
|
|
114
|
+
[key: string]: {
|
|
115
|
+
[key: string]: import("tailwind-merge").ClassNameValue | {
|
|
116
|
+
title?: import("tailwind-merge").ClassNameValue;
|
|
117
|
+
text?: import("tailwind-merge").ClassNameValue;
|
|
118
|
+
root?: import("tailwind-merge").ClassNameValue;
|
|
119
|
+
logo?: import("tailwind-merge").ClassNameValue;
|
|
120
|
+
subtitle?: import("tailwind-merge").ClassNameValue;
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
} | {}, {
|
|
124
|
+
root: string;
|
|
125
|
+
logo: string;
|
|
126
|
+
text: string;
|
|
127
|
+
title: string;
|
|
128
|
+
subtitle: string;
|
|
129
|
+
}, import("tailwind-variants").TVReturnType<unknown, {
|
|
130
|
+
root: string;
|
|
131
|
+
logo: string;
|
|
132
|
+
text: string;
|
|
133
|
+
title: string;
|
|
134
|
+
subtitle: string;
|
|
135
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
136
|
+
//# sourceMappingURL=topBar.variants.d.ts.map
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { DashFormBridge } from '@dashforge/ui-core';
|
|
3
|
+
/**
|
|
4
|
+
* Resolved validation state for a bridge-managed field.
|
|
5
|
+
*
|
|
6
|
+
* Returned by `resolveValidationState`, this is consumed by all form
|
|
7
|
+
* components that surface error + helper text (TextField, Checkbox,
|
|
8
|
+
* Switch, …) to derive their final render state.
|
|
9
|
+
*/
|
|
10
|
+
export interface ValidationState {
|
|
11
|
+
error: boolean;
|
|
12
|
+
helperText: ReactNode;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Compute `error` + `helperText` for a bridge-managed field.
|
|
16
|
+
*
|
|
17
|
+
* **Renderer-agnostic.** Mirrors the MUI-side
|
|
18
|
+
* `ui/src/components/TextField/textField.validation.ts`. Promoted to a
|
|
19
|
+
* `_shared/` directory inside `@dashforge/tw` so all 14 bridge-managed
|
|
20
|
+
* form components reuse the same precedence without depending on a
|
|
21
|
+
* specific component folder.
|
|
22
|
+
*
|
|
23
|
+
* ⚠️ This file is a COPY, not an import. The two sides have to be kept
|
|
24
|
+
* in step by hand, and once already were not: BUG 17 (2026-09-15)
|
|
25
|
+
* inverted the `helperText` precedence on the MUI side only, and this
|
|
26
|
+
* copy kept the broken order for ten days until BUG 32 caught it. The
|
|
27
|
+
* verification that missed it was a grep for imports of the MUI file,
|
|
28
|
+
* which by construction cannot reach a copy. **When you change the
|
|
29
|
+
* precedence here, change it there too — and vice versa.**
|
|
30
|
+
*
|
|
31
|
+
* Precedence rules:
|
|
32
|
+
*
|
|
33
|
+
* 1. **`error`: the explicit prop wins.** An author who passes `error`
|
|
34
|
+
* is forcing the visual state, so it overrides the auto-gate.
|
|
35
|
+
* 2. **`helperText`: the validation message wins while it is showing;
|
|
36
|
+
* the explicit prop is the fallback for the no-error state.** A
|
|
37
|
+
* constant hint ("Unique, uppercase") must not swallow the reason a
|
|
38
|
+
* required field was rejected — that leaves the user looking at a
|
|
39
|
+
* red field with no explanation. See README-BUG.md § BUG 17 / § BUG 32.
|
|
40
|
+
* 3. **Auto values are gated by interaction.** The bridge's error is
|
|
41
|
+
* surfaced only when the field is `touched` OR the form has been
|
|
42
|
+
* submitted at least once (`submitCount > 0`). This prevents the
|
|
43
|
+
* "error spam while typing" anti-pattern.
|
|
44
|
+
*
|
|
45
|
+
* @param name field name registered with the bridge
|
|
46
|
+
* @param bridge active `DashFormBridge` (guaranteed non-null at
|
|
47
|
+
* call sites by the surrounding `if (bridge)`)
|
|
48
|
+
* @param explicitError `error` prop from the consumer
|
|
49
|
+
* @param explicitHelperText `helperText` prop from the consumer
|
|
50
|
+
*/
|
|
51
|
+
export declare function resolveValidationState(name: string, bridge: DashFormBridge, explicitError: boolean | undefined, explicitHelperText: ReactNode | undefined): ValidationState;
|
|
52
|
+
//# sourceMappingURL=resolveValidationState.d.ts.map
|