@tipp/ui 2.10.3 → 2.10.5

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 (337) hide show
  1. package/dist/app/index.cjs +385 -359
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +82 -80
  4. package/dist/app/platform/coach-question-list.cjs +58 -35
  5. package/dist/app/platform/coach-question-list.cjs.map +1 -1
  6. package/dist/app/platform/coach-question-list.js +30 -29
  7. package/dist/app/platform/contents-card.cjs +120 -97
  8. package/dist/app/platform/contents-card.cjs.map +1 -1
  9. package/dist/app/platform/contents-card.js +30 -29
  10. package/dist/app/platform/curriculum-card.cjs +39 -16
  11. package/dist/app/platform/curriculum-card.cjs.map +1 -1
  12. package/dist/app/platform/curriculum-card.js +5 -4
  13. package/dist/app/platform/edit-coaching-time.cjs +160 -134
  14. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  15. package/dist/app/platform/edit-coaching-time.js +66 -64
  16. package/dist/app/platform/edit-service-type.cjs +152 -126
  17. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  18. package/dist/app/platform/edit-service-type.js +66 -64
  19. package/dist/app/platform/goal-manage-card-edit.cjs +162 -136
  20. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  21. package/dist/app/platform/goal-manage-card-edit.js +67 -65
  22. package/dist/app/platform/goal-manage-card-read.cjs +88 -65
  23. package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
  24. package/dist/app/platform/goal-manage-card-read.js +30 -29
  25. package/dist/app/platform/on-offline-radio-card.cjs +303 -277
  26. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  27. package/dist/app/platform/on-offline-radio-card.js +66 -64
  28. package/dist/app/platform/report-card.cjs +61 -38
  29. package/dist/app/platform/report-card.cjs.map +1 -1
  30. package/dist/app/platform/report-card.js +30 -29
  31. package/dist/app/platform/reservation-card.cjs +176 -150
  32. package/dist/app/platform/reservation-card.cjs.map +1 -1
  33. package/dist/app/platform/reservation-card.js +67 -65
  34. package/dist/app/platform/session-card.cjs +205 -179
  35. package/dist/app/platform/session-card.cjs.map +1 -1
  36. package/dist/app/platform/session-card.js +67 -65
  37. package/dist/app/platform/session-review-simple-read.cjs +59 -36
  38. package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
  39. package/dist/app/platform/session-review-simple-read.js +30 -29
  40. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +92 -69
  41. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs.map +1 -1
  42. package/dist/app/platform/userInfos/coaching-customer-info/index.js +34 -33
  43. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +69 -46
  44. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs.map +1 -1
  45. package/dist/app/platform/userInfos/coaching-customer-info/large.js +30 -29
  46. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +72 -49
  47. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs.map +1 -1
  48. package/dist/app/platform/userInfos/coaching-customer-info/medium.js +30 -29
  49. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +58 -35
  50. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs.map +1 -1
  51. package/dist/app/platform/userInfos/coaching-customer-info/small.js +29 -28
  52. package/dist/app/platform/userInfos/session-user-info-detail.cjs +68 -45
  53. package/dist/app/platform/userInfos/session-user-info-detail.cjs.map +1 -1
  54. package/dist/app/platform/userInfos/session-user-info-detail.js +29 -28
  55. package/dist/app/platform/userInfos/utils.cjs +60 -37
  56. package/dist/app/platform/userInfos/utils.cjs.map +1 -1
  57. package/dist/app/platform/userInfos/utils.js +29 -28
  58. package/dist/app/roleplay/index.cjs +463 -389
  59. package/dist/app/roleplay/index.cjs.map +1 -1
  60. package/dist/app/roleplay/index.js +78 -76
  61. package/dist/app/roleplay/parts/analysis-section.cjs +64 -41
  62. package/dist/app/roleplay/parts/analysis-section.cjs.map +1 -1
  63. package/dist/app/roleplay/parts/analysis-section.js +29 -28
  64. package/dist/app/roleplay/parts/coaching-panel.cjs +65 -42
  65. package/dist/app/roleplay/parts/coaching-panel.cjs.map +1 -1
  66. package/dist/app/roleplay/parts/coaching-panel.js +30 -29
  67. package/dist/app/roleplay/parts/content.cjs +389 -315
  68. package/dist/app/roleplay/parts/content.cjs.map +1 -1
  69. package/dist/app/roleplay/parts/content.js +74 -72
  70. package/dist/app/roleplay/parts/header.cjs +82 -59
  71. package/dist/app/roleplay/parts/header.cjs.map +1 -1
  72. package/dist/app/roleplay/parts/header.js +30 -29
  73. package/dist/app/roleplay/parts/score-summary.cjs +77 -54
  74. package/dist/app/roleplay/parts/score-summary.cjs.map +1 -1
  75. package/dist/app/roleplay/parts/score-summary.js +30 -29
  76. package/dist/app/roleplay/parts/score-trend-section.cjs +232 -158
  77. package/dist/app/roleplay/parts/score-trend-section.cjs.map +1 -1
  78. package/dist/app/roleplay/parts/score-trend-section.js +70 -68
  79. package/dist/app/roleplay/parts/script-transcript.cjs +73 -50
  80. package/dist/app/roleplay/parts/script-transcript.cjs.map +1 -1
  81. package/dist/app/roleplay/parts/script-transcript.js +29 -28
  82. package/dist/app/roleplay/parts/section-nav.cjs +94 -71
  83. package/dist/app/roleplay/parts/section-nav.cjs.map +1 -1
  84. package/dist/app/roleplay/parts/section-nav.js +29 -28
  85. package/dist/app/roleplay/parts/session-replay-dialog.cjs +83 -60
  86. package/dist/app/roleplay/parts/session-replay-dialog.cjs.map +1 -1
  87. package/dist/app/roleplay/parts/session-replay-dialog.js +29 -28
  88. package/dist/app/roleplay/parts/speech-share-bar.cjs +60 -37
  89. package/dist/app/roleplay/parts/speech-share-bar.cjs.map +1 -1
  90. package/dist/app/roleplay/parts/speech-share-bar.js +29 -28
  91. package/dist/app/roleplay/parts/step-detail.cjs +78 -55
  92. package/dist/app/roleplay/parts/step-detail.cjs.map +1 -1
  93. package/dist/app/roleplay/parts/step-detail.js +29 -28
  94. package/dist/app/roleplay/parts/step-summary.cjs +78 -55
  95. package/dist/app/roleplay/parts/step-summary.cjs.map +1 -1
  96. package/dist/app/roleplay/parts/step-summary.js +32 -31
  97. package/dist/app/roleplay/rp-session-detail.cjs +463 -389
  98. package/dist/app/roleplay/rp-session-detail.cjs.map +1 -1
  99. package/dist/app/roleplay/rp-session-detail.js +78 -76
  100. package/dist/atoms/index.cjs +82 -59
  101. package/dist/atoms/index.cjs.map +1 -1
  102. package/dist/atoms/index.js +64 -63
  103. package/dist/atoms/pagination.cjs +38 -15
  104. package/dist/atoms/pagination.cjs.map +1 -1
  105. package/dist/atoms/pagination.js +3 -2
  106. package/dist/chunk-2EPKY2VT.js +70 -0
  107. package/dist/chunk-2EPKY2VT.js.map +1 -0
  108. package/dist/{chunk-RZW6FVML.js → chunk-2IRG44IV.js} +2 -2
  109. package/dist/chunk-2PPLSZ4P.js +1 -0
  110. package/dist/{chunk-ZQLHRK36.js → chunk-2XDAK4B7.js} +4 -4
  111. package/dist/{chunk-AHAGCAQR.js → chunk-3DZIX4CE.js} +7 -7
  112. package/dist/{chunk-QOVPEQS3.js → chunk-4GH4R4VJ.js} +4 -4
  113. package/dist/chunk-5DRITHNR.js +1 -0
  114. package/dist/{chunk-QVGQBTSJ.js → chunk-5IGBFB67.js} +10 -10
  115. package/dist/{chunk-OBJA26HX.js → chunk-6GODZ2YW.js} +8 -8
  116. package/dist/{chunk-UAUA3PMP.js → chunk-74PR3ZWJ.js} +4 -4
  117. package/dist/{chunk-RPQWRKBW.js → chunk-AYWCLLQ2.js} +7 -7
  118. package/dist/{chunk-KQIUOEBS.js → chunk-C4INJWFV.js} +4 -4
  119. package/dist/{chunk-RBWD6IKY.js → chunk-CBYIPRND.js} +4 -4
  120. package/dist/{chunk-JTVBWQJW.js → chunk-CGLDFUOY.js} +4 -4
  121. package/dist/{chunk-PBKV2YMF.js → chunk-CPSXONQO.js} +9 -9
  122. package/dist/{chunk-K4QH4R3O.js → chunk-CUS3ORMD.js} +4 -4
  123. package/dist/{chunk-H533TE6M.js → chunk-D4U2ZV2A.js} +4 -4
  124. package/dist/{chunk-RRC4WFG3.js → chunk-DIFGHMGI.js} +2 -2
  125. package/dist/{chunk-EXMCCYI2.js → chunk-DPMDQA3O.js} +4 -4
  126. package/dist/{chunk-L4KGHM2H.js → chunk-EJXZXUD2.js} +10 -10
  127. package/dist/{chunk-ZIHVLMT5.js → chunk-GA6W62DO.js} +4 -4
  128. package/dist/{chunk-P2H3VCIB.js → chunk-HL3MGRAC.js} +4 -4
  129. package/dist/chunk-IAKMJR72.js +33 -0
  130. package/dist/chunk-IAKMJR72.js.map +1 -0
  131. package/dist/{chunk-6UWQKH6U.js → chunk-IHLFOJD5.js} +2 -2
  132. package/dist/{chunk-SX46O67F.js → chunk-ISSUGCCY.js} +4 -4
  133. package/dist/{chunk-3ZJVSSAA.js → chunk-KQ3ME6XY.js} +8 -8
  134. package/dist/{chunk-YYVSUTXO.js → chunk-LK2H4QTJ.js} +4 -4
  135. package/dist/{chunk-XMZYZJTH.js → chunk-N3FMP27I.js} +4 -4
  136. package/dist/{chunk-UMLYWHB2.js → chunk-NK6S7ZMB.js} +4 -4
  137. package/dist/{chunk-RJ7XSZ2V.js → chunk-OPIVSYLN.js} +4 -4
  138. package/dist/{chunk-NVBAOOAT.js → chunk-OUDDTPEN.js} +4 -4
  139. package/dist/{chunk-V4QYGHOJ.js → chunk-Q2FDF2AB.js} +7 -7
  140. package/dist/{chunk-3FVDFMKP.js → chunk-RBU2TRYY.js} +9 -9
  141. package/dist/{chunk-PS525SZS.js → chunk-RJ62VZ6O.js} +3 -3
  142. package/dist/{chunk-WJ35Y2IU.js → chunk-SQ3FYBJT.js} +2 -2
  143. package/dist/{chunk-2H635UNE.js → chunk-TYM6T7JT.js} +2 -2
  144. package/dist/{chunk-5RIAIE2J.js → chunk-U4XM7VNI.js} +9 -3
  145. package/dist/chunk-U4XM7VNI.js.map +1 -0
  146. package/dist/{chunk-HNAZV4MI.js → chunk-V7KAHLW2.js} +5 -5
  147. package/dist/{chunk-PVDHXFLT.js → chunk-VBXZIIUA.js} +4 -4
  148. package/dist/{chunk-TDWMI7ZT.js → chunk-VBYXXISC.js} +5 -5
  149. package/dist/{chunk-77J4AZEO.js → chunk-VJREZH2Z.js} +4 -4
  150. package/dist/{chunk-66SUBB2N.js → chunk-W7LO5KYT.js} +9 -9
  151. package/dist/{chunk-RJN4QT5J.js → chunk-WLKK5L3P.js} +7 -7
  152. package/dist/{chunk-A5AZWTXV.js → chunk-WYHDQK2S.js} +7 -7
  153. package/dist/{chunk-54GRMFDC.js → chunk-X3TBEGPA.js} +4 -4
  154. package/dist/context/index.js +1 -1
  155. package/dist/icon.cjs +25 -0
  156. package/dist/icon.cjs.map +1 -1
  157. package/dist/icon.d.cts +1 -0
  158. package/dist/icon.d.ts +1 -0
  159. package/dist/icon.js +7 -3
  160. package/dist/icons/empty-box.cjs +90 -0
  161. package/dist/icons/empty-box.cjs.map +1 -0
  162. package/dist/icons/empty-box.d.cts +13 -0
  163. package/dist/icons/empty-box.d.ts +13 -0
  164. package/dist/icons/empty-box.js +8 -0
  165. package/dist/icons/empty-box.js.map +1 -0
  166. package/dist/icons/index.cjs +25 -0
  167. package/dist/icons/index.cjs.map +1 -1
  168. package/dist/icons/index.d.cts +1 -0
  169. package/dist/icons/index.d.ts +1 -0
  170. package/dist/icons/index.js +7 -3
  171. package/dist/index.cjs +963 -885
  172. package/dist/index.cjs.map +1 -1
  173. package/dist/index.d.cts +2 -0
  174. package/dist/index.d.ts +2 -0
  175. package/dist/index.js +156 -148
  176. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs +95 -72
  177. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs.map +1 -1
  178. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +11 -10
  179. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs +29 -6
  180. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs.map +1 -1
  181. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +3 -2
  182. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs +71 -48
  183. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs.map +1 -1
  184. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +9 -8
  185. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs +32 -9
  186. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs.map +1 -1
  187. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +3 -2
  188. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs +41 -18
  189. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs.map +1 -1
  190. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +5 -4
  191. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs +33 -10
  192. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs.map +1 -1
  193. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +5 -4
  194. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs +33 -10
  195. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs.map +1 -1
  196. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +4 -3
  197. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs +42 -19
  198. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs.map +1 -1
  199. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +6 -5
  200. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs +37 -14
  201. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs.map +1 -1
  202. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +3 -2
  203. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs +153 -130
  204. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs.map +1 -1
  205. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +14 -13
  206. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs +45 -22
  207. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs.map +1 -1
  208. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +5 -4
  209. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs +30 -7
  210. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs.map +1 -1
  211. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +3 -2
  212. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs +171 -148
  213. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
  214. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +15 -14
  215. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs +220 -197
  216. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
  217. package/dist/molecules/curriculumV2/CurriculumContents/index.js +18 -17
  218. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs +33 -10
  219. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs.map +1 -1
  220. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +3 -2
  221. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs +52 -29
  222. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
  223. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +8 -7
  224. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs +44 -21
  225. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs.map +1 -1
  226. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +6 -5
  227. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs +36 -13
  228. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
  229. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +3 -2
  230. package/dist/molecules/curriculumV2/index.cjs +264 -241
  231. package/dist/molecules/curriculumV2/index.cjs.map +1 -1
  232. package/dist/molecules/curriculumV2/index.js +28 -27
  233. package/dist/molecules/date-picker/date-picker-button.cjs +52 -29
  234. package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
  235. package/dist/molecules/date-picker/date-picker-button.js +3 -2
  236. package/dist/molecules/date-picker/index.cjs +40 -17
  237. package/dist/molecules/date-picker/index.cjs.map +1 -1
  238. package/dist/molecules/date-picker/index.js +3 -2
  239. package/dist/molecules/description-json-render.cjs +31 -8
  240. package/dist/molecules/description-json-render.cjs.map +1 -1
  241. package/dist/molecules/description-json-render.js +5 -4
  242. package/dist/molecules/dynamic-field.js +3 -3
  243. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs +138 -115
  244. package/dist/molecules/dynamic-form-editor-field-editor-panel.cjs.map +1 -1
  245. package/dist/molecules/dynamic-form-editor-field-editor-panel.js +6 -5
  246. package/dist/molecules/dynamic-form-editor-field-list-panel.js +2 -2
  247. package/dist/molecules/dynamic-form-editor-issues-panel.js +2 -2
  248. package/dist/molecules/dynamic-form-editor-preview-panel.js +6 -6
  249. package/dist/molecules/dynamic-form-editor.cjs +223 -200
  250. package/dist/molecules/dynamic-form-editor.cjs.map +1 -1
  251. package/dist/molecules/dynamic-form-editor.js +14 -13
  252. package/dist/molecules/dynamic-form.js +4 -4
  253. package/dist/molecules/empty-state.cjs +328 -0
  254. package/dist/molecules/empty-state.cjs.map +1 -0
  255. package/dist/molecules/empty-state.d.cts +21 -0
  256. package/dist/molecules/empty-state.d.ts +21 -0
  257. package/dist/molecules/empty-state.js +16 -0
  258. package/dist/molecules/empty-state.js.map +1 -0
  259. package/dist/molecules/expand-table/index.cjs +197 -59
  260. package/dist/molecules/expand-table/index.cjs.map +1 -1
  261. package/dist/molecules/expand-table/index.js +7 -4
  262. package/dist/molecules/index.cjs +866 -790
  263. package/dist/molecules/index.cjs.map +1 -1
  264. package/dist/molecules/index.d.cts +2 -1
  265. package/dist/molecules/index.d.ts +2 -1
  266. package/dist/molecules/index.js +76 -71
  267. package/dist/molecules/learning-post.js +3 -3
  268. package/dist/molecules/stepper.cjs +43 -20
  269. package/dist/molecules/stepper.cjs.map +1 -1
  270. package/dist/molecules/stepper.js +5 -4
  271. package/dist/molecules/tag-selector.cjs +43 -20
  272. package/dist/molecules/tag-selector.cjs.map +1 -1
  273. package/dist/molecules/tag-selector.js +6 -5
  274. package/dist/molecules/time-select.cjs +28 -5
  275. package/dist/molecules/time-select.cjs.map +1 -1
  276. package/dist/molecules/time-select.js +3 -2
  277. package/dist/molecules/training-info-guideline.js +1 -1
  278. package/dist/utils/curriculum.utils.cjs +23 -0
  279. package/dist/utils/curriculum.utils.cjs.map +1 -1
  280. package/dist/utils/curriculum.utils.js +3 -2
  281. package/dist/utils/get-callout-icon-component.cjs +23 -0
  282. package/dist/utils/get-callout-icon-component.cjs.map +1 -1
  283. package/dist/utils/get-callout-icon-component.js +3 -2
  284. package/dist/utils/index.cjs +23 -0
  285. package/dist/utils/index.cjs.map +1 -1
  286. package/dist/utils/index.js +3 -2
  287. package/package.json +1 -1
  288. package/src/icons/empty-box.tsx +29 -0
  289. package/src/icons/index.ts +2 -1
  290. package/src/molecules/empty-state.tsx +79 -0
  291. package/src/molecules/expand-table/index.tsx +5 -3
  292. package/src/molecules/index.ts +1 -0
  293. package/dist/chunk-5RIAIE2J.js.map +0 -1
  294. package/dist/chunk-JVXATVAC.js +0 -1
  295. package/dist/chunk-SYMOHU2B.js +0 -1
  296. /package/dist/{chunk-RZW6FVML.js.map → chunk-2IRG44IV.js.map} +0 -0
  297. /package/dist/{chunk-JVXATVAC.js.map → chunk-2PPLSZ4P.js.map} +0 -0
  298. /package/dist/{chunk-ZQLHRK36.js.map → chunk-2XDAK4B7.js.map} +0 -0
  299. /package/dist/{chunk-AHAGCAQR.js.map → chunk-3DZIX4CE.js.map} +0 -0
  300. /package/dist/{chunk-QOVPEQS3.js.map → chunk-4GH4R4VJ.js.map} +0 -0
  301. /package/dist/{chunk-SYMOHU2B.js.map → chunk-5DRITHNR.js.map} +0 -0
  302. /package/dist/{chunk-QVGQBTSJ.js.map → chunk-5IGBFB67.js.map} +0 -0
  303. /package/dist/{chunk-OBJA26HX.js.map → chunk-6GODZ2YW.js.map} +0 -0
  304. /package/dist/{chunk-UAUA3PMP.js.map → chunk-74PR3ZWJ.js.map} +0 -0
  305. /package/dist/{chunk-RPQWRKBW.js.map → chunk-AYWCLLQ2.js.map} +0 -0
  306. /package/dist/{chunk-KQIUOEBS.js.map → chunk-C4INJWFV.js.map} +0 -0
  307. /package/dist/{chunk-RBWD6IKY.js.map → chunk-CBYIPRND.js.map} +0 -0
  308. /package/dist/{chunk-JTVBWQJW.js.map → chunk-CGLDFUOY.js.map} +0 -0
  309. /package/dist/{chunk-PBKV2YMF.js.map → chunk-CPSXONQO.js.map} +0 -0
  310. /package/dist/{chunk-K4QH4R3O.js.map → chunk-CUS3ORMD.js.map} +0 -0
  311. /package/dist/{chunk-H533TE6M.js.map → chunk-D4U2ZV2A.js.map} +0 -0
  312. /package/dist/{chunk-RRC4WFG3.js.map → chunk-DIFGHMGI.js.map} +0 -0
  313. /package/dist/{chunk-EXMCCYI2.js.map → chunk-DPMDQA3O.js.map} +0 -0
  314. /package/dist/{chunk-L4KGHM2H.js.map → chunk-EJXZXUD2.js.map} +0 -0
  315. /package/dist/{chunk-ZIHVLMT5.js.map → chunk-GA6W62DO.js.map} +0 -0
  316. /package/dist/{chunk-P2H3VCIB.js.map → chunk-HL3MGRAC.js.map} +0 -0
  317. /package/dist/{chunk-6UWQKH6U.js.map → chunk-IHLFOJD5.js.map} +0 -0
  318. /package/dist/{chunk-SX46O67F.js.map → chunk-ISSUGCCY.js.map} +0 -0
  319. /package/dist/{chunk-3ZJVSSAA.js.map → chunk-KQ3ME6XY.js.map} +0 -0
  320. /package/dist/{chunk-YYVSUTXO.js.map → chunk-LK2H4QTJ.js.map} +0 -0
  321. /package/dist/{chunk-XMZYZJTH.js.map → chunk-N3FMP27I.js.map} +0 -0
  322. /package/dist/{chunk-UMLYWHB2.js.map → chunk-NK6S7ZMB.js.map} +0 -0
  323. /package/dist/{chunk-RJ7XSZ2V.js.map → chunk-OPIVSYLN.js.map} +0 -0
  324. /package/dist/{chunk-NVBAOOAT.js.map → chunk-OUDDTPEN.js.map} +0 -0
  325. /package/dist/{chunk-V4QYGHOJ.js.map → chunk-Q2FDF2AB.js.map} +0 -0
  326. /package/dist/{chunk-3FVDFMKP.js.map → chunk-RBU2TRYY.js.map} +0 -0
  327. /package/dist/{chunk-PS525SZS.js.map → chunk-RJ62VZ6O.js.map} +0 -0
  328. /package/dist/{chunk-WJ35Y2IU.js.map → chunk-SQ3FYBJT.js.map} +0 -0
  329. /package/dist/{chunk-2H635UNE.js.map → chunk-TYM6T7JT.js.map} +0 -0
  330. /package/dist/{chunk-HNAZV4MI.js.map → chunk-V7KAHLW2.js.map} +0 -0
  331. /package/dist/{chunk-PVDHXFLT.js.map → chunk-VBXZIIUA.js.map} +0 -0
  332. /package/dist/{chunk-TDWMI7ZT.js.map → chunk-VBYXXISC.js.map} +0 -0
  333. /package/dist/{chunk-77J4AZEO.js.map → chunk-VJREZH2Z.js.map} +0 -0
  334. /package/dist/{chunk-66SUBB2N.js.map → chunk-W7LO5KYT.js.map} +0 -0
  335. /package/dist/{chunk-RJN4QT5J.js.map → chunk-WLKK5L3P.js.map} +0 -0
  336. /package/dist/{chunk-A5AZWTXV.js.map → chunk-WYHDQK2S.js.map} +0 -0
  337. /package/dist/{chunk-54GRMFDC.js.map → chunk-X3TBEGPA.js.map} +0 -0
@@ -94,6 +94,7 @@ __export(molecules_exports, {
94
94
  DynamicFormEditor: () => DynamicFormEditor,
95
95
  DynamicFormField: () => DynamicFormField,
96
96
  DynamicFormResponseItem: () => DynamicFormResponseItem,
97
+ EmptyState: () => EmptyState,
97
98
  ExpandTable: () => ExpandTable,
98
99
  ForceRefresh: () => ForceRefresh,
99
100
  GhostPost: () => GhostPost,
@@ -114,8 +115,8 @@ module.exports = __toCommonJS(molecules_exports);
114
115
 
115
116
  // src/molecules/expand-table/index.tsx
116
117
  var import_react_table2 = require("@tanstack/react-table");
117
- var import_react6 = require("react");
118
- var import_themes5 = require("@radix-ui/themes");
118
+ var import_react7 = require("react");
119
+ var import_themes7 = require("@radix-ui/themes");
119
120
 
120
121
  // src/atoms/flex.tsx
121
122
  var import_themes = require("@radix-ui/themes");
@@ -712,6 +713,29 @@ var HeadsetIcon = React15.forwardRef(
712
713
  );
713
714
  HeadsetIcon.displayName = "HeadsetIcon";
714
715
 
716
+ // src/icons/empty-box.tsx
717
+ var React16 = __toESM(require("react"), 1);
718
+ var import_jsx_runtime16 = require("react/jsx-runtime");
719
+ var EmptyBoxIcon = React16.forwardRef(
720
+ (_a, forwardedRef) => {
721
+ var _b = _a, { color = "currentColor", width = 120, height = 120 } = _b, props = __objRest(_b, ["color", "width", "height"]);
722
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
723
+ "svg",
724
+ __spreadProps(__spreadValues({
725
+ fill: color,
726
+ height,
727
+ viewBox: "0 0 462.035 462.035",
728
+ width,
729
+ xmlns: "http://www.w3.org/2000/svg"
730
+ }, props), {
731
+ ref: forwardedRef,
732
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("path", { d: "M457.83,158.441c-0.021-0.028-0.033-0.058-0.057-0.087l-50.184-62.48c-0.564-0.701-1.201-1.305-1.879-1.845c-2.16-2.562-5.355-4.225-8.967-4.225H65.292c-3.615,0-6.804,1.661-8.965,4.225c-0.678,0.54-1.316,1.138-1.885,1.845l-50.178,62.48c-0.023,0.029-0.034,0.059-0.057,0.087C1.655,160.602,0,163.787,0,167.39v193.07c0,6.5,5.27,11.771,11.77,11.771h438.496c6.5,0,11.77-5.271,11.77-11.771V167.39C462.037,163.787,460.381,160.602,457.83,158.441z M408.516,134.615l16.873,21.005h-16.873V134.615z M384.975,113.345v42.274H296.84c-2.514,0-4.955,0.805-6.979,2.293l-58.837,43.299l-58.849-43.305c-2.023-1.482-4.466-2.287-6.978-2.287H77.061v-42.274H384.975z M53.523,155.62H36.65l16.873-21.005V155.62z M438.498,348.69H23.54V179.16h137.796l62.711,46.148c4.15,3.046,9.805,3.052,13.954-0.005l62.698-46.144h137.799V348.69L438.498,348.69z" })
733
+ })
734
+ );
735
+ }
736
+ );
737
+ EmptyBoxIcon.displayName = "EmptyBoxIcon";
738
+
715
739
  // src/atoms/icon-button.tsx
716
740
  var import_react = require("react");
717
741
  var import_clsx = require("clsx");
@@ -772,7 +796,7 @@ var resolveColor = (color) => {
772
796
  };
773
797
 
774
798
  // src/atoms/icon-button.tsx
775
- var import_jsx_runtime16 = require("react/jsx-runtime");
799
+ var import_jsx_runtime17 = require("react/jsx-runtime");
776
800
  var IconButton = (0, import_react.forwardRef)(
777
801
  (props, ref) => {
778
802
  const _a = props, { size, style, variant, color } = _a, restProps = __objRest(_a, ["size", "style", "variant", "color"]);
@@ -792,7 +816,7 @@ var IconButton = (0, import_react.forwardRef)(
792
816
  transparent: variant === "transparent"
793
817
  });
794
818
  }, [props.className, colorClassName, variant]);
795
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
819
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
796
820
  import_themes2.IconButton,
797
821
  __spreadProps(__spreadValues({
798
822
  style,
@@ -848,7 +872,7 @@ var MONO_STYLE = {
848
872
  };
849
873
 
850
874
  // src/atoms/typo.tsx
851
- var import_jsx_runtime17 = require("react/jsx-runtime");
875
+ var import_jsx_runtime18 = require("react/jsx-runtime");
852
876
  var Typo = (0, import_react2.forwardRef)(
853
877
  (props, ref) => {
854
878
  const _a = props, {
@@ -892,7 +916,7 @@ var Typo = (0, import_react2.forwardRef)(
892
916
  }
893
917
  });
894
918
  }, [size, variant]);
895
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
919
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
896
920
  import_themes3.Text,
897
921
  __spreadProps(__spreadValues({}, rest), {
898
922
  className: (0, import_clsx2.clsx)(colorClassName, className),
@@ -908,7 +932,7 @@ var Typo = (0, import_react2.forwardRef)(
908
932
  Typo.displayName = "Typo";
909
933
 
910
934
  // src/atoms/pagination.tsx
911
- var import_jsx_runtime18 = require("react/jsx-runtime");
935
+ var import_jsx_runtime19 = require("react/jsx-runtime");
912
936
  function Pagination(props) {
913
937
  const { onChange, count = 0, siblingCount = 2 } = props;
914
938
  const isControlled = props.page !== void 0;
@@ -977,7 +1001,7 @@ function Pagination(props) {
977
1001
  const { color: resolvedColor, className: colorClassName } = resolveColor(
978
1002
  props.color
979
1003
  );
980
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
1004
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
981
1005
  import_themes.Flex,
982
1006
  {
983
1007
  align: "center",
@@ -985,18 +1009,18 @@ function Pagination(props) {
985
1009
  className: colorClassName ? `tipp-pagination ${colorClassName}` : "tipp-pagination",
986
1010
  "data-accent-color": resolvedColor,
987
1011
  children: [
988
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1012
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
989
1013
  IconButton,
990
1014
  __spreadProps(__spreadValues({
991
1015
  disabled: !doublePrev,
992
1016
  onClick: onClickDoublePrev
993
1017
  }, moveButtonProps), {
994
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_icons.DoubleArrowLeftIcon, __spreadValues({}, iconSize))
1018
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_icons.DoubleArrowLeftIcon, __spreadValues({}, iconSize))
995
1019
  })
996
1020
  ),
997
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(IconButton, __spreadProps(__spreadValues({ disabled: !prev, onClick: onClickPrev }, moveButtonProps), { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_icons.ChevronLeftIcon, __spreadValues({}, iconSize)) })),
998
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_themes.Flex, { gap: "1", children: visibleItems.map((item) => {
999
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1021
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(IconButton, __spreadProps(__spreadValues({ disabled: !prev, onClick: onClickPrev }, moveButtonProps), { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_icons.ChevronLeftIcon, __spreadValues({}, iconSize)) })),
1022
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_themes.Flex, { gap: "1", children: visibleItems.map((item) => {
1023
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1000
1024
  "button",
1001
1025
  {
1002
1026
  className: `page-button ${item === page ? "active" : ""}`,
@@ -1004,19 +1028,19 @@ function Pagination(props) {
1004
1028
  goToPage(item);
1005
1029
  },
1006
1030
  type: "button",
1007
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Typo, { variant: "body", children: item })
1031
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Typo, { variant: "body", children: item })
1008
1032
  },
1009
1033
  item
1010
1034
  );
1011
1035
  }) }),
1012
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(IconButton, __spreadProps(__spreadValues({ disabled: !next, onClick: onClickNext }, moveButtonProps), { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_icons.ChevronRightIcon, __spreadValues({}, iconSize)) })),
1013
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1036
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(IconButton, __spreadProps(__spreadValues({ disabled: !next, onClick: onClickNext }, moveButtonProps), { children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_icons.ChevronRightIcon, __spreadValues({}, iconSize)) })),
1037
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
1014
1038
  IconButton,
1015
1039
  __spreadProps(__spreadValues({
1016
1040
  disabled: !doubleNext,
1017
1041
  onClick: onClickDoubleNext
1018
1042
  }, moveButtonProps), {
1019
- children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_react_icons.DoubleArrowRightIcon, __spreadValues({}, iconSize))
1043
+ children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_react_icons.DoubleArrowRightIcon, __spreadValues({}, iconSize))
1020
1044
  })
1021
1045
  )
1022
1046
  ]
@@ -1027,41 +1051,153 @@ function Pagination(props) {
1027
1051
  // src/atoms/spinner.tsx
1028
1052
  var import_themes4 = require("@radix-ui/themes");
1029
1053
 
1054
+ // src/atoms/heading.tsx
1055
+ var import_themes5 = require("@radix-ui/themes");
1056
+ var import_clsx3 = require("clsx");
1057
+ var import_react4 = require("react");
1058
+ var import_themes6 = require("@radix-ui/themes");
1059
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1060
+ var mapVariant = (variant) => {
1061
+ switch (variant) {
1062
+ case "heading1":
1063
+ return "7";
1064
+ case "heading2":
1065
+ return "6";
1066
+ case "heading3":
1067
+ return "5";
1068
+ case "heading4":
1069
+ return "4";
1070
+ case "heading5":
1071
+ return "3";
1072
+ default:
1073
+ return void 0;
1074
+ }
1075
+ };
1076
+ function Heading2(props) {
1077
+ const _a = props, {
1078
+ size,
1079
+ children,
1080
+ variant,
1081
+ color,
1082
+ className,
1083
+ mono,
1084
+ clamp,
1085
+ style
1086
+ } = _a, rest = __objRest(_a, [
1087
+ "size",
1088
+ "children",
1089
+ "variant",
1090
+ "color",
1091
+ "className",
1092
+ "mono",
1093
+ "clamp",
1094
+ "style"
1095
+ ]);
1096
+ const { color: radixColor, className: colorClassName } = (0, import_react4.useMemo)(
1097
+ () => resolveColor(color),
1098
+ [color]
1099
+ );
1100
+ const radixSize = (0, import_react4.useMemo)(() => {
1101
+ return variant ? mapWithResponsive({
1102
+ value: variant,
1103
+ mapFn: mapVariant
1104
+ }) : size;
1105
+ }, [size, variant]);
1106
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1107
+ import_themes5.Heading,
1108
+ __spreadProps(__spreadValues({}, rest), {
1109
+ className: (0, import_clsx3.clsx)(colorClassName, className),
1110
+ color: radixColor,
1111
+ size: radixSize,
1112
+ style: __spreadValues(__spreadValues(__spreadValues({}, mono ? MONO_STYLE : null), clamp ? clampStyle(clamp) : null), style),
1113
+ children
1114
+ })
1115
+ );
1116
+ }
1117
+
1118
+ // src/molecules/empty-state.tsx
1119
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1120
+ var ICON_SIZE = {
1121
+ illustration: 120,
1122
+ compact: 56
1123
+ };
1124
+ function EmptyState(_a) {
1125
+ var _b = _a, {
1126
+ size = "illustration",
1127
+ heading,
1128
+ body,
1129
+ icon
1130
+ } = _b, flexProps = __objRest(_b, [
1131
+ "size",
1132
+ "heading",
1133
+ "body",
1134
+ "icon"
1135
+ ]);
1136
+ const isCompact = size === "compact";
1137
+ const iconSize = ICON_SIZE[size];
1138
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1139
+ import_themes.Flex,
1140
+ __spreadProps(__spreadValues({
1141
+ align: "center",
1142
+ direction: "column",
1143
+ gap: isCompact ? "2" : "3",
1144
+ justify: "center",
1145
+ py: isCompact ? "5" : "9",
1146
+ width: "100%"
1147
+ }, flexProps), {
1148
+ children: [
1149
+ icon != null ? icon : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1150
+ EmptyBoxIcon,
1151
+ {
1152
+ color: "var(--gray-8)",
1153
+ height: iconSize,
1154
+ width: iconSize
1155
+ }
1156
+ ),
1157
+ heading || body ? /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_themes.Flex, { align: "center", direction: "column", gap: "1", children: [
1158
+ heading ? isCompact ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typo, { color: "gray", variant: "subtitle", children: heading }) : /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Heading2, { color: "gray", variant: "heading5", children: heading }) : null,
1159
+ body ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typo, { color: "gray", variant: isCompact ? "caption" : "body", children: body }) : null
1160
+ ] }) : null
1161
+ ]
1162
+ })
1163
+ );
1164
+ }
1165
+
1030
1166
  // src/molecules/expand-table/row.tsx
1031
1167
  var import_react_table = require("@tanstack/react-table");
1032
- var import_react5 = require("react");
1168
+ var import_react6 = require("react");
1033
1169
 
1034
1170
  // src/atoms/collapse.tsx
1035
- var import_react4 = require("react");
1036
- var import_jsx_runtime19 = require("react/jsx-runtime");
1171
+ var import_react5 = require("react");
1172
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1037
1173
  function Collapse(props) {
1038
1174
  const { children, closedHeight = "0" } = props;
1039
- const [open, setOpen] = (0, import_react4.useState)(() => {
1175
+ const [open, setOpen] = (0, import_react5.useState)(() => {
1040
1176
  return props.open || props.defaultOpen || false;
1041
1177
  });
1042
- (0, import_react4.useEffect)(() => {
1178
+ (0, import_react5.useEffect)(() => {
1043
1179
  if (props.open === void 0) return;
1044
1180
  setOpen(props.open);
1045
1181
  }, [props.open]);
1046
- const ref = (0, import_react4.useRef)(null);
1047
- (0, import_react4.useEffect)(() => {
1182
+ const ref = (0, import_react5.useRef)(null);
1183
+ (0, import_react5.useEffect)(() => {
1048
1184
  if (!ref.current) return;
1049
1185
  ref.current.style.maxHeight = open ? `${ref.current.scrollHeight}px` : closedHeight;
1050
1186
  }, [closedHeight, open]);
1051
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "tipp-collapse", ref, children });
1187
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "tipp-collapse", ref, children });
1052
1188
  }
1053
1189
 
1054
1190
  // src/molecules/expand-table/row.tsx
1055
- var import_jsx_runtime20 = require("react/jsx-runtime");
1191
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1056
1192
  function Row(props) {
1057
1193
  const { row, ExpandComp, gridTemplateColumns, getRowStyle, getCellStyle } = props;
1058
- const [open, setOpen] = (0, import_react5.useState)(false);
1059
- const onClickRow = (0, import_react5.useCallback)(() => {
1194
+ const [open, setOpen] = (0, import_react6.useState)(false);
1195
+ const onClickRow = (0, import_react6.useCallback)(() => {
1060
1196
  var _a;
1061
1197
  (_a = props.onRowClick) == null ? void 0 : _a.call(props, row.original);
1062
1198
  setOpen((prev) => !prev);
1063
1199
  }, [props, row.original]);
1064
- const rowClassName = (0, import_react5.useMemo)(() => {
1200
+ const rowClassName = (0, import_react6.useMemo)(() => {
1065
1201
  const baseCls = ["tr-wrapper"];
1066
1202
  if (ExpandComp) {
1067
1203
  baseCls.push("expandable");
@@ -1071,8 +1207,8 @@ function Row(props) {
1071
1207
  }
1072
1208
  return baseCls.join(" ");
1073
1209
  }, [ExpandComp, props.onRowClick]);
1074
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: rowClassName, children: [
1075
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1210
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: rowClassName, children: [
1211
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1076
1212
  "button",
1077
1213
  {
1078
1214
  className: "tr",
@@ -1085,7 +1221,7 @@ function Row(props) {
1085
1221
  var _a, _b, _c;
1086
1222
  const autoSize = (_a = cell.column.columnDef.meta) == null ? void 0 : _a.autoSize;
1087
1223
  const justifyContent = ((_b = cell.column.columnDef.meta) == null ? void 0 : _b.align) || props.defaultAlign;
1088
- return /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
1224
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1089
1225
  "div",
1090
1226
  {
1091
1227
  className: "td",
@@ -1096,7 +1232,7 @@ function Row(props) {
1096
1232
  }, (getCellStyle == null ? void 0 : getCellStyle(row.original)) || {}),
1097
1233
  children: [
1098
1234
  (0, import_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext()),
1099
- ((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1235
+ ((_c = cell.column.columnDef.meta) == null ? void 0 : _c.OpenBtn) ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1100
1236
  cell.column.columnDef.meta.OpenBtn,
1101
1237
  {
1102
1238
  data: row.original,
@@ -1112,12 +1248,12 @@ function Row(props) {
1112
1248
  },
1113
1249
  `tr_${row.id}`
1114
1250
  ),
1115
- ExpandComp ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Collapse, { open, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "expand-comp-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ExpandComp, { row }) }) }) : null
1251
+ ExpandComp ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Collapse, { open, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "expand-comp-wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ExpandComp, { row }) }) }) : null
1116
1252
  ] }, `tr-wrapper_${row.id}`);
1117
1253
  }
1118
1254
 
1119
1255
  // src/molecules/expand-table/index.tsx
1120
- var import_jsx_runtime21 = require("react/jsx-runtime");
1256
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1121
1257
  var sortButtonColorMapper = {
1122
1258
  card: {
1123
1259
  selected: "var(--iris-10)",
@@ -1154,18 +1290,18 @@ function ExpandTable(props) {
1154
1290
  slim = false
1155
1291
  } = props;
1156
1292
  const defaultAlign = "left";
1157
- const [pagination, setPagination] = (0, import_react6.useState)({
1293
+ const [pagination, setPagination] = (0, import_react7.useState)({
1158
1294
  pageIndex: pageIndex || 0,
1159
1295
  pageSize: pageSize || 9999
1160
1296
  });
1161
- (0, import_react6.useEffect)(() => {
1297
+ (0, import_react7.useEffect)(() => {
1162
1298
  setPagination((prev) => {
1163
1299
  const next = pageIndex;
1164
1300
  if (prev.pageIndex === next) return prev;
1165
1301
  return __spreadProps(__spreadValues({}, prev), { pageIndex: next });
1166
1302
  });
1167
1303
  }, [pageIndex]);
1168
- const [sorting, setSorting] = (0, import_react6.useState)([]);
1304
+ const [sorting, setSorting] = (0, import_react7.useState)([]);
1169
1305
  const { getRowModel, getHeaderGroups, setPageIndex } = (0, import_react_table2.useReactTable)({
1170
1306
  data: data || [],
1171
1307
  columns,
@@ -1177,9 +1313,12 @@ function ExpandTable(props) {
1177
1313
  },
1178
1314
  onSortingChange: setSorting,
1179
1315
  getPaginationRowModel: (0, import_react_table2.getPaginationRowModel)(),
1180
- onPaginationChange: setPagination
1316
+ onPaginationChange: setPagination,
1317
+ // data 참조가 바뀔 때(예: 목록 refetch) tanstack이 pageIndex를 0으로
1318
+ // 자동 리셋하지 않도록 끈다. 행 수정 저장 후에도 보던 페이지를 유지하기 위함.
1319
+ autoResetPageIndex: false
1181
1320
  });
1182
- const gridTemplateColumns = (0, import_react6.useMemo)(() => {
1321
+ const gridTemplateColumns = (0, import_react7.useMemo)(() => {
1183
1322
  return columns.map((col) => {
1184
1323
  var _a;
1185
1324
  if ((_a = col.meta) == null ? void 0 : _a.autoSize) return `minmax(${col.size || 50}px, 1fr)`;
@@ -1187,7 +1326,7 @@ function ExpandTable(props) {
1187
1326
  }).join(" ");
1188
1327
  }, [columns]);
1189
1328
  const rowModels = getRowModel();
1190
- const onChangePagination = (0, import_react6.useCallback)(
1329
+ const onChangePagination = (0, import_react7.useCallback)(
1191
1330
  (page) => {
1192
1331
  const idx = page - 1;
1193
1332
  setPageIndex(idx);
@@ -1195,10 +1334,10 @@ function ExpandTable(props) {
1195
1334
  },
1196
1335
  [setPageIndex, onPageChange]
1197
1336
  );
1198
- const helpCompRender = (0, import_react6.useCallback)(
1337
+ const helpCompRender = (0, import_react7.useCallback)(
1199
1338
  (rowLength) => {
1200
1339
  if (isLoading) {
1201
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1340
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1202
1341
  import_themes.Flex,
1203
1342
  {
1204
1343
  align: "center",
@@ -1206,24 +1345,24 @@ function ExpandTable(props) {
1206
1345
  justify: "center",
1207
1346
  p: "5",
1208
1347
  width: "100%",
1209
- children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes4.Spinner, {})
1348
+ children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes4.Spinner, {})
1210
1349
  }
1211
1350
  );
1212
1351
  }
1213
1352
  if (rowLength === 0) {
1214
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "tr", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes.Flex, { align: "center", justify: "center", children: placeholder || /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typo, { color: "gray", mb: "6", mt: "6", variant: "body", children: "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4" }) }) }, "expand_placeholder");
1353
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "tr", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes.Flex, { align: "center", justify: "center", children: placeholder || /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(EmptyState, { heading: "\uB370\uC774\uD130\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4", size: "compact" }) }) }, "expand_placeholder");
1215
1354
  }
1216
1355
  return null;
1217
1356
  },
1218
1357
  [isLoading, placeholder]
1219
1358
  );
1220
- const pageCount = (0, import_react6.useMemo)(() => {
1359
+ const pageCount = (0, import_react7.useMemo)(() => {
1221
1360
  if (!data) return 0;
1222
1361
  return Math.ceil(data.length / pageSize);
1223
1362
  }, [data, pageSize]);
1224
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: `expand-table-wrapper ${variant}${slim ? " slim" : ""}`, children: [
1225
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "expand-table", style: tableStyle, children: [
1226
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1363
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: `expand-table-wrapper ${variant}${slim ? " slim" : ""}`, children: [
1364
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "expand-table", style: tableStyle, children: [
1365
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "thead", children: getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1227
1366
  "div",
1228
1367
  {
1229
1368
  className: "tr",
@@ -1234,36 +1373,36 @@ function ExpandTable(props) {
1234
1373
  const sortedState = header.column.getIsSorted();
1235
1374
  const justifyContent = ((_a = header.column.columnDef.meta) == null ? void 0 : _a.align) || defaultAlign;
1236
1375
  if (sortable) {
1237
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1376
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1238
1377
  "button",
1239
1378
  {
1240
1379
  onClick: header.column.getToggleSortingHandler(),
1241
1380
  style: { cursor: "pointer" },
1242
1381
  type: "button",
1243
1382
  children: [
1244
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
1383
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
1245
1384
  header.column.columnDef.header,
1246
1385
  header.getContext()
1247
1386
  ) }),
1248
- /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
1387
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
1249
1388
  import_themes.Flex,
1250
1389
  {
1251
1390
  direction: "column",
1252
1391
  style: { marginLeft: "var(--space-2)" },
1253
1392
  children: [
1254
- sortedState === false && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1393
+ sortedState === false && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1255
1394
  TriangleArrowDownIcon,
1256
1395
  {
1257
1396
  color: sortButtonColorMapper[variant].unselected
1258
1397
  }
1259
1398
  ),
1260
- sortedState === "asc" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1399
+ sortedState === "asc" && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1261
1400
  TriangleArrowUpIcon,
1262
1401
  {
1263
1402
  color: sortButtonColorMapper[variant].selected
1264
1403
  }
1265
1404
  ),
1266
- sortedState === "desc" && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1405
+ sortedState === "desc" && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1267
1406
  TriangleArrowDownIcon,
1268
1407
  {
1269
1408
  color: sortButtonColorMapper[variant].selected
@@ -1276,7 +1415,7 @@ function ExpandTable(props) {
1276
1415
  }
1277
1416
  ) }, header.id);
1278
1417
  }
1279
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
1418
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: `${justifyContent} th`, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Typo, { as: "div", variant: "body", children: (0, import_react_table2.flexRender)(
1280
1419
  header.column.columnDef.header,
1281
1420
  header.getContext()
1282
1421
  ) }) }, header.id);
@@ -1284,8 +1423,8 @@ function ExpandTable(props) {
1284
1423
  },
1285
1424
  headerGroup.id
1286
1425
  )) }),
1287
- /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes5.ScrollArea, { className: "tbody", children: helpCompRender(rowModels.rows.length) || rowModels.rows.map((row) => {
1288
- return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1426
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes7.ScrollArea, { className: "tbody", children: helpCompRender(rowModels.rows.length) || rowModels.rows.map((row) => {
1427
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1289
1428
  Row,
1290
1429
  {
1291
1430
  ExpandComp,
@@ -1300,7 +1439,7 @@ function ExpandTable(props) {
1300
1439
  );
1301
1440
  }) })
1302
1441
  ] }),
1303
- showPagination ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_themes.Flex, { justify: "end", pt: "4", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1442
+ showPagination ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_themes.Flex, { justify: "end", pt: "4", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1304
1443
  Pagination,
1305
1444
  {
1306
1445
  count: pageCount,
@@ -1313,9 +1452,9 @@ function ExpandTable(props) {
1313
1452
  }
1314
1453
 
1315
1454
  // src/atoms/button.tsx
1316
- var import_react7 = require("react");
1317
- var import_themes6 = require("@radix-ui/themes");
1318
- var import_clsx3 = require("clsx");
1455
+ var import_react8 = require("react");
1456
+ var import_themes8 = require("@radix-ui/themes");
1457
+ var import_clsx4 = require("clsx");
1319
1458
 
1320
1459
  // src/utils/convert-button-size.ts
1321
1460
  var convertSizeStr2 = (size) => {
@@ -1349,28 +1488,28 @@ var convertSize2 = (size) => {
1349
1488
  };
1350
1489
 
1351
1490
  // src/atoms/button.tsx
1352
- var import_jsx_runtime22 = require("react/jsx-runtime");
1353
- var Button = (0, import_react7.forwardRef)(
1491
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1492
+ var Button = (0, import_react8.forwardRef)(
1354
1493
  (props, ref) => {
1355
1494
  const _a = props, { size, style, variant, color } = _a, restProps = __objRest(_a, ["size", "style", "variant", "color"]);
1356
- const radixSize = (0, import_react7.useMemo)(() => {
1495
+ const radixSize = (0, import_react8.useMemo)(() => {
1357
1496
  return convertSize2(size);
1358
1497
  }, [size]);
1359
- const radixVariant = (0, import_react7.useMemo)(() => {
1498
+ const radixVariant = (0, import_react8.useMemo)(() => {
1360
1499
  if (variant === "transparent") return "ghost";
1361
1500
  return variant;
1362
1501
  }, [variant]);
1363
- const { color: radixColor, className: colorClassName } = (0, import_react7.useMemo)(
1502
+ const { color: radixColor, className: colorClassName } = (0, import_react8.useMemo)(
1364
1503
  () => resolveColor(color),
1365
1504
  [color]
1366
1505
  );
1367
- const className = (0, import_react7.useMemo)(() => {
1368
- return (0, import_clsx3.clsx)(props.className, colorClassName, {
1506
+ const className = (0, import_react8.useMemo)(() => {
1507
+ return (0, import_clsx4.clsx)(props.className, colorClassName, {
1369
1508
  transparent: variant === "transparent"
1370
1509
  });
1371
1510
  }, [props.className, colorClassName, variant]);
1372
- return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1373
- import_themes6.Button,
1511
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1512
+ import_themes8.Button,
1374
1513
  __spreadProps(__spreadValues({
1375
1514
  style,
1376
1515
  type: "button",
@@ -1387,14 +1526,14 @@ var Button = (0, import_react7.forwardRef)(
1387
1526
  Button.displayName = "Button";
1388
1527
 
1389
1528
  // src/molecules/navigation.tsx
1390
- var import_jsx_runtime23 = require("react/jsx-runtime");
1529
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1391
1530
  function Navigation({
1392
1531
  items,
1393
1532
  fontColor,
1394
1533
  backgroundColor,
1395
1534
  activeKey
1396
1535
  }) {
1397
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1536
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1398
1537
  import_themes.Flex,
1399
1538
  {
1400
1539
  direction: "column",
@@ -1406,13 +1545,13 @@ function Navigation({
1406
1545
  },
1407
1546
  children: items == null ? void 0 : items.map((item) => {
1408
1547
  const { key, title, icon, itemRender, onClick, children } = item;
1409
- return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_themes.Flex, { direction: "column", onClick, children: [
1410
- itemRender ? itemRender(item) : /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_themes.Flex, { align: "center", gap: "3", height: "36px", pl: "4", pr: "4", children: [
1548
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_themes.Flex, { direction: "column", onClick, children: [
1549
+ itemRender ? itemRender(item) : /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_themes.Flex, { align: "center", gap: "3", height: "36px", pl: "4", pr: "4", children: [
1411
1550
  icon,
1412
- /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Typo, { variant: "subtitle", children: title })
1551
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Typo, { variant: "subtitle", children: title })
1413
1552
  ] }),
1414
1553
  children == null ? void 0 : children.map((menu) => {
1415
- return menu.itemRender ? menu.itemRender(menu) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1554
+ return menu.itemRender ? menu.itemRender(menu) : /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1416
1555
  Button,
1417
1556
  {
1418
1557
  className: `tipp-navigation-button ${activeKey === menu.key ? "active" : ""}`,
@@ -1441,122 +1580,58 @@ var import_react_datepicker = __toESM(require("react-datepicker"), 1);
1441
1580
  var import_locale = require("date-fns/locale");
1442
1581
 
1443
1582
  // src/atoms/box.tsx
1444
- var import_themes7 = require("@radix-ui/themes");
1583
+ var import_themes9 = require("@radix-ui/themes");
1445
1584
 
1446
1585
  // src/atoms/popover.tsx
1447
- var import_themes9 = require("@radix-ui/themes");
1448
- var import_clsx5 = require("clsx");
1449
- var import_react9 = require("react");
1586
+ var import_themes11 = require("@radix-ui/themes");
1587
+ var import_clsx6 = require("clsx");
1588
+ var import_react10 = require("react");
1450
1589
 
1451
1590
  // src/theme/theme-provider.tsx
1452
- var import_react8 = require("react");
1453
- var import_themes8 = require("@radix-ui/themes");
1454
- var import_clsx4 = require("clsx");
1455
- var import_jsx_runtime24 = require("react/jsx-runtime");
1456
- var ThemeAccentContext = (0, import_react8.createContext)(void 0);
1591
+ var import_react9 = require("react");
1592
+ var import_themes10 = require("@radix-ui/themes");
1593
+ var import_clsx5 = require("clsx");
1594
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1595
+ var ThemeAccentContext = (0, import_react9.createContext)(void 0);
1457
1596
  function ThemeProvider(props) {
1458
1597
  const _a = props, { accentColor = "iris", className } = _a, rest = __objRest(_a, ["accentColor", "className"]);
1459
1598
  const { color: radixAccent, className: accentClassName } = resolveColor(accentColor);
1460
1599
  const themeAccent = accentClassName ? accentColor : void 0;
1461
- return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(ThemeAccentContext.Provider, { value: themeAccent, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1462
- import_themes8.Theme,
1600
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(ThemeAccentContext.Provider, { value: themeAccent, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1601
+ import_themes10.Theme,
1463
1602
  __spreadValues({
1464
1603
  accentColor: radixAccent != null ? radixAccent : "iris",
1465
- className: (0, import_clsx4.clsx)(accentClassName, className),
1604
+ className: (0, import_clsx5.clsx)(accentClassName, className),
1466
1605
  radius: "medium"
1467
1606
  }, rest)
1468
1607
  ) });
1469
1608
  }
1470
1609
 
1471
1610
  // src/atoms/popover.tsx
1472
- var import_jsx_runtime25 = require("react/jsx-runtime");
1473
- var Content = (0, import_react9.forwardRef)((props, ref) => {
1611
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1612
+ var Content = (0, import_react10.forwardRef)((props, ref) => {
1474
1613
  const _a = props, { className, color } = _a, rest = __objRest(_a, ["className", "color"]);
1475
- const themeAccent = (0, import_react9.useContext)(ThemeAccentContext);
1476
- const { className: colorClassName } = (0, import_react9.useMemo)(
1614
+ const themeAccent = (0, import_react10.useContext)(ThemeAccentContext);
1615
+ const { className: colorClassName } = (0, import_react10.useMemo)(
1477
1616
  () => resolveColor(color != null ? color : themeAccent),
1478
1617
  [color, themeAccent]
1479
1618
  );
1480
- return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1481
- import_themes9.Popover.Content,
1619
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1620
+ import_themes11.Popover.Content,
1482
1621
  __spreadProps(__spreadValues({
1483
1622
  ref
1484
1623
  }, rest), {
1485
- className: (0, import_clsx5.clsx)(colorClassName, className)
1624
+ className: (0, import_clsx6.clsx)(colorClassName, className)
1486
1625
  })
1487
1626
  );
1488
1627
  });
1489
1628
  Content.displayName = "Popover.Content";
1490
- var Popover = __spreadProps(__spreadValues({}, import_themes9.Popover), {
1629
+ var Popover = __spreadProps(__spreadValues({}, import_themes11.Popover), {
1491
1630
  Content
1492
1631
  });
1493
1632
 
1494
- // src/atoms/heading.tsx
1495
- var import_themes10 = require("@radix-ui/themes");
1496
- var import_clsx6 = require("clsx");
1497
- var import_react10 = require("react");
1498
- var import_themes11 = require("@radix-ui/themes");
1499
- var import_jsx_runtime26 = require("react/jsx-runtime");
1500
- var mapVariant = (variant) => {
1501
- switch (variant) {
1502
- case "heading1":
1503
- return "7";
1504
- case "heading2":
1505
- return "6";
1506
- case "heading3":
1507
- return "5";
1508
- case "heading4":
1509
- return "4";
1510
- case "heading5":
1511
- return "3";
1512
- default:
1513
- return void 0;
1514
- }
1515
- };
1516
- function Heading2(props) {
1517
- const _a = props, {
1518
- size,
1519
- children,
1520
- variant,
1521
- color,
1522
- className,
1523
- mono,
1524
- clamp,
1525
- style
1526
- } = _a, rest = __objRest(_a, [
1527
- "size",
1528
- "children",
1529
- "variant",
1530
- "color",
1531
- "className",
1532
- "mono",
1533
- "clamp",
1534
- "style"
1535
- ]);
1536
- const { color: radixColor, className: colorClassName } = (0, import_react10.useMemo)(
1537
- () => resolveColor(color),
1538
- [color]
1539
- );
1540
- const radixSize = (0, import_react10.useMemo)(() => {
1541
- return variant ? mapWithResponsive({
1542
- value: variant,
1543
- mapFn: mapVariant
1544
- }) : size;
1545
- }, [size, variant]);
1546
- return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1547
- import_themes10.Heading,
1548
- __spreadProps(__spreadValues({}, rest), {
1549
- className: (0, import_clsx6.clsx)(colorClassName, className),
1550
- color: radixColor,
1551
- size: radixSize,
1552
- style: __spreadValues(__spreadValues(__spreadValues({}, mono ? MONO_STYLE : null), clamp ? clampStyle(clamp) : null), style),
1553
- children
1554
- })
1555
- );
1556
- }
1557
-
1558
1633
  // src/molecules/date-picker/index.tsx
1559
- var import_jsx_runtime27 = require("react/jsx-runtime");
1634
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1560
1635
  var DatePicker = (0, import_react11.forwardRef)(
1561
1636
  (props, ref) => {
1562
1637
  const _a = props, { fullWidth } = _a, rest = __objRest(_a, ["fullWidth"]);
@@ -1587,7 +1662,7 @@ var DatePicker = (0, import_react11.forwardRef)(
1587
1662
  setIsMonthDropdownOpen
1588
1663
  }));
1589
1664
  }, [isMonthDropdownOpen, isYearDropdownOpen, props]);
1590
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes.Flex, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1665
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes.Flex, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1591
1666
  import_react_datepicker.default,
1592
1667
  __spreadProps(__spreadValues({
1593
1668
  dateFormat: "yyyy/MM/dd h:mm aa",
@@ -1635,19 +1710,19 @@ function DropdownSelector({
1635
1710
  });
1636
1711
  }
1637
1712
  }, [isOpen]);
1638
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Popover.Root, { modal: true, onOpenChange, open: isOpen, children: [
1639
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Popover.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Button, { className: "react-datepicker_dropdown_header", variant: "ghost", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Heading2, { variant: "heading4", weight: "regular", children: [
1713
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Popover.Root, { modal: true, onOpenChange, open: isOpen, children: [
1714
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Popover.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Button, { className: "react-datepicker_dropdown_header", variant: "ghost", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Heading2, { variant: "heading4", weight: "regular", children: [
1640
1715
  selectedValue,
1641
1716
  suffix
1642
1717
  ] }) }) }),
1643
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(Popover.Content, { side: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1644
- import_themes7.Box,
1718
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(Popover.Content, { side: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1719
+ import_themes9.Box,
1645
1720
  {
1646
1721
  maxHeight: "200px",
1647
1722
  overflowY: "auto",
1648
1723
  ref: scrollContainerRef,
1649
1724
  style: { scrollbarWidth: "none" },
1650
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_themes.Flex, { direction: "column", gap: "1", children: options.map((item) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1725
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_themes.Flex, { direction: "column", gap: "1", children: options.map((item) => /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1651
1726
  Button,
1652
1727
  {
1653
1728
  className: "react-datepicker_dropdown_item",
@@ -1661,7 +1736,7 @@ function DropdownSelector({
1661
1736
  e.preventDefault();
1662
1737
  },
1663
1738
  variant: "transparent",
1664
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(Typo, { weight: item === selectedValue ? "bold" : void 0, children: [
1739
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Typo, { weight: item === selectedValue ? "bold" : void 0, children: [
1665
1740
  item,
1666
1741
  suffix
1667
1742
  ] })
@@ -1692,8 +1767,8 @@ var getRenderCustomHeader = (props) => {
1692
1767
  } = props;
1693
1768
  const year = date ? new Date(date).getFullYear() : "-";
1694
1769
  const month = date ? new Date(date).getMonth() + 1 : "-";
1695
- return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_themes.Flex, { align: "center", justify: "between", pl: "2", pr: "2", children: [
1696
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1770
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_themes.Flex, { align: "center", justify: "between", pl: "2", pr: "2", children: [
1771
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1697
1772
  IconButton,
1698
1773
  {
1699
1774
  className: "react-datepicker_dropdown_header",
@@ -1701,11 +1776,11 @@ var getRenderCustomHeader = (props) => {
1701
1776
  onClick: decreaseMonth,
1702
1777
  type: "button",
1703
1778
  variant: "ghost",
1704
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_icons.ChevronLeftIcon, {})
1779
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_icons.ChevronLeftIcon, {})
1705
1780
  }
1706
1781
  ),
1707
- /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_themes.Flex, { gap: "3", children: [
1708
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1782
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_themes.Flex, { gap: "3", children: [
1783
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1709
1784
  DropdownSelector,
1710
1785
  {
1711
1786
  isOpen: isYearDropdownOpen,
@@ -1719,7 +1794,7 @@ var getRenderCustomHeader = (props) => {
1719
1794
  suffix: "\uB144"
1720
1795
  }
1721
1796
  ),
1722
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1797
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1723
1798
  DropdownSelector,
1724
1799
  {
1725
1800
  isOpen: isMonthDropdownOpen,
@@ -1734,7 +1809,7 @@ var getRenderCustomHeader = (props) => {
1734
1809
  }
1735
1810
  )
1736
1811
  ] }),
1737
- /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1812
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1738
1813
  IconButton,
1739
1814
  {
1740
1815
  className: "react-datepicker_dropdown_header",
@@ -1742,7 +1817,7 @@ var getRenderCustomHeader = (props) => {
1742
1817
  onClick: increaseMonth,
1743
1818
  type: "button",
1744
1819
  variant: "ghost",
1745
- children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_react_icons.ChevronRightIcon, {})
1820
+ children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_react_icons.ChevronRightIcon, {})
1746
1821
  }
1747
1822
  )
1748
1823
  ] });
@@ -1753,7 +1828,7 @@ var getRenderCustomHeader = (props) => {
1753
1828
  // src/molecules/dot-navigation.tsx
1754
1829
  var import_react12 = require("react");
1755
1830
  var import_react_icons2 = require("@radix-ui/react-icons");
1756
- var import_jsx_runtime28 = require("react/jsx-runtime");
1831
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1757
1832
  function DotNavigation(props) {
1758
1833
  const { dotCount, onClick, dotIndex, defaultDotIndex, onChangeDotIndex } = props;
1759
1834
  const [currentDot, setCurrentDot] = (0, import_react12.useState)(
@@ -1779,9 +1854,9 @@ function DotNavigation(props) {
1779
1854
  if (typeof dotIndex === "undefined") return;
1780
1855
  setCurrentDot(dotIndex);
1781
1856
  }, [dotIndex]);
1782
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_themes.Flex, { children: dotCount ? Array.from({ length: dotCount }, (_, i) => i).map((_, index) => {
1857
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_themes.Flex, { children: dotCount ? Array.from({ length: dotCount }, (_, i) => i).map((_, index) => {
1783
1858
  const isSelected = currentDot === index;
1784
- return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
1859
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1785
1860
  import_react_icons2.DotFilledIcon,
1786
1861
  {
1787
1862
  height: "24px",
@@ -1807,7 +1882,7 @@ var import_themes13 = require("@radix-ui/themes");
1807
1882
  var import_themes12 = require("@radix-ui/themes");
1808
1883
  var import_clsx7 = require("clsx");
1809
1884
  var import_react13 = require("react");
1810
- var import_jsx_runtime29 = require("react/jsx-runtime");
1885
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1811
1886
  var Avatar = (0, import_react13.forwardRef)(
1812
1887
  (props, ref) => {
1813
1888
  const _a = props, { children, size, variant = "soft", color, className } = _a, rest = __objRest(_a, ["children", "size", "variant", "color", "className"]);
@@ -1839,7 +1914,7 @@ var Avatar = (0, import_react13.forwardRef)(
1839
1914
  return map;
1840
1915
  }
1841
1916
  }, [getOriginalSize, size]);
1842
- return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(
1917
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1843
1918
  import_themes12.Avatar,
1844
1919
  __spreadProps(__spreadValues({}, rest), {
1845
1920
  className: (0, import_clsx7.clsx)(colorClassName, className),
@@ -1855,7 +1930,7 @@ var Avatar = (0, import_react13.forwardRef)(
1855
1930
  Avatar.displayName = "Avatar";
1856
1931
 
1857
1932
  // src/molecules/stepper.tsx
1858
- var import_jsx_runtime30 = require("react/jsx-runtime");
1933
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1859
1934
  var StepContext = (0, import_react14.createContext)({
1860
1935
  active: false,
1861
1936
  completed: false,
@@ -1870,7 +1945,7 @@ function Root(props) {
1870
1945
  maxWidth,
1871
1946
  direction = "vertical"
1872
1947
  } = props;
1873
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1948
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1874
1949
  import_themes.Flex,
1875
1950
  {
1876
1951
  gap: "3",
@@ -1880,7 +1955,7 @@ function Root(props) {
1880
1955
  maxWidth
1881
1956
  },
1882
1957
  children: import_react14.Children.map(children, (child, index) => {
1883
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1958
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1884
1959
  StepContext.Provider,
1885
1960
  {
1886
1961
  value: {
@@ -1904,7 +1979,7 @@ function Step(props) {
1904
1979
  index,
1905
1980
  direction = "vertical"
1906
1981
  } = (0, import_react14.useContext)(StepContext);
1907
- const connector = index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1982
+ const connector = index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1908
1983
  import_themes13.Separator,
1909
1984
  {
1910
1985
  style: {
@@ -1924,7 +1999,7 @@ function Step(props) {
1924
1999
  }
1925
2000
  return IncompleteStep;
1926
2001
  }, [completed, active]);
1927
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
2002
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(
1928
2003
  import_themes.Flex,
1929
2004
  {
1930
2005
  align: "center",
@@ -1934,7 +2009,7 @@ function Step(props) {
1934
2009
  style: { flex: 1 },
1935
2010
  children: [
1936
2011
  connector,
1937
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(InnerStep, { Icon, children })
2012
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(InnerStep, { Icon, children })
1938
2013
  ]
1939
2014
  }
1940
2015
  );
@@ -1945,11 +2020,11 @@ function CompleteStep(props) {
1945
2020
  const background = "var(--accent-a4)";
1946
2021
  const border = "1px solid var(--accent-7)";
1947
2022
  const color = "var(--accent-contrast)";
1948
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
1949
- Icon ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Icon, { active, completed }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2023
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
2024
+ Icon ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Icon, { active, completed }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1950
2025
  Avatar,
1951
2026
  {
1952
- fallback: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_react_icons.CheckIcon, { fill: color, height: 16, width: 16 }),
2027
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_react_icons.CheckIcon, { fill: color, height: 16, width: 16 }),
1953
2028
  radius: "full",
1954
2029
  size: "medium",
1955
2030
  style: {
@@ -1958,7 +2033,7 @@ function CompleteStep(props) {
1958
2033
  }
1959
2034
  }
1960
2035
  ),
1961
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Typo, { align: "center", variant: "caption", children })
2036
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Typo, { align: "center", variant: "caption", children })
1962
2037
  ] });
1963
2038
  }
1964
2039
  function IncompleteStep(props) {
@@ -1966,11 +2041,11 @@ function IncompleteStep(props) {
1966
2041
  const { completed, active, index } = (0, import_react14.useContext)(StepContext);
1967
2042
  const background = "var(--gray-5)";
1968
2043
  const color = "var(--gray-a11)";
1969
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
1970
- Icon ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Icon, { active, completed }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2044
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
2045
+ Icon ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Icon, { active, completed }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1971
2046
  Avatar,
1972
2047
  {
1973
- fallback: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Typo, { style: { color }, children: index + 1 }),
2048
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Typo, { style: { color }, children: index + 1 }),
1974
2049
  radius: "full",
1975
2050
  size: "medium",
1976
2051
  style: {
@@ -1978,7 +2053,7 @@ function IncompleteStep(props) {
1978
2053
  }
1979
2054
  }
1980
2055
  ),
1981
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Typo, { align: "center", style: { color }, variant: "caption", children })
2056
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Typo, { align: "center", style: { color }, variant: "caption", children })
1982
2057
  ] });
1983
2058
  }
1984
2059
  function ActiveStep(props) {
@@ -1986,17 +2061,17 @@ function ActiveStep(props) {
1986
2061
  const { completed, active, index } = (0, import_react14.useContext)(StepContext);
1987
2062
  const background = "var(--accent-10)";
1988
2063
  const color = "var(--accent-contrast)";
1989
- return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_jsx_runtime30.Fragment, { children: [
1990
- Icon ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Icon, { active, completed }) : /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
2064
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_jsx_runtime32.Fragment, { children: [
2065
+ Icon ? /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Icon, { active, completed }) : /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1991
2066
  Avatar,
1992
2067
  {
1993
- fallback: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Typo, { style: { color }, weight: "bold", children: index + 1 }),
2068
+ fallback: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Typo, { style: { color }, weight: "bold", children: index + 1 }),
1994
2069
  radius: "full",
1995
2070
  size: "medium",
1996
2071
  style: { background }
1997
2072
  }
1998
2073
  ),
1999
- /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Typo, { align: "center", variant: "caption", weight: "bold", children })
2074
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Typo, { align: "center", variant: "caption", weight: "bold", children })
2000
2075
  ] });
2001
2076
  }
2002
2077
  var Stepper = {
@@ -2011,7 +2086,7 @@ var import_react_icons3 = require("@radix-ui/react-icons");
2011
2086
  // src/atoms/auto-sizing-input.tsx
2012
2087
  var import_themes14 = require("@radix-ui/themes");
2013
2088
  var import_react15 = require("react");
2014
- var import_jsx_runtime31 = require("react/jsx-runtime");
2089
+ var import_jsx_runtime33 = require("react/jsx-runtime");
2015
2090
  var useTextWidth = (text, font) => {
2016
2091
  const [textWidth, setTextWidth] = (0, import_react15.useState)(0);
2017
2092
  (0, import_react15.useEffect)(() => {
@@ -2111,7 +2186,7 @@ var AutoSizingInput = (0, import_react15.forwardRef)(
2111
2186
  (_a2 = inputRef.current) == null ? void 0 : _a2.focus();
2112
2187
  }
2113
2188
  }, [inputRef]);
2114
- return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
2189
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2115
2190
  import_themes14.Box,
2116
2191
  {
2117
2192
  className: "auto-sizing-input wrapper",
@@ -2119,7 +2194,7 @@ var AutoSizingInput = (0, import_react15.forwardRef)(
2119
2194
  minWidth,
2120
2195
  onClick,
2121
2196
  style: { width: dynamicWidth },
2122
- children: /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("input", __spreadValues({ onChange: handleChange, ref: inputRef, value }, rest))
2197
+ children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("input", __spreadValues({ onChange: handleChange, ref: inputRef, value }, rest))
2123
2198
  }
2124
2199
  );
2125
2200
  }
@@ -2130,7 +2205,7 @@ AutoSizingInput.displayName = "AutoSizingInput";
2130
2205
  var import_themes15 = require("@radix-ui/themes");
2131
2206
  var import_clsx8 = require("clsx");
2132
2207
  var import_react16 = require("react");
2133
- var import_jsx_runtime32 = require("react/jsx-runtime");
2208
+ var import_jsx_runtime34 = require("react/jsx-runtime");
2134
2209
  var Badge = (0, import_react16.forwardRef)(
2135
2210
  (props, ref) => {
2136
2211
  const _a = props, { size = "small", color = "accent", className } = _a, rest = __objRest(_a, ["size", "color", "className"]);
@@ -2150,7 +2225,7 @@ var Badge = (0, import_react16.forwardRef)(
2150
2225
  () => resolveColor(color),
2151
2226
  [color]
2152
2227
  );
2153
- return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
2228
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2154
2229
  import_themes15.Badge,
2155
2230
  __spreadProps(__spreadValues({}, rest), {
2156
2231
  className: (0, import_clsx8.clsx)(colorClassName, className),
@@ -2170,7 +2245,7 @@ var import_themes16 = require("@radix-ui/themes");
2170
2245
  var import_themes17 = require("@radix-ui/themes");
2171
2246
 
2172
2247
  // src/molecules/tag-selector.tsx
2173
- var import_jsx_runtime33 = require("react/jsx-runtime");
2248
+ var import_jsx_runtime35 = require("react/jsx-runtime");
2174
2249
  var OPTION_HEIGHT = 32;
2175
2250
  var stopDefaultEvents = (e) => {
2176
2251
  e.preventDefault();
@@ -2360,11 +2435,11 @@ function TagSelector(props) {
2360
2435
  const focusClassName = focus ? " focused" : "";
2361
2436
  const readOnlyClassName = readOnly ? " read-only" : "";
2362
2437
  const errorClassName = error ? " error" : "";
2363
- const readonlyContent = /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_themes.Flex, { gap: "1", children: selectedItem.map((item) => {
2364
- return tagRender ? tagRender(item) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Badge, { size: badgeSize, children: item.name }, item.id);
2438
+ const readonlyContent = /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes.Flex, { gap: "1", children: selectedItem.map((item) => {
2439
+ return tagRender ? tagRender(item) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Badge, { size: badgeSize, children: item.name }, item.id);
2365
2440
  }) });
2366
- const editContent = /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_jsx_runtime33.Fragment, { children: [
2367
- /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(
2441
+ const editContent = /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
2442
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
2368
2443
  import_themes.Flex,
2369
2444
  {
2370
2445
  align: "center",
@@ -2376,22 +2451,22 @@ function TagSelector(props) {
2376
2451
  selectedItem.map((item) => {
2377
2452
  return tagRender ? tagRender(item, () => {
2378
2453
  onDelete(item.id);
2379
- }) : /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Badge, { size: badgeSize, children: [
2454
+ }) : /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Badge, { size: badgeSize, children: [
2380
2455
  item.name,
2381
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2456
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2382
2457
  Button,
2383
2458
  {
2384
2459
  onClick: () => {
2385
2460
  onDelete(item.id);
2386
2461
  },
2387
2462
  variant: "transparent",
2388
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_icons3.Cross1Icon, {})
2463
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_icons3.Cross1Icon, {})
2389
2464
  }
2390
2465
  )
2391
2466
  ] }, item.id);
2392
2467
  }),
2393
- placeholderVisible ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Typo, { color: "gray", variant: placeholderVariant, children: placeholder }) : null,
2394
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2468
+ placeholderVisible ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Typo, { color: "gray", variant: placeholderVariant, children: placeholder }) : null,
2469
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2395
2470
  AutoSizingInput,
2396
2471
  {
2397
2472
  onBlur,
@@ -2405,10 +2480,10 @@ function TagSelector(props) {
2405
2480
  ]
2406
2481
  }
2407
2482
  ),
2408
- focus ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_icons3.MagnifyingGlassIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_icons3.ChevronRightIcon, {})
2483
+ focus ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_icons3.MagnifyingGlassIcon, {}) : /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_icons3.ChevronRightIcon, {})
2409
2484
  ] });
2410
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(Popover.Root, { open: Boolean(filteredOptions.length) && propsOpen || open, children: [
2411
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(Popover.Trigger, { style: { position: "relative" }, children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2485
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Popover.Root, { open: Boolean(filteredOptions.length) && propsOpen || open, children: [
2486
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Popover.Trigger, { style: { position: "relative" }, children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2412
2487
  import_themes17.Grid,
2413
2488
  {
2414
2489
  align: "center",
@@ -2422,7 +2497,7 @@ function TagSelector(props) {
2422
2497
  children: readOnly ? readonlyContent : editContent
2423
2498
  }
2424
2499
  ) }),
2425
- /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2500
+ /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2426
2501
  Popover.Content,
2427
2502
  {
2428
2503
  onOpenAutoFocus: preventDefault,
@@ -2432,24 +2507,24 @@ function TagSelector(props) {
2432
2507
  style: {
2433
2508
  pointerEvents: "fill"
2434
2509
  },
2435
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2510
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2436
2511
  DropdownContainer,
2437
2512
  {
2438
2513
  currentItem: filteredOptions[focusIndex || 0],
2439
2514
  items: filteredOptions,
2440
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2515
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2441
2516
  import_themes16.ScrollArea,
2442
2517
  {
2443
2518
  ref: scrollRef,
2444
2519
  scrollbars: "vertical",
2445
2520
  style: { height: OPTION_HEIGHT * 8 },
2446
2521
  type: "auto",
2447
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_themes.Flex, { direction: "column", children: filteredOptions.map((item, i) => {
2522
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_themes.Flex, { direction: "column", children: filteredOptions.map((item, i) => {
2448
2523
  const isSelected = Boolean(
2449
2524
  selected.find((el) => el === item.id)
2450
2525
  );
2451
2526
  const isFocus = i === focusIndex;
2452
- return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
2527
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2453
2528
  Button,
2454
2529
  {
2455
2530
  className: `tag-selector-button ${isFocus ? "focused" : ""}`,
@@ -2462,9 +2537,9 @@ function TagSelector(props) {
2462
2537
  setFocusIndex(i);
2463
2538
  },
2464
2539
  variant: isSelected ? "soft" : "outline",
2465
- children: /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_themes.Flex, { justify: "between", width: "100%", children: [
2540
+ children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_themes.Flex, { justify: "between", width: "100%", children: [
2466
2541
  dropdownItemRender ? dropdownItemRender(item) : item.name,
2467
- isSelected ? /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_icons.CheckIcon, {}) : null
2542
+ isSelected ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_icons.CheckIcon, {}) : null
2468
2543
  ] })
2469
2544
  },
2470
2545
  item.id
@@ -2492,7 +2567,7 @@ var preventDefault = (e) => {
2492
2567
  var import_themes18 = require("@radix-ui/themes");
2493
2568
 
2494
2569
  // src/molecules/learning-post.tsx
2495
- var import_jsx_runtime34 = require("react/jsx-runtime");
2570
+ var import_jsx_runtime36 = require("react/jsx-runtime");
2496
2571
  function LearningPost(props) {
2497
2572
  const {
2498
2573
  defaultThemeProps,
@@ -2504,13 +2579,13 @@ function LearningPost(props) {
2504
2579
  onPageBack,
2505
2580
  children
2506
2581
  } = props;
2507
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2582
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2508
2583
  ThemeProvider,
2509
2584
  __spreadProps(__spreadValues({}, defaultThemeProps), {
2510
2585
  accentColor: "iris",
2511
2586
  scaling: "110%",
2512
2587
  style: {},
2513
- children: html ? /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2588
+ children: html ? /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2514
2589
  import_themes17.Grid,
2515
2590
  {
2516
2591
  columns: { initial: "1", md: "130px 1fr 130px" },
@@ -2522,8 +2597,8 @@ function LearningPost(props) {
2522
2597
  px: "4",
2523
2598
  width: "100%",
2524
2599
  children: [
2525
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", {}),
2526
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2600
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", {}),
2601
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2527
2602
  import_themes.Flex,
2528
2603
  {
2529
2604
  align: "center",
@@ -2533,15 +2608,15 @@ function LearningPost(props) {
2533
2608
  overflow: "hidden",
2534
2609
  width: "100%",
2535
2610
  children: [
2536
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(import_themes17.Grid, { align: "start", columns: { initial: "1", sm: "2" }, gap: "2", children: [
2537
- /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2611
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_themes17.Grid, { align: "start", columns: { initial: "1", sm: "2" }, gap: "2", children: [
2612
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2538
2613
  import_themes17.Grid,
2539
2614
  {
2540
2615
  gap: "3",
2541
2616
  mb: { initial: "4", sm: "0" },
2542
2617
  style: { alignSelf: "flex-start" },
2543
2618
  children: [
2544
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2619
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2545
2620
  Heading2,
2546
2621
  {
2547
2622
  style: {
@@ -2553,16 +2628,16 @@ function LearningPost(props) {
2553
2628
  children: title
2554
2629
  }
2555
2630
  ),
2556
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Typo, { children: metaDescription }),
2557
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes.Flex, { gap: "1", wrap: "wrap", children: tags == null ? void 0 : tags.map((el) => {
2631
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Typo, { children: metaDescription }),
2632
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes.Flex, { gap: "1", wrap: "wrap", children: tags == null ? void 0 : tags.map((el) => {
2558
2633
  var _a;
2559
2634
  if ((_a = el.name) == null ? void 0 : _a.startsWith("filter")) return;
2560
- return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Badge, { size: "large", variant: "solid", children: el.name }, el.id);
2635
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Badge, { size: "large", variant: "solid", children: el.name }, el.id);
2561
2636
  }) })
2562
2637
  ]
2563
2638
  }
2564
2639
  ),
2565
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2640
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2566
2641
  import_themes18.AspectRatio,
2567
2642
  {
2568
2643
  ratio: 5 / 3,
@@ -2575,7 +2650,7 @@ function LearningPost(props) {
2575
2650
  }
2576
2651
  )
2577
2652
  ] }),
2578
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_themes7.Box, { mt: "5", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2653
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes9.Box, { mt: "5", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2579
2654
  "div",
2580
2655
  {
2581
2656
  className: "gh-content",
@@ -2588,7 +2663,7 @@ function LearningPost(props) {
2588
2663
  children
2589
2664
  ]
2590
2665
  }
2591
- ) : /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
2666
+ ) : /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
2592
2667
  import_themes.Flex,
2593
2668
  {
2594
2669
  align: "center",
@@ -2598,8 +2673,8 @@ function LearningPost(props) {
2598
2673
  justify: "center",
2599
2674
  width: "100%",
2600
2675
  children: [
2601
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Heading2, { variant: "heading1", children: "\uCF58\uD150\uCE20\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." }),
2602
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
2676
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Heading2, { variant: "heading1", children: "\uCF58\uD150\uCE20\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." }),
2677
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2603
2678
  Heading2,
2604
2679
  {
2605
2680
  align: "center",
@@ -2610,7 +2685,7 @@ function LearningPost(props) {
2610
2685
  \uC7A0\uC2DC \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574\uC8FC\uC138\uC694.`
2611
2686
  }
2612
2687
  ),
2613
- /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Button, { onClick: onPageBack, size: "large", children: "\uB4A4\uB85C\uAC00\uAE30" })
2688
+ /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Button, { onClick: onPageBack, size: "large", children: "\uB4A4\uB85C\uAC00\uAE30" })
2614
2689
  ]
2615
2690
  }
2616
2691
  )
@@ -2625,12 +2700,12 @@ var import_react_icons4 = require("@radix-ui/react-icons");
2625
2700
  var import_themes19 = require("@radix-ui/themes");
2626
2701
  var import_clsx9 = require("clsx");
2627
2702
  var import_react18 = require("react");
2628
- var import_jsx_runtime35 = require("react/jsx-runtime");
2703
+ var import_jsx_runtime37 = require("react/jsx-runtime");
2629
2704
  var Code = (0, import_react18.forwardRef)(
2630
2705
  (props, ref) => {
2631
2706
  const _a = props, { color, className } = _a, rest = __objRest(_a, ["color", "className"]);
2632
2707
  const { color: radixColor, className: colorClassName } = resolveColor(color);
2633
- return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
2708
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2634
2709
  import_themes19.Code,
2635
2710
  __spreadProps(__spreadValues({}, rest), {
2636
2711
  className: (0, import_clsx9.clsx)(colorClassName, className),
@@ -2646,9 +2721,9 @@ Code.displayName = "Code";
2646
2721
  var import_themes20 = require("@radix-ui/themes");
2647
2722
 
2648
2723
  // src/molecules/force-refresh.tsx
2649
- var import_jsx_runtime36 = require("react/jsx-runtime");
2724
+ var import_jsx_runtime38 = require("react/jsx-runtime");
2650
2725
  function CodeSize3(props) {
2651
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
2726
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2652
2727
  Code,
2653
2728
  {
2654
2729
  style: {
@@ -2661,51 +2736,51 @@ function CodeSize3(props) {
2661
2736
  );
2662
2737
  }
2663
2738
  function ForceRefresh() {
2664
- return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
2665
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Typo, { children: [
2739
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
2740
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Typo, { children: [
2666
2741
  "1. \uD06C\uB86C \uBE0C\uB77C\uC6B0\uC800 \uC624\uB978\uCABD \uC0C1\uB2E8\uC758",
2667
2742
  " ",
2668
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(CodeSize3, { children: [
2669
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_icons4.DotsVerticalIcon, { height: "13px" }),
2743
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(CodeSize3, { children: [
2744
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_icons4.DotsVerticalIcon, { height: "13px" }),
2670
2745
  "\uB354\uBCF4\uAE30"
2671
2746
  ] }),
2672
2747
  "\uC544\uC774\uCF58\uC744 \uD074\uB9AD\uD569\uB2C8\uB2E4."
2673
2748
  ] }),
2674
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Typo, { children: [
2749
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Typo, { children: [
2675
2750
  "2. ",
2676
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CodeSize3, { children: "\uB3C4\uAD6C \uB354\uBCF4\uAE30" }),
2751
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CodeSize3, { children: "\uB3C4\uAD6C \uB354\uBCF4\uAE30" }),
2677
2752
  " ",
2678
2753
  ">",
2679
2754
  " ",
2680
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CodeSize3, { children: "\uAC1C\uBC1C\uC790 \uB3C4\uAD6C" }),
2755
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CodeSize3, { children: "\uAC1C\uBC1C\uC790 \uB3C4\uAD6C" }),
2681
2756
  " \uBA54\uB274\uB97C \uC120\uD0DD\uD569\uB2C8\uB2E4. (\uB610\uB294 \uC544\uB798\uC758 \uB2E8\uCD95\uD0A4\uB97C \uC0AC\uC6A9 \uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.)"
2682
2757
  ] }),
2683
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_themes.Flex, { direction: "column", gap: "3", p: "0", pl: "3", children: [
2684
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Typo, { children: [
2758
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(import_themes.Flex, { direction: "column", gap: "3", p: "0", pl: "3", children: [
2759
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Typo, { children: [
2685
2760
  "a. \uC708\uB3C4\uC6B0 \uB2E8\uCD95\uD0A4: ",
2686
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes20.Kbd, { children: "F12" })
2761
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes20.Kbd, { children: "F12" })
2687
2762
  ] }),
2688
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Typo, { children: [
2763
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Typo, { children: [
2689
2764
  "b. \uB9E5 \uB2E8\uCD95\uD0A4: ",
2690
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes20.Kbd, { children: "Option" }),
2765
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes20.Kbd, { children: "Option" }),
2691
2766
  " + ",
2692
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes20.Kbd, { children: "Command" }),
2767
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes20.Kbd, { children: "Command" }),
2693
2768
  " + ",
2694
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_themes20.Kbd, { children: "I" })
2769
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes20.Kbd, { children: "I" })
2695
2770
  ] })
2696
2771
  ] }),
2697
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Typo, { children: [
2772
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Typo, { children: [
2698
2773
  "3. \uAC1C\uBC1C\uC790 \uB3C4\uAD6C\uAC00 \uC5F4\uB9AC\uBA74, \uBE0C\uB77C\uC6B0\uC800 \uC0C1\uB2E8\uC5D0 \uC788\uB294",
2699
2774
  " ",
2700
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(CodeSize3, { children: [
2701
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_icons4.ReloadIcon, { style: { paddingRight: "5px" } }),
2775
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(CodeSize3, { children: [
2776
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_icons4.ReloadIcon, { style: { paddingRight: "5px" } }),
2702
2777
  "\uC0C8\uB85C\uACE0\uCE68 \uBC84\uD2BC"
2703
2778
  ] }),
2704
2779
  "\uC744 \uC6B0\uD074\uB9AD\uD569\uB2C8\uB2E4."
2705
2780
  ] }),
2706
- /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Typo, { children: [
2781
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(Typo, { children: [
2707
2782
  "4. \uC0C8\uB85C\uACE0\uCE68 \uBA54\uB274\uC5D0\uC11C ",
2708
- /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(CodeSize3, { children: "\uCE90\uC2DC \uBE44\uC6B0\uAE30 \uBC0F \uAC15\uB825 \uC0C8\uB85C\uACE0\uCE68" }),
2783
+ /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(CodeSize3, { children: "\uCE90\uC2DC \uBE44\uC6B0\uAE30 \uBC0F \uAC15\uB825 \uC0C8\uB85C\uACE0\uCE68" }),
2709
2784
  "\uC744 \uD074\uB9AD\uD569\uB2C8\uB2E4."
2710
2785
  ] })
2711
2786
  ] });
@@ -2719,7 +2794,7 @@ var import_clsx10 = require("clsx");
2719
2794
  // src/atoms/text-field.tsx
2720
2795
  var import_themes21 = require("@radix-ui/themes");
2721
2796
  var import_react19 = require("react");
2722
- var import_jsx_runtime37 = require("react/jsx-runtime");
2797
+ var import_jsx_runtime39 = require("react/jsx-runtime");
2723
2798
  var Root2 = (0, import_react19.forwardRef)((props, ref) => {
2724
2799
  const _a = props, { error, style, className } = _a, rest = __objRest(_a, ["error", "style", "className"]);
2725
2800
  const fieldStyle = (0, import_react19.useMemo)(() => {
@@ -2730,7 +2805,7 @@ var Root2 = (0, import_react19.forwardRef)((props, ref) => {
2730
2805
  return __spreadValues(__spreadValues({}, style || {}), errorStyle);
2731
2806
  }, [error, style]);
2732
2807
  const classNameStr = error ? `error ${className}` : className;
2733
- return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
2808
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2734
2809
  import_themes21.TextField.Root,
2735
2810
  __spreadValues({
2736
2811
  className: classNameStr,
@@ -2743,7 +2818,7 @@ Root2.displayName = "TextField.Root";
2743
2818
  var TextField = { Root: Root2, Slot: import_themes21.TextField.Slot };
2744
2819
 
2745
2820
  // src/molecules/date-picker/date-picker-button.tsx
2746
- var import_jsx_runtime38 = require("react/jsx-runtime");
2821
+ var import_jsx_runtime40 = require("react/jsx-runtime");
2747
2822
  function DatePickerButton(props) {
2748
2823
  const _a = props, { size, format: formatProps, disabled } = _a, rest = __objRest(_a, ["size", "format", "disabled"]);
2749
2824
  const placeholder = rest.placeholder || "\uB0A0\uC9DC\uB97C \uC120\uD0DD\uD574\uC8FC\uC138\uC694";
@@ -2767,18 +2842,18 @@ function DatePickerButton(props) {
2767
2842
  const placeholderVisible = (0, import_react20.useMemo)(() => {
2768
2843
  return rest.selected ? "" : "placeholder-visible";
2769
2844
  }, [rest.selected]);
2770
- return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_themes7.Box, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
2845
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_themes9.Box, { p: "0", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
2771
2846
  DatePicker,
2772
2847
  __spreadProps(__spreadValues({
2773
- customInput: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Button, __spreadProps(__spreadValues({ asChild: true, className, type: "button" }, buttonProps), { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
2848
+ customInput: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Button, __spreadProps(__spreadValues({ asChild: true, className, type: "button" }, buttonProps), { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
2774
2849
  TextField.Root,
2775
2850
  {
2776
2851
  className: placeholderVisible,
2777
2852
  placeholder: placeholder || "",
2778
2853
  value: rest.selected ? selectFormat(rest.selected) : placeholder,
2779
2854
  children: [
2780
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TextField.Slot, { className: "hide-slot" }),
2781
- /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(TextField.Slot, { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_react_icons.CalendarIcon, {}) })
2855
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(TextField.Slot, { className: "hide-slot" }),
2856
+ /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(TextField.Slot, { children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_react_icons.CalendarIcon, {}) })
2782
2857
  ]
2783
2858
  }
2784
2859
  ) })),
@@ -2797,7 +2872,7 @@ var import_date_fns2 = require("date-fns");
2797
2872
  var import_themes22 = require("@radix-ui/themes");
2798
2873
  var import_clsx11 = require("clsx");
2799
2874
  var import_react21 = require("react");
2800
- var import_jsx_runtime39 = require("react/jsx-runtime");
2875
+ var import_jsx_runtime41 = require("react/jsx-runtime");
2801
2876
  var SelectContext = (0, import_react21.createContext)({
2802
2877
  error: false
2803
2878
  });
@@ -2818,7 +2893,7 @@ var Content2 = (0, import_react21.forwardRef)((props, ref) => {
2818
2893
  const errorCls = error ? "tipp-error" : "";
2819
2894
  return (0, import_clsx11.clsx)(etc, errorCls, colorClassName, className);
2820
2895
  }, [className, colorClassName, error, isNavigation]);
2821
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2896
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2822
2897
  import_themes22.Select.Content,
2823
2898
  __spreadProps(__spreadValues({
2824
2899
  position: "popper"
@@ -2842,7 +2917,7 @@ var Trigger = (0, import_react21.forwardRef)((props, ref) => {
2842
2917
  const errorCls = error ? "error" : "";
2843
2918
  return (0, import_clsx11.clsx)(errorCls, colorClassName, className);
2844
2919
  }, [className, colorClassName, error]);
2845
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
2920
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
2846
2921
  import_themes22.Select.Trigger,
2847
2922
  __spreadProps(__spreadValues({}, rest), {
2848
2923
  className: cls,
@@ -2855,7 +2930,7 @@ Trigger.displayName = "Select.Trigger";
2855
2930
  function Root3(props) {
2856
2931
  const _a = props, { error, color } = _a, rest = __objRest(_a, ["error", "color"]);
2857
2932
  const value = (0, import_react21.useMemo)(() => ({ error, color }), [error, color]);
2858
- return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(SelectContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_themes22.Select.Root, __spreadValues({}, rest)) });
2933
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(SelectContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(import_themes22.Select.Root, __spreadValues({}, rest)) });
2859
2934
  }
2860
2935
  Root3.displayName = "Select.Root";
2861
2936
  var Select = __spreadProps(__spreadValues({}, import_themes22.Select), {
@@ -2953,7 +3028,7 @@ function getDynamicFormDisplayValue(field, value) {
2953
3028
  }
2954
3029
 
2955
3030
  // src/molecules/time-select.tsx
2956
- var import_jsx_runtime40 = require("react/jsx-runtime");
3031
+ var import_jsx_runtime42 = require("react/jsx-runtime");
2957
3032
  var getOptionValue = (date, timeValue) => {
2958
3033
  if (date && timeValue) {
2959
3034
  if ((0, import_date_fns2.format)(date, "yyyyMMdd") === (0, import_date_fns2.format)(timeValue, "yyyyMMdd")) {
@@ -2979,14 +3054,14 @@ function TimeSelect(_a) {
2979
3054
  const [minOption, maxOption] = (0, import_react22.useMemo)(() => {
2980
3055
  return [getOptionValue(minTime, time), getOptionValue(maxTime, time)];
2981
3056
  }, [maxTime, minTime, time]);
2982
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(Select.Root, __spreadProps(__spreadValues({ value }, rest), { children: [
2983
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_themes.Flex, { direction: "column", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Select.Trigger, { placeholder: "- ", style: { minWidth: "100px" }, children: value }) }),
2984
- /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Select.Content, { children: timeOptions.map((option) => {
3057
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(Select.Root, __spreadProps(__spreadValues({ value }, rest), { children: [
3058
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_themes.Flex, { direction: "column", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Select.Trigger, { placeholder: "- ", style: { minWidth: "100px" }, children: value }) }),
3059
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Select.Content, { children: timeOptions.map((option) => {
2985
3060
  const visible = (!minOption || option >= minOption) && (!maxOption || option <= maxOption);
2986
3061
  if (!visible) {
2987
3062
  return null;
2988
3063
  }
2989
- return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(Select.Item, { value: option, children: option }, option);
3064
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Select.Item, { value: option, children: option }, option);
2990
3065
  }) })
2991
3066
  ] }));
2992
3067
  }
@@ -2998,7 +3073,7 @@ var import_react25 = require("react");
2998
3073
  var import_themes23 = require("@radix-ui/themes");
2999
3074
  var import_clsx12 = require("clsx");
3000
3075
  var import_react23 = require("react");
3001
- var import_jsx_runtime41 = require("react/jsx-runtime");
3076
+ var import_jsx_runtime43 = require("react/jsx-runtime");
3002
3077
  var Root4 = (0, import_react23.forwardRef)((props, ref) => {
3003
3078
  const _a = props, { color, className } = _a, rest = __objRest(_a, ["color", "className"]);
3004
3079
  const { color: radixColor, className: colorClassName } = (0, import_react23.useMemo)(
@@ -3006,7 +3081,7 @@ var Root4 = (0, import_react23.forwardRef)((props, ref) => {
3006
3081
  [color]
3007
3082
  );
3008
3083
  const appliedColor = colorClassName ? void 0 : radixColor;
3009
- return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
3084
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
3010
3085
  import_themes23.RadioCards.Root,
3011
3086
  __spreadProps(__spreadValues({}, rest), {
3012
3087
  className: (0, import_clsx12.clsx)(colorClassName, className),
@@ -3024,11 +3099,11 @@ var RadioCards = __spreadProps(__spreadValues({}, import_themes23.RadioCards), {
3024
3099
  var import_themes24 = require("@radix-ui/themes");
3025
3100
  var import_clsx13 = require("clsx");
3026
3101
  var import_react24 = require("react");
3027
- var import_jsx_runtime42 = require("react/jsx-runtime");
3102
+ var import_jsx_runtime44 = require("react/jsx-runtime");
3028
3103
  var Radio = (0, import_react24.forwardRef)((props, ref) => {
3029
3104
  const _a = props, { color, className } = _a, rest = __objRest(_a, ["color", "className"]);
3030
3105
  const { color: radixColor, className: colorClassName } = resolveColor(color);
3031
- return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
3106
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
3032
3107
  import_themes24.Radio,
3033
3108
  __spreadProps(__spreadValues({}, rest), {
3034
3109
  className: (0, import_clsx13.clsx)(colorClassName, className),
@@ -3040,7 +3115,7 @@ var Radio = (0, import_react24.forwardRef)((props, ref) => {
3040
3115
  Radio.displayName = "Radio";
3041
3116
 
3042
3117
  // src/molecules/radio-button-card.tsx
3043
- var import_jsx_runtime43 = require("react/jsx-runtime");
3118
+ var import_jsx_runtime45 = require("react/jsx-runtime");
3044
3119
  var RadioCardContext = (0, import_react25.createContext)({});
3045
3120
  function Root5(props) {
3046
3121
  const [value, setValue] = (0, import_react25.useState)(props.value || props.defaultValue);
@@ -3052,7 +3127,7 @@ function Root5(props) {
3052
3127
  },
3053
3128
  [props]
3054
3129
  );
3055
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadioCardContext.Provider, { value: __spreadProps(__spreadValues({}, props), { value }), children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadioCards.Root, __spreadProps(__spreadValues({}, props), { onValueChange })) });
3130
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(RadioCardContext.Provider, { value: __spreadProps(__spreadValues({}, props), { value }), children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(RadioCards.Root, __spreadProps(__spreadValues({}, props), { onValueChange })) });
3056
3131
  }
3057
3132
  function Item(_a) {
3058
3133
  var _b = _a, {
@@ -3069,9 +3144,9 @@ function Item(_a) {
3069
3144
  "justify",
3070
3145
  "RadioWrapper"
3071
3146
  ]);
3072
- return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadioCards.Item, __spreadProps(__spreadValues({}, itemRest), { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(import_themes.Flex, { align: "center", justify: justify || "between", width: "100%", children: [
3147
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(RadioCards.Item, __spreadProps(__spreadValues({}, itemRest), { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_themes.Flex, { align: "center", justify: justify || "between", width: "100%", children: [
3073
3148
  children,
3074
- /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(RadioWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
3149
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(RadioWrapper, { children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3075
3150
  Radio,
3076
3151
  {
3077
3152
  checked: itemRest.value === value,
@@ -3094,7 +3169,7 @@ var import_themes25 = require("@radix-ui/themes");
3094
3169
  var import_clsx14 = require("clsx");
3095
3170
  var import_react26 = require("react");
3096
3171
  var import_themes26 = require("@radix-ui/themes");
3097
- var import_jsx_runtime44 = require("react/jsx-runtime");
3172
+ var import_jsx_runtime46 = require("react/jsx-runtime");
3098
3173
  function Link(props) {
3099
3174
  const _a = props, { size, children, variant, color, className } = _a, rest = __objRest(_a, ["size", "children", "variant", "color", "className"]);
3100
3175
  const { color: radixColor, className: colorClassName } = (0, import_react26.useMemo)(
@@ -3113,7 +3188,7 @@ function Link(props) {
3113
3188
  return size;
3114
3189
  }
3115
3190
  }, [size, variant]);
3116
- return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
3191
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3117
3192
  import_themes25.Link,
3118
3193
  __spreadProps(__spreadValues({}, rest), {
3119
3194
  className: (0, import_clsx14.clsx)(colorClassName, className),
@@ -3125,24 +3200,24 @@ function Link(props) {
3125
3200
  }
3126
3201
 
3127
3202
  // src/molecules/download-card.tsx
3128
- var import_jsx_runtime45 = require("react/jsx-runtime");
3203
+ var import_jsx_runtime47 = require("react/jsx-runtime");
3129
3204
  function DownloadCard({
3130
3205
  fileName,
3131
3206
  url,
3132
3207
  createdAt,
3133
3208
  size
3134
3209
  }) {
3135
- return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Link, { download: fileName, href: url, children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3210
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Link, { download: fileName, href: url, children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3136
3211
  IconButton,
3137
3212
  {
3138
3213
  mt: "3",
3139
3214
  size: "large",
3140
3215
  style: { width: "100%", height: 56 },
3141
3216
  variant: "soft",
3142
- children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_themes.Flex, { align: "center", gap: "3", pl: "4", width: "100%", children: [
3143
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Typo, { color: "gray", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_react_icons5.DownloadIcon, { height: 20, width: 20 }) }),
3144
- /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_themes.Flex, { align: "start", direction: "column", gap: "1", children: [
3145
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
3217
+ children: /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_themes.Flex, { align: "center", gap: "3", pl: "4", width: "100%", children: [
3218
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Typo, { color: "gray", children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_react_icons5.DownloadIcon, { height: 20, width: 20 }) }),
3219
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(import_themes.Flex, { align: "start", direction: "column", gap: "1", children: [
3220
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3146
3221
  Typo,
3147
3222
  {
3148
3223
  style: {
@@ -3152,7 +3227,7 @@ function DownloadCard({
3152
3227
  children: fileName
3153
3228
  }
3154
3229
  ),
3155
- /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(Typo, { color: "gray", variant: "caption", children: size })
3230
+ /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Typo, { color: "gray", variant: "caption", children: size })
3156
3231
  ] })
3157
3232
  ] })
3158
3233
  }
@@ -3160,22 +3235,22 @@ function DownloadCard({
3160
3235
  }
3161
3236
 
3162
3237
  // src/molecules/ghost-post.tsx
3163
- var import_jsx_runtime46 = require("react/jsx-runtime");
3238
+ var import_jsx_runtime48 = require("react/jsx-runtime");
3164
3239
  function GhostPost(props) {
3165
3240
  const { defaultThemeProps, html, onPageBack } = props;
3166
- return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3241
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3167
3242
  ThemeProvider,
3168
3243
  __spreadProps(__spreadValues({}, defaultThemeProps), {
3169
3244
  accentColor: "iris",
3170
3245
  scaling: "110%",
3171
3246
  style: {},
3172
- children: html ? /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_themes7.Box, { mt: "5", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3247
+ children: html ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes9.Box, { mt: "5", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3173
3248
  "div",
3174
3249
  {
3175
3250
  className: "gh-content",
3176
3251
  dangerouslySetInnerHTML: { __html: html }
3177
3252
  }
3178
- ) }) : /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
3253
+ ) }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
3179
3254
  import_themes.Flex,
3180
3255
  {
3181
3256
  align: "center",
@@ -3185,8 +3260,8 @@ function GhostPost(props) {
3185
3260
  justify: "center",
3186
3261
  width: "100%",
3187
3262
  children: [
3188
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Heading2, { variant: "heading1", children: "\uCF58\uD150\uCE20\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." }),
3189
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
3263
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Heading2, { variant: "heading1", children: "\uCF58\uD150\uCE20\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." }),
3264
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3190
3265
  Heading2,
3191
3266
  {
3192
3267
  align: "center",
@@ -3197,7 +3272,7 @@ function GhostPost(props) {
3197
3272
  \uC7A0\uC2DC \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574\uC8FC\uC138\uC694.`
3198
3273
  }
3199
3274
  ),
3200
- /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Button, { onClick: onPageBack, size: "large", children: "\uB4A4\uB85C\uAC00\uAE30" })
3275
+ /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Button, { onClick: onPageBack, size: "large", children: "\uB4A4\uB85C\uAC00\uAE30" })
3201
3276
  ]
3202
3277
  }
3203
3278
  )
@@ -3207,7 +3282,7 @@ function GhostPost(props) {
3207
3282
 
3208
3283
  // src/molecules/curriculumV2/curriculum-context.tsx
3209
3284
  var import_react27 = require("react");
3210
- var import_jsx_runtime47 = require("react/jsx-runtime");
3285
+ var import_jsx_runtime49 = require("react/jsx-runtime");
3211
3286
  var EMPTY_SELECTED_ITEM = {
3212
3287
  uuid: "",
3213
3288
  type: "sectionTitle",
@@ -3346,7 +3421,7 @@ function CurriculumProvider(props) {
3346
3421
  if (item.type === "sectionTitle") return;
3347
3422
  onChangeSelectedContent == null ? void 0 : onChangeSelectedContent(item);
3348
3423
  }, [list, onChangeSelectedContent, selectedIndexState]);
3349
- return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
3424
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
3350
3425
  CurriculumContext.Provider,
3351
3426
  {
3352
3427
  value: {
@@ -3386,7 +3461,7 @@ function useCurriculumContext() {
3386
3461
 
3387
3462
  // src/molecules/curriculumV2/curriculum-sub-nav.tsx
3388
3463
  var import_react28 = require("react");
3389
- var import_jsx_runtime48 = require("react/jsx-runtime");
3464
+ var import_jsx_runtime50 = require("react/jsx-runtime");
3390
3465
  function CurriculumSubNav() {
3391
3466
  const {
3392
3467
  selectedItem,
@@ -3407,7 +3482,7 @@ function CurriculumSubNav() {
3407
3482
  scrollNavItem(moveIndex.toString());
3408
3483
  });
3409
3484
  }, [selectNext, scrollNavItem]);
3410
- return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
3485
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(
3411
3486
  import_themes17.Grid,
3412
3487
  {
3413
3488
  align: "center",
@@ -3417,20 +3492,20 @@ function CurriculumSubNav() {
3417
3492
  py: "2",
3418
3493
  rows: "auto",
3419
3494
  children: [
3420
- hasPrev ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3495
+ hasPrev ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
3421
3496
  IconButton,
3422
3497
  {
3423
3498
  color: "gray",
3424
3499
  onClick: onClickPrev,
3425
3500
  size: { initial: "medium", md: "large" },
3426
3501
  variant: "ghost",
3427
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_icons.ChevronLeftIcon, { height: "16px", width: "16px" })
3502
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons.ChevronLeftIcon, { height: "16px", width: "16px" })
3428
3503
  }
3429
- ) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes7.Box, {}),
3430
- /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(import_themes7.Box, { width: "100%", children: [
3431
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes7.Box, { display: { initial: "none", md: "block" }, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Heading2, { style: { textOverflow: "ellipsis" }, variant: "heading5", children: selectedItem.title }) }),
3432
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes7.Box, { display: { initial: "block", md: "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Typo, { weight: "bold", children: selectedItem.title }) }),
3433
- /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3504
+ ) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes9.Box, {}),
3505
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)(import_themes9.Box, { width: "100%", children: [
3506
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes9.Box, { display: { initial: "none", md: "block" }, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Heading2, { style: { textOverflow: "ellipsis" }, variant: "heading5", children: selectedItem.title }) }),
3507
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes9.Box, { display: { initial: "block", md: "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Typo, { weight: "bold", children: selectedItem.title }) }),
3508
+ /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
3434
3509
  Typo,
3435
3510
  {
3436
3511
  as: "p",
@@ -3442,16 +3517,16 @@ function CurriculumSubNav() {
3442
3517
  }
3443
3518
  )
3444
3519
  ] }),
3445
- hasNext ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
3520
+ hasNext ? /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
3446
3521
  IconButton,
3447
3522
  {
3448
3523
  color: "gray",
3449
3524
  onClick: onClickNext,
3450
3525
  size: { initial: "medium", md: "large" },
3451
3526
  variant: "ghost",
3452
- children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_icons.ChevronRightIcon, { height: "16px", width: "16px" })
3527
+ children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_react_icons.ChevronRightIcon, { height: "16px", width: "16px" })
3453
3528
  }
3454
- ) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_themes7.Box, {})
3529
+ ) : /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(import_themes9.Box, {})
3455
3530
  ]
3456
3531
  }
3457
3532
  );
@@ -3459,12 +3534,12 @@ function CurriculumSubNav() {
3459
3534
 
3460
3535
  // src/molecules/curriculumV2/CurriculumContents/curriculum-video.tsx
3461
3536
  var import_react29 = require("react");
3462
- var import_jsx_runtime49 = require("react/jsx-runtime");
3537
+ var import_jsx_runtime51 = require("react/jsx-runtime");
3463
3538
  function CurriculumVideo(props) {
3464
3539
  const { item } = props;
3465
3540
  const { url } = item;
3466
3541
  const [isLoading, setIsLoading] = (0, import_react29.useState)(true);
3467
- return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
3542
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
3468
3543
  import_themes.Flex,
3469
3544
  {
3470
3545
  align: "center",
@@ -3476,7 +3551,7 @@ function CurriculumVideo(props) {
3476
3551
  position: "relative"
3477
3552
  },
3478
3553
  children: [
3479
- isLoading ? /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
3554
+ isLoading ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
3480
3555
  import_themes.Flex,
3481
3556
  {
3482
3557
  align: "center",
@@ -3491,10 +3566,10 @@ function CurriculumVideo(props) {
3491
3566
  color: "white"
3492
3567
  },
3493
3568
  width: "100%",
3494
- children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_themes4.Spinner, { size: "3", style: { width: 48, height: 48 } })
3569
+ children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes4.Spinner, { size: "3", style: { width: 48, height: 48 } })
3495
3570
  }
3496
3571
  ) : null,
3497
- /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
3572
+ /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
3498
3573
  "iframe",
3499
3574
  {
3500
3575
  allowFullScreen: true,
@@ -3527,7 +3602,7 @@ var import_react31 = require("react");
3527
3602
 
3528
3603
  // src/theme/portal-provider.tsx
3529
3604
  var import_react30 = require("react");
3530
- var import_jsx_runtime50 = require("react/jsx-runtime");
3605
+ var import_jsx_runtime52 = require("react/jsx-runtime");
3531
3606
  var PortalContext = (0, import_react30.createContext)(
3532
3607
  null
3533
3608
  );
@@ -3541,7 +3616,7 @@ var usePortalContainer = () => {
3541
3616
  };
3542
3617
 
3543
3618
  // src/atoms/dialog.tsx
3544
- var import_jsx_runtime51 = require("react/jsx-runtime");
3619
+ var import_jsx_runtime53 = require("react/jsx-runtime");
3545
3620
  var preventDefault2 = (e) => {
3546
3621
  e.preventDefault();
3547
3622
  };
@@ -3576,7 +3651,7 @@ function Content4(props) {
3576
3651
  "className"
3577
3652
  ]);
3578
3653
  const { dialogContainerRef } = usePortalContainer();
3579
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(RadixDialog.Portal, { container: dialogContainerRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes27.Theme, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(RadixDialog.Overlay, { className: "rt-BaseDialogScroll rt-DialogScroll DialogOverlay", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
3654
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(RadixDialog.Portal, { container: dialogContainerRef.current, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes27.Theme, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(RadixDialog.Overlay, { className: "rt-BaseDialogScroll rt-DialogScroll DialogOverlay", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
3580
3655
  RadixDialog.Content,
3581
3656
  __spreadProps(__spreadValues({
3582
3657
  className: `DialogContent ${className || ""} rt-BaseDialogContent rt-DialogContent rt-r-size-${size || "3"}`,
@@ -3591,12 +3666,12 @@ function Content4(props) {
3591
3666
  }, style)
3592
3667
  }, rest), {
3593
3668
  children: [
3594
- /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(import_themes27.Flex, { gap: "2", justify: "between", width: "100%", children: [
3595
- /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(RadixDialog.Title, { asChild: true, children: typeof title === "string" && title !== "" ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Heading2, { mb: "2", variant: "heading3", children: title }) : title }),
3596
- !hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(RadixDialog.Close, { asChild: true, className: "DialogClose", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(IconButton, { color: "gray", variant: "ghost", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_react_icons6.Cross1Icon, {}) }) })
3669
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_themes27.Flex, { gap: "2", justify: "between", width: "100%", children: [
3670
+ /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(RadixDialog.Title, { asChild: true, children: typeof title === "string" && title !== "" ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Heading2, { mb: "2", variant: "heading3", children: title }) : title }),
3671
+ !hideCloseButton && /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(RadixDialog.Close, { asChild: true, className: "DialogClose", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(IconButton, { color: "gray", variant: "ghost", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_react_icons6.Cross1Icon, {}) }) })
3597
3672
  ] }),
3598
3673
  children,
3599
- buttons ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(import_themes27.Flex, { gap: "3", justify: "end", mt: "3", width: "100%", children: buttons }) : null
3674
+ buttons ? /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes27.Flex, { gap: "3", justify: "end", mt: "3", width: "100%", children: buttons }) : null
3600
3675
  ]
3601
3676
  })
3602
3677
  ) }) }) });
@@ -3607,7 +3682,7 @@ function Close2(_a) {
3607
3682
  } = _b, rest = __objRest(_b, [
3608
3683
  "children"
3609
3684
  ]);
3610
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(RadixDialog.Close, __spreadProps(__spreadValues({ asChild: true }, rest), { children }));
3685
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(RadixDialog.Close, __spreadProps(__spreadValues({ asChild: true }, rest), { children }));
3611
3686
  }
3612
3687
  function Trigger3(_a) {
3613
3688
  var _b = _a, {
@@ -3615,7 +3690,7 @@ function Trigger3(_a) {
3615
3690
  } = _b, rest = __objRest(_b, [
3616
3691
  "children"
3617
3692
  ]);
3618
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(RadixDialog.Trigger, __spreadProps(__spreadValues({ asChild: true }, rest), { children }));
3693
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(RadixDialog.Trigger, __spreadProps(__spreadValues({ asChild: true }, rest), { children }));
3619
3694
  }
3620
3695
  function Root7(props) {
3621
3696
  const prevOpenRef = (0, import_react31.useRef)(void 0);
@@ -3650,7 +3725,7 @@ function Root7(props) {
3650
3725
  }
3651
3726
  };
3652
3727
  }, []);
3653
- return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(RadixDialog.Root, __spreadValues({}, props));
3728
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(RadixDialog.Root, __spreadValues({}, props));
3654
3729
  }
3655
3730
  var Dialog = {
3656
3731
  Root: Root7,
@@ -3666,7 +3741,7 @@ var import_react32 = require("react");
3666
3741
  var import_formik = require("formik");
3667
3742
  var import_lodash_es = require("lodash-es");
3668
3743
  var Yup = __toESM(require("yup"), 1);
3669
- var import_jsx_runtime52 = require("react/jsx-runtime");
3744
+ var import_jsx_runtime54 = require("react/jsx-runtime");
3670
3745
  var CurriculumReviewContext = (0, import_react32.createContext)(void 0);
3671
3746
  function getInitialAnswers(defaultValues, questions) {
3672
3747
  return questions.reduce((acc, q) => {
@@ -3795,7 +3870,7 @@ function CurriculumReviewProvider({
3795
3870
  });
3796
3871
  }
3797
3872
  }, [currentQuestion == null ? void 0 : currentQuestion.uuid, currentAnswer, onReviewValueChange]);
3798
- return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
3873
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
3799
3874
  CurriculumReviewContext.Provider,
3800
3875
  {
3801
3876
  value: {
@@ -3917,7 +3992,7 @@ var getCurriculumContentSubTypeText = (type) => {
3917
3992
  };
3918
3993
 
3919
3994
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.tsx
3920
- var import_jsx_runtime53 = require("react/jsx-runtime");
3995
+ var import_jsx_runtime55 = require("react/jsx-runtime");
3921
3996
  var renderPreviewContent = (args) => {
3922
3997
  const { question } = args;
3923
3998
  const Icon = getCurriculumIcon({
@@ -3930,7 +4005,7 @@ var renderPreviewContent = (args) => {
3930
4005
  question.duration ? `${question.duration}\uBD84` : ""
3931
4006
  ].filter(Boolean).join(" | ");
3932
4007
  };
3933
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
4008
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
3934
4009
  import_themes17.Grid,
3935
4010
  {
3936
4011
  columns: "16px 1fr",
@@ -3939,10 +4014,10 @@ var renderPreviewContent = (args) => {
3939
4014
  py: "2",
3940
4015
  width: "100%",
3941
4016
  children: [
3942
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes7.Box, { mt: "1", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Icon, { color: getCurriculumQuestionIconColor(question.type) }) }),
3943
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_themes7.Box, { children: [
3944
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Typo, { as: "p", color: "gray", weight: "bold", children: question.title }),
3945
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Typo, { color: "gray", children: getDescription() })
4017
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes9.Box, { mt: "1", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Icon, { color: getCurriculumQuestionIconColor(question.type) }) }),
4018
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_themes9.Box, { children: [
4019
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Typo, { as: "p", color: "gray", weight: "bold", children: question.title }),
4020
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Typo, { color: "gray", children: getDescription() })
3946
4021
  ] })
3947
4022
  ]
3948
4023
  },
@@ -3965,7 +4040,7 @@ var renderReviewContent = (args) => {
3965
4040
  const color = getCurriculumQuestionIconColor(question.type);
3966
4041
  const badgeColor = ["question_radio", "question_satisfaction_option"].includes(question.type) ? "accent" : "neutral";
3967
4042
  const value = getReviewContentValue(question, answer);
3968
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
4043
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
3969
4044
  import_themes17.Grid,
3970
4045
  {
3971
4046
  columns: "16px 1fr",
@@ -3974,10 +4049,10 @@ var renderReviewContent = (args) => {
3974
4049
  py: "2",
3975
4050
  width: "100%",
3976
4051
  children: [
3977
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Icon, { color }) }),
3978
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(import_themes7.Box, { children: [
3979
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Typo, { as: "p", color: "gray", mb: "2", weight: "bold", children: question.title }),
3980
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Badge, { color: badgeColor, size: "large", style: { whiteSpace: "break-spaces", lineBreak: "anywhere" }, children: value || "(\uBBF8 \uC751\uB2F5)" })
4052
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes9.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Icon, { color }) }),
4053
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(import_themes9.Box, { children: [
4054
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Typo, { as: "p", color: "gray", mb: "2", weight: "bold", children: question.title }),
4055
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Badge, { color: badgeColor, size: "large", style: { whiteSpace: "break-spaces", lineBreak: "anywhere" }, children: value || "(\uBBF8 \uC751\uB2F5)" })
3981
4056
  ] })
3982
4057
  ]
3983
4058
  },
@@ -3986,7 +4061,7 @@ var renderReviewContent = (args) => {
3986
4061
  };
3987
4062
  function StartReview({ onStart }) {
3988
4063
  const { curriculum, reviewContents, sectionTitle, done, formik } = useCurriculumReviewContext();
3989
- return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
4064
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
3990
4065
  import_themes.Flex,
3991
4066
  {
3992
4067
  align: "center",
@@ -3994,7 +4069,7 @@ function StartReview({ onStart }) {
3994
4069
  height: "100%",
3995
4070
  justify: "center",
3996
4071
  width: "100%",
3997
- children: /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
4072
+ children: /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
3998
4073
  import_themes.Flex,
3999
4074
  {
4000
4075
  align: "center",
@@ -4007,21 +4082,21 @@ function StartReview({ onStart }) {
4007
4082
  px: { initial: "4", sm: "0" },
4008
4083
  width: "100%",
4009
4084
  children: [
4010
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Typo, { color: "gray", mb: "1", children: curriculum.title }),
4011
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Heading2, { variant: "heading3", children: reviewContents.title }),
4012
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes28.Separator, { my: "4", style: { width: 100 } }),
4013
- /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(Typo, { align: "left", as: "p", color: "gray", mb: "4", children: [
4014
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Typo, { as: "span", weight: "bold", children: sectionTitle }),
4085
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Typo, { color: "gray", mb: "1", children: curriculum.title }),
4086
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Heading2, { variant: "heading3", children: reviewContents.title }),
4087
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes28.Separator, { my: "4", style: { width: 100 } }),
4088
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Typo, { align: "left", as: "p", color: "gray", mb: "4", children: [
4089
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Typo, { as: "span", weight: "bold", children: sectionTitle }),
4015
4090
  " ",
4016
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Typo, { children: reviewContents.description })
4091
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Typo, { children: reviewContents.description })
4017
4092
  ] }),
4018
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_themes7.Box, { mb: "5", overflowY: "auto", width: "100%", children: reviewContents.questions.map((question) => {
4093
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes9.Box, { mb: "5", overflowY: "auto", width: "100%", children: reviewContents.questions.map((question) => {
4019
4094
  if (done) {
4020
4095
  return renderReviewContent({ question, answer: formik.values.answers[question.uuid] });
4021
4096
  }
4022
4097
  return renderPreviewContent({ question });
4023
4098
  }) }),
4024
- /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Button, { color: "yellow", onClick: onStart, variant: done ? "outline" : "solid", children: done ? "\uB098\uC758 \uC751\uB2F5 \uC218\uC815\uD558\uAE30" : reviewContents.buttonTitle })
4099
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Button, { color: "yellow", onClick: onStart, variant: done ? "outline" : "solid", children: done ? "\uB098\uC758 \uC751\uB2F5 \uC218\uC815\uD558\uAE30" : reviewContents.buttonTitle })
4025
4100
  ]
4026
4101
  }
4027
4102
  )
@@ -4031,13 +4106,13 @@ function StartReview({ onStart }) {
4031
4106
  var start_review_default = StartReview;
4032
4107
 
4033
4108
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.tsx
4034
- var import_jsx_runtime54 = require("react/jsx-runtime");
4109
+ var import_jsx_runtime56 = require("react/jsx-runtime");
4035
4110
  var THANKS_IMAGE_S3_URL = "https://tipp-coaching-live.s3.ap-northeast-2.amazonaws.com/images/curriculum_review_thanks.svg";
4036
4111
  function CompleteReview(props) {
4037
4112
  const { onClickReviewMyAnswer } = props;
4038
4113
  const { reviewContents, sectionTitle, curriculum, onClickEndReview: onClickNextContents } = useCurriculumReviewContext();
4039
4114
  const { reviewMeta } = curriculum.contents;
4040
- return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(
4115
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
4041
4116
  import_themes.Flex,
4042
4117
  {
4043
4118
  align: "center",
@@ -4050,9 +4125,9 @@ function CompleteReview(props) {
4050
4125
  my: "6",
4051
4126
  width: "100%",
4052
4127
  children: [
4053
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_themes.Flex, { align: "center", direction: "column", children: [
4054
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Heading2, { mb: "6", variant: "heading5", weight: "regular", children: (reviewMeta == null ? void 0 : reviewMeta.endReviewTopTitle) || "\uC751\uB2F5\uC744 \uC131\uACF5\uC801\uC73C\uB85C \uC81C\uCD9C\uD588\uC2B5\uB2C8\uB2E4" }),
4055
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
4128
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_themes.Flex, { align: "center", direction: "column", children: [
4129
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Heading2, { mb: "6", variant: "heading5", weight: "regular", children: (reviewMeta == null ? void 0 : reviewMeta.endReviewTopTitle) || "\uC751\uB2F5\uC744 \uC131\uACF5\uC801\uC73C\uB85C \uC81C\uCD9C\uD588\uC2B5\uB2C8\uB2E4" }),
4130
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
4056
4131
  "img",
4057
4132
  {
4058
4133
  alt: "complete-review",
@@ -4061,19 +4136,19 @@ function CompleteReview(props) {
4061
4136
  width: 118
4062
4137
  }
4063
4138
  ),
4064
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Typo, { color: "gray", mt: "6", variant: "caption", children: sectionTitle }),
4065
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Heading2, { variant: "heading5", children: reviewContents.title }),
4066
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(Typo, { align: "center", color: "gray", mt: "6", children: (reviewMeta == null ? void 0 : reviewMeta.endReviewDescription) || `\uC774\uBC88 \uD559\uC2B5\uC774 \uB9AC\uB354\uC2ED\uC5D0 \uB3C4\uC6C0\uC774 \uB418\uC5C8\uAE30\uB97C \uBC14\uB78D\uB2C8\uB2E4.
4139
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Typo, { color: "gray", mt: "6", variant: "caption", children: sectionTitle }),
4140
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Heading2, { variant: "heading5", children: reviewContents.title }),
4141
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Typo, { align: "center", color: "gray", mt: "6", children: (reviewMeta == null ? void 0 : reviewMeta.endReviewDescription) || `\uC774\uBC88 \uD559\uC2B5\uC774 \uB9AC\uB354\uC2ED\uC5D0 \uB3C4\uC6C0\uC774 \uB418\uC5C8\uAE30\uB97C \uBC14\uB78D\uB2C8\uB2E4.
4067
4142
  \uC55E\uC73C\uB85C \uC788\uC744 \uB9AC\uB354\uB2D8\uC758 \uC131\uC7A5\uC744 \uAE30\uB300\uD569\uB2C8\uB2E4.` })
4068
4143
  ] }),
4069
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_themes17.Grid, { columns: { initial: "1fr", md: "2" }, gap: "3", width: "100%", children: [
4070
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Button, { onClick: onClickReviewMyAnswer, variant: "outline", children: [
4144
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(import_themes17.Grid, { columns: { initial: "1fr", md: "2" }, gap: "3", width: "100%", children: [
4145
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Button, { onClick: onClickReviewMyAnswer, variant: "outline", children: [
4071
4146
  (reviewMeta == null ? void 0 : reviewMeta.endReviewBackButtonTitle) || "\uB098\uC758 \uC751\uB2F5 \uB2E4\uC2DC \uBCF4\uAE30",
4072
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons.ResetIcon, {})
4147
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons.ResetIcon, {})
4073
4148
  ] }),
4074
- /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(Button, { onClick: onClickNextContents, children: [
4149
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(Button, { onClick: onClickNextContents, children: [
4075
4150
  "\uCEE4\uB9AC\uD058\uB7FC\uC73C\uB85C \uB3CC\uC544\uAC00\uAE30",
4076
- /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_react_icons.HomeIcon, {})
4151
+ /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(import_react_icons.HomeIcon, {})
4077
4152
  ] })
4078
4153
  ] })
4079
4154
  ]
@@ -4083,9 +4158,9 @@ function CompleteReview(props) {
4083
4158
  var complete_review_default = CompleteReview;
4084
4159
 
4085
4160
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.tsx
4086
- var import_jsx_runtime55 = require("react/jsx-runtime");
4161
+ var import_jsx_runtime57 = require("react/jsx-runtime");
4087
4162
  function AlignCenter(props) {
4088
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
4163
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4089
4164
  import_themes.Flex,
4090
4165
  __spreadValues({
4091
4166
  align: "center",
@@ -4100,7 +4175,7 @@ function ReviewQuestionLayout({
4100
4175
  Body,
4101
4176
  Footer
4102
4177
  }) {
4103
- return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
4178
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
4104
4179
  import_themes17.Grid,
4105
4180
  {
4106
4181
  align: "center",
@@ -4113,18 +4188,18 @@ function ReviewQuestionLayout({
4113
4188
  },
4114
4189
  width: "100%",
4115
4190
  children: [
4116
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(AlignCenter, { pb: "3", pt: "4", px: "4", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes7.Box, { maxWidth: "650px", width: "100%", children: Header }) }),
4117
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes28.Separator, { size: "4" }),
4118
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
4191
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AlignCenter, { pb: "3", pt: "4", px: "4", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes9.Box, { maxWidth: "650px", width: "100%", children: Header }) }),
4192
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes28.Separator, { size: "4" }),
4193
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4119
4194
  AlignCenter,
4120
4195
  {
4121
4196
  p: "3",
4122
4197
  style: { backgroundColor: "var(--gray-2)", zIndex: 0 },
4123
- children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes7.Box, { height: "100%", maxWidth: "650px", width: "100%", children: Body })
4198
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes9.Box, { height: "100%", maxWidth: "650px", width: "100%", children: Body })
4124
4199
  }
4125
4200
  ),
4126
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes28.Separator, { size: "4" }),
4127
- /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(AlignCenter, { px: "4", py: "3", children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(import_themes7.Box, { maxWidth: "650px", width: "100%", children: Footer }) })
4201
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes28.Separator, { size: "4" }),
4202
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(AlignCenter, { px: "4", py: "3", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes9.Box, { maxWidth: "650px", width: "100%", children: Footer }) })
4128
4203
  ]
4129
4204
  }
4130
4205
  );
@@ -4135,11 +4210,11 @@ var review_question_layout_default = ReviewQuestionLayout;
4135
4210
  var import_themes29 = require("@radix-ui/themes");
4136
4211
  var import_clsx15 = require("clsx");
4137
4212
  var import_react33 = require("react");
4138
- var import_jsx_runtime56 = require("react/jsx-runtime");
4213
+ var import_jsx_runtime58 = require("react/jsx-runtime");
4139
4214
  var Progress = (0, import_react33.forwardRef)((props, ref) => {
4140
4215
  const _a = props, { color, className } = _a, rest = __objRest(_a, ["color", "className"]);
4141
4216
  const { color: radixColor, className: colorClassName } = resolveColor(color);
4142
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
4217
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
4143
4218
  import_themes29.Progress,
4144
4219
  __spreadProps(__spreadValues({}, rest), {
4145
4220
  className: (0, import_clsx15.clsx)(colorClassName, className),
@@ -4151,14 +4226,14 @@ var Progress = (0, import_react33.forwardRef)((props, ref) => {
4151
4226
  Progress.displayName = "Progress";
4152
4227
 
4153
4228
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.tsx
4154
- var import_jsx_runtime57 = require("react/jsx-runtime");
4229
+ var import_jsx_runtime59 = require("react/jsx-runtime");
4155
4230
  function ReviewQuestionHeader({
4156
4231
  index,
4157
4232
  total
4158
4233
  }) {
4159
4234
  const { reviewContents } = useCurriculumReviewContext();
4160
- return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_themes7.Box, { height: "100%", width: "100%", children: [
4161
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_themes17.Grid, { columns: "1fr 40px", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
4235
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_themes9.Box, { height: "100%", width: "100%", children: [
4236
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(import_themes17.Grid, { columns: "1fr 40px", width: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4162
4237
  Heading2,
4163
4238
  {
4164
4239
  mb: "3",
@@ -4167,22 +4242,22 @@ function ReviewQuestionHeader({
4167
4242
  children: reviewContents.title
4168
4243
  }
4169
4244
  ) }),
4170
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_themes.Flex, { justify: "between", mb: "2", width: "100%", children: [
4171
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Typo, { color: "gray", size: { initial: "1", md: "2" }, children: "\uC9C4\uD589 \uC0C1\uD669" }),
4172
- /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(Typo, { color: "gray", size: { initial: "1", md: "2" }, children: [
4245
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(import_themes.Flex, { justify: "between", mb: "2", width: "100%", children: [
4246
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Typo, { color: "gray", size: { initial: "1", md: "2" }, children: "\uC9C4\uD589 \uC0C1\uD669" }),
4247
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsxs)(Typo, { color: "gray", size: { initial: "1", md: "2" }, children: [
4173
4248
  index + 1,
4174
4249
  " / ",
4175
4250
  total,
4176
4251
  " \uC644\uB8CC"
4177
4252
  ] })
4178
4253
  ] }),
4179
- /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Progress, { color: "iris", max: total, value: index + 1 })
4254
+ /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Progress, { color: "iris", max: total, value: index + 1 })
4180
4255
  ] });
4181
4256
  }
4182
4257
  var review_question_header_default = ReviewQuestionHeader;
4183
4258
 
4184
4259
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.tsx
4185
- var import_jsx_runtime58 = require("react/jsx-runtime");
4260
+ var import_jsx_runtime60 = require("react/jsx-runtime");
4186
4261
  function ReviewQuestionFooter({
4187
4262
  index,
4188
4263
  onNext,
@@ -4192,22 +4267,22 @@ function ReviewQuestionFooter({
4192
4267
  onSubmit,
4193
4268
  isLoading
4194
4269
  }) {
4195
- return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_themes17.Grid, { columns: "1fr 1fr", gap: "3", children: [
4196
- index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Button, { onClick: onPrev, variant: "outline", children: [
4197
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons.ChevronLeftIcon, {}),
4270
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_themes17.Grid, { columns: "1fr 1fr", gap: "3", children: [
4271
+ index > 0 ? /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Button, { onClick: onPrev, variant: "outline", children: [
4272
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons.ChevronLeftIcon, {}),
4198
4273
  "\uC774\uC804\uC73C\uB85C"
4199
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_themes7.Box, {}),
4200
- isLast ? /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(Button, { disabled: isNextButtonDisabled, loading: isLoading, onClick: onSubmit, children: [
4201
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons.PaperPlaneIcon, {}),
4274
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes9.Box, {}),
4275
+ isLast ? /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(Button, { disabled: isNextButtonDisabled, loading: isLoading, onClick: onSubmit, children: [
4276
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons.PaperPlaneIcon, {}),
4202
4277
  "\uC81C\uCD9C\uD558\uAE30"
4203
- ] }) : /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
4278
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
4204
4279
  Button,
4205
4280
  {
4206
4281
  disabled: isNextButtonDisabled,
4207
4282
  onClick: onNext,
4208
4283
  variant: "surface",
4209
4284
  children: [
4210
- /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react_icons.ChevronRightIcon, {}),
4285
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_react_icons.ChevronRightIcon, {}),
4211
4286
  "\uB2E4\uC74C\uC73C\uB85C"
4212
4287
  ]
4213
4288
  }
@@ -4222,7 +4297,7 @@ var import_react35 = require("react");
4222
4297
  // src/atoms/card.tsx
4223
4298
  var import_react34 = require("react");
4224
4299
  var import_themes30 = require("@radix-ui/themes");
4225
- var import_jsx_runtime59 = require("react/jsx-runtime");
4300
+ var import_jsx_runtime61 = require("react/jsx-runtime");
4226
4301
  var Card = (0, import_react34.forwardRef)(
4227
4302
  (props, forwardedRef) => {
4228
4303
  const _a = props, { borderDisable, borderRadius, error } = _a, rest = __objRest(_a, ["borderDisable", "borderRadius", "error"]);
@@ -4239,7 +4314,7 @@ var Card = (0, import_react34.forwardRef)(
4239
4314
  const errorClsName = (0, import_react34.useMemo)(() => {
4240
4315
  return error ? " error" : "";
4241
4316
  }, [error]);
4242
- return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
4317
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4243
4318
  import_themes30.Card,
4244
4319
  __spreadProps(__spreadValues({
4245
4320
  variant: "surface"
@@ -4254,7 +4329,7 @@ var Card = (0, import_react34.forwardRef)(
4254
4329
  Card.displayName = "Card";
4255
4330
 
4256
4331
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.tsx
4257
- var import_jsx_runtime60 = require("react/jsx-runtime");
4332
+ var import_jsx_runtime62 = require("react/jsx-runtime");
4258
4333
  function ReviewQuestionContentHeader({
4259
4334
  type,
4260
4335
  title,
@@ -4262,9 +4337,9 @@ function ReviewQuestionContentHeader({
4262
4337
  icon
4263
4338
  }) {
4264
4339
  const Icon = getCurriculumIcon({ type, icon });
4265
- return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_themes7.Box, { children: [
4266
- /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(import_themes.Flex, { gap: "2", mb: "3", children: [
4267
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(import_themes7.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
4340
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes9.Box, { children: [
4341
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(import_themes.Flex, { gap: "2", mb: "3", children: [
4342
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_themes9.Box, { children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4268
4343
  Icon,
4269
4344
  {
4270
4345
  color: getCurriculumQuestionIconColor(type),
@@ -4272,14 +4347,14 @@ function ReviewQuestionContentHeader({
4272
4347
  width: "16"
4273
4348
  }
4274
4349
  ) }),
4275
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Typo, { color: "gray", weight: "bold", children: title })
4350
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { color: "gray", weight: "bold", children: title })
4276
4351
  ] }),
4277
- /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(Typo, { as: "p", color: "gray", children: question })
4352
+ /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Typo, { as: "p", color: "gray", children: question })
4278
4353
  ] });
4279
4354
  }
4280
4355
 
4281
4356
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
4282
- var import_jsx_runtime61 = require("react/jsx-runtime");
4357
+ var import_jsx_runtime63 = require("react/jsx-runtime");
4283
4358
  var correctAnswerStyle = {
4284
4359
  backgroundColor: "var(--green-a2)"
4285
4360
  };
@@ -4296,8 +4371,8 @@ function ReviewQuestionRadio(props) {
4296
4371
  if (isWrong) return "red";
4297
4372
  return void 0;
4298
4373
  }, [isCorrect, isWrong]);
4299
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes17.Grid, { height: "100%", rows: "auto 1fr", width: "100%", children: [
4300
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Card, { mb: "4", size: "2", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4374
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes17.Grid, { height: "100%", rows: "auto 1fr", width: "100%", children: [
4375
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Card, { mb: "4", size: "2", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4301
4376
  ReviewQuestionContentHeader,
4302
4377
  {
4303
4378
  icon: question.icon,
@@ -4306,8 +4381,8 @@ function ReviewQuestionRadio(props) {
4306
4381
  type: question.type
4307
4382
  }
4308
4383
  ) }),
4309
- /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes17.Grid, { height: "100%", rows: "1fr auto", width: "100%", children: [
4310
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes7.Box, { position: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4384
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes17.Grid, { height: "100%", rows: "1fr auto", width: "100%", children: [
4385
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes9.Box, { position: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4311
4386
  RadioButtonCard.Root,
4312
4387
  {
4313
4388
  color: radioColor,
@@ -4319,7 +4394,7 @@ function ReviewQuestionRadio(props) {
4319
4394
  position: "absolute"
4320
4395
  },
4321
4396
  value: answer,
4322
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes.Flex, { direction: "column", gap: "2", width: "100%", children: question.options.map((option, i) => {
4397
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes.Flex, { direction: "column", gap: "2", width: "100%", children: question.options.map((option, i) => {
4323
4398
  const isThisOptionCorrect = isCheckAnswer && i === question.correctAnswer;
4324
4399
  const isThisOptionSelected = isCheckAnswer && i === Number(answer);
4325
4400
  const isThisOptionWrong = isCheckAnswer && isThisOptionSelected && i !== question.correctAnswer;
@@ -4327,15 +4402,15 @@ function ReviewQuestionRadio(props) {
4327
4402
  if (isThisOptionCorrect) return correctAnswerStyle;
4328
4403
  return {};
4329
4404
  })();
4330
- return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
4405
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4331
4406
  RadioButtonCard.Item,
4332
4407
  {
4333
4408
  style,
4334
4409
  value: i.toString(),
4335
- children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(import_themes7.Box, { children: [
4336
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Typo, { as: "p", children: option.label }),
4337
- isThisOptionCorrect ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Typo, { color: "green", children: "\uC815\uB2F5\uC785\uB2C8\uB2E4" }) : null,
4338
- isThisOptionWrong ? /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Typo, { color: "red", children: "\uC815\uB2F5\uC774 \uC544\uB2D9\uB2C8\uB2E4" }) : null
4410
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_themes9.Box, { children: [
4411
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { as: "p", children: option.label }),
4412
+ isThisOptionCorrect ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { color: "green", children: "\uC815\uB2F5\uC785\uB2C8\uB2E4" }) : null,
4413
+ isThisOptionWrong ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Typo, { color: "red", children: "\uC815\uB2F5\uC774 \uC544\uB2D9\uB2C8\uB2E4" }) : null
4339
4414
  ] })
4340
4415
  },
4341
4416
  `${option.label}-${i}`
@@ -4343,7 +4418,7 @@ function ReviewQuestionRadio(props) {
4343
4418
  }) })
4344
4419
  }
4345
4420
  ) }),
4346
- /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(import_themes.Flex, { justify: "end", mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(Button, { onClick: checkAnswer, children: "\uC815\uB2F5 \uD655\uC778" }) })
4421
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_themes.Flex, { justify: "end", mt: "2", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Button, { onClick: checkAnswer, children: "\uC815\uB2F5 \uD655\uC778" }) })
4347
4422
  ] })
4348
4423
  ] });
4349
4424
  }
@@ -4352,7 +4427,7 @@ var review_question_radio_default = ReviewQuestionRadio;
4352
4427
  // src/atoms/text-area.tsx
4353
4428
  var import_themes31 = require("@radix-ui/themes");
4354
4429
  var import_react36 = require("react");
4355
- var import_jsx_runtime62 = require("react/jsx-runtime");
4430
+ var import_jsx_runtime64 = require("react/jsx-runtime");
4356
4431
  var TextArea = (0, import_react36.forwardRef)(
4357
4432
  (props, ref) => {
4358
4433
  const _a = props, { error, style, className } = _a, rest = __objRest(_a, ["error", "style", "className"]);
@@ -4364,7 +4439,7 @@ var TextArea = (0, import_react36.forwardRef)(
4364
4439
  return __spreadValues(__spreadValues({}, style || {}), errorStyle);
4365
4440
  }, [error, style]);
4366
4441
  const classNameStr = error ? `error ${className}` : className;
4367
- return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
4442
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4368
4443
  import_themes31.TextArea,
4369
4444
  __spreadProps(__spreadValues({}, rest), {
4370
4445
  className: classNameStr,
@@ -4380,7 +4455,7 @@ TextArea.displayName = "TextArea";
4380
4455
  var import_themes32 = require("@radix-ui/themes");
4381
4456
  var import_clsx16 = require("clsx");
4382
4457
  var import_react37 = require("react");
4383
- var import_jsx_runtime63 = require("react/jsx-runtime");
4458
+ var import_jsx_runtime65 = require("react/jsx-runtime");
4384
4459
  var Root8 = (0, import_react37.forwardRef)((props, ref) => {
4385
4460
  const _a = props, { color, className } = _a, rest = __objRest(_a, ["color", "className"]);
4386
4461
  const { color: radixColor, className: colorClassName } = (0, import_react37.useMemo)(
@@ -4388,7 +4463,7 @@ var Root8 = (0, import_react37.forwardRef)((props, ref) => {
4388
4463
  [color]
4389
4464
  );
4390
4465
  const appliedColor = colorClassName ? void 0 : radixColor;
4391
- return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
4466
+ return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4392
4467
  import_themes32.Callout.Root,
4393
4468
  __spreadProps(__spreadValues({}, rest), {
4394
4469
  className: (0, import_clsx16.clsx)(colorClassName, className),
@@ -4403,12 +4478,12 @@ var Callout = __spreadProps(__spreadValues({}, import_themes32.Callout), {
4403
4478
  });
4404
4479
 
4405
4480
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.tsx
4406
- var import_jsx_runtime64 = require("react/jsx-runtime");
4481
+ var import_jsx_runtime66 = require("react/jsx-runtime");
4407
4482
  function ReviewQuestionText(props) {
4408
4483
  const { question, answer, onChange } = props;
4409
4484
  const minLengthNotMet = question.minLength && answer.length < question.minLength;
4410
4485
  const remainingLength = question.minLength && answer.length < question.minLength ? question.minLength - answer.length : 0;
4411
- return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4486
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4412
4487
  Card,
4413
4488
  {
4414
4489
  size: "2",
@@ -4416,9 +4491,9 @@ function ReviewQuestionText(props) {
4416
4491
  width: "100%",
4417
4492
  height: "100%"
4418
4493
  },
4419
- children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes17.Grid, { height: "100%", rows: "1fr auto", children: [
4420
- /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes17.Grid, { height: "100%", rows: "auto 1fr", width: "100%", children: [
4421
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4494
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes17.Grid, { height: "100%", rows: "1fr auto", children: [
4495
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes17.Grid, { height: "100%", rows: "auto 1fr", width: "100%", children: [
4496
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4422
4497
  ReviewQuestionContentHeader,
4423
4498
  {
4424
4499
  icon: question.icon,
@@ -4427,7 +4502,7 @@ function ReviewQuestionText(props) {
4427
4502
  type: question.type
4428
4503
  }
4429
4504
  ),
4430
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
4505
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4431
4506
  TextArea,
4432
4507
  {
4433
4508
  mt: "2",
@@ -4439,17 +4514,17 @@ function ReviewQuestionText(props) {
4439
4514
  }
4440
4515
  )
4441
4516
  ] }),
4442
- minLengthNotMet ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_themes7.Box, { mt: "2", children: [
4443
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { align: "right", as: "p", color: "red", variant: "caption", children: `${remainingLength}\uC790 \uB354 \uC791\uC131\uD574\uC8FC\uC138\uC694.` }),
4444
- question.minLengthInfoMessage ? /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
4517
+ minLengthNotMet ? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_themes9.Box, { mt: "2", children: [
4518
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { align: "right", as: "p", color: "red", variant: "caption", children: `${remainingLength}\uC790 \uB354 \uC791\uC131\uD574\uC8FC\uC138\uC694.` }),
4519
+ question.minLengthInfoMessage ? /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(
4445
4520
  Callout.Root,
4446
4521
  {
4447
4522
  color: "iris",
4448
4523
  mt: "2",
4449
4524
  style: { alignItems: "center" },
4450
4525
  children: [
4451
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Callout.Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react_icons.BellIcon, {}) }),
4452
- /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Callout.Text, { children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Typo, { as: "p", variant: "caption", children: question.minLengthInfoMessage }) })
4526
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Callout.Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_react_icons.BellIcon, {}) }),
4527
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Callout.Text, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Typo, { as: "p", variant: "caption", children: question.minLengthInfoMessage }) })
4453
4528
  ]
4454
4529
  }
4455
4530
  ) : null
@@ -4464,7 +4539,7 @@ var review_question_text_default = ReviewQuestionText;
4464
4539
  var import_themes33 = require("@radix-ui/themes");
4465
4540
  var import_clsx17 = require("clsx");
4466
4541
  var import_react38 = require("react");
4467
- var import_jsx_runtime65 = require("react/jsx-runtime");
4542
+ var import_jsx_runtime67 = require("react/jsx-runtime");
4468
4543
  var Root9 = (0, import_react38.forwardRef)((props, ref) => {
4469
4544
  const _a = props, { color, className } = _a, rest = __objRest(_a, ["color", "className"]);
4470
4545
  const { color: radixColor, className: colorClassName } = (0, import_react38.useMemo)(
@@ -4472,7 +4547,7 @@ var Root9 = (0, import_react38.forwardRef)((props, ref) => {
4472
4547
  [color]
4473
4548
  );
4474
4549
  const appliedColor = colorClassName ? void 0 : radixColor;
4475
- return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
4550
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4476
4551
  import_themes33.RadioGroup.Root,
4477
4552
  __spreadProps(__spreadValues({}, rest), {
4478
4553
  className: (0, import_clsx17.clsx)(colorClassName, className),
@@ -4487,12 +4562,12 @@ var RadioGroup = __spreadProps(__spreadValues({}, import_themes33.RadioGroup), {
4487
4562
  });
4488
4563
 
4489
4564
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.tsx
4490
- var import_jsx_runtime66 = require("react/jsx-runtime");
4565
+ var import_jsx_runtime68 = require("react/jsx-runtime");
4491
4566
  function ReviewQuestionSatisfisRadio(props) {
4492
4567
  var _a, _b, _c;
4493
4568
  const { question, answer, onChange } = props;
4494
- return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
4495
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Card, { size: "2", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
4569
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(import_jsx_runtime68.Fragment, { children: [
4570
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Card, { size: "2", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4496
4571
  ReviewQuestionContentHeader,
4497
4572
  {
4498
4573
  icon: question.icon,
@@ -4501,18 +4576,18 @@ function ReviewQuestionSatisfisRadio(props) {
4501
4576
  type: question.type
4502
4577
  }
4503
4578
  ) }),
4504
- /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(RadioGroup.Root, { color: "iris", mt: "3", onValueChange: onChange, value: answer, children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_themes.Flex, { direction: "column", gap: "2", children: (_c = question.options) == null ? void 0 : _c.map((option) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(RadioGroup.Item, { value: String(option.value), children: option.label }, option.value)) }) })
4579
+ /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(RadioGroup.Root, { color: "iris", mt: "3", onValueChange: onChange, value: answer, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_themes.Flex, { direction: "column", gap: "2", children: (_c = question.options) == null ? void 0 : _c.map((option) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(RadioGroup.Item, { value: String(option.value), children: option.label }, option.value)) }) })
4505
4580
  ] });
4506
4581
  }
4507
4582
  var review_question_satisfaction_option_default = ReviewQuestionSatisfisRadio;
4508
4583
 
4509
4584
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.tsx
4510
- var import_jsx_runtime67 = require("react/jsx-runtime");
4585
+ var import_jsx_runtime69 = require("react/jsx-runtime");
4511
4586
  function ReviewQuestionSatisfisText(props) {
4512
4587
  var _a, _b;
4513
4588
  const { question, answer, onChange } = props;
4514
- return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(Card, { size: "2", style: { height: "100%", width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)(import_themes17.Grid, { height: "100%", rows: "auto 1fr", children: [
4515
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4589
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(Card, { size: "2", style: { height: "100%", width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(import_themes17.Grid, { height: "100%", rows: "auto 1fr", children: [
4590
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4516
4591
  ReviewQuestionContentHeader,
4517
4592
  {
4518
4593
  icon: question.icon,
@@ -4521,7 +4596,7 @@ function ReviewQuestionSatisfisText(props) {
4521
4596
  type: question.type
4522
4597
  }
4523
4598
  ),
4524
- /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
4599
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4525
4600
  TextArea,
4526
4601
  {
4527
4602
  mt: "2",
@@ -4539,11 +4614,11 @@ function ReviewQuestionSatisfisText(props) {
4539
4614
  }
4540
4615
 
4541
4616
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.tsx
4542
- var import_jsx_runtime68 = require("react/jsx-runtime");
4617
+ var import_jsx_runtime70 = require("react/jsx-runtime");
4543
4618
  function ReviewQuestionBody(props) {
4544
4619
  const { question, answer, error, onChange } = props;
4545
4620
  if (question.type === "question_radio") {
4546
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4621
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4547
4622
  review_question_radio_default,
4548
4623
  {
4549
4624
  answer,
@@ -4554,7 +4629,7 @@ function ReviewQuestionBody(props) {
4554
4629
  );
4555
4630
  }
4556
4631
  if (question.type === "question_text") {
4557
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4632
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4558
4633
  review_question_text_default,
4559
4634
  {
4560
4635
  answer,
@@ -4565,7 +4640,7 @@ function ReviewQuestionBody(props) {
4565
4640
  );
4566
4641
  }
4567
4642
  if (question.type === "question_satisfaction_option") {
4568
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4643
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4569
4644
  review_question_satisfaction_option_default,
4570
4645
  {
4571
4646
  answer,
@@ -4576,7 +4651,7 @@ function ReviewQuestionBody(props) {
4576
4651
  );
4577
4652
  }
4578
4653
  if (question.type === "question_satisfaction_text") {
4579
- return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
4654
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4580
4655
  ReviewQuestionSatisfisText,
4581
4656
  {
4582
4657
  answer,
@@ -4591,7 +4666,7 @@ function ReviewQuestionBody(props) {
4591
4666
  var review_question_body_default = ReviewQuestionBody;
4592
4667
 
4593
4668
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.tsx
4594
- var import_jsx_runtime69 = require("react/jsx-runtime");
4669
+ var import_jsx_runtime71 = require("react/jsx-runtime");
4595
4670
  function ReviewQuestion({
4596
4671
  question,
4597
4672
  index,
@@ -4606,10 +4681,10 @@ function ReviewQuestion({
4606
4681
  onSubmit,
4607
4682
  isLoading
4608
4683
  }) {
4609
- return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4684
+ return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4610
4685
  review_question_layout_default,
4611
4686
  {
4612
- Body: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4687
+ Body: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4613
4688
  review_question_body_default,
4614
4689
  {
4615
4690
  answer,
@@ -4618,7 +4693,7 @@ function ReviewQuestion({
4618
4693
  question
4619
4694
  }
4620
4695
  ),
4621
- Footer: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
4696
+ Footer: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4622
4697
  review_question_footer_default,
4623
4698
  {
4624
4699
  index,
@@ -4630,14 +4705,14 @@ function ReviewQuestion({
4630
4705
  onSubmit
4631
4706
  }
4632
4707
  ),
4633
- Header: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(review_question_header_default, { index, total })
4708
+ Header: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(review_question_header_default, { index, total })
4634
4709
  }
4635
4710
  );
4636
4711
  }
4637
4712
  var ReviewQuestion_default = ReviewQuestion;
4638
4713
 
4639
4714
  // src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.tsx
4640
- var import_jsx_runtime70 = require("react/jsx-runtime");
4715
+ var import_jsx_runtime72 = require("react/jsx-runtime");
4641
4716
  function CurriculumReviewStepsInner() {
4642
4717
  const {
4643
4718
  formik,
@@ -4655,10 +4730,10 @@ function CurriculumReviewStepsInner() {
4655
4730
  } = useCurriculumReviewContext();
4656
4731
  const { questions } = reviewContents;
4657
4732
  if (step === 0) {
4658
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(start_review_default, { onStart: handleStart });
4733
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(start_review_default, { onStart: handleStart });
4659
4734
  }
4660
4735
  if (step > 0 && step <= questions.length && currentQuestion) {
4661
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4736
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
4662
4737
  ReviewQuestion_default,
4663
4738
  {
4664
4739
  answer: currentAnswer,
@@ -4676,7 +4751,7 @@ function CurriculumReviewStepsInner() {
4676
4751
  }
4677
4752
  );
4678
4753
  }
4679
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(complete_review_default, { onClickReviewMyAnswer });
4754
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(complete_review_default, { onClickReviewMyAnswer });
4680
4755
  }
4681
4756
  function CurriculumReviewSteps({
4682
4757
  contents,
@@ -4689,7 +4764,7 @@ function CurriculumReviewSteps({
4689
4764
  mode,
4690
4765
  done
4691
4766
  }) {
4692
- return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
4767
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
4693
4768
  CurriculumReviewProvider,
4694
4769
  {
4695
4770
  curriculum,
@@ -4701,14 +4776,14 @@ function CurriculumReviewSteps({
4701
4776
  onSubmit,
4702
4777
  reviewContents: contents,
4703
4778
  sectionTitle: title,
4704
- children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(CurriculumReviewStepsInner, {})
4779
+ children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(CurriculumReviewStepsInner, {})
4705
4780
  }
4706
4781
  );
4707
4782
  }
4708
4783
  var CurriculumReviewSteps_default = CurriculumReviewSteps;
4709
4784
 
4710
4785
  // src/molecules/curriculumV2/CurriculumContents/curriculum-review.tsx
4711
- var import_jsx_runtime71 = require("react/jsx-runtime");
4786
+ var import_jsx_runtime73 = require("react/jsx-runtime");
4712
4787
  function CurriculumReview(props) {
4713
4788
  const { item, sectionTitle } = props;
4714
4789
  const { description, buttonTitle } = item;
@@ -4773,8 +4848,8 @@ function CurriculumReview(props) {
4773
4848
  return Boolean(curriculumCompleteMap[item.uuid]);
4774
4849
  }, [curriculumCompleteMap, item.uuid]);
4775
4850
  const bgColor = done ? "var(--color-panel-solid)" : void 0;
4776
- return /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(Dialog.Root, { onOpenChange: setOpen, open, children: [
4777
- /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
4851
+ return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(Dialog.Root, { onOpenChange: setOpen, open, children: [
4852
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
4778
4853
  import_themes.Flex,
4779
4854
  {
4780
4855
  align: "center",
@@ -4791,21 +4866,21 @@ function CurriculumReview(props) {
4791
4866
  },
4792
4867
  width: "100%",
4793
4868
  children: [
4794
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Typo, { color: "gray", weight: "bold", children: curriculum.title }),
4795
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Typo, { align: "center", as: "p", color: "gray", children: description }),
4796
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Dialog.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4869
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Typo, { color: "gray", weight: "bold", children: curriculum.title }),
4870
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Typo, { align: "center", as: "p", color: "gray", children: description }),
4871
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Dialog.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
4797
4872
  Button,
4798
4873
  {
4799
4874
  mt: "3",
4800
4875
  style: { minWidth: 232, backgroundColor: bgColor },
4801
4876
  variant: done ? "outline" : "solid",
4802
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Typo, { truncate: true, children: done ? "\uB098\uC758 \uC751\uB2F5 \uB2E4\uC2DC\uBCF4\uAE30" : buttonTitle })
4877
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Typo, { truncate: true, children: done ? "\uB098\uC758 \uC751\uB2F5 \uB2E4\uC2DC\uBCF4\uAE30" : buttonTitle })
4803
4878
  }
4804
4879
  ) })
4805
4880
  ]
4806
4881
  }
4807
4882
  ),
4808
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4883
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
4809
4884
  Dialog.Content,
4810
4885
  {
4811
4886
  height: "100%",
@@ -4813,7 +4888,7 @@ function CurriculumReview(props) {
4813
4888
  style: { borderRadius: 0, padding: 0 },
4814
4889
  title: "",
4815
4890
  width: "100%",
4816
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
4891
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
4817
4892
  import_themes.Flex,
4818
4893
  {
4819
4894
  align: "center",
@@ -4823,7 +4898,7 @@ function CurriculumReview(props) {
4823
4898
  position: "relative",
4824
4899
  width: "100%",
4825
4900
  children: [
4826
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4901
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
4827
4902
  CurriculumReviewSteps_default,
4828
4903
  {
4829
4904
  contents: item,
@@ -4837,27 +4912,27 @@ function CurriculumReview(props) {
4837
4912
  title: sectionTitle
4838
4913
  }
4839
4914
  ),
4840
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_themes7.Box, { position: "absolute", right: "16px", top: "16px", children: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(
4915
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_themes9.Box, { position: "absolute", right: "16px", top: "16px", children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
4841
4916
  IconButton,
4842
4917
  {
4843
4918
  color: "gray",
4844
4919
  onClick: onClickCloseDrawer,
4845
4920
  variant: "ghost",
4846
4921
  children: [
4847
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_themes7.Box, { display: { initial: "none", md: "block" }, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_react_icons7.Cross1Icon, { height: 20, width: 20 }) }),
4848
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_themes7.Box, { display: { initial: "block", md: "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_react_icons7.Cross1Icon, { height: 16, width: 16 }) })
4922
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_themes9.Box, { display: { initial: "none", md: "block" }, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_react_icons7.Cross1Icon, { height: 20, width: 20 }) }),
4923
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_themes9.Box, { display: { initial: "block", md: "none" }, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(import_react_icons7.Cross1Icon, { height: 16, width: 16 }) })
4849
4924
  ]
4850
4925
  }
4851
4926
  ) }),
4852
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Dialog.Root, { onOpenChange: setCloseDialogOpen, open: closeDialogOpen, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(
4927
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Dialog.Root, { onOpenChange: setCloseDialogOpen, open: closeDialogOpen, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
4853
4928
  Dialog.Content,
4854
4929
  {
4855
- buttons: /* @__PURE__ */ (0, import_jsx_runtime71.jsxs)(import_themes.Flex, { gap: "3", justify: "end", children: [
4856
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Dialog.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Button, { color: "gray", variant: "outline", children: "\uB3CC\uC544\uAC00\uAE30" }) }),
4857
- /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Dialog.Close, { children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Button, { color: "red", onClick: onClickEndReview, children: "\uB098\uAC00\uAE30" }) })
4930
+ buttons: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(import_themes.Flex, { gap: "3", justify: "end", children: [
4931
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Dialog.Close, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button, { color: "gray", variant: "outline", children: "\uB3CC\uC544\uAC00\uAE30" }) }),
4932
+ /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Dialog.Close, { children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Button, { color: "red", onClick: onClickEndReview, children: "\uB098\uAC00\uAE30" }) })
4858
4933
  ] }),
4859
4934
  title: "\uC791\uC131\uC744 \uC911\uB2E8\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?",
4860
- children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Typo, { children: "\uD398\uC774\uC9C0\uC5D0\uC11C \uBC97\uC5B4\uB098\uBA74 \uC791\uC131\uD55C \uB0B4\uC6A9\uC774 \uC800\uC7A5\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4." })
4935
+ children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Typo, { children: "\uD398\uC774\uC9C0\uC5D0\uC11C \uBC97\uC5B4\uB098\uBA74 \uC791\uC131\uD55C \uB0B4\uC6A9\uC774 \uC800\uC7A5\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4." })
4861
4936
  }
4862
4937
  ) })
4863
4938
  ]
@@ -4871,7 +4946,7 @@ var curriculum_review_default = CurriculumReview;
4871
4946
 
4872
4947
  // src/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.tsx
4873
4948
  var import_react40 = require("react");
4874
- var import_jsx_runtime72 = require("react/jsx-runtime");
4949
+ var import_jsx_runtime74 = require("react/jsx-runtime");
4875
4950
  function CurriculumAiTraning({
4876
4951
  item
4877
4952
  }) {
@@ -4881,7 +4956,7 @@ function CurriculumAiTraning({
4881
4956
  return Boolean(curriculumCompleteMap[item.uuid]);
4882
4957
  }, [curriculumCompleteMap, item.uuid]);
4883
4958
  const bgColor = done ? "var(--color-panel-solid)" : void 0;
4884
- return /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
4959
+ return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
4885
4960
  import_themes.Flex,
4886
4961
  {
4887
4962
  align: "center",
@@ -4896,9 +4971,9 @@ function CurriculumAiTraning({
4896
4971
  },
4897
4972
  width: "100%",
4898
4973
  children: [
4899
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Typo, { color: "gray", weight: "bold", children: title }),
4900
- /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Typo, { align: "center", as: "p", color: "gray", children: description }),
4901
- /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
4974
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Typo, { color: "gray", weight: "bold", children: title }),
4975
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Typo, { align: "center", as: "p", color: "gray", children: description }),
4976
+ /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
4902
4977
  Button,
4903
4978
  {
4904
4979
  mt: "3",
@@ -4909,7 +4984,7 @@ function CurriculumAiTraning({
4909
4984
  variant: done ? "outline" : "solid",
4910
4985
  children: [
4911
4986
  done ? "\uB2E4\uC2DC \uC5F0\uC2B5\uD558\uAE30" : buttonTitle || "\uC2DC\uC791\uD558\uAE30",
4912
- done ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(import_react_icons.ResetIcon, {}) : null
4987
+ done ? /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_react_icons.ResetIcon, {}) : null
4913
4988
  ]
4914
4989
  }
4915
4990
  )
@@ -4921,7 +4996,7 @@ var curriculum_ai_traning_default = CurriculumAiTraning;
4921
4996
 
4922
4997
  // src/molecules/curriculumV2/CurriculumContents/curriculum-file-download.tsx
4923
4998
  var import_react41 = require("react");
4924
- var import_jsx_runtime73 = require("react/jsx-runtime");
4999
+ var import_jsx_runtime75 = require("react/jsx-runtime");
4925
5000
  function CurriculumFileDownload(props) {
4926
5001
  const { item } = props;
4927
5002
  const { title, description, files } = item;
@@ -4935,7 +5010,7 @@ function CurriculumFileDownload(props) {
4935
5010
  }
4936
5011
  onClickfileDownload(item, file);
4937
5012
  };
4938
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(
5013
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsxs)(
4939
5014
  import_themes.Flex,
4940
5015
  {
4941
5016
  align: "center",
@@ -4946,9 +5021,9 @@ function CurriculumFileDownload(props) {
4946
5021
  py: "3",
4947
5022
  width: "100%",
4948
5023
  children: [
4949
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Typo, { color: "gray", weight: "bold", children: title }),
4950
- description ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Typo, { align: "center", as: "p", color: "gray", children: description }) : null,
4951
- /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5024
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Typo, { color: "gray", weight: "bold", children: title }),
5025
+ description ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Typo, { align: "center", as: "p", color: "gray", children: description }) : null,
5026
+ /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
4952
5027
  import_themes.Flex,
4953
5028
  {
4954
5029
  direction: "column",
@@ -4956,7 +5031,7 @@ function CurriculumFileDownload(props) {
4956
5031
  mt: "4",
4957
5032
  style: { width: "100%", maxWidth: 520 },
4958
5033
  children: files.map((file) => {
4959
- return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(
5034
+ return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
4960
5035
  Button,
4961
5036
  {
4962
5037
  disabled: !isCallbackReady,
@@ -4964,14 +5039,14 @@ function CurriculumFileDownload(props) {
4964
5039
  handleClickFile(file);
4965
5040
  },
4966
5041
  variant: "outline",
4967
- children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Typo, { truncate: true, children: file.name })
5042
+ children: /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Typo, { truncate: true, children: file.name })
4968
5043
  },
4969
5044
  file.url
4970
5045
  );
4971
5046
  })
4972
5047
  }
4973
5048
  ),
4974
- !isCallbackReady ? /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Typo, { align: "center", color: "gray", mt: "3", variant: "caption", children: "\uD30C\uC77C \uB2E4\uC6B4\uB85C\uB4DC \uAE30\uB2A5\uC774 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4." }) : null
5049
+ !isCallbackReady ? /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(Typo, { align: "center", color: "gray", mt: "3", variant: "caption", children: "\uD30C\uC77C \uB2E4\uC6B4\uB85C\uB4DC \uAE30\uB2A5\uC774 \uC124\uC815\uB418\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4." }) : null
4975
5050
  ]
4976
5051
  }
4977
5052
  );
@@ -4979,14 +5054,14 @@ function CurriculumFileDownload(props) {
4979
5054
  var curriculum_file_download_default = CurriculumFileDownload;
4980
5055
 
4981
5056
  // src/molecules/curriculumV2/CurriculumContents/index.tsx
4982
- var import_jsx_runtime74 = require("react/jsx-runtime");
5057
+ var import_jsx_runtime76 = require("react/jsx-runtime");
4983
5058
  function CurriculumBody() {
4984
5059
  const { selectedItem, selectedSectionTitle } = useCurriculumContext();
4985
5060
  switch (selectedItem.type) {
4986
5061
  case "video":
4987
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(curriculum_video_default, { item: selectedItem });
5062
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(curriculum_video_default, { item: selectedItem });
4988
5063
  case "review":
4989
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(
5064
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
4990
5065
  curriculum_review_default,
4991
5066
  {
4992
5067
  item: selectedItem,
@@ -4994,11 +5069,11 @@ function CurriculumBody() {
4994
5069
  }
4995
5070
  );
4996
5071
  case "aiTraining":
4997
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(curriculum_ai_traning_default, { item: selectedItem });
5072
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(curriculum_ai_traning_default, { item: selectedItem });
4998
5073
  case "fileDownload":
4999
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(curriculum_file_download_default, { item: selectedItem });
5074
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(curriculum_file_download_default, { item: selectedItem });
5000
5075
  default:
5001
- return /* @__PURE__ */ (0, import_jsx_runtime74.jsxs)(
5076
+ return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
5002
5077
  import_themes.Flex,
5003
5078
  {
5004
5079
  align: "center",
@@ -5008,9 +5083,9 @@ function CurriculumBody() {
5008
5083
  justify: "center",
5009
5084
  width: "100%",
5010
5085
  children: [
5011
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(import_react_icons.InfoCircledIcon, { height: 24, width: 24 }),
5012
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Typo, { children: "\uCEE8\uD150\uCE20\uB97C \uB85C\uB529 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4" }),
5013
- /* @__PURE__ */ (0, import_jsx_runtime74.jsx)(Typo, { align: "center", color: "gray", variant: "caption", children: `[debug info]
5086
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(import_react_icons.InfoCircledIcon, { height: 24, width: 24 }),
5087
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Typo, { children: "\uCEE8\uD150\uCE20\uB97C \uB85C\uB529 \uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4" }),
5088
+ /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Typo, { align: "center", color: "gray", variant: "caption", children: `[debug info]
5014
5089
  ${JSON.stringify(selectedItem)}` })
5015
5090
  ]
5016
5091
  }
@@ -5025,14 +5100,14 @@ var import_react43 = require("react");
5025
5100
  var import_themes34 = require("@radix-ui/themes");
5026
5101
  var import_clsx18 = require("clsx");
5027
5102
  var import_react42 = require("react");
5028
- var import_jsx_runtime75 = require("react/jsx-runtime");
5103
+ var import_jsx_runtime77 = require("react/jsx-runtime");
5029
5104
  var Root10 = (0, import_react42.forwardRef)((props, ref) => {
5030
5105
  const _a = props, { color, className } = _a, rest = __objRest(_a, ["color", "className"]);
5031
5106
  const { className: colorClassName } = (0, import_react42.useMemo)(
5032
5107
  () => resolveColor(color),
5033
5108
  [color]
5034
5109
  );
5035
- return /* @__PURE__ */ (0, import_jsx_runtime75.jsx)(
5110
+ return /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
5036
5111
  import_themes34.Tabs.Root,
5037
5112
  __spreadProps(__spreadValues({}, rest), {
5038
5113
  className: (0, import_clsx18.clsx)(colorClassName, className),
@@ -5046,12 +5121,12 @@ var Tabs = __spreadProps(__spreadValues({}, import_themes34.Tabs), {
5046
5121
  });
5047
5122
 
5048
5123
  // src/molecules/curriculumV2/CurriculumSidebar/Items/section-title.tsx
5049
- var import_jsx_runtime76 = require("react/jsx-runtime");
5124
+ var import_jsx_runtime78 = require("react/jsx-runtime");
5050
5125
  function SectionTitle(props) {
5051
5126
  const { title, duration } = props;
5052
- return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(import_themes17.Grid, { align: "center", columns: "1fr auto", px: "3", py: "2", children: [
5053
- /* @__PURE__ */ (0, import_jsx_runtime76.jsx)(Typo, { color: "gray", children: title }),
5054
- /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(Typo, { color: "gray", variant: "caption", children: [
5127
+ return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_themes17.Grid, { align: "center", columns: "1fr auto", px: "3", py: "2", children: [
5128
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Typo, { color: "gray", children: title }),
5129
+ /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(Typo, { color: "gray", variant: "caption", children: [
5055
5130
  duration,
5056
5131
  "\uBD84"
5057
5132
  ] })
@@ -5060,14 +5135,14 @@ function SectionTitle(props) {
5060
5135
  var section_title_default = SectionTitle;
5061
5136
 
5062
5137
  // src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.tsx
5063
- var import_jsx_runtime77 = require("react/jsx-runtime");
5138
+ var import_jsx_runtime79 = require("react/jsx-runtime");
5064
5139
  function CurriculumSidebarItemWrapper({
5065
5140
  children,
5066
5141
  isSelected,
5067
5142
  onClick,
5068
5143
  index
5069
5144
  }) {
5070
- return /* @__PURE__ */ (0, import_jsx_runtime77.jsxs)(
5145
+ return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
5071
5146
  import_themes17.Grid,
5072
5147
  {
5073
5148
  align: "center",
@@ -5083,7 +5158,7 @@ function CurriculumSidebarItemWrapper({
5083
5158
  cursor: onClick ? "pointer" : void 0
5084
5159
  },
5085
5160
  children: [
5086
- isSelected ? /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
5161
+ isSelected ? /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
5087
5162
  import_themes28.Separator,
5088
5163
  {
5089
5164
  color: "yellow",
@@ -5100,15 +5175,15 @@ function CurriculumSidebarItemWrapper({
5100
5175
  var curriculum_sidebar_item_wrapper_default = CurriculumSidebarItemWrapper;
5101
5176
 
5102
5177
  // src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.tsx
5103
- var import_jsx_runtime78 = require("react/jsx-runtime");
5178
+ var import_jsx_runtime80 = require("react/jsx-runtime");
5104
5179
  function CurriculumItemTitle({
5105
5180
  title,
5106
5181
  subText,
5107
5182
  duration
5108
5183
  }) {
5109
- return /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(import_themes.Flex, { direction: "column", gap: "1", children: [
5110
- /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(Typo, { color: "gray", weight: "bold", children: title }),
5111
- /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)(Typo, { color: "gray", variant: "caption", children: [
5184
+ return /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(import_themes.Flex, { direction: "column", gap: "1", children: [
5185
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(Typo, { color: "gray", weight: "bold", children: title }),
5186
+ /* @__PURE__ */ (0, import_jsx_runtime80.jsxs)(Typo, { color: "gray", variant: "caption", children: [
5112
5187
  subText,
5113
5188
  duration ? ` | ${duration}\uBD84` : ""
5114
5189
  ] })
@@ -5117,7 +5192,7 @@ function CurriculumItemTitle({
5117
5192
  var curriculum_item_title_default = CurriculumItemTitle;
5118
5193
 
5119
5194
  // src/molecules/curriculumV2/CurriculumSidebar/Items/section-item.tsx
5120
- var import_jsx_runtime79 = require("react/jsx-runtime");
5195
+ var import_jsx_runtime81 = require("react/jsx-runtime");
5121
5196
  function SectionCommonItem({
5122
5197
  title,
5123
5198
  duration,
@@ -5126,21 +5201,21 @@ function SectionCommonItem({
5126
5201
  color = "gray"
5127
5202
  }) {
5128
5203
  const IconComp = getCurriculumIcon({ type, icon });
5129
- return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(import_jsx_runtime79.Fragment, { children: [
5130
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(IconComp, { color }),
5131
- /* @__PURE__ */ (0, import_jsx_runtime79.jsx)(curriculum_item_title_default, { duration, subText: getCurriculumContentSubTypeText(type), title })
5204
+ return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_jsx_runtime81.Fragment, { children: [
5205
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(IconComp, { color }),
5206
+ /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(curriculum_item_title_default, { duration, subText: getCurriculumContentSubTypeText(type), title })
5132
5207
  ] });
5133
5208
  }
5134
5209
  var section_item_default = SectionCommonItem;
5135
5210
 
5136
5211
  // src/molecules/curriculumV2/CurriculumSidebar/sidebar-item.tsx
5137
- var import_jsx_runtime80 = require("react/jsx-runtime");
5212
+ var import_jsx_runtime82 = require("react/jsx-runtime");
5138
5213
  function SidebarItem({ item, selectedIndex, setSelectedIndex, index, done }) {
5139
5214
  if (item.type === "sectionTitle") {
5140
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(section_title_default, __spreadValues({}, item), item.uuid);
5215
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(section_title_default, __spreadValues({}, item), item.uuid);
5141
5216
  }
5142
5217
  const isSelected = selectedIndex === index;
5143
- return /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
5218
+ return /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
5144
5219
  curriculum_sidebar_item_wrapper_default,
5145
5220
  {
5146
5221
  index,
@@ -5148,7 +5223,7 @@ function SidebarItem({ item, selectedIndex, setSelectedIndex, index, done }) {
5148
5223
  onClick: () => {
5149
5224
  setSelectedIndex(index);
5150
5225
  },
5151
- children: /* @__PURE__ */ (0, import_jsx_runtime80.jsx)(
5226
+ children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
5152
5227
  section_item_default,
5153
5228
  __spreadProps(__spreadValues({}, item), {
5154
5229
  color: getCurriculumIconColor({
@@ -5164,7 +5239,7 @@ function SidebarItem({ item, selectedIndex, setSelectedIndex, index, done }) {
5164
5239
  var sidebar_item_default = SidebarItem;
5165
5240
 
5166
5241
  // src/molecules/curriculumV2/CurriculumSidebar/index.tsx
5167
- var import_jsx_runtime81 = require("react/jsx-runtime");
5242
+ var import_jsx_runtime83 = require("react/jsx-runtime");
5168
5243
  var TAB_LIST = [
5169
5244
  {
5170
5245
  label: "\uAC15\uC758 \uBAA9\uCC28",
@@ -5192,10 +5267,10 @@ function CurriculumSidebar() {
5192
5267
  const tabList = (0, import_react43.useMemo)(() => {
5193
5268
  return [...TAB_LIST, ...customTabs != null ? customTabs : []];
5194
5269
  }, [customTabs]);
5195
- return /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Tabs.Root, { asChild: true, defaultValue: TAB_LIST[0].value, children: /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(import_themes17.Grid, { height: "100%", overflowY: "auto", rows: "auto 1fr ", width: "100%", children: [
5196
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Tabs.List, { style: TABS_LIST_STYLE, children: tabList.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(Tabs.Trigger, { value: tab.value, children: tab.label }, tab.value)) }),
5197
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
5198
- import_themes7.Box,
5270
+ return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Tabs.Root, { asChild: true, defaultValue: TAB_LIST[0].value, children: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(import_themes17.Grid, { height: "100%", overflowY: "auto", rows: "auto 1fr ", width: "100%", children: [
5271
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Tabs.List, { style: TABS_LIST_STYLE, children: tabList.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Tabs.Trigger, { value: tab.value, children: tab.label }, tab.value)) }),
5272
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
5273
+ import_themes9.Box,
5199
5274
  {
5200
5275
  height: "100%",
5201
5276
  overflowY: "auto",
@@ -5203,13 +5278,13 @@ function CurriculumSidebar() {
5203
5278
  ref: scrollAreaRef,
5204
5279
  width: "100%",
5205
5280
  children: [
5206
- /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)(
5281
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
5207
5282
  Tabs.Content,
5208
5283
  {
5209
5284
  style: TABS_CONTENT_STYLE,
5210
5285
  value: TAB_LIST[0].value,
5211
5286
  children: [
5212
- list.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
5287
+ list.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5213
5288
  sidebar_item_default,
5214
5289
  {
5215
5290
  done: curriculumCompleteMap[item.uuid],
@@ -5220,12 +5295,12 @@ function CurriculumSidebar() {
5220
5295
  },
5221
5296
  item.uuid
5222
5297
  )),
5223
- /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_themes7.Box, { height: "150px" })
5298
+ /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_themes9.Box, { height: "150px" })
5224
5299
  ]
5225
5300
  },
5226
5301
  TAB_LIST[0].value
5227
5302
  ),
5228
- customTabs == null ? void 0 : customTabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
5303
+ customTabs == null ? void 0 : customTabs.map((tab) => /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5229
5304
  Tabs.Content,
5230
5305
  {
5231
5306
  style: TABS_CONTENT_STYLE,
@@ -5241,11 +5316,11 @@ function CurriculumSidebar() {
5241
5316
  }
5242
5317
 
5243
5318
  // src/molecules/curriculumV2/curriculum-v2-layout.tsx
5244
- var import_jsx_runtime82 = require("react/jsx-runtime");
5319
+ var import_jsx_runtime84 = require("react/jsx-runtime");
5245
5320
  function CurriculumV2Layout(props) {
5246
5321
  const { NavBar, Contents, SideBar, SideNav, style } = props;
5247
- return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_themes17.Grid, { align: "center", height: "100%", rows: "auto 1px 1fr", style, width: "100%", children: [
5248
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
5322
+ return /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_themes17.Grid, { align: "center", height: "100%", rows: "auto 1px 1fr", style, width: "100%", children: [
5323
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
5249
5324
  import_themes.Flex,
5250
5325
  {
5251
5326
  align: "center",
@@ -5254,8 +5329,8 @@ function CurriculumV2Layout(props) {
5254
5329
  children: NavBar
5255
5330
  }
5256
5331
  ),
5257
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_themes28.Separator, { size: "4" }),
5258
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
5332
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_themes28.Separator, { size: "4" }),
5333
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(
5259
5334
  import_themes.Flex,
5260
5335
  {
5261
5336
  align: "center",
@@ -5263,7 +5338,7 @@ function CurriculumV2Layout(props) {
5263
5338
  justify: "center",
5264
5339
  overflow: "hidden",
5265
5340
  width: "100%",
5266
- children: /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
5341
+ children: /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(
5267
5342
  import_themes17.Grid,
5268
5343
  {
5269
5344
  columns: { initial: "1", md: "1fr 340px" },
@@ -5272,8 +5347,8 @@ function CurriculumV2Layout(props) {
5272
5347
  rows: { initial: "auto 1fr", md: "auto" },
5273
5348
  width: "100%",
5274
5349
  children: [
5275
- /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(import_themes7.Box, { height: "100%", width: "100%", children: [
5276
- /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_themes18.AspectRatio, { ratio: 16 / 9, children: Contents }),
5350
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsxs)(import_themes9.Box, { height: "100%", width: "100%", children: [
5351
+ /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_themes18.AspectRatio, { ratio: 16 / 9, children: Contents }),
5277
5352
  SideNav
5278
5353
  ] }),
5279
5354
  SideBar
@@ -5297,11 +5372,11 @@ var import_react45 = require("react");
5297
5372
  // src/molecules/form/form.tsx
5298
5373
  var RadixForm = __toESM(require("@radix-ui/react-form"), 1);
5299
5374
  var import_react44 = require("react");
5300
- var import_jsx_runtime83 = require("react/jsx-runtime");
5375
+ var import_jsx_runtime85 = require("react/jsx-runtime");
5301
5376
  var Root12 = (0, import_react44.forwardRef)(
5302
5377
  (_a, ref) => {
5303
5378
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
5304
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5379
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
5305
5380
  RadixForm.Root,
5306
5381
  __spreadProps(__spreadValues({}, rest), {
5307
5382
  className: `FormRoot ${className || ""}`,
@@ -5318,25 +5393,25 @@ var FieldContext = (0, import_react44.createContext)({
5318
5393
  var Field2 = (0, import_react44.forwardRef)(
5319
5394
  (_a, ref) => {
5320
5395
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
5321
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5396
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
5322
5397
  RadixForm.Field,
5323
5398
  __spreadProps(__spreadValues({}, rest), {
5324
5399
  className: `FormField ${className || ""}`,
5325
5400
  ref,
5326
- children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(FieldContext.Provider, { value: rest, children })
5401
+ children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(FieldContext.Provider, { value: rest, children })
5327
5402
  })
5328
5403
  );
5329
5404
  }
5330
5405
  );
5331
5406
  Field2.displayName = "FORM_FIELD";
5332
5407
  function HeadingLabel(props) {
5333
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Heading2, __spreadProps(__spreadValues({ variant: "heading5" }, props), { children: props.children }));
5408
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Heading2, __spreadProps(__spreadValues({ variant: "heading5" }, props), { children: props.children }));
5334
5409
  }
5335
5410
  function CaptionLabel(props) {
5336
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Typo, __spreadProps(__spreadValues({ color: "gray", variant: "caption", weight: "bold" }, props), { children: props.children }));
5411
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Typo, __spreadProps(__spreadValues({ color: "gray", variant: "caption", weight: "bold" }, props), { children: props.children }));
5337
5412
  }
5338
5413
  function BodyLabel(props) {
5339
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Typo, __spreadProps(__spreadValues({ variant: "body", weight: "bold" }, props), { children: props.children }));
5414
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Typo, __spreadProps(__spreadValues({ variant: "body", weight: "bold" }, props), { children: props.children }));
5340
5415
  }
5341
5416
  var Label2 = (0, import_react44.forwardRef)(
5342
5417
  (_a, ref) => {
@@ -5353,15 +5428,15 @@ var Label2 = (0, import_react44.forwardRef)(
5353
5428
  }
5354
5429
  }, [variant]);
5355
5430
  const fieldProps = (0, import_react44.useContext)(FieldContext);
5356
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5431
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
5357
5432
  RadixForm.Label,
5358
5433
  __spreadProps(__spreadValues({}, rest), {
5359
5434
  asChild: true,
5360
5435
  className: `FormLabel ${className || ""}`,
5361
5436
  ref,
5362
- children: /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(Comp, { children: [
5437
+ children: /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Comp, { children: [
5363
5438
  children,
5364
- fieldProps.required ? /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Typo, { as: "span", color: "tomato", children: ` *` }) : null
5439
+ fieldProps.required ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Typo, { as: "span", color: "tomato", children: ` *` }) : null
5365
5440
  ] })
5366
5441
  })
5367
5442
  );
@@ -5371,13 +5446,13 @@ Label2.displayName = "FORM_Label";
5371
5446
  var Message2 = (0, import_react44.forwardRef)(
5372
5447
  (_a, ref) => {
5373
5448
  var _b = _a, { children, className } = _b, rest = __objRest(_b, ["children", "className"]);
5374
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5449
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
5375
5450
  RadixForm.Message,
5376
5451
  __spreadProps(__spreadValues({}, rest), {
5377
5452
  asChild: true,
5378
5453
  className: `FormMessage ${className || ""}`,
5379
5454
  ref,
5380
- children: /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Typo, { color: "red", children })
5455
+ children: /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Typo, { color: "red", children })
5381
5456
  })
5382
5457
  );
5383
5458
  }
@@ -5387,7 +5462,7 @@ var Control2 = (0, import_react44.forwardRef)(
5387
5462
  (_a, ref) => {
5388
5463
  var _b = _a, { className } = _b, rest = __objRest(_b, ["className"]);
5389
5464
  const fieldProps = (0, import_react44.useContext)(FieldContext);
5390
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
5465
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
5391
5466
  RadixForm.Control,
5392
5467
  __spreadProps(__spreadValues({}, rest), {
5393
5468
  className: `FormControl ${className || ""}`,
@@ -5410,10 +5485,10 @@ function FormItem(_a) {
5410
5485
  "children",
5411
5486
  "errorMessage"
5412
5487
  ]);
5413
- return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(Form.Field, __spreadProps(__spreadValues({}, fieldProps), { children: [
5414
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Form.Label, { variant: labelVariant, children: label }),
5488
+ return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(Form.Field, __spreadProps(__spreadValues({}, fieldProps), { children: [
5489
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Form.Label, { variant: labelVariant, children: label }),
5415
5490
  children,
5416
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(Form.Message, { forceMatch: Boolean(errorMessage), children: errorMessage })
5491
+ /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(Form.Message, { forceMatch: Boolean(errorMessage), children: errorMessage })
5417
5492
  ] }));
5418
5493
  }
5419
5494
  var Form = {
@@ -5427,7 +5502,7 @@ var Form = {
5427
5502
  };
5428
5503
 
5429
5504
  // src/context/dynamic-form-context.tsx
5430
- var import_jsx_runtime84 = require("react/jsx-runtime");
5505
+ var import_jsx_runtime86 = require("react/jsx-runtime");
5431
5506
  var DynamicFormContext = (0, import_react45.createContext)(null);
5432
5507
  function DynamicFormProvider({
5433
5508
  children,
@@ -5453,7 +5528,7 @@ function DynamicFormProvider({
5453
5528
  handleChange: formik.handleChange,
5454
5529
  handleBlur: formik.handleBlur
5455
5530
  };
5456
- return /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(DynamicFormContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime84.jsx)(Form.Root, { onSubmit: formik.handleSubmit, style: formStyle, children }) });
5531
+ return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(DynamicFormContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(Form.Root, { onSubmit: formik.handleSubmit, style: formStyle, children }) });
5457
5532
  }
5458
5533
  function useDynamicForm() {
5459
5534
  const context = (0, import_react45.useContext)(DynamicFormContext);
@@ -5467,7 +5542,7 @@ function useDynamicForm() {
5467
5542
  var import_themes35 = require("@radix-ui/themes");
5468
5543
  var import_clsx19 = require("clsx");
5469
5544
  var import_react46 = require("react");
5470
- var import_jsx_runtime85 = require("react/jsx-runtime");
5545
+ var import_jsx_runtime87 = require("react/jsx-runtime");
5471
5546
  var Root13 = (0, import_react46.forwardRef)((props, ref) => {
5472
5547
  const _a = props, { children, size = "medium", color, className } = _a, rest = __objRest(_a, ["children", "size", "color", "className"]);
5473
5548
  const groupSize = (0, import_react46.useMemo)(() => {
@@ -5485,7 +5560,7 @@ var Root13 = (0, import_react46.forwardRef)((props, ref) => {
5485
5560
  () => resolveColor(color),
5486
5561
  [color]
5487
5562
  );
5488
- return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(
5563
+ return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5489
5564
  import_themes35.CheckboxGroup.Root,
5490
5565
  __spreadProps(__spreadValues({}, rest), {
5491
5566
  className: (0, import_clsx19.clsx)(colorClassName, className),
@@ -5505,7 +5580,7 @@ var CheckboxGroup = {
5505
5580
  var import_themes36 = require("@radix-ui/themes");
5506
5581
  var import_clsx20 = require("clsx");
5507
5582
  var import_react47 = require("react");
5508
- var import_jsx_runtime86 = require("react/jsx-runtime");
5583
+ var import_jsx_runtime88 = require("react/jsx-runtime");
5509
5584
  var Checkbox = (0, import_react47.forwardRef)(
5510
5585
  (props, ref) => {
5511
5586
  const _a = props, { size = "medium", color, className } = _a, rest = __objRest(_a, ["size", "color", "className"]);
@@ -5520,7 +5595,7 @@ var Checkbox = (0, import_react47.forwardRef)(
5520
5595
  }
5521
5596
  }, [size]);
5522
5597
  const { color: radixColor, className: colorClassName } = resolveColor(color);
5523
- return /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
5598
+ return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
5524
5599
  import_themes36.Checkbox,
5525
5600
  __spreadProps(__spreadValues({}, rest), {
5526
5601
  className: (0, import_clsx20.clsx)(colorClassName, className),
@@ -5537,7 +5612,7 @@ Checkbox.displayName = "Checkbox";
5537
5612
  var import_themes37 = require("@radix-ui/themes");
5538
5613
 
5539
5614
  // src/molecules/dynamic-field.tsx
5540
- var import_jsx_runtime87 = require("react/jsx-runtime");
5615
+ var import_jsx_runtime89 = require("react/jsx-runtime");
5541
5616
  function isRecord(value) {
5542
5617
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
5543
5618
  }
@@ -5606,7 +5681,7 @@ function DynamicFormField({
5606
5681
  const selectedValue = typeof value === "string" || typeof value === "number" ? String(value) : "";
5607
5682
  switch (field.type) {
5608
5683
  case "short_text":
5609
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5684
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5610
5685
  TextField.Root,
5611
5686
  __spreadProps(__spreadValues({}, commonProps), {
5612
5687
  placeholder: field.placeholder,
@@ -5614,7 +5689,7 @@ function DynamicFormField({
5614
5689
  })
5615
5690
  );
5616
5691
  case "email":
5617
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5692
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5618
5693
  TextField.Root,
5619
5694
  __spreadProps(__spreadValues({}, commonProps), {
5620
5695
  placeholder: field.placeholder,
@@ -5622,7 +5697,7 @@ function DynamicFormField({
5622
5697
  })
5623
5698
  );
5624
5699
  case "number":
5625
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5700
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5626
5701
  TextField.Root,
5627
5702
  __spreadProps(__spreadValues({}, commonProps), {
5628
5703
  inputMode: "numeric",
@@ -5632,9 +5707,9 @@ function DynamicFormField({
5632
5707
  })
5633
5708
  );
5634
5709
  case "long_text":
5635
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(TextArea, __spreadProps(__spreadValues({ rows: 4 }, commonProps), { placeholder: field.placeholder }));
5710
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(TextArea, __spreadProps(__spreadValues({ rows: 4 }, commonProps), { placeholder: field.placeholder }));
5636
5711
  case "dropdown":
5637
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(
5712
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(
5638
5713
  Select.Root,
5639
5714
  {
5640
5715
  disabled: readonly,
@@ -5643,7 +5718,7 @@ function DynamicFormField({
5643
5718
  },
5644
5719
  value: selectedValue,
5645
5720
  children: [
5646
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5721
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5647
5722
  Select.Trigger,
5648
5723
  {
5649
5724
  placeholder: field.placeholder,
@@ -5655,12 +5730,12 @@ function DynamicFormField({
5655
5730
  }
5656
5731
  }
5657
5732
  ),
5658
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Select.Content, { children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Select.Item, { value: String(option.value), children: option.label }, option.value)) })
5733
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Select.Content, { children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Select.Item, { value: String(option.value), children: option.label }, option.value)) })
5659
5734
  ]
5660
5735
  }
5661
5736
  );
5662
5737
  case "choice":
5663
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5738
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5664
5739
  RadioGroup.Root,
5665
5740
  {
5666
5741
  disabled: readonly,
@@ -5669,13 +5744,13 @@ function DynamicFormField({
5669
5744
  },
5670
5745
  orientation: field.orientation,
5671
5746
  value: String(value || ""),
5672
- children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(RadioGroup.Item, { value: String(option.value), children: option.label }, option.value))
5747
+ children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(RadioGroup.Item, { value: String(option.value), children: option.label }, option.value))
5673
5748
  }
5674
5749
  );
5675
5750
  case "radio_cards": {
5676
5751
  const options = getOptions(field);
5677
5752
  if (!options) return null;
5678
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5753
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5679
5754
  RadioCards.Root,
5680
5755
  {
5681
5756
  disabled: readonly,
@@ -5683,12 +5758,12 @@ function DynamicFormField({
5683
5758
  void setFieldValue(name, newValue);
5684
5759
  },
5685
5760
  value: selectedValue,
5686
- children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(RadioCards.Item, { value: String(option.value), children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Typo, { children: option.label }) }, option.value))
5761
+ children: options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(RadioCards.Item, { value: String(option.value), children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Typo, { children: option.label }) }, option.value))
5687
5762
  }
5688
5763
  );
5689
5764
  }
5690
5765
  case "choices":
5691
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5766
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5692
5767
  CheckboxGroup.Root,
5693
5768
  {
5694
5769
  disabled: readonly,
@@ -5697,12 +5772,12 @@ function DynamicFormField({
5697
5772
  },
5698
5773
  orientation: field.orientation,
5699
5774
  value: Array.isArray(value) ? value.map(String) : [],
5700
- children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(CheckboxGroup.Item, { value: String(option.value), children: option.label }, option.value))
5775
+ children: field.options.map((option) => /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(CheckboxGroup.Item, { value: String(option.value), children: option.label }, option.value))
5701
5776
  }
5702
5777
  );
5703
5778
  case "yes_no":
5704
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)(import_themes.Flex, { gap: "2", children: [
5705
- /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5779
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)(import_themes.Flex, { gap: "2", children: [
5780
+ /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5706
5781
  Checkbox,
5707
5782
  {
5708
5783
  checked: Boolean(value),
@@ -5712,7 +5787,7 @@ function DynamicFormField({
5712
5787
  }
5713
5788
  }
5714
5789
  ),
5715
- field.description ? /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(Typo, { color: "gray", variant: "caption", children: field.description }) : null
5790
+ field.description ? /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Typo, { color: "gray", variant: "caption", children: field.description }) : null
5716
5791
  ] });
5717
5792
  case "image_radio_card": {
5718
5793
  const options = getImageOptions(field);
@@ -5736,23 +5811,23 @@ function DynamicFormField({
5736
5811
  if (!selectedOption) return;
5737
5812
  void setFieldValue(name, selectedOption.value);
5738
5813
  };
5739
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5814
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5740
5815
  RadioCards.Root,
5741
5816
  {
5742
5817
  disabled: readonly,
5743
5818
  onValueChange: readonly ? void 0 : handleValueChange,
5744
5819
  value: selectedValue,
5745
- children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_themes17.Grid, { columns: gridColumns, gap: gridGap, rows: gridRows, children: options.map((option) => {
5820
+ children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_themes17.Grid, { columns: gridColumns, gap: gridGap, rows: gridRows, children: options.map((option) => {
5746
5821
  const optionValue = String(option.value);
5747
5822
  const altText = option.alt || option.label;
5748
- return /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5823
+ return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5749
5824
  RadioCards.Item,
5750
5825
  {
5751
5826
  style: {
5752
5827
  padding: 0
5753
5828
  },
5754
5829
  value: optionValue,
5755
- children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_themes37.Inset, { style: { width: "100%", height: "100%", padding: 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
5830
+ children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_themes37.Inset, { style: { width: "100%", height: "100%", padding: 0 }, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
5756
5831
  "img",
5757
5832
  {
5758
5833
  alt: altText,
@@ -5779,7 +5854,7 @@ function DynamicFormField({
5779
5854
  }
5780
5855
 
5781
5856
  // src/molecules/dynamic-form.tsx
5782
- var import_jsx_runtime88 = require("react/jsx-runtime");
5857
+ var import_jsx_runtime90 = require("react/jsx-runtime");
5783
5858
  function scrollToFirstError(errors, _fields) {
5784
5859
  const firstErrorFieldName = Object.keys(errors)[0];
5785
5860
  if (!firstErrorFieldName) return;
@@ -5866,7 +5941,7 @@ function DynamicFormRoot({
5866
5941
  };
5867
5942
  }
5868
5943
  }, [formik.submitCount, formik.errors, fields]);
5869
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
5944
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
5870
5945
  DynamicFormProvider,
5871
5946
  {
5872
5947
  fields,
@@ -5883,15 +5958,15 @@ function DynamicFormFieldList({
5883
5958
  }) {
5884
5959
  const { formik, fields: fieldsFromContext, readonly } = useDynamicForm();
5885
5960
  const fields = fieldsProp || fieldsFromContext;
5886
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(import_jsx_runtime88.Fragment, { children: fields.map((field) => {
5961
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_jsx_runtime90.Fragment, { children: fields.map((field) => {
5887
5962
  const errorMessage = !readonly && formik.touched[field.name] && formik.errors[field.name] ? String(formik.errors[field.name]) : void 0;
5888
- return /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(
5963
+ return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
5889
5964
  import_themes38.Box,
5890
5965
  {
5891
5966
  "data-error-field": errorMessage ? field.name : void 0,
5892
5967
  "data-field-name": field.name,
5893
5968
  mb: "2",
5894
- children: /* @__PURE__ */ (0, import_jsx_runtime88.jsxs)(
5969
+ children: /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
5895
5970
  Form.FormItem,
5896
5971
  {
5897
5972
  errorMessage,
@@ -5900,8 +5975,8 @@ function DynamicFormFieldList({
5900
5975
  name: field.name,
5901
5976
  required: field.required,
5902
5977
  children: [
5903
- field.description && field.type !== "yes_no" ? /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(Typo, { variant: "caption", children: field.description }) : null,
5904
- /* @__PURE__ */ (0, import_jsx_runtime88.jsx)(DynamicFormField, { field })
5978
+ field.description && field.type !== "yes_no" ? /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Typo, { variant: "caption", children: field.description }) : null,
5979
+ /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(DynamicFormField, { field })
5905
5980
  ]
5906
5981
  }
5907
5982
  )
@@ -6050,7 +6125,7 @@ var import_react50 = require("react");
6050
6125
  // src/atoms/list.tsx
6051
6126
  var import_react49 = require("react");
6052
6127
  var import_clsx21 = require("clsx");
6053
- var import_jsx_runtime89 = require("react/jsx-runtime");
6128
+ var import_jsx_runtime91 = require("react/jsx-runtime");
6054
6129
  function Root14(props) {
6055
6130
  const _a = props, {
6056
6131
  variant,
@@ -6076,7 +6151,7 @@ function Root14(props) {
6076
6151
  ),
6077
6152
  [preSpace, propsClassName]
6078
6153
  );
6079
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(ListContext.Provider, { value: { size }, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_themes.Flex, __spreadProps(__spreadValues({ asChild: true, direction: "column", gap: "1" }, rest), { className, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Comp, { children }) })) });
6154
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(ListContext.Provider, { value: { size }, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_themes.Flex, __spreadProps(__spreadValues({ asChild: true, direction: "column", gap: "1" }, rest), { className, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Comp, { children }) })) });
6080
6155
  }
6081
6156
  function Item2(props) {
6082
6157
  const { children } = props;
@@ -6089,7 +6164,7 @@ function Item2(props) {
6089
6164
  }
6090
6165
  });
6091
6166
  }, [size]);
6092
- return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(Typo, { asChild: true, variant, children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("li", { children }) });
6167
+ return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Typo, { asChild: true, variant, children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)("li", { children }) });
6093
6168
  }
6094
6169
  var ListContext = (0, import_react49.createContext)({
6095
6170
  size: "large"
@@ -6103,7 +6178,7 @@ var List = {
6103
6178
  };
6104
6179
 
6105
6180
  // src/molecules/one-on-one-guide-list.tsx
6106
- var import_jsx_runtime90 = require("react/jsx-runtime");
6181
+ var import_jsx_runtime92 = require("react/jsx-runtime");
6107
6182
  var oneOnOneNoteTextReplacer = (args) => {
6108
6183
  const { text, userName, templateName } = args;
6109
6184
  return text.replace(/\{\{Template_Name\}\}/g, templateName).replace(/\{\{Subject_Name\}\}/g, userName);
@@ -6123,43 +6198,43 @@ function OneOnOneGuideList(props) {
6123
6198
  []
6124
6199
  );
6125
6200
  }, [data]);
6126
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(import_jsx_runtime90.Fragment, { children: [
6127
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Heading2, { mb: "2", variant: "heading5", children: oneOnOneNoteTextReplacer({
6201
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_jsx_runtime92.Fragment, { children: [
6202
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Heading2, { mb: "2", variant: "heading5", children: oneOnOneNoteTextReplacer({
6128
6203
  text: guideTitle || "",
6129
6204
  userName: (relacements == null ? void 0 : relacements.userName) || "",
6130
6205
  templateName: (relacements == null ? void 0 : relacements.templateName) || ""
6131
6206
  }) }),
6132
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Typo, { as: "div", mb: "4", children: oneOnOneNoteTextReplacer({
6207
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Typo, { as: "div", mb: "4", children: oneOnOneNoteTextReplacer({
6133
6208
  text: guideDescription || "",
6134
6209
  userName: (relacements == null ? void 0 : relacements.userName) || "\uD300\uC6D0",
6135
6210
  templateName: (relacements == null ? void 0 : relacements.templateName) || "1on1"
6136
6211
  }) }),
6137
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
6212
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6138
6213
  List.Root,
6139
6214
  {
6140
6215
  preSpace: "small",
6141
6216
  style: { fontWeight: "bold", gap: "var(--space-5)" },
6142
6217
  variant: "ol",
6143
6218
  children: groupedData == null ? void 0 : groupedData.map((item) => {
6144
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(List.Item, { children: [
6145
- /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Typo, { as: "div", mb: "1", children: item.title }),
6219
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(List.Item, { children: [
6220
+ /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Typo, { as: "div", mb: "1", children: item.title }),
6146
6221
  item.children.map((child) => {
6147
6222
  if (child.type === "ul") {
6148
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
6223
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6149
6224
  List.Root,
6150
6225
  {
6151
6226
  preSpace: "small",
6152
6227
  style: { fontWeight: "normal", gap: "var(--space-2)" },
6153
6228
  variant: "ul",
6154
6229
  children: child.value.map((el) => {
6155
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(List.Item, { children: el }, el);
6230
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(List.Item, { children: el }, el);
6156
6231
  })
6157
6232
  },
6158
6233
  child.value[0]
6159
6234
  );
6160
6235
  }
6161
6236
  if (typeof child.value === "string") {
6162
- return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(Typo, { as: "div", mb: "2", weight: "regular", children: child.value }, child.value);
6237
+ return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Typo, { as: "div", mb: "2", weight: "regular", children: child.value }, child.value);
6163
6238
  }
6164
6239
  return null;
6165
6240
  })
@@ -6171,16 +6246,16 @@ function OneOnOneGuideList(props) {
6171
6246
  }
6172
6247
 
6173
6248
  // src/molecules/description-json-render.tsx
6174
- var import_jsx_runtime91 = require("react/jsx-runtime");
6249
+ var import_jsx_runtime93 = require("react/jsx-runtime");
6175
6250
  function DescriptionJsonRender(props) {
6176
6251
  const { value } = props;
6177
- return /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_jsx_runtime91.Fragment, { children: value.values.map((block, index) => {
6252
+ return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_jsx_runtime93.Fragment, { children: value.values.map((block, index) => {
6178
6253
  if (block.type === "bullet-list") {
6179
6254
  return (
6180
6255
  // eslint-disable-next-line react/no-array-index-key -- 블록 타입과 인덱스를 키로 사용
6181
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_themes7.Box, { mb: "2", pl: "4", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(List.Root, { preSpace: "small", children: block.value.map((v, i) => (
6256
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_themes9.Box, { mb: "2", pl: "4", children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(List.Root, { preSpace: "small", children: block.value.map((v, i) => (
6182
6257
  // eslint-disable-next-line react/no-array-index-key -- 블록 타입과 인덱스를 키로 사용
6183
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(List.Item, { children: v }, `${index}-${i}`)
6258
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(List.Item, { children: v }, `${index}-${i}`)
6184
6259
  )) }) }, `${block.type}-${index}`)
6185
6260
  );
6186
6261
  }
@@ -6188,15 +6263,15 @@ function DescriptionJsonRender(props) {
6188
6263
  const Icon = getCalloutIconComponent(block.icon);
6189
6264
  return (
6190
6265
  // eslint-disable-next-line react/no-array-index-key -- 블록 타입과 인덱스를 키로 사용
6191
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(import_themes7.Box, { mb: "2", children: /* @__PURE__ */ (0, import_jsx_runtime91.jsxs)(Callout.Root, { children: [
6192
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Callout.Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Icon, {}) }),
6193
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Callout.Text, { children: block.value })
6266
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_themes9.Box, { mb: "2", children: /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(Callout.Root, { children: [
6267
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Callout.Icon, { children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Icon, {}) }),
6268
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Callout.Text, { children: block.value })
6194
6269
  ] }) }, `${block.type}-${index}`)
6195
6270
  );
6196
6271
  }
6197
6272
  return (
6198
6273
  // eslint-disable-next-line react/no-array-index-key -- 블록 타입과 인덱스를 키로 사용
6199
- /* @__PURE__ */ (0, import_jsx_runtime91.jsx)(Typo, { mb: "2", weight: "regular", children: block.value }, `${block.type}-${index}`)
6274
+ /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { mb: "2", weight: "regular", children: block.value }, `${block.type}-${index}`)
6200
6275
  );
6201
6276
  }) });
6202
6277
  }
@@ -6204,12 +6279,12 @@ function DescriptionJsonRender(props) {
6204
6279
  // src/molecules/training-info-guideline.tsx
6205
6280
  var import_react51 = require("react");
6206
6281
  var import_react_icons8 = require("@radix-ui/react-icons");
6207
- var import_jsx_runtime92 = require("react/jsx-runtime");
6282
+ var import_jsx_runtime94 = require("react/jsx-runtime");
6208
6283
  function TrainingInfoGuideline({
6209
6284
  values,
6210
6285
  onClickFileDownload
6211
6286
  }) {
6212
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_jsx_runtime92.Fragment, { children: values.map((value) => /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6287
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_jsx_runtime94.Fragment, { children: values.map((value) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6213
6288
  TrainingInfoGuidelineItem,
6214
6289
  {
6215
6290
  onClickFileDownload,
@@ -6227,11 +6302,11 @@ function TrainingInfoGuidelineItem({
6227
6302
  }) {
6228
6303
  const [isLoading, setIsLoading] = (0, import_react51.useState)(true);
6229
6304
  if (value.type === "file") {
6230
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6305
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6231
6306
  TrainingInfoGuidelineButton,
6232
6307
  {
6233
6308
  description: "\uD30C\uC77C \uB2E4\uC6B4\uB85C\uB4DC",
6234
- icon: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_react_icons8.FileTextIcon, {}),
6309
+ icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_react_icons8.FileTextIcon, {}),
6235
6310
  onClick: () => {
6236
6311
  onClickFileDownload({ url: value.url, filename: value.filename });
6237
6312
  },
@@ -6240,11 +6315,11 @@ function TrainingInfoGuidelineItem({
6240
6315
  );
6241
6316
  }
6242
6317
  if (value.type === "youtube-shorts") {
6243
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6318
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6244
6319
  TrainingInfoGuidelineButton,
6245
6320
  {
6246
6321
  description: "TIPP \uC1FC\uCE20 \uBCF4\uAE30",
6247
- icon: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_react_icons8.VideoIcon, {}),
6322
+ icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_react_icons8.VideoIcon, {}),
6248
6323
  onClick: () => {
6249
6324
  window.open(value.url, "_blank");
6250
6325
  },
@@ -6253,16 +6328,16 @@ function TrainingInfoGuidelineItem({
6253
6328
  );
6254
6329
  }
6255
6330
  if (value.type === "video") {
6256
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(Dialog.Root, { children: [
6257
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(Dialog.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6331
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(Dialog.Root, { children: [
6332
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Dialog.Trigger, { children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6258
6333
  TrainingInfoGuidelineButton,
6259
6334
  {
6260
6335
  description: "\uC601\uC0C1 \uC790\uB8CC",
6261
- icon: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_react_icons8.VideoIcon, {}),
6336
+ icon: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_react_icons8.VideoIcon, {}),
6262
6337
  title: value.videoTitle
6263
6338
  }
6264
6339
  ) }),
6265
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6340
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6266
6341
  Dialog.Content,
6267
6342
  {
6268
6343
  height: "100%",
@@ -6270,7 +6345,7 @@ function TrainingInfoGuidelineItem({
6270
6345
  maxWidth: "800px",
6271
6346
  title: value.videoTitle,
6272
6347
  width: "100%",
6273
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_themes18.AspectRatio, { ratio: 16 / 9, style: { width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(
6348
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_themes18.AspectRatio, { ratio: 16 / 9, style: { width: "100%" }, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
6274
6349
  import_themes.Flex,
6275
6350
  {
6276
6351
  align: "center",
@@ -6282,7 +6357,7 @@ function TrainingInfoGuidelineItem({
6282
6357
  position: "relative"
6283
6358
  },
6284
6359
  children: [
6285
- isLoading ? /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6360
+ isLoading ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6286
6361
  import_themes.Flex,
6287
6362
  {
6288
6363
  align: "center",
@@ -6297,10 +6372,10 @@ function TrainingInfoGuidelineItem({
6297
6372
  color: "white"
6298
6373
  },
6299
6374
  width: "100%",
6300
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_themes4.Spinner, { size: "3", style: { width: 48, height: 48 } })
6375
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_themes4.Spinner, { size: "3", style: { width: 48, height: 48 } })
6301
6376
  }
6302
6377
  ) : null,
6303
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6378
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6304
6379
  "iframe",
6305
6380
  {
6306
6381
  allowFullScreen: true,
@@ -6330,7 +6405,7 @@ function TrainingInfoGuidelineButton({
6330
6405
  description,
6331
6406
  onClick
6332
6407
  }) {
6333
- return /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6408
+ return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6334
6409
  Button,
6335
6410
  {
6336
6411
  onClick,
@@ -6343,11 +6418,11 @@ function TrainingInfoGuidelineButton({
6343
6418
  paddingBottom: 8
6344
6419
  },
6345
6420
  variant: "outline",
6346
- children: /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_themes.Flex, { align: "center", gap: "2", width: "100%", children: [
6347
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_themes.Flex, { align: "center", flexShrink: "0", children: icon }),
6348
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(import_themes28.Separator, { orientation: "vertical", size: "2", style: { flexShrink: 0 } }),
6349
- /* @__PURE__ */ (0, import_jsx_runtime92.jsxs)(import_themes7.Box, { flexGrow: "1", style: { minWidth: 0 }, children: [
6350
- /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6421
+ children: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_themes.Flex, { align: "center", gap: "2", width: "100%", children: [
6422
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_themes.Flex, { align: "center", flexShrink: "0", children: icon }),
6423
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(import_themes28.Separator, { orientation: "vertical", size: "2", style: { flexShrink: 0 } }),
6424
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_themes9.Box, { flexGrow: "1", style: { minWidth: 0 }, children: [
6425
+ /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6351
6426
  Typo,
6352
6427
  {
6353
6428
  as: "div",
@@ -6359,7 +6434,7 @@ function TrainingInfoGuidelineButton({
6359
6434
  children: title
6360
6435
  }
6361
6436
  ),
6362
- typeof description === "string" && description !== "" ? /* @__PURE__ */ (0, import_jsx_runtime92.jsx)(
6437
+ typeof description === "string" && description !== "" ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
6363
6438
  Typo,
6364
6439
  {
6365
6440
  style: {
@@ -6687,7 +6762,7 @@ function resetFieldType(field, nextType, allFields) {
6687
6762
  // src/molecules/dynamic-form-editor-field-editor-panel.tsx
6688
6763
  var import_react52 = require("react");
6689
6764
  var import_themes39 = require("@radix-ui/themes");
6690
- var import_jsx_runtime93 = require("react/jsx-runtime");
6765
+ var import_jsx_runtime95 = require("react/jsx-runtime");
6691
6766
  function isRecord4(value) {
6692
6767
  return Boolean(value) && typeof value === "object" && !Array.isArray(value);
6693
6768
  }
@@ -6773,11 +6848,11 @@ function DynamicFormEditorFieldEditorPanel(props) {
6773
6848
  if (!field) return "";
6774
6849
  return String(field.placeholder || "");
6775
6850
  }, [field]);
6776
- return /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Card, { style: { flex: 1, minWidth: 520, padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { direction: "column", gap: "4", children: [
6777
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { align: "center", justify: "between", children: [
6778
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "body", children: "\uD544\uB4DC \uD3B8\uC9D1" }),
6779
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { align: "center", gap: "1", children: [
6780
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6851
+ return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Card, { style: { flex: 1, minWidth: 520, padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { direction: "column", gap: "4", children: [
6852
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { align: "center", justify: "between", children: [
6853
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "body", children: "\uD544\uB4DC \uD3B8\uC9D1" }),
6854
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { align: "center", gap: "1", children: [
6855
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6781
6856
  IconButton,
6782
6857
  {
6783
6858
  "aria-label": "\uD544\uB4DC \uC704\uB85C",
@@ -6786,10 +6861,10 @@ function DynamicFormEditorFieldEditorPanel(props) {
6786
6861
  onMoveField("up");
6787
6862
  },
6788
6863
  variant: "soft",
6789
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_icons.ChevronUpIcon, {})
6864
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_icons.ChevronUpIcon, {})
6790
6865
  }
6791
6866
  ),
6792
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6867
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6793
6868
  IconButton,
6794
6869
  {
6795
6870
  "aria-label": "\uD544\uB4DC \uC544\uB798\uB85C",
@@ -6798,36 +6873,36 @@ function DynamicFormEditorFieldEditorPanel(props) {
6798
6873
  onMoveField("down");
6799
6874
  },
6800
6875
  variant: "soft",
6801
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_icons.ChevronDownIcon, {})
6876
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_icons.ChevronDownIcon, {})
6802
6877
  }
6803
6878
  ),
6804
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6879
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6805
6880
  IconButton,
6806
6881
  {
6807
6882
  "aria-label": "\uD544\uB4DC \uBCF5\uC81C",
6808
6883
  disabled: readonly || !field,
6809
6884
  onClick: onDuplicateField,
6810
6885
  variant: "soft",
6811
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_icons.CopyIcon, {})
6886
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_icons.CopyIcon, {})
6812
6887
  }
6813
6888
  ),
6814
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6889
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6815
6890
  IconButton,
6816
6891
  {
6817
6892
  "aria-label": "\uD544\uB4DC \uC0AD\uC81C",
6818
6893
  disabled: readonly || !field,
6819
6894
  onClick: onDeleteField,
6820
6895
  variant: "soft",
6821
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_icons.TrashIcon, {})
6896
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_icons.TrashIcon, {})
6822
6897
  }
6823
6898
  )
6824
6899
  ] })
6825
6900
  ] }),
6826
- !field ? /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { color: "gray", variant: "caption", children: "\uC67C\uCABD\uC5D0\uC11C \uD544\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694." }) : /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { direction: "column", gap: "3", children: [
6827
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { align: "end", gap: "2", children: [
6828
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
6829
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "name" }),
6830
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6901
+ !field ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { color: "gray", variant: "caption", children: "\uC67C\uCABD\uC5D0\uC11C \uD544\uB4DC\uB97C \uC120\uD0DD\uD558\uC138\uC694." }) : /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { direction: "column", gap: "3", children: [
6902
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { align: "end", gap: "2", children: [
6903
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
6904
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "name" }),
6905
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6831
6906
  TextField.Root,
6832
6907
  {
6833
6908
  disabled: readonly,
@@ -6838,9 +6913,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
6838
6913
  }
6839
6914
  )
6840
6915
  ] }),
6841
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
6842
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "label" }),
6843
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6916
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
6917
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "label" }),
6918
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6844
6919
  TextField.Root,
6845
6920
  {
6846
6921
  disabled: readonly,
@@ -6852,8 +6927,8 @@ function DynamicFormEditorFieldEditorPanel(props) {
6852
6927
  )
6853
6928
  ] })
6854
6929
  ] }),
6855
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { align: "center", gap: "2", children: [
6856
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(
6930
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { align: "center", gap: "2", children: [
6931
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
6857
6932
  Select.Root,
6858
6933
  {
6859
6934
  disabled: readonly,
@@ -6863,13 +6938,13 @@ function DynamicFormEditorFieldEditorPanel(props) {
6863
6938
  },
6864
6939
  value: field.type,
6865
6940
  children: [
6866
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Select.Trigger, { style: { minWidth: 220 } }),
6867
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Select.Content, { children: fieldTypes.map((t) => /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Select.Item, { value: t, children: getFieldTypeLabel(t) }, t)) })
6941
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Select.Trigger, { style: { minWidth: 220 } }),
6942
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Select.Content, { children: fieldTypes.map((t) => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Select.Item, { value: t, children: getFieldTypeLabel(t) }, t)) })
6868
6943
  ]
6869
6944
  }
6870
6945
  ),
6871
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { align: "center", gap: "2", children: [
6872
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6946
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { align: "center", gap: "2", children: [
6947
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6873
6948
  Checkbox,
6874
6949
  {
6875
6950
  checked: Boolean(field.required),
@@ -6879,12 +6954,12 @@ function DynamicFormEditorFieldEditorPanel(props) {
6879
6954
  }
6880
6955
  }
6881
6956
  ),
6882
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "\uD544\uC218" })
6957
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "\uD544\uC218" })
6883
6958
  ] })
6884
6959
  ] }),
6885
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { children: [
6886
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "description" }),
6887
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6960
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { children: [
6961
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "description" }),
6962
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6888
6963
  TextArea,
6889
6964
  {
6890
6965
  disabled: readonly,
@@ -6898,9 +6973,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
6898
6973
  }
6899
6974
  )
6900
6975
  ] }),
6901
- field.type === "short_text" || field.type === "long_text" || field.type === "number" || field.type === "email" || field.type === "dropdown" ? /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { children: [
6902
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "placeholder" }),
6903
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
6976
+ field.type === "short_text" || field.type === "long_text" || field.type === "number" || field.type === "email" || field.type === "dropdown" ? /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { children: [
6977
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "placeholder" }),
6978
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6904
6979
  TextField.Root,
6905
6980
  {
6906
6981
  disabled: readonly,
@@ -6911,9 +6986,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
6911
6986
  }
6912
6987
  )
6913
6988
  ] }) : null,
6914
- field.type === "choice" || field.type === "choices" ? /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { children: [
6915
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "orientation" }),
6916
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(
6989
+ field.type === "choice" || field.type === "choices" ? /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { children: [
6990
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "orientation" }),
6991
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
6917
6992
  Select.Root,
6918
6993
  {
6919
6994
  disabled: readonly,
@@ -6923,19 +6998,19 @@ function DynamicFormEditorFieldEditorPanel(props) {
6923
6998
  },
6924
6999
  value: field.orientation || "vertical",
6925
7000
  children: [
6926
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Select.Trigger, { style: { minWidth: 220 } }),
6927
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(Select.Content, { children: [
6928
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Select.Item, { value: "vertical", children: "vertical" }),
6929
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Select.Item, { value: "horizontal", children: "horizontal" })
7001
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Select.Trigger, { style: { minWidth: 220 } }),
7002
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(Select.Content, { children: [
7003
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Select.Item, { value: "vertical", children: "vertical" }),
7004
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Select.Item, { value: "horizontal", children: "horizontal" })
6930
7005
  ] })
6931
7006
  ]
6932
7007
  }
6933
7008
  )
6934
7009
  ] }) : null,
6935
- field.type === "dropdown" || field.type === "choice" || field.type === "radio_cards" || field.type === "choices" ? /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Card, { style: { padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
6936
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { align: "center", justify: "between", children: [
6937
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "options" }),
6938
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(
7010
+ field.type === "dropdown" || field.type === "choice" || field.type === "radio_cards" || field.type === "choices" ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Card, { style: { padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
7011
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { align: "center", justify: "between", children: [
7012
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "options" }),
7013
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
6939
7014
  Button,
6940
7015
  {
6941
7016
  disabled: readonly,
@@ -6953,16 +7028,16 @@ function DynamicFormEditorFieldEditorPanel(props) {
6953
7028
  size: "small",
6954
7029
  variant: "soft",
6955
7030
  children: [
6956
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_icons.PlusIcon, {}),
7031
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_icons.PlusIcon, {}),
6957
7032
  " \uCD94\uAC00"
6958
7033
  ]
6959
7034
  }
6960
7035
  )
6961
7036
  ] }),
6962
- getOptionDrafts(field).map((opt, i) => /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { align: "end", gap: "2", children: [
6963
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
6964
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "label" }),
6965
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7037
+ getOptionDrafts(field).map((opt, i) => /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { align: "end", gap: "2", children: [
7038
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7039
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "label" }),
7040
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6966
7041
  TextField.Root,
6967
7042
  {
6968
7043
  disabled: readonly,
@@ -6977,9 +7052,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
6977
7052
  }
6978
7053
  )
6979
7054
  ] }),
6980
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
6981
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "value" }),
6982
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7055
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7056
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "value" }),
7057
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6983
7058
  TextField.Root,
6984
7059
  {
6985
7060
  disabled: readonly,
@@ -6994,8 +7069,8 @@ function DynamicFormEditorFieldEditorPanel(props) {
6994
7069
  }
6995
7070
  )
6996
7071
  ] }),
6997
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { gap: "1", children: [
6998
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7072
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { gap: "1", children: [
7073
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
6999
7074
  IconButton,
7000
7075
  {
7001
7076
  "aria-label": "\uC635\uC158 \uC704\uB85C",
@@ -7006,10 +7081,10 @@ function DynamicFormEditorFieldEditorPanel(props) {
7006
7081
  onUpdateField(updateOptions(field, toFieldOptions(nextDrafts)));
7007
7082
  },
7008
7083
  variant: "soft",
7009
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_icons.ChevronUpIcon, {})
7084
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_icons.ChevronUpIcon, {})
7010
7085
  }
7011
7086
  ),
7012
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7087
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7013
7088
  IconButton,
7014
7089
  {
7015
7090
  "aria-label": "\uC635\uC158 \uC544\uB798\uB85C",
@@ -7020,10 +7095,10 @@ function DynamicFormEditorFieldEditorPanel(props) {
7020
7095
  onUpdateField(updateOptions(field, toFieldOptions(nextDrafts)));
7021
7096
  },
7022
7097
  variant: "soft",
7023
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_icons.ChevronDownIcon, {})
7098
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_icons.ChevronDownIcon, {})
7024
7099
  }
7025
7100
  ),
7026
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7101
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7027
7102
  IconButton,
7028
7103
  {
7029
7104
  "aria-label": "\uC635\uC158 \uC0AD\uC81C",
@@ -7034,16 +7109,16 @@ function DynamicFormEditorFieldEditorPanel(props) {
7034
7109
  onUpdateField(updateOptions(field, toFieldOptions(nextDrafts)));
7035
7110
  },
7036
7111
  variant: "soft",
7037
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_icons.TrashIcon, {})
7112
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_icons.TrashIcon, {})
7038
7113
  }
7039
7114
  )
7040
7115
  ] })
7041
7116
  ] }, `${opt.value}-${opt.label}`))
7042
7117
  ] }) }) : null,
7043
- field.type === "image_radio_card" ? /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Card, { style: { padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { direction: "column", gap: "3", children: [
7044
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { align: "center", justify: "between", children: [
7045
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "image options" }),
7046
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(
7118
+ field.type === "image_radio_card" ? /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Card, { style: { padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { direction: "column", gap: "3", children: [
7119
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { align: "center", justify: "between", children: [
7120
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "image options" }),
7121
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
7047
7122
  Button,
7048
7123
  {
7049
7124
  disabled: readonly,
@@ -7062,21 +7137,21 @@ function DynamicFormEditorFieldEditorPanel(props) {
7062
7137
  size: "small",
7063
7138
  variant: "soft",
7064
7139
  children: [
7065
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_icons.PlusIcon, {}),
7140
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_icons.PlusIcon, {}),
7066
7141
  " \uCD94\uAC00"
7067
7142
  ]
7068
7143
  }
7069
7144
  )
7070
7145
  ] }),
7071
- getImageOptionDrafts(field).map((opt, i) => /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7146
+ getImageOptionDrafts(field).map((opt, i) => /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7072
7147
  Card,
7073
7148
  {
7074
7149
  style: { padding: 10 },
7075
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
7076
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { align: "end", gap: "2", children: [
7077
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7078
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "label" }),
7079
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7150
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
7151
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { align: "end", gap: "2", children: [
7152
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7153
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "label" }),
7154
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7080
7155
  TextField.Root,
7081
7156
  {
7082
7157
  disabled: readonly,
@@ -7093,9 +7168,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
7093
7168
  }
7094
7169
  )
7095
7170
  ] }),
7096
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7097
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "value" }),
7098
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7171
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7172
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "value" }),
7173
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7099
7174
  TextField.Root,
7100
7175
  {
7101
7176
  disabled: readonly,
@@ -7113,9 +7188,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
7113
7188
  )
7114
7189
  ] })
7115
7190
  ] }),
7116
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { children: [
7117
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "imageSrc" }),
7118
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7191
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { children: [
7192
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "imageSrc" }),
7193
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7119
7194
  TextField.Root,
7120
7195
  {
7121
7196
  disabled: readonly,
@@ -7132,10 +7207,10 @@ function DynamicFormEditorFieldEditorPanel(props) {
7132
7207
  }
7133
7208
  )
7134
7209
  ] }),
7135
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { align: "end", gap: "2", children: [
7136
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7137
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "alt" }),
7138
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7210
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { align: "end", gap: "2", children: [
7211
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7212
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "alt" }),
7213
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7139
7214
  TextField.Root,
7140
7215
  {
7141
7216
  disabled: readonly,
@@ -7153,7 +7228,7 @@ function DynamicFormEditorFieldEditorPanel(props) {
7153
7228
  }
7154
7229
  )
7155
7230
  ] }),
7156
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7231
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7157
7232
  IconButton,
7158
7233
  {
7159
7234
  "aria-label": "\uC774\uBBF8\uC9C0 \uC635\uC158 \uC0AD\uC81C",
@@ -7166,7 +7241,7 @@ function DynamicFormEditorFieldEditorPanel(props) {
7166
7241
  );
7167
7242
  },
7168
7243
  variant: "soft",
7169
- children: /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(import_react_icons.TrashIcon, {})
7244
+ children: /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(import_react_icons.TrashIcon, {})
7170
7245
  }
7171
7246
  )
7172
7247
  ] })
@@ -7174,10 +7249,10 @@ function DynamicFormEditorFieldEditorPanel(props) {
7174
7249
  },
7175
7250
  `${opt.value}-${opt.label}-${opt.imageSrc}`
7176
7251
  )),
7177
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { gap: "2", children: [
7178
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7179
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "gridColumnsCount" }),
7180
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7252
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { gap: "2", children: [
7253
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7254
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "gridColumnsCount" }),
7255
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7181
7256
  TextField.Root,
7182
7257
  {
7183
7258
  disabled: readonly,
@@ -7193,9 +7268,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
7193
7268
  }
7194
7269
  )
7195
7270
  ] }),
7196
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7197
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "gridItemHeight" }),
7198
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7271
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7272
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "gridItemHeight" }),
7273
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7199
7274
  TextField.Root,
7200
7275
  {
7201
7276
  disabled: readonly,
@@ -7208,9 +7283,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
7208
7283
  }
7209
7284
  )
7210
7285
  ] }),
7211
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7212
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "gridGap" }),
7213
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7286
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7287
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "gridGap" }),
7288
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7214
7289
  TextField.Root,
7215
7290
  {
7216
7291
  disabled: readonly,
@@ -7222,9 +7297,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
7222
7297
  )
7223
7298
  ] })
7224
7299
  ] }),
7225
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { children: [
7226
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "imageFit" }),
7227
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(
7300
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { children: [
7301
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "imageFit" }),
7302
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
7228
7303
  Select.Root,
7229
7304
  {
7230
7305
  disabled: readonly,
@@ -7234,22 +7309,22 @@ function DynamicFormEditorFieldEditorPanel(props) {
7234
7309
  },
7235
7310
  value: field.imageFit || "cover",
7236
7311
  children: [
7237
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Select.Trigger, { style: { minWidth: 220 } }),
7238
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(Select.Content, { children: [
7239
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Select.Item, { value: "cover", children: "cover" }),
7240
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Select.Item, { value: "contain", children: "contain" })
7312
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Select.Trigger, { style: { minWidth: 220 } }),
7313
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(Select.Content, { children: [
7314
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Select.Item, { value: "cover", children: "cover" }),
7315
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Select.Item, { value: "contain", children: "contain" })
7241
7316
  ] })
7242
7317
  ]
7243
7318
  }
7244
7319
  )
7245
7320
  ] })
7246
7321
  ] }) }) : null,
7247
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Card, { style: { padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
7248
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "validation" }),
7249
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes.Flex, { gap: "2", children: [
7250
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7251
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "min" }),
7252
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7322
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Card, { style: { padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
7323
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "validation" }),
7324
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { gap: "2", children: [
7325
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7326
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "min" }),
7327
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7253
7328
  TextField.Root,
7254
7329
  {
7255
7330
  disabled: readonly,
@@ -7265,9 +7340,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
7265
7340
  }
7266
7341
  )
7267
7342
  ] }),
7268
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7269
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "max" }),
7270
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7343
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { style: { flex: 1 }, children: [
7344
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "max" }),
7345
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7271
7346
  TextField.Root,
7272
7347
  {
7273
7348
  disabled: readonly,
@@ -7284,9 +7359,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
7284
7359
  )
7285
7360
  ] })
7286
7361
  ] }),
7287
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { children: [
7288
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "pattern" }),
7289
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7362
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { children: [
7363
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "pattern" }),
7364
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7290
7365
  TextField.Root,
7291
7366
  {
7292
7367
  disabled: readonly,
@@ -7299,9 +7374,9 @@ function DynamicFormEditorFieldEditorPanel(props) {
7299
7374
  }
7300
7375
  )
7301
7376
  ] }),
7302
- /* @__PURE__ */ (0, import_jsx_runtime93.jsxs)(import_themes39.Box, { children: [
7303
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(Typo, { variant: "caption", children: "message" }),
7304
- /* @__PURE__ */ (0, import_jsx_runtime93.jsx)(
7377
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes39.Box, { children: [
7378
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "message" }),
7379
+ /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(
7305
7380
  TextField.Root,
7306
7381
  {
7307
7382
  disabled: readonly,
@@ -7322,7 +7397,7 @@ function DynamicFormEditorFieldEditorPanel(props) {
7322
7397
  // src/molecules/dynamic-form-editor-field-list-panel.tsx
7323
7398
  var import_react53 = require("react");
7324
7399
  var import_themes40 = require("@radix-ui/themes");
7325
- var import_jsx_runtime94 = require("react/jsx-runtime");
7400
+ var import_jsx_runtime96 = require("react/jsx-runtime");
7326
7401
  function isFieldType2(value, types) {
7327
7402
  return types.some((t) => t === value);
7328
7403
  }
@@ -7340,10 +7415,10 @@ function DynamicFormEditorFieldListPanel(props) {
7340
7415
  const triggerPlaceholder = (0, import_react53.useMemo)(() => {
7341
7416
  return readonly ? "\uCD94\uAC00(\uC77D\uAE30 \uC804\uC6A9)" : "\uCD94\uAC00";
7342
7417
  }, [readonly]);
7343
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Card, { style: { width: 340, padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_themes.Flex, { direction: "column", gap: "3", children: [
7344
- /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_themes.Flex, { align: "center", justify: "between", children: [
7345
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Typo, { variant: "body", children: "\uD544\uB4DC" }),
7346
- /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(
7418
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Card, { style: { width: 340, padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_themes.Flex, { direction: "column", gap: "3", children: [
7419
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_themes.Flex, { align: "center", justify: "between", children: [
7420
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Typo, { variant: "body", children: "\uD544\uB4DC" }),
7421
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(
7347
7422
  Select.Root,
7348
7423
  {
7349
7424
  disabled: readonly,
@@ -7353,18 +7428,18 @@ function DynamicFormEditorFieldListPanel(props) {
7353
7428
  },
7354
7429
  value: "",
7355
7430
  children: [
7356
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Select.Trigger, { placeholder: triggerPlaceholder }),
7357
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Select.Content, { children: fieldTypes.map((t) => /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Select.Item, { value: t, children: getFieldTypeLabel(t) }, t)) })
7431
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Select.Trigger, { placeholder: triggerPlaceholder }),
7432
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Select.Content, { children: fieldTypes.map((t) => /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Select.Item, { value: t, children: getFieldTypeLabel(t) }, t)) })
7358
7433
  ]
7359
7434
  }
7360
7435
  )
7361
7436
  ] }),
7362
- /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
7363
- isEmpty ? /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(Typo, { color: "gray", variant: "caption", children: "\uC544\uC9C1 \uD544\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." }) : null,
7437
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
7438
+ isEmpty ? /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Typo, { color: "gray", variant: "caption", children: "\uC544\uC9C1 \uD544\uB4DC\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4." }) : null,
7364
7439
  fields.map((field) => {
7365
7440
  const isSelected = field.name === selectedFieldName;
7366
7441
  const hasError = hasFieldError(field.name);
7367
- return /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
7442
+ return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
7368
7443
  Card,
7369
7444
  {
7370
7445
  error: isSelected ? hasError : void 0,
@@ -7377,8 +7452,8 @@ function DynamicFormEditorFieldListPanel(props) {
7377
7452
  opacity: readonly ? 0.8 : 1,
7378
7453
  border: isSelected ? "1px solid var(--accent-9)" : "1px solid transparent"
7379
7454
  },
7380
- children: /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(import_themes40.Box, { style: { minWidth: 0 }, children: [
7381
- /* @__PURE__ */ (0, import_jsx_runtime94.jsx)(
7455
+ children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_themes40.Box, { style: { minWidth: 0 }, children: [
7456
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(
7382
7457
  Typo,
7383
7458
  {
7384
7459
  style: {
@@ -7390,7 +7465,7 @@ function DynamicFormEditorFieldListPanel(props) {
7390
7465
  children: field.label
7391
7466
  }
7392
7467
  ),
7393
- /* @__PURE__ */ (0, import_jsx_runtime94.jsxs)(Typo, { color: "gray", variant: "caption", children: [
7468
+ /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(Typo, { color: "gray", variant: "caption", children: [
7394
7469
  field.name,
7395
7470
  " \xB7 ",
7396
7471
  field.type,
@@ -7406,13 +7481,13 @@ function DynamicFormEditorFieldListPanel(props) {
7406
7481
  }
7407
7482
 
7408
7483
  // src/molecules/dynamic-form-editor-issues-panel.tsx
7409
- var import_jsx_runtime95 = require("react/jsx-runtime");
7484
+ var import_jsx_runtime97 = require("react/jsx-runtime");
7410
7485
  function DynamicFormEditorIssuesPanel(props) {
7411
7486
  const { issues } = props;
7412
7487
  if (issues.length === 0) return null;
7413
- return /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Card, { style: { padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
7414
- /* @__PURE__ */ (0, import_jsx_runtime95.jsx)(Typo, { variant: "caption", children: "\uC2A4\uD0A4\uB9C8 \uC774\uC288" }),
7415
- issues.map((i) => /* @__PURE__ */ (0, import_jsx_runtime95.jsxs)(
7488
+ return /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Card, { style: { padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_themes.Flex, { direction: "column", gap: "2", children: [
7489
+ /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Typo, { variant: "caption", children: "\uC2A4\uD0A4\uB9C8 \uC774\uC288" }),
7490
+ issues.map((i) => /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(
7416
7491
  Typo,
7417
7492
  {
7418
7493
  color: i.level === "error" ? "red" : "gray",
@@ -7431,18 +7506,18 @@ function DynamicFormEditorIssuesPanel(props) {
7431
7506
  }
7432
7507
 
7433
7508
  // src/molecules/dynamic-form-editor-preview-panel.tsx
7434
- var import_jsx_runtime96 = require("react/jsx-runtime");
7509
+ var import_jsx_runtime98 = require("react/jsx-runtime");
7435
7510
  function DynamicFormEditorPreviewPanel(props) {
7436
7511
  const { show, fields } = props;
7437
7512
  if (!show) return null;
7438
- return /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Card, { style: { width: 420, padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsxs)(import_themes.Flex, { direction: "column", gap: "3", children: [
7439
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(Typo, { variant: "body", children: "\uD504\uB9AC\uBDF0" }),
7440
- /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(DynamicForm.Root, { fields, onSubmit: () => void 0, readonly: true, children: /* @__PURE__ */ (0, import_jsx_runtime96.jsx)(DynamicForm.FieldList, { labelVariant: "body" }) })
7513
+ return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Card, { style: { width: 420, padding: 12 }, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsxs)(import_themes.Flex, { direction: "column", gap: "3", children: [
7514
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(Typo, { variant: "body", children: "\uD504\uB9AC\uBDF0" }),
7515
+ /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(DynamicForm.Root, { fields, onSubmit: () => void 0, readonly: true, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(DynamicForm.FieldList, { labelVariant: "body" }) })
7441
7516
  ] }) });
7442
7517
  }
7443
7518
 
7444
7519
  // src/molecules/dynamic-form-editor.tsx
7445
- var import_jsx_runtime97 = require("react/jsx-runtime");
7520
+ var import_jsx_runtime99 = require("react/jsx-runtime");
7446
7521
  function getInitialSchema(value, defaultValue) {
7447
7522
  if (value !== void 0) return normalizeSchema(value);
7448
7523
  return normalizeSchema(defaultValue);
@@ -7592,8 +7667,8 @@ function DynamicFormEditor(props) {
7592
7667
  void result;
7593
7668
  }, [effectiveSchema, onSave]);
7594
7669
  const disableSave = readonly || !onSave || hasErrorIssues(issues);
7595
- return /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_themes.Flex, { align: "start", gap: "4", style: { width: "100%" }, children: [
7596
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
7670
+ return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_themes.Flex, { align: "start", gap: "4", style: { width: "100%" }, children: [
7671
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
7597
7672
  DynamicFormEditorFieldListPanel,
7598
7673
  {
7599
7674
  fieldTypes,
@@ -7605,8 +7680,8 @@ function DynamicFormEditor(props) {
7605
7680
  selectedFieldName
7606
7681
  }
7607
7682
  ),
7608
- /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_themes.Flex, { direction: "column", gap: "3", style: { flex: 1, minWidth: 520 }, children: [
7609
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(
7683
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_themes.Flex, { direction: "column", gap: "3", style: { flex: 1, minWidth: 520 }, children: [
7684
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
7610
7685
  DynamicFormEditorFieldEditorPanel,
7611
7686
  {
7612
7687
  field: selected.field,
@@ -7621,13 +7696,13 @@ function DynamicFormEditor(props) {
7621
7696
  readonly
7622
7697
  }
7623
7698
  ),
7624
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(DynamicFormEditorIssuesPanel, { issues }),
7625
- onSave || onCancel ? /* @__PURE__ */ (0, import_jsx_runtime97.jsxs)(import_themes.Flex, { gap: "2", justify: "end", children: [
7626
- onCancel ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Button, { disabled: readonly, onClick: onCancel, variant: "soft", children: "\uCDE8\uC18C" }) : null,
7627
- onSave ? /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(Button, { disabled: disableSave, onClick: handleSave, children: "\uC800\uC7A5" }) : null
7699
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(DynamicFormEditorIssuesPanel, { issues }),
7700
+ onSave || onCancel ? /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_themes.Flex, { gap: "2", justify: "end", children: [
7701
+ onCancel ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Button, { disabled: readonly, onClick: onCancel, variant: "soft", children: "\uCDE8\uC18C" }) : null,
7702
+ onSave ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Button, { disabled: disableSave, onClick: handleSave, children: "\uC800\uC7A5" }) : null
7628
7703
  ] }) : null
7629
7704
  ] }),
7630
- /* @__PURE__ */ (0, import_jsx_runtime97.jsx)(DynamicFormEditorPreviewPanel, { fields: effectiveSchema.fields, show: showPreview })
7705
+ /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(DynamicFormEditorPreviewPanel, { fields: effectiveSchema.fields, show: showPreview })
7631
7706
  ] });
7632
7707
  }
7633
7708
 
@@ -7638,7 +7713,7 @@ var import_themes42 = require("@radix-ui/themes");
7638
7713
  // src/atoms/dropdown-menu.tsx
7639
7714
  var import_themes41 = require("@radix-ui/themes");
7640
7715
  var import_react55 = require("react");
7641
- var import_jsx_runtime98 = require("react/jsx-runtime");
7716
+ var import_jsx_runtime100 = require("react/jsx-runtime");
7642
7717
  var DropdownMenuContext = (0, import_react55.createContext)({});
7643
7718
  var Content5 = (0, import_react55.forwardRef)((props, ref) => {
7644
7719
  const _a = props, { isNavigation, className, color } = _a, rest = __objRest(_a, ["isNavigation", "className", "color"]);
@@ -7656,7 +7731,7 @@ var Content5 = (0, import_react55.forwardRef)((props, ref) => {
7656
7731
  const cls = isNavigation ? "dropdown-navigation" : "";
7657
7732
  return [cls, colorClassName, className].filter(Boolean).join(" ");
7658
7733
  }, [isNavigation, colorClassName, className]);
7659
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(
7734
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(
7660
7735
  import_themes41.DropdownMenu.Content,
7661
7736
  __spreadProps(__spreadValues({
7662
7737
  ref
@@ -7670,14 +7745,14 @@ Content5.displayName = "DropdownMenu.Content";
7670
7745
  var Trigger4 = (0, import_react55.forwardRef)(
7671
7746
  (_a, ref) => {
7672
7747
  var _b = _a, { asChild: _asChild } = _b, props = __objRest(_b, ["asChild"]);
7673
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_themes41.DropdownMenu.Trigger, __spreadValues({ ref }, props));
7748
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_themes41.DropdownMenu.Trigger, __spreadValues({ ref }, props));
7674
7749
  }
7675
7750
  );
7676
7751
  Trigger4.displayName = "DropdownMenu.Trigger";
7677
7752
  function Root15(props) {
7678
7753
  const _a = props, { color } = _a, rest = __objRest(_a, ["color"]);
7679
7754
  const value = (0, import_react55.useMemo)(() => ({ color }), [color]);
7680
- return /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(DropdownMenuContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime98.jsx)(import_themes41.DropdownMenu.Root, __spreadValues({}, rest)) });
7755
+ return /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(DropdownMenuContext.Provider, { value, children: /* @__PURE__ */ (0, import_jsx_runtime100.jsx)(import_themes41.DropdownMenu.Root, __spreadValues({}, rest)) });
7681
7756
  }
7682
7757
  Root15.displayName = "DropdownMenu.Root";
7683
7758
  var DropdownMenu = __spreadProps(__spreadValues({}, import_themes41.DropdownMenu), {
@@ -7687,7 +7762,7 @@ var DropdownMenu = __spreadProps(__spreadValues({}, import_themes41.DropdownMenu
7687
7762
  });
7688
7763
 
7689
7764
  // src/molecules/autocomplete-textfield.tsx
7690
- var import_jsx_runtime99 = require("react/jsx-runtime");
7765
+ var import_jsx_runtime101 = require("react/jsx-runtime");
7691
7766
  var AutocompleteTextfield = (0, import_react56.forwardRef)(
7692
7767
  (_a, ref) => {
7693
7768
  var _b = _a, {
@@ -7813,8 +7888,8 @@ var AutocompleteTextfield = (0, import_react56.forwardRef)(
7813
7888
  const item = listRef.current.children[highlightedIndex];
7814
7889
  item.scrollIntoView({ block: "nearest" });
7815
7890
  }, [highlightedIndex]);
7816
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(import_themes42.Box, { position: "relative", style: { width: "100%" }, children: [
7817
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
7891
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(import_themes42.Box, { position: "relative", style: { width: "100%" }, children: [
7892
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
7818
7893
  TextField.Root,
7819
7894
  __spreadProps(__spreadValues({
7820
7895
  "aria-activedescendant": open && highlightedIndex >= 0 ? `${listboxId}-option-${highlightedIndex}` : void 0,
@@ -7840,12 +7915,12 @@ var AutocompleteTextfield = (0, import_react56.forwardRef)(
7840
7915
  value: inputValue
7841
7916
  }, rest), {
7842
7917
  children: [
7843
- slotLeft && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
7844
- slotRight && /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(TextField.Slot, { side: "right", children: slotRight })
7918
+ slotLeft && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(TextField.Slot, { side: "left", children: slotLeft }),
7919
+ slotRight && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(TextField.Slot, { side: "right", children: slotRight })
7845
7920
  ]
7846
7921
  })
7847
7922
  ),
7848
- /* @__PURE__ */ (0, import_jsx_runtime99.jsxs)(
7923
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
7849
7924
  DropdownMenu.Root,
7850
7925
  {
7851
7926
  modal: false,
@@ -7857,7 +7932,7 @@ var AutocompleteTextfield = (0, import_react56.forwardRef)(
7857
7932
  },
7858
7933
  open,
7859
7934
  children: [
7860
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
7935
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(DropdownMenu.Trigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
7861
7936
  "span",
7862
7937
  {
7863
7938
  "aria-hidden": "true",
@@ -7872,7 +7947,7 @@ var AutocompleteTextfield = (0, import_react56.forwardRef)(
7872
7947
  }
7873
7948
  }
7874
7949
  ) }),
7875
- /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
7950
+ /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
7876
7951
  DropdownMenu.Content,
7877
7952
  {
7878
7953
  align: "start",
@@ -7889,7 +7964,7 @@ var AutocompleteTextfield = (0, import_react56.forwardRef)(
7889
7964
  padding: 0,
7890
7965
  width: "var(--radix-dropdown-menu-trigger-width)"
7891
7966
  },
7892
- children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(import_themes42.Box, { px: "2", py: "2", children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Typo, { color: "gray", children: emptyMessage }) }) : /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
7967
+ children: filtered.length === 0 && emptyMessage !== null ? /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(import_themes42.Box, { px: "2", py: "2", children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Typo, { color: "gray", children: emptyMessage }) }) : /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
7893
7968
  "ul",
7894
7969
  {
7895
7970
  id: listboxId,
@@ -7898,7 +7973,7 @@ var AutocompleteTextfield = (0, import_react56.forwardRef)(
7898
7973
  style: { listStyle: "none", margin: 0, padding: 0 },
7899
7974
  children: filtered.map((option, index) => {
7900
7975
  const isHighlighted = index === highlightedIndex;
7901
- return /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(
7976
+ return /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(
7902
7977
  "li",
7903
7978
  {
7904
7979
  "aria-selected": isHighlighted,
@@ -7917,7 +7992,7 @@ var AutocompleteTextfield = (0, import_react56.forwardRef)(
7917
7992
  backgroundColor: isHighlighted ? "var(--accent-3)" : "transparent",
7918
7993
  transition: "background-color 80ms"
7919
7994
  },
7920
- children: /* @__PURE__ */ (0, import_jsx_runtime99.jsx)(Typo, { variant: "body", children: option.label })
7995
+ children: /* @__PURE__ */ (0, import_jsx_runtime101.jsx)(Typo, { variant: "body", children: option.label })
7921
7996
  },
7922
7997
  option.value
7923
7998
  );
@@ -7950,6 +8025,7 @@ AutocompleteTextfield.displayName = "AutocompleteTextfield";
7950
8025
  DynamicFormEditor,
7951
8026
  DynamicFormField,
7952
8027
  DynamicFormResponseItem,
8028
+ EmptyState,
7953
8029
  ExpandTable,
7954
8030
  ForceRefresh,
7955
8031
  GhostPost,