@team-monolith/cds 1.112.1 → 1.113.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 (182) hide show
  1. package/@types/emotion.d.ts +160 -159
  2. package/README.md +35 -35
  3. package/dist/CdsProvider.js +6 -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 +64 -64
  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/Tabs.js +43 -43
  177. package/dist/patterns/ToggleButtonGroup/ToggleButton.js +40 -40
  178. package/dist/patterns/ToggleButtonGroup/ToggleButtonGroup.js +11 -11
  179. package/dist/utils/hover.js +12 -12
  180. package/dist/utils/reset.js +19 -19
  181. package/dist/utils/visuallyHidden.js +10 -10
  182. package/package.json +92 -92
@@ -57,9 +57,9 @@ export function SettingForm(props) {
57
57
  .map((i) => i + 1)
58
58
  .join(",")}번 선택지가 같은 내용입니다.`;
59
59
  }
60
- return (_jsxs(Form, { onSubmit: handleSubmit(onSettingSubmit), children: [_jsxs(Title, { children: [_jsx(ListRadioIcon, { css: css `
61
- width: 12px;
62
- height: 12px;
60
+ return (_jsxs(Form, { onSubmit: handleSubmit(onSettingSubmit), children: [_jsxs(Title, { children: [_jsx(ListRadioIcon, { css: css `
61
+ width: 12px;
62
+ height: 12px;
63
63
  ` }), "\uC120\uD0DD\uD615 \uC785\uB825 \uCE78"] }), _jsxs(Content, { children: [_jsxs(Left, { children: [_jsxs(FormArea, { children: [_jsx(Label, { children: "\uC120\uD0DD\uC9C0" }), fields.map((field, index) => (_jsx(FormSelection, { index: index, control: control, rules: {
64
64
  validate: {
65
65
  validateRequired,
@@ -81,82 +81,82 @@ export function SettingForm(props) {
81
81
  },
82
82
  value: uid(),
83
83
  });
84
- }, disabled: fields.length >= 9 })] }), _jsxs(Right, { children: [_jsxs(FormArea, { children: [_jsx(Label, { children: "\uB2E4\uC911 \uC120\uD0DD \uD5C8\uC6A9 \uC5EC\uBD80" }), _jsx(FormAllowMultipleAnswers, { control: control })] }), watch("allowMultipleAnswers") && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
85
- min-width: 14px;
86
- width: 14px;
87
- height: 14px;
84
+ }, disabled: fields.length >= 9 })] }), _jsxs(Right, { children: [_jsxs(FormArea, { children: [_jsx(Label, { children: "\uB2E4\uC911 \uC120\uD0DD \uD5C8\uC6A9 \uC5EC\uBD80" }), _jsx(FormAllowMultipleAnswers, { control: control })] }), watch("allowMultipleAnswers") && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
85
+ min-width: 14px;
86
+ width: 14px;
87
+ height: 14px;
88
88
  ` }), "\uB2E4\uC911 \uC120\uD0DD\uC744 \uD5C8\uC6A9\uD55C \uBB38\uD56D\uC5D0\uB294 \uC5EC\uB7EC \uC120\uD0DD\uC9C0\uB97C \uACE0\uB97C \uC218 \uC788\uB2E4\uB294 \uC548\uB0B4\uAC00 \uC81C\uACF5\uB429\uB2C8\uB2E4."] }))] })] }), _jsxs(Buttons, { children: [_jsx(Button, { color: "grey", size: "xsmall", label: "\uB2EB\uAE30", onClick: onClose }), _jsx(Button, { color: "primary", size: "xsmall", label: "\uC774\uB300\uB85C \uB123\uAE30", bold: true, type: "submit" })] })] }));
89
89
  }
90
- const Form = styled.form(({ theme }) => css `
91
- display: flex;
92
- width: 620px;
93
- flex-direction: column;
94
- border-radius: 6px;
95
- border: 1px solid ${theme.color.background.neutralAltActive};
96
- background: ${theme.color.background.neutralBase};
97
- box-shadow: ${shadows.shadow08};
90
+ const Form = styled.form(({ theme }) => css `
91
+ display: flex;
92
+ width: 620px;
93
+ flex-direction: column;
94
+ border-radius: 6px;
95
+ border: 1px solid ${theme.color.background.neutralAltActive};
96
+ background: ${theme.color.background.neutralBase};
97
+ box-shadow: ${shadows.shadow08};
98
98
  `);
99
- const Title = styled.div(({ theme }) => css `
100
- display: flex;
101
- padding: 8px 12px;
102
- gap: 4px;
103
- align-items: center;
104
- color: ${theme.color.foreground.neutralBase};
105
- /* Default/Label/12px-Md */
106
- font-family: ${theme.fontFamily.ui};
107
- font-size: 12px;
108
- font-style: normal;
109
- font-weight: 500;
110
- line-height: 16px; /* 133.333% */
99
+ const Title = styled.div(({ theme }) => css `
100
+ display: flex;
101
+ padding: 8px 12px;
102
+ gap: 4px;
103
+ align-items: center;
104
+ color: ${theme.color.foreground.neutralBase};
105
+ /* Default/Label/12px-Md */
106
+ font-family: ${theme.fontFamily.ui};
107
+ font-size: 12px;
108
+ font-style: normal;
109
+ font-weight: 500;
110
+ line-height: 16px; /* 133.333% */
111
111
  `);
112
- const Content = styled.div(({ theme }) => css `
113
- display: flex;
114
- border-top: 1px solid ${theme.color.background.neutralAltActive};
115
- border-bottom: 1px solid ${theme.color.background.neutralAltActive};
112
+ const Content = styled.div(({ theme }) => css `
113
+ display: flex;
114
+ border-top: 1px solid ${theme.color.background.neutralAltActive};
115
+ border-bottom: 1px solid ${theme.color.background.neutralAltActive};
116
116
  `);
117
- const Left = styled.div `
118
- flex: 1;
119
- display: flex;
120
- flex-direction: column;
121
- gap: 12px;
122
- padding: 12px;
117
+ const Left = styled.div `
118
+ flex: 1;
119
+ display: flex;
120
+ flex-direction: column;
121
+ gap: 12px;
122
+ padding: 12px;
123
123
  `;
124
- const Right = styled.div `
125
- width: 240px;
126
- display: flex;
127
- flex-direction: column;
128
- gap: 12px;
129
- padding: 12px;
124
+ const Right = styled.div `
125
+ width: 240px;
126
+ display: flex;
127
+ flex-direction: column;
128
+ gap: 12px;
129
+ padding: 12px;
130
130
  `;
131
- const FormArea = styled.div `
132
- display: flex;
133
- flex-direction: column;
134
- gap: 8px;
131
+ const FormArea = styled.div `
132
+ display: flex;
133
+ flex-direction: column;
134
+ gap: 8px;
135
135
  `;
136
- const Label = styled.div(({ theme }) => css `
137
- color: ${theme.color.foreground.neutralBaseDisabled};
138
- /* Default/Label/12px-Md */
139
- font-family: ${theme.fontFamily.ui};
140
- font-size: 12px;
141
- font-style: normal;
142
- font-weight: 500;
143
- line-height: 16px; /* 133.333% */
136
+ const Label = styled.div(({ theme }) => css `
137
+ color: ${theme.color.foreground.neutralBaseDisabled};
138
+ /* Default/Label/12px-Md */
139
+ font-family: ${theme.fontFamily.ui};
140
+ font-size: 12px;
141
+ font-style: normal;
142
+ font-weight: 500;
143
+ line-height: 16px; /* 133.333% */
144
144
  `);
145
- const Buttons = styled.div `
146
- display: flex;
147
- padding: 12px;
148
- justify-content: flex-end;
149
- align-items: center;
150
- gap: 8px;
145
+ const Buttons = styled.div `
146
+ display: flex;
147
+ padding: 12px;
148
+ justify-content: flex-end;
149
+ align-items: center;
150
+ gap: 8px;
151
151
  `;
152
- const Alert = styled.div(({ theme }) => css `
153
- display: flex;
154
- gap: 4px;
155
- color: ${theme.color.foreground.neutralBaseDisabled};
156
- /* Default/Label/12px-Md */
157
- font-family: ${theme.fontFamily.ui};
158
- font-size: 12px;
159
- font-style: normal;
160
- font-weight: 500;
161
- line-height: 16px; /* 133.333% */
152
+ const Alert = styled.div(({ theme }) => css `
153
+ display: flex;
154
+ gap: 4px;
155
+ color: ${theme.color.foreground.neutralBaseDisabled};
156
+ /* Default/Label/12px-Md */
157
+ font-family: ${theme.fontFamily.ui};
158
+ font-size: 12px;
159
+ font-style: normal;
160
+ font-weight: 500;
161
+ line-height: 16px; /* 133.333% */
162
162
  `);
@@ -9,59 +9,59 @@ export const ComponentAdder = forwardRef(function ComponentAdder(props, ref) {
9
9
  const [editor] = useLexicalComposerContext();
10
10
  return (_jsxs(Container, { ref: ref, className: className, children: [_jsx(PlusContainer, { onClick: onPlusClick, children: editor._editable && _jsx(PlusIcon, {}) }), _jsx(MenuContainer, { draggable: true, onClick: onMenuClick, onDragStart: onMenuDragStart, onDragEnd: onMenuDragEnd, children: editor._editable && _jsx(MenuIcon, {}) })] }));
11
11
  });
12
- const Container = styled.div `
13
- display: flex;
14
- align-items: flex-start;
15
- gap: 3px;
16
-
17
- position: absolute;
18
- left: 0;
19
- top: 0;
20
- will-change: transform;
12
+ const Container = styled.div `
13
+ display: flex;
14
+ align-items: flex-start;
15
+ gap: 3px;
16
+
17
+ position: absolute;
18
+ left: 0;
19
+ top: 0;
20
+ will-change: transform;
21
21
  `;
22
- const PlusContainer = styled.div `
23
- display: flex;
24
- width: 26px;
25
- height: 26px;
26
- justify-content: center;
27
- align-items: center;
28
- border-radius: 5px;
29
- background: ${({ theme }) => theme.color.foreground.neutralAlt};
30
-
31
- cursor: pointer;
32
-
33
- &:hover {
34
- background-color: #eff2f5;
35
- }
22
+ const PlusContainer = styled.div `
23
+ display: flex;
24
+ width: 26px;
25
+ height: 26px;
26
+ justify-content: center;
27
+ align-items: center;
28
+ border-radius: 5px;
29
+ background: ${({ theme }) => theme.color.foreground.neutralAlt};
30
+
31
+ cursor: pointer;
32
+
33
+ &:hover {
34
+ background-color: #eff2f5;
35
+ }
36
36
  `;
37
- const PlusIcon = styled.div `
38
- width: 24px;
39
- height: 24px;
40
- // svg는 hover 이벤트를 path마다 받아서 불편함
41
- // Lexical에서 동일한 접근법을 사용하고 있음
42
- background-image: url(${plus});
37
+ const PlusIcon = styled.div `
38
+ width: 24px;
39
+ height: 24px;
40
+ // svg는 hover 이벤트를 path마다 받아서 불편함
41
+ // Lexical에서 동일한 접근법을 사용하고 있음
42
+ background-image: url(${plus});
43
43
  `;
44
- const MenuContainer = styled.div `
45
- display: flex;
46
- width: 26px;
47
- height: 26px;
48
- justify-content: center;
49
- align-items: center;
50
- border-radius: 5px;
51
- background: ${({ theme }) => theme.color.foreground.neutralAlt};
52
-
53
- cursor: grab;
54
-
55
- &:active {
56
- cursor: grabbing;
57
- }
58
-
59
- &:hover {
60
- background-color: #eff2f5;
61
- }
44
+ const MenuContainer = styled.div `
45
+ display: flex;
46
+ width: 26px;
47
+ height: 26px;
48
+ justify-content: center;
49
+ align-items: center;
50
+ border-radius: 5px;
51
+ background: ${({ theme }) => theme.color.foreground.neutralAlt};
52
+
53
+ cursor: grab;
54
+
55
+ &:active {
56
+ cursor: grabbing;
57
+ }
58
+
59
+ &:hover {
60
+ background-color: #eff2f5;
61
+ }
62
62
  `;
63
- const MenuIcon = styled.div `
64
- width: 24px;
65
- height: 24px;
66
- background-image: url(${menu});
63
+ const MenuIcon = styled.div `
64
+ width: 24px;
65
+ height: 24px;
66
+ background-image: url(${menu});
67
67
  `;
@@ -160,8 +160,8 @@ export function ComponentAdderPlugin(props) {
160
160
  editor.dispatchCommand(INSERT_IMAGE_COMMAND, props);
161
161
  }, shouldReset: true }), _jsx(UploadFileDialog, { open: fileOpen, onClose: () => setFileOpen(false), onChange: (props) => {
162
162
  editor.dispatchCommand(UPLOAD_FILE_COMMAND, props);
163
- } }), _jsx(LexicalNodeMenuPlugin, { nodeKey: nodeKey, anchorClassName: cssToClassName `
164
- z-index: ${ZINDEX.DIALOG + 1};
163
+ } }), _jsx(LexicalNodeMenuPlugin, { nodeKey: nodeKey, anchorClassName: cssToClassName `
164
+ z-index: ${ZINDEX.DIALOG + 1};
165
165
  `, options: filteredOptions, menuRenderFn: (anchorElementRef, { selectedIndex, selectOptionAndCleanUp, setHighlightedIndex }) => anchorElementRef.current && filteredOptions.length
166
166
  ? ReactDOM.createPortal(_jsx(ComponentPickerMenuList, { options: filteredOptions, selectedIndex: selectedIndex, selectOptionAndCleanUp: selectOptionAndCleanUp, setHighlightedIndex: setHighlightedIndex }), anchorElementRef.current)
167
167
  : null, onSelectOption: onSelectOption, onClose: () => {
@@ -250,13 +250,13 @@ export function ComponentAdderPlugin(props) {
250
250
  }));
251
251
  }), onMenuDragStart: onDragStart, onMenuDragEnd: onDragEnd }), _jsx(TargetLine, { ref: targetLineRef })] }), anchorElem)] }));
252
252
  }
253
- const TargetLine = styled.div `
254
- pointer-events: none;
255
- background: deepskyblue;
256
- height: 4px;
257
- position: absolute;
258
- left: 0;
259
- top: 0;
260
- opacity: 0;
261
- will-change: transform;
253
+ const TargetLine = styled.div `
254
+ pointer-events: none;
255
+ background: deepskyblue;
256
+ height: 4px;
257
+ position: absolute;
258
+ left: 0;
259
+ top: 0;
260
+ opacity: 0;
261
+ will-change: transform;
262
262
  `;
@@ -1,8 +1,8 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
2
- <path d="M9.41002 7.29999H9.40002" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
3
- <path d="M14.6 7.29999H14.59" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
4
- <path d="M9.31004 12H9.30005" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
5
- <path d="M14.6 12H14.59" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
6
- <path d="M9.41002 16.7H9.40002" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
7
- <path d="M14.6 16.7H14.59" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
2
+ <path d="M9.41002 7.29999H9.40002" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
3
+ <path d="M14.6 7.29999H14.59" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
4
+ <path d="M9.31004 12H9.30005" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
5
+ <path d="M14.6 12H14.59" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
6
+ <path d="M9.41002 16.7H9.40002" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
7
+ <path d="M14.6 16.7H14.59" stroke="#363636" stroke-width="2.6" stroke-linecap="round"/>
8
8
  </svg>
@@ -1,3 +1,3 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
2
- <path d="M12 7V12M12 12V17M12 12H17M12 12H7" stroke="#363636" stroke-width="2" stroke-linecap="round"/>
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none">
2
+ <path d="M12 7V12M12 12V17M12 12H17M12 12H7" stroke="#363636" stroke-width="2" stroke-linecap="round"/>
3
3
  </svg>
@@ -231,8 +231,8 @@ function getColoredQuoteContextMenuOptions(editor, theme, node) {
231
231
  return [
232
232
  new ComponentPickerOption("회색", {
233
233
  icon: (_jsx(InputMethodLineIcon, { color: theme.color.container.marbleOnContainer })),
234
- iconContainerClassName: css `
235
- background: ${theme.color.container.marbleContainer};
234
+ iconContainerClassName: css `
235
+ background: ${theme.color.container.marbleContainer};
236
236
  `,
237
237
  keywords: ["grey", "gray"],
238
238
  onSelect: () => {
@@ -243,8 +243,8 @@ function getColoredQuoteContextMenuOptions(editor, theme, node) {
243
243
  }),
244
244
  new ComponentPickerOption("빨간색", {
245
245
  icon: (_jsx(InputMethodLineIcon, { color: theme.color.container.redOnContainer })),
246
- iconContainerClassName: css `
247
- background: ${theme.color.container.redContainer};
246
+ iconContainerClassName: css `
247
+ background: ${theme.color.container.redContainer};
248
248
  `,
249
249
  keywords: ["red"],
250
250
  onSelect: () => {
@@ -255,8 +255,8 @@ function getColoredQuoteContextMenuOptions(editor, theme, node) {
255
255
  }),
256
256
  new ComponentPickerOption("노란색", {
257
257
  icon: (_jsx(InputMethodLineIcon, { color: theme.color.container.yellowOnContainer })),
258
- iconContainerClassName: css `
259
- background: ${theme.color.container.yellowContainer};
258
+ iconContainerClassName: css `
259
+ background: ${theme.color.container.yellowContainer};
260
260
  `,
261
261
  keywords: ["yellow"],
262
262
  onSelect: () => {
@@ -267,8 +267,8 @@ function getColoredQuoteContextMenuOptions(editor, theme, node) {
267
267
  }),
268
268
  new ComponentPickerOption("파란색", {
269
269
  icon: (_jsx(InputMethodLineIcon, { color: theme.color.container.blueOnContainer })),
270
- iconContainerClassName: css `
271
- background: ${theme.color.container.blueContainer};
270
+ iconContainerClassName: css `
271
+ background: ${theme.color.container.blueContainer};
272
272
  `,
273
273
  keywords: ["blue"],
274
274
  onSelect: () => {
@@ -279,8 +279,8 @@ function getColoredQuoteContextMenuOptions(editor, theme, node) {
279
279
  }),
280
280
  new ComponentPickerOption("초록색", {
281
281
  icon: (_jsx(InputMethodLineIcon, { color: theme.color.container.greenOnContainer })),
282
- iconContainerClassName: css `
283
- background: ${theme.color.container.greenContainer};
282
+ iconContainerClassName: css `
283
+ background: ${theme.color.container.greenContainer};
284
284
  `,
285
285
  keywords: ["green"],
286
286
  onSelect: () => {
@@ -4,38 +4,38 @@ export function ComponentPickerMenuItem(props) {
4
4
  const { index, isSelected, onClick, onMouseEnter, option } = props;
5
5
  return (_jsxs(ItemContainer, { tabIndex: -1, ref: option.setRefElement, role: "option", "aria-selected": isSelected, id: "typeahead-item-" + index, onMouseEnter: onMouseEnter, onClick: onClick, isSelected: isSelected, children: [_jsx(IconContainer, { className: option.iconContainerClassName, children: option.icon }), _jsx(Title, { children: option.title })] }, option.key));
6
6
  }
7
- const ItemContainer = styled.li `
8
- display: flex;
9
- padding: 3px 2px;
10
- align-items: center;
11
- gap: 10px;
12
- width: 100%;
13
- cursor: pointer;
14
-
15
- ${({ isSelected }) => isSelected && "background: #eee;"}
7
+ const ItemContainer = styled.li `
8
+ display: flex;
9
+ padding: 3px 2px;
10
+ align-items: center;
11
+ gap: 10px;
12
+ width: 100%;
13
+ cursor: pointer;
14
+
15
+ ${({ isSelected }) => isSelected && "background: #eee;"}
16
16
  `;
17
- const IconContainer = styled.div `
18
- display: flex;
19
- width: 26px;
20
- height: 26px;
21
- justify-content: center;
22
- align-items: center;
23
-
24
- border-radius: 5px;
25
-
26
- background: ${({ theme }) => theme.color.foreground.neutralAlt};
27
- box-shadow: 0px 0px 0px 1px rgba(201, 201, 204, 0.48);
28
-
29
- svg {
30
- width: 18px;
31
- height: 18px;
32
- }
17
+ const IconContainer = styled.div `
18
+ display: flex;
19
+ width: 26px;
20
+ height: 26px;
21
+ justify-content: center;
22
+ align-items: center;
23
+
24
+ border-radius: 5px;
25
+
26
+ background: ${({ theme }) => theme.color.foreground.neutralAlt};
27
+ box-shadow: 0px 0px 0px 1px rgba(201, 201, 204, 0.48);
28
+
29
+ svg {
30
+ width: 18px;
31
+ height: 18px;
32
+ }
33
33
  `;
34
- const Title = styled.span `
35
- color: ${({ theme }) => theme.color.foreground.neutralBase};
36
- font-family: ${({ theme }) => theme.fontFamily.ui};
37
- font-size: 14px;
38
- font-style: normal;
39
- font-weight: 500;
40
- line-height: 20px; /* 142.857% */
34
+ const Title = styled.span `
35
+ color: ${({ theme }) => theme.color.foreground.neutralBase};
36
+ font-family: ${({ theme }) => theme.fontFamily.ui};
37
+ font-size: 14px;
38
+ font-style: normal;
39
+ font-weight: 500;
40
+ line-height: 20px; /* 142.857% */
41
41
  `;
@@ -17,37 +17,37 @@ export function ComponentPickerMenuList(props) {
17
17
  }, option: option }, option.key));
18
18
  }) }) }));
19
19
  }
20
- const Container = styled.div `
21
- position: absolute;
22
-
23
- display: flex;
24
- width: 200px;
25
- padding: 4px;
26
- flex-direction: column;
27
- align-items: flex-start;
28
- gap: 5px;
29
-
30
- border-radius: 8px;
31
- border: 1px solid #e8e8eb;
32
- background: ${({ theme }) => theme.color.background.neutralBase};
33
- box-shadow: 0px 3px 15px -3px rgba(13, 20, 33, 0.13);
20
+ const Container = styled.div `
21
+ position: absolute;
22
+
23
+ display: flex;
24
+ width: 200px;
25
+ padding: 4px;
26
+ flex-direction: column;
27
+ align-items: flex-start;
28
+ gap: 5px;
29
+
30
+ border-radius: 8px;
31
+ border: 1px solid #e8e8eb;
32
+ background: ${({ theme }) => theme.color.background.neutralBase};
33
+ box-shadow: 0px 3px 15px -3px rgba(13, 20, 33, 0.13);
34
34
  `;
35
- const ListContainer = styled.ul `
36
- padding: 0;
37
- list-style: none;
38
- margin: 0;
39
-
40
- display: flex;
41
- flex-direction: column;
42
- align-items: flex-start;
43
- gap: 1px;
44
- align-self: stretch;
45
-
46
- overflow-y: scroll;
47
-
48
- scrollbar-width: none;
49
- -ms-overflow-style: none;
50
- &::-webkit-scrollbar {
51
- display: none;
52
- }
35
+ const ListContainer = styled.ul `
36
+ padding: 0;
37
+ list-style: none;
38
+ margin: 0;
39
+
40
+ display: flex;
41
+ flex-direction: column;
42
+ align-items: flex-start;
43
+ gap: 1px;
44
+ align-self: stretch;
45
+
46
+ overflow-y: scroll;
47
+
48
+ scrollbar-width: none;
49
+ -ms-overflow-style: none;
50
+ &::-webkit-scrollbar {
51
+ display: none;
52
+ }
53
53
  `;
@@ -128,11 +128,11 @@ function getSheetContextOptions(editor, theme) {
128
128
  placeholder: "",
129
129
  }),
130
130
  }),
131
- new ComponentDrawerOption("활동지 메뉴구분선", (_jsx("div", { css: css `
132
- width: 100%;
133
- height: 1px;
134
- background: ${theme.color.background.neutralAltActive};
135
- margin: 4px 0;
131
+ new ComponentDrawerOption("활동지 메뉴구분선", (_jsx("div", { css: css `
132
+ width: 100%;
133
+ height: 1px;
134
+ background: ${theme.color.background.neutralAltActive};
135
+ margin: 4px 0;
136
136
  ` }))),
137
137
  ];
138
138
  }
@@ -174,11 +174,11 @@ function getQuizContextOptions(editor, theme) {
174
174
  });
175
175
  },
176
176
  }),
177
- new ComponentDrawerOption("퀴즈 메뉴구분선", (_jsx("div", { css: css `
178
- width: 100%;
179
- height: 1px;
180
- background: ${theme.color.background.neutralAltActive};
181
- margin: 4px 0;
177
+ new ComponentDrawerOption("퀴즈 메뉴구분선", (_jsx("div", { css: css `
178
+ width: 100%;
179
+ height: 1px;
180
+ background: ${theme.color.background.neutralAltActive};
181
+ margin: 4px 0;
182
182
  ` }))),
183
183
  ];
184
184
  }
@@ -342,8 +342,8 @@ export function ComponentPickerMenuPlugin(props) {
342
342
  editor.dispatchCommand(INSERT_IMAGE_COMMAND, props);
343
343
  }, onClose: () => setOpen(false), shouldReset: true }), _jsx(UploadFileDialog, { open: fileOpen, onClose: () => setFileOpen(false), onChange: (props) => {
344
344
  editor.dispatchCommand(UPLOAD_FILE_COMMAND, props);
345
- } }), _jsx(LexicalTypeaheadMenuPlugin, { onQueryChange: setQueryString, onSelectOption: onSelectOption, triggerFn: checkForTriggerMatch, options: options, anchorClassName: cssToClassName `
346
- z-index: ${ZINDEX.DIALOG + 1};
345
+ } }), _jsx(LexicalTypeaheadMenuPlugin, { onQueryChange: setQueryString, onSelectOption: onSelectOption, triggerFn: checkForTriggerMatch, options: options, anchorClassName: cssToClassName `
346
+ z-index: ${ZINDEX.DIALOG + 1};
347
347
  `, menuRenderFn: (anchorElementRef, { selectedIndex, selectOptionAndCleanUp, setHighlightedIndex }) => anchorElementRef.current && options.length
348
348
  ? ReactDOM.createPortal(_jsx(ComponentPickerMenuList, { options: options, selectedIndex: selectedIndex, selectOptionAndCleanUp: selectOptionAndCleanUp, setHighlightedIndex: setHighlightedIndex }), anchorElementRef.current)
349
349
  : null })] }));