@team-monolith/cds 1.122.5 → 1.123.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.
- package/@types/emotion.d.ts +194 -162
- package/README.md +37 -37
- package/dist/CdsProvider.js +14 -14
- package/dist/components/AlertDialog/AlertDialog.js +54 -54
- package/dist/components/AlertDialog/AlertDialogActions.js +7 -7
- package/dist/components/AlertDialog/AlertDialogContent.js +8 -8
- package/dist/components/AlertDialog/AlertDialogTitle.js +34 -34
- package/dist/components/AnimatedButton.js +32 -32
- package/dist/components/Banner.js +48 -51
- package/dist/components/Book/Book.js +174 -174
- package/dist/components/Button.js +179 -179
- package/dist/components/CheckboxInput.js +148 -148
- package/dist/components/FileTypeAlertDialog.js +4 -4
- package/dist/components/Input.js +53 -53
- package/dist/components/InputBase.js +72 -72
- package/dist/components/Modal.js +4 -4
- package/dist/components/OverflowTooltip.js +4 -4
- package/dist/components/Pagination.js +56 -56
- package/dist/components/PinInput.js +64 -64
- package/dist/components/Popover.js +27 -27
- package/dist/components/RadioInput.js +73 -73
- package/dist/components/Slider.js +58 -58
- package/dist/components/SquareButton.js +109 -109
- package/dist/components/Switch.js +69 -69
- package/dist/components/SwitchButton.js +107 -107
- package/dist/components/Tag.js +72 -72
- package/dist/components/Tooltip.js +19 -19
- package/dist/foundation/breakpoints.d.ts +2 -2
- package/dist/foundation/breakpoints.js +18 -18
- package/dist/foundation/typography.d.ts +30 -0
- package/dist/foundation/typography.js +181 -0
- package/dist/icons/custom/colored/ai-helper.svg +4 -4
- package/dist/icons/custom/colored/ai-quiz-color.svg +20 -20
- package/dist/icons/custom/colored/ai-socroom-color.svg +14 -14
- package/dist/icons/custom/colored/badge-color.svg +4 -4
- package/dist/icons/custom/colored/badge-gold.svg +11 -11
- package/dist/icons/custom/colored/badge-green.svg +11 -11
- package/dist/icons/custom/colored/badge-silver.svg +11 -11
- package/dist/icons/custom/colored/basic-plus.svg +31 -31
- package/dist/icons/custom/colored/basic.svg +3 -3
- package/dist/icons/custom/colored/board-color.svg +5 -5
- package/dist/icons/custom/colored/cast-cloudy-color.svg +6 -6
- package/dist/icons/custom/colored/cast-partly-color.svg +7 -7
- package/dist/icons/custom/colored/cast-rainbow-color.svg +13 -13
- package/dist/icons/custom/colored/cast-sunny-color.svg +4 -4
- package/dist/icons/custom/colored/clap-bronze.svg +8 -8
- package/dist/icons/custom/colored/clap-gold.svg +8 -8
- package/dist/icons/custom/colored/clap-silver.svg +8 -8
- package/dist/icons/custom/colored/class.svg +13 -13
- package/dist/icons/custom/colored/codap-color.svg +13 -13
- package/dist/icons/custom/colored/ebook-color.svg +5 -5
- package/dist/icons/custom/colored/embedded-color.svg +38 -38
- package/dist/icons/custom/colored/emo-clap-color.svg +252 -252
- package/dist/icons/custom/colored/emo-good-color.svg +68 -68
- package/dist/icons/custom/colored/emo-great-color.svg +67 -67
- package/dist/icons/custom/colored/emo-heart-color.svg +239 -239
- package/dist/icons/custom/colored/emo-hundred-color.svg +194 -194
- package/dist/icons/custom/colored/emo-neutral-color.svg +76 -76
- package/dist/icons/custom/colored/emo-stars-color.svg +121 -121
- package/dist/icons/custom/colored/emo-thumbup-color.svg +238 -238
- package/dist/icons/custom/colored/empty.svg +1 -1
- package/dist/icons/custom/colored/entry-color.svg +4 -4
- package/dist/icons/custom/colored/filename-all-color.svg +4 -4
- package/dist/icons/custom/colored/filename-doc-color.svg +5 -5
- package/dist/icons/custom/colored/filename-hwp-color.svg +6 -6
- package/dist/icons/custom/colored/filename-img-color.svg +6 -6
- package/dist/icons/custom/colored/filename-mp4-color.svg +5 -5
- package/dist/icons/custom/colored/filename-pdf-color.svg +12 -12
- package/dist/icons/custom/colored/filename-ppt-color.svg +6 -6
- package/dist/icons/custom/colored/filename-xls-color.svg +5 -5
- package/dist/icons/custom/colored/filename-zip-color.svg +5 -5
- package/dist/icons/custom/colored/google.svg +13 -13
- package/dist/icons/custom/colored/hand-fill.svg +4 -4
- package/dist/icons/custom/colored/judge-color.svg +6 -6
- package/dist/icons/custom/colored/makecode-color.svg +4 -4
- package/dist/icons/custom/colored/master.svg +12 -12
- package/dist/icons/custom/colored/material.svg +6 -6
- package/dist/icons/custom/colored/medal-bronze.svg +9 -9
- package/dist/icons/custom/colored/medal-gold.svg +9 -9
- package/dist/icons/custom/colored/medal-silver.svg +9 -9
- package/dist/icons/custom/colored/pro.svg +4 -4
- package/dist/icons/custom/colored/problem.svg +7 -7
- package/dist/icons/custom/colored/python-color.svg +4 -4
- package/dist/icons/custom/colored/quiz-color.svg +12 -12
- package/dist/icons/custom/colored/resource-color.svg +13 -13
- package/dist/icons/custom/colored/scratch-color.svg +6 -6
- package/dist/icons/custom/colored/type-helper.svg +9 -9
- package/dist/icons/custom/colored/whale.svg +7 -7
- package/dist/icons/custom/colored/worksheet-color.svg +5 -5
- package/dist/icons/custom/default/ai-quiz.svg +8 -8
- package/dist/icons/custom/default/ai-socroom.svg +13 -13
- package/dist/icons/custom/default/badge.svg +4 -4
- package/dist/icons/custom/default/board.svg +5 -5
- package/dist/icons/custom/default/cast-cloudy.svg +3 -3
- package/dist/icons/custom/default/cast-partly.svg +4 -4
- package/dist/icons/custom/default/cast-rainbow.svg +12 -12
- package/dist/icons/custom/default/cast-sunny.svg +3 -3
- package/dist/icons/custom/default/codap.svg +11 -11
- package/dist/icons/custom/default/ebook.svg +3 -3
- package/dist/icons/custom/default/embedded.svg +4 -4
- package/dist/icons/custom/default/emo-clap.svg +6 -6
- package/dist/icons/custom/default/emo-good.svg +12 -12
- package/dist/icons/custom/default/emo-great.svg +12 -12
- package/dist/icons/custom/default/emo-heart.svg +5 -5
- package/dist/icons/custom/default/emo-hundred.svg +3 -3
- package/dist/icons/custom/default/emo-neutral.svg +14 -14
- package/dist/icons/custom/default/emo-stars.svg +14 -14
- package/dist/icons/custom/default/emo-thumbup.svg +3 -3
- package/dist/icons/custom/default/entry.svg +4 -4
- package/dist/icons/custom/default/fab.svg +10 -10
- package/dist/icons/custom/default/grant-alt.svg +5 -5
- package/dist/icons/custom/default/grant.svg +4 -4
- package/dist/icons/custom/default/hand-line.svg +3 -3
- package/dist/icons/custom/default/judge.svg +3 -3
- package/dist/icons/custom/default/makecode.svg +5 -5
- package/dist/icons/custom/default/pdf.svg +3 -3
- package/dist/icons/custom/default/python.svg +7 -7
- package/dist/icons/custom/default/quiz.svg +4 -4
- package/dist/icons/custom/default/resource.svg +11 -11
- package/dist/icons/custom/default/scratch.svg +3 -3
- package/dist/icons/custom/default/scroll-alt.svg +5 -5
- package/dist/icons/custom/default/scroll-fill.svg +4 -4
- package/dist/icons/custom/default/scroll-line.svg +5 -5
- package/dist/icons/custom/default/symbol.svg +4 -4
- package/dist/icons/custom/default/worksheet.svg +4 -4
- package/dist/icons/custom/svgrColoredTemplate.js +26 -26
- package/dist/icons/custom/svgrDefaultTemplate.js +26 -26
- package/dist/patterns/Accordion.js +20 -20
- package/dist/patterns/Dropdown/DropdownItem/DropdownItem.js +60 -60
- package/dist/patterns/Dropdown/DropdownMenu/DropdownMenu.js +27 -27
- package/dist/patterns/Dropdown/DropdownMenu/style.js +19 -19
- package/dist/patterns/LexicalEditor/Plugins.js +36 -36
- package/dist/patterns/LexicalEditor/components/FileSelectInput.js +23 -23
- package/dist/patterns/LexicalEditor/components/InsertImageDialog/ImagePreview.js +4 -4
- package/dist/patterns/LexicalEditor/components/InsertImageDialog/InsertImageDialog.js +15 -15
- package/dist/patterns/LexicalEditor/components/InsertVideoDialog/InsertVideoDialog.js +17 -17
- package/dist/patterns/LexicalEditor/components/UploadFileDialog/UploadFileDialog.js +2 -2
- package/dist/patterns/LexicalEditor/hr.svg +3 -3
- package/dist/patterns/LexicalEditor/nodes/FileNode/FileComponent.js +44 -44
- package/dist/patterns/LexicalEditor/nodes/FileNode/FileDownloadButton.js +25 -25
- package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageComponent.js +8 -8
- package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageResizer.js +60 -60
- package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/InputComponent.js +19 -19
- package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SegmentedInput.js +49 -49
- package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/FormSolution.js +7 -7
- package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/SettingForm.js +73 -73
- package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/TextTypeDropdown.js +5 -5
- package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/TextInput.js +7 -7
- package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxComponent.js +69 -69
- package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxEdit.js +3 -3
- package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxView.js +15 -15
- package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectComponent.js +28 -28
- package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/FormSelection.js +54 -54
- package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/SettingForm.js +61 -61
- package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/Evaluation.js +75 -75
- package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormIconAndLabel.js +17 -17
- package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormLabel.js +7 -7
- package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormQuestion.js +28 -28
- package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/SettingForm.js +52 -52
- package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/EvaluationComponent.js +7 -7
- package/dist/patterns/LexicalEditor/nodes/SheetInputNode/InputComponent.js +25 -25
- package/dist/patterns/LexicalEditor/nodes/SheetInputNode/SettingForm.js +53 -53
- package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxComponent.js +54 -54
- package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxView.js +5 -5
- package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectComponent.js +21 -21
- package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/FormSelection.js +42 -42
- package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/SettingForm.js +71 -71
- package/dist/patterns/LexicalEditor/nodes/VideoNode/VideoComponent.js +7 -7
- package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdder.js +51 -51
- package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdderPlugin.js +11 -11
- package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/menu.svg +7 -7
- package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/plus.svg +2 -2
- package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuItem.js +32 -32
- package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuList.js +32 -32
- package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuPlugin.js +12 -12
- package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/componentPickerOptionUtils.js +2 -2
- package/dist/patterns/LexicalEditor/plugins/FloatingLinkEditorPlugin/FloatingLinkEditor.js +49 -49
- package/dist/patterns/LexicalEditor/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatPopup.js +36 -36
- package/dist/patterns/LexicalEditor/plugins/ParagraphPlaceholderPlugin/index.js +7 -7
- package/dist/patterns/LexicalEditor/theme.js +243 -243
- package/dist/patterns/SegmentedControl/SegmentedControlButton.js +10 -10
- package/dist/patterns/SegmentedControl/SegmentedControlGroup.js +8 -8
- package/dist/patterns/SegmentedControl/SegmentedControlSquareButton.js +2 -2
- package/dist/patterns/Tabs.js +43 -43
- package/dist/patterns/ToggleButtonGroup/ToggleButton.js +40 -40
- package/dist/patterns/ToggleButtonGroup/ToggleButtonGroup.js +11 -11
- package/dist/utils/hover.js +12 -12
- package/dist/utils/reset.js +19 -19
- package/dist/utils/visuallyHidden.js +10 -10
- package/package.json +109 -109
|
@@ -41,9 +41,9 @@ export function SettingForm(props) {
|
|
|
41
41
|
});
|
|
42
42
|
onClose();
|
|
43
43
|
};
|
|
44
|
-
return (_jsxs(Form, { className: className, onSubmit: handleSubmit(onSubmit), children: [_jsxs(Title, { children: [_jsx(EmojiStickerLineIcon, { css: css `
|
|
45
|
-
width: 12px;
|
|
46
|
-
height: 12px;
|
|
44
|
+
return (_jsxs(Form, { className: className, onSubmit: handleSubmit(onSubmit), children: [_jsxs(Title, { children: [_jsx(EmojiStickerLineIcon, { css: css `
|
|
45
|
+
width: 12px;
|
|
46
|
+
height: 12px;
|
|
47
47
|
` }), t("3단계 평가")] }), _jsxs(Content, { children: [_jsxs(Left, { children: [_jsx(Label, { children: t("평가 항목") }), fields.map((field, index) => (_jsx(FormQuestion, { index: index, control: control, onDelete: index !== 0
|
|
48
48
|
? () => {
|
|
49
49
|
remove(index);
|
|
@@ -55,59 +55,59 @@ export function SettingForm(props) {
|
|
|
55
55
|
});
|
|
56
56
|
} })] }), _jsxs(Right, { children: [_jsx(Label, { children: t("아이콘, 레이블") }), _jsx(FormIconAndLabel, { control: control, labelsLength: labels.length })] })] }), _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" })] })] }));
|
|
57
57
|
}
|
|
58
|
-
const Form = styled.form(({ theme }) => css `
|
|
59
|
-
display: flex;
|
|
60
|
-
flex-direction: column;
|
|
61
|
-
border-radius: 6px;
|
|
62
|
-
border: 1px solid ${theme.color.background.neutralAltActive};
|
|
63
|
-
background: ${theme.color.background.neutralBase};
|
|
64
|
-
box-shadow: ${shadows.shadow08};
|
|
58
|
+
const Form = styled.form(({ theme }) => css `
|
|
59
|
+
display: flex;
|
|
60
|
+
flex-direction: column;
|
|
61
|
+
border-radius: 6px;
|
|
62
|
+
border: 1px solid ${theme.color.background.neutralAltActive};
|
|
63
|
+
background: ${theme.color.background.neutralBase};
|
|
64
|
+
box-shadow: ${shadows.shadow08};
|
|
65
65
|
`);
|
|
66
|
-
const Title = styled.div(({ theme }) => css `
|
|
67
|
-
display: flex;
|
|
68
|
-
padding: 8px 12px;
|
|
69
|
-
gap: 4px;
|
|
70
|
-
align-items: center;
|
|
71
|
-
color: ${theme.color.foreground.neutralBase};
|
|
72
|
-
/* Default/Label/12px-Md */
|
|
73
|
-
font-family: ${theme.fontFamily.ui};
|
|
74
|
-
font-size: 12px;
|
|
75
|
-
font-style: normal;
|
|
76
|
-
font-weight: 500;
|
|
77
|
-
line-height: 16px; /* 133.333% */
|
|
66
|
+
const Title = styled.div(({ theme }) => css `
|
|
67
|
+
display: flex;
|
|
68
|
+
padding: 8px 12px;
|
|
69
|
+
gap: 4px;
|
|
70
|
+
align-items: center;
|
|
71
|
+
color: ${theme.color.foreground.neutralBase};
|
|
72
|
+
/* Default/Label/12px-Md */
|
|
73
|
+
font-family: ${theme.fontFamily.ui};
|
|
74
|
+
font-size: 12px;
|
|
75
|
+
font-style: normal;
|
|
76
|
+
font-weight: 500;
|
|
77
|
+
line-height: 16px; /* 133.333% */
|
|
78
78
|
`);
|
|
79
|
-
const Content = styled.div(({ theme }) => css `
|
|
80
|
-
display: flex;
|
|
81
|
-
border-top: 1px solid ${theme.color.background.neutralAltActive};
|
|
82
|
-
border-bottom: 1px solid ${theme.color.background.neutralAltActive};
|
|
79
|
+
const Content = styled.div(({ theme }) => css `
|
|
80
|
+
display: flex;
|
|
81
|
+
border-top: 1px solid ${theme.color.background.neutralAltActive};
|
|
82
|
+
border-bottom: 1px solid ${theme.color.background.neutralAltActive};
|
|
83
83
|
`);
|
|
84
|
-
const Left = styled.div `
|
|
85
|
-
flex: 1;
|
|
86
|
-
display: flex;
|
|
87
|
-
flex-direction: column;
|
|
88
|
-
gap: 12px;
|
|
89
|
-
padding: 12px;
|
|
84
|
+
const Left = styled.div `
|
|
85
|
+
flex: 1;
|
|
86
|
+
display: flex;
|
|
87
|
+
flex-direction: column;
|
|
88
|
+
gap: 12px;
|
|
89
|
+
padding: 12px;
|
|
90
90
|
`;
|
|
91
|
-
const Right = styled.div `
|
|
92
|
-
width: 240px;
|
|
93
|
-
display: flex;
|
|
94
|
-
flex-direction: column;
|
|
95
|
-
gap: 8px;
|
|
96
|
-
padding: 12px;
|
|
91
|
+
const Right = styled.div `
|
|
92
|
+
width: 240px;
|
|
93
|
+
display: flex;
|
|
94
|
+
flex-direction: column;
|
|
95
|
+
gap: 8px;
|
|
96
|
+
padding: 12px;
|
|
97
97
|
`;
|
|
98
|
-
const Label = styled.div(({ theme }) => css `
|
|
99
|
-
color: ${theme.color.foreground.neutralBaseDisabled};
|
|
100
|
-
/* Default/Label/12px-Md */
|
|
101
|
-
font-family: ${theme.fontFamily.ui};
|
|
102
|
-
font-size: 12px;
|
|
103
|
-
font-style: normal;
|
|
104
|
-
font-weight: 500;
|
|
105
|
-
line-height: 16px; /* 133.333% */
|
|
98
|
+
const Label = styled.div(({ theme }) => css `
|
|
99
|
+
color: ${theme.color.foreground.neutralBaseDisabled};
|
|
100
|
+
/* Default/Label/12px-Md */
|
|
101
|
+
font-family: ${theme.fontFamily.ui};
|
|
102
|
+
font-size: 12px;
|
|
103
|
+
font-style: normal;
|
|
104
|
+
font-weight: 500;
|
|
105
|
+
line-height: 16px; /* 133.333% */
|
|
106
106
|
`);
|
|
107
|
-
const Buttons = styled.div `
|
|
108
|
-
display: flex;
|
|
109
|
-
padding: 12px;
|
|
110
|
-
justify-content: flex-end;
|
|
111
|
-
align-items: center;
|
|
112
|
-
gap: 8px;
|
|
107
|
+
const Buttons = styled.div `
|
|
108
|
+
display: flex;
|
|
109
|
+
padding: 12px;
|
|
110
|
+
justify-content: flex-end;
|
|
111
|
+
align-items: center;
|
|
112
|
+
gap: 8px;
|
|
113
113
|
`;
|
|
@@ -46,14 +46,14 @@ export function EvaluationComponent(props) {
|
|
|
46
46
|
} }));
|
|
47
47
|
}
|
|
48
48
|
// edit
|
|
49
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { css: css `
|
|
50
|
-
display: flex;
|
|
51
|
-
gap: 4px;
|
|
52
|
-
`, children: [_jsx(Evaluation, { css: css `
|
|
53
|
-
width: ${EVALUATION_EDIT_WIDTH}px;
|
|
49
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { css: css `
|
|
50
|
+
display: flex;
|
|
51
|
+
gap: 4px;
|
|
52
|
+
`, children: [_jsx(Evaluation, { css: css `
|
|
53
|
+
width: ${EVALUATION_EDIT_WIDTH}px;
|
|
54
54
|
`, data: data, evaluations: evaluations, onClick: () => setSettingOpen((open) => !open) }), _jsx(SquareButton, { size: "small", color: "icon", icon: _jsx(Settings3FillIcon, {}), onClick: () => {
|
|
55
55
|
setSettingOpen((open) => !open);
|
|
56
|
-
}, "aria-label": t("평가 칸 설정") })] }), settingOpen && (_jsx(SettingForm, { css: css `
|
|
57
|
-
width: ${EVALUATION_EDIT_WIDTH}px;
|
|
56
|
+
}, "aria-label": t("평가 칸 설정") })] }), settingOpen && (_jsx(SettingForm, { css: css `
|
|
57
|
+
width: ${EVALUATION_EDIT_WIDTH}px;
|
|
58
58
|
`, iconType: iconType, labels: labels, evaluations: evaluations, nodeKey: nodeKey, onClose: () => setSettingOpen(false) }))] }));
|
|
59
59
|
}
|
|
@@ -40,10 +40,10 @@ export function InputComponent(props) {
|
|
|
40
40
|
};
|
|
41
41
|
// view
|
|
42
42
|
if (!isEditable) {
|
|
43
|
-
return (_jsx(Input, { multiline: multiline, disableAutosize: true, css: css `
|
|
44
|
-
textarea {
|
|
45
|
-
height: ${TEXTAREA_HEIGHT}px;
|
|
46
|
-
}
|
|
43
|
+
return (_jsx(Input, { multiline: multiline, disableAutosize: true, css: css `
|
|
44
|
+
textarea {
|
|
45
|
+
height: ${TEXTAREA_HEIGHT}px;
|
|
46
|
+
}
|
|
47
47
|
`, inputProps: freezeProblemNode
|
|
48
48
|
? { readOnly: true }
|
|
49
49
|
: {
|
|
@@ -54,32 +54,32 @@ export function InputComponent(props) {
|
|
|
54
54
|
}, fullWidth: true }));
|
|
55
55
|
}
|
|
56
56
|
// edit
|
|
57
|
-
return (_jsxs(_Fragment, { children: [_jsxs("div", { css: css `
|
|
58
|
-
display: flex;
|
|
59
|
-
align-items: center;
|
|
60
|
-
gap: 4px;
|
|
57
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { css: css `
|
|
58
|
+
display: flex;
|
|
59
|
+
align-items: center;
|
|
60
|
+
gap: 4px;
|
|
61
61
|
`, children: [_jsx(VirtualInput, { onClick: () => setSettingOpen((open) => !open), css: multiline &&
|
|
62
|
-
css `
|
|
63
|
-
height: ${TEXTAREA_HEIGHT + 2 * INPUT_VERTICAL_PADDING}px;
|
|
62
|
+
css `
|
|
63
|
+
height: ${TEXTAREA_HEIGHT + 2 * INPUT_VERTICAL_PADDING}px;
|
|
64
64
|
`, children: multiline
|
|
65
65
|
? t("서술형 입력 칸", { context: "렉시컬 단답형/서술형 도구" })
|
|
66
66
|
: t("단답형 입력 칸", { context: "렉시컬 단답형/서술형 도구" }) }), _jsx(SquareButton, { size: "small", color: "icon", icon: _jsx(Settings3FillIcon, {}), onClick: () => setSettingOpen((open) => !open), "aria-label": t("입력 칸 설정", {
|
|
67
67
|
context: "렉시컬 단답형/서술형 도구",
|
|
68
68
|
}) })] }), settingOpen && (_jsx(SettingForm, { multiline: multiline, placeholder: placeholder, nodeKey: nodeKey, onClose: () => setSettingOpen(false) }))] }));
|
|
69
69
|
}
|
|
70
|
-
const VirtualInput = styled.div(({ theme }) => css `
|
|
71
|
-
box-sizing: border-box;
|
|
72
|
-
height: 36px;
|
|
73
|
-
width: 400px;
|
|
74
|
-
padding: ${INPUT_VERTICAL_PADDING}px 16px;
|
|
75
|
-
align-items: center;
|
|
76
|
-
border-radius: 8px;
|
|
77
|
-
background: ${theme.color.background.neutralAlt};
|
|
78
|
-
cursor: pointer;
|
|
79
|
-
color: ${theme.color.foreground.neutralBaseDisabled};
|
|
80
|
-
font-family: ${theme.fontFamily.ui};
|
|
81
|
-
font-size: 14px;
|
|
82
|
-
font-style: normal;
|
|
83
|
-
font-weight: 400;
|
|
84
|
-
line-height: 20px; /* 142.857% */
|
|
70
|
+
const VirtualInput = styled.div(({ theme }) => css `
|
|
71
|
+
box-sizing: border-box;
|
|
72
|
+
height: 36px;
|
|
73
|
+
width: 400px;
|
|
74
|
+
padding: ${INPUT_VERTICAL_PADDING}px 16px;
|
|
75
|
+
align-items: center;
|
|
76
|
+
border-radius: 8px;
|
|
77
|
+
background: ${theme.color.background.neutralAlt};
|
|
78
|
+
cursor: pointer;
|
|
79
|
+
color: ${theme.color.foreground.neutralBaseDisabled};
|
|
80
|
+
font-family: ${theme.fontFamily.ui};
|
|
81
|
+
font-size: 14px;
|
|
82
|
+
font-style: normal;
|
|
83
|
+
font-weight: 400;
|
|
84
|
+
line-height: 20px; /* 142.857% */
|
|
85
85
|
`);
|
|
@@ -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;
|
|
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
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" })] })] }));
|
|
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
|
`);
|
package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxView.js
CHANGED
|
@@ -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 })
|
package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectComponent.js
CHANGED
|
@@ -23,9 +23,9 @@ 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;
|
|
26
|
+
return (_jsxs(_Fragment, { children: [allowMultipleAnswers && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
|
|
27
|
+
width: 14px;
|
|
28
|
+
height: 14px;
|
|
29
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
|
|
30
30
|
? undefined
|
|
31
31
|
: () => {
|
|
@@ -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
|
`);
|