@team-monolith/cds 1.117.21 → 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 (199) hide show
  1. package/@types/emotion.d.ts +160 -160
  2. package/README.md +37 -37
  3. package/dist/CdsProvider.js +4 -4
  4. package/dist/components/AlertDialog/AlertDialog.js +54 -54
  5. package/dist/components/AlertDialog/AlertDialogActions.js +7 -7
  6. package/dist/components/AlertDialog/AlertDialogContent.js +8 -8
  7. package/dist/components/AlertDialog/AlertDialogTitle.js +34 -34
  8. package/dist/components/AnimatedButton.js +32 -32
  9. package/dist/components/Banner.js +51 -51
  10. package/dist/components/Book/Book.js +174 -174
  11. package/dist/components/Button.js +179 -179
  12. package/dist/components/CheckboxInput.js +148 -148
  13. package/dist/components/FileTypeAlertDialog.js +4 -4
  14. package/dist/components/Input.js +53 -53
  15. package/dist/components/InputBase.js +72 -72
  16. package/dist/components/Modal.js +4 -4
  17. package/dist/components/OverflowTooltip.js +4 -4
  18. package/dist/components/Pagination.js +56 -56
  19. package/dist/components/PinInput.js +64 -64
  20. package/dist/components/Popover.js +27 -27
  21. package/dist/components/RadioInput.js +73 -73
  22. package/dist/components/SquareButton.js +109 -109
  23. package/dist/components/Switch.js +69 -69
  24. package/dist/components/SwitchButton.js +107 -107
  25. package/dist/components/Tag.js +72 -72
  26. package/dist/components/Tooltip.js +19 -19
  27. package/dist/foundation/breakpoints.js +16 -16
  28. package/dist/icons/custom/colored/ai-helper.svg +4 -4
  29. package/dist/icons/custom/colored/ai-quiz-color.svg +20 -20
  30. package/dist/icons/custom/colored/badge-color.svg +4 -4
  31. package/dist/icons/custom/colored/badge-gold.svg +11 -11
  32. package/dist/icons/custom/colored/badge-green.svg +11 -11
  33. package/dist/icons/custom/colored/badge-silver.svg +11 -11
  34. package/dist/icons/custom/colored/basic-plus.svg +31 -31
  35. package/dist/icons/custom/colored/basic.svg +3 -3
  36. package/dist/icons/custom/colored/board-color.svg +5 -5
  37. package/dist/icons/custom/colored/cast-cloudy-color.svg +6 -6
  38. package/dist/icons/custom/colored/cast-partly-color.svg +7 -7
  39. package/dist/icons/custom/colored/cast-rainbow-color.svg +13 -13
  40. package/dist/icons/custom/colored/cast-sunny-color.svg +4 -4
  41. package/dist/icons/custom/colored/clap-bronze.svg +8 -8
  42. package/dist/icons/custom/colored/clap-gold.svg +8 -8
  43. package/dist/icons/custom/colored/clap-silver.svg +8 -8
  44. package/dist/icons/custom/colored/class.svg +13 -13
  45. package/dist/icons/custom/colored/codap-color.svg +13 -13
  46. package/dist/icons/custom/colored/ebook-color.svg +5 -5
  47. package/dist/icons/custom/colored/embedded-color.svg +38 -38
  48. package/dist/icons/custom/colored/emo-clap-color.svg +252 -252
  49. package/dist/icons/custom/colored/emo-good-color.svg +68 -68
  50. package/dist/icons/custom/colored/emo-great-color.svg +67 -67
  51. package/dist/icons/custom/colored/emo-heart-color.svg +239 -239
  52. package/dist/icons/custom/colored/emo-hundred-color.svg +194 -194
  53. package/dist/icons/custom/colored/emo-neutral-color.svg +76 -76
  54. package/dist/icons/custom/colored/emo-stars-color.svg +121 -121
  55. package/dist/icons/custom/colored/emo-thumbup-color.svg +238 -238
  56. package/dist/icons/custom/colored/empty.svg +1 -1
  57. package/dist/icons/custom/colored/entry-color.svg +4 -4
  58. package/dist/icons/custom/colored/filename-all-color.svg +4 -4
  59. package/dist/icons/custom/colored/filename-doc-color.svg +5 -5
  60. package/dist/icons/custom/colored/filename-hwp-color.svg +6 -6
  61. package/dist/icons/custom/colored/filename-img-color.svg +6 -6
  62. package/dist/icons/custom/colored/filename-mp4-color.svg +5 -5
  63. package/dist/icons/custom/colored/filename-pdf-color.svg +12 -12
  64. package/dist/icons/custom/colored/filename-ppt-color.svg +6 -6
  65. package/dist/icons/custom/colored/filename-xls-color.svg +5 -5
  66. package/dist/icons/custom/colored/filename-zip-color.svg +5 -5
  67. package/dist/icons/custom/colored/google.svg +13 -13
  68. package/dist/icons/custom/colored/hand-fill.svg +4 -4
  69. package/dist/icons/custom/colored/judge-color.svg +6 -6
  70. package/dist/icons/custom/colored/makecode-color.svg +4 -4
  71. package/dist/icons/custom/colored/master.svg +12 -12
  72. package/dist/icons/custom/colored/material.svg +6 -6
  73. package/dist/icons/custom/colored/medal-bronze.svg +9 -9
  74. package/dist/icons/custom/colored/medal-gold.svg +9 -9
  75. package/dist/icons/custom/colored/medal-silver.svg +9 -9
  76. package/dist/icons/custom/colored/pro.svg +4 -4
  77. package/dist/icons/custom/colored/problem.svg +7 -7
  78. package/dist/icons/custom/colored/python-color.svg +4 -4
  79. package/dist/icons/custom/colored/quiz-color.svg +12 -12
  80. package/dist/icons/custom/colored/resource-color.svg +13 -13
  81. package/dist/icons/custom/colored/scratch-color.svg +6 -6
  82. package/dist/icons/custom/colored/type-helper.svg +9 -9
  83. package/dist/icons/custom/colored/whale.svg +7 -7
  84. package/dist/icons/custom/colored/worksheet-color.svg +5 -5
  85. package/dist/icons/custom/default/ai-quiz.svg +8 -8
  86. package/dist/icons/custom/default/badge.svg +4 -4
  87. package/dist/icons/custom/default/board.svg +5 -5
  88. package/dist/icons/custom/default/cast-cloudy.svg +3 -3
  89. package/dist/icons/custom/default/cast-partly.svg +4 -4
  90. package/dist/icons/custom/default/cast-rainbow.svg +12 -12
  91. package/dist/icons/custom/default/cast-sunny.svg +3 -3
  92. package/dist/icons/custom/default/codap.svg +11 -11
  93. package/dist/icons/custom/default/ebook.svg +3 -3
  94. package/dist/icons/custom/default/embedded.svg +4 -4
  95. package/dist/icons/custom/default/emo-clap.svg +6 -6
  96. package/dist/icons/custom/default/emo-good.svg +12 -12
  97. package/dist/icons/custom/default/emo-great.svg +12 -12
  98. package/dist/icons/custom/default/emo-heart.svg +5 -5
  99. package/dist/icons/custom/default/emo-hundred.svg +3 -3
  100. package/dist/icons/custom/default/emo-neutral.svg +14 -14
  101. package/dist/icons/custom/default/emo-stars.svg +14 -14
  102. package/dist/icons/custom/default/emo-thumbup.svg +3 -3
  103. package/dist/icons/custom/default/entry.svg +4 -4
  104. package/dist/icons/custom/default/fab.svg +10 -10
  105. package/dist/icons/custom/default/grant-alt.svg +5 -5
  106. package/dist/icons/custom/default/grant.svg +4 -4
  107. package/dist/icons/custom/default/hand-line.svg +3 -3
  108. package/dist/icons/custom/default/judge.svg +3 -3
  109. package/dist/icons/custom/default/makecode.svg +5 -5
  110. package/dist/icons/custom/default/pdf.svg +3 -3
  111. package/dist/icons/custom/default/python.svg +7 -7
  112. package/dist/icons/custom/default/quiz.svg +4 -4
  113. package/dist/icons/custom/default/resource.svg +11 -11
  114. package/dist/icons/custom/default/scratch.svg +3 -3
  115. package/dist/icons/custom/default/scroll-alt.svg +5 -5
  116. package/dist/icons/custom/default/scroll-fill.svg +4 -4
  117. package/dist/icons/custom/default/scroll-line.svg +5 -5
  118. package/dist/icons/custom/default/symbol.svg +4 -4
  119. package/dist/icons/custom/default/worksheet.svg +4 -4
  120. package/dist/icons/custom/svgrColoredTemplate.js +26 -26
  121. package/dist/icons/custom/svgrDefaultTemplate.js +26 -26
  122. package/dist/patterns/Accordion.js +20 -20
  123. package/dist/patterns/Dropdown/DropdownItem/DropdownItem.js +60 -60
  124. package/dist/patterns/Dropdown/DropdownMenu/DropdownMenu.js +27 -27
  125. package/dist/patterns/Dropdown/DropdownMenu/style.js +19 -19
  126. package/dist/patterns/LexicalEditor/Plugins.js +38 -37
  127. package/dist/patterns/LexicalEditor/components/FileSelectInput.js +23 -23
  128. package/dist/patterns/LexicalEditor/components/InsertImageDialog/ImagePreview.js +4 -4
  129. package/dist/patterns/LexicalEditor/components/InsertImageDialog/InsertImageDialog.js +15 -15
  130. package/dist/patterns/LexicalEditor/components/InsertVideoDialog/InsertVideoDialog.js +17 -17
  131. package/dist/patterns/LexicalEditor/components/UploadFileDialog/UploadFileDialog.js +2 -2
  132. package/dist/patterns/LexicalEditor/hr.svg +3 -3
  133. package/dist/patterns/LexicalEditor/nodes/FileNode/FileComponent.js +44 -44
  134. package/dist/patterns/LexicalEditor/nodes/FileNode/FileDownloadButton.js +25 -25
  135. package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageComponent.js +8 -8
  136. package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageResizer.js +60 -60
  137. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/InputComponent.js +19 -19
  138. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SegmentedInput.js +49 -49
  139. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/FormSolution.js +7 -7
  140. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/SettingForm.js +73 -73
  141. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/TextTypeDropdown.js +5 -5
  142. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/TextInput.js +7 -7
  143. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxComponent.js +69 -69
  144. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxEdit.js +3 -3
  145. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxView.js +15 -15
  146. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectComponent.js +28 -28
  147. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/FormSelection.js +54 -54
  148. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/SettingForm.js +61 -61
  149. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/Evaluation.js +75 -75
  150. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormIconAndLabel.js +17 -17
  151. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormLabel.js +7 -7
  152. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormQuestion.js +28 -28
  153. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/SettingForm.js +52 -52
  154. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/EvaluationComponent.js +7 -7
  155. package/dist/patterns/LexicalEditor/nodes/SheetInputNode/InputComponent.js +25 -25
  156. package/dist/patterns/LexicalEditor/nodes/SheetInputNode/SettingForm.js +53 -53
  157. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxComponent.js +54 -54
  158. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxView.js +5 -5
  159. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectComponent.js +21 -21
  160. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/FormSelection.js +42 -42
  161. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/SettingForm.js +71 -71
  162. package/dist/patterns/LexicalEditor/nodes/VideoNode/VideoComponent.js +6 -6
  163. package/dist/patterns/LexicalEditor/nodes/index.d.ts +3 -0
  164. package/dist/patterns/LexicalEditor/nodes/index.js +3 -0
  165. package/dist/patterns/LexicalEditor/nodes/nodes.d.ts +4 -2
  166. package/dist/patterns/LexicalEditor/nodes/nodes.js +6 -0
  167. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContainerNode.d.ts +32 -0
  168. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContainerNode.js +128 -0
  169. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContentNode.d.ts +23 -0
  170. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContentNode.js +88 -0
  171. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleTitleNode.d.ts +23 -0
  172. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleTitleNode.js +103 -0
  173. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdder.js +51 -51
  174. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdderPlugin.js +11 -11
  175. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/menu.svg +7 -7
  176. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/plus.svg +2 -2
  177. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/useContextMenuOptions.js +10 -10
  178. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuItem.js +32 -32
  179. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuList.js +32 -32
  180. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuPlugin.js +19 -13
  181. package/dist/patterns/LexicalEditor/plugins/FloatingLinkEditorPlugin/FloatingLinkEditor.js +49 -49
  182. package/dist/patterns/LexicalEditor/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatPopup.js +36 -36
  183. package/dist/patterns/LexicalEditor/plugins/ParagraphPlaceholderPlugin/index.js +7 -7
  184. package/dist/patterns/LexicalEditor/plugins/TogglePlugin/index.d.ts +9 -0
  185. package/dist/patterns/LexicalEditor/plugins/TogglePlugin/index.js +146 -0
  186. package/dist/patterns/LexicalEditor/theme.d.ts +6 -0
  187. package/dist/patterns/LexicalEditor/theme.js +279 -243
  188. package/dist/patterns/LexicalEditor/utils/toggleUtils.d.ts +9 -0
  189. package/dist/patterns/LexicalEditor/utils/toggleUtils.js +18 -0
  190. package/dist/patterns/SegmentedControl/SegmentedControlButton.js +10 -10
  191. package/dist/patterns/SegmentedControl/SegmentedControlGroup.js +8 -8
  192. package/dist/patterns/SegmentedControl/SegmentedControlSquareButton.js +2 -2
  193. package/dist/patterns/Tabs.js +43 -43
  194. package/dist/patterns/ToggleButtonGroup/ToggleButton.js +40 -40
  195. package/dist/patterns/ToggleButtonGroup/ToggleButtonGroup.js +11 -11
  196. package/dist/utils/hover.js +12 -12
  197. package/dist/utils/reset.js +19 -19
  198. package/dist/utils/visuallyHidden.js +10 -10
  199. package/package.json +110 -110
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ */
8
+ // https://github.com/facebook/lexical/blob/main/packages/lexical-playground/src/plugins/CollapsiblePlugin/index.ts
9
+ import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
10
+ import { $setBlocksType } from "@lexical/selection";
11
+ import { $findMatchingParent, $insertNodeToNearestRoot, mergeRegister, } from "@lexical/utils";
12
+ import { $createParagraphNode, $getSelection, $isRangeSelection, COMMAND_PRIORITY_LOW, createCommand, INSERT_PARAGRAPH_COMMAND, KEY_ARROW_DOWN_COMMAND, KEY_ARROW_LEFT_COMMAND, KEY_ARROW_RIGHT_COMMAND, KEY_ARROW_UP_COMMAND, } from "lexical";
13
+ import { useEffect } from "react";
14
+ import { $createToggleContainerNode, $createToggleTitleNode, $createToggleContentNode, $isToggleContainerNode, $isToggleTitleNode, $isToggleContentNode, ToggleContainerNode, ToggleTitleNode, ToggleContentNode, } from "../../nodes";
15
+ export const INSERT_TOGGLE_COMMAND = createCommand("INSERT_TOGGLE_COMMAND");
16
+ export function TogglePlugin() {
17
+ const [editor] = useLexicalComposerContext();
18
+ useEffect(() => {
19
+ if (!editor.hasNodes([
20
+ ToggleContainerNode,
21
+ ToggleTitleNode,
22
+ ToggleContentNode,
23
+ ])) {
24
+ throw new Error("TogglePlugin: ToggleContainerNode, ToggleTitleNode, or ToggleContentNode not registered on editor");
25
+ }
26
+ const $onEscapeUp = () => {
27
+ var _a;
28
+ const selection = $getSelection();
29
+ if ($isRangeSelection(selection) &&
30
+ selection.isCollapsed() &&
31
+ selection.anchor.offset === 0) {
32
+ const container = $findMatchingParent(selection.anchor.getNode(), $isToggleContainerNode);
33
+ if ($isToggleContainerNode(container)) {
34
+ const parent = container.getParent();
35
+ if (parent !== null &&
36
+ parent.getFirstChild() === container &&
37
+ selection.anchor.key === ((_a = container.getFirstDescendant()) === null || _a === void 0 ? void 0 : _a.getKey())) {
38
+ container.insertBefore($createParagraphNode());
39
+ }
40
+ }
41
+ }
42
+ return false;
43
+ };
44
+ const $onEscapeDown = () => {
45
+ const selection = $getSelection();
46
+ if ($isRangeSelection(selection) && selection.isCollapsed()) {
47
+ const container = $findMatchingParent(selection.anchor.getNode(), $isToggleContainerNode);
48
+ if ($isToggleContainerNode(container)) {
49
+ const parent = container.getParent();
50
+ if (parent !== null && parent.getLastChild() === container) {
51
+ const titleParagraph = container.getFirstDescendant();
52
+ const contentParagraph = container.getLastDescendant();
53
+ if ((contentParagraph !== null &&
54
+ selection.anchor.key === contentParagraph.getKey() &&
55
+ selection.anchor.offset ===
56
+ contentParagraph.getTextContentSize()) ||
57
+ (titleParagraph !== null &&
58
+ selection.anchor.key === titleParagraph.getKey() &&
59
+ selection.anchor.offset === titleParagraph.getTextContentSize())) {
60
+ container.insertAfter($createParagraphNode());
61
+ }
62
+ }
63
+ }
64
+ }
65
+ return false;
66
+ };
67
+ return mergeRegister(
68
+ // Structure enforcing transformers for each node type. In case nesting structure is not
69
+ // "Container > Title + Content" it'll unwrap nodes and convert it back
70
+ // to regular content.
71
+ editor.registerNodeTransform(ToggleContentNode, (node) => {
72
+ const parent = node.getParent();
73
+ if (!$isToggleContainerNode(parent)) {
74
+ const children = node.getChildren();
75
+ for (const child of children) {
76
+ node.insertBefore(child);
77
+ }
78
+ node.remove();
79
+ }
80
+ }), editor.registerNodeTransform(ToggleTitleNode, (node) => {
81
+ const parent = node.getParent();
82
+ if (!$isToggleContainerNode(parent)) {
83
+ node.replace($createParagraphNode().append(...node.getChildren()));
84
+ return;
85
+ }
86
+ }), editor.registerNodeTransform(ToggleContainerNode, (node) => {
87
+ const children = node.getChildren();
88
+ if (children.length !== 2 ||
89
+ !$isToggleTitleNode(children[0]) ||
90
+ !$isToggleContentNode(children[1])) {
91
+ for (const child of children) {
92
+ node.insertBefore(child);
93
+ }
94
+ node.remove();
95
+ }
96
+ }),
97
+ // When toggle is the last child pressing down/right arrow will insert paragraph
98
+ // below it to allow adding more content. It's similar what $insertBlockNode
99
+ // (mainly for decorators), except it'll always be possible to continue adding
100
+ // new content even if trailing paragraph is accidentally deleted
101
+ editor.registerCommand(KEY_ARROW_DOWN_COMMAND, $onEscapeDown, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_ARROW_RIGHT_COMMAND, $onEscapeDown, COMMAND_PRIORITY_LOW),
102
+ // When toggle is the first child pressing up/left arrow will insert paragraph
103
+ // above it to allow adding more content. It's similar what $insertBlockNode
104
+ // (mainly for decorators), except it'll always be possible to continue adding
105
+ // new content even if leading paragraph is accidentally deleted
106
+ editor.registerCommand(KEY_ARROW_UP_COMMAND, $onEscapeUp, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_ARROW_LEFT_COMMAND, $onEscapeUp, COMMAND_PRIORITY_LOW),
107
+ // Enter goes from Title to Content rather than a new line inside Title
108
+ editor.registerCommand(INSERT_PARAGRAPH_COMMAND, () => {
109
+ var _a;
110
+ const selection = $getSelection();
111
+ if ($isRangeSelection(selection)) {
112
+ const titleNode = $findMatchingParent(selection.anchor.getNode(), (node) => $isToggleTitleNode(node));
113
+ if ($isToggleTitleNode(titleNode)) {
114
+ const container = titleNode.getParent();
115
+ if (container && $isToggleContainerNode(container)) {
116
+ if (!container.getOpen()) {
117
+ container.toggleOpen();
118
+ }
119
+ (_a = titleNode.getNextSibling()) === null || _a === void 0 ? void 0 : _a.selectEnd();
120
+ return true;
121
+ }
122
+ }
123
+ }
124
+ return false;
125
+ }, COMMAND_PRIORITY_LOW), editor.registerCommand(INSERT_TOGGLE_COMMAND, () => {
126
+ editor.update(() => {
127
+ const title = $createToggleTitleNode();
128
+ const paragraph = $createParagraphNode();
129
+ const selection = $getSelection();
130
+ if ($isRangeSelection(selection)) {
131
+ // 선택된 블록이 있는 경우 기존 블록을 토글 블록으로 변환하여 불필요한 줄바꿈 생성 방지
132
+ $setBlocksType(selection, () =>
133
+ // 생성된 토글 블록의 open 속성은 기본값 false (노션 동작을 따름)
134
+ $createToggleContainerNode(false).append(title.append(paragraph), $createToggleContentNode().append($createParagraphNode())));
135
+ }
136
+ else {
137
+ // 선택된 블록이 없는 경우 레퍼런스 코드의 동작을 따름
138
+ $insertNodeToNearestRoot($createToggleContainerNode(false).append(title.append(paragraph), $createToggleContentNode().append($createParagraphNode())));
139
+ }
140
+ paragraph.select();
141
+ });
142
+ return true;
143
+ }, COMMAND_PRIORITY_LOW));
144
+ }, [editor]);
145
+ return null;
146
+ }
@@ -36,4 +36,10 @@ export declare function getTheme(theme: Theme, editable: boolean): {
36
36
  layoutContainer: string;
37
37
  layoutItem: string | false;
38
38
  selfEvaluation: string;
39
+ toggle: {
40
+ container: string;
41
+ title: string;
42
+ iconBtn: string;
43
+ content: string;
44
+ };
39
45
  };