jp-composter 0.1.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/dist/index.d.mts +997 -0
- package/dist/index.d.ts +997 -0
- package/dist/index.js +36837 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +36778 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +66 -0
- package/src/SliceUI/IconMoon.tsx +33 -0
- package/src/SliceUI/assets/Anatomy diagram copy.svg +19 -0
- package/src/SliceUI/assets/Anatomy diagram.svg +19 -0
- package/src/SliceUI/assets/Anatomycheck.svg +15 -0
- package/src/SliceUI/assets/Anatomyinput.svg +32 -0
- package/src/SliceUI/assets/Checkbox.jpg +0 -0
- package/src/SliceUI/assets/Diagram copy.svg +15 -0
- package/src/SliceUI/assets/Diagram.jpg +0 -0
- package/src/SliceUI/assets/Diagram.svg +15 -0
- package/src/SliceUI/assets/Frame 5 copy.png +0 -0
- package/src/SliceUI/assets/Frame 5.png +0 -0
- package/src/SliceUI/assets/Frame 65.png +0 -0
- package/src/SliceUI/assets/Frame_65.png +0 -0
- package/src/SliceUI/assets/Icon copy.svg +3 -0
- package/src/SliceUI/assets/Icon.svg +3 -0
- package/src/SliceUI/assets/Icon_Bridging copy.svg +39 -0
- package/src/SliceUI/assets/Icon_Bridging.svg +39 -0
- package/src/SliceUI/assets/Icon_Consistent copy.svg +39 -0
- package/src/SliceUI/assets/Icon_Consistent.svg +39 -0
- package/src/SliceUI/assets/Icon_Plug copy.svg +38 -0
- package/src/SliceUI/assets/Icon_Plug.svg +38 -0
- package/src/SliceUI/assets/Icon_Reusable copy.svg +39 -0
- package/src/SliceUI/assets/Icon_Reusable.svg +39 -0
- package/src/SliceUI/assets/Layer_1.png +0 -0
- package/src/SliceUI/assets/accessibility.png +0 -0
- package/src/SliceUI/assets/accessibility.svg +1 -0
- package/src/SliceUI/assets/addon-library.png +0 -0
- package/src/SliceUI/assets/assets.png +0 -0
- package/src/SliceUI/assets/avif-test-image.avif +0 -0
- package/src/SliceUI/assets/bridging.svg +13 -0
- package/src/SliceUI/assets/consistent.svg +11 -0
- package/src/SliceUI/assets/context.png +0 -0
- package/src/SliceUI/assets/discord.svg +1 -0
- package/src/SliceUI/assets/docs.png +0 -0
- package/src/SliceUI/assets/figma-plugin.png +0 -0
- package/src/SliceUI/assets/github.svg +1 -0
- package/src/SliceUI/assets/resources/Anatomy diagram.svg +19 -0
- package/src/SliceUI/assets/resources/Anatomycheck.svg +15 -0
- package/src/SliceUI/assets/resources/Anatomyinput.svg +32 -0
- package/src/SliceUI/assets/resources/Diagram.svg +15 -0
- package/src/SliceUI/assets/resources/Frame 5.png +0 -0
- package/src/SliceUI/assets/resources/Frame 65.png +0 -0
- package/src/SliceUI/assets/resources/Icon.svg +3 -0
- package/src/SliceUI/assets/resources/Icon_Bridging.svg +39 -0
- package/src/SliceUI/assets/resources/Icon_Consistent.svg +39 -0
- package/src/SliceUI/assets/resources/Icon_Plug.svg +38 -0
- package/src/SliceUI/assets/resources/Icon_Reusable.svg +39 -0
- package/src/SliceUI/assets/resources/fonts/FontIcon.json +150 -0
- package/src/SliceUI/assets/resources/fonts/Lato-Black.ttf +0 -0
- package/src/SliceUI/assets/resources/fonts/Lato-Bold.ttf +0 -0
- package/src/SliceUI/assets/resources/fonts/Lato-Heavy.ttf +0 -0
- package/src/SliceUI/assets/resources/fonts/Lato-Medium.ttf +0 -0
- package/src/SliceUI/assets/resources/fonts/Lato-Regular.ttf +0 -0
- package/src/SliceUI/assets/resources/fonts/Lato.woff2 +0 -0
- package/src/SliceUI/assets/resources/fonts/icomoon.eot +0 -0
- package/src/SliceUI/assets/resources/fonts/icomoon.svg +601 -0
- package/src/SliceUI/assets/resources/fonts/icomoon.ttf +0 -0
- package/src/SliceUI/assets/resources/fonts/icomoon.woff +0 -0
- package/src/SliceUI/assets/resources/fonts/selection.json +1 -0
- package/src/SliceUI/assets/share.png +0 -0
- package/src/SliceUI/assets/styling.png +0 -0
- package/src/SliceUI/assets/testing.png +0 -0
- package/src/SliceUI/assets/theming.png +0 -0
- package/src/SliceUI/assets/tutorials.svg +1 -0
- package/src/SliceUI/assets/youtube.svg +1 -0
- package/src/SliceUI/automation/helper.ts +29 -0
- package/src/SliceUI/avatar/Avatar.tsx +237 -0
- package/src/SliceUI/avatar/Token.ts +116 -0
- package/src/SliceUI/avatar/Type.ts +36 -0
- package/src/SliceUI/avatar/helper.ts +53 -0
- package/src/SliceUI/badge/Badge.tsx +308 -0
- package/src/SliceUI/badge/Token.ts +202 -0
- package/src/SliceUI/badge/Type.ts +46 -0
- package/src/SliceUI/badge/helper.ts +39 -0
- package/src/SliceUI/button/Button.tsx +243 -0
- package/src/SliceUI/button/Token.ts +138 -0
- package/src/SliceUI/button/Type.ts +34 -0
- package/src/SliceUI/button/helper.ts +125 -0
- package/src/SliceUI/checkbox/Checkbox.tsx +176 -0
- package/src/SliceUI/checkbox/Token.ts +128 -0
- package/src/SliceUI/checkbox/Type.ts +35 -0
- package/src/SliceUI/chip/Chip.tsx +290 -0
- package/src/SliceUI/chip/Token.ts +151 -0
- package/src/SliceUI/chip/Type.ts +43 -0
- package/src/SliceUI/chip/helper.ts +40 -0
- package/src/SliceUI/colors/Pallete.ts +151 -0
- package/src/SliceUI/colors/Token.ts +110 -0
- package/src/SliceUI/colors/Type.ts +56 -0
- package/src/SliceUI/contextProvider/context.tsx +108 -0
- package/src/SliceUI/divider/Divider.tsx +109 -0
- package/src/SliceUI/divider/Token.ts +18 -0
- package/src/SliceUI/divider/Type.ts +26 -0
- package/src/SliceUI/icon/CustomIcon.ts +4 -0
- package/src/SliceUI/icon/IcoMoonIcon.tsx +11 -0
- package/src/SliceUI/icon/Icon.tsx +38 -0
- package/src/SliceUI/icon/Token.ts +14 -0
- package/src/SliceUI/icon/Type.ts +13 -0
- package/src/SliceUI/icon/selection.json +1 -0
- package/src/SliceUI/input/Input.tsx +573 -0
- package/src/SliceUI/input/ToDo.md +99 -0
- package/src/SliceUI/input/Token.ts +372 -0
- package/src/SliceUI/input/Type.ts +109 -0
- package/src/SliceUI/input/components/InputPortal.tsx +211 -0
- package/src/SliceUI/input/components/NativeBottomSheet.tsx +296 -0
- package/src/SliceUI/input/components/SelectChip.tsx +185 -0
- package/src/SliceUI/input/components/SelectList.tsx +173 -0
- package/src/SliceUI/input/components/SelectListItem.tsx +377 -0
- package/src/SliceUI/input/components/SelectScrollbarStyle.ts +44 -0
- package/src/SliceUI/input/hooks/useCustomScrollbar.ts +17 -0
- package/src/SliceUI/input/hooks/useInputState.ts +41 -0
- package/src/SliceUI/input/hooks/useLabelAnimation.ts +132 -0
- package/src/SliceUI/input/hooks/useOutsideClick.ts +38 -0
- package/src/SliceUI/input/hooks/useSelectLogic.ts +338 -0
- package/src/SliceUI/input/utils/inputUtils.ts +120 -0
- package/src/SliceUI/input/utils/selectUtils.ts +85 -0
- package/src/SliceUI/input/utils/styleUtils.ts +50 -0
- package/src/SliceUI/input/variants/CurrencyInput/CurrencyInput.tsx +16 -0
- package/src/SliceUI/input/variants/CurrencyInput/NativeCurrencyInput.tsx +181 -0
- package/src/SliceUI/input/variants/CurrencyInput/WebCurrencyInput.tsx +163 -0
- package/src/SliceUI/input/variants/CurrencyInput/types.ts +17 -0
- package/src/SliceUI/input/variants/PhoneInput/NativePhoneInput.tsx +189 -0
- package/src/SliceUI/input/variants/PhoneInput/PhoneInput.tsx +16 -0
- package/src/SliceUI/input/variants/PhoneInput/WebPhoneInput.tsx +291 -0
- package/src/SliceUI/input/variants/PhoneInput/types.ts +22 -0
- package/src/SliceUI/input/variants/SelectInput/SelectInput.tsx +407 -0
- package/src/SliceUI/input/variants/SelectInput/types.ts +34 -0
- package/src/SliceUI/input/variants/TextInput.tsx +68 -0
- package/src/SliceUI/layout/Box.tsx +38 -0
- package/src/SliceUI/layout/Center.tsx +38 -0
- package/src/SliceUI/layout/Divider.tsx +37 -0
- package/src/SliceUI/layout/Grid.tsx +75 -0
- package/src/SliceUI/layout/PageContainer.tsx +60 -0
- package/src/SliceUI/layout/ScrollContainer.tsx +72 -0
- package/src/SliceUI/layout/Spacer.tsx +54 -0
- package/src/SliceUI/layout/Stack.tsx +97 -0
- package/src/SliceUI/layout/StickyHeader.tsx +71 -0
- package/src/SliceUI/radio/RadioButton.tsx +130 -0
- package/src/SliceUI/radio/Token.ts +197 -0
- package/src/SliceUI/radio/Type.ts +35 -0
- package/src/SliceUI/react-native.config.js +3 -0
- package/src/SliceUI/responsive/Type.ts +7 -0
- package/src/SliceUI/responsive/helper.ts +53 -0
- package/src/SliceUI/switch/Switch.tsx +119 -0
- package/src/SliceUI/switch/Token.ts +205 -0
- package/src/SliceUI/switch/Type.ts +26 -0
- package/src/SliceUI/tab/TabItem.tsx +204 -0
- package/src/SliceUI/tab/Tabs.tsx +110 -0
- package/src/SliceUI/tab/Token.ts +282 -0
- package/src/SliceUI/tab/Type.ts +66 -0
- package/src/SliceUI/tab/helper.ts +53 -0
- package/src/SliceUI/table/Table.tsx +388 -0
- package/src/SliceUI/table/TableCell.tsx +158 -0
- package/src/SliceUI/table/TableFooter.tsx +353 -0
- package/src/SliceUI/table/TableHeader.tsx +247 -0
- package/src/SliceUI/table/TableRow.tsx +218 -0
- package/src/SliceUI/table/Token.ts +252 -0
- package/src/SliceUI/table/Type.ts +213 -0
- package/src/SliceUI/table/helper.ts +376 -0
- package/src/SliceUI/table/index.ts +53 -0
- package/src/SliceUI/theme/dummyColors.tsx +7 -0
- package/src/SliceUI/theme/theme.ts +107 -0
- package/src/SliceUI/typography/BaseTypographyToken.ts +62 -0
- package/src/SliceUI/typography/FoundationToken.ts +48 -0
- package/src/SliceUI/typography/Token.ts +228 -0
- package/src/SliceUI/typography/Type.ts +20 -0
- package/src/SliceUI/typography/Typography.tsx +99 -0
- package/src/SliceUI/values/BorderRadius.ts +17 -0
- package/src/SliceUI/values/BorderWidth.ts +7 -0
- package/src/SliceUI/values/Dimension.ts +35 -0
- package/src/SliceUI/values/IconSizes.ts +13 -0
- package/src/SliceUI/values/Spacing.ts +22 -0
- package/src/declarations.d.ts +8 -0
- package/src/index.tsx +119 -0
- package/src/stories/Colors.mdx +1418 -0
- package/src/stories/Dimensions.mdx +60 -0
- package/src/stories/GetStarted.mdx +90 -0
- package/src/stories/Introduction.mdx +136 -0
- package/src/stories/Shape.mdx +126 -0
- package/src/stories/Spacing.mdx +104 -0
- package/src/stories/Typography.mdx +454 -0
- package/src/stories/Utils.mdx +277 -0
- package/src/stories/story-components/AddIcon.js +13 -0
- package/src/stories/story-components/RectangleWithBox.jsx +51 -0
- package/src/stories/story-components/RoundedRectangle.jsx +18 -0
- package/src/stories/story-components/RoundedWithWhiteInside.jsx +33 -0
- package/src/stories/story-components/WhiteRoundedRectangle.jsx +107 -0
- package/src/stories/story-components/svgPaths.js +126 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
export const colors = {
|
|
2
|
+
Primary: {
|
|
3
|
+
100: '#FFD8D0',
|
|
4
|
+
200: '#FBB2A3',
|
|
5
|
+
300: '#F38A77',
|
|
6
|
+
400: '#E7604E',
|
|
7
|
+
500: '#D82927',
|
|
8
|
+
600: '#B12722',
|
|
9
|
+
700: '#8C241D',
|
|
10
|
+
800: '#681F18',
|
|
11
|
+
900: '#471913',
|
|
12
|
+
1000: '#27110B',
|
|
13
|
+
a100: 'rgba(216, 41, 39, 0.20)',
|
|
14
|
+
a200: 'rgba(216, 41, 39, 0.40)',
|
|
15
|
+
a300: 'rgba(216, 41, 39, 0.80)',
|
|
16
|
+
a400: 'rgba(216, 41, 39, 0.80)',
|
|
17
|
+
},
|
|
18
|
+
red: {
|
|
19
|
+
100: '#FFD9CE',
|
|
20
|
+
200: '#FFB3A0',
|
|
21
|
+
300: '#FF8B73',
|
|
22
|
+
400: '#F76048',
|
|
23
|
+
500: '#EB211E',
|
|
24
|
+
600: '#C1231B',
|
|
25
|
+
700: '#982218',
|
|
26
|
+
800: '#711E14',
|
|
27
|
+
900: '#4C1910',
|
|
28
|
+
1000: '#2A1209',
|
|
29
|
+
a100: 'rgba(235, 33, 30, 0.20)',
|
|
30
|
+
a200: 'rgba(235, 33, 30, 0.40)',
|
|
31
|
+
a300: 'rgba(235, 33, 30, 0.80)',
|
|
32
|
+
a400: 'rgba(235, 33, 30, 0.80)',
|
|
33
|
+
},
|
|
34
|
+
yellow: {
|
|
35
|
+
100: '#FFF5D6',
|
|
36
|
+
200: '#FFECAC',
|
|
37
|
+
300: '#FFE282',
|
|
38
|
+
400: '#FFD954',
|
|
39
|
+
500: '#FAD000',
|
|
40
|
+
600: '#CCAA12',
|
|
41
|
+
700: '#A08517',
|
|
42
|
+
800: '#766218',
|
|
43
|
+
900: '#4E4215',
|
|
44
|
+
1000: '#2A230F',
|
|
45
|
+
a100: 'rgba(250, 208, 0, 0.10)',
|
|
46
|
+
a200: 'rgba(250, 208, 0, 0.20)',
|
|
47
|
+
a300: 'rgba(250, 208, 0, 0.40)',
|
|
48
|
+
a400: 'rgba(250, 208, 0, 0.80)',
|
|
49
|
+
},
|
|
50
|
+
orange: {
|
|
51
|
+
100: '#FFE5D3',
|
|
52
|
+
200: '#FFCCA8',
|
|
53
|
+
300: '#FFB27D',
|
|
54
|
+
400: '#FC9853',
|
|
55
|
+
500: '#F57E24',
|
|
56
|
+
600: '#C86821',
|
|
57
|
+
700: '#9D531E',
|
|
58
|
+
800: '#743F19',
|
|
59
|
+
900: '#4E2C14',
|
|
60
|
+
1000: '#2A1A0D',
|
|
61
|
+
a100: 'rgba(245, 126, 36, 0.10)',
|
|
62
|
+
a200: 'rgba(245, 126, 36, 0.20)',
|
|
63
|
+
a300: 'rgba(245, 126, 36, 0.40)',
|
|
64
|
+
a400: 'rgba(245, 126, 36, 0.80)',
|
|
65
|
+
},
|
|
66
|
+
green: {
|
|
67
|
+
100: '#D8EFDD',
|
|
68
|
+
200: '#B1DFBC',
|
|
69
|
+
300: '#88CF9B',
|
|
70
|
+
400: '#5BBE7B',
|
|
71
|
+
500: '#14AD5C',
|
|
72
|
+
600: '#1B8E4D',
|
|
73
|
+
700: '#1D703E',
|
|
74
|
+
800: '#1C5430',
|
|
75
|
+
900: '#173922',
|
|
76
|
+
1000: '#111F15',
|
|
77
|
+
a100: 'rgba(20, 173, 92, 0.10)',
|
|
78
|
+
a200: 'rgba(20, 173, 92, 0.20)',
|
|
79
|
+
a300: 'rgba(20, 173, 92, 0.40)',
|
|
80
|
+
a400: 'rgba(20, 173, 92, 0.80)',
|
|
81
|
+
},
|
|
82
|
+
blue: {
|
|
83
|
+
100: '#DADDFA',
|
|
84
|
+
200: '#B5BDF4',
|
|
85
|
+
300: '#8D9DEE',
|
|
86
|
+
400: '#5F7FE7',
|
|
87
|
+
500: '#0263E0',
|
|
88
|
+
600: '#1752B7',
|
|
89
|
+
700: '#1D428F',
|
|
90
|
+
800: '#1D326A',
|
|
91
|
+
900: '#192346',
|
|
92
|
+
1000: '#121526',
|
|
93
|
+
a100: 'rgba(2, 99, 224, 0.10)',
|
|
94
|
+
a200: 'rgba(2, 99, 224, 0.20)',
|
|
95
|
+
a300: 'rgba(2, 99, 224, 0.40)',
|
|
96
|
+
a400: 'rgba(2, 99, 224, 0.80)',
|
|
97
|
+
},
|
|
98
|
+
neutral: {
|
|
99
|
+
100: '#F5F5F5',
|
|
100
|
+
200: '#E6E6E6',
|
|
101
|
+
300: '#D9D9D9',
|
|
102
|
+
400: '#B3B3B3',
|
|
103
|
+
500: '#757575',
|
|
104
|
+
600: '#444444',
|
|
105
|
+
700: '#383838',
|
|
106
|
+
800: '#2C2C2C',
|
|
107
|
+
900: '#1E1E1E',
|
|
108
|
+
1000: '#111111',
|
|
109
|
+
a50: 'rgba(17, 17, 17, 0.5)',
|
|
110
|
+
a100: 'rgba(17, 17, 17, 0.10)',
|
|
111
|
+
a200: 'rgba(17, 17, 17, 0.20)',
|
|
112
|
+
a300: 'rgba(17, 17, 17, 0.40)',
|
|
113
|
+
a400: 'rgba(17, 17, 17, 0.80)',
|
|
114
|
+
},
|
|
115
|
+
slate: {
|
|
116
|
+
100: '#FAFCFE',
|
|
117
|
+
200: '#F7FAFD',
|
|
118
|
+
300: '#EAEDF0',
|
|
119
|
+
400: '#D2D4D6',
|
|
120
|
+
500: '#949494',
|
|
121
|
+
600: '#767676',
|
|
122
|
+
700: '#5A5A5A',
|
|
123
|
+
800: '#434343',
|
|
124
|
+
900: '#303030',
|
|
125
|
+
1000: '#242424',
|
|
126
|
+
},
|
|
127
|
+
white: {
|
|
128
|
+
1000: '#FFFFFF',
|
|
129
|
+
a100: 'rgba(255, 255, 255, 0.05)',
|
|
130
|
+
a200: 'rgba(255, 255, 255, 0.10)',
|
|
131
|
+
a300: 'rgba(255, 255, 255, 0.20)',
|
|
132
|
+
a400: 'rgba(255, 255, 255, 0.40)',
|
|
133
|
+
a500: 'rgba(255, 255, 255, 0.70)',
|
|
134
|
+
a600: 'rgba(255, 255, 255, 0.80)',
|
|
135
|
+
a700: 'rgba(255, 255, 255, 0.85)',
|
|
136
|
+
a800: 'rgba(255, 255, 255, 0.90)',
|
|
137
|
+
a900: 'rgba(255, 255, 255, 0.95)',
|
|
138
|
+
},
|
|
139
|
+
black: {
|
|
140
|
+
1000: '#000000',
|
|
141
|
+
a100: 'rgba(0, 0, 0, 0.05)',
|
|
142
|
+
a200: 'rgba(0, 0, 0, 0.10)',
|
|
143
|
+
a300: 'rgba(0, 0, 0, 0.20)',
|
|
144
|
+
a400: 'rgba(0, 0, 0, 0.40)',
|
|
145
|
+
a500: 'rgba(0, 0, 0, 0.70)',
|
|
146
|
+
a600: 'rgba(0, 0, 0, 0.80)',
|
|
147
|
+
a700: 'rgba(0, 0, 0, 0.85)',
|
|
148
|
+
a800: 'rgba(0, 0, 0, 0.90)',
|
|
149
|
+
a900: 'rgba(0, 0, 0, 0.95)',
|
|
150
|
+
},
|
|
151
|
+
};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import {colors as pallete} from './Pallete';
|
|
2
|
+
import type {ColorTokens} from './Type';
|
|
3
|
+
|
|
4
|
+
export const LightColorTokens = (
|
|
5
|
+
colors: typeof pallete = pallete,
|
|
6
|
+
accentColor: string = colors.Primary[500],
|
|
7
|
+
positiveColor: string = colors.green[500],
|
|
8
|
+
negativeColor: string = colors.red[500],
|
|
9
|
+
linkColor: string = colors.blue[500],
|
|
10
|
+
contrastWhite: string = colors.white[1000],
|
|
11
|
+
): ColorTokens => {
|
|
12
|
+
return {
|
|
13
|
+
colorBackgroundAccent: accentColor,
|
|
14
|
+
colorBackgroundAccentAlpha: colors.Primary.a100,
|
|
15
|
+
colorBackgroundPositive: positiveColor,
|
|
16
|
+
colorBackgroundNegative: negativeColor,
|
|
17
|
+
colorBackgroundLink: linkColor,
|
|
18
|
+
colorBackgroundPrimary: colors.white[1000],
|
|
19
|
+
colorBackgroundSecondary: colors.slate[400],
|
|
20
|
+
colorBackgroundTertiary: colors.slate[300],
|
|
21
|
+
colorBackgroundLight: colors.slate[200],
|
|
22
|
+
colorBackgroundLighter: colors.slate[100],
|
|
23
|
+
colorBackgroundElevated: colors.white[1000],
|
|
24
|
+
colorBackgroundModal: colors.white[1000],
|
|
25
|
+
colorBorderAccent: accentColor,
|
|
26
|
+
colorBorderPositive: positiveColor,
|
|
27
|
+
colorBorderNegative: negativeColor,
|
|
28
|
+
colorBorderLink: linkColor,
|
|
29
|
+
colorBorderStrong: colors.neutral[1000],
|
|
30
|
+
colorBorderMedium: colors.neutral[400],
|
|
31
|
+
colorBorderSubtle: colors.neutral[300],
|
|
32
|
+
colorBorderLight: colors.neutral[200],
|
|
33
|
+
colorBorderLighter: colors.neutral[100],
|
|
34
|
+
colorBorderAlpha: colors.neutral.a100,
|
|
35
|
+
colorForegroundAccent: accentColor,
|
|
36
|
+
colorForegroundPositive: positiveColor,
|
|
37
|
+
colorForegroundNegative: negativeColor,
|
|
38
|
+
colorForegroundLink: linkColor,
|
|
39
|
+
colorForegroundPrimary: colors.neutral[1000],
|
|
40
|
+
colorForegroundSecondary: colors.neutral[800],
|
|
41
|
+
colorForegroundTertiary: colors.neutral[600],
|
|
42
|
+
colorForegroundLight: colors.neutral[500],
|
|
43
|
+
colorForegroundLighter: colors.neutral[400],
|
|
44
|
+
colorForegroundInvariable: contrastWhite,
|
|
45
|
+
colorStatePrimaryDisabled: colors.neutral.a200,
|
|
46
|
+
colorStatePrimaryDisabled2: colors.neutral.a50,
|
|
47
|
+
colorStatePrimaryHover: colors.neutral.a100,
|
|
48
|
+
colorStatePrimaryPressed: colors.neutral.a300,
|
|
49
|
+
colorStateAccentDisabled: colors.Primary.a300,
|
|
50
|
+
colorStateAccentHover1: colors.Primary.a400,
|
|
51
|
+
colorStateAccentHover2: colors.Primary.a100,
|
|
52
|
+
colorStateAccentPressed1: colors.Primary[600],
|
|
53
|
+
colorStateAccentPressed2: colors.Primary.a100,
|
|
54
|
+
colorStateContrastWhiteDisabled: colors.white.a500,
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export const DarkColorTokens = (
|
|
59
|
+
colors: typeof pallete = pallete,
|
|
60
|
+
accentColor: string = colors.Primary[500],
|
|
61
|
+
positiveColor: string = colors.green[500],
|
|
62
|
+
negativeColor: string = colors.red[500],
|
|
63
|
+
linkColor: string = colors.blue[500],
|
|
64
|
+
contrastWhite: string = colors.white[1000],
|
|
65
|
+
): ColorTokens => {
|
|
66
|
+
return {
|
|
67
|
+
colorBackgroundAccent: accentColor,
|
|
68
|
+
colorBackgroundAccentAlpha: colors.Primary.a100,
|
|
69
|
+
colorBackgroundPositive: positiveColor,
|
|
70
|
+
colorBackgroundNegative: negativeColor,
|
|
71
|
+
colorBackgroundLink: linkColor,
|
|
72
|
+
colorBackgroundPrimary: colors.neutral[1000],
|
|
73
|
+
colorBackgroundSecondary: colors.slate[800],
|
|
74
|
+
colorBackgroundTertiary: colors.slate[700],
|
|
75
|
+
colorBackgroundLight: colors.slate[600],
|
|
76
|
+
colorBackgroundLighter: colors.slate[500],
|
|
77
|
+
colorBackgroundElevated: colors.neutral[900],
|
|
78
|
+
colorBackgroundModal: colors.neutral[800],
|
|
79
|
+
colorBorderAccent: accentColor,
|
|
80
|
+
colorBorderPositive: positiveColor,
|
|
81
|
+
colorBorderNegative: negativeColor,
|
|
82
|
+
colorBorderLink: linkColor,
|
|
83
|
+
colorBorderStrong: colors.white[1000],
|
|
84
|
+
colorBorderMedium: colors.neutral[500],
|
|
85
|
+
colorBorderSubtle: colors.neutral[600],
|
|
86
|
+
colorBorderLight: colors.neutral[700],
|
|
87
|
+
colorBorderLighter: colors.neutral[800],
|
|
88
|
+
colorBorderAlpha: colors.white.a100,
|
|
89
|
+
colorForegroundAccent: accentColor,
|
|
90
|
+
colorForegroundPositive: positiveColor,
|
|
91
|
+
colorForegroundNegative: negativeColor,
|
|
92
|
+
colorForegroundLink: linkColor,
|
|
93
|
+
colorForegroundPrimary: colors.white[1000],
|
|
94
|
+
colorForegroundSecondary: colors.neutral[100],
|
|
95
|
+
colorForegroundTertiary: colors.neutral[200],
|
|
96
|
+
colorForegroundLight: colors.neutral[300],
|
|
97
|
+
colorForegroundLighter: colors.neutral[400],
|
|
98
|
+
colorForegroundInvariable: contrastWhite,
|
|
99
|
+
colorStatePrimaryDisabled: colors.white.a300,
|
|
100
|
+
colorStatePrimaryDisabled2: colors.white.a100,
|
|
101
|
+
colorStatePrimaryHover: colors.white.a200,
|
|
102
|
+
colorStatePrimaryPressed: colors.white.a400,
|
|
103
|
+
colorStateAccentDisabled: colors.Primary.a300,
|
|
104
|
+
colorStateAccentHover1: colors.Primary.a400,
|
|
105
|
+
colorStateAccentHover2: colors.Primary.a100,
|
|
106
|
+
colorStateAccentPressed1: colors.Primary[600],
|
|
107
|
+
colorStateAccentPressed2: colors.Primary.a100,
|
|
108
|
+
colorStateContrastWhiteDisabled: colors.white.a500,
|
|
109
|
+
};
|
|
110
|
+
};
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export interface ColorTokens {
|
|
2
|
+
colorBackgroundAccent: string;
|
|
3
|
+
colorBackgroundAccentAlpha: string;
|
|
4
|
+
colorBackgroundPositive: string;
|
|
5
|
+
colorBackgroundNegative: string;
|
|
6
|
+
colorBackgroundLink: string;
|
|
7
|
+
colorBackgroundPrimary: string;
|
|
8
|
+
colorBackgroundSecondary: string;
|
|
9
|
+
colorBackgroundTertiary: string;
|
|
10
|
+
colorBackgroundLight: string;
|
|
11
|
+
colorBackgroundLighter: string;
|
|
12
|
+
colorBackgroundElevated: string;
|
|
13
|
+
colorBackgroundModal: string;
|
|
14
|
+
|
|
15
|
+
colorBorderAccent: string;
|
|
16
|
+
colorBorderPositive: string;
|
|
17
|
+
colorBorderNegative: string;
|
|
18
|
+
colorBorderLink: string;
|
|
19
|
+
colorBorderStrong: string;
|
|
20
|
+
colorBorderMedium: string;
|
|
21
|
+
colorBorderSubtle: string;
|
|
22
|
+
colorBorderLight: string;
|
|
23
|
+
colorBorderLighter: string;
|
|
24
|
+
colorBorderAlpha: string;
|
|
25
|
+
|
|
26
|
+
colorForegroundAccent: string;
|
|
27
|
+
colorForegroundPositive: string;
|
|
28
|
+
colorForegroundNegative: string;
|
|
29
|
+
colorForegroundLink: string;
|
|
30
|
+
colorForegroundPrimary: string;
|
|
31
|
+
colorForegroundSecondary: string;
|
|
32
|
+
colorForegroundTertiary: string;
|
|
33
|
+
colorForegroundLight: string;
|
|
34
|
+
colorForegroundLighter: string;
|
|
35
|
+
colorForegroundInvariable: string;
|
|
36
|
+
|
|
37
|
+
colorStatePrimaryDisabled: string;
|
|
38
|
+
colorStatePrimaryHover: string;
|
|
39
|
+
colorStatePrimaryPressed: string;
|
|
40
|
+
|
|
41
|
+
colorStateAccentDisabled: string;
|
|
42
|
+
colorStatePrimaryDisabled2: string;
|
|
43
|
+
colorStateAccentHover1: string;
|
|
44
|
+
colorStateAccentHover2: string;
|
|
45
|
+
colorStateAccentPressed1: string;
|
|
46
|
+
colorStateAccentPressed2: string;
|
|
47
|
+
colorStateContrastWhiteDisabled: string;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Theme type used by helper functions.
|
|
52
|
+
* Only requires colors to be compatible with both SliceTheme and react-navigation themes.
|
|
53
|
+
*/
|
|
54
|
+
export interface ExtendedTheme {
|
|
55
|
+
colors: ColorTokens;
|
|
56
|
+
}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import React, {
|
|
2
|
+
createContext,
|
|
3
|
+
useContext,
|
|
4
|
+
useEffect,
|
|
5
|
+
useState,
|
|
6
|
+
type ReactNode,
|
|
7
|
+
} from 'react';
|
|
8
|
+
import {Dimensions} from 'react-native';
|
|
9
|
+
import {getDeviceBreakpoint, type Breakpoints} from '../responsive/helper';
|
|
10
|
+
import type {InputThemeSize} from '../input/Type';
|
|
11
|
+
import type {ColorTokens} from '../colors/Type';
|
|
12
|
+
import {dimensions} from '../values/Dimension';
|
|
13
|
+
import type {TypographyVariants} from '../typography/Type';
|
|
14
|
+
import type {
|
|
15
|
+
ButtonSizeType,
|
|
16
|
+
ButtonTextSizeType,
|
|
17
|
+
ButtonIconSizeType,
|
|
18
|
+
} from '../button/Type';
|
|
19
|
+
import type {
|
|
20
|
+
ChipSizeType,
|
|
21
|
+
ChipTextSizeType,
|
|
22
|
+
ChipIconSizeType,
|
|
23
|
+
} from '../chip/Type';
|
|
24
|
+
import type {
|
|
25
|
+
BadgeSizeType,
|
|
26
|
+
BadgeTextSizeType,
|
|
27
|
+
BadgeIconSizeType,
|
|
28
|
+
} from '../badge/Type';
|
|
29
|
+
import type {IconSize} from '../icon/Type';
|
|
30
|
+
import {spacing} from '../values/Spacing';
|
|
31
|
+
|
|
32
|
+
// Extend context type to include breakpoint
|
|
33
|
+
interface ThemeContextType {
|
|
34
|
+
theme: SliceTheme;
|
|
35
|
+
deviceBreakpoint: keyof typeof Breakpoints;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Create context
|
|
39
|
+
const ThemeContext = createContext<ThemeContextType | undefined>(undefined);
|
|
40
|
+
|
|
41
|
+
// Props for provider
|
|
42
|
+
interface SliceThemeProviderProps {
|
|
43
|
+
children: ReactNode;
|
|
44
|
+
theme: SliceTheme;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Provider with breakpoint logic inside
|
|
48
|
+
export const SliceThemeProvider: React.FC<SliceThemeProviderProps> = ({
|
|
49
|
+
children,
|
|
50
|
+
theme,
|
|
51
|
+
}) => {
|
|
52
|
+
const [deviceBreakpoint, setDeviceBreakpoint] = useState<
|
|
53
|
+
keyof typeof Breakpoints
|
|
54
|
+
>(getDeviceBreakpoint());
|
|
55
|
+
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
const handleResize = () => {
|
|
58
|
+
setDeviceBreakpoint(getDeviceBreakpoint());
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const subscription = Dimensions.addEventListener('change', handleResize);
|
|
62
|
+
|
|
63
|
+
return () => {
|
|
64
|
+
if (subscription?.remove) subscription.remove();
|
|
65
|
+
};
|
|
66
|
+
}, []);
|
|
67
|
+
|
|
68
|
+
return (
|
|
69
|
+
<ThemeContext.Provider value={{theme, deviceBreakpoint}}>
|
|
70
|
+
{children}
|
|
71
|
+
</ThemeContext.Provider>
|
|
72
|
+
);
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
// Hook to access theme and breakpoint
|
|
76
|
+
export const useSliceTheme = (): ThemeContextType => {
|
|
77
|
+
const context = useContext(ThemeContext);
|
|
78
|
+
if (!context) {
|
|
79
|
+
throw new Error('useSliceTheme must be used within a SliceThemeProvider');
|
|
80
|
+
}
|
|
81
|
+
return context;
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
export interface SliceTheme {
|
|
85
|
+
isDebugBuildType?: boolean;
|
|
86
|
+
automationBaseid?: string;
|
|
87
|
+
typographyStyles?: TypographyVariants;
|
|
88
|
+
colors: ColorTokens;
|
|
89
|
+
dimensions: typeof dimensions;
|
|
90
|
+
inputStyles: InputThemeSize;
|
|
91
|
+
buttonStyles: ButtonSizeType;
|
|
92
|
+
buttonTextStyles: ButtonTextSizeType;
|
|
93
|
+
buttonIconStyles: ButtonIconSizeType;
|
|
94
|
+
chipStyles: ChipSizeType;
|
|
95
|
+
chipTextStyles: ChipTextSizeType;
|
|
96
|
+
chipIconStyles: ChipIconSizeType;
|
|
97
|
+
badgeStyles: BadgeSizeType;
|
|
98
|
+
badgeTextStyles: BadgeTextSizeType;
|
|
99
|
+
badgeIconStyles: BadgeIconSizeType;
|
|
100
|
+
avatarStyles: any;
|
|
101
|
+
avatarTextStyles: any;
|
|
102
|
+
avatarImageStyles: any;
|
|
103
|
+
avatarButtonRadius: any;
|
|
104
|
+
tabItemStyles: any;
|
|
105
|
+
tabItemTextStyles: any;
|
|
106
|
+
iconSizes: IconSize;
|
|
107
|
+
spacing: typeof spacing;
|
|
108
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import React, {useMemo} from 'react';
|
|
2
|
+
import {View, StyleSheet, type ViewStyle} from 'react-native';
|
|
3
|
+
import {useSliceTheme} from '../contextProvider/context';
|
|
4
|
+
import {setTestId} from '../automation/helper';
|
|
5
|
+
import type {DividerProps, DividerThicknessVariant} from './Type';
|
|
6
|
+
import {DIVIDER_DEFAULT_TOKENS, DIVIDER_THICKNESS_VALUES} from './Token';
|
|
7
|
+
import type {ColorTokens} from '../colors/Type';
|
|
8
|
+
|
|
9
|
+
export const Divider = React.memo(
|
|
10
|
+
({
|
|
11
|
+
screenName = 'default',
|
|
12
|
+
id = 'default',
|
|
13
|
+
orientation = DIVIDER_DEFAULT_TOKENS.orientation,
|
|
14
|
+
thickness = DIVIDER_DEFAULT_TOKENS.thickness,
|
|
15
|
+
color = DIVIDER_DEFAULT_TOKENS.color,
|
|
16
|
+
variant = DIVIDER_DEFAULT_TOKENS.variant,
|
|
17
|
+
marginVertical = 0,
|
|
18
|
+
marginHorizontal = 0,
|
|
19
|
+
borderRadius = 0,
|
|
20
|
+
showDivider = true,
|
|
21
|
+
style,
|
|
22
|
+
testID,
|
|
23
|
+
}: DividerProps) => {
|
|
24
|
+
const {theme} = useSliceTheme();
|
|
25
|
+
const {isDebugBuildType, automationBaseid} = theme;
|
|
26
|
+
|
|
27
|
+
const dividerStyle = useMemo(() => {
|
|
28
|
+
if (!showDivider) {
|
|
29
|
+
return {width: 0, height: 0, opacity: 0};
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const isHorizontal = orientation === 'horizontal';
|
|
33
|
+
const colorKey = color as keyof ColorTokens;
|
|
34
|
+
const resolvedColor =
|
|
35
|
+
(theme?.colors && theme.colors[colorKey]) ||
|
|
36
|
+
(typeof color === 'string' ? color : undefined) ||
|
|
37
|
+
theme?.colors?.colorBorderSubtle ||
|
|
38
|
+
'#E0E0E0';
|
|
39
|
+
|
|
40
|
+
const thicknessVariant = thickness as DividerThicknessVariant;
|
|
41
|
+
const resolvedThickness =
|
|
42
|
+
typeof thickness === 'number'
|
|
43
|
+
? thickness
|
|
44
|
+
: DIVIDER_THICKNESS_VALUES[thicknessVariant] ||
|
|
45
|
+
DIVIDER_THICKNESS_VALUES[DIVIDER_DEFAULT_TOKENS.thickness];
|
|
46
|
+
|
|
47
|
+
const baseStyle: ViewStyle = {
|
|
48
|
+
marginVertical,
|
|
49
|
+
marginHorizontal,
|
|
50
|
+
borderRadius,
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
if (variant === 'spacer') {
|
|
54
|
+
baseStyle.backgroundColor = 'transparent';
|
|
55
|
+
if (isHorizontal) {
|
|
56
|
+
baseStyle.height = resolvedThickness;
|
|
57
|
+
} else {
|
|
58
|
+
baseStyle.width = resolvedThickness;
|
|
59
|
+
}
|
|
60
|
+
} else if (variant === 'solid') {
|
|
61
|
+
baseStyle.backgroundColor = resolvedColor;
|
|
62
|
+
if (isHorizontal) {
|
|
63
|
+
baseStyle.height = resolvedThickness;
|
|
64
|
+
baseStyle.width = '100%';
|
|
65
|
+
} else {
|
|
66
|
+
baseStyle.width = resolvedThickness;
|
|
67
|
+
baseStyle.height = '100%';
|
|
68
|
+
}
|
|
69
|
+
} else if (variant === 'dashed' || variant === 'dotted') {
|
|
70
|
+
baseStyle.borderColor = resolvedColor;
|
|
71
|
+
baseStyle.borderStyle = variant;
|
|
72
|
+
if (isHorizontal) {
|
|
73
|
+
baseStyle.height = 0;
|
|
74
|
+
baseStyle.width = '100%';
|
|
75
|
+
baseStyle.borderBottomWidth = resolvedThickness;
|
|
76
|
+
} else {
|
|
77
|
+
baseStyle.width = 0;
|
|
78
|
+
baseStyle.height = '100%';
|
|
79
|
+
baseStyle.borderRightWidth = resolvedThickness;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
return StyleSheet.flatten([baseStyle, style]);
|
|
84
|
+
}, [
|
|
85
|
+
showDivider,
|
|
86
|
+
orientation,
|
|
87
|
+
thickness,
|
|
88
|
+
color,
|
|
89
|
+
variant,
|
|
90
|
+
marginVertical,
|
|
91
|
+
marginHorizontal,
|
|
92
|
+
borderRadius,
|
|
93
|
+
theme,
|
|
94
|
+
style,
|
|
95
|
+
]);
|
|
96
|
+
|
|
97
|
+
return (
|
|
98
|
+
<View
|
|
99
|
+
style={dividerStyle}
|
|
100
|
+
{...(testID ? {testID} : {})}
|
|
101
|
+
{...(isDebugBuildType && automationBaseid
|
|
102
|
+
? setTestId(automationBaseid, screenName, id)
|
|
103
|
+
: {})}
|
|
104
|
+
/>
|
|
105
|
+
);
|
|
106
|
+
},
|
|
107
|
+
);
|
|
108
|
+
|
|
109
|
+
Divider.displayName = 'Divider';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ColorTokens } from '../colors/Type';
|
|
2
|
+
import type { DividerThicknessVariant } from './Type';
|
|
3
|
+
|
|
4
|
+
export const DIVIDER_THICKNESS_VALUES: Record<DividerThicknessVariant, number> =
|
|
5
|
+
{
|
|
6
|
+
xs: 1,
|
|
7
|
+
sm: 2,
|
|
8
|
+
md: 4,
|
|
9
|
+
lg: 8,
|
|
10
|
+
xl: 12,
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export const DIVIDER_DEFAULT_TOKENS = {
|
|
14
|
+
thickness: 'md' as DividerThicknessVariant,
|
|
15
|
+
color: 'colorBorderSubtle' as keyof ColorTokens,
|
|
16
|
+
orientation: 'horizontal' as const,
|
|
17
|
+
variant: 'solid' as const,
|
|
18
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { ViewStyle } from 'react-native';
|
|
2
|
+
import type { ColorTokens } from '../colors/Type';
|
|
3
|
+
|
|
4
|
+
export type DividerThicknessVariant =
|
|
5
|
+
| 'xs'
|
|
6
|
+
| 'sm'
|
|
7
|
+
| 'md'
|
|
8
|
+
| 'lg'
|
|
9
|
+
| 'xl';
|
|
10
|
+
export type DividerOrientation = 'horizontal' | 'vertical';
|
|
11
|
+
export type DividerVariant = 'solid' | 'dashed' | 'dotted' | 'spacer';
|
|
12
|
+
|
|
13
|
+
export interface DividerProps {
|
|
14
|
+
screenName?: string;
|
|
15
|
+
id?: string | number;
|
|
16
|
+
orientation?: DividerOrientation;
|
|
17
|
+
thickness?: DividerThicknessVariant | number;
|
|
18
|
+
color?: keyof ColorTokens | string;
|
|
19
|
+
variant?: DividerVariant;
|
|
20
|
+
marginVertical?: number;
|
|
21
|
+
marginHorizontal?: number;
|
|
22
|
+
borderRadius?: number;
|
|
23
|
+
showDivider?: boolean;
|
|
24
|
+
style?: ViewStyle;
|
|
25
|
+
testID?: string;
|
|
26
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// @ts-ignore
|
|
2
|
+
import {createIconSetFromIcoMoon} from 'react-native-vector-icons';
|
|
3
|
+
import icoMoonConfig from '../assets/resources/fonts/selection.json';
|
|
4
|
+
|
|
5
|
+
const IcoMoonIcon = createIconSetFromIcoMoon(
|
|
6
|
+
icoMoonConfig,
|
|
7
|
+
'icomoon',
|
|
8
|
+
'icomoon.ttf',
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
export default IcoMoonIcon;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
import { resolveVariant, scaleFont } from '../responsive/helper';
|
|
4
|
+
import { ICON_SIZES } from './Token';
|
|
5
|
+
import type { VariantBreakPoints } from '../responsive/Type';
|
|
6
|
+
import { useSliceTheme } from '../contextProvider/context';
|
|
7
|
+
|
|
8
|
+
interface IconProps {
|
|
9
|
+
component: React.ReactNode; // Flexible - accepts elements, strings, numbers, etc.
|
|
10
|
+
variant: keyof typeof ICON_SIZES | VariantBreakPoints;
|
|
11
|
+
color?: string;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const Icon: React.FC<IconProps> = ({ component, variant, color }) => {
|
|
15
|
+
const { theme, deviceBreakpoint } = useSliceTheme();
|
|
16
|
+
const { iconSizes } = theme;
|
|
17
|
+
const breakPointVariant = resolveVariant(
|
|
18
|
+
variant,
|
|
19
|
+
deviceBreakpoint
|
|
20
|
+
) as keyof typeof iconSizes;
|
|
21
|
+
|
|
22
|
+
// If it's a valid React element, apply styles
|
|
23
|
+
if (React.isValidElement(component)) {
|
|
24
|
+
const applyIconStyle = (icon: React.ReactElement): React.ReactElement =>
|
|
25
|
+
React.cloneElement(icon, {
|
|
26
|
+
...iconSizes[breakPointVariant],
|
|
27
|
+
size: scaleFont(iconSizes[breakPointVariant].size),
|
|
28
|
+
color: color,
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
return applyIconStyle(component);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// Otherwise, just render it as-is
|
|
35
|
+
return <>{component}</>;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export default React.memo(Icon);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { iconSize } from '../values/IconSizes';
|
|
2
|
+
import type { IconSize } from './Type';
|
|
3
|
+
|
|
4
|
+
export const ICON_SIZES: IconSize = {
|
|
5
|
+
xxxSmall: { size: iconSize.iconSize01 },
|
|
6
|
+
xxSmall: { size: iconSize.iconSize02 },
|
|
7
|
+
xSmall: { size: iconSize.iconSize03 },
|
|
8
|
+
small: { size: iconSize.iconSize03 },
|
|
9
|
+
medium: { size: iconSize.iconSize03 },
|
|
10
|
+
large: { size: iconSize.iconSize04 },
|
|
11
|
+
xLarge: { size: iconSize.iconSize05 },
|
|
12
|
+
xxLarge: { size: iconSize.iconSize06 },
|
|
13
|
+
xxxLarge: { size: iconSize.iconSize09 },
|
|
14
|
+
};
|