guestbell-forms 3.0.39 → 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 (335) 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 +152 -170
  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/types/ElementOverrideProp.d.ts +3 -3
  145. package/build/types/Theme.d.ts +4 -4
  146. package/build/types/ThemeOverrides.d.ts +45 -45
  147. package/build/validators/EmailValidator.d.ts +4 -4
  148. package/build/validators/LatitudeValidator.d.ts +4 -4
  149. package/build/validators/LongitudeValidator.d.ts +4 -4
  150. package/build/validators/NumberValidator.d.ts +12 -12
  151. package/build/validators/NumberValidator.js +1 -0
  152. package/build/validators/NumberValidator.js.map +1 -1
  153. package/build/validators/UrlValidator.d.ts +4 -4
  154. package/build/validators/base.d.ts +4 -4
  155. package/build/validators/index.d.ts +6 -6
  156. package/package.json +130 -136
  157. package/src/lib/components/base/input/BaseInput.tsx +526 -0
  158. package/src/lib/components/base/input/index.tsx +1 -0
  159. package/src/lib/components/bookingCalendar/BookingCalendar.tsx +327 -0
  160. package/src/lib/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.tsx +249 -0
  161. package/src/lib/components/bookingCalendar/bookingCalendarControls/classes.ts +20 -0
  162. package/src/lib/components/bookingCalendar/bookingCalendarControls/index.ts +2 -0
  163. package/src/lib/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.tsx +104 -0
  164. package/src/lib/components/bookingCalendar/bookingCalendarDatePicker/classes.ts +9 -0
  165. package/src/lib/components/bookingCalendar/bookingCalendarDatePicker/index.ts +2 -0
  166. package/src/lib/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.tsx +56 -0
  167. package/src/lib/components/bookingCalendar/bookingCalendarGrid/classes.ts +9 -0
  168. package/src/lib/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.tsx +97 -0
  169. package/src/lib/components/bookingCalendar/bookingCalendarItem/classes.ts +7 -0
  170. package/src/lib/components/bookingCalendar/bookingCalendarItem/index.ts +2 -0
  171. package/src/lib/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.tsx +69 -0
  172. package/src/lib/components/bookingCalendar/bookingCalendarLane/classes.ts +7 -0
  173. package/src/lib/components/bookingCalendar/bookingCalendarLane/index.ts +2 -0
  174. package/src/lib/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.tsx +28 -0
  175. package/src/lib/components/bookingCalendar/bookingCalendarLaneHeader/classes.ts +7 -0
  176. package/src/lib/components/bookingCalendar/bookingCalendarLaneHeader/index.ts +1 -0
  177. package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.tsx +57 -0
  178. package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.tsx +53 -0
  179. package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/classes.ts +9 -0
  180. package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/index.ts +2 -0
  181. package/src/lib/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.tsx +57 -0
  182. package/src/lib/components/bookingCalendar/bookingCalendarRenderItem/classes.ts +11 -0
  183. package/src/lib/components/bookingCalendar/bookingCalendarRenderItem/index.ts +1 -0
  184. package/src/lib/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.tsx +217 -0
  185. package/src/lib/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.tsx +53 -0
  186. package/src/lib/components/bookingCalendar/bookingCalendarTimeAxis/classes.ts +9 -0
  187. package/src/lib/components/bookingCalendar/classes.ts +21 -0
  188. package/src/lib/components/bookingCalendar/common.ts +61 -0
  189. package/src/lib/components/bookingCalendar/index.ts +3 -0
  190. package/src/lib/components/bookingCalendar/utils.ts +348 -0
  191. package/src/lib/components/button/Button.tsx +193 -0
  192. package/src/lib/components/button/index.tsx +2 -0
  193. package/src/lib/components/checkbox/Checkbox.tsx +178 -0
  194. package/src/lib/components/checkbox/index.tsx +2 -0
  195. package/src/lib/components/dropdown/Dropdown.tsx +135 -0
  196. package/src/lib/components/dropdown/index.tsx +2 -0
  197. package/src/lib/components/dynamicSubmit/DynamicSubmit.tsx +153 -0
  198. package/src/lib/components/dynamicSubmit/index.tsx +2 -0
  199. package/src/lib/components/externalValidationComponent/ExternalValidationComponent.tsx +78 -0
  200. package/src/lib/components/externalValidationComponent/index.tsx +2 -0
  201. package/src/lib/components/form/Form.tsx +276 -0
  202. package/src/lib/components/form/FormContext.ts +49 -0
  203. package/src/lib/components/form/FormValidationSummary.tsx +122 -0
  204. package/src/lib/components/form/index.tsx +5 -0
  205. package/src/lib/components/form/withFormContext.tsx +20 -0
  206. package/src/lib/components/inputGroup/InputGroup.tsx +60 -0
  207. package/src/lib/components/inputGroup/index.tsx +2 -0
  208. package/src/lib/components/inputHeader/InputHeader.tsx +448 -0
  209. package/src/lib/components/inputHeader/InputHeaderContext.ts +42 -0
  210. package/src/lib/components/inputHeader/index.tsx +2 -0
  211. package/src/lib/components/inputHeader/withInputHeaderContext.tsx +24 -0
  212. package/src/lib/components/money/Money.tsx +298 -0
  213. package/src/lib/components/money/index.tsx +2 -0
  214. package/src/lib/components/numberInput/NumberInput.tsx +186 -0
  215. package/src/lib/components/numberInput/index.tsx +2 -0
  216. package/src/lib/components/openingHours/openingHoursDay/OpeningHoursDay.tsx +394 -0
  217. package/src/lib/components/openingHours/openingHoursDay/index.tsx +2 -0
  218. package/src/lib/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.tsx +227 -0
  219. package/src/lib/components/openingHours/openingHoursSpecial/index.tsx +2 -0
  220. package/src/lib/components/openingHours/openingHoursWeek/OpeningHoursWeek.tsx +283 -0
  221. package/src/lib/components/openingHours/openingHoursWeek/index.tsx +2 -0
  222. package/src/lib/components/openingHours/utils/OpeningHoursUtil.tsx +111 -0
  223. package/src/lib/components/radio/Radio.tsx +87 -0
  224. package/src/lib/components/radio/index.tsx +2 -0
  225. package/src/lib/components/radioContainer/RadioContainer.tsx +50 -0
  226. package/src/lib/components/radioContainer/index.tsx +2 -0
  227. package/src/lib/components/select/Select.tsx +335 -0
  228. package/src/lib/components/select/index.tsx +2 -0
  229. package/src/lib/components/submit/Submit.tsx +117 -0
  230. package/src/lib/components/submit/index.tsx +2 -0
  231. package/src/lib/components/submit/subComponents/SubmitValidationSummary.tsx +55 -0
  232. package/src/lib/components/tags/Tags.tsx +702 -0
  233. package/src/lib/components/tags/index.tsx +2 -0
  234. package/src/lib/components/tags/subComponents/TagsSuggestions.tsx +150 -0
  235. package/src/lib/components/text/Text.tsx +200 -0
  236. package/src/lib/components/text/index.tsx +2 -0
  237. package/src/lib/components/textArea/TextArea.tsx +109 -0
  238. package/src/lib/components/textArea/index.tsx +2 -0
  239. package/src/lib/components/themeProvider/ThemeContext.ts +16 -0
  240. package/src/lib/components/themeProvider/ThemeProvider.tsx +21 -0
  241. package/src/lib/components/themeProvider/index.tsx +4 -0
  242. package/src/lib/components/themeProvider/withThemeContext.tsx +30 -0
  243. package/src/lib/components/time/Time.tsx +296 -0
  244. package/src/lib/components/time/index.tsx +2 -0
  245. package/src/lib/components/timeSpan/TimeSpan.tsx +378 -0
  246. package/src/lib/components/timeSpan/index.tsx +2 -0
  247. package/src/lib/components/utils/Guid.ts +9 -0
  248. package/src/lib/components/utils/ShallowEqual.ts +75 -0
  249. package/src/lib/components/utils/TimeUtil.ts +22 -0
  250. package/src/lib/components/utils/Typescript.ts +11 -0
  251. package/src/lib/declarations/import.d.ts +1 -0
  252. package/src/lib/index.ts +24 -0
  253. package/src/lib/scss/components/base/index.scss +1 -0
  254. package/src/lib/scss/components/base/input/index.scss +1 -0
  255. package/src/lib/scss/components/base/input/input.scss +237 -0
  256. package/src/lib/scss/components/bookingCalendar/bookingCalendar.scss +272 -0
  257. package/src/lib/scss/components/bookingCalendar/index.scss +1 -0
  258. package/src/lib/scss/components/button/buttons.scss +161 -0
  259. package/src/lib/scss/components/button/index.scss +1 -0
  260. package/src/lib/scss/components/checkbox/checkbox.scss +115 -0
  261. package/src/lib/scss/components/checkbox/index.scss +1 -0
  262. package/src/lib/scss/components/dropdown/dropdown.scss +111 -0
  263. package/src/lib/scss/components/dropdown/index.scss +1 -0
  264. package/src/lib/scss/components/dynamicSubmit/dynamicSubmit.scss +1 -0
  265. package/src/lib/scss/components/dynamicSubmit/index.scss +1 -0
  266. package/src/lib/scss/components/form/form.scss +1 -0
  267. package/src/lib/scss/components/form/formValidationSummary.scss +55 -0
  268. package/src/lib/scss/components/form/index.scss +2 -0
  269. package/src/lib/scss/components/index.scss +21 -0
  270. package/src/lib/scss/components/inputGroup/index.scss +1 -0
  271. package/src/lib/scss/components/inputGroup/inputGroup.scss +67 -0
  272. package/src/lib/scss/components/inputHeader/index.scss +1 -0
  273. package/src/lib/scss/components/inputHeader/inputHeader.scss +132 -0
  274. package/src/lib/scss/components/money/index.scss +1 -0
  275. package/src/lib/scss/components/money/money.scss +51 -0
  276. package/src/lib/scss/components/numberInput/index.scss +1 -0
  277. package/src/lib/scss/components/numberInput/numberInput.scss +116 -0
  278. package/src/lib/scss/components/openingHours/index.scss +3 -0
  279. package/src/lib/scss/components/openingHours/openingHoursDay/index.scss +1 -0
  280. package/src/lib/scss/components/openingHours/openingHoursDay/openingHoursDay.scss +127 -0
  281. package/src/lib/scss/components/openingHours/openingHoursSpecial/index.scss +1 -0
  282. package/src/lib/scss/components/openingHours/openingHoursSpecial/openingHoursSpecial.scss +93 -0
  283. package/src/lib/scss/components/openingHours/openingHoursWeek/index.scss +1 -0
  284. package/src/lib/scss/components/openingHours/openingHoursWeek/openingHoursWeek.scss +23 -0
  285. package/src/lib/scss/components/radio/index.scss +1 -0
  286. package/src/lib/scss/components/radio/radio.scss +68 -0
  287. package/src/lib/scss/components/radioContainer/index.scss +1 -0
  288. package/src/lib/scss/components/radioContainer/radioContainer.scss +15 -0
  289. package/src/lib/scss/components/select/index.scss +1 -0
  290. package/src/lib/scss/components/select/select.scss +64 -0
  291. package/src/lib/scss/components/submit/index.scss +1 -0
  292. package/src/lib/scss/components/submit/submitValidationSummary.scss +35 -0
  293. package/src/lib/scss/components/tags/index.scss +1 -0
  294. package/src/lib/scss/components/tags/tags.scss +128 -0
  295. package/src/lib/scss/components/text/index.scss +1 -0
  296. package/src/lib/scss/components/text/text.scss +42 -0
  297. package/src/lib/scss/components/textArea/index.scss +1 -0
  298. package/src/lib/scss/components/textArea/textArea.scss +32 -0
  299. package/src/lib/scss/components/time/index.scss +1 -0
  300. package/src/lib/scss/components/time/time.scss +111 -0
  301. package/src/lib/scss/components/timeSpan/index.scss +1 -0
  302. package/src/lib/scss/components/timeSpan/timeSpan.scss +115 -0
  303. package/src/lib/scss/index.scss +8 -0
  304. package/src/lib/scss/styles/base.scss +7 -0
  305. package/src/lib/scss/styles/index.scss +2 -0
  306. package/src/lib/scss/styles/react-tippy.scss +4 -0
  307. package/src/lib/scss/variables/_buttons.scss +6 -0
  308. package/src/lib/scss/variables/_colors.scss +1 -0
  309. package/src/lib/scss/variables/_common.scss +12 -0
  310. package/src/lib/tsconfig.json +19 -0
  311. package/src/lib/types/ElementOverrideProp.ts +3 -0
  312. package/src/lib/types/Theme.ts +5 -0
  313. package/src/lib/types/ThemeOverrides.ts +46 -0
  314. package/src/lib/validators/EmailValidator.ts +15 -0
  315. package/src/lib/validators/LatitudeValidator.ts +25 -0
  316. package/src/lib/validators/LongitudeValidator.ts +25 -0
  317. package/src/lib/validators/NumberValidator.ts +50 -0
  318. package/src/lib/validators/UrlValidator.ts +20 -0
  319. package/src/lib/validators/base.ts +15 -0
  320. package/src/lib/validators/index.ts +6 -0
  321. package/src/stories/Basic.stories.ts +17 -0
  322. package/src/stories/Basic.tsx +1065 -0
  323. package/src/stories/Schedule.stories.ts +16 -0
  324. package/src/stories/Schedule.tsx +73 -0
  325. package/src/stories/ValidationPage.tsx +417 -0
  326. package/tsconfig.json +9 -22
  327. package/typedoc.json +6 -0
  328. package/webpack/webpack.config.base.js +139 -0
  329. package/webpack/webpack.config.dev.js +78 -0
  330. package/webpack/webpack.config.gh-pages.js +78 -0
  331. package/webpack/webpack.config.js +21 -0
  332. package/webpack/webpack.config.min.js +100 -0
  333. package/.vscode/launch.json +0 -15
  334. package/.vscode/settings.json +0 -27
  335. package/.vscode/tasks.json +0 -12
package/.env.bat ADDED
@@ -0,0 +1 @@
1
+ SET CONVENTIONAL_GITHUB_RELEASER_TOKEN=47a3416a6cbdd1f5862a09d0ff98704df80f43c5
package/.eslintrc.json CHANGED
@@ -1,14 +1,21 @@
1
- {
2
- "extends": "next/core-web-vitals",
3
- "rules": {
4
- "import/no-anonymous-default-export": "off"
5
- },
6
- "overrides": [
7
- {
8
- "files": ["src/**/*.stories.tsx"],
9
- "rules": {
10
- "import/no-anonymous-default-export": "off"
11
- }
12
- }
13
- ]
14
- }
1
+ {
2
+ "extends": [
3
+ "next/core-web-vitals",
4
+ "plugin:storybook/recommended",
5
+ "plugin:storybook/recommended",
6
+ "plugin:storybook/recommended"
7
+ ],
8
+ "rules": {
9
+ "import/no-anonymous-default-export": "off"
10
+ },
11
+ "overrides": [
12
+ {
13
+ "files": [
14
+ "src/**/*.stories.tsx"
15
+ ],
16
+ "rules": {
17
+ "import/no-anonymous-default-export": "off"
18
+ }
19
+ }
20
+ ]
21
+ }
@@ -1,99 +1,99 @@
1
- import * as React from 'react';
2
- import type { TippyProps } from '@tippy.js/react';
3
- import * as Validators from '../../../validators';
4
- import { FormContextProps } from '../../form/FormContext';
5
- import { Theme } from '../../../types/Theme';
6
- export interface ComponentApi {
7
- focus: () => void;
8
- touch: () => void;
9
- unTouch: () => void;
10
- enableComponent: () => void;
11
- disableComponent: () => void;
12
- scrollTo: () => void;
13
- }
14
- export declare type ValidationError = string | JSX.Element;
15
- export declare type AllowedHtmlElements = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
16
- export declare const defaultBaseTranslations: {
17
- required: string;
18
- };
19
- export declare type BaseTranslations = Partial<typeof defaultBaseTranslations>;
20
- export declare type BaseInputProps<HTMLType extends AllowedHtmlElements, TranslationsT extends BaseTranslations = BaseTranslations> = {
21
- theme?: Theme;
22
- id?: string;
23
- disabled?: boolean;
24
- className?: string;
25
- label?: string | JSX.Element;
26
- tooltip?: string | JSX.Element;
27
- tooltipProps?: TippyProps;
28
- value?: string;
29
- onChange?: (e: React.ChangeEvent<HTMLType>, isValid: boolean) => void;
30
- required?: boolean;
31
- customValidators?: Validators.IBaseValidator[];
32
- validators?: Validators.ValidatorTypes[];
33
- noValidate?: boolean;
34
- validationName?: string;
35
- touchOn?: 'focus' | 'blur';
36
- ignoreContext?: boolean;
37
- onTheFlightValidate?: (value: string) => boolean;
38
- onFocus?: () => void;
39
- onBlur?: () => void;
40
- onSuggestionsClosed?: () => void;
41
- onSuggestionsOpened?: () => void;
42
- onClick?: (e: React.MouseEvent) => void;
43
- title?: string | JSX.Element;
44
- onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
45
- errors?: ValidationError[];
46
- onErrorsChanged?: (errors: ValidationError[]) => void;
47
- showValidation?: boolean;
48
- reRendersWhenContextChanges?: boolean;
49
- defaultTouched?: boolean;
50
- translations?: TranslationsT;
51
- inputGroupClassName?: string;
52
- infoText?: string | JSX.Element;
53
- } & FormContextProps;
54
- export interface BaseInputState {
55
- isValid: boolean;
56
- value: string;
57
- errors: ValidationError[];
58
- validator: undefined;
59
- touched: boolean;
60
- disabled: boolean;
61
- focused: boolean;
62
- handleValueChangeEnabled: boolean;
63
- }
64
- export declare class BaseInput<P extends BaseInputProps<HTMLType, TranslationsT>, S extends BaseInputState, HTMLType extends AllowedHtmlElements, TranslationsT extends BaseTranslations = BaseTranslations> extends React.Component<P, S> implements ComponentApi {
65
- static defaultProps: BaseInputProps<never>;
66
- componentId: string;
67
- inputRef: React.RefObject<HTMLType>;
68
- protected containerRef: React.RefObject<HTMLDivElement>;
69
- private lastValidation;
70
- private lastInfoText;
71
- constructor(props: P, subscribe?: boolean);
72
- componentWillUnmount(): void;
73
- componentDidUpdate(oldProps: P, oldState: S): void;
74
- scrollTo(): void;
75
- touch(): void;
76
- unTouch(): void;
77
- disableComponent(): void;
78
- enableComponent(): void;
79
- focus(): void;
80
- shouldComponentUpdate(nextProps: P, nextState: S): boolean;
81
- protected getValidationClass(extraErrors?: ValidationError[]): "validation__success" | "validation__error";
82
- protected renderDefaultValidation(extraErrors?: ValidationError[]): JSX.Element;
83
- protected handleChange(event: React.ChangeEvent<HTMLType>, isValid?: boolean, errors?: ValidationError[]): void;
84
- protected subscribeSelf(props: P): void;
85
- protected handleBlur(): void;
86
- protected handleFocus(): void;
87
- protected getDisabled(): S["disabled"] | P["disabled"];
88
- protected setValid(): void;
89
- protected setInvalid(errors?: ValidationError[]): void;
90
- protected renderLabel(touchable?: boolean): JSX.Element;
91
- protected renderTitle(): JSX.Element | P["title"];
92
- protected handleValueChange(value: string, isValid?: boolean, errors?: ValidationError[], props?: P, initializing?: boolean): {
93
- isValid: boolean;
94
- errors: ValidationError[];
95
- };
96
- protected renderTooltip(content?: JSX.Element): JSX.Element;
97
- protected getTranslations(_defaultTranslations: BaseTranslations): TranslationsT;
98
- }
99
- export default BaseInput;
1
+ import * as React from 'react';
2
+ import type { TippyProps } from '@tippy.js/react';
3
+ import * as Validators from '../../../validators';
4
+ import { FormContextProps } from '../../form/FormContext';
5
+ import { Theme } from '../../../types/Theme';
6
+ export interface ComponentApi {
7
+ focus: () => void;
8
+ touch: () => void;
9
+ unTouch: () => void;
10
+ enableComponent: () => void;
11
+ disableComponent: () => void;
12
+ scrollTo: () => void;
13
+ }
14
+ export type ValidationError = string | JSX.Element;
15
+ export type AllowedHtmlElements = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
16
+ export declare const defaultBaseTranslations: {
17
+ required: string;
18
+ };
19
+ export type BaseTranslations = Partial<typeof defaultBaseTranslations>;
20
+ export type BaseInputProps<HTMLType extends AllowedHtmlElements, TranslationsT extends BaseTranslations = BaseTranslations> = {
21
+ theme?: Theme;
22
+ id?: string;
23
+ disabled?: boolean;
24
+ className?: string;
25
+ label?: string | JSX.Element;
26
+ tooltip?: string | JSX.Element;
27
+ tooltipProps?: TippyProps;
28
+ value?: string;
29
+ onChange?: (e: React.ChangeEvent<HTMLType>, isValid: boolean) => void;
30
+ required?: boolean;
31
+ customValidators?: Validators.IBaseValidator[];
32
+ validators?: Validators.ValidatorTypes[];
33
+ noValidate?: boolean;
34
+ validationName?: string;
35
+ touchOn?: 'focus' | 'blur';
36
+ ignoreContext?: boolean;
37
+ onTheFlightValidate?: (value: string) => boolean;
38
+ onFocus?: () => void;
39
+ onBlur?: () => void;
40
+ onSuggestionsClosed?: () => void;
41
+ onSuggestionsOpened?: () => void;
42
+ onClick?: (e: React.MouseEvent) => void;
43
+ title?: string | JSX.Element;
44
+ onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
45
+ errors?: ValidationError[];
46
+ onErrorsChanged?: (errors: ValidationError[]) => void;
47
+ showValidation?: boolean;
48
+ reRendersWhenContextChanges?: boolean;
49
+ defaultTouched?: boolean;
50
+ translations?: TranslationsT;
51
+ inputGroupClassName?: string;
52
+ infoText?: string | JSX.Element;
53
+ } & FormContextProps;
54
+ export interface BaseInputState {
55
+ isValid: boolean;
56
+ value: string;
57
+ errors: ValidationError[];
58
+ validator: undefined;
59
+ touched: boolean;
60
+ disabled: boolean;
61
+ focused: boolean;
62
+ handleValueChangeEnabled: boolean;
63
+ }
64
+ export declare class BaseInput<P extends BaseInputProps<HTMLType, TranslationsT>, S extends BaseInputState, HTMLType extends AllowedHtmlElements, TranslationsT extends BaseTranslations = BaseTranslations> extends React.Component<P, S> implements ComponentApi {
65
+ static defaultProps: BaseInputProps<never>;
66
+ componentId: string;
67
+ inputRef: React.RefObject<HTMLType>;
68
+ protected containerRef: React.RefObject<HTMLDivElement>;
69
+ private lastValidation;
70
+ private lastInfoText;
71
+ constructor(props: P, subscribe?: boolean);
72
+ componentWillUnmount(): void;
73
+ componentDidUpdate(oldProps: P, oldState: S): void;
74
+ scrollTo(): void;
75
+ touch(): void;
76
+ unTouch(): void;
77
+ disableComponent(): void;
78
+ enableComponent(): void;
79
+ focus(): void;
80
+ shouldComponentUpdate(nextProps: P, nextState: S): boolean;
81
+ protected getValidationClass(extraErrors?: ValidationError[]): "validation__success" | "validation__error";
82
+ protected renderDefaultValidation(extraErrors?: ValidationError[]): React.JSX.Element;
83
+ protected handleChange(event: React.ChangeEvent<HTMLType>, isValid?: boolean, errors?: ValidationError[]): void;
84
+ protected subscribeSelf(props: P): void;
85
+ protected handleBlur(): void;
86
+ protected handleFocus(): void;
87
+ protected getDisabled(): S["disabled"] | P["disabled"];
88
+ protected setValid(): void;
89
+ protected setInvalid(errors?: ValidationError[]): void;
90
+ protected renderLabel(touchable?: boolean): React.JSX.Element;
91
+ protected renderTitle(): React.JSX.Element | P["title"];
92
+ protected handleValueChange(value: string, isValid?: boolean, errors?: ValidationError[], props?: P, initializing?: boolean): {
93
+ isValid: boolean;
94
+ errors: ValidationError[];
95
+ };
96
+ protected renderTooltip(content?: JSX.Element): JSX.Element;
97
+ protected getTranslations(_defaultTranslations: BaseTranslations): TranslationsT;
98
+ }
99
+ export default BaseInput;
@@ -29,6 +29,10 @@ class BaseInput extends React.Component {
29
29
  let subscribe = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
30
30
  super(props);
31
31
  this.componentId = (0, _Guid.default)();
32
+ this.inputRef = void 0;
33
+ this.containerRef = void 0;
34
+ this.lastValidation = void 0;
35
+ this.lastInfoText = void 0;
32
36
  const res = this.handleValueChange(this.props.value, true, [], props, true);
33
37
  this.state = {
34
38
  isValid: res.isValid,
@@ -1 +1 @@
1
- {"version":3,"file":"BaseInput.js","names":["React","_interopRequireWildcard","require","ReactDOM","Validators","_Guid","_interopRequireDefault","_ShallowEqual","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_extends","assign","bind","defaultBaseTranslations","required","exports","BaseInput","Component","constructor","props","subscribe","componentId","guid","handleValueChange","state","isValid","errors","touched","defaultTouched","disabled","focused","handleValueChangeEnabled","containerRef","createRef","inputRef","handleChange","handleBlur","handleFocus","setValid","focus","scrollTo","setInvalid","disableComponent","enableComponent","touch","unTouch","subscribeSelf","componentWillUnmount","ignoreContext","formContext","unSubscribe","componentDidUpdate","oldProps","oldState","validators","customValidators","domNode","findDOMNode","current","scrollIntoView","behavior","setState","_this$props$onFocus","_this$props","onFocus","shouldComponentUpdate","nextProps","nextState","shouldUpdate","shallowEqual","reRendersWhenContextChanges","getValidationClass","extraErrors","showValidation","renderDefaultValidation","finalErrors","concat","lastValidation","map","item","index","createElement","className","infoText","lastInfoText","Fragment","event","onTheFlightValidate","onChange","componentApi","validation","name","validationName","title","label","_this$props$onBlur","_this$props2","onBlur","touchOn","_this$props$onFocus2","_this$props3","getDisabled","updateCallback","renderLabel","touchable","tooltip","classNames","renderTooltip","renderTitle","initializing","translations","getTranslations","validator","validInner","EmailValidator","Validate","error","NumberValidator","LatitudeValidator","LongitudeValidator","UrlValidator","Error","customValidator","onErrorsChanged","content","_document","Tippy","placement","animation","arrow","duration","delay","distance","interactive","appendTo","document","body","trigger","tooltipProps","_defaultTranslations","defaultProps","_default"],"sources":["../../../../src/lib/components/base/input/BaseInput.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport type { TippyProps } from '@tippy.js/react';\r\n\r\n// Misc\r\nimport * as Validators from '../../../validators';\r\nimport guid from '../../utils/Guid';\r\nimport { FormContextProps } from '../../form/FormContext';\r\nimport { shallowEqual } from '../../utils/ShallowEqual';\r\nimport { Theme } from '../../../types/Theme';\r\nimport classNames from 'classnames';\r\n\r\nexport interface ComponentApi {\r\n focus: () => void;\r\n touch: () => void;\r\n unTouch: () => void;\r\n enableComponent: () => void;\r\n disableComponent: () => void;\r\n scrollTo: () => void;\r\n}\r\n\r\nexport type ValidationError = string | JSX.Element;\r\n\r\nexport type AllowedHtmlElements =\r\n | HTMLInputElement\r\n | HTMLSelectElement\r\n | HTMLTextAreaElement;\r\n\r\nexport const defaultBaseTranslations = {\r\n required: 'Required',\r\n};\r\n\r\nexport type BaseTranslations = Partial<typeof defaultBaseTranslations>;\r\n\r\nexport type BaseInputProps<\r\n HTMLType extends AllowedHtmlElements,\r\n TranslationsT extends BaseTranslations = BaseTranslations\r\n> = {\r\n theme?: Theme;\r\n id?: string;\r\n disabled?: boolean;\r\n className?: string;\r\n label?: string | JSX.Element;\r\n tooltip?: string | JSX.Element;\r\n tooltipProps?: TippyProps;\r\n value?: string;\r\n onChange?: (e: React.ChangeEvent<HTMLType>, isValid: boolean) => void;\r\n required?: boolean;\r\n customValidators?: Validators.IBaseValidator[];\r\n validators?: Validators.ValidatorTypes[];\r\n noValidate?: boolean;\r\n validationName?: string;\r\n touchOn?: 'focus' | 'blur';\r\n ignoreContext?: boolean;\r\n onTheFlightValidate?: (value: string) => boolean;\r\n onFocus?: () => void;\r\n onBlur?: () => void;\r\n onSuggestionsClosed?: () => void;\r\n onSuggestionsOpened?: () => void;\r\n onClick?: (e: React.MouseEvent) => void;\r\n title?: string | JSX.Element;\r\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\r\n errors?: ValidationError[];\r\n onErrorsChanged?: (errors: ValidationError[]) => void;\r\n showValidation?: boolean;\r\n reRendersWhenContextChanges?: boolean;\r\n defaultTouched?: boolean;\r\n translations?: TranslationsT;\r\n inputGroupClassName?: string;\r\n infoText?: string | JSX.Element;\r\n} & FormContextProps;\r\n\r\nexport interface BaseInputState {\r\n isValid: boolean;\r\n value: string;\r\n errors: ValidationError[];\r\n validator: undefined;\r\n touched: boolean;\r\n disabled: boolean;\r\n focused: boolean;\r\n handleValueChangeEnabled: boolean;\r\n}\r\n\r\nexport class BaseInput<\r\n P extends BaseInputProps<HTMLType, TranslationsT>,\r\n S extends BaseInputState,\r\n HTMLType extends AllowedHtmlElements,\r\n TranslationsT extends BaseTranslations = BaseTranslations\r\n >\r\n extends React.Component<P, S>\r\n implements ComponentApi\r\n{\r\n public static defaultProps: BaseInputProps<never> = {\r\n className: undefined,\r\n required: false,\r\n label: undefined,\r\n disabled: false,\r\n touchOn: 'focus',\r\n ignoreContext: false,\r\n showValidation: true,\r\n formContext: undefined,\r\n reRendersWhenContextChanges: false,\r\n };\r\n\r\n public componentId = guid();\r\n\r\n public inputRef: React.RefObject<HTMLType>;\r\n\r\n protected containerRef: React.RefObject<HTMLDivElement>;\r\n\r\n private lastValidation: JSX.Element[];\r\n\r\n private lastInfoText: JSX.Element[];\r\n\r\n constructor(props: P, subscribe: boolean = true) {\r\n super(props);\r\n const res = this.handleValueChange(this.props.value, true, [], props, true);\r\n this.state = {\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n value: props.value ? props.value : '',\r\n touched: props.defaultTouched,\r\n disabled: false,\r\n focused: false,\r\n handleValueChangeEnabled: true,\r\n } as S;\r\n this.containerRef = React.createRef<HTMLDivElement>();\r\n this.inputRef = React.createRef<HTMLType>();\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this);\r\n this.handleFocus = this.handleFocus.bind(this);\r\n this.setValid = this.setValid.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.scrollTo = this.scrollTo.bind(this);\r\n this.setInvalid = this.setInvalid.bind(this);\r\n this.disableComponent = this.disableComponent.bind(this);\r\n this.enableComponent = this.enableComponent.bind(this);\r\n this.touch = this.touch.bind(this);\r\n this.unTouch = this.unTouch.bind(this);\r\n if (subscribe) {\r\n this.subscribeSelf(props);\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.unSubscribe(this.componentId);\r\n }\r\n }\r\n\r\n public componentDidUpdate(oldProps: P, oldState: S) {\r\n if (\r\n oldProps.value !== this.props.value ||\r\n oldProps.validators !== this.props.validators ||\r\n oldProps.customValidators !== this.props.customValidators ||\r\n oldProps.required !== this.props.required\r\n ) {\r\n this.handleValueChange(this.props.value, true, [], this.props);\r\n }\r\n }\r\n\r\n public scrollTo() {\r\n const domNode: HTMLDivElement = ReactDOM.findDOMNode(\r\n (this.containerRef as React.RefObject<HTMLDivElement>).current\r\n ) as HTMLDivElement;\r\n domNode && domNode.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n\r\n public touch() {\r\n this.setState({ touched: true });\r\n this.handleValueChange(this.state.value || '');\r\n }\r\n\r\n public unTouch() {\r\n this.setState({ touched: false });\r\n }\r\n\r\n public disableComponent() {\r\n this.setState({ disabled: true });\r\n }\r\n\r\n public enableComponent() {\r\n this.setState({ disabled: false });\r\n }\r\n\r\n public focus() {\r\n if (this.inputRef) {\r\n const domNode: HTMLElement = ReactDOM.findDOMNode(\r\n (this.inputRef as React.RefObject<HTMLElement>).current\r\n ) as HTMLElement;\r\n domNode && domNode.focus();\r\n }\r\n this.props.onFocus?.();\r\n this.touch();\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: P, nextState: S) {\r\n let shouldUpdate =\r\n !shallowEqual(\r\n this.props,\r\n nextProps,\r\n !this.props.reRendersWhenContextChanges ? 'formContext' : undefined\r\n ) || !shallowEqual(this.state, nextState);\r\n return shouldUpdate;\r\n }\r\n\r\n protected getValidationClass(extraErrors?: ValidationError[]) {\r\n if (!this.props.showValidation || !this.state.touched) {\r\n return 'validation__success';\r\n }\r\n return this.state.isValid &&\r\n (!this.props.errors || this.props.errors.length === 0) &&\r\n (!this.state.errors || this.state.errors.length === 0) &&\r\n (!extraErrors || extraErrors.length === 0)\r\n ? 'validation__success'\r\n : 'validation__error';\r\n }\r\n\r\n protected renderDefaultValidation(extraErrors?: ValidationError[]) {\r\n if (this.props.disabled) {\r\n return null;\r\n }\r\n if (!this.props.showValidation) {\r\n return null;\r\n }\r\n let finalErrors: ValidationError[] = (this.state.errors ?? [])\r\n .concat(extraErrors ?? [])\r\n .concat(this.props.errors ?? [])\r\n .filter((i) => i);\r\n if (finalErrors.length > 0) {\r\n this.lastValidation = finalErrors.map((item, index) => (\r\n <li key={index} className=\"validation__item\">\r\n {item}\r\n </li>\r\n ));\r\n }\r\n if (this.props.infoText && this.state.isValid) {\r\n this.lastInfoText = [\r\n <li key={1} className=\"info-text__item\">\r\n {this.props.infoText}\r\n </li>,\r\n ];\r\n }\r\n return (\r\n <>\r\n <div className=\"validation__container\">\r\n <ul className=\"validation__ul\">{this.lastValidation}</ul>\r\n </div>\r\n <div className=\"info-text__container\">\r\n <ul className=\"info-text__ul\">{this.lastInfoText}</ul>\r\n </div>\r\n </>\r\n );\r\n }\r\n\r\n protected handleChange(\r\n event: React.ChangeEvent<HTMLType>,\r\n isValid?: boolean,\r\n errors: ValidationError[] = []\r\n ) {\r\n let value = event.target.value;\r\n if (\r\n !this.props.onTheFlightValidate ||\r\n (this.props.onTheFlightValidate && this.props.onTheFlightValidate(value))\r\n ) {\r\n const res = this.handleValueChange(value, isValid, errors);\r\n if (this.props.onChange) {\r\n this.props.onChange(event, res.isValid);\r\n }\r\n }\r\n }\r\n\r\n protected subscribeSelf(props: P) {\r\n if (!props.ignoreContext && props.formContext) {\r\n props.formContext.subscribe(this.componentId, {\r\n componentApi: {\r\n disableComponent: this.disableComponent,\r\n enableComponent: this.enableComponent,\r\n touch: this.touch,\r\n unTouch: this.unTouch,\r\n scrollTo: this.scrollTo,\r\n focus: this.focus,\r\n },\r\n validation: {\r\n isValid: this.state.isValid,\r\n errors: this.state.errors,\r\n name: this.props.validationName\r\n ? this.props.validationName\r\n : this.props.title\r\n ? this.props.title\r\n : this.props.label,\r\n },\r\n });\r\n }\r\n }\r\n\r\n protected handleBlur() {\r\n this.props.onBlur?.();\r\n let state = { focused: false };\r\n if (!this.state.touched && this.props.touchOn === 'blur') {\r\n state = Object.assign(state, { touched: true });\r\n this.handleValueChange(this.state.value);\r\n }\r\n this.setState(state);\r\n }\r\n\r\n protected handleFocus() {\r\n if (!this.props.disabled) {\r\n this.props.onFocus?.();\r\n let state = { focused: true };\r\n if (!this.state.touched && this.props.touchOn === 'focus') {\r\n state = Object.assign(state, { touched: true });\r\n this.handleValueChange(this.state.value);\r\n }\r\n this.setState(state);\r\n }\r\n }\r\n\r\n protected getDisabled() {\r\n return this.state.disabled ? this.state.disabled : this.props.disabled;\r\n }\r\n\r\n protected setValid() {\r\n this.setState(\r\n () => ({ isValid: true, errors: [] }),\r\n () => {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: true,\r\n errors: [],\r\n },\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n protected setInvalid(errors: ValidationError[] = []) {\r\n this.setState(\r\n () => ({ isValid: false, errors }),\r\n () => {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: false,\r\n errors: errors,\r\n },\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n protected renderLabel(touchable: boolean = false) {\r\n if (!this.props.tooltip || (this.props.tooltip && this.props.title)) {\r\n return (\r\n <span\r\n className={classNames('w-100', { 'label--no-touch': !touchable })}\r\n >\r\n {this.props.label}\r\n </span>\r\n );\r\n }\r\n return (\r\n <React.Fragment>\r\n <span className={touchable ? '' : 'label--no-touch'}>\r\n {this.props.label}\r\n </span>\r\n {this.renderTooltip()}\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n protected renderTitle() {\r\n if (!this.props.tooltip) {\r\n return this.props.title;\r\n }\r\n return (\r\n <React.Fragment>\r\n {this.props.title}\r\n {this.renderTooltip()}\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n protected handleValueChange(\r\n value: string,\r\n isValid: boolean = true,\r\n errors: ValidationError[] = [],\r\n props: P = this.props,\r\n initializing: boolean = false\r\n ): {\r\n isValid: boolean;\r\n errors: ValidationError[];\r\n } {\r\n if (!initializing && !this.state.handleValueChangeEnabled) {\r\n return { isValid, errors: [] };\r\n }\r\n if (props.required && !value) {\r\n const translations = this.getTranslations(defaultBaseTranslations);\r\n errors.push(translations.required);\r\n isValid = false;\r\n } else {\r\n if (!props.required && !value) {\r\n isValid = true;\r\n } else {\r\n if (props.validators) {\r\n isValid = true;\r\n props.validators.forEach((validator) => {\r\n let validInner = false;\r\n switch (validator) {\r\n case 'email':\r\n validInner = new Validators.EmailValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'number':\r\n validInner = new Validators.NumberValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'latitude':\r\n validInner = new Validators.LatitudeValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'longitude':\r\n validInner = new Validators.LongitudeValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'url':\r\n validInner = new Validators.UrlValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n default:\r\n throw new Error(`Validator ${validator} not implemented`);\r\n }\r\n if (isValid && !validInner) {\r\n isValid = validInner;\r\n }\r\n });\r\n }\r\n if (props.customValidators) {\r\n props.customValidators.forEach((customValidator) => {\r\n let validInner = false;\r\n validInner = customValidator.Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n if (isValid && !validInner) {\r\n isValid = validInner;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n props.onErrorsChanged && props.onErrorsChanged(errors);\r\n if (!initializing) {\r\n this.setState({ value, isValid, errors });\r\n if (!props.ignoreContext) {\r\n props.formContext &&\r\n props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: isValid,\r\n errors: errors,\r\n },\r\n });\r\n }\r\n }\r\n return { isValid, errors };\r\n }\r\n\r\n protected renderTooltip(\r\n content: JSX.Element = <span className=\"label--help-icon\">?</span>\r\n ) {\r\n if (this.props.tooltip) {\r\n const Tippy = require('@tippy.js/react').default;\r\n return (\r\n <Tippy\r\n content={this.props.tooltip}\r\n placement=\"bottom\"\r\n animation=\"scale-subtle\"\r\n arrow={false}\r\n duration={200}\r\n delay={[75, 0]}\r\n distance={8}\r\n interactive={true}\r\n appendTo={document?.body}\r\n trigger=\"mouseenter focus\"\r\n {...this.props.tooltipProps}\r\n >\r\n {content}\r\n </Tippy>\r\n );\r\n }\r\n return content;\r\n }\r\n\r\n protected getTranslations(\r\n _defaultTranslations: BaseTranslations\r\n ): TranslationsT {\r\n return {\r\n ..._defaultTranslations,\r\n ...this.props.translations,\r\n };\r\n }\r\n}\r\nexport default BaseInput;\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"BaseInput.js","names":["React","_interopRequireWildcard","require","ReactDOM","Validators","_Guid","_interopRequireDefault","_ShallowEqual","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_extends","assign","bind","defaultBaseTranslations","required","exports","BaseInput","Component","constructor","props","subscribe","componentId","guid","inputRef","containerRef","lastValidation","lastInfoText","handleValueChange","state","isValid","errors","touched","defaultTouched","disabled","focused","handleValueChangeEnabled","createRef","handleChange","handleBlur","handleFocus","setValid","focus","scrollTo","setInvalid","disableComponent","enableComponent","touch","unTouch","subscribeSelf","componentWillUnmount","ignoreContext","formContext","unSubscribe","componentDidUpdate","oldProps","oldState","validators","customValidators","domNode","findDOMNode","current","scrollIntoView","behavior","setState","_this$props$onFocus","_this$props","onFocus","shouldComponentUpdate","nextProps","nextState","shouldUpdate","shallowEqual","reRendersWhenContextChanges","getValidationClass","extraErrors","showValidation","renderDefaultValidation","finalErrors","concat","map","item","index","createElement","className","infoText","Fragment","event","onTheFlightValidate","onChange","componentApi","validation","name","validationName","title","label","_this$props$onBlur","_this$props2","onBlur","touchOn","_this$props$onFocus2","_this$props3","getDisabled","updateCallback","renderLabel","touchable","tooltip","classNames","renderTooltip","renderTitle","initializing","translations","getTranslations","validator","validInner","EmailValidator","Validate","error","NumberValidator","LatitudeValidator","LongitudeValidator","UrlValidator","Error","customValidator","onErrorsChanged","content","_document","Tippy","placement","animation","arrow","duration","delay","distance","interactive","appendTo","document","body","trigger","tooltipProps","_defaultTranslations","defaultProps","_default"],"sources":["../../../../src/lib/components/base/input/BaseInput.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport type { TippyProps } from '@tippy.js/react';\r\n\r\n// Misc\r\nimport * as Validators from '../../../validators';\r\nimport guid from '../../utils/Guid';\r\nimport { FormContextProps } from '../../form/FormContext';\r\nimport { shallowEqual } from '../../utils/ShallowEqual';\r\nimport { Theme } from '../../../types/Theme';\r\nimport classNames from 'classnames';\r\n\r\nexport interface ComponentApi {\r\n focus: () => void;\r\n touch: () => void;\r\n unTouch: () => void;\r\n enableComponent: () => void;\r\n disableComponent: () => void;\r\n scrollTo: () => void;\r\n}\r\n\r\nexport type ValidationError = string | JSX.Element;\r\n\r\nexport type AllowedHtmlElements =\r\n | HTMLInputElement\r\n | HTMLSelectElement\r\n | HTMLTextAreaElement;\r\n\r\nexport const defaultBaseTranslations = {\r\n required: 'Required',\r\n};\r\n\r\nexport type BaseTranslations = Partial<typeof defaultBaseTranslations>;\r\n\r\nexport type BaseInputProps<\r\n HTMLType extends AllowedHtmlElements,\r\n TranslationsT extends BaseTranslations = BaseTranslations\r\n> = {\r\n theme?: Theme;\r\n id?: string;\r\n disabled?: boolean;\r\n className?: string;\r\n label?: string | JSX.Element;\r\n tooltip?: string | JSX.Element;\r\n tooltipProps?: TippyProps;\r\n value?: string;\r\n onChange?: (e: React.ChangeEvent<HTMLType>, isValid: boolean) => void;\r\n required?: boolean;\r\n customValidators?: Validators.IBaseValidator[];\r\n validators?: Validators.ValidatorTypes[];\r\n noValidate?: boolean;\r\n validationName?: string;\r\n touchOn?: 'focus' | 'blur';\r\n ignoreContext?: boolean;\r\n onTheFlightValidate?: (value: string) => boolean;\r\n onFocus?: () => void;\r\n onBlur?: () => void;\r\n onSuggestionsClosed?: () => void;\r\n onSuggestionsOpened?: () => void;\r\n onClick?: (e: React.MouseEvent) => void;\r\n title?: string | JSX.Element;\r\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\r\n errors?: ValidationError[];\r\n onErrorsChanged?: (errors: ValidationError[]) => void;\r\n showValidation?: boolean;\r\n reRendersWhenContextChanges?: boolean;\r\n defaultTouched?: boolean;\r\n translations?: TranslationsT;\r\n inputGroupClassName?: string;\r\n infoText?: string | JSX.Element;\r\n} & FormContextProps;\r\n\r\nexport interface BaseInputState {\r\n isValid: boolean;\r\n value: string;\r\n errors: ValidationError[];\r\n validator: undefined;\r\n touched: boolean;\r\n disabled: boolean;\r\n focused: boolean;\r\n handleValueChangeEnabled: boolean;\r\n}\r\n\r\nexport class BaseInput<\r\n P extends BaseInputProps<HTMLType, TranslationsT>,\r\n S extends BaseInputState,\r\n HTMLType extends AllowedHtmlElements,\r\n TranslationsT extends BaseTranslations = BaseTranslations\r\n >\r\n extends React.Component<P, S>\r\n implements ComponentApi\r\n{\r\n public static defaultProps: BaseInputProps<never> = {\r\n className: undefined,\r\n required: false,\r\n label: undefined,\r\n disabled: false,\r\n touchOn: 'focus',\r\n ignoreContext: false,\r\n showValidation: true,\r\n formContext: undefined,\r\n reRendersWhenContextChanges: false,\r\n };\r\n\r\n public componentId = guid();\r\n\r\n public inputRef: React.RefObject<HTMLType>;\r\n\r\n protected containerRef: React.RefObject<HTMLDivElement>;\r\n\r\n private lastValidation: JSX.Element[];\r\n\r\n private lastInfoText: JSX.Element[];\r\n\r\n constructor(props: P, subscribe: boolean = true) {\r\n super(props);\r\n const res = this.handleValueChange(this.props.value, true, [], props, true);\r\n this.state = {\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n value: props.value ? props.value : '',\r\n touched: props.defaultTouched,\r\n disabled: false,\r\n focused: false,\r\n handleValueChangeEnabled: true,\r\n } as S;\r\n this.containerRef = React.createRef<HTMLDivElement>();\r\n this.inputRef = React.createRef<HTMLType>();\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this);\r\n this.handleFocus = this.handleFocus.bind(this);\r\n this.setValid = this.setValid.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.scrollTo = this.scrollTo.bind(this);\r\n this.setInvalid = this.setInvalid.bind(this);\r\n this.disableComponent = this.disableComponent.bind(this);\r\n this.enableComponent = this.enableComponent.bind(this);\r\n this.touch = this.touch.bind(this);\r\n this.unTouch = this.unTouch.bind(this);\r\n if (subscribe) {\r\n this.subscribeSelf(props);\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.unSubscribe(this.componentId);\r\n }\r\n }\r\n\r\n public componentDidUpdate(oldProps: P, oldState: S) {\r\n if (\r\n oldProps.value !== this.props.value ||\r\n oldProps.validators !== this.props.validators ||\r\n oldProps.customValidators !== this.props.customValidators ||\r\n oldProps.required !== this.props.required\r\n ) {\r\n this.handleValueChange(this.props.value, true, [], this.props);\r\n }\r\n }\r\n\r\n public scrollTo() {\r\n const domNode: HTMLDivElement = ReactDOM.findDOMNode(\r\n (this.containerRef as React.RefObject<HTMLDivElement>).current\r\n ) as HTMLDivElement;\r\n domNode && domNode.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n\r\n public touch() {\r\n this.setState({ touched: true });\r\n this.handleValueChange(this.state.value || '');\r\n }\r\n\r\n public unTouch() {\r\n this.setState({ touched: false });\r\n }\r\n\r\n public disableComponent() {\r\n this.setState({ disabled: true });\r\n }\r\n\r\n public enableComponent() {\r\n this.setState({ disabled: false });\r\n }\r\n\r\n public focus() {\r\n if (this.inputRef) {\r\n const domNode: HTMLElement = ReactDOM.findDOMNode(\r\n (this.inputRef as React.RefObject<HTMLElement>).current\r\n ) as HTMLElement;\r\n domNode && domNode.focus();\r\n }\r\n this.props.onFocus?.();\r\n this.touch();\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: P, nextState: S) {\r\n let shouldUpdate =\r\n !shallowEqual(\r\n this.props,\r\n nextProps,\r\n !this.props.reRendersWhenContextChanges ? 'formContext' : undefined\r\n ) || !shallowEqual(this.state, nextState);\r\n return shouldUpdate;\r\n }\r\n\r\n protected getValidationClass(extraErrors?: ValidationError[]) {\r\n if (!this.props.showValidation || !this.state.touched) {\r\n return 'validation__success';\r\n }\r\n return this.state.isValid &&\r\n (!this.props.errors || this.props.errors.length === 0) &&\r\n (!this.state.errors || this.state.errors.length === 0) &&\r\n (!extraErrors || extraErrors.length === 0)\r\n ? 'validation__success'\r\n : 'validation__error';\r\n }\r\n\r\n protected renderDefaultValidation(extraErrors?: ValidationError[]) {\r\n if (this.props.disabled) {\r\n return null;\r\n }\r\n if (!this.props.showValidation) {\r\n return null;\r\n }\r\n let finalErrors: ValidationError[] = (this.state.errors ?? [])\r\n .concat(extraErrors ?? [])\r\n .concat(this.props.errors ?? [])\r\n .filter((i) => i);\r\n if (finalErrors.length > 0) {\r\n this.lastValidation = finalErrors.map((item, index) => (\r\n <li key={index} className=\"validation__item\">\r\n {item}\r\n </li>\r\n ));\r\n }\r\n if (this.props.infoText && this.state.isValid) {\r\n this.lastInfoText = [\r\n <li key={1} className=\"info-text__item\">\r\n {this.props.infoText}\r\n </li>,\r\n ];\r\n }\r\n return (\r\n <>\r\n <div className=\"validation__container\">\r\n <ul className=\"validation__ul\">{this.lastValidation}</ul>\r\n </div>\r\n <div className=\"info-text__container\">\r\n <ul className=\"info-text__ul\">{this.lastInfoText}</ul>\r\n </div>\r\n </>\r\n );\r\n }\r\n\r\n protected handleChange(\r\n event: React.ChangeEvent<HTMLType>,\r\n isValid?: boolean,\r\n errors: ValidationError[] = []\r\n ) {\r\n let value = event.target.value;\r\n if (\r\n !this.props.onTheFlightValidate ||\r\n (this.props.onTheFlightValidate && this.props.onTheFlightValidate(value))\r\n ) {\r\n const res = this.handleValueChange(value, isValid, errors);\r\n if (this.props.onChange) {\r\n this.props.onChange(event, res.isValid);\r\n }\r\n }\r\n }\r\n\r\n protected subscribeSelf(props: P) {\r\n if (!props.ignoreContext && props.formContext) {\r\n props.formContext.subscribe(this.componentId, {\r\n componentApi: {\r\n disableComponent: this.disableComponent,\r\n enableComponent: this.enableComponent,\r\n touch: this.touch,\r\n unTouch: this.unTouch,\r\n scrollTo: this.scrollTo,\r\n focus: this.focus,\r\n },\r\n validation: {\r\n isValid: this.state.isValid,\r\n errors: this.state.errors,\r\n name: this.props.validationName\r\n ? this.props.validationName\r\n : this.props.title\r\n ? this.props.title\r\n : this.props.label,\r\n },\r\n });\r\n }\r\n }\r\n\r\n protected handleBlur() {\r\n this.props.onBlur?.();\r\n let state = { focused: false };\r\n if (!this.state.touched && this.props.touchOn === 'blur') {\r\n state = Object.assign(state, { touched: true });\r\n this.handleValueChange(this.state.value);\r\n }\r\n this.setState(state);\r\n }\r\n\r\n protected handleFocus() {\r\n if (!this.props.disabled) {\r\n this.props.onFocus?.();\r\n let state = { focused: true };\r\n if (!this.state.touched && this.props.touchOn === 'focus') {\r\n state = Object.assign(state, { touched: true });\r\n this.handleValueChange(this.state.value);\r\n }\r\n this.setState(state);\r\n }\r\n }\r\n\r\n protected getDisabled() {\r\n return this.state.disabled ? this.state.disabled : this.props.disabled;\r\n }\r\n\r\n protected setValid() {\r\n this.setState(\r\n () => ({ isValid: true, errors: [] }),\r\n () => {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: true,\r\n errors: [],\r\n },\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n protected setInvalid(errors: ValidationError[] = []) {\r\n this.setState(\r\n () => ({ isValid: false, errors }),\r\n () => {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: false,\r\n errors: errors,\r\n },\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n protected renderLabel(touchable: boolean = false) {\r\n if (!this.props.tooltip || (this.props.tooltip && this.props.title)) {\r\n return (\r\n <span\r\n className={classNames('w-100', { 'label--no-touch': !touchable })}\r\n >\r\n {this.props.label}\r\n </span>\r\n );\r\n }\r\n return (\r\n <React.Fragment>\r\n <span className={touchable ? '' : 'label--no-touch'}>\r\n {this.props.label}\r\n </span>\r\n {this.renderTooltip()}\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n protected renderTitle() {\r\n if (!this.props.tooltip) {\r\n return this.props.title;\r\n }\r\n return (\r\n <React.Fragment>\r\n {this.props.title}\r\n {this.renderTooltip()}\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n protected handleValueChange(\r\n value: string,\r\n isValid: boolean = true,\r\n errors: ValidationError[] = [],\r\n props: P = this.props,\r\n initializing: boolean = false\r\n ): {\r\n isValid: boolean;\r\n errors: ValidationError[];\r\n } {\r\n if (!initializing && !this.state.handleValueChangeEnabled) {\r\n return { isValid, errors: [] };\r\n }\r\n if (props.required && !value) {\r\n const translations = this.getTranslations(defaultBaseTranslations);\r\n errors.push(translations.required);\r\n isValid = false;\r\n } else {\r\n if (!props.required && !value) {\r\n isValid = true;\r\n } else {\r\n if (props.validators) {\r\n isValid = true;\r\n props.validators.forEach((validator) => {\r\n let validInner = false;\r\n switch (validator) {\r\n case 'email':\r\n validInner = new Validators.EmailValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'number':\r\n validInner = new Validators.NumberValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'latitude':\r\n validInner = new Validators.LatitudeValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'longitude':\r\n validInner = new Validators.LongitudeValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'url':\r\n validInner = new Validators.UrlValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n default:\r\n throw new Error(`Validator ${validator} not implemented`);\r\n }\r\n if (isValid && !validInner) {\r\n isValid = validInner;\r\n }\r\n });\r\n }\r\n if (props.customValidators) {\r\n props.customValidators.forEach((customValidator) => {\r\n let validInner = false;\r\n validInner = customValidator.Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n if (isValid && !validInner) {\r\n isValid = validInner;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n props.onErrorsChanged && props.onErrorsChanged(errors);\r\n if (!initializing) {\r\n this.setState({ value, isValid, errors });\r\n if (!props.ignoreContext) {\r\n props.formContext &&\r\n props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: isValid,\r\n errors: errors,\r\n },\r\n });\r\n }\r\n }\r\n return { isValid, errors };\r\n }\r\n\r\n protected renderTooltip(\r\n content: JSX.Element = <span className=\"label--help-icon\">?</span>\r\n ) {\r\n if (this.props.tooltip) {\r\n const Tippy = require('@tippy.js/react').default;\r\n return (\r\n <Tippy\r\n content={this.props.tooltip}\r\n placement=\"bottom\"\r\n animation=\"scale-subtle\"\r\n arrow={false}\r\n duration={200}\r\n delay={[75, 0]}\r\n distance={8}\r\n interactive={true}\r\n appendTo={document?.body}\r\n trigger=\"mouseenter focus\"\r\n {...this.props.tooltipProps}\r\n >\r\n {content}\r\n </Tippy>\r\n );\r\n }\r\n return content;\r\n }\r\n\r\n protected getTranslations(\r\n _defaultTranslations: BaseTranslations\r\n ): TranslationsT {\r\n return {\r\n ..._defaultTranslations,\r\n ...this.props.translations,\r\n };\r\n }\r\n}\r\nexport default BaseInput;\r\n"],"mappings":"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"}
@@ -1 +1 @@
1
- export * from './BaseInput';
1
+ export * from './BaseInput';
@@ -1,46 +1,45 @@
1
- import * as React from 'react';
2
- import { BookingCalendarClasses } from './classes';
3
- import { BookingCalendarDateRange, BookingCalendarItemT, GetNewMomentFunctionType } from './common';
4
- import { BookingCalendarControlsProps } from './bookingCalendarControls/BookingCalendarControls';
5
- import { LaneSourceData } from './utils';
6
- import { BookingCalendarLaneProps } from './bookingCalendarLane/BookingCalendarLane';
7
- import { Moment, Duration } from 'moment';
8
- import { BookingCalendarItemProps } from './bookingCalendarItem';
9
- import { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';
10
- import { BookingCalendarGridProps } from './bookingCalendarGrid/BookingCalendarGrid';
11
- import { BookingCalendarLaneHeaderProps } from './bookingCalendarLaneHeader';
12
- import { BookingCalendarLanesHeaderProps } from './bookingCalendarLanesHeader';
13
- import { BookingCalendarDatePickerProps } from './bookingCalendarDatePicker';
14
- import { GetMomentFormatFunctionType, ZoomLevel } from '.';
15
- export interface BookingCalendarProps<T extends BookingCalendarItemT, TLaneData> extends BookingCalendarClasses {
16
- bookings: T[];
17
- from: Moment;
18
- till: Moment;
19
- getMomentFormatFunction?: GetMomentFormatFunctionType;
20
- getNewMomentFunction?: GetNewMomentFunctionType;
21
- onRangeChange?: (range: BookingCalendarDateRange) => void;
22
- step?: Duration;
23
- showZoomAllButton?: boolean;
24
- showGrid?: boolean;
25
- showSelection?: boolean;
26
- minSelectionSize?: number;
27
- gridAvailableSteps?: Duration[];
28
- goalGridWidthPx?: number;
29
- minLanesCount?: number;
30
- lanesSource?: LaneSourceData<T, TLaneData>[];
31
- unmatchedLanesToFront?: boolean;
32
- children?: React.ReactNode;
33
- bookingCalendarTopLeftHeader?: React.ReactNode;
34
- filteringButton?: React.ReactNode;
35
- zoomLevels?: ZoomLevel[];
36
- filterBookingsToZoom?: (booking: T) => boolean;
37
- BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;
38
- BookingCalendarRenderItem?: React.ComponentType<BookingCalendarRenderItemProps<T>>;
39
- BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;
40
- BookingCalendarControls?: React.ComponentType<BookingCalendarControlsProps<T>>;
41
- BookingCalendarGrid?: React.ComponentType<BookingCalendarGridProps>;
42
- BookingCalendarLaneHeader?: React.ComponentType<BookingCalendarLaneHeaderProps<TLaneData>>;
43
- BookingCalendarLanesHeader?: React.ComponentType<BookingCalendarLanesHeaderProps<T>>;
44
- BookingCalendarDatePicker?: React.ComponentType<BookingCalendarDatePickerProps<T>> | React.ReactNode;
45
- }
46
- export declare function BookingCalendar<T extends BookingCalendarItemT, TLaneData>(props: BookingCalendarProps<T, TLaneData>): JSX.Element;
1
+ import * as React from 'react';
2
+ import { BookingCalendarClasses } from './classes';
3
+ import { BookingCalendarDateRange, BookingCalendarItemT, GetNewMomentFunctionType, GetMomentFormatFunctionType, ZoomLevel } from './common';
4
+ import { BookingCalendarControlsProps } from './bookingCalendarControls/BookingCalendarControls';
5
+ import { LaneSourceData } from './utils';
6
+ import { BookingCalendarLaneProps } from './bookingCalendarLane/BookingCalendarLane';
7
+ import { Moment, Duration } from 'moment';
8
+ import { BookingCalendarItemProps } from './bookingCalendarItem';
9
+ import { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';
10
+ import { BookingCalendarGridProps } from './bookingCalendarGrid/BookingCalendarGrid';
11
+ import { BookingCalendarLaneHeaderProps } from './bookingCalendarLaneHeader';
12
+ import { BookingCalendarLanesHeaderProps } from './bookingCalendarLanesHeader';
13
+ import { BookingCalendarDatePickerProps } from './bookingCalendarDatePicker';
14
+ export interface BookingCalendarProps<T extends BookingCalendarItemT, TLaneData> extends BookingCalendarClasses {
15
+ bookings: T[];
16
+ from: Moment;
17
+ till: Moment;
18
+ getMomentFormatFunction?: GetMomentFormatFunctionType;
19
+ getNewMomentFunction?: GetNewMomentFunctionType;
20
+ onRangeChange?: (range: BookingCalendarDateRange) => void;
21
+ step?: Duration;
22
+ showZoomAllButton?: boolean;
23
+ showGrid?: boolean;
24
+ showSelection?: boolean;
25
+ minSelectionSize?: number;
26
+ gridAvailableSteps?: Duration[];
27
+ goalGridWidthPx?: number;
28
+ minLanesCount?: number;
29
+ lanesSource?: LaneSourceData<T, TLaneData>[];
30
+ unmatchedLanesToFront?: boolean;
31
+ children?: React.ReactNode;
32
+ bookingCalendarTopLeftHeader?: React.ReactNode;
33
+ filteringButton?: React.ReactNode;
34
+ zoomLevels?: ZoomLevel[];
35
+ filterBookingsToZoom?: (booking: T) => boolean;
36
+ BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;
37
+ BookingCalendarRenderItem?: React.ComponentType<BookingCalendarRenderItemProps<T>>;
38
+ BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;
39
+ BookingCalendarControls?: React.ComponentType<BookingCalendarControlsProps<T>>;
40
+ BookingCalendarGrid?: React.ComponentType<BookingCalendarGridProps>;
41
+ BookingCalendarLaneHeader?: React.ComponentType<BookingCalendarLaneHeaderProps<TLaneData>>;
42
+ BookingCalendarLanesHeader?: React.ComponentType<BookingCalendarLanesHeaderProps<T>>;
43
+ BookingCalendarDatePicker?: React.ComponentType<BookingCalendarDatePickerProps<T>> | React.ReactNode;
44
+ }
45
+ export declare function BookingCalendar<T extends BookingCalendarItemT, TLaneData>(props: BookingCalendarProps<T, TLaneData>): React.JSX.Element;
@@ -11,12 +11,11 @@ var _common = require("./common");
11
11
  var _BookingCalendarControls = require("./bookingCalendarControls/BookingCalendarControls");
12
12
  var _utils = require("./utils");
13
13
  var _BookingCalendarLane = require("./bookingCalendarLane/BookingCalendarLane");
14
- var _moment = require("moment");
14
+ var _moment = _interopRequireDefault(require("moment"));
15
15
  var _BookingCalendarGrid = require("./bookingCalendarGrid/BookingCalendarGrid");
16
16
  var _bookingCalendarLaneHeader = require("./bookingCalendarLaneHeader");
17
17
  var _bookingCalendarLanesHeader = require("./bookingCalendarLanesHeader");
18
18
  var _bookingCalendarDatePicker = require("./bookingCalendarDatePicker");
19
- var _ = require(".");
20
19
  var _BookingCalendarTimeAxis = require("./bookingCalendarTimeAxis/BookingCalendarTimeAxis");
21
20
  var _reactCoolDimensions = _interopRequireDefault(require("react-cool-dimensions"));
22
21
  var _BookingCalendarSelection = _interopRequireDefault(require("./bookingCalendarSelection/BookingCalendarSelection"));
@@ -24,7 +23,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
24
23
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
26
25
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
- const defaultStep = (0, _moment.duration)(1, 'day');
26
+ const defaultStep = _moment.default.duration(1, 'day');
28
27
  function BookingCalendar(props) {
29
28
  var _entry$target;
30
29
  const {
@@ -43,9 +42,9 @@ function BookingCalendar(props) {
43
42
  showGrid = true,
44
43
  showSelection = true,
45
44
  showZoomAllButton = true,
46
- gridAvailableSteps = _.defaultGridAvailableSteps,
45
+ gridAvailableSteps = _common.defaultGridAvailableSteps,
47
46
  getMomentFormatFunction = _common.defaultGetMomentFormatFunction,
48
- getNewMomentFunction = _.defaultGetNewMomentFunction,
47
+ getNewMomentFunction = _common.defaultGetNewMomentFunction,
49
48
  goalGridWidthPx = 60,
50
49
  minSelectionSize = 10,
51
50
  minLanesCount,