@juspay/blend-design-system 0.0.37-beta.7 → 0.0.37
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/{node-C_DmV86X.js → breadcrumbV2.tokens-CovJEwot.js} +16 -0
- package/dist/components/Accordion/index.d.ts +2 -0
- package/dist/components/AccordionV2/accordionV2.animations.d.ts +1 -1
- package/dist/components/Alert/index.d.ts +1 -0
- package/dist/components/Avatar/index.d.ts +1 -0
- package/dist/components/Breadcrumb/index.d.ts +1 -0
- package/dist/components/Button/index.d.ts +1 -0
- package/dist/components/ButtonGroup/index.d.ts +1 -0
- package/dist/components/Card/index.d.ts +1 -0
- package/dist/components/CardV2/CardV2.d.ts +45 -0
- package/dist/components/CardV2/CardV2.utils.d.ts +14 -0
- package/dist/components/CardV2/CardV2Components.d.ts +8 -0
- package/dist/components/CardV2/CardV2Context.d.ts +14 -0
- package/dist/components/CardV2/CardV2Skeleton.d.ts +6 -0
- package/dist/components/CardV2/accessibility/CardV2AccessibilityReport.d.ts +2 -0
- package/dist/components/CardV2/accessibility/index.d.ts +1 -0
- package/dist/components/CardV2/cardV2.dark.tokens.d.ts +3 -0
- package/dist/components/CardV2/cardV2.light.tokens.d.ts +3 -0
- package/dist/components/CardV2/cardV2.tokens.d.ts +5 -0
- package/dist/components/CardV2/cardV2.tokens.types.d.ts +92 -0
- package/dist/components/CardV2/cardV2.types.d.ts +106 -0
- package/dist/components/CardV2/index.d.ts +5 -0
- package/dist/components/Charts/index.d.ts +10 -0
- package/dist/components/Charts/types.d.ts +2 -0
- package/dist/components/ChatInput/index.d.ts +1 -0
- package/dist/components/Checkbox/index.d.ts +1 -0
- package/dist/components/CodeEditor/index.d.ts +1 -0
- package/dist/components/CodeEditor/types.d.ts +22 -2
- package/dist/components/CodeEditorV2/CodeEditorV2.d.ts +1 -1
- package/dist/components/CodeEditorV2/codeEditorV2.types.d.ts +23 -2
- package/dist/components/DataTable/PivotTableModal/pivotModal.styled.d.ts +184 -0
- package/dist/components/DataTable/TableBody/types.d.ts +3 -1
- package/dist/components/DataTable/hooks/index.d.ts +2 -0
- package/dist/components/DataTable/hooks/useReducedMotion.d.ts +1 -0
- package/dist/components/DataTable/hooks/useRowFlip.d.ts +6 -0
- package/dist/components/DataTable/types.d.ts +26 -0
- package/dist/components/DateRangePicker/CalendarGrid.d.ts +5 -2
- package/dist/components/DateRangePicker/types.d.ts +3 -1
- package/dist/components/DateRangePicker/utils.d.ts +5 -5
- package/dist/components/Directory/Directory.d.ts +1 -1
- package/dist/components/Directory/NavItem.d.ts +1 -1
- package/dist/components/Directory/Section.d.ts +1 -1
- package/dist/components/Directory/VirtualizedDirectory.d.ts +3 -0
- package/dist/components/Directory/directory.tokens.d.ts +7 -0
- package/dist/components/Directory/types.d.ts +38 -1
- package/dist/components/Directory/utils.d.ts +3 -1
- package/dist/components/Drawer/index.d.ts +1 -0
- package/dist/components/Inputs/MultiValueInput/index.d.ts +1 -0
- package/dist/components/Inputs/NumberInput/index.d.ts +1 -0
- package/dist/components/Inputs/OTPInput/index.d.ts +1 -0
- package/dist/components/Inputs/SearchInput/index.d.ts +1 -0
- package/dist/components/Inputs/TextArea/index.d.ts +1 -0
- package/dist/components/Inputs/TextInput/index.d.ts +1 -0
- package/dist/components/InputsV2/TextAreaV2/utils.d.ts +2 -1
- package/dist/components/InputsV2/TextInputV2/utils.d.ts +2 -1
- package/dist/components/InputsV2/UploadV2/UploadContainerV2.d.ts +24 -0
- package/dist/components/InputsV2/UploadV2/UploadV2.d.ts +31 -0
- package/dist/components/InputsV2/UploadV2/UploadV2.dark.tokens.d.ts +3 -0
- package/dist/components/InputsV2/UploadV2/UploadV2.light.tokens.d.ts +3 -0
- package/dist/components/InputsV2/UploadV2/UploadV2.tokens.d.ts +5 -0
- package/dist/components/InputsV2/UploadV2/UploadV2.tokens.types.d.ts +115 -0
- package/dist/components/InputsV2/UploadV2/UploadV2.types.d.ts +56 -0
- package/dist/components/InputsV2/UploadV2/index.d.ts +3 -0
- package/dist/components/InputsV2/UploadV2/utils.d.ts +32 -0
- package/dist/components/KeyValuePair/index.d.ts +1 -0
- package/dist/components/Menu/Menu.d.ts +1 -1
- package/dist/components/Menu/index.d.ts +1 -0
- package/dist/components/Menu/types.d.ts +7 -0
- package/dist/components/Menu/utils.d.ts +10 -2
- package/dist/components/MenuV2/MenuV2Content.d.ts +1 -0
- package/dist/components/MenuV2/menuV2.types.d.ts +5 -0
- package/dist/components/MenuV2/menuV2.utils.d.ts +10 -2
- package/dist/components/Modal/index.d.ts +1 -0
- package/dist/components/ModalV2/ModalV2.d.ts +22 -0
- package/dist/components/ModalV2/ModalV2Footer.d.ts +10 -0
- package/dist/components/ModalV2/ModalV2Header.d.ts +15 -0
- package/dist/components/ModalV2/ModalV2Skeleton.d.ts +4 -0
- package/dist/components/ModalV2/index.d.ts +4 -0
- package/dist/components/ModalV2/mobileModalV2.d.ts +23 -0
- package/dist/components/ModalV2/modalAnimationV2.d.ts +3 -0
- package/dist/components/ModalV2/modalV2.dark.tokens.d.ts +3 -0
- package/dist/components/ModalV2/modalV2.light.tokens.d.ts +3 -0
- package/dist/components/ModalV2/modalV2.tokens.d.ts +5 -0
- package/dist/components/ModalV2/modalV2.tokens.types.d.ts +91 -0
- package/dist/components/ModalV2/modalV2.types.d.ts +66 -0
- package/dist/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/dist/components/MultiSelect/MultiSelectMenu.d.ts +1 -1
- package/dist/components/MultiSelect/index.d.ts +2 -0
- package/dist/components/MultiSelect/types.d.ts +2 -0
- package/dist/components/MultiSelectV2/MultiSelectV2.d.ts +1 -1
- package/dist/components/MultiSelectV2/MultiSelectV2Menu.d.ts +1 -1
- package/dist/components/MultiSelectV2/multiSelectV2.types.d.ts +2 -0
- package/dist/components/Popover/index.d.ts +1 -0
- package/dist/components/Primitives/Block/Block.d.ts +1 -1
- package/dist/components/ProgressBar/index.d.ts +1 -0
- package/dist/components/Radio/index.d.ts +2 -0
- package/dist/components/Sidebar/SidebarContent.d.ts +9 -1
- package/dist/components/Sidebar/index.d.ts +1 -0
- package/dist/components/Sidebar/types.d.ts +9 -1
- package/dist/components/SidebarV2/SidebarV2Panel.d.ts +10 -2
- package/dist/components/SidebarV2/types.d.ts +9 -1
- package/dist/components/SingleSelect/SingleSelect.d.ts +1 -1
- package/dist/components/SingleSelect/SingleSelectMenu.d.ts +2 -1
- package/dist/components/SingleSelect/index.d.ts +1 -0
- package/dist/components/SingleSelect/types.d.ts +1 -0
- package/dist/components/SingleSelectV2/SingleSelectV2.d.ts +1 -1
- package/dist/components/SingleSelectV2/SingleSelectV2Menu.d.ts +1 -1
- package/dist/components/SingleSelectV2/singleSelectV2.tokens.types.d.ts +8 -0
- package/dist/components/SingleSelectV2/singleSelectV2.types.d.ts +2 -0
- package/dist/components/Skeleton/SkeletonCompound.d.ts +24 -33
- package/dist/components/Snackbar/Snackbar.d.ts +1 -1
- package/dist/components/Snackbar/index.d.ts +2 -0
- package/dist/components/Snackbar/snackbar.tokens.d.ts +1 -0
- package/dist/components/Snackbar/types.d.ts +2 -0
- package/dist/components/StatCard/index.d.ts +1 -0
- package/dist/components/Stepper/index.d.ts +1 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Tabs/index.d.ts +1 -0
- package/dist/components/Tags/index.d.ts +1 -0
- package/dist/components/Timeline/Timeline.d.ts +13 -37
- package/dist/components/Tooltip/index.d.ts +1 -0
- package/dist/components/Topbar/index.d.ts +1 -0
- package/dist/components/Upload/index.d.ts +1 -0
- package/dist/context/ThemeContext.d.ts +6 -0
- package/dist/context/useComponentToken.d.ts +4 -1
- package/dist/main.d.ts +6 -0
- package/dist/main.js +45436 -42186
- package/dist/node-B3rrXW84.js +1023 -0
- package/dist/node.d.ts +2 -0
- package/dist/node.js +21 -18
- package/dist/{tokens.js → token-engine.js} +1 -1
- package/lib/components/Accordion/AccordionItem.tsx +2 -6
- package/lib/components/Accordion/index.ts +2 -0
- package/lib/components/AccordionV2/AccordionV2Item.tsx +1 -1
- package/lib/components/AccordionV2/accordionV2.animations.ts +1 -5
- package/lib/components/Alert/index.ts +1 -0
- package/lib/components/Avatar/index.ts +1 -0
- package/lib/components/Breadcrumb/index.ts +1 -0
- package/lib/components/Button/index.ts +1 -0
- package/lib/components/ButtonGroup/index.ts +1 -0
- package/lib/components/Card/index.ts +1 -0
- package/lib/components/CardV2/CardV2.tsx +327 -0
- package/lib/components/CardV2/CardV2.utils.tsx +77 -0
- package/lib/components/CardV2/CardV2Components.tsx +297 -0
- package/lib/components/CardV2/CardV2Context.tsx +18 -0
- package/lib/components/CardV2/CardV2Skeleton.tsx +40 -0
- package/lib/components/CardV2/accessibility/CardV2AccessibilityReport.ts +284 -0
- package/lib/components/CardV2/accessibility/index.ts +1 -0
- package/lib/components/CardV2/cardV2.dark.tokens.ts +177 -0
- package/lib/components/CardV2/cardV2.light.tokens.ts +177 -0
- package/lib/components/CardV2/cardV2.tokens.ts +21 -0
- package/lib/components/CardV2/cardV2.tokens.types.ts +94 -0
- package/lib/components/CardV2/cardV2.types.ts +131 -0
- package/lib/components/CardV2/index.ts +13 -0
- package/lib/components/Charts/ChartLegend.tsx +25 -5
- package/lib/components/Charts/Charts.tsx +10 -0
- package/lib/components/Charts/index.ts +10 -0
- package/lib/components/Charts/types.tsx +2 -0
- package/lib/components/ChatInput/index.tsx +1 -0
- package/lib/components/Checkbox/index.ts +1 -0
- package/lib/components/CodeEditor/MonacoEditorWrapper.tsx +6 -2
- package/lib/components/CodeEditor/index.ts +1 -0
- package/lib/components/CodeEditor/types.ts +52 -2
- package/lib/components/CodeEditorV2/MonacoEditor/MonacoEditorWrapper.tsx +6 -2
- package/lib/components/CodeEditorV2/codeEditorV2.types.ts +44 -5
- package/lib/components/DataTable/DataTable.tsx +8 -0
- package/lib/components/DataTable/TableBody/index.tsx +47 -11
- package/lib/components/DataTable/TableBody/types.ts +7 -1
- package/lib/components/DataTable/TableCell/index.tsx +1 -1
- package/lib/components/DataTable/hooks/index.ts +2 -0
- package/lib/components/DataTable/hooks/useReducedMotion.ts +19 -0
- package/lib/components/DataTable/hooks/useRowFlip.ts +170 -0
- package/lib/components/DataTable/types.ts +32 -0
- package/lib/components/DateRangePicker/CalendarGrid.tsx +39 -6
- package/lib/components/DateRangePicker/DateRangePicker.tsx +27 -4
- package/lib/components/DateRangePicker/types.ts +6 -1
- package/lib/components/DateRangePicker/utils.ts +123 -12
- package/lib/components/Directory/Directory.tsx +31 -0
- package/lib/components/Directory/NavItem.tsx +177 -86
- package/lib/components/Directory/Section.tsx +9 -0
- package/lib/components/Directory/VirtualizedDirectory.tsx +670 -0
- package/lib/components/Directory/directory.tokens.ts +21 -0
- package/lib/components/Directory/types.ts +43 -1
- package/lib/components/Directory/utils.ts +81 -1
- package/lib/components/Drawer/index.ts +1 -0
- package/lib/components/Inputs/DropdownInput/DropdownInput.tsx +6 -2
- package/lib/components/Inputs/MultiValueInput/index.ts +1 -0
- package/lib/components/Inputs/NumberInput/NumberInput.tsx +6 -2
- package/lib/components/Inputs/NumberInput/index.ts +1 -0
- package/lib/components/Inputs/OTPInput/index.ts +1 -0
- package/lib/components/Inputs/SearchInput/index.ts +1 -0
- package/lib/components/Inputs/TextArea/TextArea.tsx +4 -2
- package/lib/components/Inputs/TextArea/index.ts +1 -0
- package/lib/components/Inputs/TextInput/TextInput.tsx +6 -2
- package/lib/components/Inputs/TextInput/index.ts +1 -0
- package/lib/components/Inputs/UnitInput/UnitInput.tsx +6 -2
- package/lib/components/InputsV2/NumberInputV2/NumberInputV2.tsx +6 -2
- package/lib/components/InputsV2/TextAreaV2/TextAreaV2.tsx +2 -1
- package/lib/components/InputsV2/TextAreaV2/utils.ts +3 -1
- package/lib/components/InputsV2/TextInputV2/TextInputV2.tsx +1 -0
- package/lib/components/InputsV2/TextInputV2/utils.ts +6 -8
- package/lib/components/InputsV2/UploadV2/UploadContainerV2.tsx +470 -0
- package/lib/components/InputsV2/UploadV2/UploadV2.dark.tokens.ts +348 -0
- package/lib/components/InputsV2/UploadV2/UploadV2.light.tokens.ts +348 -0
- package/lib/components/InputsV2/UploadV2/UploadV2.tokens.ts +20 -0
- package/lib/components/InputsV2/UploadV2/UploadV2.tokens.types.ts +117 -0
- package/lib/components/InputsV2/UploadV2/UploadV2.tsx +336 -0
- package/lib/components/InputsV2/UploadV2/UploadV2.types.ts +67 -0
- package/lib/components/InputsV2/UploadV2/index.ts +3 -0
- package/lib/components/InputsV2/UploadV2/utils.ts +170 -0
- package/lib/components/KeyValuePair/index.ts +1 -0
- package/lib/components/Menu/Menu.tsx +18 -2
- package/lib/components/Menu/SubMenu.tsx +25 -3
- package/lib/components/Menu/index.ts +1 -0
- package/lib/components/Menu/types.tsx +14 -0
- package/lib/components/Menu/utils.ts +46 -3
- package/lib/components/MenuV2/MenuV2.tsx +9 -2
- package/lib/components/MenuV2/MenuV2Content.tsx +6 -0
- package/lib/components/MenuV2/MenuV2SubMenu.tsx +16 -2
- package/lib/components/MenuV2/menuV2.types.ts +11 -0
- package/lib/components/MenuV2/menuV2.utils.ts +45 -3
- package/lib/components/Modal/index.ts +1 -0
- package/lib/components/ModalV2/ModalV2.tsx +269 -0
- package/lib/components/ModalV2/ModalV2Footer.tsx +76 -0
- package/lib/components/ModalV2/ModalV2Header.tsx +144 -0
- package/lib/components/ModalV2/ModalV2Skeleton.tsx +80 -0
- package/lib/components/ModalV2/index.ts +4 -0
- package/lib/components/ModalV2/mobileModalV2.tsx +411 -0
- package/lib/components/ModalV2/modalAnimationV2.tsx +19 -0
- package/lib/components/ModalV2/modalV2.dark.tokens.ts +183 -0
- package/lib/components/ModalV2/modalV2.light.tokens.ts +183 -0
- package/lib/components/ModalV2/modalV2.tokens.ts +21 -0
- package/lib/components/ModalV2/modalV2.tokens.types.ts +94 -0
- package/lib/components/ModalV2/modalV2.types.ts +80 -0
- package/lib/components/MultiSelect/MultiSelect.tsx +4 -1
- package/lib/components/MultiSelect/MultiSelectMenu.tsx +8 -0
- package/lib/components/MultiSelect/MultiSelectTrigger.tsx +2 -1
- package/lib/components/MultiSelect/index.ts +2 -0
- package/lib/components/MultiSelect/types.ts +2 -0
- package/lib/components/MultiSelectV2/MultiSelectV2.tsx +2 -0
- package/lib/components/MultiSelectV2/MultiSelectV2Menu.tsx +8 -0
- package/lib/components/MultiSelectV2/MultiSelectV2Trigger.tsx +4 -1
- package/lib/components/MultiSelectV2/multiSelectV2.types.ts +2 -0
- package/lib/components/Popover/index.ts +1 -0
- package/lib/components/Primitives/Block/Block.tsx +1 -1
- package/lib/components/ProgressBar/index.ts +1 -0
- package/lib/components/Radio/index.ts +2 -0
- package/lib/components/Sidebar/Sidebar.tsx +38 -0
- package/lib/components/Sidebar/SidebarContent.tsx +25 -1
- package/lib/components/Sidebar/index.ts +1 -0
- package/lib/components/Sidebar/types.ts +13 -1
- package/lib/components/SidebarV2/SidebarV2.tsx +30 -0
- package/lib/components/SidebarV2/SidebarV2Panel.tsx +25 -1
- package/lib/components/SidebarV2/types.ts +9 -1
- package/lib/components/SingleSelect/SingleSelect.tsx +4 -1
- package/lib/components/SingleSelect/SingleSelectMenu.tsx +171 -138
- package/lib/components/SingleSelect/SingleSelectTrigger.tsx +3 -1
- package/lib/components/SingleSelect/index.ts +1 -0
- package/lib/components/SingleSelect/types.ts +1 -0
- package/lib/components/SingleSelectV2/SingleSelectV2.tsx +2 -0
- package/lib/components/SingleSelectV2/SingleSelectV2Menu.tsx +84 -58
- package/lib/components/SingleSelectV2/SingleSelectV2Search.tsx +1 -0
- package/lib/components/SingleSelectV2/SingleSelectV2Trigger.tsx +3 -1
- package/lib/components/SingleSelectV2/singleSelectV2.dark.tokens.ts +8 -0
- package/lib/components/SingleSelectV2/singleSelectV2.light.tokens.ts +8 -0
- package/lib/components/SingleSelectV2/singleSelectV2.tokens.types.ts +8 -0
- package/lib/components/SingleSelectV2/singleSelectV2.types.ts +2 -0
- package/lib/components/Skeleton/SkeletonCompound.tsx +45 -31
- package/lib/components/Snackbar/Snackbar.tsx +18 -8
- package/lib/components/Snackbar/index.ts +2 -0
- package/lib/components/Snackbar/snackbar.tokens.ts +6 -0
- package/lib/components/Snackbar/types.ts +2 -0
- package/lib/components/StatCard/StatCard.tsx +29 -0
- package/lib/components/StatCard/index.ts +1 -0
- package/lib/components/Stepper/index.ts +1 -0
- package/lib/components/Switch/index.ts +2 -0
- package/lib/components/Tabs/index.ts +1 -0
- package/lib/components/Tags/index.ts +1 -0
- package/lib/components/Timeline/Timeline.tsx +9 -1
- package/lib/components/Tooltip/index.ts +1 -0
- package/lib/components/Topbar/index.ts +1 -0
- package/lib/components/Upload/index.ts +1 -0
- package/lib/context/ThemeContext.tsx +16 -0
- package/lib/context/initComponentTokens.ts +11 -0
- package/lib/context/useComponentToken.ts +15 -1
- package/lib/hooks/useResponsiveTokens.ts +63 -0
- package/lib/main.ts +16 -0
- package/lib/node.ts +2 -0
- package/package.json +5 -4
- package/dist/tokens.d.ts +0 -2
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { type FoundationTokenType } from '../../tokens/theme.token'
|
|
2
|
+
import type { ResponsiveModalV2Tokens } from './modalV2.tokens.types'
|
|
3
|
+
|
|
4
|
+
export const getModalV2DarkToken = (
|
|
5
|
+
foundationToken: FoundationTokenType
|
|
6
|
+
): ResponsiveModalV2Tokens => {
|
|
7
|
+
return {
|
|
8
|
+
sm: {
|
|
9
|
+
backgroundColor: foundationToken.colors.gray[700],
|
|
10
|
+
paddingTop: foundationToken.unit[16],
|
|
11
|
+
paddingRight: foundationToken.unit[16],
|
|
12
|
+
paddingBottom: foundationToken.unit[16],
|
|
13
|
+
paddingLeft: foundationToken.unit[16],
|
|
14
|
+
boxShadow: foundationToken.shadows.xs,
|
|
15
|
+
borderRadius: foundationToken.border.radius[16],
|
|
16
|
+
overlay: {
|
|
17
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
18
|
+
offset: foundationToken.unit[16],
|
|
19
|
+
},
|
|
20
|
+
divider: {
|
|
21
|
+
borderColor: foundationToken.colors.gray[200],
|
|
22
|
+
},
|
|
23
|
+
skeleton: {
|
|
24
|
+
header: {
|
|
25
|
+
gap: foundationToken.unit[16],
|
|
26
|
+
paddingTop: foundationToken.unit[20],
|
|
27
|
+
paddingRight: foundationToken.unit[20],
|
|
28
|
+
paddingBottom: foundationToken.unit[20],
|
|
29
|
+
paddingLeft: foundationToken.unit[20],
|
|
30
|
+
borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
31
|
+
width: '60%',
|
|
32
|
+
height: 24,
|
|
33
|
+
borderRadius: foundationToken.border.radius[4],
|
|
34
|
+
},
|
|
35
|
+
body: {
|
|
36
|
+
gap: foundationToken.unit[12],
|
|
37
|
+
width: '100%',
|
|
38
|
+
height: 300,
|
|
39
|
+
borderRadius: foundationToken.border.radius[4],
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
header: {
|
|
43
|
+
slot: {
|
|
44
|
+
gap: foundationToken.unit[8],
|
|
45
|
+
},
|
|
46
|
+
gap: foundationToken.unit[16],
|
|
47
|
+
paddingTop: foundationToken.unit[16],
|
|
48
|
+
paddingRight: foundationToken.unit[16],
|
|
49
|
+
paddingBottom: foundationToken.unit[16],
|
|
50
|
+
paddingLeft: foundationToken.unit[16],
|
|
51
|
+
maxHeight: '20vh',
|
|
52
|
+
borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
53
|
+
backgroundColor: foundationToken.colors.gray[700],
|
|
54
|
+
borderTopLeftRadius: foundationToken.border.radius[16],
|
|
55
|
+
borderTopRightRadius: foundationToken.border.radius[16],
|
|
56
|
+
text: {
|
|
57
|
+
title: {
|
|
58
|
+
color: foundationToken.colors.gray[0],
|
|
59
|
+
fontSize: foundationToken.font.size.body.md.fontSize,
|
|
60
|
+
fontWeight: foundationToken.font.weight[600],
|
|
61
|
+
lineHeight: foundationToken.font.lineHeight[20],
|
|
62
|
+
},
|
|
63
|
+
subtitle: {
|
|
64
|
+
color: foundationToken.colors.gray[100],
|
|
65
|
+
fontSize: foundationToken.font.size.body.sm.fontSize,
|
|
66
|
+
fontWeight: foundationToken.font.weight[400],
|
|
67
|
+
lineHeight: foundationToken.font.lineHeight[20],
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
body: {
|
|
73
|
+
paddingTop: foundationToken.unit[16],
|
|
74
|
+
paddingRight: foundationToken.unit[16],
|
|
75
|
+
paddingBottom: foundationToken.unit[16],
|
|
76
|
+
paddingLeft: foundationToken.unit[16],
|
|
77
|
+
backgroundColor: foundationToken.colors.gray[700],
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
footer: {
|
|
81
|
+
paddingTop: foundationToken.unit[16],
|
|
82
|
+
paddingRight: foundationToken.unit[16],
|
|
83
|
+
paddingBottom: foundationToken.unit[16],
|
|
84
|
+
paddingLeft: foundationToken.unit[16],
|
|
85
|
+
borderTop: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
86
|
+
backgroundColor: foundationToken.colors.gray[700],
|
|
87
|
+
gap: foundationToken.unit[12],
|
|
88
|
+
},
|
|
89
|
+
closeButton: {
|
|
90
|
+
color: foundationToken.colors.gray[100],
|
|
91
|
+
width: foundationToken.unit[16],
|
|
92
|
+
height: foundationToken.unit[16],
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
lg: {
|
|
96
|
+
backgroundColor: foundationToken.colors.gray[700],
|
|
97
|
+
paddingTop: foundationToken.unit[16],
|
|
98
|
+
paddingRight: foundationToken.unit[16],
|
|
99
|
+
paddingBottom: foundationToken.unit[16],
|
|
100
|
+
paddingLeft: foundationToken.unit[16],
|
|
101
|
+
boxShadow: foundationToken.shadows.lg,
|
|
102
|
+
borderRadius: foundationToken.border.radius[16],
|
|
103
|
+
overlay: {
|
|
104
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
105
|
+
offset: foundationToken.unit[16],
|
|
106
|
+
},
|
|
107
|
+
divider: {
|
|
108
|
+
borderColor: foundationToken.colors.gray[200],
|
|
109
|
+
},
|
|
110
|
+
skeleton: {
|
|
111
|
+
header: {
|
|
112
|
+
gap: foundationToken.unit[16],
|
|
113
|
+
paddingTop: foundationToken.unit[20],
|
|
114
|
+
paddingRight: foundationToken.unit[20],
|
|
115
|
+
paddingBottom: foundationToken.unit[20],
|
|
116
|
+
paddingLeft: foundationToken.unit[20],
|
|
117
|
+
borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
118
|
+
width: '60%',
|
|
119
|
+
height: 24,
|
|
120
|
+
borderRadius: foundationToken.border.radius[4],
|
|
121
|
+
},
|
|
122
|
+
body: {
|
|
123
|
+
gap: foundationToken.unit[12],
|
|
124
|
+
width: '100%',
|
|
125
|
+
height: 300,
|
|
126
|
+
borderRadius: foundationToken.border.radius[4],
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
header: {
|
|
130
|
+
gap: foundationToken.unit[16],
|
|
131
|
+
paddingTop: foundationToken.unit[20],
|
|
132
|
+
paddingRight: foundationToken.unit[20],
|
|
133
|
+
paddingBottom: foundationToken.unit[20],
|
|
134
|
+
paddingLeft: foundationToken.unit[20],
|
|
135
|
+
maxHeight: '20vh',
|
|
136
|
+
borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
137
|
+
backgroundColor: foundationToken.colors.gray[700],
|
|
138
|
+
borderTopLeftRadius: foundationToken.border.radius[16],
|
|
139
|
+
borderTopRightRadius: foundationToken.border.radius[16],
|
|
140
|
+
slot: {
|
|
141
|
+
gap: foundationToken.unit[8],
|
|
142
|
+
},
|
|
143
|
+
text: {
|
|
144
|
+
title: {
|
|
145
|
+
color: foundationToken.colors.gray[0],
|
|
146
|
+
fontSize: foundationToken.font.size.body.lg.fontSize,
|
|
147
|
+
fontWeight: foundationToken.font.weight[600],
|
|
148
|
+
lineHeight: foundationToken.font.lineHeight[20],
|
|
149
|
+
},
|
|
150
|
+
subtitle: {
|
|
151
|
+
color: foundationToken.colors.gray[100],
|
|
152
|
+
fontSize: foundationToken.font.size.body.md.fontSize,
|
|
153
|
+
fontWeight: foundationToken.font.weight[400],
|
|
154
|
+
lineHeight: foundationToken.font.lineHeight[20],
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
|
|
159
|
+
body: {
|
|
160
|
+
paddingTop: foundationToken.unit[20],
|
|
161
|
+
paddingRight: foundationToken.unit[20],
|
|
162
|
+
paddingBottom: foundationToken.unit[20],
|
|
163
|
+
paddingLeft: foundationToken.unit[20],
|
|
164
|
+
backgroundColor: foundationToken.colors.gray[700],
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
footer: {
|
|
168
|
+
paddingTop: foundationToken.unit[20],
|
|
169
|
+
paddingRight: foundationToken.unit[20],
|
|
170
|
+
paddingBottom: foundationToken.unit[20],
|
|
171
|
+
paddingLeft: foundationToken.unit[20],
|
|
172
|
+
borderTop: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
173
|
+
backgroundColor: foundationToken.colors.gray[700],
|
|
174
|
+
gap: foundationToken.unit[16],
|
|
175
|
+
},
|
|
176
|
+
closeButton: {
|
|
177
|
+
color: foundationToken.colors.gray[100],
|
|
178
|
+
width: foundationToken.unit[16],
|
|
179
|
+
height: foundationToken.unit[16],
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
}
|
|
183
|
+
}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import { type FoundationTokenType } from '../../tokens/theme.token'
|
|
2
|
+
import type { ResponsiveModalV2Tokens } from './modalV2.tokens.types'
|
|
3
|
+
|
|
4
|
+
export const getModalV2LightToken = (
|
|
5
|
+
foundationToken: FoundationTokenType
|
|
6
|
+
): ResponsiveModalV2Tokens => {
|
|
7
|
+
return {
|
|
8
|
+
sm: {
|
|
9
|
+
paddingTop: foundationToken.unit[16],
|
|
10
|
+
paddingRight: foundationToken.unit[16],
|
|
11
|
+
paddingBottom: foundationToken.unit[16],
|
|
12
|
+
paddingLeft: foundationToken.unit[16],
|
|
13
|
+
boxShadow: foundationToken.shadows.xs,
|
|
14
|
+
borderRadius: foundationToken.border.radius[16],
|
|
15
|
+
backgroundColor: foundationToken.colors.gray[0],
|
|
16
|
+
overlay: {
|
|
17
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
18
|
+
offset: foundationToken.unit[16],
|
|
19
|
+
},
|
|
20
|
+
skeleton: {
|
|
21
|
+
header: {
|
|
22
|
+
gap: foundationToken.unit[16],
|
|
23
|
+
paddingTop: foundationToken.unit[20],
|
|
24
|
+
paddingRight: foundationToken.unit[20],
|
|
25
|
+
paddingBottom: foundationToken.unit[20],
|
|
26
|
+
paddingLeft: foundationToken.unit[20],
|
|
27
|
+
borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
28
|
+
width: '60%',
|
|
29
|
+
height: 24,
|
|
30
|
+
borderRadius: foundationToken.border.radius[4],
|
|
31
|
+
},
|
|
32
|
+
body: {
|
|
33
|
+
gap: foundationToken.unit[12],
|
|
34
|
+
width: '100%',
|
|
35
|
+
height: 300,
|
|
36
|
+
borderRadius: foundationToken.border.radius[4],
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
divider: {
|
|
40
|
+
borderColor: foundationToken.colors.gray[200],
|
|
41
|
+
},
|
|
42
|
+
header: {
|
|
43
|
+
gap: foundationToken.unit[16],
|
|
44
|
+
paddingTop: foundationToken.unit[16],
|
|
45
|
+
paddingRight: foundationToken.unit[16],
|
|
46
|
+
paddingBottom: foundationToken.unit[16],
|
|
47
|
+
paddingLeft: foundationToken.unit[16],
|
|
48
|
+
maxHeight: '20vh',
|
|
49
|
+
borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
50
|
+
backgroundColor: foundationToken.colors.gray[0],
|
|
51
|
+
borderTopLeftRadius: foundationToken.border.radius[16],
|
|
52
|
+
borderTopRightRadius: foundationToken.border.radius[16],
|
|
53
|
+
slot: {
|
|
54
|
+
gap: foundationToken.unit[8],
|
|
55
|
+
},
|
|
56
|
+
text: {
|
|
57
|
+
title: {
|
|
58
|
+
color: foundationToken.colors.gray[700],
|
|
59
|
+
fontSize: foundationToken.font.size.body.md.fontSize,
|
|
60
|
+
fontWeight: foundationToken.font.weight[600],
|
|
61
|
+
lineHeight: foundationToken.font.lineHeight[20],
|
|
62
|
+
},
|
|
63
|
+
subtitle: {
|
|
64
|
+
color: foundationToken.colors.gray[600],
|
|
65
|
+
fontSize: foundationToken.font.size.body.sm.fontSize,
|
|
66
|
+
fontWeight: foundationToken.font.weight[400],
|
|
67
|
+
lineHeight: foundationToken.font.lineHeight[20],
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
body: {
|
|
73
|
+
paddingTop: foundationToken.unit[16],
|
|
74
|
+
paddingRight: foundationToken.unit[16],
|
|
75
|
+
paddingBottom: foundationToken.unit[16],
|
|
76
|
+
paddingLeft: foundationToken.unit[16],
|
|
77
|
+
backgroundColor: foundationToken.colors.gray[0],
|
|
78
|
+
},
|
|
79
|
+
|
|
80
|
+
footer: {
|
|
81
|
+
paddingTop: foundationToken.unit[16],
|
|
82
|
+
paddingRight: foundationToken.unit[16],
|
|
83
|
+
paddingBottom: foundationToken.unit[16],
|
|
84
|
+
paddingLeft: foundationToken.unit[16],
|
|
85
|
+
borderTop: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
86
|
+
backgroundColor: foundationToken.colors.gray[0],
|
|
87
|
+
gap: foundationToken.unit[12],
|
|
88
|
+
},
|
|
89
|
+
closeButton: {
|
|
90
|
+
color: foundationToken.colors.gray[500],
|
|
91
|
+
width: foundationToken.unit[16],
|
|
92
|
+
height: foundationToken.unit[16],
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
lg: {
|
|
96
|
+
backgroundColor: foundationToken.colors.gray[0],
|
|
97
|
+
paddingTop: foundationToken.unit[16],
|
|
98
|
+
paddingRight: foundationToken.unit[16],
|
|
99
|
+
paddingBottom: foundationToken.unit[16],
|
|
100
|
+
paddingLeft: foundationToken.unit[16],
|
|
101
|
+
boxShadow: foundationToken.shadows.lg,
|
|
102
|
+
borderRadius: foundationToken.border.radius[16],
|
|
103
|
+
overlay: {
|
|
104
|
+
backgroundColor: 'rgba(0, 0, 0, 0.5)',
|
|
105
|
+
offset: foundationToken.unit[16],
|
|
106
|
+
},
|
|
107
|
+
divider: {
|
|
108
|
+
borderColor: foundationToken.colors.gray[200],
|
|
109
|
+
},
|
|
110
|
+
header: {
|
|
111
|
+
gap: foundationToken.unit[16],
|
|
112
|
+
paddingTop: foundationToken.unit[20],
|
|
113
|
+
paddingRight: foundationToken.unit[20],
|
|
114
|
+
paddingBottom: foundationToken.unit[20],
|
|
115
|
+
paddingLeft: foundationToken.unit[20],
|
|
116
|
+
maxHeight: '20vh',
|
|
117
|
+
borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
118
|
+
backgroundColor: foundationToken.colors.gray[0],
|
|
119
|
+
borderTopLeftRadius: foundationToken.border.radius[16],
|
|
120
|
+
borderTopRightRadius: foundationToken.border.radius[16],
|
|
121
|
+
slot: {
|
|
122
|
+
gap: foundationToken.unit[8],
|
|
123
|
+
},
|
|
124
|
+
text: {
|
|
125
|
+
title: {
|
|
126
|
+
color: foundationToken.colors.gray[700],
|
|
127
|
+
fontSize: foundationToken.font.size.body.lg.fontSize,
|
|
128
|
+
fontWeight: foundationToken.font.weight[600],
|
|
129
|
+
lineHeight: foundationToken.font.lineHeight[20],
|
|
130
|
+
},
|
|
131
|
+
subtitle: {
|
|
132
|
+
color: foundationToken.colors.gray[600],
|
|
133
|
+
fontSize: foundationToken.font.size.body.md.fontSize,
|
|
134
|
+
fontWeight: foundationToken.font.weight[400],
|
|
135
|
+
lineHeight: foundationToken.font.lineHeight[20],
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
skeleton: {
|
|
140
|
+
header: {
|
|
141
|
+
gap: foundationToken.unit[16],
|
|
142
|
+
paddingTop: foundationToken.unit[20],
|
|
143
|
+
paddingRight: foundationToken.unit[20],
|
|
144
|
+
paddingBottom: foundationToken.unit[20],
|
|
145
|
+
paddingLeft: foundationToken.unit[20],
|
|
146
|
+
borderBottom: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
147
|
+
width: '60%',
|
|
148
|
+
height: 24,
|
|
149
|
+
borderRadius: foundationToken.border.radius[4],
|
|
150
|
+
},
|
|
151
|
+
body: {
|
|
152
|
+
gap: foundationToken.unit[12],
|
|
153
|
+
width: '100%',
|
|
154
|
+
height: 300,
|
|
155
|
+
borderRadius: foundationToken.border.radius[4],
|
|
156
|
+
},
|
|
157
|
+
},
|
|
158
|
+
|
|
159
|
+
body: {
|
|
160
|
+
paddingTop: foundationToken.unit[20],
|
|
161
|
+
paddingRight: foundationToken.unit[20],
|
|
162
|
+
paddingBottom: foundationToken.unit[20],
|
|
163
|
+
paddingLeft: foundationToken.unit[20],
|
|
164
|
+
backgroundColor: foundationToken.colors.gray[0],
|
|
165
|
+
},
|
|
166
|
+
|
|
167
|
+
footer: {
|
|
168
|
+
paddingTop: foundationToken.unit[20],
|
|
169
|
+
paddingRight: foundationToken.unit[20],
|
|
170
|
+
paddingBottom: foundationToken.unit[20],
|
|
171
|
+
paddingLeft: foundationToken.unit[20],
|
|
172
|
+
borderTop: `1px solid ${foundationToken.colors.gray[200]}`,
|
|
173
|
+
backgroundColor: foundationToken.colors.gray[0],
|
|
174
|
+
gap: foundationToken.unit[16],
|
|
175
|
+
},
|
|
176
|
+
closeButton: {
|
|
177
|
+
color: foundationToken.colors.gray[500],
|
|
178
|
+
width: foundationToken.unit[16],
|
|
179
|
+
height: foundationToken.unit[16],
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
}
|
|
183
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type FoundationTokenType } from '../../tokens/theme.token'
|
|
2
|
+
import { Theme } from '../../context/theme.enum'
|
|
3
|
+
import { getModalV2LightToken } from './modalV2.light.tokens'
|
|
4
|
+
import { getModalV2DarkToken } from './modalV2.dark.tokens'
|
|
5
|
+
import type { ResponsiveModalV2Tokens } from './modalV2.tokens.types'
|
|
6
|
+
|
|
7
|
+
export type {
|
|
8
|
+
ModalV2State,
|
|
9
|
+
ModalV2TokensType,
|
|
10
|
+
ResponsiveModalV2Tokens,
|
|
11
|
+
} from './modalV2.tokens.types'
|
|
12
|
+
|
|
13
|
+
export const getModalV2Tokens = (
|
|
14
|
+
foundationToken: FoundationTokenType,
|
|
15
|
+
theme: Theme | string = Theme.LIGHT
|
|
16
|
+
): ResponsiveModalV2Tokens => {
|
|
17
|
+
if (theme === Theme.DARK || theme === 'dark') {
|
|
18
|
+
return getModalV2DarkToken(foundationToken)
|
|
19
|
+
}
|
|
20
|
+
return getModalV2LightToken(foundationToken)
|
|
21
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import type { CSSObject } from 'styled-components'
|
|
2
|
+
import type { BreakpointType } from '../../breakpoints/breakPoints'
|
|
3
|
+
|
|
4
|
+
export type ModalV2State = 'default'
|
|
5
|
+
|
|
6
|
+
export type ModalV2TokensType = {
|
|
7
|
+
boxShadow: CSSObject['boxShadow']
|
|
8
|
+
borderRadius: CSSObject['borderRadius']
|
|
9
|
+
overlay: {
|
|
10
|
+
backgroundColor: CSSObject['backgroundColor']
|
|
11
|
+
offset: CSSObject['offset']
|
|
12
|
+
}
|
|
13
|
+
paddingTop: CSSObject['paddingTop']
|
|
14
|
+
paddingRight: CSSObject['paddingRight']
|
|
15
|
+
paddingBottom: CSSObject['paddingBottom']
|
|
16
|
+
paddingLeft: CSSObject['paddingLeft']
|
|
17
|
+
backgroundColor: CSSObject['backgroundColor']
|
|
18
|
+
header: {
|
|
19
|
+
gap: CSSObject['gap']
|
|
20
|
+
paddingTop: CSSObject['paddingTop']
|
|
21
|
+
paddingRight: CSSObject['paddingRight']
|
|
22
|
+
paddingBottom: CSSObject['paddingBottom']
|
|
23
|
+
paddingLeft: CSSObject['paddingLeft']
|
|
24
|
+
maxHeight: CSSObject['maxHeight']
|
|
25
|
+
borderBottom: CSSObject['border']
|
|
26
|
+
backgroundColor: CSSObject['backgroundColor']
|
|
27
|
+
borderTopLeftRadius: CSSObject['borderTopLeftRadius']
|
|
28
|
+
borderTopRightRadius: CSSObject['borderTopRightRadius']
|
|
29
|
+
slot: {
|
|
30
|
+
gap: CSSObject['gap']
|
|
31
|
+
}
|
|
32
|
+
text: {
|
|
33
|
+
title: {
|
|
34
|
+
color: CSSObject['color']
|
|
35
|
+
fontSize: CSSObject['fontSize']
|
|
36
|
+
fontWeight: CSSObject['fontWeight']
|
|
37
|
+
lineHeight: CSSObject['lineHeight']
|
|
38
|
+
}
|
|
39
|
+
subtitle: {
|
|
40
|
+
color: CSSObject['color']
|
|
41
|
+
fontSize: CSSObject['fontSize']
|
|
42
|
+
fontWeight: CSSObject['fontWeight']
|
|
43
|
+
lineHeight: CSSObject['lineHeight']
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
divider: {
|
|
48
|
+
borderColor: CSSObject['borderColor']
|
|
49
|
+
}
|
|
50
|
+
skeleton: {
|
|
51
|
+
header: {
|
|
52
|
+
gap: CSSObject['gap']
|
|
53
|
+
paddingTop: CSSObject['paddingTop']
|
|
54
|
+
paddingRight: CSSObject['paddingRight']
|
|
55
|
+
paddingBottom: CSSObject['paddingBottom']
|
|
56
|
+
paddingLeft: CSSObject['paddingLeft']
|
|
57
|
+
borderBottom: CSSObject['border']
|
|
58
|
+
width: CSSObject['width']
|
|
59
|
+
height: CSSObject['height']
|
|
60
|
+
borderRadius: CSSObject['borderRadius']
|
|
61
|
+
}
|
|
62
|
+
body: {
|
|
63
|
+
gap: CSSObject['gap']
|
|
64
|
+
width: CSSObject['width']
|
|
65
|
+
height: CSSObject['height']
|
|
66
|
+
borderRadius: CSSObject['borderRadius']
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
body: {
|
|
70
|
+
paddingTop: CSSObject['paddingTop']
|
|
71
|
+
paddingRight: CSSObject['paddingRight']
|
|
72
|
+
paddingBottom: CSSObject['paddingBottom']
|
|
73
|
+
paddingLeft: CSSObject['paddingLeft']
|
|
74
|
+
backgroundColor: CSSObject['backgroundColor']
|
|
75
|
+
}
|
|
76
|
+
footer: {
|
|
77
|
+
paddingTop: CSSObject['paddingTop']
|
|
78
|
+
paddingRight: CSSObject['paddingRight']
|
|
79
|
+
paddingBottom: CSSObject['paddingBottom']
|
|
80
|
+
paddingLeft: CSSObject['paddingLeft']
|
|
81
|
+
borderTop: CSSObject['border']
|
|
82
|
+
backgroundColor: CSSObject['backgroundColor']
|
|
83
|
+
gap: CSSObject['gap']
|
|
84
|
+
}
|
|
85
|
+
closeButton: {
|
|
86
|
+
color: CSSObject['color']
|
|
87
|
+
width: CSSObject['width']
|
|
88
|
+
height: CSSObject['height']
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export type ResponsiveModalV2Tokens = {
|
|
93
|
+
[key in keyof BreakpointType]: ModalV2TokensType
|
|
94
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
// Skeleton types
|
|
2
|
+
import { SkeletonVariant } from '../Skeleton'
|
|
3
|
+
import type { ModalV2TokensType } from './modalV2.tokens.types'
|
|
4
|
+
import type { HTMLAttributes, ReactNode } from 'react'
|
|
5
|
+
import type { ButtonV2Props } from '../ButtonV2'
|
|
6
|
+
import type { CSSObject } from 'styled-components'
|
|
7
|
+
|
|
8
|
+
export type HeaderSkeletonConfig = {
|
|
9
|
+
show: boolean
|
|
10
|
+
showDivider: boolean
|
|
11
|
+
showCloseButton: boolean
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export type BodySkeletonConfig = {
|
|
15
|
+
show: boolean
|
|
16
|
+
width: string
|
|
17
|
+
height: string | number
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type FooterSkeletonConfig = {
|
|
21
|
+
show: boolean
|
|
22
|
+
showDivider: boolean
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export type ModalV2SkeletonProps = {
|
|
26
|
+
modalTokens: ModalV2TokensType
|
|
27
|
+
headerSkeleton?: HeaderSkeletonConfig
|
|
28
|
+
bodySkeleton?: BodySkeletonConfig
|
|
29
|
+
footerSkeleton?: FooterSkeletonConfig
|
|
30
|
+
skeletonVariant: SkeletonVariant
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Modal types - using ButtonV2 props
|
|
34
|
+
export type ModalV2ButtonAction = Omit<ButtonV2Props, 'buttonGroupPosition'>
|
|
35
|
+
|
|
36
|
+
export type BodySkeletonProps = {
|
|
37
|
+
show?: boolean
|
|
38
|
+
width?: string
|
|
39
|
+
height?: string | number
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export type ModalV2BodySkeletonProps = {
|
|
43
|
+
show?: boolean
|
|
44
|
+
variant?: SkeletonVariant
|
|
45
|
+
bodySkeletonProps?: BodySkeletonProps
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export type ModalV2Dimensions = {
|
|
49
|
+
width?: CSSObject['width']
|
|
50
|
+
height?: CSSObject['height']
|
|
51
|
+
minWidth?: CSSObject['minWidth']
|
|
52
|
+
maxWidth?: CSSObject['maxWidth']
|
|
53
|
+
minHeight?: CSSObject['minHeight']
|
|
54
|
+
maxHeight?: CSSObject['maxHeight']
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export type ModalV2Props = {
|
|
58
|
+
isOpen: boolean
|
|
59
|
+
isCustom?: boolean
|
|
60
|
+
onClose: () => void
|
|
61
|
+
title?: string
|
|
62
|
+
subtitle?: string
|
|
63
|
+
children: ReactNode
|
|
64
|
+
primaryAction?: ModalV2ButtonAction
|
|
65
|
+
secondaryAction?: ModalV2ButtonAction
|
|
66
|
+
showCloseButton?: boolean
|
|
67
|
+
showHeader?: boolean
|
|
68
|
+
showFooter?: boolean
|
|
69
|
+
closeOnBackdropClick?: boolean
|
|
70
|
+
customHeader?: ReactNode
|
|
71
|
+
customFooter?: ReactNode
|
|
72
|
+
headerSlot?: ReactNode
|
|
73
|
+
showDivider?: boolean
|
|
74
|
+
dimensions?: ModalV2Dimensions
|
|
75
|
+
useDrawerOnMobile?: boolean
|
|
76
|
+
skeleton?: ModalV2BodySkeletonProps
|
|
77
|
+
} & Omit<
|
|
78
|
+
HTMLAttributes<HTMLDivElement>,
|
|
79
|
+
'children' | 'title' | 'className' | 'style'
|
|
80
|
+
>
|
|
@@ -101,6 +101,7 @@ const MultiSelect = ({
|
|
|
101
101
|
onClearAllClick,
|
|
102
102
|
onOpenChange,
|
|
103
103
|
multiSelectGroupPosition,
|
|
104
|
+
menuFooter,
|
|
104
105
|
...rest
|
|
105
106
|
}: MultiSelectProps) => {
|
|
106
107
|
const { onFocus, onBlur, ...buttonRest } = rest
|
|
@@ -356,6 +357,7 @@ const MultiSelect = ({
|
|
|
356
357
|
hasMore={hasMore}
|
|
357
358
|
loadingComponent={loadingComponent}
|
|
358
359
|
menuId={menuId}
|
|
360
|
+
menuFooter={menuFooter}
|
|
359
361
|
trigger={
|
|
360
362
|
customTrigger || (
|
|
361
363
|
<PrimitiveButton
|
|
@@ -490,7 +492,8 @@ const MultiSelect = ({
|
|
|
490
492
|
variant ===
|
|
491
493
|
MultiSelectVariant.CONTAINER &&
|
|
492
494
|
isSmallScreenWithLargeSize &&
|
|
493
|
-
isItemSelected
|
|
495
|
+
isItemSelected &&
|
|
496
|
+
label
|
|
494
497
|
? paddingY * 1.5
|
|
495
498
|
: 0
|
|
496
499
|
}
|
|
@@ -86,6 +86,10 @@ const FixedActionButtons = styled(Block)(() => ({
|
|
|
86
86
|
flexShrink: 0,
|
|
87
87
|
}))
|
|
88
88
|
|
|
89
|
+
const MenuFooter = styled(Block)(() => ({
|
|
90
|
+
flexShrink: 0,
|
|
91
|
+
}))
|
|
92
|
+
|
|
89
93
|
type FlattenedMultiSelectItem = VirtualListItem & {
|
|
90
94
|
type: 'item' | 'label' | 'separator'
|
|
91
95
|
item?: MultiSelectMenuItemType
|
|
@@ -171,6 +175,7 @@ const MultiSelectMenu = ({
|
|
|
171
175
|
allowCustomValue = false,
|
|
172
176
|
customValueLabel = 'Specify',
|
|
173
177
|
menuId,
|
|
178
|
+
menuFooter,
|
|
174
179
|
}: MultiSelectMenuProps) => {
|
|
175
180
|
const multiSelectTokens =
|
|
176
181
|
useResponsiveTokens<MultiSelectTokensType>('MULTI_SELECT')
|
|
@@ -892,6 +897,9 @@ const MultiSelectMenu = ({
|
|
|
892
897
|
)}
|
|
893
898
|
</FixedActionButtons>
|
|
894
899
|
)}
|
|
900
|
+
{menuFooter && (
|
|
901
|
+
<MenuFooter>{menuFooter}</MenuFooter>
|
|
902
|
+
)}
|
|
895
903
|
</>
|
|
896
904
|
)}
|
|
897
905
|
</Content>
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
/** @deprecated Will be deprecated soon. Use MultiSelectV2 instead. */
|
|
1
2
|
export { default as MultiSelect } from './MultiSelect'
|
|
3
|
+
/** @deprecated Will be deprecated soon. Use MultiSelectV2 instead. */
|
|
2
4
|
export { default as MultiSelectTrigger } from './MultiSelectTrigger'
|
|
3
5
|
export * from './multiSelect.tokens'
|
|
4
6
|
export * from './types'
|
|
@@ -157,6 +157,7 @@ export type MultiSelectProps = {
|
|
|
157
157
|
showClearButton?: boolean
|
|
158
158
|
onClearAllClick?: () => void
|
|
159
159
|
multiSelectGroupPosition?: 'center' | 'left' | 'right'
|
|
160
|
+
menuFooter?: React.ReactNode
|
|
160
161
|
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'slot' | 'onChange'>
|
|
161
162
|
|
|
162
163
|
// Multi Select Menu Dropdpown
|
|
@@ -225,4 +226,5 @@ export type MultiSelectMenuProps = {
|
|
|
225
226
|
customValueLabel?: string
|
|
226
227
|
menuId?: string
|
|
227
228
|
collisionBoundary?: Element | null | Array<Element | null>
|
|
229
|
+
menuFooter?: React.ReactNode
|
|
228
230
|
}
|
|
@@ -91,6 +91,7 @@ const MultiSelectV2 = ({
|
|
|
91
91
|
onClearAllClick,
|
|
92
92
|
onOpenChange,
|
|
93
93
|
multiSelectGroupPosition,
|
|
94
|
+
menuFooter,
|
|
94
95
|
...rest
|
|
95
96
|
}: MultiSelectV2Props) => {
|
|
96
97
|
const { disabled, name, ...buttonRest } = rest as {
|
|
@@ -366,6 +367,7 @@ const MultiSelectV2 = ({
|
|
|
366
367
|
}
|
|
367
368
|
allowCustomValue={allowCustomValue}
|
|
368
369
|
customValueLabel={customValueLabel}
|
|
370
|
+
menuFooter={menuFooter}
|
|
369
371
|
/>
|
|
370
372
|
|
|
371
373
|
{shouldShowClearButton && (
|