@dashforge/tw 0.11.0-beta → 1.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 +13 -12
- package/COVERAGE.md +2 -2
- package/PARITY.md +7 -9
- package/PERFORMANCE.md +3 -4
- package/THEME-AUDIT.md +3 -4
- package/dist/components/Accordion/Accordion.d.ts +21 -0
- package/dist/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/components/Accordion/accordion.types.d.ts +74 -0
- package/dist/components/Accordion/accordion.types.d.ts.map +1 -0
- package/dist/components/Accordion/accordion.variants.d.ts +58 -0
- package/dist/components/Accordion/accordion.variants.d.ts.map +1 -0
- package/dist/components/AppShell/AppShell.d.ts +46 -0
- package/dist/components/AppShell/AppShell.d.ts.map +1 -0
- package/dist/components/AppShell/appShell.types.d.ts +62 -0
- package/dist/components/AppShell/appShell.types.d.ts.map +1 -0
- package/dist/components/AppShell/appShell.variants.d.ts +65 -0
- package/dist/components/AppShell/appShell.variants.d.ts.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.d.ts +36 -0
- package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -0
- package/dist/components/AspectRatio/aspectRatio.types.d.ts +50 -0
- package/dist/components/AspectRatio/aspectRatio.types.d.ts.map +1 -0
- package/dist/components/Autocomplete/Autocomplete.d.ts +32 -0
- package/dist/components/Autocomplete/Autocomplete.d.ts.map +1 -0
- package/dist/components/Autocomplete/autocomplete.types.d.ts +214 -0
- package/dist/components/Autocomplete/autocomplete.types.d.ts.map +1 -0
- package/dist/components/Autocomplete/autocomplete.variants.d.ts +214 -0
- package/dist/components/Autocomplete/autocomplete.variants.d.ts.map +1 -0
- package/dist/components/Box/Box.d.ts +36 -0
- package/dist/components/Box/Box.d.ts.map +1 -0
- package/dist/components/Box/box.types.d.ts +54 -0
- package/dist/components/Box/box.types.d.ts.map +1 -0
- package/dist/components/Box/box.variants.d.ts +402 -0
- package/dist/components/Box/box.variants.d.ts.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts +23 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts +98 -0
- package/dist/components/Breadcrumbs/breadcrumbs.types.d.ts.map +1 -0
- package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts +85 -0
- package/dist/components/Breadcrumbs/breadcrumbs.variants.d.ts.map +1 -0
- package/dist/components/Button/Button.d.ts +44 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/button.types.d.ts +66 -0
- package/dist/components/Button/button.types.d.ts.map +1 -0
- package/dist/components/Button/button.variants.d.ts +104 -0
- package/dist/components/Button/button.variants.d.ts.map +1 -0
- package/dist/components/Calendar/Calendar.d.ts +14 -0
- package/dist/components/Calendar/Calendar.d.ts.map +1 -0
- package/dist/components/Calendar/calendar.types.d.ts +72 -0
- package/dist/components/Calendar/calendar.types.d.ts.map +1 -0
- package/dist/components/Calendar/calendar.variants.d.ts +99 -0
- package/dist/components/Calendar/calendar.variants.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +31 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/checkbox.types.d.ts +86 -0
- package/dist/components/Checkbox/checkbox.types.d.ts.map +1 -0
- package/dist/components/Checkbox/checkbox.variants.d.ts +109 -0
- package/dist/components/Checkbox/checkbox.variants.d.ts.map +1 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +38 -0
- package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/ConfirmDialog/confirmDialog.types.d.ts +80 -0
- package/dist/components/ConfirmDialog/confirmDialog.types.d.ts.map +1 -0
- package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts +90 -0
- package/dist/components/ConfirmDialog/confirmDialog.variants.d.ts.map +1 -0
- package/dist/components/Container/Container.d.ts +35 -0
- package/dist/components/Container/Container.d.ts.map +1 -0
- package/dist/components/Container/container.types.d.ts +41 -0
- package/dist/components/Container/container.types.d.ts.map +1 -0
- package/dist/components/Container/container.variants.d.ts +93 -0
- package/dist/components/Container/container.variants.d.ts.map +1 -0
- package/dist/components/DataGrid/DataGrid.d.ts +29 -0
- package/dist/components/DataGrid/DataGrid.d.ts.map +1 -0
- package/dist/components/DataGrid/dataGrid.types.d.ts +214 -0
- package/dist/components/DataGrid/dataGrid.types.d.ts.map +1 -0
- package/dist/components/DataGrid/dataGrid.variants.d.ts +222 -0
- package/dist/components/DataGrid/dataGrid.variants.d.ts.map +1 -0
- package/dist/components/DataGrid/filters/ColumnFilters.d.ts +23 -0
- package/dist/components/DataGrid/filters/ColumnFilters.d.ts.map +1 -0
- package/dist/components/DataGrid/reorder/useColumnReorder.d.ts +50 -0
- package/dist/components/DataGrid/reorder/useColumnReorder.d.ts.map +1 -0
- package/dist/components/DataGrid/resize/useColumnResize.d.ts +39 -0
- package/dist/components/DataGrid/resize/useColumnResize.d.ts.map +1 -0
- package/dist/components/DataGrid/visibility/ColumnVisibilityMenu.d.ts +44 -0
- package/dist/components/DataGrid/visibility/ColumnVisibilityMenu.d.ts.map +1 -0
- package/dist/components/DatePicker/DatePicker.d.ts +14 -0
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker/datePicker.types.d.ts +88 -0
- package/dist/components/DatePicker/datePicker.types.d.ts.map +1 -0
- package/dist/components/DatePicker/datePicker.variants.d.ts +97 -0
- package/dist/components/DatePicker/datePicker.variants.d.ts.map +1 -0
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +13 -0
- package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +1 -0
- package/dist/components/DateRangePicker/dateRangePicker.types.d.ts +85 -0
- package/dist/components/DateRangePicker/dateRangePicker.types.d.ts.map +1 -0
- package/dist/components/DateRangePicker/dateRangePicker.variants.d.ts +183 -0
- package/dist/components/DateRangePicker/dateRangePicker.variants.d.ts.map +1 -0
- package/dist/components/DateTimePicker/DateTimePicker.d.ts +13 -0
- package/dist/components/DateTimePicker/DateTimePicker.d.ts.map +1 -0
- package/dist/components/DateTimePicker/dateTimePicker.types.d.ts +90 -0
- package/dist/components/DateTimePicker/dateTimePicker.types.d.ts.map +1 -0
- package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts +107 -0
- package/dist/components/DateTimePicker/dateTimePicker.variants.d.ts.map +1 -0
- package/dist/components/Dialog/Dialog.d.ts +17 -0
- package/dist/components/Dialog/Dialog.d.ts.map +1 -0
- package/dist/components/Dialog/dialog.types.d.ts +75 -0
- package/dist/components/Dialog/dialog.types.d.ts.map +1 -0
- package/dist/components/Dialog/dialog.variants.d.ts +80 -0
- package/dist/components/Dialog/dialog.variants.d.ts.map +1 -0
- package/dist/components/Divider/Divider.d.ts +50 -0
- package/dist/components/Divider/Divider.d.ts.map +1 -0
- package/dist/components/Divider/divider.types.d.ts +47 -0
- package/dist/components/Divider/divider.types.d.ts.map +1 -0
- package/dist/components/Divider/divider.variants.d.ts +129 -0
- package/dist/components/Divider/divider.variants.d.ts.map +1 -0
- package/dist/components/Grid/Grid.d.ts +32 -0
- package/dist/components/Grid/Grid.d.ts.map +1 -0
- package/dist/components/Grid/grid.types.d.ts +103 -0
- package/dist/components/Grid/grid.types.d.ts.map +1 -0
- package/dist/components/Grid/grid.variants.d.ts +453 -0
- package/dist/components/Grid/grid.variants.d.ts.map +1 -0
- package/dist/components/LeftNav/LeftNav.d.ts +34 -0
- package/dist/components/LeftNav/LeftNav.d.ts.map +1 -0
- package/dist/components/LeftNav/leftNav.types.d.ts +136 -0
- package/dist/components/LeftNav/leftNav.types.d.ts.map +1 -0
- package/dist/components/LeftNav/leftNav.variants.d.ts +143 -0
- package/dist/components/LeftNav/leftNav.variants.d.ts.map +1 -0
- package/dist/components/NumberField/NumberField.d.ts +18 -0
- package/dist/components/NumberField/NumberField.d.ts.map +1 -0
- package/dist/components/NumberField/numberField.types.d.ts +79 -0
- package/dist/components/NumberField/numberField.types.d.ts.map +1 -0
- package/dist/components/NumberField/numberField.variants.d.ts +169 -0
- package/dist/components/NumberField/numberField.variants.d.ts.map +1 -0
- package/dist/components/OTPField/OTPField.d.ts +25 -0
- package/dist/components/OTPField/OTPField.d.ts.map +1 -0
- package/dist/components/OTPField/otpField.types.d.ts +74 -0
- package/dist/components/OTPField/otpField.types.d.ts.map +1 -0
- package/dist/components/OTPField/otpField.variants.d.ts +105 -0
- package/dist/components/OTPField/otpField.variants.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.d.ts +32 -0
- package/dist/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/components/Pagination/pagination.helpers.d.ts +23 -0
- package/dist/components/Pagination/pagination.helpers.d.ts.map +1 -0
- package/dist/components/Pagination/pagination.types.d.ts +120 -0
- package/dist/components/Pagination/pagination.types.d.ts.map +1 -0
- package/dist/components/Pagination/pagination.variants.d.ts +150 -0
- package/dist/components/Pagination/pagination.variants.d.ts.map +1 -0
- package/dist/components/Popover/Popover.d.ts +15 -0
- package/dist/components/Popover/Popover.d.ts.map +1 -0
- package/dist/components/Popover/popover.types.d.ts +45 -0
- package/dist/components/Popover/popover.types.d.ts.map +1 -0
- package/dist/components/Popover/popover.variants.d.ts +34 -0
- package/dist/components/Popover/popover.variants.d.ts.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +35 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -0
- package/dist/components/RadioGroup/radioGroup.types.d.ts +103 -0
- package/dist/components/RadioGroup/radioGroup.types.d.ts.map +1 -0
- package/dist/components/RadioGroup/radioGroup.variants.d.ts +166 -0
- package/dist/components/RadioGroup/radioGroup.variants.d.ts.map +1 -0
- package/dist/components/Skeleton/Skeleton.d.ts +23 -0
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/Skeleton/skeleton.types.d.ts +56 -0
- package/dist/components/Skeleton/skeleton.types.d.ts.map +1 -0
- package/dist/components/Skeleton/skeleton.variants.d.ts +110 -0
- package/dist/components/Skeleton/skeleton.variants.d.ts.map +1 -0
- package/dist/components/Snackbar/Snackbar.d.ts +37 -0
- package/dist/components/Snackbar/Snackbar.d.ts.map +1 -0
- package/dist/components/Snackbar/snackbar.types.d.ts +86 -0
- package/dist/components/Snackbar/snackbar.types.d.ts.map +1 -0
- package/dist/components/Snackbar/snackbar.variants.d.ts +153 -0
- package/dist/components/Snackbar/snackbar.variants.d.ts.map +1 -0
- package/dist/components/Stack/Stack.d.ts +24 -0
- package/dist/components/Stack/Stack.d.ts.map +1 -0
- package/dist/components/Stack/stack.types.d.ts +61 -0
- package/dist/components/Stack/stack.types.d.ts.map +1 -0
- package/dist/components/Stack/stack.variants.d.ts +163 -0
- package/dist/components/Stack/stack.variants.d.ts.map +1 -0
- package/dist/components/Switch/Switch.d.ts +15 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -0
- package/dist/components/Switch/switch.types.d.ts +47 -0
- package/dist/components/Switch/switch.types.d.ts.map +1 -0
- package/dist/components/Switch/switch.variants.d.ts +105 -0
- package/dist/components/Switch/switch.variants.d.ts.map +1 -0
- package/dist/components/Table/Table.d.ts +24 -0
- package/dist/components/Table/Table.d.ts.map +1 -0
- package/dist/components/Table/cells/RenderButton.d.ts +13 -0
- package/dist/components/Table/cells/RenderButton.d.ts.map +1 -0
- package/dist/components/Table/cells/RenderChip.d.ts +80 -0
- package/dist/components/Table/cells/RenderChip.d.ts.map +1 -0
- package/dist/components/Table/cells/RenderText.d.ts +21 -0
- package/dist/components/Table/cells/RenderText.d.ts.map +1 -0
- package/dist/components/Table/cells/RenderTwoLine.d.ts +20 -0
- package/dist/components/Table/cells/RenderTwoLine.d.ts.map +1 -0
- package/dist/components/Table/cells/RowActionsMenu.d.ts +36 -0
- package/dist/components/Table/cells/RowActionsMenu.d.ts.map +1 -0
- package/dist/components/Table/cells/index.d.ts +11 -0
- package/dist/components/Table/cells/index.d.ts.map +1 -0
- package/dist/components/Table/table.types.d.ts +399 -0
- package/dist/components/Table/table.types.d.ts.map +1 -0
- package/dist/components/Table/table.variants.d.ts +285 -0
- package/dist/components/Table/table.variants.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.d.ts +19 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs/tabs.types.d.ts +61 -0
- package/dist/components/Tabs/tabs.types.d.ts.map +1 -0
- package/dist/components/Tabs/tabs.variants.d.ts +82 -0
- package/dist/components/Tabs/tabs.variants.d.ts.map +1 -0
- package/dist/components/Tabs/useTabs.d.ts +55 -0
- package/dist/components/Tabs/useTabs.d.ts.map +1 -0
- package/dist/components/TextField/TextField.d.ts +25 -0
- package/dist/components/TextField/TextField.d.ts.map +1 -0
- package/dist/components/TextField/textField.types.d.ts +98 -0
- package/dist/components/TextField/textField.types.d.ts.map +1 -0
- package/dist/components/TextField/textField.variants.d.ts +166 -0
- package/dist/components/TextField/textField.variants.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.d.ts +16 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea/textarea.types.d.ts +63 -0
- package/dist/components/Textarea/textarea.types.d.ts.map +1 -0
- package/dist/components/Textarea/textarea.variants.d.ts +197 -0
- package/dist/components/Textarea/textarea.variants.d.ts.map +1 -0
- package/dist/components/TimePicker/TimePicker.d.ts +12 -0
- package/dist/components/TimePicker/TimePicker.d.ts.map +1 -0
- package/dist/components/TimePicker/timePicker.types.d.ts +80 -0
- package/dist/components/TimePicker/timePicker.types.d.ts.map +1 -0
- package/dist/components/TimePicker/timePicker.variants.d.ts +103 -0
- package/dist/components/TimePicker/timePicker.variants.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts +29 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip/tooltip.types.d.ts +47 -0
- package/dist/components/Tooltip/tooltip.types.d.ts.map +1 -0
- package/dist/components/Tooltip/tooltip.variants.d.ts +34 -0
- package/dist/components/Tooltip/tooltip.variants.d.ts.map +1 -0
- package/dist/components/TopBar/TopBar.d.ts +33 -0
- package/dist/components/TopBar/TopBar.d.ts.map +1 -0
- package/dist/components/TopBar/topBar.types.d.ts +49 -0
- package/dist/components/TopBar/topBar.types.d.ts.map +1 -0
- package/dist/components/TopBar/topBar.variants.d.ts +79 -0
- package/dist/components/TopBar/topBar.variants.d.ts.map +1 -0
- package/dist/components/Typography/Typography.d.ts +42 -0
- package/dist/components/Typography/Typography.d.ts.map +1 -0
- package/dist/components/Typography/typography.types.d.ts +61 -0
- package/dist/components/Typography/typography.types.d.ts.map +1 -0
- package/dist/components/Typography/typography.variants.d.ts +167 -0
- package/dist/components/Typography/typography.variants.d.ts.map +1 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts +42 -0
- package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
- package/dist/components/VisuallyHidden/visuallyHidden.types.d.ts +42 -0
- package/dist/components/VisuallyHidden/visuallyHidden.types.d.ts.map +1 -0
- package/dist/components/_shared/data/getNestedValue.d.ts +20 -0
- package/dist/components/_shared/data/getNestedValue.d.ts.map +1 -0
- package/dist/components/_shared/data/useColumnAutoDetect.d.ts +45 -0
- package/dist/components/_shared/data/useColumnAutoDetect.d.ts.map +1 -0
- package/dist/components/_shared/data/useControllableState.d.ts +23 -0
- package/dist/components/_shared/data/useControllableState.d.ts.map +1 -0
- package/dist/components/_shared/data/useDebouncedValue.d.ts +10 -0
- package/dist/components/_shared/data/useDebouncedValue.d.ts.map +1 -0
- package/dist/components/_shared/data/useTableFilter.d.ts +36 -0
- package/dist/components/_shared/data/useTableFilter.d.ts.map +1 -0
- package/dist/components/_shared/data/useTableSearch.d.ts +23 -0
- package/dist/components/_shared/data/useTableSearch.d.ts.map +1 -0
- package/dist/components/_shared/data/useTableSelection.d.ts +25 -0
- package/dist/components/_shared/data/useTableSelection.d.ts.map +1 -0
- package/dist/components/_shared/data/useTableSort.d.ts +20 -0
- package/dist/components/_shared/data/useTableSort.d.ts.map +1 -0
- package/dist/components/_shared/data/useVirtualizer.d.ts +107 -0
- package/dist/components/_shared/data/useVirtualizer.d.ts.map +1 -0
- package/dist/components/_shared/resolveValidationState.d.ts +42 -0
- package/dist/components/_shared/resolveValidationState.d.ts.map +1 -0
- package/dist/hooks/useAccessState.d.ts +37 -0
- package/dist/hooks/useAccessState.d.ts.map +1 -0
- package/dist/index.d.ts +146 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.esm.js +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/tsconfig.lib.tsbuildinfo +1 -0
- package/dist/utils/cn.d.ts +26 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/package.json +7 -7
- package/src/components/TextField/TextField.test.tsx +5 -1
- package/vite.config.ts +8 -0
- package/vitest.config.mts +8 -1
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { ConfirmDialogVariants } from './confirmDialog.variants.js';
|
|
3
|
+
/**
|
|
4
|
+
* Severity / intent of the confirmation request — drives the accent
|
|
5
|
+
* color of the confirm button (info / warning / danger / success).
|
|
6
|
+
*/
|
|
7
|
+
export type ConfirmSeverity = 'info' | 'warning' | 'danger' | 'success';
|
|
8
|
+
export interface ConfirmDialogSlotProps {
|
|
9
|
+
backdrop?: {
|
|
10
|
+
className?: string;
|
|
11
|
+
};
|
|
12
|
+
dialog?: {
|
|
13
|
+
className?: string;
|
|
14
|
+
};
|
|
15
|
+
title?: {
|
|
16
|
+
className?: string;
|
|
17
|
+
};
|
|
18
|
+
body?: {
|
|
19
|
+
className?: string;
|
|
20
|
+
};
|
|
21
|
+
actions?: {
|
|
22
|
+
className?: string;
|
|
23
|
+
};
|
|
24
|
+
confirmButton?: {
|
|
25
|
+
className?: string;
|
|
26
|
+
};
|
|
27
|
+
cancelButton?: {
|
|
28
|
+
className?: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* One-shot confirmation request.
|
|
33
|
+
*
|
|
34
|
+
* Passed to `confirm()` from `useConfirm()` — the consumer awaits the
|
|
35
|
+
* returned promise. Resolves `true` when the user clicks confirm,
|
|
36
|
+
* `false` otherwise (cancel, backdrop, Escape).
|
|
37
|
+
*/
|
|
38
|
+
export interface ConfirmOptions {
|
|
39
|
+
title?: ReactNode;
|
|
40
|
+
/**
|
|
41
|
+
* Body content. Either a plain node (rendered inside `<p>`) or a
|
|
42
|
+
* fully custom render — accepted as a ReactNode to keep the API simple.
|
|
43
|
+
*/
|
|
44
|
+
body?: ReactNode;
|
|
45
|
+
/** Confirm button label. @default 'Confirm' */
|
|
46
|
+
confirmLabel?: ReactNode;
|
|
47
|
+
/** Cancel button label. @default 'Cancel' */
|
|
48
|
+
cancelLabel?: ReactNode;
|
|
49
|
+
/** Severity drives confirm button color. @default 'info' */
|
|
50
|
+
severity?: ConfirmSeverity;
|
|
51
|
+
/** Disable the backdrop-click close. @default false */
|
|
52
|
+
disableBackdropClose?: boolean;
|
|
53
|
+
/** Disable the Escape-key close. @default false */
|
|
54
|
+
disableEscapeClose?: boolean;
|
|
55
|
+
/** Per-slot className overrides for this single invocation. */
|
|
56
|
+
slotProps?: ConfirmDialogSlotProps;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Imperative API exposed by `useConfirm()`.
|
|
60
|
+
*
|
|
61
|
+
* ```tsx
|
|
62
|
+
* const confirm = useConfirm();
|
|
63
|
+
* const ok = await confirm({
|
|
64
|
+
* title: 'Delete record?',
|
|
65
|
+
* body: 'This action cannot be undone.',
|
|
66
|
+
* severity: 'danger',
|
|
67
|
+
* confirmLabel: 'Delete',
|
|
68
|
+
* });
|
|
69
|
+
* if (ok) { ... }
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
export type ConfirmFn = (options?: ConfirmOptions) => Promise<boolean>;
|
|
73
|
+
export interface ConfirmDialogProviderProps extends ConfirmDialogVariants {
|
|
74
|
+
children: ReactNode;
|
|
75
|
+
/** Default options merged into every `confirm()` invocation. */
|
|
76
|
+
defaults?: ConfirmOptions;
|
|
77
|
+
/** Per-slot className overrides applied to ALL invocations. */
|
|
78
|
+
slotProps?: ConfirmDialogSlotProps;
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=confirmDialog.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirmDialog.types.d.ts","sourceRoot":"","sources":["../../../src/components/ConfirmDialog/confirmDialog.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEzE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExE,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,MAAM,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,KAAK,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,aAAa,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,YAAY,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAEvE,MAAM,WAAW,0BAA2B,SAAQ,qBAAqB;IACvE,QAAQ,EAAE,SAAS,CAAC;IACpB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,cAAc,CAAC;IAC1B,+DAA+D;IAC/D,SAAS,CAAC,EAAE,sBAAsB,CAAC;CACpC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
/**
|
|
3
|
+
* Tailwind-variants recipe for `<ConfirmDialog>`.
|
|
4
|
+
*
|
|
5
|
+
* Built on the native HTML `<dialog>` element + `showModal()`, which
|
|
6
|
+
* gives us focus-trap, Escape handling, and `::backdrop` pseudo-element
|
|
7
|
+
* for free. The styling here is for the dialog body — the backdrop is
|
|
8
|
+
* styled via the `::backdrop` selector inside the dialog rule.
|
|
9
|
+
*
|
|
10
|
+
* Slots:
|
|
11
|
+
* - `backdrop` — semi-opaque overlay (`::backdrop` pseudo)
|
|
12
|
+
* - `dialog` — the modal box
|
|
13
|
+
* - `title` — modal heading
|
|
14
|
+
* - `body` — message text
|
|
15
|
+
* - `actions` — bottom button row
|
|
16
|
+
* - `confirmButton` — primary action
|
|
17
|
+
* - `cancelButton` — secondary action
|
|
18
|
+
*/
|
|
19
|
+
export declare const confirmDialogVariants: import("tailwind-variants").TVReturnType<{
|
|
20
|
+
severity: {
|
|
21
|
+
info: {
|
|
22
|
+
confirmButton: string;
|
|
23
|
+
};
|
|
24
|
+
warning: {
|
|
25
|
+
confirmButton: string;
|
|
26
|
+
};
|
|
27
|
+
danger: {
|
|
28
|
+
confirmButton: string;
|
|
29
|
+
};
|
|
30
|
+
success: {
|
|
31
|
+
confirmButton: string;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
}, {
|
|
35
|
+
backdrop: string;
|
|
36
|
+
dialog: string[];
|
|
37
|
+
title: string;
|
|
38
|
+
body: string;
|
|
39
|
+
actions: string;
|
|
40
|
+
confirmButton: string[];
|
|
41
|
+
cancelButton: string[];
|
|
42
|
+
}, undefined, {
|
|
43
|
+
severity: {
|
|
44
|
+
info: {
|
|
45
|
+
confirmButton: string;
|
|
46
|
+
};
|
|
47
|
+
warning: {
|
|
48
|
+
confirmButton: string;
|
|
49
|
+
};
|
|
50
|
+
danger: {
|
|
51
|
+
confirmButton: string;
|
|
52
|
+
};
|
|
53
|
+
success: {
|
|
54
|
+
confirmButton: string;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
}, {
|
|
58
|
+
backdrop: string;
|
|
59
|
+
dialog: string[];
|
|
60
|
+
title: string;
|
|
61
|
+
body: string;
|
|
62
|
+
actions: string;
|
|
63
|
+
confirmButton: string[];
|
|
64
|
+
cancelButton: string[];
|
|
65
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
66
|
+
severity: {
|
|
67
|
+
info: {
|
|
68
|
+
confirmButton: string;
|
|
69
|
+
};
|
|
70
|
+
warning: {
|
|
71
|
+
confirmButton: string;
|
|
72
|
+
};
|
|
73
|
+
danger: {
|
|
74
|
+
confirmButton: string;
|
|
75
|
+
};
|
|
76
|
+
success: {
|
|
77
|
+
confirmButton: string;
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
}, {
|
|
81
|
+
backdrop: string;
|
|
82
|
+
dialog: string[];
|
|
83
|
+
title: string;
|
|
84
|
+
body: string;
|
|
85
|
+
actions: string;
|
|
86
|
+
confirmButton: string[];
|
|
87
|
+
cancelButton: string[];
|
|
88
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
89
|
+
export type ConfirmDialogVariants = VariantProps<typeof confirmDialogVariants>;
|
|
90
|
+
//# sourceMappingURL=confirmDialog.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirmDialog.variants.d.ts","sourceRoot":"","sources":["../../../src/components/ConfirmDialog/confirmDialog.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAsDhC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { ContainerProps } from './container.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* `<Container>` — centered max-width wrapper for page-level layouts.
|
|
4
|
+
*
|
|
5
|
+
* The pattern is universal: every page-root `<div>` in a non-trivial
|
|
6
|
+
* web app boils down to "mx-auto + max-w-X + responsive horizontal
|
|
7
|
+
* padding". Container collapses that into a typed prop set so the
|
|
8
|
+
* decision lives in ONE place per app section (the Container size),
|
|
9
|
+
* not scattered as utility chains across every page file.
|
|
10
|
+
*
|
|
11
|
+
* Default size is `'xl'` (1280px) — comfortable for full app shells
|
|
12
|
+
* with a left nav + main + optional right rail. Drop to `'lg'` (1024px)
|
|
13
|
+
* for content-heavy docs/marketing, jump to `'2xl'` (1536px) for wide
|
|
14
|
+
* dashboards.
|
|
15
|
+
*
|
|
16
|
+
* Composition pattern — Container at the page root, Stack/Grid inside:
|
|
17
|
+
*
|
|
18
|
+
* <Container size="lg" as="main">
|
|
19
|
+
* <Stack gap={8}>
|
|
20
|
+
* <Typography variant="h1">Page title</Typography>
|
|
21
|
+
* <Grid container spacing={6}>
|
|
22
|
+
* <Grid xs={12} md={6}>...</Grid>
|
|
23
|
+
* </Grid>
|
|
24
|
+
* </Stack>
|
|
25
|
+
* </Container>
|
|
26
|
+
*
|
|
27
|
+
* Container handles the page chrome (centered, padded, capped width);
|
|
28
|
+
* Stack/Grid handle the actual layout of children. Two concerns, two
|
|
29
|
+
* primitives.
|
|
30
|
+
*
|
|
31
|
+
* Polymorphism rule (same as Typography/Box/Stack/Grid): when both
|
|
32
|
+
* `as` and `asChild` are passed, `asChild` wins.
|
|
33
|
+
*/
|
|
34
|
+
export declare const Container: import("react").ForwardRefExoticComponent<ContainerProps & import("react").RefAttributes<HTMLElement>>;
|
|
35
|
+
//# sourceMappingURL=Container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../src/components/Container/Container.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,SAAS,wGAiCrB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ElementType, HTMLAttributes } from 'react';
|
|
2
|
+
import type { ContainerVariants } from './container.variants.js';
|
|
3
|
+
/**
|
|
4
|
+
* Props for `<Container>` — page-level centered max-width wrapper.
|
|
5
|
+
*
|
|
6
|
+
* Use at the page-root level (or section-root) to constrain content
|
|
7
|
+
* width and apply the canonical responsive horizontal padding ramp.
|
|
8
|
+
* Compose Stack/Grid INSIDE Container for the actual layout work.
|
|
9
|
+
*
|
|
10
|
+
* Native attribute overrides:
|
|
11
|
+
* • `className` omitted in favour of `sx` (utility string, merged
|
|
12
|
+
* via tailwind-merge — same convention as Box/Stack/Grid/Typography).
|
|
13
|
+
*/
|
|
14
|
+
export interface ContainerProps extends Omit<HTMLAttributes<HTMLDivElement>, 'className'>, Pick<ContainerVariants, 'size' | 'px' | 'centerContent'> {
|
|
15
|
+
/**
|
|
16
|
+
* Override the rendered HTML tag. Defaults to `'div'`. Use
|
|
17
|
+
* `as="main"` for the primary content region of a page,
|
|
18
|
+
* `as="section"` for a named section, `as="article"` for a
|
|
19
|
+
* self-contained article shell.
|
|
20
|
+
*
|
|
21
|
+
* Ignored when `asChild` is true.
|
|
22
|
+
*/
|
|
23
|
+
as?: ElementType;
|
|
24
|
+
/**
|
|
25
|
+
* Render via Radix `Slot` — the Container styles paint onto the
|
|
26
|
+
* single React child instead of wrapping it. Useful for letting a
|
|
27
|
+
* router `<main>` element receive the Container chrome without
|
|
28
|
+
* adding an intermediate `<div>` in the tree.
|
|
29
|
+
*
|
|
30
|
+
* Mutually exclusive with `as` (when both are passed, `asChild` wins).
|
|
31
|
+
*/
|
|
32
|
+
asChild?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Utility classes appended to the variant chain. Resolved via
|
|
35
|
+
* `tailwind-merge` so the consumer's classes always win over the
|
|
36
|
+
* variant defaults — useful for one-off vertical padding (`sx="py-8"`),
|
|
37
|
+
* custom max-width (`sx="max-w-3xl"`), etc.
|
|
38
|
+
*/
|
|
39
|
+
sx?: string;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=container.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.types.d.ts","sourceRoot":"","sources":["../../../src/components/Container/container.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,WAAW,CAAC,EACjD,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,GAAG,eAAe,CAAC;IAChE;;;;;;;OAOG;IACH,EAAE,CAAC,EAAE,WAAW,CAAC;IAEjB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;CACb"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { type VariantProps } from 'tailwind-variants';
|
|
2
|
+
/**
|
|
3
|
+
* `containerVariants` — centered max-width wrapper for page layouts.
|
|
4
|
+
*
|
|
5
|
+
* Architectural role:
|
|
6
|
+
*
|
|
7
|
+
* Every web app has the same pattern at the page-root level: a div
|
|
8
|
+
* that's `mx-auto`, capped at some `max-w-*`, with responsive
|
|
9
|
+
* horizontal padding. Without Container, every page rewrites:
|
|
10
|
+
*
|
|
11
|
+
* <div className="mx-auto max-w-7xl px-4 sm:px-6 lg:px-8">
|
|
12
|
+
*
|
|
13
|
+
* Container collapses that into one typed prop set, with size names
|
|
14
|
+
* that mirror Tailwind's breakpoint vocabulary so the muscle memory
|
|
15
|
+
* carries over (`size="lg"` ↔ `max-w-screen-lg`).
|
|
16
|
+
*
|
|
17
|
+
* Size axis — maps to Tailwind's `max-w-screen-*` aliases:
|
|
18
|
+
* • sm → max-w-screen-sm (640px)
|
|
19
|
+
* • md → max-w-screen-md (768px)
|
|
20
|
+
* • lg → max-w-screen-lg (1024px) — most common doc/content cap
|
|
21
|
+
* • xl → max-w-screen-xl (1280px) — default; comfortable for full apps
|
|
22
|
+
* • 2xl → max-w-screen-2xl (1536px) — wide dashboards
|
|
23
|
+
* • fluid → no max-width at all (full bleed, padding still applies)
|
|
24
|
+
*
|
|
25
|
+
* Padding axis (`px`):
|
|
26
|
+
* • true (default) — responsive horizontal padding (px-4 sm:px-6 lg:px-8)
|
|
27
|
+
* The canonical Tailwind responsive padding ramp. Designed to keep
|
|
28
|
+
* edges from kissing the viewport on mobile and breathing more on
|
|
29
|
+
* larger screens.
|
|
30
|
+
* • false — no padding. Use when the consumer wants full bleed AND
|
|
31
|
+
* handles edge padding inside (e.g. a hero section with its own
|
|
32
|
+
* internal spacing scale).
|
|
33
|
+
*
|
|
34
|
+
* Center content axis (`centerContent`):
|
|
35
|
+
* • true — turns the Container into a flex column with items-center
|
|
36
|
+
* so the page content stacks centered horizontally. Common for
|
|
37
|
+
* marketing pages, sign-in flows, "single artifact" layouts.
|
|
38
|
+
* • false (default) — children flow normally (block stacking).
|
|
39
|
+
*/
|
|
40
|
+
export declare const containerVariants: import("tailwind-variants").TVReturnType<{
|
|
41
|
+
size: {
|
|
42
|
+
sm: string;
|
|
43
|
+
md: string;
|
|
44
|
+
lg: string;
|
|
45
|
+
xl: string;
|
|
46
|
+
'2xl': string;
|
|
47
|
+
fluid: string;
|
|
48
|
+
};
|
|
49
|
+
px: {
|
|
50
|
+
true: string;
|
|
51
|
+
false: string;
|
|
52
|
+
};
|
|
53
|
+
centerContent: {
|
|
54
|
+
true: string;
|
|
55
|
+
false: string;
|
|
56
|
+
};
|
|
57
|
+
}, undefined, "mx-auto w-full", {
|
|
58
|
+
size: {
|
|
59
|
+
sm: string;
|
|
60
|
+
md: string;
|
|
61
|
+
lg: string;
|
|
62
|
+
xl: string;
|
|
63
|
+
'2xl': string;
|
|
64
|
+
fluid: string;
|
|
65
|
+
};
|
|
66
|
+
px: {
|
|
67
|
+
true: string;
|
|
68
|
+
false: string;
|
|
69
|
+
};
|
|
70
|
+
centerContent: {
|
|
71
|
+
true: string;
|
|
72
|
+
false: string;
|
|
73
|
+
};
|
|
74
|
+
}, undefined, import("tailwind-variants").TVReturnType<{
|
|
75
|
+
size: {
|
|
76
|
+
sm: string;
|
|
77
|
+
md: string;
|
|
78
|
+
lg: string;
|
|
79
|
+
xl: string;
|
|
80
|
+
'2xl': string;
|
|
81
|
+
fluid: string;
|
|
82
|
+
};
|
|
83
|
+
px: {
|
|
84
|
+
true: string;
|
|
85
|
+
false: string;
|
|
86
|
+
};
|
|
87
|
+
centerContent: {
|
|
88
|
+
true: string;
|
|
89
|
+
false: string;
|
|
90
|
+
};
|
|
91
|
+
}, undefined, "mx-auto w-full", unknown, unknown, undefined>>;
|
|
92
|
+
export type ContainerVariants = VariantProps<typeof containerVariants>;
|
|
93
|
+
//# sourceMappingURL=container.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.variants.d.ts","sourceRoot":"","sources":["../../../src/components/Container/container.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAsC5B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { DataGridProps } from './dataGrid.types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Dashforge TW `<DataGrid>` — virtualized data table.
|
|
4
|
+
*
|
|
5
|
+
* Companion to `<Table>` for large data sets (~500+ rows up to
|
|
6
|
+
* millions via virtualization). Same column model, sort/search/
|
|
7
|
+
* filter/selection logic (shared via `_shared/data/` helpers) —
|
|
8
|
+
* differs in render path: only the visible window of rows is mounted
|
|
9
|
+
* in DOM, with spacer `<tr>` above and below to preserve scrollbar
|
|
10
|
+
* size.
|
|
11
|
+
*
|
|
12
|
+
* Virtualization: hand-rolled (`useVirtualizer`) using
|
|
13
|
+
* `IntersectionObserver` + scroll-event + `requestAnimationFrame`
|
|
14
|
+
* debounce + `ResizeObserver`. Zero new runtime deps.
|
|
15
|
+
*
|
|
16
|
+
* Server-side mode (4 independent opt-in flags):
|
|
17
|
+
* - `serverSideSort` — emits `onSortChange` but does NOT sort locally
|
|
18
|
+
* - `serverSideFilter` — emits `onFilterChange` but does NOT filter
|
|
19
|
+
* - `serverSideSearch` — emits `onSearchQueryChange` (debounced)
|
|
20
|
+
* - `serverSidePagination` — `totalCount` prop sizes the virtual
|
|
21
|
+
* scrollbar; `rows` is the page slice from the server
|
|
22
|
+
*
|
|
23
|
+
* Selection at scale: `selectAllScope`:
|
|
24
|
+
* - `'allLoaded'` (default) — header checkbox toggles all rows in
|
|
25
|
+
* `rows` prop
|
|
26
|
+
* - `'visible'` — toggles only the current viewport window
|
|
27
|
+
*/
|
|
28
|
+
export declare function DataGrid<T extends object>(props: DataGridProps<T>): import("react/jsx-runtime").JSX.Element | null;
|
|
29
|
+
//# sourceMappingURL=DataGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/DataGrid.tsx"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AA0CzD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,kDA6jBjE"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { AccessRequirement } from '@dashforge/rbac';
|
|
3
|
+
import type { DataGridVariants } from './dataGrid.variants.js';
|
|
4
|
+
import type { TableColumn, TableSortModel, TableFilterModel, TableRowSelectionMode, TableLabels } from '../Table/table.types.js';
|
|
5
|
+
/**
|
|
6
|
+
* Determines what the "select all" header checkbox covers when
|
|
7
|
+
* `rowSelection="multiple"` is enabled.
|
|
8
|
+
*
|
|
9
|
+
* - `'visible'` — only the rows currently in the viewport (after
|
|
10
|
+
* virtualization windowing) are toggled. Useful when the
|
|
11
|
+
* underlying data is paginated server-side and "all" semantically
|
|
12
|
+
* refers to the screen.
|
|
13
|
+
* - `'allLoaded'` (default) — all rows currently in the `rows` prop
|
|
14
|
+
* are toggled. The standard "select everything I can see in this
|
|
15
|
+
* dataset" pattern.
|
|
16
|
+
*
|
|
17
|
+
* For "select all in server-side dataset", the consumer wires it
|
|
18
|
+
* themselves (e.g. fetch all ids + setSelectedRowIds).
|
|
19
|
+
*/
|
|
20
|
+
export type DataGridSelectAllScope = 'visible' | 'allLoaded';
|
|
21
|
+
/**
|
|
22
|
+
* Independent opt-in flags that delegate the corresponding pipeline
|
|
23
|
+
* step to the consumer. With each flag enabled, DataGrid emits the
|
|
24
|
+
* `onXChange` callback but does NOT perform the operation locally
|
|
25
|
+
* — the consumer is expected to provide the resulting `rows` array.
|
|
26
|
+
*/
|
|
27
|
+
export interface DataGridServerSideFlags {
|
|
28
|
+
serverSideSort?: boolean;
|
|
29
|
+
serverSideFilter?: boolean;
|
|
30
|
+
serverSideSearch?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* When true, DataGrid does NOT slice `rows` for pagination. The
|
|
33
|
+
* virtualization math uses `totalCount` (required) to size the
|
|
34
|
+
* scroll container.
|
|
35
|
+
*/
|
|
36
|
+
serverSidePagination?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface DataGridPaginationConfig {
|
|
39
|
+
page: number;
|
|
40
|
+
pageSize: number;
|
|
41
|
+
onPageChange: (page: number) => void;
|
|
42
|
+
onPageSizeChange?: (pageSize: number) => void;
|
|
43
|
+
pageSizeOptions?: number[];
|
|
44
|
+
}
|
|
45
|
+
export interface DataGridSlotProps {
|
|
46
|
+
root?: {
|
|
47
|
+
className?: string;
|
|
48
|
+
};
|
|
49
|
+
toolbar?: {
|
|
50
|
+
className?: string;
|
|
51
|
+
};
|
|
52
|
+
search?: {
|
|
53
|
+
className?: string;
|
|
54
|
+
};
|
|
55
|
+
scroll?: {
|
|
56
|
+
className?: string;
|
|
57
|
+
};
|
|
58
|
+
table?: {
|
|
59
|
+
className?: string;
|
|
60
|
+
};
|
|
61
|
+
thead?: {
|
|
62
|
+
className?: string;
|
|
63
|
+
};
|
|
64
|
+
tbody?: {
|
|
65
|
+
className?: string;
|
|
66
|
+
};
|
|
67
|
+
headerRow?: {
|
|
68
|
+
className?: string;
|
|
69
|
+
};
|
|
70
|
+
headerCell?: {
|
|
71
|
+
className?: string;
|
|
72
|
+
};
|
|
73
|
+
row?: {
|
|
74
|
+
className?: string;
|
|
75
|
+
};
|
|
76
|
+
cell?: {
|
|
77
|
+
className?: string;
|
|
78
|
+
};
|
|
79
|
+
emptyState?: {
|
|
80
|
+
className?: string;
|
|
81
|
+
};
|
|
82
|
+
loadingOverlay?: {
|
|
83
|
+
className?: string;
|
|
84
|
+
};
|
|
85
|
+
selectionCell?: {
|
|
86
|
+
className?: string;
|
|
87
|
+
};
|
|
88
|
+
rowActionsCell?: {
|
|
89
|
+
className?: string;
|
|
90
|
+
};
|
|
91
|
+
bulkActionFooter?: {
|
|
92
|
+
className?: string;
|
|
93
|
+
};
|
|
94
|
+
/** Optional Pagination wrapper below the virtualized scroll. */
|
|
95
|
+
pagination?: {
|
|
96
|
+
className?: string;
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Props for `<DataGrid>`.
|
|
101
|
+
*
|
|
102
|
+
* Companion to `<Table>` for large data sets. Where Table renders
|
|
103
|
+
* every row in DOM, DataGrid uses **homemade virtualization**
|
|
104
|
+
* (`IntersectionObserver` + scroll-event + `requestAnimationFrame`
|
|
105
|
+
* — no external libs) to render only a window of visible rows.
|
|
106
|
+
*
|
|
107
|
+
* Required:
|
|
108
|
+
* - `rows`, `cols`, `getRowId` — same as Table
|
|
109
|
+
* - `rowHeight` (fixed in v1; variable-height deferred to v1-bis)
|
|
110
|
+
* - `height` — explicit container height in CSS units, OR
|
|
111
|
+
* consumer sets it via `sx` / parent layout (the scroll container
|
|
112
|
+
* needs a bounded height for virtualization to work)
|
|
113
|
+
*
|
|
114
|
+
* Optional:
|
|
115
|
+
* - `overscan` — extra rows above/below viewport (default 5)
|
|
116
|
+
* - Server-side mode flags (4 independent opt-ins)
|
|
117
|
+
* - Internal pagination (opt-in via `pagination` config)
|
|
118
|
+
* - `selectAllScope` — `'visible'` vs `'allLoaded'` for header
|
|
119
|
+
* select-all checkbox
|
|
120
|
+
* - Everything Table accepts: sort / filter / search / selection /
|
|
121
|
+
* row actions / RBAC / variants / i18n labels / sx / slotProps
|
|
122
|
+
*/
|
|
123
|
+
export interface DataGridProps<T extends object> extends Pick<DataGridVariants, 'variant' | 'size' | 'density'>, DataGridServerSideFlags {
|
|
124
|
+
rows: T[];
|
|
125
|
+
cols: TableColumn<T>[];
|
|
126
|
+
getRowId: (row: T, index: number) => string;
|
|
127
|
+
/** Required: total dataset count. In client-side mode equals
|
|
128
|
+
* `rows.length`; in `serverSidePagination` mode the consumer
|
|
129
|
+
* provides the full count so the virtual scroll height matches. */
|
|
130
|
+
totalCount?: number;
|
|
131
|
+
/** Fixed row height in pixels. Required for windowing math. */
|
|
132
|
+
rowHeight: number;
|
|
133
|
+
/** Rows rendered above/below the viewport. @default 5 */
|
|
134
|
+
overscan?: number;
|
|
135
|
+
/** Container height in CSS units (e.g. `"600px"`, `"100vh"`).
|
|
136
|
+
* Required for the scroll container to bound the virtualization. */
|
|
137
|
+
height?: string;
|
|
138
|
+
sortModel?: TableSortModel;
|
|
139
|
+
onSortChange?: (model: TableSortModel) => void;
|
|
140
|
+
defaultSortModel?: TableSortModel;
|
|
141
|
+
enableSearch?: boolean;
|
|
142
|
+
searchQuery?: string;
|
|
143
|
+
onSearchQueryChange?: (q: string) => void;
|
|
144
|
+
searchPlaceholder?: string;
|
|
145
|
+
searchDebounceMs?: number;
|
|
146
|
+
filterModel?: TableFilterModel;
|
|
147
|
+
onFilterChange?: (model: TableFilterModel) => void;
|
|
148
|
+
/**
|
|
149
|
+
* List of column `field`s currently hidden. Drives the column
|
|
150
|
+
* visibility dialog. When omitted, the dialog manages state
|
|
151
|
+
* internally (seeded from each column's `defaultHidden`).
|
|
152
|
+
*/
|
|
153
|
+
hiddenColumns?: string[];
|
|
154
|
+
/** Called when the user commits a change in the visibility dialog. */
|
|
155
|
+
onHiddenColumnsChange?: (next: string[]) => void;
|
|
156
|
+
/**
|
|
157
|
+
* Show the "Columns" button in the toolbar. Defaults to `true` so
|
|
158
|
+
* the dialog is discoverable; set `false` for embedded / compact
|
|
159
|
+
* grids where columns are externally controlled.
|
|
160
|
+
* @default true
|
|
161
|
+
*/
|
|
162
|
+
enableColumnVisibility?: boolean;
|
|
163
|
+
/**
|
|
164
|
+
* Map of `field → width (px)` for user-resized columns. When
|
|
165
|
+
* omitted, DataGrid manages widths internally — seeded from each
|
|
166
|
+
* column's `width` prop.
|
|
167
|
+
*/
|
|
168
|
+
columnWidths?: Record<string, number>;
|
|
169
|
+
/** Called when the user finishes (or actively drags) a resize. */
|
|
170
|
+
onColumnWidthsChange?: (next: Record<string, number>) => void;
|
|
171
|
+
/**
|
|
172
|
+
* Allow user-driven column resize via drag on the right edge of
|
|
173
|
+
* each `<th>`. Per-column opt-out via `col.resizable = false`.
|
|
174
|
+
* @default true
|
|
175
|
+
*/
|
|
176
|
+
enableColumnResize?: boolean;
|
|
177
|
+
/**
|
|
178
|
+
* Custom display order, as a list of `field`s. Columns not in the
|
|
179
|
+
* list are appended in their original order at the end. When
|
|
180
|
+
* omitted, DataGrid uses the order from the `cols` prop.
|
|
181
|
+
*/
|
|
182
|
+
columnOrder?: string[];
|
|
183
|
+
/** Called when the user finishes a reorder drag. */
|
|
184
|
+
onColumnOrderChange?: (next: string[]) => void;
|
|
185
|
+
/**
|
|
186
|
+
* Allow user-driven column reorder via native HTML5 drag-and-drop
|
|
187
|
+
* on each `<th>`. Per-column opt-out via `col.reorderable = false`.
|
|
188
|
+
* @default true
|
|
189
|
+
*/
|
|
190
|
+
enableColumnReorder?: boolean;
|
|
191
|
+
rowSelection?: TableRowSelectionMode;
|
|
192
|
+
selectedRowIds?: string[];
|
|
193
|
+
onSelectionChange?: (ids: string[]) => void;
|
|
194
|
+
/** Bulk action sticky footer (visible only when selection > 0). */
|
|
195
|
+
bulkActions?: (selectedRows: T[]) => ReactNode;
|
|
196
|
+
/**
|
|
197
|
+
* Scope of the "select all" header checkbox.
|
|
198
|
+
* @default 'allLoaded'
|
|
199
|
+
*/
|
|
200
|
+
selectAllScope?: DataGridSelectAllScope;
|
|
201
|
+
pagination?: DataGridPaginationConfig;
|
|
202
|
+
rowActions?: (row: T) => ReactNode;
|
|
203
|
+
loading?: boolean;
|
|
204
|
+
loadingRowCount?: number;
|
|
205
|
+
emptyState?: ReactNode;
|
|
206
|
+
stickyHeader?: boolean;
|
|
207
|
+
caption?: ReactNode;
|
|
208
|
+
showCaption?: boolean;
|
|
209
|
+
access?: AccessRequirement;
|
|
210
|
+
labels?: TableLabels;
|
|
211
|
+
sx?: string;
|
|
212
|
+
slotProps?: DataGridSlotProps;
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=dataGrid.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataGrid.types.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/dataGrid.types.ts"],"names":[],"mappings":"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"}
|