@team-monolith/cds 1.107.2 → 1.107.3

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 (181) hide show
  1. package/@types/emotion.d.ts +159 -159
  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 -33
  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 +68 -68
  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 +58 -58
  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 +36 -36
  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 +15 -15
  130. package/dist/patterns/LexicalEditor/components/UploadFileDialog/UploadFileDialog.js +2 -2
  131. package/dist/patterns/LexicalEditor/hr.svg +3 -3
  132. package/dist/patterns/LexicalEditor/nodes/FileNode/FileComponent.js +44 -44
  133. package/dist/patterns/LexicalEditor/nodes/FileNode/FileDownloadButton.js +25 -25
  134. package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageComponent.js +8 -8
  135. package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageResizer.js +60 -60
  136. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/InputComponent.js +19 -19
  137. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SegmentedInput.js +49 -49
  138. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/FormSolution.js +7 -7
  139. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/SettingForm.js +73 -73
  140. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/TextTypeDropdown.js +5 -5
  141. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/TextInput.js +7 -7
  142. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxComponent.js +69 -69
  143. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxEdit.js +3 -3
  144. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxView.js +15 -15
  145. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectComponent.js +28 -28
  146. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/FormSelection.js +54 -54
  147. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/SettingForm.js +61 -61
  148. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/Evaluation.js +75 -75
  149. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormIconAndLabel.js +17 -17
  150. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormLabel.js +7 -7
  151. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormQuestion.js +28 -28
  152. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/SettingForm.js +52 -52
  153. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/EvaluationComponent.js +7 -7
  154. package/dist/patterns/LexicalEditor/nodes/SheetInputNode/InputComponent.js +25 -25
  155. package/dist/patterns/LexicalEditor/nodes/SheetInputNode/SettingForm.js +53 -53
  156. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxComponent.js +54 -54
  157. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxView.js +5 -5
  158. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectComponent.js +21 -21
  159. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/FormSelection.js +42 -42
  160. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/SettingForm.js +71 -71
  161. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdder.js +51 -51
  162. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdderPlugin.js +11 -11
  163. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/menu.svg +7 -7
  164. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/plus.svg +2 -2
  165. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/useContextMenuOptions.js +10 -10
  166. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuItem.js +32 -32
  167. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuList.js +32 -32
  168. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuPlugin.js +12 -12
  169. package/dist/patterns/LexicalEditor/plugins/FloatingLinkEditorPlugin/FloatingLinkEditor.js +49 -49
  170. package/dist/patterns/LexicalEditor/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatPopup.js +36 -36
  171. package/dist/patterns/LexicalEditor/plugins/ParagraphPlaceholderPlugin/index.js +7 -7
  172. package/dist/patterns/LexicalEditor/theme.js +243 -243
  173. package/dist/patterns/SegmentedControl/SegmentedControlButton.js +10 -10
  174. package/dist/patterns/SegmentedControl/SegmentedControlGroup.js +8 -8
  175. package/dist/patterns/SegmentedControl/SegmentedControlSquareButton.js +2 -2
  176. package/dist/patterns/ToggleButtonGroup/ToggleButton.js +40 -40
  177. package/dist/patterns/ToggleButtonGroup/ToggleButtonGroup.js +11 -11
  178. package/dist/utils/hover.js +12 -12
  179. package/dist/utils/reset.js +19 -19
  180. package/dist/utils/visuallyHidden.js +10 -10
  181. package/package.json +92 -92
@@ -16,50 +16,50 @@ import styled from "@emotion/styled";
16
16
  import React from "react";
17
17
  import { InputBase, } from "./InputBase";
18
18
  const COLOR_TO_HINT_STYLES = (theme, color, disabled) => disabled
19
- ? css `
20
- color: ${theme.color.foreground.neutralBaseDisabled};
19
+ ? css `
20
+ color: ${theme.color.foreground.neutralBaseDisabled};
21
21
  `
22
22
  : {
23
- default: css `
24
- color: ${theme.color.foreground.neutralBaseDisabled};
23
+ default: css `
24
+ color: ${theme.color.foreground.neutralBaseDisabled};
25
25
  `,
26
- base: css `
27
- color: ${theme.color.foreground.neutralBaseDisabled};
26
+ base: css `
27
+ color: ${theme.color.foreground.neutralBaseDisabled};
28
28
  `,
29
- activePrimary: css `
30
- color: ${theme.color.foreground.neutralBaseDisabled};
29
+ activePrimary: css `
30
+ color: ${theme.color.foreground.neutralBaseDisabled};
31
31
  `,
32
- activeDanger: css `
33
- color: ${theme.color.foreground.danger};
32
+ activeDanger: css `
33
+ color: ${theme.color.foreground.danger};
34
34
  `,
35
- activeSuccess: css `
36
- color: ${theme.color.foreground.success};
35
+ activeSuccess: css `
36
+ color: ${theme.color.foreground.success};
37
37
  `,
38
38
  }[color];
39
39
  const SIZE_TO_FONT_STYLES = (size) => ({
40
- small: css `
41
- font-size: 14px;
42
- line-height: 20px;
43
- svg {
44
- width: 16px;
45
- height: 16px;
46
- }
40
+ small: css `
41
+ font-size: 14px;
42
+ line-height: 20px;
43
+ svg {
44
+ width: 16px;
45
+ height: 16px;
46
+ }
47
47
  `,
48
- medium: css `
49
- font-size: 16px;
50
- line-height: 24px;
51
- svg {
52
- width: 16px;
53
- height: 16px;
54
- }
48
+ medium: css `
49
+ font-size: 16px;
50
+ line-height: 24px;
51
+ svg {
52
+ width: 16px;
53
+ height: 16px;
54
+ }
55
55
  `,
56
- large: css `
57
- font-size: 18px;
58
- line-height: 28px;
59
- svg {
60
- width: 18px;
61
- height: 18px;
62
- }
56
+ large: css `
57
+ font-size: 18px;
58
+ line-height: 28px;
59
+ svg {
60
+ width: 18px;
61
+ height: 18px;
62
+ }
63
63
  `,
64
64
  })[size];
65
65
  /**
@@ -76,27 +76,27 @@ export const Input = React.forwardRef(function Input(props, ref) {
76
76
  });
77
77
  const InputWrapper = styled("span", {
78
78
  shouldForwardProp: (prop) => prop !== "fullWidth",
79
- }) `
80
- display: flex;
81
- flex-direction: column;
82
- gap: 8px;
83
- ${({ size }) => SIZE_TO_FONT_STYLES(size)}
84
- ${({ fullWidth }) => fullWidth && `width: 100%;`}
85
-
86
- position: relative;
79
+ }) `
80
+ display: flex;
81
+ flex-direction: column;
82
+ gap: 8px;
83
+ ${({ size }) => SIZE_TO_FONT_STYLES(size)}
84
+ ${({ fullWidth }) => fullWidth && `width: 100%;`}
85
+
86
+ position: relative;
87
87
  `;
88
- const Label = styled.label `
89
- display: flex;
90
- flex-direction: column;
91
- gap: 8px;
88
+ const Label = styled.label `
89
+ display: flex;
90
+ flex-direction: column;
91
+ gap: 8px;
92
92
  ${({ theme, disabled }) => disabled &&
93
- css `
94
- color: ${theme.color.foreground.neutralBaseDisabled};
95
- `}
93
+ css `
94
+ color: ${theme.color.foreground.neutralBaseDisabled};
95
+ `}
96
96
  `;
97
- const Hint = styled.div(({ theme, color, disabled }) => css `
98
- display: flex;
99
- align-items: center;
100
- gap: 4px;
101
- ${COLOR_TO_HINT_STYLES(theme, color, disabled)};
97
+ const Hint = styled.div(({ theme, color, disabled }) => css `
98
+ display: flex;
99
+ align-items: center;
100
+ gap: 4px;
101
+ ${COLOR_TO_HINT_STYLES(theme, color, disabled)};
102
102
  `);
@@ -10,79 +10,79 @@ import { TextareaAutosize } from "@mui/material";
10
10
  // 이 컴포넌트는 multiline을 고려하여 height를 명시적으로 지정하지 않았습니다.
11
11
  const COLOR_TO_INPUT_STYLES = (theme, color, disabled) => {
12
12
  if (disabled) {
13
- return css `
14
- border: 2px solid ${theme.color.background.neutralAltActive};
15
- background: ${theme.color.background.neutralAltDisabled};
16
- color: ${theme.color.foreground.neutralBaseDisabled};
13
+ return css `
14
+ border: 2px solid ${theme.color.background.neutralAltActive};
15
+ background: ${theme.color.background.neutralAltDisabled};
16
+ color: ${theme.color.foreground.neutralBaseDisabled};
17
17
  `;
18
18
  }
19
19
  return {
20
- default: css `
21
- border: 2px solid ${theme.color.background.neutralAltActive};
22
- background: ${theme.color.background.neutralAlt};
23
- color: ${theme.color.foreground.neutralBase};
20
+ default: css `
21
+ border: 2px solid ${theme.color.background.neutralAltActive};
22
+ background: ${theme.color.background.neutralAlt};
23
+ color: ${theme.color.foreground.neutralBase};
24
24
  `,
25
- base: css `
26
- border: 2px solid transparent;
27
- background: ${theme.color.background.neutralBase};
28
- color: ${theme.color.foreground.neutralBase};
25
+ base: css `
26
+ border: 2px solid transparent;
27
+ background: ${theme.color.background.neutralBase};
28
+ color: ${theme.color.foreground.neutralBase};
29
29
  `,
30
- activePrimary: css `
31
- border: 2px solid ${theme.color.foreground.primary};
32
- background: ${theme.color.background.neutralBase};
33
- color: ${theme.color.foreground.neutralBase};
30
+ activePrimary: css `
31
+ border: 2px solid ${theme.color.foreground.primary};
32
+ background: ${theme.color.background.neutralBase};
33
+ color: ${theme.color.foreground.neutralBase};
34
34
  `,
35
- activeDanger: css `
36
- border: 2px solid ${theme.color.foreground.danger};
37
- background: ${theme.color.background.neutralBase};
38
- color: ${theme.color.foreground.neutralBase};
35
+ activeDanger: css `
36
+ border: 2px solid ${theme.color.foreground.danger};
37
+ background: ${theme.color.background.neutralBase};
38
+ color: ${theme.color.foreground.neutralBase};
39
39
  `,
40
- activeSuccess: css `
41
- border: 2px solid ${theme.color.foreground.success};
42
- background: ${theme.color.background.neutralBase};
43
- color: ${theme.color.foreground.neutralBase};
40
+ activeSuccess: css `
41
+ border: 2px solid ${theme.color.foreground.success};
42
+ background: ${theme.color.background.neutralBase};
43
+ color: ${theme.color.foreground.neutralBase};
44
44
  `,
45
45
  }[color];
46
46
  };
47
47
  // 아래 padding 값은 피그마와 조금 다릅니다.
48
48
  // 왜냐하면 border가 따로 크기가 계산되므로 제외했기 때문입니다.
49
49
  const SIZE_TO_STYLES = (size, fullWidth) => ({
50
- small: css `
51
- padding-top: 6px;
52
- padding-bottom: 6px;
53
- ${!fullWidth && "max-width: 300px"};
50
+ small: css `
51
+ padding-top: 6px;
52
+ padding-bottom: 6px;
53
+ ${!fullWidth && "max-width: 300px"};
54
54
  `,
55
- medium: css `
56
- padding-top: 10px;
57
- padding-bottom: 10px;
58
- ${!fullWidth && "max-width: 375px"};
55
+ medium: css `
56
+ padding-top: 10px;
57
+ padding-bottom: 10px;
58
+ ${!fullWidth && "max-width: 375px"};
59
59
  `,
60
- large: css `
61
- padding-top: 12px;
62
- padding-bottom: 12px;
63
- ${!fullWidth && "max-width: 375px"};
60
+ large: css `
61
+ padding-top: 12px;
62
+ padding-bottom: 12px;
63
+ ${!fullWidth && "max-width: 375px"};
64
64
  `,
65
65
  })[size];
66
66
  function InputComponent(props) {
67
67
  const { placeholder, disabled = false, defaultValue, value } = props;
68
68
  const theme = useTheme();
69
- const style = css `
70
- appearance: none;
71
- flex: 1;
72
- width: 0; // https://stackoverflow.com/questions/42421361/input-button-elements-not-shrinking-in-a-flex-container
73
- border: none;
74
- padding: 0;
75
- background-color: transparent;
76
- font: inherit;
77
- color: currentColor;
78
- resize: none;
79
-
80
- &:focus-visible {
81
- outline: none;
82
- }
83
- &::placeholder {
84
- color: ${theme.color.foreground.neutralBaseDisabled};
85
- }
69
+ const style = css `
70
+ appearance: none;
71
+ flex: 1;
72
+ width: 0; // https://stackoverflow.com/questions/42421361/input-button-elements-not-shrinking-in-a-flex-container
73
+ border: none;
74
+ padding: 0;
75
+ background-color: transparent;
76
+ font: inherit;
77
+ color: currentColor;
78
+ resize: none;
79
+
80
+ &:focus-visible {
81
+ outline: none;
82
+ }
83
+ &::placeholder {
84
+ color: ${theme.color.foreground.neutralBaseDisabled};
85
+ }
86
86
  `;
87
87
  // Type Safety 때문에 코드의 중복을 허용합니다.
88
88
  if (props.multiline) {
@@ -101,24 +101,24 @@ export function InputBase(props) {
101
101
  }
102
102
  const InputContainer = styled("div", {
103
103
  shouldForwardProp: (prop) => !["inputSize", "fullWidth"].includes(prop),
104
- })(({ theme, color, inputSize, disabled, fullWidth }) => css `
105
- display: flex;
106
- align-items: center;
107
- gap: 16px;
108
-
109
- box-sizing: border-box;
110
- padding: 14px 16px;
111
- border-radius: 8px;
112
- ${COLOR_TO_INPUT_STYLES(theme, color, disabled)}
113
- ${SIZE_TO_STYLES(inputSize, fullWidth)}
114
- ${fullWidth && `width: inherit;`} // InputWrapper의 width를 따릅니다.
104
+ })(({ theme, color, inputSize, disabled, fullWidth }) => css `
105
+ display: flex;
106
+ align-items: center;
107
+ gap: 16px;
108
+
109
+ box-sizing: border-box;
110
+ padding: 14px 16px;
111
+ border-radius: 8px;
112
+ ${COLOR_TO_INPUT_STYLES(theme, color, disabled)}
113
+ ${SIZE_TO_STYLES(inputSize, fullWidth)}
114
+ ${fullWidth && `width: inherit;`} // InputWrapper의 width를 따릅니다.
115
115
  `);
116
- const ClearButton = styled.button `
117
- ${RESET_BUTTON}
118
- color: currentColor;
119
- &:not(:disabled) {
120
- cursor: pointer;
121
- }
122
- display: flex;
123
- align-items: center;
116
+ const ClearButton = styled.button `
117
+ ${RESET_BUTTON}
118
+ color: currentColor;
119
+ &:not(:disabled) {
120
+ cursor: pointer;
121
+ }
122
+ display: flex;
123
+ align-items: center;
124
124
  `;
@@ -1,7 +1,7 @@
1
1
  import styled from "@emotion/styled";
2
2
  import { Modal as MuiModal, css } from "@mui/material";
3
- export const Modal = styled(MuiModal)(({ theme }) => css `
4
- .MuiModal-backdrop {
5
- background-color: ${theme.color.blanket.neutral};
6
- }
3
+ export const Modal = styled(MuiModal)(({ theme }) => css `
4
+ .MuiModal-backdrop {
5
+ background-color: ${theme.color.blanket.neutral};
6
+ }
7
7
  `);
@@ -25,8 +25,8 @@ export function OverflowTooltip(props) {
25
25
  };
26
26
  return (_jsx(Tooltip, Object.assign({ open: isTooltipOpen, onOpen: handleOpen, onClose: handleClose }, props, { children: _jsx(OverflowDiv, { css: props.childrenCss, ref: tooltipRef, onMouseOver: handleOpen, children: props.text }) })));
27
27
  }
28
- const OverflowDiv = styled.div `
29
- overflow: hidden;
30
- text-overflow: ellipsis;
31
- white-space: nowrap;
28
+ const OverflowDiv = styled.div `
29
+ overflow: hidden;
30
+ text-overflow: ellipsis;
31
+ white-space: nowrap;
32
32
  `;
@@ -17,60 +17,60 @@ export const Pagination = React.forwardRef(function Pagination(props, ref) {
17
17
  return `${page}페이지${selected ? " 선택됨" : ""}`;
18
18
  } })));
19
19
  });
20
- const StyledPagination = styled(MuiPagination)(({ theme }) => css `
21
- &.MuiPagination-root {
22
- & .MuiPagination-ul {
23
- li {
24
- width: 32px;
25
- height: 32px;
26
- margin-left: 4px;
27
- margin-right: 4px;
28
- button {
29
- padding: 0;
30
- margin: 0;
31
- }
32
- }
33
- }
34
- & .MuiPaginationItem-root {
35
- ${HOVER(css `
36
- background-color: ${theme.color.background.neutralAlt};
37
- `)}
38
- }
39
- & .MuiPaginationItem-text {
40
- display: flex;
41
- flex-direction: column;
42
- align-items: center;
43
- text-align: center;
44
- border-radius: 8px;
45
- color: ${theme.color.foreground.neutralBase};
46
- font-weight: 400;
47
- font-size: 14px;
48
- line-height: 24px;
49
- padding: 1px 7px;
50
- margin: 0;
51
- }
52
- & .Mui-selected {
53
- border: 2px solid ${theme.color.background.primary};
54
- background-color: transparent;
55
- color: ${theme.color.background.primary};
56
- font-weight: 700;
57
- ${HOVER(css `
58
- background-color: transparent;
59
- `)}
60
- }
61
- & .Mui-disabled {
62
- background-color: transparent;
63
- color: ${theme.color.foreground.neutralBaseDisabled};
64
- }
65
- & .Mui-disabled.Mui-selected {
66
- border: 2px solid ${theme.color.background.primaryDisabled};
67
- background-color: transparent;
68
- color: ${theme.color.background.primaryDisabled};
69
- }
70
- & .MuiPaginationItem-ellipsis {
71
- ${HOVER(css `
72
- background-color: transparent;
73
- `)}
74
- }
75
- }
20
+ const StyledPagination = styled(MuiPagination)(({ theme }) => css `
21
+ &.MuiPagination-root {
22
+ & .MuiPagination-ul {
23
+ li {
24
+ width: 32px;
25
+ height: 32px;
26
+ margin-left: 4px;
27
+ margin-right: 4px;
28
+ button {
29
+ padding: 0;
30
+ margin: 0;
31
+ }
32
+ }
33
+ }
34
+ & .MuiPaginationItem-root {
35
+ ${HOVER(css `
36
+ background-color: ${theme.color.background.neutralAlt};
37
+ `)}
38
+ }
39
+ & .MuiPaginationItem-text {
40
+ display: flex;
41
+ flex-direction: column;
42
+ align-items: center;
43
+ text-align: center;
44
+ border-radius: 8px;
45
+ color: ${theme.color.foreground.neutralBase};
46
+ font-weight: 400;
47
+ font-size: 14px;
48
+ line-height: 24px;
49
+ padding: 1px 7px;
50
+ margin: 0;
51
+ }
52
+ & .Mui-selected {
53
+ border: 2px solid ${theme.color.background.primary};
54
+ background-color: transparent;
55
+ color: ${theme.color.background.primary};
56
+ font-weight: 700;
57
+ ${HOVER(css `
58
+ background-color: transparent;
59
+ `)}
60
+ }
61
+ & .Mui-disabled {
62
+ background-color: transparent;
63
+ color: ${theme.color.foreground.neutralBaseDisabled};
64
+ }
65
+ & .Mui-disabled.Mui-selected {
66
+ border: 2px solid ${theme.color.background.primaryDisabled};
67
+ background-color: transparent;
68
+ color: ${theme.color.background.primaryDisabled};
69
+ }
70
+ & .MuiPaginationItem-ellipsis {
71
+ ${HOVER(css `
72
+ background-color: transparent;
73
+ `)}
74
+ }
75
+ }
76
76
  `);
@@ -16,58 +16,58 @@ import styled from "@emotion/styled";
16
16
  import React, { useRef, useState } from "react";
17
17
  import { InputBase } from "./InputBase";
18
18
  const SIZE_TO_STYLES = (size) => ({
19
- small: css `
20
- width: 36px;
19
+ small: css `
20
+ width: 36px;
21
21
  `,
22
- medium: css `
23
- width: 48px;
22
+ medium: css `
23
+ width: 48px;
24
24
  `,
25
- large: css `
26
- width: 56px;
25
+ large: css `
26
+ width: 56px;
27
27
  `,
28
28
  })[size];
29
29
  const COLOR_TO_HINT_STYLES = (theme, color, disabled) => disabled
30
- ? css `
31
- color: ${theme.color.foreground.neutralBaseDisabled};
30
+ ? css `
31
+ color: ${theme.color.foreground.neutralBaseDisabled};
32
32
  `
33
33
  : {
34
- default: css `
35
- color: ${theme.color.foreground.neutralBaseDisabled};
34
+ default: css `
35
+ color: ${theme.color.foreground.neutralBaseDisabled};
36
36
  `,
37
- activePrimary: css `
38
- color: ${theme.color.foreground.neutralBaseDisabled};
37
+ activePrimary: css `
38
+ color: ${theme.color.foreground.neutralBaseDisabled};
39
39
  `,
40
- activeDanger: css `
41
- color: ${theme.color.foreground.danger};
40
+ activeDanger: css `
41
+ color: ${theme.color.foreground.danger};
42
42
  `,
43
- activeSuccess: css `
44
- color: ${theme.color.foreground.success};
43
+ activeSuccess: css `
44
+ color: ${theme.color.foreground.success};
45
45
  `,
46
46
  }[color];
47
47
  const SIZE_TO_FONT_STYLES = (size) => ({
48
- small: css `
49
- font-size: 14px;
50
- line-height: 20px;
51
- svg {
52
- width: 16px;
53
- height: 16px;
54
- }
48
+ small: css `
49
+ font-size: 14px;
50
+ line-height: 20px;
51
+ svg {
52
+ width: 16px;
53
+ height: 16px;
54
+ }
55
55
  `,
56
- medium: css `
57
- font-size: 16px;
58
- line-height: 24px;
59
- svg {
60
- width: 16px;
61
- height: 16px;
62
- }
56
+ medium: css `
57
+ font-size: 16px;
58
+ line-height: 24px;
59
+ svg {
60
+ width: 16px;
61
+ height: 16px;
62
+ }
63
63
  `,
64
- large: css `
65
- font-size: 18px;
66
- line-height: 28px;
67
- svg {
68
- width: 18px;
69
- height: 18px;
70
- }
64
+ large: css `
65
+ font-size: 18px;
66
+ line-height: 28px;
67
+ svg {
68
+ width: 18px;
69
+ height: 18px;
70
+ }
71
71
  `,
72
72
  })[size];
73
73
  /** i번째 값을 value로 바꾸는 setState Wrapper 함수 */
@@ -150,36 +150,36 @@ function PinInputComponent(props) {
150
150
  },
151
151
  }, fullWidth: true, value: value }, i))) }));
152
152
  }
153
- const PinInputWrapper = styled.span `
154
- display: inline-flex;
155
- flex-direction: column;
156
- gap: 8px;
157
- ${({ size }) => SIZE_TO_FONT_STYLES(size)}
153
+ const PinInputWrapper = styled.span `
154
+ display: inline-flex;
155
+ flex-direction: column;
156
+ gap: 8px;
157
+ ${({ size }) => SIZE_TO_FONT_STYLES(size)}
158
158
  `;
159
- const PinInputContainer = styled.span `
160
- display: inline-flex;
161
- gap: 8px;
159
+ const PinInputContainer = styled.span `
160
+ display: inline-flex;
161
+ gap: 8px;
162
162
  `;
163
- const SqaureInput = styled(InputBase) `
164
- ${({ size }) => SIZE_TO_STYLES(size)}
165
- padding-left: 0;
166
- padding-right: 0;
167
- input {
168
- text-align: center;
169
- }
163
+ const SqaureInput = styled(InputBase) `
164
+ ${({ size }) => SIZE_TO_STYLES(size)}
165
+ padding-left: 0;
166
+ padding-right: 0;
167
+ input {
168
+ text-align: center;
169
+ }
170
170
  `;
171
- const Hint = styled.div(({ theme, color, disabled }) => css `
172
- display: flex;
173
- align-items: center;
174
- gap: 4px;
175
- ${COLOR_TO_HINT_STYLES(theme, color, disabled)};
171
+ const Hint = styled.div(({ theme, color, disabled }) => css `
172
+ display: flex;
173
+ align-items: center;
174
+ gap: 4px;
175
+ ${COLOR_TO_HINT_STYLES(theme, color, disabled)};
176
176
  `);
177
- const Label = styled.label `
178
- display: flex;
179
- flex-direction: column;
180
- gap: 8px;
177
+ const Label = styled.label `
178
+ display: flex;
179
+ flex-direction: column;
180
+ gap: 8px;
181
181
  ${({ theme, disabled }) => disabled &&
182
- css `
183
- color: ${theme.color.foreground.neutralBaseDisabled};
184
- `}
182
+ css `
183
+ color: ${theme.color.foreground.neutralBaseDisabled};
184
+ `}
185
185
  `;
@@ -7,35 +7,35 @@ export const Popover = React.forwardRef(function Popover(props, ref) {
7
7
  const { className, headline, content, icon, button } = props;
8
8
  return (_jsxs(Container, { ref: ref, className: className, children: [icon && _jsx(Icon, { children: icon }), _jsxs(ContentArea, { children: [headline && _jsx(Headline, { children: headline }), content && _jsx(Content, { children: content })] }), button] }));
9
9
  });
10
- const Container = styled.div(({ theme }) => css `
11
- display: inline-flex;
12
- align-items: center;
13
- width: auto;
14
- padding: 6px 16px;
15
- gap: 12px;
16
- border-radius: 100px;
17
- background-color: ${theme.color.foreground.neutralBase};
18
- color: ${theme.color.background.neutralBase};
19
- box-shadow: ${shadows.shadow32};
10
+ const Container = styled.div(({ theme }) => css `
11
+ display: inline-flex;
12
+ align-items: center;
13
+ width: auto;
14
+ padding: 6px 16px;
15
+ gap: 12px;
16
+ border-radius: 100px;
17
+ background-color: ${theme.color.foreground.neutralBase};
18
+ color: ${theme.color.background.neutralBase};
19
+ box-shadow: ${shadows.shadow32};
20
20
  `);
21
- const Icon = styled.div `
22
- display: block;
23
- width: 20px;
24
- height: 20px;
25
- svg {
26
- width: 100%;
27
- height: 100%;
28
- }
21
+ const Icon = styled.div `
22
+ display: block;
23
+ width: 20px;
24
+ height: 20px;
25
+ svg {
26
+ width: 100%;
27
+ height: 100%;
28
+ }
29
29
  `;
30
- const ContentArea = styled.div `
31
- flex: 1 0 auto;
32
- font-size: 14px;
33
- line-height: 20px;
30
+ const ContentArea = styled.div `
31
+ flex: 1 0 auto;
32
+ font-size: 14px;
33
+ line-height: 20px;
34
34
  `;
35
- const Headline = styled.div `
36
- margin-bottom: 2px;
37
- font-weight: 700;
35
+ const Headline = styled.div `
36
+ margin-bottom: 2px;
37
+ font-weight: 700;
38
38
  `;
39
- const Content = styled.div `
40
- font-weight: 400;
39
+ const Content = styled.div `
40
+ font-weight: 400;
41
41
  `;