@tipp/ui 2.3.6 → 2.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/app/index.cjs.map +1 -1
  2. package/dist/app/index.js +61 -61
  3. package/dist/app/platform/coach-question-list.js +27 -27
  4. package/dist/app/platform/contents-card.js +27 -27
  5. package/dist/app/platform/curriculum-card.js +2 -2
  6. package/dist/app/platform/edit-coaching-time.cjs.map +1 -1
  7. package/dist/app/platform/edit-coaching-time.js +49 -49
  8. package/dist/app/platform/edit-service-type.cjs.map +1 -1
  9. package/dist/app/platform/edit-service-type.js +48 -48
  10. package/dist/app/platform/goal-manage-card-edit.cjs.map +1 -1
  11. package/dist/app/platform/goal-manage-card-edit.js +49 -49
  12. package/dist/app/platform/goal-manage-card-read.js +27 -27
  13. package/dist/app/platform/on-offline-radio-card.cjs.map +1 -1
  14. package/dist/app/platform/on-offline-radio-card.js +48 -48
  15. package/dist/app/platform/report-card.js +27 -27
  16. package/dist/app/platform/reservation-card.cjs.map +1 -1
  17. package/dist/app/platform/reservation-card.js +49 -49
  18. package/dist/app/platform/session-card.cjs.map +1 -1
  19. package/dist/app/platform/session-card.js +50 -50
  20. package/dist/app/platform/session-review-simple-read.js +27 -27
  21. package/dist/app/platform/userInfos/coaching-customer-info/index.js +29 -29
  22. package/dist/app/platform/userInfos/coaching-customer-info/large.js +27 -27
  23. package/dist/app/platform/userInfos/coaching-customer-info/medium.js +27 -27
  24. package/dist/app/platform/userInfos/coaching-customer-info/small.js +26 -26
  25. package/dist/app/platform/userInfos/session-user-info-detail.js +26 -26
  26. package/dist/app/platform/userInfos/utils.js +26 -26
  27. package/dist/atoms/index.js +63 -63
  28. package/dist/chunk-2LRQWOIG.js +63 -0
  29. package/dist/chunk-2LRQWOIG.js.map +1 -0
  30. package/dist/chunk-3SCBKVQQ.js +51 -0
  31. package/dist/chunk-3SCBKVQQ.js.map +1 -0
  32. package/dist/chunk-4ETFHDG5.js +174 -0
  33. package/dist/chunk-4ETFHDG5.js.map +1 -0
  34. package/dist/chunk-5ZBSW4UW.js +64 -0
  35. package/dist/chunk-5ZBSW4UW.js.map +1 -0
  36. package/dist/chunk-6DR4EIVU.js +196 -0
  37. package/dist/chunk-6DR4EIVU.js.map +1 -0
  38. package/dist/chunk-7FRK5KLV.js +89 -0
  39. package/dist/chunk-7FRK5KLV.js.map +1 -0
  40. package/dist/chunk-DDFCVUO2.js +196 -0
  41. package/dist/chunk-DDFCVUO2.js.map +1 -0
  42. package/dist/chunk-E72OTAC6.js +89 -0
  43. package/dist/chunk-E72OTAC6.js.map +1 -0
  44. package/dist/chunk-IB7IFIYY.js +165 -0
  45. package/dist/chunk-IB7IFIYY.js.map +1 -0
  46. package/dist/chunk-IH6VDQ6C.js +61 -0
  47. package/dist/chunk-IH6VDQ6C.js.map +1 -0
  48. package/dist/chunk-KD6EXWP7.js +74 -0
  49. package/dist/chunk-KD6EXWP7.js.map +1 -0
  50. package/dist/chunk-KXCFAFL3.js +151 -0
  51. package/dist/chunk-KXCFAFL3.js.map +1 -0
  52. package/dist/chunk-N45T3WWG.js +139 -0
  53. package/dist/chunk-N45T3WWG.js.map +1 -0
  54. package/dist/chunk-P6DHFQXU.js +30 -0
  55. package/dist/chunk-P6DHFQXU.js.map +1 -0
  56. package/dist/chunk-PB4O3U6O.js +49 -0
  57. package/dist/chunk-PB4O3U6O.js.map +1 -0
  58. package/dist/chunk-PBWH6CMJ.js +217 -0
  59. package/dist/chunk-PBWH6CMJ.js.map +1 -0
  60. package/dist/chunk-QIXJ27DM.js +99 -0
  61. package/dist/chunk-QIXJ27DM.js.map +1 -0
  62. package/dist/chunk-RAKVKAXI.js +144 -0
  63. package/dist/chunk-RAKVKAXI.js.map +1 -0
  64. package/dist/chunk-RFXVHZAN.js +64 -0
  65. package/dist/chunk-RFXVHZAN.js.map +1 -0
  66. package/dist/chunk-T4HTYL5M.js +139 -0
  67. package/dist/chunk-T4HTYL5M.js.map +1 -0
  68. package/dist/chunk-TYBX7Q7B.js +64 -0
  69. package/dist/chunk-TYBX7Q7B.js.map +1 -0
  70. package/dist/chunk-UMBRV35P.js +217 -0
  71. package/dist/chunk-UMBRV35P.js.map +1 -0
  72. package/dist/context/dynamic-form-context.cjs +3 -1
  73. package/dist/context/dynamic-form-context.cjs.map +1 -1
  74. package/dist/context/dynamic-form-context.d.cts +3 -1
  75. package/dist/context/dynamic-form-context.d.ts +3 -1
  76. package/dist/context/dynamic-form-context.js +1 -1
  77. package/dist/context/index.cjs +3 -1
  78. package/dist/context/index.cjs.map +1 -1
  79. package/dist/context/index.js +2 -2
  80. package/dist/index.cjs +23 -14
  81. package/dist/index.cjs.map +1 -1
  82. package/dist/index.css +0 -1
  83. package/dist/index.js +114 -114
  84. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/index.js +7 -7
  85. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-body.js +6 -6
  86. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-radio.js +2 -2
  87. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-option.js +2 -2
  88. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-satisfaction-text.js +1 -1
  89. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/ReviewQuestion/review-question-text.js +3 -3
  90. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/index.js +10 -10
  91. package/dist/molecules/curriculumV2/CurriculumContents/CurriculumReviewSteps/start-review.js +2 -2
  92. package/dist/molecules/curriculumV2/CurriculumContents/curriculum-review.js +11 -11
  93. package/dist/molecules/curriculumV2/CurriculumContents/index.js +12 -12
  94. package/dist/molecules/curriculumV2/CurriculumSidebar/index.js +4 -4
  95. package/dist/molecules/curriculumV2/CurriculumSidebar/sidebar-item.js +2 -2
  96. package/dist/molecules/curriculumV2/index.js +20 -20
  97. package/dist/molecules/dynamic-field.cjs +15 -9
  98. package/dist/molecules/dynamic-field.cjs.map +1 -1
  99. package/dist/molecules/dynamic-field.js +4 -4
  100. package/dist/molecules/dynamic-form.cjs +23 -14
  101. package/dist/molecules/dynamic-form.cjs.map +1 -1
  102. package/dist/molecules/dynamic-form.d.cts +2 -1
  103. package/dist/molecules/dynamic-form.d.ts +2 -1
  104. package/dist/molecules/dynamic-form.js +5 -5
  105. package/dist/molecules/expand-table/index.js +1 -1
  106. package/dist/molecules/index.cjs +23 -14
  107. package/dist/molecules/index.cjs.map +1 -1
  108. package/dist/molecules/index.js +44 -44
  109. package/dist/molecules/learning-post.js +2 -2
  110. package/dist/molecules/stepper.js +2 -2
  111. package/dist/molecules/tag-selector.js +3 -3
  112. package/package.json +1 -1
  113. package/src/context/dynamic-form-context.tsx +4 -0
  114. package/src/molecules/dynamic-field.tsx +12 -6
  115. package/src/molecules/dynamic-form.tsx +5 -3
@@ -1,61 +1,61 @@
1
1
  import "../chunk-QDXZVPRR.js";
2
+ import {
3
+ ExpandTable,
4
+ createColumnHelper
5
+ } from "../chunk-4WJF7WXY.js";
6
+ import "../chunk-JCG2AUFJ.js";
2
7
  import "../chunk-AS7ID74X.js";
3
8
  import {
4
9
  CurriculumBody
5
- } from "../chunk-L6FMK2ZK.js";
6
- import "../chunk-CTZQFO5H.js";
7
- import "../chunk-DSWR2Z7U.js";
8
- import "../chunk-2USHC4PH.js";
9
- import "../chunk-UAXYYUVG.js";
10
- import "../chunk-66XH3MAB.js";
10
+ } from "../chunk-TYBX7Q7B.js";
11
+ import "../chunk-6DR4EIVU.js";
12
+ import "../chunk-E72OTAC6.js";
13
+ import "../chunk-KXCFAFL3.js";
14
+ import "../chunk-2LRQWOIG.js";
15
+ import "../chunk-CMBTJWVJ.js";
16
+ import "../chunk-TNGEPJ3G.js";
11
17
  import "../chunk-CC5RCOSM.js";
12
- import "../chunk-7ADTM2PV.js";
18
+ import "../chunk-CLFON5AH.js";
13
19
  import "../chunk-SDYFRI7L.js";
14
20
  import "../chunk-SAEPW5JF.js";
15
21
  import "../chunk-VK6INFSB.js";
16
- import "../chunk-H3X6UQVC.js";
22
+ import "../chunk-4NNBXE2Q.js";
17
23
  import "../chunk-COKJ53M5.js";
18
24
  import "../chunk-VGNQAHMB.js";
19
- import "../chunk-GNTZY4DG.js";
20
25
  import "../chunk-GMKRNFH5.js";
21
26
  import "../chunk-QGKQ3IX7.js";
22
27
  import {
23
28
  CurriculumSidebar
24
- } from "../chunk-FV4BQOCL.js";
25
- import "../chunk-4HDV26QV.js";
26
- import "../chunk-4TST4UK5.js";
29
+ } from "../chunk-IH6VDQ6C.js";
30
+ import "../chunk-3SCBKVQQ.js";
27
31
  import "../chunk-WS7IOHVK.js";
28
32
  import "../chunk-KCC3DAOY.js";
29
33
  import "../chunk-MJMHPIYX.js";
34
+ import "../chunk-4TST4UK5.js";
35
+ import "../chunk-B6A7IIYJ.js";
30
36
  import {
31
37
  CurriculumSubNav
32
38
  } from "../chunk-WZRGAW43.js";
39
+ import {
40
+ CurriculumProvider,
41
+ useCurriculumContext
42
+ } from "../chunk-IYQJIEVM.js";
33
43
  import {
34
44
  CurriculumV2Layout
35
45
  } from "../chunk-K3Q4XLCN.js";
36
- import "../chunk-B6A7IIYJ.js";
37
46
  import {
38
47
  DatePickerButton
39
48
  } from "../chunk-XLTMDAE3.js";
40
49
  import {
41
50
  DatePicker
42
51
  } from "../chunk-7BLUAQBV.js";
43
- import {
44
- ExpandTable,
45
- createColumnHelper
46
- } from "../chunk-4WJF7WXY.js";
47
- import "../chunk-JCG2AUFJ.js";
48
- import {
49
- CurriculumProvider,
50
- useCurriculumContext
51
- } from "../chunk-IYQJIEVM.js";
52
52
  import "../chunk-JF7JAMOQ.js";
53
53
  import {
54
54
  Stepper
55
- } from "../chunk-M6ZYONSH.js";
55
+ } from "../chunk-Q5Z4EHPC.js";
56
56
  import {
57
57
  TagSelector
58
- } from "../chunk-C2EZQALX.js";
58
+ } from "../chunk-7IBUQ5XL.js";
59
59
  import {
60
60
  TimeSelect
61
61
  } from "../chunk-7PF6I4RN.js";
@@ -67,7 +67,7 @@ import "../chunk-BXX3B3E4.js";
67
67
  import {
68
68
  DynamicForm,
69
69
  createYupValidation
70
- } from "../chunk-NHNPMV5W.js";
70
+ } from "../chunk-UMBRV35P.js";
71
71
  import {
72
72
  ForceRefresh
73
73
  } from "../chunk-EWFZXCMV.js";
@@ -76,7 +76,7 @@ import {
76
76
  } from "../chunk-5JQOU3IR.js";
77
77
  import {
78
78
  LearningPost
79
- } from "../chunk-F7JSPN5P.js";
79
+ } from "../chunk-SACH3XVV.js";
80
80
  import "../chunk-7FKRQQYK.js";
81
81
  import {
82
82
  Navigation
@@ -96,49 +96,46 @@ import {
96
96
  } from "../chunk-OHNBVT52.js";
97
97
  import {
98
98
  DynamicFormField
99
- } from "../chunk-3JEVYSX3.js";
99
+ } from "../chunk-N45T3WWG.js";
100
100
  import {
101
101
  DynamicFormResponseItem
102
102
  } from "../chunk-QTQKJ4A2.js";
103
- import "../chunk-O2S7S5B4.js";
104
- import "../chunk-2OMSNCRH.js";
105
- import "../chunk-5ZITU5L7.js";
103
+ import "../chunk-PB4O3U6O.js";
106
104
  import "../chunk-5XYPLDI5.js";
107
105
  import "../chunk-6NPTJBFE.js";
108
- import "../chunk-MUPK4L3U.js";
106
+ import "../chunk-2OMSNCRH.js";
109
107
  import "../chunk-X2GMDZ7M.js";
110
108
  import "../chunk-HYITAA4J.js";
111
109
  import "../chunk-FR2GDOU2.js";
112
- import "../chunk-JIJLOKVN.js";
113
- import "../chunk-VG2DMJ2U.js";
114
- import "../chunk-5AVBYDPB.js";
110
+ import "../chunk-5ZITU5L7.js";
115
111
  import "../chunk-365QMK4D.js";
116
112
  import "../chunk-6IVCARWS.js";
117
113
  import "../chunk-6DJOIRMF.js";
118
114
  import "../chunk-FPD73OHW.js";
119
- import "../chunk-EGEQY3KT.js";
115
+ import "../chunk-MUPK4L3U.js";
120
116
  import "../chunk-TULWX7D6.js";
121
117
  import "../chunk-DHZVOXFM.js";
118
+ import "../chunk-JIJLOKVN.js";
119
+ import "../chunk-VG2DMJ2U.js";
120
+ import "../chunk-5AVBYDPB.js";
121
+ import "../chunk-EGEQY3KT.js";
122
+ import "../chunk-W7X7KSJP.js";
123
+ import "../chunk-VYCYVN3L.js";
124
+ import "../chunk-OHMOP5PV.js";
125
+ import "../chunk-NFDQJVFA.js";
122
126
  import "../chunk-AH4A53SZ.js";
123
127
  import "../chunk-BESTU2AY.js";
124
128
  import "../chunk-U7N2PWMO.js";
125
129
  import "../chunk-XK6VEVOK.js";
126
130
  import "../chunk-HF6GNDPV.js";
127
- import "../chunk-B6XJN6EC.js";
128
- import "../chunk-RP2RGCAW.js";
129
- import "../chunk-W7X7KSJP.js";
130
- import "../chunk-VYCYVN3L.js";
131
- import "../chunk-OHMOP5PV.js";
132
- import "../chunk-NFDQJVFA.js";
133
- import "../chunk-6SYFG6YY.js";
134
- import "../chunk-K36TPMKL.js";
135
- import "../chunk-U3BQT7ZO.js";
136
131
  import "../chunk-4Y5BEXVN.js";
137
132
  import "../chunk-PMJIFLDT.js";
138
133
  import "../chunk-LDBWASUA.js";
139
134
  import "../chunk-25HMMI7R.js";
140
135
  import "../chunk-ZVDAEY5Q.js";
141
136
  import "../chunk-LQY4RKWI.js";
137
+ import "../chunk-B6XJN6EC.js";
138
+ import "../chunk-RP2RGCAW.js";
142
139
  import "../chunk-R7IT4TCD.js";
143
140
  import "../chunk-WJ34ZHTU.js";
144
141
  import "../chunk-ZQE7SP6P.js";
@@ -155,6 +152,9 @@ import "../chunk-5OM2H6RI.js";
155
152
  import "../chunk-ZUYCXCPW.js";
156
153
  import "../chunk-YVFNJE4E.js";
157
154
  import "../chunk-EAXUQEO5.js";
155
+ import "../chunk-6SYFG6YY.js";
156
+ import "../chunk-K36TPMKL.js";
157
+ import "../chunk-U3BQT7ZO.js";
158
158
  import "../chunk-CRTRMMJ7.js";
159
159
  export {
160
160
  CurriculumBody,
@@ -1,10 +1,9 @@
1
1
  import {
2
2
  LearningPost
3
- } from "../chunk-F7JSPN5P.js";
3
+ } from "../chunk-SACH3XVV.js";
4
4
  import "../chunk-7FKRQQYK.js";
5
5
  import "../chunk-EGEQY3KT.js";
6
6
  import "../chunk-BESTU2AY.js";
7
- import "../chunk-U3BQT7ZO.js";
8
7
  import "../chunk-4Y5BEXVN.js";
9
8
  import "../chunk-PMJIFLDT.js";
10
9
  import "../chunk-LDBWASUA.js";
@@ -12,6 +11,7 @@ import "../chunk-25HMMI7R.js";
12
11
  import "../chunk-ZVDAEY5Q.js";
13
12
  import "../chunk-LQY4RKWI.js";
14
13
  import "../chunk-EAXUQEO5.js";
14
+ import "../chunk-U3BQT7ZO.js";
15
15
  import "../chunk-CRTRMMJ7.js";
16
16
  export {
17
17
  LearningPost
@@ -1,7 +1,6 @@
1
1
  import {
2
2
  Stepper
3
- } from "../chunk-M6ZYONSH.js";
4
- import "../chunk-K36TPMKL.js";
3
+ } from "../chunk-Q5Z4EHPC.js";
5
4
  import "../chunk-PMJIFLDT.js";
6
5
  import "../chunk-LDBWASUA.js";
7
6
  import "../chunk-25HMMI7R.js";
@@ -20,6 +19,7 @@ import "../chunk-YSYJCYHY.js";
20
19
  import "../chunk-5OM2H6RI.js";
21
20
  import "../chunk-ZUYCXCPW.js";
22
21
  import "../chunk-YVFNJE4E.js";
22
+ import "../chunk-K36TPMKL.js";
23
23
  import "../chunk-CRTRMMJ7.js";
24
24
  export {
25
25
  Stepper
@@ -1,11 +1,9 @@
1
1
  import {
2
2
  TagSelector
3
- } from "../chunk-C2EZQALX.js";
3
+ } from "../chunk-7IBUQ5XL.js";
4
4
  import "../chunk-MUPK4L3U.js";
5
5
  import "../chunk-5AVBYDPB.js";
6
6
  import "../chunk-EGEQY3KT.js";
7
- import "../chunk-6SYFG6YY.js";
8
- import "../chunk-U3BQT7ZO.js";
9
7
  import "../chunk-PMJIFLDT.js";
10
8
  import "../chunk-LDBWASUA.js";
11
9
  import "../chunk-25HMMI7R.js";
@@ -26,6 +24,8 @@ import "../chunk-YSYJCYHY.js";
26
24
  import "../chunk-5OM2H6RI.js";
27
25
  import "../chunk-ZUYCXCPW.js";
28
26
  import "../chunk-YVFNJE4E.js";
27
+ import "../chunk-6SYFG6YY.js";
28
+ import "../chunk-U3BQT7ZO.js";
29
29
  import "../chunk-CRTRMMJ7.js";
30
30
  export {
31
31
  TagSelector
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tipp/ui",
3
- "version": "2.3.6",
3
+ "version": "2.3.7",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "exports": {
@@ -6,6 +6,7 @@ import type { DynamicFormFieldSchema } from '@/types/dynamic-form-schema-generat
6
6
  export interface DynamicFormContextValue {
7
7
  formik: FormikProps<Record<string, unknown>>;
8
8
  fields: DynamicFormFieldSchema[];
9
+ readonly: boolean;
9
10
  getFieldValue: (name: string) => unknown;
10
11
  getFieldError: (name: string) => string | undefined;
11
12
  getFieldTouched: (name: string) => boolean;
@@ -20,16 +21,19 @@ interface DynamicFormProviderProps {
20
21
  children: React.ReactNode;
21
22
  fields: DynamicFormFieldSchema[];
22
23
  formik: FormikProps<Record<string, unknown>>;
24
+ readonly?: boolean;
23
25
  }
24
26
 
25
27
  export function DynamicFormProvider({
26
28
  children,
27
29
  fields,
28
30
  formik,
31
+ readonly = false,
29
32
  }: DynamicFormProviderProps): React.ReactElement {
30
33
  const contextValue: DynamicFormContextValue = {
31
34
  formik,
32
35
  fields,
36
+ readonly,
33
37
  getFieldValue: (name: string): unknown => formik.values[name],
34
38
  getFieldError: (name: string): string | undefined => {
35
39
  const error = formik.errors[name];
@@ -22,6 +22,7 @@ export function DynamicFormField({
22
22
  setFieldValue,
23
23
  handleChange,
24
24
  handleBlur,
25
+ readonly,
25
26
  } = useDynamicForm();
26
27
  const { name, type } = field;
27
28
 
@@ -33,9 +34,10 @@ export function DynamicFormField({
33
34
  const commonProps = {
34
35
  name,
35
36
  value: String(value || ''),
36
- onChange: handleChange,
37
- onBlur: handleBlur,
37
+ onChange: readonly ? undefined : handleChange,
38
+ onBlur: readonly ? undefined : handleBlur,
38
39
  error: hasError,
40
+ disabled: readonly,
39
41
  };
40
42
 
41
43
  switch (type) {
@@ -64,10 +66,11 @@ export function DynamicFormField({
64
66
  case 'dropdown':
65
67
  return (
66
68
  <Select.Root
67
- onValueChange={(newValue: string) => {
69
+ onValueChange={readonly ? undefined : (newValue: string) => {
68
70
  void setFieldValue(name, newValue);
69
71
  }}
70
72
  value={value as string}
73
+ disabled={readonly}
71
74
  >
72
75
  <Select.Trigger placeholder={field.placeholder} />
73
76
  <Select.Content>
@@ -83,11 +86,12 @@ export function DynamicFormField({
83
86
  case 'choice':
84
87
  return (
85
88
  <RadioGroup.Root
86
- onValueChange={(newValue: string) => {
89
+ onValueChange={readonly ? undefined : (newValue: string) => {
87
90
  void setFieldValue(name, newValue);
88
91
  }}
89
92
  orientation={field.orientation}
90
93
  value={String(value || '')}
94
+ disabled={readonly}
91
95
  >
92
96
  {field.options.map((option) => (
93
97
  <RadioGroup.Item key={option.value} value={String(option.value)}>
@@ -100,11 +104,12 @@ export function DynamicFormField({
100
104
  case 'choices':
101
105
  return (
102
106
  <CheckboxGroup.Root
103
- onValueChange={(newValue: string[]) => {
107
+ onValueChange={readonly ? undefined : (newValue: string[]) => {
104
108
  void setFieldValue(name, newValue);
105
109
  }}
106
110
  orientation={field.orientation}
107
111
  value={Array.isArray(value) ? value.map(String) : []}
112
+ disabled={readonly}
108
113
  >
109
114
  {field.options.map((option) => (
110
115
  <CheckboxGroup.Item key={option.value} value={String(option.value)}>
@@ -119,9 +124,10 @@ export function DynamicFormField({
119
124
  <div style={{ display: 'flex', alignItems: 'flex-start', gap: '8px' }}>
120
125
  <Checkbox
121
126
  checked={Boolean(value)}
122
- onCheckedChange={(checked: boolean) => {
127
+ onCheckedChange={readonly ? undefined : (checked: boolean) => {
123
128
  void setFieldValue(name, checked);
124
129
  }}
130
+ disabled={readonly}
125
131
  />
126
132
  {field.description ? (
127
133
  <div style={{ fontSize: '14px', color: '#666', lineHeight: '1.4' }}>
@@ -19,6 +19,7 @@ export interface DynamicFormProps {
19
19
  initialValues?: Record<string, unknown>;
20
20
  onSubmit: (values: Record<string, unknown>) => void | Promise<void>;
21
21
  children: React.ReactNode;
22
+ readonly?: boolean;
22
23
  }
23
24
 
24
25
  /**
@@ -54,6 +55,7 @@ function DynamicFormRoot({
54
55
  initialValues = {},
55
56
  onSubmit,
56
57
  children,
58
+ readonly = false,
57
59
  }: DynamicFormProps): React.ReactElement {
58
60
  const validationSchema = useMemo(() => {
59
61
  const schema: Record<string, Yup.Schema<unknown>> = {};
@@ -119,7 +121,7 @@ function DynamicFormRoot({
119
121
  }, [formik.submitCount, formik.errors, fields]);
120
122
 
121
123
  return (
122
- <DynamicFormProvider fields={fields} formik={formik}>
124
+ <DynamicFormProvider fields={fields} formik={formik} readonly={readonly}>
123
125
  {children}
124
126
  </DynamicFormProvider>
125
127
  );
@@ -133,14 +135,14 @@ function DynamicFormFieldList({
133
135
  fields: fieldsProp,
134
136
  labelVariant,
135
137
  }: DynamicFormFieldListProps): React.ReactElement {
136
- const { formik, fields: fieldsFromContext } = useDynamicForm();
138
+ const { formik, fields: fieldsFromContext, readonly } = useDynamicForm();
137
139
  const fields = fieldsProp || fieldsFromContext;
138
140
 
139
141
  return (
140
142
  <>
141
143
  {fields.map((field) => {
142
144
  const errorMessage =
143
- formik.touched[field.name] && formik.errors[field.name]
145
+ !readonly && formik.touched[field.name] && formik.errors[field.name]
144
146
  ? String(formik.errors[field.name])
145
147
  : undefined;
146
148