@team-monolith/cds 1.118.0 → 1.119.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 (211) hide show
  1. package/@types/emotion.d.ts +160 -160
  2. package/README.md +37 -37
  3. package/dist/CdsProvider.d.ts +2 -2
  4. package/dist/CdsProvider.js +15 -5
  5. package/dist/components/AlertDialog/AlertDialog.js +54 -54
  6. package/dist/components/AlertDialog/AlertDialogActions.js +7 -7
  7. package/dist/components/AlertDialog/AlertDialogContent.js +8 -8
  8. package/dist/components/AlertDialog/AlertDialogTitle.js +34 -34
  9. package/dist/components/AnimatedButton.js +32 -32
  10. package/dist/components/Banner.js +51 -51
  11. package/dist/components/Book/Book.js +174 -174
  12. package/dist/components/Button.js +179 -179
  13. package/dist/components/CheckboxInput.js +148 -148
  14. package/dist/components/FileTypeAlertDialog.js +4 -4
  15. package/dist/components/Input.js +53 -53
  16. package/dist/components/InputBase.js +72 -72
  17. package/dist/components/Modal.js +4 -4
  18. package/dist/components/OverflowTooltip.js +4 -4
  19. package/dist/components/Pagination.js +56 -56
  20. package/dist/components/PinInput.js +64 -64
  21. package/dist/components/Popover.js +27 -27
  22. package/dist/components/RadioInput.js +73 -73
  23. package/dist/components/SquareButton.js +109 -109
  24. package/dist/components/Switch.js +69 -69
  25. package/dist/components/SwitchButton.js +107 -107
  26. package/dist/components/Tag.js +72 -72
  27. package/dist/components/Tooltip.js +19 -19
  28. package/dist/foundation/breakpoints.js +16 -16
  29. package/dist/i18n/i18n.d.ts +3 -13
  30. package/dist/i18n/i18n.js +33 -31
  31. package/dist/icons/custom/colored/ai-helper.svg +4 -4
  32. package/dist/icons/custom/colored/ai-quiz-color.svg +20 -20
  33. package/dist/icons/custom/colored/badge-color.svg +4 -4
  34. package/dist/icons/custom/colored/badge-gold.svg +11 -11
  35. package/dist/icons/custom/colored/badge-green.svg +11 -11
  36. package/dist/icons/custom/colored/badge-silver.svg +11 -11
  37. package/dist/icons/custom/colored/basic-plus.svg +31 -31
  38. package/dist/icons/custom/colored/basic.svg +3 -3
  39. package/dist/icons/custom/colored/board-color.svg +5 -5
  40. package/dist/icons/custom/colored/cast-cloudy-color.svg +6 -6
  41. package/dist/icons/custom/colored/cast-partly-color.svg +7 -7
  42. package/dist/icons/custom/colored/cast-rainbow-color.svg +13 -13
  43. package/dist/icons/custom/colored/cast-sunny-color.svg +4 -4
  44. package/dist/icons/custom/colored/clap-bronze.svg +8 -8
  45. package/dist/icons/custom/colored/clap-gold.svg +8 -8
  46. package/dist/icons/custom/colored/clap-silver.svg +8 -8
  47. package/dist/icons/custom/colored/class.svg +13 -13
  48. package/dist/icons/custom/colored/codap-color.svg +13 -13
  49. package/dist/icons/custom/colored/ebook-color.svg +5 -5
  50. package/dist/icons/custom/colored/embedded-color.svg +38 -38
  51. package/dist/icons/custom/colored/emo-clap-color.svg +252 -252
  52. package/dist/icons/custom/colored/emo-good-color.svg +68 -68
  53. package/dist/icons/custom/colored/emo-great-color.svg +67 -67
  54. package/dist/icons/custom/colored/emo-heart-color.svg +239 -239
  55. package/dist/icons/custom/colored/emo-hundred-color.svg +194 -194
  56. package/dist/icons/custom/colored/emo-neutral-color.svg +76 -76
  57. package/dist/icons/custom/colored/emo-stars-color.svg +121 -121
  58. package/dist/icons/custom/colored/emo-thumbup-color.svg +238 -238
  59. package/dist/icons/custom/colored/empty.svg +1 -1
  60. package/dist/icons/custom/colored/entry-color.svg +4 -4
  61. package/dist/icons/custom/colored/filename-all-color.svg +4 -4
  62. package/dist/icons/custom/colored/filename-doc-color.svg +5 -5
  63. package/dist/icons/custom/colored/filename-hwp-color.svg +6 -6
  64. package/dist/icons/custom/colored/filename-img-color.svg +6 -6
  65. package/dist/icons/custom/colored/filename-mp4-color.svg +5 -5
  66. package/dist/icons/custom/colored/filename-pdf-color.svg +12 -12
  67. package/dist/icons/custom/colored/filename-ppt-color.svg +6 -6
  68. package/dist/icons/custom/colored/filename-xls-color.svg +5 -5
  69. package/dist/icons/custom/colored/filename-zip-color.svg +5 -5
  70. package/dist/icons/custom/colored/google.svg +13 -13
  71. package/dist/icons/custom/colored/hand-fill.svg +4 -4
  72. package/dist/icons/custom/colored/judge-color.svg +6 -6
  73. package/dist/icons/custom/colored/makecode-color.svg +4 -4
  74. package/dist/icons/custom/colored/master.svg +12 -12
  75. package/dist/icons/custom/colored/material.svg +6 -6
  76. package/dist/icons/custom/colored/medal-bronze.svg +9 -9
  77. package/dist/icons/custom/colored/medal-gold.svg +9 -9
  78. package/dist/icons/custom/colored/medal-silver.svg +9 -9
  79. package/dist/icons/custom/colored/pro.svg +4 -4
  80. package/dist/icons/custom/colored/problem.svg +7 -7
  81. package/dist/icons/custom/colored/python-color.svg +4 -4
  82. package/dist/icons/custom/colored/quiz-color.svg +12 -12
  83. package/dist/icons/custom/colored/resource-color.svg +13 -13
  84. package/dist/icons/custom/colored/scratch-color.svg +6 -6
  85. package/dist/icons/custom/colored/type-helper.svg +9 -9
  86. package/dist/icons/custom/colored/whale.svg +7 -7
  87. package/dist/icons/custom/colored/worksheet-color.svg +5 -5
  88. package/dist/icons/custom/default/ai-quiz.svg +8 -8
  89. package/dist/icons/custom/default/badge.svg +4 -4
  90. package/dist/icons/custom/default/board.svg +5 -5
  91. package/dist/icons/custom/default/cast-cloudy.svg +3 -3
  92. package/dist/icons/custom/default/cast-partly.svg +4 -4
  93. package/dist/icons/custom/default/cast-rainbow.svg +12 -12
  94. package/dist/icons/custom/default/cast-sunny.svg +3 -3
  95. package/dist/icons/custom/default/codap.svg +11 -11
  96. package/dist/icons/custom/default/ebook.svg +3 -3
  97. package/dist/icons/custom/default/embedded.svg +4 -4
  98. package/dist/icons/custom/default/emo-clap.svg +6 -6
  99. package/dist/icons/custom/default/emo-good.svg +12 -12
  100. package/dist/icons/custom/default/emo-great.svg +12 -12
  101. package/dist/icons/custom/default/emo-heart.svg +5 -5
  102. package/dist/icons/custom/default/emo-hundred.svg +3 -3
  103. package/dist/icons/custom/default/emo-neutral.svg +14 -14
  104. package/dist/icons/custom/default/emo-stars.svg +14 -14
  105. package/dist/icons/custom/default/emo-thumbup.svg +3 -3
  106. package/dist/icons/custom/default/entry.svg +4 -4
  107. package/dist/icons/custom/default/fab.svg +10 -10
  108. package/dist/icons/custom/default/grant-alt.svg +5 -5
  109. package/dist/icons/custom/default/grant.svg +4 -4
  110. package/dist/icons/custom/default/hand-line.svg +3 -3
  111. package/dist/icons/custom/default/judge.svg +3 -3
  112. package/dist/icons/custom/default/makecode.svg +5 -5
  113. package/dist/icons/custom/default/pdf.svg +3 -3
  114. package/dist/icons/custom/default/python.svg +7 -7
  115. package/dist/icons/custom/default/quiz.svg +4 -4
  116. package/dist/icons/custom/default/resource.svg +11 -11
  117. package/dist/icons/custom/default/scratch.svg +3 -3
  118. package/dist/icons/custom/default/scroll-alt.svg +5 -5
  119. package/dist/icons/custom/default/scroll-fill.svg +4 -4
  120. package/dist/icons/custom/default/scroll-line.svg +5 -5
  121. package/dist/icons/custom/default/symbol.svg +4 -4
  122. package/dist/icons/custom/default/worksheet.svg +4 -4
  123. package/dist/icons/custom/svgrColoredTemplate.js +26 -26
  124. package/dist/icons/custom/svgrDefaultTemplate.js +26 -26
  125. package/dist/index.d.ts +0 -1
  126. package/dist/index.js +0 -1
  127. package/dist/patterns/Accordion.js +20 -20
  128. package/dist/patterns/Dropdown/DropdownItem/DropdownItem.js +60 -60
  129. package/dist/patterns/Dropdown/DropdownMenu/DropdownMenu.js +27 -27
  130. package/dist/patterns/Dropdown/DropdownMenu/style.js +19 -19
  131. package/dist/patterns/LexicalEditor/Plugins.js +38 -37
  132. package/dist/patterns/LexicalEditor/components/FileSelectInput.js +31 -30
  133. package/dist/patterns/LexicalEditor/components/InsertImageDialog/ImagePreview.js +4 -4
  134. package/dist/patterns/LexicalEditor/components/InsertImageDialog/InsertImageDialog.js +15 -15
  135. package/dist/patterns/LexicalEditor/components/InsertVideoDialog/InsertVideoDialog.js +17 -17
  136. package/dist/patterns/LexicalEditor/components/UploadFileDialog/UploadFileDialog.js +3 -5
  137. package/dist/patterns/LexicalEditor/hr.svg +3 -3
  138. package/dist/patterns/LexicalEditor/nodes/FileNode/FileComponent.js +44 -44
  139. package/dist/patterns/LexicalEditor/nodes/FileNode/FileDownloadButton.js +25 -25
  140. package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageComponent.js +8 -8
  141. package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageResizer.js +60 -60
  142. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/InputComponent.js +21 -21
  143. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SegmentedInput.js +49 -49
  144. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/FormPlaceholder.js +1 -3
  145. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/FormSolution.js +7 -7
  146. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/SettingForm.js +73 -73
  147. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/TextTypeDropdown.js +5 -5
  148. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/TextInput.js +7 -7
  149. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxComponent.js +69 -69
  150. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxEdit.js +3 -3
  151. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxView.js +29 -30
  152. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectComponent.js +29 -29
  153. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/FormSelection.js +54 -54
  154. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/SettingForm.js +64 -64
  155. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/Evaluation.js +75 -75
  156. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormIconAndLabel.js +19 -19
  157. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormLabel.js +10 -12
  158. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormQuestion.js +29 -29
  159. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/SettingForm.js +53 -53
  160. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/EvaluationComponent.js +8 -8
  161. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/iconData.d.ts +1 -2
  162. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/iconData.js +5 -4
  163. package/dist/patterns/LexicalEditor/nodes/SheetInputNode/InputComponent.js +26 -26
  164. package/dist/patterns/LexicalEditor/nodes/SheetInputNode/SettingForm.js +54 -54
  165. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxComponent.js +54 -54
  166. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxView.js +5 -5
  167. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectComponent.js +22 -22
  168. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/FormSelection.js +42 -42
  169. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/SettingForm.js +74 -74
  170. package/dist/patterns/LexicalEditor/nodes/VideoNode/VideoComponent.js +6 -6
  171. package/dist/patterns/LexicalEditor/nodes/index.d.ts +3 -0
  172. package/dist/patterns/LexicalEditor/nodes/index.js +3 -0
  173. package/dist/patterns/LexicalEditor/nodes/nodes.d.ts +4 -2
  174. package/dist/patterns/LexicalEditor/nodes/nodes.js +6 -0
  175. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContainerNode.d.ts +32 -0
  176. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContainerNode.js +128 -0
  177. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContentNode.d.ts +23 -0
  178. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContentNode.js +88 -0
  179. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleTitleNode.d.ts +23 -0
  180. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleTitleNode.js +103 -0
  181. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdder.js +51 -51
  182. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdderPlugin.js +11 -12
  183. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/menu.svg +7 -7
  184. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/plus.svg +2 -2
  185. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/useContextMenuOptions.js +66 -68
  186. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuItem.js +32 -32
  187. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuList.js +32 -32
  188. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuPlugin.d.ts +0 -2
  189. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuPlugin.js +50 -40
  190. package/dist/patterns/LexicalEditor/plugins/DragDropPastePlugin/index.js +2 -4
  191. package/dist/patterns/LexicalEditor/plugins/FloatingLinkEditorPlugin/FloatingLinkEditor.js +49 -49
  192. package/dist/patterns/LexicalEditor/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatPopup.js +36 -36
  193. package/dist/patterns/LexicalEditor/plugins/ParagraphPlaceholderPlugin/index.js +7 -7
  194. package/dist/patterns/LexicalEditor/plugins/TogglePlugin/index.d.ts +9 -0
  195. package/dist/patterns/LexicalEditor/plugins/TogglePlugin/index.js +146 -0
  196. package/dist/patterns/LexicalEditor/theme.d.ts +6 -0
  197. package/dist/patterns/LexicalEditor/theme.js +279 -243
  198. package/dist/patterns/LexicalEditor/utils/toggleUtils.d.ts +9 -0
  199. package/dist/patterns/LexicalEditor/utils/toggleUtils.js +18 -0
  200. package/dist/patterns/SegmentedControl/SegmentedControlButton.js +10 -10
  201. package/dist/patterns/SegmentedControl/SegmentedControlGroup.js +8 -8
  202. package/dist/patterns/SegmentedControl/SegmentedControlSquareButton.js +2 -2
  203. package/dist/patterns/Tabs.js +43 -43
  204. package/dist/patterns/ToggleButtonGroup/ToggleButton.js +40 -40
  205. package/dist/patterns/ToggleButtonGroup/ToggleButtonGroup.js +11 -11
  206. package/dist/texts.d.ts +1 -2
  207. package/dist/texts.js +12 -11
  208. package/dist/utils/hover.js +12 -12
  209. package/dist/utils/reset.js +19 -19
  210. package/dist/utils/visuallyHidden.js +10 -10
  211. package/package.json +110 -110
@@ -31,66 +31,66 @@ export function SettingForm(props) {
31
31
  });
32
32
  onClose();
33
33
  };
34
- return (_jsxs(Form, { onSubmit: handleSubmit(onSettingSubmit), children: [_jsxs(Title, { children: [_jsx(InputMethodLineIcon, { css: css `
35
- width: 12px;
36
- height: 12px;
34
+ return (_jsxs(Form, { onSubmit: handleSubmit(onSettingSubmit), children: [_jsxs(Title, { children: [_jsx(InputMethodLineIcon, { css: css `
35
+ width: 12px;
36
+ height: 12px;
37
37
  ` }), multiline
38
38
  ? t("서술형 입력 칸", { context: "렉시컬 단답형/서술형 도구" })
39
- : t("단답형 입력 칸", { context: "렉시컬 단답형/서술형 도구" })] }), _jsx(Content, { children: _jsxs(FormArea, { children: [_jsxs(Label, { children: [t("자리 표시자", { context: "렉시컬 단답형/서술형 도구" }), _jsx(Tooltip, { text: getTexts(t, "descriptionDefaultInputText"), placement: "top", children: _jsx(QuestionFillIcon, { css: css `
40
- width: 12px;
41
- height: 12px;
42
- ` }) })] }), _jsx(Controller, { name: "placeholder", control: control, render: ({ field: { value, onChange } }) => (_jsx(Input, { size: "small", color: "default", value: value, onChange: onChange, placeholder: getTexts(t, "exampleEnterHere") })) })] }) }), _jsxs(Buttons, { children: [_jsx(Button, { color: "grey", size: "xsmall", label: t("닫기", { context: "렉시컬 도구 설정창" }), onClick: onClose }), _jsx(Button, { color: "primary", size: "xsmall", label: t("이대로 넣기", { context: "렉시컬 도구 설정창" }), bold: true, type: "submit" })] })] }));
39
+ : t("단답형 입력 칸", { context: "렉시컬 단답형/서술형 도구" })] }), _jsx(Content, { children: _jsxs(FormArea, { children: [_jsxs(Label, { children: [t("자리 표시자", { context: "렉시컬 단답형/서술형 도구" }), _jsx(Tooltip, { text: getTexts("descriptionDefaultInputText"), placement: "top", children: _jsx(QuestionFillIcon, { css: css `
40
+ width: 12px;
41
+ height: 12px;
42
+ ` }) })] }), _jsx(Controller, { name: "placeholder", control: control, render: ({ field: { value, onChange } }) => (_jsx(Input, { size: "small", color: "default", value: value, onChange: onChange, placeholder: getTexts("exampleEnterHere") })) })] }) }), _jsxs(Buttons, { children: [_jsx(Button, { color: "grey", size: "xsmall", label: t("닫기", { context: "렉시컬 도구 설정창" }), onClick: onClose }), _jsx(Button, { color: "primary", size: "xsmall", label: t("이대로 넣기", { context: "렉시컬 도구 설정창" }), bold: true, type: "submit" })] })] }));
43
43
  }
44
- const Form = styled.form(({ theme }) => css `
45
- display: flex;
46
- width: 620px;
47
- flex-direction: column;
48
- border-radius: 6px;
49
- border: 1px solid ${theme.color.background.neutralAltActive};
50
- background: ${theme.color.background.neutralBase};
51
- box-shadow: ${shadows.shadow08};
44
+ const Form = styled.form(({ theme }) => css `
45
+ display: flex;
46
+ width: 620px;
47
+ flex-direction: column;
48
+ border-radius: 6px;
49
+ border: 1px solid ${theme.color.background.neutralAltActive};
50
+ background: ${theme.color.background.neutralBase};
51
+ box-shadow: ${shadows.shadow08};
52
52
  `);
53
- const Title = styled.div(({ theme }) => css `
54
- display: flex;
55
- padding: 8px 12px;
56
- gap: 4px;
57
- align-items: center;
58
- color: ${theme.color.foreground.neutralBase};
59
- /* Default/Label/12px-Md */
60
- font-family: ${theme.fontFamily.ui};
61
- font-size: 12px;
62
- font-style: normal;
63
- font-weight: 500;
64
- line-height: 16px; /* 133.333% */
53
+ const Title = styled.div(({ theme }) => css `
54
+ display: flex;
55
+ padding: 8px 12px;
56
+ gap: 4px;
57
+ align-items: center;
58
+ color: ${theme.color.foreground.neutralBase};
59
+ /* Default/Label/12px-Md */
60
+ font-family: ${theme.fontFamily.ui};
61
+ font-size: 12px;
62
+ font-style: normal;
63
+ font-weight: 500;
64
+ line-height: 16px; /* 133.333% */
65
65
  `);
66
- const Content = styled.div(({ theme }) => css `
67
- display: flex;
68
- border-top: 1px solid ${theme.color.background.neutralAltActive};
69
- border-bottom: 1px solid ${theme.color.background.neutralAltActive};
66
+ const Content = styled.div(({ theme }) => css `
67
+ display: flex;
68
+ border-top: 1px solid ${theme.color.background.neutralAltActive};
69
+ border-bottom: 1px solid ${theme.color.background.neutralAltActive};
70
70
  `);
71
- const FormArea = styled.div `
72
- width: 240px;
73
- display: flex;
74
- flex-direction: column;
75
- gap: 8px;
76
- padding: 12px;
71
+ const FormArea = styled.div `
72
+ width: 240px;
73
+ display: flex;
74
+ flex-direction: column;
75
+ gap: 8px;
76
+ padding: 12px;
77
77
  `;
78
- const Label = styled.div(({ theme }) => css `
79
- display: flex;
80
- gap: 4px;
81
- align-items: center;
82
- color: ${theme.color.foreground.neutralBaseDisabled};
83
- /* Default/Label/12px-Md */
84
- font-family: ${theme.fontFamily.ui};
85
- font-size: 12px;
86
- font-style: normal;
87
- font-weight: 500;
88
- line-height: 16px; /* 133.333% */
78
+ const Label = styled.div(({ theme }) => css `
79
+ display: flex;
80
+ gap: 4px;
81
+ align-items: center;
82
+ color: ${theme.color.foreground.neutralBaseDisabled};
83
+ /* Default/Label/12px-Md */
84
+ font-family: ${theme.fontFamily.ui};
85
+ font-size: 12px;
86
+ font-style: normal;
87
+ font-weight: 500;
88
+ line-height: 16px; /* 133.333% */
89
89
  `);
90
- const Buttons = styled.div `
91
- display: flex;
92
- padding: 12px;
93
- justify-content: flex-end;
94
- align-items: center;
95
- gap: 8px;
90
+ const Buttons = styled.div `
91
+ display: flex;
92
+ padding: 12px;
93
+ justify-content: flex-end;
94
+ align-items: center;
95
+ gap: 8px;
96
96
  `;
@@ -20,73 +20,73 @@ export const selectBoxClasses = {
20
20
  content: "SheetSelectNode-SelectBox-content",
21
21
  };
22
22
  const TYPE_TO_CONTAINER_STYLE = (theme, type) => ({
23
- primary: css `
24
- background: ${theme.color.container.blueContainer};
25
- border: 1px solid ${theme.color.foreground.primary};
26
- color: ${theme.color.container.blueOnContainer};
23
+ primary: css `
24
+ background: ${theme.color.container.blueContainer};
25
+ border: 1px solid ${theme.color.foreground.primary};
26
+ color: ${theme.color.container.blueOnContainer};
27
27
  `,
28
- normal: css `
29
- background: ${theme.color.background.neutralAlt};
30
- border: 1px solid transparent;
31
- color: ${theme.color.foreground.neutralBase};
28
+ normal: css `
29
+ background: ${theme.color.background.neutralAlt};
30
+ border: 1px solid transparent;
31
+ color: ${theme.color.foreground.neutralBase};
32
32
  `,
33
33
  })[type];
34
34
  const TYPE_TO_INDEX_STYLE = (theme, type) => ({
35
- primary: css `
36
- background: ${theme.color.background.primary};
37
- border: 1px solid ${theme.color.background.primary};
38
- color: ${theme.color.foreground.neutralAlt};
35
+ primary: css `
36
+ background: ${theme.color.background.primary};
37
+ border: 1px solid ${theme.color.background.primary};
38
+ color: ${theme.color.foreground.neutralAlt};
39
39
  `,
40
- normal: css `
41
- background: ${theme.color.background.neutralBase};
42
- border: 1px solid ${theme.color.background.neutralAltActive};
43
- color: ${theme.color.foreground.neutralBaseDisabled};
40
+ normal: css `
41
+ background: ${theme.color.background.neutralBase};
42
+ border: 1px solid ${theme.color.background.neutralAltActive};
43
+ color: ${theme.color.foreground.neutralBaseDisabled};
44
44
  `,
45
45
  })[type];
46
46
  /** 비지니스 로직과 무관한 SelectBox를 그리는 공통 컴포넌트입니다. */
47
47
  export const SelectBoxComponent = forwardRef(function SelectBoxComponent(props, ref) {
48
48
  const { className, type, index, image, text, onClick } = props, restProps = __rest(props, ["className", "type", "index", "image", "text", "onClick"]);
49
49
  const theme = useTheme();
50
- return (_jsxs(Container, Object.assign({ className: `${className} ${selectBoxClasses.container}`, ref: ref }, restProps, { css: TYPE_TO_CONTAINER_STYLE(theme, type), onClick: onClick, children: [_jsx(Index, { className: selectBoxClasses.index, "aria-hidden": "true", css: TYPE_TO_INDEX_STYLE(theme, type), children: index }), _jsxs(Content, { className: selectBoxClasses.content, "aria-hidden": "true", children: [image && (_jsx("img", { "aria-hidden": "true", src: image.src, alt: image.altText, css: css `
51
- height: auto;
52
- // 이미지로 인해 좌우로 스크롤이 생기는 것을 방지
53
- max-width: 100%;
54
- width: fit-content;
55
- border-radius: 6px;
50
+ return (_jsxs(Container, Object.assign({ className: `${className} ${selectBoxClasses.container}`, ref: ref }, restProps, { css: TYPE_TO_CONTAINER_STYLE(theme, type), onClick: onClick, children: [_jsx(Index, { className: selectBoxClasses.index, "aria-hidden": "true", css: TYPE_TO_INDEX_STYLE(theme, type), children: index }), _jsxs(Content, { className: selectBoxClasses.content, "aria-hidden": "true", children: [image && (_jsx("img", { "aria-hidden": "true", src: image.src, alt: image.altText, css: css `
51
+ height: auto;
52
+ // 이미지로 인해 좌우로 스크롤이 생기는 것을 방지
53
+ max-width: 100%;
54
+ width: fit-content;
55
+ border-radius: 6px;
56
56
  ` })), text] })] })));
57
57
  });
58
- const Container = styled.div(({ onClick }) => css `
59
- ${onClick && "cursor: pointer;"}
60
- display: flex;
61
- width: 400px;
62
- padding: 12px;
63
- gap: 12px;
64
- border-radius: 8px;
58
+ const Container = styled.div(({ onClick }) => css `
59
+ ${onClick && "cursor: pointer;"}
60
+ display: flex;
61
+ width: 400px;
62
+ padding: 12px;
63
+ gap: 12px;
64
+ border-radius: 8px;
65
65
  `);
66
- const Index = styled.div(({ theme }) => css `
67
- display: flex;
68
- box-sizing: border-box;
69
- width: 20px;
70
- height: 20px;
71
- padding: 4px;
72
-
73
- user-select: none; /* Standard syntax */
74
-
75
- justify-content: center;
76
- align-items: center;
77
- border-radius: 4px;
78
- font-family: ${theme.fontFamily.ui};
79
- font-size: 14px;
80
- font-weight: 800;
81
- line-height: 16px;
66
+ const Index = styled.div(({ theme }) => css `
67
+ display: flex;
68
+ box-sizing: border-box;
69
+ width: 20px;
70
+ height: 20px;
71
+ padding: 4px;
72
+
73
+ user-select: none; /* Standard syntax */
74
+
75
+ justify-content: center;
76
+ align-items: center;
77
+ border-radius: 4px;
78
+ font-family: ${theme.fontFamily.ui};
79
+ font-size: 14px;
80
+ font-weight: 800;
81
+ line-height: 16px;
82
82
  `);
83
- const Content = styled.div(({ theme }) => css `
84
- display: flex;
85
- flex-direction: column;
86
- gap: 12px;
87
- flex: 1;
88
- font-family: ${theme.fontFamily.ui};
89
- font-size: 16px;
90
- font-weight: 400;
91
- line-height: 20px;
83
+ const Content = styled.div(({ theme }) => css `
84
+ display: flex;
85
+ flex-direction: column;
86
+ gap: 12px;
87
+ flex: 1;
88
+ font-family: ${theme.fontFamily.ui};
89
+ font-size: 16px;
90
+ font-weight: 400;
91
+ line-height: 20px;
92
92
  `);
@@ -8,9 +8,9 @@ import { useEventListener } from "usehooks-ts";
8
8
  import { useTranslation } from "react-i18next";
9
9
  function getIndexIcon(type, index) {
10
10
  return {
11
- primary: (_jsx(CheckFillIcon, { css: css `
12
- width: 12px;
13
- height: 12px;
11
+ primary: (_jsx(CheckFillIcon, { css: css `
12
+ width: 12px;
13
+ height: 12px;
14
14
  ` })),
15
15
  normal: index,
16
16
  }[type];
@@ -41,8 +41,8 @@ export function SelectBoxView(props) {
41
41
  const ariaText = text ||
42
42
  (image && image.altText) ||
43
43
  t("{{index}}번 선택지", { index, context: "렉시컬 선택지 도구" });
44
- return (_jsx(SelectBoxComponent, { css: css `
45
- width: 100%;
44
+ return (_jsx(SelectBoxComponent, { css: css `
45
+ width: 100%;
46
46
  `, ref: boxRef, role: onClick ? "checkbox" : undefined, "aria-checked": isSelected, "aria-label": onClick
47
47
  ? isSelected
48
48
  ? t("{{text}} 선택됨", { text: ariaText })
@@ -23,10 +23,10 @@ export function SelectComponent(props) {
23
23
  const { freezeProblemNode } = useContext(LexicalCustomConfigContext);
24
24
  // view
25
25
  if (!isEditable) {
26
- return (_jsxs(_Fragment, { children: [allowMultipleAnswers && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
27
- width: 14px;
28
- height: 14px;
29
- ` }), getTexts(t, "multipleChoicesProblem")] })), selections.map((selection, index) => (_jsx(SelectBoxView, { index: index + 1, isSelected: selected.includes(selection.value), image: selection.show.image, text: selection.show.text, onClick: freezeProblemNode
26
+ return (_jsxs(_Fragment, { children: [allowMultipleAnswers && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
27
+ width: 14px;
28
+ height: 14px;
29
+ ` }), getTexts("multipleChoicesProblem")] })), selections.map((selection, index) => (_jsx(SelectBoxView, { index: index + 1, isSelected: selected.includes(selection.value), image: selection.show.image, text: selection.show.text, onClick: freezeProblemNode
30
30
  ? undefined
31
31
  : () => {
32
32
  const isSelected = selected.includes(selection.value);
@@ -56,13 +56,13 @@ export function SelectComponent(props) {
56
56
  } }, index)))] }));
57
57
  }
58
58
  // edit
59
- return (_jsxs(_Fragment, { children: [_jsxs("div", { css: css `
60
- display: flex;
61
- gap: 4px;
62
- `, children: [_jsx("div", { css: css `
63
- display: flex;
64
- flex-direction: column;
65
- gap: 4px;
59
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { css: css `
60
+ display: flex;
61
+ gap: 4px;
62
+ `, children: [_jsx("div", { css: css `
63
+ display: flex;
64
+ flex-direction: column;
65
+ gap: 4px;
66
66
  `, children: selections.map((selection, index) => (_jsx(SelectBoxEdit, { index: index + 1, image: selection.show.image, text: selection.show.text === "" && selection.show.image === null
67
67
  ? t("{{index}}번 선택지", {
68
68
  index: index + 1,
@@ -75,15 +75,15 @@ export function SelectComponent(props) {
75
75
  allowMultipleAnswers,
76
76
  }, nodeKey: nodeKey, onClose: () => setSettingOpen(false) }))] }));
77
77
  }
78
- const Alert = styled.div(({ theme }) => css `
79
- display: flex;
80
- gap: 4px;
81
- margin-bottom: 12px;
82
- color: ${theme.color.foreground.neutralBaseDisabled};
83
- /* Default/Label/12px-Md */
84
- font-family: ${theme.fontFamily.ui};
85
- font-size: 12px;
86
- font-style: normal;
87
- font-weight: 500;
88
- line-height: 16px; /* 133.333% */
78
+ const Alert = styled.div(({ theme }) => css `
79
+ display: flex;
80
+ gap: 4px;
81
+ margin-bottom: 12px;
82
+ color: ${theme.color.foreground.neutralBaseDisabled};
83
+ /* Default/Label/12px-Md */
84
+ font-family: ${theme.fontFamily.ui};
85
+ font-size: 12px;
86
+ font-style: normal;
87
+ font-weight: 500;
88
+ line-height: 16px; /* 133.333% */
89
89
  `);
@@ -19,11 +19,11 @@ export function FormSelection(props) {
19
19
  name: `selections.${index}.show`,
20
20
  rules,
21
21
  });
22
- return (_jsxs(Container, { children: [_jsx(Index, { children: index + 1 }), _jsxs("div", { css: css `
23
- display: flex;
24
- flex: 1;
25
- flex-direction: column;
26
- gap: 4px;
22
+ return (_jsxs(Container, { children: [_jsx(Index, { children: index + 1 }), _jsxs("div", { css: css `
23
+ display: flex;
24
+ flex: 1;
25
+ flex-direction: column;
26
+ gap: 4px;
27
27
  `, children: [_jsx(InsertImageDialog, { title: value.image
28
28
  ? t("이미지 바꾸기", { context: "제목, 이미지 삽입 다이얼로그" })
29
29
  : t("이미지 삽입하기", {
@@ -32,12 +32,12 @@ export function FormSelection(props) {
32
32
  ? () => {
33
33
  onChange(Object.assign(Object.assign({}, value), { image: null }));
34
34
  }
35
- : undefined }), value.image && (_jsx("img", { src: value.image.src, alt: value.image.altText, css: css `
36
- height: auto;
37
- // 이미지로 인해 좌우로 스크롤이 생기는 것을 방지
38
- max-width: min(400px, 100%);
39
- width: fit-content;
40
- border-radius: 6px;
35
+ : undefined }), value.image && (_jsx("img", { src: value.image.src, alt: value.image.altText, css: css `
36
+ height: auto;
37
+ // 이미지로 인해 좌우로 스크롤이 생기는 것을 방지
38
+ max-width: min(400px, 100%);
39
+ width: fit-content;
40
+ border-radius: 6px;
41
41
  `, draggable: "false" })), _jsx(Input, { size: "small", color: invalid
42
42
  ? "activeDanger"
43
43
  : inputFocused
@@ -52,14 +52,14 @@ export function FormSelection(props) {
52
52
  }, placeholder: t("{{index}}번 선택지", {
53
53
  index: index + 1,
54
54
  context: "렉시컬 선택지 도구",
55
- }), hintIcon: invalid ? _jsx(ErrorWarningFillIcon, {}) : undefined, hintText: error === null || error === void 0 ? void 0 : error.message, multiline: true, fullWidth: true, css: css `
56
- flex: 1;
57
- ` })] }), _jsxs("div", { css: css `
58
- display: flex;
59
- // 이미지가 들어가서 container height가 커져도 높이가 유지되도록 설정
60
- height: 36px;
61
- gap: 8px;
62
- align-items: center;
55
+ }), hintIcon: invalid ? _jsx(ErrorWarningFillIcon, {}) : undefined, hintText: error === null || error === void 0 ? void 0 : error.message, multiline: true, fullWidth: true, css: css `
56
+ flex: 1;
57
+ ` })] }), _jsxs("div", { css: css `
58
+ display: flex;
59
+ // 이미지가 들어가서 container height가 커져도 높이가 유지되도록 설정
60
+ height: 36px;
61
+ gap: 8px;
62
+ align-items: center;
63
63
  `, children: [_jsx(SquareButton, { color: "icon", size: "xsmall", icon: value.image ? _jsx(ImageEditFillIcon, {}) : _jsx(ImageAddFillIcon, {}), onClick: () => {
64
64
  setImageOpen(true);
65
65
  }, "aria-label": value.image
@@ -72,28 +72,28 @@ export function FormSelection(props) {
72
72
  context: "스퀘어버튼, 렉시컬 선택형 도구 설정창",
73
73
  }) }))] })] }));
74
74
  }
75
- const Container = styled.div(({ theme }) => css `
76
- display: flex;
77
- padding: 4px 12px;
78
- gap: 8px;
79
- border-radius: 8px;
80
- background: ${theme.color.background.neutralAlt};
75
+ const Container = styled.div(({ theme }) => css `
76
+ display: flex;
77
+ padding: 4px 12px;
78
+ gap: 8px;
79
+ border-radius: 8px;
80
+ background: ${theme.color.background.neutralAlt};
81
81
  `);
82
- const Index = styled.div(({ theme }) => css `
83
- display: flex;
84
- box-sizing: border-box;
85
- width: 20px;
86
- height: 20px;
87
- padding: 4px;
88
- margin-top: 8px;
89
- justify-content: center;
90
- align-items: center;
91
- border-radius: 4px;
92
- border: 1px solid ${theme.color.background.neutralAltActive};
93
- background: ${theme.color.background.neutralBase};
94
- color: ${theme.color.foreground.neutralBaseDisabled};
95
- font-family: ${theme.fontFamily.ui};
96
- font-size: 14px;
97
- font-weight: 800;
98
- line-height: 16px;
82
+ const Index = styled.div(({ theme }) => css `
83
+ display: flex;
84
+ box-sizing: border-box;
85
+ width: 20px;
86
+ height: 20px;
87
+ padding: 4px;
88
+ margin-top: 8px;
89
+ justify-content: center;
90
+ align-items: center;
91
+ border-radius: 4px;
92
+ border: 1px solid ${theme.color.background.neutralAltActive};
93
+ background: ${theme.color.background.neutralBase};
94
+ color: ${theme.color.foreground.neutralBaseDisabled};
95
+ font-family: ${theme.fontFamily.ui};
96
+ font-size: 14px;
97
+ font-weight: 800;
98
+ line-height: 16px;
99
99
  `);
@@ -44,7 +44,7 @@ export function SettingForm(props) {
44
44
  function validateRequired(value) {
45
45
  if (value.image || value.text)
46
46
  return true;
47
- return getTexts(t, "errorRequiredField");
47
+ return getTexts("errorRequiredField");
48
48
  }
49
49
  function validateDuplicated(value, formValues) {
50
50
  const shows = formValues.selections.map((selection) => selection.show);
@@ -56,11 +56,11 @@ export function SettingForm(props) {
56
56
  });
57
57
  if (duplicatedIndexes.length < 2)
58
58
  return true;
59
- return getTexts(t, "errorDuplicateChoice")(duplicatedIndexes.map((i) => i + 1).join(","));
59
+ return getTexts("errorDuplicateChoice")(duplicatedIndexes.map((i) => i + 1).join(","));
60
60
  }
61
- return (_jsxs(Form, { onSubmit: handleSubmit(onSettingSubmit), children: [_jsxs(Title, { children: [_jsx(ListRadioIcon, { css: css `
62
- width: 12px;
63
- height: 12px;
61
+ return (_jsxs(Form, { onSubmit: handleSubmit(onSettingSubmit), children: [_jsxs(Title, { children: [_jsx(ListRadioIcon, { css: css `
62
+ width: 12px;
63
+ height: 12px;
64
64
  ` }), t("선택형 입력 칸", { context: "렉시컬 도구 설정창" })] }), _jsxs(Content, { children: [_jsxs(Left, { children: [_jsxs(FormArea, { children: [_jsx(Label, { children: t("선택지") }), fields.map((field, index) => (_jsx(FormSelection, { index: index, control: control, rules: {
65
65
  validate: {
66
66
  validateRequired,
@@ -72,7 +72,7 @@ export function SettingForm(props) {
72
72
  }
73
73
  : undefined }, field.uid)))] }), _jsx(Button, { color: "grey", size: "small", startIcon: _jsx(AddFillIcon, {}), label: fields.length < 9
74
74
  ? t("선택지 추가", { context: "버튼, 렉시컬 도구 설정창" })
75
- : getTexts(t, "errorMaxChoicesExceeded"), onClick: () => {
75
+ : getTexts("errorMaxChoicesExceeded"), onClick: () => {
76
76
  if (fields.length >= 9)
77
77
  return;
78
78
  append({
@@ -82,82 +82,82 @@ export function SettingForm(props) {
82
82
  },
83
83
  value: uid(),
84
84
  });
85
- }, disabled: fields.length >= 9 })] }), _jsxs(Right, { children: [_jsxs(FormArea, { children: [_jsx(Label, { children: t("다중 선택 허용 여부") }), _jsx(FormAllowMultipleAnswers, { control: control })] }), watch("allowMultipleAnswers") && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
86
- min-width: 14px;
87
- width: 14px;
88
- height: 14px;
85
+ }, disabled: fields.length >= 9 })] }), _jsxs(Right, { children: [_jsxs(FormArea, { children: [_jsx(Label, { children: t("다중 선택 허용 여부") }), _jsx(FormAllowMultipleAnswers, { control: control })] }), watch("allowMultipleAnswers") && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
86
+ min-width: 14px;
87
+ width: 14px;
88
+ height: 14px;
89
89
  ` }), t("다중 선택을 허용한 문제에는 여러 선택지를 고를 수 있다는 안내가 제공됩니다.")] }))] })] }), _jsxs(Buttons, { children: [_jsx(Button, { color: "grey", size: "xsmall", label: t("닫기", { context: "렉시컬 도구 설정창" }), onClick: onClose }), _jsx(Button, { color: "primary", size: "xsmall", label: t("이대로 넣기", { context: "렉시컬 도구 설정창" }), bold: true, type: "submit" })] })] }));
90
90
  }
91
- const Form = styled.form(({ theme }) => css `
92
- display: flex;
93
- width: 620px;
94
- flex-direction: column;
95
- border-radius: 6px;
96
- border: 1px solid ${theme.color.background.neutralAltActive};
97
- background: ${theme.color.background.neutralBase};
98
- box-shadow: ${shadows.shadow08};
91
+ const Form = styled.form(({ theme }) => css `
92
+ display: flex;
93
+ width: 620px;
94
+ flex-direction: column;
95
+ border-radius: 6px;
96
+ border: 1px solid ${theme.color.background.neutralAltActive};
97
+ background: ${theme.color.background.neutralBase};
98
+ box-shadow: ${shadows.shadow08};
99
99
  `);
100
- const Title = styled.div(({ theme }) => css `
101
- display: flex;
102
- padding: 8px 12px;
103
- gap: 4px;
104
- align-items: center;
105
- color: ${theme.color.foreground.neutralBase};
106
- /* Default/Label/12px-Md */
107
- font-family: ${theme.fontFamily.ui};
108
- font-size: 12px;
109
- font-style: normal;
110
- font-weight: 500;
111
- line-height: 16px; /* 133.333% */
100
+ const Title = styled.div(({ theme }) => css `
101
+ display: flex;
102
+ padding: 8px 12px;
103
+ gap: 4px;
104
+ align-items: center;
105
+ color: ${theme.color.foreground.neutralBase};
106
+ /* Default/Label/12px-Md */
107
+ font-family: ${theme.fontFamily.ui};
108
+ font-size: 12px;
109
+ font-style: normal;
110
+ font-weight: 500;
111
+ line-height: 16px; /* 133.333% */
112
112
  `);
113
- const Content = styled.div(({ theme }) => css `
114
- display: flex;
115
- border-top: 1px solid ${theme.color.background.neutralAltActive};
116
- border-bottom: 1px solid ${theme.color.background.neutralAltActive};
113
+ const Content = styled.div(({ theme }) => css `
114
+ display: flex;
115
+ border-top: 1px solid ${theme.color.background.neutralAltActive};
116
+ border-bottom: 1px solid ${theme.color.background.neutralAltActive};
117
117
  `);
118
- const Left = styled.div `
119
- flex: 1;
120
- display: flex;
121
- flex-direction: column;
122
- gap: 12px;
123
- padding: 12px;
118
+ const Left = styled.div `
119
+ flex: 1;
120
+ display: flex;
121
+ flex-direction: column;
122
+ gap: 12px;
123
+ padding: 12px;
124
124
  `;
125
- const Right = styled.div `
126
- width: 240px;
127
- display: flex;
128
- flex-direction: column;
129
- gap: 12px;
130
- padding: 12px;
125
+ const Right = styled.div `
126
+ width: 240px;
127
+ display: flex;
128
+ flex-direction: column;
129
+ gap: 12px;
130
+ padding: 12px;
131
131
  `;
132
- const FormArea = styled.div `
133
- display: flex;
134
- flex-direction: column;
135
- gap: 8px;
132
+ const FormArea = styled.div `
133
+ display: flex;
134
+ flex-direction: column;
135
+ gap: 8px;
136
136
  `;
137
- const Label = styled.div(({ theme }) => css `
138
- color: ${theme.color.foreground.neutralBaseDisabled};
139
- /* Default/Label/12px-Md */
140
- font-family: ${theme.fontFamily.ui};
141
- font-size: 12px;
142
- font-style: normal;
143
- font-weight: 500;
144
- line-height: 16px; /* 133.333% */
137
+ const Label = styled.div(({ theme }) => css `
138
+ color: ${theme.color.foreground.neutralBaseDisabled};
139
+ /* Default/Label/12px-Md */
140
+ font-family: ${theme.fontFamily.ui};
141
+ font-size: 12px;
142
+ font-style: normal;
143
+ font-weight: 500;
144
+ line-height: 16px; /* 133.333% */
145
145
  `);
146
- const Buttons = styled.div `
147
- display: flex;
148
- padding: 12px;
149
- justify-content: flex-end;
150
- align-items: center;
151
- gap: 8px;
146
+ const Buttons = styled.div `
147
+ display: flex;
148
+ padding: 12px;
149
+ justify-content: flex-end;
150
+ align-items: center;
151
+ gap: 8px;
152
152
  `;
153
- const Alert = styled.div(({ theme }) => css `
154
- display: flex;
155
- gap: 4px;
156
- color: ${theme.color.foreground.neutralBaseDisabled};
157
- /* Default/Label/12px-Md */
158
- font-family: ${theme.fontFamily.ui};
159
- font-size: 12px;
160
- font-style: normal;
161
- font-weight: 500;
162
- line-height: 16px; /* 133.333% */
153
+ const Alert = styled.div(({ theme }) => css `
154
+ display: flex;
155
+ gap: 4px;
156
+ color: ${theme.color.foreground.neutralBaseDisabled};
157
+ /* Default/Label/12px-Md */
158
+ font-family: ${theme.fontFamily.ui};
159
+ font-size: 12px;
160
+ font-style: normal;
161
+ font-weight: 500;
162
+ line-height: 16px; /* 133.333% */
163
163
  `);
@@ -11,9 +11,9 @@ import { InsertVideoDialog } from "../../components/InsertVideoDialog";
11
11
  import ReactPlayer from "react-player";
12
12
  import { css } from "@emotion/react";
13
13
  function VideoPlayer(props) {
14
- return (_jsx(ReactPlayer, { css: css `
15
- background: black;
16
- max-width: 1200px;
14
+ return (_jsx(ReactPlayer, { css: css `
15
+ background: black;
16
+ max-width: 1200px;
17
17
  `, width: "100%", url: props.url, controls: true, config: {
18
18
  file: {
19
19
  hlsOptions: {
@@ -47,7 +47,7 @@ export function VideoComponent({ src, nodeKey, }) {
47
47
  }
48
48
  return (_jsxs(_Fragment, { children: [_jsxs(EditContainer, { children: [_jsx(VideoPlayer, { url: src }), _jsx(SquareButton, { size: "small", color: "icon", icon: _jsx(Settings3FillIcon, {}), onClick: () => setOpen(true), "aria-label": "\uB3D9\uC601\uC0C1 \uC218\uC815\uD558\uAE30" })] }), _jsx(InsertVideoDialog, { open: open, title: "\uB3D9\uC601\uC0C1 \uC218\uC815\uD558\uAE30", onClose: () => setOpen(false), videoProps: { src }, onChange: handleChange, onDelete: handleDelete })] }));
49
49
  }
50
- const EditContainer = styled.div `
51
- display: flex;
52
- gap: 4px;
50
+ const EditContainer = styled.div `
51
+ display: flex;
52
+ gap: 4px;
53
53
  `;