@team-monolith/cds 1.113.2 → 1.114.1

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 (200) hide show
  1. package/@types/emotion.d.ts +160 -160
  2. package/README.md +35 -35
  3. package/dist/CdsProvider.js +4 -4
  4. package/dist/components/AlertDialog/AlertDialog.js +54 -54
  5. package/dist/components/AlertDialog/AlertDialogActions.js +7 -7
  6. package/dist/components/AlertDialog/AlertDialogContent.js +8 -8
  7. package/dist/components/AlertDialog/AlertDialogTitle.js +34 -34
  8. package/dist/components/AnimatedButton.js +32 -32
  9. package/dist/components/Banner.js +51 -51
  10. package/dist/components/Book/Book.js +174 -174
  11. package/dist/components/Button.js +179 -179
  12. package/dist/components/CheckboxInput.js +100 -100
  13. package/dist/components/FileTypeAlertDialog.js +4 -4
  14. package/dist/components/Input.js +53 -53
  15. package/dist/components/InputBase.js +72 -72
  16. package/dist/components/Modal.js +4 -4
  17. package/dist/components/OverflowTooltip.js +4 -4
  18. package/dist/components/Pagination.js +56 -56
  19. package/dist/components/PinInput.js +64 -64
  20. package/dist/components/Popover.js +27 -27
  21. package/dist/components/RadioInput.js +73 -73
  22. package/dist/components/SquareButton.js +109 -109
  23. package/dist/components/Switch.js +69 -69
  24. package/dist/components/SwitchButton.js +107 -107
  25. package/dist/components/Tag.js +72 -72
  26. package/dist/components/Tooltip.js +19 -19
  27. package/dist/foundation/breakpoints.js +16 -16
  28. package/dist/icons/custom/colored/ai-helper.svg +4 -4
  29. package/dist/icons/custom/colored/ai-quiz-color.svg +20 -20
  30. package/dist/icons/custom/colored/badge-color.svg +4 -4
  31. package/dist/icons/custom/colored/badge-gold.svg +11 -11
  32. package/dist/icons/custom/colored/badge-green.svg +11 -11
  33. package/dist/icons/custom/colored/badge-silver.svg +11 -11
  34. package/dist/icons/custom/colored/basic-plus.svg +31 -31
  35. package/dist/icons/custom/colored/basic.svg +3 -3
  36. package/dist/icons/custom/colored/board-color.svg +5 -5
  37. package/dist/icons/custom/colored/cast-cloudy-color.svg +6 -6
  38. package/dist/icons/custom/colored/cast-partly-color.svg +7 -7
  39. package/dist/icons/custom/colored/cast-rainbow-color.svg +13 -13
  40. package/dist/icons/custom/colored/cast-sunny-color.svg +4 -4
  41. package/dist/icons/custom/colored/clap-bronze.svg +8 -8
  42. package/dist/icons/custom/colored/clap-gold.svg +8 -8
  43. package/dist/icons/custom/colored/clap-silver.svg +8 -8
  44. package/dist/icons/custom/colored/class.svg +13 -13
  45. package/dist/icons/custom/colored/codap-color.svg +13 -13
  46. package/dist/icons/custom/colored/ebook-color.svg +5 -5
  47. package/dist/icons/custom/colored/embedded-color.svg +38 -38
  48. package/dist/icons/custom/colored/emo-clap-color.svg +252 -252
  49. package/dist/icons/custom/colored/emo-good-color.svg +68 -68
  50. package/dist/icons/custom/colored/emo-great-color.svg +67 -67
  51. package/dist/icons/custom/colored/emo-heart-color.svg +239 -239
  52. package/dist/icons/custom/colored/emo-hundred-color.svg +194 -194
  53. package/dist/icons/custom/colored/emo-neutral-color.svg +76 -76
  54. package/dist/icons/custom/colored/emo-stars-color.svg +121 -121
  55. package/dist/icons/custom/colored/emo-thumbup-color.svg +238 -238
  56. package/dist/icons/custom/colored/empty.svg +1 -1
  57. package/dist/icons/custom/colored/entry-color.svg +4 -4
  58. package/dist/icons/custom/colored/filename-all-color.svg +4 -4
  59. package/dist/icons/custom/colored/filename-doc-color.svg +5 -5
  60. package/dist/icons/custom/colored/filename-hwp-color.svg +6 -6
  61. package/dist/icons/custom/colored/filename-img-color.svg +6 -6
  62. package/dist/icons/custom/colored/filename-mp4-color.svg +5 -5
  63. package/dist/icons/custom/colored/filename-pdf-color.svg +12 -12
  64. package/dist/icons/custom/colored/filename-ppt-color.svg +6 -6
  65. package/dist/icons/custom/colored/filename-xls-color.svg +5 -5
  66. package/dist/icons/custom/colored/filename-zip-color.svg +5 -5
  67. package/dist/icons/custom/colored/google.svg +13 -13
  68. package/dist/icons/custom/colored/hand-fill.svg +4 -4
  69. package/dist/icons/custom/colored/judge-color.svg +6 -6
  70. package/dist/icons/custom/colored/makecode-color.svg +4 -4
  71. package/dist/icons/custom/colored/master.svg +12 -12
  72. package/dist/icons/custom/colored/material.svg +6 -6
  73. package/dist/icons/custom/colored/medal-bronze.svg +9 -9
  74. package/dist/icons/custom/colored/medal-gold.svg +9 -9
  75. package/dist/icons/custom/colored/medal-silver.svg +9 -9
  76. package/dist/icons/custom/colored/pro.svg +4 -4
  77. package/dist/icons/custom/colored/problem.svg +7 -7
  78. package/dist/icons/custom/colored/python-color.svg +4 -4
  79. package/dist/icons/custom/colored/quiz-color.svg +12 -12
  80. package/dist/icons/custom/colored/resource-color.svg +13 -13
  81. package/dist/icons/custom/colored/scratch-color.svg +6 -6
  82. package/dist/icons/custom/colored/type-helper.svg +9 -9
  83. package/dist/icons/custom/colored/whale.svg +7 -7
  84. package/dist/icons/custom/colored/worksheet-color.svg +5 -5
  85. package/dist/icons/custom/default/ai-quiz.svg +8 -8
  86. package/dist/icons/custom/default/badge.svg +4 -4
  87. package/dist/icons/custom/default/board.svg +5 -5
  88. package/dist/icons/custom/default/cast-cloudy.svg +3 -3
  89. package/dist/icons/custom/default/cast-partly.svg +4 -4
  90. package/dist/icons/custom/default/cast-rainbow.svg +12 -12
  91. package/dist/icons/custom/default/cast-sunny.svg +3 -3
  92. package/dist/icons/custom/default/codap.svg +11 -11
  93. package/dist/icons/custom/default/ebook.svg +3 -3
  94. package/dist/icons/custom/default/embedded.svg +4 -4
  95. package/dist/icons/custom/default/emo-clap.svg +6 -6
  96. package/dist/icons/custom/default/emo-good.svg +12 -12
  97. package/dist/icons/custom/default/emo-great.svg +12 -12
  98. package/dist/icons/custom/default/emo-heart.svg +5 -5
  99. package/dist/icons/custom/default/emo-hundred.svg +3 -3
  100. package/dist/icons/custom/default/emo-neutral.svg +14 -14
  101. package/dist/icons/custom/default/emo-stars.svg +14 -14
  102. package/dist/icons/custom/default/emo-thumbup.svg +3 -3
  103. package/dist/icons/custom/default/entry.svg +4 -4
  104. package/dist/icons/custom/default/fab.svg +10 -10
  105. package/dist/icons/custom/default/grant-alt.svg +5 -5
  106. package/dist/icons/custom/default/grant.svg +4 -4
  107. package/dist/icons/custom/default/hand-line.svg +3 -3
  108. package/dist/icons/custom/default/judge.svg +3 -3
  109. package/dist/icons/custom/default/makecode.svg +5 -5
  110. package/dist/icons/custom/default/pdf.svg +3 -3
  111. package/dist/icons/custom/default/python.svg +7 -7
  112. package/dist/icons/custom/default/quiz.svg +4 -4
  113. package/dist/icons/custom/default/resource.svg +11 -11
  114. package/dist/icons/custom/default/scratch.svg +3 -3
  115. package/dist/icons/custom/default/scroll-alt.svg +5 -5
  116. package/dist/icons/custom/default/scroll-fill.svg +4 -4
  117. package/dist/icons/custom/default/scroll-line.svg +5 -5
  118. package/dist/icons/custom/default/symbol.svg +4 -4
  119. package/dist/icons/custom/default/worksheet.svg +4 -4
  120. package/dist/icons/custom/svgrColoredTemplate.js +26 -26
  121. package/dist/icons/custom/svgrDefaultTemplate.js +26 -26
  122. package/dist/patterns/Accordion.js +20 -20
  123. package/dist/patterns/Dropdown/DropdownItem/DropdownItem.js +60 -60
  124. package/dist/patterns/Dropdown/DropdownMenu/DropdownMenu.js +27 -27
  125. package/dist/patterns/Dropdown/DropdownMenu/style.js +19 -19
  126. package/dist/patterns/LexicalEditor/Plugins.js +38 -37
  127. package/dist/patterns/LexicalEditor/components/FileSelectInput.js +23 -23
  128. package/dist/patterns/LexicalEditor/components/InsertImageDialog/ImagePreview.js +4 -4
  129. package/dist/patterns/LexicalEditor/components/InsertImageDialog/InsertImageDialog.js +20 -17
  130. package/dist/patterns/LexicalEditor/components/InsertVideoDialog/InsertVideoDialog.d.ts +15 -0
  131. package/dist/patterns/LexicalEditor/components/InsertVideoDialog/InsertVideoDialog.js +83 -0
  132. package/dist/patterns/LexicalEditor/components/InsertVideoDialog/index.d.ts +1 -0
  133. package/dist/patterns/LexicalEditor/components/InsertVideoDialog/index.js +1 -0
  134. package/dist/patterns/LexicalEditor/components/UploadFileDialog/UploadFileDialog.js +2 -2
  135. package/dist/patterns/LexicalEditor/hr.svg +3 -3
  136. package/dist/patterns/LexicalEditor/nodes/FileNode/FileComponent.js +44 -44
  137. package/dist/patterns/LexicalEditor/nodes/FileNode/FileDownloadButton.js +25 -25
  138. package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageComponent.js +8 -8
  139. package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageResizer.js +60 -60
  140. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/InputComponent.js +19 -19
  141. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SegmentedInput.js +49 -49
  142. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/FormSolution.js +7 -7
  143. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/SettingForm.js +73 -73
  144. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/TextTypeDropdown.js +5 -5
  145. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/TextInput.js +7 -7
  146. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxComponent.js +69 -69
  147. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxEdit.js +3 -3
  148. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxView.js +15 -15
  149. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectComponent.js +28 -28
  150. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/FormSelection.js +54 -54
  151. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/SettingForm.js +61 -61
  152. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/Evaluation.js +75 -75
  153. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormIconAndLabel.js +17 -17
  154. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormLabel.js +7 -7
  155. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormQuestion.js +28 -28
  156. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/SettingForm.js +52 -52
  157. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/EvaluationComponent.js +7 -7
  158. package/dist/patterns/LexicalEditor/nodes/SheetInputNode/InputComponent.js +25 -25
  159. package/dist/patterns/LexicalEditor/nodes/SheetInputNode/SettingForm.js +53 -53
  160. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxComponent.js +54 -54
  161. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxView.js +5 -5
  162. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectComponent.js +21 -21
  163. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/FormSelection.js +42 -42
  164. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/SettingForm.js +71 -71
  165. package/dist/patterns/LexicalEditor/nodes/VideoNode/VideoComponent.d.ts +7 -0
  166. package/dist/patterns/LexicalEditor/nodes/VideoNode/VideoComponent.js +53 -0
  167. package/dist/patterns/LexicalEditor/nodes/VideoNode/VideoNode.d.ts +23 -0
  168. package/dist/patterns/LexicalEditor/nodes/VideoNode/VideoNode.js +52 -0
  169. package/dist/patterns/LexicalEditor/nodes/VideoNode/index.d.ts +1 -0
  170. package/dist/patterns/LexicalEditor/nodes/VideoNode/index.js +1 -0
  171. package/dist/patterns/LexicalEditor/nodes/index.d.ts +1 -0
  172. package/dist/patterns/LexicalEditor/nodes/index.js +1 -0
  173. package/dist/patterns/LexicalEditor/nodes/nodes.d.ts +2 -1
  174. package/dist/patterns/LexicalEditor/nodes/nodes.js +2 -0
  175. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdder.js +51 -51
  176. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdderPlugin.js +18 -12
  177. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/menu.svg +7 -7
  178. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/plus.svg +2 -2
  179. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/useContextMenuOptions.d.ts +1 -1
  180. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/useContextMenuOptions.js +27 -12
  181. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuItem.js +32 -32
  182. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuList.js +32 -32
  183. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuPlugin.d.ts +1 -0
  184. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuPlugin.js +30 -19
  185. package/dist/patterns/LexicalEditor/plugins/FloatingLinkEditorPlugin/FloatingLinkEditor.js +49 -49
  186. package/dist/patterns/LexicalEditor/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatPopup.js +36 -36
  187. package/dist/patterns/LexicalEditor/plugins/ParagraphPlaceholderPlugin/index.js +7 -7
  188. package/dist/patterns/LexicalEditor/plugins/VideosPlugin/index.d.ts +5 -0
  189. package/dist/patterns/LexicalEditor/plugins/VideosPlugin/index.js +20 -0
  190. package/dist/patterns/LexicalEditor/theme.js +243 -243
  191. package/dist/patterns/SegmentedControl/SegmentedControlButton.js +10 -10
  192. package/dist/patterns/SegmentedControl/SegmentedControlGroup.js +8 -8
  193. package/dist/patterns/SegmentedControl/SegmentedControlSquareButton.js +2 -2
  194. package/dist/patterns/Tabs.js +43 -43
  195. package/dist/patterns/ToggleButtonGroup/ToggleButton.js +40 -40
  196. package/dist/patterns/ToggleButtonGroup/ToggleButtonGroup.js +11 -11
  197. package/dist/utils/hover.js +12 -12
  198. package/dist/utils/reset.js +19 -19
  199. package/dist/utils/visuallyHidden.js +10 -10
  200. package/package.json +93 -92
@@ -21,54 +21,54 @@ export const radioInputClasses = {
21
21
  label: "RadioInput-label",
22
22
  };
23
23
  const TYPE_TO_ICON_STYLE = (theme, type, disabled) => ({
24
- default: css `
25
- path {
26
- stroke: ${theme.color.background.neutralAltActive};
27
- fill: ${theme.color.background.neutralBase};
28
- }
24
+ default: css `
25
+ path {
26
+ stroke: ${theme.color.background.neutralAltActive};
27
+ fill: ${theme.color.background.neutralBase};
28
+ }
29
29
  ${disabled
30
- ? css `
31
- path {
32
- stroke: ${theme.color.foreground.neutralBaseDisabled};
33
- fill: ${theme.color.background.neutralBaseDisabled};
34
- }
30
+ ? css `
31
+ path {
32
+ stroke: ${theme.color.foreground.neutralBaseDisabled};
33
+ fill: ${theme.color.background.neutralBaseDisabled};
34
+ }
35
35
  `
36
- : css `
37
- input[type="radio"]:hover + & {
38
- path {
39
- stroke: ${theme.color.background.primary};
40
- }
41
- }
42
- `}
36
+ : css `
37
+ input[type="radio"]:hover + & {
38
+ path {
39
+ stroke: ${theme.color.background.primary};
40
+ }
41
+ }
42
+ `}
43
43
  `,
44
- selected: css `
45
- path {
46
- stroke: ${theme.color.background.primary};
47
- fill: ${theme.color.background.neutralBase};
48
- }
49
- rect {
50
- fill: ${theme.color.background.primary};
51
- }
44
+ selected: css `
45
+ path {
46
+ stroke: ${theme.color.background.primary};
47
+ fill: ${theme.color.background.neutralBase};
48
+ }
49
+ rect {
50
+ fill: ${theme.color.background.primary};
51
+ }
52
52
  ${disabled
53
- ? css `
54
- path {
55
- stroke: ${theme.color.background.primaryDisabled};
56
- fill: ${theme.color.background.neutralBaseDisabled};
57
- }
58
- rect {
59
- fill: ${theme.color.background.primaryDisabled};
60
- }
53
+ ? css `
54
+ path {
55
+ stroke: ${theme.color.background.primaryDisabled};
56
+ fill: ${theme.color.background.neutralBaseDisabled};
57
+ }
58
+ rect {
59
+ fill: ${theme.color.background.primaryDisabled};
60
+ }
61
61
  `
62
- : css `
63
- input[type="radio"]:hover + & {
64
- path {
65
- stroke: ${theme.color.background.primaryActive};
66
- }
67
- rect {
68
- fill: ${theme.color.background.primaryActive};
69
- }
70
- }
71
- `}
62
+ : css `
63
+ input[type="radio"]:hover + & {
64
+ path {
65
+ stroke: ${theme.color.background.primaryActive};
66
+ }
67
+ rect {
68
+ fill: ${theme.color.background.primaryActive};
69
+ }
70
+ }
71
+ `}
72
72
  `,
73
73
  })[type];
74
74
  /**
@@ -86,8 +86,8 @@ export const RadioInput = React.forwardRef(function RadioInput(props, ref) {
86
86
  onChange,
87
87
  inputProps,
88
88
  };
89
- return (_jsxs(Label, Object.assign({ className: [radioInputClasses.root, className].filter(Boolean).join(" "), ref: ref, disabled: disabled !== null && disabled !== void 0 ? disabled : false }, other, { children: [_jsx(RadioButton, Object.assign({ className: radioInputClasses.radio }, radioProps)), _jsx("span", { className: radioInputClasses.label, css: css `
90
- margin-left: 8px;
89
+ return (_jsxs(Label, Object.assign({ className: [radioInputClasses.root, className].filter(Boolean).join(" "), ref: ref, disabled: disabled !== null && disabled !== void 0 ? disabled : false }, other, { children: [_jsx(RadioButton, Object.assign({ className: radioInputClasses.radio }, radioProps)), _jsx("span", { className: radioInputClasses.label, css: css `
90
+ margin-left: 8px;
91
91
  `, children: label })] })));
92
92
  });
93
93
  const RadioButton = React.forwardRef(function RadioButton(props, ref) {
@@ -95,38 +95,38 @@ const RadioButton = React.forwardRef(function RadioButton(props, ref) {
95
95
  const type = props.checked ? "selected" : "default";
96
96
  return (_jsxs(RadioButtonContainer, Object.assign({ className: className, spacer: spacer, disabled: disabled, ref: ref }, other, { children: [_jsx(StyledInput, Object.assign({ type: "radio" }, inputProps, { checked: checked, disabled: disabled, onChange: onChange })), _jsx(RadioButtonIcon, { type: type, disabled: disabled })] })));
97
97
  });
98
- const Label = styled.label `
99
- display: flex;
100
- position: relative;
101
- width: fit-content;
102
- font-size: 14px;
103
- font-weight: 500;
104
- line-height: 16px;
98
+ const Label = styled.label `
99
+ display: flex;
100
+ position: relative;
101
+ width: fit-content;
102
+ font-size: 14px;
103
+ font-weight: 500;
104
+ line-height: 16px;
105
105
  color: ${({ theme, disabled }) => disabled
106
106
  ? theme.color.foreground.neutralBaseDisabled
107
- : theme.color.foreground.neutralBase};
108
- align-self: center;
107
+ : theme.color.foreground.neutralBase};
108
+ align-self: center;
109
109
  `;
110
- const RadioButtonContainer = styled.span(({ spacer, disabled }) => css `
111
- display: inline-flex;
112
- position: relative;
113
- width: 16px;
114
- height: 16px;
115
- cursor: ${disabled ? "default" : "pointer"};
116
- margin-bottom: ${spacer ? "8px" : "0"};
110
+ const RadioButtonContainer = styled.span(({ spacer, disabled }) => css `
111
+ display: inline-flex;
112
+ position: relative;
113
+ width: 16px;
114
+ height: 16px;
115
+ cursor: ${disabled ? "default" : "pointer"};
116
+ margin-bottom: ${spacer ? "8px" : "0"};
117
117
  `);
118
- const StyledInput = styled.input `
119
- cursor: inherit;
120
- position: absolute;
121
- top: 0;
122
- left: 0;
123
- opacity: 0;
124
- width: 16px;
125
- height: 16px;
126
- margin: 0;
127
- padding: 0;
128
- // input 컴포넌트는 보이지 않지만, 클릭이 가능하게 z-index를 설정합니다.
129
- z-index: ${ZINDEX.inputBase};
118
+ const StyledInput = styled.input `
119
+ cursor: inherit;
120
+ position: absolute;
121
+ top: 0;
122
+ left: 0;
123
+ opacity: 0;
124
+ width: 16px;
125
+ height: 16px;
126
+ margin: 0;
127
+ padding: 0;
128
+ // input 컴포넌트는 보이지 않지만, 클릭이 가능하게 z-index를 설정합니다.
129
+ z-index: ${ZINDEX.inputBase};
130
130
  `;
131
131
  // default와 selected 구조가 유사하여 하나의 컴포넌트로 표현합니다.
132
132
  const RadioButtonIcon = (props) => {
@@ -20,128 +20,128 @@ export const squareButtonClasses = {
20
20
  };
21
21
  const COLOR_TO_BUTTON_STYLE = (theme, color, disabled) => ({
22
22
  danger: disabled
23
- ? css `
24
- background: ${theme.color.background.dangerDisabled};
25
- color: ${theme.color.foreground.neutralAltDisabled};
23
+ ? css `
24
+ background: ${theme.color.background.dangerDisabled};
25
+ color: ${theme.color.foreground.neutralAltDisabled};
26
26
  `
27
- : css `
28
- background: ${theme.color.background.danger};
29
- color: ${theme.color.foreground.neutralAlt};
30
- ${HOVER(css `
31
- background: ${theme.color.background.dangerActive};
32
- color: ${theme.color.foreground.neutralAltActive};
33
- `)}
27
+ : css `
28
+ background: ${theme.color.background.danger};
29
+ color: ${theme.color.foreground.neutralAlt};
30
+ ${HOVER(css `
31
+ background: ${theme.color.background.dangerActive};
32
+ color: ${theme.color.foreground.neutralAltActive};
33
+ `)}
34
34
  `,
35
35
  grey: disabled
36
- ? css `
37
- background: ${theme.color.background.neutralAltDisabled};
38
- color: ${theme.color.foreground.neutralBaseDisabled};
36
+ ? css `
37
+ background: ${theme.color.background.neutralAltDisabled};
38
+ color: ${theme.color.foreground.neutralBaseDisabled};
39
39
  `
40
- : css `
41
- background: ${theme.color.background.neutralAlt};
42
- color: ${theme.color.foreground.neutralBase};
43
- ${HOVER(css `
44
- background: ${theme.color.background.neutralAltActive};
45
- color: ${theme.color.foreground.neutralBaseActive};
46
- `)}
40
+ : css `
41
+ background: ${theme.color.background.neutralAlt};
42
+ color: ${theme.color.foreground.neutralBase};
43
+ ${HOVER(css `
44
+ background: ${theme.color.background.neutralAltActive};
45
+ color: ${theme.color.foreground.neutralBaseActive};
46
+ `)}
47
47
  `,
48
48
  primary: disabled
49
- ? css `
50
- background: ${theme.color.background.primaryDisabled};
51
- color: ${theme.color.foreground.neutralAltDisabled};
49
+ ? css `
50
+ background: ${theme.color.background.primaryDisabled};
51
+ color: ${theme.color.foreground.neutralAltDisabled};
52
52
  `
53
- : css `
54
- background: ${theme.color.background.primary};
55
- color: ${theme.color.foreground.neutralAlt};
56
- ${HOVER(css `
57
- background: ${theme.color.background.primaryActive};
58
- color: ${theme.color.foreground.neutralAltActive};
59
- `)}
53
+ : css `
54
+ background: ${theme.color.background.primary};
55
+ color: ${theme.color.foreground.neutralAlt};
56
+ ${HOVER(css `
57
+ background: ${theme.color.background.primaryActive};
58
+ color: ${theme.color.foreground.neutralAltActive};
59
+ `)}
60
60
  `,
61
61
  icon: disabled
62
- ? css `
63
- background: none;
64
- color: ${theme.color.foreground.neutralBaseDisabled};
62
+ ? css `
63
+ background: none;
64
+ color: ${theme.color.foreground.neutralBaseDisabled};
65
65
  `
66
- : css `
67
- background: none;
68
- color: ${theme.color.foreground.neutralBase};
69
- ${HOVER(css `
70
- background: ${theme.color.blanket.neutralLight};
71
- color: ${theme.color.foreground.neutralBaseActive};
72
- `)}
66
+ : css `
67
+ background: none;
68
+ color: ${theme.color.foreground.neutralBase};
69
+ ${HOVER(css `
70
+ background: ${theme.color.blanket.neutralLight};
71
+ color: ${theme.color.foreground.neutralBaseActive};
72
+ `)}
73
73
  `,
74
74
  black: disabled
75
- ? css `
76
- background: ${theme.color.background.inverseDisabled};
77
- color: ${theme.color.foreground.neutralAltDisabled};
75
+ ? css `
76
+ background: ${theme.color.background.inverseDisabled};
77
+ color: ${theme.color.foreground.neutralAltDisabled};
78
78
  `
79
- : css `
80
- background: ${theme.color.background.inverse};
81
- color: ${theme.color.foreground.neutralAlt};
82
- ${HOVER(css `
83
- background: ${theme.color.background.inverseActive};
84
- color: ${theme.color.foreground.neutralAltActive};
85
- `)}
79
+ : css `
80
+ background: ${theme.color.background.inverse};
81
+ color: ${theme.color.foreground.neutralAlt};
82
+ ${HOVER(css `
83
+ background: ${theme.color.background.inverseActive};
84
+ color: ${theme.color.foreground.neutralAltActive};
85
+ `)}
86
86
  `,
87
87
  white: disabled
88
- ? css `
89
- background: ${theme.color.background.neutralAltDisabled};
90
- color: ${theme.color.foreground.neutralBaseDisabled};
88
+ ? css `
89
+ background: ${theme.color.background.neutralAltDisabled};
90
+ color: ${theme.color.foreground.neutralBaseDisabled};
91
91
  `
92
- : css `
93
- background: ${theme.color.background.neutralBase};
94
- color: ${theme.color.foreground.neutralBase};
95
- ${HOVER(css `
96
- background: ${theme.color.background.neutralAltActive};
97
- color: ${theme.color.foreground.neutralBaseActive};
98
- `)}
92
+ : css `
93
+ background: ${theme.color.background.neutralBase};
94
+ color: ${theme.color.foreground.neutralBase};
95
+ ${HOVER(css `
96
+ background: ${theme.color.background.neutralAltActive};
97
+ color: ${theme.color.foreground.neutralBaseActive};
98
+ `)}
99
99
  `,
100
100
  })[color];
101
101
  const SIZE_TO_BUTTON_STYLE = {
102
- large: css `
103
- width: 56px;
104
- height: 56px;
105
- padding: 12px;
106
- border-radius: 8px;
107
-
108
- svg {
109
- width: 32px;
110
- height: 32px;
111
- }
102
+ large: css `
103
+ width: 56px;
104
+ height: 56px;
105
+ padding: 12px;
106
+ border-radius: 8px;
107
+
108
+ svg {
109
+ width: 32px;
110
+ height: 32px;
111
+ }
112
112
  `,
113
- medium: css `
114
- width: 48px;
115
- height: 48px;
116
- padding: 10px;
117
- border-radius: 8px;
118
-
119
- svg {
120
- width: 28px;
121
- height: 28px;
122
- }
113
+ medium: css `
114
+ width: 48px;
115
+ height: 48px;
116
+ padding: 10px;
117
+ border-radius: 8px;
118
+
119
+ svg {
120
+ width: 28px;
121
+ height: 28px;
122
+ }
123
123
  `,
124
- small: css `
125
- width: 36px;
126
- height: 36px;
127
- padding: 8px;
128
- border-radius: 8px;
129
-
130
- svg {
131
- width: 20px;
132
- height: 20px;
133
- }
124
+ small: css `
125
+ width: 36px;
126
+ height: 36px;
127
+ padding: 8px;
128
+ border-radius: 8px;
129
+
130
+ svg {
131
+ width: 20px;
132
+ height: 20px;
133
+ }
134
134
  `,
135
- xsmall: css `
136
- width: 28px;
137
- height: 28px;
138
- padding: 6px;
139
- border-radius: 4px;
140
-
141
- svg {
142
- width: 16px;
143
- height: 16px;
144
- }
135
+ xsmall: css `
136
+ width: 28px;
137
+ height: 28px;
138
+ padding: 6px;
139
+ border-radius: 4px;
140
+
141
+ svg {
142
+ width: 16px;
143
+ height: 16px;
144
+ }
145
145
  `,
146
146
  };
147
147
  /**
@@ -153,17 +153,17 @@ export const SquareButton = React.forwardRef(function SquareButton(props, ref) {
153
153
  return (_jsx(Component, Object.assign({ type: Component === "button" || Component === "input" ? "button" : undefined }, other, { ref: ref, className: [squareButtonClasses.root, className]
154
154
  .filter(Boolean)
155
155
  .join(" "), css: [
156
- css `
157
- border: none;
158
-
156
+ css `
157
+ border: none;
158
+
159
159
  ${disabled || loading
160
- ? css `
161
- cursor: default;
162
- pointer-events: none;
160
+ ? css `
161
+ cursor: default;
162
+ pointer-events: none;
163
163
  `
164
- : css `
165
- cursor: pointer;
166
- `}
164
+ : css `
165
+ cursor: pointer;
166
+ `}
167
167
  `,
168
168
  COLOR_TO_BUTTON_STYLE(theme, color, Boolean(disabled || loading)),
169
169
  SIZE_TO_BUTTON_STYLE[size],
@@ -41,73 +41,73 @@ const SIZE_TO_SWTICH_SIZE = {
41
41
  };
42
42
  const StyledSwitch = styled(MuiSwitch, {
43
43
  shouldForwardProp: (prop) => prop !== "switchSize",
44
- })(({ theme, switchSize }) => css `
45
- // Specificity를 높이기 위해 최상위에 &.MuiSwitch-root를 추가
46
- &.MuiSwitch-root {
47
- width: ${SIZE_TO_SWTICH_SIZE[switchSize].width};
48
- height: ${SIZE_TO_SWTICH_SIZE[switchSize].height};
49
- padding: 0; // 기존 Mui padding 속성 override
50
- .MuiSwitch-switchBase {
51
- padding: 2px;
52
- &.Mui-checked {
53
- transform: translateX(${SIZE_TO_SWTICH_SIZE[switchSize].translateX});
54
- }
55
- }
56
-
57
- .MuiSwitch-thumb {
58
- box-shadow: none;
59
- filter: drop-shadow(0px 2px 4px rgba(0, 35, 11, 0.2));
60
- width: ${SIZE_TO_SWTICH_SIZE[switchSize].thumbSize};
61
- height: ${SIZE_TO_SWTICH_SIZE[switchSize].thumbSize};
62
- border-radius: 77px;
63
- transition: color 0.3s ease;
64
-
65
- color: ${theme.color.foreground.primary};
66
- }
67
-
68
- .MuiSwitch-track {
69
- border-radius: 16px;
70
- opacity: 1;
71
- box-sizing: border-box;
72
-
73
- background: none;
74
- border: 1px solid ${theme.color.background.primary};
75
- }
76
-
77
- .Mui-disabled {
78
- & + .MuiSwitch-track {
79
- opacity: 1;
80
- border-color: ${theme.color.background.primaryDisabled};
81
- }
82
-
83
- .MuiSwitch-thumb {
84
- filter: none;
85
- color: ${theme.color.foreground.primaryDisabled};
86
- }
87
- }
88
-
89
- .Mui-checked {
90
- & + .MuiSwitch-track {
91
- opacity: 1;
92
- border-color: ${theme.color.background.primary};
93
- background-color: ${theme.color.background.primary};
94
- }
95
-
96
- .MuiSwitch-thumb {
97
- color: ${theme.color.background.neutralBase};
98
- }
99
- }
100
-
101
- .Mui-checked.Mui-disabled {
102
- & + .MuiSwitch-track {
103
- opacity: 1;
104
- border-color: ${theme.color.background.primaryDisabled};
105
- background-color: ${theme.color.background.primaryDisabled};
106
- }
107
-
108
- .MuiSwitch-thumb {
109
- color: ${theme.color.background.neutralBaseDisabled};
110
- }
111
- }
112
- }
44
+ })(({ theme, switchSize }) => css `
45
+ // Specificity를 높이기 위해 최상위에 &.MuiSwitch-root를 추가
46
+ &.MuiSwitch-root {
47
+ width: ${SIZE_TO_SWTICH_SIZE[switchSize].width};
48
+ height: ${SIZE_TO_SWTICH_SIZE[switchSize].height};
49
+ padding: 0; // 기존 Mui padding 속성 override
50
+ .MuiSwitch-switchBase {
51
+ padding: 2px;
52
+ &.Mui-checked {
53
+ transform: translateX(${SIZE_TO_SWTICH_SIZE[switchSize].translateX});
54
+ }
55
+ }
56
+
57
+ .MuiSwitch-thumb {
58
+ box-shadow: none;
59
+ filter: drop-shadow(0px 2px 4px rgba(0, 35, 11, 0.2));
60
+ width: ${SIZE_TO_SWTICH_SIZE[switchSize].thumbSize};
61
+ height: ${SIZE_TO_SWTICH_SIZE[switchSize].thumbSize};
62
+ border-radius: 77px;
63
+ transition: color 0.3s ease;
64
+
65
+ color: ${theme.color.foreground.primary};
66
+ }
67
+
68
+ .MuiSwitch-track {
69
+ border-radius: 16px;
70
+ opacity: 1;
71
+ box-sizing: border-box;
72
+
73
+ background: none;
74
+ border: 1px solid ${theme.color.background.primary};
75
+ }
76
+
77
+ .Mui-disabled {
78
+ & + .MuiSwitch-track {
79
+ opacity: 1;
80
+ border-color: ${theme.color.background.primaryDisabled};
81
+ }
82
+
83
+ .MuiSwitch-thumb {
84
+ filter: none;
85
+ color: ${theme.color.foreground.primaryDisabled};
86
+ }
87
+ }
88
+
89
+ .Mui-checked {
90
+ & + .MuiSwitch-track {
91
+ opacity: 1;
92
+ border-color: ${theme.color.background.primary};
93
+ background-color: ${theme.color.background.primary};
94
+ }
95
+
96
+ .MuiSwitch-thumb {
97
+ color: ${theme.color.background.neutralBase};
98
+ }
99
+ }
100
+
101
+ .Mui-checked.Mui-disabled {
102
+ & + .MuiSwitch-track {
103
+ opacity: 1;
104
+ border-color: ${theme.color.background.primaryDisabled};
105
+ background-color: ${theme.color.background.primaryDisabled};
106
+ }
107
+
108
+ .MuiSwitch-thumb {
109
+ color: ${theme.color.background.neutralBaseDisabled};
110
+ }
111
+ }
112
+ }
113
113
  `);