@tipp/ui 2.3.16 → 2.3.18

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 (743) hide show
  1. package/dist/app/index.cjs +435 -382
  2. package/dist/app/index.cjs.map +1 -1
  3. package/dist/app/index.js +101 -98
  4. package/dist/app/platform/coach-question-list.cjs +78 -34
  5. package/dist/app/platform/coach-question-list.cjs.map +1 -1
  6. package/dist/app/platform/coach-question-list.js +33 -32
  7. package/dist/app/platform/contents-card.cjs +110 -66
  8. package/dist/app/platform/contents-card.cjs.map +1 -1
  9. package/dist/app/platform/contents-card.js +33 -32
  10. package/dist/app/platform/curriculum-card.cjs +60 -16
  11. package/dist/app/platform/curriculum-card.cjs.map +1 -1
  12. package/dist/app/platform/curriculum-card.js +7 -6
  13. package/dist/app/platform/edit-coaching-time.cjs +182 -129
  14. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  15. package/dist/app/platform/edit-coaching-time.js +77 -74
  16. package/dist/app/platform/edit-service-type.cjs +170 -117
  17. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  18. package/dist/app/platform/edit-service-type.js +78 -75
  19. package/dist/app/platform/goal-manage-card-edit.cjs +181 -128
  20. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  21. package/dist/app/platform/goal-manage-card-edit.js +77 -74
  22. package/dist/app/platform/goal-manage-card-read.cjs +108 -64
  23. package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
  24. package/dist/app/platform/goal-manage-card-read.js +33 -32
  25. package/dist/app/platform/on-offline-radio-card.cjs +220 -167
  26. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  27. package/dist/app/platform/on-offline-radio-card.js +77 -74
  28. package/dist/app/platform/report-card.cjs +81 -37
  29. package/dist/app/platform/report-card.cjs.map +1 -1
  30. package/dist/app/platform/report-card.js +33 -32
  31. package/dist/app/platform/reservation-card.cjs +201 -148
  32. package/dist/app/platform/reservation-card.cjs.map +1 -1
  33. package/dist/app/platform/reservation-card.js +78 -75
  34. package/dist/app/platform/session-card.cjs +234 -181
  35. package/dist/app/platform/session-card.cjs.map +1 -1
  36. package/dist/app/platform/session-card.js +80 -77
  37. package/dist/app/platform/session-review-simple-read.cjs +79 -35
  38. package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
  39. package/dist/app/platform/session-review-simple-read.js +33 -32
  40. package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +112 -68
  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 +36 -35
  43. package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +89 -45
  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 +33 -32
  46. package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +92 -48
  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 +33 -32
  49. package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +78 -34
  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 +33 -32
  52. package/dist/app/platform/userInfos/session-user-info-detail.cjs +88 -44
  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 +33 -32
  55. package/dist/app/platform/userInfos/utils.cjs +80 -36
  56. package/dist/app/platform/userInfos/utils.cjs.map +1 -1
  57. package/dist/app/platform/userInfos/utils.js +32 -31
  58. package/dist/atoms/bullet-text.js +2 -2
  59. package/dist/atoms/dialog.js +2 -2
  60. package/dist/atoms/field-error-wrapper.js +2 -2
  61. package/dist/atoms/index.cjs +103 -59
  62. package/dist/atoms/index.cjs.map +1 -1
  63. package/dist/atoms/index.js +64 -63
  64. package/dist/atoms/list.js +2 -2
  65. package/dist/atoms/pagination.cjs +59 -15
  66. package/dist/atoms/pagination.cjs.map +1 -1
  67. package/dist/atoms/pagination.js +5 -4
  68. package/dist/chunk-2CY3V3B4.js +69 -0
  69. package/dist/chunk-2CY3V3B4.js.map +1 -0
  70. package/dist/chunk-2EBAEQXE.js +87 -0
  71. package/dist/chunk-2EBAEQXE.js.map +1 -0
  72. package/dist/chunk-2ISIAPFS.js +113 -0
  73. package/dist/chunk-2ISIAPFS.js.map +1 -0
  74. package/dist/chunk-2O2CKXEZ.js +69 -0
  75. package/dist/chunk-2O2CKXEZ.js.map +1 -0
  76. package/dist/chunk-2ROIJPZE.js +98 -0
  77. package/dist/chunk-2ROIJPZE.js.map +1 -0
  78. package/dist/chunk-2VFMVVWT.js +63 -0
  79. package/dist/chunk-2VFMVVWT.js.map +1 -0
  80. package/dist/chunk-2XNMU67K.js +69 -0
  81. package/dist/chunk-2XNMU67K.js.map +1 -0
  82. package/dist/chunk-2YBJBKBB.js +82 -0
  83. package/dist/chunk-2YBJBKBB.js.map +1 -0
  84. package/dist/chunk-33TIGUGC.js +54 -0
  85. package/dist/chunk-33TIGUGC.js.map +1 -0
  86. package/dist/chunk-367ZYIOP.js +89 -0
  87. package/dist/chunk-367ZYIOP.js.map +1 -0
  88. package/dist/chunk-3A45CD76.js +196 -0
  89. package/dist/chunk-3A45CD76.js.map +1 -0
  90. package/dist/chunk-3A56IWTP.js +87 -0
  91. package/dist/chunk-3A56IWTP.js.map +1 -0
  92. package/dist/chunk-3FO4SXLV.js +89 -0
  93. package/dist/chunk-3FO4SXLV.js.map +1 -0
  94. package/dist/chunk-3FVLOOP5.js +29 -0
  95. package/dist/chunk-3FVLOOP5.js.map +1 -0
  96. package/dist/chunk-3HXEPDZB.js +100 -0
  97. package/dist/chunk-3HXEPDZB.js.map +1 -0
  98. package/dist/chunk-3J4UWGLD.js +98 -0
  99. package/dist/chunk-3J4UWGLD.js.map +1 -0
  100. package/dist/chunk-3LTTZSUP.js +49 -0
  101. package/dist/chunk-3LTTZSUP.js.map +1 -0
  102. package/dist/chunk-433LEYGO.js +87 -0
  103. package/dist/chunk-433LEYGO.js.map +1 -0
  104. package/dist/chunk-43ZKDWEH.js +29 -0
  105. package/dist/chunk-43ZKDWEH.js.map +1 -0
  106. package/dist/chunk-47HJ6LKL.js +196 -0
  107. package/dist/chunk-47HJ6LKL.js.map +1 -0
  108. package/dist/chunk-4DCGE5IL.js +89 -0
  109. package/dist/chunk-4DCGE5IL.js.map +1 -0
  110. package/dist/chunk-4JYSUW7I.js +151 -0
  111. package/dist/chunk-4JYSUW7I.js.map +1 -0
  112. package/dist/chunk-4OWD5ASM.js +51 -0
  113. package/dist/chunk-4OWD5ASM.js.map +1 -0
  114. package/dist/chunk-4PYFMD24.js +51 -0
  115. package/dist/chunk-4PYFMD24.js.map +1 -0
  116. package/dist/chunk-4QHXYLE4.js +151 -0
  117. package/dist/chunk-4QHXYLE4.js.map +1 -0
  118. package/dist/chunk-5PMDBUEZ.js +69 -0
  119. package/dist/chunk-5PMDBUEZ.js.map +1 -0
  120. package/dist/chunk-5R7XRWRW.js +155 -0
  121. package/dist/chunk-5R7XRWRW.js.map +1 -0
  122. package/dist/chunk-5TPNUG3Y.js +63 -0
  123. package/dist/chunk-5TPNUG3Y.js.map +1 -0
  124. package/dist/chunk-5TXKQPXT.js +49 -0
  125. package/dist/chunk-5TXKQPXT.js.map +1 -0
  126. package/dist/chunk-5V6MQUTB.js +49 -0
  127. package/dist/chunk-5V6MQUTB.js.map +1 -0
  128. package/dist/chunk-5ZA5HGOV.js +76 -0
  129. package/dist/chunk-5ZA5HGOV.js.map +1 -0
  130. package/dist/chunk-64JB2NO2.js +51 -0
  131. package/dist/chunk-64JB2NO2.js.map +1 -0
  132. package/dist/chunk-66YQSIUZ.js +107 -0
  133. package/dist/chunk-66YQSIUZ.js.map +1 -0
  134. package/dist/chunk-673WEFQW.js +89 -0
  135. package/dist/chunk-673WEFQW.js.map +1 -0
  136. package/dist/chunk-6AN7BUCG.js +69 -0
  137. package/dist/chunk-6AN7BUCG.js.map +1 -0
  138. package/dist/chunk-6DSXTUM4.js +63 -0
  139. package/dist/chunk-6DSXTUM4.js.map +1 -0
  140. package/dist/chunk-6F63WEDJ.js +63 -0
  141. package/dist/chunk-6F63WEDJ.js.map +1 -0
  142. package/dist/chunk-6F7SSDDP.js +89 -0
  143. package/dist/chunk-6F7SSDDP.js.map +1 -0
  144. package/dist/chunk-6FAIGS23.js +109 -0
  145. package/dist/chunk-6FAIGS23.js.map +1 -0
  146. package/dist/chunk-6JDYIMEZ.js +89 -0
  147. package/dist/chunk-6JDYIMEZ.js.map +1 -0
  148. package/dist/chunk-6KBRQPRR.js +69 -0
  149. package/dist/chunk-6KBRQPRR.js.map +1 -0
  150. package/dist/chunk-6RW7P4WL.js +101 -0
  151. package/dist/chunk-6RW7P4WL.js.map +1 -0
  152. package/dist/chunk-6UCGUA3B.js +30 -0
  153. package/dist/chunk-6UCGUA3B.js.map +1 -0
  154. package/dist/chunk-7BTOFCXZ.js +43 -0
  155. package/dist/chunk-7BTOFCXZ.js.map +1 -0
  156. package/dist/chunk-7I7PZF5L.js +37 -0
  157. package/dist/chunk-7I7PZF5L.js.map +1 -0
  158. package/dist/chunk-7IFK5DP5.js +69 -0
  159. package/dist/chunk-7IFK5DP5.js.map +1 -0
  160. package/dist/chunk-7L2LYGFN.js +63 -0
  161. package/dist/chunk-7L2LYGFN.js.map +1 -0
  162. package/dist/chunk-7L4G2RWC.js +87 -0
  163. package/dist/chunk-7L4G2RWC.js.map +1 -0
  164. package/dist/chunk-7LENR3ZR.js +89 -0
  165. package/dist/chunk-7LENR3ZR.js.map +1 -0
  166. package/dist/chunk-7QDV6YRH.js +196 -0
  167. package/dist/chunk-7QDV6YRH.js.map +1 -0
  168. package/dist/chunk-7RCPFSEJ.js +196 -0
  169. package/dist/chunk-7RCPFSEJ.js.map +1 -0
  170. package/dist/chunk-7VFY7CAB.js +51 -0
  171. package/dist/chunk-7VFY7CAB.js.map +1 -0
  172. package/dist/chunk-7XG4CK7Y.js +89 -0
  173. package/dist/chunk-7XG4CK7Y.js.map +1 -0
  174. package/dist/chunk-7ZQE47OG.js +37 -0
  175. package/dist/chunk-7ZQE47OG.js.map +1 -0
  176. package/dist/chunk-A5VFSD3T.js +129 -0
  177. package/dist/chunk-A5VFSD3T.js.map +1 -0
  178. package/dist/chunk-AE7SVVFB.js +98 -0
  179. package/dist/chunk-AE7SVVFB.js.map +1 -0
  180. package/dist/chunk-AOUSSOPS.js +101 -0
  181. package/dist/chunk-AOUSSOPS.js.map +1 -0
  182. package/dist/chunk-ASA3ASPM.js +196 -0
  183. package/dist/chunk-ASA3ASPM.js.map +1 -0
  184. package/dist/chunk-ATVRBFI6.js +151 -0
  185. package/dist/chunk-ATVRBFI6.js.map +1 -0
  186. package/dist/chunk-AVXNS5EF.js +43 -0
  187. package/dist/chunk-AVXNS5EF.js.map +1 -0
  188. package/dist/chunk-AZ2ZKABM.js +70 -0
  189. package/dist/chunk-AZ2ZKABM.js.map +1 -0
  190. package/dist/chunk-AZXSA373.js +43 -0
  191. package/dist/chunk-AZXSA373.js.map +1 -0
  192. package/dist/chunk-B554VE2V.js +69 -0
  193. package/dist/chunk-B554VE2V.js.map +1 -0
  194. package/dist/chunk-B5U2JBLX.js +87 -0
  195. package/dist/chunk-B5U2JBLX.js.map +1 -0
  196. package/dist/chunk-BDJUL3JV.js +50 -0
  197. package/dist/chunk-BDJUL3JV.js.map +1 -0
  198. package/dist/chunk-BI5GANUG.js +75 -0
  199. package/dist/chunk-BI5GANUG.js.map +1 -0
  200. package/dist/chunk-BJKYVO2J.js +70 -0
  201. package/dist/chunk-BJKYVO2J.js.map +1 -0
  202. package/dist/chunk-BV3ZL4VC.js +196 -0
  203. package/dist/chunk-BV3ZL4VC.js.map +1 -0
  204. package/dist/chunk-BWWSZLTV.js +43 -0
  205. package/dist/chunk-BWWSZLTV.js.map +1 -0
  206. package/dist/chunk-C5MM3PUD.js +89 -0
  207. package/dist/chunk-C5MM3PUD.js.map +1 -0
  208. package/dist/chunk-C5YDIFWN.js +129 -0
  209. package/dist/chunk-C5YDIFWN.js.map +1 -0
  210. package/dist/chunk-C6GXUQMB.js +196 -0
  211. package/dist/chunk-C6GXUQMB.js.map +1 -0
  212. package/dist/chunk-C6LHM344.js +151 -0
  213. package/dist/chunk-C6LHM344.js.map +1 -0
  214. package/dist/chunk-CC4LSJRN.js +144 -0
  215. package/dist/chunk-CC4LSJRN.js.map +1 -0
  216. package/dist/chunk-CGSZSM7C.js +89 -0
  217. package/dist/chunk-CGSZSM7C.js.map +1 -0
  218. package/dist/chunk-CIQ7ELE6.js +151 -0
  219. package/dist/chunk-CIQ7ELE6.js.map +1 -0
  220. package/dist/chunk-CIUVO5EU.js +63 -0
  221. package/dist/chunk-CIUVO5EU.js.map +1 -0
  222. package/dist/chunk-CLVBL2WX.js +37 -0
  223. package/dist/chunk-CLVBL2WX.js.map +1 -0
  224. package/dist/chunk-CNW3YEAK.js +43 -0
  225. package/dist/chunk-CNW3YEAK.js.map +1 -0
  226. package/dist/chunk-CSLHE7O6.js +196 -0
  227. package/dist/chunk-CSLHE7O6.js.map +1 -0
  228. package/dist/chunk-CTCLKPUM.js +50 -0
  229. package/dist/chunk-CTCLKPUM.js.map +1 -0
  230. package/dist/chunk-CWN3GVAR.js +69 -0
  231. package/dist/chunk-CWN3GVAR.js.map +1 -0
  232. package/dist/chunk-D7UF2EFC.js +151 -0
  233. package/dist/chunk-D7UF2EFC.js.map +1 -0
  234. package/dist/chunk-DCYZ6P5U.js +69 -0
  235. package/dist/chunk-DCYZ6P5U.js.map +1 -0
  236. package/dist/chunk-DEAVEZQM.js +1 -0
  237. package/dist/chunk-DEAVEZQM.js.map +1 -0
  238. package/dist/chunk-DETEQXCO.js +98 -0
  239. package/dist/chunk-DETEQXCO.js.map +1 -0
  240. package/dist/chunk-DINM4XGN.js +98 -0
  241. package/dist/chunk-DINM4XGN.js.map +1 -0
  242. package/dist/chunk-DIXAKAOM.js +196 -0
  243. package/dist/chunk-DIXAKAOM.js.map +1 -0
  244. package/dist/chunk-DXHCZ3GI.js +69 -0
  245. package/dist/chunk-DXHCZ3GI.js.map +1 -0
  246. package/dist/chunk-DZN6YSGV.js +49 -0
  247. package/dist/chunk-DZN6YSGV.js.map +1 -0
  248. package/dist/chunk-E3K4OMCC.js +101 -0
  249. package/dist/chunk-E3K4OMCC.js.map +1 -0
  250. package/dist/chunk-EKMOO3DM.js +98 -0
  251. package/dist/chunk-EKMOO3DM.js.map +1 -0
  252. package/dist/chunk-ENVZEWF6.js +98 -0
  253. package/dist/chunk-ENVZEWF6.js.map +1 -0
  254. package/dist/chunk-F4FDZOXM.js +63 -0
  255. package/dist/chunk-F4FDZOXM.js.map +1 -0
  256. package/dist/chunk-FSJP6HQY.js +49 -0
  257. package/dist/chunk-FSJP6HQY.js.map +1 -0
  258. package/dist/chunk-FVA7DTNU.js +151 -0
  259. package/dist/chunk-FVA7DTNU.js.map +1 -0
  260. package/dist/chunk-FVAZZ46M.js +69 -0
  261. package/dist/chunk-FVAZZ46M.js.map +1 -0
  262. package/dist/chunk-FVNNXMCQ.js +43 -0
  263. package/dist/chunk-FVNNXMCQ.js.map +1 -0
  264. package/dist/chunk-FYF4AUTB.js +29 -0
  265. package/dist/chunk-FYF4AUTB.js.map +1 -0
  266. package/dist/chunk-GGPI6PXW.js +29 -0
  267. package/dist/chunk-GGPI6PXW.js.map +1 -0
  268. package/dist/chunk-GKOAGSC6.js +69 -0
  269. package/dist/chunk-GKOAGSC6.js.map +1 -0
  270. package/dist/chunk-GLRPHCDU.js +196 -0
  271. package/dist/chunk-GLRPHCDU.js.map +1 -0
  272. package/dist/chunk-GRENUZZJ.js +118 -0
  273. package/dist/chunk-GRENUZZJ.js.map +1 -0
  274. package/dist/chunk-GVXAEMU7.js +37 -0
  275. package/dist/chunk-GVXAEMU7.js.map +1 -0
  276. package/dist/chunk-GXG26SHU.js +101 -0
  277. package/dist/chunk-GXG26SHU.js.map +1 -0
  278. package/dist/chunk-H6UISOMV.js +50 -0
  279. package/dist/chunk-H6UISOMV.js.map +1 -0
  280. package/dist/chunk-HN7RU3Q2.js +49 -0
  281. package/dist/chunk-HN7RU3Q2.js.map +1 -0
  282. package/dist/chunk-HWT72ESD.js +37 -0
  283. package/dist/chunk-HWT72ESD.js.map +1 -0
  284. package/dist/chunk-HZ5LNRVL.js +101 -0
  285. package/dist/chunk-HZ5LNRVL.js.map +1 -0
  286. package/dist/chunk-HZXF2XCN.js +196 -0
  287. package/dist/chunk-HZXF2XCN.js.map +1 -0
  288. package/dist/chunk-I25D6CHU.js +50 -0
  289. package/dist/chunk-I25D6CHU.js.map +1 -0
  290. package/dist/chunk-IF4Q5NV4.js +129 -0
  291. package/dist/chunk-IF4Q5NV4.js.map +1 -0
  292. package/dist/chunk-IYVNZW3B.js +196 -0
  293. package/dist/chunk-IYVNZW3B.js.map +1 -0
  294. package/dist/chunk-IZDZTVFJ.js +218 -0
  295. package/dist/chunk-IZDZTVFJ.js.map +1 -0
  296. package/dist/chunk-J2PWMTSF.js +69 -0
  297. package/dist/chunk-J2PWMTSF.js.map +1 -0
  298. package/dist/chunk-J6D5FMYR.js +75 -0
  299. package/dist/chunk-J6D5FMYR.js.map +1 -0
  300. package/dist/chunk-JAH4J4JH.js +87 -0
  301. package/dist/chunk-JAH4J4JH.js.map +1 -0
  302. package/dist/chunk-JFJ3N4V5.js +37 -0
  303. package/dist/chunk-JFJ3N4V5.js.map +1 -0
  304. package/dist/chunk-JGM5HN2L.js +69 -0
  305. package/dist/chunk-JGM5HN2L.js.map +1 -0
  306. package/dist/chunk-JJRJJOA7.js +89 -0
  307. package/dist/chunk-JJRJJOA7.js.map +1 -0
  308. package/dist/chunk-K2NRH6DC.js +69 -0
  309. package/dist/chunk-K2NRH6DC.js.map +1 -0
  310. package/dist/chunk-KIQLFTMO.js +196 -0
  311. package/dist/chunk-KIQLFTMO.js.map +1 -0
  312. package/dist/chunk-KJC6WEFI.js +75 -0
  313. package/dist/chunk-KJC6WEFI.js.map +1 -0
  314. package/dist/chunk-KKL4KSVD.js +196 -0
  315. package/dist/chunk-KKL4KSVD.js.map +1 -0
  316. package/dist/chunk-KKURA5QN.js +196 -0
  317. package/dist/chunk-KKURA5QN.js.map +1 -0
  318. package/dist/chunk-KM74N3OC.js +69 -0
  319. package/dist/chunk-KM74N3OC.js.map +1 -0
  320. package/dist/chunk-KMVSJT6Y.js +101 -0
  321. package/dist/chunk-KMVSJT6Y.js.map +1 -0
  322. package/dist/chunk-KUIQY5BF.js +196 -0
  323. package/dist/chunk-KUIQY5BF.js.map +1 -0
  324. package/dist/chunk-KUX6JRHA.js +29 -0
  325. package/dist/chunk-KUX6JRHA.js.map +1 -0
  326. package/dist/chunk-LEIPUJCQ.js +75 -0
  327. package/dist/chunk-LEIPUJCQ.js.map +1 -0
  328. package/dist/chunk-LIL4GUDU.js +51 -0
  329. package/dist/chunk-LIL4GUDU.js.map +1 -0
  330. package/dist/chunk-LIV5LHHZ.js +29 -0
  331. package/dist/chunk-LIV5LHHZ.js.map +1 -0
  332. package/dist/chunk-LJO2266G.js +64 -0
  333. package/dist/chunk-LJO2266G.js.map +1 -0
  334. package/dist/chunk-LPOX4NKE.js +29 -0
  335. package/dist/chunk-LPOX4NKE.js.map +1 -0
  336. package/dist/chunk-LT5C6QT7.js +29 -0
  337. package/dist/chunk-LT5C6QT7.js.map +1 -0
  338. package/dist/chunk-M2DLW32Z.js +77 -0
  339. package/dist/chunk-M2DLW32Z.js.map +1 -0
  340. package/dist/chunk-MA7NROB2.js +101 -0
  341. package/dist/chunk-MA7NROB2.js.map +1 -0
  342. package/dist/chunk-MIFCA3C4.js +43 -0
  343. package/dist/chunk-MIFCA3C4.js.map +1 -0
  344. package/dist/chunk-MKPHOH6Y.js +151 -0
  345. package/dist/chunk-MKPHOH6Y.js.map +1 -0
  346. package/dist/chunk-MV5LFNUD.js +113 -0
  347. package/dist/chunk-MV5LFNUD.js.map +1 -0
  348. package/dist/chunk-MXMJQTGJ.js +49 -0
  349. package/dist/chunk-MXMJQTGJ.js.map +1 -0
  350. package/dist/chunk-MZ5HA7UD.js +51 -0
  351. package/dist/chunk-MZ5HA7UD.js.map +1 -0
  352. package/dist/chunk-N3CYLSGV.js +69 -0
  353. package/dist/chunk-N3CYLSGV.js.map +1 -0
  354. package/dist/chunk-N662YJXY.js +69 -0
  355. package/dist/chunk-N662YJXY.js.map +1 -0
  356. package/dist/chunk-N6LOS7L5.js +89 -0
  357. package/dist/chunk-N6LOS7L5.js.map +1 -0
  358. package/dist/chunk-NAPAD66S.js +87 -0
  359. package/dist/chunk-NAPAD66S.js.map +1 -0
  360. package/dist/chunk-NCCAFJJR.js +83 -0
  361. package/dist/chunk-NCCAFJJR.js.map +1 -0
  362. package/dist/chunk-NFI7WDJS.js +50 -0
  363. package/dist/chunk-NFI7WDJS.js.map +1 -0
  364. package/dist/chunk-NKJNVAAZ.js +98 -0
  365. package/dist/chunk-NKJNVAAZ.js.map +1 -0
  366. package/dist/chunk-NSDB3FXC.js +145 -0
  367. package/dist/chunk-NSDB3FXC.js.map +1 -0
  368. package/dist/chunk-NTJLECYY.js +37 -0
  369. package/dist/chunk-NTJLECYY.js.map +1 -0
  370. package/dist/chunk-NTWHDYJV.js +89 -0
  371. package/dist/chunk-NTWHDYJV.js.map +1 -0
  372. package/dist/chunk-NVQSH733.js +51 -0
  373. package/dist/chunk-NVQSH733.js.map +1 -0
  374. package/dist/chunk-OD3RHKDX.js +69 -0
  375. package/dist/chunk-OD3RHKDX.js.map +1 -0
  376. package/dist/chunk-ODHH7CFR.js +196 -0
  377. package/dist/chunk-ODHH7CFR.js.map +1 -0
  378. package/dist/chunk-ODWBZCJ3.js +69 -0
  379. package/dist/chunk-ODWBZCJ3.js.map +1 -0
  380. package/dist/chunk-OILH5J7Q.js +101 -0
  381. package/dist/chunk-OILH5J7Q.js.map +1 -0
  382. package/dist/chunk-OITL4AZ5.js +29 -0
  383. package/dist/chunk-OITL4AZ5.js.map +1 -0
  384. package/dist/chunk-OX5XYAZM.js +37 -0
  385. package/dist/chunk-OX5XYAZM.js.map +1 -0
  386. package/dist/chunk-OXH6M7PN.js +113 -0
  387. package/dist/chunk-OXH6M7PN.js.map +1 -0
  388. package/dist/chunk-P76FTCUF.js +64 -0
  389. package/dist/chunk-P76FTCUF.js.map +1 -0
  390. package/dist/chunk-PAS4QBXU.js +89 -0
  391. package/dist/chunk-PAS4QBXU.js.map +1 -0
  392. package/dist/chunk-PEFP2QUH.js +76 -0
  393. package/dist/chunk-PEFP2QUH.js.map +1 -0
  394. package/dist/chunk-PF3LVPOZ.js +87 -0
  395. package/dist/chunk-PF3LVPOZ.js.map +1 -0
  396. package/dist/chunk-PTTZYXYN.js +112 -0
  397. package/dist/chunk-PTTZYXYN.js.map +1 -0
  398. package/dist/chunk-PUNFTQ4J.js +51 -0
  399. package/dist/chunk-PUNFTQ4J.js.map +1 -0
  400. package/dist/chunk-PWF22OOK.js +64 -0
  401. package/dist/chunk-PWF22OOK.js.map +1 -0
  402. package/dist/chunk-PWYQHCEU.js +151 -0
  403. package/dist/chunk-PWYQHCEU.js.map +1 -0
  404. package/dist/chunk-Q7AMZ7ES.js +70 -0
  405. package/dist/chunk-Q7AMZ7ES.js.map +1 -0
  406. package/dist/chunk-QAX3474A.js +98 -0
  407. package/dist/chunk-QAX3474A.js.map +1 -0
  408. package/dist/chunk-QBX3N5H3.js +87 -0
  409. package/dist/chunk-QBX3N5H3.js.map +1 -0
  410. package/dist/chunk-QCXP7DD2.js +101 -0
  411. package/dist/chunk-QCXP7DD2.js.map +1 -0
  412. package/dist/chunk-QRVC5CUS.js +89 -0
  413. package/dist/chunk-QRVC5CUS.js.map +1 -0
  414. package/dist/chunk-QU5M7KZM.js +50 -0
  415. package/dist/chunk-QU5M7KZM.js.map +1 -0
  416. package/dist/chunk-QVWUOHQL.js +76 -0
  417. package/dist/chunk-QVWUOHQL.js.map +1 -0
  418. package/dist/chunk-R3CV4M6X.js +89 -0
  419. package/dist/chunk-R3CV4M6X.js.map +1 -0
  420. package/dist/chunk-R3WM6HV6.js +43 -0
  421. package/dist/chunk-R3WM6HV6.js.map +1 -0
  422. package/dist/chunk-RWK6HLWM.js +75 -0
  423. package/dist/chunk-RWK6HLWM.js.map +1 -0
  424. package/dist/chunk-RYEEDHML.js +64 -0
  425. package/dist/chunk-RYEEDHML.js.map +1 -0
  426. package/dist/chunk-RYL2JHLX.js +63 -0
  427. package/dist/chunk-RYL2JHLX.js.map +1 -0
  428. package/dist/chunk-S2DCF4UO.js +151 -0
  429. package/dist/chunk-S2DCF4UO.js.map +1 -0
  430. package/dist/chunk-S3SPOFAV.js +101 -0
  431. package/dist/chunk-S3SPOFAV.js.map +1 -0
  432. package/dist/chunk-SBN6CBOQ.js +43 -0
  433. package/dist/chunk-SBN6CBOQ.js.map +1 -0
  434. package/dist/chunk-SEKTRCZY.js +69 -0
  435. package/dist/chunk-SEKTRCZY.js.map +1 -0
  436. package/dist/chunk-SGQUFHFZ.js +98 -0
  437. package/dist/chunk-SGQUFHFZ.js.map +1 -0
  438. package/dist/chunk-SI4Y7NUG.js +54 -0
  439. package/dist/chunk-SI4Y7NUG.js.map +1 -0
  440. package/dist/chunk-SOZOKRPG.js +37 -0
  441. package/dist/chunk-SOZOKRPG.js.map +1 -0
  442. package/dist/chunk-SQIJY72J.js +69 -0
  443. package/dist/chunk-SQIJY72J.js.map +1 -0
  444. package/dist/chunk-SXGEOZKS.js +69 -0
  445. package/dist/chunk-SXGEOZKS.js.map +1 -0
  446. package/dist/chunk-SZ73GYOE.js +98 -0
  447. package/dist/chunk-SZ73GYOE.js.map +1 -0
  448. package/dist/chunk-TDETCBEC.js +63 -0
  449. package/dist/chunk-TDETCBEC.js.map +1 -0
  450. package/dist/chunk-TF5J7FEI.js +87 -0
  451. package/dist/chunk-TF5J7FEI.js.map +1 -0
  452. package/dist/chunk-TLN5DVTY.js +69 -0
  453. package/dist/chunk-TLN5DVTY.js.map +1 -0
  454. package/dist/chunk-TQ5AJKUH.js +64 -0
  455. package/dist/chunk-TQ5AJKUH.js.map +1 -0
  456. package/dist/chunk-TTXQOCS6.js +43 -0
  457. package/dist/chunk-TTXQOCS6.js.map +1 -0
  458. package/dist/chunk-U6HYOR36.js +51 -0
  459. package/dist/chunk-U6HYOR36.js.map +1 -0
  460. package/dist/chunk-UE3FIEY3.js +69 -0
  461. package/dist/chunk-UE3FIEY3.js.map +1 -0
  462. package/dist/chunk-UGCYMUQ4.js +89 -0
  463. package/dist/chunk-UGCYMUQ4.js.map +1 -0
  464. package/dist/chunk-UGWOWCEK.js +43 -0
  465. package/dist/chunk-UGWOWCEK.js.map +1 -0
  466. package/dist/chunk-UK7J2BOO.js +83 -0
  467. package/dist/chunk-UK7J2BOO.js.map +1 -0
  468. package/dist/chunk-ULFPO4H7.js +196 -0
  469. package/dist/chunk-ULFPO4H7.js.map +1 -0
  470. package/dist/chunk-UOYMF4WS.js +107 -0
  471. package/dist/chunk-UOYMF4WS.js.map +1 -0
  472. package/dist/chunk-UUB73FYC.js +49 -0
  473. package/dist/chunk-UUB73FYC.js.map +1 -0
  474. package/dist/chunk-UUHY3PR3.js +98 -0
  475. package/dist/chunk-UUHY3PR3.js.map +1 -0
  476. package/dist/chunk-V4GNPLLT.js +69 -0
  477. package/dist/chunk-V4GNPLLT.js.map +1 -0
  478. package/dist/chunk-V6RS23EX.js +29 -0
  479. package/dist/chunk-V6RS23EX.js.map +1 -0
  480. package/dist/chunk-V6XWXDT4.js +37 -0
  481. package/dist/chunk-V6XWXDT4.js.map +1 -0
  482. package/dist/chunk-VD7AQ7HK.js +1 -0
  483. package/dist/chunk-VD7AQ7HK.js.map +1 -0
  484. package/dist/chunk-VKH2GRVW.js +51 -0
  485. package/dist/chunk-VKH2GRVW.js.map +1 -0
  486. package/dist/chunk-VKMRA55P.js +144 -0
  487. package/dist/chunk-VKMRA55P.js.map +1 -0
  488. package/dist/chunk-VLGR5PZX.js +1 -0
  489. package/dist/chunk-VLGR5PZX.js.map +1 -0
  490. package/dist/chunk-VNZHG4SW.js +87 -0
  491. package/dist/chunk-VNZHG4SW.js.map +1 -0
  492. package/dist/chunk-VOYMZLUT.js +63 -0
  493. package/dist/chunk-VOYMZLUT.js.map +1 -0
  494. package/dist/chunk-VQGBP3JY.js +50 -0
  495. package/dist/chunk-VQGBP3JY.js.map +1 -0
  496. package/dist/chunk-VQIFL36B.js +64 -0
  497. package/dist/chunk-VQIFL36B.js.map +1 -0
  498. package/dist/chunk-VURIR6ZF.js +49 -0
  499. package/dist/chunk-VURIR6ZF.js.map +1 -0
  500. package/dist/chunk-VVIP5637.js +69 -0
  501. package/dist/chunk-VVIP5637.js.map +1 -0
  502. package/dist/chunk-W7TBPRHG.js +49 -0
  503. package/dist/chunk-W7TBPRHG.js.map +1 -0
  504. package/dist/chunk-W7XWZ6SN.js +101 -0
  505. package/dist/chunk-W7XWZ6SN.js.map +1 -0
  506. package/dist/chunk-WCGSHMNB.js +101 -0
  507. package/dist/chunk-WCGSHMNB.js.map +1 -0
  508. package/dist/chunk-WL7ISOGQ.js +87 -0
  509. package/dist/chunk-WL7ISOGQ.js.map +1 -0
  510. package/dist/chunk-WLWX7BLC.js +100 -0
  511. package/dist/chunk-WLWX7BLC.js.map +1 -0
  512. package/dist/chunk-WV4WWBKN.js +69 -0
  513. package/dist/chunk-WV4WWBKN.js.map +1 -0
  514. package/dist/chunk-WXVBUIER.js +151 -0
  515. package/dist/chunk-WXVBUIER.js.map +1 -0
  516. package/dist/chunk-X3J2UNWS.js +69 -0
  517. package/dist/chunk-X3J2UNWS.js.map +1 -0
  518. package/dist/chunk-X67ER3JU.js +69 -0
  519. package/dist/chunk-X67ER3JU.js.map +1 -0
  520. package/dist/chunk-X732NUWY.js +50 -0
  521. package/dist/chunk-X732NUWY.js.map +1 -0
  522. package/dist/chunk-X7QZ46BZ.js +63 -0
  523. package/dist/chunk-X7QZ46BZ.js.map +1 -0
  524. package/dist/chunk-XBQFTL5A.js +63 -0
  525. package/dist/chunk-XBQFTL5A.js.map +1 -0
  526. package/dist/chunk-XDPD6IWK.js +89 -0
  527. package/dist/chunk-XDPD6IWK.js.map +1 -0
  528. package/dist/chunk-XEO5X47M.js +100 -0
  529. package/dist/chunk-XEO5X47M.js.map +1 -0
  530. package/dist/chunk-XKWY6ZQM.js +196 -0
  531. package/dist/chunk-XKWY6ZQM.js.map +1 -0
  532. package/dist/chunk-XPLUHKTF.js +69 -0
  533. package/dist/chunk-XPLUHKTF.js.map +1 -0
  534. package/dist/chunk-XW3D3GLY.js +113 -0
  535. package/dist/chunk-XW3D3GLY.js.map +1 -0
  536. package/dist/chunk-XXTLEX6M.js +63 -0
  537. package/dist/chunk-XXTLEX6M.js.map +1 -0
  538. package/dist/chunk-XYREOBSI.js +113 -0
  539. package/dist/chunk-XYREOBSI.js.map +1 -0
  540. package/dist/chunk-Y6BK7ABB.js +1 -0
  541. package/dist/chunk-Y6BK7ABB.js.map +1 -0
  542. package/dist/chunk-Y6J3XHWD.js +63 -0
  543. package/dist/chunk-Y6J3XHWD.js.map +1 -0
  544. package/dist/chunk-Y7SJF3Y3.js +193 -0
  545. package/dist/chunk-Y7SJF3Y3.js.map +1 -0
  546. package/dist/chunk-YE3UDMTZ.js +151 -0
  547. package/dist/chunk-YE3UDMTZ.js.map +1 -0
  548. package/dist/chunk-YJAL2LL6.js +49 -0
  549. package/dist/chunk-YJAL2LL6.js.map +1 -0
  550. package/dist/chunk-YO7TEJ74.js +63 -0
  551. package/dist/chunk-YO7TEJ74.js.map +1 -0
  552. package/dist/chunk-YTOZKF27.js +37 -0
  553. package/dist/chunk-YTOZKF27.js.map +1 -0
  554. package/dist/chunk-YVRTZDZ4.js +37 -0
  555. package/dist/chunk-YVRTZDZ4.js.map +1 -0
  556. package/dist/chunk-YWTFVF5S.js +98 -0
  557. package/dist/chunk-YWTFVF5S.js.map +1 -0
  558. package/dist/chunk-YZZCJCCC.js +51 -0
  559. package/dist/chunk-YZZCJCCC.js.map +1 -0
  560. package/dist/chunk-Z2NFJG2U.js +51 -0
  561. package/dist/chunk-Z2NFJG2U.js.map +1 -0
  562. package/dist/chunk-Z2XF3EO2.js +75 -0
  563. package/dist/chunk-Z2XF3EO2.js.map +1 -0
  564. package/dist/chunk-ZFEXH655.js +144 -0
  565. package/dist/chunk-ZFEXH655.js.map +1 -0
  566. package/dist/chunk-ZRMH2UZE.js +29 -0
  567. package/dist/chunk-ZRMH2UZE.js.map +1 -0
  568. package/dist/chunk-ZWEBBDKU.js +69 -0
  569. package/dist/chunk-ZWEBBDKU.js.map +1 -0
  570. package/dist/context/index.js +5 -5
  571. package/dist/icon.cjs +46 -0
  572. package/dist/icon.cjs.map +1 -1
  573. package/dist/icon.d.cts +1 -0
  574. package/dist/icon.d.ts +1 -0
  575. package/dist/icon.js +5 -1
  576. package/dist/icons/circle-file.cjs +111 -0
  577. package/dist/icons/circle-file.cjs.map +1 -0
  578. package/dist/icons/circle-file.d.cts +6 -0
  579. package/dist/icons/circle-file.d.ts +6 -0
  580. package/dist/icons/circle-file.js +8 -0
  581. package/dist/icons/circle-file.js.map +1 -0
  582. package/dist/icons/index.cjs +46 -0
  583. package/dist/icons/index.cjs.map +1 -1
  584. package/dist/icons/index.d.cts +1 -0
  585. package/dist/icons/index.d.ts +1 -0
  586. package/dist/icons/index.js +5 -1
  587. package/dist/index.cjs +1016 -753
  588. package/dist/index.cjs.map +1 -1
  589. package/dist/index.d.cts +4 -1
  590. package/dist/index.d.ts +4 -1
  591. package/dist/index.js +166 -156
  592. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs +112 -65
  593. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.cjs.map +1 -1
  594. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +21 -20
  595. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs +54 -7
  596. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.cjs.map +1 -1
  597. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +7 -6
  598. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs +92 -45
  599. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.cjs.map +1 -1
  600. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +14 -13
  601. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs +53 -9
  602. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.cjs.map +1 -1
  603. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +4 -3
  604. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.js +3 -3
  605. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.js +2 -2
  606. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs +66 -19
  607. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.cjs.map +1 -1
  608. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +9 -8
  609. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs +58 -11
  610. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.cjs.map +1 -1
  611. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +8 -7
  612. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs +58 -11
  613. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.cjs.map +1 -1
  614. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +8 -7
  615. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs +65 -18
  616. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.cjs.map +1 -1
  617. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +8 -7
  618. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs +58 -14
  619. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.cjs.map +1 -1
  620. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +6 -5
  621. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs +168 -121
  622. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.cjs.map +1 -1
  623. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +24 -23
  624. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs +70 -23
  625. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.cjs.map +1 -1
  626. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +9 -8
  627. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs +51 -7
  628. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.cjs.map +1 -1
  629. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +6 -5
  630. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.cjs +249 -0
  631. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.cjs.map +1 -0
  632. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.d.cts +9 -0
  633. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.d.ts +9 -0
  634. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.js +14 -0
  635. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.js.map +1 -0
  636. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs +186 -139
  637. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.cjs.map +1 -1
  638. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +27 -26
  639. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs +287 -179
  640. package/dist/molecules/curriculumV2/CurriculumContents/index.cjs.map +1 -1
  641. package/dist/molecules/curriculumV2/CurriculumContents/index.js +31 -29
  642. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.js +2 -2
  643. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs +61 -12
  644. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.cjs.map +1 -1
  645. package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +7 -6
  646. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs +80 -31
  647. package/dist/molecules/curriculumV2/CurriculumSidebar/index.cjs.map +1 -1
  648. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +11 -10
  649. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs +72 -23
  650. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.cjs.map +1 -1
  651. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +8 -7
  652. package/dist/molecules/curriculumV2/curriculum-context.cjs +44 -4
  653. package/dist/molecules/curriculumV2/curriculum-context.cjs.map +1 -1
  654. package/dist/molecules/curriculumV2/curriculum-context.d.cts +4 -2
  655. package/dist/molecules/curriculumV2/curriculum-context.d.ts +4 -2
  656. package/dist/molecules/curriculumV2/curriculum-context.js +1 -1
  657. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs +57 -13
  658. package/dist/molecules/curriculumV2/curriculum-sub-nav.cjs.map +1 -1
  659. package/dist/molecules/curriculumV2/curriculum-sub-nav.js +7 -6
  660. package/dist/molecules/curriculumV2/curriculum-v2-layout.js +2 -2
  661. package/dist/molecules/curriculumV2/index.cjs +378 -228
  662. package/dist/molecules/curriculumV2/index.cjs.map +1 -1
  663. package/dist/molecules/curriculumV2/index.js +40 -38
  664. package/dist/molecules/date-picker/date-picker-button.cjs +70 -26
  665. package/dist/molecules/date-picker/date-picker-button.cjs.map +1 -1
  666. package/dist/molecules/date-picker/date-picker-button.js +8 -7
  667. package/dist/molecules/date-picker/index.cjs +61 -17
  668. package/dist/molecules/date-picker/index.cjs.map +1 -1
  669. package/dist/molecules/date-picker/index.js +7 -6
  670. package/dist/molecules/description-json-render.cjs +52 -8
  671. package/dist/molecules/description-json-render.cjs.map +1 -1
  672. package/dist/molecules/description-json-render.js +7 -6
  673. package/dist/molecules/download-card.js +2 -2
  674. package/dist/molecules/dynamic-field.js +6 -6
  675. package/dist/molecules/dynamic-form.js +7 -7
  676. package/dist/molecules/expand-table/index.cjs +84 -40
  677. package/dist/molecules/expand-table/index.cjs.map +1 -1
  678. package/dist/molecules/expand-table/index.js +7 -6
  679. package/dist/molecules/force-refresh.js +2 -2
  680. package/dist/molecules/ghost-post.js +4 -4
  681. package/dist/molecules/index.cjs +765 -504
  682. package/dist/molecules/index.cjs.map +1 -1
  683. package/dist/molecules/index.d.cts +2 -0
  684. package/dist/molecules/index.d.ts +2 -0
  685. package/dist/molecules/index.js +81 -75
  686. package/dist/molecules/learning-post.js +6 -6
  687. package/dist/molecules/navigation.js +3 -3
  688. package/dist/molecules/one-on-one-guide-list.js +3 -3
  689. package/dist/molecules/stepper.cjs +64 -20
  690. package/dist/molecules/stepper.cjs.map +1 -1
  691. package/dist/molecules/stepper.js +6 -5
  692. package/dist/molecules/tag-selector.cjs +64 -20
  693. package/dist/molecules/tag-selector.cjs.map +1 -1
  694. package/dist/molecules/tag-selector.js +7 -6
  695. package/dist/molecules/time-select.cjs +49 -5
  696. package/dist/molecules/time-select.cjs.map +1 -1
  697. package/dist/molecules/time-select.js +2 -1
  698. package/dist/molecules/training-info-guideline.cjs +508 -0
  699. package/dist/molecules/training-info-guideline.cjs.map +1 -0
  700. package/dist/molecules/training-info-guideline.d.cts +13 -0
  701. package/dist/molecules/training-info-guideline.d.ts +13 -0
  702. package/dist/molecules/training-info-guideline.js +19 -0
  703. package/dist/molecules/training-info-guideline.js.map +1 -0
  704. package/dist/types/curriculumContents.type.cjs.map +1 -1
  705. package/dist/types/curriculumContents.type.d.cts +13 -2
  706. package/dist/types/curriculumContents.type.d.ts +13 -2
  707. package/dist/types/dynamic-form-schema-generated.cjs.map +1 -1
  708. package/dist/types/index.cjs.map +1 -1
  709. package/dist/types/index.d.cts +2 -1
  710. package/dist/types/index.d.ts +2 -1
  711. package/dist/types/index.js +2 -1
  712. package/dist/types/training-info-guideline-schema-generated.cjs +19 -0
  713. package/dist/types/training-info-guideline-schema-generated.cjs.map +1 -0
  714. package/dist/types/training-info-guideline-schema-generated.d.cts +22 -0
  715. package/dist/types/training-info-guideline-schema-generated.d.ts +22 -0
  716. package/dist/types/training-info-guideline-schema-generated.js +2 -0
  717. package/dist/types/training-info-guideline-schema-generated.js.map +1 -0
  718. package/dist/utils/curriculum.utils.cjs +51 -2
  719. package/dist/utils/curriculum.utils.cjs.map +1 -1
  720. package/dist/utils/curriculum.utils.d.cts +1 -0
  721. package/dist/utils/curriculum.utils.d.ts +1 -0
  722. package/dist/utils/curriculum.utils.js +3 -2
  723. package/dist/utils/getCalloutIconComponent.cjs +44 -0
  724. package/dist/utils/getCalloutIconComponent.cjs.map +1 -1
  725. package/dist/utils/getCalloutIconComponent.js +2 -1
  726. package/dist/utils/index.cjs +44 -0
  727. package/dist/utils/index.cjs.map +1 -1
  728. package/dist/utils/index.js +2 -1
  729. package/package.json +2 -2
  730. package/src/constrant/curriculum.schema.json +34 -1
  731. package/src/constrant/training-info-guideline.schema.json +45 -0
  732. package/src/icons/circle-file.tsx +35 -0
  733. package/src/icons/index.ts +2 -1
  734. package/src/molecules/curriculumV2/CurriculumContents/curriculum-file-download.tsx +84 -0
  735. package/src/molecules/curriculumV2/CurriculumContents/index.tsx +5 -2
  736. package/src/molecules/curriculumV2/curriculum-context.tsx +74 -7
  737. package/src/molecules/index.ts +2 -1
  738. package/src/molecules/training-info-guideline.tsx +130 -0
  739. package/src/types/curriculumContents.type.ts +13 -0
  740. package/src/types/dynamic-form-schema-generated.ts +1 -0
  741. package/src/types/index.ts +1 -0
  742. package/src/types/training-info-guideline-schema-generated.ts +23 -0
  743. package/src/utils/curriculum.utils.ts +10 -4
@@ -547,13 +547,58 @@ var CircleChatIcon = React13.forwardRef(
547
547
  );
548
548
  CircleChatIcon.displayName = "CircleChatIcon";
549
549
 
550
+ // src/icons/circle-file.tsx
551
+ var React14 = __toESM(require("react"), 1);
552
+ var import_jsx_runtime14 = require("react/jsx-runtime");
553
+ var CircleFileIcon = React14.forwardRef(
554
+ (_a, forwardedRef) => {
555
+ var _b = _a, { color = "currentColor" } = _b, props = __objRest(_b, ["color"]);
556
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
557
+ "svg",
558
+ __spreadProps(__spreadValues({
559
+ fill: "none",
560
+ height: "16",
561
+ viewBox: "0 0 16 16",
562
+ width: "16",
563
+ xmlns: "http://www.w3.org/2000/svg"
564
+ }, props), {
565
+ ref: forwardedRef,
566
+ children: [
567
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("rect", { fill: color, height: "16", rx: "8", width: "16" }),
568
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
569
+ "rect",
570
+ {
571
+ fill: "white",
572
+ fillOpacity: "0.01",
573
+ height: "12",
574
+ transform: "translate(2 2)",
575
+ width: "12"
576
+ }
577
+ ),
578
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
579
+ "path",
580
+ {
581
+ clipRule: "evenodd",
582
+ d: "M4.39998 4.00005C4.39998 3.77914 4.57906 3.60005 4.79998 3.60005H9.26861C9.37469 3.60005 9.47643 3.64219 9.55145 3.71721L11.4829 5.64858C11.5578 5.72359 11.6 5.82534 11.6 5.93142V12C11.6 12.2209 11.4209 12.4 11.2 12.4H4.79998C4.57906 12.4 4.39998 12.2209 4.39998 12V4.00005ZM4.79998 2.80005C4.13723 2.80005 3.59998 3.3373 3.59998 4.00005V12C3.59998 12.6628 4.13723 13.2 4.79998 13.2H11.2C11.8627 13.2 12.4 12.6628 12.4 12V5.93142C12.4 5.61316 12.2736 5.30794 12.0485 5.08289L10.1171 3.15152C9.89209 2.92648 9.58686 2.80005 9.26861 2.80005H4.79998ZM5.59998 5.20005C5.37906 5.20005 5.19998 5.37914 5.19998 5.60005C5.19998 5.82096 5.37906 6.00005 5.59998 6.00005H7.99998C8.22089 6.00005 8.39998 5.82096 8.39998 5.60005C8.39998 5.37914 8.22089 5.20005 7.99998 5.20005H5.59998ZM5.59998 7.60005C5.37906 7.60005 5.19998 7.77914 5.19998 8.00005C5.19998 8.22096 5.37906 8.40005 5.59998 8.40005H10.4C10.6209 8.40005 10.8 8.22096 10.8 8.00005C10.8 7.77914 10.6209 7.60005 10.4 7.60005H5.59998ZM5.59998 10C5.37906 10 5.19998 10.1792 5.19998 10.4C5.19998 10.6209 5.37906 10.8 5.59998 10.8H10.4C10.6209 10.8 10.8 10.6209 10.8 10.4C10.8 10.1792 10.6209 10 10.4 10H5.59998Z",
583
+ fill: "white",
584
+ fillRule: "evenodd"
585
+ }
586
+ )
587
+ ]
588
+ })
589
+ );
590
+ }
591
+ );
592
+ CircleFileIcon.displayName = "CircleFileIcon";
593
+
550
594
  // src/utils/curriculum.utils.ts
551
595
  var CurriculumListIcons = {
552
596
  pencil: CirclePencilIcon,
553
597
  video: CirclePlayIcon,
554
598
  quote: CircleQuoteIcon,
555
599
  check: CircleCheckIcon,
556
- star: CircleSatisfactionIcon
600
+ star: CircleSatisfactionIcon,
601
+ file: CircleFileIcon
557
602
  };
558
603
  var getCurriculumIcon = ({
559
604
  type,
@@ -574,6 +619,8 @@ var getCurriculumIcon = ({
574
619
  return CircleSatisfactionIcon;
575
620
  case "aiTraining":
576
621
  return CircleChatIcon;
622
+ case "fileDownload":
623
+ return CircleFileIcon;
577
624
  case "review":
578
625
  default:
579
626
  return CirclePencilIcon;
@@ -598,7 +645,9 @@ var getCurriculumContentSubTypeText = (type) => {
598
645
  case "review":
599
646
  return "\uB9AC\uBDF0";
600
647
  case "aiTraining":
601
- return "AI \uD2B8\uB808\uC774\uB2DD";
648
+ return "AI \uB864\uD50C\uB808\uC774";
649
+ case "fileDownload":
650
+ return "\uC790\uB8CC \uB2E4\uC6B4\uB85C\uB4DC";
602
651
  default:
603
652
  return "";
604
653
  }
@@ -630,7 +679,7 @@ var mapWithResponsive = (args) => {
630
679
  };
631
680
 
632
681
  // src/atoms/typo.tsx
633
- var import_jsx_runtime14 = require("react/jsx-runtime");
682
+ var import_jsx_runtime15 = require("react/jsx-runtime");
634
683
  var Typo = (0, import_react.forwardRef)(
635
684
  (props, ref) => {
636
685
  const _a = props, { size, variant, children } = _a, rest = __objRest(_a, ["size", "variant", "children"]);
@@ -652,18 +701,18 @@ var Typo = (0, import_react.forwardRef)(
652
701
  }
653
702
  });
654
703
  }, [size, variant]);
655
- return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_themes2.Text, __spreadProps(__spreadValues({}, rest), { ref, size: radixSize, children }));
704
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_themes2.Text, __spreadProps(__spreadValues({}, rest), { ref, size: radixSize, children }));
656
705
  }
657
706
  );
658
707
  Typo.displayName = "Typo";
659
708
 
660
709
  // src/molecules/curriculumV2/CurriculumSidebar/Items/section-title.tsx
661
- var import_jsx_runtime15 = require("react/jsx-runtime");
710
+ var import_jsx_runtime16 = require("react/jsx-runtime");
662
711
  function SectionTitle(props) {
663
712
  const { title, duration } = props;
664
- return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_themes.Grid, { align: "center", columns: "1fr auto", px: "3", py: "2", children: [
665
- /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Typo, { color: "gray", children: title }),
666
- /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(Typo, { color: "gray", variant: "caption", children: [
713
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_themes.Grid, { align: "center", columns: "1fr auto", px: "3", py: "2", children: [
714
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(Typo, { color: "gray", children: title }),
715
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(Typo, { color: "gray", variant: "caption", children: [
667
716
  duration,
668
717
  "\uBD84"
669
718
  ] })
@@ -675,14 +724,14 @@ var section_title_default = SectionTitle;
675
724
  var import_themes3 = require("@radix-ui/themes");
676
725
 
677
726
  // src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.tsx
678
- var import_jsx_runtime16 = require("react/jsx-runtime");
727
+ var import_jsx_runtime17 = require("react/jsx-runtime");
679
728
  function CurriculumSidebarItemWrapper({
680
729
  children,
681
730
  isSelected,
682
731
  onClick,
683
732
  index
684
733
  }) {
685
- return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
734
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(
686
735
  import_themes.Grid,
687
736
  {
688
737
  align: "center",
@@ -698,7 +747,7 @@ function CurriculumSidebarItemWrapper({
698
747
  cursor: onClick ? "pointer" : void 0
699
748
  },
700
749
  children: [
701
- isSelected ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
750
+ isSelected ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
702
751
  import_themes3.Separator,
703
752
  {
704
753
  color: "yellow",
@@ -718,15 +767,15 @@ var curriculum_sidebar_item_wrapper_default = CurriculumSidebarItemWrapper;
718
767
  var import_themes4 = require("@radix-ui/themes");
719
768
 
720
769
  // src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.tsx
721
- var import_jsx_runtime17 = require("react/jsx-runtime");
770
+ var import_jsx_runtime18 = require("react/jsx-runtime");
722
771
  function CurriculumItemTitle({
723
772
  title,
724
773
  subText,
725
774
  duration
726
775
  }) {
727
- return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_themes4.Flex, { direction: "column", gap: "1", children: [
728
- /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(Typo, { color: "gray", weight: "bold", children: title }),
729
- /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(Typo, { color: "gray", variant: "caption", children: [
776
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_themes4.Flex, { direction: "column", gap: "1", children: [
777
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Typo, { color: "gray", weight: "bold", children: title }),
778
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Typo, { color: "gray", variant: "caption", children: [
730
779
  subText,
731
780
  duration ? ` | ${duration}\uBD84` : ""
732
781
  ] })
@@ -735,7 +784,7 @@ function CurriculumItemTitle({
735
784
  var curriculum_item_title_default = CurriculumItemTitle;
736
785
 
737
786
  // src/molecules/curriculumV2/CurriculumSidebar/Items/section-item.tsx
738
- var import_jsx_runtime18 = require("react/jsx-runtime");
787
+ var import_jsx_runtime19 = require("react/jsx-runtime");
739
788
  function SectionCommonItem({
740
789
  title,
741
790
  duration,
@@ -744,21 +793,21 @@ function SectionCommonItem({
744
793
  color = "gray"
745
794
  }) {
746
795
  const IconComp = getCurriculumIcon({ type, icon });
747
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
748
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(IconComp, { color }),
749
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(curriculum_item_title_default, { duration, subText: getCurriculumContentSubTypeText(type), title })
796
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_jsx_runtime19.Fragment, { children: [
797
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(IconComp, { color }),
798
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(curriculum_item_title_default, { duration, subText: getCurriculumContentSubTypeText(type), title })
750
799
  ] });
751
800
  }
752
801
  var section_item_default = SectionCommonItem;
753
802
 
754
803
  // src/molecules/curriculumV2/CurriculumSidebar/sidebar-item.tsx
755
- var import_jsx_runtime19 = require("react/jsx-runtime");
804
+ var import_jsx_runtime20 = require("react/jsx-runtime");
756
805
  function SidebarItem({ item, selectedIndex, setSelectedIndex, index, done }) {
757
806
  if (item.type === "sectionTitle") {
758
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(section_title_default, __spreadValues({}, item), item.uuid);
807
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(section_title_default, __spreadValues({}, item), item.uuid);
759
808
  }
760
809
  const isSelected = selectedIndex === index;
761
- return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
810
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
762
811
  curriculum_sidebar_item_wrapper_default,
763
812
  {
764
813
  index,
@@ -766,7 +815,7 @@ function SidebarItem({ item, selectedIndex, setSelectedIndex, index, done }) {
766
815
  onClick: () => {
767
816
  setSelectedIndex(index);
768
817
  },
769
- children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
818
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
770
819
  section_item_default,
771
820
  __spreadProps(__spreadValues({}, item), {
772
821
  color: getCurriculumIconColor({
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/molecules/curriculumV2/CurriculumSidebar/sidebar-item.tsx","../../../../src/icon.ts","../../../../src/icons/phone-ring.tsx","../../../../src/icons/up.tsx","../../../../src/icons/down.tsx","../../../../src/icons/mic.tsx","../../../../src/icons/camera.tsx","../../../../src/icons/camera-disabled.tsx","../../../../src/icons/end-call.tsx","../../../../src/icons/circle-play.tsx","../../../../src/icons/circle-pencil.tsx","../../../../src/icons/circle-check.tsx","../../../../src/icons/circle-satisfaction.tsx","../../../../src/icons/circle-quote.tsx","../../../../src/icons/circle-chat.tsx","../../../../src/utils/curriculum.utils.ts","../../../../src/atoms/grid.tsx","../../../../src/atoms/typo.tsx","../../../../src/utils/map-with-responsive.ts","../../../../src/molecules/curriculumV2/CurriculumSidebar/Items/section-title.tsx","../../../../src/atoms/separator.tsx","../../../../src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.tsx","../../../../src/atoms/flex.tsx","../../../../src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.tsx","../../../../src/molecules/curriculumV2/CurriculumSidebar/Items/section-item.tsx"],"sourcesContent":["import type { CurriculumListContents } from '@/types/curriculum.type'; \nimport { getCurriculumIconColor } from '../../../utils/curriculum.utils';\nimport SectionTitle from './Items/section-title';\nimport CurriculumSidebarItemWrapper from './Items/curriculum-sidebar-item-wrapper';\nimport SectionCommonItem from './Items/section-item';\n\n\ninterface SidebarItemProps {\n item: CurriculumListContents;\n selectedIndex: number;\n setSelectedIndex: (index: number) => void;\n index: number;\n done: boolean;\n}\n\nfunction SidebarItem({item, selectedIndex, setSelectedIndex, index, done}: SidebarItemProps): React.ReactNode {\n \n \n if (item.type === 'sectionTitle') {\n return <SectionTitle key={item.uuid} {...item} />;\n }\n const isSelected = selectedIndex === index;\n\n return (\n <CurriculumSidebarItemWrapper\n index={index}\n isSelected={isSelected}\n key={item.uuid}\n onClick={() => {\n setSelectedIndex(index);\n }}\n >\n <SectionCommonItem\n {...item}\n color={getCurriculumIconColor({\n done,\n selected: isSelected,\n })}\n />\n </CurriculumSidebarItemWrapper>\n );\n }\n\nexport default SidebarItem;","export {\n BookmarkIcon,\n ExitIcon,\n InfoCircledIcon,\n ExclamationTriangleIcon,\n MagnifyingGlassIcon,\n DotsHorizontalIcon,\n ChatBubbleIcon,\n PlusIcon,\n BookmarkFilledIcon,\n MixerHorizontalIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ClipboardIcon,\n BarChartIcon,\n PersonIcon,\n GearIcon,\n DotsVerticalIcon,\n Pencil1Icon,\n Cross1Icon,\n Link2Icon,\n ChevronUpIcon,\n ChevronDownIcon,\n FileIcon,\n TrashIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n GlobeIcon,\n BackpackIcon,\n CalendarIcon,\n CheckIcon,\n ArchiveIcon,\n RowsIcon,\n Share1Icon,\n ClipboardCopyIcon,\n CheckCircledIcon,\n ArrowLeftIcon,\n ReloadIcon,\n RocketIcon,\n ArrowRightIcon,\n CopyIcon,\n Pencil2Icon,\n TargetIcon,\n UpdateIcon,\n DownloadIcon,\n SpeakerLoudIcon,\n UploadIcon,\n SpeakerOffIcon,\n TimerIcon,\n ArrowTopRightIcon,\n VideoIcon,\n CubeIcon,\n HamburgerMenuIcon,\n FileTextIcon,\n PaperPlaneIcon,\n BellIcon,\n ResetIcon,\n HomeIcon,\n StopIcon,\n PlayIcon,\n BoxIcon,\n DashboardIcon,\n SewingPinFilledIcon,\n EnvelopeClosedIcon,\n QuoteIcon,\n FilePlusIcon,\n QuestionMarkCircledIcon,\n FaceIcon\n} from '@radix-ui/react-icons';\n\nexport * from './icons';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const PhoneRingIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n d=\"M7.7207 8.94603C6.98877 8.2141 6.41082 7.3865 5.98686 6.50348C5.95039 6.42753 5.93216 6.38955 5.91815 6.34149C5.86837 6.17072 5.90413 5.96102 6.00769 5.81639C6.03683 5.77569 6.07165 5.74087 6.14128 5.67124C6.35424 5.45828 6.46072 5.3518 6.53033 5.24473C6.79287 4.84094 6.79287 4.32038 6.53033 3.91658C6.46072 3.80951 6.35424 3.70303 6.14128 3.49007L6.02257 3.37137C5.69885 3.04764 5.53699 2.88578 5.36315 2.79786C5.01743 2.62299 4.60914 2.62299 4.26342 2.79786C4.08958 2.88578 3.92772 3.04764 3.604 3.37137L3.50798 3.46739C3.18536 3.79 3.02405 3.95131 2.90086 4.17062C2.76415 4.41398 2.66586 4.79194 2.66669 5.07106C2.66744 5.32261 2.71624 5.49452 2.81382 5.83835C3.33828 7.68611 4.32781 9.42969 5.78242 10.8843C7.23704 12.3389 8.98062 13.3285 10.8284 13.8529C11.1722 13.9505 11.3441 13.9993 11.5957 14C11.8748 14.0009 12.2528 13.9026 12.4961 13.7659C12.7154 13.6427 12.8767 13.4814 13.1993 13.1588L13.2954 13.0627C13.6191 12.739 13.7809 12.5771 13.8689 12.4033C14.0437 12.0576 14.0437 11.6493 13.8689 11.3036C13.7809 11.1297 13.6191 10.9679 13.2954 10.6442L13.1767 10.5255C12.9637 10.3125 12.8572 10.206 12.7501 10.1364C12.3464 9.87386 11.8258 9.87386 11.422 10.1364C11.3149 10.206 11.2084 10.3125 10.9955 10.5255C10.9259 10.5951 10.891 10.6299 10.8503 10.659C10.7057 10.7626 10.496 10.7984 10.3252 10.7486C10.2772 10.7346 10.2392 10.7163 10.1632 10.6799C9.28023 10.2559 8.45262 9.67796 7.7207 8.94603Z\"\n fill={color}\n />\n <path\n d=\"M9.33335 4.22765C10.4699 4.62936 11.3707 5.53016 11.7724 6.66671M9.97701 2.33337C11.7004 2.93456 13.0655 4.2997 13.6667 6.02305M7.7207 8.94603C6.98877 8.2141 6.41082 7.3865 5.98686 6.50348C5.95039 6.42753 5.93216 6.38955 5.91815 6.34149C5.86837 6.17072 5.90413 5.96102 6.00769 5.81639C6.03683 5.77569 6.07165 5.74087 6.14128 5.67124C6.35424 5.45828 6.46072 5.3518 6.53033 5.24473C6.79287 4.84094 6.79287 4.32038 6.53033 3.91658C6.46072 3.80951 6.35424 3.70303 6.14128 3.49007L6.02257 3.37137C5.69885 3.04764 5.53699 2.88578 5.36315 2.79786C5.01743 2.62299 4.60914 2.62299 4.26342 2.79786C4.08958 2.88578 3.92772 3.04764 3.604 3.37137L3.50798 3.46739C3.18536 3.79 3.02405 3.95131 2.90086 4.17062C2.76415 4.41398 2.66586 4.79194 2.66669 5.07106C2.66744 5.32261 2.71624 5.49452 2.81382 5.83835C3.33828 7.68611 4.32781 9.42969 5.78242 10.8843C7.23704 12.3389 8.98062 13.3285 10.8284 13.8529C11.1722 13.9505 11.3441 13.9993 11.5957 14C11.8748 14.0009 12.2528 13.9026 12.4961 13.7659C12.7154 13.6427 12.8767 13.4814 13.1993 13.1588L13.2954 13.0627C13.6191 12.739 13.7809 12.5771 13.8689 12.4033C14.0437 12.0576 14.0437 11.6493 13.8689 11.3036C13.7809 11.1297 13.6191 10.9679 13.2954 10.6442L13.1767 10.5255C12.9637 10.3125 12.8572 10.206 12.7501 10.1364C12.3464 9.87386 11.8258 9.87386 11.422 10.1364C11.3149 10.206 11.2084 10.3125 10.9955 10.5255C10.9259 10.5951 10.891 10.6299 10.8503 10.659C10.7057 10.7626 10.496 10.7984 10.3252 10.7486C10.2772 10.7346 10.2392 10.7163 10.1632 10.6799C9.28023 10.2559 8.45262 9.67796 7.7207 8.94603Z\"\n stroke={color}\n strokeLinecap=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n );\n }\n);\n\nPhoneRingIcon.displayName = 'ArrowUpIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const TriangleArrowUpIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"7\"\n viewBox=\"0 0 8 7\"\n width=\"8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n d=\"M0.891555 6.1875L7.10845 6.1875C7.80261 6.1875 8.1771 5.37328 7.72534 4.84623L4.6169 1.21971C4.29263 0.841403 3.70737 0.841403 3.3831 1.21971L0.274659 4.84623C-0.177095 5.37328 0.197393 6.1875 0.891555 6.1875Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nTriangleArrowUpIcon.displayName = 'ArrowUpIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const TriangleArrowDownIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"7\"\n viewBox=\"0 0 8 7\"\n width=\"8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n d=\"M7.10844 0.8125H0.891554C0.197392 0.8125 -0.177096 1.62672 0.274659 2.15377L3.3831 5.78029C3.70737 6.1586 4.29263 6.1586 4.6169 5.78029L7.72534 2.15377C8.1771 1.62672 7.80261 0.8125 7.10844 0.8125Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nTriangleArrowDownIcon.displayName = 'ArrowDownIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const MicIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 12 16\"\n width=\"12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n clipRule=\"evenodd\"\n d=\"M9.15383 8.15726H9.17422V7.79011V3.71671H9.17378C9.14572 1.93538 7.69297 0.5 5.90497 0.5C4.11696 0.5 2.66421 1.93538 2.63616 3.71671H2.63577V3.75606C2.63575 3.76044 2.63574 3.76483 2.63574 3.76923C2.63574 3.77362 2.63575 3.77801 2.63577 3.78239V7.79011V8.15726H2.65615C2.83862 9.78997 4.22357 11.0593 5.90499 11.0593C7.58642 11.0593 8.97136 9.78997 9.15383 8.15726Z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n <path\n d=\"M1.30707 7.51038C1.30707 8.87401 2.61826 12.2831 5.90497 12.2831M5.90497 12.2831V15.4999M5.90497 12.2831C8.8595 11.9148 10.0284 10.8351 10.5203 7.51038M5.90497 15.4999H4.05182M5.90497 15.4999H7.81056\"\n stroke={color}\n strokeLinecap=\"round\"\n strokeWidth=\"1.2\"\n />\n </svg>\n );\n }\n);\n\nMicIcon.displayName = 'MicIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CameraIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n ref={forwardedRef}\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M1.41176 2C0.470588 2 0 2.46222 0 3.38667C0 4.31111 0 11.2444 0 12.1689C0 13.0933 0.470588 13.5556 0.941176 13.5556C1.41176 13.5556 9.88235 13.5556 10.8235 13.5556C11.7647 13.5556 11.7647 13.0933 11.7647 12.1689C11.7647 11.5595 11.7647 10.9502 11.7647 10.6056C11.7647 10.4478 11.8926 10.32 12.0504 10.32H12.1689C12.2126 10.32 12.2557 10.33 12.2949 10.3493L14.1176 11.2444L15.5883 11.9667C15.7782 12.06 16 11.9218 16 11.7103V3.86745C16 3.6507 15.768 3.51238 15.577 3.61479C14.6546 4.10924 12.5222 5.23556 12.2353 5.23556C12.1353 5.23556 12.0821 5.23556 12.0502 5.23556C11.8924 5.23556 11.7647 5.10789 11.7647 4.95009C11.7647 4.51892 11.7647 3.71688 11.7647 3.38667C11.7647 2.92444 11.2941 2 10.3529 2C9.41177 2 2.35294 2 1.41176 2Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nCameraIcon.displayName = 'CameraIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CameraDisabledIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n ref={forwardedRef}\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n clipRule=\"evenodd\"\n d=\"M0 3.3872C0 2.4624 0.470588 2 1.41176 2H10.3529C11.2941 2 11.7647 2.9248 11.7647 3.3872V4.95122C11.7647 5.10908 11.8924 5.2368 12.0502 5.2368H12.2353C12.5222 5.2368 14.6546 4.11005 15.577 3.61542C15.768 3.51296 16 3.65133 16 3.86817V11.714C16 11.9256 15.7782 12.0638 15.5883 11.9706L12.2949 10.3525C12.2557 10.3332 12.2126 10.3232 12.1689 10.3232H12.0504C11.8926 10.3232 11.7647 10.451 11.7647 10.6089V12.1728C11.7647 13.0976 11.7647 13.56 10.8235 13.56H0.941176C0.470588 13.56 0 13.0976 0 12.1728V3.3872ZM8.67719 6.41215C8.8854 6.20379 8.8854 5.86598 8.67719 5.65762C8.46887 5.44925 8.13116 5.44925 7.92284 5.65762L6.16668 7.4145L4.41052 5.65762C4.2022 5.44925 3.8645 5.44925 3.65618 5.65762C3.44794 5.86598 3.44794 6.20379 3.65618 6.41215L5.41244 8.16904L3.65618 9.92593C3.44794 10.1343 3.44794 10.4721 3.65618 10.6805C3.8645 10.8888 4.2022 10.8888 4.41052 10.6805L6.16668 8.92358L7.92284 10.6805C8.13116 10.8888 8.46887 10.8888 8.67719 10.6805C8.8854 10.4721 8.8854 10.1343 8.67719 9.92593L6.92092 8.16904L8.67719 6.41215Z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCameraDisabledIcon.displayName = 'VideoDisabledIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const EndCallIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n ref={forwardedRef}\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M8 6.66667C8.90629 6.66667 9.77647 6.83841 10.5856 7.15419C10.6552 7.18136 10.69 7.19494 10.7285 7.21836C10.865 7.30159 10.9727 7.47044 10.9981 7.64117C11.0053 7.68921 11.0053 7.73711 11.0053 7.83291C11.0053 8.1259 11.0053 8.27239 11.0285 8.39394C11.1159 8.8523 11.4382 9.2104 11.8507 9.30757C11.9601 9.33333 12.092 9.33333 12.3557 9.33333H12.5026C12.9035 9.33333 13.1039 9.33333 13.266 9.27424C13.5883 9.1567 13.841 8.87584 13.9468 8.51773C14 8.33766 14 8.11498 14 7.6696V7.53749C14 7.09364 14 6.87172 13.9405 6.63611C13.8745 6.37466 13.7013 6.04705 13.528 5.85561C13.3718 5.68309 13.2352 5.5984 12.9619 5.42901C11.4932 4.51871 9.80113 4 8 4C6.19887 4 4.50678 4.51871 3.03812 5.42901C2.76484 5.5984 2.6282 5.68309 2.472 5.85561C2.29868 6.04705 2.12553 6.37466 2.0595 6.63611C2 6.87172 2 7.09364 2 7.53749V7.6696C2 8.11498 2 8.33766 2.05319 8.51773C2.15897 8.87584 2.41174 9.1567 2.73404 9.27424C2.8961 9.33333 3.09652 9.33333 3.49736 9.33333L3.64434 9.33333C3.90803 9.33333 4.03987 9.33333 4.14926 9.30757C4.56179 9.2104 4.88408 8.8523 4.97153 8.39394C4.99472 8.27239 4.99472 8.1259 4.99472 7.83291C4.99472 7.73711 4.99472 7.68921 5.00187 7.64117C5.0273 7.47044 5.13499 7.30159 5.27154 7.21836C5.30996 7.19494 5.34476 7.18136 5.41436 7.15419C6.22353 6.83841 7.09371 6.66667 8 6.66667Z\"\n fill={color}\n />\n <path\n d=\"M2 12H14M8 6.66667C8.90629 6.66667 9.77647 6.83841 10.5856 7.15419C10.6552 7.18136 10.69 7.19494 10.7285 7.21836C10.865 7.30159 10.9727 7.47044 10.9981 7.64117C11.0053 7.68921 11.0053 7.73711 11.0053 7.83291C11.0053 8.1259 11.0053 8.27239 11.0285 8.39394C11.1159 8.8523 11.4382 9.2104 11.8507 9.30757C11.9601 9.33333 12.092 9.33333 12.3557 9.33333H12.5026C12.9035 9.33333 13.1039 9.33333 13.266 9.27424C13.5883 9.1567 13.841 8.87584 13.9468 8.51773C14 8.33766 14 8.11498 14 7.6696V7.53749C14 7.09364 14 6.87172 13.9405 6.63611C13.8745 6.37466 13.7013 6.04705 13.528 5.85561C13.3718 5.68309 13.2352 5.5984 12.9619 5.42901C11.4932 4.51871 9.80113 4 8 4C6.19887 4 4.50678 4.51871 3.03812 5.42901C2.76484 5.5984 2.6282 5.68309 2.472 5.85561C2.29868 6.04705 2.12553 6.37466 2.0595 6.63611C2 6.87172 2 7.09364 2 7.53749V7.6696C2 8.11498 2 8.33766 2.05319 8.51773C2.15897 8.87584 2.41174 9.1567 2.73404 9.27424C2.8961 9.33333 3.09652 9.33333 3.49736 9.33333L3.64434 9.33333C3.90803 9.33333 4.03987 9.33333 4.14926 9.30757C4.56179 9.2104 4.88408 8.8523 4.97153 8.39394C4.99472 8.27239 4.99472 8.1259 4.99472 7.83291C4.99472 7.73711 4.99472 7.68921 5.00187 7.64117C5.0273 7.47044 5.13499 7.30159 5.27154 7.21836C5.30996 7.19494 5.34476 7.18136 5.41436 7.15419C6.22353 6.83841 7.09371 6.66667 8 6.66667Z\"\n stroke={color}\n strokeLinecap=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n );\n }\n);\n\nEndCallIcon.displayName = 'EndCallIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CirclePlayIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = '#currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx=\"8\" cy=\"8\" fill={color} r=\"8\" />\n <path\n d=\"M13.25 7.56699C13.5833 7.75944 13.5833 8.24056 13.25 8.43301L5.75 12.7631C5.41667 12.9556 5 12.715 5 12.3301L5 3.66987C5 3.28497 5.41667 3.04441 5.75 3.23686L13.25 7.56699Z\"\n fill=\"white\"\n />\n </svg>\n );\n }\n);\n\nCirclePlayIcon.displayName = 'CirclePlayIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CirclePencilIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx=\"8\" cy=\"8\" fill={color} r=\"8\" />\n <rect\n fill=\"white\"\n fillOpacity=\"0.01\"\n height=\"12\"\n transform=\"translate(2 2)\"\n width=\"12\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M11.4829 2.91721C11.3266 2.761 11.0733 2.761 10.9172 2.91721L4.97162 8.86274C4.89965 8.9347 4.84208 9.01974 4.80199 9.11329L3.63233 11.8424C3.5679 11.9928 3.60149 12.1672 3.71715 12.2829C3.8328 12.3985 4.00722 12.4321 4.15755 12.3677L6.88675 11.198C6.9803 11.158 7.06534 11.1004 7.13731 11.0284L13.0829 5.08289C13.239 4.92668 13.239 4.67342 13.0829 4.51721L11.4829 2.91721ZM5.53731 9.42842L11.2 3.76574L12.2343 4.80005L6.57162 10.4628L5.37537 10.9754L5.02463 10.6247L5.53731 9.42842Z\"\n fill=\"white\"\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCirclePencilIcon.displayName = 'CirclePencilIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CircleCheckIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx=\"8\" cy=\"8\" fill=\"white\" r=\"7.5\" stroke={color} />\n <rect fill=\"white\" fillOpacity=\"0.01\" height=\"16\" width=\"16\" />\n <path\n clipRule=\"evenodd\"\n d=\"M12.2314 3.97533C12.5395 4.17683 12.626 4.58999 12.4245 4.89815L7.8912 11.8315C7.78436 11.9949 7.61128 12.1032 7.41763 12.1279C7.22398 12.1527 7.02923 12.0912 6.88477 11.9599L3.95144 9.29328C3.679 9.04561 3.65892 8.62397 3.90659 8.35154C4.15426 8.0791 4.57589 8.05901 4.84833 8.30669L7.20313 10.4474L11.3086 4.16849C11.5101 3.86033 11.9232 3.77385 12.2314 3.97533Z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCircleCheckIcon.displayName = 'CircleCheckIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CircleSatisfactionIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx=\"8\" cy=\"8\" fill=\"white\" r=\"7.5\" stroke={color} />\n <rect\n fill=\"white\"\n fillOpacity=\"0.01\"\n height=\"12\"\n transform=\"translate(2 2)\"\n width=\"12\"\n />\n <path\n d=\"M7.77842 2.53284C7.86041 2.33573 8.13963 2.33573 8.22162 2.53284L9.53074 5.68036C9.5653 5.76346 9.64346 5.82023 9.73316 5.82742L13.1312 6.09985C13.344 6.1169 13.4302 6.38246 13.2682 6.52134L10.6792 8.73904C10.6109 8.79758 10.581 8.88946 10.6019 8.97699L11.3929 12.2928C11.4424 12.5005 11.2165 12.6647 11.0343 12.5534L8.12512 10.7764C8.04832 10.7296 7.95172 10.7296 7.87492 10.7764L4.96574 12.5534C4.78356 12.6647 4.55766 12.5005 4.60719 12.2928L5.39815 8.97699C5.41904 8.88946 5.38918 8.79758 5.32084 8.73904L2.73191 6.52134C2.56978 6.38246 2.65607 6.1169 2.86886 6.09985L6.26688 5.82742C6.35658 5.82023 6.43474 5.76346 6.4693 5.68036L7.77842 2.53284Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nCircleSatisfactionIcon.displayName = 'CircleSatisfactionIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CircleQuoteIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx=\"8\" cy=\"8\" fill=\"white\" r=\"7.5\" stroke={color} />\n <rect\n fill=\"white\"\n fillOpacity=\"0.01\"\n height=\"12\"\n transform=\"translate(2 2)\"\n width=\"12\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M9.54 4.75306C10.0449 4.58921 10.6269 4.59213 11.1033 4.83696C12.2025 5.40177 12.6781 6.8575 12.2357 8.39997C12.0372 9.09189 11.6881 9.76375 10.9489 10.4419C10.2096 11.12 9.18425 11.52 8.70854 11.52C8.53813 11.52 8.39998 11.3857 8.39998 11.22C8.39998 11.0543 8.54113 10.92 8.70854 10.92C9.25195 10.92 9.73749 10.6243 10.3125 10.1888C10.7525 9.85541 11.0961 9.42904 11.2864 9.0575C11.6502 8.34691 11.6625 7.34537 11.0746 7.07918C10.7923 7.38761 10.4236 7.56754 9.98178 7.56754C9.02182 7.56754 8.45606 6.79527 8.48038 6.09605C8.50363 5.42777 8.92823 4.95161 9.54 4.75306ZM4.74 4.75306C5.24489 4.58921 5.8269 4.59213 6.30336 4.83696C7.40254 5.40177 7.8781 6.8575 7.43567 8.39997C7.23721 9.09189 6.88813 9.76375 6.14886 10.4419C5.40958 11.12 4.38425 11.52 3.90854 11.52C3.73813 11.52 3.59998 11.3857 3.59998 11.22C3.59998 11.0543 3.74113 10.92 3.90854 10.92C4.45195 10.92 4.93749 10.6243 5.51244 10.1888C5.9525 9.85541 6.29609 9.42904 6.48635 9.0575C6.85023 8.34691 6.86254 7.34537 6.27462 7.07918C5.99227 7.38761 5.62356 7.56754 5.18178 7.56754C4.22182 7.56754 3.65606 6.79527 3.68038 6.09605C3.70363 5.42777 4.12823 4.95161 4.74 4.75306Z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCircleQuoteIcon.displayName = 'CircleQuoteIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CircleChatIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n ref={forwardedRef}\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <rect fill={color} height=\"16\" rx=\"8\" width=\"16\" />\n <rect\n fill=\"white\"\n fillOpacity=\"0.01\"\n height=\"12\"\n transform=\"translate(2 2)\"\n width=\"12\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M12 4.39998L4 4.39999C3.33726 4.39999 2.8 4.93726 2.8 5.59999V9.6C2.8 10.2628 3.33726 10.8 4 10.8H8.00002C8.10611 10.8 8.20786 10.8421 8.28286 10.9172L10 12.6343V11.2C10 10.9791 10.1791 10.8 10.4 10.8H12C12.6627 10.8 13.2 10.2628 13.2 9.6V5.59998C13.2 4.93723 12.6627 4.39998 12 4.39998ZM3.99999 3.59999L12 3.59998C13.1046 3.59998 14 4.49541 14 5.59998V9.6C14 10.7045 13.1046 11.6 12 11.6H10.8V13.6C10.8 13.7617 10.7026 13.9076 10.553 13.9695C10.4036 14.0314 10.2315 13.9972 10.1171 13.8829L7.83434 11.6H4C2.89543 11.6 2 10.7045 2 9.6V5.59999C2 4.49542 2.89542 3.6 3.99999 3.59999Z\"\n fill=\"white\"\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCircleChatIcon.displayName = 'CircleChatIcon';\n","import { \n CircleChatIcon,\n CircleCheckIcon,\n CirclePencilIcon,\n CirclePlayIcon,\n CircleQuoteIcon,\n CircleSatisfactionIcon\n} from '@/icon';\n\nexport const CurriculumListIcons = {\n pencil: CirclePencilIcon,\n video: CirclePlayIcon,\n quote: CircleQuoteIcon,\n check: CircleCheckIcon,\n star: CircleSatisfactionIcon,\n};\n\nexport const getCurriculumIcon = ({\n type,\n icon,\n}: {\n type: string;\n icon?: string;\n}): typeof CirclePlayIcon => {\n if (icon && Object.prototype.hasOwnProperty.call(CurriculumListIcons, icon)) {\n return CurriculumListIcons[icon as keyof typeof CurriculumListIcons];\n }\n\n switch (type) {\n case 'video':\n return CirclePlayIcon;\n case 'question_text':\n return CircleQuoteIcon;\n case 'question_radio':\n return CircleCheckIcon;\n case 'question_satisfaction_option':\n case 'question_satisfaction_text':\n return CircleSatisfactionIcon;\n case 'aiTraining':\n return CircleChatIcon;\n case 'review':\n default:\n return CirclePencilIcon;\n }\n};\n\nexport const getCurriculumIconColor = ({\n done = false,\n selected = false,\n}: {\n done?: boolean;\n selected?: boolean;\n}): string => {\n if (selected) {\n return '#D5AE39';\n }\n if (done) {\n return '#30A46C';\n }\n return '#D9D9E0';\n};\n\nexport const getCurriculumQuestionIconColor = (type: string): string => {\n switch (type) {\n case 'question_text':\n return '#D5AE39';\n case 'question_radio':\n return '#30A46C';\n default:\n return '#D9D9E0';\n }\n};\n\nexport const getCurriculumQuestionTypeDescription = (type: string): string => {\n switch (type) {\n case 'question_text':\n return '주관식';\n case 'question_radio':\n return '객관식';\n default:\n return '';\n }\n};\n\nexport const getCurriculumContentSubTypeText = (type: string): string => {\n switch (type) {\n case 'video':\n return '영상';\n case 'review':\n return '리뷰';\n case 'aiTraining':\n return 'AI 트레이닝';\n default:\n return '';\n }\n};\n \n","export { Grid, type GridProps } from '@radix-ui/themes';\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport React, { useMemo, forwardRef } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\n\nexport type TypoProps = RadixTextProps & {\n variant?: Responsive<'body' | 'caption' | 'subtitle'>;\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactNode => {\n const { size, variant, children, ...rest } = props;\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n\n if (variant === undefined) return '2';\n\n return mapWithResponsive({\n value: variant,\n mapFn: (variantValue?: 'body' | 'caption' | 'subtitle') => {\n switch (variantValue) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n },\n });\n }, [size, variant]);\n\n return (\n <RadixText {...rest} ref={ref} size={radixSize}>\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n","import type { Breakpoint, Responsive } from \"@radix-ui/themes/props\";\n\nexport const mapWithResponsive = <T extends string,K extends string>(\n args: {value: Responsive<T>, mapFn: (value?:T)=>K |undefined}\n): Responsive<K> | undefined => {\n const {value, mapFn} = args;\n if(typeof value === 'string'){\n return mapFn(value);\n };\n \n if(typeof value === 'object'){\n const newObj: Partial<Record<Breakpoint, K>> = {};\n let key: Breakpoint;\n for(key in value){\n newObj[key] = mapFn(value[key]);\n }\n return newObj;\n }\n return value;\n};\n","import React from 'react';\nimport { Grid } from '@/atoms/grid';\nimport { Typo } from '@/atoms/typo';\nimport { type CurriculumSectionTitleContents } from '@/types/curriculumContents.type';\n\nfunction SectionTitle(props: CurriculumSectionTitleContents): React.ReactNode {\n const { title, duration } = props;\n return (\n <Grid align=\"center\" columns=\"1fr auto\" px=\"3\" py=\"2\">\n <Typo color=\"gray\">{title}</Typo>\n <Typo color=\"gray\" variant=\"caption\">\n {duration}분\n </Typo>\n </Grid>\n );\n}\n\nexport default SectionTitle;\n","export { Separator, type SeparatorProps } from '@radix-ui/themes';\n","import React from 'react';\nimport { Grid } from '@/atoms/grid';\nimport { Separator } from '@/atoms/separator';\n\ninterface CurriculumSidebarItemWrapperProps {\n children: React.ReactNode;\n isSelected: boolean;\n onClick?: () => void;\n index: number;\n}\n\nfunction CurriculumSidebarItemWrapper({\n children,\n isSelected,\n onClick,\n index,\n}: CurriculumSidebarItemWrapperProps): React.ReactNode {\n return (\n <Grid\n align=\"center\"\n columns=\"auto 1fr\"\n data-curriculum-item-index={index}\n gap=\"2\"\n onClick={onClick}\n position=\"relative\"\n px=\"3\"\n py=\"2\"\n style={{\n backgroundColor: isSelected ? 'var(--yellow-a2)' : undefined,\n cursor: onClick ? 'pointer' : undefined,\n }}\n >\n {isSelected ? (\n <Separator\n color=\"yellow\"\n orientation=\"vertical\"\n size=\"4\"\n style={{ width: '3px', position: 'absolute', left: 0 }}\n />\n ) : null}\n {children}\n </Grid>\n );\n}\n\nexport default CurriculumSidebarItemWrapper;\n","export { Flex, type FlexProps } from '@radix-ui/themes';\n","import React from 'react';\nimport { Flex } from '@/atoms/flex';\nimport { Typo } from '@/atoms/typo';\n\n\ninterface CurriculumItemTitleProps {\n title: string;\n subText: string;\n duration?: number;\n}\n\nfunction CurriculumItemTitle({\n title,\n subText,\n duration,\n}: CurriculumItemTitleProps): React.ReactNode {\n return (\n <Flex direction=\"column\" gap=\"1\">\n <Typo color=\"gray\" weight=\"bold\">\n {title}\n </Typo>\n <Typo color=\"gray\" variant=\"caption\">\n {subText}\n {duration ? ` | ${duration}분` : ''}\n </Typo>\n </Flex>\n );\n}\n\nexport default CurriculumItemTitle;\n","import React from 'react';\nimport { getCurriculumContentSubTypeText, getCurriculumIcon } from '@/utils/curriculum.utils';\nimport CurriculumItemTitle from './curriculum-item-title';\n\ninterface SectionTitleProps {\n title: string;\n duration?: number;\n icon?: string;\n type: string;\n color?: string;\n}\n\nfunction SectionCommonItem({\n title,\n duration,\n icon,\n type,\n color = 'gray',\n}: SectionTitleProps): React.ReactNode {\n const IconComp = getCurriculumIcon({ type, icon });\n\n return (\n <>\n <IconComp color={color} />\n <CurriculumItemTitle duration={duration} subText={getCurriculumContentSubTypeText(type)} title={title} />\n </>\n );\n}\n\nexport default SectionCommonItem;\n"],"mappings":"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","names":["React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","import_themes","import_jsx_runtime","RadixText","import_jsx_runtime","import_themes","import_jsx_runtime","import_themes","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
1
+ {"version":3,"sources":["../../../../src/molecules/curriculumV2/CurriculumSidebar/sidebar-item.tsx","../../../../src/icon.ts","../../../../src/icons/phone-ring.tsx","../../../../src/icons/up.tsx","../../../../src/icons/down.tsx","../../../../src/icons/mic.tsx","../../../../src/icons/camera.tsx","../../../../src/icons/camera-disabled.tsx","../../../../src/icons/end-call.tsx","../../../../src/icons/circle-play.tsx","../../../../src/icons/circle-pencil.tsx","../../../../src/icons/circle-check.tsx","../../../../src/icons/circle-satisfaction.tsx","../../../../src/icons/circle-quote.tsx","../../../../src/icons/circle-chat.tsx","../../../../src/icons/circle-file.tsx","../../../../src/utils/curriculum.utils.ts","../../../../src/atoms/grid.tsx","../../../../src/atoms/typo.tsx","../../../../src/utils/map-with-responsive.ts","../../../../src/molecules/curriculumV2/CurriculumSidebar/Items/section-title.tsx","../../../../src/atoms/separator.tsx","../../../../src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.tsx","../../../../src/atoms/flex.tsx","../../../../src/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.tsx","../../../../src/molecules/curriculumV2/CurriculumSidebar/Items/section-item.tsx"],"sourcesContent":["import type { CurriculumListContents } from '@/types/curriculum.type'; \nimport { getCurriculumIconColor } from '../../../utils/curriculum.utils';\nimport SectionTitle from './Items/section-title';\nimport CurriculumSidebarItemWrapper from './Items/curriculum-sidebar-item-wrapper';\nimport SectionCommonItem from './Items/section-item';\n\n\ninterface SidebarItemProps {\n item: CurriculumListContents;\n selectedIndex: number;\n setSelectedIndex: (index: number) => void;\n index: number;\n done: boolean;\n}\n\nfunction SidebarItem({item, selectedIndex, setSelectedIndex, index, done}: SidebarItemProps): React.ReactNode {\n \n \n if (item.type === 'sectionTitle') {\n return <SectionTitle key={item.uuid} {...item} />;\n }\n const isSelected = selectedIndex === index;\n\n return (\n <CurriculumSidebarItemWrapper\n index={index}\n isSelected={isSelected}\n key={item.uuid}\n onClick={() => {\n setSelectedIndex(index);\n }}\n >\n <SectionCommonItem\n {...item}\n color={getCurriculumIconColor({\n done,\n selected: isSelected,\n })}\n />\n </CurriculumSidebarItemWrapper>\n );\n }\n\nexport default SidebarItem;","export {\n BookmarkIcon,\n ExitIcon,\n InfoCircledIcon,\n ExclamationTriangleIcon,\n MagnifyingGlassIcon,\n DotsHorizontalIcon,\n ChatBubbleIcon,\n PlusIcon,\n BookmarkFilledIcon,\n MixerHorizontalIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ClipboardIcon,\n BarChartIcon,\n PersonIcon,\n GearIcon,\n DotsVerticalIcon,\n Pencil1Icon,\n Cross1Icon,\n Link2Icon,\n ChevronUpIcon,\n ChevronDownIcon,\n FileIcon,\n TrashIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n GlobeIcon,\n BackpackIcon,\n CalendarIcon,\n CheckIcon,\n ArchiveIcon,\n RowsIcon,\n Share1Icon,\n ClipboardCopyIcon,\n CheckCircledIcon,\n ArrowLeftIcon,\n ReloadIcon,\n RocketIcon,\n ArrowRightIcon,\n CopyIcon,\n Pencil2Icon,\n TargetIcon,\n UpdateIcon,\n DownloadIcon,\n SpeakerLoudIcon,\n UploadIcon,\n SpeakerOffIcon,\n TimerIcon,\n ArrowTopRightIcon,\n VideoIcon,\n CubeIcon,\n HamburgerMenuIcon,\n FileTextIcon,\n PaperPlaneIcon,\n BellIcon,\n ResetIcon,\n HomeIcon,\n StopIcon,\n PlayIcon,\n BoxIcon,\n DashboardIcon,\n SewingPinFilledIcon,\n EnvelopeClosedIcon,\n QuoteIcon,\n FilePlusIcon,\n QuestionMarkCircledIcon,\n FaceIcon\n} from '@radix-ui/react-icons';\n\nexport * from './icons';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const PhoneRingIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n d=\"M7.7207 8.94603C6.98877 8.2141 6.41082 7.3865 5.98686 6.50348C5.95039 6.42753 5.93216 6.38955 5.91815 6.34149C5.86837 6.17072 5.90413 5.96102 6.00769 5.81639C6.03683 5.77569 6.07165 5.74087 6.14128 5.67124C6.35424 5.45828 6.46072 5.3518 6.53033 5.24473C6.79287 4.84094 6.79287 4.32038 6.53033 3.91658C6.46072 3.80951 6.35424 3.70303 6.14128 3.49007L6.02257 3.37137C5.69885 3.04764 5.53699 2.88578 5.36315 2.79786C5.01743 2.62299 4.60914 2.62299 4.26342 2.79786C4.08958 2.88578 3.92772 3.04764 3.604 3.37137L3.50798 3.46739C3.18536 3.79 3.02405 3.95131 2.90086 4.17062C2.76415 4.41398 2.66586 4.79194 2.66669 5.07106C2.66744 5.32261 2.71624 5.49452 2.81382 5.83835C3.33828 7.68611 4.32781 9.42969 5.78242 10.8843C7.23704 12.3389 8.98062 13.3285 10.8284 13.8529C11.1722 13.9505 11.3441 13.9993 11.5957 14C11.8748 14.0009 12.2528 13.9026 12.4961 13.7659C12.7154 13.6427 12.8767 13.4814 13.1993 13.1588L13.2954 13.0627C13.6191 12.739 13.7809 12.5771 13.8689 12.4033C14.0437 12.0576 14.0437 11.6493 13.8689 11.3036C13.7809 11.1297 13.6191 10.9679 13.2954 10.6442L13.1767 10.5255C12.9637 10.3125 12.8572 10.206 12.7501 10.1364C12.3464 9.87386 11.8258 9.87386 11.422 10.1364C11.3149 10.206 11.2084 10.3125 10.9955 10.5255C10.9259 10.5951 10.891 10.6299 10.8503 10.659C10.7057 10.7626 10.496 10.7984 10.3252 10.7486C10.2772 10.7346 10.2392 10.7163 10.1632 10.6799C9.28023 10.2559 8.45262 9.67796 7.7207 8.94603Z\"\n fill={color}\n />\n <path\n d=\"M9.33335 4.22765C10.4699 4.62936 11.3707 5.53016 11.7724 6.66671M9.97701 2.33337C11.7004 2.93456 13.0655 4.2997 13.6667 6.02305M7.7207 8.94603C6.98877 8.2141 6.41082 7.3865 5.98686 6.50348C5.95039 6.42753 5.93216 6.38955 5.91815 6.34149C5.86837 6.17072 5.90413 5.96102 6.00769 5.81639C6.03683 5.77569 6.07165 5.74087 6.14128 5.67124C6.35424 5.45828 6.46072 5.3518 6.53033 5.24473C6.79287 4.84094 6.79287 4.32038 6.53033 3.91658C6.46072 3.80951 6.35424 3.70303 6.14128 3.49007L6.02257 3.37137C5.69885 3.04764 5.53699 2.88578 5.36315 2.79786C5.01743 2.62299 4.60914 2.62299 4.26342 2.79786C4.08958 2.88578 3.92772 3.04764 3.604 3.37137L3.50798 3.46739C3.18536 3.79 3.02405 3.95131 2.90086 4.17062C2.76415 4.41398 2.66586 4.79194 2.66669 5.07106C2.66744 5.32261 2.71624 5.49452 2.81382 5.83835C3.33828 7.68611 4.32781 9.42969 5.78242 10.8843C7.23704 12.3389 8.98062 13.3285 10.8284 13.8529C11.1722 13.9505 11.3441 13.9993 11.5957 14C11.8748 14.0009 12.2528 13.9026 12.4961 13.7659C12.7154 13.6427 12.8767 13.4814 13.1993 13.1588L13.2954 13.0627C13.6191 12.739 13.7809 12.5771 13.8689 12.4033C14.0437 12.0576 14.0437 11.6493 13.8689 11.3036C13.7809 11.1297 13.6191 10.9679 13.2954 10.6442L13.1767 10.5255C12.9637 10.3125 12.8572 10.206 12.7501 10.1364C12.3464 9.87386 11.8258 9.87386 11.422 10.1364C11.3149 10.206 11.2084 10.3125 10.9955 10.5255C10.9259 10.5951 10.891 10.6299 10.8503 10.659C10.7057 10.7626 10.496 10.7984 10.3252 10.7486C10.2772 10.7346 10.2392 10.7163 10.1632 10.6799C9.28023 10.2559 8.45262 9.67796 7.7207 8.94603Z\"\n stroke={color}\n strokeLinecap=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n );\n }\n);\n\nPhoneRingIcon.displayName = 'ArrowUpIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const TriangleArrowUpIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"7\"\n viewBox=\"0 0 8 7\"\n width=\"8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n d=\"M0.891555 6.1875L7.10845 6.1875C7.80261 6.1875 8.1771 5.37328 7.72534 4.84623L4.6169 1.21971C4.29263 0.841403 3.70737 0.841403 3.3831 1.21971L0.274659 4.84623C-0.177095 5.37328 0.197393 6.1875 0.891555 6.1875Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nTriangleArrowUpIcon.displayName = 'ArrowUpIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const TriangleArrowDownIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"7\"\n viewBox=\"0 0 8 7\"\n width=\"8\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n d=\"M7.10844 0.8125H0.891554C0.197392 0.8125 -0.177096 1.62672 0.274659 2.15377L3.3831 5.78029C3.70737 6.1586 4.29263 6.1586 4.6169 5.78029L7.72534 2.15377C8.1771 1.62672 7.80261 0.8125 7.10844 0.8125Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nTriangleArrowDownIcon.displayName = 'ArrowDownIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const MicIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 12 16\"\n width=\"12\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <path\n clipRule=\"evenodd\"\n d=\"M9.15383 8.15726H9.17422V7.79011V3.71671H9.17378C9.14572 1.93538 7.69297 0.5 5.90497 0.5C4.11696 0.5 2.66421 1.93538 2.63616 3.71671H2.63577V3.75606C2.63575 3.76044 2.63574 3.76483 2.63574 3.76923C2.63574 3.77362 2.63575 3.77801 2.63577 3.78239V7.79011V8.15726H2.65615C2.83862 9.78997 4.22357 11.0593 5.90499 11.0593C7.58642 11.0593 8.97136 9.78997 9.15383 8.15726Z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n <path\n d=\"M1.30707 7.51038C1.30707 8.87401 2.61826 12.2831 5.90497 12.2831M5.90497 12.2831V15.4999M5.90497 12.2831C8.8595 11.9148 10.0284 10.8351 10.5203 7.51038M5.90497 15.4999H4.05182M5.90497 15.4999H7.81056\"\n stroke={color}\n strokeLinecap=\"round\"\n strokeWidth=\"1.2\"\n />\n </svg>\n );\n }\n);\n\nMicIcon.displayName = 'MicIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CameraIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n ref={forwardedRef}\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M1.41176 2C0.470588 2 0 2.46222 0 3.38667C0 4.31111 0 11.2444 0 12.1689C0 13.0933 0.470588 13.5556 0.941176 13.5556C1.41176 13.5556 9.88235 13.5556 10.8235 13.5556C11.7647 13.5556 11.7647 13.0933 11.7647 12.1689C11.7647 11.5595 11.7647 10.9502 11.7647 10.6056C11.7647 10.4478 11.8926 10.32 12.0504 10.32H12.1689C12.2126 10.32 12.2557 10.33 12.2949 10.3493L14.1176 11.2444L15.5883 11.9667C15.7782 12.06 16 11.9218 16 11.7103V3.86745C16 3.6507 15.768 3.51238 15.577 3.61479C14.6546 4.10924 12.5222 5.23556 12.2353 5.23556C12.1353 5.23556 12.0821 5.23556 12.0502 5.23556C11.8924 5.23556 11.7647 5.10789 11.7647 4.95009C11.7647 4.51892 11.7647 3.71688 11.7647 3.38667C11.7647 2.92444 11.2941 2 10.3529 2C9.41177 2 2.35294 2 1.41176 2Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nCameraIcon.displayName = 'CameraIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CameraDisabledIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n ref={forwardedRef}\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n clipRule=\"evenodd\"\n d=\"M0 3.3872C0 2.4624 0.470588 2 1.41176 2H10.3529C11.2941 2 11.7647 2.9248 11.7647 3.3872V4.95122C11.7647 5.10908 11.8924 5.2368 12.0502 5.2368H12.2353C12.5222 5.2368 14.6546 4.11005 15.577 3.61542C15.768 3.51296 16 3.65133 16 3.86817V11.714C16 11.9256 15.7782 12.0638 15.5883 11.9706L12.2949 10.3525C12.2557 10.3332 12.2126 10.3232 12.1689 10.3232H12.0504C11.8926 10.3232 11.7647 10.451 11.7647 10.6089V12.1728C11.7647 13.0976 11.7647 13.56 10.8235 13.56H0.941176C0.470588 13.56 0 13.0976 0 12.1728V3.3872ZM8.67719 6.41215C8.8854 6.20379 8.8854 5.86598 8.67719 5.65762C8.46887 5.44925 8.13116 5.44925 7.92284 5.65762L6.16668 7.4145L4.41052 5.65762C4.2022 5.44925 3.8645 5.44925 3.65618 5.65762C3.44794 5.86598 3.44794 6.20379 3.65618 6.41215L5.41244 8.16904L3.65618 9.92593C3.44794 10.1343 3.44794 10.4721 3.65618 10.6805C3.8645 10.8888 4.2022 10.8888 4.41052 10.6805L6.16668 8.92358L7.92284 10.6805C8.13116 10.8888 8.46887 10.8888 8.67719 10.6805C8.8854 10.4721 8.8854 10.1343 8.67719 9.92593L6.92092 8.16904L8.67719 6.41215Z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCameraDisabledIcon.displayName = 'VideoDisabledIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const EndCallIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n ref={forwardedRef}\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <path\n d=\"M8 6.66667C8.90629 6.66667 9.77647 6.83841 10.5856 7.15419C10.6552 7.18136 10.69 7.19494 10.7285 7.21836C10.865 7.30159 10.9727 7.47044 10.9981 7.64117C11.0053 7.68921 11.0053 7.73711 11.0053 7.83291C11.0053 8.1259 11.0053 8.27239 11.0285 8.39394C11.1159 8.8523 11.4382 9.2104 11.8507 9.30757C11.9601 9.33333 12.092 9.33333 12.3557 9.33333H12.5026C12.9035 9.33333 13.1039 9.33333 13.266 9.27424C13.5883 9.1567 13.841 8.87584 13.9468 8.51773C14 8.33766 14 8.11498 14 7.6696V7.53749C14 7.09364 14 6.87172 13.9405 6.63611C13.8745 6.37466 13.7013 6.04705 13.528 5.85561C13.3718 5.68309 13.2352 5.5984 12.9619 5.42901C11.4932 4.51871 9.80113 4 8 4C6.19887 4 4.50678 4.51871 3.03812 5.42901C2.76484 5.5984 2.6282 5.68309 2.472 5.85561C2.29868 6.04705 2.12553 6.37466 2.0595 6.63611C2 6.87172 2 7.09364 2 7.53749V7.6696C2 8.11498 2 8.33766 2.05319 8.51773C2.15897 8.87584 2.41174 9.1567 2.73404 9.27424C2.8961 9.33333 3.09652 9.33333 3.49736 9.33333L3.64434 9.33333C3.90803 9.33333 4.03987 9.33333 4.14926 9.30757C4.56179 9.2104 4.88408 8.8523 4.97153 8.39394C4.99472 8.27239 4.99472 8.1259 4.99472 7.83291C4.99472 7.73711 4.99472 7.68921 5.00187 7.64117C5.0273 7.47044 5.13499 7.30159 5.27154 7.21836C5.30996 7.19494 5.34476 7.18136 5.41436 7.15419C6.22353 6.83841 7.09371 6.66667 8 6.66667Z\"\n fill={color}\n />\n <path\n d=\"M2 12H14M8 6.66667C8.90629 6.66667 9.77647 6.83841 10.5856 7.15419C10.6552 7.18136 10.69 7.19494 10.7285 7.21836C10.865 7.30159 10.9727 7.47044 10.9981 7.64117C11.0053 7.68921 11.0053 7.73711 11.0053 7.83291C11.0053 8.1259 11.0053 8.27239 11.0285 8.39394C11.1159 8.8523 11.4382 9.2104 11.8507 9.30757C11.9601 9.33333 12.092 9.33333 12.3557 9.33333H12.5026C12.9035 9.33333 13.1039 9.33333 13.266 9.27424C13.5883 9.1567 13.841 8.87584 13.9468 8.51773C14 8.33766 14 8.11498 14 7.6696V7.53749C14 7.09364 14 6.87172 13.9405 6.63611C13.8745 6.37466 13.7013 6.04705 13.528 5.85561C13.3718 5.68309 13.2352 5.5984 12.9619 5.42901C11.4932 4.51871 9.80113 4 8 4C6.19887 4 4.50678 4.51871 3.03812 5.42901C2.76484 5.5984 2.6282 5.68309 2.472 5.85561C2.29868 6.04705 2.12553 6.37466 2.0595 6.63611C2 6.87172 2 7.09364 2 7.53749V7.6696C2 8.11498 2 8.33766 2.05319 8.51773C2.15897 8.87584 2.41174 9.1567 2.73404 9.27424C2.8961 9.33333 3.09652 9.33333 3.49736 9.33333L3.64434 9.33333C3.90803 9.33333 4.03987 9.33333 4.14926 9.30757C4.56179 9.2104 4.88408 8.8523 4.97153 8.39394C4.99472 8.27239 4.99472 8.1259 4.99472 7.83291C4.99472 7.73711 4.99472 7.68921 5.00187 7.64117C5.0273 7.47044 5.13499 7.30159 5.27154 7.21836C5.30996 7.19494 5.34476 7.18136 5.41436 7.15419C6.22353 6.83841 7.09371 6.66667 8 6.66667Z\"\n stroke={color}\n strokeLinecap=\"round\"\n strokeWidth=\"1.5\"\n />\n </svg>\n );\n }\n);\n\nEndCallIcon.displayName = 'EndCallIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CirclePlayIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = '#currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx=\"8\" cy=\"8\" fill={color} r=\"8\" />\n <path\n d=\"M13.25 7.56699C13.5833 7.75944 13.5833 8.24056 13.25 8.43301L5.75 12.7631C5.41667 12.9556 5 12.715 5 12.3301L5 3.66987C5 3.28497 5.41667 3.04441 5.75 3.23686L13.25 7.56699Z\"\n fill=\"white\"\n />\n </svg>\n );\n }\n);\n\nCirclePlayIcon.displayName = 'CirclePlayIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CirclePencilIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx=\"8\" cy=\"8\" fill={color} r=\"8\" />\n <rect\n fill=\"white\"\n fillOpacity=\"0.01\"\n height=\"12\"\n transform=\"translate(2 2)\"\n width=\"12\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M11.4829 2.91721C11.3266 2.761 11.0733 2.761 10.9172 2.91721L4.97162 8.86274C4.89965 8.9347 4.84208 9.01974 4.80199 9.11329L3.63233 11.8424C3.5679 11.9928 3.60149 12.1672 3.71715 12.2829C3.8328 12.3985 4.00722 12.4321 4.15755 12.3677L6.88675 11.198C6.9803 11.158 7.06534 11.1004 7.13731 11.0284L13.0829 5.08289C13.239 4.92668 13.239 4.67342 13.0829 4.51721L11.4829 2.91721ZM5.53731 9.42842L11.2 3.76574L12.2343 4.80005L6.57162 10.4628L5.37537 10.9754L5.02463 10.6247L5.53731 9.42842Z\"\n fill=\"white\"\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCirclePencilIcon.displayName = 'CirclePencilIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CircleCheckIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx=\"8\" cy=\"8\" fill=\"white\" r=\"7.5\" stroke={color} />\n <rect fill=\"white\" fillOpacity=\"0.01\" height=\"16\" width=\"16\" />\n <path\n clipRule=\"evenodd\"\n d=\"M12.2314 3.97533C12.5395 4.17683 12.626 4.58999 12.4245 4.89815L7.8912 11.8315C7.78436 11.9949 7.61128 12.1032 7.41763 12.1279C7.22398 12.1527 7.02923 12.0912 6.88477 11.9599L3.95144 9.29328C3.679 9.04561 3.65892 8.62397 3.90659 8.35154C4.15426 8.0791 4.57589 8.05901 4.84833 8.30669L7.20313 10.4474L11.3086 4.16849C11.5101 3.86033 11.9232 3.77385 12.2314 3.97533Z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCircleCheckIcon.displayName = 'CircleCheckIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CircleSatisfactionIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx=\"8\" cy=\"8\" fill=\"white\" r=\"7.5\" stroke={color} />\n <rect\n fill=\"white\"\n fillOpacity=\"0.01\"\n height=\"12\"\n transform=\"translate(2 2)\"\n width=\"12\"\n />\n <path\n d=\"M7.77842 2.53284C7.86041 2.33573 8.13963 2.33573 8.22162 2.53284L9.53074 5.68036C9.5653 5.76346 9.64346 5.82023 9.73316 5.82742L13.1312 6.09985C13.344 6.1169 13.4302 6.38246 13.2682 6.52134L10.6792 8.73904C10.6109 8.79758 10.581 8.88946 10.6019 8.97699L11.3929 12.2928C11.4424 12.5005 11.2165 12.6647 11.0343 12.5534L8.12512 10.7764C8.04832 10.7296 7.95172 10.7296 7.87492 10.7764L4.96574 12.5534C4.78356 12.6647 4.55766 12.5005 4.60719 12.2928L5.39815 8.97699C5.41904 8.88946 5.38918 8.79758 5.32084 8.73904L2.73191 6.52134C2.56978 6.38246 2.65607 6.1169 2.86886 6.09985L6.26688 5.82742C6.35658 5.82023 6.43474 5.76346 6.4693 5.68036L7.77842 2.53284Z\"\n fill={color}\n />\n </svg>\n );\n }\n);\n\nCircleSatisfactionIcon.displayName = 'CircleSatisfactionIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CircleQuoteIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <circle cx=\"8\" cy=\"8\" fill=\"white\" r=\"7.5\" stroke={color} />\n <rect\n fill=\"white\"\n fillOpacity=\"0.01\"\n height=\"12\"\n transform=\"translate(2 2)\"\n width=\"12\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M9.54 4.75306C10.0449 4.58921 10.6269 4.59213 11.1033 4.83696C12.2025 5.40177 12.6781 6.8575 12.2357 8.39997C12.0372 9.09189 11.6881 9.76375 10.9489 10.4419C10.2096 11.12 9.18425 11.52 8.70854 11.52C8.53813 11.52 8.39998 11.3857 8.39998 11.22C8.39998 11.0543 8.54113 10.92 8.70854 10.92C9.25195 10.92 9.73749 10.6243 10.3125 10.1888C10.7525 9.85541 11.0961 9.42904 11.2864 9.0575C11.6502 8.34691 11.6625 7.34537 11.0746 7.07918C10.7923 7.38761 10.4236 7.56754 9.98178 7.56754C9.02182 7.56754 8.45606 6.79527 8.48038 6.09605C8.50363 5.42777 8.92823 4.95161 9.54 4.75306ZM4.74 4.75306C5.24489 4.58921 5.8269 4.59213 6.30336 4.83696C7.40254 5.40177 7.8781 6.8575 7.43567 8.39997C7.23721 9.09189 6.88813 9.76375 6.14886 10.4419C5.40958 11.12 4.38425 11.52 3.90854 11.52C3.73813 11.52 3.59998 11.3857 3.59998 11.22C3.59998 11.0543 3.74113 10.92 3.90854 10.92C4.45195 10.92 4.93749 10.6243 5.51244 10.1888C5.9525 9.85541 6.29609 9.42904 6.48635 9.0575C6.85023 8.34691 6.86254 7.34537 6.27462 7.07918C5.99227 7.38761 5.62356 7.56754 5.18178 7.56754C4.22182 7.56754 3.65606 6.79527 3.68038 6.09605C3.70363 5.42777 4.12823 4.95161 4.74 4.75306Z\"\n fill={color}\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCircleQuoteIcon.displayName = 'CircleQuoteIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CircleChatIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n ref={forwardedRef}\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n >\n <rect fill={color} height=\"16\" rx=\"8\" width=\"16\" />\n <rect\n fill=\"white\"\n fillOpacity=\"0.01\"\n height=\"12\"\n transform=\"translate(2 2)\"\n width=\"12\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M12 4.39998L4 4.39999C3.33726 4.39999 2.8 4.93726 2.8 5.59999V9.6C2.8 10.2628 3.33726 10.8 4 10.8H8.00002C8.10611 10.8 8.20786 10.8421 8.28286 10.9172L10 12.6343V11.2C10 10.9791 10.1791 10.8 10.4 10.8H12C12.6627 10.8 13.2 10.2628 13.2 9.6V5.59998C13.2 4.93723 12.6627 4.39998 12 4.39998ZM3.99999 3.59999L12 3.59998C13.1046 3.59998 14 4.49541 14 5.59998V9.6C14 10.7045 13.1046 11.6 12 11.6H10.8V13.6C10.8 13.7617 10.7026 13.9076 10.553 13.9695C10.4036 14.0314 10.2315 13.9972 10.1171 13.8829L7.83434 11.6H4C2.89543 11.6 2 10.7045 2 9.6V5.59999C2 4.49542 2.89542 3.6 3.99999 3.59999Z\"\n fill=\"white\"\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCircleChatIcon.displayName = 'CircleChatIcon';\n","import * as React from 'react';\nimport type { IconProps } from './types';\n\nexport const CircleFileIcon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ color = 'currentColor', ...props }, forwardedRef) => {\n return (\n <svg\n fill=\"none\"\n height=\"16\"\n viewBox=\"0 0 16 16\"\n width=\"16\"\n xmlns=\"http://www.w3.org/2000/svg\"\n {...props}\n ref={forwardedRef}\n >\n <rect fill={color} height=\"16\" rx=\"8\" width=\"16\" />\n <rect\n fill=\"white\"\n fillOpacity=\"0.01\"\n height=\"12\"\n transform=\"translate(2 2)\"\n width=\"12\"\n />\n <path\n clipRule=\"evenodd\"\n d=\"M4.39998 4.00005C4.39998 3.77914 4.57906 3.60005 4.79998 3.60005H9.26861C9.37469 3.60005 9.47643 3.64219 9.55145 3.71721L11.4829 5.64858C11.5578 5.72359 11.6 5.82534 11.6 5.93142V12C11.6 12.2209 11.4209 12.4 11.2 12.4H4.79998C4.57906 12.4 4.39998 12.2209 4.39998 12V4.00005ZM4.79998 2.80005C4.13723 2.80005 3.59998 3.3373 3.59998 4.00005V12C3.59998 12.6628 4.13723 13.2 4.79998 13.2H11.2C11.8627 13.2 12.4 12.6628 12.4 12V5.93142C12.4 5.61316 12.2736 5.30794 12.0485 5.08289L10.1171 3.15152C9.89209 2.92648 9.58686 2.80005 9.26861 2.80005H4.79998ZM5.59998 5.20005C5.37906 5.20005 5.19998 5.37914 5.19998 5.60005C5.19998 5.82096 5.37906 6.00005 5.59998 6.00005H7.99998C8.22089 6.00005 8.39998 5.82096 8.39998 5.60005C8.39998 5.37914 8.22089 5.20005 7.99998 5.20005H5.59998ZM5.59998 7.60005C5.37906 7.60005 5.19998 7.77914 5.19998 8.00005C5.19998 8.22096 5.37906 8.40005 5.59998 8.40005H10.4C10.6209 8.40005 10.8 8.22096 10.8 8.00005C10.8 7.77914 10.6209 7.60005 10.4 7.60005H5.59998ZM5.59998 10C5.37906 10 5.19998 10.1792 5.19998 10.4C5.19998 10.6209 5.37906 10.8 5.59998 10.8H10.4C10.6209 10.8 10.8 10.6209 10.8 10.4C10.8 10.1792 10.6209 10 10.4 10H5.59998Z\"\n fill=\"white\"\n fillRule=\"evenodd\"\n />\n </svg>\n );\n }\n);\n\nCircleFileIcon.displayName = 'CircleFileIcon';\n","import { \n CircleChatIcon,\n CircleCheckIcon,\n CircleFileIcon,\n CirclePencilIcon,\n CirclePlayIcon,\n CircleQuoteIcon,\n CircleSatisfactionIcon,\n } from '@/icon';\n\nexport const CurriculumListIcons = {\n pencil: CirclePencilIcon,\n video: CirclePlayIcon,\n quote: CircleQuoteIcon,\n check: CircleCheckIcon,\n star: CircleSatisfactionIcon,\n file: CircleFileIcon,\n};\n\nexport const getCurriculumIcon = ({\n type,\n icon,\n}: {\n type: string;\n icon?: string;\n}): typeof CirclePlayIcon => {\n if (icon && Object.prototype.hasOwnProperty.call(CurriculumListIcons, icon)) {\n return CurriculumListIcons[icon as keyof typeof CurriculumListIcons];\n }\n\n switch (type) {\n case 'video':\n return CirclePlayIcon;\n case 'question_text':\n return CircleQuoteIcon;\n case 'question_radio':\n return CircleCheckIcon;\n case 'question_satisfaction_option':\n case 'question_satisfaction_text':\n return CircleSatisfactionIcon;\n case 'aiTraining':\n return CircleChatIcon; \n case 'fileDownload':\n return CircleFileIcon;\n case 'review':\n default:\n return CirclePencilIcon;\n }\n};\n\nexport const getCurriculumIconColor = ({\n done = false,\n selected = false,\n}: {\n done?: boolean;\n selected?: boolean;\n}): string => {\n if (selected) {\n return '#D5AE39';\n }\n if (done) {\n return '#30A46C';\n }\n return '#D9D9E0';\n};\n\nexport const getCurriculumQuestionIconColor = (type: string): string => {\n switch (type) {\n case 'question_text':\n return '#D5AE39';\n case 'question_radio':\n return '#30A46C';\n default:\n return '#D9D9E0';\n }\n};\n\nexport const getCurriculumQuestionTypeDescription = (type: string): string => {\n switch (type) {\n case 'question_text':\n return '주관식';\n case 'question_radio':\n return '객관식';\n default:\n return '';\n }\n};\n\nexport const getCurriculumContentSubTypeText = (type: string): string => {\n switch (type) {\n case 'video':\n return '영상';\n case 'review':\n return '리뷰';\n case 'aiTraining':\n return 'AI 롤플레이';\n case 'fileDownload':\n return '자료 다운로드';\n default:\n return '';\n }\n};\n \n","export { Grid, type GridProps } from '@radix-ui/themes';\n","import type { TextProps as RadixTextProps } from '@radix-ui/themes';\nimport type { Responsive } from '@radix-ui/themes/props';\nimport { Text as RadixText } from '@radix-ui/themes';\nimport React, { useMemo, forwardRef } from 'react';\nimport { mapWithResponsive } from '@/utils/map-with-responsive';\n\nexport type TypoProps = RadixTextProps & {\n variant?: Responsive<'body' | 'caption' | 'subtitle'>;\n};\n\nexport const Typo = forwardRef<HTMLSpanElement, TypoProps>(\n (props: TypoProps, ref): React.ReactNode => {\n const { size, variant, children, ...rest } = props;\n\n const radixSize = useMemo<RadixTextProps['size']>(() => {\n if (size !== undefined) return size;\n\n if (variant === undefined) return '2';\n\n return mapWithResponsive({\n value: variant,\n mapFn: (variantValue?: 'body' | 'caption' | 'subtitle') => {\n switch (variantValue) {\n case 'caption':\n return '1';\n case 'subtitle':\n return '3';\n case 'body':\n default:\n return '2';\n }\n },\n });\n }, [size, variant]);\n\n return (\n <RadixText {...rest} ref={ref} size={radixSize}>\n {children}\n </RadixText>\n );\n }\n);\n\nTypo.displayName = 'Typo';\n","import type { Breakpoint, Responsive } from \"@radix-ui/themes/props\";\n\nexport const mapWithResponsive = <T extends string,K extends string>(\n args: {value: Responsive<T>, mapFn: (value?:T)=>K |undefined}\n): Responsive<K> | undefined => {\n const {value, mapFn} = args;\n if(typeof value === 'string'){\n return mapFn(value);\n };\n \n if(typeof value === 'object'){\n const newObj: Partial<Record<Breakpoint, K>> = {};\n let key: Breakpoint;\n for(key in value){\n newObj[key] = mapFn(value[key]);\n }\n return newObj;\n }\n return value;\n};\n","import React from 'react';\nimport { Grid } from '@/atoms/grid';\nimport { Typo } from '@/atoms/typo';\nimport { type CurriculumSectionTitleContents } from '@/types/curriculumContents.type';\n\nfunction SectionTitle(props: CurriculumSectionTitleContents): React.ReactNode {\n const { title, duration } = props;\n return (\n <Grid align=\"center\" columns=\"1fr auto\" px=\"3\" py=\"2\">\n <Typo color=\"gray\">{title}</Typo>\n <Typo color=\"gray\" variant=\"caption\">\n {duration}분\n </Typo>\n </Grid>\n );\n}\n\nexport default SectionTitle;\n","export { Separator, type SeparatorProps } from '@radix-ui/themes';\n","import React from 'react';\nimport { Grid } from '@/atoms/grid';\nimport { Separator } from '@/atoms/separator';\n\ninterface CurriculumSidebarItemWrapperProps {\n children: React.ReactNode;\n isSelected: boolean;\n onClick?: () => void;\n index: number;\n}\n\nfunction CurriculumSidebarItemWrapper({\n children,\n isSelected,\n onClick,\n index,\n}: CurriculumSidebarItemWrapperProps): React.ReactNode {\n return (\n <Grid\n align=\"center\"\n columns=\"auto 1fr\"\n data-curriculum-item-index={index}\n gap=\"2\"\n onClick={onClick}\n position=\"relative\"\n px=\"3\"\n py=\"2\"\n style={{\n backgroundColor: isSelected ? 'var(--yellow-a2)' : undefined,\n cursor: onClick ? 'pointer' : undefined,\n }}\n >\n {isSelected ? (\n <Separator\n color=\"yellow\"\n orientation=\"vertical\"\n size=\"4\"\n style={{ width: '3px', position: 'absolute', left: 0 }}\n />\n ) : null}\n {children}\n </Grid>\n );\n}\n\nexport default CurriculumSidebarItemWrapper;\n","export { Flex, type FlexProps } from '@radix-ui/themes';\n","import React from 'react';\nimport { Flex } from '@/atoms/flex';\nimport { Typo } from '@/atoms/typo';\n\n\ninterface CurriculumItemTitleProps {\n title: string;\n subText: string;\n duration?: number;\n}\n\nfunction CurriculumItemTitle({\n title,\n subText,\n duration,\n}: CurriculumItemTitleProps): React.ReactNode {\n return (\n <Flex direction=\"column\" gap=\"1\">\n <Typo color=\"gray\" weight=\"bold\">\n {title}\n </Typo>\n <Typo color=\"gray\" variant=\"caption\">\n {subText}\n {duration ? ` | ${duration}분` : ''}\n </Typo>\n </Flex>\n );\n}\n\nexport default CurriculumItemTitle;\n","import React from 'react';\nimport { getCurriculumContentSubTypeText, getCurriculumIcon } from '@/utils/curriculum.utils';\nimport CurriculumItemTitle from './curriculum-item-title';\n\ninterface SectionTitleProps {\n title: string;\n duration?: number;\n icon?: string;\n type: string;\n color?: string;\n}\n\nfunction SectionCommonItem({\n title,\n duration,\n icon,\n type,\n color = 'gray',\n}: SectionTitleProps): React.ReactNode {\n const IconComp = getCurriculumIcon({ type, icon });\n\n return (\n <>\n <IconComp color={color} />\n <CurriculumItemTitle duration={duration} subText={getCurriculumContentSubTypeText(type)} title={title} />\n </>\n );\n}\n\nexport default SectionCommonItem;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAA,yBAoEO;;;ACpEP,YAAuB;AAMjB;AAHC,IAAM,gBAAsB;AAAA,EACjC,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,GAAE;AAAA,cACF,MAAM;AAAA;AAAA,UACR;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,GAAE;AAAA,cACF,QAAQ;AAAA,cACR,eAAc;AAAA,cACd,aAAY;AAAA;AAAA,UACd;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,cAAc,cAAc;;;AC9B5B,IAAAA,SAAuB;AAef,IAAAC,sBAAA;AAZD,IAAM,sBAA4B;AAAA,EACvC,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM;AAAA;AAAA,QACR;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,oBAAoB,cAAc;;;ACxBlC,IAAAC,SAAuB;AAef,IAAAC,sBAAA;AAZD,IAAM,wBAA8B;AAAA,EACzC,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM;AAAA;AAAA,QACR;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,sBAAsB,cAAc;;;ACxBpC,IAAAC,SAAuB;AAMjB,IAAAC,sBAAA;AAHC,IAAM,UAAgB;AAAA,EAC3B,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAM;AAAA,cACN,UAAS;AAAA;AAAA,UACX;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,GAAE;AAAA,cACF,QAAQ;AAAA,cACR,eAAc;AAAA,cACd,aAAY;AAAA;AAAA,UACd;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,QAAQ,cAAc;;;AChCtB,IAAAC,SAAuB;AAef,IAAAC,sBAAA;AAZD,IAAM,aAAmB;AAAA,EAC9B,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,KAAK;AAAA,QACL,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QAPL;AAAA,QASC;AAAA,UAAC;AAAA;AAAA,YACC,GAAE;AAAA,YACF,MAAM;AAAA;AAAA,QACR;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,WAAW,cAAc;;;ACxBzB,IAAAC,SAAuB;AAef,IAAAC,sBAAA;AAZD,IAAM,qBAA2B;AAAA,EACtC,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,KAAK;AAAA,QACL,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QAPL;AAAA,QASC;AAAA,UAAC;AAAA;AAAA,YACC,UAAS;AAAA,YACT,GAAE;AAAA,YACF,MAAM;AAAA,YACN,UAAS;AAAA;AAAA,QACX;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,mBAAmB,cAAc;;;AC1BjC,IAAAC,SAAuB;AAMjB,IAAAC,sBAAA;AAHC,IAAM,cAAoB;AAAA,EAC/B,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,KAAK;AAAA,QACL,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QAPL;AAAA,QASC;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,GAAE;AAAA,cACF,MAAM;AAAA;AAAA,UACR;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,GAAE;AAAA,cACF,QAAQ;AAAA,cACR,eAAc;AAAA,cACd,aAAY;AAAA;AAAA,UACd;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,YAAY,cAAc;;;AC9B1B,IAAAC,SAAuB;AAMjB,IAAAC,sBAAA;AAHC,IAAM,iBAAuB;AAAA,EAClC,CAAC,IAAuC,iBAAiB;AAAxD,iBAAE,UAAQ,gBAJb,IAIG,IAA8B,kBAA9B,IAA8B,CAA5B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL;AAAA,uDAAC,YAAO,IAAG,KAAI,IAAG,KAAI,MAAM,OAAO,GAAE,KAAI;AAAA,UACzC;AAAA,YAAC;AAAA;AAAA,cACC,GAAE;AAAA,cACF,MAAK;AAAA;AAAA,UACP;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,eAAe,cAAc;;;ACzB7B,IAAAC,SAAuB;AAMjB,IAAAC,sBAAA;AAHC,IAAM,mBAAyB;AAAA,EACpC,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL;AAAA,uDAAC,YAAO,IAAG,KAAI,IAAG,KAAI,MAAM,OAAO,GAAE,KAAI;AAAA,UACzC;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,aAAY;AAAA,cACZ,QAAO;AAAA,cACP,WAAU;AAAA,cACV,OAAM;AAAA;AAAA,UACR;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA,cACL,UAAS;AAAA;AAAA,UACX;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,iBAAiB,cAAc;;;AClC/B,IAAAC,UAAuB;AAMjB,IAAAC,uBAAA;AAHC,IAAM,kBAAwB;AAAA,EACnC,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL;AAAA,wDAAC,YAAO,IAAG,KAAI,IAAG,KAAI,MAAK,SAAQ,GAAE,OAAM,QAAQ,OAAO;AAAA,UAC1D,8CAAC,UAAK,MAAK,SAAQ,aAAY,QAAO,QAAO,MAAK,OAAM,MAAK;AAAA,UAC7D;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAM;AAAA,cACN,UAAS;AAAA;AAAA,UACX;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,gBAAgB,cAAc;;;AC5B9B,IAAAC,UAAuB;AAMjB,IAAAC,uBAAA;AAHC,IAAM,yBAA+B;AAAA,EAC1C,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL;AAAA,wDAAC,YAAO,IAAG,KAAI,IAAG,KAAI,MAAK,SAAQ,GAAE,OAAM,QAAQ,OAAO;AAAA,UAC1D;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,aAAY;AAAA,cACZ,QAAO;AAAA,cACP,WAAU;AAAA,cACV,OAAM;AAAA;AAAA,UACR;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,GAAE;AAAA,cACF,MAAM;AAAA;AAAA,UACR;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,uBAAuB,cAAc;;;AChCrC,IAAAC,UAAuB;AAMjB,IAAAC,uBAAA;AAHC,IAAM,kBAAwB;AAAA,EACnC,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL;AAAA,wDAAC,YAAO,IAAG,KAAI,IAAG,KAAI,MAAK,SAAQ,GAAE,OAAM,QAAQ,OAAO;AAAA,UAC1D;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,aAAY;AAAA,cACZ,QAAO;AAAA,cACP,WAAU;AAAA,cACV,OAAM;AAAA;AAAA,UACR;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAM;AAAA,cACN,UAAS;AAAA;AAAA,UACX;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,gBAAgB,cAAc;;;AClC9B,IAAAC,UAAuB;AAMjB,IAAAC,uBAAA;AAHC,IAAM,iBAAuB;AAAA,EAClC,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,KAAK;AAAA,QACL,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QAPL;AAAA,QASC;AAAA,wDAAC,UAAK,MAAM,OAAO,QAAO,MAAK,IAAG,KAAI,OAAM,MAAK;AAAA,UACjD;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,aAAY;AAAA,cACZ,QAAO;AAAA,cACP,WAAU;AAAA,cACV,OAAM;AAAA;AAAA,UACR;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA,cACL,UAAS;AAAA;AAAA,UACX;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,eAAe,cAAc;;;AClC7B,IAAAC,UAAuB;AAMjB,IAAAC,uBAAA;AAHC,IAAM,iBAAuB;AAAA,EAClC,CAAC,IAAsC,iBAAiB;AAAvD,iBAAE,UAAQ,eAJb,IAIG,IAA6B,kBAA7B,IAA6B,CAA3B;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,QAAO;AAAA,QACP,SAAQ;AAAA,QACR,OAAM;AAAA,QACN,OAAM;AAAA,SACF,QANL;AAAA,QAOC,KAAK;AAAA,QAEL;AAAA,wDAAC,UAAK,MAAM,OAAO,QAAO,MAAK,IAAG,KAAI,OAAM,MAAK;AAAA,UACjD;AAAA,YAAC;AAAA;AAAA,cACC,MAAK;AAAA,cACL,aAAY;AAAA,cACZ,QAAO;AAAA,cACP,WAAU;AAAA,cACV,OAAM;AAAA;AAAA,UACR;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,UAAS;AAAA,cACT,GAAE;AAAA,cACF,MAAK;AAAA,cACL,UAAS;AAAA;AAAA,UACX;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,eAAe,cAAc;;;ACxBtB,IAAM,sBAAsB;AAAA,EACjC,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,OAAO;AAAA,EACP,OAAO;AAAA,EACP,MAAM;AAAA,EACN,MAAM;AACR;AAEO,IAAM,oBAAoB,CAAC;AAAA,EAChC;AAAA,EACA;AACF,MAG6B;AAC3B,MAAI,QAAQ,OAAO,UAAU,eAAe,KAAK,qBAAqB,IAAI,GAAG;AAC3E,WAAO,oBAAoB,IAAwC;AAAA,EACrE;AAEA,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL;AACE,aAAO;AAAA,EACX;AACF;AAEO,IAAM,yBAAyB,CAAC;AAAA,EACrC,OAAO;AAAA,EACP,WAAW;AACb,MAGc;AACZ,MAAI,UAAU;AACZ,WAAO;AAAA,EACT;AACA,MAAI,MAAM;AACR,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAwBO,IAAM,kCAAkC,CAAC,SAAyB;AACvE,UAAQ,MAAM;AAAA,IACZ,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;;;ACrGA,oBAAqC;;;ACErC,IAAAC,iBAAkC;AAClC,mBAA2C;;;ACDpC,IAAM,oBAAoB,CAChC,SAC+B;AAC9B,QAAM,EAAC,OAAO,MAAK,IAAI;AACvB,MAAG,OAAO,UAAU,UAAS;AAC3B,WAAO,MAAM,KAAK;AAAA,EACpB;AAAC;AAED,MAAG,OAAO,UAAU,UAAS;AAC3B,UAAM,SAAyC,CAAC;AAChD,QAAI;AACJ,SAAI,OAAO,OAAM;AACf,aAAO,GAAG,IAAI,MAAM,MAAM,GAAG,CAAC;AAAA,IAChC;AACA,WAAO;AAAA,EACT;AACA,SAAO;AACT;;;ADiBM,IAAAC,uBAAA;AA1BC,IAAM,WAAO;AAAA,EAClB,CAAC,OAAkB,QAAyB;AAC1C,UAA6C,YAArC,QAAM,SAAS,SAZ3B,IAYiD,IAAT,iBAAS,IAAT,CAA5B,QAAM,WAAS;AAEvB,UAAM,gBAAY,sBAAgC,MAAM;AACtD,UAAI,SAAS,OAAW,QAAO;AAE/B,UAAI,YAAY,OAAW,QAAO;AAElC,aAAO,kBAAkB;AAAA,QACvB,OAAO;AAAA,QACP,OAAO,CAAC,iBAAmD;AACzD,kBAAQ,cAAc;AAAA,YACpB,KAAK;AACH,qBAAO;AAAA,YACT,KAAK;AACH,qBAAO;AAAA,YACT,KAAK;AAAA,YACL;AACE,qBAAO;AAAA,UACX;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,GAAG,CAAC,MAAM,OAAO,CAAC;AAElB,WACE,8CAAC,eAAAC,MAAA,iCAAc,OAAd,EAAoB,KAAU,MAAM,WAClC,WACH;AAAA,EAEJ;AACF;AAEA,KAAK,cAAc;;;AElCb,IAAAC,uBAAA;AAJN,SAAS,aAAa,OAAwD;AAC5E,QAAM,EAAE,OAAO,SAAS,IAAI;AAC5B,SACE,+CAAC,sBAAK,OAAM,UAAS,SAAQ,YAAW,IAAG,KAAI,IAAG,KAChD;AAAA,kDAAC,QAAK,OAAM,QAAQ,iBAAM;AAAA,IAC1B,+CAAC,QAAK,OAAM,QAAO,SAAQ,WACxB;AAAA;AAAA,MAAS;AAAA,OACZ;AAAA,KACF;AAEJ;AAEA,IAAO,wBAAQ;;;ACjBf,IAAAC,iBAA+C;;;ACkB3C,IAAAC,uBAAA;AAPJ,SAAS,6BAA6B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAuD;AACrD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAQ;AAAA,MACR,8BAA4B;AAAA,MAC5B,KAAI;AAAA,MACJ;AAAA,MACA,UAAS;AAAA,MACT,IAAG;AAAA,MACH,IAAG;AAAA,MACH,OAAO;AAAA,QACL,iBAAiB,aAAa,qBAAqB;AAAA,QACnD,QAAQ,UAAU,YAAY;AAAA,MAChC;AAAA,MAEC;AAAA,qBACC;AAAA,UAAC;AAAA;AAAA,YACC,OAAM;AAAA,YACN,aAAY;AAAA,YACZ,MAAK;AAAA,YACL,OAAO,EAAE,OAAO,OAAO,UAAU,YAAY,MAAM,EAAE;AAAA;AAAA,QACvD,IACE;AAAA,QACH;AAAA;AAAA;AAAA,EACH;AAEJ;AAEA,IAAO,0CAAQ;;;AC7Cf,IAAAC,iBAAqC;;;ACkB/B,IAAAC,uBAAA;AAPN,SAAS,oBAAoB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AACF,GAA8C;AAC5C,SACE,+CAAC,uBAAK,WAAU,UAAS,KAAI,KAC3B;AAAA,kDAAC,QAAK,OAAM,QAAO,QAAO,QACvB,iBACH;AAAA,IACA,+CAAC,QAAK,OAAM,QAAO,SAAQ,WACxB;AAAA;AAAA,MACA,WAAW,MAAM,QAAQ,WAAM;AAAA,OAClC;AAAA,KACF;AAEJ;AAEA,IAAO,gCAAQ;;;ACPX,IAAAC,uBAAA;AAVJ,SAAS,kBAAkB;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,QAAQ;AACV,GAAuC;AACrC,QAAM,WAAW,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAEjD,SACE,gFACE;AAAA,kDAAC,YAAS,OAAc;AAAA,IACxB,8CAAC,iCAAoB,UAAoB,SAAS,gCAAgC,IAAI,GAAG,OAAc;AAAA,KACzG;AAEJ;AAEA,IAAO,uBAAQ;;;AzBVA,IAAAC,uBAAA;AAJf,SAAS,YAAY,EAAC,MAAM,eAAe,kBAAkB,OAAO,KAAI,GAAsC;AAG5G,MAAI,KAAK,SAAS,gBAAgB;AAC5B,WAAO,8CAAC,0CAAiC,OAAf,KAAK,IAAgB;AAAA,EACjD;AACA,QAAM,aAAa,kBAAkB;AAErC,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MAEA,SAAS,MAAM;AACb,yBAAiB,KAAK;AAAA,MACxB;AAAA,MAEA;AAAA,QAAC;AAAA,yCACK,OADL;AAAA,UAEC,OAAO,uBAAuB;AAAA,YAC5B;AAAA,YACA,UAAU;AAAA,UACZ,CAAC;AAAA;AAAA,MACH;AAAA;AAAA,IAXK,KAAK;AAAA,EAYZ;AAEJ;AAEJ,IAAO,uBAAQ;","names":["React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","React","import_jsx_runtime","import_themes","import_jsx_runtime","RadixText","import_jsx_runtime","import_themes","import_jsx_runtime","import_themes","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime"]}
@@ -1,21 +1,20 @@
1
1
  import {
2
2
  sidebar_item_default
3
- } from "../../../chunk-3SCBKVQQ.js";
3
+ } from "../../../chunk-VKH2GRVW.js";
4
4
  import "../../../chunk-WS7IOHVK.js";
5
- import "../../../chunk-KCC3DAOY.js";
5
+ import "../../../chunk-LT5C6QT7.js";
6
+ import "../../../chunk-SDEDXT7A.js";
6
7
  import "../../../chunk-4TST4UK5.js";
7
- import "../../../chunk-MJMHPIYX.js";
8
- import "../../../chunk-JF7JAMOQ.js";
8
+ import "../../../chunk-2ISIAPFS.js";
9
9
  import "../../../chunk-HYITAA4J.js";
10
10
  import "../../../chunk-EGEQY3KT.js";
11
- import "../../../chunk-PMJIFLDT.js";
12
- import "../../../chunk-LDBWASUA.js";
13
11
  import "../../../chunk-25HMMI7R.js";
14
12
  import "../../../chunk-W5TPOFOO.js";
15
- import "../../../chunk-WJ34ZHTU.js";
13
+ import "../../../chunk-VD7AQ7HK.js";
16
14
  import "../../../chunk-ZQE7SP6P.js";
17
15
  import "../../../chunk-R6ARPREO.js";
18
16
  import "../../../chunk-2O45FRFQ.js";
17
+ import "../../../chunk-SI4Y7NUG.js";
19
18
  import "../../../chunk-J2I3R3OV.js";
20
19
  import "../../../chunk-QO6KO6MN.js";
21
20
  import "../../../chunk-5KNRHIIF.js";
@@ -26,6 +25,8 @@ import "../../../chunk-YSYJCYHY.js";
26
25
  import "../../../chunk-5OM2H6RI.js";
27
26
  import "../../../chunk-ZUYCXCPW.js";
28
27
  import "../../../chunk-YVFNJE4E.js";
28
+ import "../../../chunk-PMJIFLDT.js";
29
+ import "../../../chunk-LDBWASUA.js";
29
30
  import "../../../chunk-CRTRMMJ7.js";
30
31
  export {
31
32
  sidebar_item_default as default
@@ -26,6 +26,21 @@ __export(curriculum_context_exports, {
26
26
  module.exports = __toCommonJS(curriculum_context_exports);
27
27
  var import_react = require("react");
28
28
  var import_jsx_runtime = require("react/jsx-runtime");
29
+ var EMPTY_SELECTED_ITEM = {
30
+ uuid: "",
31
+ type: "sectionTitle",
32
+ title: ""
33
+ };
34
+ function getInitialSelectedIndex(args) {
35
+ const { initialSelectedIndex, selectableIndexes } = args;
36
+ if (typeof initialSelectedIndex === "number" && selectableIndexes.includes(initialSelectedIndex)) {
37
+ return initialSelectedIndex;
38
+ }
39
+ if (selectableIndexes.length > 0) {
40
+ return selectableIndexes[0];
41
+ }
42
+ return 0;
43
+ }
29
44
  var CurriculumContext = (0, import_react.createContext)(
30
45
  void 0
31
46
  );
@@ -35,6 +50,7 @@ function CurriculumProvider(props) {
35
50
  curriculum,
36
51
  onReviewSubmit,
37
52
  onReviewValueChange,
53
+ onClickfileDownload,
38
54
  curriculumReviewAnswers,
39
55
  tempCurriculumReviewAnswers,
40
56
  curriculumCompleteMap,
@@ -59,8 +75,19 @@ function CurriculumProvider(props) {
59
75
  [list]
60
76
  );
61
77
  const [selectedIndexState, setSelectedIndexState] = (0, import_react.useState)(
62
- initialSelectedIndex != null ? initialSelectedIndex : selectableIndexes[0]
78
+ getInitialSelectedIndex({ initialSelectedIndex, selectableIndexes })
63
79
  );
80
+ (0, import_react.useEffect)(() => {
81
+ if (selectableIndexes.length === 0) {
82
+ if (selectedIndexState !== 0) {
83
+ setSelectedIndexState(0);
84
+ }
85
+ return;
86
+ }
87
+ if (!selectableIndexes.includes(selectedIndexState)) {
88
+ setSelectedIndexState(selectableIndexes[0]);
89
+ }
90
+ }, [selectableIndexes, selectedIndexState]);
64
91
  const setSelectedIndex = (0, import_react.useCallback)(
65
92
  (idx) => {
66
93
  if (selectableIndexes.includes(idx)) {
@@ -111,12 +138,19 @@ function CurriculumProvider(props) {
111
138
  const selectedId = (0, import_react.useMemo)(
112
139
  () => {
113
140
  var _a, _b;
141
+ if (selectedIndexState < 0 || selectedIndexState >= list.length) {
142
+ return "";
143
+ }
114
144
  return (_b = (_a = list[selectedIndexState]) == null ? void 0 : _a.uuid) != null ? _b : "";
115
145
  },
116
146
  [list, selectedIndexState]
117
147
  );
118
148
  const selectedItem = (0, import_react.useMemo)(() => {
119
- return list[selectedIndexState];
149
+ var _a;
150
+ if (selectedIndexState < 0 || selectedIndexState >= list.length) {
151
+ return EMPTY_SELECTED_ITEM;
152
+ }
153
+ return (_a = list[selectedIndexState]) != null ? _a : EMPTY_SELECTED_ITEM;
120
154
  }, [list, selectedIndexState]);
121
155
  const selectedSectionTitle = (0, import_react.useMemo)(() => {
122
156
  var _a;
@@ -124,8 +158,13 @@ function CurriculumProvider(props) {
124
158
  return (_a = prevItems.find((item) => item.type === "sectionTitle")) != null ? _a : null;
125
159
  }, [list, selectedIndexState]);
126
160
  (0, import_react.useEffect)(() => {
127
- onChangeSelectedContent == null ? void 0 : onChangeSelectedContent(selectedItem);
128
- }, [selectedItem]);
161
+ const inBounds = selectedIndexState >= 0 && selectedIndexState < list.length;
162
+ if (!inBounds) return;
163
+ const item = list[selectedIndexState];
164
+ if (!item) return;
165
+ if (item.type === "sectionTitle") return;
166
+ onChangeSelectedContent == null ? void 0 : onChangeSelectedContent(item);
167
+ }, [list, onChangeSelectedContent, selectedIndexState]);
129
168
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
130
169
  CurriculumContext.Provider,
131
170
  {
@@ -144,6 +183,7 @@ function CurriculumProvider(props) {
144
183
  scrollAreaRef: sidebarRef,
145
184
  onReviewSubmit,
146
185
  onReviewValueChange,
186
+ onClickfileDownload,
147
187
  curriculumReviewAnswers,
148
188
  tempCurriculumReviewAnswers,
149
189
  curriculumCompleteMap,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/molecules/curriculumV2/curriculum-context.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useMemo,\n useCallback,\n useRef,\n useEffect,\n} from 'react';\nimport { type CurriculumSectionTitleContents } from '@/types/curriculumContents.type';\nimport type {\n Curriculum,\n CurriculumListContents,\n} from '@/types/curriculum.type';\n\nexport interface CurriculumContextValue {\n curriculum: Curriculum;\n selectedIndex: number;\n setSelectedIndex: (idx: number) => void;\n selectedId: string;\n hasPrev: boolean;\n hasNext: boolean;\n selectPrev: (cb?: (moveIndex: number) => void) => void;\n selectNext: (cb?: (moveIndex: number) => void) => void;\n selectedItem: CurriculumListContents;\n /** 선택된 아이템의 이전 아이템 중 가장 가까운 섹션 타이틀 */\n selectedSectionTitle: CurriculumSectionTitleContents | null;\n /** 컨텐츠 목록 스크롤 이동 함수 */\n scrollNavItem: (uuid: string) => void;\n /** 스크롤 영역 참조 */\n scrollAreaRef: React.RefObject<HTMLDivElement | null>;\n /** 리뷰 제출 함수 */\n onReviewSubmit: ({\n reviewId,\n answer,\n }: {\n reviewId: string;\n answer: Record<string, string>;\n }) => Promise<boolean>;\n /** 리뷰 응답 값 변경 시 호출 */\n onReviewValueChange: ({\n reviewId,\n answer,\n }: {\n reviewId: string;\n answer: Record<string, string>;\n }) => void;\n /** 과제 완료 후 저장된 값 */\n curriculumReviewAnswers: Record<string, string>;\n /** 과제 완료 전 임시 저장된 값 */\n tempCurriculumReviewAnswers: Record<string, string>;\n /** 항목 수강 완료 여부 */\n curriculumCompleteMap: Record<string, boolean>;\n /** action Button 클릭시 호출 */\n onActionButtonClick: (item: CurriculumListContents) => void;\n /** 초기 선택 인덱스 */\n initialSelectedIndex?: number;\n /** 커스텀 탭 주입값 */\n customTabs?: {\n content: React.ReactElement;\n label: string;\n value: string;\n }[];\n}\n\nconst CurriculumContext = createContext<CurriculumContextValue | undefined>(\n undefined\n);\n\nexport interface CurriculumProviderProps\n extends Pick<\n CurriculumContextValue,\n | 'customTabs'\n | 'curriculum'\n | 'onReviewSubmit'\n | 'onReviewValueChange'\n | 'curriculumReviewAnswers'\n | 'tempCurriculumReviewAnswers'\n | 'curriculumCompleteMap'\n | 'onActionButtonClick'\n | 'initialSelectedIndex'\n > {\n children: React.ReactNode;\n onReviewValueChange: ({\n reviewId,\n answer,\n }: {\n reviewId: string;\n answer: Record<string, string>;\n }) => void;\n\n /** 현재 화면에 표시 중인 컨텐츠 인덱스 변경 시 호출 */\n onChangeSelectedContent?: (item: CurriculumListContents) => void;\n}\n\nexport function CurriculumProvider(\n props: CurriculumProviderProps\n): React.ReactElement {\n const {\n children,\n curriculum,\n onReviewSubmit,\n onReviewValueChange,\n curriculumReviewAnswers,\n tempCurriculumReviewAnswers,\n curriculumCompleteMap,\n onChangeSelectedContent,\n onActionButtonClick,\n initialSelectedIndex,\n customTabs,\n } = props;\n const sidebarRef = useRef<HTMLDivElement>(null);\n\n const scrollNavItem = useCallback((index: string) => {\n const element = sidebarRef.current?.querySelector(\n `[data-curriculum-item-index=\"${index}\"]`\n );\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n }, []);\n\n const list = curriculum.contents.list;\n // 선택 가능한 인덱스만 추출\n const selectableIndexes = useMemo(\n () =>\n list\n .map((item, i) => (item.type !== 'sectionTitle' ? i : null))\n .filter((i): i is number => i !== null),\n [list]\n );\n // 최초 선택값: 첫 번째 선택 가능한 인덱스\n const [selectedIndexState, setSelectedIndexState] = useState<number>(\n initialSelectedIndex ?? selectableIndexes[0]\n );\n\n // 선택 인덱스 보정 함수\n const setSelectedIndex = useCallback(\n (idx: number) => {\n if (selectableIndexes.includes(idx)) {\n setSelectedIndexState(idx);\n } else {\n // idx가 선택 불가면, selectableIndexes에서 가장 가까운 다음 인덱스 선택\n const next = selectableIndexes.find((i) => i > idx);\n const prev = [...selectableIndexes].reverse().find((i) => i < idx);\n if (next !== undefined) setSelectedIndexState(next);\n else if (prev !== undefined) setSelectedIndexState(prev);\n }\n },\n [selectableIndexes]\n );\n\n // 현재 선택 인덱스가 selectableIndexes 내 몇 번째인지\n const selectablePos = useMemo(\n () => selectableIndexes.indexOf(selectedIndexState),\n [selectableIndexes, selectedIndexState]\n );\n const hasPrev = selectablePos > 0;\n const hasNext = selectablePos < selectableIndexes.length - 1;\n\n const selectPrev = useCallback(\n (cb?: (moveIndex: number) => void) => {\n setSelectedIndexState((cur) => {\n let prevIndex = cur;\n const pos = selectableIndexes.indexOf(cur);\n if (pos > 0) {\n prevIndex = selectableIndexes[pos - 1];\n }\n if (cb) cb(prevIndex);\n return prevIndex;\n });\n },\n [selectableIndexes]\n );\n const selectNext = useCallback(\n (cb?: (moveIndex: number) => void) => {\n setSelectedIndexState((cur) => {\n let nextIndex = cur;\n const pos = selectableIndexes.indexOf(cur);\n if (pos < selectableIndexes.length - 1) {\n nextIndex = selectableIndexes[pos + 1];\n }\n if (cb) cb(nextIndex);\n return nextIndex;\n });\n },\n [selectableIndexes]\n );\n\n const selectedId = useMemo(\n () => list[selectedIndexState]?.uuid ?? '',\n [list, selectedIndexState]\n );\n\n const selectedItem = useMemo(() => {\n return list[selectedIndexState];\n }, [list, selectedIndexState]);\n\n const selectedSectionTitle = useMemo(() => {\n // selectedIndexState 이전 인덱스 중 가장 가까운 섹션 타이틀 찾기\n const prevItems = list.slice(0, selectedIndexState).reverse();\n return prevItems.find((item) => item.type === 'sectionTitle') ?? null;\n }, [list, selectedIndexState]);\n\n useEffect(() => {\n onChangeSelectedContent?.(selectedItem);\n // eslint-disable-next-line react-hooks/exhaustive-deps -- 트리거 최소화\n }, [selectedItem]);\n\n return (\n <CurriculumContext.Provider\n value={{\n curriculum,\n scrollNavItem,\n selectedIndex: selectedIndexState,\n setSelectedIndex,\n selectedId,\n hasPrev,\n hasNext,\n selectPrev,\n selectNext,\n selectedSectionTitle,\n selectedItem,\n scrollAreaRef: sidebarRef,\n onReviewSubmit,\n onReviewValueChange,\n curriculumReviewAnswers,\n tempCurriculumReviewAnswers,\n curriculumCompleteMap,\n onActionButtonClick,\n customTabs,\n }}\n >\n {children}\n </CurriculumContext.Provider>\n );\n}\n\nexport function useCurriculumContext(): CurriculumContextValue {\n const ctx = useContext(CurriculumContext);\n if (!ctx)\n throw new Error(\n 'useCurriculumContext must be used within CurriculumProvider'\n );\n return ctx;\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/molecules/curriculumV2/curriculum-context.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n useMemo,\n useCallback,\n useRef,\n useEffect,\n} from 'react';\nimport {\n type CurriculumFileDownloadContents,\n type CurriculumFileDownloadFile,\n type CurriculumSectionTitleContents,\n} from '@/types/curriculumContents.type';\nimport type {\n Curriculum,\n CurriculumListContents,\n} from '@/types/curriculum.type';\n\nconst EMPTY_SELECTED_ITEM: CurriculumListContents = {\n uuid: '',\n type: 'sectionTitle',\n title: '',\n};\n\nfunction getInitialSelectedIndex(args: {\n initialSelectedIndex?: number;\n selectableIndexes: number[];\n}): number {\n const { initialSelectedIndex, selectableIndexes } = args;\n\n if (\n typeof initialSelectedIndex === 'number' &&\n selectableIndexes.includes(initialSelectedIndex)\n ) {\n return initialSelectedIndex;\n }\n\n if (selectableIndexes.length > 0) {\n return selectableIndexes[0];\n }\n\n return 0;\n}\n\nexport interface CurriculumContextValue {\n curriculum: Curriculum;\n selectedIndex: number;\n setSelectedIndex: (idx: number) => void;\n selectedId: string;\n hasPrev: boolean;\n hasNext: boolean;\n selectPrev: (cb?: (moveIndex: number) => void) => void;\n selectNext: (cb?: (moveIndex: number) => void) => void;\n selectedItem: CurriculumListContents;\n /** 선택된 아이템의 이전 아이템 중 가장 가까운 섹션 타이틀 */\n selectedSectionTitle: CurriculumSectionTitleContents | null;\n /** 컨텐츠 목록 스크롤 이동 함수 */\n scrollNavItem: (uuid: string) => void;\n /** 스크롤 영역 참조 */\n scrollAreaRef: React.RefObject<HTMLDivElement | null>;\n /** 리뷰 제출 함수 */\n onReviewSubmit: ({\n reviewId,\n answer,\n }: {\n reviewId: string;\n answer: Record<string, string>;\n }) => Promise<boolean>;\n /** 리뷰 응답 값 변경 시 호출 */\n onReviewValueChange: ({\n reviewId,\n answer,\n }: {\n reviewId: string;\n answer: Record<string, string>;\n }) => void;\n /** 파일 다운로드 클릭 시 호출 */\n onClickfileDownload?: (\n item: CurriculumFileDownloadContents,\n file: CurriculumFileDownloadFile\n ) => void;\n /** 과제 완료 후 저장된 값 */\n curriculumReviewAnswers: Record<string, string>;\n /** 과제 완료 전 임시 저장된 값 */\n tempCurriculumReviewAnswers: Record<string, string>;\n /** 항목 수강 완료 여부 */\n curriculumCompleteMap: Record<string, boolean>;\n /** action Button 클릭시 호출 */\n onActionButtonClick: (item: CurriculumListContents) => void;\n /** 초기 선택 인덱스 */\n initialSelectedIndex?: number;\n /** 커스텀 탭 주입값 */\n customTabs?: {\n content: React.ReactElement;\n label: string;\n value: string;\n }[];\n}\n\nconst CurriculumContext = createContext<CurriculumContextValue | undefined>(\n undefined\n);\n\nexport interface CurriculumProviderProps\n extends Pick<\n CurriculumContextValue,\n | 'customTabs'\n | 'curriculum'\n | 'onReviewSubmit'\n | 'onReviewValueChange'\n | 'onClickfileDownload'\n | 'curriculumReviewAnswers'\n | 'tempCurriculumReviewAnswers'\n | 'curriculumCompleteMap'\n | 'onActionButtonClick'\n | 'initialSelectedIndex'\n > {\n children: React.ReactNode;\n onReviewValueChange: ({\n reviewId,\n answer,\n }: {\n reviewId: string;\n answer: Record<string, string>;\n }) => void;\n\n /** 현재 화면에 표시 중인 컨텐츠 인덱스 변경 시 호출 */\n onChangeSelectedContent?: (item: CurriculumListContents) => void;\n}\n\nexport function CurriculumProvider(\n props: CurriculumProviderProps\n): React.ReactElement {\n const {\n children,\n curriculum,\n onReviewSubmit,\n onReviewValueChange,\n onClickfileDownload,\n curriculumReviewAnswers,\n tempCurriculumReviewAnswers,\n curriculumCompleteMap,\n onChangeSelectedContent,\n onActionButtonClick,\n initialSelectedIndex,\n customTabs,\n } = props;\n const sidebarRef = useRef<HTMLDivElement>(null);\n\n const scrollNavItem = useCallback((index: string) => {\n const element = sidebarRef.current?.querySelector(\n `[data-curriculum-item-index=\"${index}\"]`\n );\n if (element) {\n element.scrollIntoView({ behavior: 'smooth', block: 'start' });\n }\n }, []);\n\n const list = curriculum.contents.list;\n // 선택 가능한 인덱스만 추출\n const selectableIndexes = useMemo(\n () =>\n list\n .map((item, i) => (item.type !== 'sectionTitle' ? i : null))\n .filter((i): i is number => i !== null),\n [list]\n );\n // 최초 선택값: 첫 번째 선택 가능한 인덱스\n const [selectedIndexState, setSelectedIndexState] = useState<number>(\n getInitialSelectedIndex({ initialSelectedIndex, selectableIndexes })\n );\n\n // 리스트/선택 가능 인덱스가 변할 때 선택값을 자동 보정\n useEffect(() => {\n if (selectableIndexes.length === 0) {\n if (selectedIndexState !== 0) {\n setSelectedIndexState(0);\n }\n return;\n }\n\n if (!selectableIndexes.includes(selectedIndexState)) {\n setSelectedIndexState(selectableIndexes[0]);\n }\n }, [selectableIndexes, selectedIndexState]);\n\n // 선택 인덱스 보정 함수\n const setSelectedIndex = useCallback(\n (idx: number) => {\n if (selectableIndexes.includes(idx)) {\n setSelectedIndexState(idx);\n } else {\n // idx가 선택 불가면, selectableIndexes에서 가장 가까운 다음 인덱스 선택\n const next = selectableIndexes.find((i) => i > idx);\n const prev = [...selectableIndexes].reverse().find((i) => i < idx);\n if (next !== undefined) setSelectedIndexState(next);\n else if (prev !== undefined) setSelectedIndexState(prev);\n }\n },\n [selectableIndexes]\n );\n\n // 현재 선택 인덱스가 selectableIndexes 내 몇 번째인지\n const selectablePos = useMemo(\n () => selectableIndexes.indexOf(selectedIndexState),\n [selectableIndexes, selectedIndexState]\n );\n const hasPrev = selectablePos > 0;\n const hasNext = selectablePos < selectableIndexes.length - 1;\n\n const selectPrev = useCallback(\n (cb?: (moveIndex: number) => void) => {\n setSelectedIndexState((cur) => {\n let prevIndex = cur;\n const pos = selectableIndexes.indexOf(cur);\n if (pos > 0) {\n prevIndex = selectableIndexes[pos - 1];\n }\n if (cb) cb(prevIndex);\n return prevIndex;\n });\n },\n [selectableIndexes]\n );\n const selectNext = useCallback(\n (cb?: (moveIndex: number) => void) => {\n setSelectedIndexState((cur) => {\n let nextIndex = cur;\n const pos = selectableIndexes.indexOf(cur);\n if (pos < selectableIndexes.length - 1) {\n nextIndex = selectableIndexes[pos + 1];\n }\n if (cb) cb(nextIndex);\n return nextIndex;\n });\n },\n [selectableIndexes]\n );\n\n const selectedId = useMemo(\n () => {\n if (selectedIndexState < 0 || selectedIndexState >= list.length) {\n return '';\n }\n return list[selectedIndexState]?.uuid ?? '';\n },\n [list, selectedIndexState]\n );\n\n const selectedItem = useMemo(() => {\n if (selectedIndexState < 0 || selectedIndexState >= list.length) {\n return EMPTY_SELECTED_ITEM;\n }\n return list[selectedIndexState] ?? EMPTY_SELECTED_ITEM;\n }, [list, selectedIndexState]);\n\n const selectedSectionTitle = useMemo(() => {\n // selectedIndexState 이전 인덱스 중 가장 가까운 섹션 타이틀 찾기\n const prevItems = list.slice(0, selectedIndexState).reverse();\n return prevItems.find((item) => item.type === 'sectionTitle') ?? null;\n }, [list, selectedIndexState]);\n\n useEffect(() => {\n const inBounds: boolean =\n selectedIndexState >= 0 && selectedIndexState < list.length;\n if (!inBounds) return;\n\n const item: CurriculumListContents = list[selectedIndexState];\n if (!item) return;\n if (item.type === 'sectionTitle') return;\n\n onChangeSelectedContent?.(item);\n }, [list, onChangeSelectedContent, selectedIndexState]);\n\n return (\n <CurriculumContext.Provider\n value={{\n curriculum,\n scrollNavItem,\n selectedIndex: selectedIndexState,\n setSelectedIndex,\n selectedId,\n hasPrev,\n hasNext,\n selectPrev,\n selectNext,\n selectedSectionTitle,\n selectedItem,\n scrollAreaRef: sidebarRef,\n onReviewSubmit,\n onReviewValueChange,\n onClickfileDownload,\n curriculumReviewAnswers,\n tempCurriculumReviewAnswers,\n curriculumCompleteMap,\n onActionButtonClick,\n customTabs,\n }}\n >\n {children}\n </CurriculumContext.Provider>\n );\n}\n\nexport function useCurriculumContext(): CurriculumContextValue {\n const ctx = useContext(CurriculumContext);\n if (!ctx)\n throw new Error(\n 'useCurriculumContext must be used within CurriculumProvider'\n );\n return ctx;\n}\n"],"mappings":"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","names":[]}