@team-monolith/cds 1.119.0 → 1.119.1

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 (383) 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/AiHelper.d.ts +1 -1
  29. package/dist/icons/custom/colored/AiHelper.js +1 -1
  30. package/dist/icons/custom/colored/AiQuizColor.d.ts +1 -1
  31. package/dist/icons/custom/colored/AiQuizColor.js +1 -1
  32. package/dist/icons/custom/colored/BadgeColor.d.ts +1 -1
  33. package/dist/icons/custom/colored/BadgeColor.js +1 -1
  34. package/dist/icons/custom/colored/BadgeGold.d.ts +1 -1
  35. package/dist/icons/custom/colored/BadgeGold.js +1 -1
  36. package/dist/icons/custom/colored/BadgeGreen.d.ts +1 -1
  37. package/dist/icons/custom/colored/BadgeGreen.js +1 -1
  38. package/dist/icons/custom/colored/BadgeSilver.d.ts +1 -1
  39. package/dist/icons/custom/colored/BadgeSilver.js +1 -1
  40. package/dist/icons/custom/colored/Basic.d.ts +1 -1
  41. package/dist/icons/custom/colored/Basic.js +1 -1
  42. package/dist/icons/custom/colored/BasicPlus.d.ts +1 -1
  43. package/dist/icons/custom/colored/BasicPlus.js +1 -1
  44. package/dist/icons/custom/colored/BoardColor.d.ts +1 -1
  45. package/dist/icons/custom/colored/BoardColor.js +1 -1
  46. package/dist/icons/custom/colored/CastCloudyColor.d.ts +1 -1
  47. package/dist/icons/custom/colored/CastCloudyColor.js +1 -1
  48. package/dist/icons/custom/colored/CastPartlyColor.d.ts +1 -1
  49. package/dist/icons/custom/colored/CastPartlyColor.js +1 -1
  50. package/dist/icons/custom/colored/CastRainbowColor.d.ts +1 -1
  51. package/dist/icons/custom/colored/CastRainbowColor.js +1 -1
  52. package/dist/icons/custom/colored/CastSunnyColor.d.ts +1 -1
  53. package/dist/icons/custom/colored/CastSunnyColor.js +1 -1
  54. package/dist/icons/custom/colored/ClapBronze.d.ts +1 -1
  55. package/dist/icons/custom/colored/ClapBronze.js +1 -1
  56. package/dist/icons/custom/colored/ClapGold.d.ts +1 -1
  57. package/dist/icons/custom/colored/ClapGold.js +1 -1
  58. package/dist/icons/custom/colored/ClapSilver.d.ts +1 -1
  59. package/dist/icons/custom/colored/ClapSilver.js +1 -1
  60. package/dist/icons/custom/colored/Class.d.ts +1 -1
  61. package/dist/icons/custom/colored/Class.js +1 -1
  62. package/dist/icons/custom/colored/CodapColor.d.ts +1 -1
  63. package/dist/icons/custom/colored/CodapColor.js +1 -1
  64. package/dist/icons/custom/colored/EbookColor.d.ts +1 -1
  65. package/dist/icons/custom/colored/EbookColor.js +1 -1
  66. package/dist/icons/custom/colored/EmbeddedColor.d.ts +1 -1
  67. package/dist/icons/custom/colored/EmbeddedColor.js +1 -1
  68. package/dist/icons/custom/colored/EmoClapColor.d.ts +1 -1
  69. package/dist/icons/custom/colored/EmoClapColor.js +1 -1
  70. package/dist/icons/custom/colored/EmoGoodColor.d.ts +1 -1
  71. package/dist/icons/custom/colored/EmoGoodColor.js +1 -1
  72. package/dist/icons/custom/colored/EmoGreatColor.d.ts +1 -1
  73. package/dist/icons/custom/colored/EmoGreatColor.js +1 -1
  74. package/dist/icons/custom/colored/EmoHeartColor.d.ts +1 -1
  75. package/dist/icons/custom/colored/EmoHeartColor.js +1 -1
  76. package/dist/icons/custom/colored/EmoHundredColor.d.ts +1 -1
  77. package/dist/icons/custom/colored/EmoHundredColor.js +1 -1
  78. package/dist/icons/custom/colored/EmoNeutralColor.d.ts +1 -1
  79. package/dist/icons/custom/colored/EmoNeutralColor.js +1 -1
  80. package/dist/icons/custom/colored/EmoStarsColor.d.ts +1 -1
  81. package/dist/icons/custom/colored/EmoStarsColor.js +1 -1
  82. package/dist/icons/custom/colored/EmoThumbupColor.d.ts +1 -1
  83. package/dist/icons/custom/colored/EmoThumbupColor.js +1 -1
  84. package/dist/icons/custom/colored/Empty.d.ts +1 -1
  85. package/dist/icons/custom/colored/Empty.js +1 -1
  86. package/dist/icons/custom/colored/EntryColor.d.ts +1 -1
  87. package/dist/icons/custom/colored/EntryColor.js +1 -1
  88. package/dist/icons/custom/colored/FilenameAllColor.d.ts +1 -1
  89. package/dist/icons/custom/colored/FilenameAllColor.js +1 -1
  90. package/dist/icons/custom/colored/FilenameDocColor.d.ts +1 -1
  91. package/dist/icons/custom/colored/FilenameDocColor.js +1 -1
  92. package/dist/icons/custom/colored/FilenameHwpColor.d.ts +1 -1
  93. package/dist/icons/custom/colored/FilenameHwpColor.js +1 -1
  94. package/dist/icons/custom/colored/FilenameImgColor.d.ts +1 -1
  95. package/dist/icons/custom/colored/FilenameImgColor.js +1 -1
  96. package/dist/icons/custom/colored/FilenameMp4Color.d.ts +1 -1
  97. package/dist/icons/custom/colored/FilenameMp4Color.js +1 -1
  98. package/dist/icons/custom/colored/FilenamePdfColor.d.ts +1 -1
  99. package/dist/icons/custom/colored/FilenamePdfColor.js +1 -1
  100. package/dist/icons/custom/colored/FilenamePptColor.d.ts +1 -1
  101. package/dist/icons/custom/colored/FilenamePptColor.js +1 -1
  102. package/dist/icons/custom/colored/FilenameXlsColor.d.ts +1 -1
  103. package/dist/icons/custom/colored/FilenameXlsColor.js +1 -1
  104. package/dist/icons/custom/colored/FilenameZipColor.d.ts +1 -1
  105. package/dist/icons/custom/colored/FilenameZipColor.js +1 -1
  106. package/dist/icons/custom/colored/Google.d.ts +1 -1
  107. package/dist/icons/custom/colored/Google.js +1 -1
  108. package/dist/icons/custom/colored/HandFill.d.ts +1 -1
  109. package/dist/icons/custom/colored/HandFill.js +1 -1
  110. package/dist/icons/custom/colored/JudgeColor.d.ts +1 -1
  111. package/dist/icons/custom/colored/JudgeColor.js +1 -1
  112. package/dist/icons/custom/colored/MakecodeColor.d.ts +1 -1
  113. package/dist/icons/custom/colored/MakecodeColor.js +1 -1
  114. package/dist/icons/custom/colored/Master.d.ts +1 -1
  115. package/dist/icons/custom/colored/Master.js +1 -1
  116. package/dist/icons/custom/colored/Material.d.ts +1 -1
  117. package/dist/icons/custom/colored/Material.js +1 -1
  118. package/dist/icons/custom/colored/MedalBronze.d.ts +1 -1
  119. package/dist/icons/custom/colored/MedalBronze.js +1 -1
  120. package/dist/icons/custom/colored/MedalGold.d.ts +1 -1
  121. package/dist/icons/custom/colored/MedalGold.js +1 -1
  122. package/dist/icons/custom/colored/MedalSilver.d.ts +1 -1
  123. package/dist/icons/custom/colored/MedalSilver.js +1 -1
  124. package/dist/icons/custom/colored/Pro.d.ts +1 -1
  125. package/dist/icons/custom/colored/Pro.js +1 -1
  126. package/dist/icons/custom/colored/Problem.d.ts +1 -1
  127. package/dist/icons/custom/colored/Problem.js +1 -1
  128. package/dist/icons/custom/colored/PythonColor.d.ts +1 -1
  129. package/dist/icons/custom/colored/PythonColor.js +1 -1
  130. package/dist/icons/custom/colored/QuizColor.d.ts +1 -1
  131. package/dist/icons/custom/colored/QuizColor.js +1 -1
  132. package/dist/icons/custom/colored/ResourceColor.d.ts +1 -1
  133. package/dist/icons/custom/colored/ResourceColor.js +1 -1
  134. package/dist/icons/custom/colored/ScratchColor.d.ts +1 -1
  135. package/dist/icons/custom/colored/ScratchColor.js +1 -1
  136. package/dist/icons/custom/colored/TypeHelper.d.ts +1 -1
  137. package/dist/icons/custom/colored/TypeHelper.js +1 -1
  138. package/dist/icons/custom/colored/Whale.d.ts +1 -1
  139. package/dist/icons/custom/colored/Whale.js +1 -1
  140. package/dist/icons/custom/colored/WorksheetColor.d.ts +1 -1
  141. package/dist/icons/custom/colored/WorksheetColor.js +1 -1
  142. package/dist/icons/custom/colored/ai-helper.svg +4 -4
  143. package/dist/icons/custom/colored/ai-quiz-color.svg +20 -20
  144. package/dist/icons/custom/colored/badge-color.svg +4 -4
  145. package/dist/icons/custom/colored/badge-gold.svg +11 -11
  146. package/dist/icons/custom/colored/badge-green.svg +11 -11
  147. package/dist/icons/custom/colored/badge-silver.svg +11 -11
  148. package/dist/icons/custom/colored/basic-plus.svg +31 -31
  149. package/dist/icons/custom/colored/basic.svg +3 -3
  150. package/dist/icons/custom/colored/board-color.svg +5 -5
  151. package/dist/icons/custom/colored/cast-cloudy-color.svg +6 -6
  152. package/dist/icons/custom/colored/cast-partly-color.svg +7 -7
  153. package/dist/icons/custom/colored/cast-rainbow-color.svg +13 -13
  154. package/dist/icons/custom/colored/cast-sunny-color.svg +4 -4
  155. package/dist/icons/custom/colored/clap-bronze.svg +8 -8
  156. package/dist/icons/custom/colored/clap-gold.svg +8 -8
  157. package/dist/icons/custom/colored/clap-silver.svg +8 -8
  158. package/dist/icons/custom/colored/class.svg +13 -13
  159. package/dist/icons/custom/colored/codap-color.svg +13 -13
  160. package/dist/icons/custom/colored/ebook-color.svg +5 -5
  161. package/dist/icons/custom/colored/embedded-color.svg +38 -38
  162. package/dist/icons/custom/colored/emo-clap-color.svg +252 -252
  163. package/dist/icons/custom/colored/emo-good-color.svg +68 -68
  164. package/dist/icons/custom/colored/emo-great-color.svg +67 -67
  165. package/dist/icons/custom/colored/emo-heart-color.svg +239 -239
  166. package/dist/icons/custom/colored/emo-hundred-color.svg +194 -194
  167. package/dist/icons/custom/colored/emo-neutral-color.svg +76 -76
  168. package/dist/icons/custom/colored/emo-stars-color.svg +121 -121
  169. package/dist/icons/custom/colored/emo-thumbup-color.svg +238 -238
  170. package/dist/icons/custom/colored/empty.svg +1 -1
  171. package/dist/icons/custom/colored/entry-color.svg +4 -4
  172. package/dist/icons/custom/colored/filename-all-color.svg +4 -4
  173. package/dist/icons/custom/colored/filename-doc-color.svg +5 -5
  174. package/dist/icons/custom/colored/filename-hwp-color.svg +6 -6
  175. package/dist/icons/custom/colored/filename-img-color.svg +6 -6
  176. package/dist/icons/custom/colored/filename-mp4-color.svg +5 -5
  177. package/dist/icons/custom/colored/filename-pdf-color.svg +12 -12
  178. package/dist/icons/custom/colored/filename-ppt-color.svg +6 -6
  179. package/dist/icons/custom/colored/filename-xls-color.svg +5 -5
  180. package/dist/icons/custom/colored/filename-zip-color.svg +5 -5
  181. package/dist/icons/custom/colored/google.svg +13 -13
  182. package/dist/icons/custom/colored/hand-fill.svg +4 -4
  183. package/dist/icons/custom/colored/judge-color.svg +6 -6
  184. package/dist/icons/custom/colored/makecode-color.svg +4 -4
  185. package/dist/icons/custom/colored/master.svg +12 -12
  186. package/dist/icons/custom/colored/material.svg +6 -6
  187. package/dist/icons/custom/colored/medal-bronze.svg +9 -9
  188. package/dist/icons/custom/colored/medal-gold.svg +9 -9
  189. package/dist/icons/custom/colored/medal-silver.svg +9 -9
  190. package/dist/icons/custom/colored/pro.svg +4 -4
  191. package/dist/icons/custom/colored/problem.svg +7 -7
  192. package/dist/icons/custom/colored/python-color.svg +4 -4
  193. package/dist/icons/custom/colored/quiz-color.svg +12 -12
  194. package/dist/icons/custom/colored/resource-color.svg +13 -13
  195. package/dist/icons/custom/colored/scratch-color.svg +6 -6
  196. package/dist/icons/custom/colored/type-helper.svg +9 -9
  197. package/dist/icons/custom/colored/whale.svg +7 -7
  198. package/dist/icons/custom/colored/worksheet-color.svg +5 -5
  199. package/dist/icons/custom/default/AiQuiz.d.ts +1 -1
  200. package/dist/icons/custom/default/AiQuiz.js +1 -1
  201. package/dist/icons/custom/default/Badge.d.ts +1 -1
  202. package/dist/icons/custom/default/Badge.js +1 -1
  203. package/dist/icons/custom/default/Board.d.ts +1 -1
  204. package/dist/icons/custom/default/Board.js +1 -1
  205. package/dist/icons/custom/default/CastCloudy.d.ts +1 -1
  206. package/dist/icons/custom/default/CastCloudy.js +1 -1
  207. package/dist/icons/custom/default/CastPartly.d.ts +1 -1
  208. package/dist/icons/custom/default/CastPartly.js +1 -1
  209. package/dist/icons/custom/default/CastRainbow.d.ts +1 -1
  210. package/dist/icons/custom/default/CastRainbow.js +1 -1
  211. package/dist/icons/custom/default/CastSunny.d.ts +1 -1
  212. package/dist/icons/custom/default/CastSunny.js +1 -1
  213. package/dist/icons/custom/default/Codap.d.ts +1 -1
  214. package/dist/icons/custom/default/Codap.js +1 -1
  215. package/dist/icons/custom/default/Ebook.d.ts +1 -1
  216. package/dist/icons/custom/default/Ebook.js +1 -1
  217. package/dist/icons/custom/default/Embedded.d.ts +1 -1
  218. package/dist/icons/custom/default/Embedded.js +1 -1
  219. package/dist/icons/custom/default/EmoClap.d.ts +1 -1
  220. package/dist/icons/custom/default/EmoClap.js +1 -1
  221. package/dist/icons/custom/default/EmoGood.d.ts +1 -1
  222. package/dist/icons/custom/default/EmoGood.js +1 -1
  223. package/dist/icons/custom/default/EmoGreat.d.ts +1 -1
  224. package/dist/icons/custom/default/EmoGreat.js +1 -1
  225. package/dist/icons/custom/default/EmoHeart.d.ts +1 -1
  226. package/dist/icons/custom/default/EmoHeart.js +1 -1
  227. package/dist/icons/custom/default/EmoHundred.d.ts +1 -1
  228. package/dist/icons/custom/default/EmoHundred.js +1 -1
  229. package/dist/icons/custom/default/EmoNeutral.d.ts +1 -1
  230. package/dist/icons/custom/default/EmoNeutral.js +1 -1
  231. package/dist/icons/custom/default/EmoStars.d.ts +1 -1
  232. package/dist/icons/custom/default/EmoStars.js +1 -1
  233. package/dist/icons/custom/default/EmoThumbup.d.ts +1 -1
  234. package/dist/icons/custom/default/EmoThumbup.js +1 -1
  235. package/dist/icons/custom/default/Entry.d.ts +1 -1
  236. package/dist/icons/custom/default/Entry.js +1 -1
  237. package/dist/icons/custom/default/Fab.d.ts +1 -1
  238. package/dist/icons/custom/default/Fab.js +1 -1
  239. package/dist/icons/custom/default/Grant.d.ts +1 -1
  240. package/dist/icons/custom/default/Grant.js +1 -1
  241. package/dist/icons/custom/default/GrantAlt.d.ts +1 -1
  242. package/dist/icons/custom/default/GrantAlt.js +1 -1
  243. package/dist/icons/custom/default/HandLine.d.ts +1 -1
  244. package/dist/icons/custom/default/HandLine.js +1 -1
  245. package/dist/icons/custom/default/Judge.d.ts +1 -1
  246. package/dist/icons/custom/default/Judge.js +1 -1
  247. package/dist/icons/custom/default/Makecode.d.ts +1 -1
  248. package/dist/icons/custom/default/Makecode.js +1 -1
  249. package/dist/icons/custom/default/Pdf.d.ts +1 -1
  250. package/dist/icons/custom/default/Pdf.js +1 -1
  251. package/dist/icons/custom/default/Python.d.ts +1 -1
  252. package/dist/icons/custom/default/Python.js +1 -1
  253. package/dist/icons/custom/default/Quiz.d.ts +1 -1
  254. package/dist/icons/custom/default/Quiz.js +1 -1
  255. package/dist/icons/custom/default/Resource.d.ts +1 -1
  256. package/dist/icons/custom/default/Resource.js +1 -1
  257. package/dist/icons/custom/default/Scratch.d.ts +1 -1
  258. package/dist/icons/custom/default/Scratch.js +1 -1
  259. package/dist/icons/custom/default/ScrollAlt.d.ts +1 -1
  260. package/dist/icons/custom/default/ScrollAlt.js +1 -1
  261. package/dist/icons/custom/default/ScrollFill.d.ts +1 -1
  262. package/dist/icons/custom/default/ScrollFill.js +1 -1
  263. package/dist/icons/custom/default/ScrollLine.d.ts +1 -1
  264. package/dist/icons/custom/default/ScrollLine.js +1 -1
  265. package/dist/icons/custom/default/Symbol.d.ts +1 -1
  266. package/dist/icons/custom/default/Symbol.js +1 -1
  267. package/dist/icons/custom/default/Worksheet.d.ts +1 -1
  268. package/dist/icons/custom/default/Worksheet.js +1 -1
  269. package/dist/icons/custom/default/ai-quiz.svg +8 -8
  270. package/dist/icons/custom/default/badge.svg +4 -4
  271. package/dist/icons/custom/default/board.svg +5 -5
  272. package/dist/icons/custom/default/cast-cloudy.svg +3 -3
  273. package/dist/icons/custom/default/cast-partly.svg +4 -4
  274. package/dist/icons/custom/default/cast-rainbow.svg +12 -12
  275. package/dist/icons/custom/default/cast-sunny.svg +3 -3
  276. package/dist/icons/custom/default/codap.svg +11 -11
  277. package/dist/icons/custom/default/ebook.svg +3 -3
  278. package/dist/icons/custom/default/embedded.svg +4 -4
  279. package/dist/icons/custom/default/emo-clap.svg +6 -6
  280. package/dist/icons/custom/default/emo-good.svg +12 -12
  281. package/dist/icons/custom/default/emo-great.svg +12 -12
  282. package/dist/icons/custom/default/emo-heart.svg +5 -5
  283. package/dist/icons/custom/default/emo-hundred.svg +3 -3
  284. package/dist/icons/custom/default/emo-neutral.svg +14 -14
  285. package/dist/icons/custom/default/emo-stars.svg +14 -14
  286. package/dist/icons/custom/default/emo-thumbup.svg +3 -3
  287. package/dist/icons/custom/default/entry.svg +4 -4
  288. package/dist/icons/custom/default/fab.svg +10 -10
  289. package/dist/icons/custom/default/grant-alt.svg +5 -5
  290. package/dist/icons/custom/default/grant.svg +4 -4
  291. package/dist/icons/custom/default/hand-line.svg +3 -3
  292. package/dist/icons/custom/default/judge.svg +3 -3
  293. package/dist/icons/custom/default/makecode.svg +5 -5
  294. package/dist/icons/custom/default/pdf.svg +3 -3
  295. package/dist/icons/custom/default/python.svg +7 -7
  296. package/dist/icons/custom/default/quiz.svg +4 -4
  297. package/dist/icons/custom/default/resource.svg +11 -11
  298. package/dist/icons/custom/default/scratch.svg +3 -3
  299. package/dist/icons/custom/default/scroll-alt.svg +5 -5
  300. package/dist/icons/custom/default/scroll-fill.svg +4 -4
  301. package/dist/icons/custom/default/scroll-line.svg +5 -5
  302. package/dist/icons/custom/default/symbol.svg +4 -4
  303. package/dist/icons/custom/default/worksheet.svg +4 -4
  304. package/dist/icons/custom/svgrColoredTemplate.js +27 -27
  305. package/dist/icons/custom/svgrDefaultTemplate.js +27 -27
  306. package/dist/patterns/Accordion.js +20 -20
  307. package/dist/patterns/Dropdown/DropdownItem/DropdownItem.js +60 -60
  308. package/dist/patterns/Dropdown/DropdownMenu/DropdownMenu.js +27 -27
  309. package/dist/patterns/Dropdown/DropdownMenu/style.js +19 -19
  310. package/dist/patterns/LexicalEditor/Plugins.js +37 -38
  311. package/dist/patterns/LexicalEditor/components/FileSelectInput.js +23 -23
  312. package/dist/patterns/LexicalEditor/components/InsertImageDialog/ImagePreview.js +4 -4
  313. package/dist/patterns/LexicalEditor/components/InsertImageDialog/InsertImageDialog.js +15 -15
  314. package/dist/patterns/LexicalEditor/components/InsertVideoDialog/InsertVideoDialog.js +17 -17
  315. package/dist/patterns/LexicalEditor/components/UploadFileDialog/UploadFileDialog.js +2 -2
  316. package/dist/patterns/LexicalEditor/hr.svg +3 -3
  317. package/dist/patterns/LexicalEditor/nodes/FileNode/FileComponent.js +44 -44
  318. package/dist/patterns/LexicalEditor/nodes/FileNode/FileDownloadButton.js +25 -25
  319. package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageComponent.js +8 -8
  320. package/dist/patterns/LexicalEditor/nodes/ImageNode/ImageResizer.js +60 -60
  321. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/InputComponent.js +19 -19
  322. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SegmentedInput.js +49 -49
  323. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/FormSolution.js +7 -7
  324. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/SettingForm.js +73 -73
  325. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/SettingForm/TextTypeDropdown.js +5 -5
  326. package/dist/patterns/LexicalEditor/nodes/ProblemInputNode/TextInput.js +7 -7
  327. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxComponent.js +69 -69
  328. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxEdit.js +3 -3
  329. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectBox/SelectBoxView.js +15 -15
  330. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SelectComponent.js +28 -28
  331. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/FormSelection.js +54 -54
  332. package/dist/patterns/LexicalEditor/nodes/ProblemSelectNode/SettingForm/SettingForm.js +61 -61
  333. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/Evaluation.js +75 -75
  334. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormIconAndLabel.js +17 -17
  335. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormIconAndLabel/FormLabel.js +7 -7
  336. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/FormQuestion.js +28 -28
  337. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/Evaluation/SettingForm/SettingForm.js +52 -52
  338. package/dist/patterns/LexicalEditor/nodes/SelfEvaluationNode/EvaluationComponent/EvaluationComponent.js +7 -7
  339. package/dist/patterns/LexicalEditor/nodes/SheetInputNode/InputComponent.js +25 -25
  340. package/dist/patterns/LexicalEditor/nodes/SheetInputNode/SettingForm.js +53 -53
  341. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxComponent.js +54 -54
  342. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectBox/SelectBoxView.js +5 -5
  343. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SelectComponent.js +21 -21
  344. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/FormSelection.js +42 -42
  345. package/dist/patterns/LexicalEditor/nodes/SheetSelectNode/SelectComponent/SettingForm/SettingForm.js +71 -71
  346. package/dist/patterns/LexicalEditor/nodes/VideoNode/VideoComponent.js +6 -6
  347. package/dist/patterns/LexicalEditor/nodes/index.d.ts +0 -3
  348. package/dist/patterns/LexicalEditor/nodes/index.js +0 -3
  349. package/dist/patterns/LexicalEditor/nodes/nodes.d.ts +2 -4
  350. package/dist/patterns/LexicalEditor/nodes/nodes.js +0 -6
  351. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdder.js +51 -51
  352. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdderPlugin.js +11 -11
  353. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/menu.svg +7 -7
  354. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/plus.svg +2 -2
  355. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/useContextMenuOptions.js +10 -10
  356. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuItem.js +32 -32
  357. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuList.js +32 -32
  358. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuPlugin.js +13 -19
  359. package/dist/patterns/LexicalEditor/plugins/FloatingLinkEditorPlugin/FloatingLinkEditor.js +49 -49
  360. package/dist/patterns/LexicalEditor/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatPopup.js +36 -36
  361. package/dist/patterns/LexicalEditor/plugins/ParagraphPlaceholderPlugin/index.js +7 -7
  362. package/dist/patterns/LexicalEditor/theme.d.ts +0 -6
  363. package/dist/patterns/LexicalEditor/theme.js +243 -279
  364. package/dist/patterns/SegmentedControl/SegmentedControlButton.js +10 -10
  365. package/dist/patterns/SegmentedControl/SegmentedControlGroup.js +8 -8
  366. package/dist/patterns/SegmentedControl/SegmentedControlSquareButton.js +2 -2
  367. package/dist/patterns/Tabs.js +43 -43
  368. package/dist/patterns/ToggleButtonGroup/ToggleButton.js +40 -40
  369. package/dist/patterns/ToggleButtonGroup/ToggleButtonGroup.js +11 -11
  370. package/dist/utils/hover.js +12 -12
  371. package/dist/utils/reset.js +19 -19
  372. package/dist/utils/visuallyHidden.js +10 -10
  373. package/package.json +110 -110
  374. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContainerNode.d.ts +0 -32
  375. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContainerNode.js +0 -128
  376. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContentNode.d.ts +0 -23
  377. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContentNode.js +0 -88
  378. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleTitleNode.d.ts +0 -23
  379. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleTitleNode.js +0 -103
  380. package/dist/patterns/LexicalEditor/plugins/TogglePlugin/index.d.ts +0 -9
  381. package/dist/patterns/LexicalEditor/plugins/TogglePlugin/index.js +0 -146
  382. package/dist/patterns/LexicalEditor/utils/toggleUtils.d.ts +0 -9
  383. package/dist/patterns/LexicalEditor/utils/toggleUtils.js +0 -18
@@ -1,128 +0,0 @@
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/CollapsibleContainerNode.ts
9
- // details, summary 구조의 타이틀(summary) 클릭 시 토글 기능의 방지를 위해
10
- // CHROME 브라우저를 포함한 모든 브라우저에서 div 요소로 그려지도록 수정했습니다.
11
- import { addClassNamesToElement } from "@lexical/utils";
12
- import { $getSiblingCaret, $isElementNode, $rewindSiblingCaret, ElementNode, isHTMLElement, } from "lexical";
13
- import { setDomHiddenUntilFound } from "../../utils/toggleUtils";
14
- export function $convertToggleContainerElement(domNode) {
15
- // open 속성이 없으면 기본값 false
16
- const isOpen = "open" in domNode ? domNode.open : false;
17
- const node = $createToggleContainerNode(isOpen);
18
- return {
19
- node,
20
- };
21
- }
22
- export class ToggleContainerNode extends ElementNode {
23
- constructor(open, key) {
24
- super(key);
25
- this.__open = open;
26
- }
27
- static getType() {
28
- return "toggle-container";
29
- }
30
- static clone(node) {
31
- return new ToggleContainerNode(node.__open, node.__key);
32
- }
33
- isShadowRoot() {
34
- return true;
35
- }
36
- collapseAtStart(_selection) {
37
- // Unwrap the ToggleContainerNode by replacing it with the children
38
- // of its children (ToggleTitleNode, ToggleContentNode)
39
- const nodesToInsert = [];
40
- for (const child of this.getChildren()) {
41
- if ($isElementNode(child)) {
42
- nodesToInsert.push(...child.getChildren());
43
- }
44
- }
45
- const caret = $rewindSiblingCaret($getSiblingCaret(this, "previous"));
46
- caret.splice(1, nodesToInsert);
47
- // Merge the first child of the ToggleTitleNode with the
48
- // previous sibling of the ToggleContainerNode
49
- if (nodesToInsert.length === 0)
50
- return true;
51
- const firstChild = nodesToInsert[0];
52
- firstChild.selectStart().deleteCharacter(true);
53
- return true;
54
- }
55
- // IS_CHROME 분기 제거
56
- createDOM(config) {
57
- const dom = document.createElement("div");
58
- dom.setAttribute("open", "");
59
- addClassNamesToElement(dom, config.theme.toggle.container);
60
- return dom;
61
- }
62
- // IS_CHROME 분기 제거
63
- updateDOM(prevNode, dom) {
64
- const currentOpen = this.__open;
65
- if (prevNode.__open !== currentOpen) {
66
- const contentDom = dom.children[1];
67
- if (!isHTMLElement(contentDom)) {
68
- throw new Error("Expected contentDom to be an HTMLElement");
69
- }
70
- if (currentOpen) {
71
- dom.setAttribute("open", "");
72
- contentDom.hidden = false;
73
- }
74
- else {
75
- dom.removeAttribute("open");
76
- setDomHiddenUntilFound(contentDom);
77
- }
78
- // 토글 버튼 클릭 또는 타이틀 영역의 엔터 키 입력으로 토글되는 경우
79
- // ToggleTitleNode의 아이콘 버튼의 aria-expanded 속성 업데이트
80
- const titleDom = dom.children[0];
81
- if (!isHTMLElement(titleDom)) {
82
- throw new Error("Expected titleDom to be an HTMLElement");
83
- }
84
- const iconButton = titleDom.firstElementChild;
85
- if (iconButton) {
86
- iconButton.setAttribute("aria-expanded", currentOpen.toString());
87
- }
88
- }
89
- return false;
90
- }
91
- static importDOM() {
92
- return {
93
- details: (_domNode) => ({
94
- conversion: $convertToggleContainerElement,
95
- priority: 1,
96
- }),
97
- };
98
- }
99
- static importJSON(serializedNode) {
100
- return $createToggleContainerNode(serializedNode.open).updateFromJSON(serializedNode);
101
- }
102
- // className 적용을 위한 editor 파라미터 추가
103
- exportDOM(editor) {
104
- const element = document.createElement("details");
105
- addClassNamesToElement(element, editor._config.theme.toggle.container);
106
- element.setAttribute("open", this.__open.toString());
107
- return { element };
108
- }
109
- exportJSON() {
110
- return Object.assign(Object.assign({}, super.exportJSON()), { open: this.__open });
111
- }
112
- setOpen(open) {
113
- const writable = this.getWritable();
114
- writable.__open = open;
115
- }
116
- getOpen() {
117
- return this.getLatest().__open;
118
- }
119
- toggleOpen() {
120
- this.setOpen(!this.getOpen());
121
- }
122
- }
123
- export function $createToggleContainerNode(isOpen) {
124
- return new ToggleContainerNode(isOpen);
125
- }
126
- export function $isToggleContainerNode(node) {
127
- return node instanceof ToggleContainerNode;
128
- }
@@ -1,23 +0,0 @@
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
- import { DOMConversionMap, DOMConversionOutput, DOMExportOutput, EditorConfig, ElementNode, LexicalEditor, LexicalNode, SerializedElementNode } from "lexical";
9
- type SerializedToggleContentNode = SerializedElementNode;
10
- export declare function $convertToggleContentElement(_domNode: HTMLElement): DOMConversionOutput | null;
11
- export declare class ToggleContentNode extends ElementNode {
12
- static getType(): string;
13
- static clone(node: ToggleContentNode): ToggleContentNode;
14
- createDOM(config: EditorConfig, editor: LexicalEditor): HTMLElement;
15
- updateDOM(_prevNode: this, _dom: HTMLElement): boolean;
16
- static importDOM(): DOMConversionMap | null;
17
- exportDOM(editor: LexicalEditor): DOMExportOutput;
18
- static importJSON(serializedNode: SerializedToggleContentNode): ToggleContentNode;
19
- isShadowRoot(): boolean;
20
- }
21
- export declare function $createToggleContentNode(): ToggleContentNode;
22
- export declare function $isToggleContentNode(node: LexicalNode | null | undefined): node is ToggleContentNode;
23
- export {};
@@ -1,88 +0,0 @@
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/CollapsibleContentNode.ts
9
- import { addClassNamesToElement } from "@lexical/utils";
10
- import { ElementNode, } from "lexical";
11
- import { $isToggleContainerNode } from "./ToggleContainerNode";
12
- import { domOnBeforeMatch, setDomHiddenUntilFound, } from "../../utils/toggleUtils";
13
- const DATA_LEXICAL_TOGGLE_CONTENT = "data-lexical-toggle-content";
14
- export function $convertToggleContentElement(_domNode) {
15
- const node = $createToggleContentNode();
16
- return {
17
- node,
18
- };
19
- }
20
- export class ToggleContentNode extends ElementNode {
21
- static getType() {
22
- return "toggle-content";
23
- }
24
- static clone(node) {
25
- return new ToggleContentNode(node.__key);
26
- }
27
- // IS_CHROME 분기 제거
28
- createDOM(config, editor) {
29
- const dom = document.createElement("div");
30
- addClassNamesToElement(dom, config.theme.toggle.content);
31
- editor.getEditorState().read(() => {
32
- const containerNode = this.getParentOrThrow();
33
- if (!$isToggleContainerNode(containerNode)) {
34
- throw new Error("Expected parent node to be a ToggleContainerNode");
35
- }
36
- if (!containerNode.__open) {
37
- setDomHiddenUntilFound(dom);
38
- }
39
- });
40
- domOnBeforeMatch(dom, () => {
41
- editor.update(() => {
42
- const containerNode = this.getParentOrThrow().getLatest();
43
- if (!$isToggleContainerNode(containerNode)) {
44
- throw new Error("Expected parent node to be a ToggleContainerNode");
45
- }
46
- if (!containerNode.__open) {
47
- containerNode.toggleOpen();
48
- }
49
- });
50
- });
51
- return dom;
52
- }
53
- updateDOM(_prevNode, _dom) {
54
- return false;
55
- }
56
- static importDOM() {
57
- return {
58
- div: (domNode) => {
59
- if (!domNode.hasAttribute(DATA_LEXICAL_TOGGLE_CONTENT)) {
60
- return null;
61
- }
62
- return {
63
- conversion: $convertToggleContentElement,
64
- priority: 2,
65
- };
66
- },
67
- };
68
- }
69
- // className 적용을 위한 editor 파라미터 추가
70
- exportDOM(editor) {
71
- const element = document.createElement("div");
72
- addClassNamesToElement(element, editor._config.theme.toggle.content);
73
- element.setAttribute(DATA_LEXICAL_TOGGLE_CONTENT, "true");
74
- return { element };
75
- }
76
- static importJSON(serializedNode) {
77
- return $createToggleContentNode().updateFromJSON(serializedNode);
78
- }
79
- isShadowRoot() {
80
- return true;
81
- }
82
- }
83
- export function $createToggleContentNode() {
84
- return new ToggleContentNode();
85
- }
86
- export function $isToggleContentNode(node) {
87
- return node instanceof ToggleContentNode;
88
- }
@@ -1,23 +0,0 @@
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
- import { DOMConversionOutput, EditorConfig, ElementNode, LexicalEditor, LexicalNode, RangeSelection } from "lexical";
9
- export declare function $convertToggleTitleElement(_domNode: HTMLElement): DOMConversionOutput | null;
10
- /** @noInheritDoc */
11
- export declare class ToggleTitleNode extends ElementNode {
12
- /** @internal */
13
- $config(): import("lexical").StaticNodeConfigRecord<"toggle-title", {
14
- $transform(node: ToggleTitleNode): void;
15
- extends: typeof ElementNode;
16
- importDOM: import("lexical").DOMConversionMap<HTMLElement>;
17
- }>;
18
- createDOM(config: EditorConfig, editor: LexicalEditor): HTMLElement;
19
- updateDOM(_prevNode: this, _dom: HTMLElement): boolean;
20
- insertNewAfter(_: RangeSelection, restoreSelection?: boolean): ElementNode;
21
- }
22
- export declare function $createToggleTitleNode(): ToggleTitleNode;
23
- export declare function $isToggleTitleNode(node: LexicalNode | null | undefined): node is ToggleTitleNode;
@@ -1,103 +0,0 @@
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/CollapsibleTitleNode.ts
9
- import { addClassNamesToElement } from "@lexical/utils";
10
- import { $createParagraphNode, $isElementNode, buildImportMap, ElementNode, } from "lexical";
11
- import { $isToggleContainerNode } from "./ToggleContainerNode";
12
- import { $isToggleContentNode } from "./ToggleContentNode";
13
- export function $convertToggleTitleElement(_domNode) {
14
- const node = $createToggleTitleNode();
15
- return {
16
- node,
17
- };
18
- }
19
- /** @noInheritDoc */
20
- export class ToggleTitleNode extends ElementNode {
21
- /** @internal */
22
- $config() {
23
- return this.config("toggle-title", {
24
- $transform(node) {
25
- if (node.isEmpty()) {
26
- node.remove();
27
- }
28
- },
29
- extends: ElementNode,
30
- importDOM: buildImportMap({
31
- summary: () => ({
32
- conversion: $convertToggleTitleElement,
33
- priority: 1,
34
- }),
35
- }),
36
- });
37
- }
38
- // IS_CHROME 분기를 제거하여 모든 브라우저에서 클릭 시 토글 이벤트를 수동으로 처리
39
- createDOM(config, editor) {
40
- const dom = document.createElement("summary");
41
- addClassNamesToElement(dom, config.theme.toggle.title);
42
- // 토글 동작을 아이콘 버튼에만 적용하도록 iconBtn 요소를 추가
43
- const iconBtn = document.createElement("div");
44
- addClassNamesToElement(iconBtn, config.theme.toggle.iconBtn);
45
- iconBtn.setAttribute("aria-label", "Toggle content");
46
- iconBtn.setAttribute("contenteditable", "false");
47
- editor.getEditorState().read(() => {
48
- const containerNode = this.getParent();
49
- if ($isToggleContainerNode(containerNode)) {
50
- iconBtn.setAttribute("aria-expanded", containerNode.getOpen().toString());
51
- }
52
- else {
53
- iconBtn.setAttribute("aria-expanded", "false");
54
- }
55
- });
56
- iconBtn.addEventListener("click", () => {
57
- editor.update(() => {
58
- const toggleContainer = this.getLatest().getParentOrThrow();
59
- if (!$isToggleContainerNode(toggleContainer)) {
60
- throw new Error("Expected parent node to be a ToggleContainerNode");
61
- }
62
- toggleContainer.toggleOpen();
63
- });
64
- });
65
- dom.appendChild(iconBtn);
66
- return dom;
67
- }
68
- updateDOM(_prevNode, _dom) {
69
- return false;
70
- }
71
- insertNewAfter(_, restoreSelection = true) {
72
- const containerNode = this.getParentOrThrow();
73
- if (!$isToggleContainerNode(containerNode)) {
74
- throw new Error("ToggleTitleNode expects to be child of ToggleContainerNode");
75
- }
76
- if (containerNode.getOpen()) {
77
- const contentNode = this.getNextSibling();
78
- if (!$isToggleContentNode(contentNode)) {
79
- throw new Error("ToggleTitleNode expects to have ToggleContentNode sibling");
80
- }
81
- const firstChild = contentNode.getFirstChild();
82
- if ($isElementNode(firstChild)) {
83
- return firstChild;
84
- }
85
- else {
86
- const paragraph = $createParagraphNode();
87
- contentNode.append(paragraph);
88
- return paragraph;
89
- }
90
- }
91
- else {
92
- const paragraph = $createParagraphNode();
93
- containerNode.insertAfter(paragraph, restoreSelection);
94
- return paragraph;
95
- }
96
- }
97
- }
98
- export function $createToggleTitleNode() {
99
- return new ToggleTitleNode();
100
- }
101
- export function $isToggleTitleNode(node) {
102
- return node instanceof ToggleTitleNode;
103
- }
@@ -1,9 +0,0 @@
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
- export declare const INSERT_TOGGLE_COMMAND: import("lexical").LexicalCommand<void>;
9
- export declare function TogglePlugin(): null;
@@ -1,146 +0,0 @@
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
- }
@@ -1,9 +0,0 @@
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
- export declare function setDomHiddenUntilFound(dom: HTMLElement): void;
9
- export declare function domOnBeforeMatch(dom: HTMLElement, callback: () => void): void;
@@ -1,18 +0,0 @@
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/CollapsibleUtils.ts
9
- export function setDomHiddenUntilFound(dom) {
10
- // @ts-expect-error 'hidden' 속성은 boolean으로만 정의되어 있지만,
11
- // Chromium 계열 브라우저에서는 실험적으로 'until-found' 문자열 값도 지원한다.
12
- dom.hidden = "until-found";
13
- }
14
- export function domOnBeforeMatch(dom, callback) {
15
- if ("onbeforematch" in dom) {
16
- dom.onbeforematch = callback;
17
- }
18
- }