@arquimedes.co/eureka-forms 3.0.39 → 3.0.42-test

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 (414) hide show
  1. package/dist/@Types/Condition.d.ts +4 -6
  2. package/dist/@Types/Form.d.ts +0 -1
  3. package/dist/@Types/FormStep.d.ts +8 -12
  4. package/dist/@Types/GenericFormSteps.d.ts +8 -0
  5. package/dist/App/App.d.ts +1 -3
  6. package/dist/App/App.js +21 -46
  7. package/dist/App/AppFunctions.d.ts +1 -1
  8. package/dist/App/AppFunctions.js +177 -336
  9. package/dist/App/AppFunctions.test.js +708 -0
  10. package/dist/App/AppHooks.d.ts +2 -2
  11. package/dist/App/AppHooks.js +149 -252
  12. package/dist/App/AppHooks.test.js +154 -0
  13. package/dist/Contexts/CustomContext.d.ts +0 -1
  14. package/dist/Contexts/CustomContext.js +1 -1
  15. package/dist/Contexts/FormContext.d.ts +1 -1
  16. package/dist/Contexts/FormContext.js +3 -2
  17. package/dist/Contexts/SectionContext.d.ts +0 -1
  18. package/dist/Contexts/SectionContext.js +1 -1
  19. package/dist/Form/ConfirmationDialog/ConfirmationDialog.d.ts +1 -2
  20. package/dist/Form/ConfirmationDialog/ConfirmationDialog.js +36 -62
  21. package/dist/Form/Form.d.ts +2 -3
  22. package/dist/Form/Form.js +74 -164
  23. package/dist/Form/Form.module.css +0 -9
  24. package/dist/Form/FormFunctions.js +63 -112
  25. package/dist/Form/FormFunctions.test.js +458 -0
  26. package/dist/Form/FormHooks.d.ts +1 -2
  27. package/dist/Form/FormHooks.js +14 -21
  28. package/dist/Form/FormTypes/ColumnForm/ColumnForm.d.ts +0 -1
  29. package/dist/Form/FormTypes/ColumnForm/ColumnForm.js +34 -105
  30. package/dist/Form/FormTypes/StepperForm/StepperForm.d.ts +1 -2
  31. package/dist/Form/FormTypes/StepperForm/StepperForm.js +48 -110
  32. package/dist/Form/Section/MaterialSection/MaterialSection.d.ts +0 -1
  33. package/dist/Form/Section/MaterialSection/MaterialSection.js +10 -23
  34. package/dist/Form/Section/MaterialSection/MaterialSection.module.css +0 -2
  35. package/dist/Form/Section/Section.d.ts +0 -1
  36. package/dist/Form/Section/Section.js +4 -15
  37. package/dist/Form/Terms/Term/MaterialTerm/MaterialTerm.d.ts +0 -1
  38. package/dist/Form/Terms/Term/MaterialTerm/MaterialTerm.js +30 -65
  39. package/dist/Form/Terms/Term/Term.d.ts +0 -1
  40. package/dist/Form/Terms/Term/Term.js +2 -13
  41. package/dist/Form/Terms/Terms.d.ts +0 -1
  42. package/dist/Form/Terms/Terms.js +17 -29
  43. package/dist/FormSteps/@Construction/CBRElementStep/CBRElementStep.d.ts +0 -1
  44. package/dist/FormSteps/@Construction/CBRElementStep/CBRElementStep.js +34 -107
  45. package/dist/FormSteps/@Construction/CBRIncidentsStep/CBRIncidentsStep.d.ts +0 -1
  46. package/dist/FormSteps/@Construction/CBRIncidentsStep/CBRIncidentsStep.js +2 -13
  47. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/Incident/Incident.d.ts +0 -1
  48. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/Incident/Incident.js +12 -40
  49. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/MaterialCBRIncidentsStep.d.ts +0 -1
  50. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/MaterialCBRIncidentsStep.js +66 -93
  51. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/addRecursiveElementStep.d.ts +2 -0
  52. package/dist/FormSteps/@Construction/CBRIncidentsStep/MaterialCBRIncidentsStep/addRecursiveElementStep.js +22 -0
  53. package/dist/FormSteps/@Construction/CBRPropertyStep/CBRPropertyStep.d.ts +0 -1
  54. package/dist/FormSteps/@Construction/CBRPropertyStep/CBRPropertyStep.js +45 -115
  55. package/dist/FormSteps/AYFStepMapper.d.ts +0 -1
  56. package/dist/FormSteps/AYFStepMapper.js +60 -137
  57. package/dist/FormSteps/ApiSelectorStep/ApiSelectorStep.d.ts +0 -1
  58. package/dist/FormSteps/ApiSelectorStep/ApiSelectorStep.js +2 -13
  59. package/dist/FormSteps/ApiSelectorStep/MaterialApiSelectorStep/MaterialApiSelectorStep.d.ts +0 -1
  60. package/dist/FormSteps/ApiSelectorStep/MaterialApiSelectorStep/MaterialApiSelectorStep.js +66 -172
  61. package/dist/FormSteps/CBRStepMapper.d.ts +0 -1
  62. package/dist/FormSteps/CBRStepMapper.js +57 -169
  63. package/dist/FormSteps/CheckBoxStep/CheckBoxStep.d.ts +0 -1
  64. package/dist/FormSteps/CheckBoxStep/CheckBoxStep.js +2 -13
  65. package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.d.ts +0 -1
  66. package/dist/FormSteps/CheckBoxStep/MaterialCheckBoxStep/MaterialCheckBoxStep.js +19 -37
  67. package/dist/FormSteps/ClassifierSelectorStep/ClassifierSelectorStep.d.ts +0 -1
  68. package/dist/FormSteps/ClassifierSelectorStep/ClassifierSelectorStep.js +2 -13
  69. package/dist/FormSteps/ClassifierSelectorStep/MaterialClassifierSelectorStep/MaterialClassifierSelectorStep.d.ts +1 -2
  70. package/dist/FormSteps/ClassifierSelectorStep/MaterialClassifierSelectorStep/MaterialClassifierSelectorStep.js +49 -81
  71. package/dist/FormSteps/CollapsibleStep/CollapsibleStep.d.ts +0 -1
  72. package/dist/FormSteps/CollapsibleStep/CollapsibleStep.js +3 -26
  73. package/dist/FormSteps/CollapsibleStep/MaterialTitleStep/MaterialCollapsibleStep.d.ts +0 -1
  74. package/dist/FormSteps/CollapsibleStep/MaterialTitleStep/MaterialCollapsibleStep.js +35 -66
  75. package/dist/FormSteps/CustomStep.d.ts +0 -1
  76. package/dist/FormSteps/CustomStep.js +17 -31
  77. package/dist/FormSteps/DatePickerRangeStep/DatePickerRangeStep.d.ts +10 -0
  78. package/dist/FormSteps/DatePickerRangeStep/DatePickerRangeStep.js +14 -0
  79. package/dist/FormSteps/DatePickerRangeStep/MaterialDatePickerRangeStep/MaterialDatePickerRangeStep.d.ts +3 -0
  80. package/dist/FormSteps/DatePickerRangeStep/MaterialDatePickerRangeStep/MaterialDatePickerRangeStep.js +34 -0
  81. package/dist/FormSteps/DatePickerStep/DatePickerStep.d.ts +1 -2
  82. package/dist/FormSteps/DatePickerStep/DatePickerStep.js +2 -13
  83. package/dist/FormSteps/DatePickerStep/MaterialDatePickerStep/MaterialDatePickerStep.d.ts +1 -2
  84. package/dist/FormSteps/DatePickerStep/MaterialDatePickerStep/MaterialDatePickerStep.js +9 -20
  85. package/dist/FormSteps/EntityValueStep/EntityValuePickerStep.d.ts +0 -1
  86. package/dist/FormSteps/EntityValueStep/EntityValuePickerStep.js +2 -13
  87. package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValueDialog/MaterialEntityValueDialog.d.ts +0 -1
  88. package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValueDialog/MaterialEntityValueDialog.js +16 -32
  89. package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.d.ts +1 -2
  90. package/dist/FormSteps/EntityValueStep/MaterialEntityValuePickerStep/MaterialEntityValuePickerStep.js +107 -302
  91. package/dist/FormSteps/FileUploadStep/FileUploadStep.d.ts +0 -1
  92. package/dist/FormSteps/FileUploadStep/FileUploadStep.js +2 -13
  93. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/FileComponent/FileComponent.d.ts +0 -1
  94. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/FileComponent/FileComponent.js +33 -95
  95. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/FileFunctions.d.ts +2 -0
  96. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/FileFunctions.js +3 -0
  97. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/MaterialFileUploadStep.d.ts +0 -2
  98. package/dist/FormSteps/FileUploadStep/MaterialFileUploadStep/MaterialFileUploadStep.js +91 -184
  99. package/dist/FormSteps/MapperStep/MapperStep.d.ts +0 -1
  100. package/dist/FormSteps/MapperStep/MapperStep.js +2 -13
  101. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/ListMapperElement/ListMapperElement.d.ts +0 -1
  102. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/ListMapperElement/ListMapperElement.js +16 -38
  103. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/MapperElementComponent.js +22 -33
  104. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PagedMapperElement/PagedMapperElement.d.ts +0 -1
  105. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PagedMapperElement/PagedMapperElement.js +89 -175
  106. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PillMapperElement/PillMapperElement.d.ts +0 -1
  107. package/dist/FormSteps/MapperStep/MaterialMapperStep/Element/PillMapperElement/PillMapperElement.js +20 -47
  108. package/dist/FormSteps/MapperStep/MaterialMapperStep/MaterialMapperStep.d.ts +0 -1
  109. package/dist/FormSteps/MapperStep/MaterialMapperStep/MaterialMapperStep.js +78 -117
  110. package/dist/FormSteps/PhoneInputStep/MaterialTextInputStep/MaterialPhoneInputStep.d.ts +1 -2
  111. package/dist/FormSteps/PhoneInputStep/MaterialTextInputStep/MaterialPhoneInputStep.js +15 -33
  112. package/dist/FormSteps/PhoneInputStep/PhoneInputStep.d.ts +0 -1
  113. package/dist/FormSteps/PhoneInputStep/PhoneInputStep.js +2 -13
  114. package/dist/FormSteps/RatingStep/MaterialRatingStep/MaterialRatingStep.d.ts +0 -1
  115. package/dist/FormSteps/RatingStep/MaterialRatingStep/MaterialRatingStep.js +17 -31
  116. package/dist/FormSteps/RatingStep/RatingStep.d.ts +0 -1
  117. package/dist/FormSteps/RatingStep/RatingStep.js +2 -13
  118. package/dist/FormSteps/SelectorStep/MaterialSelectorStep/MaterialSelectorStep.d.ts +0 -1
  119. package/dist/FormSteps/SelectorStep/MaterialSelectorStep/MaterialSelectorStep.js +37 -61
  120. package/dist/FormSteps/SelectorStep/SelectorStep.d.ts +0 -1
  121. package/dist/FormSteps/SelectorStep/SelectorStep.js +2 -13
  122. package/dist/FormSteps/SeparatorStep/MaterialSeparatorStep/MaterialSeparatorStep.d.ts +0 -1
  123. package/dist/FormSteps/SeparatorStep/MaterialSeparatorStep/MaterialSeparatorStep.js +2 -3
  124. package/dist/FormSteps/SeparatorStep/SeparatorStep.d.ts +0 -1
  125. package/dist/FormSteps/SeparatorStep/SeparatorStep.js +2 -13
  126. package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.d.ts +1 -2
  127. package/dist/FormSteps/SmartSelectStep/MaterialSmartSelectStep/MaterialSmartSelectStep.js +80 -155
  128. package/dist/FormSteps/SmartSelectStep/SmartSelectStep.d.ts +7 -7
  129. package/dist/FormSteps/SmartSelectStep/SmartSelectStep.js +2 -13
  130. package/dist/FormSteps/Step.d.ts +0 -1
  131. package/dist/FormSteps/Step.js +33 -58
  132. package/dist/FormSteps/StepFunctions.d.ts +4 -6
  133. package/dist/FormSteps/StepFunctions.js +153 -208
  134. package/dist/FormSteps/StepFunctions.test.js +702 -0
  135. package/dist/FormSteps/StepHooks.d.ts +68 -14
  136. package/dist/FormSteps/StepHooks.js +96 -155
  137. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/DraftEditor.css +18 -20
  138. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaEditorStep.d.ts +0 -1
  139. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaEditorStep.js +39 -75
  140. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaStep.d.ts +1 -2
  141. package/dist/FormSteps/TextAreaStep/MaterialTextAreaStep/MaterialTextAreaStep.js +12 -28
  142. package/dist/FormSteps/TextAreaStep/TextAreaStep.d.ts +0 -1
  143. package/dist/FormSteps/TextAreaStep/TextAreaStep.js +3 -14
  144. package/dist/FormSteps/TextInputStep/MaterialTextInputStep/MaterialTextInputStep.d.ts +1 -2
  145. package/dist/FormSteps/TextInputStep/MaterialTextInputStep/MaterialTextInputStep.js +12 -30
  146. package/dist/FormSteps/TextInputStep/TextInputStep.d.ts +1 -2
  147. package/dist/FormSteps/TextInputStep/TextInputStep.js +2 -13
  148. package/dist/FormSteps/TimePickerStep/MaterialTimePickerStep/MaterialTimePickerStep.d.ts +1 -2
  149. package/dist/FormSteps/TimePickerStep/MaterialTimePickerStep/MaterialTimePickerStep.js +9 -26
  150. package/dist/FormSteps/TimePickerStep/TimePickerStep.d.ts +0 -1
  151. package/dist/FormSteps/TimePickerStep/TimePickerStep.js +2 -13
  152. package/dist/FormSteps/TitleStep/MaterialTitleStep/MaterialTitleStep.d.ts +0 -1
  153. package/dist/FormSteps/TitleStep/MaterialTitleStep/MaterialTitleStep.js +21 -54
  154. package/dist/FormSteps/TitleStep/TitleStep.d.ts +0 -1
  155. package/dist/FormSteps/TitleStep/TitleStep.js +2 -13
  156. package/dist/FormSteps/Utils/@StepFiller/StepFiller.d.ts +1 -2
  157. package/dist/FormSteps/Utils/@StepFiller/StepFiller.js +15 -27
  158. package/dist/FormSteps/Utils/@StepFiller/StepFillerContext.d.ts +1 -0
  159. package/dist/FormSteps/Utils/@StepFiller/StepFillerContext.js +2 -0
  160. package/dist/FormSteps/Utils/MaterialInputContainer/MaterialInputContainer.d.ts +2 -3
  161. package/dist/FormSteps/Utils/MaterialInputContainer/MaterialInputContainer.js +8 -23
  162. package/dist/Icons/@ErkIcon.d.ts +14 -0
  163. package/dist/Icons/@ErkIcon.js +9 -0
  164. package/dist/Icons/ArrowLeftIcon.d.ts +3 -0
  165. package/dist/Icons/ArrowLeftIcon.js +7 -0
  166. package/dist/Icons/ArrowRightIcon.d.ts +3 -0
  167. package/dist/Icons/ArrowRightIcon.js +7 -0
  168. package/dist/Icons/CalendarIcon.d.ts +2 -3
  169. package/dist/Icons/CalendarIcon.js +4 -14
  170. package/dist/Icons/CheckCircleIcon.d.ts +3 -0
  171. package/dist/Icons/CheckCircleIcon.js +7 -0
  172. package/dist/Icons/CheckboxCheckedIcon.d.ts +3 -0
  173. package/dist/Icons/CheckboxCheckedIcon.js +7 -0
  174. package/dist/Icons/CheckboxUncheckedIcon.d.ts +3 -0
  175. package/dist/Icons/CheckboxUncheckedIcon.js +7 -0
  176. package/dist/Icons/ClockIcon.d.ts +3 -0
  177. package/dist/Icons/ClockIcon.js +7 -0
  178. package/dist/Icons/CloseIcon.d.ts +3 -0
  179. package/dist/Icons/CloseIcon.js +7 -0
  180. package/dist/Icons/Construction/LeakIcon.d.ts +2 -2
  181. package/dist/Icons/Construction/LeakIcon.js +3 -13
  182. package/dist/Icons/Construction/ProjectIcon.d.ts +2 -2
  183. package/dist/Icons/Construction/ProjectIcon.js +3 -13
  184. package/dist/Icons/Construction/PropertyIcon.d.ts +2 -2
  185. package/dist/Icons/Construction/PropertyIcon.js +3 -13
  186. package/dist/Icons/Construction/SpaceIcon.d.ts +2 -2
  187. package/dist/Icons/Construction/SpaceIcon.js +3 -13
  188. package/dist/Icons/DeleteIcon.d.ts +3 -0
  189. package/dist/Icons/DeleteIcon.js +7 -0
  190. package/dist/Icons/DocumentIcon.d.ts +2 -2
  191. package/dist/Icons/DocumentIcon.js +3 -13
  192. package/dist/Icons/Entities/CheckListIcon.d.ts +2 -2
  193. package/dist/Icons/Entities/CheckListIcon.js +3 -13
  194. package/dist/Icons/Entities/GenericEntityIcon.d.ts +2 -2
  195. package/dist/Icons/Entities/GenericEntityIcon.js +5 -15
  196. package/dist/Icons/Entities/HandshakeIcon.d.ts +2 -2
  197. package/dist/Icons/Entities/HandshakeIcon.js +5 -15
  198. package/dist/Icons/Entities/SupplierIcon.d.ts +2 -2
  199. package/dist/Icons/Entities/SupplierIcon.js +5 -15
  200. package/dist/Icons/Entities/WorkIcon.d.ts +3 -0
  201. package/dist/Icons/Entities/WorkIcon.js +7 -0
  202. package/dist/Icons/ErrorIcon.d.ts +3 -0
  203. package/dist/Icons/ErrorIcon.js +7 -0
  204. package/dist/Icons/ExpandLessIcon.d.ts +3 -0
  205. package/dist/Icons/ExpandLessIcon.js +7 -0
  206. package/dist/Icons/ExpandMoreIcon.d.ts +3 -0
  207. package/dist/Icons/ExpandMoreIcon.js +7 -0
  208. package/dist/Icons/FileIcon.d.ts +3 -0
  209. package/dist/Icons/FileIcon.js +7 -0
  210. package/dist/Icons/InfoIcon.d.ts +3 -0
  211. package/dist/Icons/InfoIcon.js +7 -0
  212. package/dist/Icons/LocationIcon.d.ts +2 -3
  213. package/dist/Icons/LocationIcon.js +4 -14
  214. package/dist/Icons/PersonIcon.d.ts +2 -3
  215. package/dist/Icons/PersonIcon.js +6 -16
  216. package/dist/Icons/Ratings/DislikeIcon.d.ts +3 -0
  217. package/dist/Icons/Ratings/DislikeIcon.js +7 -0
  218. package/dist/Icons/Ratings/DissatisfiedIcon.d.ts +3 -0
  219. package/dist/Icons/Ratings/DissatisfiedIcon.js +7 -0
  220. package/dist/Icons/Ratings/LikeIcon.d.ts +3 -0
  221. package/dist/Icons/Ratings/LikeIcon.js +7 -0
  222. package/dist/Icons/Ratings/SatisfiedIcon.d.ts +3 -0
  223. package/dist/Icons/Ratings/SatisfiedIcon.js +7 -0
  224. package/dist/Icons/Ratings/StarIcon.d.ts +3 -0
  225. package/dist/Icons/Ratings/StarIcon.js +7 -0
  226. package/dist/Icons/Ratings/VeryDissatisfiedIcon.d.ts +3 -0
  227. package/dist/Icons/Ratings/VeryDissatisfiedIcon.js +7 -0
  228. package/dist/Icons/Ratings/VerySatisfiedIcon.d.ts +3 -0
  229. package/dist/Icons/Ratings/VerySatisfiedIcon.js +7 -0
  230. package/dist/Icons/WarningIcon.d.ts +3 -0
  231. package/dist/Icons/WarningIcon.js +7 -0
  232. package/dist/Init.d.ts +1 -0
  233. package/dist/Init.js +2 -0
  234. package/dist/Services/DraftService.d.ts +14 -14
  235. package/dist/Services/DraftService.js +22 -72
  236. package/dist/Services/FileService.d.ts +1 -1
  237. package/dist/Services/FileService.js +29 -86
  238. package/dist/Services/FormService.js +11 -56
  239. package/dist/Services/OrganizationService.js +11 -62
  240. package/dist/Shared/CustomBtn/CustomBtn.d.ts +1 -2
  241. package/dist/Shared/CustomBtn/CustomBtn.js +25 -88
  242. package/dist/Shared/ErkButton/ErkButton.d.ts +25 -0
  243. package/dist/Shared/ErkButton/ErkButton.js +31 -0
  244. package/dist/Shared/ErkButton/ErkButton.stories.d.ts +16 -0
  245. package/dist/Shared/ErkButton/ErkButton.stories.js +28 -0
  246. package/dist/Shared/ErkCheckbox/ErkCheckBox.d.ts +19 -0
  247. package/dist/Shared/ErkCheckbox/ErkCheckBox.js +31 -0
  248. package/dist/Shared/ErkCheckbox/ErkCheckBox.stories.d.ts +13 -0
  249. package/dist/Shared/ErkCheckbox/ErkCheckBox.stories.js +34 -0
  250. package/dist/Shared/ErkDatePicker/ErkDatePicker.d.ts +18 -0
  251. package/dist/Shared/ErkDatePicker/ErkDatePicker.js +277 -0
  252. package/dist/Shared/ErkDatePicker/ErkDatePicker.stories.d.ts +23 -0
  253. package/dist/Shared/ErkDatePicker/ErkDatePicker.stories.js +98 -0
  254. package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.d.ts +18 -0
  255. package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.js +180 -0
  256. package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.stories.d.ts +36 -0
  257. package/dist/Shared/ErkDateRangePicker/ErkDateRangePicker.stories.js +274 -0
  258. package/dist/Shared/ErkMenuItem.d.ts +2 -0
  259. package/dist/Shared/ErkMenuItem.js +18 -0
  260. package/dist/Shared/ErkPhoneInput/EkrPhoneInput.d.ts +17 -0
  261. package/dist/Shared/ErkPhoneInput/EkrPhoneInput.js +96 -0
  262. package/dist/Shared/ErkSelect/ErkSelect.d.ts +48 -0
  263. package/dist/Shared/ErkSelect/ErkSelect.js +142 -0
  264. package/dist/Shared/ErkSelect/ErkSelect.stories.d.ts +21 -0
  265. package/dist/Shared/ErkSelect/ErkSelect.stories.js +87 -0
  266. package/dist/Shared/ErkSmartSelect/ErkSmartSelect.d.ts +28 -0
  267. package/dist/Shared/ErkSmartSelect/ErkSmartSelect.js +54 -0
  268. package/dist/Shared/{RoundedSmartSelect/RoundedSmartSelect.stories.d.ts → ErkSmartSelect/ErkSmartSelect.stories.d.ts} +3 -13
  269. package/dist/Shared/ErkSmartSelect/ErkSmartSelect.stories.js +159 -0
  270. package/dist/Shared/ErkTextField/ErkTextField.d.ts +34 -0
  271. package/dist/Shared/ErkTextField/ErkTextField.js +149 -0
  272. package/dist/Shared/{RoundedTextField/RoundedTextField.stories.d.ts → ErkTextField/ErkTextField.stories.d.ts} +4 -17
  273. package/dist/Shared/ErkTextField/ErkTextField.stories.js +99 -0
  274. package/dist/Shared/ErkTimePicker/ErkTimePicker.d.ts +32 -0
  275. package/dist/Shared/ErkTimePicker/ErkTimePicker.js +107 -0
  276. package/dist/Shared/InputIcon/InputIcon.d.ts +3 -3
  277. package/dist/Shared/InputIcon/InputIcon.js +29 -112
  278. package/dist/Shared/Loader/Loader.d.ts +0 -1
  279. package/dist/Shared/Loader/Loader.js +6 -18
  280. package/dist/Shared/Navbar/Navbar.d.ts +1 -3
  281. package/dist/Shared/Navbar/Navbar.js +3 -96
  282. package/dist/Shared/Navbar/Navbar.module.css +0 -15
  283. package/dist/Shared/Navbar/Navbar.stories.d.ts +1 -1
  284. package/dist/Shared/Navbar/Navbar.stories.js +2 -2
  285. package/dist/Shared/Rating/Rating.d.ts +3 -5
  286. package/dist/Shared/Rating/Rating.js +4 -27
  287. package/dist/Shared/Rating/Rating.stories.d.ts +1 -1
  288. package/dist/Shared/Rating/Rating.stories.js +13 -19
  289. package/dist/Shared/Rating/Ratings/LikeRating.d.ts +1 -2
  290. package/dist/Shared/Rating/Ratings/LikeRating.js +19 -33
  291. package/dist/Shared/Rating/Ratings/SatisfactionRating.d.ts +1 -2
  292. package/dist/Shared/Rating/Ratings/SatisfactionRating.js +27 -47
  293. package/dist/Shared/Rating/Ratings/ScaleRating.d.ts +1 -2
  294. package/dist/Shared/Rating/Ratings/ScaleRating.js +23 -54
  295. package/dist/Shared/SmartDraftRenderer/DraftLoadingContext.d.ts +1 -0
  296. package/dist/Shared/SmartDraftRenderer/DraftLoadingContext.js +2 -0
  297. package/dist/Shared/SmartDraftRenderer/FormDecorator.d.ts +1 -2
  298. package/dist/Shared/SmartDraftRenderer/FormDecorator.js +8 -22
  299. package/dist/Shared/SmartDraftRenderer/SmartDraftRenderer.d.ts +1 -2
  300. package/dist/Shared/SmartDraftRenderer/SmartDraftRenderer.js +27 -43
  301. package/dist/Shared/Toggle/Toggle.d.ts +5 -14
  302. package/dist/Shared/Toggle/Toggle.js +29 -32
  303. package/dist/States/GlobalSlice.d.ts +7 -12
  304. package/dist/States/GlobalSlice.js +6 -26
  305. package/dist/States/SiteSlice.d.ts +30 -48
  306. package/dist/States/SiteSlice.js +58 -76
  307. package/dist/States/WidthStatsSlice.d.ts +2 -2
  308. package/dist/States/WidthStatsSlice.js +8 -9
  309. package/dist/Utils/AxiosAPI.d.ts +4 -5
  310. package/dist/Utils/AxiosAPI.js +23 -73
  311. package/dist/Utils/AxiosWidget.js +4 -4
  312. package/dist/Utils/CBRFunctions.js +29 -30
  313. package/dist/Utils/DraftFunctions.d.ts +3 -3
  314. package/dist/Utils/DraftFunctions.js +102 -143
  315. package/dist/Utils/FormStepFunctions.d.ts +1 -1
  316. package/dist/Utils/FormStepFunctions.js +27 -45
  317. package/dist/Utils/LocaleUtils.d.ts +2 -0
  318. package/dist/Utils/LocaleUtils.js +12 -0
  319. package/dist/Utils/MaterialProviders.d.ts +21 -1
  320. package/dist/Utils/MaterialProviders.js +46 -28
  321. package/dist/Utils/MuiClassnameSetup.d.ts +1 -0
  322. package/dist/Utils/MuiClassnameSetup.js +3 -0
  323. package/dist/Utils/PhoneFunctions.js +5 -5
  324. package/dist/Utils/StoreContext.js +1 -1
  325. package/dist/Utils/TestUtils.d.ts +60 -81
  326. package/dist/Utils/TestUtils.js +28 -57
  327. package/dist/Utils/_api.d.ts +7 -7
  328. package/dist/Utils/_api.js +10 -8
  329. package/dist/Utils/store.d.ts +9 -17
  330. package/dist/Utils/store.js +15 -74
  331. package/dist/Widget.d.ts +1 -1
  332. package/dist/Widget.js +17 -27
  333. package/dist/constants/Draft/DraftEntityDataTypes.d.ts +3 -3
  334. package/dist/constants/{IconTypes.d.ts → ErkIconTypes.d.ts} +2 -4
  335. package/dist/constants/ErkIconTypes.js +16 -0
  336. package/dist/constants/Files/FileExtensions.js +3 -3
  337. package/dist/constants/Files/FileMaxSize.js +1 -1
  338. package/dist/constants/FormStepTypes.d.ts +2 -2
  339. package/dist/constants/FormStepTypes.js +1 -1
  340. package/dist/constants/InternalFormStyle.js +1 -1
  341. package/dist/hooks.d.ts +0 -3
  342. package/dist/hooks.js +14 -77
  343. package/dist/index.css +15 -0
  344. package/dist/index.lib.d.ts +0 -1
  345. package/dist/index.lib.js +0 -1
  346. package/dist/main.d.ts +3 -0
  347. package/dist/main.js +25 -0
  348. package/package.json +111 -125
  349. package/dist/@Types/ErkValue.d.ts +0 -16
  350. package/dist/@Types/User.d.ts +0 -13
  351. package/dist/Icons/@IconTypes.d.ts +0 -7
  352. package/dist/Icons/EmailIcon.d.ts +0 -4
  353. package/dist/Icons/EmailIcon.js +0 -17
  354. package/dist/Icons/Entities/SchoolIcon.d.ts +0 -2
  355. package/dist/Icons/Entities/SchoolIcon.js +0 -17
  356. package/dist/Icons/GroupIcon.d.ts +0 -4
  357. package/dist/Icons/GroupIcon.js +0 -17
  358. package/dist/Icons/LockedIcon.d.ts +0 -4
  359. package/dist/Icons/LockedIcon.js +0 -17
  360. package/dist/Login/Login.module.css +0 -135
  361. package/dist/Login/LoginLayout.module.css +0 -68
  362. package/dist/Login/LoginPage.d.ts +0 -11
  363. package/dist/Login/LoginPage.js +0 -177
  364. package/dist/Login/LoginTextField.d.ts +0 -15
  365. package/dist/Login/LoginTextField.js +0 -134
  366. package/dist/Services/ApiSelectorService.d.ts +0 -39
  367. package/dist/Services/ApiSelectorService.js +0 -244
  368. package/dist/Services/IntegrationService.d.ts +0 -21
  369. package/dist/Services/IntegrationService.js +0 -69
  370. package/dist/Services/UserService.d.ts +0 -10
  371. package/dist/Services/UserService.js +0 -71
  372. package/dist/Shared/RoundedButton/RoundedButton.d.ts +0 -30
  373. package/dist/Shared/RoundedButton/RoundedButton.js +0 -45
  374. package/dist/Shared/RoundedButton/RoundedButton.stories.d.ts +0 -23
  375. package/dist/Shared/RoundedButton/RoundedButton.stories.js +0 -36
  376. package/dist/Shared/RoundedCheckBox/RoundedCheckBox.d.ts +0 -24
  377. package/dist/Shared/RoundedCheckBox/RoundedCheckBox.js +0 -101
  378. package/dist/Shared/RoundedCheckBox/RoundedCheckBox.stories.d.ts +0 -21
  379. package/dist/Shared/RoundedCheckBox/RoundedCheckBox.stories.js +0 -50
  380. package/dist/Shared/RoundedDatePicker/RoundedDatePicker.d.ts +0 -49
  381. package/dist/Shared/RoundedDatePicker/RoundedDatePicker.js +0 -351
  382. package/dist/Shared/RoundedDatePicker/RoundedDatePicker.stories.d.ts +0 -36
  383. package/dist/Shared/RoundedDatePicker/RoundedDatePicker.stories.js +0 -223
  384. package/dist/Shared/RoundedPhoneInput/RoundedPhoneInput.d.ts +0 -43
  385. package/dist/Shared/RoundedPhoneInput/RoundedPhoneInput.js +0 -226
  386. package/dist/Shared/RoundedSelect/RoundedSelect.d.ts +0 -68
  387. package/dist/Shared/RoundedSelect/RoundedSelect.js +0 -214
  388. package/dist/Shared/RoundedSelect/RoundedSelect.stories.d.ts +0 -28
  389. package/dist/Shared/RoundedSelect/RoundedSelect.stories.js +0 -91
  390. package/dist/Shared/RoundedSmartSelect/RoundedSmartSelect.d.ts +0 -63
  391. package/dist/Shared/RoundedSmartSelect/RoundedSmartSelect.js +0 -236
  392. package/dist/Shared/RoundedSmartSelect/RoundedSmartSelect.stories.js +0 -318
  393. package/dist/Shared/RoundedTextField/RoundedTextField.d.ts +0 -45
  394. package/dist/Shared/RoundedTextField/RoundedTextField.js +0 -175
  395. package/dist/Shared/RoundedTextField/RoundedTextField.stories.js +0 -224
  396. package/dist/Shared/RoundedTimePicker/RoundedTimePicker.d.ts +0 -41
  397. package/dist/Shared/RoundedTimePicker/RoundedTimePicker.js +0 -314
  398. package/dist/Shared/SmartDraftRenderer/LinkDecorator.d.ts +0 -14
  399. package/dist/Shared/SmartDraftRenderer/LinkDecorator.js +0 -60
  400. package/dist/__mocks__/axios.d.ts +0 -2
  401. package/dist/__mocks__/axios.js +0 -2
  402. package/dist/constants/ErkValueTypes.d.ts +0 -6
  403. package/dist/constants/ErkValueTypes.js +0 -7
  404. package/dist/constants/IconTypes.js +0 -18
  405. package/dist/constants/MaterialClassNameSeed.d.ts +0 -1
  406. package/dist/constants/MaterialClassNameSeed.js +0 -1
  407. package/dist/index.js +0 -31
  408. /package/dist/{@Types/ErkValue.js → App/AppFunctions.test.d.ts} +0 -0
  409. /package/dist/{@Types/User.js → App/AppHooks.test.d.ts} +0 -0
  410. /package/dist/{Icons/@IconTypes.js → Form/FormFunctions.test.d.ts} +0 -0
  411. /package/dist/{index.d.ts → FormSteps/StepFunctions.test.d.ts} +0 -0
  412. /package/dist/Shared/{RoundedTimePicker/RoundedTimePicker.module.css → ErkTimePicker/ErkTimePicker.module.css} +0 -0
  413. /package/dist/{setupTests.d.ts → __tests__/setup.d.ts} +0 -0
  414. /package/dist/{setupTests.js → __tests__/setup.js} +0 -0
@@ -0,0 +1,87 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import ErkSelect from './ErkSelect';
3
+ import { MenuItem } from '@mui/material';
4
+ import { useArgs } from 'storybook/internal/preview-api';
5
+ const meta = {
6
+ component: ErkSelect,
7
+ tags: ['autodocs'],
8
+ args: {
9
+ readOnly: false,
10
+ MenuProps: {
11
+ disablePortal: false,
12
+ },
13
+ },
14
+ };
15
+ export default meta;
16
+ export const Default = {
17
+ args: {
18
+ label: 'Label',
19
+ },
20
+ render: function Component(args) {
21
+ const [, setArgs] = useArgs();
22
+ const onValueChange = (value) => {
23
+ args.onChange?.(value);
24
+ setArgs({ value });
25
+ };
26
+ return (_jsxs(ErkSelect, { ...args, onChange: onValueChange, children: [_jsx(MenuItem, { value: 'option1', children: "Option 1" }), _jsx(MenuItem, { value: 'option2', children: "Option 2" }), _jsx(MenuItem, { value: 'option3', children: "Option 3" })] }));
27
+ },
28
+ };
29
+ export const Empty = {
30
+ args: {},
31
+ render: function Component(args) {
32
+ return _jsx(ErkSelect, { ...args });
33
+ },
34
+ };
35
+ export const ValueAndLabel = {
36
+ args: {
37
+ label: 'Label',
38
+ value: 'option',
39
+ },
40
+ render: function Component({ inputRef, ...args }) {
41
+ const [, setArgs] = useArgs();
42
+ const onValueChange = (value) => {
43
+ args.onChange?.(value);
44
+ setArgs({ value });
45
+ };
46
+ return (_jsx(ErkSelect, { ...args, onChange: onValueChange, inputRef: inputRef, children: _jsx(MenuItem, { value: 'option', style: { whiteSpace: 'normal' }, children: "Option" }) }));
47
+ },
48
+ };
49
+ export const Full = {
50
+ args: {
51
+ label: 'Label',
52
+ helperText: 'Helper text',
53
+ },
54
+ render: function Component(args) {
55
+ return (_jsxs(ErkSelect, { ...args, children: [_jsx(MenuItem, { value: 'option1', children: "Option 1" }), _jsx(MenuItem, { value: 'option2', children: "Option 2" }), _jsx(MenuItem, { value: 'option3', children: "Option 3" })] }));
56
+ },
57
+ };
58
+ export const Error = {
59
+ args: {
60
+ label: 'Label',
61
+ helperText: 'Helper text',
62
+ error: true,
63
+ },
64
+ render: function Component(args) {
65
+ return (_jsxs(ErkSelect, { ...args, children: [_jsx(MenuItem, { value: 'option1', children: "Option 1" }), _jsx(MenuItem, { value: 'option2', children: "Option 2" }), _jsx(MenuItem, { value: 'option3', children: "Option 3" })] }));
66
+ },
67
+ };
68
+ export const ErrorColor = {
69
+ args: {
70
+ label: 'Label',
71
+ helperText: 'Helper text',
72
+ error: true,
73
+ },
74
+ render: function Component(args) {
75
+ return (_jsxs(ErkSelect, { ...args, children: [_jsx(MenuItem, { value: 'option1', children: "Option 1" }), _jsx(MenuItem, { value: 'option2', children: "Option 2" }), _jsx(MenuItem, { value: 'option3', children: "Option 3" })] }));
76
+ },
77
+ };
78
+ export const DifferentColors = {
79
+ args: {
80
+ label: 'Label',
81
+ value: 'option',
82
+ helperText: 'Helper text',
83
+ },
84
+ render: function Component({ inputRef, ...args }) {
85
+ return (_jsx(ErkSelect, { ...args, inputRef: inputRef, children: _jsx(MenuItem, { value: 'option', style: { whiteSpace: 'normal' }, children: "Option" }) }));
86
+ },
87
+ };
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { SelectProps as MuiSelectProps } from '@mui/material';
3
+ export interface ErkSmartSelectProps extends Omit<MuiSelectProps, 'ref' | 'onInvalid'> {
4
+ /** Currently selected value */
5
+ value?: any;
6
+ /** The array of options to display */
7
+ options?: any[];
8
+ /** If the input is loading */
9
+ loading?: boolean;
10
+ /** function called when value changes */
11
+ onChange?: (value: any) => void;
12
+ /** Strig to place in the label */
13
+ label: string;
14
+ /** The helper Text to display */
15
+ helperText?: string;
16
+ /** The icon to display */
17
+ IconComponent?: React.ElementType;
18
+ /** If the options are searchable */
19
+ searchable?: boolean;
20
+ /** Function to determine the currently selected option */
21
+ getOptionSelected?: (option: any, value: any) => boolean;
22
+ /** Function to determine the current value in string format */
23
+ getValueString?: (value: any) => string;
24
+ /** If input is readOnly */
25
+ readOnly?: boolean;
26
+ onFocus?: React.FocusEventHandler;
27
+ }
28
+ export default function ErkSmartSelect({ options, value, onChange, label, getValueString, loading, getOptionSelected, IconComponent, size, disabled, readOnly, searchable, inputRef, ...others }: ErkSmartSelectProps): JSX.Element;
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { createFilterOptions, CircularProgress, Autocomplete as MuiAutocomplete, styled, } from '@mui/material';
3
+ import ErkSelect from '../ErkSelect/ErkSelect';
4
+ import { StyledTextField } from '../ErkTextField/ErkTextField';
5
+ import ErkMenuItem from '../ErkMenuItem';
6
+ const filter = createFilterOptions();
7
+ const StyledAutoComplete = styled(MuiAutocomplete)(({ theme, readOnly, ...props }) => ({
8
+ '& .Erk-MuiInputBase-root': {
9
+ cursor: props.disabled || readOnly ? 'default' : 'text',
10
+ },
11
+ '& .Erk-MuiInputBase-input': {
12
+ paddingRight: 24,
13
+ },
14
+ '& .Erk-MuiAutocomplete-endAdornment': {
15
+ marginLeft: 0,
16
+ marginRight: 9,
17
+ cursor: 'inherit',
18
+ color: theme.palette.text.primary + 'a0',
19
+ '& .Erk-MuiButtonBase-root': {
20
+ padding: 0,
21
+ color: readOnly ? theme.palette.text.primary + 'a0' : undefined,
22
+ },
23
+ },
24
+ '& .Erk-MuiAutocomplete-popupIndicatorOpen': {
25
+ transform: props.popupIcon ? 'none' : undefined,
26
+ },
27
+ }));
28
+ export default function ErkSmartSelect({ options, value = '', onChange, label, getValueString = (value) => value?.value, loading = false, getOptionSelected, IconComponent, size = 'small', disabled = false, readOnly = false, searchable = false, inputRef, ...others }) {
29
+ if (searchable) {
30
+ return (_jsx(StyledAutoComplete, { fullWidth: true, openOnFocus: true, size: size, loading: loading, disabled: disabled || readOnly, readOnly: readOnly, options: options ?? [], loadingText: "Cargando...", onFocus: others.onFocus, "data-testid": "smart-select", noOptionsText: "No hay opciones", value: !loading && value ? value : null, onChange: (_event, newValue) => onChange?.(newValue), popupIcon: loading ? _jsx(CircularProgress, { size: 22 }) : IconComponent ? _jsx(IconComponent, {}) : undefined, filterOptions: (options, params) => {
31
+ if (value?.label === params?.inputValue) {
32
+ return options;
33
+ }
34
+ else {
35
+ return filter(options, params);
36
+ }
37
+ }, renderOption: ({ key, ...props }, option) => (_jsx(ErkMenuItem, { ...props, children: option.label }, key)), getOptionKey: (option) => getValueString(option), getOptionLabel: (option) => {
38
+ // Value selected with enter, right from the input
39
+ if (typeof option === 'string') {
40
+ return option;
41
+ }
42
+ else if (option?.inputValue) {
43
+ return option.inputValue ?? '';
44
+ }
45
+ else {
46
+ // Regular option
47
+ return option?.label ?? '';
48
+ }
49
+ }, slotProps: { popper: { sx: { zIndex: 1305 } } }, renderInput: (params) => (_jsx(StyledTextField, { ...params, size: size, label: label, labelMargin: 0, name: others.name, readOnly: readOnly, disabled: disabled, inputRef: inputRef, error: others.error, onBlur: others.onBlur, required: others.required, helperText: others.helperText })) }));
50
+ }
51
+ else {
52
+ return (_jsxs(ErkSelect, { ...others, labelMargin: 0, disabled: disabled, readOnly: readOnly, inputRef: inputRef, onChange: (value) => onChange?.(options?.find((option) => getValueString(option) === value)), value: loading ? '' : getValueString(value), label: label, IconComponent: loading ? () => _jsx(CircularProgress, { size: 22 }) : IconComponent, children: [options?.map((option) => (_jsx(ErkMenuItem, { value: getValueString(option), "data-testid": 'smart-select-' + getValueString(option), children: option.label }, getValueString(option)))), options === undefined && value && !loading && (_jsx(ErkMenuItem, { value: getValueString(value), children: value.label ?? '' }, getValueString(value)))] }));
53
+ }
54
+ }
@@ -1,21 +1,11 @@
1
- import type { StoryObj } from '@storybook/react';
2
- import RoundedSmartSelect from './RoundedSmartSelect';
1
+ import type { StoryObj } from '@storybook/react-vite';
2
+ import ErkSmartSelect from './ErkSmartSelect';
3
3
  declare const meta: {
4
- component: typeof RoundedSmartSelect;
4
+ component: typeof ErkSmartSelect;
5
5
  tags: string[];
6
6
  args: {
7
7
  searchable: false;
8
- focusColor: string;
9
- helperTextColor: string;
10
- outlineColor: string;
11
- backgroundColor: string;
12
- color: string;
13
8
  readOnly: false;
14
- borderRadius: number;
15
- fontSize: string;
16
- errorColor: string;
17
- fontWeight: string;
18
- cantEdit: false;
19
9
  };
20
10
  };
21
11
  export default meta;
@@ -0,0 +1,159 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import ErkSmartSelect from './ErkSmartSelect';
3
+ import { useArgs } from 'storybook/internal/preview-api';
4
+ const meta = {
5
+ component: ErkSmartSelect,
6
+ tags: ['autodocs'],
7
+ args: {
8
+ searchable: false,
9
+ readOnly: false,
10
+ },
11
+ };
12
+ export default meta;
13
+ export const Empty = {
14
+ args: {
15
+ label: 'Label',
16
+ },
17
+ };
18
+ export const Default = {
19
+ args: {
20
+ label: 'Label',
21
+ options: [
22
+ {
23
+ label: 'Option',
24
+ value: 'option',
25
+ },
26
+ ],
27
+ },
28
+ play: async ({ canvas, userEvent }) => {
29
+ const selector = canvas.getByTestId('smart-select');
30
+ await userEvent.click(selector);
31
+ const option = canvas.getByTestId('smart-select-option');
32
+ await userEvent.click(option);
33
+ },
34
+ render: function Component(args) {
35
+ const [, setArgs] = useArgs();
36
+ const onValueChange = (value) => {
37
+ args.onChange?.(value);
38
+ setArgs({ value });
39
+ };
40
+ return _jsx(ErkSmartSelect, { ...args, onChange: onValueChange });
41
+ },
42
+ };
43
+ export const Focused = {
44
+ args: {
45
+ label: 'Label',
46
+ },
47
+ play: async ({ canvas, userEvent }) => {
48
+ const selector = canvas.getByTestId('smart-select');
49
+ await userEvent.click(selector);
50
+ const option = canvas.getByTestId('smart-select-empty');
51
+ await userEvent.click(option);
52
+ },
53
+ };
54
+ export const FocusedSearchable = {
55
+ args: {
56
+ label: 'Label',
57
+ searchable: true,
58
+ },
59
+ play: async ({ canvas, userEvent }) => {
60
+ const selector = canvas.getByTestId('smart-select');
61
+ await userEvent.click(selector);
62
+ },
63
+ };
64
+ export const SearchableWithOptions = {
65
+ args: {
66
+ label: 'Label',
67
+ searchable: true,
68
+ options: [
69
+ {
70
+ label: 'Option',
71
+ value: 'option',
72
+ },
73
+ ],
74
+ },
75
+ play: async ({ canvas, userEvent }) => {
76
+ const selector = canvas.getByTestId('smart-select');
77
+ await userEvent.click(selector);
78
+ },
79
+ };
80
+ export const SearchableWithSearchAndOptions = {
81
+ args: {
82
+ label: 'Label',
83
+ searchable: true,
84
+ value: 'Opt',
85
+ options: [
86
+ {
87
+ label: 'Option',
88
+ value: 'option',
89
+ },
90
+ ],
91
+ },
92
+ play: async ({ canvas, userEvent }) => {
93
+ const selector = canvas.getByTestId('smart-select');
94
+ await userEvent.click(selector);
95
+ },
96
+ };
97
+ export const Loading = {
98
+ args: {
99
+ label: 'Label',
100
+ loading: true,
101
+ },
102
+ };
103
+ export const LoadingOpened = {
104
+ args: {
105
+ label: 'Label',
106
+ loading: true,
107
+ },
108
+ play: async ({ canvas, userEvent }) => {
109
+ const selector = canvas.getByTestId('smart-select');
110
+ await userEvent.click(selector);
111
+ },
112
+ };
113
+ export const SearchableLoadingOpened = {
114
+ args: {
115
+ label: 'Label',
116
+ searchable: true,
117
+ loading: true,
118
+ },
119
+ play: async ({ canvas, userEvent }) => {
120
+ const selector = canvas.getByTestId('smart-select');
121
+ await userEvent.click(selector);
122
+ },
123
+ };
124
+ export const WithValueandLabel = {
125
+ args: {
126
+ label: 'Label',
127
+ value: 'Textinput Value',
128
+ },
129
+ };
130
+ export const Full = {
131
+ args: {
132
+ label: 'Label',
133
+ value: 'Value',
134
+ helperText: 'Helper text',
135
+ },
136
+ };
137
+ export const Error = {
138
+ args: {
139
+ label: 'Label',
140
+ value: 'Value',
141
+ helperText: 'Helper text',
142
+ error: true,
143
+ },
144
+ };
145
+ export const ErrorColor = {
146
+ args: {
147
+ label: 'Label',
148
+ value: 'Value',
149
+ helperText: 'Helper text',
150
+ error: true,
151
+ },
152
+ };
153
+ export const DifferentColors = {
154
+ args: {
155
+ label: 'Label',
156
+ value: 'Value',
157
+ helperText: 'Helper text',
158
+ },
159
+ };
@@ -0,0 +1,34 @@
1
+ import { OutlinedTextFieldProps as MuiTextFieldProps } from '@mui/material';
2
+ import React, { CSSProperties } from 'react';
3
+ interface StyleProps extends Pick<CSSProperties, 'textAlign' | 'fontSize' | 'padding' | 'fontWeight' | 'backgroundColor' | 'borderRadius'> {
4
+ readOnly?: boolean;
5
+ }
6
+ declare module '@mui/material/TextField' {
7
+ interface TextFieldPropsSizeOverrides {
8
+ large: true;
9
+ }
10
+ }
11
+ export declare const StyledTextField: import("@emotion/styled").StyledComponent<{
12
+ variant?: import("@mui/material").TextFieldVariants | undefined;
13
+ } & Omit<import("@mui/material").FilledTextFieldProps | MuiTextFieldProps | import("@mui/material").StandardTextFieldProps, "variant"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & Omit<ErkTextFieldProps, "onChange"> & StyleProps, {}, {}>;
14
+ export type ErkTextFieldSlotProps = Omit<ErkTextFieldProps, 'value' | 'onChange' | 'fullWidth'>;
15
+ export interface ErkTextFieldProps extends Omit<MuiTextFieldProps, 'variant' | 'onChange' | 'ref'>, StyleProps {
16
+ /** The value of the textfield */
17
+ value?: string | number;
18
+ onChange?: (value: string) => void;
19
+ /** The icon to display */
20
+ IconComponent?: React.ElementType | React.ReactNode;
21
+ /** The max length of the string */
22
+ maxLength?: number;
23
+ /** Show red border on error */
24
+ errorBorder?: boolean;
25
+ /** labelMargin */
26
+ labelMargin?: number;
27
+ }
28
+ /**
29
+ * Generic textfield with apps designs. Is class due to the use in the react-hook-forms library
30
+ */
31
+ declare class ErkTextField extends React.Component<ErkTextFieldProps> {
32
+ render(): JSX.Element;
33
+ }
34
+ export default ErkTextField;
@@ -0,0 +1,149 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { styled, TextField as MuiTextField, useTheme, } from '@mui/material';
3
+ import React, { useCallback, useMemo } from 'react';
4
+ export const StyledTextField = styled(MuiTextField, {
5
+ shouldForwardProp: (propName) => !['textAlign', 'errorBorder', 'labelMargin', 'minWidth', 'borderRadius'].includes(propName),
6
+ })(({ theme, label, size, error, textAlign, errorBorder, labelMargin = 5, borderRadius = 10, fontSize = size === 'large' ? '1.5rem' : '1rem', padding = '6px 12px', fontWeight = 400, backgroundColor = theme.palette.stepBackgroundColor.default, ...props }) => ({
7
+ borderRadius,
8
+ opacity: props.disabled ? 0.5 : 1,
9
+ marginTop: label ? labelMargin : undefined,
10
+ minHeight: size === 'small' ? 31 : size === 'medium' ? 40 : undefined,
11
+ '& .Erk-MuiInputBase-root': {
12
+ borderRadius,
13
+ backgroundColor,
14
+ },
15
+ '& input, textarea': {
16
+ fontSize,
17
+ textAlign,
18
+ padding,
19
+ fontWeight,
20
+ borderRadius,
21
+ backgroundColor,
22
+ color: theme.palette.text.primary,
23
+ cursor: props.disabled || props.readOnly ? 'default' : 'text',
24
+ lineHeight: size === 'small' ? '1.188em' : size === 'medium' ? '1.75em' : undefined,
25
+ height: size === 'small' ? '1.188em' : size === 'medium' ? '1.75em' : undefined,
26
+ '&.Mui-readOnly': {
27
+ color: theme.palette.text.primary,
28
+ WebkitTextFillColor: theme.palette.text.primary,
29
+ },
30
+ },
31
+ '& .Erk-MuiFormLabel-root:not(.Erk-MuiInputLabel-shrink)': {
32
+ fontSize,
33
+ transform: `translate(12px, ${size === 'small' ? 5 : size === 'medium' ? 9 : 7}px) scale(1)`,
34
+ },
35
+ '& .Erk-MuiInputLabel-shrink': {
36
+ color: error && errorBorder ? theme.palette.error.main : undefined,
37
+ },
38
+ '& label': {
39
+ color: theme.palette.text.primary + '8a',
40
+ whiteSpace: 'nowrap',
41
+ overflow: 'hidden',
42
+ textOverflow: 'ellipsis',
43
+ },
44
+ '& .Erk-MuiOutlinedInput-root': {
45
+ '&.Mui-focused fieldset': {
46
+ borderColor: error && errorBorder ? theme.palette.error.main : theme.palette.primary.main,
47
+ borderWidth: 2,
48
+ },
49
+ '& .Erk-MuiOutlinedInput-notchedOutline': {
50
+ borderRadius,
51
+ borderColor: error && errorBorder ? theme.palette.error.main : theme.palette.outline.main,
52
+ '& legend': {
53
+ fontSize: '0.75rem',
54
+ },
55
+ },
56
+ },
57
+ '& .Erk-MuiOutlinedInput-root:hover:not(.Mui-readOnly) .Erk-MuiOutlinedInput-notchedOutline': {
58
+ borderColor: props.disabled || props.readOnly
59
+ ? theme.palette.outline.main
60
+ : error && errorBorder
61
+ ? theme.palette.error.main
62
+ : theme.palette.primary.main,
63
+ },
64
+ '& label.Mui-focused': {
65
+ color: theme.palette.primary.main,
66
+ },
67
+ '& .Mui-error': {
68
+ color: theme.palette.error.main,
69
+ '& fieldset': {
70
+ borderWidth: error && errorBorder ? 2 : undefined,
71
+ },
72
+ },
73
+ '& .Erk-MuiInputBase-adornedEnd': {
74
+ paddingRight: '7px',
75
+ },
76
+ '& .Erk-MuiFormHelperText-root': {
77
+ color: theme.palette.helperText.primary,
78
+ position: 'relative',
79
+ marginRight: props.maxLength ? 40 : 14,
80
+ overflow: 'hidden',
81
+ minHeight: 20,
82
+ textOverflow: 'ellipsis',
83
+ },
84
+ '& .Erk-MuiFormHelperText-root.Mui-error': {
85
+ color: theme.palette.error.main,
86
+ },
87
+ '& .Erk-MuiInputBase-multiline': {
88
+ padding: 0,
89
+ },
90
+ '& .Erk-MuiInputAdornment-root': {
91
+ marginLeft: 0,
92
+ marginRight: size === 'medium' ? 2 : 0,
93
+ fill: theme.palette.text.primary + 'a0',
94
+ color: theme.palette.text.primary + 'a0',
95
+ },
96
+ }));
97
+ function CustomTextfield({ onChange, value = '', IconComponent, size = 'small', fullWidth = true, ...others }) {
98
+ const { readOnly, disabled, maxLength } = others;
99
+ const { palette } = useTheme();
100
+ const handleChange = useCallback((event) => {
101
+ onChange?.(event.target.value);
102
+ }, [onChange]);
103
+ const inputProps = useMemo(() => {
104
+ const mergedInputProps = {
105
+ ...others.inputProps,
106
+ spellCheck: true,
107
+ endAdornment: IconComponent,
108
+ readOnly: !!readOnly,
109
+ disabled: !!readOnly || !!disabled,
110
+ };
111
+ if (maxLength) {
112
+ mergedInputProps.inputProps = { maxLength };
113
+ }
114
+ return mergedInputProps;
115
+ }, [others.inputProps, IconComponent, readOnly, disabled, maxLength]);
116
+ const length = maxLength ? value.toString()?.length : null;
117
+ const helperText = others.helperText ?? (others.error === false && !others.readOnly ? ' ' : undefined);
118
+ return (_jsxs("div", { style: {
119
+ position: 'relative',
120
+ width: fullWidth ? '100%' : 'fit-content',
121
+ maxWidth: '100%',
122
+ }, children: [_jsx(StyledTextField, { ...others, size: size, value: value, variant: "outlined", fullWidth: fullWidth, helperText: helperText, onChange: handleChange, slotProps: { input: inputProps } }), length !== null && (_jsxs("div", { style: helperText
123
+ ? {
124
+ position: 'absolute',
125
+ bottom: '3px',
126
+ right: '8px',
127
+ minHeight: '20px',
128
+ fontSize: '12px',
129
+ color: palette.helperText.primary,
130
+ }
131
+ : {
132
+ fontSize: '12px',
133
+ color: palette.helperText.primary,
134
+ textAlign: 'right',
135
+ minHeight: '20px',
136
+ paddingRight: '8px',
137
+ paddingTop: '2px',
138
+ paddingBottom: '2px',
139
+ }, children: [length, "/", maxLength] }))] }));
140
+ }
141
+ /**
142
+ * Generic textfield with apps designs. Is class due to the use in the react-hook-forms library
143
+ */
144
+ class ErkTextField extends React.Component {
145
+ render() {
146
+ return _jsx(CustomTextfield, { ...this.props });
147
+ }
148
+ }
149
+ export default ErkTextField;
@@ -1,22 +1,11 @@
1
- import type { StoryObj } from '@storybook/react';
2
- import RoundedTextField from './RoundedTextField';
1
+ import type { StoryObj } from '@storybook/react-vite';
2
+ import ErkTextField from './ErkTextField';
3
3
  declare const meta: {
4
- component: typeof RoundedTextField;
4
+ component: typeof ErkTextField;
5
5
  tags: string[];
6
6
  args: {
7
- focusColor: string;
8
- helperTextColor: string;
9
- outlineColor: string;
10
- backgroundColor: string;
11
- textColor: string;
12
- readOnly: false;
13
- borderRadius: number;
14
- padding: string;
15
- fontSize: string;
16
- errorColor: string;
17
- fontWeight: string;
7
+ disabled: false;
18
8
  multiline: false;
19
- cantEdit: false;
20
9
  };
21
10
  };
22
11
  export default meta;
@@ -33,5 +22,3 @@ export declare const WithValueandLabel: Story;
33
22
  export declare const WithMaxLength: Story;
34
23
  export declare const Full: Story;
35
24
  export declare const Error: Story;
36
- export declare const ErrorColor: Story;
37
- export declare const DifferentColors: Story;
@@ -0,0 +1,99 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import ErkTextField from './ErkTextField';
3
+ import { useArgs } from 'storybook/internal/preview-api';
4
+ const meta = {
5
+ component: ErkTextField,
6
+ tags: ['autodocs'],
7
+ args: {
8
+ disabled: false,
9
+ multiline: false,
10
+ },
11
+ };
12
+ export default meta;
13
+ export const Empty = {
14
+ args: {},
15
+ };
16
+ export const EmptyLabel = {
17
+ args: {
18
+ label: 'Label',
19
+ },
20
+ };
21
+ export const Default = {
22
+ args: {
23
+ label: 'Label',
24
+ },
25
+ play: async ({ canvas, userEvent }) => {
26
+ const emailInput = canvas.getByRole('textbox');
27
+ await userEvent.click(emailInput);
28
+ await userEvent.type(emailInput, 'example-email@email.com', { initialSelectionStart: 100 });
29
+ },
30
+ render: function Component(args) {
31
+ const [, setArgs] = useArgs();
32
+ const onValueChange = (value) => {
33
+ args.onChange?.(value);
34
+ setArgs({ value });
35
+ };
36
+ return _jsx(ErkTextField, { ...args, ref: undefined, onChange: onValueChange });
37
+ },
38
+ };
39
+ export const Focused = {
40
+ args: {
41
+ label: 'Label',
42
+ },
43
+ play: async ({ canvas, userEvent }) => {
44
+ const emailInput = canvas.getByRole('textbox');
45
+ await userEvent.click(emailInput);
46
+ },
47
+ };
48
+ export const FocusedNoLabel = {
49
+ args: {},
50
+ play: async ({ canvas, userEvent }) => {
51
+ const emailInput = canvas.getByRole('textbox');
52
+ await userEvent.click(emailInput);
53
+ },
54
+ };
55
+ export const WithValue = {
56
+ args: {
57
+ value: 'Textinput Value',
58
+ },
59
+ };
60
+ export const Multiline = {
61
+ args: {
62
+ value: 'TextArea Value',
63
+ multiline: true,
64
+ minRows: 4,
65
+ },
66
+ };
67
+ export const WithHelperText = {
68
+ args: {
69
+ helperText: 'Helper text',
70
+ },
71
+ };
72
+ export const WithValueandLabel = {
73
+ args: {
74
+ label: 'Label',
75
+ value: 'Textinput Value',
76
+ },
77
+ };
78
+ export const WithMaxLength = {
79
+ args: {
80
+ value: 'Value',
81
+ maxLength: 10,
82
+ },
83
+ };
84
+ export const Full = {
85
+ args: {
86
+ label: 'Label',
87
+ value: 'Value',
88
+ helperText: 'Helper text',
89
+ maxLength: 10,
90
+ },
91
+ };
92
+ export const Error = {
93
+ args: {
94
+ label: 'Label',
95
+ value: 'Value',
96
+ helperText: 'Helper text',
97
+ error: true,
98
+ },
99
+ };