guestbell-forms 3.0.38 → 3.0.40

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 (336) hide show
  1. package/.env.bat +1 -0
  2. package/.eslintrc.json +21 -14
  3. package/build/components/base/input/BaseInput.d.ts +99 -99
  4. package/build/components/base/input/BaseInput.js +4 -0
  5. package/build/components/base/input/BaseInput.js.map +1 -1
  6. package/build/components/base/input/index.d.ts +1 -1
  7. package/build/components/bookingCalendar/BookingCalendar.d.ts +45 -46
  8. package/build/components/bookingCalendar/BookingCalendar.js +4 -5
  9. package/build/components/bookingCalendar/BookingCalendar.js.map +1 -1
  10. package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.d.ts +17 -17
  11. package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js +12 -12
  12. package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js.map +1 -1
  13. package/build/components/bookingCalendar/bookingCalendarControls/classes.d.ts +9 -9
  14. package/build/components/bookingCalendar/bookingCalendarControls/index.d.ts +2 -2
  15. package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.d.ts +13 -13
  16. package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js +3 -3
  17. package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js.map +1 -1
  18. package/build/components/bookingCalendar/bookingCalendarDatePicker/classes.d.ts +5 -5
  19. package/build/components/bookingCalendar/bookingCalendarDatePicker/index.d.ts +2 -2
  20. package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.d.ts +10 -10
  21. package/build/components/bookingCalendar/bookingCalendarGrid/classes.d.ts +5 -5
  22. package/build/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.d.ts +57 -57
  23. package/build/components/bookingCalendar/bookingCalendarItem/classes.d.ts +4 -4
  24. package/build/components/bookingCalendar/bookingCalendarItem/index.d.ts +2 -2
  25. package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.d.ts +16 -16
  26. package/build/components/bookingCalendar/bookingCalendarLane/classes.d.ts +4 -4
  27. package/build/components/bookingCalendar/bookingCalendarLane/index.d.ts +2 -2
  28. package/build/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.d.ts +7 -7
  29. package/build/components/bookingCalendar/bookingCalendarLaneHeader/classes.d.ts +4 -4
  30. package/build/components/bookingCalendar/bookingCalendarLaneHeader/index.d.ts +1 -1
  31. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.d.ts +11 -11
  32. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js +3 -3
  33. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js.map +1 -1
  34. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.d.ts +4 -5
  35. package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.js.map +1 -1
  36. package/build/components/bookingCalendar/bookingCalendarLanesHeader/classes.d.ts +5 -5
  37. package/build/components/bookingCalendar/bookingCalendarLanesHeader/index.d.ts +2 -2
  38. package/build/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.d.ts +9 -9
  39. package/build/components/bookingCalendar/bookingCalendarRenderItem/classes.d.ts +6 -6
  40. package/build/components/bookingCalendar/bookingCalendarRenderItem/index.d.ts +1 -1
  41. package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.d.ts +38 -37
  42. package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js +2 -0
  43. package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js.map +1 -1
  44. package/build/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.d.ts +11 -11
  45. package/build/components/bookingCalendar/bookingCalendarTimeAxis/classes.d.ts +5 -5
  46. package/build/components/bookingCalendar/classes.d.ts +11 -11
  47. package/build/components/bookingCalendar/common.d.ts +23 -23
  48. package/build/components/bookingCalendar/common.js +3 -4
  49. package/build/components/bookingCalendar/common.js.map +1 -1
  50. package/build/components/bookingCalendar/index.d.ts +3 -3
  51. package/build/components/bookingCalendar/utils.d.ts +52 -50
  52. package/build/components/bookingCalendar/utils.js.map +1 -1
  53. package/build/components/button/Button.d.ts +81 -81
  54. package/build/components/button/Button.js +1 -0
  55. package/build/components/button/Button.js.map +1 -1
  56. package/build/components/button/index.d.ts +2 -2
  57. package/build/components/checkbox/Checkbox.d.ts +23 -23
  58. package/build/components/checkbox/index.d.ts +2 -2
  59. package/build/components/dropdown/Dropdown.d.ts +44 -44
  60. package/build/components/dropdown/index.d.ts +2 -2
  61. package/build/components/dynamicSubmit/DynamicSubmit.d.ts +54 -54
  62. package/build/components/dynamicSubmit/DynamicSubmit.js.map +1 -1
  63. package/build/components/dynamicSubmit/index.d.ts +2 -2
  64. package/build/components/externalValidationComponent/ExternalValidationComponent.d.ts +15 -15
  65. package/build/components/externalValidationComponent/index.d.ts +2 -2
  66. package/build/components/form/Form.d.ts +47 -47
  67. package/build/components/form/FormContext.d.ts +30 -30
  68. package/build/components/form/FormValidationSummary.d.ts +38 -38
  69. package/build/components/form/FormValidationSummary.js.map +1 -1
  70. package/build/components/form/index.d.ts +5 -5
  71. package/build/components/form/withFormContext.d.ts +3 -3
  72. package/build/components/inputGroup/InputGroup.d.ts +15 -17
  73. package/build/components/inputGroup/index.d.ts +2 -2
  74. package/build/components/inputHeader/InputHeader.d.ts +97 -97
  75. package/build/components/inputHeader/InputHeader.js.map +1 -1
  76. package/build/components/inputHeader/InputHeaderContext.d.ts +24 -24
  77. package/build/components/inputHeader/index.d.ts +2 -2
  78. package/build/components/inputHeader/withInputHeaderContext.d.ts +3 -3
  79. package/build/components/money/Money.d.ts +78 -78
  80. package/build/components/money/Money.js.map +1 -1
  81. package/build/components/money/index.d.ts +2 -2
  82. package/build/components/numberInput/NumberInput.d.ts +28 -28
  83. package/build/components/numberInput/index.d.ts +2 -2
  84. package/build/components/openingHours/openingHoursDay/OpeningHoursDay.d.ts +84 -84
  85. package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js +3 -3
  86. package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js.map +1 -1
  87. package/build/components/openingHours/openingHoursDay/index.d.ts +2 -2
  88. package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.d.ts +92 -90
  89. package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.js.map +1 -1
  90. package/build/components/openingHours/openingHoursSpecial/index.d.ts +2 -2
  91. package/build/components/openingHours/openingHoursWeek/OpeningHoursWeek.d.ts +109 -109
  92. package/build/components/openingHours/openingHoursWeek/index.d.ts +2 -2
  93. package/build/components/openingHours/utils/OpeningHoursUtil.d.ts +21 -21
  94. package/build/components/radio/Radio.d.ts +20 -20
  95. package/build/components/radio/index.d.ts +2 -2
  96. package/build/components/radioContainer/RadioContainer.d.ts +17 -16
  97. package/build/components/radioContainer/RadioContainer.js.map +1 -1
  98. package/build/components/radioContainer/index.d.ts +2 -2
  99. package/build/components/select/Select.d.ts +79 -79
  100. package/build/components/select/index.d.ts +2 -2
  101. package/build/components/submit/Submit.d.ts +137 -137
  102. package/build/components/submit/index.d.ts +2 -2
  103. package/build/components/submit/subComponents/SubmitValidationSummary.d.ts +5 -5
  104. package/build/components/tags/Tags.d.ts +92 -92
  105. package/build/components/tags/Tags.js +2 -0
  106. package/build/components/tags/Tags.js.map +1 -1
  107. package/build/components/tags/index.d.ts +2 -2
  108. package/build/components/tags/subComponents/TagsSuggestions.d.ts +34 -34
  109. package/build/components/tags/subComponents/TagsSuggestions.js +2 -2
  110. package/build/components/tags/subComponents/TagsSuggestions.js.map +1 -1
  111. package/build/components/text/Text.d.ts +31 -31
  112. package/build/components/text/index.d.ts +2 -2
  113. package/build/components/textArea/TextArea.d.ts +28 -28
  114. package/build/components/textArea/TextArea.js +1 -0
  115. package/build/components/textArea/TextArea.js.map +1 -1
  116. package/build/components/textArea/index.d.ts +2 -2
  117. package/build/components/themeProvider/ThemeContext.d.ts +9 -9
  118. package/build/components/themeProvider/ThemeProvider.d.ts +8 -7
  119. package/build/components/themeProvider/ThemeProvider.js.map +1 -1
  120. package/build/components/themeProvider/index.d.ts +4 -4
  121. package/build/components/themeProvider/withThemeContext.d.ts +4 -4
  122. package/build/components/time/Time.d.ts +32 -32
  123. package/build/components/time/Time.js +3 -3
  124. package/build/components/time/Time.js.map +1 -1
  125. package/build/components/time/index.d.ts +2 -2
  126. package/build/components/timeSpan/TimeSpan.d.ts +46 -46
  127. package/build/components/timeSpan/TimeSpan.js +6 -6
  128. package/build/components/timeSpan/TimeSpan.js.map +1 -1
  129. package/build/components/timeSpan/index.d.ts +2 -2
  130. package/build/components/utils/Guid.d.ts +2 -2
  131. package/build/components/utils/ShallowEqual.d.ts +16 -16
  132. package/build/components/utils/TimeUtil.d.ts +6 -6
  133. package/build/components/utils/Typescript.d.ts +5 -5
  134. package/build/dist/guestbell-forms.css +157 -171
  135. package/build/dist/guestbell-forms.css.map +1 -1
  136. package/build/dist/guestbell-forms.js +15 -24
  137. package/build/dist/guestbell-forms.js.map +1 -1
  138. package/build/dist/guestbell-forms.min.css +1 -1
  139. package/build/dist/guestbell-forms.min.js +1 -1
  140. package/build/dist/guestbell-forms.min.js.map +1 -1
  141. package/build/dist/report.html +3 -3
  142. package/build/index.d.ts +24 -24
  143. package/build/scss/components/bookingCalendar/bookingCalendar.scss +30 -7
  144. package/build/scss/components/inputHeader/inputHeader.scss +7 -1
  145. package/build/types/ElementOverrideProp.d.ts +3 -3
  146. package/build/types/Theme.d.ts +4 -4
  147. package/build/types/ThemeOverrides.d.ts +45 -45
  148. package/build/validators/EmailValidator.d.ts +4 -4
  149. package/build/validators/LatitudeValidator.d.ts +4 -4
  150. package/build/validators/LongitudeValidator.d.ts +4 -4
  151. package/build/validators/NumberValidator.d.ts +12 -12
  152. package/build/validators/NumberValidator.js +1 -0
  153. package/build/validators/NumberValidator.js.map +1 -1
  154. package/build/validators/UrlValidator.d.ts +4 -4
  155. package/build/validators/base.d.ts +4 -4
  156. package/build/validators/index.d.ts +6 -6
  157. package/package.json +130 -136
  158. package/src/lib/components/base/input/BaseInput.tsx +526 -0
  159. package/src/lib/components/base/input/index.tsx +1 -0
  160. package/src/lib/components/bookingCalendar/BookingCalendar.tsx +327 -0
  161. package/src/lib/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.tsx +249 -0
  162. package/src/lib/components/bookingCalendar/bookingCalendarControls/classes.ts +20 -0
  163. package/src/lib/components/bookingCalendar/bookingCalendarControls/index.ts +2 -0
  164. package/src/lib/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.tsx +104 -0
  165. package/src/lib/components/bookingCalendar/bookingCalendarDatePicker/classes.ts +9 -0
  166. package/src/lib/components/bookingCalendar/bookingCalendarDatePicker/index.ts +2 -0
  167. package/src/lib/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.tsx +56 -0
  168. package/src/lib/components/bookingCalendar/bookingCalendarGrid/classes.ts +9 -0
  169. package/src/lib/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.tsx +97 -0
  170. package/src/lib/components/bookingCalendar/bookingCalendarItem/classes.ts +7 -0
  171. package/src/lib/components/bookingCalendar/bookingCalendarItem/index.ts +2 -0
  172. package/src/lib/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.tsx +69 -0
  173. package/src/lib/components/bookingCalendar/bookingCalendarLane/classes.ts +7 -0
  174. package/src/lib/components/bookingCalendar/bookingCalendarLane/index.ts +2 -0
  175. package/src/lib/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.tsx +28 -0
  176. package/src/lib/components/bookingCalendar/bookingCalendarLaneHeader/classes.ts +7 -0
  177. package/src/lib/components/bookingCalendar/bookingCalendarLaneHeader/index.ts +1 -0
  178. package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.tsx +57 -0
  179. package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.tsx +53 -0
  180. package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/classes.ts +9 -0
  181. package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/index.ts +2 -0
  182. package/src/lib/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.tsx +57 -0
  183. package/src/lib/components/bookingCalendar/bookingCalendarRenderItem/classes.ts +11 -0
  184. package/src/lib/components/bookingCalendar/bookingCalendarRenderItem/index.ts +1 -0
  185. package/src/lib/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.tsx +217 -0
  186. package/src/lib/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.tsx +53 -0
  187. package/src/lib/components/bookingCalendar/bookingCalendarTimeAxis/classes.ts +9 -0
  188. package/src/lib/components/bookingCalendar/classes.ts +21 -0
  189. package/src/lib/components/bookingCalendar/common.ts +61 -0
  190. package/src/lib/components/bookingCalendar/index.ts +3 -0
  191. package/src/lib/components/bookingCalendar/utils.ts +348 -0
  192. package/src/lib/components/button/Button.tsx +193 -0
  193. package/src/lib/components/button/index.tsx +2 -0
  194. package/src/lib/components/checkbox/Checkbox.tsx +178 -0
  195. package/src/lib/components/checkbox/index.tsx +2 -0
  196. package/src/lib/components/dropdown/Dropdown.tsx +135 -0
  197. package/src/lib/components/dropdown/index.tsx +2 -0
  198. package/src/lib/components/dynamicSubmit/DynamicSubmit.tsx +153 -0
  199. package/src/lib/components/dynamicSubmit/index.tsx +2 -0
  200. package/src/lib/components/externalValidationComponent/ExternalValidationComponent.tsx +78 -0
  201. package/src/lib/components/externalValidationComponent/index.tsx +2 -0
  202. package/src/lib/components/form/Form.tsx +276 -0
  203. package/src/lib/components/form/FormContext.ts +49 -0
  204. package/src/lib/components/form/FormValidationSummary.tsx +122 -0
  205. package/src/lib/components/form/index.tsx +5 -0
  206. package/src/lib/components/form/withFormContext.tsx +20 -0
  207. package/src/lib/components/inputGroup/InputGroup.tsx +60 -0
  208. package/src/lib/components/inputGroup/index.tsx +2 -0
  209. package/src/lib/components/inputHeader/InputHeader.tsx +448 -0
  210. package/src/lib/components/inputHeader/InputHeaderContext.ts +42 -0
  211. package/src/lib/components/inputHeader/index.tsx +2 -0
  212. package/src/lib/components/inputHeader/withInputHeaderContext.tsx +24 -0
  213. package/src/lib/components/money/Money.tsx +298 -0
  214. package/src/lib/components/money/index.tsx +2 -0
  215. package/src/lib/components/numberInput/NumberInput.tsx +186 -0
  216. package/src/lib/components/numberInput/index.tsx +2 -0
  217. package/src/lib/components/openingHours/openingHoursDay/OpeningHoursDay.tsx +394 -0
  218. package/src/lib/components/openingHours/openingHoursDay/index.tsx +2 -0
  219. package/src/lib/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.tsx +227 -0
  220. package/src/lib/components/openingHours/openingHoursSpecial/index.tsx +2 -0
  221. package/src/lib/components/openingHours/openingHoursWeek/OpeningHoursWeek.tsx +283 -0
  222. package/src/lib/components/openingHours/openingHoursWeek/index.tsx +2 -0
  223. package/src/lib/components/openingHours/utils/OpeningHoursUtil.tsx +111 -0
  224. package/src/lib/components/radio/Radio.tsx +87 -0
  225. package/src/lib/components/radio/index.tsx +2 -0
  226. package/src/lib/components/radioContainer/RadioContainer.tsx +50 -0
  227. package/src/lib/components/radioContainer/index.tsx +2 -0
  228. package/src/lib/components/select/Select.tsx +335 -0
  229. package/src/lib/components/select/index.tsx +2 -0
  230. package/src/lib/components/submit/Submit.tsx +117 -0
  231. package/src/lib/components/submit/index.tsx +2 -0
  232. package/src/lib/components/submit/subComponents/SubmitValidationSummary.tsx +55 -0
  233. package/src/lib/components/tags/Tags.tsx +702 -0
  234. package/src/lib/components/tags/index.tsx +2 -0
  235. package/src/lib/components/tags/subComponents/TagsSuggestions.tsx +150 -0
  236. package/src/lib/components/text/Text.tsx +200 -0
  237. package/src/lib/components/text/index.tsx +2 -0
  238. package/src/lib/components/textArea/TextArea.tsx +109 -0
  239. package/src/lib/components/textArea/index.tsx +2 -0
  240. package/src/lib/components/themeProvider/ThemeContext.ts +16 -0
  241. package/src/lib/components/themeProvider/ThemeProvider.tsx +21 -0
  242. package/src/lib/components/themeProvider/index.tsx +4 -0
  243. package/src/lib/components/themeProvider/withThemeContext.tsx +30 -0
  244. package/src/lib/components/time/Time.tsx +296 -0
  245. package/src/lib/components/time/index.tsx +2 -0
  246. package/src/lib/components/timeSpan/TimeSpan.tsx +378 -0
  247. package/src/lib/components/timeSpan/index.tsx +2 -0
  248. package/src/lib/components/utils/Guid.ts +9 -0
  249. package/src/lib/components/utils/ShallowEqual.ts +75 -0
  250. package/src/lib/components/utils/TimeUtil.ts +22 -0
  251. package/src/lib/components/utils/Typescript.ts +11 -0
  252. package/src/lib/declarations/import.d.ts +1 -0
  253. package/src/lib/index.ts +24 -0
  254. package/src/lib/scss/components/base/index.scss +1 -0
  255. package/src/lib/scss/components/base/input/index.scss +1 -0
  256. package/src/lib/scss/components/base/input/input.scss +237 -0
  257. package/src/lib/scss/components/bookingCalendar/bookingCalendar.scss +272 -0
  258. package/src/lib/scss/components/bookingCalendar/index.scss +1 -0
  259. package/src/lib/scss/components/button/buttons.scss +161 -0
  260. package/src/lib/scss/components/button/index.scss +1 -0
  261. package/src/lib/scss/components/checkbox/checkbox.scss +115 -0
  262. package/src/lib/scss/components/checkbox/index.scss +1 -0
  263. package/src/lib/scss/components/dropdown/dropdown.scss +111 -0
  264. package/src/lib/scss/components/dropdown/index.scss +1 -0
  265. package/src/lib/scss/components/dynamicSubmit/dynamicSubmit.scss +1 -0
  266. package/src/lib/scss/components/dynamicSubmit/index.scss +1 -0
  267. package/src/lib/scss/components/form/form.scss +1 -0
  268. package/src/lib/scss/components/form/formValidationSummary.scss +55 -0
  269. package/src/lib/scss/components/form/index.scss +2 -0
  270. package/src/lib/scss/components/index.scss +21 -0
  271. package/src/lib/scss/components/inputGroup/index.scss +1 -0
  272. package/src/lib/scss/components/inputGroup/inputGroup.scss +67 -0
  273. package/src/lib/scss/components/inputHeader/index.scss +1 -0
  274. package/src/lib/scss/components/inputHeader/inputHeader.scss +132 -0
  275. package/src/lib/scss/components/money/index.scss +1 -0
  276. package/src/lib/scss/components/money/money.scss +51 -0
  277. package/src/lib/scss/components/numberInput/index.scss +1 -0
  278. package/src/lib/scss/components/numberInput/numberInput.scss +116 -0
  279. package/src/lib/scss/components/openingHours/index.scss +3 -0
  280. package/src/lib/scss/components/openingHours/openingHoursDay/index.scss +1 -0
  281. package/src/lib/scss/components/openingHours/openingHoursDay/openingHoursDay.scss +127 -0
  282. package/src/lib/scss/components/openingHours/openingHoursSpecial/index.scss +1 -0
  283. package/src/lib/scss/components/openingHours/openingHoursSpecial/openingHoursSpecial.scss +93 -0
  284. package/src/lib/scss/components/openingHours/openingHoursWeek/index.scss +1 -0
  285. package/src/lib/scss/components/openingHours/openingHoursWeek/openingHoursWeek.scss +23 -0
  286. package/src/lib/scss/components/radio/index.scss +1 -0
  287. package/src/lib/scss/components/radio/radio.scss +68 -0
  288. package/src/lib/scss/components/radioContainer/index.scss +1 -0
  289. package/src/lib/scss/components/radioContainer/radioContainer.scss +15 -0
  290. package/src/lib/scss/components/select/index.scss +1 -0
  291. package/src/lib/scss/components/select/select.scss +64 -0
  292. package/src/lib/scss/components/submit/index.scss +1 -0
  293. package/src/lib/scss/components/submit/submitValidationSummary.scss +35 -0
  294. package/src/lib/scss/components/tags/index.scss +1 -0
  295. package/src/lib/scss/components/tags/tags.scss +128 -0
  296. package/src/lib/scss/components/text/index.scss +1 -0
  297. package/src/lib/scss/components/text/text.scss +42 -0
  298. package/src/lib/scss/components/textArea/index.scss +1 -0
  299. package/src/lib/scss/components/textArea/textArea.scss +32 -0
  300. package/src/lib/scss/components/time/index.scss +1 -0
  301. package/src/lib/scss/components/time/time.scss +111 -0
  302. package/src/lib/scss/components/timeSpan/index.scss +1 -0
  303. package/src/lib/scss/components/timeSpan/timeSpan.scss +115 -0
  304. package/src/lib/scss/index.scss +8 -0
  305. package/src/lib/scss/styles/base.scss +7 -0
  306. package/src/lib/scss/styles/index.scss +2 -0
  307. package/src/lib/scss/styles/react-tippy.scss +4 -0
  308. package/src/lib/scss/variables/_buttons.scss +6 -0
  309. package/src/lib/scss/variables/_colors.scss +1 -0
  310. package/src/lib/scss/variables/_common.scss +12 -0
  311. package/src/lib/tsconfig.json +19 -0
  312. package/src/lib/types/ElementOverrideProp.ts +3 -0
  313. package/src/lib/types/Theme.ts +5 -0
  314. package/src/lib/types/ThemeOverrides.ts +46 -0
  315. package/src/lib/validators/EmailValidator.ts +15 -0
  316. package/src/lib/validators/LatitudeValidator.ts +25 -0
  317. package/src/lib/validators/LongitudeValidator.ts +25 -0
  318. package/src/lib/validators/NumberValidator.ts +50 -0
  319. package/src/lib/validators/UrlValidator.ts +20 -0
  320. package/src/lib/validators/base.ts +15 -0
  321. package/src/lib/validators/index.ts +6 -0
  322. package/src/stories/Basic.stories.ts +17 -0
  323. package/src/stories/Basic.tsx +1065 -0
  324. package/src/stories/Schedule.stories.ts +16 -0
  325. package/src/stories/Schedule.tsx +73 -0
  326. package/src/stories/ValidationPage.tsx +417 -0
  327. package/tsconfig.json +9 -22
  328. package/typedoc.json +6 -0
  329. package/webpack/webpack.config.base.js +139 -0
  330. package/webpack/webpack.config.dev.js +78 -0
  331. package/webpack/webpack.config.gh-pages.js +78 -0
  332. package/webpack/webpack.config.js +21 -0
  333. package/webpack/webpack.config.min.js +100 -0
  334. package/.vscode/launch.json +0 -15
  335. package/.vscode/settings.json +0 -27
  336. package/.vscode/tasks.json +0 -12
@@ -1,44 +1,44 @@
1
- import * as React from 'react';
2
- import { CollapseProps } from '@mui/material/Collapse';
3
- import { ThemeContextProps } from '../themeProvider/ThemeContext';
4
- export declare type DropdownProps = React.PropsWithChildren<ThemeContextProps & {
5
- id?: string;
6
- header?: JSX.Element | string;
7
- className?: string;
8
- submenuClassName?: string;
9
- headerClassName?: string;
10
- notificationCount?: number;
11
- WrapperTag?: keyof JSX.IntrinsicElements;
12
- shouldHandleClick?: boolean;
13
- showArrow?: boolean;
14
- onClick?: (e: React.MouseEvent, isVisible: boolean) => void;
15
- onShow?: () => void;
16
- onHide?: () => void;
17
- disabled?: boolean;
18
- inline?: boolean;
19
- collapseProps?: Partial<CollapseProps>;
20
- }>;
21
- export interface DropdownState {
22
- isDropdownVisible: boolean;
23
- }
24
- export declare const Dropdown: React.FC<DropdownProps>;
25
- declare const _default: React.ForwardRefExoticComponent<ThemeContextProps & {
26
- id?: string;
27
- header?: string | JSX.Element;
28
- className?: string;
29
- submenuClassName?: string;
30
- headerClassName?: string;
31
- notificationCount?: number;
32
- WrapperTag?: keyof JSX.IntrinsicElements;
33
- shouldHandleClick?: boolean;
34
- showArrow?: boolean;
35
- onClick?: (e: React.MouseEvent<Element, MouseEvent>, isVisible: boolean) => void;
36
- onShow?: () => void;
37
- onHide?: () => void;
38
- disabled?: boolean;
39
- inline?: boolean;
40
- collapseProps?: Partial<CollapseProps>;
41
- } & {
42
- children?: React.ReactNode;
43
- } & React.RefAttributes<React.FC<DropdownProps>>>;
44
- export default _default;
1
+ import * as React from 'react';
2
+ import { CollapseProps } from '@mui/material/Collapse';
3
+ import { ThemeContextProps } from '../themeProvider/ThemeContext';
4
+ export type DropdownProps = React.PropsWithChildren<ThemeContextProps & {
5
+ id?: string;
6
+ header?: JSX.Element | string;
7
+ className?: string;
8
+ submenuClassName?: string;
9
+ headerClassName?: string;
10
+ notificationCount?: number;
11
+ WrapperTag?: keyof JSX.IntrinsicElements;
12
+ shouldHandleClick?: boolean;
13
+ showArrow?: boolean;
14
+ onClick?: (e: React.MouseEvent, isVisible: boolean) => void;
15
+ onShow?: () => void;
16
+ onHide?: () => void;
17
+ disabled?: boolean;
18
+ inline?: boolean;
19
+ collapseProps?: Partial<CollapseProps>;
20
+ }>;
21
+ export interface DropdownState {
22
+ isDropdownVisible: boolean;
23
+ }
24
+ export declare const Dropdown: React.FC<DropdownProps>;
25
+ declare const _default: React.ForwardRefExoticComponent<ThemeContextProps & {
26
+ id?: string;
27
+ header?: string | JSX.Element;
28
+ className?: string;
29
+ submenuClassName?: string;
30
+ headerClassName?: string;
31
+ notificationCount?: number;
32
+ WrapperTag?: keyof JSX.IntrinsicElements;
33
+ shouldHandleClick?: boolean;
34
+ showArrow?: boolean;
35
+ onClick?: (e: React.MouseEvent<Element, MouseEvent>, isVisible: boolean) => void;
36
+ onShow?: () => void;
37
+ onHide?: () => void;
38
+ disabled?: boolean;
39
+ inline?: boolean;
40
+ collapseProps?: Partial<CollapseProps>;
41
+ } & {
42
+ children?: React.ReactNode;
43
+ } & React.RefAttributes<React.FC<DropdownProps>>>;
44
+ export default _default;
@@ -1,2 +1,2 @@
1
- export * from './Dropdown';
2
- export { default } from './Dropdown';
1
+ export * from './Dropdown';
2
+ export { default } from './Dropdown';
@@ -1,54 +1,54 @@
1
- import * as React from 'react';
2
- import { FormContextProps } from '../form/FormContext';
3
- import { SubmitProps } from '../submit';
4
- import { Omit } from '../utils/Typescript';
5
- export declare enum DynamicSubmitMode {
6
- Normal = 0,
7
- Submitting = 1,
8
- Error = 2,
9
- Success = 3
10
- }
11
- export declare type DynamicSubmitProps = Omit<SubmitProps, 'onClick'> & {
12
- onClick?: (e: React.MouseEvent<HTMLButtonElement>, submitting?: () => void, error?: () => void, success?: () => void, reset?: () => void) => void;
13
- submittingChildren?: JSX.Element | string;
14
- errorChildren?: JSX.Element | string;
15
- successChildren?: JSX.Element | string;
16
- submittingClassName?: string;
17
- errorClassName?: string;
18
- successClassName?: string;
19
- normalClassName?: string;
20
- submitDisablesInputs?: boolean;
21
- resetEnablesInputs?: boolean;
22
- } & FormContextProps;
23
- export interface DynamicSubmitState {
24
- buttonState: DynamicSubmitMode;
25
- }
26
- export declare class DynamicSubmitRaw extends React.PureComponent<DynamicSubmitProps, DynamicSubmitState> {
27
- static defaultProps: {
28
- validateForm: boolean;
29
- submitDisablesInputs: boolean;
30
- resetEnablesInputs: boolean;
31
- };
32
- constructor(props: DynamicSubmitProps);
33
- render(): JSX.Element;
34
- private handleClick;
35
- private submitting;
36
- private error;
37
- private success;
38
- private reset;
39
- private renderChildren;
40
- private renderClassName;
41
- }
42
- export declare const DynamicSubmit: React.ForwardRefExoticComponent<Omit<SubmitProps, "onClick"> & {
43
- onClick?: (e: React.MouseEvent<HTMLButtonElement>, submitting?: () => void, error?: () => void, success?: () => void, reset?: () => void) => void;
44
- submittingChildren?: JSX.Element | string;
45
- errorChildren?: JSX.Element | string;
46
- successChildren?: JSX.Element | string;
47
- submittingClassName?: string;
48
- errorClassName?: string;
49
- successClassName?: string;
50
- normalClassName?: string;
51
- submitDisablesInputs?: boolean;
52
- resetEnablesInputs?: boolean;
53
- } & FormContextProps & React.RefAttributes<DynamicSubmitRaw>>;
54
- export default DynamicSubmit;
1
+ import * as React from 'react';
2
+ import { FormContextProps } from '../form/FormContext';
3
+ import { SubmitProps } from '../submit';
4
+ import { Omit } from '../utils/Typescript';
5
+ export declare enum DynamicSubmitMode {
6
+ Normal = 0,
7
+ Submitting = 1,
8
+ Error = 2,
9
+ Success = 3
10
+ }
11
+ export type DynamicSubmitProps = Omit<SubmitProps, 'onClick'> & {
12
+ onClick?: (e: React.MouseEvent<HTMLButtonElement>, submitting: () => void, error: () => void, success: () => void, reset: () => void) => void;
13
+ submittingChildren?: JSX.Element | string;
14
+ errorChildren?: JSX.Element | string;
15
+ successChildren?: JSX.Element | string;
16
+ submittingClassName?: string;
17
+ errorClassName?: string;
18
+ successClassName?: string;
19
+ normalClassName?: string;
20
+ submitDisablesInputs?: boolean;
21
+ resetEnablesInputs?: boolean;
22
+ } & FormContextProps;
23
+ export interface DynamicSubmitState {
24
+ buttonState: DynamicSubmitMode;
25
+ }
26
+ export declare class DynamicSubmitRaw extends React.PureComponent<DynamicSubmitProps, DynamicSubmitState> {
27
+ static defaultProps: {
28
+ validateForm: boolean;
29
+ submitDisablesInputs: boolean;
30
+ resetEnablesInputs: boolean;
31
+ };
32
+ constructor(props: DynamicSubmitProps);
33
+ render(): React.JSX.Element;
34
+ private handleClick;
35
+ private submitting;
36
+ private error;
37
+ private success;
38
+ private reset;
39
+ private renderChildren;
40
+ private renderClassName;
41
+ }
42
+ export declare const DynamicSubmit: React.ForwardRefExoticComponent<Omit<SubmitProps, "onClick"> & {
43
+ onClick?: (e: React.MouseEvent<HTMLButtonElement>, submitting: () => void, error: () => void, success: () => void, reset: () => void) => void;
44
+ submittingChildren?: JSX.Element | string;
45
+ errorChildren?: JSX.Element | string;
46
+ successChildren?: JSX.Element | string;
47
+ submittingClassName?: string;
48
+ errorClassName?: string;
49
+ successClassName?: string;
50
+ normalClassName?: string;
51
+ submitDisablesInputs?: boolean;
52
+ resetEnablesInputs?: boolean;
53
+ } & FormContextProps & React.RefAttributes<DynamicSubmitRaw>>;
54
+ export default DynamicSubmit;
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicSubmit.js","names":["React","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_withFormContext","_Submit","_withThemeContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","DynamicSubmitMode","exports","DynamicSubmitRaw","PureComponent","constructor","props","state","buttonState","Normal","handleClick","submitting","error","success","reset","render","buttonClassName","classNames","className","renderClassName","createElement","SubmitRaw","onClick","renderChildren","e","preventDefault","submitDisablesInputs","formContext","disableComponents","setState","Submitting","Error","Success","resetEnablesInputs","enableComponents","errorChildren","children","submittingChildren","successChildren","errorClassName","submittingClassName","successClassName","normalClassName","defaultProps","validateForm","DynamicSubmit","withThemeContext","withFormContext","_default"],"sources":["../../../src/lib/components/dynamicSubmit/DynamicSubmit.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { FormContextProps } from '../form/FormContext';\r\nimport { SubmitProps } from '../submit';\r\nimport { Omit } from '../utils/Typescript';\r\nimport { SubmitRaw } from './../submit/Submit';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\n\r\n// Misc\r\n\r\nexport enum DynamicSubmitMode {\r\n Normal,\r\n Submitting,\r\n Error,\r\n Success,\r\n}\r\n\r\nexport type DynamicSubmitProps = Omit<SubmitProps, 'onClick'> & {\r\n onClick?: (\r\n e: React.MouseEvent<HTMLButtonElement>,\r\n submitting?: () => void,\r\n error?: () => void,\r\n success?: () => void,\r\n reset?: () => void\r\n ) => void;\r\n submittingChildren?: JSX.Element | string;\r\n errorChildren?: JSX.Element | string;\r\n successChildren?: JSX.Element | string;\r\n\r\n submittingClassName?: string;\r\n errorClassName?: string;\r\n successClassName?: string;\r\n normalClassName?: string;\r\n\r\n submitDisablesInputs?: boolean;\r\n resetEnablesInputs?: boolean;\r\n} & FormContextProps;\r\n\r\nexport interface DynamicSubmitState {\r\n buttonState: DynamicSubmitMode;\r\n}\r\n\r\nexport class DynamicSubmitRaw extends React.PureComponent<\r\n DynamicSubmitProps,\r\n DynamicSubmitState\r\n> {\r\n public static defaultProps = Object.assign(\r\n {},\r\n { validateForm: true, submitDisablesInputs: true, resetEnablesInputs: true }\r\n );\r\n\r\n constructor(props: DynamicSubmitProps) {\r\n super(props);\r\n this.state = {\r\n buttonState: DynamicSubmitMode.Normal,\r\n };\r\n this.handleClick = this.handleClick.bind(this);\r\n this.submitting = this.submitting.bind(this);\r\n this.error = this.error.bind(this);\r\n this.success = this.success.bind(this);\r\n this.reset = this.reset.bind(this);\r\n }\r\n\r\n public render() {\r\n const buttonClassName = classNames(\r\n this.props.className,\r\n this.renderClassName()\r\n );\r\n return (\r\n <SubmitRaw\r\n {...this.props}\r\n className={buttonClassName}\r\n onClick={this.handleClick}\r\n >\r\n {this.renderChildren()}\r\n </SubmitRaw>\r\n );\r\n }\r\n\r\n private handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n e.preventDefault();\r\n this.props.submitDisablesInputs &&\r\n this.props.formContext.disableComponents();\r\n this.props.onClick &&\r\n this.props.onClick(\r\n e,\r\n this.submitting,\r\n this.error,\r\n this.success,\r\n this.reset\r\n );\r\n }\r\n\r\n private submitting() {\r\n this.setState({ buttonState: DynamicSubmitMode.Submitting });\r\n }\r\n\r\n private error() {\r\n this.setState({ buttonState: DynamicSubmitMode.Error });\r\n }\r\n\r\n private success() {\r\n this.setState({ buttonState: DynamicSubmitMode.Success });\r\n }\r\n\r\n private reset() {\r\n this.props.resetEnablesInputs && this.props.formContext.enableComponents();\r\n this.setState({ buttonState: DynamicSubmitMode.Normal });\r\n }\r\n\r\n private renderChildren() {\r\n switch (this.state.buttonState) {\r\n case DynamicSubmitMode.Error:\r\n return this.props.errorChildren\r\n ? this.props.errorChildren\r\n : this.props.children;\r\n case DynamicSubmitMode.Submitting:\r\n return this.props.submittingChildren\r\n ? this.props.submittingChildren\r\n : this.props.children;\r\n case DynamicSubmitMode.Success:\r\n return this.props.successChildren\r\n ? this.props.successChildren\r\n : this.props.children;\r\n default:\r\n return this.props.children;\r\n }\r\n }\r\n\r\n private renderClassName() {\r\n switch (this.state.buttonState) {\r\n case DynamicSubmitMode.Error:\r\n return this.props.errorClassName ? this.props.errorClassName : '';\r\n case DynamicSubmitMode.Submitting:\r\n return this.props.submittingClassName\r\n ? this.props.submittingClassName\r\n : '';\r\n case DynamicSubmitMode.Success:\r\n return this.props.successClassName ? this.props.successClassName : '';\r\n default:\r\n return this.props.normalClassName ? this.props.normalClassName : '';\r\n }\r\n }\r\n}\r\n\r\nexport const DynamicSubmit = withThemeContext<\r\n DynamicSubmitProps,\r\n InstanceType<typeof DynamicSubmitRaw>\r\n>(withFormContext<DynamicSubmitProps>(DynamicSubmitRaw), 'dynamicSubmit');\r\n\r\nexport default DynamicSubmit;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"DynamicSubmit.js","names":["React","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_withFormContext","_Submit","_withThemeContext","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","DynamicSubmitMode","exports","DynamicSubmitRaw","PureComponent","constructor","props","state","buttonState","Normal","handleClick","submitting","error","success","reset","render","buttonClassName","classNames","className","renderClassName","createElement","SubmitRaw","onClick","renderChildren","e","preventDefault","submitDisablesInputs","formContext","disableComponents","setState","Submitting","Error","Success","resetEnablesInputs","enableComponents","errorChildren","children","submittingChildren","successChildren","errorClassName","submittingClassName","successClassName","normalClassName","defaultProps","validateForm","DynamicSubmit","withThemeContext","withFormContext","_default"],"sources":["../../../src/lib/components/dynamicSubmit/DynamicSubmit.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport { withFormContext } from '../form/withFormContext';\r\nimport { FormContextProps } from '../form/FormContext';\r\nimport { SubmitProps } from '../submit';\r\nimport { Omit } from '../utils/Typescript';\r\nimport { SubmitRaw } from './../submit/Submit';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\n\r\n// Misc\r\n\r\nexport enum DynamicSubmitMode {\r\n Normal,\r\n Submitting,\r\n Error,\r\n Success,\r\n}\r\n\r\nexport type DynamicSubmitProps = Omit<SubmitProps, 'onClick'> & {\r\n onClick?: (\r\n e: React.MouseEvent<HTMLButtonElement>,\r\n submitting: () => void,\r\n error: () => void,\r\n success: () => void,\r\n reset: () => void\r\n ) => void;\r\n submittingChildren?: JSX.Element | string;\r\n errorChildren?: JSX.Element | string;\r\n successChildren?: JSX.Element | string;\r\n\r\n submittingClassName?: string;\r\n errorClassName?: string;\r\n successClassName?: string;\r\n normalClassName?: string;\r\n\r\n submitDisablesInputs?: boolean;\r\n resetEnablesInputs?: boolean;\r\n} & FormContextProps;\r\n\r\nexport interface DynamicSubmitState {\r\n buttonState: DynamicSubmitMode;\r\n}\r\n\r\nexport class DynamicSubmitRaw extends React.PureComponent<\r\n DynamicSubmitProps,\r\n DynamicSubmitState\r\n> {\r\n public static defaultProps = Object.assign(\r\n {},\r\n { validateForm: true, submitDisablesInputs: true, resetEnablesInputs: true }\r\n );\r\n\r\n constructor(props: DynamicSubmitProps) {\r\n super(props);\r\n this.state = {\r\n buttonState: DynamicSubmitMode.Normal,\r\n };\r\n this.handleClick = this.handleClick.bind(this);\r\n this.submitting = this.submitting.bind(this);\r\n this.error = this.error.bind(this);\r\n this.success = this.success.bind(this);\r\n this.reset = this.reset.bind(this);\r\n }\r\n\r\n public render() {\r\n const buttonClassName = classNames(\r\n this.props.className,\r\n this.renderClassName()\r\n );\r\n return (\r\n <SubmitRaw\r\n {...this.props}\r\n className={buttonClassName}\r\n onClick={this.handleClick}\r\n >\r\n {this.renderChildren()}\r\n </SubmitRaw>\r\n );\r\n }\r\n\r\n private handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n e.preventDefault();\r\n this.props.submitDisablesInputs &&\r\n this.props.formContext.disableComponents();\r\n this.props.onClick &&\r\n this.props.onClick(\r\n e,\r\n this.submitting,\r\n this.error,\r\n this.success,\r\n this.reset\r\n );\r\n }\r\n\r\n private submitting() {\r\n this.setState({ buttonState: DynamicSubmitMode.Submitting });\r\n }\r\n\r\n private error() {\r\n this.setState({ buttonState: DynamicSubmitMode.Error });\r\n }\r\n\r\n private success() {\r\n this.setState({ buttonState: DynamicSubmitMode.Success });\r\n }\r\n\r\n private reset() {\r\n this.props.resetEnablesInputs && this.props.formContext.enableComponents();\r\n this.setState({ buttonState: DynamicSubmitMode.Normal });\r\n }\r\n\r\n private renderChildren() {\r\n switch (this.state.buttonState) {\r\n case DynamicSubmitMode.Error:\r\n return this.props.errorChildren\r\n ? this.props.errorChildren\r\n : this.props.children;\r\n case DynamicSubmitMode.Submitting:\r\n return this.props.submittingChildren\r\n ? this.props.submittingChildren\r\n : this.props.children;\r\n case DynamicSubmitMode.Success:\r\n return this.props.successChildren\r\n ? this.props.successChildren\r\n : this.props.children;\r\n default:\r\n return this.props.children;\r\n }\r\n }\r\n\r\n private renderClassName() {\r\n switch (this.state.buttonState) {\r\n case DynamicSubmitMode.Error:\r\n return this.props.errorClassName ? this.props.errorClassName : '';\r\n case DynamicSubmitMode.Submitting:\r\n return this.props.submittingClassName\r\n ? this.props.submittingClassName\r\n : '';\r\n case DynamicSubmitMode.Success:\r\n return this.props.successClassName ? this.props.successClassName : '';\r\n default:\r\n return this.props.normalClassName ? this.props.normalClassName : '';\r\n }\r\n }\r\n}\r\n\r\nexport const DynamicSubmit = withThemeContext<\r\n DynamicSubmitProps,\r\n InstanceType<typeof DynamicSubmitRaw>\r\n>(withFormContext<DynamicSubmitProps>(DynamicSubmitRaw), 'dynamicSubmit');\r\n\r\nexport default DynamicSubmit;\r\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export * from './DynamicSubmit';
2
- export { default } from './DynamicSubmit';
1
+ export * from './DynamicSubmit';
2
+ export { default } from './DynamicSubmit';
@@ -1,15 +1,15 @@
1
- /// <reference types="react" />
2
- import { BaseInputProps, BaseInputState, BaseInput } from '../base/input/BaseInput';
3
- export interface ExternalValidationComponentProps extends BaseInputProps<HTMLInputElement> {
4
- isValid: boolean;
5
- }
6
- export interface ExternalValidationComponentState extends BaseInputState {
7
- }
8
- export declare class ExternalValidationComponentRaw extends BaseInput<ExternalValidationComponentProps, ExternalValidationComponentState, HTMLInputElement> {
9
- static defaultProps: ExternalValidationComponentProps;
10
- constructor(props: ExternalValidationComponentProps);
11
- componentDidUpdate(prevProps: ExternalValidationComponentProps, prevState: ExternalValidationComponentState): void;
12
- render(): any;
13
- }
14
- export declare const ExternalValidationComponent: import("react").ForwardRefExoticComponent<ExternalValidationComponentProps & import("react").RefAttributes<ExternalValidationComponentRaw>>;
15
- export default ExternalValidationComponent;
1
+ /// <reference types="react" />
2
+ import { BaseInputProps, BaseInputState, BaseInput } from '../base/input/BaseInput';
3
+ export interface ExternalValidationComponentProps extends BaseInputProps<HTMLInputElement> {
4
+ isValid: boolean;
5
+ }
6
+ export interface ExternalValidationComponentState extends BaseInputState {
7
+ }
8
+ export declare class ExternalValidationComponentRaw extends BaseInput<ExternalValidationComponentProps, ExternalValidationComponentState, HTMLInputElement> {
9
+ static defaultProps: ExternalValidationComponentProps;
10
+ constructor(props: ExternalValidationComponentProps);
11
+ componentDidUpdate(prevProps: ExternalValidationComponentProps, prevState: ExternalValidationComponentState): void;
12
+ render(): any;
13
+ }
14
+ export declare const ExternalValidationComponent: import("react").ForwardRefExoticComponent<ExternalValidationComponentProps & import("react").RefAttributes<ExternalValidationComponentRaw>>;
15
+ export default ExternalValidationComponent;
@@ -1,2 +1,2 @@
1
- export * from './ExternalValidationComponent';
2
- export { default } from './ExternalValidationComponent';
1
+ export * from './ExternalValidationComponent';
2
+ export { default } from './ExternalValidationComponent';
@@ -1,47 +1,47 @@
1
- import * as React from 'react';
2
- import { FormContextState, FormComponentContextState, ComponentsDict } from './FormContext';
3
- import { ThemeContextProps } from '../themeProvider/ThemeContext';
4
- export declare type FormProps = React.PropsWithChildren<ThemeContextProps & {
5
- id?: string;
6
- className?: string;
7
- noValidate?: boolean;
8
- onSubmit?: () => void;
9
- extraComponents?: ComponentsDict;
10
- component?: keyof JSX.IntrinsicElements;
11
- onValidChanged?: (isValid: boolean, errors?: FormComponentContextState[]) => void;
12
- }>;
13
- export interface FormState {
14
- contextState: FormContextState;
15
- }
16
- export declare class Form extends React.PureComponent<FormProps, FormState> {
17
- static defaultProps: {
18
- noValidate: boolean;
19
- showExpandAll: boolean;
20
- component: keyof JSX.IntrinsicElements;
21
- };
22
- constructor(props: FormProps);
23
- componentDidUpdate(prevProps: Readonly<FormProps>, prevState: Readonly<FormState>, snapshot?: any): void;
24
- disableComponents(): void;
25
- enableComponents(): void;
26
- touchAll(): void;
27
- unTouchAll(): void;
28
- render(): JSX.Element;
29
- private mergeContext;
30
- private onSubmit;
31
- private subscribe;
32
- private unSubscribe;
33
- private getIsFormValid;
34
- private updateCallback;
35
- }
36
- declare const _default: React.ForwardRefExoticComponent<ThemeContextProps & {
37
- id?: string;
38
- className?: string;
39
- noValidate?: boolean;
40
- onSubmit?: () => void;
41
- extraComponents?: ComponentsDict;
42
- component?: keyof JSX.IntrinsicElements;
43
- onValidChanged?: (isValid: boolean, errors?: FormComponentContextState[]) => void;
44
- } & {
45
- children?: React.ReactNode;
46
- } & React.RefAttributes<Form>>;
47
- export default _default;
1
+ import * as React from 'react';
2
+ import { FormContextState, FormComponentContextState, ComponentsDict } from './FormContext';
3
+ import { ThemeContextProps } from '../themeProvider/ThemeContext';
4
+ export type FormProps = React.PropsWithChildren<ThemeContextProps & {
5
+ id?: string;
6
+ className?: string;
7
+ noValidate?: boolean;
8
+ onSubmit?: () => void;
9
+ extraComponents?: ComponentsDict;
10
+ component?: keyof JSX.IntrinsicElements;
11
+ onValidChanged?: (isValid: boolean, errors?: FormComponentContextState[]) => void;
12
+ }>;
13
+ export interface FormState {
14
+ contextState: FormContextState;
15
+ }
16
+ export declare class Form extends React.PureComponent<FormProps, FormState> {
17
+ static defaultProps: {
18
+ noValidate: boolean;
19
+ showExpandAll: boolean;
20
+ component: keyof JSX.IntrinsicElements;
21
+ };
22
+ constructor(props: FormProps);
23
+ componentDidUpdate(prevProps: Readonly<FormProps>, prevState: Readonly<FormState>, snapshot?: any): void;
24
+ disableComponents(): void;
25
+ enableComponents(): void;
26
+ touchAll(): void;
27
+ unTouchAll(): void;
28
+ render(): React.JSX.Element;
29
+ private mergeContext;
30
+ private onSubmit;
31
+ private subscribe;
32
+ private unSubscribe;
33
+ private getIsFormValid;
34
+ private updateCallback;
35
+ }
36
+ declare const _default: React.ForwardRefExoticComponent<ThemeContextProps & {
37
+ id?: string;
38
+ className?: string;
39
+ noValidate?: boolean;
40
+ onSubmit?: () => void;
41
+ extraComponents?: ComponentsDict;
42
+ component?: keyof JSX.IntrinsicElements;
43
+ onValidChanged?: (isValid: boolean, errors?: FormComponentContextState[]) => void;
44
+ } & {
45
+ children?: React.ReactNode;
46
+ } & React.RefAttributes<Form>>;
47
+ export default _default;
@@ -1,30 +1,30 @@
1
- import * as React from 'react';
2
- import { ValidationError, ComponentApi } from '../base/input';
3
- import { DeepPartial, PartialBy } from '../utils/Typescript';
4
- export declare type OmitFormContext<P extends FormContextProps> = PartialBy<P, 'formContext'>;
5
- export interface FormComponentValidationContextState {
6
- isValid: boolean;
7
- errors: ValidationError[];
8
- name: JSX.Element | string;
9
- }
10
- export interface FormComponentContextState {
11
- validation: FormComponentValidationContextState;
12
- componentApi: ComponentApi;
13
- }
14
- export interface FormContextProps {
15
- formContext?: FormContextState;
16
- }
17
- export declare type ComponentsDict = {
18
- [componentId: string]: FormComponentContextState;
19
- };
20
- export interface FormContextState {
21
- subscribe: (componentId: string, componentState: FormComponentContextState) => void;
22
- unSubscribe: (componentId: string) => void;
23
- isFormValid: boolean;
24
- updateCallback: (componentId: string, newComponentState: DeepPartial<FormComponentContextState>) => void;
25
- disableComponents: () => void;
26
- enableComponents: () => void;
27
- components: ComponentsDict;
28
- }
29
- export declare const FormContextProvider: React.Provider<FormContextState>;
30
- export declare const FormContextConsumer: React.Consumer<FormContextState>;
1
+ import * as React from 'react';
2
+ import { ValidationError, ComponentApi } from '../base/input';
3
+ import { DeepPartial, PartialBy } from '../utils/Typescript';
4
+ export type OmitFormContext<P extends FormContextProps> = PartialBy<P, 'formContext'>;
5
+ export interface FormComponentValidationContextState {
6
+ isValid: boolean;
7
+ errors: ValidationError[];
8
+ name: JSX.Element | string;
9
+ }
10
+ export interface FormComponentContextState {
11
+ validation: FormComponentValidationContextState;
12
+ componentApi: ComponentApi;
13
+ }
14
+ export interface FormContextProps {
15
+ formContext?: FormContextState;
16
+ }
17
+ export type ComponentsDict = {
18
+ [componentId: string]: FormComponentContextState;
19
+ };
20
+ export interface FormContextState {
21
+ subscribe: (componentId: string, componentState: FormComponentContextState) => void;
22
+ unSubscribe: (componentId: string) => void;
23
+ isFormValid: boolean;
24
+ updateCallback: (componentId: string, newComponentState: DeepPartial<FormComponentContextState>) => void;
25
+ disableComponents: () => void;
26
+ enableComponents: () => void;
27
+ components: ComponentsDict;
28
+ }
29
+ export declare const FormContextProvider: React.Provider<FormContextState>;
30
+ export declare const FormContextConsumer: React.Consumer<FormContextState>;
@@ -1,38 +1,38 @@
1
- import * as React from 'react';
2
- import { FormContextProps, FormComponentContextState } from './FormContext';
3
- export interface FormValidationSummaryComponentProps {
4
- componentsWithErrors: FormComponentContextState[];
5
- }
6
- export declare type FormValidationSummaryProps = {
7
- containerClassName?: string;
8
- headerClassName?: string;
9
- footerClassName?: string;
10
- title?: string | JSX.Element;
11
- footer?: string | JSX.Element;
12
- Component?: React.ComponentType<FormValidationSummaryComponentProps> | React.StatelessComponent<FormValidationSummaryComponentProps>;
13
- } & FormContextProps;
14
- export interface FormValidationSummaryState {
15
- }
16
- export declare const DefaultComponent: React.FC<FormValidationSummaryComponentProps>;
17
- export declare class FormValidationSummaryRaw extends React.PureComponent<FormValidationSummaryProps, FormValidationSummaryState> {
18
- static defaultProps: {
19
- title: string;
20
- footer: string;
21
- Component: React.FC<FormValidationSummaryComponentProps>;
22
- containerClassName: string;
23
- headerClassName: string;
24
- footerClassName: string;
25
- };
26
- componentId: string;
27
- render(): JSX.Element;
28
- }
29
- export declare const FormValidationSummary: React.ForwardRefExoticComponent<React.RefAttributes<React.Component<FormValidationSummaryProps, any, any>> & {
30
- containerClassName?: string;
31
- headerClassName?: string;
32
- footerClassName?: string;
33
- title?: string | JSX.Element;
34
- footer?: string | JSX.Element;
35
- Component?: React.ComponentType<FormValidationSummaryComponentProps> | React.StatelessComponent<FormValidationSummaryComponentProps>;
36
- } & FormContextProps & {
37
- children?: React.ReactNode;
38
- }>;
1
+ import * as React from 'react';
2
+ import { FormContextProps, FormComponentContextState } from './FormContext';
3
+ export interface FormValidationSummaryComponentProps {
4
+ componentsWithErrors: FormComponentContextState[];
5
+ }
6
+ export type FormValidationSummaryProps = {
7
+ containerClassName?: string;
8
+ headerClassName?: string;
9
+ footerClassName?: string;
10
+ title?: string | JSX.Element;
11
+ footer?: string | JSX.Element;
12
+ Component?: React.ComponentType<FormValidationSummaryComponentProps> | React.FC<FormValidationSummaryComponentProps>;
13
+ } & FormContextProps;
14
+ export interface FormValidationSummaryState {
15
+ }
16
+ export declare const DefaultComponent: React.FC<FormValidationSummaryComponentProps>;
17
+ export declare class FormValidationSummaryRaw extends React.PureComponent<FormValidationSummaryProps, FormValidationSummaryState> {
18
+ static defaultProps: {
19
+ title: string;
20
+ footer: string;
21
+ Component: React.FC<FormValidationSummaryComponentProps>;
22
+ containerClassName: string;
23
+ headerClassName: string;
24
+ footerClassName: string;
25
+ };
26
+ componentId: string;
27
+ render(): React.JSX.Element;
28
+ }
29
+ export declare const FormValidationSummary: React.ForwardRefExoticComponent<React.RefAttributes<React.Component<FormValidationSummaryProps, any, any>> & {
30
+ containerClassName?: string;
31
+ headerClassName?: string;
32
+ footerClassName?: string;
33
+ title?: string | JSX.Element;
34
+ footer?: string | JSX.Element;
35
+ Component?: React.ComponentType<FormValidationSummaryComponentProps> | React.FC<FormValidationSummaryComponentProps>;
36
+ } & FormContextProps & {
37
+ children?: React.ReactNode;
38
+ }>;
@@ -1 +1 @@
1
- {"version":3,"file":"FormValidationSummary.js","names":["React","_interopRequireWildcard","require","_Guid","_interopRequireDefault","_withFormContext","_Button","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ArrowIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","DefaultComponent","Fragment","componentsWithErrors","map","component","index","className","validation","name","errors","err","errIndex","style","flex","componentApi","focus","scrollTo","Button","icon","circular","type","small","blank","onClick","exports","FormValidationSummaryRaw","PureComponent","constructor","arguments","componentId","guid","render","formContext","keys","components","filter","isValid","console","warn","containerClassName","classNames","headerClassName","footerClassName","length","title","Component","footer","FormValidationSummary","withFormContext"],"sources":["../../../src/lib/components/form/FormValidationSummary.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport guid from '../utils/Guid';\r\nimport { withFormContext } from './withFormContext';\r\nimport { FormContextProps, FormComponentContextState } from './FormContext';\r\nimport { Button } from './../button/Button';\r\nimport classNames from 'classnames';\r\n\r\nimport * as ArrowIcon from 'material-design-icons/maps/svg/production/ic_my_location_24px.svg';\r\n\r\nexport interface FormValidationSummaryComponentProps {\r\n componentsWithErrors: FormComponentContextState[];\r\n}\r\n\r\nexport type FormValidationSummaryProps = {\r\n containerClassName?: string;\r\n headerClassName?: string;\r\n footerClassName?: string;\r\n title?: string | JSX.Element;\r\n footer?: string | JSX.Element;\r\n Component?:\r\n | React.ComponentType<FormValidationSummaryComponentProps>\r\n | React.StatelessComponent<FormValidationSummaryComponentProps>;\r\n} & FormContextProps;\r\n\r\nexport interface FormValidationSummaryState {}\r\n\r\nexport const DefaultComponent: React.FC<FormValidationSummaryComponentProps> = props => (\r\n <React.Fragment>\r\n {props.componentsWithErrors.map((component, index) => {\r\n return (\r\n <div key={index} className=\"formValidationSummary__item\">\r\n <div className=\"formValidationSummary__item__header\">\r\n {component.validation.name ? component.validation.name : 'unknown'}\r\n </div>\r\n <div className=\"formValidationSummary__item__errors\">\r\n {component.validation.errors &&\r\n component.validation.errors.map((err, errIndex) => (\r\n <span\r\n className=\"formValidationSummary__item__error\"\r\n key={errIndex}\r\n >\r\n {err}\r\n </span>\r\n ))}\r\n </div>\r\n <div style={{ flex: 'auto' }} />\r\n {component.componentApi &&\r\n component.componentApi.focus &&\r\n component.componentApi.scrollTo && (\r\n <Button\r\n icon={true}\r\n className=\"formValidationSummary__item__locate-button\"\r\n circular={true}\r\n type=\"error\"\r\n small={true}\r\n blank={true}\r\n onClick={() => {\r\n component.componentApi.scrollTo();\r\n component.componentApi.focus();\r\n }}\r\n >\r\n <ArrowIcon />\r\n </Button>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </React.Fragment>\r\n);\r\n\r\nexport class FormValidationSummaryRaw extends React.PureComponent<\r\n FormValidationSummaryProps,\r\n FormValidationSummaryState\r\n> {\r\n public static defaultProps = {\r\n title: 'Hang on',\r\n footer: '... needs fixing',\r\n Component: DefaultComponent,\r\n containerClassName: 'formValidationSummary',\r\n headerClassName: 'formValidationSummary__header',\r\n footerClassName: 'formValidationSummary__footer',\r\n };\r\n\r\n public componentId = guid();\r\n\r\n public render() {\r\n const componentsWithErrors = this.props.formContext\r\n ? Object.keys(this.props.formContext.components)\r\n .map(key => this.props.formContext.components[key])\r\n .filter(component => {\r\n if (!component.validation.isValid && !component.validation.name) {\r\n console.warn(\r\n component,\r\n 'Has validation error. FormValidationSummary is present but the component has no validation name'\r\n );\r\n }\r\n return !component.validation.isValid;\r\n })\r\n : [];\r\n const containerClassName = classNames(this.props.containerClassName);\r\n const headerClassName = classNames(this.props.headerClassName);\r\n const footerClassName = classNames(this.props.footerClassName);\r\n return (\r\n componentsWithErrors.length > 0 && (\r\n <div className={containerClassName}>\r\n {this.props.title && (\r\n <div className={headerClassName}>{this.props.title}</div>\r\n )}\r\n <this.props.Component componentsWithErrors={componentsWithErrors} />\r\n {this.props.footer && (\r\n <div className={footerClassName}>{this.props.footer}</div>\r\n )}\r\n </div>\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport const FormValidationSummary = withFormContext<\r\n FormValidationSummaryProps\r\n>(FormValidationSummaryRaw);\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"FormValidationSummary.js","names":["React","_interopRequireWildcard","require","_Guid","_interopRequireDefault","_withFormContext","_Button","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ArrowIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","DefaultComponent","Fragment","componentsWithErrors","map","component","index","className","validation","name","errors","err","errIndex","style","flex","componentApi","focus","scrollTo","Button","icon","circular","type","small","blank","onClick","exports","FormValidationSummaryRaw","PureComponent","constructor","arguments","componentId","guid","render","formContext","keys","components","filter","isValid","console","warn","containerClassName","classNames","headerClassName","footerClassName","length","title","Component","footer","FormValidationSummary","withFormContext"],"sources":["../../../src/lib/components/form/FormValidationSummary.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport guid from '../utils/Guid';\r\nimport { withFormContext } from './withFormContext';\r\nimport { FormContextProps, FormComponentContextState } from './FormContext';\r\nimport { Button } from './../button/Button';\r\nimport classNames from 'classnames';\r\n\r\nimport * as ArrowIcon from 'material-design-icons/maps/svg/production/ic_my_location_24px.svg';\r\n\r\nexport interface FormValidationSummaryComponentProps {\r\n componentsWithErrors: FormComponentContextState[];\r\n}\r\n\r\nexport type FormValidationSummaryProps = {\r\n containerClassName?: string;\r\n headerClassName?: string;\r\n footerClassName?: string;\r\n title?: string | JSX.Element;\r\n footer?: string | JSX.Element;\r\n Component?:\r\n | React.ComponentType<FormValidationSummaryComponentProps>\r\n | React.FC<FormValidationSummaryComponentProps>;\r\n} & FormContextProps;\r\n\r\nexport interface FormValidationSummaryState {}\r\n\r\nexport const DefaultComponent: React.FC<FormValidationSummaryComponentProps> = (\r\n props\r\n) => (\r\n <React.Fragment>\r\n {props.componentsWithErrors.map((component, index) => {\r\n return (\r\n <div key={index} className=\"formValidationSummary__item\">\r\n <div className=\"formValidationSummary__item__header\">\r\n {component.validation.name ? component.validation.name : 'unknown'}\r\n </div>\r\n <div className=\"formValidationSummary__item__errors\">\r\n {component.validation.errors &&\r\n component.validation.errors.map((err, errIndex) => (\r\n <span\r\n className=\"formValidationSummary__item__error\"\r\n key={errIndex}\r\n >\r\n {err}\r\n </span>\r\n ))}\r\n </div>\r\n <div style={{ flex: 'auto' }} />\r\n {component.componentApi &&\r\n component.componentApi.focus &&\r\n component.componentApi.scrollTo && (\r\n <Button\r\n icon={true}\r\n className=\"formValidationSummary__item__locate-button\"\r\n circular={true}\r\n type=\"error\"\r\n small={true}\r\n blank={true}\r\n onClick={() => {\r\n component.componentApi.scrollTo();\r\n component.componentApi.focus();\r\n }}\r\n >\r\n <ArrowIcon />\r\n </Button>\r\n )}\r\n </div>\r\n );\r\n })}\r\n </React.Fragment>\r\n);\r\n\r\nexport class FormValidationSummaryRaw extends React.PureComponent<\r\n FormValidationSummaryProps,\r\n FormValidationSummaryState\r\n> {\r\n public static defaultProps = {\r\n title: 'Hang on',\r\n footer: '... needs fixing',\r\n Component: DefaultComponent,\r\n containerClassName: 'formValidationSummary',\r\n headerClassName: 'formValidationSummary__header',\r\n footerClassName: 'formValidationSummary__footer',\r\n };\r\n\r\n public componentId = guid();\r\n\r\n public render() {\r\n const componentsWithErrors = this.props.formContext\r\n ? Object.keys(this.props.formContext.components)\r\n .map((key) => this.props.formContext.components[key])\r\n .filter((component) => {\r\n if (!component.validation.isValid && !component.validation.name) {\r\n console.warn(\r\n component,\r\n 'Has validation error. FormValidationSummary is present but the component has no validation name'\r\n );\r\n }\r\n return !component.validation.isValid;\r\n })\r\n : [];\r\n const containerClassName = classNames(this.props.containerClassName);\r\n const headerClassName = classNames(this.props.headerClassName);\r\n const footerClassName = classNames(this.props.footerClassName);\r\n return (\r\n componentsWithErrors.length > 0 && (\r\n <div className={containerClassName}>\r\n {this.props.title && (\r\n <div className={headerClassName}>{this.props.title}</div>\r\n )}\r\n <this.props.Component componentsWithErrors={componentsWithErrors} />\r\n {this.props.footer && (\r\n <div className={footerClassName}>{this.props.footer}</div>\r\n )}\r\n </div>\r\n )\r\n );\r\n }\r\n}\r\n\r\nexport const FormValidationSummary =\r\n withFormContext<FormValidationSummaryProps>(FormValidationSummaryRaw);\r\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export * from './Form';
2
- export * from './FormValidationSummary';
3
- export * from './FormContext';
4
- export * from './withFormContext';
5
- export { default } from './Form';
1
+ export * from './Form';
2
+ export * from './FormValidationSummary';
3
+ export * from './FormContext';
4
+ export * from './withFormContext';
5
+ export { default } from './Form';
@@ -1,3 +1,3 @@
1
- import * as React from 'react';
2
- import { FormContextProps } from './FormContext';
3
- export declare function withFormContext<P extends FormContextProps>(Component: React.ComponentClass<P>): React.ForwardRefExoticComponent<React.RefAttributes<InstanceType<typeof Component>> & React.PropsWithoutRef<React.PropsWithChildren<P>>>;
1
+ import * as React from 'react';
2
+ import { FormContextProps } from './FormContext';
3
+ export declare function withFormContext<P extends FormContextProps>(Component: React.ComponentClass<P>): React.ForwardRefExoticComponent<React.RefAttributes<InstanceType<typeof Component>> & React.PropsWithoutRef<React.PropsWithChildren<P>>>;