tp-react-elements-dev 1.12.24 → 1.12.26

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 (254) hide show
  1. package/README.md +196 -167
  2. package/dist/assets/icons/flaticon_hvc.css +71 -70
  3. package/dist/assets/icons/flaticon_hvc.scss +126 -124
  4. package/dist/auth/authContext.d.ts +19 -0
  5. package/dist/auth/authContext.esm.js +26 -0
  6. package/dist/components/Button/Button.d.ts +7 -0
  7. package/dist/components/Button/Button.esm.js +15 -0
  8. package/dist/components/Button/index.d.ts +1 -0
  9. package/dist/components/Button/index.esm.js +1 -0
  10. package/dist/components/CheckBox/index.d.ts +1 -0
  11. package/dist/components/CheckBox/index.esm.js +1 -0
  12. package/dist/components/CheckBoxGroup/index.d.ts +1 -0
  13. package/dist/components/CheckBoxGroup/index.esm.js +1 -0
  14. package/dist/components/DatePicker/index.d.ts +4 -0
  15. package/dist/components/DatePicker/index.esm.js +4 -0
  16. package/dist/components/Delete/index.d.ts +1 -0
  17. package/dist/components/Delete/index.esm.js +1 -0
  18. package/dist/components/DeleteComponent/DeleteField.d.ts +0 -1
  19. package/dist/components/DeleteComponent/{DeleteField.js → DeleteField.esm.js} +6 -6
  20. package/dist/components/DeleteComponent/index.d.ts +1 -0
  21. package/dist/components/DeleteComponent/index.esm.js +1 -0
  22. package/dist/components/Feedback/index.d.ts +5 -0
  23. package/dist/components/Feedback/index.esm.js +7 -0
  24. package/dist/components/FileUpload/index.d.ts +2 -0
  25. package/dist/components/FileUpload/index.esm.js +2 -0
  26. package/dist/components/Form/Form.styles.d.ts +8 -26
  27. package/dist/components/Form/Form.styles.esm.js +111 -0
  28. package/dist/components/Form/FormActiveSwitch.d.ts +1 -2
  29. package/dist/components/Form/FormActiveSwitch.esm.js +11 -0
  30. package/dist/components/Form/FormConstants.d.ts +2 -3
  31. package/dist/components/Form/{FormConstants.js → FormConstants.esm.js} +89 -103
  32. package/dist/components/Form/FormContainer.d.ts +2 -3
  33. package/dist/components/Form/FormContainer.esm.js +3 -0
  34. package/dist/components/Form/FormRender.d.ts +11 -4
  35. package/dist/components/Form/FormRender.esm.js +135 -0
  36. package/dist/components/Form/FormRenderConstants.d.ts +0 -1
  37. package/dist/components/Form/FormRenderWrapper.d.ts +37 -5
  38. package/dist/components/Form/FormRenderWrapper.esm.js +33 -0
  39. package/dist/components/Form/index.d.ts +6 -0
  40. package/dist/components/Form/index.esm.js +5 -0
  41. package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.d.ts +1 -2
  42. package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.esm.js +72 -0
  43. package/dist/components/FormComponents/DatePicker/MonthPicker.d.ts +0 -1
  44. package/dist/components/FormComponents/DatePicker/{MonthPicker.js → MonthPicker.esm.js} +3 -3
  45. package/dist/components/FormComponents/DatePicker/Monthpickerrender.d.ts +1 -2
  46. package/dist/components/FormComponents/DatePicker/Monthpickerrender.esm.js +70 -0
  47. package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.d.ts +1 -2
  48. package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.esm.js +71 -0
  49. package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.d.ts +1 -2
  50. package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.esm.js +85 -0
  51. package/dist/components/FormComponents/FormBottomField/FormBottomField.d.ts +15 -2
  52. package/dist/components/FormComponents/FormBottomField/FormBottomField.esm.js +22 -0
  53. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.d.ts +20 -2
  54. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.esm.js +32 -0
  55. package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.d.ts +20 -2
  56. package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.esm.js +42 -0
  57. package/dist/components/FormComponents/FormErrorField/FormErrorField.d.ts +14 -2
  58. package/dist/components/FormComponents/FormErrorField/FormErrorField.esm.js +21 -0
  59. package/dist/components/FormComponents/FormNumberField/FormNumberField.d.ts +40 -3
  60. package/dist/components/FormComponents/FormNumberField/FormNumberField.esm.js +102 -0
  61. package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.d.ts +1 -2
  62. package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.esm.js +50 -0
  63. package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.d.ts +21 -3
  64. package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.esm.js +44 -0
  65. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.d.ts +20 -2
  66. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.esm.js +65 -0
  67. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.d.ts +1 -4
  68. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.esm.js +35 -0
  69. package/dist/components/FormComponents/FormTextField/FormTextField.d.ts +39 -3
  70. package/dist/components/FormComponents/FormTextField/FormTextField.esm.js +111 -0
  71. package/dist/components/FormComponents/FormTextField/FormTextField.styles.d.ts +10 -4
  72. package/dist/components/FormComponents/FormTextField/FormTextField.styles.esm.js +27 -0
  73. package/dist/components/FormComponents/HelperText/HelperText.d.ts +14 -2
  74. package/dist/components/FormComponents/HelperText/HelperText.esm.js +23 -0
  75. package/dist/components/FormComponents/PasswordField/PasswordField.d.ts +21 -3
  76. package/dist/components/FormComponents/PasswordField/PasswordField.esm.js +91 -0
  77. package/dist/components/FormComponents/RichTextEditor/RichTextEditor.d.ts +1 -2
  78. package/dist/components/FormComponents/RichTextEditor/{RichTextEditor.js → RichTextEditor.esm.js} +50 -31
  79. package/dist/components/FormComponents/RichTextEditor/RichTextEditorWrapper.d.ts +1 -2
  80. package/dist/components/FormComponents/RichTextEditor/{RichTextEditorWrapper.js → RichTextEditorWrapper.esm.js} +4 -3
  81. package/dist/components/FormComponents/RichTextEditor/jodit.index.d.ts +5 -10
  82. package/dist/components/FormComponents/RichTextEditor/jodit.index.esm.js +23 -0
  83. package/dist/components/FormComponents/Select/MultiSelect.d.ts +0 -1
  84. package/dist/components/FormComponents/Select/MultiSelectAutocomplete.d.ts +6 -0
  85. package/dist/components/FormComponents/Select/MultiSelectAutocomplete.esm.js +66 -0
  86. package/dist/components/FormComponents/Select/MultiSelectv1.d.ts +1 -2
  87. package/dist/components/FormComponents/Select/{MultiSelectv1.js → MultiSelectv1.esm.js} +54 -61
  88. package/dist/components/FormComponents/Select/SingleSelect.d.ts +2 -3
  89. package/dist/components/FormComponents/Select/SingleSelect.esm.js +61 -0
  90. package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.d.ts +1 -2
  91. package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.esm.js +32 -0
  92. package/dist/components/FormComponents/Select/SingleSelectSearchApi.d.ts +2 -3
  93. package/dist/components/FormComponents/Select/{SingleSelectSearchApi.js → SingleSelectSearchApi.esm.js} +2 -6
  94. package/dist/components/FormComponents/TimePicker/TimePicker.d.ts +1 -2
  95. package/dist/components/FormComponents/TimePicker/TimePicker.esm.js +70 -0
  96. package/dist/components/FormComponents/YearPickerField/YearPickerField.d.ts +2 -3
  97. package/dist/components/FormComponents/YearPickerField/{YearPickerField.js → YearPickerField.esm.js} +2 -6
  98. package/dist/components/FormComponents/index.d.ts +16 -25
  99. package/dist/components/FormComponents/{index.js → index.esm.js} +24 -26
  100. package/dist/components/Global.styles.d.ts +7 -22
  101. package/dist/components/{Global.styles.js → Global.styles.esm.js} +2 -2
  102. package/dist/components/ModalField/ConfirmationDialog.d.ts +2 -11
  103. package/dist/components/ModalField/ConfirmationDialog.esm.js +46 -0
  104. package/dist/components/ModalField/ModalField.d.ts +2 -3
  105. package/dist/components/ModalField/{ModalField.js → ModalField.esm.js} +10 -10
  106. package/dist/components/ModalField/index.d.ts +2 -0
  107. package/dist/components/ModalField/index.esm.js +2 -0
  108. package/dist/components/NumberField/index.d.ts +2 -0
  109. package/dist/components/NumberField/index.esm.js +2 -0
  110. package/dist/components/PasswordField/index.d.ts +1 -0
  111. package/dist/components/PasswordField/index.esm.js +1 -0
  112. package/dist/components/RadioGroup/index.d.ts +1 -0
  113. package/dist/components/RadioGroup/index.esm.js +1 -0
  114. package/dist/components/RichTextEditor/index.d.ts +2 -0
  115. package/dist/components/RichTextEditor/index.esm.js +2 -0
  116. package/dist/components/Select/index.d.ts +6 -0
  117. package/dist/components/Select/index.esm.js +8 -0
  118. package/dist/components/SelectField/MultiSelectField.d.ts +1 -0
  119. package/dist/components/SelectField/MultiSelectFieldComponent.d.ts +0 -1
  120. package/dist/components/SelectField/{MultiSelectFieldComponent.js → MultiSelectFieldComponent.esm.js} +36 -45
  121. package/dist/components/SelectField/index.d.ts +2 -0
  122. package/dist/components/SelectField/index.esm.js +1 -0
  123. package/dist/components/SessionTimeOut/SessionTimeOut.d.ts +1 -3
  124. package/dist/components/SessionTimeOut/{SessionTimeOut.js → SessionTimeOut.esm.js} +6 -7
  125. package/dist/components/SessionTimeOut/index.d.ts +1 -0
  126. package/dist/components/SessionTimeOut/index.esm.js +1 -0
  127. package/dist/components/TextAreaField/index.d.ts +1 -0
  128. package/dist/components/TextAreaField/index.esm.js +1 -0
  129. package/dist/components/TextField/index.d.ts +1 -0
  130. package/dist/components/TextField/index.esm.js +1 -0
  131. package/dist/components/TimePicker/index.d.ts +1 -0
  132. package/dist/components/TimePicker/index.esm.js +1 -0
  133. package/dist/components/TimePickerField/TimePickerField.d.ts +0 -1
  134. package/dist/components/TimePickerField/TimePickerField.esm.js +11 -0
  135. package/dist/components/TimePickerField/index.d.ts +1 -0
  136. package/dist/components/TimePickerField/index.esm.js +1 -0
  137. package/dist/index.d.ts +14 -9
  138. package/dist/index.esm.css +1 -0
  139. package/dist/index.esm.js +14 -0
  140. package/dist/theme/index.d.ts +0 -2
  141. package/dist/theme/{index.js → index.esm.js} +4 -7
  142. package/dist/types/index.d.ts +3 -4
  143. package/dist/utils/Constants/FormConstants.d.ts +40 -0
  144. package/dist/utils/Constants/FormConstants.esm.js +78 -0
  145. package/dist/{lib → utils}/Constants/FunctionConstants.d.ts +6 -7
  146. package/dist/{lib/Constants/FunctionConstants.js → utils/Constants/FunctionConstants.esm.js} +46 -54
  147. package/dist/utils/Constants/FunctionConstants.test.d.ts +1 -0
  148. package/dist/utils/Constants/crypto-js.d.ts +29 -0
  149. package/dist/utils/Constants/date-pickers.d.ts +29 -0
  150. package/dist/utils/Constants/date-pickers.esm.js +33 -0
  151. package/dist/utils/Constants/file-saver.d.ts +14 -0
  152. package/dist/utils/Constants/file-saver.esm.js +22 -0
  153. package/dist/utils/Constants/index.d.ts +5 -0
  154. package/dist/utils/Constants/xlsx-js-style.d.ts +22 -0
  155. package/dist/utils/Constants/xlsx-js-style.esm.js +46 -0
  156. package/dist/{lib → utils}/Interface/FormInterface.d.ts +11 -8
  157. package/dist/utils/Interface/MainInterface.d.ts +17 -0
  158. package/dist/utils/Interface/ModalInterface.d.ts +12 -0
  159. package/dist/utils/Interface/index.d.ts +3 -0
  160. package/dist/{lib → utils}/index.d.ts +3 -4
  161. package/dist/{lib/index.js → utils/index.esm.js} +2 -2
  162. package/dist/validation/index.d.ts +1 -0
  163. package/dist/validation/index.esm.js +1 -0
  164. package/dist/validation/schemas.d.ts +65 -6
  165. package/dist/validation/schemas.esm.js +111 -0
  166. package/package.json +62 -27
  167. package/scripts/install-deps.js +103 -46
  168. package/dist/assets/types.d.ts +0 -62
  169. package/dist/components/DeleteComponent/DeleteField.d.ts.map +0 -1
  170. package/dist/components/Form/Form.styles.d.ts.map +0 -1
  171. package/dist/components/Form/Form.styles.js +0 -111
  172. package/dist/components/Form/FormActiveSwitch.d.ts.map +0 -1
  173. package/dist/components/Form/FormActiveSwitch.js +0 -27
  174. package/dist/components/Form/FormConstants.d.ts.map +0 -1
  175. package/dist/components/Form/FormContainer.d.ts.map +0 -1
  176. package/dist/components/Form/FormRender.d.ts.map +0 -1
  177. package/dist/components/Form/FormRender.js +0 -96
  178. package/dist/components/Form/FormRenderConstants.d.ts.map +0 -1
  179. package/dist/components/Form/FormRenderWrapper.d.ts.map +0 -1
  180. package/dist/components/Form/FormRenderWrapper.js +0 -13
  181. package/dist/components/FormComponents/DatePicker/DateRangePicker.d.ts +0 -7
  182. package/dist/components/FormComponents/DatePicker/DateRangePicker.d.ts.map +0 -1
  183. package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.d.ts.map +0 -1
  184. package/dist/components/FormComponents/DatePicker/DatepickerWrapperV2.js +0 -58
  185. package/dist/components/FormComponents/DatePicker/MonthPicker.d.ts.map +0 -1
  186. package/dist/components/FormComponents/DatePicker/Monthpickerrender.d.ts.map +0 -1
  187. package/dist/components/FormComponents/DatePicker/Monthpickerrender.js +0 -61
  188. package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.d.ts.map +0 -1
  189. package/dist/components/FormComponents/FileUpload/FormRenderFileUpload.js +0 -86
  190. package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.d.ts.map +0 -1
  191. package/dist/components/FormComponents/FileUpload/FormRenderMultiFileUpload.js +0 -96
  192. package/dist/components/FormComponents/FormBottomField/FormBottomField.d.ts.map +0 -1
  193. package/dist/components/FormComponents/FormBottomField/FormBottomField.js +0 -9
  194. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.d.ts.map +0 -1
  195. package/dist/components/FormComponents/FormCheckBox/FormCheckBox.js +0 -10
  196. package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.d.ts.map +0 -1
  197. package/dist/components/FormComponents/FormCheckBoxGroup/FormCheckBoxGroup.js +0 -23
  198. package/dist/components/FormComponents/FormErrorField/FormErrorField.d.ts.map +0 -1
  199. package/dist/components/FormComponents/FormErrorField/FormErrorField.js +0 -9
  200. package/dist/components/FormComponents/FormNumberField/FormNumberField.d.ts.map +0 -1
  201. package/dist/components/FormComponents/FormNumberField/FormNumberField.js +0 -49
  202. package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.d.ts.map +0 -1
  203. package/dist/components/FormComponents/FormNumberField/FormNumberFieldDecimal.js +0 -45
  204. package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.d.ts.map +0 -1
  205. package/dist/components/FormComponents/FormRadioGroup/FormRadioGroup.js +0 -26
  206. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.d.ts.map +0 -1
  207. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.js +0 -31
  208. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.d.ts.map +0 -1
  209. package/dist/components/FormComponents/FormTextAreaField/FormTextAreaField.styles.js +0 -35
  210. package/dist/components/FormComponents/FormTextField/FormTextField.d.ts.map +0 -1
  211. package/dist/components/FormComponents/FormTextField/FormTextField.js +0 -46
  212. package/dist/components/FormComponents/FormTextField/FormTextField.styles.d.ts.map +0 -1
  213. package/dist/components/FormComponents/FormTextField/FormTextField.styles.js +0 -22
  214. package/dist/components/FormComponents/HelperText/HelperText.d.ts.map +0 -1
  215. package/dist/components/FormComponents/HelperText/HelperText.js +0 -10
  216. package/dist/components/FormComponents/PasswordField/PasswordField.d.ts.map +0 -1
  217. package/dist/components/FormComponents/PasswordField/PasswordField.js +0 -49
  218. package/dist/components/FormComponents/RichTextEditor/RichTextEditor.d.ts.map +0 -1
  219. package/dist/components/FormComponents/RichTextEditor/RichTextEditorWrapper.d.ts.map +0 -1
  220. package/dist/components/FormComponents/RichTextEditor/jodit.index.d.ts.map +0 -1
  221. package/dist/components/FormComponents/RichTextEditor/jodit.index.js +0 -27
  222. package/dist/components/FormComponents/Select/MultiSelect.d.ts.map +0 -1
  223. package/dist/components/FormComponents/Select/MultiSelectv1.d.ts.map +0 -1
  224. package/dist/components/FormComponents/Select/SingleSelect.d.ts.map +0 -1
  225. package/dist/components/FormComponents/Select/SingleSelect.js +0 -51
  226. package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.d.ts.map +0 -1
  227. package/dist/components/FormComponents/Select/SingleSelectNonAutoComplete.js +0 -27
  228. package/dist/components/FormComponents/Select/SingleSelectSearchApi.d.ts.map +0 -1
  229. package/dist/components/FormComponents/TimePicker/TimePicker.d.ts.map +0 -1
  230. package/dist/components/FormComponents/TimePicker/TimePicker.js +0 -55
  231. package/dist/components/FormComponents/YearPickerField/YearPickerField.d.ts.map +0 -1
  232. package/dist/components/FormComponents/index.d.ts.map +0 -1
  233. package/dist/components/Global.styles.d.ts.map +0 -1
  234. package/dist/components/ModalField/ConfirmationDialog.d.ts.map +0 -1
  235. package/dist/components/ModalField/ConfirmationDialog.js +0 -48
  236. package/dist/components/ModalField/ModalField.d.ts.map +0 -1
  237. package/dist/components/SelectField/MultiSelectFieldComponent.d.ts.map +0 -1
  238. package/dist/components/SessionTimeOut/SessionTimeOut.d.ts.map +0 -1
  239. package/dist/components/TimePickerField/TimePickerField.d.ts.map +0 -1
  240. package/dist/components/index.d.ts +0 -8
  241. package/dist/components/index.d.ts.map +0 -1
  242. package/dist/index.css +0 -1
  243. package/dist/index.d.ts.map +0 -1
  244. package/dist/index.js +0 -16
  245. package/dist/lib/Constants/FormConstants.d.ts +0 -11
  246. package/dist/lib/Constants/FormConstants.d.ts.map +0 -1
  247. package/dist/lib/Constants/FormConstants.js +0 -54
  248. package/dist/lib/Constants/FunctionConstants.d.ts.map +0 -1
  249. package/dist/lib/Interface/FormInterface.d.ts.map +0 -1
  250. package/dist/lib/index.d.ts.map +0 -1
  251. package/dist/theme/index.d.ts.map +0 -1
  252. package/dist/types/index.d.ts.map +0 -1
  253. package/dist/validation/schemas.d.ts.map +0 -1
  254. package/dist/validation/schemas.js +0 -60
@@ -1,13 +1,51 @@
1
- import * as yup from "yup";
1
+ import * as yup from 'yup';
2
+ /**
3
+ * Schema for validating email addresses.
4
+ * Requires a valid email format and is mandatory.
5
+ */
2
6
  export declare const emailSchema: yup.StringSchema<string, yup.AnyObject, undefined, "">;
7
+ /**
8
+ * Schema for validating passwords.
9
+ * Requires at least 8 characters, one uppercase, one lowercase, and one number.
10
+ */
3
11
  export declare const passwordSchema: yup.StringSchema<string, yup.AnyObject, undefined, "">;
4
- export declare const phoneSchema: yup.StringSchema<string, yup.AnyObject, undefined, "">;
12
+ /**
13
+ * Schema for validating phone numbers.
14
+ * Accepts optional '+' and up to 15 digits.
15
+ */
16
+ export declare const phoneSchema: yup.StringSchema<yup.Maybe<string | undefined>, yup.AnyObject, undefined, "">;
17
+ /**
18
+ * Schema for a required string field.
19
+ */
5
20
  export declare const requiredStringSchema: yup.StringSchema<string, yup.AnyObject, undefined, "">;
6
- export declare const optionalStringSchema: yup.StringSchema<string | undefined, yup.AnyObject, undefined, "">;
21
+ /**
22
+ * Schema for an optional string field.
23
+ */
24
+ export declare const optionalStringSchema: yup.StringSchema<yup.Maybe<string | undefined>, yup.AnyObject, undefined, "">;
25
+ /**
26
+ * Schema for a required number field.
27
+ * Ensures the value is a number.
28
+ */
7
29
  export declare const numberSchema: yup.NumberSchema<number, yup.AnyObject, undefined, "">;
8
- export declare const optionalNumberSchema: yup.NumberSchema<number | undefined, yup.AnyObject, undefined, "">;
30
+ /**
31
+ * Schema for an optional number field.
32
+ * Ensures the value is a number if provided.
33
+ */
34
+ export declare const optionalNumberSchema: yup.NumberSchema<yup.Maybe<number | undefined>, yup.AnyObject, undefined, "">;
35
+ /**
36
+ * Schema for a required date field.
37
+ * Ensures the value is a valid date.
38
+ */
9
39
  export declare const dateSchema: yup.DateSchema<Date, yup.AnyObject, undefined, "">;
40
+ /**
41
+ * Schema for a required URL field.
42
+ * Ensures the value is a valid URL.
43
+ */
10
44
  export declare const urlSchema: yup.StringSchema<string, yup.AnyObject, undefined, "">;
45
+ /**
46
+ * Schema for login forms.
47
+ * Requires email and password fields.
48
+ */
11
49
  export declare const loginSchema: yup.ObjectSchema<{
12
50
  email: string;
13
51
  password: string;
@@ -15,6 +53,11 @@ export declare const loginSchema: yup.ObjectSchema<{
15
53
  email: undefined;
16
54
  password: undefined;
17
55
  }, "">;
56
+ /**
57
+ * Schema for registration forms.
58
+ * Requires first name, last name, email, password, and confirm password fields.
59
+ * Ensures confirm password matches password.
60
+ */
18
61
  export declare const registrationSchema: yup.ObjectSchema<{
19
62
  firstName: string;
20
63
  lastName: string;
@@ -28,10 +71,15 @@ export declare const registrationSchema: yup.ObjectSchema<{
28
71
  password: undefined;
29
72
  confirmPassword: undefined;
30
73
  }, "">;
74
+ /**
75
+ * Schema for contact forms.
76
+ * Requires name, email, and message fields.
77
+ * Phone is optional.
78
+ */
31
79
  export declare const contactSchema: yup.ObjectSchema<{
32
80
  name: string;
33
81
  email: string;
34
- phone: string | undefined;
82
+ phone: yup.Maybe<string | undefined>;
35
83
  message: string;
36
84
  }, yup.AnyObject, {
37
85
  name: undefined;
@@ -39,4 +87,15 @@ export declare const contactSchema: yup.ObjectSchema<{
39
87
  phone: undefined;
40
88
  message: undefined;
41
89
  }, "">;
42
- //# sourceMappingURL=schemas.d.ts.map
90
+ /**
91
+ * Type for login form values inferred from loginSchema.
92
+ */
93
+ export type LoginForm = yup.InferType<typeof loginSchema>;
94
+ /**
95
+ * Type for registration form values inferred from registrationSchema.
96
+ */
97
+ export type RegistrationForm = yup.InferType<typeof registrationSchema>;
98
+ /**
99
+ * Type for contact form values inferred from contactSchema.
100
+ */
101
+ export type ContactForm = yup.InferType<typeof contactSchema>;
@@ -0,0 +1,111 @@
1
+ import * as Yup from 'yup';
2
+
3
+ /**
4
+ * Centralized error messages for validation schemas.
5
+ * @constant
6
+ */
7
+ const ERRORS = {
8
+ required: 'This field is required',
9
+ email: 'Please enter a valid email address',
10
+ password: {
11
+ min: 'Password must be at least 8 characters',
12
+ upper: 'Password must contain at least one uppercase letter',
13
+ lower: 'Password must contain at least one lowercase letter',
14
+ number: 'Password must contain at least one number',
15
+ required: 'Password is required',
16
+ match: 'Passwords must match',
17
+ confirm: 'Please confirm your password',
18
+ },
19
+ phone: 'Please enter a valid phone number',
20
+ number: 'Please enter a valid number',
21
+ date: 'Please enter a valid date',
22
+ url: 'Please enter a valid URL',
23
+ };
24
+ /**
25
+ * Schema for validating email addresses.
26
+ * Requires a valid email format and is mandatory.
27
+ */
28
+ const emailSchema = Yup.string().email(ERRORS.email).required(ERRORS.required);
29
+ /**
30
+ * Schema for validating passwords.
31
+ * Requires at least 8 characters, one uppercase, one lowercase, and one number.
32
+ */
33
+ const passwordSchema = Yup
34
+ .string()
35
+ .min(8, ERRORS.password.min)
36
+ .matches(/[A-Z]/, ERRORS.password.upper)
37
+ .matches(/[a-z]/, ERRORS.password.lower)
38
+ .matches(/[0-9]/, ERRORS.password.number)
39
+ .required(ERRORS.password.required);
40
+ /**
41
+ * Schema for validating phone numbers.
42
+ * Accepts optional '+' and up to 15 digits.
43
+ */
44
+ const phoneSchema = Yup
45
+ .string()
46
+ .matches(/^[+]?[1-9][\d]{0,15}$/, ERRORS.phone)
47
+ .notRequired();
48
+ /**
49
+ * Schema for a required string field.
50
+ */
51
+ const requiredStringSchema = Yup.string().required(ERRORS.required);
52
+ /**
53
+ * Schema for an optional string field.
54
+ */
55
+ const optionalStringSchema = Yup.string().notRequired();
56
+ /**
57
+ * Schema for a required number field.
58
+ * Ensures the value is a number.
59
+ */
60
+ const numberSchema = Yup.number().typeError(ERRORS.number).required(ERRORS.required);
61
+ /**
62
+ * Schema for an optional number field.
63
+ * Ensures the value is a number if provided.
64
+ */
65
+ const optionalNumberSchema = Yup.number().typeError(ERRORS.number).notRequired();
66
+ /**
67
+ * Schema for a required date field.
68
+ * Ensures the value is a valid date.
69
+ */
70
+ const dateSchema = Yup.date().typeError(ERRORS.date).required(ERRORS.required);
71
+ /**
72
+ * Schema for a required URL field.
73
+ * Ensures the value is a valid URL.
74
+ */
75
+ const urlSchema = Yup.string().url(ERRORS.url).required(ERRORS.required);
76
+ /**
77
+ * Schema for login forms.
78
+ * Requires email and password fields.
79
+ */
80
+ const loginSchema = Yup.object({
81
+ email: emailSchema,
82
+ password: Yup.string().required(ERRORS.password.required),
83
+ });
84
+ /**
85
+ * Schema for registration forms.
86
+ * Requires first name, last name, email, password, and confirm password fields.
87
+ * Ensures confirm password matches password.
88
+ */
89
+ const registrationSchema = Yup.object({
90
+ firstName: requiredStringSchema,
91
+ lastName: requiredStringSchema,
92
+ email: emailSchema,
93
+ password: passwordSchema,
94
+ confirmPassword: Yup
95
+ .string()
96
+ .oneOf([Yup.ref('password')], ERRORS.password.match)
97
+ .required(ERRORS.password.confirm),
98
+ });
99
+ /**
100
+ * Schema for contact forms.
101
+ * Requires name, email, and message fields.
102
+ * Phone is optional.
103
+ */
104
+ const contactSchema = Yup.object({
105
+ name: requiredStringSchema,
106
+ email: emailSchema,
107
+ phone: phoneSchema,
108
+ message: requiredStringSchema,
109
+ });
110
+
111
+ export { contactSchema, dateSchema, emailSchema, loginSchema, numberSchema, optionalNumberSchema, optionalStringSchema, passwordSchema, phoneSchema, registrationSchema, requiredStringSchema, urlSchema };
package/package.json CHANGED
@@ -1,20 +1,36 @@
1
1
  {
2
2
  "name": "tp-react-elements-dev",
3
- "version": "1.12.24",
3
+ "version": "1.12.26",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "React form components library built with React Hook Form and Yup",
7
- "main": "dist/index.js",
7
+ "main": "dist/index.esm.js",
8
8
  "module": "dist/index.esm.js",
9
9
  "types": "dist/index.d.ts",
10
10
  "exports": {
11
11
  ".": {
12
- "import": "./dist/index.js",
13
- "require": "./dist/index.js"
12
+ "import": "./dist/index.esm.js",
13
+ "types": "./dist/index.d.ts"
14
14
  },
15
- "./lib/constants": {
16
- "import": "./dist/lib/index.js",
17
- "require": "./dist/lib/index.js"
15
+ "./form": {
16
+ "import": "./dist/components/Form/index.esm.js",
17
+ "types": "./dist/components/Form/index.d.ts"
18
+ },
19
+ "./utils": {
20
+ "import": "./dist/utils/index.esm.js",
21
+ "types": "./dist/utils/index.d.ts"
22
+ },
23
+ "./validation": {
24
+ "import": "./dist/validation/index.esm.js",
25
+ "types": "./dist/validation/index.d.ts"
26
+ },
27
+ "./components/*": {
28
+ "import": "./dist/components/*/index.esm.js",
29
+ "types": "./dist/components/*/index.d.ts"
30
+ },
31
+ "./theme": {
32
+ "import": "./dist/theme/index.esm.js",
33
+ "types": "./dist/theme/index.d.ts"
18
34
  },
19
35
  "./package.json": "./package.json"
20
36
  },
@@ -25,41 +41,51 @@
25
41
  "dist",
26
42
  "scripts"
27
43
  ],
44
+ "sideEffects": [
45
+ "*.css",
46
+ "*.scss"
47
+ ],
28
48
  "scripts": {
29
49
  "dev": "vite",
30
50
  "preview": "vite preview",
31
- "clean": "rimraf dist",
51
+ "clean": "rimraf dist dist-dev",
32
52
  "type-check": "tsc --noEmit",
33
- "build:types": "tsc --project tsconfig.build.json --emitDeclarationOnly && echo \"✅ TypeScript declaration files generated successfully!\"",
34
- "// build:types": "Generates TypeScript declaration files using direct tsc command for reliability. See docs/typescript-declarations.md for details.",
35
- "build": "npm run build:esm",
53
+
54
+ "build:types": "tsc --project tsconfig.build.json --emitDeclarationOnly && tsc-alias -p tsconfig.build.json && echo \"✅ TypeScript declaration files generated successfully!\"",
55
+ "build:types:qa": "tsc --project tsconfig.build.qa.json --emitDeclarationOnly && tsc-alias -p tsconfig.build.qa.json && echo \"✅ QA declaration files (with maps) generated!\"",
36
56
  "build:esm": "npm run clean && rollup -c rollup.config.js",
37
- "build:lib": "npm run clean && rollup -c rollup.config.js && rollup -c rollup.config.cjs.js --bundleConfigAsCjs && npm run build:types && echo \"✅ Complete library build finished! ESM + CJS builds completed successfully!\"",
38
- "build:lib:esm": "npm run clean && rollup -c rollup.config.js && npm run build:types",
39
- "build:lib:cjs": "rollup -c rollup.config.cjs.js --bundleConfigAsCjs",
40
- "build:analyze": "npm run clean && cross-env BUNDLE_ANALYZE=true rollup -c rollup.config.js",
41
- "analyze": "npm run build:analyze",
42
- "build:dev:analyze": "cross-env ANALYZE_BUNDLE=true vite build",
43
- "bundle-size": "npm run analyze && echo 'Bundle analysis complete! Check dist/bundle-analysis-esm.html'",
44
- "bundle-size:dev": "npm run build:dev:analyze && echo 'Dev bundle analysis complete! Check dist-dev/bundle-analysis-dev.html'",
57
+ "build:lib": "npm run clean && rollup -c rollup.config.js && npm run build:types && echo \"✅ Complete library build finished! ESM build completed successfully!\"",
58
+ "build:lib:qa": "npm run clean && rollup -c rollup.config.js && npm run build:types:qa && echo \"✅ QA build finished (includes .d.ts.map)\"",
59
+
60
+ "analyze": "npm run clean && cross-env BUNDLE_ANALYZE=true rollup -c rollup.config.js",
61
+ "analyze:dev": "cross-env ANALYZE_BUNDLE=true vite build",
62
+
45
63
  "test": "vitest",
46
64
  "test:ui": "vitest --ui",
47
65
  "test:coverage": "vitest --coverage",
66
+
48
67
  "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
49
68
  "lint:fix": "eslint . --ext ts,tsx --fix",
69
+
70
+ "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,css,scss,md,json}\"",
71
+ "format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,css,scss,md,json}\"",
72
+
50
73
  "storybook": "storybook dev -p 6006",
51
74
  "build-storybook": "storybook build",
52
- "prepublishOnly": "npm run build:lib:esm",
75
+
53
76
  "version:patch": "npm version patch",
54
77
  "version:minor": "npm version minor",
55
78
  "version:major": "npm version major",
56
- "build:publish": "npm run version:patch && npm run build:esm && npm run type-check",
79
+
80
+ "publish:prepare": "npm run build:lib && npm run type-check",
57
81
  "publish:npm": "npm publish",
58
82
  "publish:beta": "npm publish --tag beta",
59
- "publish:auto": "npm run build:publish && npm publish",
60
- "install-peers": "npm install react-hook-form@^7.62.0 @mui/material@^7.3.1 @mui/icons-material@^7.3.1 @emotion/react@^11.14.0 @emotion/styled@^11.14.1 @mui/x-date-pickers@^8.10.2 @hookform/error-message@^2.0.1 @hookform/resolvers@^5.2.1 crypto-js@^4.2.0 date-fns@^4.1.0 dayjs@^1.11.13 file-saver@^2.0.5 jodit@^4.6.2 jodit-react@^5.2.19 react-idle-timer@^5.7.2 xlsx-js-style@^1.2.0 yup@^1.7.0",
61
- "// install-peers": "Note: React and React-DOM are not included as they're typically already installed by the consuming project (Vite, CRA, etc.)",
62
- "package-build": "rollup -c --bundleConfigAsCjs"
83
+ "publish:auto": "npm run publish:prepare && npm publish",
84
+
85
+ "install-peers": "install-tp-form-deps",
86
+ "package-build": "rollup -c --bundleConfigAsCjs",
87
+
88
+ "prepublishOnly": "npm run build:lib"
63
89
  },
64
90
  "peerDependencies": {
65
91
  "@emotion/react": ">=11.14.0 <13.0.0",
@@ -75,7 +101,8 @@
75
101
  "file-saver": ">=2.0.5 <3.0.0",
76
102
  "jodit": ">=4.6.2 <5.0.0",
77
103
  "jodit-react": ">=5.2.19 <6.0.0",
78
- "react": ">=19.1.1",
104
+ "react": ">=18 <20",
105
+ "react-dom": ">=18 <20",
79
106
  "react-hook-form": ">=7.62.0 <8.0.0",
80
107
  "react-idle-timer": ">=5.7.2 <6.0.0",
81
108
  "xlsx-js-style": ">=1.2.0 <2.0.0",
@@ -84,6 +111,12 @@
84
111
  "peerDependenciesMeta": {
85
112
  "react-idle-timer": {
86
113
  "optional": true
114
+ },
115
+ "jodit": {
116
+ "optional": true
117
+ },
118
+ "jodit-react": {
119
+ "optional": true
87
120
  }
88
121
  },
89
122
  "devDependencies": {
@@ -128,6 +161,7 @@
128
161
  "jodit": "^4.6.2",
129
162
  "jodit-react": "^5.2.19",
130
163
  "jsdom": "^25.0.0",
164
+ "prettier": "^3.6.2",
131
165
  "react": "^19.1.1",
132
166
  "react-dom": "^19.1.1",
133
167
  "react-hook-form": "^7.62.0",
@@ -142,6 +176,7 @@
142
176
  "rollup-plugin-visualizer": "^5.14.0",
143
177
  "sass-embedded": "^1.90.0",
144
178
  "storybook": "^9.1.2",
179
+ "tsc-alias": "^1.8.16",
145
180
  "typescript": "^5.5.4",
146
181
  "vite": "^6.0.0",
147
182
  "vitest": "^3.0.0",
@@ -163,7 +198,7 @@
163
198
  ],
164
199
  "license": "MIT",
165
200
  "engines": {
166
- "node": ">=22.12.0",
201
+ "node": ">=18.17.0 || >=20.11.0",
167
202
  "npm": ">=10.9.0"
168
203
  }
169
204
  }
@@ -1,56 +1,113 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  /**
4
- * Installation script for tp-form-elements peer dependencies
5
- * This script installs all required and optional peer dependencies
4
+ * Install exact versions of peerDependencies for tp-react-elements-dev
5
+ * - Reads peerDependencies from the library package.json
6
+ * - Prefers the exact version from the consumer app's package.json if present
7
+ * - Otherwise uses the library's devDependencies version (pinned)
8
+ * - Otherwise falls back to the minimum version in the peer range (e.g. ">=x <y" -> x)
6
9
  */
7
10
 
8
- import { execSync } from "child_process";
9
-
10
- console.log("🚀 Installing peer dependencies for tp-form-elements...\n");
11
-
12
- // Core dependencies (required)
13
- // Note: React and React-DOM are not included as they're typically already installed by the consuming project (Vite, CRA, etc.)
14
- const coreDeps = [
15
- "react-hook-form@^7.62.0",
16
- "@mui/material@^7.3.1",
17
- "@mui/icons-material@^7.3.1",
18
- "@emotion/react@^11.14.0",
19
- "@emotion/styled@^11.14.1",
20
- "@mui/x-date-pickers@^8.10.2",
21
- "@hookform/error-message@^2.0.1",
22
- "@hookform/resolvers@^5.2.1",
23
- "date-fns@^4.1.0",
24
- "dayjs@^1.11.13",
25
- "jodit@^4.6.2",
26
- "jodit-react@^5.2.19",
27
- "yup@^1.7.0",
28
- // NOTE: Removed mui-daterange-picker@^1.0.5 due to React 18 compatibility issues
29
- ];
30
-
31
- // Optional dependencies
32
- const optionalDeps = [
33
- "react-idle-timer@^5.7.2",
34
- "crypto-js@^4.2.0",
35
- "file-saver@^2.0.5",
36
- "xlsx-js-style@^1.2.0",
37
- ];
11
+ import { execSync } from 'child_process';
12
+ import { readFileSync } from 'fs';
13
+ import { fileURLToPath } from 'url';
14
+ import path from 'path';
15
+
16
+ const __filename = fileURLToPath(import.meta.url);
17
+ const __dirname = path.dirname(__filename);
18
+
19
+ const log = (...args) => console.log(...args);
20
+ const err = (...args) => console.error(...args);
21
+
22
+ function readJsonSafe(jsonPath) {
23
+ try {
24
+ return JSON.parse(readFileSync(jsonPath, 'utf8'));
25
+ } catch (_) {
26
+ return null;
27
+ }
28
+ }
29
+
30
+ function stripRange(version) {
31
+ if (!version) return version;
32
+ // Examples: ^1.2.3, ~1.2.3, >=1.2.3 <2.0.0, 1.2.3
33
+ const rangeMatch = version.match(/^>=\s*([^\s<]+)\s*</);
34
+ if (rangeMatch) return rangeMatch[1];
35
+ return version.replace(/^[~^]/, '').trim();
36
+ }
37
+
38
+ function pickExactVersion(pkgName, peerRange, appPkg, libPkg) {
39
+ const appDeps = { ...(appPkg?.dependencies || {}), ...(appPkg?.devDependencies || {}) };
40
+ const libDev = libPkg?.devDependencies || {};
41
+
42
+ // 1) Use the app's version if present (strip ^/~)
43
+ if (appDeps[pkgName]) return stripRange(appDeps[pkgName]);
44
+ // 2) Use the library's dev dependency (strip ^/~)
45
+ if (libDev[pkgName]) return stripRange(libDev[pkgName]);
46
+ // 3) Fallback to minimum in peer range or raw value
47
+ return stripRange(peerRange);
48
+ }
38
49
 
39
50
  try {
40
- console.log("📦 Installing core dependencies...");
41
- const coreCommand = `npm install ${coreDeps.join(" ")}`;
42
- execSync(coreCommand, { stdio: "inherit" });
43
-
44
- console.log("\n✨ Installing optional dependencies...");
45
- const optionalCommand = `npm install ${optionalDeps.join(" ")}`;
46
- execSync(optionalCommand, { stdio: "inherit" });
47
-
48
- console.log("\n✅ All peer dependencies installed successfully!");
49
- console.log("\n🎉 You can now use tp-form-elements in your project.");
50
- console.log("\n📚 Check the documentation for usage examples:");
51
- console.log(" https://github.com/your-office/form-elements#readme");
51
+ log('🚀 Installing exact peer dependencies for tp-react-elements-dev...\n');
52
+
53
+ const appCwd = process.cwd();
54
+ const appPkgPath = path.join(appCwd, 'package.json');
55
+ const appPkg = readJsonSafe(appPkgPath);
56
+
57
+ const libPkgPath = path.join(__dirname, '..', 'package.json');
58
+ const libPkg = readJsonSafe(libPkgPath);
59
+ if (!libPkg) {
60
+ throw new Error(`Unable to read library package.json at ${libPkgPath}`);
61
+ }
62
+
63
+ const peerDeps = libPkg.peerDependencies || {};
64
+ const peerMeta = libPkg.peerDependenciesMeta || {};
65
+ const peerNames = Object.keys(peerDeps);
66
+ if (peerNames.length === 0) {
67
+ log('No peerDependencies declared. Nothing to install.');
68
+ process.exit(0);
69
+ }
70
+
71
+ // Parse CLI flags
72
+ const argv = process.argv.slice(2);
73
+ const includeAll = argv.includes('--all');
74
+ const includeRichText = includeAll || argv.includes('--with-richtext') || argv.includes('--richtext');
75
+ const includeIdle = includeAll || argv.includes('--with-idle') || argv.includes('--idle');
76
+
77
+ // Determine optional peers we might skip by default
78
+ const OPTIONAL_RICHTEXT = new Set(['jodit', 'jodit-react']);
79
+ const OPTIONAL_IDLE = new Set(['react-idle-timer']);
80
+
81
+ // Build install list with exact versions, skipping optional peers by default
82
+ const toInstall = peerNames
83
+ .filter(name => {
84
+ const isOptionalByMeta = peerMeta?.[name]?.optional === true;
85
+ if (!isOptionalByMeta) return true; // always include non-optional
86
+ if (OPTIONAL_RICHTEXT.has(name)) return includeRichText; // include only if flag present
87
+ if (OPTIONAL_IDLE.has(name)) return includeIdle; // include only if flag present
88
+ // Unknown optional peers: include only with --all
89
+ return includeAll;
90
+ })
91
+ .map(name => {
92
+ const exact = pickExactVersion(name, peerDeps[name], appPkg, libPkg);
93
+ if (!exact) {
94
+ throw new Error(`Could not determine a version to install for ${name} from range ${peerDeps[name]}`);
95
+ }
96
+ return `${name}@${exact}`;
97
+ });
98
+
99
+ if (toInstall.length === 0) {
100
+ log('No peers selected for installation (all optional were skipped). Use --all or specific flags.');
101
+ } else {
102
+ log('📦 Installing:', toInstall.join(', '));
103
+ // Use --save-exact to pin exactly
104
+ const installCommand = `npm install --save-exact ${toInstall.join(' ')}`;
105
+ execSync(installCommand, { stdio: 'inherit' });
106
+ }
107
+
108
+ log('\n✅ All peer dependencies installed with exact versions!');
52
109
  } catch (error) {
53
- console.error("\n❌ Error installing dependencies:");
54
- console.error(error.message);
110
+ err('\n❌ Error installing dependencies:');
111
+ err(error?.message || error);
55
112
  process.exit(1);
56
113
  }
@@ -1,62 +0,0 @@
1
- // Type definitions for asset imports
2
- // This file ensures TypeScript recognizes asset imports
3
-
4
- declare module "*.svg" {
5
- const content: string;
6
- export default content;
7
- }
8
-
9
- declare module "*.png" {
10
- const content: string;
11
- export default content;
12
- }
13
-
14
- declare module "*.jpg" {
15
- const content: string;
16
- export default content;
17
- }
18
-
19
- declare module "*.jpeg" {
20
- const content: string;
21
- export default content;
22
- }
23
-
24
- declare module "*.gif" {
25
- const content: string;
26
- export default content;
27
- }
28
-
29
- declare module "*.webp" {
30
- const content: string;
31
- export default content;
32
- }
33
-
34
- declare module "*.ico" {
35
- const content: string;
36
- export default content;
37
- }
38
-
39
- declare module "*.woff" {
40
- const content: string;
41
- export default content;
42
- }
43
-
44
- declare module "*.woff2" {
45
- const content: string;
46
- export default content;
47
- }
48
-
49
- declare module "*.ttf" {
50
- const content: string;
51
- export default content;
52
- }
53
-
54
- declare module "*.eot" {
55
- const content: string;
56
- export default content;
57
- }
58
-
59
- declare module "*.otf" {
60
- const content: string;
61
- export default content;
62
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeleteField.d.ts","sourceRoot":"","sources":["../../../src/components/DeleteComponent/DeleteField.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AACD,QAAA,MAAM,WAAW,GAAI,8BAAyC,gBAAgB,4CAsC7E,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Form.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Form/Form.styles.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,aAAa,wDAMvB,CAAC;AACJ,eAAO,MAAM,aAAa,wDAQvB,CAAC;AACJ,eAAO,MAAM,QAAQ,wDAWlB,CAAC;AACJ,eAAO,MAAM,qBAAqB,wDAK/B,CAAC;AAEJ,eAAO,MAAM,kBAAkB,wDAQ5B,CAAC;AAEJ,eAAO,MAAM,UAAU;;UAIpB,CAAC;AAEJ,eAAO,MAAM,UAAU;;UAIpB,CAAC;AACJ,eAAO,MAAM,cAAc;;;;UAGxB,CAAC;AACJ,eAAO,MAAM,aAAa;;;gEAEvB,CAAC;AAEJ,eAAO,MAAM,WAAW,wDASrB,CAAC;AAEJ,eAAO,MAAM,aAAa;;UAIvB,CAAC;AACJ,eAAO,MAAM,YAAY;;UAEtB,CAAC;AACJ,eAAO,MAAM,UAAU,wDAQpB,CAAC;AACJ,eAAO,MAAM,OAAO;;UASjB,CAAC;AACJ,eAAO,MAAM,SAAS;;UAKnB,CAAC"}