@lunit/design-system 1.0.0 → 2.0.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.
Files changed (109) hide show
  1. package/dist/cjs/components/Alert/index.js +1 -1
  2. package/dist/cjs/components/Alert/index.js.map +1 -1
  3. package/dist/cjs/components/Button/index.js +1 -1
  4. package/dist/cjs/components/Button/index.js.map +1 -1
  5. package/dist/cjs/components/Checkbox/index.js +1 -1
  6. package/dist/cjs/components/Checkbox/index.js.map +1 -1
  7. package/dist/cjs/components/Dialog/index.js +2 -0
  8. package/dist/cjs/components/Dialog/index.js.map +1 -0
  9. package/dist/cjs/components/Radio/index.js +1 -1
  10. package/dist/cjs/components/Radio/index.js.map +1 -1
  11. package/dist/cjs/components/ToggleButton/index.js +1 -1
  12. package/dist/cjs/components/ToggleButton/index.js.map +1 -1
  13. package/dist/cjs/index.js +1 -1
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/components/Button/Button.styled.js +1 -1
  16. package/dist/components/Button/Button.styled.js.map +1 -1
  17. package/dist/components/Checkbox/Checkbox.js +9 -19
  18. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  19. package/dist/components/Dialog/Dialog.js +61 -0
  20. package/dist/components/Dialog/Dialog.js.map +1 -0
  21. package/dist/components/Dialog/Dialog.styled.js +137 -0
  22. package/dist/components/Dialog/Dialog.styled.js.map +1 -0
  23. package/dist/components/Dialog/components/DialogAction.js +18 -0
  24. package/dist/components/Dialog/components/DialogAction.js.map +1 -0
  25. package/dist/components/Dialog/index.js +2 -0
  26. package/dist/components/Dialog/index.js.map +1 -0
  27. package/dist/components/Radio/Radio.js +7 -21
  28. package/dist/components/Radio/Radio.js.map +1 -1
  29. package/dist/components/ToggleButton/ToggleButton.styled.js +1 -1
  30. package/dist/components/ToggleButton/ToggleButton.styled.js.map +1 -1
  31. package/dist/foundation/Elevation/index.js +1 -1
  32. package/dist/foundation/Elevation/index.js.map +1 -1
  33. package/dist/foundation/Typography/index.js +0 -6
  34. package/dist/foundation/Typography/index.js.map +1 -1
  35. package/dist/foundation/Typography/tokens.js +1 -1
  36. package/dist/foundation/colors/base/grey.js +3 -1
  37. package/dist/foundation/colors/base/grey.js.map +1 -1
  38. package/dist/foundation/colors/index.js +5 -6
  39. package/dist/foundation/colors/index.js.map +1 -1
  40. package/dist/foundation/colors/token/component.js +31 -115
  41. package/dist/foundation/colors/token/component.js.map +1 -1
  42. package/dist/foundation/colors/token/core.js +43 -75
  43. package/dist/foundation/colors/token/core.js.map +1 -1
  44. package/dist/index.js +1 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/types/components/Alert/Alert.utils.d.ts +3 -3
  47. package/dist/types/components/Button/Button.styled.d.ts +9 -9
  48. package/dist/types/components/Chip/Chip.styled.d.ts +12 -12
  49. package/dist/types/components/Dialog/Dialog.d.ts +50 -0
  50. package/dist/types/components/Dialog/Dialog.styled.d.ts +12 -0
  51. package/dist/types/components/Dialog/components/DialogAction.d.ts +8 -0
  52. package/dist/types/components/Dialog/index.d.ts +2 -0
  53. package/dist/types/components/Toast/Toast.utils.d.ts +1 -1
  54. package/dist/types/components/ToggleButton/ToggleButton.styled.d.ts +2 -2
  55. package/dist/types/foundation/Elevation/index.d.ts +1 -1
  56. package/dist/types/foundation/Typography/index.d.ts +1 -7
  57. package/dist/types/foundation/Typography/tokens.d.ts +1 -1
  58. package/dist/types/foundation/colors/base/grey.d.ts +2 -0
  59. package/dist/types/foundation/colors/index.d.ts +5 -6
  60. package/dist/types/foundation/colors/token/types.d.ts +0 -2
  61. package/dist/types/foundation/colors/types.d.ts +78 -76
  62. package/dist/types/foundation/index.d.ts +5 -0
  63. package/dist/types/index.d.ts +1 -1
  64. package/package.json +1 -1
  65. package/src/components/Button/Button.styled.ts +1 -1
  66. package/src/components/Checkbox/Checkbox.tsx +39 -22
  67. package/src/components/Dialog/Dialog.styled.ts +165 -0
  68. package/src/components/Dialog/Dialog.tsx +195 -0
  69. package/src/components/Dialog/components/DialogAction.tsx +36 -0
  70. package/src/components/Dialog/index.ts +14 -0
  71. package/src/components/Radio/Radio.tsx +37 -25
  72. package/src/components/ToggleButton/ToggleButton.styled.ts +1 -1
  73. package/src/foundation/Elevation/index.ts +1 -1
  74. package/src/foundation/Typography/index.ts +0 -6
  75. package/src/foundation/Typography/tokens.ts +1 -1
  76. package/src/foundation/colors/base/grey.ts +3 -1
  77. package/src/foundation/colors/index.ts +5 -6
  78. package/src/foundation/colors/token/component.ts +24 -108
  79. package/src/foundation/colors/token/core.ts +39 -71
  80. package/src/foundation/colors/token/types.ts +0 -2
  81. package/src/foundation/colors/types.ts +78 -75
  82. package/src/index.ts +1 -1
  83. package/src/stories/GettingStarted.mdx +88 -0
  84. package/src/stories/components/Button/BasicButton.stories.tsx +80 -52
  85. package/src/stories/components/Button/ButtonDocs.mdx +187 -0
  86. package/src/stories/components/Button/Color.stories.tsx +132 -0
  87. package/src/stories/components/Button/IconButton.stories.tsx +41 -35
  88. package/src/stories/components/Button/Kind.stories.tsx +13 -52
  89. package/src/stories/components/{SelectControl/Checkbox.stories.tsx → CheckBox/BasicCheckbox.stories.tsx} +84 -105
  90. package/src/stories/components/CheckBox/CheckboxDocs.mdx +85 -0
  91. package/src/stories/components/Chip/Chip.stories.tsx +65 -0
  92. package/src/stories/components/Chip/ChipDocs.mdx +132 -0
  93. package/src/stories/components/Dialog/Dialog.stories.tsx +320 -0
  94. package/src/stories/components/TextField/BasicTextField.stories.tsx +214 -0
  95. package/src/stories/components/TextField/TextFieldDocs.mdx +140 -0
  96. package/src/stories/components/TextField/TextFieldSize.stories.tsx +26 -3
  97. package/src/stories/components/ToggleButton/Basic.stories.tsx +312 -0
  98. package/src/stories/components/ToggleButton/ToggleButtonDocs.mdx +180 -0
  99. package/src/stories/components/ToggleButton/ToggleButtonKind.stories.tsx +65 -0
  100. package/src/stories/components/ToggleButton/WithIcon.stories.tsx +138 -0
  101. package/src/stories/foundation/Typography/Typography.mdx +31 -46
  102. package/src/stories/foundation/Typography/Typography.stories.tsx +30 -1
  103. package/src/stories/foundation/colors/ColorSystem.tsx +86 -0
  104. package/src/stories/foundation/colors/Docs.mdx +225 -0
  105. package/src/stories/foundation/colors/TokenPaletteTable.tsx +1 -5
  106. package/src/components/Modal/Modal.tsx +0 -8
  107. package/src/components/Modal/index.ts +0 -1
  108. package/src/stories/components/Modal/Modal.stories.tsx +0 -15
  109. package/src/stories/foundation/Typography/TypographyExamples.stories.tsx +0 -44
@@ -0,0 +1,195 @@
1
+ import React, { useEffect } from "react";
2
+ import { createPortal } from "react-dom";
3
+ import { Close } from "@lunit/design-system-icons";
4
+
5
+ import { DialogAction } from "./components/DialogAction";
6
+ import {
7
+ StyledBackdrop,
8
+ StyledDialog,
9
+ StyledDialogContent,
10
+ StyledDialogTitle,
11
+ StyledDialogTitleIconWrapper,
12
+ } from "./Dialog.styled";
13
+ import Button from "../Button";
14
+ import Typography from "../Typography";
15
+
16
+ import type { SxProps } from "@mui/material/styles";
17
+ import type { TypographyProps } from "@mui/material";
18
+
19
+ export interface DialogBase {
20
+ isOpen: boolean;
21
+ onClose(): void;
22
+ type?: "passive" | "action"; // default passive
23
+ nonModal?: boolean; // default false
24
+ title: string;
25
+ titleIcon?: React.ReactNode;
26
+ titleVariant?: TypographyProps["variant"];
27
+ children: React.ReactNode;
28
+ actions?: React.ReactNode;
29
+ enableBackButtonClose?: boolean;
30
+ enableBackdropClose?: boolean;
31
+ size?: "small" | "medium"; // default "small"
32
+ sx?: SxProps;
33
+ style?: React.CSSProperties;
34
+ className?: string;
35
+ }
36
+
37
+ export interface PassiveDialogType extends DialogBase {
38
+ type: "passive";
39
+ actions?: undefined;
40
+ enableBackButtonClose?: true;
41
+ enableBackdropClose?: true;
42
+ }
43
+ export interface ActionDialogType extends DialogBase {
44
+ type: "action";
45
+ actions: React.ReactNode;
46
+ enableBackButtonClose?: boolean;
47
+ enableBackdropClose?: boolean;
48
+ }
49
+
50
+ export interface PassiveModalProps extends PassiveDialogType {
51
+ nonModal?: false;
52
+ }
53
+ export interface ActionModalProps extends ActionDialogType {
54
+ nonModal?: false;
55
+ }
56
+ export type ModalProps = PassiveModalProps | ActionModalProps;
57
+
58
+ export interface PassiveNonModalProps extends PassiveDialogType {
59
+ nonModal?: true;
60
+ }
61
+ export interface ActionNonModalProps extends ActionDialogType {
62
+ nonModal?: true;
63
+ enableBackdropClose?: false;
64
+ }
65
+ export type NonModalProps = PassiveNonModalProps | ActionNonModalProps;
66
+
67
+ export type DialogProps = ModalProps | NonModalProps;
68
+
69
+ function Dialog(props: DialogProps) {
70
+ const { isOpen, type, nonModal = false, onClose } = props;
71
+
72
+ const isActionModal = type === "action" && !nonModal;
73
+ const isPassiveModal = type === "passive" && !nonModal;
74
+ const isActionNonModal = type === "action" && nonModal;
75
+
76
+ function handleBackdropClose(e: React.MouseEvent<HTMLDivElement>) {
77
+ const isClosable =
78
+ isPassiveModal || (isActionModal && props.enableBackdropClose);
79
+
80
+ if (!isClosable) return;
81
+ if (e.target !== e.currentTarget) return;
82
+
83
+ onClose();
84
+ }
85
+
86
+ useEffect(() => {
87
+ const isClosable =
88
+ isOpen &&
89
+ (isPassiveModal ||
90
+ (isActionModal && props.enableBackdropClose) ||
91
+ (isActionNonModal && props.enableBackButtonClose));
92
+
93
+ if (!isClosable) return;
94
+
95
+ function handleEscClose(event: KeyboardEvent) {
96
+ if (event.key === "Escape") onClose();
97
+ }
98
+ function handleBackButtonClose(event: KeyboardEvent) {
99
+ if (event.key === "Backspace") onClose();
100
+ }
101
+
102
+ document.addEventListener("keydown", handleEscClose);
103
+ document.addEventListener("keydown", handleBackButtonClose);
104
+
105
+ return () => {
106
+ document.removeEventListener("keydown", handleEscClose);
107
+ document.removeEventListener("keydown", handleBackButtonClose);
108
+ };
109
+ }, [isOpen, isPassiveModal, onClose]);
110
+
111
+ if (!isOpen) return null;
112
+ return createPortal(
113
+ nonModal ? (
114
+ <DialogBase dialogProps={{ ...props }} />
115
+ ) : (
116
+ <StyledBackdrop
117
+ onClick={handleBackdropClose}
118
+ data-testid="dialog-backdrop"
119
+ >
120
+ <DialogBase dialogProps={{ ...props }} />
121
+ </StyledBackdrop>
122
+ ),
123
+
124
+ document.body
125
+ );
126
+ }
127
+
128
+ function DialogBase({ dialogProps }: { dialogProps: DialogBase }) {
129
+ const {
130
+ nonModal = false,
131
+ onClose,
132
+ title,
133
+ titleIcon,
134
+ titleVariant = "headline5",
135
+ children,
136
+ actions,
137
+ type,
138
+ size = "small",
139
+ sx,
140
+ style,
141
+ className,
142
+ } = dialogProps;
143
+
144
+ return (
145
+ <StyledDialog
146
+ role="dialog"
147
+ aria-labelledby="dialog-title"
148
+ size={size}
149
+ nonModal={nonModal}
150
+ type={type}
151
+ sx={{
152
+ ...sx,
153
+ }}
154
+ style={style}
155
+ className={`dialog ${className ?? ""}`}
156
+ >
157
+ <StyledDialogTitle id="dialog-title" className="dialog-title-wrapper">
158
+ {titleIcon && (
159
+ <StyledDialogTitleIconWrapper className="dialog-title-icon">
160
+ {titleIcon}
161
+ </StyledDialogTitleIconWrapper>
162
+ )}
163
+ <Typography
164
+ component="h2"
165
+ id="dialog-title-text"
166
+ variant={titleVariant}
167
+ >
168
+ {title}
169
+ </Typography>
170
+ {type === "passive" && (
171
+ <Button
172
+ id="dialog-title-close-button"
173
+ data-testid="dialog-title-close-button"
174
+ kind="ghost"
175
+ color="secondary"
176
+ icon={<Close />}
177
+ onClick={onClose}
178
+ sx={{
179
+ marginRight: 0,
180
+ marginLeft: "auto",
181
+ }}
182
+ />
183
+ )}
184
+ </StyledDialogTitle>
185
+ <StyledDialogContent id="dialog-content">{children}</StyledDialogContent>
186
+ {type === "action" && actions !== null ? (
187
+ // `actions !== null` is used to not render DialogAction when actions is undefined
188
+ // There was a case when actions is undefined, but DialogAction is rendered with null children
189
+ <DialogAction>{actions}</DialogAction>
190
+ ) : null}
191
+ </StyledDialog>
192
+ );
193
+ }
194
+
195
+ export default Dialog;
@@ -0,0 +1,36 @@
1
+ import React from "react";
2
+ import { styled } from "@mui/material/styles";
3
+
4
+ interface DialogActionProps {
5
+ children: React.ReactNode;
6
+ justifyContent?: React.CSSProperties["justifyContent"];
7
+ sx?: React.CSSProperties;
8
+ }
9
+
10
+ const StyledDialogActions = styled("div")({
11
+ display: "flex",
12
+ flex: "0 0 auto",
13
+ alignItems: "center",
14
+ justifyContent: "flex-end",
15
+ gap: 8,
16
+ });
17
+
18
+ export function DialogAction(props: DialogActionProps) {
19
+ const { children, justifyContent, sx } = props;
20
+
21
+ return (
22
+ <StyledDialogActions
23
+ id="dialog-action"
24
+ data-testid="dialog-action"
25
+ className="dialog-action"
26
+ sx={{
27
+ justifyContent,
28
+ ...sx,
29
+ }}
30
+ >
31
+ {children}
32
+ </StyledDialogActions>
33
+ );
34
+ }
35
+
36
+ export default DialogAction;
@@ -0,0 +1,14 @@
1
+ export { default } from "./Dialog";
2
+
3
+ export type {
4
+ DialogBase,
5
+ PassiveDialogType,
6
+ ActionDialogType,
7
+ PassiveModalProps,
8
+ ActionModalProps,
9
+ PassiveNonModalProps,
10
+ ActionNonModalProps,
11
+ ModalProps,
12
+ NonModalProps,
13
+ DialogProps,
14
+ } from "./Dialog";
@@ -13,36 +13,48 @@ const CustomRadio = styled(MuiRadio)(({ theme }) => ({
13
13
  display: "block",
14
14
  width: 24,
15
15
  height: 24,
16
- backgroundColor: theme.palette.lunit_token.core.focused,
17
- maskImage:
18
- "url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath" +
19
- " fill-rule='evenodd' clip-rule='evenodd' d='M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23ZM12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 " +
20
- "5.37258 0 12C0 18.6274 5.37258 24 12 24Z' /%3E%3C/svg%3E\")",
16
+ borderRadius: "50%",
17
+ border: `1px solid ${theme.palette.lunit_token.core.focused}`,
21
18
  },
22
19
  }));
23
20
 
24
- const iconSize = {
25
- width: 20,
26
- height: 20,
21
+ const DefaultIcon = () => {
22
+ return (
23
+ <svg
24
+ xmlns="http://www.w3.org/2000/svg"
25
+ width="20"
26
+ height="20"
27
+ viewBox="0 0 20 20"
28
+ fill="none"
29
+ >
30
+ <path
31
+ fill-rule="evenodd"
32
+ clip-rule="evenodd"
33
+ d="M10 17.5C14.1421 17.5 17.5 14.1421 17.5 10C17.5 5.85786 14.1421 2.5 10 2.5C5.85786 2.5 2.5 5.85786 2.5 10C2.5 14.1421 5.85786 17.5 10 17.5ZM10 19C14.9706 19 19 14.9706 19 10C19 5.02944 14.9706 1 10 1C5.02944 1 1 5.02944 1 10C1 14.9706 5.02944 19 10 19Z"
34
+ fill="#99999B"
35
+ />
36
+ </svg>
37
+ );
27
38
  };
28
39
 
29
- const DefaultIcon = styled("span")(({ theme }) => ({
30
- ...iconSize,
31
- backgroundColor: theme.palette.lunit_token.component.selectcontrol_off,
32
- maskImage:
33
- "url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath" +
34
- " fill-rule='evenodd' clip-rule='evenodd' d='M10 17.5C14.1421 17.5 17.5 14.1421 17.5 10C17.5 5.85786 14.1421 2.5 10 2.5C5.85786 2.5 2.5 5.85786 2.5 10C2.5 14.1421 5.85786 17.5 " +
35
- "10 17.5ZM10 19C14.9706 19 19 14.9706 19 10C19 5.02944 14.9706 1 10 1C5.02944 1 1 5.02944 1 10C1 14.9706 5.02944 19 10 19Z' /%3E%3C/svg%3E\")",
36
- }));
37
-
38
- const CheckedIcon = styled("span")(({ theme }) => ({
39
- ...iconSize,
40
- backgroundColor: theme.palette.lunit_token.component.selectcontrol_on,
41
- maskImage:
42
- "url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath" +
43
- " fill-rule='evenodd' clip-rule='evenodd' d='M10 15C12.7614 15 15 12.7614 15 10C15 7.23858 12.7614 5 10 5C7.23858 5 5" +
44
- " 7.23858 5 10C5 12.7614 7.23858 15 10 15ZM10 19C14.9706 19 19 14.9706 19 10C19 5.02944 14.9706 1 10 1C5.02944 1 1 5.02944 1 10C1 14.9706 5.02944 19 10 19Z' /%3E%3C/svg%3E\")",
45
- }));
40
+ const CheckedIcon = () => {
41
+ return (
42
+ <svg
43
+ xmlns="http://www.w3.org/2000/svg"
44
+ width="20"
45
+ height="20"
46
+ viewBox="0 0 20 20"
47
+ fill="none"
48
+ >
49
+ <path
50
+ fill-rule="evenodd"
51
+ clip-rule="evenodd"
52
+ d="M10 15C12.7614 15 15 12.7614 15 10C15 7.23858 12.7614 5 10 5C7.23858 5 5 7.23858 5 10C5 12.7614 7.23858 15 10 15ZM10 19C14.9706 19 19 14.9706 19 10C19 5.02944 14.9706 1 10 1C5.02944 1 1 5.02944 1 10C1 14.9706 5.02944 19 10 19Z"
53
+ fill="#00C9EA"
54
+ />
55
+ </svg>
56
+ );
57
+ };
46
58
 
47
59
  const Radio = (props: RadioProps) => {
48
60
  return (
@@ -38,7 +38,7 @@ export const CustomToggleButton = styled(MuiToggleButton, {
38
38
  ...(selectedColor === "secondary" && {
39
39
  "&.Mui-selected, &.Mui-selected:hover": {
40
40
  border: "none",
41
- backgroundColor: lunit_token.component.btn_selected_secondary_bg,
41
+ backgroundColor: lunit_token.component.btn_secondary_bg,
42
42
  color: lunit_token.component.btn_selected_secondary_text,
43
43
  },
44
44
  }),
@@ -24,7 +24,7 @@ export const elevationOptions = {
24
24
  export const createElevationCssBaseline = () => {
25
25
  return {
26
26
  // :root에 모든 theme이 정의되어 있지 않으므로 surface*에서 찾아야 함
27
- ".light1, .light2, .dark1, .dark2, .dark3, .dark4": {
27
+ ".light1, .light2, .dark1, .dark2": {
28
28
  ...createCSSVars(shadows),
29
29
  ...createCSSVars(elevations),
30
30
  // `--elevation-shadow`가 정의되지 않아도 `box-shadow: var(--elevation-shadow)` 구문을 해석하려면 필요함
@@ -98,12 +98,6 @@ export const createTypographyCssBaseline = () => {
98
98
  ".dark2": {
99
99
  color: "var(--text_normal)",
100
100
  },
101
- ".dark3": {
102
- color: "var(--text_normal)",
103
- },
104
- ".dark4": {
105
- color: "var(--text_normal)",
106
- },
107
101
  };
108
102
  };
109
103
 
@@ -16,7 +16,7 @@ const headline = {
16
16
  "--headline2-line-height": "65px",
17
17
  "--headline3-font-weight": "var(--font-weight-semibold)",
18
18
  "--headline3-font-size": "24px",
19
- "--headline3-line-height": "57px",
19
+ "--headline3-line-height": "29px",
20
20
  "--headline4-font-weight": "var(--font-weight-semibold)",
21
21
  "--headline4-font-size": "20px",
22
22
  "--headline4-line-height": "28px",
@@ -3,7 +3,8 @@ export const grey = {
3
3
  5: "#FAFAFB",
4
4
  10: "#F1F1F4",
5
5
  15: "#DFDFE2",
6
- 20: "#C6C6C8",
6
+ 20: "#CFCFD1",
7
+ 25: "#C0C0C2",
7
8
  30: "#AFAFB1",
8
9
  40: "#99999B",
9
10
  50: "#747477",
@@ -23,6 +24,7 @@ export const greyText = {
23
24
  10: grey[95],
24
25
  15: grey[95],
25
26
  20: grey[95],
27
+ 25: grey[95],
26
28
  30: grey[95],
27
29
  40: grey[95],
28
30
  50: grey[5],
@@ -115,12 +115,6 @@ export const createColorCssBaseline = () => {
115
115
  ".dark2": {
116
116
  ...createTokenColorVariables("dark2"),
117
117
  },
118
- ".dark3": {
119
- ...createTokenColorVariables("dark3"),
120
- },
121
- ".dark4": {
122
- ...createTokenColorVariables("dark4"),
123
- },
124
118
  };
125
119
  };
126
120
 
@@ -182,6 +176,7 @@ const paletteOptions = {
182
176
  bg_01: "var(--bg_01)",
183
177
  bg_02: "var(--bg_02)",
184
178
  bg_03: "var(--bg_03)",
179
+ layer_01: "var(--layer_01)",
185
180
  text_primary: "var(--text_primary)",
186
181
  text_normal: "var(--text_normal)",
187
182
  text_medium: "var(--text_medium)",
@@ -204,6 +199,8 @@ const paletteOptions = {
204
199
  shadow_02: "var(--shadow_02)",
205
200
  shadow_03: "var(--shadow_03)",
206
201
  shadow_04: "var(--shadow_04)",
202
+ border_light: "var(--border_light)",
203
+ border_medium: "var(--border_medium)",
207
204
  },
208
205
  component: {
209
206
  btn_primary_bg: "var(--btn_primary_bg)",
@@ -219,6 +216,8 @@ const paletteOptions = {
219
216
  btn_selected_primary_text: "var(--btn_selected_primary_text)",
220
217
  btn_selected_secondary_bg: "var(--btn_selected_secondary_bg)",
221
218
  btn_selected_secondary_text: "var(--btn_selected_secondary_text)",
219
+ btn_selected_tertiary_bg: "var(--btn_selected_tertiary_bg)",
220
+ btn_selected_tertiary_text: "var(--btn_selected_tertiary_text)",
222
221
  selectcontrol_on: "var(--selectcontrol_on)",
223
222
  selectcontrol_off: "var(--selectcontrol_off)",
224
223
  selectcontrol_handler: "var(--selectcontrol_handler)",