@juspay/blend-design-system 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +177 -0
- package/dist/assets/main.css +1 -0
- package/dist/breakpoints/breakPoints.d.ts +5 -0
- package/dist/components/Accordion/Accordion.d.ts +4 -0
- package/dist/components/Accordion/AccordionItem.d.ts +6 -0
- package/dist/components/Accordion/accordion.tokens.d.ts +49 -0
- package/dist/components/Accordion/index.d.ts +3 -0
- package/dist/components/Accordion/types.d.ts +29 -0
- package/dist/components/Alert/Alert.d.ts +4 -0
- package/dist/components/Alert/alert.tokens.d.ts +25 -0
- package/dist/components/Alert/index.d.ts +2 -0
- package/dist/components/Alert/types.d.ts +33 -0
- package/dist/components/Avatar/Avatar.d.ts +12 -0
- package/dist/components/Avatar/StyledAvatar.d.ts +8 -0
- package/dist/components/Avatar/avatarUtils.d.ts +7 -0
- package/dist/components/Avatar/index.d.ts +2 -0
- package/dist/components/Avatar/token.d.ts +71 -0
- package/dist/components/Avatar/types.d.ts +29 -0
- package/dist/components/AvatarGroup/AvatarGroup.d.ts +11 -0
- package/dist/components/AvatarGroup/StyledAvatarGroup.d.ts +6 -0
- package/dist/components/AvatarGroup/avatarGroupUtils.d.ts +24 -0
- package/dist/components/AvatarGroup/index.d.ts +2 -0
- package/dist/components/AvatarGroup/token.d.ts +89 -0
- package/dist/components/AvatarGroup/types.d.ts +29 -0
- package/dist/components/Breadcrumb/Breadcrumb.d.ts +8 -0
- package/dist/components/Breadcrumb/breadcrumb.tokens.d.ts +31 -0
- package/dist/components/Breadcrumb/index.d.ts +2 -0
- package/dist/components/Breadcrumb/types.d.ts +6 -0
- package/dist/components/Button/Button.d.ts +18 -0
- package/dist/components/Button/button.tokens.d.ts +61 -0
- package/dist/components/Button/index.d.ts +2 -0
- package/dist/components/Button/types.d.ts +34 -0
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +4 -0
- package/dist/components/ButtonGroup/index.d.ts +2 -0
- package/dist/components/ButtonGroup/types.d.ts +6 -0
- package/dist/components/Charts/ChartHeader.d.ts +2 -0
- package/dist/components/Charts/ChartLegend.d.ts +3 -0
- package/dist/components/Charts/ChartUtils.d.ts +5 -0
- package/dist/components/Charts/Charts.d.ts +3 -0
- package/dist/components/Charts/CustomTooltip.d.ts +2 -0
- package/dist/components/Charts/index.d.ts +2 -0
- package/dist/components/Charts/renderChart.d.ts +2 -0
- package/dist/components/Charts/types.d.ts +83 -0
- package/dist/components/Charts/utils.d.ts +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +3 -0
- package/dist/components/Checkbox/StyledCheckbox.d.ts +11 -0
- package/dist/components/Checkbox/checkbox.token.d.ts +96 -0
- package/dist/components/Checkbox/checkboxUtils.d.ts +68 -0
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Checkbox/types.d.ts +21 -0
- package/dist/components/DataTable/ColumnFilter/index.d.ts +9 -0
- package/dist/components/DataTable/ColumnManager.d.ts +5 -0
- package/dist/components/DataTable/DataTable.d.ts +3 -0
- package/dist/components/DataTable/DataTable.stories.d.ts +16 -0
- package/dist/components/DataTable/DataTableHeader/index.d.ts +3 -0
- package/dist/components/DataTable/DataTableHeader/types.d.ts +20 -0
- package/dist/components/DataTable/DataTablePagination.d.ts +11 -0
- package/dist/components/DataTable/TableBody/BulkActionBar.d.ts +8 -0
- package/dist/components/DataTable/TableBody/index.d.ts +4 -0
- package/dist/components/DataTable/TableBody/types.d.ts +32 -0
- package/dist/components/DataTable/TableCell/index.d.ts +3 -0
- package/dist/components/DataTable/TableCell/types.d.ts +12 -0
- package/dist/components/DataTable/TableFooter/index.d.ts +3 -0
- package/dist/components/DataTable/TableFooter/types.d.ts +10 -0
- package/dist/components/DataTable/TableHeader/FilterComponents.d.ts +59 -0
- package/dist/components/DataTable/TableHeader/handlers.d.ts +28 -0
- package/dist/components/DataTable/TableHeader/index.d.ts +3 -0
- package/dist/components/DataTable/TableHeader/types.d.ts +21 -0
- package/dist/components/DataTable/TableHeader/utils.d.ts +29 -0
- package/dist/components/DataTable/columnTypes.d.ts +87 -0
- package/dist/components/DataTable/dataTable.tokens.d.ts +174 -0
- package/dist/components/DataTable/index.d.ts +10 -0
- package/dist/components/DataTable/types.d.ts +230 -0
- package/dist/components/DataTable/utils.d.ts +52 -0
- package/dist/components/DateRangePicker/CalendarGrid.d.ts +11 -0
- package/dist/components/DateRangePicker/DateRangePicker.d.ts +4 -0
- package/dist/components/DateRangePicker/QuickRangeSelector.d.ts +13 -0
- package/dist/components/DateRangePicker/TimeSelector.d.ts +7 -0
- package/dist/components/DateRangePicker/dateRangePicker.tokens.d.ts +188 -0
- package/dist/components/DateRangePicker/index.d.ts +2 -0
- package/dist/components/DateRangePicker/types.d.ts +38 -0
- package/dist/components/DateRangePicker/utils.d.ts +470 -0
- package/dist/components/Directory/Directory.d.ts +6 -0
- package/dist/components/Directory/NavItem.d.ts +7 -0
- package/dist/components/Directory/Section.d.ts +3 -0
- package/dist/components/Directory/index.d.ts +2 -0
- package/dist/components/Directory/types.d.ts +29 -0
- package/dist/components/Directory/utils.d.ts +9 -0
- package/dist/components/Drawer/Drawer.d.ts +6 -0
- package/dist/components/Drawer/components/DrawerBase.d.ts +30 -0
- package/dist/components/Drawer/components/NestedSelectDrawer.d.ts +72 -0
- package/dist/components/Drawer/components/SelectDrawer.d.ts +9 -0
- package/dist/components/Drawer/components/StatusDrawer.d.ts +5 -0
- package/dist/components/Drawer/drawer.tokens.d.ts +60 -0
- package/dist/components/Drawer/index.d.ts +3 -0
- package/dist/components/Drawer/types.d.ts +384 -0
- package/dist/components/Dropdown/Dropdown.d.ts +9 -0
- package/dist/components/GradientBlur/GradientBlur.d.ts +2 -0
- package/dist/components/Inputs/DropdownInput/DropdownInput.d.ts +3 -0
- package/dist/components/Inputs/DropdownInput/dropdownInput.tokens.d.ts +33 -0
- package/dist/components/Inputs/DropdownInput/index.d.ts +2 -0
- package/dist/components/Inputs/DropdownInput/types.d.ts +31 -0
- package/dist/components/Inputs/MultiValueInput/MultiValueInput.d.ts +3 -0
- package/dist/components/Inputs/MultiValueInput/index.d.ts +2 -0
- package/dist/components/Inputs/MultiValueInput/multiValueInput.tokens.d.ts +33 -0
- package/dist/components/Inputs/MultiValueInput/types.d.ts +25 -0
- package/dist/components/Inputs/NumberInput/NumberInput.d.ts +3 -0
- package/dist/components/Inputs/NumberInput/index.d.ts +2 -0
- package/dist/components/Inputs/NumberInput/numberInput.tokens.d.ts +44 -0
- package/dist/components/Inputs/NumberInput/types.d.ts +16 -0
- package/dist/components/Inputs/OTPInput/OTPInput.d.ts +3 -0
- package/dist/components/Inputs/OTPInput/index.d.ts +2 -0
- package/dist/components/Inputs/OTPInput/otpInput.tokens.d.ts +34 -0
- package/dist/components/Inputs/OTPInput/types.d.ts +11 -0
- package/dist/components/Inputs/SearchInput/SearchInput.d.ts +3 -0
- package/dist/components/Inputs/SearchInput/index.d.ts +2 -0
- package/dist/components/Inputs/SearchInput/searchInput.tokens.d.ts +41 -0
- package/dist/components/Inputs/SearchInput/types.d.ts +7 -0
- package/dist/components/Inputs/TextArea/TextArea.d.ts +3 -0
- package/dist/components/Inputs/TextArea/index.d.ts +2 -0
- package/dist/components/Inputs/TextArea/textarea.token.d.ts +27 -0
- package/dist/components/Inputs/TextArea/types.d.ts +22 -0
- package/dist/components/Inputs/TextInput/TextInput.d.ts +3 -0
- package/dist/components/Inputs/TextInput/index.d.ts +2 -0
- package/dist/components/Inputs/TextInput/textInput.tokens.d.ts +33 -0
- package/dist/components/Inputs/TextInput/types.d.ts +24 -0
- package/dist/components/Inputs/UnitInput/UnitInput.d.ts +3 -0
- package/dist/components/Inputs/UnitInput/index.d.ts +2 -0
- package/dist/components/Inputs/UnitInput/types.d.ts +25 -0
- package/dist/components/Inputs/UnitInput/unitInput.tokens.d.ts +40 -0
- package/dist/components/Inputs/index.d.ts +8 -0
- package/dist/components/Inputs/utils/InputFooter/InputFooter.d.ts +8 -0
- package/dist/components/Inputs/utils/InputLabels/InputLabels.d.ts +18 -0
- package/dist/components/Menu/Menu.d.ts +8 -0
- package/dist/components/Menu/MenuGroupLabel.d.ts +3 -0
- package/dist/components/Menu/MenuItem.d.ts +9 -0
- package/dist/components/Menu/MenuPlayground.d.ts +3 -0
- package/dist/components/Menu/MenuPlaygroundComprehensive.d.ts +3 -0
- package/dist/components/Menu/SubMenu.d.ts +5 -0
- package/dist/components/Menu/index.d.ts +2 -0
- package/dist/components/Menu/menu.styles.d.ts +2 -0
- package/dist/components/Menu/menu.tokens.d.ts +100 -0
- package/dist/components/Menu/types.d.ts +55 -0
- package/dist/components/Menu/utils.d.ts +3 -0
- package/dist/components/Modal/Modal.d.ts +3 -0
- package/dist/components/Modal/index.d.ts +2 -0
- package/dist/components/Modal/modal.tokens.d.ts +48 -0
- package/dist/components/Modal/types.d.ts +22 -0
- package/dist/components/MultiSelect/MultiSelect.d.ts +3 -0
- package/dist/components/MultiSelect/MultiSelectMenu.d.ts +3 -0
- package/dist/components/MultiSelect/MultiSelectMenuItem.d.ts +10 -0
- package/dist/components/MultiSelect/MultiSelectSubMenu.d.ts +10 -0
- package/dist/components/MultiSelect/SelectAllItem.d.ts +8 -0
- package/dist/components/MultiSelect/index.d.ts +2 -0
- package/dist/components/MultiSelect/multiSelect.tokens.d.ts +77 -0
- package/dist/components/MultiSelect/types.d.ts +92 -0
- package/dist/components/MultiSelect/utils.d.ts +11 -0
- package/dist/components/Popover/Popover.d.ts +6 -0
- package/dist/components/Popover/PopoverFooter.d.ts +6 -0
- package/dist/components/Popover/PopoverHeader.d.ts +6 -0
- package/dist/components/Popover/index.d.ts +2 -0
- package/dist/components/Popover/popover.tokens.d.ts +40 -0
- package/dist/components/Popover/types.d.ts +31 -0
- package/dist/components/Primitives/Block/Block.d.ts +189 -0
- package/dist/components/Primitives/PrimitiveButton/PrimitiveButton.d.ts +131 -0
- package/dist/components/Primitives/PrimitiveInput/PrimitiveInput.d.ts +91 -0
- package/dist/components/Primitives/PrimitiveLink.d.ts +58 -0
- package/dist/components/Primitives/PrimitiveText/PrimitiveText.d.ts +39 -0
- package/dist/components/Primitives/PrimitiveTextArea.d.ts +88 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts +4 -0
- package/dist/components/ProgressBar/index.d.ts +3 -0
- package/dist/components/ProgressBar/progressbar.tokens.d.ts +63 -0
- package/dist/components/ProgressBar/types.d.ts +22 -0
- package/dist/components/ProgressBar/utils.d.ts +7 -0
- package/dist/components/Radio/Radio.d.ts +6 -0
- package/dist/components/Radio/RadioGroup.d.ts +4 -0
- package/dist/components/Radio/StyledRadio.d.ts +7 -0
- package/dist/components/Radio/index.d.ts +4 -0
- package/dist/components/Radio/radio.token.d.ts +75 -0
- package/dist/components/Radio/types.d.ts +30 -0
- package/dist/components/Radio/utils.d.ts +47 -0
- package/dist/components/Select/Select.d.ts +25 -0
- package/dist/components/Select/SelectMenu.d.ts +3 -0
- package/dist/components/Select/index.d.ts +2 -0
- package/dist/components/Select/select.token.d.ts +40 -0
- package/dist/components/Select/types.d.ts +55 -0
- package/dist/components/Sidebar/Sidebar.d.ts +4 -0
- package/dist/components/Sidebar/index.d.ts +2 -0
- package/dist/components/Sidebar/types.d.ts +44 -0
- package/dist/components/SingleSelect/SingleSelect.d.ts +3 -0
- package/dist/components/SingleSelect/SingleSelectMenu.d.ts +21 -0
- package/dist/components/SingleSelect/index.d.ts +2 -0
- package/dist/components/SingleSelect/types.d.ts +26 -0
- package/dist/components/Slider/Slider.d.ts +5 -0
- package/dist/components/Slider/index.d.ts +3 -0
- package/dist/components/Slider/types.d.ts +30 -0
- package/dist/components/Slider/utils.d.ts +49 -0
- package/dist/components/Snackbar/Snackbar.d.ts +4 -0
- package/dist/components/Snackbar/index.d.ts +3 -0
- package/dist/components/Snackbar/snackbar.tokens.d.ts +52 -0
- package/dist/components/Snackbar/types.d.ts +26 -0
- package/dist/components/SplitTag/SplitTag.d.ts +6 -0
- package/dist/components/SplitTag/index.d.ts +2 -0
- package/dist/components/SplitTag/types.d.ts +16 -0
- package/dist/components/StatCard/StatCard.d.ts +6 -0
- package/dist/components/StatCard/index.d.ts +2 -0
- package/dist/components/StatCard/statcard.tokens.d.ts +145 -0
- package/dist/components/StatCard/types.d.ts +32 -0
- package/dist/components/Switch/StyledSwitch.d.ts +11 -0
- package/dist/components/Switch/Switch.d.ts +5 -0
- package/dist/components/Switch/SwitchGroup.d.ts +4 -0
- package/dist/components/Switch/index.d.ts +4 -0
- package/dist/components/Switch/switch.token.d.ts +112 -0
- package/dist/components/Switch/types.d.ts +30 -0
- package/dist/components/Switch/utils.d.ts +58 -0
- package/dist/components/Tabs/StyledTabs.d.ts +22 -0
- package/dist/components/Tabs/Tabs.d.ts +5 -0
- package/dist/components/Tabs/TabsContent.d.ts +2 -0
- package/dist/components/Tabs/TabsList.d.ts +8 -0
- package/dist/components/Tabs/TabsTrigger.d.ts +10 -0
- package/dist/components/Tabs/index.d.ts +6 -0
- package/dist/components/Tabs/tabs.token.d.ts +60 -0
- package/dist/components/Tabs/types.d.ts +34 -0
- package/dist/components/Tags/Tags.d.ts +3 -0
- package/dist/components/Tags/index.d.ts +2 -0
- package/dist/components/Tags/tag.tokens.d.ts +57 -0
- package/dist/components/Tags/types.d.ts +35 -0
- package/dist/components/Text/Text.d.ts +12 -0
- package/dist/components/Tooltip/Tooltip.d.ts +3 -0
- package/dist/components/Tooltip/index.d.ts +2 -0
- package/dist/components/Tooltip/tooltip.tokens.d.ts +31 -0
- package/dist/components/Tooltip/types.d.ts +33 -0
- package/dist/context/ThemeContext.d.ts +66 -0
- package/dist/context/ThemeProvider.d.ts +11 -0
- package/dist/context/index.d.ts +4 -0
- package/dist/context/initComponentTokens.d.ts +4 -0
- package/dist/context/useComponentToken.d.ts +29 -0
- package/dist/foundationToken.d.ts +214 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/useBreakPoints.d.ts +4 -0
- package/dist/hooks/useClickOutside.d.ts +3 -0
- package/dist/hooks/useDebounce.d.ts +1 -0
- package/dist/hooks/useResizeObserver.d.ts +1 -0
- package/dist/hooks/useResponsiveTokens.d.ts +2 -0
- package/dist/hooks/useScrollLock.d.ts +2 -0
- package/dist/main.d.ts +34 -0
- package/dist/main.js +50499 -0
- package/dist/tokens/border.tokens.d.ts +29 -0
- package/dist/tokens/color.tokens.d.ts +16 -0
- package/dist/tokens/font.tokens.d.ts +72 -0
- package/dist/tokens/index.d.ts +2 -0
- package/dist/tokens/opacity.tokens.d.ts +18 -0
- package/dist/tokens/shadows.tokens.d.ts +15 -0
- package/dist/tokens/theme.token.d.ts +16 -0
- package/dist/tokens/unit.tokens.d.ts +34 -0
- package/package.json +99 -0
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { CSSObject } from 'styled-components';
|
|
2
|
+
import { FoundationTokenType } from '../../tokens/theme.token';
|
|
3
|
+
import { BreakpointType } from '../../breakpoints/breakPoints';
|
|
4
|
+
type BreadcrumbItemType = 'active' | 'inactive';
|
|
5
|
+
export type BreadcrumbTokenType = {
|
|
6
|
+
height: CSSObject['height'];
|
|
7
|
+
padding: CSSObject['padding'];
|
|
8
|
+
gap: CSSObject['gap'];
|
|
9
|
+
item: {
|
|
10
|
+
padding: CSSObject['padding'];
|
|
11
|
+
gap: CSSObject['gap'];
|
|
12
|
+
fontSize: {
|
|
13
|
+
[key in BreadcrumbItemType]: CSSObject['fontSize'];
|
|
14
|
+
};
|
|
15
|
+
fontWeight: {
|
|
16
|
+
[key in BreadcrumbItemType]: CSSObject['fontWeight'];
|
|
17
|
+
};
|
|
18
|
+
color: {
|
|
19
|
+
[key in BreadcrumbItemType]: CSSObject['color'];
|
|
20
|
+
};
|
|
21
|
+
background: {
|
|
22
|
+
[key in BreadcrumbItemType]: CSSObject['background'];
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
export type ResponsiveBreadcrumbTokens = {
|
|
27
|
+
[key in keyof BreakpointType]: BreadcrumbTokenType;
|
|
28
|
+
};
|
|
29
|
+
declare const breadcrumbTokens: BreadcrumbTokenType;
|
|
30
|
+
export declare const getBreadcrumbTokens: (foundationToken: FoundationTokenType) => ResponsiveBreadcrumbTokens;
|
|
31
|
+
export default breadcrumbTokens;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ButtonSize, ButtonSubType, ButtonType } from './types';
|
|
2
|
+
declare const Button: import('react').ForwardRefExoticComponent<{
|
|
3
|
+
buttonType?: ButtonType;
|
|
4
|
+
size?: ButtonSize;
|
|
5
|
+
subType?: ButtonSubType;
|
|
6
|
+
text?: string;
|
|
7
|
+
leadingIcon?: React.ReactNode;
|
|
8
|
+
trailingIcon?: React.ReactNode;
|
|
9
|
+
isLoading?: boolean;
|
|
10
|
+
isDisabled?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
onClick?: () => void;
|
|
13
|
+
loading?: boolean;
|
|
14
|
+
buttonGroupPosition?: "center" | "left" | "right";
|
|
15
|
+
fullWidth?: boolean;
|
|
16
|
+
justifyContent?: import('styled-components').CSSObject["justifyContent"];
|
|
17
|
+
} & Omit<import('react').ButtonHTMLAttributes<HTMLButtonElement>, "style" | "className"> & import('react').RefAttributes<HTMLButtonElement>>;
|
|
18
|
+
export default Button;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { CSSObject } from 'styled-components';
|
|
2
|
+
import { ButtonSize, ButtonSubType, ButtonType } from './types';
|
|
3
|
+
import { FoundationTokenType } from '../../tokens/theme.token';
|
|
4
|
+
import { BreakpointType } from '../../breakpoints/breakPoints';
|
|
5
|
+
export type ButtonState = 'default' | 'hover' | 'active' | 'disabled';
|
|
6
|
+
export type ButtonTokensType = {
|
|
7
|
+
gap: CSSObject['gap'];
|
|
8
|
+
backgroundColor: {
|
|
9
|
+
[key in ButtonType]: {
|
|
10
|
+
[key in ButtonSubType]: {
|
|
11
|
+
[key in ButtonState]: CSSObject['background'];
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
color: {
|
|
16
|
+
[key in ButtonType]: {
|
|
17
|
+
[key in ButtonSubType]: {
|
|
18
|
+
[key in ButtonState]: CSSObject['color'];
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
borderRadius: {
|
|
23
|
+
[key in ButtonType]: {
|
|
24
|
+
[key in ButtonSubType]: {
|
|
25
|
+
[key in ButtonState]: CSSObject['borderRadius'];
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
padding: {
|
|
30
|
+
[key in ButtonSize]: {
|
|
31
|
+
[key in ButtonSubType]: CSSObject['padding'];
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
border: {
|
|
35
|
+
[key in ButtonType]: {
|
|
36
|
+
[key in ButtonSubType]: {
|
|
37
|
+
[key in ButtonState]: CSSObject['border'];
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
shadow: {
|
|
42
|
+
[key in ButtonType]: {
|
|
43
|
+
[key in ButtonSubType]: {
|
|
44
|
+
[key in ButtonState]: CSSObject['boxShadow'];
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
outline: {
|
|
49
|
+
[key in ButtonType]: {
|
|
50
|
+
[key in ButtonSubType]: {
|
|
51
|
+
[key in ButtonState]: CSSObject['outline'];
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
declare const buttonTokens: ButtonTokensType;
|
|
57
|
+
export type ResponsiveButtonTokens = {
|
|
58
|
+
[key in keyof BreakpointType]: ButtonTokensType;
|
|
59
|
+
};
|
|
60
|
+
export declare const getButtonTokens: (foundationToken: FoundationTokenType) => ResponsiveButtonTokens;
|
|
61
|
+
export default buttonTokens;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { CSSObject } from 'styled-components';
|
|
3
|
+
export declare enum ButtonType {
|
|
4
|
+
PRIMARY = "primary",
|
|
5
|
+
SECONDARY = "secondary",
|
|
6
|
+
DANGER = "danger",
|
|
7
|
+
SUCCESS = "success"
|
|
8
|
+
}
|
|
9
|
+
export declare enum ButtonSize {
|
|
10
|
+
SMALL = "sm",
|
|
11
|
+
MEDIUM = "md",
|
|
12
|
+
LARGE = "lg"
|
|
13
|
+
}
|
|
14
|
+
export declare enum ButtonSubType {
|
|
15
|
+
DEFAULT = "default",
|
|
16
|
+
ICON_ONLY = "iconOnly",
|
|
17
|
+
INLINE = "inline"
|
|
18
|
+
}
|
|
19
|
+
export type ButtonV2Props = {
|
|
20
|
+
buttonType?: ButtonType;
|
|
21
|
+
size?: ButtonSize;
|
|
22
|
+
subType?: ButtonSubType;
|
|
23
|
+
text?: string;
|
|
24
|
+
leadingIcon?: React.ReactNode;
|
|
25
|
+
trailingIcon?: React.ReactNode;
|
|
26
|
+
isLoading?: boolean;
|
|
27
|
+
isDisabled?: boolean;
|
|
28
|
+
disabled?: boolean;
|
|
29
|
+
onClick?: () => void;
|
|
30
|
+
loading?: boolean;
|
|
31
|
+
buttonGroupPosition?: 'center' | 'left' | 'right';
|
|
32
|
+
fullWidth?: boolean;
|
|
33
|
+
justifyContent?: CSSObject['justifyContent'];
|
|
34
|
+
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'style' | 'className'>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { NewNestedDataPoint, FlattenedDataPoint } from './types';
|
|
2
|
+
export declare function transformNestedData(data: NewNestedDataPoint[], selectedKeys?: string[]): FlattenedDataPoint[];
|
|
3
|
+
export declare function lightenHexColor(hex: string, amount?: number): string;
|
|
4
|
+
export declare const formatNumber: (value: number | string) => string;
|
|
5
|
+
export declare const capitaliseCamelCase: (text: string) => string;
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { TooltipProps } from 'recharts';
|
|
3
|
+
import { NameType, ValueType } from 'recharts/types/component/DefaultTooltipContent';
|
|
4
|
+
export type DataPoint = {
|
|
5
|
+
primary: {
|
|
6
|
+
label: string;
|
|
7
|
+
val: number;
|
|
8
|
+
};
|
|
9
|
+
aux?: {
|
|
10
|
+
label: string;
|
|
11
|
+
val: number;
|
|
12
|
+
}[];
|
|
13
|
+
};
|
|
14
|
+
export declare enum ChartLegendPosition {
|
|
15
|
+
TOP = "top",
|
|
16
|
+
RIGHT = "right"
|
|
17
|
+
}
|
|
18
|
+
export declare enum ChartType {
|
|
19
|
+
LINE = "line",
|
|
20
|
+
BAR = "bar",
|
|
21
|
+
PIE = "pie"
|
|
22
|
+
}
|
|
23
|
+
export type NewNestedDataPoint = {
|
|
24
|
+
name: string;
|
|
25
|
+
data: {
|
|
26
|
+
[key: string]: DataPoint;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
export type RenderChartProps = {
|
|
30
|
+
flattenedData: FlattenedDataPoint[];
|
|
31
|
+
chartType: ChartType;
|
|
32
|
+
hoveredKey: string | null;
|
|
33
|
+
lineKeys: string[];
|
|
34
|
+
colors: string[];
|
|
35
|
+
setHoveredKey: (key: string | null) => void;
|
|
36
|
+
xAxisLabel?: string;
|
|
37
|
+
yAxisLabel?: string;
|
|
38
|
+
data: NewNestedDataPoint[];
|
|
39
|
+
selectedKeys: string[];
|
|
40
|
+
};
|
|
41
|
+
export type ChartsProps = {
|
|
42
|
+
chartType?: ChartType;
|
|
43
|
+
data: NewNestedDataPoint[];
|
|
44
|
+
xAxisLabel?: string;
|
|
45
|
+
yAxisLabel?: string;
|
|
46
|
+
colors?: string[];
|
|
47
|
+
metrics?: string[];
|
|
48
|
+
slot1?: ReactNode;
|
|
49
|
+
slot2?: ReactNode;
|
|
50
|
+
slot3?: ReactNode;
|
|
51
|
+
legendPosition?: ChartLegendPosition;
|
|
52
|
+
chartHeaderSlot: ReactNode;
|
|
53
|
+
};
|
|
54
|
+
export type FlattenedDataPoint = {
|
|
55
|
+
name: string;
|
|
56
|
+
[key: string]: number | string;
|
|
57
|
+
};
|
|
58
|
+
export type ChartHeaderProps = {
|
|
59
|
+
slot1: React.ReactNode;
|
|
60
|
+
slot2: React.ReactNode;
|
|
61
|
+
slot3: React.ReactNode;
|
|
62
|
+
chartHeaderSlot: ReactNode;
|
|
63
|
+
};
|
|
64
|
+
export type ChartLegendsProps = {
|
|
65
|
+
chartContainerRef: React.RefObject<HTMLDivElement>;
|
|
66
|
+
keys: string[];
|
|
67
|
+
colors: string[];
|
|
68
|
+
handleLegendClick: (key: string) => void;
|
|
69
|
+
handleLegendEnter: (key: string) => void;
|
|
70
|
+
handleLegendLeave: () => void;
|
|
71
|
+
selectedKeys: string[];
|
|
72
|
+
setSelectedKeys: (keys: string[]) => void;
|
|
73
|
+
hoveredKey: string | null;
|
|
74
|
+
activeKeys: string[] | null;
|
|
75
|
+
stacked?: boolean;
|
|
76
|
+
};
|
|
77
|
+
export type CustomTooltipProps = TooltipProps<ValueType, NameType> & {
|
|
78
|
+
hoveredKey: string | null;
|
|
79
|
+
originalData: NewNestedDataPoint[];
|
|
80
|
+
setHoveredKey: (key: string) => void;
|
|
81
|
+
chartType: ChartType;
|
|
82
|
+
selectedKeys: string[];
|
|
83
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DEFAULT_COLORS: string[];
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { CheckboxSize } from './types';
|
|
2
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
3
|
+
export declare const StyledCheckboxRoot: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<CheckboxPrimitive.CheckboxProps & import('react').RefAttributes<HTMLButtonElement>, {
|
|
4
|
+
size: CheckboxSize;
|
|
5
|
+
$isDisabled: boolean;
|
|
6
|
+
$checked: boolean | "indeterminate";
|
|
7
|
+
$error?: boolean;
|
|
8
|
+
}>> & string & Omit<import('react').ForwardRefExoticComponent<CheckboxPrimitive.CheckboxProps & import('react').RefAttributes<HTMLButtonElement>>, keyof import('react').Component<any, {}, any>>;
|
|
9
|
+
export declare const StyledCheckboxIndicator: import('styled-components/dist/types').IStyledComponentBase<"web", import('styled-components/dist/types').Substitute<CheckboxPrimitive.CheckboxIndicatorProps & import('react').RefAttributes<HTMLSpanElement>, {
|
|
10
|
+
size: CheckboxSize;
|
|
11
|
+
}>> & string & Omit<import('react').ForwardRefExoticComponent<CheckboxPrimitive.CheckboxIndicatorProps & import('react').RefAttributes<HTMLSpanElement>>, keyof import('react').Component<any, {}, any>>;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { CSSObject } from 'styled-components';
|
|
2
|
+
import { ThemeType } from '../../tokens';
|
|
3
|
+
import { CheckboxCheckedState, CheckboxInteractionState, CheckboxSize } from './types';
|
|
4
|
+
import { BreakpointType } from '../../breakpoints/breakPoints';
|
|
5
|
+
export type CheckboxTokensType = {
|
|
6
|
+
gap: CSSObject['gap'];
|
|
7
|
+
slotGap: CSSObject['gap'];
|
|
8
|
+
checkboxMarginRight: CSSObject['marginRight'];
|
|
9
|
+
indicator: {
|
|
10
|
+
size: {
|
|
11
|
+
[key in CheckboxSize]: {
|
|
12
|
+
width: CSSObject['width'];
|
|
13
|
+
height: CSSObject['height'];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
background: {
|
|
17
|
+
[key in CheckboxCheckedState]?: {
|
|
18
|
+
[key in CheckboxInteractionState]?: CSSObject['backgroundColor'];
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
border: {
|
|
22
|
+
radius: CSSObject['borderRadius'];
|
|
23
|
+
width: CSSObject['borderWidth'];
|
|
24
|
+
color: {
|
|
25
|
+
[key in CheckboxCheckedState]?: {
|
|
26
|
+
[key in CheckboxInteractionState]?: CSSObject['borderColor'];
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
focus: {
|
|
31
|
+
outlineColor: CSSObject['borderColor'];
|
|
32
|
+
outlineWidth: CSSObject['borderWidth'];
|
|
33
|
+
outlineOffset: CSSObject['outlineOffset'];
|
|
34
|
+
boxShadow: CSSObject['boxShadow'];
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
icon: {
|
|
38
|
+
color: {
|
|
39
|
+
[key in Exclude<CheckboxCheckedState, 'unchecked'>]?: {
|
|
40
|
+
[key in Extract<CheckboxInteractionState, 'default' | 'disabled'>]?: CSSObject['color'];
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
size: {
|
|
44
|
+
[key in CheckboxSize]: {
|
|
45
|
+
width: CSSObject['width'];
|
|
46
|
+
height: CSSObject['height'];
|
|
47
|
+
strokeWidth: CSSObject['strokeWidth'];
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
content: {
|
|
52
|
+
gap: CSSObject['gap'];
|
|
53
|
+
label: {
|
|
54
|
+
color: {
|
|
55
|
+
[key in Exclude<CheckboxInteractionState, 'hover'>]: CSSObject['color'];
|
|
56
|
+
};
|
|
57
|
+
font: {
|
|
58
|
+
[key in CheckboxSize]: {
|
|
59
|
+
fontSize: CSSObject['fontSize'];
|
|
60
|
+
fontWeight: CSSObject['fontWeight'];
|
|
61
|
+
};
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
subtext: {
|
|
65
|
+
color: {
|
|
66
|
+
[key in Exclude<CheckboxInteractionState, 'hover'>]: CSSObject['color'];
|
|
67
|
+
};
|
|
68
|
+
font: {
|
|
69
|
+
[key in CheckboxSize]: {
|
|
70
|
+
fontSize: CSSObject['fontSize'];
|
|
71
|
+
fontWeight: CSSObject['fontWeight'];
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
spacing: {
|
|
75
|
+
left: {
|
|
76
|
+
[key in CheckboxSize]: CSSObject['marginLeft'];
|
|
77
|
+
};
|
|
78
|
+
top: CSSObject['marginTop'];
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
required: {
|
|
83
|
+
color: CSSObject['color'];
|
|
84
|
+
spacing: CSSObject['marginLeft'];
|
|
85
|
+
};
|
|
86
|
+
transition: {
|
|
87
|
+
duration: CSSObject['transitionDuration'];
|
|
88
|
+
easing: CSSObject['transitionTimingFunction'];
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
export type ResponsiveCheckboxTokens = {
|
|
92
|
+
[key in keyof BreakpointType]: CheckboxTokensType;
|
|
93
|
+
};
|
|
94
|
+
export declare const getCheckboxTokens: (foundationToken: ThemeType) => ResponsiveCheckboxTokens;
|
|
95
|
+
declare const checkboxTokens: ResponsiveCheckboxTokens;
|
|
96
|
+
export default checkboxTokens;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { CheckboxSize } from './types';
|
|
2
|
+
import { CheckboxTokensType } from './checkbox.token';
|
|
3
|
+
export declare const getCheckboxDataState: (checked: boolean | "indeterminate") => string;
|
|
4
|
+
export declare const extractPixelValue: (tokenValue: string | number | undefined) => number;
|
|
5
|
+
/**
|
|
6
|
+
* Determines if the checkbox component is controlled based on the checked prop
|
|
7
|
+
*/
|
|
8
|
+
export declare const isControlledCheckbox: (checked: boolean | "indeterminate" | undefined) => boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Creates input props for controlled vs uncontrolled components
|
|
11
|
+
*/
|
|
12
|
+
export declare const createCheckboxInputProps: (checked: boolean | "indeterminate" | undefined, defaultChecked: boolean) => {
|
|
13
|
+
checked: boolean | undefined;
|
|
14
|
+
defaultChecked?: undefined;
|
|
15
|
+
} | {
|
|
16
|
+
defaultChecked: boolean;
|
|
17
|
+
checked?: undefined;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Gets the current checked state for styling purposes
|
|
21
|
+
*/
|
|
22
|
+
export declare const getCurrentCheckedState: (checked: boolean | "indeterminate" | undefined, defaultChecked: boolean) => boolean | "indeterminate";
|
|
23
|
+
/**
|
|
24
|
+
* Gets the icon color based on checkbox state
|
|
25
|
+
*/
|
|
26
|
+
export declare const getCheckboxIconColor: (tokens: CheckboxTokensType, currentChecked: boolean | "indeterminate", disabled: boolean) => string;
|
|
27
|
+
/**
|
|
28
|
+
* Gets the text color based on checkbox state
|
|
29
|
+
*/
|
|
30
|
+
export declare const getCheckboxTextColor: (tokens: CheckboxTokensType, disabled: boolean, error: boolean) => string;
|
|
31
|
+
/**
|
|
32
|
+
* Gets the subtext color based on checkbox state
|
|
33
|
+
*/
|
|
34
|
+
export declare const getCheckboxSubtextColor: (tokens: CheckboxTokensType, disabled: boolean, error: boolean) => string;
|
|
35
|
+
/**
|
|
36
|
+
* Gets the text properties for checkbox labels
|
|
37
|
+
*/
|
|
38
|
+
export declare const getCheckboxTextProps: (tokens: CheckboxTokensType, size: CheckboxSize, disabled: boolean, error: boolean) => {
|
|
39
|
+
fontSize: string;
|
|
40
|
+
fontWeight: string;
|
|
41
|
+
color: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Gets the subtext properties for checkbox
|
|
45
|
+
*/
|
|
46
|
+
export declare const getCheckboxSubtextProps: (tokens: CheckboxTokensType, size: CheckboxSize, disabled: boolean, error: boolean) => {
|
|
47
|
+
fontSize: string;
|
|
48
|
+
color: string;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Gets label styles for checkbox components
|
|
52
|
+
*/
|
|
53
|
+
export declare const getCheckboxLabelStyles: (disabled: boolean) => {
|
|
54
|
+
cursor: "not-allowed" | "pointer";
|
|
55
|
+
display: "flex";
|
|
56
|
+
alignItems: "center";
|
|
57
|
+
margin: number;
|
|
58
|
+
padding: number;
|
|
59
|
+
};
|
|
60
|
+
/**
|
|
61
|
+
* Gets accessibility attributes for checkbox
|
|
62
|
+
*/
|
|
63
|
+
export declare const getAccessibilityAttributes: (uniqueId: string, isIndeterminate: boolean) => {
|
|
64
|
+
role: string;
|
|
65
|
+
'aria-checked': string | undefined;
|
|
66
|
+
'aria-labelledby': string;
|
|
67
|
+
'aria-describedby': string;
|
|
68
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export declare enum CheckboxSize {
|
|
3
|
+
SMALL = "sm",
|
|
4
|
+
MEDIUM = "md"
|
|
5
|
+
}
|
|
6
|
+
export type CheckboxCheckedState = 'checked' | 'unchecked' | 'indeterminate';
|
|
7
|
+
export type CheckboxInteractionState = 'default' | 'hover' | 'disabled' | 'error';
|
|
8
|
+
export type CheckboxProps = {
|
|
9
|
+
id?: string;
|
|
10
|
+
value?: string;
|
|
11
|
+
checked?: boolean | 'indeterminate';
|
|
12
|
+
defaultChecked?: boolean;
|
|
13
|
+
onCheckedChange?: (checked: boolean | 'indeterminate') => void;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
required?: boolean;
|
|
16
|
+
error?: boolean;
|
|
17
|
+
size?: CheckboxSize;
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
subtext?: string;
|
|
20
|
+
slot?: ReactNode;
|
|
21
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { FilterType, ColumnDefinition, ColumnFilter } from '../types';
|
|
2
|
+
export type ColumnFilterProps<T extends Record<string, unknown>> = {
|
|
3
|
+
column: ColumnDefinition<T>;
|
|
4
|
+
data: T[];
|
|
5
|
+
currentFilter?: ColumnFilter;
|
|
6
|
+
onFilter: (field: keyof T, type: FilterType, value: string | string[], operator?: string) => void;
|
|
7
|
+
};
|
|
8
|
+
declare const ColumnFilter: import('react').ForwardRefExoticComponent<ColumnFilterProps<Record<string, unknown>> & import('react').RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export default ColumnFilter;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { default as DataTable } from './DataTable';
|
|
3
|
+
declare const meta: Meta<typeof DataTable>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof DataTable>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const WithSearchAndFiltering: Story;
|
|
8
|
+
export declare const WithAdvancedFiltering: Story;
|
|
9
|
+
export declare const WithInlineEditing: Story;
|
|
10
|
+
export declare const WithRowExpansion: Story;
|
|
11
|
+
export declare const WithPagination: Story;
|
|
12
|
+
export declare const WithCustomHeaderSlots: Story;
|
|
13
|
+
export declare const ServerSideOperations: Story;
|
|
14
|
+
export declare const LoadingState: Story;
|
|
15
|
+
export declare const EmptyState: Story;
|
|
16
|
+
export declare const WithRowStyling: Story;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ColumnDefinition, SearchConfig, AdvancedFilterProps } from '../types';
|
|
2
|
+
export type DataTableHeaderProps<T extends Record<string, unknown>> = {
|
|
3
|
+
title?: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
showToolbar?: boolean;
|
|
6
|
+
enableSearch?: boolean;
|
|
7
|
+
searchPlaceholder?: string;
|
|
8
|
+
searchConfig: SearchConfig;
|
|
9
|
+
enableAdvancedFilter?: boolean;
|
|
10
|
+
advancedFilterComponent?: React.ComponentType<AdvancedFilterProps>;
|
|
11
|
+
advancedFilters?: unknown[];
|
|
12
|
+
visibleColumns: ColumnDefinition<T>[];
|
|
13
|
+
data: T[];
|
|
14
|
+
onSearch: (query: string) => void;
|
|
15
|
+
onAdvancedFiltersChange?: (filters: unknown[]) => void;
|
|
16
|
+
onClearAllFilters: () => void;
|
|
17
|
+
headerSlot1?: React.ReactNode;
|
|
18
|
+
headerSlot2?: React.ReactNode;
|
|
19
|
+
headerSlot3?: React.ReactNode;
|
|
20
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type DataTablePaginationProps = {
|
|
2
|
+
currentPage: number;
|
|
3
|
+
pageSize: number;
|
|
4
|
+
totalRows: number;
|
|
5
|
+
pageSizeOptions: number[];
|
|
6
|
+
isLoading?: boolean;
|
|
7
|
+
onPageChange: (page: number) => void;
|
|
8
|
+
onPageSizeChange: (pageSize: number) => void;
|
|
9
|
+
};
|
|
10
|
+
export declare function DataTablePagination({ currentPage, pageSize, totalRows, pageSizeOptions, isLoading, onPageChange, onPageSizeChange, }: DataTablePaginationProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type BulkActionBarProps = {
|
|
2
|
+
selectedCount: number;
|
|
3
|
+
onExport: () => void;
|
|
4
|
+
onDeselectAll: () => void;
|
|
5
|
+
customActions?: React.ReactNode;
|
|
6
|
+
};
|
|
7
|
+
declare const BulkActionBar: import('react').ForwardRefExoticComponent<BulkActionBarProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
8
|
+
export default BulkActionBar;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { ColumnDefinition } from '../types';
|
|
2
|
+
export type TableBodyProps<T extends Record<string, unknown>> = {
|
|
3
|
+
currentData: T[];
|
|
4
|
+
visibleColumns: ColumnDefinition<T>[];
|
|
5
|
+
idField: string;
|
|
6
|
+
selectedRows: Record<string, boolean>;
|
|
7
|
+
editingRows: Record<string, boolean>;
|
|
8
|
+
editValues: Record<string, T>;
|
|
9
|
+
expandedRows: Record<string, boolean>;
|
|
10
|
+
enableInlineEdit?: boolean;
|
|
11
|
+
enableColumnManager?: boolean;
|
|
12
|
+
enableRowExpansion?: boolean;
|
|
13
|
+
enableRowSelection?: boolean;
|
|
14
|
+
columnFreeze?: number;
|
|
15
|
+
renderExpandedRow?: (expandedData: {
|
|
16
|
+
row: T;
|
|
17
|
+
index: number;
|
|
18
|
+
isExpanded: boolean;
|
|
19
|
+
toggleExpansion: () => void;
|
|
20
|
+
}) => React.ReactNode;
|
|
21
|
+
isRowExpandable?: (row: T, index: number) => boolean;
|
|
22
|
+
onRowSelect: (rowId: unknown) => void;
|
|
23
|
+
onEditRow: (rowId: unknown) => void;
|
|
24
|
+
onSaveRow: (rowId: unknown) => void;
|
|
25
|
+
onCancelEdit: (rowId: unknown) => void;
|
|
26
|
+
onRowExpand: (rowId: unknown) => void;
|
|
27
|
+
onFieldChange: (rowId: unknown, field: keyof T, value: unknown) => void;
|
|
28
|
+
onRowClick?: (row: T, index: number) => void;
|
|
29
|
+
getColumnWidth: (column: ColumnDefinition<T>, index: number) => React.CSSProperties;
|
|
30
|
+
getRowStyle?: (row: T, index: number) => React.CSSProperties;
|
|
31
|
+
getDisplayValue?: (value: unknown, column: ColumnDefinition<T>) => unknown;
|
|
32
|
+
};
|