@juspay/blend-design-system 0.0.19 → 0.0.20
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/dist/components/Accordion/accordion.tokens.d.ts +39 -20
- package/dist/components/Alert/alert.tokens.d.ts +63 -4
- package/dist/components/Avatar/avatar.tokens.d.ts +64 -53
- package/dist/components/Avatar/types.d.ts +1 -0
- package/dist/components/AvatarGroup/avatarGroup.tokens.d.ts +41 -67
- package/dist/components/Breadcrumb/breadcrumb.tokens.d.ts +26 -16
- package/dist/components/Button/Button.d.ts +2 -1
- package/dist/components/Button/button.tokens.d.ts +38 -13
- package/dist/components/Button/types.d.ts +8 -1
- package/dist/components/ButtonGroup/ButtonGroup.d.ts +2 -2
- package/dist/components/ButtonGroup/types.d.ts +2 -2
- package/dist/components/Card/card.tokens.d.ts +80 -56
- package/dist/components/Card/types.d.ts +3 -3
- package/dist/components/Card/utils.d.ts +21 -24
- package/dist/components/Charts/ChartUtils.d.ts +92 -5
- package/dist/components/Charts/DateTimeFormatter.d.ts +151 -0
- package/dist/components/Charts/chart.tokens.d.ts +24 -82
- package/dist/components/Charts/types.d.ts +14 -5
- package/dist/components/Checkbox/checkbox.token.d.ts +41 -68
- package/dist/components/DataTable/TableCell/types.d.ts +1 -0
- package/dist/components/DateRangePicker/QuickRangeSelector.d.ts +2 -0
- package/dist/components/DateRangePicker/TimeSelector.d.ts +2 -0
- package/dist/components/DateRangePicker/components/mobile.tokens.d.ts +77 -0
- package/dist/components/DateRangePicker/dateRangePicker.tokens.d.ts +132 -249
- package/dist/components/DateRangePicker/utils.d.ts +9 -1
- package/dist/components/Drawer/drawer.tokens.d.ts +43 -44
- package/dist/components/Drawer/types.d.ts +3 -3
- package/dist/components/Inputs/DropdownInput/DropdownInput.d.ts +1 -1
- package/dist/components/Inputs/DropdownInput/dropdownInput.tokens.d.ts +55 -16
- package/dist/components/Inputs/DropdownInput/types.d.ts +3 -1
- package/dist/components/Inputs/MultiValueInput/multiValueInput.tokens.d.ts +55 -12
- package/dist/components/Inputs/NumberInput/numberInput.tokens.d.ts +74 -21
- package/dist/components/Inputs/OTPInput/otpInput.tokens.d.ts +48 -12
- package/dist/components/Inputs/SearchInput/searchInput.tokens.d.ts +52 -27
- package/dist/components/Inputs/TextArea/textarea.token.d.ts +58 -17
- package/dist/components/Inputs/TextInput/textInput.tokens.d.ts +54 -14
- package/dist/components/Inputs/UnitInput/unitInput.tokens.d.ts +72 -16
- package/dist/components/Inputs/utils/InputFooter/InputFooter.d.ts +17 -1
- package/dist/components/Inputs/utils/InputLabels/InputLabels.d.ts +31 -2
- package/dist/components/Menu/Menu.d.ts +2 -2
- package/dist/components/Menu/MenuItem.d.ts +2 -2
- package/dist/components/Menu/SubMenu.d.ts +2 -2
- package/dist/components/Menu/menu.tokens.d.ts +46 -26
- package/dist/components/Menu/types.d.ts +14 -10
- package/dist/components/Menu/utils.d.ts +3 -3
- package/dist/components/Modal/modal.tokens.d.ts +59 -33
- package/dist/components/Modal/types.d.ts +2 -2
- package/dist/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/dist/components/MultiSelect/MultiSelectMenu.d.ts +1 -1
- package/dist/components/MultiSelect/multiSelect.tokens.d.ts +72 -28
- package/dist/components/MultiSelect/types.d.ts +16 -0
- package/dist/components/Popover/PopoverFooter.d.ts +1 -1
- package/dist/components/Popover/popover.tokens.d.ts +49 -13
- package/dist/components/Popover/types.d.ts +2 -2
- package/dist/components/ProgressBar/index.d.ts +0 -1
- package/dist/components/ProgressBar/progressbar.tokens.d.ts +54 -41
- package/dist/components/Radio/radio.token.d.ts +21 -24
- package/dist/components/Sidebar/sidebar.tokens.d.ts +77 -0
- package/dist/components/Sidebar/utils.d.ts +3 -2
- package/dist/components/SingleSelect/SingleSelect.d.ts +1 -1
- package/dist/components/SingleSelect/SingleSelectMenu.d.ts +11 -1
- package/dist/components/SingleSelect/singleSelect.tokens.d.ts +67 -23
- package/dist/components/SingleSelect/types.d.ts +7 -0
- package/dist/components/Snackbar/snackbar.tokens.d.ts +51 -25
- package/dist/components/StatCard/StatCard.d.ts +1 -1
- package/dist/components/StatCard/statcard.tokens.d.ts +51 -66
- package/dist/components/StatCard/types.d.ts +10 -3
- package/dist/components/Switch/switch.token.d.ts +57 -74
- package/dist/components/Tabs/tabs.token.d.ts +62 -40
- package/dist/components/Tags/tag.tokens.d.ts +35 -36
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/tooltip.tokens.d.ts +24 -10
- package/dist/components/Tooltip/types.d.ts +1 -0
- package/dist/components/VirtualList/VirtualList.d.ts +13 -0
- package/dist/components/VirtualList/index.d.ts +2 -0
- package/dist/components/VirtualList/types.d.ts +27 -0
- package/dist/components/VirtualList/utils.d.ts +39 -0
- package/dist/context/ThemeContext.d.ts +18 -12
- package/dist/context/useComponentToken.d.ts +11 -8
- package/dist/main.d.ts +1 -0
- package/dist/main.js +31316 -27358
- package/dist/tokens/unit.tokens.d.ts +3 -0
- package/package.json +1 -1
- package/dist/components/Menu/MenuPlayground.d.ts +0 -3
- package/dist/components/Menu/MenuPlaygroundComprehensive.d.ts +0 -3
- package/dist/components/ProgressBar/utils.d.ts +0 -7
|
@@ -3,29 +3,62 @@ import { MultiSelectMenuSize, MultiSelectSelectionTagType, MultiSelectVariant }
|
|
|
3
3
|
import { FoundationTokenType } from '../../tokens/theme.token';
|
|
4
4
|
import { BreakpointType } from '../../breakpoints/breakPoints';
|
|
5
5
|
type TriggerStates = 'open' | 'closed' | 'hover' | 'focus' | 'error';
|
|
6
|
-
export type
|
|
6
|
+
export type MultiSelectItemStates = 'default' | 'hover' | 'active' | 'focus' | 'focusVisible' | 'disabled' | 'selected';
|
|
7
7
|
export type MultiSelectTokensType = {
|
|
8
|
+
gap: CSSObject['gap'];
|
|
9
|
+
label: {
|
|
10
|
+
fontSize: CSSObject['fontSize'];
|
|
11
|
+
fontWeight: CSSObject['fontWeight'];
|
|
12
|
+
color: {
|
|
13
|
+
[key in MultiSelectItemStates]: CSSObject['color'];
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
subLabel: {
|
|
17
|
+
fontSize: CSSObject['fontSize'];
|
|
18
|
+
fontWeight: CSSObject['fontWeight'];
|
|
19
|
+
color: {
|
|
20
|
+
[key in MultiSelectItemStates]: CSSObject['color'];
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
hintText: {
|
|
24
|
+
fontSize: CSSObject['fontSize'];
|
|
25
|
+
fontWeight: CSSObject['fontWeight'];
|
|
26
|
+
color: {
|
|
27
|
+
[key in MultiSelectItemStates]: CSSObject['color'];
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
errorMessage: {
|
|
31
|
+
fontSize: CSSObject['fontSize'];
|
|
32
|
+
fontWeight: CSSObject['fontWeight'];
|
|
33
|
+
color: CSSObject['color'];
|
|
34
|
+
};
|
|
35
|
+
required: {
|
|
36
|
+
color: CSSObject['color'];
|
|
37
|
+
};
|
|
8
38
|
trigger: {
|
|
9
39
|
height: {
|
|
10
|
-
[key in MultiSelectMenuSize]:
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
[key in MultiSelectMenuSize]: CSSObject['padding'];
|
|
40
|
+
[key in MultiSelectMenuSize]: {
|
|
41
|
+
[key in MultiSelectVariant]: CSSObject['height'];
|
|
42
|
+
};
|
|
14
43
|
};
|
|
15
|
-
|
|
16
|
-
[key in MultiSelectMenuSize]:
|
|
44
|
+
padding: {
|
|
45
|
+
[key in MultiSelectMenuSize]: {
|
|
46
|
+
[key in MultiSelectVariant]: {
|
|
47
|
+
x: CSSObject['padding'];
|
|
48
|
+
y: CSSObject['padding'];
|
|
49
|
+
};
|
|
50
|
+
};
|
|
17
51
|
};
|
|
18
52
|
borderRadius: {
|
|
19
|
-
[key in MultiSelectMenuSize]:
|
|
53
|
+
[key in MultiSelectMenuSize]: {
|
|
54
|
+
[key in MultiSelectVariant]: CSSObject['borderRadius'];
|
|
55
|
+
};
|
|
20
56
|
};
|
|
21
57
|
boxShadow: {
|
|
22
58
|
[key in MultiSelectVariant]: CSSObject['boxShadow'];
|
|
23
59
|
};
|
|
24
60
|
backgroundColor: {
|
|
25
|
-
|
|
26
|
-
[key in TriggerStates]: CSSObject['backgroundColor'];
|
|
27
|
-
};
|
|
28
|
-
'no-container': {
|
|
61
|
+
[key in MultiSelectVariant]: {
|
|
29
62
|
[key in TriggerStates]: CSSObject['backgroundColor'];
|
|
30
63
|
};
|
|
31
64
|
};
|
|
@@ -35,7 +68,7 @@ export type MultiSelectTokensType = {
|
|
|
35
68
|
};
|
|
36
69
|
};
|
|
37
70
|
selectionTag: {
|
|
38
|
-
|
|
71
|
+
[key in MultiSelectVariant]: {
|
|
39
72
|
[key in MultiSelectSelectionTagType]: {
|
|
40
73
|
color: CSSObject['color'];
|
|
41
74
|
backgroundColor: CSSObject['backgroundColor'];
|
|
@@ -44,41 +77,52 @@ export type MultiSelectTokensType = {
|
|
|
44
77
|
};
|
|
45
78
|
};
|
|
46
79
|
};
|
|
47
|
-
|
|
48
|
-
shadow: CSSObject['boxShadow'];
|
|
80
|
+
menu: {
|
|
49
81
|
backgroundColor: CSSObject['backgroundColor'];
|
|
50
|
-
paddingTop: CSSObject['paddingTop'];
|
|
51
|
-
paddingBottom: CSSObject['paddingBottom'];
|
|
52
82
|
border: CSSObject['border'];
|
|
53
|
-
outline: CSSObject['outline'];
|
|
54
83
|
borderRadius: CSSObject['borderRadius'];
|
|
84
|
+
padding: {
|
|
85
|
+
[key in MultiSelectMenuSize]: {
|
|
86
|
+
[key in MultiSelectVariant]: {
|
|
87
|
+
x: CSSObject['padding'];
|
|
88
|
+
y: CSSObject['padding'];
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
};
|
|
55
92
|
item: {
|
|
56
93
|
padding: CSSObject['padding'];
|
|
57
94
|
margin: CSSObject['margin'];
|
|
58
95
|
borderRadius: CSSObject['borderRadius'];
|
|
59
96
|
gap: CSSObject['gap'];
|
|
60
97
|
backgroundColor: {
|
|
61
|
-
[key in
|
|
98
|
+
[key in MultiSelectItemStates]: CSSObject['backgroundColor'];
|
|
62
99
|
};
|
|
63
|
-
|
|
100
|
+
optionsLabel: {
|
|
64
101
|
fontSize: CSSObject['fontSize'];
|
|
65
102
|
fontWeight: CSSObject['fontWeight'];
|
|
66
103
|
color: {
|
|
67
|
-
[key in
|
|
104
|
+
[key in MultiSelectItemStates]: CSSObject['color'];
|
|
68
105
|
};
|
|
69
106
|
};
|
|
70
|
-
|
|
107
|
+
option: {
|
|
71
108
|
fontSize: CSSObject['fontSize'];
|
|
72
109
|
fontWeight: CSSObject['fontWeight'];
|
|
73
110
|
color: {
|
|
74
|
-
[key in
|
|
111
|
+
[key in MultiSelectItemStates]: CSSObject['color'];
|
|
75
112
|
};
|
|
76
113
|
};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
114
|
+
description: {
|
|
115
|
+
fontSize: CSSObject['fontSize'];
|
|
116
|
+
fontWeight: CSSObject['fontWeight'];
|
|
117
|
+
color: {
|
|
118
|
+
[key in MultiSelectItemStates]: CSSObject['color'];
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
seperator: {
|
|
122
|
+
color: CSSObject['color'];
|
|
123
|
+
height: CSSObject['height'];
|
|
124
|
+
margin: CSSObject['margin'];
|
|
125
|
+
};
|
|
82
126
|
};
|
|
83
127
|
};
|
|
84
128
|
drawer: {
|
|
@@ -104,6 +104,14 @@ export type MultiSelectProps = {
|
|
|
104
104
|
showItemDividers?: boolean;
|
|
105
105
|
showHeaderBorder?: boolean;
|
|
106
106
|
fullWidth?: boolean;
|
|
107
|
+
enableVirtualization?: boolean;
|
|
108
|
+
virtualListItemHeight?: number;
|
|
109
|
+
virtualListOverscan?: number;
|
|
110
|
+
itemsToRender?: number;
|
|
111
|
+
onEndReached?: () => void;
|
|
112
|
+
endReachedThreshold?: number;
|
|
113
|
+
hasMore?: boolean;
|
|
114
|
+
loadingComponent?: React.ReactNode;
|
|
107
115
|
};
|
|
108
116
|
export type MultiSelectMenuProps = {
|
|
109
117
|
items: MultiSelectMenuGroupType[];
|
|
@@ -139,4 +147,12 @@ export type MultiSelectMenuProps = {
|
|
|
139
147
|
disabled?: boolean;
|
|
140
148
|
loading?: boolean;
|
|
141
149
|
};
|
|
150
|
+
enableVirtualization?: boolean;
|
|
151
|
+
virtualListItemHeight?: number;
|
|
152
|
+
virtualListOverscan?: number;
|
|
153
|
+
itemsToRender?: number;
|
|
154
|
+
onEndReached?: () => void;
|
|
155
|
+
endReachedThreshold?: number;
|
|
156
|
+
hasMore?: boolean;
|
|
157
|
+
loadingComponent?: React.ReactNode;
|
|
142
158
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { PopoverProps } from './types';
|
|
2
2
|
declare const PopoverFooter: {
|
|
3
|
-
({ primaryAction, secondaryAction, }: Pick<PopoverProps, "primaryAction" | "secondaryAction">): import("react/jsx-runtime").JSX.Element | null;
|
|
3
|
+
({ primaryAction, secondaryAction, size, }: Pick<PopoverProps, "primaryAction" | "secondaryAction" | "size">): import("react/jsx-runtime").JSX.Element | null;
|
|
4
4
|
displayName: string;
|
|
5
5
|
};
|
|
6
6
|
export default PopoverFooter;
|
|
@@ -1,45 +1,81 @@
|
|
|
1
1
|
import { CSSObject } from 'styled-components';
|
|
2
2
|
import { PopoverSize } from './types';
|
|
3
3
|
import { FoundationTokenType } from '../../tokens/theme.token';
|
|
4
|
+
import { BreakpointType } from '../../breakpoints/breakPoints';
|
|
5
|
+
/**
|
|
6
|
+
* Popover Tokens following the pattern: [target].CSSProp.[size]
|
|
7
|
+
*
|
|
8
|
+
* Structure:
|
|
9
|
+
* - target: container | headerContainer.heading | headerContainer.description | footer
|
|
10
|
+
* - CSSProp:
|
|
11
|
+
* - container: background | border | shadow | gap | zIndex | borderRadius | padding.left | padding.right | padding.top | padding.bottom
|
|
12
|
+
* - headerContainer.heading: color | fontSize | fontWeight | lineHeight
|
|
13
|
+
* - headerContainer.description: color | fontSize | fontWeight | lineHeight
|
|
14
|
+
* - footer: gap
|
|
15
|
+
* - size: small | medium (popover size)
|
|
16
|
+
*
|
|
17
|
+
* Notes:
|
|
18
|
+
* - Size-independent properties: background, border, shadow, zIndex, header/description color
|
|
19
|
+
* - Size-dependent properties: gap, borderRadius, all padding sides, heading/description fontSize/fontWeight/lineHeight, footer.gap
|
|
20
|
+
*/
|
|
4
21
|
export type PopoverTokenType = {
|
|
5
22
|
background: CSSObject['backgroundColor'];
|
|
6
23
|
border: CSSObject['border'];
|
|
7
24
|
shadow: FoundationTokenType['shadows'];
|
|
8
|
-
gap:
|
|
25
|
+
gap: {
|
|
26
|
+
[key in PopoverSize]: CSSObject['gap'];
|
|
27
|
+
};
|
|
9
28
|
zIndex: CSSObject['zIndex'];
|
|
10
|
-
borderRadius:
|
|
29
|
+
borderRadius: {
|
|
30
|
+
[key in PopoverSize]: CSSObject['borderRadius'];
|
|
31
|
+
};
|
|
11
32
|
padding: {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
33
|
+
left: {
|
|
34
|
+
[key in PopoverSize]: CSSObject['paddingLeft'];
|
|
35
|
+
};
|
|
36
|
+
right: {
|
|
37
|
+
[key in PopoverSize]: CSSObject['paddingRight'];
|
|
38
|
+
};
|
|
39
|
+
top: {
|
|
40
|
+
[key in PopoverSize]: CSSObject['paddingTop'];
|
|
41
|
+
};
|
|
42
|
+
bottom: {
|
|
43
|
+
[key in PopoverSize]: CSSObject['paddingBottom'];
|
|
44
|
+
};
|
|
15
45
|
};
|
|
16
46
|
headerContainer: {
|
|
17
47
|
heading: {
|
|
48
|
+
color: CSSObject['color'];
|
|
18
49
|
fontSize: {
|
|
19
50
|
[key in PopoverSize]: CSSObject['fontSize'];
|
|
20
51
|
};
|
|
21
52
|
fontWeight: {
|
|
22
53
|
[key in PopoverSize]: CSSObject['fontWeight'];
|
|
23
54
|
};
|
|
24
|
-
|
|
25
|
-
[key in PopoverSize]: CSSObject['
|
|
55
|
+
lineHeight: {
|
|
56
|
+
[key in PopoverSize]: CSSObject['lineHeight'];
|
|
26
57
|
};
|
|
27
58
|
};
|
|
28
59
|
description: {
|
|
60
|
+
color: CSSObject['color'];
|
|
29
61
|
fontSize: {
|
|
30
62
|
[key in PopoverSize]: CSSObject['fontSize'];
|
|
31
63
|
};
|
|
32
|
-
color: {
|
|
33
|
-
[key in PopoverSize]: CSSObject['color'];
|
|
34
|
-
};
|
|
35
64
|
fontWeight: {
|
|
36
65
|
[key in PopoverSize]: CSSObject['fontWeight'];
|
|
37
66
|
};
|
|
67
|
+
lineHeight: {
|
|
68
|
+
[key in PopoverSize]: CSSObject['lineHeight'];
|
|
69
|
+
};
|
|
38
70
|
};
|
|
39
71
|
};
|
|
40
72
|
footer: {
|
|
41
|
-
|
|
42
|
-
|
|
73
|
+
gap: {
|
|
74
|
+
[key in PopoverSize]: CSSObject['gap'];
|
|
75
|
+
};
|
|
43
76
|
};
|
|
44
77
|
};
|
|
45
|
-
export
|
|
78
|
+
export type ResponsivePopoverTokens = {
|
|
79
|
+
[key in keyof BreakpointType]: PopoverTokenType;
|
|
80
|
+
};
|
|
81
|
+
export declare const getPopoverTokens: (foundationTokens: FoundationTokenType) => ResponsivePopoverTokens;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export type PopoverActionType = Omit<
|
|
1
|
+
import { ButtonProps } from '../Button';
|
|
2
|
+
export type PopoverActionType = Omit<ButtonProps, 'buttonGroupPosition' | 'subType'>;
|
|
3
3
|
export declare enum PopoverSize {
|
|
4
4
|
SMALL = "small",
|
|
5
5
|
MEDIUM = "medium"
|
|
@@ -1,55 +1,66 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BreakpointType } from '../../breakpoints/breakPoints';
|
|
2
|
+
import { FoundationTokenType } from '../../tokens/theme.token';
|
|
3
|
+
import { ProgressBarSize, ProgressBarVariant, ProgressBarType } from './types';
|
|
2
4
|
import { CSSObject } from 'styled-components';
|
|
5
|
+
/**
|
|
6
|
+
* ProgressBar Tokens following the pattern: [target].CSSProp.[size].[variant].[type]
|
|
7
|
+
*
|
|
8
|
+
* Structure:
|
|
9
|
+
* - target: container | linear | circular | label (defines what element the token applies to)
|
|
10
|
+
* - CSSProp: overflow | borderRadius | height | backgroundColor | stroke | etc.
|
|
11
|
+
* - size: small | medium | large (only for size-dependent properties)
|
|
12
|
+
* - variant: solid | segmented (for linear progress bars)
|
|
13
|
+
* - type: solid | segmented (for circular progress bars)
|
|
14
|
+
*
|
|
15
|
+
* Size-independent properties: overflow, backgroundColor, backgroundImage, stroke, color
|
|
16
|
+
* Size-dependent properties: height, size, strokeWidth
|
|
17
|
+
*/
|
|
3
18
|
export type ProgressBarTokenType = {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
};
|
|
8
|
-
height: {
|
|
9
|
-
[ProgressBarSize.SMALL]: CSSObject['height'];
|
|
10
|
-
[ProgressBarSize.MEDIUM]: CSSObject['height'];
|
|
11
|
-
[ProgressBarSize.LARGE]: CSSObject['height'];
|
|
12
|
-
};
|
|
13
|
-
fill: {
|
|
14
|
-
solid: {
|
|
15
|
-
backgroundColor: CSSObject['backgroundColor'];
|
|
16
|
-
borderRadius: CSSObject['borderRadius'];
|
|
19
|
+
linear: {
|
|
20
|
+
height: {
|
|
21
|
+
[key in ProgressBarSize]: CSSObject['height'];
|
|
17
22
|
};
|
|
18
|
-
|
|
19
|
-
backgroundColor:
|
|
20
|
-
|
|
23
|
+
fill: {
|
|
24
|
+
backgroundColor: {
|
|
25
|
+
[key in Exclude<ProgressBarVariant, 'circular'>]: CSSObject['backgroundColor'];
|
|
26
|
+
};
|
|
27
|
+
borderRadius: {
|
|
28
|
+
[key in Exclude<ProgressBarVariant, 'circular'>]: CSSObject['borderRadius'];
|
|
29
|
+
};
|
|
21
30
|
};
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
empty: {
|
|
32
|
+
backgroundColor: {
|
|
33
|
+
[key in Exclude<ProgressBarVariant, 'circular'>]: CSSObject['backgroundColor'];
|
|
34
|
+
};
|
|
35
|
+
backgroundImage: {
|
|
36
|
+
segmented: CSSObject['backgroundImage'];
|
|
37
|
+
};
|
|
38
|
+
backgroundSize: {
|
|
39
|
+
segmented: CSSObject['backgroundSize'];
|
|
40
|
+
};
|
|
26
41
|
};
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
backgroundImage: CSSObject['backgroundImage'];
|
|
30
|
-
backgroundSize: CSSObject['backgroundSize'];
|
|
42
|
+
borderRadius: {
|
|
43
|
+
[key in Exclude<ProgressBarVariant, 'circular'>]: CSSObject['borderRadius'];
|
|
31
44
|
};
|
|
32
45
|
};
|
|
33
46
|
circular: {
|
|
34
47
|
size: {
|
|
35
|
-
[ProgressBarSize
|
|
36
|
-
[ProgressBarSize.MEDIUM]: CSSObject['width'];
|
|
37
|
-
[ProgressBarSize.LARGE]: CSSObject['width'];
|
|
48
|
+
[key in ProgressBarSize]: CSSObject['width'];
|
|
38
49
|
};
|
|
39
50
|
strokeWidth: {
|
|
40
|
-
[ProgressBarSize
|
|
41
|
-
[ProgressBarSize.MEDIUM]: number;
|
|
42
|
-
[ProgressBarSize.LARGE]: number;
|
|
51
|
+
[key in ProgressBarSize]: number;
|
|
43
52
|
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
background: CSSObject['stroke'];
|
|
53
|
+
stroke: {
|
|
54
|
+
[key in ProgressBarType]: CSSObject['stroke'];
|
|
47
55
|
};
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
background: {
|
|
57
|
+
[key in ProgressBarType]: CSSObject['stroke'];
|
|
58
|
+
};
|
|
59
|
+
dashArray: {
|
|
60
|
+
[key in ProgressBarType]: string;
|
|
61
|
+
};
|
|
62
|
+
dashOffset: {
|
|
63
|
+
[key in ProgressBarType]: string;
|
|
53
64
|
};
|
|
54
65
|
};
|
|
55
66
|
label: {
|
|
@@ -59,5 +70,7 @@ export type ProgressBarTokenType = {
|
|
|
59
70
|
};
|
|
60
71
|
transition: string;
|
|
61
72
|
};
|
|
62
|
-
|
|
63
|
-
|
|
73
|
+
export type ResponsiveProgressBarTokens = {
|
|
74
|
+
[key in keyof BreakpointType]: ProgressBarTokenType;
|
|
75
|
+
};
|
|
76
|
+
export declare const getProgressBarTokens: (foundationToken: FoundationTokenType) => ResponsiveProgressBarTokens;
|
|
@@ -6,46 +6,48 @@ export type RadioState = 'default' | 'hover' | 'disabled' | 'error';
|
|
|
6
6
|
export type RadioIndicatorState = 'active' | 'inactive';
|
|
7
7
|
export type RadioTokensType = Readonly<{
|
|
8
8
|
gap: CSSObject['gap'];
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
group: {
|
|
10
|
+
gap: CSSObject['gap'];
|
|
11
|
+
};
|
|
11
12
|
indicator: {
|
|
12
13
|
[key in RadioIndicatorState]: {
|
|
13
|
-
|
|
14
|
-
[key in
|
|
14
|
+
backgroundColor: {
|
|
15
|
+
[key in RadioState]: CSSObject['backgroundColor'];
|
|
15
16
|
};
|
|
16
|
-
|
|
17
|
-
[key in
|
|
17
|
+
borderColor: {
|
|
18
|
+
[key in RadioState]: CSSObject['borderColor'];
|
|
18
19
|
};
|
|
19
20
|
};
|
|
20
21
|
};
|
|
21
22
|
activeIndicator: {
|
|
22
23
|
active: {
|
|
23
|
-
|
|
24
|
+
backgroundColor: {
|
|
24
25
|
[key in Exclude<RadioState, 'hover' | 'error'>]: CSSObject['backgroundColor'];
|
|
25
26
|
};
|
|
26
27
|
};
|
|
27
28
|
};
|
|
28
29
|
content: {
|
|
29
30
|
label: {
|
|
31
|
+
gap: CSSObject['gap'];
|
|
30
32
|
color: {
|
|
31
33
|
[key in RadioState]: CSSObject['color'];
|
|
32
34
|
};
|
|
33
|
-
|
|
34
|
-
[key in RadioSize]:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
35
|
+
fontSize: {
|
|
36
|
+
[key in RadioSize]: CSSObject['fontSize'];
|
|
37
|
+
};
|
|
38
|
+
fontWeight: {
|
|
39
|
+
[key in RadioSize]: CSSObject['fontWeight'];
|
|
38
40
|
};
|
|
39
41
|
};
|
|
40
42
|
sublabel: {
|
|
41
43
|
color: {
|
|
42
44
|
[key in RadioState]: CSSObject['color'];
|
|
43
45
|
};
|
|
44
|
-
|
|
45
|
-
[key in RadioSize]:
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
fontSize: {
|
|
47
|
+
[key in RadioSize]: CSSObject['fontSize'];
|
|
48
|
+
};
|
|
49
|
+
fontWeight: {
|
|
50
|
+
[key in RadioSize]: CSSObject['fontWeight'];
|
|
49
51
|
};
|
|
50
52
|
};
|
|
51
53
|
};
|
|
@@ -54,22 +56,17 @@ export type RadioTokensType = Readonly<{
|
|
|
54
56
|
};
|
|
55
57
|
borderWidth: {
|
|
56
58
|
[key in RadioIndicatorState]: {
|
|
57
|
-
[key in
|
|
59
|
+
[key in RadioState]: number;
|
|
58
60
|
};
|
|
59
61
|
};
|
|
60
62
|
slot: {
|
|
61
|
-
|
|
62
|
-
[key in RadioSize]: CSSObject['width'];
|
|
63
|
-
};
|
|
63
|
+
[key in RadioSize]: CSSObject['width'];
|
|
64
64
|
};
|
|
65
65
|
required: {
|
|
66
66
|
color: CSSObject['color'];
|
|
67
|
-
spacing: CSSObject['marginLeft'];
|
|
68
67
|
};
|
|
69
68
|
}>;
|
|
70
69
|
export type ResponsiveRadioTokens = {
|
|
71
70
|
[key in keyof BreakpointType]: RadioTokensType;
|
|
72
71
|
};
|
|
73
72
|
export declare const getRadioTokens: (foundationToken: ThemeType) => ResponsiveRadioTokens;
|
|
74
|
-
declare const radioTokens: ResponsiveRadioTokens;
|
|
75
|
-
export default radioTokens;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { CSSObject } from 'styled-components';
|
|
2
|
+
import { FoundationTokenType } from '../../tokens/theme.token';
|
|
3
|
+
import { BreakpointType } from '../../breakpoints/breakPoints';
|
|
4
|
+
export type SidebarState = 'default' | 'hover' | 'active';
|
|
5
|
+
export type SidebarVariant = 'expanded' | 'collapsed';
|
|
6
|
+
/**
|
|
7
|
+
* Sidebar Tokens following the pattern: [target].CSSProp.[variant].[state]
|
|
8
|
+
*
|
|
9
|
+
* Structure matches Card pattern for consistency:
|
|
10
|
+
* - Base properties: maxWidth, borderRadius, zIndex, transition, backgroundColor.[state]
|
|
11
|
+
* - Target sections: leftPanel.*, header.*, body.*, footer.*, mainContent.*
|
|
12
|
+
* - Each target has: backgroundColor, padding, border, gap, specific properties
|
|
13
|
+
* - Interactive elements have state-based styling: [state] = default | hover | active
|
|
14
|
+
*
|
|
15
|
+
* Pattern examples:
|
|
16
|
+
* - maxWidth.[variant] (sidebar's maximum width based on state)
|
|
17
|
+
* - backgroundColor.[state] (sidebar background with states)
|
|
18
|
+
* - leftPanel.backgroundColor (tenant panel background)
|
|
19
|
+
* - header.toggleButton.backgroundColor.[state] (interactive toggle button)
|
|
20
|
+
* - body.padding (directory content area spacing)
|
|
21
|
+
* - footer.height (footer section height)
|
|
22
|
+
* - mainContent.topbar.transition (topbar auto-hide animation)
|
|
23
|
+
*/
|
|
24
|
+
export type SidebarTokenType = {
|
|
25
|
+
maxWidth: {
|
|
26
|
+
withLeftPanel: CSSObject['maxWidth'];
|
|
27
|
+
withoutLeftPanel: CSSObject['maxWidth'];
|
|
28
|
+
};
|
|
29
|
+
backgroundColor: CSSObject['backgroundColor'];
|
|
30
|
+
borderRight: CSSObject['border'];
|
|
31
|
+
leftPanel: {
|
|
32
|
+
width: CSSObject['width'];
|
|
33
|
+
backgroundColor: CSSObject['backgroundColor'];
|
|
34
|
+
borderRight: CSSObject['border'];
|
|
35
|
+
padding: {
|
|
36
|
+
x: CSSObject['padding'];
|
|
37
|
+
y: CSSObject['padding'];
|
|
38
|
+
};
|
|
39
|
+
gap: CSSObject['gap'];
|
|
40
|
+
item: {
|
|
41
|
+
width: CSSObject['width'];
|
|
42
|
+
borderRadius: CSSObject['borderTopLeftRadius'];
|
|
43
|
+
border: {
|
|
44
|
+
[key in SidebarState]: CSSObject['border'];
|
|
45
|
+
};
|
|
46
|
+
backgroundColor: {
|
|
47
|
+
[key in SidebarState]: CSSObject['backgroundColor'];
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
header: {
|
|
52
|
+
backgroundColor: CSSObject['backgroundColor'];
|
|
53
|
+
padding: {
|
|
54
|
+
x: CSSObject['padding'];
|
|
55
|
+
y: CSSObject['padding'];
|
|
56
|
+
};
|
|
57
|
+
gap: CSSObject['gap'];
|
|
58
|
+
borderBottom: CSSObject['border'];
|
|
59
|
+
toggleButton: {
|
|
60
|
+
backgroundColor: {
|
|
61
|
+
[key in SidebarState]: CSSObject['backgroundColor'];
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
footer: {
|
|
66
|
+
backgroundColor: CSSObject['backgroundColor'];
|
|
67
|
+
padding: {
|
|
68
|
+
x: CSSObject['padding'];
|
|
69
|
+
y: CSSObject['padding'];
|
|
70
|
+
};
|
|
71
|
+
borderTop: CSSObject['border'];
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
export type ResponsiveSidebarTokens = {
|
|
75
|
+
[key in keyof BreakpointType]: SidebarTokenType;
|
|
76
|
+
};
|
|
77
|
+
export declare const getSidebarTokens: (foundationToken: FoundationTokenType) => ResponsiveSidebarTokens;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { TenantItem } from './types';
|
|
2
|
+
import { SidebarTokenType } from './sidebar.tokens';
|
|
2
3
|
export declare const arrangeTenants: (tenants: TenantItem[], selectedLabel: string, maxVisible: number) => {
|
|
3
4
|
visibleTenants: TenantItem[];
|
|
4
5
|
hiddenTenants: TenantItem[];
|
|
5
6
|
hasMoreTenants: boolean;
|
|
6
7
|
};
|
|
7
|
-
export declare const getSidebarWidth: (isExpanded: boolean, isHovering: boolean, hasLeftPanel: boolean) => string;
|
|
8
|
-
export declare const getSidebarBorder: (isExpanded: boolean, isHovering: boolean) => string;
|
|
8
|
+
export declare const getSidebarWidth: (isExpanded: boolean, isHovering: boolean, hasLeftPanel: boolean, tokens: SidebarTokenType) => string;
|
|
9
|
+
export declare const getSidebarBorder: (isExpanded: boolean, isHovering: boolean, tokens: SidebarTokenType) => string;
|
|
9
10
|
export declare const getTopbarStyles: (enableAutoHide: boolean, showTopbar: boolean) => {
|
|
10
11
|
transform?: undefined;
|
|
11
12
|
transition?: undefined;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { SingleSelectProps } from './types';
|
|
2
|
-
declare const SingleSelect: ({ label, subLabel, hintText, required, helpIconText, placeholder, error, errorMessage, size, items, name, variant, disabled, selected, onSelect, enableSearch, searchPlaceholder, slot, customTrigger, useDrawerOnMobile, alignment, side, sideOffset, alignOffset, minMenuWidth, maxMenuWidth, maxMenuHeight, onBlur, onFocus, inline, fullWidth, }: SingleSelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const SingleSelect: ({ label, subLabel, hintText, required, helpIconText, placeholder, error, errorMessage, size, items, name, variant, disabled, selected, onSelect, enableSearch, searchPlaceholder, slot, customTrigger, useDrawerOnMobile, alignment, side, sideOffset, alignOffset, minMenuWidth, maxMenuWidth, maxMenuHeight, onBlur, onFocus, inline, fullWidth, enableVirtualization, virtualListItemHeight, virtualListOverscan, onEndReached, endReachedThreshold, hasMore, loadingComponent, }: SingleSelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default SingleSelect;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { default as React } from 'react';
|
|
2
2
|
import { SelectMenuAlignment, SelectMenuSide, SelectMenuGroupType } from '../Select';
|
|
3
|
+
import { SelectMenuSize, SelectMenuVariant } from './types';
|
|
3
4
|
type SingleSelectMenuProps = {
|
|
4
5
|
items: SelectMenuGroupType[];
|
|
5
6
|
selected: string;
|
|
@@ -17,6 +18,15 @@ type SingleSelectMenuProps = {
|
|
|
17
18
|
alignOffset?: number;
|
|
18
19
|
open: boolean;
|
|
19
20
|
onOpenChange: (open: boolean) => void;
|
|
21
|
+
size?: SelectMenuSize;
|
|
22
|
+
variant?: SelectMenuVariant;
|
|
23
|
+
enableVirtualization?: boolean;
|
|
24
|
+
virtualListItemHeight?: number;
|
|
25
|
+
virtualListOverscan?: number;
|
|
26
|
+
onEndReached?: () => void;
|
|
27
|
+
endReachedThreshold?: number;
|
|
28
|
+
hasMore?: boolean;
|
|
29
|
+
loadingComponent?: React.ReactNode;
|
|
20
30
|
};
|
|
21
|
-
declare const SingleSelectMenu: ({ items, selected, onSelect, trigger, minMenuWidth, maxMenuWidth, maxMenuHeight, enableSearch, searchPlaceholder, disabled, alignment, side, sideOffset, alignOffset, open, onOpenChange, }: SingleSelectMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
declare const SingleSelectMenu: ({ items, selected, onSelect, trigger, minMenuWidth, maxMenuWidth, maxMenuHeight, enableSearch, searchPlaceholder, disabled, alignment, side, sideOffset, alignOffset, open, onOpenChange, size, variant, enableVirtualization, virtualListItemHeight, virtualListOverscan, onEndReached, endReachedThreshold, hasMore, }: SingleSelectMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
32
|
export default SingleSelectMenu;
|