odaptos_design_system 1.0.0 → 1.2.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/README.md +8 -74
- package/package.json +24 -15
- package/src/Accordion/Accordion.modules.scss +41 -0
- package/src/Accordion/Accordion.tsx +55 -0
- package/src/Badge/Badge.modules.scss +83 -0
- package/src/Badge/Badge.tsx +69 -0
- package/src/Buttons/Button.modules.scss +235 -0
- package/src/Buttons/Button.tsx +55 -7
- package/src/Buttons/IconButton.modules.scss +185 -0
- package/src/Buttons/IconButton.tsx +53 -0
- package/src/Cards/Card.modules.scss +12 -0
- package/src/Cards/Card.tsx +14 -0
- package/src/Cards/CardButton.modules.scss +23 -0
- package/src/Cards/CardButton.tsx +14 -0
- package/src/Checkbox/Checkbox.module.scss +4 -0
- package/src/Checkbox/Checkbox.tsx +120 -0
- package/src/ColorGuide/colors.ts +99 -0
- package/src/Icons/Arrows/ArrowDoubleLineDownIcon.tsx +44 -0
- package/src/Icons/Arrows/ArrowDoubleLineLeftIcon.tsx +44 -0
- package/src/Icons/Arrows/ArrowDoubleLineRightIcon.tsx +44 -0
- package/src/Icons/Arrows/ArrowDoubleLineUpIcon.tsx +44 -0
- package/src/Icons/Arrows/ArrowFilledDownIcon.tsx +29 -0
- package/src/Icons/Arrows/ArrowFilledLeftIcon.tsx +29 -0
- package/src/Icons/Arrows/ArrowFilledRightIcon.tsx +29 -0
- package/src/Icons/Arrows/ArrowFilledUpIcon.tsx +29 -0
- package/src/Icons/Arrows/ArrowLineDownIcon.tsx +38 -0
- package/src/Icons/Arrows/ArrowLineLeftIcon.tsx +38 -0
- package/src/Icons/Arrows/ArrowLineRightIcon.tsx +38 -0
- package/src/Icons/Arrows/ArrowLineUpIcon.tsx +38 -0
- package/src/Icons/Arrows/ArrowPointerDown.tsx +44 -0
- package/src/Icons/Arrows/ArrowPointerDownLeft.tsx +37 -0
- package/src/Icons/Arrows/ArrowPointerDownRight.tsx +37 -0
- package/src/Icons/Arrows/ArrowPointerLeft.tsx +44 -0
- package/src/Icons/Arrows/ArrowPointerRight.tsx +44 -0
- package/src/Icons/Arrows/ArrowPointerUp.tsx +44 -0
- package/src/Icons/Arrows/ArrowPointerUpLeft.tsx +37 -0
- package/src/Icons/Arrows/ArrowPointerUpRight.tsx +37 -0
- package/src/Icons/Circled/AddCircledIcon.tsx +43 -0
- package/src/Icons/Circled/AlertCircledIcon.tsx +56 -0
- package/src/Icons/Circled/CheckedCircled.tsx +44 -0
- package/src/Icons/Circled/InfoCircledIcon.tsx +56 -0
- package/src/Icons/Circled/MinusCircledIcon.tsx +44 -0
- package/src/Icons/Circled/NavigationCircledIcon.tsx +50 -0
- package/src/Icons/Circled/QuestionCircledIcon.tsx +49 -0
- package/src/Icons/Circled/RemoveCircledIcon.tsx +43 -0
- package/src/Icons/Circled/SearchCircledIcon.tsx +50 -0
- package/src/Icons/Circled/SettingsCircledIcon.tsx +43 -0
- package/src/Icons/Equipment/CameraIcon.tsx +37 -0
- package/src/Icons/Equipment/LaptopIcon.tsx +66 -0
- package/src/Icons/Equipment/MicrophonePodcastIcon.tsx +31 -0
- package/src/Icons/Equipment/MobileIcon.tsx +73 -0
- package/src/Icons/Equipment/TvFlatScreenIcon.tsx +67 -0
- package/src/Icons/Equipment/TvIcon.tsx +43 -0
- package/src/Icons/Interaction/AccountIcon.tsx +31 -0
- package/src/Icons/Interaction/AddIcon.tsx +44 -0
- package/src/Icons/Interaction/AgendaIcon.tsx +68 -0
- package/src/Icons/Interaction/BillingIcon.tsx +67 -0
- package/src/Icons/Interaction/BinIcon.tsx +50 -0
- package/src/Icons/Interaction/CheckedIcon.tsx +31 -0
- package/src/Icons/Interaction/ClockIcon.tsx +50 -0
- package/src/Icons/Interaction/CopyPasteIcon.tsx +75 -0
- package/src/Icons/Interaction/DragDropIcon.tsx +34 -0
- package/src/Icons/Interaction/EditIcon.tsx +44 -0
- package/src/Icons/Interaction/EditTextIcon.tsx +56 -0
- package/src/Icons/Interaction/LogoutIcon.tsx +50 -0
- package/src/Icons/Interaction/MenuHorizontalIcon.tsx +28 -0
- package/src/Icons/Interaction/MenuVerticalIcon.tsx +40 -0
- package/src/Icons/Interaction/MinusIcon.tsx +26 -0
- package/src/Icons/Interaction/SearchIcon.tsx +44 -0
- package/src/Icons/Interaction/SearchRemoveIcon.tsx +56 -0
- package/src/Icons/Interaction/ShareIcon.tsx +55 -0
- package/src/Icons/Interaction/TeamIcon.tsx +68 -0
- package/src/Icons/Logos/LogoBeta.tsx +51 -0
- package/src/Icons/Logos/LogoNormal.tsx +37 -0
- package/src/Icons/Logos/LogoSmall.tsx +31 -0
- package/src/Icons/Logos/LogoSquare.tsx +71 -0
- package/src/Icons/Logos/LogoText.tsx +31 -0
- package/src/Icons/MediaControl/HangUpIcon.tsx +50 -0
- package/src/Icons/MediaControl/MeetingIcon.tsx +37 -0
- package/src/Icons/MediaControl/MicrophoneIcon.tsx +43 -0
- package/src/Icons/MediaControl/MoveInIcon.tsx +51 -0
- package/src/Icons/MediaControl/MuteIcon.tsx +43 -0
- package/src/Icons/MediaControl/PauseIcon.tsx +37 -0
- package/src/Icons/MediaControl/PlayIcon.tsx +30 -0
- package/src/Icons/MediaControl/PreviousIcon.tsx +39 -0
- package/src/Icons/MediaControl/RecordingIcon.tsx +74 -0
- package/src/Icons/MediaControl/VolumeIcon.tsx +49 -0
- package/src/Icons/Miscellaneous/AddSeatIcon.tsx +29 -0
- package/src/Icons/Miscellaneous/AddUsersIcon.tsx +62 -0
- package/src/Icons/Miscellaneous/BillPdfIcon.tsx +29 -0
- package/src/Icons/Miscellaneous/BinocularIcon.tsx +31 -0
- package/src/Icons/Miscellaneous/BrainIcon.tsx +98 -0
- package/src/Icons/Miscellaneous/ChatBubbleIcon.tsx +60 -0
- package/src/Icons/Miscellaneous/ChatIcon.tsx +29 -0
- package/src/Icons/Miscellaneous/CheckoutIcon.tsx +29 -0
- package/src/Icons/Miscellaneous/ClipIcon.tsx +49 -0
- package/src/Icons/Miscellaneous/CreditCardIcon.tsx +29 -0
- package/src/Icons/Miscellaneous/DownloadIcon.tsx +29 -0
- package/src/Icons/Miscellaneous/EarthIcon.tsx +50 -0
- package/src/Icons/Miscellaneous/FaceCenterIcon.tsx +34 -0
- package/src/Icons/Miscellaneous/FaceRecognitionIcon.tsx +80 -0
- package/src/Icons/Miscellaneous/FilesIcon.tsx +43 -0
- package/src/Icons/Miscellaneous/FillRecordIcon.tsx +29 -0
- package/src/Icons/Miscellaneous/FolderIcon.tsx +31 -0
- package/src/Icons/Miscellaneous/GoogleIcon.tsx +59 -0
- package/src/Icons/Miscellaneous/HardDriveIcon.tsx +50 -0
- package/src/Icons/Miscellaneous/HelpIcon.tsx +29 -0
- package/src/Icons/Miscellaneous/LanguageIcon.tsx +27 -0
- package/src/Icons/Miscellaneous/LinkIcon.tsx +34 -0
- package/src/Icons/Miscellaneous/MetaAnalyseIcon.tsx +67 -0
- package/src/Icons/Miscellaneous/ModeratedIcon.tsx +80 -0
- package/src/Icons/Miscellaneous/NbOfUsersIcon.tsx +56 -0
- package/src/Icons/Miscellaneous/NeutralBackgroudIcon.tsx +34 -0
- package/src/Icons/Miscellaneous/ReportIcon.tsx +62 -0
- package/src/Icons/Miscellaneous/SeatIcon.tsx +29 -0
- package/src/Icons/Miscellaneous/SendEmailIcon.tsx +43 -0
- package/src/Icons/Miscellaneous/SendIcon.tsx +38 -0
- package/src/Icons/Miscellaneous/SmartBrainIcon.tsx +44 -0
- package/src/Icons/Miscellaneous/TasksIcon.tsx +48 -0
- package/src/Icons/Miscellaneous/TestDetailsIcon.tsx +29 -0
- package/src/Icons/Miscellaneous/TestIcon.tsx +38 -0
- package/src/Icons/Miscellaneous/UnmoderatedIcon.tsx +55 -0
- package/src/Icons/Notifications/AlamBellIdleIcon.tsx +46 -0
- package/src/Icons/Notifications/AlarmBellStatusIcon.tsx +54 -0
- package/src/Icons/Notifications/NotifAlertIcon.tsx +33 -0
- package/src/Icons/index.ts +108 -0
- package/src/Interviews/Chat.modules.scss +29 -0
- package/src/Interviews/Chat.tsx +123 -0
- package/src/Interviews/ChatInput.modules.scss +29 -0
- package/src/Interviews/ChatInput.tsx +33 -0
- package/src/Interviews/CircleIconButton.modules.scss +44 -0
- package/src/Interviews/CircledIconButton.tsx +31 -0
- package/src/Interviews/ControlsBar.modules.scss +15 -0
- package/src/Interviews/ControlsBar.tsx +101 -0
- package/src/Interviews/GoBack.modules.scss +14 -0
- package/src/Interviews/GoBack.tsx +22 -0
- package/src/Interviews/InterviewButton.modules.scss +107 -0
- package/src/Interviews/InterviewButton.tsx +45 -0
- package/src/Interviews/MarkUpBar.modules.scss +33 -0
- package/src/Interviews/MarkUpBar.tsx +40 -0
- package/src/Interviews/StartInterview.modules.scss +14 -0
- package/src/Interviews/StartInterview.tsx +27 -0
- package/src/Interviews/Task.modules.scss +179 -0
- package/src/Interviews/Task.tsx +176 -0
- package/src/Interviews/WelcomeMessage.modules.scss +29 -0
- package/src/Interviews/WelcomeMessage.tsx +33 -0
- package/src/LateralMenu/LateralMenu.modules.scss +21 -0
- package/src/LateralMenu/LateralMenu.tsx +23 -0
- package/src/Modal/Modal.modules.scss +58 -0
- package/src/Modal/Modal.tsx +135 -0
- package/src/MultiSelect/MultiSelect.scss +66 -0
- package/src/MultiSelect/MultiSelect.tsx +226 -0
- package/src/MultiSelect/utils/textInputStyle.ts +78 -0
- package/src/Notifications/Banner.modules.scss +35 -0
- package/src/Notifications/Banner.tsx +103 -0
- package/src/Notifications/NotificationIcon.scss +0 -0
- package/src/Notifications/NotificationIcon.tsx +26 -0
- package/src/Notifications/Toast.modules.scss +87 -0
- package/src/Notifications/Toast.tsx +92 -0
- package/src/Popover/Popover.modules.scss +47 -0
- package/src/Popover/Popover.tsx +77 -0
- package/src/Radio/Radio.module.scss +9 -0
- package/src/Radio/Radio.tsx +82 -0
- package/src/Search/Search.tsx +25 -0
- package/src/SingleSelect/SingleSelect.scss +62 -0
- package/src/SingleSelect/SingleSelect.tsx +209 -0
- package/src/Step/Step.module.scss +54 -0
- package/src/Step/Step.tsx +88 -0
- package/src/Switch/Switch.module.scss +5 -0
- package/src/Switch/Switch.tsx +51 -0
- package/src/Table/header.modules.scss +20 -0
- package/src/Table/header.tsx +74 -0
- package/src/Table/index.tsx +53 -0
- package/src/Table/rows.modules.scss +16 -0
- package/src/Table/rows.tsx +74 -0
- package/src/Table/table-cell.modules.scss +12 -0
- package/src/Table/table-cell.tsx +40 -0
- package/src/Tabs/Tabs.tsx +83 -0
- package/src/Tabs/TabsUnderLine.tsx +90 -0
- package/src/Tabs/tabs.modules.scss +60 -0
- package/src/Tabs/tabsUnderline.modules.scss +29 -0
- package/src/Tag/Tag.modules.scss +58 -0
- package/src/Tag/Tag.tsx +63 -0
- package/src/TextInput/TextInput.scss +50 -0
- package/src/TextInput/TextInput.tsx +212 -0
- package/src/Textarea/Textarea.module.scss +19 -0
- package/src/Textarea/Textarea.tsx +88 -0
- package/src/Tooltip/Layout/TooltipCustomLayout.module.scss +24 -0
- package/src/Tooltip/Layout/TooltipCustomLayout.tsx +104 -0
- package/src/Tooltip/Tooltip.tsx +139 -0
- package/src/Typography/{Caption.css → Caption.modules.scss} +5 -5
- package/src/Typography/Caption.tsx +8 -4
- package/src/Typography/Link.modules.scss +140 -0
- package/src/Typography/Link.tsx +73 -0
- package/src/Typography/Text.modules.scss +277 -0
- package/src/Typography/Text.tsx +38 -8
- package/src/Typography/{TextForButton.css → TextForButton.modules.scss} +8 -8
- package/src/Typography/TextForButton.tsx +15 -5
- package/src/Typography/{TextForDropDownItem.css → TextForDropDownItem.modules.scss} +11 -14
- package/src/Typography/TextForDropDownItem.tsx +14 -4
- package/src/Typography/TextWithLink.modules.scss +281 -0
- package/src/Typography/TextWithLink.tsx +65 -0
- package/src/Typography/{Title.css → Title.modules.scss} +27 -25
- package/src/Typography/Title.tsx +114 -16
- package/src/hooks/useClickOutside.ts +31 -0
- package/src/index.ts +34 -0
- package/dist/Buttons/Button.d.ts +0 -6
- package/dist/Color Guide/colors.d.ts +0 -6
- package/dist/Typography/Caption.d.ts +0 -12
- package/dist/Typography/Text.d.ts +0 -15
- package/dist/Typography/TextForButton.d.ts +0 -13
- package/dist/Typography/TextForDropDownItem.d.ts +0 -13
- package/dist/Typography/Title.d.ts +0 -14
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -8
- package/dist/odaptos_design_system.cjs.development.css +0 -5
- package/dist/odaptos_design_system.cjs.development.js +0 -108
- package/dist/odaptos_design_system.cjs.development.js.map +0 -1
- package/dist/odaptos_design_system.cjs.production.min.js +0 -2
- package/dist/odaptos_design_system.cjs.production.min.js.map +0 -1
- package/dist/odaptos_design_system.esm.js +0 -97
- package/dist/odaptos_design_system.esm.js.map +0 -1
- package/src/Color Guide/colors.ts +0 -89
- package/src/Typography/Text.css +0 -272
package/src/Buttons/Button.tsx
CHANGED
|
@@ -1,10 +1,58 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { TextForButton } from '../Typography/TextForButton';
|
|
3
|
+
import styles from './Button.modules.scss';
|
|
2
4
|
|
|
3
|
-
export interface
|
|
4
|
-
variant
|
|
5
|
-
|
|
5
|
+
export interface ButtonProps extends HTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
variant?:
|
|
7
|
+
| 'primary'
|
|
8
|
+
| 'secondary'
|
|
9
|
+
| 'tertiary'
|
|
10
|
+
| 'tertiary-alt'
|
|
11
|
+
| 'alert'
|
|
12
|
+
| 'success';
|
|
13
|
+
size?: 'sm' | 'base' | 'lg';
|
|
14
|
+
iconLeft?: JSX.Element;
|
|
15
|
+
iconRight?: JSX.Element;
|
|
16
|
+
text: string;
|
|
17
|
+
className?: string;
|
|
6
18
|
}
|
|
7
19
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
20
|
+
/** Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=131-253&mode=dev */
|
|
21
|
+
export const Button = ({
|
|
22
|
+
variant = 'primary',
|
|
23
|
+
size = 'base',
|
|
24
|
+
iconLeft,
|
|
25
|
+
iconRight,
|
|
26
|
+
text,
|
|
27
|
+
className,
|
|
28
|
+
...props
|
|
29
|
+
}: ButtonProps) => {
|
|
30
|
+
const getStylesByVariant = (): string => {
|
|
31
|
+
if (variant === 'primary') return styles.button_primary;
|
|
32
|
+
else if (variant === 'secondary') return styles.button_secondary;
|
|
33
|
+
else if (variant === 'tertiary') return styles.button_tertiary;
|
|
34
|
+
else if (variant === 'tertiary-alt') return styles.button_tertiary_alt;
|
|
35
|
+
else if (variant === 'alert') return styles.button_alert;
|
|
36
|
+
else if (variant === 'success') return styles.button_success;
|
|
37
|
+
else return styles.button_primary;
|
|
38
|
+
};
|
|
39
|
+
const getStylesBySize = (): string => {
|
|
40
|
+
if (size === 'sm') return styles.button_sm;
|
|
41
|
+
else if (size === 'base') return styles.button_base;
|
|
42
|
+
else if (size === 'lg') return styles.button_lg;
|
|
43
|
+
else return styles.button_base;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<button
|
|
48
|
+
className={`${
|
|
49
|
+
styles.button
|
|
50
|
+
} ${getStylesByVariant()} ${getStylesBySize()} ${className ?? ''}`}
|
|
51
|
+
{...props}
|
|
52
|
+
>
|
|
53
|
+
{iconLeft && iconLeft}
|
|
54
|
+
<TextForButton text={text} size={size} />
|
|
55
|
+
{iconRight && iconRight}
|
|
56
|
+
</button>
|
|
57
|
+
);
|
|
58
|
+
};
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
.icon_button {
|
|
2
|
+
display: inline-flex;
|
|
3
|
+
justify-content: center;
|
|
4
|
+
align-items: center;
|
|
5
|
+
gap: 0.5rem;
|
|
6
|
+
cursor: pointer;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.icon_button_primary {
|
|
10
|
+
background: var(--color-neutral-basics-black, #00040a);
|
|
11
|
+
border: 1px solid var(--color-neutral-basics-black, #00040a);
|
|
12
|
+
|
|
13
|
+
&:hover {
|
|
14
|
+
background: var(--color-neutral-dark-shades-900, #32353a);
|
|
15
|
+
border: 1px solid var(--color-neutral-dark-shades-900, #32353a);
|
|
16
|
+
}
|
|
17
|
+
&:active {
|
|
18
|
+
background: var(--color-neutral-dark-shades-800, #4b4e52);
|
|
19
|
+
border: 1px solidvar(--color-neutral-dark-shades-800, #4b4e52);
|
|
20
|
+
}
|
|
21
|
+
&:disabled {
|
|
22
|
+
background: var(--color-neutral-clear-shades-300, #d5d5d6);
|
|
23
|
+
border: 1px solid var(--color-neutral-clear-shades-300, #d5d5d6);
|
|
24
|
+
}
|
|
25
|
+
svg {
|
|
26
|
+
stroke: white !important;
|
|
27
|
+
fill: white !important;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.icon_button_secondary {
|
|
32
|
+
background: transparent;
|
|
33
|
+
border: 1px solid var(--color-neutral-basics-black, #00040a);
|
|
34
|
+
&:hover {
|
|
35
|
+
border: 1px solid var(--color-neutral-basics-black, #00040a);
|
|
36
|
+
background: var(--color-neutral-clear-shades-200, #e1e1e2);
|
|
37
|
+
}
|
|
38
|
+
&:active {
|
|
39
|
+
border: 1px solid var(--color-neutral-basics-black, #00040a);
|
|
40
|
+
background: var(--color-neutral-clear-shades-300, #d5d5d6);
|
|
41
|
+
}
|
|
42
|
+
&:disabled {
|
|
43
|
+
background: var(--color-neutral-clear-shades-300, #d5d5d6);
|
|
44
|
+
border: 1px solid var(--color-neutral-clear-shades-300, #d5d5d6);
|
|
45
|
+
svg {
|
|
46
|
+
stroke: #96989a !important;
|
|
47
|
+
fill: #96989a !important;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
svg {
|
|
51
|
+
stroke: var(--color-neutral-basics-black, #00040a) !important;
|
|
52
|
+
fill: var(--color-neutral-basics-black, #00040a) !important;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.icon_button_tertiary {
|
|
57
|
+
background: transparent;
|
|
58
|
+
border: 1px solid transparent;
|
|
59
|
+
&:hover {
|
|
60
|
+
border: 1px solid var(--color-neutral-clear-shades-200, #e1e1e2);
|
|
61
|
+
background: var(--color-neutral-clear-shades-200, #e1e1e2);
|
|
62
|
+
}
|
|
63
|
+
&:active {
|
|
64
|
+
background: var(--color-neutral-clear-shades-300, #d5d5d6);
|
|
65
|
+
border: 1px solid var(--color-neutral-clear-shades-300, #d5d5d6);
|
|
66
|
+
}
|
|
67
|
+
&:disabled {
|
|
68
|
+
background: transparent;
|
|
69
|
+
border: 1px solid transparent;
|
|
70
|
+
|
|
71
|
+
svg {
|
|
72
|
+
stroke: #96989a !important;
|
|
73
|
+
fill: #96989a !important;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
svg {
|
|
78
|
+
stroke: var(--color-neutral-basics-black, #00040a) !important;
|
|
79
|
+
fill: var(--color-neutral-basics-black, #00040a) !important;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.icon_button_tertiary_alt {
|
|
84
|
+
background: transparent;
|
|
85
|
+
border: 1px solid transparent;
|
|
86
|
+
&:hover {
|
|
87
|
+
background: var(--color-neutral-clear-shades-150, #eee);
|
|
88
|
+
border: 1px solid var(--color-neutral-clear-shades-150, #eee);
|
|
89
|
+
}
|
|
90
|
+
&:active {
|
|
91
|
+
background: var(--color-neutral-clear-shades-100, #fafafa);
|
|
92
|
+
border: 1px solid var(--color-neutral-clear-shades-100, #fafafa);
|
|
93
|
+
}
|
|
94
|
+
&:disabled {
|
|
95
|
+
background: transparent;
|
|
96
|
+
border: 1px solid transparent;
|
|
97
|
+
svg {
|
|
98
|
+
stroke: #99c9ff !important;
|
|
99
|
+
fill: #99c9ff !important;
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
svg {
|
|
103
|
+
stroke: #0077ff !important;
|
|
104
|
+
fill: #0077ff !important;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.icon_button_alert {
|
|
109
|
+
background: transparent;
|
|
110
|
+
border: 1px solid transparent;
|
|
111
|
+
&:hover {
|
|
112
|
+
border: 1px solid var(--color-extended-red-50, #fff6f6);
|
|
113
|
+
background: var(--color-extended-red-50, #fff6f6);
|
|
114
|
+
}
|
|
115
|
+
&:active {
|
|
116
|
+
background: var(--color-extended-red-100, #fddbdb);
|
|
117
|
+
border: 1px solid var(--color-extended-red-100, #fddbdb);
|
|
118
|
+
}
|
|
119
|
+
&:disabled {
|
|
120
|
+
background: transparent;
|
|
121
|
+
border: 1px solid transparent;
|
|
122
|
+
svg {
|
|
123
|
+
stroke: #fbb7b7 !important;
|
|
124
|
+
fill: #fbb7b7 !important;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
svg {
|
|
128
|
+
stroke: #f54c4c !important;
|
|
129
|
+
fill: #f54c4c !important;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.icon_button_success {
|
|
134
|
+
background: var(--color-extended-green-400, #7dc984);
|
|
135
|
+
border: 1px solid var(--color-extended-green-400, #7dc984);
|
|
136
|
+
&:hover {
|
|
137
|
+
border: 1px solid var(--color-extended-green-300, #9dd6a3);
|
|
138
|
+
background: var(--color-extended-green-300, #9dd6a3);
|
|
139
|
+
}
|
|
140
|
+
&:active {
|
|
141
|
+
background: var(--color-extended-green-500, #5cbb65);
|
|
142
|
+
border: 1px solid var(--color-extended-green-500, #5cbb65);
|
|
143
|
+
}
|
|
144
|
+
&:disabled {
|
|
145
|
+
background: var(--color-extended-green-200, #d5edd8);
|
|
146
|
+
border: 1px solid var(--color-extended-green-200, #d5edd8);
|
|
147
|
+
}
|
|
148
|
+
svg {
|
|
149
|
+
stroke: #ffffff !important;
|
|
150
|
+
fill: #ffffff !important;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
.icon_button_xxs {
|
|
155
|
+
padding: 0.25rem;
|
|
156
|
+
border-radius: 0.25rem;
|
|
157
|
+
svg {
|
|
158
|
+
width: 0.75rem;
|
|
159
|
+
height: 0.75rem;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
.icon_button_xs {
|
|
163
|
+
padding: 0.25rem;
|
|
164
|
+
border-radius: 0.25rem;
|
|
165
|
+
svg {
|
|
166
|
+
width: 1rem;
|
|
167
|
+
height: 1rem;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
.icon_button_base {
|
|
171
|
+
padding: 0.5rem;
|
|
172
|
+
border-radius: 0.5rem;
|
|
173
|
+
svg {
|
|
174
|
+
width: 1.25rem;
|
|
175
|
+
height: 1.25rem;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
.icon_button_lg {
|
|
179
|
+
padding: 0.625rem;
|
|
180
|
+
border-radius: 0.5rem;
|
|
181
|
+
svg {
|
|
182
|
+
width: 1.5rem;
|
|
183
|
+
height: 1.5rem;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import styles from './IconButton.modules.scss';
|
|
3
|
+
import { MinusCircledIcon } from '../';
|
|
4
|
+
|
|
5
|
+
export interface IconButtonProps extends HTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
variant?:
|
|
7
|
+
| 'primary'
|
|
8
|
+
| 'secondary'
|
|
9
|
+
| 'tertiary'
|
|
10
|
+
| 'tertiary-alt'
|
|
11
|
+
| 'alert'
|
|
12
|
+
| 'success';
|
|
13
|
+
size?: 'xxs' | 'xs' | 'base' | 'lg';
|
|
14
|
+
icon: JSX.Element;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** Figma link : https://www.figma.com/file/fjnhhbL12HvKccPmJchVnr/Atomic-Library?type=design&node-id=422-2878&mode=dev */
|
|
19
|
+
export const IconButton = ({
|
|
20
|
+
variant = 'primary',
|
|
21
|
+
size = 'base',
|
|
22
|
+
icon,
|
|
23
|
+
className,
|
|
24
|
+
...props
|
|
25
|
+
}: IconButtonProps) => {
|
|
26
|
+
const getStylesByVariant = (): string => {
|
|
27
|
+
if (variant === 'primary') return styles.icon_button_primary;
|
|
28
|
+
else if (variant === 'secondary') return styles.icon_button_secondary;
|
|
29
|
+
else if (variant === 'tertiary') return styles.icon_button_tertiary;
|
|
30
|
+
else if (variant === 'tertiary-alt') return styles.icon_button_tertiary_alt;
|
|
31
|
+
else if (variant === 'alert') return styles.icon_button_alert;
|
|
32
|
+
else if (variant === 'success') return styles.icon_button_success;
|
|
33
|
+
else return styles.icon_button_primary;
|
|
34
|
+
};
|
|
35
|
+
const getStylesBySize = (): string => {
|
|
36
|
+
if (size === 'xxs') return styles.icon_button_xxs;
|
|
37
|
+
if (size === 'xs') return styles.icon_button_xs;
|
|
38
|
+
else if (size === 'base') return styles.icon_button_base;
|
|
39
|
+
else if (size === 'lg') return styles.icon_button_lg;
|
|
40
|
+
else return styles.icon_button_base;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
return (
|
|
44
|
+
<button
|
|
45
|
+
className={`${
|
|
46
|
+
styles.icon_button
|
|
47
|
+
} ${getStylesByVariant()} ${getStylesBySize()} ${className ?? ''}`}
|
|
48
|
+
{...props}
|
|
49
|
+
>
|
|
50
|
+
{icon ?? <MinusCircledIcon />}
|
|
51
|
+
</button>
|
|
52
|
+
);
|
|
53
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
.card {
|
|
2
|
+
width: 100%;
|
|
3
|
+
padding: 1rem 1.5rem 1.5rem 1.5rem;
|
|
4
|
+
display: flex;
|
|
5
|
+
flex-direction: column;
|
|
6
|
+
align-items: flex-start;
|
|
7
|
+
gap: 0.5rem;
|
|
8
|
+
border-radius: 0.25rem;
|
|
9
|
+
background: var(--color-neutral-basics-white, #fff);
|
|
10
|
+
box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.08),
|
|
11
|
+
0px 1px 2px 0px rgba(0, 0, 0, 0.15);
|
|
12
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { HTMLAttributes } from 'react';
|
|
2
|
+
import { Title } from '../index';
|
|
3
|
+
import styles from './Card.modules.scss';
|
|
4
|
+
|
|
5
|
+
export interface CardProps extends HTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
children: string;
|
|
7
|
+
className: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const Card = ({ children, className }: CardProps) => (
|
|
11
|
+
<div className={`${styles.card} ${className}`}>
|
|
12
|
+
<Title text={children} />
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
.card_button {
|
|
2
|
+
display: flex;
|
|
3
|
+
width: 16.5rem;
|
|
4
|
+
height: 14.25rem;
|
|
5
|
+
padding: 1rem;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
align-items: center;
|
|
8
|
+
justify-content: center;
|
|
9
|
+
gap: 1.5rem;
|
|
10
|
+
border-radius: 1rem;
|
|
11
|
+
background: var(--color-neutral-basics-white, #fff);
|
|
12
|
+
cursor: pointer;
|
|
13
|
+
box-shadow: 0px 1px 3px 1px rgba(0, 0, 0, 0.08),
|
|
14
|
+
0px 1px 2px 0px rgba(0, 0, 0, 0.15);
|
|
15
|
+
}
|
|
16
|
+
.card_button:hover {
|
|
17
|
+
transform: translate(0, -0.5rem);
|
|
18
|
+
outline: 0px solid transparent;
|
|
19
|
+
padding: 1rem;
|
|
20
|
+
border: 1px solid var(--sdColorPrimary500);
|
|
21
|
+
-webkit-transition: all 0.2s ease-in-out;
|
|
22
|
+
transition: all 0.2s ease-in-out;
|
|
23
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React, { HTMLAttributes } from 'react';
|
|
2
|
+
import { Title } from '../index';
|
|
3
|
+
import styles from './CardButton.modules.scss';
|
|
4
|
+
|
|
5
|
+
export interface CardButtonProps extends HTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
children: string;
|
|
7
|
+
className: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export const CardButton = ({ children, className }: CardButtonProps) => (
|
|
11
|
+
<div className={`${styles.card_button} ${className}`}>
|
|
12
|
+
<Title text={children} />
|
|
13
|
+
</div>
|
|
14
|
+
);
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import { styled } from '@mui/material/styles';
|
|
2
|
+
import { Checkbox as MuiCheckbox } from '@mui/material';
|
|
3
|
+
import styles from './Checkbox.module.scss';
|
|
4
|
+
import { Text } from '../Typography/Text';
|
|
5
|
+
|
|
6
|
+
const BpIcon = styled('span')(() => ({
|
|
7
|
+
borderRadius: '0.25rem',
|
|
8
|
+
border: `1px solid #8A8B8E`,
|
|
9
|
+
width: '1rem',
|
|
10
|
+
height: '1rem',
|
|
11
|
+
margin: 0,
|
|
12
|
+
padding: 0,
|
|
13
|
+
backgroundColor: '#f5f8fa',
|
|
14
|
+
backgroundImage:
|
|
15
|
+
'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',
|
|
16
|
+
'.Mui-focusVisible &': {
|
|
17
|
+
outline: '2px auto #0077FF',
|
|
18
|
+
outlineOffset: 2,
|
|
19
|
+
},
|
|
20
|
+
'input:disabled ~ &': {
|
|
21
|
+
border: `1px solid #E1E1E2`,
|
|
22
|
+
background: '#FAFAFA',
|
|
23
|
+
cursor: 'not-allowed',
|
|
24
|
+
},
|
|
25
|
+
}));
|
|
26
|
+
|
|
27
|
+
const BpCheckedIcon = styled(BpIcon)({
|
|
28
|
+
backgroundColor: '#0077FF',
|
|
29
|
+
backgroundImage:
|
|
30
|
+
'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',
|
|
31
|
+
border: `1px solid #0077FF`,
|
|
32
|
+
'&:before': {
|
|
33
|
+
display: 'block',
|
|
34
|
+
width: '1rem',
|
|
35
|
+
height: '1rem',
|
|
36
|
+
backgroundImage:
|
|
37
|
+
"url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath" +
|
|
38
|
+
" fill-rule='evenodd' clip-rule='evenodd' d='M12 5c-.28 0-.53.11-.71.29L7 9.59l-2.29-2.3a1.003 " +
|
|
39
|
+
"1.003 0 00-1.42 1.42l3 3c.18.18.43.29.71.29s.53-.11.71-.29l5-5A1.003 1.003 0 0012 5z' fill='%23fff'/%3E%3C/svg%3E\")",
|
|
40
|
+
content: '""',
|
|
41
|
+
},
|
|
42
|
+
'input:disabled ~ &': {
|
|
43
|
+
border: `1px solid #E1E1E2`,
|
|
44
|
+
background: '#E1E1E2',
|
|
45
|
+
cursor: 'not-allowed',
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
interface BpCheckboxProps {
|
|
50
|
+
checked: boolean;
|
|
51
|
+
disabled?: boolean;
|
|
52
|
+
onChange: () => void;
|
|
53
|
+
required?: boolean;
|
|
54
|
+
onBlur?: () => void;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
function BpCheckbox({
|
|
58
|
+
checked,
|
|
59
|
+
disabled = false,
|
|
60
|
+
onChange,
|
|
61
|
+
required,
|
|
62
|
+
onBlur,
|
|
63
|
+
}: BpCheckboxProps) {
|
|
64
|
+
return (
|
|
65
|
+
<MuiCheckbox
|
|
66
|
+
sx={{
|
|
67
|
+
'&:hover': { bgcolor: 'transparent' },
|
|
68
|
+
}}
|
|
69
|
+
disableRipple
|
|
70
|
+
color="default"
|
|
71
|
+
checkedIcon={<BpCheckedIcon />}
|
|
72
|
+
icon={<BpIcon />}
|
|
73
|
+
inputProps={{ 'aria-label': 'Checkbox demo' }}
|
|
74
|
+
checked={checked}
|
|
75
|
+
disabled={disabled}
|
|
76
|
+
required={required}
|
|
77
|
+
onChange={onChange}
|
|
78
|
+
onBlur={onBlur}
|
|
79
|
+
/>
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
interface CheckboxProps {
|
|
84
|
+
label?: string;
|
|
85
|
+
leftLabel?: string;
|
|
86
|
+
onChange: () => void;
|
|
87
|
+
onBlur?: () => void;
|
|
88
|
+
checked: boolean;
|
|
89
|
+
disabled?: boolean;
|
|
90
|
+
required?: boolean;
|
|
91
|
+
className?: string;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export const Checkbox = ({
|
|
95
|
+
label,
|
|
96
|
+
leftLabel,
|
|
97
|
+
onBlur,
|
|
98
|
+
checked,
|
|
99
|
+
disabled,
|
|
100
|
+
onChange,
|
|
101
|
+
required,
|
|
102
|
+
className,
|
|
103
|
+
}: CheckboxProps) => {
|
|
104
|
+
return (
|
|
105
|
+
<div
|
|
106
|
+
className={`${styles.checkboxContainer} ${className}`}
|
|
107
|
+
style={{ cursor: disabled ? 'not-allowed' : 'auto' }}
|
|
108
|
+
>
|
|
109
|
+
{leftLabel && <Text text={leftLabel} size="sm" color="black" />}
|
|
110
|
+
<BpCheckbox
|
|
111
|
+
checked={checked}
|
|
112
|
+
disabled={disabled}
|
|
113
|
+
onChange={onChange}
|
|
114
|
+
required={required}
|
|
115
|
+
onBlur={onBlur}
|
|
116
|
+
/>
|
|
117
|
+
{label && <Text text={label} size="sm" />}
|
|
118
|
+
</div>
|
|
119
|
+
);
|
|
120
|
+
};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
interface ColorPalette {
|
|
2
|
+
[key: string]: string;
|
|
3
|
+
}
|
|
4
|
+
export const colors: ColorPalette = {
|
|
5
|
+
// BLUE
|
|
6
|
+
blue_50: '#F2F8FF',
|
|
7
|
+
blue_100: '#E5F1FF',
|
|
8
|
+
blue_200: '#99C9FF',
|
|
9
|
+
blue_300: '#66ADFF',
|
|
10
|
+
blue_400: '#3392FF',
|
|
11
|
+
blue_500: '#0077FF',
|
|
12
|
+
blue_600: '#005FCC',
|
|
13
|
+
blue_700: '#004799',
|
|
14
|
+
blue_800: '#003066',
|
|
15
|
+
blue_900: '#001E40',
|
|
16
|
+
blue_950: '#001833',
|
|
17
|
+
// PURPLE
|
|
18
|
+
purple_50: '#FAF4FF',
|
|
19
|
+
purple_100: '#E9D3FD',
|
|
20
|
+
purple_200: '#D3A7FC',
|
|
21
|
+
purple_300: '#BC7CFA',
|
|
22
|
+
purple_400: '#A650F8',
|
|
23
|
+
purple_500: '#9024F6',
|
|
24
|
+
purple_600: '#761FC5',
|
|
25
|
+
purple_700: '#5C1994',
|
|
26
|
+
purple_800: '#411462',
|
|
27
|
+
purple_900: '#270E31',
|
|
28
|
+
purple_950: '#1A0C19',
|
|
29
|
+
// YELLOW
|
|
30
|
+
yellow_50: '#FFFCF2',
|
|
31
|
+
yellow_100: '#FFF3D6',
|
|
32
|
+
yellow_200: '#FFE299',
|
|
33
|
+
yellow_300: '#FFD466',
|
|
34
|
+
yellow_400: '#FFC633',
|
|
35
|
+
yellow_500: '#FFB800',
|
|
36
|
+
yellow_600: '#CF9500',
|
|
37
|
+
yellow_700: '#9E7200',
|
|
38
|
+
yellow_800: '#6E4F00',
|
|
39
|
+
yellow_900: '#3D2C00',
|
|
40
|
+
yellow_950: '#251B00',
|
|
41
|
+
// RED
|
|
42
|
+
red_50: '#FFF6F6',
|
|
43
|
+
red_100: '#FDDBDB',
|
|
44
|
+
red_200: '#FBB7B7',
|
|
45
|
+
red_300: '#F99494',
|
|
46
|
+
red_400: '#F77070',
|
|
47
|
+
red_500: '#F54C4C',
|
|
48
|
+
red_600: '#C73F3D',
|
|
49
|
+
red_700: '#98312E',
|
|
50
|
+
red_800: '#6A241E',
|
|
51
|
+
red_900: '#3B160F',
|
|
52
|
+
red_950: '#241008',
|
|
53
|
+
// GREEN
|
|
54
|
+
green_50: '#F7FCF7',
|
|
55
|
+
green_100: '#E8F5EA',
|
|
56
|
+
green_200: '#D5EDD8',
|
|
57
|
+
green_300: '#9DD6A3',
|
|
58
|
+
green_400: '#7DC984',
|
|
59
|
+
green_500: '#5CBB65',
|
|
60
|
+
green_600: '#4C9751',
|
|
61
|
+
green_700: '#3C743D',
|
|
62
|
+
green_800: '#2D5028',
|
|
63
|
+
green_900: '#1D2D14',
|
|
64
|
+
green_950: '#151B0A',
|
|
65
|
+
// NEUTRAL
|
|
66
|
+
neutral_100: '#FAFAFA',
|
|
67
|
+
neutral_150: '#EEEEEE',
|
|
68
|
+
neutral_200: '#E1E1E2',
|
|
69
|
+
neutral_300: '#D5D5D6',
|
|
70
|
+
neutral_350: '#BCBDBE',
|
|
71
|
+
neutral_500: '#96989A',
|
|
72
|
+
neutral_550: '#8A8B8E',
|
|
73
|
+
neutral_600: '#717376',
|
|
74
|
+
neutral_700: '#64666A',
|
|
75
|
+
neutral_800: '#4B4E52',
|
|
76
|
+
neutral_900: '#32353A',
|
|
77
|
+
neutral_950: '#26292E',
|
|
78
|
+
// BASICS
|
|
79
|
+
black: '#00040A',
|
|
80
|
+
white: '#ffffff',
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export const getColor = (
|
|
84
|
+
colorName: string,
|
|
85
|
+
shade: string
|
|
86
|
+
): string | undefined => {
|
|
87
|
+
const colorKey = `${colorName}_${shade}`;
|
|
88
|
+
if (colorName === 'black') {
|
|
89
|
+
return colors.black;
|
|
90
|
+
}
|
|
91
|
+
if (colorName === 'white') {
|
|
92
|
+
return colors.white;
|
|
93
|
+
}
|
|
94
|
+
if (colors.hasOwnProperty(colorKey)) {
|
|
95
|
+
return colors[colorKey];
|
|
96
|
+
}
|
|
97
|
+
console.warn(`Color ${colorKey} not found`);
|
|
98
|
+
return undefined;
|
|
99
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { SvgIcon, SvgIconProps } from '@mui/material';
|
|
2
|
+
|
|
3
|
+
export default function ArrowDoubleLineDownIcon({
|
|
4
|
+
stroke,
|
|
5
|
+
strokeWidth,
|
|
6
|
+
fill,
|
|
7
|
+
...rest
|
|
8
|
+
}: SvgIconProps) {
|
|
9
|
+
return (
|
|
10
|
+
<SvgIcon
|
|
11
|
+
strokeWidth={strokeWidth ?? 0.1}
|
|
12
|
+
stroke={stroke ? stroke : 'currentColor'}
|
|
13
|
+
{...rest}
|
|
14
|
+
>
|
|
15
|
+
<svg
|
|
16
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
17
|
+
width="24"
|
|
18
|
+
height="24"
|
|
19
|
+
viewBox="0 0 24 24"
|
|
20
|
+
fill="none"
|
|
21
|
+
>
|
|
22
|
+
<g clipPath="url(#clip0_112_1021)">
|
|
23
|
+
<path
|
|
24
|
+
fillRule="evenodd"
|
|
25
|
+
clipRule="evenodd"
|
|
26
|
+
d="M0.219645 11.7807C0.512525 11.4878 0.987399 11.4878 1.28031 11.7806L12 22.4993L22.7197 11.7806C23.0126 11.4878 23.4875 11.4878 23.7804 11.7807C24.0732 12.0736 24.0732 12.5485 23.7803 12.8414L13.0607 23.5599C13.0607 23.56 13.0607 23.5599 13.0607 23.5599C12.9215 23.6994 12.7561 23.81 12.5741 23.8854C12.3921 23.9609 12.197 23.9998 12 23.9998C11.803 23.9998 11.6079 23.9609 11.4259 23.8854C11.2439 23.81 11.0785 23.6994 10.9393 23.56C10.9393 23.56 10.9393 23.56 10.9393 23.56L0.219695 12.8414C-0.0732122 12.5485 -0.0732344 12.0736 0.219645 11.7807Z"
|
|
27
|
+
fill={fill}
|
|
28
|
+
/>
|
|
29
|
+
<path
|
|
30
|
+
fillRule="evenodd"
|
|
31
|
+
clipRule="evenodd"
|
|
32
|
+
d="M0.219645 0.530692C0.512525 0.237785 0.987398 0.237763 1.28031 0.530642L12 11.2493L22.7197 0.530642C23.0126 0.237763 23.4875 0.237785 23.7804 0.530692C24.0732 0.823599 24.0732 1.29847 23.7803 1.59135L13.0607 12.3099C13.0607 12.31 13.0607 12.3099 13.0607 12.3099C12.9215 12.4494 12.7561 12.56 12.5741 12.6354C12.3921 12.7109 12.197 12.7498 12 12.7498C11.803 12.7498 11.6079 12.7109 11.4259 12.6354C11.2439 12.56 11.0785 12.4494 10.9393 12.31C10.9393 12.31 10.9393 12.31 10.9393 12.31L0.219695 1.59135C-0.0732122 1.29847 -0.0732344 0.823599 0.219645 0.530692Z"
|
|
33
|
+
fill={fill}
|
|
34
|
+
/>
|
|
35
|
+
</g>
|
|
36
|
+
<defs>
|
|
37
|
+
<clipPath id="clip0_112_1021">
|
|
38
|
+
<rect width="24" height="24" fill="white" />
|
|
39
|
+
</clipPath>
|
|
40
|
+
</defs>
|
|
41
|
+
</svg>
|
|
42
|
+
</SvgIcon>
|
|
43
|
+
);
|
|
44
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { SvgIcon, SvgIconProps } from '@mui/material';
|
|
2
|
+
|
|
3
|
+
export default function ArrowDoubleLineLeftIcon({
|
|
4
|
+
stroke,
|
|
5
|
+
strokeWidth,
|
|
6
|
+
fill,
|
|
7
|
+
...rest
|
|
8
|
+
}: SvgIconProps) {
|
|
9
|
+
return (
|
|
10
|
+
<SvgIcon
|
|
11
|
+
strokeWidth={strokeWidth ?? 0.1}
|
|
12
|
+
stroke={stroke ? stroke : 'currentColor'}
|
|
13
|
+
{...rest}
|
|
14
|
+
>
|
|
15
|
+
<svg
|
|
16
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
17
|
+
width="24"
|
|
18
|
+
height="24"
|
|
19
|
+
viewBox="0 0 24 24"
|
|
20
|
+
fill="none"
|
|
21
|
+
>
|
|
22
|
+
<g clipPath="url(#clip0_112_1023)">
|
|
23
|
+
<path
|
|
24
|
+
fillRule="evenodd"
|
|
25
|
+
clipRule="evenodd"
|
|
26
|
+
d="M12.2191 0.219645C12.512 0.512525 12.512 0.987398 12.2191 1.28031L1.50041 12L12.2191 22.7197C12.512 23.0126 12.512 23.4875 12.2191 23.7804C11.9262 24.0732 11.4513 24.0732 11.1584 23.7803L0.439802 13.0607C0.43978 13.0607 0.439824 13.0607 0.439802 13.0607C0.300414 12.9215 0.189763 12.7561 0.114309 12.5741C0.0388434 12.3921 0 12.197 0 12C0 11.803 0.0388434 11.6079 0.114309 11.4259C0.189763 11.2439 0.300347 11.0786 0.439735 10.9394C0.439713 10.9394 0.439757 10.9393 0.439735 10.9394L11.1584 0.219695C11.4513 -0.0732122 11.9262 -0.0732344 12.2191 0.219645Z"
|
|
27
|
+
fill={fill}
|
|
28
|
+
/>
|
|
29
|
+
<path
|
|
30
|
+
fillRule="evenodd"
|
|
31
|
+
clipRule="evenodd"
|
|
32
|
+
d="M23.2191 0.219645C23.512 0.512525 23.512 0.987398 23.2191 1.28031L12.5004 12L23.2191 22.7197C23.512 23.0126 23.512 23.4875 23.2191 23.7804C22.9262 24.0732 22.4513 24.0732 22.1584 23.7803L11.4398 13.0607C11.4398 13.0607 11.4398 13.0607 11.4398 13.0607C11.3004 12.9215 11.1898 12.7561 11.1143 12.5741C11.0388 12.3921 11 12.197 11 12C11 11.803 11.0388 11.6079 11.1143 11.4259C11.1898 11.2439 11.3003 11.0786 11.4397 10.9394C11.4397 10.9394 11.4398 10.9393 11.4397 10.9394L22.1584 0.219695C22.4513 -0.0732122 22.9262 -0.0732344 23.2191 0.219645Z"
|
|
33
|
+
fill={fill}
|
|
34
|
+
/>
|
|
35
|
+
</g>
|
|
36
|
+
<defs>
|
|
37
|
+
<clipPath id="clip0_112_1023">
|
|
38
|
+
<rect width="24" height="24" fill="white" />
|
|
39
|
+
</clipPath>
|
|
40
|
+
</defs>
|
|
41
|
+
</svg>
|
|
42
|
+
</SvgIcon>
|
|
43
|
+
);
|
|
44
|
+
}
|