@tipp/ui 2.3.19 β 2.3.21
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 +5 -2
- package/dist/app/index.cjs.map +1 -1
- package/dist/app/index.js +91 -91
- package/dist/app/platform/coach-question-list.cjs +5 -2
- package/dist/app/platform/coach-question-list.cjs.map +1 -1
- package/dist/app/platform/coach-question-list.js +31 -31
- package/dist/app/platform/contents-card.cjs +5 -2
- package/dist/app/platform/contents-card.cjs.map +1 -1
- package/dist/app/platform/contents-card.js +31 -31
- package/dist/app/platform/curriculum-card.js +5 -5
- package/dist/app/platform/edit-coaching-time.cjs +5 -2
- package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
- package/dist/app/platform/edit-coaching-time.js +72 -72
- package/dist/app/platform/edit-service-type.cjs +5 -2
- package/dist/app/platform/edit-service-type.cjs.map +1 -1
- package/dist/app/platform/edit-service-type.js +73 -73
- package/dist/app/platform/goal-manage-card-edit.cjs +5 -2
- package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
- package/dist/app/platform/goal-manage-card-edit.js +72 -72
- package/dist/app/platform/goal-manage-card-read.cjs +5 -2
- package/dist/app/platform/goal-manage-card-read.cjs.map +1 -1
- package/dist/app/platform/goal-manage-card-read.js +31 -31
- package/dist/app/platform/on-offline-radio-card.cjs +5 -2
- package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
- package/dist/app/platform/on-offline-radio-card.js +72 -72
- package/dist/app/platform/report-card.cjs +5 -2
- package/dist/app/platform/report-card.cjs.map +1 -1
- package/dist/app/platform/report-card.js +31 -31
- package/dist/app/platform/reservation-card.cjs +5 -2
- package/dist/app/platform/reservation-card.cjs.map +1 -1
- package/dist/app/platform/reservation-card.js +73 -73
- package/dist/app/platform/session-card.cjs +5 -2
- package/dist/app/platform/session-card.cjs.map +1 -1
- package/dist/app/platform/session-card.js +75 -75
- package/dist/app/platform/session-review-simple-read.cjs +5 -2
- package/dist/app/platform/session-review-simple-read.cjs.map +1 -1
- package/dist/app/platform/session-review-simple-read.js +31 -31
- package/dist/app/platform/userInfos/coaching-customer-info/index.cjs +5 -2
- package/dist/app/platform/userInfos/coaching-customer-info/index.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/index.js +36 -36
- package/dist/app/platform/userInfos/coaching-customer-info/large.cjs +5 -2
- package/dist/app/platform/userInfos/coaching-customer-info/large.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/large.js +31 -31
- package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs +5 -2
- package/dist/app/platform/userInfos/coaching-customer-info/medium.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/medium.js +31 -31
- package/dist/app/platform/userInfos/coaching-customer-info/small.cjs +5 -2
- package/dist/app/platform/userInfos/coaching-customer-info/small.cjs.map +1 -1
- package/dist/app/platform/userInfos/coaching-customer-info/small.js +31 -31
- package/dist/app/platform/userInfos/session-user-info-detail.cjs +5 -2
- package/dist/app/platform/userInfos/session-user-info-detail.cjs.map +1 -1
- package/dist/app/platform/userInfos/session-user-info-detail.js +31 -31
- package/dist/app/platform/userInfos/utils.cjs +5 -2
- package/dist/app/platform/userInfos/utils.cjs.map +1 -1
- package/dist/app/platform/userInfos/utils.js +30 -30
- package/dist/atoms/bullet-text.js +2 -2
- package/dist/atoms/dialog.js +2 -2
- package/dist/atoms/field-error-wrapper.js +2 -2
- package/dist/atoms/index.cjs +5 -2
- package/dist/atoms/index.cjs.map +1 -1
- package/dist/atoms/index.js +62 -62
- package/dist/atoms/list.js +2 -2
- package/dist/atoms/pagination.js +3 -3
- package/dist/chunk-3C6HB5HA.js +144 -0
- package/dist/chunk-3C6HB5HA.js.map +1 -0
- package/dist/chunk-3CJZYFG3.js +174 -0
- package/dist/chunk-3CJZYFG3.js.map +1 -0
- package/dist/chunk-3P5XU4EK.js +87 -0
- package/dist/chunk-3P5XU4EK.js.map +1 -0
- package/dist/chunk-4U6DFH7Z.js +50 -0
- package/dist/chunk-4U6DFH7Z.js.map +1 -0
- package/dist/chunk-5IIGHOLB.js +196 -0
- package/dist/chunk-5IIGHOLB.js.map +1 -0
- package/dist/chunk-5P7255ZD.js +144 -0
- package/dist/chunk-5P7255ZD.js.map +1 -0
- package/dist/chunk-6VWGOH4J.js +218 -0
- package/dist/chunk-6VWGOH4J.js.map +1 -0
- package/dist/chunk-7TOQOZH7.js +245 -0
- package/dist/chunk-7TOQOZH7.js.map +1 -0
- package/dist/chunk-7ZH2GXUS.js +174 -0
- package/dist/chunk-7ZH2GXUS.js.map +1 -0
- package/dist/chunk-AC6MUU6D.js +146 -0
- package/dist/chunk-AC6MUU6D.js.map +1 -0
- package/dist/chunk-AGTBJUYD.js +50 -0
- package/dist/chunk-AGTBJUYD.js.map +1 -0
- package/dist/chunk-B5J4YCG2.js +98 -0
- package/dist/chunk-B5J4YCG2.js.map +1 -0
- package/dist/chunk-BSRPUECS.js +144 -0
- package/dist/chunk-BSRPUECS.js.map +1 -0
- package/dist/chunk-C24L6Z2K.js +69 -0
- package/dist/chunk-C24L6Z2K.js.map +1 -0
- package/dist/chunk-C5HQZR32.js +196 -0
- package/dist/chunk-C5HQZR32.js.map +1 -0
- package/dist/chunk-CAYZTABQ.js +144 -0
- package/dist/chunk-CAYZTABQ.js.map +1 -0
- package/dist/chunk-CKQYG7TZ.js +245 -0
- package/dist/chunk-CKQYG7TZ.js.map +1 -0
- package/dist/chunk-CLLBSWGX.js +145 -0
- package/dist/chunk-CLLBSWGX.js.map +1 -0
- package/dist/chunk-CNJT7KEY.js +218 -0
- package/dist/chunk-CNJT7KEY.js.map +1 -0
- package/dist/chunk-DGOKT7ZK.js +163 -0
- package/dist/chunk-DGOKT7ZK.js.map +1 -0
- package/dist/chunk-DNIPGDRU.js +145 -0
- package/dist/chunk-DNIPGDRU.js.map +1 -0
- package/dist/chunk-DPPRU4D3.js +174 -0
- package/dist/chunk-DPPRU4D3.js.map +1 -0
- package/dist/chunk-DR3ELFWR.js +69 -0
- package/dist/chunk-DR3ELFWR.js.map +1 -0
- package/dist/chunk-DZ6LWD2X.js +174 -0
- package/dist/chunk-DZ6LWD2X.js.map +1 -0
- package/dist/chunk-DZCLAKSB.js +218 -0
- package/dist/chunk-DZCLAKSB.js.map +1 -0
- package/dist/chunk-EDJIZYNL.js +89 -0
- package/dist/chunk-EDJIZYNL.js.map +1 -0
- package/dist/chunk-EE4HLQGV.js +145 -0
- package/dist/chunk-EE4HLQGV.js.map +1 -0
- package/dist/chunk-GJ4GPOIC.js +144 -0
- package/dist/chunk-GJ4GPOIC.js.map +1 -0
- package/dist/chunk-GLZ66EYJ.js +146 -0
- package/dist/chunk-GLZ66EYJ.js.map +1 -0
- package/dist/chunk-GRD6VL3Q.js +49 -0
- package/dist/chunk-GRD6VL3Q.js.map +1 -0
- package/dist/chunk-H7IE4ZJG.js +174 -0
- package/dist/chunk-H7IE4ZJG.js.map +1 -0
- package/dist/chunk-I7E2IWC4.js +149 -0
- package/dist/chunk-I7E2IWC4.js.map +1 -0
- package/dist/chunk-IDY6K633.js +145 -0
- package/dist/chunk-IDY6K633.js.map +1 -0
- package/dist/chunk-IKJLNJ64.js +145 -0
- package/dist/chunk-IKJLNJ64.js.map +1 -0
- package/dist/chunk-IW7G7LMH.js +245 -0
- package/dist/chunk-IW7G7LMH.js.map +1 -0
- package/dist/chunk-JFM62CXW.js +50 -0
- package/dist/chunk-JFM62CXW.js.map +1 -0
- package/dist/chunk-KC6AEXYR.js +174 -0
- package/dist/chunk-KC6AEXYR.js.map +1 -0
- package/dist/chunk-KOMV6H3L.js +144 -0
- package/dist/chunk-KOMV6H3L.js.map +1 -0
- package/dist/chunk-KVO5ZNRN.js +50 -0
- package/dist/chunk-KVO5ZNRN.js.map +1 -0
- package/dist/chunk-KZVNK5NO.js +145 -0
- package/dist/chunk-KZVNK5NO.js.map +1 -0
- package/dist/chunk-L7ATTNZ2.js +174 -0
- package/dist/chunk-L7ATTNZ2.js.map +1 -0
- package/dist/chunk-LTJELIXX.js +149 -0
- package/dist/chunk-LTJELIXX.js.map +1 -0
- package/dist/chunk-LWVP3RG6.js +212 -0
- package/dist/chunk-LWVP3RG6.js.map +1 -0
- package/dist/chunk-MG3MDWHJ.js +245 -0
- package/dist/chunk-MG3MDWHJ.js.map +1 -0
- package/dist/chunk-MQXF7JLT.js +145 -0
- package/dist/chunk-MQXF7JLT.js.map +1 -0
- package/dist/chunk-N3A4EUDH.js +101 -0
- package/dist/chunk-N3A4EUDH.js.map +1 -0
- package/dist/chunk-N5B7ANSJ.js +145 -0
- package/dist/chunk-N5B7ANSJ.js.map +1 -0
- package/dist/chunk-OSEENHZJ.js +50 -0
- package/dist/chunk-OSEENHZJ.js.map +1 -0
- package/dist/chunk-OWJKGWFQ.js +89 -0
- package/dist/chunk-OWJKGWFQ.js.map +1 -0
- package/dist/chunk-P4ELC3C3.js +145 -0
- package/dist/chunk-P4ELC3C3.js.map +1 -0
- package/dist/chunk-P4HTQBD6.js +245 -0
- package/dist/chunk-P4HTQBD6.js.map +1 -0
- package/dist/chunk-P74G3XSY.js +50 -0
- package/dist/chunk-P74G3XSY.js.map +1 -0
- package/dist/chunk-PTYFKWCC.js +145 -0
- package/dist/chunk-PTYFKWCC.js.map +1 -0
- package/dist/chunk-PYQQZYJL.js +145 -0
- package/dist/chunk-PYQQZYJL.js.map +1 -0
- package/dist/chunk-Q267B6E6.js +146 -0
- package/dist/chunk-Q267B6E6.js.map +1 -0
- package/dist/chunk-QDC3LFHS.js +149 -0
- package/dist/chunk-QDC3LFHS.js.map +1 -0
- package/dist/chunk-RCTE4E7R.js +144 -0
- package/dist/chunk-RCTE4E7R.js.map +1 -0
- package/dist/chunk-S5M6VXKE.js +144 -0
- package/dist/chunk-S5M6VXKE.js.map +1 -0
- package/dist/chunk-SB2VNB4J.js +145 -0
- package/dist/chunk-SB2VNB4J.js.map +1 -0
- package/dist/chunk-SI6QBFXF.js +29 -0
- package/dist/chunk-SI6QBFXF.js.map +1 -0
- package/dist/chunk-SJ7MGKPR.js +245 -0
- package/dist/chunk-SJ7MGKPR.js.map +1 -0
- package/dist/chunk-SM22LXE7.js +145 -0
- package/dist/chunk-SM22LXE7.js.map +1 -0
- package/dist/chunk-SP4QJ7QT.js +69 -0
- package/dist/chunk-SP4QJ7QT.js.map +1 -0
- package/dist/chunk-TKX3HVMK.js +30 -0
- package/dist/chunk-TKX3HVMK.js.map +1 -0
- package/dist/chunk-TLEAX2CO.js +43 -0
- package/dist/chunk-TLEAX2CO.js.map +1 -0
- package/dist/chunk-TQCYWSCL.js +69 -0
- package/dist/chunk-TQCYWSCL.js.map +1 -0
- package/dist/chunk-UFKDKEI7.js +151 -0
- package/dist/chunk-UFKDKEI7.js.map +1 -0
- package/dist/chunk-VGHBEX6O.js +145 -0
- package/dist/chunk-VGHBEX6O.js.map +1 -0
- package/dist/chunk-VJ7AGB7Y.js +245 -0
- package/dist/chunk-VJ7AGB7Y.js.map +1 -0
- package/dist/chunk-VNJ3VOSY.js +50 -0
- package/dist/chunk-VNJ3VOSY.js.map +1 -0
- package/dist/chunk-WE2VD6CD.js +37 -0
- package/dist/chunk-WE2VD6CD.js.map +1 -0
- package/dist/chunk-WZLD5ZHV.js +245 -0
- package/dist/chunk-WZLD5ZHV.js.map +1 -0
- package/dist/chunk-XPTGW7ZC.js +69 -0
- package/dist/chunk-XPTGW7ZC.js.map +1 -0
- package/dist/chunk-XUTEGDQM.js +51 -0
- package/dist/chunk-XUTEGDQM.js.map +1 -0
- package/dist/chunk-Z4NLUDDL.js +145 -0
- package/dist/chunk-Z4NLUDDL.js.map +1 -0
- package/dist/chunk-Z6B4C5AB.js +63 -0
- package/dist/chunk-Z6B4C5AB.js.map +1 -0
- package/dist/chunk-ZOMXQCLY.js +245 -0
- package/dist/chunk-ZOMXQCLY.js.map +1 -0
- package/dist/chunk-ZVWUCJMB.js +146 -0
- package/dist/chunk-ZVWUCJMB.js.map +1 -0
- package/dist/chunk-ZYFRVFJE.js +163 -0
- package/dist/chunk-ZYFRVFJE.js.map +1 -0
- package/dist/context/dynamic-form-context.cjs +5 -2
- package/dist/context/dynamic-form-context.cjs.map +1 -1
- package/dist/context/dynamic-form-context.js +2 -2
- package/dist/context/index.cjs +5 -2
- package/dist/context/index.cjs.map +1 -1
- package/dist/context/index.js +6 -6
- package/dist/index.cjs +46 -16
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +133 -133
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +18 -18
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-comp.js +4 -4
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +11 -11
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-footer.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-header.js +3 -3
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-layout.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +6 -6
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +5 -5
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +5 -5
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +5 -5
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/complete-review.js +4 -4
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +21 -21
- package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +6 -6
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-ai-traning.js +3 -3
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-file-download.js +3 -3
- package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +23 -23
- package/dist/molecules/curriculumV2/CurriculumContents/index.js +27 -27
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/curriculum-item-title.js +2 -2
- package/dist/molecules/curriculumV2/CurriculumSidebar/Items/section-item.js +4 -4
- package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +7 -7
- package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +5 -5
- package/dist/molecules/curriculumV2/curriculum-sub-nav.js +4 -4
- package/dist/molecules/curriculumV2/curriculum-v2-layout.js +2 -2
- package/dist/molecules/curriculumV2/index.js +36 -36
- package/dist/molecules/date-picker/date-picker-button.js +6 -6
- package/dist/molecules/date-picker/index.js +5 -5
- package/dist/molecules/description-json-render.js +5 -5
- package/dist/molecules/download-card.js +2 -2
- package/dist/molecules/dynamic-field.cjs +5 -2
- package/dist/molecules/dynamic-field.cjs.map +1 -1
- package/dist/molecules/dynamic-field.js +6 -6
- package/dist/molecules/dynamic-form.cjs +44 -14
- package/dist/molecules/dynamic-form.cjs.map +1 -1
- package/dist/molecules/dynamic-form.js +7 -7
- package/dist/molecules/expand-table/index.js +5 -5
- package/dist/molecules/force-refresh.js +2 -2
- package/dist/molecules/form/form.cjs +5 -2
- package/dist/molecules/form/form.cjs.map +1 -1
- package/dist/molecules/form/form.js +1 -1
- package/dist/molecules/form/index.cjs +5 -2
- package/dist/molecules/form/index.cjs.map +1 -1
- package/dist/molecules/form/index.js +1 -1
- package/dist/molecules/ghost-post.js +4 -4
- package/dist/molecules/index.cjs +46 -16
- package/dist/molecules/index.cjs.map +1 -1
- package/dist/molecules/index.js +60 -60
- package/dist/molecules/learning-post.js +6 -6
- package/dist/molecules/navigation.js +3 -3
- package/dist/molecules/one-on-one-guide-list.js +3 -3
- package/dist/molecules/stepper.js +4 -4
- package/dist/molecules/tag-selector.js +5 -5
- package/dist/molecules/training-info-guideline.cjs +2 -2
- package/dist/molecules/training-info-guideline.cjs.map +1 -1
- package/dist/molecules/training-info-guideline.js +7 -7
- package/package.json +3 -3
- package/src/molecules/dynamic-form.tsx +44 -15
- package/src/molecules/form/form.tsx +10 -2
- package/src/molecules/training-info-guideline.tsx +2 -2
|
@@ -26,21 +26,28 @@ export interface DynamicFormProps {
|
|
|
26
26
|
/**
|
|
27
27
|
* 첫 λ²μ§Έ μλ¬ νλλ‘ μ€ν¬λ‘€νλ ν¨μ
|
|
28
28
|
*/
|
|
29
|
-
function scrollToFirstError(
|
|
29
|
+
function scrollToFirstError(
|
|
30
|
+
errors: Record<string, unknown>,
|
|
31
|
+
_fields: DynamicFormFieldSchema[]
|
|
32
|
+
): void {
|
|
30
33
|
const firstErrorFieldName = Object.keys(errors)[0];
|
|
31
34
|
if (!firstErrorFieldName) return;
|
|
32
35
|
|
|
33
36
|
// ν΄λΉ νλμ DOM μμλ₯Ό μ°ΎκΈ° (μ¬λ¬ μ νμ μλ)
|
|
34
37
|
let fieldElement = document.querySelector(`[name="${firstErrorFieldName}"]`);
|
|
35
|
-
|
|
38
|
+
|
|
36
39
|
// input μμλ₯Ό μ°Ύμ§ λͺ»ν κ²½μ°, ν΄λΉ νλμ 컨ν
μ΄λλ₯Ό μ°ΎκΈ°
|
|
37
40
|
if (!fieldElement) {
|
|
38
|
-
fieldElement = document.querySelector(
|
|
41
|
+
fieldElement = document.querySelector(
|
|
42
|
+
`[data-field-name="${firstErrorFieldName}"]`
|
|
43
|
+
);
|
|
39
44
|
}
|
|
40
|
-
|
|
45
|
+
|
|
41
46
|
// μ¬μ ν μ°Ύμ§ λͺ»ν κ²½μ°, FormItemμ μλ¬ λ©μμ§ μμμ μ°ΎκΈ°
|
|
42
47
|
if (!fieldElement) {
|
|
43
|
-
fieldElement = document.querySelector(
|
|
48
|
+
fieldElement = document.querySelector(
|
|
49
|
+
`[data-error-field="${firstErrorFieldName}"]`
|
|
50
|
+
);
|
|
44
51
|
}
|
|
45
52
|
|
|
46
53
|
if (fieldElement) {
|
|
@@ -75,7 +82,10 @@ function DynamicFormRoot({
|
|
|
75
82
|
.required(`${field.label}μ(λ) νμμ
λλ€`);
|
|
76
83
|
} else if (field.type === 'yes_no') {
|
|
77
84
|
// yes_no νμ
μ boolean μ€ν€λ§λ‘ μ²λ¦¬
|
|
78
|
-
schema[field.name] = Yup.boolean().oneOf(
|
|
85
|
+
schema[field.name] = Yup.boolean().oneOf(
|
|
86
|
+
[true],
|
|
87
|
+
`${field.label}μ λμν΄μ£ΌμΈμ`
|
|
88
|
+
);
|
|
79
89
|
} else {
|
|
80
90
|
// choice, dropdown, short_text, long_text, number, email νμ
μ λ¬Έμμ΄ μ€ν€λ§λ‘ μ²λ¦¬
|
|
81
91
|
schema[field.name] = Yup.string().required(
|
|
@@ -87,9 +97,12 @@ function DynamicFormRoot({
|
|
|
87
97
|
return Object.keys(schema).length > 0 ? Yup.object(schema) : undefined;
|
|
88
98
|
}, [fields]);
|
|
89
99
|
|
|
90
|
-
const handleSubmit = useCallback(
|
|
91
|
-
|
|
92
|
-
|
|
100
|
+
const handleSubmit = useCallback(
|
|
101
|
+
async (values: Record<string, unknown>) => {
|
|
102
|
+
await onSubmit(values);
|
|
103
|
+
},
|
|
104
|
+
[onSubmit]
|
|
105
|
+
);
|
|
93
106
|
|
|
94
107
|
const formik: FormikProps<Record<string, unknown>> = useFormik({
|
|
95
108
|
initialValues: fields.reduce<Record<string, unknown>>((acc, field) => {
|
|
@@ -115,7 +128,7 @@ function DynamicFormRoot({
|
|
|
115
128
|
const timeoutId = setTimeout(() => {
|
|
116
129
|
scrollToFirstError(formik.errors, fields);
|
|
117
130
|
}, 100);
|
|
118
|
-
|
|
131
|
+
|
|
119
132
|
return () => {
|
|
120
133
|
clearTimeout(timeoutId);
|
|
121
134
|
};
|
|
@@ -123,7 +136,12 @@ function DynamicFormRoot({
|
|
|
123
136
|
}, [formik.submitCount, formik.errors, fields]);
|
|
124
137
|
|
|
125
138
|
return (
|
|
126
|
-
<DynamicFormProvider
|
|
139
|
+
<DynamicFormProvider
|
|
140
|
+
fields={fields}
|
|
141
|
+
formStyle={formStyle}
|
|
142
|
+
formik={formik}
|
|
143
|
+
readonly={readonly}
|
|
144
|
+
>
|
|
127
145
|
{children}
|
|
128
146
|
</DynamicFormProvider>
|
|
129
147
|
);
|
|
@@ -161,9 +179,12 @@ function DynamicFormFieldList({
|
|
|
161
179
|
labelVariant={labelVariant}
|
|
162
180
|
name={field.name}
|
|
163
181
|
required={field.required}
|
|
182
|
+
|
|
164
183
|
>
|
|
184
|
+
{field.description && field.type !== 'yes_no' ? (
|
|
185
|
+
<Typo variant="caption">{field.description}</Typo>
|
|
186
|
+
) : null}
|
|
165
187
|
<DynamicFormField field={field} />
|
|
166
|
-
{field.description && field.type !== 'yes_no' ? <Typo color="gray" variant="caption">{field.description}</Typo> : null}
|
|
167
188
|
</Form.FormItem>
|
|
168
189
|
</Box>
|
|
169
190
|
);
|
|
@@ -260,11 +281,19 @@ export function createYupValidation(
|
|
|
260
281
|
// field.requiredκ° trueμΈ κ²½μ° required κ²μ¦ μΆκ°
|
|
261
282
|
if (field.required) {
|
|
262
283
|
if (field.type === 'yes_no') {
|
|
263
|
-
schema = (schema as Yup.BooleanSchema).oneOf(
|
|
284
|
+
schema = (schema as Yup.BooleanSchema).oneOf(
|
|
285
|
+
[true],
|
|
286
|
+
validation.message || `${field.label}μ λμν΄μ£ΌμΈμ`
|
|
287
|
+
);
|
|
264
288
|
} else if (field.type === 'choices') {
|
|
265
|
-
schema = (schema as ReturnType<typeof Yup.array>).min(
|
|
289
|
+
schema = (schema as ReturnType<typeof Yup.array>).min(
|
|
290
|
+
1,
|
|
291
|
+
validation.message || `${field.label}μ(λ₯Ό) νλ μ΄μ μ νν΄μ£ΌμΈμ`
|
|
292
|
+
);
|
|
266
293
|
} else {
|
|
267
|
-
schema = (schema as Yup.StringSchema).required(
|
|
294
|
+
schema = (schema as Yup.StringSchema).required(
|
|
295
|
+
validation.message || `${field.label}μ(λ) νμμ
λλ€`
|
|
296
|
+
);
|
|
268
297
|
}
|
|
269
298
|
}
|
|
270
299
|
|
|
@@ -57,7 +57,15 @@ function HeadingLabel(props: HeadingProps): React.ReactNode {
|
|
|
57
57
|
|
|
58
58
|
function CaptionLabel(props: TypoProps): React.ReactNode {
|
|
59
59
|
return (
|
|
60
|
-
<Typo color="gray" variant="caption" {...props}>
|
|
60
|
+
<Typo color="gray" variant="caption" weight="bold" {...props}>
|
|
61
|
+
{props.children}
|
|
62
|
+
</Typo>
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function BodyLabel(props: TypoProps): React.ReactNode {
|
|
67
|
+
return (
|
|
68
|
+
<Typo variant="body" weight="bold" {...props}>
|
|
61
69
|
{props.children}
|
|
62
70
|
</Typo>
|
|
63
71
|
);
|
|
@@ -73,7 +81,7 @@ const Label = forwardRef<HTMLLabelElement, FormLabelProps>(
|
|
|
73
81
|
return CaptionLabel;
|
|
74
82
|
case 'body':
|
|
75
83
|
default:
|
|
76
|
-
return
|
|
84
|
+
return BodyLabel;
|
|
77
85
|
}
|
|
78
86
|
}, [variant]);
|
|
79
87
|
|
|
@@ -53,7 +53,7 @@ function TrainingInfoGuidelineItem({
|
|
|
53
53
|
if (value.type === 'file') {
|
|
54
54
|
return (
|
|
55
55
|
<TrainingInfoGuidelineButton
|
|
56
|
-
description=
|
|
56
|
+
description="νμΌ λ€μ΄λ‘λ"
|
|
57
57
|
icon={<FileTextIcon />}
|
|
58
58
|
onClick={() => {
|
|
59
59
|
onClickFileDownload({ url: value.url, filename: value.filename });
|
|
@@ -69,7 +69,7 @@ function TrainingInfoGuidelineItem({
|
|
|
69
69
|
<Dialog.Root>
|
|
70
70
|
<Dialog.Trigger>
|
|
71
71
|
<TrainingInfoGuidelineButton
|
|
72
|
-
description="μμ"
|
|
72
|
+
description="μμ μλ£"
|
|
73
73
|
icon={<VideoIcon />}
|
|
74
74
|
title={value.videoTitle}
|
|
75
75
|
/>
|