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