@team-monolith/cds 1.119.1 → 1.119.2

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 +38 -37
  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 +3 -0
  348. package/dist/patterns/LexicalEditor/nodes/index.js +3 -0
  349. package/dist/patterns/LexicalEditor/nodes/nodes.d.ts +4 -2
  350. package/dist/patterns/LexicalEditor/nodes/nodes.js +6 -0
  351. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContainerNode.d.ts +32 -0
  352. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContainerNode.js +131 -0
  353. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContentNode.d.ts +23 -0
  354. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleContentNode.js +88 -0
  355. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleTitleNode.d.ts +24 -0
  356. package/dist/patterns/LexicalEditor/nodes/toggleNodes/ToggleTitleNode.js +105 -0
  357. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdder.js +51 -51
  358. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/ComponentAdderPlugin.js +11 -11
  359. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/menu.svg +7 -7
  360. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/plus.svg +2 -2
  361. package/dist/patterns/LexicalEditor/plugins/ComponentAdderPlugin/useContextMenuOptions.js +67 -2
  362. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuItem.js +32 -32
  363. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuList.js +32 -32
  364. package/dist/patterns/LexicalEditor/plugins/ComponentPickerMenuPlugin/ComponentPickerMenuPlugin.js +87 -25
  365. package/dist/patterns/LexicalEditor/plugins/FloatingLinkEditorPlugin/FloatingLinkEditor.js +49 -49
  366. package/dist/patterns/LexicalEditor/plugins/FloatingTextFormatToolbarPlugin/FloatingTextFormatPopup.js +36 -36
  367. package/dist/patterns/LexicalEditor/plugins/ParagraphPlaceholderPlugin/index.js +7 -7
  368. package/dist/patterns/LexicalEditor/plugins/TogglePlugin/index.d.ts +9 -0
  369. package/dist/patterns/LexicalEditor/plugins/TogglePlugin/index.js +146 -0
  370. package/dist/patterns/LexicalEditor/theme.d.ts +6 -0
  371. package/dist/patterns/LexicalEditor/theme.js +281 -243
  372. package/dist/patterns/LexicalEditor/utils/toggleUtils.d.ts +9 -0
  373. package/dist/patterns/LexicalEditor/utils/toggleUtils.js +18 -0
  374. package/dist/patterns/SegmentedControl/SegmentedControlButton.js +10 -10
  375. package/dist/patterns/SegmentedControl/SegmentedControlGroup.js +8 -8
  376. package/dist/patterns/SegmentedControl/SegmentedControlSquareButton.js +2 -2
  377. package/dist/patterns/Tabs.js +43 -43
  378. package/dist/patterns/ToggleButtonGroup/ToggleButton.js +40 -40
  379. package/dist/patterns/ToggleButtonGroup/ToggleButtonGroup.js +11 -11
  380. package/dist/utils/hover.js +12 -12
  381. package/dist/utils/reset.js +19 -19
  382. package/dist/utils/visuallyHidden.js +10 -10
  383. package/package.json +110 -110
@@ -15,90 +15,90 @@ import { css, useTheme } from "@emotion/react";
15
15
  import styled from "@emotion/styled";
16
16
  import { forwardRef } from "react";
17
17
  const TYPE_TO_CONTAINER_STYLE = (theme, type) => ({
18
- primary: css `
19
- background: ${theme.color.container.blueContainer};
20
- border: 1px solid ${theme.color.foreground.primary};
21
- color: ${theme.color.container.blueOnContainer};
18
+ primary: css `
19
+ background: ${theme.color.container.blueContainer};
20
+ border: 1px solid ${theme.color.foreground.primary};
21
+ color: ${theme.color.container.blueOnContainer};
22
22
  `,
23
- success: css `
24
- background: ${theme.color.container.greenContainer};
25
- border: 1px solid ${theme.color.background.successActive};
26
- color: ${theme.color.container.greenOnContainer};
23
+ success: css `
24
+ background: ${theme.color.container.greenContainer};
25
+ border: 1px solid ${theme.color.background.successActive};
26
+ color: ${theme.color.container.greenOnContainer};
27
27
  `,
28
- danger: css `
29
- background: ${theme.color.container.redContainer};
30
- border: 1px solid ${theme.color.background.dangerActive};
31
- color: ${theme.color.container.redOnContainer};
28
+ danger: css `
29
+ background: ${theme.color.container.redContainer};
30
+ border: 1px solid ${theme.color.background.dangerActive};
31
+ color: ${theme.color.container.redOnContainer};
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
- success: css `
41
- background: ${theme.color.background.successActive};
42
- border: 1px solid ${theme.color.background.successActive};
43
- color: ${theme.color.foreground.neutralAlt};
40
+ success: css `
41
+ background: ${theme.color.background.successActive};
42
+ border: 1px solid ${theme.color.background.successActive};
43
+ color: ${theme.color.foreground.neutralAlt};
44
44
  `,
45
- danger: css `
46
- background: ${theme.color.background.dangerActive};
47
- border: 1px solid ${theme.color.background.dangerActive};
48
- color: ${theme.color.foreground.neutralAlt};
45
+ danger: css `
46
+ background: ${theme.color.background.dangerActive};
47
+ border: 1px solid ${theme.color.background.dangerActive};
48
+ color: ${theme.color.foreground.neutralAlt};
49
49
  `,
50
50
  })[type];
51
51
  /** 비지니스 로직과 무관한 SelectBox를 그리는 공통 컴포넌트입니다. */
52
52
  export const SelectBoxComponent = forwardRef(function SelectBoxComponent(props, ref) {
53
53
  const { className, indexClassName, contentClassName, type, index, image, text, endIcon, onClick } = props, restProps = __rest(props, ["className", "indexClassName", "contentClassName", "type", "index", "image", "text", "endIcon", "onClick"]);
54
54
  const theme = useTheme();
55
- return (_jsxs(Container, Object.assign({ className: className, ref: ref }, restProps, { css: type ? TYPE_TO_CONTAINER_STYLE(theme, type) : undefined, onClick: onClick, children: [_jsx(Index, { className: indexClassName, "aria-hidden": "true", css: type ? TYPE_TO_INDEX_STYLE(theme, type) : undefined, children: index }), _jsxs(Content, { className: contentClassName, "aria-hidden": "true", children: [image && (_jsx("img", { "aria-hidden": "true", src: image.src, alt: image.altText, css: css `
56
- height: auto;
57
- // 이미지로 인해 좌우로 스크롤이 생기는 것을 방지
58
- max-width: 100%;
59
- width: fit-content;
60
- border-radius: 6px;
55
+ return (_jsxs(Container, Object.assign({ className: className, ref: ref }, restProps, { css: type ? TYPE_TO_CONTAINER_STYLE(theme, type) : undefined, onClick: onClick, children: [_jsx(Index, { className: indexClassName, "aria-hidden": "true", css: type ? TYPE_TO_INDEX_STYLE(theme, type) : undefined, children: index }), _jsxs(Content, { className: contentClassName, "aria-hidden": "true", children: [image && (_jsx("img", { "aria-hidden": "true", src: image.src, alt: image.altText, css: css `
56
+ height: auto;
57
+ // 이미지로 인해 좌우로 스크롤이 생기는 것을 방지
58
+ max-width: 100%;
59
+ width: fit-content;
60
+ border-radius: 6px;
61
61
  ` })), text] }), endIcon] })));
62
62
  });
63
- const Container = styled.div(({ theme, onClick }) => css `
64
- ${onClick && "cursor: pointer;"}
65
- display: flex;
66
- box-sizing: border-box;
67
- width: 400px;
68
- padding: 12px;
69
- gap: 12px;
70
- border-radius: 8px;
71
- background: ${theme.color.background.neutralAlt};
72
- border: 1px solid transparent;
73
- color: ${theme.color.foreground.neutralBase};
63
+ const Container = styled.div(({ theme, onClick }) => css `
64
+ ${onClick && "cursor: pointer;"}
65
+ display: flex;
66
+ box-sizing: border-box;
67
+ width: 400px;
68
+ padding: 12px;
69
+ gap: 12px;
70
+ border-radius: 8px;
71
+ background: ${theme.color.background.neutralAlt};
72
+ border: 1px solid transparent;
73
+ color: ${theme.color.foreground.neutralBase};
74
74
  `);
75
- const Index = styled.div(({ theme }) => css `
76
- display: flex;
77
- box-sizing: border-box;
78
- width: 20px;
79
- height: 20px;
80
- padding: 4px;
81
-
82
- user-select: none; /* Standard syntax */
83
-
84
- justify-content: center;
85
- align-items: center;
86
- border-radius: 4px;
87
- border: 1px solid ${theme.color.background.neutralAltActive};
88
- background: ${theme.color.background.neutralBase};
89
- color: ${theme.color.foreground.neutralBaseDisabled};
90
- font-family: ${theme.fontFamily.ui};
91
- font-size: 14px;
92
- font-weight: 800;
93
- line-height: 16px;
75
+ const Index = styled.div(({ theme }) => css `
76
+ display: flex;
77
+ box-sizing: border-box;
78
+ width: 20px;
79
+ height: 20px;
80
+ padding: 4px;
81
+
82
+ user-select: none; /* Standard syntax */
83
+
84
+ justify-content: center;
85
+ align-items: center;
86
+ border-radius: 4px;
87
+ border: 1px solid ${theme.color.background.neutralAltActive};
88
+ background: ${theme.color.background.neutralBase};
89
+ color: ${theme.color.foreground.neutralBaseDisabled};
90
+ font-family: ${theme.fontFamily.ui};
91
+ font-size: 14px;
92
+ font-weight: 800;
93
+ line-height: 16px;
94
94
  `);
95
- const Content = styled.div(({ theme }) => css `
96
- display: flex;
97
- flex-direction: column;
98
- gap: 12px;
99
- flex: 1;
100
- font-family: ${theme.fontFamily.ui};
101
- font-size: 16px;
102
- font-weight: 400;
103
- line-height: 20px;
95
+ const Content = styled.div(({ theme }) => css `
96
+ display: flex;
97
+ flex-direction: column;
98
+ gap: 12px;
99
+ flex: 1;
100
+ font-family: ${theme.fontFamily.ui};
101
+ font-size: 16px;
102
+ font-weight: 400;
103
+ line-height: 20px;
104
104
  `);
@@ -6,8 +6,8 @@ import { SelectBoxComponent } from "./SelectBoxComponent";
6
6
  export function SelectBoxEdit(props) {
7
7
  const { index, isAnswer, image, text, onClick } = props;
8
8
  const theme = useTheme();
9
- return (_jsx(SelectBoxComponent, { index: index, image: image, text: text, endIcon: isAnswer && (_jsx(CheckboxCircleFillIcon, { color: theme.color.foreground.success, css: css `
10
- width: 16px;
11
- height: 16px;
9
+ return (_jsx(SelectBoxComponent, { index: index, image: image, text: text, endIcon: isAnswer && (_jsx(CheckboxCircleFillIcon, { color: theme.color.foreground.success, css: css `
10
+ width: 16px;
11
+ height: 16px;
12
12
  ` })), onClick: onClick }));
13
13
  }
@@ -9,17 +9,17 @@ import { useEventListener } from "usehooks-ts";
9
9
  import { i18n } from "../../../../../i18n/i18n";
10
10
  import { useTranslation } from "react-i18next";
11
11
  const TYPE_TO_INDEX_ICON = (type) => ({
12
- primary: (_jsx(CheckFillIcon, { css: css `
13
- width: 12px;
14
- height: 12px;
12
+ primary: (_jsx(CheckFillIcon, { css: css `
13
+ width: 12px;
14
+ height: 12px;
15
15
  ` })),
16
- success: (_jsx(CheckboxCircleFillIcon, { css: css `
17
- width: 12px;
18
- height: 12px;
16
+ success: (_jsx(CheckboxCircleFillIcon, { css: css `
17
+ width: 12px;
18
+ height: 12px;
19
19
  ` })),
20
- danger: (_jsx(CloseCircleFillIcon, { css: css `
21
- width: 12px;
22
- height: 12px;
20
+ danger: (_jsx(CloseCircleFillIcon, { css: css `
21
+ width: 12px;
22
+ height: 12px;
23
23
  ` })),
24
24
  })[type];
25
25
  /**
@@ -81,14 +81,14 @@ export function SelectBoxView(props) {
81
81
  const ariaText = text ||
82
82
  (image && image.altText) ||
83
83
  t("{{index}}번 선택지", { index, context: "렉시컬 선택지 도구" });
84
- return (_jsx(SelectBoxComponent, { css: css `
85
- width: 100%;
84
+ return (_jsx(SelectBoxComponent, { css: css `
85
+ width: 100%;
86
86
  `, ref: boxRef, role: multipleSelectionsEnabled ? "checkbox" : "radio", "aria-checked": isSelected, "aria-label": [ariaText, description].filter(Boolean).join(" "), tabIndex: onClick ? 0 : -1, type: type, index: type ? TYPE_TO_INDEX_ICON(type) : index, image: image, text: text, onClick: onClick,
87
87
  // 선택되지 않았으나 정답일 때 정답 태그를 표시
88
88
  endIcon: isAnswer &&
89
- !isSelected && (_jsx(Tag, { label: t("정답", { context: "태그, 렉시컬 선택지" }), icon: _jsx(CheckboxCircleFillIcon, {}), color: "green", css: css `
90
- span {
91
- font-weight: 700;
92
- }
89
+ !isSelected && (_jsx(Tag, { label: t("정답", { context: "태그, 렉시컬 선택지" }), icon: _jsx(CheckboxCircleFillIcon, {}), color: "green", css: css `
90
+ span {
91
+ font-weight: 700;
92
+ }
93
93
  ` })) }));
94
94
  }
@@ -26,16 +26,16 @@ export function SelectComponent(props) {
26
26
  selections.filter((s) => "isAnswer" in s && s.isAnswer).length > 1);
27
27
  // view
28
28
  if (!isEditable) {
29
- return (_jsxs("fieldset", { css: css `
30
- display: flex;
31
- flex-direction: column;
32
- gap: 4px;
33
- border: none;
34
- margin: 0;
35
- padding: 0;
36
- `, children: [multipleSelectionsEnabled && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
37
- width: 14px;
38
- height: 14px;
29
+ return (_jsxs("fieldset", { css: css `
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: 4px;
33
+ border: none;
34
+ margin: 0;
35
+ padding: 0;
36
+ `, children: [multipleSelectionsEnabled && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
37
+ width: 14px;
38
+ height: 14px;
39
39
  ` }), getTexts("multipleChoicesProblem")] })), selections.map((selection, index) => (_jsx(SelectBoxView, { multipleSelectionsEnabled: multipleSelectionsEnabled, index: index + 1, isAnswer: showQuizSolution && "isAnswer" in selection
40
40
  ? selection.isAnswer
41
41
  : undefined, isSelected: selected.includes(selection.value), image: selection.show.image, text: selection.show.text, onClick: freezeProblemNode
@@ -68,13 +68,13 @@ export function SelectComponent(props) {
68
68
  } }, index)))] }));
69
69
  }
70
70
  // 교사 edit view
71
- return (_jsxs(_Fragment, { children: [_jsxs("div", { css: css `
72
- display: flex;
73
- gap: 4px;
74
- `, children: [_jsx("div", { css: css `
75
- display: flex;
76
- flex-direction: column;
77
- gap: 4px;
71
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { css: css `
72
+ display: flex;
73
+ gap: 4px;
74
+ `, children: [_jsx("div", { css: css `
75
+ display: flex;
76
+ flex-direction: column;
77
+ gap: 4px;
78
78
  `, children: selections.map((selection, index) => (_jsx(SelectBoxEdit, { index: index + 1, isAnswer: "isAnswer" in selection && selection.isAnswer, image: selection.show.image, text: selection.show.text === "" && selection.show.image === null
79
79
  ? t("{{index}}번 선택지", {
80
80
  index: index + 1,
@@ -84,15 +84,15 @@ export function SelectComponent(props) {
84
84
  setSettingOpen(true);
85
85
  }, "aria-label": t("선택지 설정", { context: "렉시컬 선택지 도구" }) })] }), settingOpen && (_jsx(SettingForm, { selections: selections, nodeKey: nodeKey, onClose: () => setSettingOpen(false) }))] }));
86
86
  }
87
- const Alert = styled.div(({ theme }) => css `
88
- display: flex;
89
- gap: 4px;
90
- margin-bottom: 12px;
91
- color: ${theme.color.foreground.neutralBaseDisabled};
92
- /* Default/Label/12px-Md */
93
- font-family: ${theme.fontFamily.ui};
94
- font-size: 12px;
95
- font-style: normal;
96
- font-weight: 500;
97
- line-height: 16px; /* 133.333% */
87
+ const Alert = styled.div(({ theme }) => css `
88
+ display: flex;
89
+ gap: 4px;
90
+ margin-bottom: 12px;
91
+ color: ${theme.color.foreground.neutralBaseDisabled};
92
+ /* Default/Label/12px-Md */
93
+ font-family: ${theme.fontFamily.ui};
94
+ font-size: 12px;
95
+ font-style: normal;
96
+ font-weight: 500;
97
+ line-height: 16px; /* 133.333% */
98
98
  `);
@@ -21,11 +21,11 @@ export function FormSelection(props) {
21
21
  name: `selections.${index}`,
22
22
  rules,
23
23
  });
24
- return (_jsxs(Container, { children: [_jsx(Index, { children: index + 1 }), _jsxs("div", { css: css `
25
- display: flex;
26
- flex: 1;
27
- flex-direction: column;
28
- gap: 4px;
24
+ return (_jsxs(Container, { children: [_jsx(Index, { children: index + 1 }), _jsxs("div", { css: css `
25
+ display: flex;
26
+ flex: 1;
27
+ flex-direction: column;
28
+ gap: 4px;
29
29
  `, children: [_jsx(InsertImageDialog, { title: value.show.image
30
30
  ? t("이미지 바꾸기", { context: "제목, 이미지 삽입 다이얼로그" })
31
31
  : t("이미지 삽입하기", {
@@ -34,12 +34,12 @@ export function FormSelection(props) {
34
34
  ? () => {
35
35
  onChange(Object.assign(Object.assign({}, value), { show: Object.assign(Object.assign({}, value.show), { image: null }) }));
36
36
  }
37
- : undefined }), value.show.image && (_jsx("img", { src: value.show.image.src, alt: value.show.image.altText, css: css `
38
- height: auto;
39
- // 이미지로 인해 좌우로 스크롤이 생기는 것을 방지
40
- max-width: min(400px, 100%);
41
- width: fit-content;
42
- border-radius: 6px;
37
+ : undefined }), value.show.image && (_jsx("img", { src: value.show.image.src, alt: value.show.image.altText, css: css `
38
+ height: auto;
39
+ // 이미지로 인해 좌우로 스크롤이 생기는 것을 방지
40
+ max-width: min(400px, 100%);
41
+ width: fit-content;
42
+ border-radius: 6px;
43
43
  `, draggable: "false" })), _jsx(Input, { size: "small", color: invalid
44
44
  ? "activeDanger"
45
45
  : inputFocused
@@ -54,13 +54,13 @@ export function FormSelection(props) {
54
54
  }, placeholder: t("{{index}}번 선택지", {
55
55
  index: index + 1,
56
56
  context: "렉시컬 선택지 도구",
57
- }), hintIcon: invalid ? _jsx(ErrorWarningFillIcon, {}) : undefined, hintText: error === null || error === void 0 ? void 0 : error.message, multiline: true, fullWidth: true, css: css `
58
- flex: 1;
59
- ` })] }), _jsxs("div", { css: css `
60
- display: flex;
61
- height: 36px;
62
- gap: 8px;
63
- align-items: center;
57
+ }), hintIcon: invalid ? _jsx(ErrorWarningFillIcon, {}) : undefined, hintText: error === null || error === void 0 ? void 0 : error.message, multiline: true, fullWidth: true, css: css `
58
+ flex: 1;
59
+ ` })] }), _jsxs("div", { css: css `
60
+ display: flex;
61
+ height: 36px;
62
+ gap: 8px;
63
+ align-items: center;
64
64
  `, children: [_jsx(SquareButton, { color: "icon", size: "xsmall", icon: value.show.image ? _jsx(ImageEditFillIcon, {}) : _jsx(ImageAddFillIcon, {}), onClick: () => {
65
65
  setImageOpen(true);
66
66
  }, "aria-label": value.show.image
@@ -77,42 +77,42 @@ export function FormSelection(props) {
77
77
  context: "스퀘어버튼, 렉시컬 객관식 설정창",
78
78
  }) }))] })] }));
79
79
  }
80
- const Container = styled.div(({ theme }) => css `
81
- display: flex;
82
- padding: 4px 12px;
83
- gap: 8px;
84
- border-radius: 8px;
85
- background: ${theme.color.background.neutralAlt};
80
+ const Container = styled.div(({ theme }) => css `
81
+ display: flex;
82
+ padding: 4px 12px;
83
+ gap: 8px;
84
+ border-radius: 8px;
85
+ background: ${theme.color.background.neutralAlt};
86
86
  `);
87
- const Index = styled.div(({ theme }) => css `
88
- display: flex;
89
- box-sizing: border-box;
90
- width: 20px;
91
- height: 20px;
92
- padding: 4px;
93
- margin-top: 8px;
94
- justify-content: center;
95
- align-items: center;
96
- border-radius: 4px;
97
- border: 1px solid ${theme.color.background.neutralAltActive};
98
- background: ${theme.color.background.neutralBase};
99
- color: ${theme.color.foreground.neutralBaseDisabled};
100
- font-family: ${theme.fontFamily.ui};
101
- font-size: 14px;
102
- font-weight: 800;
103
- line-height: 16px;
87
+ const Index = styled.div(({ theme }) => css `
88
+ display: flex;
89
+ box-sizing: border-box;
90
+ width: 20px;
91
+ height: 20px;
92
+ padding: 4px;
93
+ margin-top: 8px;
94
+ justify-content: center;
95
+ align-items: center;
96
+ border-radius: 4px;
97
+ border: 1px solid ${theme.color.background.neutralAltActive};
98
+ background: ${theme.color.background.neutralBase};
99
+ color: ${theme.color.foreground.neutralBaseDisabled};
100
+ font-family: ${theme.fontFamily.ui};
101
+ font-size: 14px;
102
+ font-weight: 800;
103
+ line-height: 16px;
104
104
  `);
105
- const Answer = styled.label(({ theme }) => css `
106
- display: flex;
107
- align-items: center;
108
- padding-right: 4px;
109
- gap: 8px;
110
- color: ${theme.color.foreground.neutralBase};
111
- cursor: pointer;
112
- /* Default/Label/14px-Md */
113
- font-family: ${theme.fontFamily.ui};
114
- font-size: 14px;
115
- font-style: normal;
116
- font-weight: 500;
117
- line-height: 16px; /* 114.286% */
105
+ const Answer = styled.label(({ theme }) => css `
106
+ display: flex;
107
+ align-items: center;
108
+ padding-right: 4px;
109
+ gap: 8px;
110
+ color: ${theme.color.foreground.neutralBase};
111
+ cursor: pointer;
112
+ /* Default/Label/14px-Md */
113
+ font-family: ${theme.fontFamily.ui};
114
+ font-size: 14px;
115
+ font-style: normal;
116
+ font-weight: 500;
117
+ line-height: 16px; /* 114.286% */
118
118
  `);
@@ -62,9 +62,9 @@ export function SettingForm(props) {
62
62
  const answersCount = watch("selections").filter((selection) => selection.isAnswer).length;
63
63
  const hasMultipleAnswers = answersCount > 1;
64
64
  const hasAnswer = answersCount > 0;
65
- return (_jsxs(Form, { onSubmit: handleSubmit(onSettingSubmit), children: [_jsxs(Title, { children: [_jsx(ListRadioIcon, { css: css `
66
- width: 12px;
67
- height: 12px;
65
+ return (_jsxs(Form, { onSubmit: handleSubmit(onSettingSubmit), children: [_jsxs(Title, { children: [_jsx(ListRadioIcon, { css: css `
66
+ width: 12px;
67
+ height: 12px;
68
68
  ` }), t("객관식 입력 칸", { context: "렉시컬 도구 설정창" })] }), _jsxs(Content, { children: [_jsxs(FormArea, { children: [_jsx(Label, { children: t("답안") }), fields.map((field, index) => (_jsx(FormSelection, { index: index, control: control, rules: {
69
69
  validate: {
70
70
  validateRequired,
@@ -87,70 +87,70 @@ export function SettingForm(props) {
87
87
  },
88
88
  value: uid(),
89
89
  });
90
- }, disabled: fields.length >= 9 }), hasMultipleAnswers && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
91
- width: 14px;
92
- height: 14px;
90
+ }, disabled: fields.length >= 9 }), hasMultipleAnswers && (_jsxs(Alert, { children: [_jsx(AlarmWarningFillIcon, { css: css `
91
+ width: 14px;
92
+ height: 14px;
93
93
  ` }), t("정답이 여러 개인 문제에는 정답을 모두 선택해야 한다는 안내가 제공됩니다.")] }))] }), _jsxs(Buttons, { children: [_jsx(Button, { color: "grey", size: "xsmall", label: t("닫기", { context: "렉시컬 도구 설정창" }), onClick: onClose }), _jsx(Tooltip, { open: !hasAnswer && tooltipOpen, text: t("선택지 중 정답을 표시해주세요."), onOpen: () => setTooltipOpen(true), onClose: () => setTooltipOpen(false), placement: "top-end", children: _jsx("span", { children: _jsx(Button, { color: "primary", size: "xsmall", label: t("이대로 넣기", { context: "렉시컬 도구 설정창" }), type: "submit", disabled: !hasAnswer }) }) })] })] }));
94
94
  }
95
- const Form = styled.form(({ theme }) => css `
96
- display: flex;
97
- width: 620px;
98
- flex-direction: column;
99
- border-radius: 6px;
100
- border: 1px solid ${theme.color.background.neutralAltActive};
101
- background: ${theme.color.background.neutralBase};
102
- box-shadow: ${shadows.shadow08};
95
+ const Form = styled.form(({ theme }) => css `
96
+ display: flex;
97
+ width: 620px;
98
+ flex-direction: column;
99
+ border-radius: 6px;
100
+ border: 1px solid ${theme.color.background.neutralAltActive};
101
+ background: ${theme.color.background.neutralBase};
102
+ box-shadow: ${shadows.shadow08};
103
103
  `);
104
- const Title = styled.div(({ theme }) => css `
105
- display: flex;
106
- padding: 8px 12px;
107
- gap: 4px;
108
- align-items: center;
109
- color: ${theme.color.foreground.neutralBase};
110
- /* Default/Label/12px-Md */
111
- font-family: ${theme.fontFamily.ui};
112
- font-size: 12px;
113
- font-style: normal;
114
- font-weight: 500;
115
- line-height: 16px; /* 133.333% */
104
+ const Title = styled.div(({ theme }) => css `
105
+ display: flex;
106
+ padding: 8px 12px;
107
+ gap: 4px;
108
+ align-items: center;
109
+ color: ${theme.color.foreground.neutralBase};
110
+ /* Default/Label/12px-Md */
111
+ font-family: ${theme.fontFamily.ui};
112
+ font-size: 12px;
113
+ font-style: normal;
114
+ font-weight: 500;
115
+ line-height: 16px; /* 133.333% */
116
116
  `);
117
- const Content = styled.div(({ theme }) => css `
118
- display: flex;
119
- flex-direction: column;
120
- gap: 12px;
121
- padding: 12px;
122
- border-top: 1px solid ${theme.color.background.neutralAltActive};
123
- border-bottom: 1px solid ${theme.color.background.neutralAltActive};
117
+ const Content = styled.div(({ theme }) => css `
118
+ display: flex;
119
+ flex-direction: column;
120
+ gap: 12px;
121
+ padding: 12px;
122
+ border-top: 1px solid ${theme.color.background.neutralAltActive};
123
+ border-bottom: 1px solid ${theme.color.background.neutralAltActive};
124
124
  `);
125
- const FormArea = styled.div `
126
- display: flex;
127
- flex-direction: column;
128
- gap: 8px;
125
+ const FormArea = styled.div `
126
+ display: flex;
127
+ flex-direction: column;
128
+ gap: 8px;
129
129
  `;
130
- const Label = styled.div(({ theme }) => css `
131
- color: ${theme.color.foreground.neutralBaseDisabled};
132
- /* Default/Label/12px-Md */
133
- font-family: ${theme.fontFamily.ui};
134
- font-size: 12px;
135
- font-style: normal;
136
- font-weight: 500;
137
- line-height: 16px; /* 133.333% */
130
+ const Label = styled.div(({ theme }) => css `
131
+ color: ${theme.color.foreground.neutralBaseDisabled};
132
+ /* Default/Label/12px-Md */
133
+ font-family: ${theme.fontFamily.ui};
134
+ font-size: 12px;
135
+ font-style: normal;
136
+ font-weight: 500;
137
+ line-height: 16px; /* 133.333% */
138
138
  `);
139
- const Buttons = styled.div `
140
- display: flex;
141
- padding: 12px;
142
- justify-content: flex-end;
143
- align-items: center;
144
- gap: 8px;
139
+ const Buttons = styled.div `
140
+ display: flex;
141
+ padding: 12px;
142
+ justify-content: flex-end;
143
+ align-items: center;
144
+ gap: 8px;
145
145
  `;
146
- const Alert = styled.div(({ theme }) => css `
147
- display: flex;
148
- gap: 4px;
149
- color: ${theme.color.foreground.neutralBaseDisabled};
150
- /* Default/Label/12px-Md */
151
- font-family: ${theme.fontFamily.ui};
152
- font-size: 12px;
153
- font-style: normal;
154
- font-weight: 500;
155
- line-height: 16px; /* 133.333% */
146
+ const Alert = styled.div(({ theme }) => css `
147
+ display: flex;
148
+ gap: 4px;
149
+ color: ${theme.color.foreground.neutralBaseDisabled};
150
+ /* Default/Label/12px-Md */
151
+ font-family: ${theme.fontFamily.ui};
152
+ font-size: 12px;
153
+ font-style: normal;
154
+ font-weight: 500;
155
+ line-height: 16px; /* 133.333% */
156
156
  `);