@tipp/ui 2.2.8 → 2.2.9
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.
- package/dist/app/index.cjs +202 -197
- package/dist/app/index.cjs.map +1 -1
- package/dist/app/index.js +76 -74
- package/dist/app/platform/coach-question-list.js +15 -15
- package/dist/app/platform/contents-card.js +15 -15
- package/dist/app/platform/curriculum-card.js +8 -8
- package/dist/app/platform/edit-coaching-time.cjs +32 -27
- package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
- package/dist/app/platform/edit-coaching-time.js +53 -51
- package/dist/app/platform/edit-service-type.cjs +27 -22
- package/dist/app/platform/edit-service-type.cjs.map +1 -1
- package/dist/app/platform/edit-service-type.js +54 -52
- package/dist/app/platform/goal-manage-card-edit.cjs +35 -30
- package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
- package/dist/app/platform/goal-manage-card-edit.js +53 -51
- package/dist/app/platform/goal-manage-card-read.js +15 -15
- package/dist/app/platform/on-offline-radio-card.cjs +17 -12
- package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
- package/dist/app/platform/on-offline-radio-card.js +53 -51
- package/dist/app/platform/report-card.js +15 -15
- package/dist/app/platform/reservation-card.cjs +51 -46
- package/dist/app/platform/reservation-card.cjs.map +1 -1
- package/dist/app/platform/reservation-card.js +54 -52
- package/dist/app/platform/session-card.cjs +77 -72
- package/dist/app/platform/session-card.cjs.map +1 -1
- package/dist/app/platform/session-card.js +56 -54
- package/dist/app/platform/session-review-simple-read.js +15 -15
- package/dist/app/platform/userInfos/coaching-customer-info/index.js +18 -18
- package/dist/app/platform/userInfos/coaching-customer-info/large.js +15 -15
- package/dist/app/platform/userInfos/coaching-customer-info/medium.js +15 -15
- package/dist/app/platform/userInfos/coaching-customer-info/small.js +15 -15
- package/dist/app/platform/userInfos/session-user-info-detail.js +15 -15
- package/dist/app/platform/userInfos/utils.js +14 -14
- package/dist/atoms/bullet-text.js +2 -2
- package/dist/atoms/dialog.js +2 -2
- package/dist/atoms/ellipsis-tooltip.js +1 -1
- package/dist/atoms/field-error-wrapper.js +2 -2
- package/dist/atoms/index.js +21 -21
- package/dist/atoms/list.js +2 -2
- package/dist/atoms/pagination.js +7 -7
- package/dist/chunk-22AYH6P7.js +75 -0
- package/dist/chunk-22AYH6P7.js.map +1 -0
- package/dist/chunk-234MSXPA.js +174 -0
- package/dist/chunk-234MSXPA.js.map +1 -0
- package/dist/chunk-235QBSFJ.js +196 -0
- package/dist/chunk-235QBSFJ.js.map +1 -0
- package/dist/chunk-246VR2YL.js +163 -0
- package/dist/chunk-246VR2YL.js.map +1 -0
- package/dist/chunk-25NN7HKE.js +51 -0
- package/dist/chunk-25NN7HKE.js.map +1 -0
- package/dist/chunk-27EDBYBQ.js +218 -0
- package/dist/chunk-27EDBYBQ.js.map +1 -0
- package/dist/chunk-2BIVX5ZZ.js +68 -0
- package/dist/chunk-2BIVX5ZZ.js.map +1 -0
- package/dist/chunk-2CJMDBZM.js +121 -0
- package/dist/chunk-2CJMDBZM.js.map +1 -0
- package/dist/chunk-2DDRRWMK.js +180 -0
- package/dist/chunk-2DDRRWMK.js.map +1 -0
- package/dist/chunk-2DOX5FBP.js +64 -0
- package/dist/chunk-2DOX5FBP.js.map +1 -0
- package/dist/chunk-2GBDL5M4.js +61 -0
- package/dist/chunk-2GBDL5M4.js.map +1 -0
- package/dist/chunk-2JT4W5B7.js +54 -0
- package/dist/chunk-2JT4W5B7.js.map +1 -0
- package/dist/chunk-2NW43ZJT.js +174 -0
- package/dist/chunk-2NW43ZJT.js.map +1 -0
- package/dist/chunk-2OVDUIQU.js +196 -0
- package/dist/chunk-2OVDUIQU.js.map +1 -0
- package/dist/chunk-2PV2Q47P.js +168 -0
- package/dist/chunk-2PV2Q47P.js.map +1 -0
- package/dist/chunk-2QX7RBOC.js +37 -0
- package/dist/chunk-2QX7RBOC.js.map +1 -0
- package/dist/chunk-2RX674W6.js +145 -0
- package/dist/chunk-2RX674W6.js.map +1 -0
- package/dist/chunk-2VXRTYZX.js +196 -0
- package/dist/chunk-2VXRTYZX.js.map +1 -0
- package/dist/chunk-2YW2ROHR.js +170 -0
- package/dist/chunk-2YW2ROHR.js.map +1 -0
- package/dist/chunk-2ZIIS7IC.js +69 -0
- package/dist/chunk-2ZIIS7IC.js.map +1 -0
- package/dist/chunk-34V2ET5N.js +174 -0
- package/dist/chunk-34V2ET5N.js.map +1 -0
- package/dist/chunk-3BBG5V67.js +69 -0
- package/dist/chunk-3BBG5V67.js.map +1 -0
- package/dist/chunk-3BHLLS5M.js +135 -0
- package/dist/chunk-3BHLLS5M.js.map +1 -0
- package/dist/chunk-3DH5K4XG.js +180 -0
- package/dist/chunk-3DH5K4XG.js.map +1 -0
- package/dist/chunk-3GGJWSFK.js +39 -0
- package/dist/chunk-3GGJWSFK.js.map +1 -0
- package/dist/chunk-3JEVYSX3.js +133 -0
- package/dist/chunk-3JEVYSX3.js.map +1 -0
- package/dist/chunk-3NGYHKZR.js +144 -0
- package/dist/chunk-3NGYHKZR.js.map +1 -0
- package/dist/chunk-3QRM22MV.js +165 -0
- package/dist/chunk-3QRM22MV.js.map +1 -0
- package/dist/chunk-3TUWOP6L.js +64 -0
- package/dist/chunk-3TUWOP6L.js.map +1 -0
- package/dist/chunk-3U5KWNAR.js +49 -0
- package/dist/chunk-3U5KWNAR.js.map +1 -0
- package/dist/chunk-3UMUHRR6.js +69 -0
- package/dist/chunk-3UMUHRR6.js.map +1 -0
- package/dist/chunk-3VHYJFLA.js +43 -0
- package/dist/chunk-3VHYJFLA.js.map +1 -0
- package/dist/chunk-3WIE5DV2.js +43 -0
- package/dist/chunk-3WIE5DV2.js.map +1 -0
- package/dist/chunk-3YVLHKPV.js +64 -0
- package/dist/chunk-3YVLHKPV.js.map +1 -0
- package/dist/chunk-3Z5M45ER.js +233 -0
- package/dist/chunk-3Z5M45ER.js.map +1 -0
- package/dist/chunk-3ZMIA33Q.js +196 -0
- package/dist/chunk-3ZMIA33Q.js.map +1 -0
- package/dist/chunk-42ULZYLN.js +172 -0
- package/dist/chunk-42ULZYLN.js.map +1 -0
- package/dist/chunk-44EPUNTQ.js +30 -0
- package/dist/chunk-44EPUNTQ.js.map +1 -0
- package/dist/chunk-4BYPMC36.js +151 -0
- package/dist/chunk-4BYPMC36.js.map +1 -0
- package/dist/chunk-4CBG7ZIZ.js +181 -0
- package/dist/chunk-4CBG7ZIZ.js.map +1 -0
- package/dist/chunk-4GX6AMUE.js +89 -0
- package/dist/chunk-4GX6AMUE.js.map +1 -0
- package/dist/chunk-4JH3TQVU.js +233 -0
- package/dist/chunk-4JH3TQVU.js.map +1 -0
- package/dist/chunk-4L37EKCY.js +89 -0
- package/dist/chunk-4L37EKCY.js.map +1 -0
- package/dist/chunk-4LK5PBTH.js +54 -0
- package/dist/chunk-4LK5PBTH.js.map +1 -0
- package/dist/chunk-4O74KAAL.js +133 -0
- package/dist/chunk-4O74KAAL.js.map +1 -0
- package/dist/chunk-4QTDBP6H.js +363 -0
- package/dist/chunk-4QTDBP6H.js.map +1 -0
- package/dist/chunk-4SHZWCRZ.js +69 -0
- package/dist/chunk-4SHZWCRZ.js.map +1 -0
- package/dist/chunk-4SO23ZDW.js +87 -0
- package/dist/chunk-4SO23ZDW.js.map +1 -0
- package/dist/chunk-4VJTQHYE.js +30 -0
- package/dist/chunk-4VJTQHYE.js.map +1 -0
- package/dist/chunk-5AFEHWPF.js +135 -0
- package/dist/chunk-5AFEHWPF.js.map +1 -0
- package/dist/chunk-5DBK2EAI.js +196 -0
- package/dist/chunk-5DBK2EAI.js.map +1 -0
- package/dist/chunk-5GDF3WV2.js +64 -0
- package/dist/chunk-5GDF3WV2.js.map +1 -0
- package/dist/chunk-5J42WXV3.js +192 -0
- package/dist/chunk-5J42WXV3.js.map +1 -0
- package/dist/chunk-5KDVR3CE.js +234 -0
- package/dist/chunk-5KDVR3CE.js.map +1 -0
- package/dist/chunk-5NCLZ3PZ.js +180 -0
- package/dist/chunk-5NCLZ3PZ.js.map +1 -0
- package/dist/chunk-5PJIONEA.js +47 -0
- package/dist/chunk-5PJIONEA.js.map +1 -0
- package/dist/chunk-5R236NOQ.js +74 -0
- package/dist/chunk-5R236NOQ.js.map +1 -0
- package/dist/chunk-5VVRFVYF.js +69 -0
- package/dist/chunk-5VVRFVYF.js.map +1 -0
- package/dist/chunk-5XFWX7CF.js +234 -0
- package/dist/chunk-5XFWX7CF.js.map +1 -0
- package/dist/chunk-5ZOVWBZY.js +1 -0
- package/dist/chunk-5ZOVWBZY.js.map +1 -0
- package/dist/chunk-66G5N42N.js +216 -0
- package/dist/chunk-66G5N42N.js.map +1 -0
- package/dist/chunk-66GT3N22.js +101 -0
- package/dist/chunk-66GT3N22.js.map +1 -0
- package/dist/chunk-67D7M4LH.js +51 -0
- package/dist/chunk-67D7M4LH.js.map +1 -0
- package/dist/chunk-6AVVI6B5.js +1 -0
- package/dist/chunk-6AVVI6B5.js.map +1 -0
- package/dist/chunk-6IBOT2DY.js +188 -0
- package/dist/chunk-6IBOT2DY.js.map +1 -0
- package/dist/chunk-6JNBG6YW.js +67 -0
- package/dist/chunk-6JNBG6YW.js.map +1 -0
- package/dist/chunk-6MGEUCTF.js +37 -0
- package/dist/chunk-6MGEUCTF.js.map +1 -0
- package/dist/chunk-6QJN3QC6.js +189 -0
- package/dist/chunk-6QJN3QC6.js.map +1 -0
- package/dist/chunk-6R6SK7GD.js +117 -0
- package/dist/chunk-6R6SK7GD.js.map +1 -0
- package/dist/chunk-6T5SVYAI.js +169 -0
- package/dist/chunk-6T5SVYAI.js.map +1 -0
- package/dist/chunk-6TXOAAKX.js +220 -0
- package/dist/chunk-6TXOAAKX.js.map +1 -0
- package/dist/chunk-6WAW35QT.js +174 -0
- package/dist/chunk-6WAW35QT.js.map +1 -0
- package/dist/chunk-6X73VRHP.js +45 -0
- package/dist/chunk-6X73VRHP.js.map +1 -0
- package/dist/chunk-7AVMUQEY.js +163 -0
- package/dist/chunk-7AVMUQEY.js.map +1 -0
- package/dist/chunk-7BY4P6DU.js +87 -0
- package/dist/chunk-7BY4P6DU.js.map +1 -0
- package/dist/chunk-7EQLV7XE.js +61 -0
- package/dist/chunk-7EQLV7XE.js.map +1 -0
- package/dist/chunk-7EVMW4LV.js +144 -0
- package/dist/chunk-7EVMW4LV.js.map +1 -0
- package/dist/chunk-7GBSLZFJ.js +69 -0
- package/dist/chunk-7GBSLZFJ.js.map +1 -0
- package/dist/chunk-7HFR7H22.js +64 -0
- package/dist/chunk-7HFR7H22.js.map +1 -0
- package/dist/chunk-7KLU6WEV.js +228 -0
- package/dist/chunk-7KLU6WEV.js.map +1 -0
- package/dist/chunk-7LYDSGGX.js +89 -0
- package/dist/chunk-7LYDSGGX.js.map +1 -0
- package/dist/chunk-7LZ3N7RH.js +47 -0
- package/dist/chunk-7LZ3N7RH.js.map +1 -0
- package/dist/chunk-7NB5NBKR.js +75 -0
- package/dist/chunk-7NB5NBKR.js.map +1 -0
- package/dist/chunk-7NOO4ML4.js +216 -0
- package/dist/chunk-7NOO4ML4.js.map +1 -0
- package/dist/chunk-7PTFUS4R.js +196 -0
- package/dist/chunk-7PTFUS4R.js.map +1 -0
- package/dist/chunk-7VU6AWXT.js +100 -0
- package/dist/chunk-7VU6AWXT.js.map +1 -0
- package/dist/chunk-A3IAKKFB.js +51 -0
- package/dist/chunk-A3IAKKFB.js.map +1 -0
- package/dist/chunk-A7EQ7ETQ.js +196 -0
- package/dist/chunk-A7EQ7ETQ.js.map +1 -0
- package/dist/chunk-A7LYIUE7.js +45 -0
- package/dist/chunk-A7LYIUE7.js.map +1 -0
- package/dist/chunk-AALOTKEB.js +117 -0
- package/dist/chunk-AALOTKEB.js.map +1 -0
- package/dist/chunk-ADVY5FSQ.js +87 -0
- package/dist/chunk-ADVY5FSQ.js.map +1 -0
- package/dist/chunk-AEGVXFYJ.js +51 -0
- package/dist/chunk-AEGVXFYJ.js.map +1 -0
- package/dist/chunk-AGWXIBG6.js +196 -0
- package/dist/chunk-AGWXIBG6.js.map +1 -0
- package/dist/chunk-AJMAFU7V.js +234 -0
- package/dist/chunk-AJMAFU7V.js.map +1 -0
- package/dist/chunk-AJTD22K7.js +206 -0
- package/dist/chunk-AJTD22K7.js.map +1 -0
- package/dist/chunk-AKLISQ5K.js +63 -0
- package/dist/chunk-AKLISQ5K.js.map +1 -0
- package/dist/chunk-ALEK62ZL.js +206 -0
- package/dist/chunk-ALEK62ZL.js.map +1 -0
- package/dist/chunk-AMMUL5JS.js +69 -0
- package/dist/chunk-AMMUL5JS.js.map +1 -0
- package/dist/chunk-AOAODGG7.js +64 -0
- package/dist/chunk-AOAODGG7.js.map +1 -0
- package/dist/chunk-AOTKTTU3.js +228 -0
- package/dist/chunk-AOTKTTU3.js.map +1 -0
- package/dist/chunk-APDP43FU.js +180 -0
- package/dist/chunk-APDP43FU.js.map +1 -0
- package/dist/chunk-APJP23JU.js +234 -0
- package/dist/chunk-APJP23JU.js.map +1 -0
- package/dist/chunk-AQEJ47YX.js +125 -0
- package/dist/chunk-AQEJ47YX.js.map +1 -0
- package/dist/chunk-ASW5K7V7.js +63 -0
- package/dist/chunk-ASW5K7V7.js.map +1 -0
- package/dist/chunk-AUDB2TRU.js +70 -0
- package/dist/chunk-AUDB2TRU.js.map +1 -0
- package/dist/chunk-AWIQSGGT.js +68 -0
- package/dist/chunk-AWIQSGGT.js.map +1 -0
- package/dist/chunk-AXEX2ETN.js +101 -0
- package/dist/chunk-AXEX2ETN.js.map +1 -0
- package/dist/chunk-AZ32ZT3Q.js +101 -0
- package/dist/chunk-AZ32ZT3Q.js.map +1 -0
- package/dist/chunk-AZVMYB55.js +74 -0
- package/dist/chunk-AZVMYB55.js.map +1 -0
- package/dist/chunk-B3ZIOMLB.js +101 -0
- package/dist/chunk-B3ZIOMLB.js.map +1 -0
- package/dist/chunk-B4BZR7OF.js +180 -0
- package/dist/chunk-B4BZR7OF.js.map +1 -0
- package/dist/chunk-B6MHY6SM.js +51 -0
- package/dist/chunk-B6MHY6SM.js.map +1 -0
- package/dist/chunk-B74RCGAM.js +89 -0
- package/dist/chunk-B74RCGAM.js.map +1 -0
- package/dist/chunk-BGJEYKM4.js +57 -0
- package/dist/chunk-BGJEYKM4.js.map +1 -0
- package/dist/chunk-BK66VJJC.js +63 -0
- package/dist/chunk-BK66VJJC.js.map +1 -0
- package/dist/chunk-BVBUTOYN.js +63 -0
- package/dist/chunk-BVBUTOYN.js.map +1 -0
- package/dist/chunk-BXM2RB24.js +64 -0
- package/dist/chunk-BXM2RB24.js.map +1 -0
- package/dist/chunk-BY6OW4QS.js +69 -0
- package/dist/chunk-BY6OW4QS.js.map +1 -0
- package/dist/chunk-C2Y4WBUE.js +89 -0
- package/dist/chunk-C2Y4WBUE.js.map +1 -0
- package/dist/chunk-C3KPRLFO.js +57 -0
- package/dist/chunk-C3KPRLFO.js.map +1 -0
- package/dist/chunk-C7RA3OZM.js +64 -0
- package/dist/chunk-C7RA3OZM.js.map +1 -0
- package/dist/chunk-CD4WF5YH.js +89 -0
- package/dist/chunk-CD4WF5YH.js.map +1 -0
- package/dist/chunk-CHN6XTCA.js +68 -0
- package/dist/chunk-CHN6XTCA.js.map +1 -0
- package/dist/chunk-CNCIAAFI.js +196 -0
- package/dist/chunk-CNCIAAFI.js.map +1 -0
- package/dist/chunk-CQXGVNPQ.js +228 -0
- package/dist/chunk-CQXGVNPQ.js.map +1 -0
- package/dist/chunk-CUNNZPHE.js +363 -0
- package/dist/chunk-CUNNZPHE.js.map +1 -0
- package/dist/chunk-CVT6K4XN.js +64 -0
- package/dist/chunk-CVT6K4XN.js.map +1 -0
- package/dist/chunk-CXVZ466W.js +74 -0
- package/dist/chunk-CXVZ466W.js.map +1 -0
- package/dist/chunk-D3QGIZQR.js +61 -0
- package/dist/chunk-D3QGIZQR.js.map +1 -0
- package/dist/chunk-D5C52NFE.js +49 -0
- package/dist/chunk-D5C52NFE.js.map +1 -0
- package/dist/chunk-D644ZH5R.js +207 -0
- package/dist/chunk-D644ZH5R.js.map +1 -0
- package/dist/chunk-D6CKNLE4.js +167 -0
- package/dist/chunk-D6CKNLE4.js.map +1 -0
- package/dist/chunk-DGYLBSHB.js +196 -0
- package/dist/chunk-DGYLBSHB.js.map +1 -0
- package/dist/chunk-DHTZUBKS.js +70 -0
- package/dist/chunk-DHTZUBKS.js.map +1 -0
- package/dist/chunk-DLCRN2RP.js +87 -0
- package/dist/chunk-DLCRN2RP.js.map +1 -0
- package/dist/chunk-DOINF5YW.js +30 -0
- package/dist/chunk-DOINF5YW.js.map +1 -0
- package/dist/chunk-DRHRHW6O.js +68 -0
- package/dist/chunk-DRHRHW6O.js.map +1 -0
- package/dist/chunk-DTOZN7R7.js +174 -0
- package/dist/chunk-DTOZN7R7.js.map +1 -0
- package/dist/chunk-DXDMYKJ6.js +186 -0
- package/dist/chunk-DXDMYKJ6.js.map +1 -0
- package/dist/chunk-DZ2ATKKT.js +97 -0
- package/dist/chunk-DZ2ATKKT.js.map +1 -0
- package/dist/chunk-E2TRHJJF.js +216 -0
- package/dist/chunk-E2TRHJJF.js.map +1 -0
- package/dist/chunk-E4KLHW2K.js +63 -0
- package/dist/chunk-E4KLHW2K.js.map +1 -0
- package/dist/chunk-E4NMGMXW.js +181 -0
- package/dist/chunk-E4NMGMXW.js.map +1 -0
- package/dist/chunk-E6SQJEHV.js +37 -0
- package/dist/chunk-E6SQJEHV.js.map +1 -0
- package/dist/chunk-E74JTQ4Q.js +69 -0
- package/dist/chunk-E74JTQ4Q.js.map +1 -0
- package/dist/chunk-E7I7ONPH.js +128 -0
- package/dist/chunk-E7I7ONPH.js.map +1 -0
- package/dist/chunk-E7JIDCQZ.js +135 -0
- package/dist/chunk-E7JIDCQZ.js.map +1 -0
- package/dist/chunk-E7OC5H5V.js +75 -0
- package/dist/chunk-E7OC5H5V.js.map +1 -0
- package/dist/chunk-EDYAZGTQ.js +63 -0
- package/dist/chunk-EDYAZGTQ.js.map +1 -0
- package/dist/chunk-EFHGKBIJ.js +29 -0
- package/dist/chunk-EFHGKBIJ.js.map +1 -0
- package/dist/chunk-EGMWLRHE.js +151 -0
- package/dist/chunk-EGMWLRHE.js.map +1 -0
- package/dist/chunk-EIMRTGDB.js +167 -0
- package/dist/chunk-EIMRTGDB.js.map +1 -0
- package/dist/chunk-EJNBVA5A.js +174 -0
- package/dist/chunk-EJNBVA5A.js.map +1 -0
- package/dist/chunk-EKNGGXJS.js +196 -0
- package/dist/chunk-EKNGGXJS.js.map +1 -0
- package/dist/chunk-EKVAMAZM.js +51 -0
- package/dist/chunk-EKVAMAZM.js.map +1 -0
- package/dist/chunk-EV55SQYX.js +75 -0
- package/dist/chunk-EV55SQYX.js.map +1 -0
- package/dist/chunk-EYWTSPHH.js +51 -0
- package/dist/chunk-EYWTSPHH.js.map +1 -0
- package/dist/chunk-F2ZWAMHA.js +135 -0
- package/dist/chunk-F2ZWAMHA.js.map +1 -0
- package/dist/chunk-F5FBB43S.js +61 -0
- package/dist/chunk-F5FBB43S.js.map +1 -0
- package/dist/chunk-F5YEYRWX.js +64 -0
- package/dist/chunk-F5YEYRWX.js.map +1 -0
- package/dist/chunk-F6SEH3LH.js +58 -0
- package/dist/chunk-F6SEH3LH.js.map +1 -0
- package/dist/chunk-F7ACAQCI.js +167 -0
- package/dist/chunk-F7ACAQCI.js.map +1 -0
- package/dist/chunk-F7QYHF4W.js +174 -0
- package/dist/chunk-F7QYHF4W.js.map +1 -0
- package/dist/chunk-FFBX73C6.js +196 -0
- package/dist/chunk-FFBX73C6.js.map +1 -0
- package/dist/chunk-FFDCFPJZ.js +101 -0
- package/dist/chunk-FFDCFPJZ.js.map +1 -0
- package/dist/chunk-FI2VAJSH.js +135 -0
- package/dist/chunk-FI2VAJSH.js.map +1 -0
- package/dist/chunk-FJ3JVUKZ.js +68 -0
- package/dist/chunk-FJ3JVUKZ.js.map +1 -0
- package/dist/chunk-FK3J627P.js +183 -0
- package/dist/chunk-FK3J627P.js.map +1 -0
- package/dist/chunk-FKG6UMM3.js +170 -0
- package/dist/chunk-FKG6UMM3.js.map +1 -0
- package/dist/chunk-FLZQYBEY.js +57 -0
- package/dist/chunk-FLZQYBEY.js.map +1 -0
- package/dist/chunk-FOVNEX2D.js +151 -0
- package/dist/chunk-FOVNEX2D.js.map +1 -0
- package/dist/chunk-FTCEWZWO.js +220 -0
- package/dist/chunk-FTCEWZWO.js.map +1 -0
- package/dist/chunk-FY5NECXK.js +30 -0
- package/dist/chunk-FY5NECXK.js.map +1 -0
- package/dist/chunk-FZKMZ56J.js +167 -0
- package/dist/chunk-FZKMZ56J.js.map +1 -0
- package/dist/chunk-FZRUQN3A.js +57 -0
- package/dist/chunk-FZRUQN3A.js.map +1 -0
- package/dist/chunk-FZX3ZNP5.js +63 -0
- package/dist/chunk-FZX3ZNP5.js.map +1 -0
- package/dist/chunk-G3GX5VXY.js +166 -0
- package/dist/chunk-G3GX5VXY.js.map +1 -0
- package/dist/chunk-G4DEAXNM.js +233 -0
- package/dist/chunk-G4DEAXNM.js.map +1 -0
- package/dist/chunk-G5E3QVIC.js +64 -0
- package/dist/chunk-G5E3QVIC.js.map +1 -0
- package/dist/chunk-GDJ7T6EZ.js +101 -0
- package/dist/chunk-GDJ7T6EZ.js.map +1 -0
- package/dist/chunk-GDM74VIC.js +146 -0
- package/dist/chunk-GDM74VIC.js.map +1 -0
- package/dist/chunk-GDQMZ2PH.js +87 -0
- package/dist/chunk-GDQMZ2PH.js.map +1 -0
- package/dist/chunk-GMNF7P72.js +101 -0
- package/dist/chunk-GMNF7P72.js.map +1 -0
- package/dist/chunk-GMNJ7FMU.js +63 -0
- package/dist/chunk-GMNJ7FMU.js.map +1 -0
- package/dist/chunk-GNGNKU73.js +71 -0
- package/dist/chunk-GNGNKU73.js.map +1 -0
- package/dist/chunk-GNQGEIH7.js +64 -0
- package/dist/chunk-GNQGEIH7.js.map +1 -0
- package/dist/chunk-GO3JF5UQ.js +101 -0
- package/dist/chunk-GO3JF5UQ.js.map +1 -0
- package/dist/chunk-GPJH4BPR.js +182 -0
- package/dist/chunk-GPJH4BPR.js.map +1 -0
- package/dist/chunk-GSH7B5AA.js +64 -0
- package/dist/chunk-GSH7B5AA.js.map +1 -0
- package/dist/chunk-GTY66WKJ.js +169 -0
- package/dist/chunk-GTY66WKJ.js.map +1 -0
- package/dist/chunk-GUBASI46.js +99 -0
- package/dist/chunk-GUBASI46.js.map +1 -0
- package/dist/chunk-GV6JNNQ5.js +89 -0
- package/dist/chunk-GV6JNNQ5.js.map +1 -0
- package/dist/chunk-GWOISOHM.js +79 -0
- package/dist/chunk-GWOISOHM.js.map +1 -0
- package/dist/chunk-H4CDFKNI.js +89 -0
- package/dist/chunk-H4CDFKNI.js.map +1 -0
- package/dist/chunk-H7Z2Y52B.js +63 -0
- package/dist/chunk-H7Z2Y52B.js.map +1 -0
- package/dist/chunk-HA43PN4X.js +163 -0
- package/dist/chunk-HA43PN4X.js.map +1 -0
- package/dist/chunk-HDKNTBUH.js +37 -0
- package/dist/chunk-HDKNTBUH.js.map +1 -0
- package/dist/chunk-HEZOPCTA.js +151 -0
- package/dist/chunk-HEZOPCTA.js.map +1 -0
- package/dist/chunk-HJK7NURH.js +234 -0
- package/dist/chunk-HJK7NURH.js.map +1 -0
- package/dist/chunk-HJUF57RN.js +63 -0
- package/dist/chunk-HJUF57RN.js.map +1 -0
- package/dist/chunk-HLVH6YRY.js +64 -0
- package/dist/chunk-HLVH6YRY.js.map +1 -0
- package/dist/chunk-HN2VCFEH.js +170 -0
- package/dist/chunk-HN2VCFEH.js.map +1 -0
- package/dist/chunk-HO4N54UR.js +37 -0
- package/dist/chunk-HO4N54UR.js.map +1 -0
- package/dist/chunk-HQ6QRE6P.js +87 -0
- package/dist/chunk-HQ6QRE6P.js.map +1 -0
- package/dist/chunk-HT5C6HQT.js +167 -0
- package/dist/chunk-HT5C6HQT.js.map +1 -0
- package/dist/chunk-HTDCFKYM.js +61 -0
- package/dist/chunk-HTDCFKYM.js.map +1 -0
- package/dist/chunk-HYWDIRVI.js +196 -0
- package/dist/chunk-HYWDIRVI.js.map +1 -0
- package/dist/chunk-I3UMTEC3.js +233 -0
- package/dist/chunk-I3UMTEC3.js.map +1 -0
- package/dist/chunk-I45ER5IV.js +363 -0
- package/dist/chunk-I45ER5IV.js.map +1 -0
- package/dist/chunk-I5MDM6LT.js +234 -0
- package/dist/chunk-I5MDM6LT.js.map +1 -0
- package/dist/chunk-IBERMO6I.js +87 -0
- package/dist/chunk-IBERMO6I.js.map +1 -0
- package/dist/chunk-ID37AODK.js +100 -0
- package/dist/chunk-ID37AODK.js.map +1 -0
- package/dist/chunk-IEY3PHCI.js +128 -0
- package/dist/chunk-IEY3PHCI.js.map +1 -0
- package/dist/chunk-IFDREZ6K.js +63 -0
- package/dist/chunk-IFDREZ6K.js.map +1 -0
- package/dist/chunk-IFFZC6B6.js +49 -0
- package/dist/chunk-IFFZC6B6.js.map +1 -0
- package/dist/chunk-IJPH73RT.js +134 -0
- package/dist/chunk-IJPH73RT.js.map +1 -0
- package/dist/chunk-ILQV4CHK.js +37 -0
- package/dist/chunk-ILQV4CHK.js.map +1 -0
- package/dist/chunk-IO5F52M7.js +64 -0
- package/dist/chunk-IO5F52M7.js.map +1 -0
- package/dist/chunk-IQQJZL74.js +89 -0
- package/dist/chunk-IQQJZL74.js.map +1 -0
- package/dist/chunk-ISIVSWGH.js +151 -0
- package/dist/chunk-ISIVSWGH.js.map +1 -0
- package/dist/chunk-ISSDM5K7.js +51 -0
- package/dist/chunk-ISSDM5K7.js.map +1 -0
- package/dist/chunk-IW73DPMX.js +89 -0
- package/dist/chunk-IW73DPMX.js.map +1 -0
- package/dist/chunk-JA5M2OY2.js +64 -0
- package/dist/chunk-JA5M2OY2.js.map +1 -0
- package/dist/chunk-JABGXR64.js +173 -0
- package/dist/chunk-JABGXR64.js.map +1 -0
- package/dist/chunk-JEJ2FMG7.js +181 -0
- package/dist/chunk-JEJ2FMG7.js.map +1 -0
- package/dist/chunk-JF7JAMOQ.js +105 -0
- package/dist/chunk-JF7JAMOQ.js.map +1 -0
- package/dist/chunk-JH2IOFCQ.js +193 -0
- package/dist/chunk-JH2IOFCQ.js.map +1 -0
- package/dist/chunk-JITOJJ2U.js +99 -0
- package/dist/chunk-JITOJJ2U.js.map +1 -0
- package/dist/chunk-JJQWM7EB.js +117 -0
- package/dist/chunk-JJQWM7EB.js.map +1 -0
- package/dist/chunk-JKJ37HEA.js +74 -0
- package/dist/chunk-JKJ37HEA.js.map +1 -0
- package/dist/chunk-JKXA7XJO.js +145 -0
- package/dist/chunk-JKXA7XJO.js.map +1 -0
- package/dist/chunk-JSIAXBKM.js +144 -0
- package/dist/chunk-JSIAXBKM.js.map +1 -0
- package/dist/chunk-JUAVNOEY.js +151 -0
- package/dist/chunk-JUAVNOEY.js.map +1 -0
- package/dist/chunk-K4P7P2QV.js +89 -0
- package/dist/chunk-K4P7P2QV.js.map +1 -0
- package/dist/chunk-KA66YPQG.js +89 -0
- package/dist/chunk-KA66YPQG.js.map +1 -0
- package/dist/chunk-KANFCMSD.js +30 -0
- package/dist/chunk-KANFCMSD.js.map +1 -0
- package/dist/chunk-KBJ3YKZR.js +174 -0
- package/dist/chunk-KBJ3YKZR.js.map +1 -0
- package/dist/chunk-KEXQSVTB.js +169 -0
- package/dist/chunk-KEXQSVTB.js.map +1 -0
- package/dist/chunk-KGFR2Q2G.js +178 -0
- package/dist/chunk-KGFR2Q2G.js.map +1 -0
- package/dist/chunk-KGGSCLH7.js +134 -0
- package/dist/chunk-KGGSCLH7.js.map +1 -0
- package/dist/chunk-KJBKKRKK.js +64 -0
- package/dist/chunk-KJBKKRKK.js.map +1 -0
- package/dist/chunk-KJRVWC3N.js +174 -0
- package/dist/chunk-KJRVWC3N.js.map +1 -0
- package/dist/chunk-KJUEEEDB.js +165 -0
- package/dist/chunk-KJUEEEDB.js.map +1 -0
- package/dist/chunk-KKBKCPY6.js +207 -0
- package/dist/chunk-KKBKCPY6.js.map +1 -0
- package/dist/chunk-KKJMIZIV.js +186 -0
- package/dist/chunk-KKJMIZIV.js.map +1 -0
- package/dist/chunk-KTABAEFA.js +29 -0
- package/dist/chunk-KTABAEFA.js.map +1 -0
- package/dist/chunk-KVKLXHWA.js +51 -0
- package/dist/chunk-KVKLXHWA.js.map +1 -0
- package/dist/chunk-KWN6HQXH.js +37 -0
- package/dist/chunk-KWN6HQXH.js.map +1 -0
- package/dist/chunk-KXDF2EHD.js +233 -0
- package/dist/chunk-KXDF2EHD.js.map +1 -0
- package/dist/chunk-KYCG7MLO.js +144 -0
- package/dist/chunk-KYCG7MLO.js.map +1 -0
- package/dist/chunk-L4MAYTCG.js +196 -0
- package/dist/chunk-L4MAYTCG.js.map +1 -0
- package/dist/chunk-LKZ5ONPU.js +207 -0
- package/dist/chunk-LKZ5ONPU.js.map +1 -0
- package/dist/chunk-LMKYH6JF.js +196 -0
- package/dist/chunk-LMKYH6JF.js.map +1 -0
- package/dist/chunk-LN222HGT.js +64 -0
- package/dist/chunk-LN222HGT.js.map +1 -0
- package/dist/chunk-LTLLS7ZL.js +49 -0
- package/dist/chunk-LTLLS7ZL.js.map +1 -0
- package/dist/chunk-LUH3GY4F.js +68 -0
- package/dist/chunk-LUH3GY4F.js.map +1 -0
- package/dist/chunk-LVPXY4WP.js +45 -0
- package/dist/chunk-LVPXY4WP.js.map +1 -0
- package/dist/chunk-LX6XMDXX.js +99 -0
- package/dist/chunk-LX6XMDXX.js.map +1 -0
- package/dist/chunk-LXFW6ZJ3.js +63 -0
- package/dist/chunk-LXFW6ZJ3.js.map +1 -0
- package/dist/chunk-LXRR3ITY.js +163 -0
- package/dist/chunk-LXRR3ITY.js.map +1 -0
- package/dist/chunk-M2D7P75S.js +64 -0
- package/dist/chunk-M2D7P75S.js.map +1 -0
- package/dist/chunk-M2QEWP4Y.js +57 -0
- package/dist/chunk-M2QEWP4Y.js.map +1 -0
- package/dist/chunk-M35WQTMB.js +170 -0
- package/dist/chunk-M35WQTMB.js.map +1 -0
- package/dist/chunk-M44UWBFR.js +54 -0
- package/dist/chunk-M44UWBFR.js.map +1 -0
- package/dist/chunk-MAICREXB.js +89 -0
- package/dist/chunk-MAICREXB.js.map +1 -0
- package/dist/chunk-MJJNX2FU.js +135 -0
- package/dist/chunk-MJJNX2FU.js.map +1 -0
- package/dist/chunk-MKXVBM5B.js +30 -0
- package/dist/chunk-MKXVBM5B.js.map +1 -0
- package/dist/chunk-MND3EMP4.js +190 -0
- package/dist/chunk-MND3EMP4.js.map +1 -0
- package/dist/chunk-MPCAMIR5.js +64 -0
- package/dist/chunk-MPCAMIR5.js.map +1 -0
- package/dist/chunk-MQ2CLHIH.js +89 -0
- package/dist/chunk-MQ2CLHIH.js.map +1 -0
- package/dist/chunk-MRA2XBJK.js +83 -0
- package/dist/chunk-MRA2XBJK.js.map +1 -0
- package/dist/chunk-MRJWBQNJ.js +49 -0
- package/dist/chunk-MRJWBQNJ.js.map +1 -0
- package/dist/chunk-MSCT64FU.js +37 -0
- package/dist/chunk-MSCT64FU.js.map +1 -0
- package/dist/chunk-MSVUHIIN.js +166 -0
- package/dist/chunk-MSVUHIIN.js.map +1 -0
- package/dist/chunk-MUM2B5A3.js +75 -0
- package/dist/chunk-MUM2B5A3.js.map +1 -0
- package/dist/chunk-MWMOIEIC.js +70 -0
- package/dist/chunk-MWMOIEIC.js.map +1 -0
- package/dist/chunk-MYGGJYEC.js +89 -0
- package/dist/chunk-MYGGJYEC.js.map +1 -0
- package/dist/chunk-MYLO4OES.js +151 -0
- package/dist/chunk-MYLO4OES.js.map +1 -0
- package/dist/chunk-MZKZK3LC.js +57 -0
- package/dist/chunk-MZKZK3LC.js.map +1 -0
- package/dist/chunk-N7YSRFPH.js +63 -0
- package/dist/chunk-N7YSRFPH.js.map +1 -0
- package/dist/chunk-NBUTNJ3K.js +179 -0
- package/dist/chunk-NBUTNJ3K.js.map +1 -0
- package/dist/chunk-NE3JUZI2.js +99 -0
- package/dist/chunk-NE3JUZI2.js.map +1 -0
- package/dist/chunk-NELFVL6H.js +64 -0
- package/dist/chunk-NELFVL6H.js.map +1 -0
- package/dist/chunk-NFMBTYF4.js +70 -0
- package/dist/chunk-NFMBTYF4.js.map +1 -0
- package/dist/chunk-NGKPMP3W.js +96 -0
- package/dist/chunk-NGKPMP3W.js.map +1 -0
- package/dist/chunk-NIFSP7SW.js +151 -0
- package/dist/chunk-NIFSP7SW.js.map +1 -0
- package/dist/chunk-NKRASPWM.js +69 -0
- package/dist/chunk-NKRASPWM.js.map +1 -0
- package/dist/chunk-NKXDVRQ4.js +220 -0
- package/dist/chunk-NKXDVRQ4.js.map +1 -0
- package/dist/chunk-NQ44TEDY.js +145 -0
- package/dist/chunk-NQ44TEDY.js.map +1 -0
- package/dist/chunk-NROYISEH.js +89 -0
- package/dist/chunk-NROYISEH.js.map +1 -0
- package/dist/chunk-O2S7S5B4.js +47 -0
- package/dist/chunk-O2S7S5B4.js.map +1 -0
- package/dist/chunk-O2U2TJK7.js +45 -0
- package/dist/chunk-O2U2TJK7.js.map +1 -0
- package/dist/chunk-O4BXBWBH.js +216 -0
- package/dist/chunk-O4BXBWBH.js.map +1 -0
- package/dist/chunk-O4LLIQFZ.js +69 -0
- package/dist/chunk-O4LLIQFZ.js.map +1 -0
- package/dist/chunk-O4XKSBOL.js +69 -0
- package/dist/chunk-O4XKSBOL.js.map +1 -0
- package/dist/chunk-O5L4LK45.js +165 -0
- package/dist/chunk-O5L4LK45.js.map +1 -0
- package/dist/chunk-OCKXXXTZ.js +89 -0
- package/dist/chunk-OCKXXXTZ.js.map +1 -0
- package/dist/chunk-OGPWI7SG.js +29 -0
- package/dist/chunk-OGPWI7SG.js.map +1 -0
- package/dist/chunk-OHOXCKHF.js +151 -0
- package/dist/chunk-OHOXCKHF.js.map +1 -0
- package/dist/chunk-OHUFQAZB.js +63 -0
- package/dist/chunk-OHUFQAZB.js.map +1 -0
- package/dist/chunk-OKSUCBSY.js +58 -0
- package/dist/chunk-OKSUCBSY.js.map +1 -0
- package/dist/chunk-OKXBI7IF.js +170 -0
- package/dist/chunk-OKXBI7IF.js.map +1 -0
- package/dist/chunk-OLT2EBMM.js +54 -0
- package/dist/chunk-OLT2EBMM.js.map +1 -0
- package/dist/chunk-OLYCZXIZ.js +196 -0
- package/dist/chunk-OLYCZXIZ.js.map +1 -0
- package/dist/chunk-OSYCWRVO.js +65 -0
- package/dist/chunk-OSYCWRVO.js.map +1 -0
- package/dist/chunk-OT4YK556.js +167 -0
- package/dist/chunk-OT4YK556.js.map +1 -0
- package/dist/chunk-OU3RO2DA.js +117 -0
- package/dist/chunk-OU3RO2DA.js.map +1 -0
- package/dist/chunk-OVI5652U.js +117 -0
- package/dist/chunk-OVI5652U.js.map +1 -0
- package/dist/chunk-P5EMTC35.js +1 -0
- package/dist/chunk-P5EMTC35.js.map +1 -0
- package/dist/chunk-P7NZAQKZ.js +196 -0
- package/dist/chunk-P7NZAQKZ.js.map +1 -0
- package/dist/chunk-PC26JV54.js +89 -0
- package/dist/chunk-PC26JV54.js.map +1 -0
- package/dist/chunk-PDDAUXIH.js +49 -0
- package/dist/chunk-PDDAUXIH.js.map +1 -0
- package/dist/chunk-PEIMGJ2L.js +43 -0
- package/dist/chunk-PEIMGJ2L.js.map +1 -0
- package/dist/chunk-PELGOL5F.js +53 -0
- package/dist/chunk-PELGOL5F.js.map +1 -0
- package/dist/chunk-PHCIF2QS.js +228 -0
- package/dist/chunk-PHCIF2QS.js.map +1 -0
- package/dist/chunk-PIA7B3KK.js +363 -0
- package/dist/chunk-PIA7B3KK.js.map +1 -0
- package/dist/chunk-PLKIGWJE.js +161 -0
- package/dist/chunk-PLKIGWJE.js.map +1 -0
- package/dist/chunk-PPGJYNN6.js +69 -0
- package/dist/chunk-PPGJYNN6.js.map +1 -0
- package/dist/chunk-PPMKBHGP.js +43 -0
- package/dist/chunk-PPMKBHGP.js.map +1 -0
- package/dist/chunk-PQRXI5JN.js +101 -0
- package/dist/chunk-PQRXI5JN.js.map +1 -0
- package/dist/chunk-PUFSBCTD.js +53 -0
- package/dist/chunk-PUFSBCTD.js.map +1 -0
- package/dist/chunk-PVCP2HXD.js +218 -0
- package/dist/chunk-PVCP2HXD.js.map +1 -0
- package/dist/chunk-PXIDBO5Z.js +53 -0
- package/dist/chunk-PXIDBO5Z.js.map +1 -0
- package/dist/chunk-Q7466ZAI.js +234 -0
- package/dist/chunk-Q7466ZAI.js.map +1 -0
- package/dist/chunk-Q7RKBEJ6.js +128 -0
- package/dist/chunk-Q7RKBEJ6.js.map +1 -0
- package/dist/chunk-QAWGPCHF.js +234 -0
- package/dist/chunk-QAWGPCHF.js.map +1 -0
- package/dist/chunk-QFXESBGO.js +196 -0
- package/dist/chunk-QFXESBGO.js.map +1 -0
- package/dist/chunk-QI45ERBH.js +228 -0
- package/dist/chunk-QI45ERBH.js.map +1 -0
- package/dist/chunk-QILFXY2D.js +133 -0
- package/dist/chunk-QILFXY2D.js.map +1 -0
- package/dist/chunk-QIS7GBXQ.js +135 -0
- package/dist/chunk-QIS7GBXQ.js.map +1 -0
- package/dist/chunk-QIXW2PLJ.js +43 -0
- package/dist/chunk-QIXW2PLJ.js.map +1 -0
- package/dist/chunk-QL4X5PNF.js +89 -0
- package/dist/chunk-QL4X5PNF.js.map +1 -0
- package/dist/chunk-QND5UKCI.js +64 -0
- package/dist/chunk-QND5UKCI.js.map +1 -0
- package/dist/chunk-QTQKJ4A2.js +71 -0
- package/dist/chunk-QTQKJ4A2.js.map +1 -0
- package/dist/chunk-QVNFUHGH.js +57 -0
- package/dist/chunk-QVNFUHGH.js.map +1 -0
- package/dist/chunk-QYJWWZOY.js +51 -0
- package/dist/chunk-QYJWWZOY.js.map +1 -0
- package/dist/chunk-R333V334.js +151 -0
- package/dist/chunk-R333V334.js.map +1 -0
- package/dist/chunk-R7BSQNP3.js +214 -0
- package/dist/chunk-R7BSQNP3.js.map +1 -0
- package/dist/chunk-RA33MWQB.js +181 -0
- package/dist/chunk-RA33MWQB.js.map +1 -0
- package/dist/chunk-RFZRNMSU.js +165 -0
- package/dist/chunk-RFZRNMSU.js.map +1 -0
- package/dist/chunk-RJCJ63SH.js +145 -0
- package/dist/chunk-RJCJ63SH.js.map +1 -0
- package/dist/chunk-RJFQN2KR.js +100 -0
- package/dist/chunk-RJFQN2KR.js.map +1 -0
- package/dist/chunk-RUVHPIJU.js +37 -0
- package/dist/chunk-RUVHPIJU.js.map +1 -0
- package/dist/chunk-RVHGTJFS.js +135 -0
- package/dist/chunk-RVHGTJFS.js.map +1 -0
- package/dist/chunk-RWMHPUWD.js +234 -0
- package/dist/chunk-RWMHPUWD.js.map +1 -0
- package/dist/chunk-RXV2D67B.js +63 -0
- package/dist/chunk-RXV2D67B.js.map +1 -0
- package/dist/chunk-RZRBFJOD.js +29 -0
- package/dist/chunk-RZRBFJOD.js.map +1 -0
- package/dist/chunk-S6Y3GE5D.js +128 -0
- package/dist/chunk-S6Y3GE5D.js.map +1 -0
- package/dist/chunk-SBJF4VD4.js +196 -0
- package/dist/chunk-SBJF4VD4.js.map +1 -0
- package/dist/chunk-SBK2ITJ7.js +63 -0
- package/dist/chunk-SBK2ITJ7.js.map +1 -0
- package/dist/chunk-SBRXVDFO.js +68 -0
- package/dist/chunk-SBRXVDFO.js.map +1 -0
- package/dist/chunk-SDPXP5OX.js +87 -0
- package/dist/chunk-SDPXP5OX.js.map +1 -0
- package/dist/chunk-SF4RNPLA.js +64 -0
- package/dist/chunk-SF4RNPLA.js.map +1 -0
- package/dist/chunk-SFQEFUZU.js +51 -0
- package/dist/chunk-SFQEFUZU.js.map +1 -0
- package/dist/chunk-SGCKXLXZ.js +79 -0
- package/dist/chunk-SGCKXLXZ.js.map +1 -0
- package/dist/chunk-SGXJUOZP.js +363 -0
- package/dist/chunk-SGXJUOZP.js.map +1 -0
- package/dist/chunk-SJN4QZNT.js +180 -0
- package/dist/chunk-SJN4QZNT.js.map +1 -0
- package/dist/chunk-SQNNENHR.js +144 -0
- package/dist/chunk-SQNNENHR.js.map +1 -0
- package/dist/chunk-STZLLNIO.js +89 -0
- package/dist/chunk-STZLLNIO.js.map +1 -0
- package/dist/chunk-SVEVZ3WT.js +61 -0
- package/dist/chunk-SVEVZ3WT.js.map +1 -0
- package/dist/chunk-SVMB4QD5.js +70 -0
- package/dist/chunk-SVMB4QD5.js.map +1 -0
- package/dist/chunk-SWS35KO5.js +61 -0
- package/dist/chunk-SWS35KO5.js.map +1 -0
- package/dist/chunk-SXV63WXH.js +61 -0
- package/dist/chunk-SXV63WXH.js.map +1 -0
- package/dist/chunk-SY65PAN3.js +177 -0
- package/dist/chunk-SY65PAN3.js.map +1 -0
- package/dist/chunk-T325DBMT.js +135 -0
- package/dist/chunk-T325DBMT.js.map +1 -0
- package/dist/chunk-T6DDEL3N.js +69 -0
- package/dist/chunk-T6DDEL3N.js.map +1 -0
- package/dist/chunk-T7JSACWE.js +170 -0
- package/dist/chunk-T7JSACWE.js.map +1 -0
- package/dist/chunk-TEV57BFO.js +151 -0
- package/dist/chunk-TEV57BFO.js.map +1 -0
- package/dist/chunk-TG3OSIX2.js +228 -0
- package/dist/chunk-TG3OSIX2.js.map +1 -0
- package/dist/chunk-TIIB6RRB.js +69 -0
- package/dist/chunk-TIIB6RRB.js.map +1 -0
- package/dist/chunk-TILXXPKB.js +165 -0
- package/dist/chunk-TILXXPKB.js.map +1 -0
- package/dist/chunk-TJSXCTL7.js +234 -0
- package/dist/chunk-TJSXCTL7.js.map +1 -0
- package/dist/chunk-TK5BEY6H.js +128 -0
- package/dist/chunk-TK5BEY6H.js.map +1 -0
- package/dist/chunk-TLMWQIPZ.js +63 -0
- package/dist/chunk-TLMWQIPZ.js.map +1 -0
- package/dist/chunk-TM6PSMKC.js +117 -0
- package/dist/chunk-TM6PSMKC.js.map +1 -0
- package/dist/chunk-TNEDEZ2Z.js +196 -0
- package/dist/chunk-TNEDEZ2Z.js.map +1 -0
- package/dist/chunk-TPG6RSKM.js +79 -0
- package/dist/chunk-TPG6RSKM.js.map +1 -0
- package/dist/chunk-TQF4GRGJ.js +1 -0
- package/dist/chunk-TQF4GRGJ.js.map +1 -0
- package/dist/chunk-TQKHESUK.js +79 -0
- package/dist/chunk-TQKHESUK.js.map +1 -0
- package/dist/chunk-TUN5OV7W.js +63 -0
- package/dist/chunk-TUN5OV7W.js.map +1 -0
- package/dist/chunk-TV5G6LPC.js +57 -0
- package/dist/chunk-TV5G6LPC.js.map +1 -0
- package/dist/chunk-TYQOHHL5.js +63 -0
- package/dist/chunk-TYQOHHL5.js.map +1 -0
- package/dist/chunk-TZ44E4LR.js +163 -0
- package/dist/chunk-TZ44E4LR.js.map +1 -0
- package/dist/chunk-U37PT6VV.js +196 -0
- package/dist/chunk-U37PT6VV.js.map +1 -0
- package/dist/chunk-UAJLDSLE.js +64 -0
- package/dist/chunk-UAJLDSLE.js.map +1 -0
- package/dist/chunk-UCVV5BGZ.js +144 -0
- package/dist/chunk-UCVV5BGZ.js.map +1 -0
- package/dist/chunk-UD5FDS7X.js +47 -0
- package/dist/chunk-UD5FDS7X.js.map +1 -0
- package/dist/chunk-UDLLO545.js +151 -0
- package/dist/chunk-UDLLO545.js.map +1 -0
- package/dist/chunk-UEJ7NCHG.js +144 -0
- package/dist/chunk-UEJ7NCHG.js.map +1 -0
- package/dist/chunk-UGEYDMN3.js +61 -0
- package/dist/chunk-UGEYDMN3.js.map +1 -0
- package/dist/chunk-UGYRR323.js +69 -0
- package/dist/chunk-UGYRR323.js.map +1 -0
- package/dist/chunk-UJ2XL5VN.js +101 -0
- package/dist/chunk-UJ2XL5VN.js.map +1 -0
- package/dist/chunk-UJKOBA4Y.js +99 -0
- package/dist/chunk-UJKOBA4Y.js.map +1 -0
- package/dist/chunk-UK65IEDJ.js +63 -0
- package/dist/chunk-UK65IEDJ.js.map +1 -0
- package/dist/chunk-UP3YGBRA.js +134 -0
- package/dist/chunk-UP3YGBRA.js.map +1 -0
- package/dist/chunk-UQE24S4I.js +196 -0
- package/dist/chunk-UQE24S4I.js.map +1 -0
- package/dist/chunk-UTJ76HLW.js +196 -0
- package/dist/chunk-UTJ76HLW.js.map +1 -0
- package/dist/chunk-UV6763TN.js +186 -0
- package/dist/chunk-UV6763TN.js.map +1 -0
- package/dist/chunk-UVDP6VGC.js +69 -0
- package/dist/chunk-UVDP6VGC.js.map +1 -0
- package/dist/chunk-V4I747TY.js +70 -0
- package/dist/chunk-V4I747TY.js.map +1 -0
- package/dist/chunk-V6PVVUGB.js +165 -0
- package/dist/chunk-V6PVVUGB.js.map +1 -0
- package/dist/chunk-VFRNOZ33.js +87 -0
- package/dist/chunk-VFRNOZ33.js.map +1 -0
- package/dist/chunk-VJBTYYJO.js +196 -0
- package/dist/chunk-VJBTYYJO.js.map +1 -0
- package/dist/chunk-VMLA4APO.js +170 -0
- package/dist/chunk-VMLA4APO.js.map +1 -0
- package/dist/chunk-VNKD3ZNY.js +180 -0
- package/dist/chunk-VNKD3ZNY.js.map +1 -0
- package/dist/chunk-VOCTN5RT.js +100 -0
- package/dist/chunk-VOCTN5RT.js.map +1 -0
- package/dist/chunk-VPW327Z4.js +64 -0
- package/dist/chunk-VPW327Z4.js.map +1 -0
- package/dist/chunk-VRY3HFX6.js +45 -0
- package/dist/chunk-VRY3HFX6.js.map +1 -0
- package/dist/chunk-VVSOYY3Q.js +63 -0
- package/dist/chunk-VVSOYY3Q.js.map +1 -0
- package/dist/chunk-VXEHC53Z.js +64 -0
- package/dist/chunk-VXEHC53Z.js.map +1 -0
- package/dist/chunk-VZRLN4OZ.js +89 -0
- package/dist/chunk-VZRLN4OZ.js.map +1 -0
- package/dist/chunk-W2IKAMW3.js +196 -0
- package/dist/chunk-W2IKAMW3.js.map +1 -0
- package/dist/chunk-W2TUAROH.js +64 -0
- package/dist/chunk-W2TUAROH.js.map +1 -0
- package/dist/chunk-W4FHKA5J.js +89 -0
- package/dist/chunk-W4FHKA5J.js.map +1 -0
- package/dist/chunk-W4YWBGJB.js +228 -0
- package/dist/chunk-W4YWBGJB.js.map +1 -0
- package/dist/chunk-W56RRQDA.js +181 -0
- package/dist/chunk-W56RRQDA.js.map +1 -0
- package/dist/chunk-W73L2K32.js +29 -0
- package/dist/chunk-W73L2K32.js.map +1 -0
- package/dist/chunk-WDVW3OI6.js +63 -0
- package/dist/chunk-WDVW3OI6.js.map +1 -0
- package/dist/chunk-WFL5TJO2.js +69 -0
- package/dist/chunk-WFL5TJO2.js.map +1 -0
- package/dist/chunk-WHBSVC3B.js +144 -0
- package/dist/chunk-WHBSVC3B.js.map +1 -0
- package/dist/chunk-WI24YDXT.js +124 -0
- package/dist/chunk-WI24YDXT.js.map +1 -0
- package/dist/chunk-WJ3FV6FJ.js +89 -0
- package/dist/chunk-WJ3FV6FJ.js.map +1 -0
- package/dist/chunk-WMFMBVWB.js +220 -0
- package/dist/chunk-WMFMBVWB.js.map +1 -0
- package/dist/chunk-WOWKGZBO.js +61 -0
- package/dist/chunk-WOWKGZBO.js.map +1 -0
- package/dist/chunk-WPT6SMYT.js +89 -0
- package/dist/chunk-WPT6SMYT.js.map +1 -0
- package/dist/chunk-WQKPAM7P.js +49 -0
- package/dist/chunk-WQKPAM7P.js.map +1 -0
- package/dist/chunk-WUJNAA43.js +135 -0
- package/dist/chunk-WUJNAA43.js.map +1 -0
- package/dist/chunk-X3TBTSIH.js +363 -0
- package/dist/chunk-X3TBTSIH.js.map +1 -0
- package/dist/chunk-X7DJ6GYD.js +234 -0
- package/dist/chunk-X7DJ6GYD.js.map +1 -0
- package/dist/chunk-XABQ5GB3.js +68 -0
- package/dist/chunk-XABQ5GB3.js.map +1 -0
- package/dist/chunk-XALU4A3Y.js +176 -0
- package/dist/chunk-XALU4A3Y.js.map +1 -0
- package/dist/chunk-XE2IVR2I.js +63 -0
- package/dist/chunk-XE2IVR2I.js.map +1 -0
- package/dist/chunk-XGKEPDXL.js +151 -0
- package/dist/chunk-XGKEPDXL.js.map +1 -0
- package/dist/chunk-XGYY4Q3K.js +145 -0
- package/dist/chunk-XGYY4Q3K.js.map +1 -0
- package/dist/chunk-XHO7B3B6.js +57 -0
- package/dist/chunk-XHO7B3B6.js.map +1 -0
- package/dist/chunk-XON6DE42.js +133 -0
- package/dist/chunk-XON6DE42.js.map +1 -0
- package/dist/chunk-XTH2FVUS.js +61 -0
- package/dist/chunk-XTH2FVUS.js.map +1 -0
- package/dist/chunk-XTL5N4R4.js +165 -0
- package/dist/chunk-XTL5N4R4.js.map +1 -0
- package/dist/chunk-XZVIOTPT.js +64 -0
- package/dist/chunk-XZVIOTPT.js.map +1 -0
- package/dist/chunk-Y4O3IPBN.js +144 -0
- package/dist/chunk-Y4O3IPBN.js.map +1 -0
- package/dist/chunk-Y544X6UV.js +135 -0
- package/dist/chunk-Y544X6UV.js.map +1 -0
- package/dist/chunk-Y6SPEHZ7.js +63 -0
- package/dist/chunk-Y6SPEHZ7.js.map +1 -0
- package/dist/chunk-Y754AEOM.js +128 -0
- package/dist/chunk-Y754AEOM.js.map +1 -0
- package/dist/chunk-YAKMX3FN.js +63 -0
- package/dist/chunk-YAKMX3FN.js.map +1 -0
- package/dist/chunk-YBBDOOS7.js +180 -0
- package/dist/chunk-YBBDOOS7.js.map +1 -0
- package/dist/chunk-YBQAB246.js +87 -0
- package/dist/chunk-YBQAB246.js.map +1 -0
- package/dist/chunk-YEBURTE7.js +68 -0
- package/dist/chunk-YEBURTE7.js.map +1 -0
- package/dist/chunk-YIVSCJF4.js +54 -0
- package/dist/chunk-YIVSCJF4.js.map +1 -0
- package/dist/chunk-YNZSVM46.js +171 -0
- package/dist/chunk-YNZSVM46.js.map +1 -0
- package/dist/chunk-YSNPLJ7W.js +145 -0
- package/dist/chunk-YSNPLJ7W.js.map +1 -0
- package/dist/chunk-YVLXM7BW.js +220 -0
- package/dist/chunk-YVLXM7BW.js.map +1 -0
- package/dist/chunk-YW3LY6J7.js +105 -0
- package/dist/chunk-YW3LY6J7.js.map +1 -0
- package/dist/chunk-YYWEFK4H.js +39 -0
- package/dist/chunk-YYWEFK4H.js.map +1 -0
- package/dist/chunk-YYXHB7EA.js +144 -0
- package/dist/chunk-YYXHB7EA.js.map +1 -0
- package/dist/chunk-Z3TB7VWJ.js +64 -0
- package/dist/chunk-Z3TB7VWJ.js.map +1 -0
- package/dist/chunk-Z6XUMLRD.js +87 -0
- package/dist/chunk-Z6XUMLRD.js.map +1 -0
- package/dist/chunk-ZAX4YKNH.js +181 -0
- package/dist/chunk-ZAX4YKNH.js.map +1 -0
- package/dist/chunk-ZERCWSOQ.js +181 -0
- package/dist/chunk-ZERCWSOQ.js.map +1 -0
- package/dist/chunk-ZFNLXQ5V.js +69 -0
- package/dist/chunk-ZFNLXQ5V.js.map +1 -0
- package/dist/chunk-ZG4RYMLO.js +144 -0
- package/dist/chunk-ZG4RYMLO.js.map +1 -0
- package/dist/chunk-ZGUO3HXQ.js +89 -0
- package/dist/chunk-ZGUO3HXQ.js.map +1 -0
- package/dist/chunk-ZJ7UZMU4.js +74 -0
- package/dist/chunk-ZJ7UZMU4.js.map +1 -0
- package/dist/chunk-ZJGAXVZB.js +87 -0
- package/dist/chunk-ZJGAXVZB.js.map +1 -0
- package/dist/chunk-ZK2NEWKI.js +189 -0
- package/dist/chunk-ZK2NEWKI.js.map +1 -0
- package/dist/chunk-ZKRL5XZA.js +43 -0
- package/dist/chunk-ZKRL5XZA.js.map +1 -0
- package/dist/chunk-ZLALKH4J.js +68 -0
- package/dist/chunk-ZLALKH4J.js.map +1 -0
- package/dist/chunk-ZM2T7CBS.js +64 -0
- package/dist/chunk-ZM2T7CBS.js.map +1 -0
- package/dist/chunk-ZNPCFSA6.js +165 -0
- package/dist/chunk-ZNPCFSA6.js.map +1 -0
- package/dist/chunk-ZOCPW3RE.js +145 -0
- package/dist/chunk-ZOCPW3RE.js.map +1 -0
- package/dist/chunk-ZP3XVFP5.js +67 -0
- package/dist/chunk-ZP3XVFP5.js.map +1 -0
- package/dist/chunk-ZRWSZXVY.js +64 -0
- package/dist/chunk-ZRWSZXVY.js.map +1 -0
- package/dist/chunk-ZW7YR3LW.js +39 -0
- package/dist/chunk-ZW7YR3LW.js.map +1 -0
- package/dist/context/dynamic-form-context.cjs +339 -0
- package/dist/context/dynamic-form-context.cjs.map +1 -0
- package/dist/context/dynamic-form-context.d.cts +23 -0
- package/dist/context/dynamic-form-context.d.ts +23 -0
- package/dist/context/dynamic-form-context.js +14 -0
- package/dist/context/dynamic-form-context.js.map +1 -0
- package/dist/context/index.cjs +368 -0
- package/dist/context/index.cjs.map +1 -0
- package/dist/context/index.d.cts +5 -0
- package/dist/context/index.d.ts +5 -0
- package/dist/context/index.js +23 -0
- package/dist/context/index.js.map +1 -0
- package/dist/icon.js +12 -12
- package/dist/icons/index.js +12 -12
- package/dist/index.cjs +550 -452
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -3
- package/dist/index.d.ts +5 -3
- package/dist/index.js +122 -118
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +23 -23
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +16 -16
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +21 -21
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +14 -14
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.js +15 -15
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.js +14 -14
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +17 -17
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +17 -17
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +17 -17
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +17 -17
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +15 -15
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +26 -26
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +16 -16
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +15 -15
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +27 -27
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-video.js +14 -14
- package/dist/molecules/curriculumV2/CurriculumContents/index.js +29 -29
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.js +15 -15
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-sidebar-item-wrapper.js +14 -14
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +17 -17
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-title.js +14 -14
- package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +19 -19
- package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +18 -18
- package/dist/molecules/curriculumV2/curriculum-sub-nav.js +15 -15
- package/dist/molecules/curriculumV2/curriculum-v2-layout.js +14 -14
- package/dist/molecules/curriculumV2/index.js +34 -34
- package/dist/molecules/date-picker/date-picker-button.js +16 -16
- package/dist/molecules/date-picker/index.js +15 -15
- package/dist/molecules/download-card.js +2 -2
- package/dist/molecules/dynamic-field.cjs +307 -83
- package/dist/molecules/dynamic-field.cjs.map +1 -1
- package/dist/molecules/dynamic-field.d.cts +4 -22
- package/dist/molecules/dynamic-field.d.ts +4 -22
- package/dist/molecules/dynamic-field.js +6 -1
- package/dist/molecules/dynamic-form-response-item.cjs +95 -0
- package/dist/molecules/dynamic-form-response-item.cjs.map +1 -0
- package/dist/molecules/dynamic-form-response-item.d.cts +10 -0
- package/dist/molecules/dynamic-form-response-item.d.ts +10 -0
- package/dist/molecules/dynamic-form-response-item.js +8 -0
- package/dist/molecules/dynamic-form-response-item.js.map +1 -0
- package/dist/molecules/dynamic-form.cjs +196 -104
- package/dist/molecules/dynamic-form.cjs.map +1 -1
- package/dist/molecules/dynamic-form.d.cts +14 -10
- package/dist/molecules/dynamic-form.d.ts +14 -10
- package/dist/molecules/dynamic-form.js +17 -18
- package/dist/molecules/expand-table/index.js +15 -15
- package/dist/molecules/expand-table/row.js +14 -14
- package/dist/molecules/force-refresh.js +2 -2
- package/dist/molecules/ghost-post.js +3 -3
- package/dist/molecules/index.cjs +265 -104
- package/dist/molecules/index.cjs.map +1 -1
- package/dist/molecules/index.d.cts +4 -4
- package/dist/molecules/index.d.ts +4 -4
- package/dist/molecules/index.js +69 -66
- package/dist/molecules/learning-post.js +4 -4
- package/dist/molecules/navigation.js +15 -15
- package/dist/molecules/radio-button-card.js +14 -14
- package/dist/molecules/stepper.js +7 -7
- package/dist/molecules/tag-selector.js +15 -15
- package/dist/molecules/time-select.js +14 -14
- package/dist/types/dynamic-form-json.cjs +54 -13
- package/dist/types/dynamic-form-json.cjs.map +1 -1
- package/dist/types/dynamic-form-json.d.cts +97 -17
- package/dist/types/dynamic-form-json.d.ts +97 -17
- package/dist/types/dynamic-form-json.js +1 -1
- package/dist/types/dynamic-form-schema-generated.cjs +19 -0
- package/dist/types/dynamic-form-schema-generated.cjs.map +1 -0
- package/dist/types/dynamic-form-schema-generated.d.cts +84 -0
- package/dist/types/dynamic-form-schema-generated.d.ts +84 -0
- package/dist/types/dynamic-form-schema-generated.js +2 -0
- package/dist/types/dynamic-form-schema-generated.js.map +1 -0
- package/dist/types/dynamic-form-schema.cjs +88 -0
- package/dist/types/dynamic-form-schema.cjs.map +1 -0
- package/dist/types/dynamic-form-schema.js +54 -0
- package/dist/types/dynamic-form-schema.js.map +1 -0
- package/dist/types/index.cjs +0 -76
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.cts +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.js +2 -10
- package/dist/utils/curriculum.utils.js +5 -5
- package/package.json +2 -2
- package/src/constrant/dynamic-form-schema.json +177 -0
- package/src/context/dynamic-form-context.tsx +62 -0
- package/src/context/index.ts +2 -0
- package/src/index.ts +1 -1
- package/src/molecules/dynamic-field.tsx +44 -57
- package/src/molecules/dynamic-form-response-item.tsx +87 -0
- package/src/molecules/dynamic-form.tsx +139 -94
- package/src/molecules/index.ts +2 -1
- package/src/types/dynamic-form-schema-generated.ts +103 -0
- package/src/types/index.ts +1 -1
- package/src/types/dynamic-form-json.ts +0 -143
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/molecules/dynamic-form.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport { useFormik, type FormikProps } from 'formik';\nimport * as Yup from 'yup';\nimport { Box } from '@radix-ui/themes';\nimport { Typo } from '@/atoms';\nimport type {\n DynamicFormSchema,\n ValidationRule,\n} from '@/types/dynamic-form-schema';\nimport {\n DynamicFormProvider,\n useDynamicForm,\n} from '@/context/dynamic-form-context';\nimport { Form } from './form/form';\nimport { DynamicFormField } from './dynamic-field';\n\nexport interface DynamicFormProps {\n fields: DynamicFormField[];\n initialValues?: Record<string, unknown>;\n onSubmit: (values: Record<string, unknown>) => void | Promise<void>;\n children: React.ReactNode;\n}\n\nfunction DynamicFormRoot({\n fields,\n initialValues = {},\n onSubmit,\n children,\n}: DynamicFormProps): React.ReactElement {\n const validationSchema = useMemo(() => {\n const schema: Record<string, Yup.Schema<unknown>> = {};\n fields.forEach((field) => {\n if (field.validation) {\n schema[field.name] = field.validation;\n } else if (field.required) {\n // choices 타입은 배열 스키마로 처리\n if (field.type === 'choices') {\n schema[field.name] = Yup.array()\n .min(1, `${field.label}을(를) 하나 이상 선택해주세요`)\n .required(`${field.label}은(는) 필수입니다`);\n } else {\n schema[field.name] = Yup.string().required(\n `${field.label}은(는) 필수입니다`\n );\n }\n }\n });\n return Object.keys(schema).length > 0 ? Yup.object(schema) : undefined;\n }, [fields]);\n\n const formik: FormikProps<Record<string, unknown>> = useFormik({\n initialValues: fields.reduce<Record<string, unknown>>((acc, field) => {\n if (field.type === 'choices') {\n acc[field.name] = initialValues[field.name] || [];\n } else if (field.type === 'boolean') {\n acc[field.name] = initialValues[field.name] || false;\n } else {\n acc[field.name] = initialValues[field.name] || '';\n }\n return acc;\n }, {}),\n validationSchema,\n validateOnBlur: true,\n onSubmit: async (values) => {\n await onSubmit(values);\n },\n });\n\n return (\n <DynamicFormProvider fields={fields} formik={formik}>\n {children}\n </DynamicFormProvider>\n );\n}\n\ninterface DynamicFormFieldListProps {\n fields?: DynamicFormField[];\n labelVariant?: 'title' | 'body' | 'caption';\n}\nfunction DynamicFormFieldList({\n fields: fieldsProp,\n labelVariant,\n}: DynamicFormFieldListProps): React.ReactElement {\n const { formik, fields: fieldsFromContext } = useDynamicForm();\n const fields = fieldsProp || fieldsFromContext;\n const fieldRefs = useRef<Record<string, HTMLElement | null>>({});\n\n return (\n <>\n {fields.map((field) => {\n const errorMessage =\n formik.touched[field.name] && formik.errors[field.name]\n ? String(formik.errors[field.name])\n : undefined;\n\n return (\n <Box\n key={field.name}\n mb=\"2\"\n ref={(el) => {\n fieldRefs.current[field.name] = el;\n }}\n >\n <Form.FormItem\n errorMessage={errorMessage}\n label={field.label}\n labelVariant={labelVariant}\n name={field.name}\n required={field.required}\n >\n <DynamicFormField field={field} />\n {field.description ? <Typo>{field.description}</Typo> : null}\n </Form.FormItem>\n </Box>\n );\n })}\n </>\n );\n}\n\nexport const DynamicForm = {\n Root: DynamicFormRoot,\n FieldList: DynamicFormFieldList,\n};\n\n// JSON 데이터를 DynamicFormField 타입으로 변환하는 함수\nexport function convertJsonToFields(\n jsonData: DynamicFormSchema\n): DynamicFormFieldSchema[] {\n return jsonData.fields.map((field): DynamicFormFieldSchema => {\n const baseField = {\n name: field.name,\n label: field.label,\n description: field.description,\n required: field.required,\n validation: field.validation\n ? createYupValidation(field.validation)\n : undefined,\n };\n\n // 타입별로 필요한 속성만 추가\n switch (field.type) {\n case 'short_text':\n return {\n ...baseField,\n type: 'short_text' as const,\n placeholder: field.placeholder,\n };\n \n case 'long_text':\n return {\n ...baseField,\n type: 'long_text' as const,\n placeholder: field.placeholder,\n };\n \n case 'number':\n return {\n ...baseField,\n type: 'number' as const,\n placeholder: field.placeholder,\n };\n \n case 'email':\n return {\n ...baseField,\n type: 'email' as const,\n placeholder: field.placeholder,\n };\n \n case 'password':\n return {\n ...baseField,\n type: 'password' as const,\n placeholder: field.placeholder,\n };\n \n case 'dropdown':\n return {\n ...baseField,\n type: 'dropdown' as const,\n placeholder: field.placeholder,\n options: field.options,\n };\n \n case 'choice':\n return {\n ...baseField,\n type: 'choice' as const,\n options: field.options,\n orientation: field.orientation,\n };\n \n case 'choices':\n return {\n ...baseField,\n type: 'choices' as const,\n options: field.options,\n orientation: field.orientation,\n };\n \n case 'boolean':\n return {\n ...baseField,\n type: 'boolean' as const,\n };\n \n default:\n // 타입이 명시되지 않은 경우 기본값으로 처리\n return {\n ...baseField,\n type: 'short_text' as const,\n };\n }\n });\n}\n\nexport function createYupValidation(\n validation?: ValidationRule\n): Yup.Schema<unknown> | undefined {\n if (!validation) return undefined;\n\n let schema: Yup.Schema<unknown>;\n\n if (validation.type === 'number') {\n schema = Yup.number();\n } else if (validation.type === 'email') {\n schema = Yup.string().email(\n validation.message || '올바른 이메일 형식이 아닙니다'\n );\n } else if (validation.type === 'array') {\n schema = Yup.array();\n } else {\n schema = Yup.string();\n }\n\n if (validation.required) {\n schema = schema.required(\n validation.message || '필수 항목입니다'\n ) as Yup.Schema<unknown>;\n }\n\n if (validation.min !== undefined) {\n if (validation.type === 'number') {\n schema = (schema as Yup.NumberSchema).min(\n validation.min,\n validation.message || `최소 ${validation.min}이어야 합니다`\n );\n } else if (validation.type === 'array') {\n schema = (schema as ReturnType<typeof Yup.array>).min(\n validation.min,\n validation.message || `최소 ${validation.min}개 이상 선택해주세요`\n );\n } else {\n schema = (schema as Yup.StringSchema).min(\n validation.min,\n validation.message || `최소 ${validation.min}자 이상이어야 합니다`\n );\n }\n }\n\n if (validation.max !== undefined) {\n if (validation.type === 'number') {\n schema = (schema as Yup.NumberSchema).max(\n validation.max,\n validation.message || `최대 ${validation.max}이어야 합니다`\n );\n } else if (validation.type === 'array') {\n schema = (schema as ReturnType<typeof Yup.array>).max(\n validation.max,\n validation.message || `최대 ${validation.max}개까지 선택 가능합니다`\n );\n } else {\n schema = (schema as Yup.StringSchema).max(\n validation.max,\n validation.message || `최대 ${validation.max}자 이하여야 합니다`\n );\n }\n }\n\n return schema;\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IconButton
|
|
3
|
+
} from "./chunk-636THO2G.js";
|
|
4
|
+
import {
|
|
5
|
+
Flex
|
|
6
|
+
} from "./chunk-25HMMI7R.js";
|
|
7
|
+
import {
|
|
8
|
+
ChevronLeftIcon,
|
|
9
|
+
ChevronRightIcon,
|
|
10
|
+
DoubleArrowLeftIcon,
|
|
11
|
+
DoubleArrowRightIcon
|
|
12
|
+
} from "./chunk-V5XKNSCK.js";
|
|
13
|
+
import {
|
|
14
|
+
Typo
|
|
15
|
+
} from "./chunk-PMJIFLDT.js";
|
|
16
|
+
import {
|
|
17
|
+
__spreadProps,
|
|
18
|
+
__spreadValues
|
|
19
|
+
} from "./chunk-CRTRMMJ7.js";
|
|
20
|
+
|
|
21
|
+
// src/atoms/pagination.tsx
|
|
22
|
+
import { useCallback, useEffect, useMemo, useState } from "react";
|
|
23
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
24
|
+
function Pagination(props) {
|
|
25
|
+
const { onChange, count = 0, siblingCount = 2 } = props;
|
|
26
|
+
const [page, setPage] = useState(() => props.page || props.defaultPage || 1);
|
|
27
|
+
const visibleItems = useMemo(() => {
|
|
28
|
+
let start = Math.max(1, page - siblingCount);
|
|
29
|
+
let end = Math.min(count, page + siblingCount);
|
|
30
|
+
if (page - siblingCount <= 0 && end < count) {
|
|
31
|
+
end = Math.min(count, end + Math.abs(page - siblingCount) + 1);
|
|
32
|
+
} else if (page + siblingCount > count && start > 1) {
|
|
33
|
+
start = Math.max(1, start - (page + siblingCount - count));
|
|
34
|
+
}
|
|
35
|
+
return Array.from({ length: end - start + 1 }, (_, i) => i + start);
|
|
36
|
+
}, [count, page, siblingCount]);
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
onChange == null ? void 0 : onChange(page);
|
|
39
|
+
}, [onChange, page]);
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
if (props.page) {
|
|
42
|
+
setPage(props.page);
|
|
43
|
+
}
|
|
44
|
+
}, [props.page]);
|
|
45
|
+
const prev = useMemo(() => {
|
|
46
|
+
const p = page - 1;
|
|
47
|
+
return p < 1 ? void 0 : p;
|
|
48
|
+
}, [page]);
|
|
49
|
+
const next = useMemo(() => {
|
|
50
|
+
const n = page + 1;
|
|
51
|
+
return n > count ? void 0 : n;
|
|
52
|
+
}, [count, page]);
|
|
53
|
+
const onClickPrev = useCallback(() => {
|
|
54
|
+
prev && setPage(prev);
|
|
55
|
+
}, [prev]);
|
|
56
|
+
const onClickNext = useCallback(() => {
|
|
57
|
+
next && setPage(next);
|
|
58
|
+
}, [next]);
|
|
59
|
+
const doublePrev = useMemo(() => {
|
|
60
|
+
if (!visibleItems.length) return;
|
|
61
|
+
return Math.max(0, visibleItems[0] - 1);
|
|
62
|
+
}, [visibleItems]);
|
|
63
|
+
const onClickDoublePrev = useCallback(() => {
|
|
64
|
+
doublePrev && setPage(doublePrev);
|
|
65
|
+
}, [doublePrev]);
|
|
66
|
+
const doubleNext = useMemo(() => {
|
|
67
|
+
if (!visibleItems.length) return;
|
|
68
|
+
const n = visibleItems[visibleItems.length - 1] + 1;
|
|
69
|
+
if (n > count) return;
|
|
70
|
+
return Math.min(count, n);
|
|
71
|
+
}, [count, visibleItems]);
|
|
72
|
+
const onClickDoubleNext = useCallback(() => {
|
|
73
|
+
doubleNext && setPage(doubleNext);
|
|
74
|
+
}, [doubleNext]);
|
|
75
|
+
const iconSize = {
|
|
76
|
+
height: 24,
|
|
77
|
+
width: 24
|
|
78
|
+
};
|
|
79
|
+
const moveButtonProps = {
|
|
80
|
+
variant: "ghost",
|
|
81
|
+
size: "large",
|
|
82
|
+
style: { borderRadius: "50%" }
|
|
83
|
+
};
|
|
84
|
+
return /* @__PURE__ */ jsxs(Flex, { align: "center", className: "tipp-pagination", gap: "4", children: [
|
|
85
|
+
/* @__PURE__ */ jsx(
|
|
86
|
+
IconButton,
|
|
87
|
+
__spreadProps(__spreadValues({
|
|
88
|
+
disabled: !doublePrev,
|
|
89
|
+
onClick: onClickDoublePrev
|
|
90
|
+
}, moveButtonProps), {
|
|
91
|
+
children: /* @__PURE__ */ jsx(DoubleArrowLeftIcon, __spreadValues({}, iconSize))
|
|
92
|
+
})
|
|
93
|
+
),
|
|
94
|
+
/* @__PURE__ */ jsx(IconButton, __spreadProps(__spreadValues({ disabled: !prev, onClick: onClickPrev }, moveButtonProps), { children: /* @__PURE__ */ jsx(ChevronLeftIcon, __spreadValues({}, iconSize)) })),
|
|
95
|
+
/* @__PURE__ */ jsx(Flex, { gap: "1", children: visibleItems.map((item) => {
|
|
96
|
+
return /* @__PURE__ */ jsx(
|
|
97
|
+
"button",
|
|
98
|
+
{
|
|
99
|
+
className: `page-button ${item === page ? "active" : ""}`,
|
|
100
|
+
onClick: () => {
|
|
101
|
+
setPage(item);
|
|
102
|
+
},
|
|
103
|
+
type: "button",
|
|
104
|
+
children: /* @__PURE__ */ jsx(Typo, { variant: "body", children: item })
|
|
105
|
+
},
|
|
106
|
+
item
|
|
107
|
+
);
|
|
108
|
+
}) }),
|
|
109
|
+
/* @__PURE__ */ jsx(IconButton, __spreadProps(__spreadValues({ disabled: !next, onClick: onClickNext }, moveButtonProps), { children: /* @__PURE__ */ jsx(ChevronRightIcon, __spreadValues({}, iconSize)) })),
|
|
110
|
+
/* @__PURE__ */ jsx(
|
|
111
|
+
IconButton,
|
|
112
|
+
__spreadProps(__spreadValues({
|
|
113
|
+
disabled: !doubleNext,
|
|
114
|
+
onClick: onClickDoubleNext
|
|
115
|
+
}, moveButtonProps), {
|
|
116
|
+
children: /* @__PURE__ */ jsx(DoubleArrowRightIcon, __spreadValues({}, iconSize))
|
|
117
|
+
})
|
|
118
|
+
)
|
|
119
|
+
] });
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export {
|
|
123
|
+
Pagination
|
|
124
|
+
};
|
|
125
|
+
//# sourceMappingURL=chunk-AQEJ47YX.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/atoms/pagination.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport {\n ChevronLeftIcon,\n ChevronRightIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n} from '../icon';\nimport type { IconButtonProps } from './icon-button';\nimport { IconButton } from './icon-button';\nimport { Flex } from './flex';\nimport { Typo } from './typo';\n\nexport interface PaginationProps {\n /** 현재 선택된 페이지, 1부터 시작 */\n page?: number;\n /** 기본 선택 페이지, page보다 낮은 우선 순위를 갖는다 */\n defaultPage?: number;\n /** 선택한 페이지 변경 이벤트 cb */\n onChange?: (page: number) => void;\n /** 전체 페이지의 수 */\n count?: number;\n /** 표시할 페이지 버튼의 개수 */\n siblingCount?: number;\n}\n\nexport function Pagination(props: PaginationProps): React.ReactNode {\n const { onChange, count = 0, siblingCount = 2 } = props;\n\n const [page, setPage] = useState(() => props.page || props.defaultPage || 1);\n\n const visibleItems = useMemo(() => {\n let start = Math.max(1, page - siblingCount);\n let end = Math.min(count, page + siblingCount);\n if (page - siblingCount <= 0 && end < count) {\n end = Math.min(count, end + Math.abs(page - siblingCount) + 1);\n } else if (page + siblingCount > count && start > 1) {\n start = Math.max(1, start - (page + siblingCount - count));\n }\n\n return Array.from({ length: end - start + 1 }, (_, i) => i + start);\n }, [count, page, siblingCount]);\n\n useEffect(() => {\n onChange?.(page);\n }, [onChange, page]);\n\n useEffect(() => {\n if (props.page) {\n setPage(props.page);\n }\n }, [props.page]);\n\n const prev = useMemo<number | undefined>(() => {\n const p = page - 1;\n return p < 1 ? undefined : p;\n }, [page]);\n\n const next = useMemo<number | undefined>(() => {\n const n = page + 1;\n return n > count ? undefined : n;\n }, [count, page]);\n\n const onClickPrev = useCallback(() => {\n prev && setPage(prev);\n }, [prev]);\n\n const onClickNext = useCallback(() => {\n next && setPage(next);\n }, [next]);\n\n const doublePrev = useMemo<number | undefined>(() => {\n if (!visibleItems.length) return;\n return Math.max(0, visibleItems[0] - 1);\n }, [visibleItems]);\n\n const onClickDoublePrev = useCallback(() => {\n doublePrev && setPage(doublePrev);\n }, [doublePrev]);\n\n const doubleNext = useMemo<number | undefined>(() => {\n if (!visibleItems.length) return;\n const n = visibleItems[visibleItems.length - 1] + 1;\n if (n > count) return;\n return Math.min(count, n);\n }, [count, visibleItems]);\n\n const onClickDoubleNext = useCallback(() => {\n doubleNext && setPage(doubleNext);\n }, [doubleNext]);\n\n const iconSize = {\n height: 24,\n width: 24,\n };\n\n const moveButtonProps: IconButtonProps = {\n variant: 'ghost',\n size: 'large',\n style: { borderRadius: '50%' },\n };\n\n return (\n <Flex align=\"center\" className=\"tipp-pagination\" gap=\"4\">\n <IconButton\n disabled={!doublePrev}\n onClick={onClickDoublePrev}\n {...moveButtonProps}\n >\n <DoubleArrowLeftIcon {...iconSize} />\n </IconButton>\n <IconButton disabled={!prev} onClick={onClickPrev} {...moveButtonProps}>\n <ChevronLeftIcon {...iconSize} />\n </IconButton>\n <Flex gap=\"1\">\n {visibleItems.map((item) => {\n return (\n <button\n className={`page-button ${item === page ? 'active' : ''}`}\n key={item}\n onClick={() => {\n setPage(item);\n }}\n type=\"button\"\n >\n <Typo variant=\"body\">{item}</Typo>\n </button>\n );\n })}\n </Flex>\n <IconButton disabled={!next} onClick={onClickNext} {...moveButtonProps}>\n <ChevronRightIcon {...iconSize} />\n </IconButton>\n <IconButton\n disabled={!doubleNext}\n onClick={onClickDoubleNext}\n {...moveButtonProps}\n >\n <DoubleArrowRightIcon {...iconSize} />\n </IconButton>\n </Flex>\n );\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
review_question_body_default
|
|
3
|
+
} from "./chunk-3UMUHRR6.js";
|
|
4
|
+
import {
|
|
5
|
+
review_question_footer_default
|
|
6
|
+
} from "./chunk-NMS3AZUF.js";
|
|
7
|
+
import {
|
|
8
|
+
review_question_header_default
|
|
9
|
+
} from "./chunk-6SBDC73H.js";
|
|
10
|
+
import {
|
|
11
|
+
review_question_layout_default
|
|
12
|
+
} from "./chunk-SQBRHTZD.js";
|
|
13
|
+
|
|
14
|
+
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.tsx
|
|
15
|
+
import { jsx } from "react/jsx-runtime";
|
|
16
|
+
function ReviewQuestion({
|
|
17
|
+
question,
|
|
18
|
+
index,
|
|
19
|
+
total,
|
|
20
|
+
answer,
|
|
21
|
+
error,
|
|
22
|
+
onChange,
|
|
23
|
+
onNext,
|
|
24
|
+
onPrev,
|
|
25
|
+
isLast,
|
|
26
|
+
isNextDisabled,
|
|
27
|
+
onSubmit,
|
|
28
|
+
isLoading
|
|
29
|
+
}) {
|
|
30
|
+
return /* @__PURE__ */ jsx(
|
|
31
|
+
review_question_layout_default,
|
|
32
|
+
{
|
|
33
|
+
Body: /* @__PURE__ */ jsx(
|
|
34
|
+
review_question_body_default,
|
|
35
|
+
{
|
|
36
|
+
answer,
|
|
37
|
+
error,
|
|
38
|
+
onChange,
|
|
39
|
+
question
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
Footer: /* @__PURE__ */ jsx(
|
|
43
|
+
review_question_footer_default,
|
|
44
|
+
{
|
|
45
|
+
index,
|
|
46
|
+
isLast,
|
|
47
|
+
isLoading,
|
|
48
|
+
isNextButtonDisabled: isNextDisabled,
|
|
49
|
+
onNext,
|
|
50
|
+
onPrev,
|
|
51
|
+
onSubmit
|
|
52
|
+
}
|
|
53
|
+
),
|
|
54
|
+
Header: /* @__PURE__ */ jsx(review_question_header_default, { index, total })
|
|
55
|
+
}
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
var ReviewQuestion_default = ReviewQuestion;
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
ReviewQuestion_default
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=chunk-ASW5K7V7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.tsx"],"sourcesContent":["import React from 'react';\nimport type { ReviewQuestionElement } from '@/types/curriculum.type';\nimport ReviewQuestionLayout from './review-question-layout';\nimport ReviewQuestionHeader from './review-question-header';\nimport ReviewQuestionFooter from './review-question-footer';\nimport ReviewQuestionBody from './review-question-body';\n\ninterface ReviewQuestionProps {\n question: ReviewQuestionElement;\n index: number;\n total: number;\n answer: string;\n error?: string;\n onChange: (value: string) => void;\n onNext: () => void;\n onPrev: () => void;\n isLast: boolean;\n isNextDisabled?: boolean;\n onSubmit: () => void;\n isLoading?: boolean;\n}\n\nfunction ReviewQuestion({\n question,\n index,\n total,\n answer,\n error,\n onChange,\n onNext,\n onPrev,\n isLast,\n isNextDisabled,\n onSubmit,\n isLoading,\n}: ReviewQuestionProps): React.ReactElement {\n \n return (\n <ReviewQuestionLayout\n Body={\n <ReviewQuestionBody\n answer={answer}\n error={error}\n onChange={onChange}\n question={question}\n />\n }\n Footer={\n <ReviewQuestionFooter\n index={index}\n isLast={isLast}\n isLoading={isLoading}\n isNextButtonDisabled={isNextDisabled}\n onNext={onNext}\n onPrev={onPrev}\n onSubmit={onSubmit}\n />\n }\n Header={<ReviewQuestionHeader index={index} total={total} />}\n />\n );\n}\n\nexport default ReviewQuestion;\n"],"mappings":";;;;;;;;;;;;;;AAwCQ;AAlBR,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4C;AAE1C,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA,MAEF,QACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,sBAAsB;AAAA,UACtB;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACF;AAAA,MAEF,QAAQ,oBAAC,kCAAqB,OAAc,OAAc;AAAA;AAAA,EAC5D;AAEJ;AAEA,IAAO,yBAAQ;","names":[]}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ThemeProvider
|
|
3
|
+
} from "./chunk-7FKRQQYK.js";
|
|
4
|
+
import {
|
|
5
|
+
Box
|
|
6
|
+
} from "./chunk-4Y5BEXVN.js";
|
|
7
|
+
import {
|
|
8
|
+
Button
|
|
9
|
+
} from "./chunk-TSXRCXC6.js";
|
|
10
|
+
import {
|
|
11
|
+
Flex
|
|
12
|
+
} from "./chunk-25HMMI7R.js";
|
|
13
|
+
import {
|
|
14
|
+
Heading
|
|
15
|
+
} from "./chunk-BESTU2AY.js";
|
|
16
|
+
import {
|
|
17
|
+
__spreadProps,
|
|
18
|
+
__spreadValues
|
|
19
|
+
} from "./chunk-CRTRMMJ7.js";
|
|
20
|
+
|
|
21
|
+
// src/molecules/ghost-post.tsx
|
|
22
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
23
|
+
function GhostPost(props) {
|
|
24
|
+
const { defaultThemeProps, html, onPageBack } = props;
|
|
25
|
+
return /* @__PURE__ */ jsx(
|
|
26
|
+
ThemeProvider,
|
|
27
|
+
__spreadProps(__spreadValues({}, defaultThemeProps), {
|
|
28
|
+
accentColor: "iris",
|
|
29
|
+
scaling: "110%",
|
|
30
|
+
style: {},
|
|
31
|
+
children: html ? /* @__PURE__ */ jsx(Box, { mt: "5", width: "100%", children: /* @__PURE__ */ jsx(
|
|
32
|
+
"div",
|
|
33
|
+
{
|
|
34
|
+
className: "gh-content",
|
|
35
|
+
dangerouslySetInnerHTML: { __html: html }
|
|
36
|
+
}
|
|
37
|
+
) }) : /* @__PURE__ */ jsxs(
|
|
38
|
+
Flex,
|
|
39
|
+
{
|
|
40
|
+
align: "center",
|
|
41
|
+
direction: "column",
|
|
42
|
+
gap: "6",
|
|
43
|
+
height: "100%",
|
|
44
|
+
justify: "center",
|
|
45
|
+
width: "100%",
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ jsx(Heading, { variant: "heading1", children: "\uCF58\uD150\uCE20\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4." }),
|
|
48
|
+
/* @__PURE__ */ jsx(
|
|
49
|
+
Heading,
|
|
50
|
+
{
|
|
51
|
+
align: "center",
|
|
52
|
+
color: "gray",
|
|
53
|
+
variant: "heading4",
|
|
54
|
+
weight: "regular",
|
|
55
|
+
children: `\uC694\uCCAD\uD558\uC2E0 \uCF58\uD150\uCE20\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.
|
|
56
|
+
\uC7A0\uC2DC \uD6C4 \uB2E4\uC2DC \uC2DC\uB3C4\uD574\uC8FC\uC138\uC694.`
|
|
57
|
+
}
|
|
58
|
+
),
|
|
59
|
+
/* @__PURE__ */ jsx(Button, { onClick: onPageBack, size: "large", children: "\uB4A4\uB85C\uAC00\uAE30" })
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
)
|
|
63
|
+
})
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export {
|
|
68
|
+
GhostPost
|
|
69
|
+
};
|
|
70
|
+
//# sourceMappingURL=chunk-AUDB2TRU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/molecules/ghost-post.tsx"],"sourcesContent":["import React from 'react';\nimport type { ThemeProviderProps } from '../theme/theme-provider';\nimport { ThemeProvider } from '../theme/theme-provider';\nimport { Flex } from '../atoms/flex';\nimport { Heading } from '../atoms/heading';\nimport { Box } from '../atoms/box';\nimport { Button } from '../atoms/button';\n\nexport interface GhostPostProps {\n defaultThemeProps?: Partial<ThemeProviderProps>;\n html?: string;\n title?: string;\n children?: React.ReactNode;\n onPageBack?: () => void;\n}\n\nexport function GhostPost(props: GhostPostProps): React.ReactNode {\n const { defaultThemeProps, html, onPageBack } = props;\n return (\n <ThemeProvider\n {...defaultThemeProps}\n accentColor=\"iris\"\n scaling=\"110%\"\n style={{}}\n >\n {html ? (\n <Box mt=\"5\" width=\"100%\">\n <div\n className=\"gh-content\"\n dangerouslySetInnerHTML={{ __html: html }}\n />\n </Box>\n ) : (\n <Flex\n align=\"center\"\n direction=\"column\"\n gap=\"6\"\n height=\"100%\"\n justify=\"center\"\n width=\"100%\"\n >\n <Heading variant=\"heading1\">콘텐츠를 찾을 수 없습니다.</Heading>\n <Heading\n align=\"center\"\n color=\"gray\"\n variant=\"heading4\"\n weight=\"regular\"\n >\n {`요청하신 콘텐츠를 찾을 수 없습니다.\n 잠시 후 다시 시도해주세요.`}\n </Heading>\n <Button onClick={onPageBack} size=\"large\">\n 뒤로가기\n </Button>\n </Flex>\n )}\n </ThemeProvider>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2BU,cAMF,YANE;AAXH,SAAS,UAAU,OAAwC;AAChE,QAAM,EAAE,mBAAmB,MAAM,WAAW,IAAI;AAChD,SACE;AAAA,IAAC;AAAA,qCACK,oBADL;AAAA,MAEC,aAAY;AAAA,MACZ,SAAQ;AAAA,MACR,OAAO,CAAC;AAAA,MAEP,iBACC,oBAAC,OAAI,IAAG,KAAI,OAAM,QAChB;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,yBAAyB,EAAE,QAAQ,KAAK;AAAA;AAAA,MAC1C,GACF,IAEA;AAAA,QAAC;AAAA;AAAA,UACC,OAAM;AAAA,UACN,WAAU;AAAA,UACV,KAAI;AAAA,UACJ,QAAO;AAAA,UACP,SAAQ;AAAA,UACR,OAAM;AAAA,UAEN;AAAA,gCAAC,WAAQ,SAAQ,YAAW,oFAAe;AAAA,YAC3C;AAAA,cAAC;AAAA;AAAA,gBACC,OAAM;AAAA,gBACN,OAAM;AAAA,gBACN,SAAQ;AAAA,gBACR,QAAO;AAAA,gBAEN;AAAA;AAAA;AAAA,YAEH;AAAA,YACA,oBAAC,UAAO,SAAS,YAAY,MAAK,SAAQ,sCAE1C;AAAA;AAAA;AAAA,MACF;AAAA;AAAA,EAEJ;AAEJ;","names":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Button
|
|
3
|
+
} from "./chunk-TSXRCXC6.js";
|
|
4
|
+
import {
|
|
5
|
+
Card
|
|
6
|
+
} from "./chunk-RP2RGCAW.js";
|
|
7
|
+
import {
|
|
8
|
+
Box
|
|
9
|
+
} from "./chunk-4Y5BEXVN.js";
|
|
10
|
+
import {
|
|
11
|
+
Flex
|
|
12
|
+
} from "./chunk-25HMMI7R.js";
|
|
13
|
+
import {
|
|
14
|
+
DownloadIcon
|
|
15
|
+
} from "./chunk-V5XKNSCK.js";
|
|
16
|
+
import {
|
|
17
|
+
Heading
|
|
18
|
+
} from "./chunk-BESTU2AY.js";
|
|
19
|
+
import {
|
|
20
|
+
Typo
|
|
21
|
+
} from "./chunk-PMJIFLDT.js";
|
|
22
|
+
|
|
23
|
+
// src/app/platform/report-card.tsx
|
|
24
|
+
import { useCallback } from "react";
|
|
25
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
26
|
+
function ReportCard(props) {
|
|
27
|
+
const { title, file, status, subtitle } = props;
|
|
28
|
+
const onClickDownload = useCallback(() => {
|
|
29
|
+
if (!file) return;
|
|
30
|
+
const { url, fileName } = file;
|
|
31
|
+
const link = document.createElement("a");
|
|
32
|
+
link.href = url;
|
|
33
|
+
link.download = fileName;
|
|
34
|
+
link.target = "_blank";
|
|
35
|
+
document.body.appendChild(link);
|
|
36
|
+
link.click();
|
|
37
|
+
document.body.removeChild(link);
|
|
38
|
+
}, [file]);
|
|
39
|
+
if (status) {
|
|
40
|
+
return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(Flex, { align: "center", justify: "between", children: [
|
|
41
|
+
/* @__PURE__ */ jsx(Heading, { variant: "heading4", children: title }),
|
|
42
|
+
status
|
|
43
|
+
] }) });
|
|
44
|
+
}
|
|
45
|
+
return /* @__PURE__ */ jsx(Card, { children: /* @__PURE__ */ jsxs(
|
|
46
|
+
Flex,
|
|
47
|
+
{
|
|
48
|
+
direction: { initial: "column", xs: "row" },
|
|
49
|
+
gapY: "2",
|
|
50
|
+
justify: "between",
|
|
51
|
+
children: [
|
|
52
|
+
/* @__PURE__ */ jsxs(Box, { children: [
|
|
53
|
+
/* @__PURE__ */ jsx(Heading, { variant: "heading4", children: title }),
|
|
54
|
+
subtitle ? /* @__PURE__ */ jsx(Typo, { color: "gray", children: subtitle }) : null
|
|
55
|
+
] }),
|
|
56
|
+
/* @__PURE__ */ jsx(Button, { onClick: onClickDownload, variant: "surface", children: /* @__PURE__ */ jsxs(Flex, { gap: "2", width: "100%", children: [
|
|
57
|
+
/* @__PURE__ */ jsx(DownloadIcon, {}),
|
|
58
|
+
file == null ? void 0 : file.buttonName
|
|
59
|
+
] }) }, file == null ? void 0 : file.url)
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
) });
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export {
|
|
66
|
+
ReportCard
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=chunk-AWIQSGGT.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/app/platform/report-card.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { Box, Button, Card, Flex, Heading, Typo } from '@/atoms';\nimport type { Attachment } from '@/molecules';\nimport { DownloadIcon } from '@/icon';\n\ntype File = Attachment & { buttonName: string };\nexport interface ReportCardProps {\n title?: string;\n file?: File;\n status?: React.ReactNode;\n subtitle?: string;\n}\n\nexport function ReportCard(props: ReportCardProps): React.ReactNode {\n const { title, file, status, subtitle } = props;\n\n const onClickDownload = useCallback(() => {\n if (!file) return;\n const { url, fileName } = file;\n const link = document.createElement('a');\n link.href = url;\n link.download = fileName;\n link.target = '_blank';\n\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }, [file]);\n\n if (status) {\n return (\n <Card>\n <Flex align=\"center\" justify=\"between\">\n <Heading variant=\"heading4\">{title}</Heading>\n {status}\n </Flex>\n </Card>\n );\n }\n\n return (\n <Card>\n <Flex\n direction={{ initial: 'column', xs: 'row' }}\n gapY=\"2\"\n justify=\"between\"\n >\n <Box>\n <Heading variant=\"heading4\">{title}</Heading>\n {subtitle ? <Typo color=\"gray\">{subtitle}</Typo> : null}\n </Box>\n <Button key={file?.url} onClick={onClickDownload} variant=\"surface\">\n <Flex gap=\"2\" width=\"100%\">\n <DownloadIcon />\n {file?.buttonName}\n </Flex>\n </Button>\n </Flex>\n </Card>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,mBAAmB;AAgC3B,SACE,KADF;AAnBD,SAAS,WAAW,OAAyC;AAClE,QAAM,EAAE,OAAO,MAAM,QAAQ,SAAS,IAAI;AAE1C,QAAM,kBAAkB,YAAY,MAAM;AACxC,QAAI,CAAC,KAAM;AACX,UAAM,EAAE,KAAK,SAAS,IAAI;AAC1B,UAAM,OAAO,SAAS,cAAc,GAAG;AACvC,SAAK,OAAO;AACZ,SAAK,WAAW;AAChB,SAAK,SAAS;AAEd,aAAS,KAAK,YAAY,IAAI;AAC9B,SAAK,MAAM;AACX,aAAS,KAAK,YAAY,IAAI;AAAA,EAChC,GAAG,CAAC,IAAI,CAAC;AAET,MAAI,QAAQ;AACV,WACE,oBAAC,QACC,+BAAC,QAAK,OAAM,UAAS,SAAQ,WAC3B;AAAA,0BAAC,WAAQ,SAAQ,YAAY,iBAAM;AAAA,MAClC;AAAA,OACH,GACF;AAAA,EAEJ;AAEA,SACE,oBAAC,QACC;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,EAAE,SAAS,UAAU,IAAI,MAAM;AAAA,MAC1C,MAAK;AAAA,MACL,SAAQ;AAAA,MAER;AAAA,6BAAC,OACC;AAAA,8BAAC,WAAQ,SAAQ,YAAY,iBAAM;AAAA,UAClC,WAAW,oBAAC,QAAK,OAAM,QAAQ,oBAAS,IAAU;AAAA,WACrD;AAAA,QACA,oBAAC,UAAuB,SAAS,iBAAiB,SAAQ,WACxD,+BAAC,QAAK,KAAI,KAAI,OAAM,QAClB;AAAA,8BAAC,gBAAa;AAAA,UACb,6BAAM;AAAA,WACT,KAJW,6BAAM,GAKnB;AAAA;AAAA;AAAA,EACF,GACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ReviewQuestionContentHeader
|
|
3
|
+
} from "./chunk-QIXW2PLJ.js";
|
|
4
|
+
import {
|
|
5
|
+
RadioButtonCard
|
|
6
|
+
} from "./chunk-O3P4TGRW.js";
|
|
7
|
+
import {
|
|
8
|
+
Grid
|
|
9
|
+
} from "./chunk-EGEQY3KT.js";
|
|
10
|
+
import {
|
|
11
|
+
Button
|
|
12
|
+
} from "./chunk-TSXRCXC6.js";
|
|
13
|
+
import {
|
|
14
|
+
Card
|
|
15
|
+
} from "./chunk-RP2RGCAW.js";
|
|
16
|
+
import {
|
|
17
|
+
Box
|
|
18
|
+
} from "./chunk-4Y5BEXVN.js";
|
|
19
|
+
import {
|
|
20
|
+
Flex
|
|
21
|
+
} from "./chunk-25HMMI7R.js";
|
|
22
|
+
import {
|
|
23
|
+
Typo
|
|
24
|
+
} from "./chunk-PMJIFLDT.js";
|
|
25
|
+
|
|
26
|
+
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
|
|
27
|
+
import { useCallback, useMemo, useState } from "react";
|
|
28
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
29
|
+
var correctAnswerStyle = {
|
|
30
|
+
backgroundColor: "var(--green-a2)"
|
|
31
|
+
};
|
|
32
|
+
function ReviewQuestionRadio(props) {
|
|
33
|
+
const { question, answer, onChange } = props;
|
|
34
|
+
const [isCheckAnswer, setIsCheckAnswer] = useState(false);
|
|
35
|
+
const checkAnswer = useCallback(() => {
|
|
36
|
+
setIsCheckAnswer(true);
|
|
37
|
+
}, []);
|
|
38
|
+
const isCorrect = isCheckAnswer && Number(answer) === question.correctAnswer;
|
|
39
|
+
const isWrong = isCheckAnswer && Number(answer) !== question.correctAnswer;
|
|
40
|
+
const radioColor = useMemo(() => {
|
|
41
|
+
if (isCorrect) return "green";
|
|
42
|
+
if (isWrong) return "red";
|
|
43
|
+
return void 0;
|
|
44
|
+
}, [isCorrect, isWrong]);
|
|
45
|
+
return /* @__PURE__ */ jsxs(Grid, { height: "100%", rows: "auto 1fr", width: "100%", children: [
|
|
46
|
+
/* @__PURE__ */ jsx(Card, { mb: "4", size: "2", children: /* @__PURE__ */ jsx(
|
|
47
|
+
ReviewQuestionContentHeader,
|
|
48
|
+
{
|
|
49
|
+
icon: question.icon,
|
|
50
|
+
question: question.question,
|
|
51
|
+
title: question.title,
|
|
52
|
+
type: question.type
|
|
53
|
+
}
|
|
54
|
+
) }),
|
|
55
|
+
/* @__PURE__ */ jsxs(Grid, { height: "100%", rows: "1fr auto", width: "100%", children: [
|
|
56
|
+
/* @__PURE__ */ jsx(Box, { position: "relative", children: /* @__PURE__ */ jsx(
|
|
57
|
+
RadioButtonCard.Root,
|
|
58
|
+
{
|
|
59
|
+
color: radioColor,
|
|
60
|
+
onValueChange: onChange,
|
|
61
|
+
style: {
|
|
62
|
+
width: "100%",
|
|
63
|
+
height: "100%",
|
|
64
|
+
overflowY: "auto",
|
|
65
|
+
position: "absolute"
|
|
66
|
+
},
|
|
67
|
+
value: answer,
|
|
68
|
+
children: /* @__PURE__ */ jsx(Flex, { direction: "column", gap: "2", width: "100%", children: question.options.map((option, i) => {
|
|
69
|
+
const isThisOptionCorrect = isCheckAnswer && i === question.correctAnswer;
|
|
70
|
+
const isThisOptionSelected = isCheckAnswer && i === Number(answer);
|
|
71
|
+
const isThisOptionWrong = isCheckAnswer && isThisOptionSelected && i !== question.correctAnswer;
|
|
72
|
+
const style = (() => {
|
|
73
|
+
if (isThisOptionCorrect) return correctAnswerStyle;
|
|
74
|
+
return {};
|
|
75
|
+
})();
|
|
76
|
+
return /* @__PURE__ */ jsx(
|
|
77
|
+
RadioButtonCard.Item,
|
|
78
|
+
{
|
|
79
|
+
style,
|
|
80
|
+
value: i.toString(),
|
|
81
|
+
children: /* @__PURE__ */ jsxs(Box, { children: [
|
|
82
|
+
/* @__PURE__ */ jsx(Typo, { as: "p", children: option.label }),
|
|
83
|
+
isThisOptionCorrect ? /* @__PURE__ */ jsx(Typo, { color: "green", children: "\uC815\uB2F5\uC785\uB2C8\uB2E4" }) : null,
|
|
84
|
+
isThisOptionWrong ? /* @__PURE__ */ jsx(Typo, { color: "red", children: "\uC815\uB2F5\uC774 \uC544\uB2D9\uB2C8\uB2E4" }) : null
|
|
85
|
+
] })
|
|
86
|
+
},
|
|
87
|
+
`${option.label}-${i}`
|
|
88
|
+
);
|
|
89
|
+
}) })
|
|
90
|
+
}
|
|
91
|
+
) }),
|
|
92
|
+
/* @__PURE__ */ jsx(Flex, { justify: "end", mt: "2", children: /* @__PURE__ */ jsx(Button, { onClick: checkAnswer, children: "\uC815\uB2F5 \uD655\uC778" }) })
|
|
93
|
+
] })
|
|
94
|
+
] });
|
|
95
|
+
}
|
|
96
|
+
var review_question_radio_default = ReviewQuestionRadio;
|
|
97
|
+
|
|
98
|
+
export {
|
|
99
|
+
review_question_radio_default
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=chunk-AXEX2ETN.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\nimport { Box, Button, Card, Flex, Grid, Typo } from '@/atoms';\nimport { type CurriculumReviewQuestionRadio } from '@/types/curriculumContents.type'; \nimport { RadioButtonCard } from \"../../../../radio-button-card\";\nimport { ReviewQuestionContentHeader } from './review-comp';\n\ninterface ReviewQuestionRadioProps {\n question: CurriculumReviewQuestionRadio;\n answer: string;\n error?: string;\n onChange: (value: string) => void;\n}\n\nconst correctAnswerStyle: React.CSSProperties = {\n backgroundColor: 'var(--green-a2)',\n};\n\nfunction ReviewQuestionRadio(props: ReviewQuestionRadioProps): React.ReactNode {\n const { question, answer, onChange } = props;\n const [isCheckAnswer, setIsCheckAnswer] = useState(false);\n\n const checkAnswer = useCallback(() => {\n setIsCheckAnswer(true);\n }, []);\n\n const isCorrect = isCheckAnswer && Number(answer) === question.correctAnswer;\n const isWrong = isCheckAnswer && Number(answer) !== question.correctAnswer;\n const radioColor = useMemo(() => {\n if (isCorrect) return 'green';\n if (isWrong) return 'red';\n return undefined;\n }, [isCorrect, isWrong]);\n\n return (\n <Grid height=\"100%\" rows=\"auto 1fr\" width=\"100%\">\n <Card mb=\"4\" size=\"2\">\n <ReviewQuestionContentHeader\n icon={question.icon}\n question={question.question}\n title={question.title}\n type={question.type}\n />\n </Card>\n\n <Grid height=\"100%\" rows=\"1fr auto\" width=\"100%\">\n <Box position=\"relative\">\n <RadioButtonCard.Root\n color={radioColor}\n onValueChange={onChange}\n style={{\n width: '100%',\n height: '100%',\n overflowY: 'auto',\n position: 'absolute',\n }}\n value={answer}\n >\n <Flex direction=\"column\" gap=\"2\" width=\"100%\">\n {question.options.map((option, i) => {\n const isThisOptionCorrect =\n isCheckAnswer && i === question.correctAnswer;\n const isThisOptionSelected =\n isCheckAnswer && i === Number(answer);\n const isThisOptionWrong =\n isCheckAnswer &&\n isThisOptionSelected &&\n i !== question.correctAnswer;\n const style = (() => {\n if (isThisOptionCorrect) return correctAnswerStyle;\n return {};\n })();\n\n return (\n <RadioButtonCard.Item\n // eslint-disable-next-line react/no-array-index-key -- 조합 키로 중복 회피\n key={`${option.label}-${i}`}\n style={style}\n value={i.toString()}\n >\n <Box>\n <Typo as=\"p\">{option.label}</Typo>\n {isThisOptionCorrect ? (\n <Typo color=\"green\">정답입니다</Typo>\n ) : null}\n {isThisOptionWrong ? (\n <Typo color=\"red\">정답이 아닙니다</Typo>\n ) : null}\n </Box>\n </RadioButtonCard.Item>\n );\n })}\n </Flex>\n </RadioButtonCard.Root>\n </Box>\n <Flex justify=\"end\" mt=\"2\">\n <Button onClick={checkAnswer}>정답 확인</Button>\n </Flex>\n </Grid>\n </Grid>\n );\n}\n\nexport default ReviewQuestionRadio;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,aAAa,SAAS,gBAAgB;AAoC9C,cA2CY,YA3CZ;AAvBR,IAAM,qBAA0C;AAAA,EAC9C,iBAAiB;AACnB;AAEA,SAAS,oBAAoB,OAAkD;AAC7E,QAAM,EAAE,UAAU,QAAQ,SAAS,IAAI;AACvC,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,KAAK;AAExD,QAAM,cAAc,YAAY,MAAM;AACpC,qBAAiB,IAAI;AAAA,EACvB,GAAG,CAAC,CAAC;AAEL,QAAM,YAAY,iBAAiB,OAAO,MAAM,MAAM,SAAS;AAC/D,QAAM,UAAU,iBAAiB,OAAO,MAAM,MAAM,SAAS;AAC7D,QAAM,aAAa,QAAQ,MAAM;AAC/B,QAAI,UAAW,QAAO;AACtB,QAAI,QAAS,QAAO;AACpB,WAAO;AAAA,EACT,GAAG,CAAC,WAAW,OAAO,CAAC;AAEvB,SACE,qBAAC,QAAK,QAAO,QAAO,MAAK,YAAW,OAAM,QACxC;AAAA,wBAAC,QAAK,IAAG,KAAI,MAAK,KAChB;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,SAAS;AAAA,QACf,UAAU,SAAS;AAAA,QACnB,OAAO,SAAS;AAAA,QAChB,MAAM,SAAS;AAAA;AAAA,IACjB,GACF;AAAA,IAEA,qBAAC,QAAK,QAAO,QAAO,MAAK,YAAW,OAAM,QACxC;AAAA,0BAAC,OAAI,UAAS,YACZ;AAAA,QAAC,gBAAgB;AAAA,QAAhB;AAAA,UACC,OAAO;AAAA,UACP,eAAe;AAAA,UACf,OAAO;AAAA,YACL,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,UAAU;AAAA,UACZ;AAAA,UACA,OAAO;AAAA,UAEP,8BAAC,QAAK,WAAU,UAAS,KAAI,KAAI,OAAM,QACpC,mBAAS,QAAQ,IAAI,CAAC,QAAQ,MAAM;AACnC,kBAAM,sBACJ,iBAAiB,MAAM,SAAS;AAClC,kBAAM,uBACJ,iBAAiB,MAAM,OAAO,MAAM;AACtC,kBAAM,oBACJ,iBACA,wBACA,MAAM,SAAS;AACjB,kBAAM,SAAS,MAAM;AACnB,kBAAI,oBAAqB,QAAO;AAChC,qBAAO,CAAC;AAAA,YACV,GAAG;AAEH,mBACE;AAAA,cAAC,gBAAgB;AAAA,cAAhB;AAAA,gBAGC;AAAA,gBACA,OAAO,EAAE,SAAS;AAAA,gBAElB,+BAAC,OACC;AAAA,sCAAC,QAAK,IAAG,KAAK,iBAAO,OAAM;AAAA,kBAC1B,sBACC,oBAAC,QAAK,OAAM,SAAQ,4CAAK,IACvB;AAAA,kBACH,oBACC,oBAAC,QAAK,OAAM,OAAM,yDAAQ,IACxB;AAAA,mBACN;AAAA;AAAA,cAZK,GAAG,OAAO,KAAK,IAAI,CAAC;AAAA,YAa3B;AAAA,UAEJ,CAAC,GACH;AAAA;AAAA,MACF,GACF;AAAA,MACA,oBAAC,QAAK,SAAQ,OAAM,IAAG,KACrB,8BAAC,UAAO,SAAS,aAAa,uCAAK,GACrC;AAAA,OACF;AAAA,KACF;AAEJ;AAEA,IAAO,gCAAQ;","names":[]}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ReviewQuestionContentHeader
|
|
3
|
+
} from "./chunk-PPMKBHGP.js";
|
|
4
|
+
import {
|
|
5
|
+
RadioButtonCard
|
|
6
|
+
} from "./chunk-74TRRGWW.js";
|
|
7
|
+
import {
|
|
8
|
+
Grid
|
|
9
|
+
} from "./chunk-EGEQY3KT.js";
|
|
10
|
+
import {
|
|
11
|
+
Box
|
|
12
|
+
} from "./chunk-4Y5BEXVN.js";
|
|
13
|
+
import {
|
|
14
|
+
Typo
|
|
15
|
+
} from "./chunk-PMJIFLDT.js";
|
|
16
|
+
import {
|
|
17
|
+
Flex
|
|
18
|
+
} from "./chunk-25HMMI7R.js";
|
|
19
|
+
import {
|
|
20
|
+
Button
|
|
21
|
+
} from "./chunk-TSXRCXC6.js";
|
|
22
|
+
import {
|
|
23
|
+
Card
|
|
24
|
+
} from "./chunk-RP2RGCAW.js";
|
|
25
|
+
|
|
26
|
+
// src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx
|
|
27
|
+
import { useCallback, useMemo, useState } from "react";
|
|
28
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
29
|
+
var correctAnswerStyle = {
|
|
30
|
+
backgroundColor: "var(--green-a2)"
|
|
31
|
+
};
|
|
32
|
+
function ReviewQuestionRadio(props) {
|
|
33
|
+
const { question, answer, onChange } = props;
|
|
34
|
+
const [isCheckAnswer, setIsCheckAnswer] = useState(false);
|
|
35
|
+
const checkAnswer = useCallback(() => {
|
|
36
|
+
setIsCheckAnswer(true);
|
|
37
|
+
}, []);
|
|
38
|
+
const isCorrect = isCheckAnswer && Number(answer) === question.correctAnswer;
|
|
39
|
+
const isWrong = isCheckAnswer && Number(answer) !== question.correctAnswer;
|
|
40
|
+
const radioColor = useMemo(() => {
|
|
41
|
+
if (isCorrect) return "green";
|
|
42
|
+
if (isWrong) return "red";
|
|
43
|
+
return void 0;
|
|
44
|
+
}, [isCorrect, isWrong]);
|
|
45
|
+
return /* @__PURE__ */ jsxs(Grid, { height: "100%", rows: "auto 1fr", width: "100%", children: [
|
|
46
|
+
/* @__PURE__ */ jsx(Card, { mb: "4", size: "2", children: /* @__PURE__ */ jsx(
|
|
47
|
+
ReviewQuestionContentHeader,
|
|
48
|
+
{
|
|
49
|
+
icon: question.icon,
|
|
50
|
+
question: question.question,
|
|
51
|
+
title: question.title,
|
|
52
|
+
type: question.type
|
|
53
|
+
}
|
|
54
|
+
) }),
|
|
55
|
+
/* @__PURE__ */ jsxs(Grid, { height: "100%", rows: "1fr auto", width: "100%", children: [
|
|
56
|
+
/* @__PURE__ */ jsx(Box, { position: "relative", children: /* @__PURE__ */ jsx(
|
|
57
|
+
RadioButtonCard.Root,
|
|
58
|
+
{
|
|
59
|
+
color: radioColor,
|
|
60
|
+
onValueChange: onChange,
|
|
61
|
+
style: {
|
|
62
|
+
width: "100%",
|
|
63
|
+
height: "100%",
|
|
64
|
+
overflowY: "auto",
|
|
65
|
+
position: "absolute"
|
|
66
|
+
},
|
|
67
|
+
value: answer,
|
|
68
|
+
children: /* @__PURE__ */ jsx(Flex, { direction: "column", gap: "2", width: "100%", children: question.options.map((option, i) => {
|
|
69
|
+
const isThisOptionCorrect = isCheckAnswer && i === question.correctAnswer;
|
|
70
|
+
const isThisOptionSelected = isCheckAnswer && i === Number(answer);
|
|
71
|
+
const isThisOptionWrong = isCheckAnswer && isThisOptionSelected && i !== question.correctAnswer;
|
|
72
|
+
const style = (() => {
|
|
73
|
+
if (isThisOptionCorrect) return correctAnswerStyle;
|
|
74
|
+
return {};
|
|
75
|
+
})();
|
|
76
|
+
return /* @__PURE__ */ jsx(
|
|
77
|
+
RadioButtonCard.Item,
|
|
78
|
+
{
|
|
79
|
+
style,
|
|
80
|
+
value: i.toString(),
|
|
81
|
+
children: /* @__PURE__ */ jsxs(Box, { children: [
|
|
82
|
+
/* @__PURE__ */ jsx(Typo, { as: "p", children: option.label }),
|
|
83
|
+
isThisOptionCorrect ? /* @__PURE__ */ jsx(Typo, { color: "green", children: "\uC815\uB2F5\uC785\uB2C8\uB2E4" }) : null,
|
|
84
|
+
isThisOptionWrong ? /* @__PURE__ */ jsx(Typo, { color: "red", children: "\uC815\uB2F5\uC774 \uC544\uB2D9\uB2C8\uB2E4" }) : null
|
|
85
|
+
] })
|
|
86
|
+
},
|
|
87
|
+
`${option.label}-${i}`
|
|
88
|
+
);
|
|
89
|
+
}) })
|
|
90
|
+
}
|
|
91
|
+
) }),
|
|
92
|
+
/* @__PURE__ */ jsx(Flex, { justify: "end", mt: "2", children: /* @__PURE__ */ jsx(Button, { onClick: checkAnswer, children: "\uC815\uB2F5 \uD655\uC778" }) })
|
|
93
|
+
] })
|
|
94
|
+
] });
|
|
95
|
+
}
|
|
96
|
+
var review_question_radio_default = ReviewQuestionRadio;
|
|
97
|
+
|
|
98
|
+
export {
|
|
99
|
+
review_question_radio_default
|
|
100
|
+
};
|
|
101
|
+
//# sourceMappingURL=chunk-AZ32ZT3Q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from 'react';\nimport { Box, Button, Card, Flex, Grid, Typo } from '@/atoms';\nimport { type CurriculumReviewQuestionRadio } from '@/types/curriculumContents.type'; \nimport { RadioButtonCard } from \"../../../../radio-button-card\";\nimport { ReviewQuestionContentHeader } from './review-comp';\n\ninterface ReviewQuestionRadioProps {\n question: CurriculumReviewQuestionRadio;\n answer: string;\n error?: string;\n onChange: (value: string) => void;\n}\n\nconst correctAnswerStyle: React.CSSProperties = {\n backgroundColor: 'var(--green-a2)',\n};\n\nfunction ReviewQuestionRadio(props: ReviewQuestionRadioProps): React.ReactNode {\n const { question, answer, onChange } = props;\n const [isCheckAnswer, setIsCheckAnswer] = useState(false);\n\n const checkAnswer = useCallback(() => {\n setIsCheckAnswer(true);\n }, []);\n\n const isCorrect = isCheckAnswer && Number(answer) === question.correctAnswer;\n const isWrong = isCheckAnswer && Number(answer) !== question.correctAnswer;\n const radioColor = useMemo(() => {\n if (isCorrect) return 'green';\n if (isWrong) return 'red';\n return undefined;\n }, [isCorrect, isWrong]);\n\n return (\n <Grid height=\"100%\" rows=\"auto 1fr\" width=\"100%\">\n <Card mb=\"4\" size=\"2\">\n <ReviewQuestionContentHeader\n icon={question.icon}\n question={question.question}\n title={question.title}\n type={question.type}\n />\n </Card>\n\n <Grid height=\"100%\" rows=\"1fr auto\" width=\"100%\">\n <Box position=\"relative\">\n <RadioButtonCard.Root\n color={radioColor}\n onValueChange={onChange}\n style={{\n width: '100%',\n height: '100%',\n overflowY: 'auto',\n position: 'absolute',\n }}\n value={answer}\n >\n <Flex direction=\"column\" gap=\"2\" width=\"100%\">\n {question.options.map((option, i) => {\n const isThisOptionCorrect =\n isCheckAnswer && i === question.correctAnswer;\n const isThisOptionSelected =\n isCheckAnswer && i === Number(answer);\n const isThisOptionWrong =\n isCheckAnswer &&\n isThisOptionSelected &&\n i !== question.correctAnswer;\n const style = (() => {\n if (isThisOptionCorrect) return correctAnswerStyle;\n return {};\n })();\n\n return (\n <RadioButtonCard.Item\n // eslint-disable-next-line react/no-array-index-key -- 조합 키로 중복 회피\n key={`${option.label}-${i}`}\n style={style}\n value={i.toString()}\n >\n <Box>\n <Typo as=\"p\">{option.label}</Typo>\n {isThisOptionCorrect ? (\n <Typo color=\"green\">정답입니다</Typo>\n ) : null}\n {isThisOptionWrong ? (\n <Typo color=\"red\">정답이 아닙니다</Typo>\n ) : null}\n </Box>\n </RadioButtonCard.Item>\n );\n })}\n </Flex>\n </RadioButtonCard.Root>\n </Box>\n <Flex justify=\"end\" mt=\"2\">\n <Button onClick={checkAnswer}>정답 확인</Button>\n </Flex>\n </Grid>\n </Grid>\n );\n}\n\nexport default ReviewQuestionRadio;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAgB,aAAa,SAAS,gBAAgB;AAoC9C,cA2CY,YA3CZ;AAvBR,IAAM,qBAA0C;AAAA,EAC9C,iBAAiB;AACnB;AAEA,SAAS,oBAAoB,OAAkD;AAC7E,QAAM,EAAE,UAAU,QAAQ,SAAS,IAAI;AACvC,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,KAAK;AAExD,QAAM,cAAc,YAAY,MAAM;AACpC,qBAAiB,IAAI;AAAA,EACvB,GAAG,CAAC,CAAC;AAEL,QAAM,YAAY,iBAAiB,OAAO,MAAM,MAAM,SAAS;AAC/D,QAAM,UAAU,iBAAiB,OAAO,MAAM,MAAM,SAAS;AAC7D,QAAM,aAAa,QAAQ,MAAM;AAC/B,QAAI,UAAW,QAAO;AACtB,QAAI,QAAS,QAAO;AACpB,WAAO;AAAA,EACT,GAAG,CAAC,WAAW,OAAO,CAAC;AAEvB,SACE,qBAAC,QAAK,QAAO,QAAO,MAAK,YAAW,OAAM,QACxC;AAAA,wBAAC,QAAK,IAAG,KAAI,MAAK,KAChB;AAAA,MAAC;AAAA;AAAA,QACC,MAAM,SAAS;AAAA,QACf,UAAU,SAAS;AAAA,QACnB,OAAO,SAAS;AAAA,QAChB,MAAM,SAAS;AAAA;AAAA,IACjB,GACF;AAAA,IAEA,qBAAC,QAAK,QAAO,QAAO,MAAK,YAAW,OAAM,QACxC;AAAA,0BAAC,OAAI,UAAS,YACZ;AAAA,QAAC,gBAAgB;AAAA,QAAhB;AAAA,UACC,OAAO;AAAA,UACP,eAAe;AAAA,UACf,OAAO;AAAA,YACL,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,WAAW;AAAA,YACX,UAAU;AAAA,UACZ;AAAA,UACA,OAAO;AAAA,UAEP,8BAAC,QAAK,WAAU,UAAS,KAAI,KAAI,OAAM,QACpC,mBAAS,QAAQ,IAAI,CAAC,QAAQ,MAAM;AACnC,kBAAM,sBACJ,iBAAiB,MAAM,SAAS;AAClC,kBAAM,uBACJ,iBAAiB,MAAM,OAAO,MAAM;AACtC,kBAAM,oBACJ,iBACA,wBACA,MAAM,SAAS;AACjB,kBAAM,SAAS,MAAM;AACnB,kBAAI,oBAAqB,QAAO;AAChC,qBAAO,CAAC;AAAA,YACV,GAAG;AAEH,mBACE;AAAA,cAAC,gBAAgB;AAAA,cAAhB;AAAA,gBAGC;AAAA,gBACA,OAAO,EAAE,SAAS;AAAA,gBAElB,+BAAC,OACC;AAAA,sCAAC,QAAK,IAAG,KAAK,iBAAO,OAAM;AAAA,kBAC1B,sBACC,oBAAC,QAAK,OAAM,SAAQ,4CAAK,IACvB;AAAA,kBACH,oBACC,oBAAC,QAAK,OAAM,OAAM,yDAAQ,IACxB;AAAA,mBACN;AAAA;AAAA,cAZK,GAAG,OAAO,KAAK,IAAI,CAAC;AAAA,YAa3B;AAAA,UAEJ,CAAC,GACH;AAAA;AAAA,MACF,GACF;AAAA,MACA,oBAAC,QAAK,SAAQ,OAAM,IAAG,KACrB,8BAAC,UAAO,SAAS,aAAa,uCAAK,GACrC;AAAA,OACF;AAAA,KACF;AAEJ;AAEA,IAAO,gCAAQ;","names":[]}
|