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
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Copyright (c) 2013-present, Facebook, Inc.
3
+ *
4
+ * This source code is licensed under the MIT license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ *
7
+ * @providesModule shallowEqual
8
+ * @typechecks
9
+ * @flow
10
+ */
11
+
12
+ /*eslint-disable no-self-compare */
13
+
14
+ const hasOwnProperty = Object.prototype.hasOwnProperty;
15
+
16
+ /**
17
+ * inlined Object.is polyfill to avoid requiring consumers ship their own
18
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
19
+ */
20
+ // tslint:disable-next-line:no-any
21
+ function is(x: any, y: any): boolean {
22
+ // SameValue algorithm
23
+ if (x === y) {
24
+ // Steps 1-5, 7-10
25
+ // Steps 6.b-6.e: +0 != -0
26
+ // Added the nonzero y check to make Flow happy, but it is redundant
27
+ return x !== 0 || y !== 0 || 1 / x === 1 / y;
28
+ } else {
29
+ // Step 6.a: NaN == NaN
30
+ return x !== x && y !== y;
31
+ }
32
+ }
33
+
34
+ /**
35
+ * Performs equality by iterating through keys on an object and returning false
36
+ * when any key has values which are not strictly equal between the arguments.
37
+ * Returns true when the values of all keys are strictly equal.
38
+ */
39
+ export function shallowEqual<T extends object>(
40
+ objA: T,
41
+ objB: T,
42
+ ignoreKey?: keyof T
43
+ ): boolean {
44
+ if (is(objA, objB)) {
45
+ return true;
46
+ }
47
+
48
+ if (
49
+ typeof objA !== 'object' ||
50
+ objA === null ||
51
+ typeof objB !== 'object' ||
52
+ objB === null
53
+ ) {
54
+ return false;
55
+ }
56
+
57
+ const keysA = Object.keys(objA).filter(k => k !== ignoreKey);
58
+ const keysB = Object.keys(objB).filter(k => k !== ignoreKey);
59
+
60
+ if (keysA.length !== keysB.length) {
61
+ return false;
62
+ }
63
+
64
+ // Test for A's keys different from B.
65
+ for (let i = 0; i < keysA.length; i++) {
66
+ if (
67
+ !hasOwnProperty.call(objB, keysA[i]) ||
68
+ !is(objA[keysA[i]], objB[keysA[i]])
69
+ ) {
70
+ return false;
71
+ }
72
+ }
73
+
74
+ return true;
75
+ }
@@ -0,0 +1,22 @@
1
+ // Libs
2
+
3
+ import { Duration } from 'moment';
4
+
5
+ class TimeUtil {
6
+ public dayDiff(start: Duration, end: Duration) {
7
+ const startOfDay = start
8
+ .clone()
9
+ .subtract(start.hours(), 'hours')
10
+ .subtract(start.minutes(), 'minutes')
11
+ .subtract(start.seconds(), 'seconds')
12
+ .subtract(start.milliseconds(), 'milliseconds');
13
+ const timeDiff = Math.abs(
14
+ end.asMilliseconds() - startOfDay.asMilliseconds()
15
+ );
16
+ const diffDays = Math.floor(timeDiff / (1000 * 3600 * 24));
17
+ return diffDays;
18
+ }
19
+ }
20
+
21
+ const util = new TimeUtil();
22
+ export default util;
@@ -0,0 +1,11 @@
1
+ export type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>;
2
+
3
+ export type DeepPartial<T> = {
4
+ [P in keyof T]?: T[P] extends Array<infer U>
5
+ ? Array<DeepPartial<U>>
6
+ : T[P] extends ReadonlyArray<infer UInner>
7
+ ? ReadonlyArray<DeepPartial<UInner>>
8
+ : DeepPartial<T[P]>;
9
+ };
10
+
11
+ export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
@@ -0,0 +1 @@
1
+ declare module '*.svg';
@@ -0,0 +1,24 @@
1
+ export * from './validators/index';
2
+ export * from './components/button';
3
+ export * from './components/checkbox';
4
+ export * from './components/dropdown';
5
+ export * from './components/dynamicSubmit';
6
+ export * from './components/form';
7
+ export * from './components/inputGroup';
8
+ export * from './components/inputHeader';
9
+ export * from './components/money/Money';
10
+ export * from './components/openingHours/openingHoursDay';
11
+ export * from './components/openingHours/openingHoursSpecial';
12
+ export * from './components/openingHours/openingHoursWeek';
13
+ export * from './components/radio';
14
+ export * from './components/radioContainer';
15
+ export * from './components/select/Select';
16
+ export * from './components/submit';
17
+ export * from './components/tags';
18
+ export * from './components/text';
19
+ export * from './components/textArea';
20
+ export * from './components/time';
21
+ export * from './components/timeSpan';
22
+ export * from './components/themeProvider';
23
+ export * from './components/bookingCalendar';
24
+ export * from './components/externalValidationComponent';
@@ -0,0 +1 @@
1
+ @import './input/index.scss';
@@ -0,0 +1 @@
1
+ @import './input.scss';
@@ -0,0 +1,237 @@
1
+ > .input__group__border:first-child {
2
+ border-top: none;
3
+ }
4
+ .input__group__border {
5
+ border-top: 1px solid $input-border-color;
6
+ }
7
+
8
+ .input__divider {
9
+ border-top: 1px solid $input-border-color;
10
+ padding: 1rem;
11
+ background-color: $input-divider-color;
12
+ }
13
+
14
+ .label--help-icon {
15
+ cursor: pointer;
16
+ }
17
+
18
+ .input__base {
19
+ position: relative;
20
+ border-bottom: 1px solid $input-border-color;
21
+ width: 100%; // Chrome yellow tint fix
22
+ transition: 0.5s ease border-color;
23
+ margin-bottom: 1rem;
24
+ margin-top: 1.25rem;
25
+ input:-webkit-autofill {
26
+ box-shadow: 0 0 0 1000px white inset !important;
27
+ -webkit-box-shadow: 0 0 0 1000px white inset !important;
28
+ }
29
+ /* VALIDATION ======================================= */
30
+ .validation__container {
31
+ position: absolute;
32
+ top: 100%;
33
+ right: 0;
34
+ color: $input-validation-color;
35
+ overflow: hidden;
36
+ font-size: $input-validation-fontsize;
37
+ }
38
+ .validation__ul {
39
+ display: flex;
40
+ flex-wrap: wrap;
41
+ padding: 0;
42
+ margin: 0;
43
+ position: relative;
44
+ transform: translateY(-20px);
45
+ transition: 0.5s transform ease-in-out;
46
+ .validation__item {
47
+ white-space: nowrap;
48
+ margin-left: 10px;
49
+ list-style: none;
50
+ }
51
+ }
52
+ &.validation__error {
53
+ .validation__ul {
54
+ transform: translateY(0);
55
+ }
56
+ .bar:before,
57
+ .bar:after {
58
+ background-color: $input-validation-error-bar-color;
59
+ }
60
+ border-bottom: 1px solid $input-validation-error-border-color !important;
61
+ }
62
+ /* INFO TEXT ======================================= */
63
+ .info-text__container {
64
+ position: absolute;
65
+ top: 100%;
66
+ left: 5px;
67
+ overflow: hidden;
68
+ font-size: $input-validation-fontsize;
69
+ }
70
+ .info-text__ul {
71
+ display: flex;
72
+ flex-wrap: wrap;
73
+ padding: 0;
74
+ margin: 0;
75
+ position: relative;
76
+ transform: translateY(0);
77
+ transition: 0.5s transform ease-in-out;
78
+ .info-text__item {
79
+ white-space: nowrap;
80
+ list-style: none;
81
+ }
82
+ }
83
+ &.validation__error {
84
+ .info-text__ul {
85
+ transform: translateY(-20px);
86
+ }
87
+ }
88
+ /* LABEL ======================================= */
89
+ label,
90
+ span.label-classname {
91
+ color: $input-label-color;
92
+ font-size: 18px;
93
+ font-weight: normal;
94
+ position: absolute; // pointer-events: none;
95
+ left: 5px;
96
+ top: 5px;
97
+ transition: 0.2s ease all;
98
+ margin-bottom: 0;
99
+ pointer-events: none;
100
+ display: flex;
101
+ align-items: center;
102
+ }
103
+ $dim: 1.1rem;
104
+ .label--help-icon {
105
+ pointer-events: auto;
106
+ bottom: 0.35rem;
107
+ margin-left: 0.25rem;
108
+ background-color: $input-label-color;
109
+ border-radius: 50%;
110
+ color: $input-text-color--white;
111
+ text-align: center;
112
+ height: $dim;
113
+ width: $dim;
114
+ min-width: $dim;
115
+ line-height: $dim;
116
+ font-size: $dim - 0.3;
117
+ display: inline-block;
118
+ transition: 0.2s ease all;
119
+ }
120
+ /* active state */
121
+ input:placeholder-shown ~ label,
122
+ input:focus ~ label,
123
+ .filled ~ label,
124
+ select:focus ~ label,
125
+ textarea:focus ~ label,
126
+ label.label--focused,
127
+ span.label-classname.label--focused {
128
+ top: -1rem;
129
+ font-size: 14px;
130
+ $dim-dif: -0.2rem;
131
+ .label--help-icon {
132
+ bottom: 0.25rem;
133
+ height: $dim + $dim-dif;
134
+ width: $dim + $dim-dif;
135
+ min-width: $dim + $dim-dif;
136
+ line-height: $dim + $dim-dif;
137
+ font-size: $dim - 0.2 + $dim-dif;
138
+ }
139
+ }
140
+ input:focus ~ label,
141
+ .filled ~ label,
142
+ select:focus ~ label,
143
+ textarea:focus ~ label,
144
+ label.label--focused,
145
+ span.label-classname.label--focused {
146
+ color: $primary-color;
147
+ }
148
+ /* BOTTOM BARS ================================= */
149
+ .bar {
150
+ position: absolute;
151
+ bottom: 0;
152
+ display: block;
153
+ width: 100%;
154
+ }
155
+ .bar:before,
156
+ .bar:after {
157
+ content: '';
158
+ height: 2px;
159
+ width: 0;
160
+ bottom: 0px;
161
+ position: absolute;
162
+ background-color: $primary-color;
163
+ transition: 0.2s ease height, 0.5s ease background-color;
164
+ }
165
+ .bar:before {
166
+ left: 50%;
167
+ }
168
+ .bar:after {
169
+ right: 50%;
170
+ }
171
+ /* active state */
172
+ input:focus ~ .bar:before,
173
+ input:focus ~ .bar:after,
174
+ textarea:focus ~ .bar:before,
175
+ textarea:focus ~ .bar:after,
176
+ select:focus ~ .bar:before,
177
+ select:focus ~ .bar:after,
178
+ label:focus ~ .bar:before,
179
+ label:focus ~ .bar:after,
180
+ .bar.focused:before,
181
+ .bar.focused:after {
182
+ width: 50%;
183
+ }
184
+ /* HIGHLIGHTER ================================== */
185
+ .highlight {
186
+ position: absolute;
187
+ height: 24px;
188
+ width: 100px;
189
+ bottom: 5px;
190
+ left: 0;
191
+ pointer-events: none;
192
+ opacity: 0.5;
193
+ }
194
+ /* active state */
195
+ input:focus ~ .highlight,
196
+ select:focus ~ .highlight {
197
+ animation: inputHighlighter 0.3s ease;
198
+ }
199
+ input:focus {
200
+ outline: none;
201
+ }
202
+ input:disabled,
203
+ select:disabled {
204
+ cursor: not-allowed;
205
+ color: $input-label-color;
206
+ background: transparent;
207
+ }
208
+ .input__button {
209
+ display: inline-block; //background-color: $primary-color;
210
+ padding: 6px 10px 7px 10px;
211
+ svg.material-design-icon,
212
+ & {
213
+ font-weight: bold;
214
+ transition: 0.2s all;
215
+ color: $input-label-color;
216
+ fill: $input-label-color;
217
+ &:hover {
218
+ color: $primary-color;
219
+ fill: $primary-color;
220
+ }
221
+ display: inline-block;
222
+ vertical-align: middle;
223
+ }
224
+ }
225
+ }
226
+
227
+ /* ANIMATIONS ================ */
228
+
229
+ @keyframes inputHighlighter {
230
+ from {
231
+ background: $primary-color;
232
+ }
233
+ to {
234
+ width: 0;
235
+ background: transparent;
236
+ }
237
+ }
@@ -0,0 +1,272 @@
1
+ $border-color: $input-border-color;
2
+ $border-color-dark: black;
3
+ .bookingCalendar {
4
+ display: flex;
5
+ flex-direction: column;
6
+ }
7
+ .bookingCalendar__table {
8
+ display: grid;
9
+ grid-template-columns: auto 1fr;
10
+ position: relative;
11
+ // To make sure height 100% works in td-s
12
+ height: 100%;
13
+ .bookingCalendar__laneContainer,
14
+ .bookingCalendar__laneHeaderContainer {
15
+ padding-top: 0.5rem;
16
+ padding-bottom: 0.5rem;
17
+ }
18
+ .bookingCalendar__laneHeaderContainer {
19
+ display: flex;
20
+ align-items: center;
21
+ border-bottom: 1px solid $border-color;
22
+ border-right: 1px solid $border-color-dark;
23
+ box-shadow: none;
24
+ }
25
+ .bookingCalendar__laneContainer--first,
26
+ .bookingCalendar__laneHeaderContainer--first {
27
+ padding-top: 1rem;
28
+ }
29
+ .bookingCalendar__laneHeaderContainer--first {
30
+ border-top: 1px solid $border-color;
31
+ }
32
+ .bookingCalendar__laneContainer--last,
33
+ .bookingCalendar__laneHeaderContainer--last {
34
+ padding-bottom: 1rem;
35
+ }
36
+ .bookingCalendar__laneContainer,
37
+ .bookingCalendar__lanesHeaderContainer,
38
+ .bookingCalendar__lanesHeaderHeaderContainer,
39
+ .bookingCalendar__laneHeaderContainer {
40
+ box-shadow: 1px 0 0 0 $border-color;
41
+ }
42
+ .bookingCalendar__lanesHeaderHeaderContainer {
43
+ padding: 0.5rem;
44
+ display: flex;
45
+ align-items: center;
46
+ border-right: 1px solid $border-color-dark;
47
+ }
48
+ .bookingCalendar__laneContainer--last {
49
+ border-bottom: 1px solid $input-border-color;
50
+ }
51
+ }
52
+ .bookingCalendar__lane {
53
+ display: flex;
54
+ flex-direction: row;
55
+ z-index: 1;
56
+ min-height: 2rem;
57
+ }
58
+ .bookingCalendar__laneHeader {
59
+ height: 100%;
60
+ padding: 0.5rem;
61
+ display: flex;
62
+ align-items: center;
63
+ }
64
+ .bookingCalendar__item {
65
+ position: relative;
66
+ background-color: rgba($primary-color, 0.9);
67
+ box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15),
68
+ 0px 2px 2px 0px rgba(0, 0, 0, 0.12), 0px 3px 1px -2px rgba(0, 0, 0, 0.08);
69
+ overflow: hidden;
70
+ }
71
+
72
+ .bookingCalendar__renderItem {
73
+ padding: 0.5rem;
74
+ &::before,
75
+ &::after {
76
+ content: '';
77
+ position: absolute;
78
+ top: 0;
79
+ bottom: 0;
80
+ width: 0.25rem;
81
+ display: none;
82
+ }
83
+ }
84
+
85
+ .bookingCalendar__renderItem--cutStart {
86
+ padding-left: 1rem;
87
+ &::before {
88
+ display: block;
89
+ left: 0;
90
+ background: repeating-linear-gradient(
91
+ 45deg,
92
+ white,
93
+ white 5px,
94
+ transparent 5px,
95
+ transparent 10px
96
+ );
97
+ z-index: 1;
98
+ }
99
+ }
100
+ .bookingCalendar__renderItem--cutEnd {
101
+ padding-right: 1rem;
102
+ &::after {
103
+ display: block;
104
+ right: 0;
105
+ background: repeating-linear-gradient(
106
+ -45deg,
107
+ white,
108
+ white 5px,
109
+ transparent 5px,
110
+ transparent 10px
111
+ );
112
+ z-index: 1;
113
+ }
114
+ }
115
+
116
+ .bookingCalendar__grid {
117
+ position: absolute;
118
+ left: 0;
119
+ right: 0;
120
+ height: 100%;
121
+ pointer-events: none;
122
+ grid-column: 2;
123
+ grid-row-start: 2;
124
+ }
125
+
126
+ .bookingCalendar__grid__item {
127
+ height: 100%;
128
+ width: 0.5px;
129
+ // transform: translateX(-50%);
130
+ background-color: $border-color-dark;
131
+ position: absolute;
132
+ }
133
+
134
+ .bookingCalendar__lanesHeader {
135
+ /*box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.15),
136
+ 0px 2px 2px 0px rgba(0, 0, 0, 0.12), 0px 3px 1px -2px rgba(0, 0, 0, 0.08);*/
137
+ .bookingCalendar__item {
138
+ display: flex;
139
+ align-items: center;
140
+ justify-content: center;
141
+ box-shadow: 1px 0 $border-color-dark;
142
+ &:last-of-type {
143
+ box-shadow: none;
144
+ }
145
+ }
146
+ .bookingCalendar__renderItem {
147
+ height: 100%;
148
+ width: 100%;
149
+ padding: 0;
150
+ }
151
+ .bookingCalendar__lanesHeader__renderItem__button {
152
+ white-space: normal;
153
+ height: 100%;
154
+ width: 100%;
155
+ text-align: end;
156
+ text-transform: none;
157
+ border-left: 1px solid $border-color;
158
+ }
159
+ .bookingCalendar__lanesHeader__renderItem__button__mutedText {
160
+ opacity: 0.8;
161
+ }
162
+ .bookingCalendar__lanesHeader__renderItem__button__mutedText--split {
163
+ display: flex;
164
+ > span:first-child {
165
+ margin-right: auto;
166
+ }
167
+ }
168
+ .bookingCalendar__item:first-of-type
169
+ .bookingCalendar__lanesHeader__renderItem__button {
170
+ border-left: none;
171
+ }
172
+ }
173
+
174
+ .bookingCalendar__controls {
175
+ display: flex;
176
+ padding: 1rem 0;
177
+ padding-bottom: 0.5rem;
178
+ align-items: center;
179
+ .bookingCalendar__controls__monthLabel {
180
+ display: flex;
181
+ align-items: center;
182
+ }
183
+ .bookingCalendar__controls__buttonsContainer {
184
+ margin-left: auto;
185
+ }
186
+ .bookingCalendar__controls__zoomBookingsButton {
187
+ svg {
188
+ transform: rotate(90deg);
189
+ }
190
+ }
191
+ .bookingCalendar__controls__zoomLevelsContainer {
192
+ margin-left: auto;
193
+ }
194
+ .bookingCalendar__controls__zoomLevelsButton {
195
+ text-transform: none;
196
+ display: flex;
197
+ align-items: center;
198
+ svg {
199
+ margin-right: 0.5rem;
200
+ }
201
+ }
202
+ }
203
+
204
+ .bookingCalendar__datePicker {
205
+ display: flex;
206
+ height: 100%;
207
+ .bookingCalendar__datePicker__button {
208
+ height: 100%;
209
+ width: 100%;
210
+ text-transform: none;
211
+ }
212
+ }
213
+
214
+ .bookingCalendar__timeAxis {
215
+ padding-top: 0.5rem;
216
+ width: 100%;
217
+ overflow: visible;
218
+ svg {
219
+ overflow: visible;
220
+ }
221
+ text {
222
+ // text-anchor: middle;
223
+ }
224
+ }
225
+
226
+ /*.bookingCalendar__timeAxis__item {
227
+ position: absolute;
228
+ display: inline-block;
229
+ transform: rotate(75deg);
230
+ }*/
231
+
232
+ @keyframes fadeIn {
233
+ from {
234
+ opacity: 0;
235
+ }
236
+ to {
237
+ opacity: 1;
238
+ }
239
+ }
240
+
241
+ @keyframes fadeOut {
242
+ from {
243
+ opacity: 1;
244
+ }
245
+ to {
246
+ opacity: 0;
247
+ }
248
+ }
249
+
250
+ .bookingCalendar__selection__container {
251
+ position: absolute;
252
+ left: 0;
253
+ right: 0;
254
+ height: 100%;
255
+ grid-column: 2;
256
+ grid-row-start: 2;
257
+ }
258
+
259
+ .bookingCalendar__selection {
260
+ background-color: rgba(0, 0, 0, 0.2);
261
+ border: 1px dashed white;
262
+ position: absolute;
263
+ animation-duration: 0.2s;
264
+ animation-name: fadeIn;
265
+ user-select: none;
266
+ }
267
+
268
+ .bookingCalendar__selection--fadeout {
269
+ animation-duration: 0.3s;
270
+ animation-name: fadeOut;
271
+ animation-fill-mode: forwards;
272
+ }
@@ -0,0 +1 @@
1
+ @import './bookingCalendar.scss';