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
@@ -1 +1 @@
1
- {"version":3,"file":"BookingCalendar.js","names":["React","_interopRequireWildcard","require","_classes","_classnames","_interopRequireDefault","_common","_BookingCalendarControls","_utils","_BookingCalendarLane","_moment","_BookingCalendarGrid","_bookingCalendarLaneHeader","_bookingCalendarLanesHeader","_bookingCalendarDatePicker","_","_BookingCalendarTimeAxis","_reactCoolDimensions","_BookingCalendarSelection","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","defaultStep","duration","BookingCalendar","props","_entry$target","bookings","className","laneContainerClassName","laneHeaderContainerClassName","lanesHeaderContainerClassName","lanesHeaderHeaderContainerClassName","controlsClasses","tableClassName","from","till","onRangeChange","step","showGrid","showSelection","showZoomAllButton","gridAvailableSteps","defaultGridAvailableSteps","getMomentFormatFunction","defaultGetMomentFormatFunction","getNewMomentFunction","defaultGetNewMomentFunction","goalGridWidthPx","minSelectionSize","minLanesCount","lanesSource","unmatchedLanesToFront","filterBookingsToZoom","zoomLevels","BookingCalendarControls","DefaultBookingCalendarControls","BookingCalendarItem","BookingCalendarLane","DefaultBookingCalendarLane","BookingCalendarRenderItem","BookingCalendarGrid","DefaultBookingCalendarGrid","BookingCalendarLaneHeader","DefaultBookingCalendarLaneHeader","BookingCalendarLanesHeader","DefaultBookingCalendarLanesHeader","BookingCalendarDatePicker","DefaultBookingCalendarDatePicker","bookingCalendarTopLeftHeader","filteringButton","children","lanes","useMemo","splitBookingsToLanes","observe","entry","useDimensions","width","scrollWidth","items","gridItems","bestStep","_from$clone","generateGridItems","clone","startOf","onSelected","useCallback","data","screenSpaceStartX","Math","min","origin","screenSpaceEndX","max","durationMs","valueOf","toTimeSpace","num","timeSpaceStart","add","timeSpaceEnd","createElement","classNames","bookingCalendarDefaultClasses","bookingCalendarDatePicker","Fragment","dataRowsCount","ref","map","lane","laneIndex","LaneBookingCalendarLaneHeader","LaneBookingCalendarLane","rowClassName","laneKey","BookingCalendarTimeAxis"],"sources":["../../../src/lib/components/bookingCalendar/BookingCalendar.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport {\r\n BookingCalendarClasses,\r\n bookingCalendarDefaultClasses,\r\n} from './classes';\r\nimport classNames from 'classnames';\r\nimport {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n defaultGetMomentFormatFunction,\r\n GetNewMomentFunctionType,\r\n} from './common';\r\nimport {\r\n BookingCalendarControls as DefaultBookingCalendarControls,\r\n BookingCalendarControlsProps,\r\n} from './bookingCalendarControls/BookingCalendarControls';\r\nimport {\r\n generateGridItems,\r\n LaneSourceData,\r\n splitBookingsToLanes,\r\n} from './utils';\r\nimport {\r\n BookingCalendarLane as DefaultBookingCalendarLane,\r\n BookingCalendarLaneProps,\r\n} from './bookingCalendarLane/BookingCalendarLane';\r\nimport { Moment, Duration, duration } from 'moment';\r\nimport { BookingCalendarItemProps } from './bookingCalendarItem';\r\nimport { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';\r\nimport {\r\n BookingCalendarGrid as DefaultBookingCalendarGrid,\r\n BookingCalendarGridProps,\r\n} from './bookingCalendarGrid/BookingCalendarGrid';\r\nimport {\r\n BookingCalendarLaneHeader as DefaultBookingCalendarLaneHeader,\r\n BookingCalendarLaneHeaderProps,\r\n} from './bookingCalendarLaneHeader';\r\nimport {\r\n BookingCalendarLanesHeader as DefaultBookingCalendarLanesHeader,\r\n BookingCalendarLanesHeaderProps,\r\n} from './bookingCalendarLanesHeader';\r\nimport {\r\n BookingCalendarDatePicker as DefaultBookingCalendarDatePicker,\r\n BookingCalendarDatePickerProps,\r\n} from './bookingCalendarDatePicker';\r\nimport {\r\n defaultGetNewMomentFunction,\r\n defaultGridAvailableSteps,\r\n GetMomentFormatFunctionType,\r\n ZoomLevel,\r\n} from '.';\r\nimport { BookingCalendarTimeAxis } from './bookingCalendarTimeAxis/BookingCalendarTimeAxis';\r\nimport useDimensions from 'react-cool-dimensions';\r\nimport BookingCalendarSelection, {\r\n BookingCalendarSelectionData,\r\n} from './bookingCalendarSelection/BookingCalendarSelection';\r\n\r\nexport interface BookingCalendarProps<T extends BookingCalendarItemT, TLaneData>\r\n extends BookingCalendarClasses {\r\n bookings: T[];\r\n from: Moment;\r\n till: Moment;\r\n getMomentFormatFunction?: GetMomentFormatFunctionType;\r\n getNewMomentFunction?: GetNewMomentFunctionType;\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n step?: Duration;\r\n showZoomAllButton?: boolean;\r\n showGrid?: boolean;\r\n showSelection?: boolean;\r\n minSelectionSize?: number;\r\n gridAvailableSteps?: Duration[];\r\n goalGridWidthPx?: number;\r\n minLanesCount?: number;\r\n lanesSource?: LaneSourceData<T, TLaneData>[];\r\n unmatchedLanesToFront?: boolean;\r\n children?: React.ReactNode;\r\n bookingCalendarTopLeftHeader?: React.ReactNode;\r\n filteringButton?: React.ReactNode;\r\n\r\n zoomLevels?: ZoomLevel[];\r\n filterBookingsToZoom?: (booking: T) => boolean;\r\n\r\n BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;\r\n BookingCalendarRenderItem?: React.ComponentType<\r\n BookingCalendarRenderItemProps<T>\r\n >;\r\n BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;\r\n BookingCalendarControls?: React.ComponentType<\r\n BookingCalendarControlsProps<T>\r\n >;\r\n BookingCalendarGrid?: React.ComponentType<BookingCalendarGridProps>;\r\n BookingCalendarLaneHeader?: React.ComponentType<\r\n BookingCalendarLaneHeaderProps<TLaneData>\r\n >;\r\n BookingCalendarLanesHeader?: React.ComponentType<\r\n BookingCalendarLanesHeaderProps<T>\r\n >;\r\n BookingCalendarDatePicker?:\r\n | React.ComponentType<BookingCalendarDatePickerProps<T>>\r\n | React.ReactNode;\r\n}\r\n\r\nconst defaultStep = duration(1, 'day');\r\n\r\nexport function BookingCalendar<T extends BookingCalendarItemT, TLaneData>(\r\n props: BookingCalendarProps<T, TLaneData>\r\n) {\r\n const {\r\n bookings,\r\n className,\r\n laneContainerClassName,\r\n laneHeaderContainerClassName,\r\n lanesHeaderContainerClassName,\r\n lanesHeaderHeaderContainerClassName,\r\n controlsClasses,\r\n tableClassName,\r\n from,\r\n till,\r\n onRangeChange,\r\n step = defaultStep,\r\n showGrid = true,\r\n showSelection = true,\r\n showZoomAllButton = true,\r\n gridAvailableSteps = defaultGridAvailableSteps,\r\n getMomentFormatFunction = defaultGetMomentFormatFunction,\r\n getNewMomentFunction = defaultGetNewMomentFunction,\r\n goalGridWidthPx = 60,\r\n minSelectionSize = 10,\r\n minLanesCount,\r\n lanesSource,\r\n unmatchedLanesToFront = true,\r\n filterBookingsToZoom,\r\n zoomLevels,\r\n BookingCalendarControls = DefaultBookingCalendarControls,\r\n BookingCalendarItem,\r\n BookingCalendarLane = DefaultBookingCalendarLane,\r\n BookingCalendarRenderItem,\r\n BookingCalendarGrid = DefaultBookingCalendarGrid,\r\n BookingCalendarLaneHeader = DefaultBookingCalendarLaneHeader,\r\n BookingCalendarLanesHeader = DefaultBookingCalendarLanesHeader,\r\n BookingCalendarDatePicker = DefaultBookingCalendarDatePicker,\r\n bookingCalendarTopLeftHeader,\r\n filteringButton,\r\n children,\r\n } = props;\r\n const lanes = React.useMemo(\r\n () =>\r\n splitBookingsToLanes<T, TLaneData>(\r\n bookings,\r\n from,\r\n minLanesCount,\r\n lanesSource,\r\n unmatchedLanesToFront\r\n ),\r\n [bookings, from, minLanesCount, lanesSource, unmatchedLanesToFront]\r\n );\r\n const { observe, entry } = useDimensions<HTMLDivElement>();\r\n const width = entry?.target?.scrollWidth ?? 0;\r\n const { items: gridItems, bestStep } = React.useMemo(\r\n () =>\r\n generateGridItems(\r\n from,\r\n till,\r\n step,\r\n width,\r\n gridAvailableSteps,\r\n goalGridWidthPx,\r\n from?.clone()?.startOf('day')\r\n ),\r\n [from, till, step, width, gridAvailableSteps, goalGridWidthPx]\r\n );\r\n const onSelected = React.useCallback(\r\n (data: BookingCalendarSelectionData) => {\r\n if (!from || !till || !width || !onRangeChange) {\r\n return;\r\n }\r\n const screenSpaceStartX = Math.min(data.origin[0], data.target[0]);\r\n const screenSpaceEndX = Math.max(data.origin[0], data.target[0]);\r\n const durationMs = till.valueOf() - from.valueOf();\r\n const toTimeSpace = (num: number) => (num / (width || 1)) * durationMs;\r\n const timeSpaceStart = from\r\n .clone()\r\n .add(toTimeSpace(screenSpaceStartX), 'ms');\r\n const timeSpaceEnd = from.clone().add(toTimeSpace(screenSpaceEndX), 'ms');\r\n onRangeChange({ from: timeSpaceStart, till: timeSpaceEnd });\r\n },\r\n [from, till, width, onRangeChange]\r\n );\r\n return (\r\n <div\r\n className={classNames(bookingCalendarDefaultClasses.className, className)}\r\n >\r\n <BookingCalendarControls<T>\r\n {...controlsClasses}\r\n items={bookings}\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n step={step}\r\n filterBookingsToZoom={filterBookingsToZoom}\r\n zoomLevels={zoomLevels}\r\n filteringButton={filteringButton}\r\n showZoomAllButton={showZoomAllButton}\r\n bookingCalendarDatePicker={\r\n <>\r\n {typeof BookingCalendarDatePicker === 'function' ? (\r\n <BookingCalendarDatePicker\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n getNewMomentFunction={getNewMomentFunction}\r\n />\r\n ) : (\r\n BookingCalendarDatePicker\r\n )}\r\n </>\r\n }\r\n />\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.tableClassName,\r\n tableClassName\r\n )}\r\n >\r\n {showGrid && (\r\n <BookingCalendarGrid\r\n items={gridItems}\r\n dataRowsCount={lanes.length}\r\n width={width}\r\n />\r\n )}\r\n {showSelection && (\r\n <BookingCalendarSelection\r\n dataRowsCount={lanes.length}\r\n onSelected={onSelected}\r\n minSelectionSize={minSelectionSize}\r\n />\r\n )}\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.lanesHeaderHeaderContainerClassName,\r\n lanesHeaderHeaderContainerClassName\r\n )}\r\n >\r\n {bookingCalendarTopLeftHeader}\r\n </div>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.lanesHeaderContainerClassName,\r\n lanesHeaderContainerClassName\r\n )}\r\n ref={observe}\r\n >\r\n <BookingCalendarLanesHeader<T>\r\n {...controlsClasses}\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n step={step}\r\n />\r\n </div>\r\n\r\n {lanes.map((lane, laneIndex) => {\r\n const LaneBookingCalendarLaneHeader =\r\n lane.BookingCalendarLaneHeader ?? BookingCalendarLaneHeader;\r\n const LaneBookingCalendarLane =\r\n lane.BookingCalendarLane ?? BookingCalendarLane;\r\n return (\r\n <React.Fragment key={laneIndex}>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.laneHeaderContainerClassName,\r\n laneHeaderContainerClassName,\r\n lane.rowClassName,\r\n {\r\n [`${bookingCalendarDefaultClasses.laneHeaderContainerClassName}--last`]:\r\n laneIndex === lanes.length - 1,\r\n [`${bookingCalendarDefaultClasses.laneHeaderContainerClassName}--first`]:\r\n laneIndex === 0,\r\n }\r\n )}\r\n >\r\n <LaneBookingCalendarLaneHeader<TLaneData>\r\n laneKey={lane.laneKey ?? laneIndex}\r\n data={lane.data}\r\n />\r\n </div>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.laneContainerClassName,\r\n laneContainerClassName,\r\n lane.rowClassName,\r\n {\r\n [`${bookingCalendarDefaultClasses.laneContainerClassName}--last`]:\r\n laneIndex === lanes.length - 1,\r\n [`${bookingCalendarDefaultClasses.laneContainerClassName}--first`]:\r\n laneIndex === 0,\r\n }\r\n )}\r\n >\r\n <LaneBookingCalendarLane\r\n laneIndex={laneIndex}\r\n items={lane.items}\r\n from={from}\r\n till={till}\r\n BookingCalendarItem={\r\n lane.BookingCalendarItem ?? BookingCalendarItem\r\n }\r\n BookingCalendarRenderItem={\r\n lane.BookingCalendarRenderItem ?? BookingCalendarRenderItem\r\n }\r\n step={step}\r\n />\r\n </div>\r\n </React.Fragment>\r\n );\r\n })}\r\n <div />\r\n <div>\r\n <BookingCalendarTimeAxis\r\n items={gridItems}\r\n bestStep={bestStep}\r\n getMomentFormatFunction={getMomentFormatFunction}\r\n />\r\n </div>\r\n </div>\r\n {children}\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"BookingCalendar.js","names":["React","_interopRequireWildcard","require","_classes","_classnames","_interopRequireDefault","_common","_BookingCalendarControls","_utils","_BookingCalendarLane","_moment","_BookingCalendarGrid","_bookingCalendarLaneHeader","_bookingCalendarLanesHeader","_bookingCalendarDatePicker","_BookingCalendarTimeAxis","_reactCoolDimensions","_BookingCalendarSelection","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_extends","assign","bind","target","i","arguments","length","source","apply","defaultStep","moment","duration","BookingCalendar","props","_entry$target","bookings","className","laneContainerClassName","laneHeaderContainerClassName","lanesHeaderContainerClassName","lanesHeaderHeaderContainerClassName","controlsClasses","tableClassName","from","till","onRangeChange","step","showGrid","showSelection","showZoomAllButton","gridAvailableSteps","defaultGridAvailableSteps","getMomentFormatFunction","defaultGetMomentFormatFunction","getNewMomentFunction","defaultGetNewMomentFunction","goalGridWidthPx","minSelectionSize","minLanesCount","lanesSource","unmatchedLanesToFront","filterBookingsToZoom","zoomLevels","BookingCalendarControls","DefaultBookingCalendarControls","BookingCalendarItem","BookingCalendarLane","DefaultBookingCalendarLane","BookingCalendarRenderItem","BookingCalendarGrid","DefaultBookingCalendarGrid","BookingCalendarLaneHeader","DefaultBookingCalendarLaneHeader","BookingCalendarLanesHeader","DefaultBookingCalendarLanesHeader","BookingCalendarDatePicker","DefaultBookingCalendarDatePicker","bookingCalendarTopLeftHeader","filteringButton","children","lanes","useMemo","splitBookingsToLanes","observe","entry","useDimensions","width","scrollWidth","items","gridItems","bestStep","_from$clone","generateGridItems","clone","startOf","onSelected","useCallback","data","screenSpaceStartX","Math","min","origin","screenSpaceEndX","max","durationMs","valueOf","toTimeSpace","num","timeSpaceStart","add","timeSpaceEnd","createElement","classNames","bookingCalendarDefaultClasses","bookingCalendarDatePicker","Fragment","dataRowsCount","ref","map","lane","laneIndex","LaneBookingCalendarLaneHeader","LaneBookingCalendarLane","rowClassName","laneKey","BookingCalendarTimeAxis"],"sources":["../../../src/lib/components/bookingCalendar/BookingCalendar.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport {\r\n BookingCalendarClasses,\r\n bookingCalendarDefaultClasses,\r\n} from './classes';\r\nimport classNames from 'classnames';\r\nimport {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n defaultGetMomentFormatFunction,\r\n GetNewMomentFunctionType,\r\n defaultGetNewMomentFunction,\r\n defaultGridAvailableSteps,\r\n GetMomentFormatFunctionType,\r\n ZoomLevel,\r\n} from './common';\r\nimport {\r\n BookingCalendarControls as DefaultBookingCalendarControls,\r\n BookingCalendarControlsProps,\r\n} from './bookingCalendarControls/BookingCalendarControls';\r\nimport {\r\n generateGridItems,\r\n LaneSourceData,\r\n splitBookingsToLanes,\r\n} from './utils';\r\nimport {\r\n BookingCalendarLane as DefaultBookingCalendarLane,\r\n BookingCalendarLaneProps,\r\n} from './bookingCalendarLane/BookingCalendarLane';\r\nimport moment, { Moment, Duration } from 'moment';\r\nimport { BookingCalendarItemProps } from './bookingCalendarItem';\r\nimport { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';\r\nimport {\r\n BookingCalendarGrid as DefaultBookingCalendarGrid,\r\n BookingCalendarGridProps,\r\n} from './bookingCalendarGrid/BookingCalendarGrid';\r\nimport {\r\n BookingCalendarLaneHeader as DefaultBookingCalendarLaneHeader,\r\n BookingCalendarLaneHeaderProps,\r\n} from './bookingCalendarLaneHeader';\r\nimport {\r\n BookingCalendarLanesHeader as DefaultBookingCalendarLanesHeader,\r\n BookingCalendarLanesHeaderProps,\r\n} from './bookingCalendarLanesHeader';\r\nimport {\r\n BookingCalendarDatePicker as DefaultBookingCalendarDatePicker,\r\n BookingCalendarDatePickerProps,\r\n} from './bookingCalendarDatePicker';\r\nimport { BookingCalendarTimeAxis } from './bookingCalendarTimeAxis/BookingCalendarTimeAxis';\r\nimport useDimensions from 'react-cool-dimensions';\r\nimport BookingCalendarSelection, {\r\n BookingCalendarSelectionData,\r\n} from './bookingCalendarSelection/BookingCalendarSelection';\r\n\r\nexport interface BookingCalendarProps<T extends BookingCalendarItemT, TLaneData>\r\n extends BookingCalendarClasses {\r\n bookings: T[];\r\n from: Moment;\r\n till: Moment;\r\n getMomentFormatFunction?: GetMomentFormatFunctionType;\r\n getNewMomentFunction?: GetNewMomentFunctionType;\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n step?: Duration;\r\n showZoomAllButton?: boolean;\r\n showGrid?: boolean;\r\n showSelection?: boolean;\r\n minSelectionSize?: number;\r\n gridAvailableSteps?: Duration[];\r\n goalGridWidthPx?: number;\r\n minLanesCount?: number;\r\n lanesSource?: LaneSourceData<T, TLaneData>[];\r\n unmatchedLanesToFront?: boolean;\r\n children?: React.ReactNode;\r\n bookingCalendarTopLeftHeader?: React.ReactNode;\r\n filteringButton?: React.ReactNode;\r\n\r\n zoomLevels?: ZoomLevel[];\r\n filterBookingsToZoom?: (booking: T) => boolean;\r\n\r\n BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;\r\n BookingCalendarRenderItem?: React.ComponentType<\r\n BookingCalendarRenderItemProps<T>\r\n >;\r\n BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;\r\n BookingCalendarControls?: React.ComponentType<\r\n BookingCalendarControlsProps<T>\r\n >;\r\n BookingCalendarGrid?: React.ComponentType<BookingCalendarGridProps>;\r\n BookingCalendarLaneHeader?: React.ComponentType<\r\n BookingCalendarLaneHeaderProps<TLaneData>\r\n >;\r\n BookingCalendarLanesHeader?: React.ComponentType<\r\n BookingCalendarLanesHeaderProps<T>\r\n >;\r\n BookingCalendarDatePicker?:\r\n | React.ComponentType<BookingCalendarDatePickerProps<T>>\r\n | React.ReactNode;\r\n}\r\n\r\nconst defaultStep = moment.duration(1, 'day');\r\n\r\nexport function BookingCalendar<T extends BookingCalendarItemT, TLaneData>(\r\n props: BookingCalendarProps<T, TLaneData>\r\n) {\r\n const {\r\n bookings,\r\n className,\r\n laneContainerClassName,\r\n laneHeaderContainerClassName,\r\n lanesHeaderContainerClassName,\r\n lanesHeaderHeaderContainerClassName,\r\n controlsClasses,\r\n tableClassName,\r\n from,\r\n till,\r\n onRangeChange,\r\n step = defaultStep,\r\n showGrid = true,\r\n showSelection = true,\r\n showZoomAllButton = true,\r\n gridAvailableSteps = defaultGridAvailableSteps,\r\n getMomentFormatFunction = defaultGetMomentFormatFunction,\r\n getNewMomentFunction = defaultGetNewMomentFunction,\r\n goalGridWidthPx = 60,\r\n minSelectionSize = 10,\r\n minLanesCount,\r\n lanesSource,\r\n unmatchedLanesToFront = true,\r\n filterBookingsToZoom,\r\n zoomLevels,\r\n BookingCalendarControls = DefaultBookingCalendarControls,\r\n BookingCalendarItem,\r\n BookingCalendarLane = DefaultBookingCalendarLane,\r\n BookingCalendarRenderItem,\r\n BookingCalendarGrid = DefaultBookingCalendarGrid,\r\n BookingCalendarLaneHeader = DefaultBookingCalendarLaneHeader,\r\n BookingCalendarLanesHeader = DefaultBookingCalendarLanesHeader,\r\n BookingCalendarDatePicker = DefaultBookingCalendarDatePicker,\r\n bookingCalendarTopLeftHeader,\r\n filteringButton,\r\n children,\r\n } = props;\r\n const lanes = React.useMemo(\r\n () =>\r\n splitBookingsToLanes<T, TLaneData>(\r\n bookings,\r\n from,\r\n minLanesCount,\r\n lanesSource,\r\n unmatchedLanesToFront\r\n ),\r\n [bookings, from, minLanesCount, lanesSource, unmatchedLanesToFront]\r\n );\r\n const { observe, entry } = useDimensions<HTMLDivElement>();\r\n const width = entry?.target?.scrollWidth ?? 0;\r\n const { items: gridItems, bestStep } = React.useMemo(\r\n () =>\r\n generateGridItems(\r\n from,\r\n till,\r\n step,\r\n width,\r\n gridAvailableSteps,\r\n goalGridWidthPx,\r\n from?.clone()?.startOf('day')\r\n ),\r\n [from, till, step, width, gridAvailableSteps, goalGridWidthPx]\r\n );\r\n const onSelected = React.useCallback(\r\n (data: BookingCalendarSelectionData) => {\r\n if (!from || !till || !width || !onRangeChange) {\r\n return;\r\n }\r\n const screenSpaceStartX = Math.min(data.origin[0], data.target[0]);\r\n const screenSpaceEndX = Math.max(data.origin[0], data.target[0]);\r\n const durationMs = till.valueOf() - from.valueOf();\r\n const toTimeSpace = (num: number) => (num / (width || 1)) * durationMs;\r\n const timeSpaceStart = from\r\n .clone()\r\n .add(toTimeSpace(screenSpaceStartX), 'ms');\r\n const timeSpaceEnd = from.clone().add(toTimeSpace(screenSpaceEndX), 'ms');\r\n onRangeChange({ from: timeSpaceStart, till: timeSpaceEnd });\r\n },\r\n [from, till, width, onRangeChange]\r\n );\r\n return (\r\n <div\r\n className={classNames(bookingCalendarDefaultClasses.className, className)}\r\n >\r\n <BookingCalendarControls<T>\r\n {...controlsClasses}\r\n items={bookings}\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n step={step}\r\n filterBookingsToZoom={filterBookingsToZoom}\r\n zoomLevels={zoomLevels}\r\n filteringButton={filteringButton}\r\n showZoomAllButton={showZoomAllButton}\r\n bookingCalendarDatePicker={\r\n <>\r\n {typeof BookingCalendarDatePicker === 'function' ? (\r\n <BookingCalendarDatePicker\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n getNewMomentFunction={getNewMomentFunction}\r\n />\r\n ) : (\r\n BookingCalendarDatePicker\r\n )}\r\n </>\r\n }\r\n />\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.tableClassName,\r\n tableClassName\r\n )}\r\n >\r\n {showGrid && (\r\n <BookingCalendarGrid\r\n items={gridItems}\r\n dataRowsCount={lanes.length}\r\n width={width}\r\n />\r\n )}\r\n {showSelection && (\r\n <BookingCalendarSelection\r\n dataRowsCount={lanes.length}\r\n onSelected={onSelected}\r\n minSelectionSize={minSelectionSize}\r\n />\r\n )}\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.lanesHeaderHeaderContainerClassName,\r\n lanesHeaderHeaderContainerClassName\r\n )}\r\n >\r\n {bookingCalendarTopLeftHeader}\r\n </div>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.lanesHeaderContainerClassName,\r\n lanesHeaderContainerClassName\r\n )}\r\n ref={observe}\r\n >\r\n <BookingCalendarLanesHeader<T>\r\n {...controlsClasses}\r\n from={from}\r\n till={till}\r\n onRangeChange={onRangeChange}\r\n step={step}\r\n />\r\n </div>\r\n\r\n {lanes.map((lane, laneIndex) => {\r\n const LaneBookingCalendarLaneHeader =\r\n lane.BookingCalendarLaneHeader ?? BookingCalendarLaneHeader;\r\n const LaneBookingCalendarLane =\r\n lane.BookingCalendarLane ?? BookingCalendarLane;\r\n return (\r\n <React.Fragment key={laneIndex}>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.laneHeaderContainerClassName,\r\n laneHeaderContainerClassName,\r\n lane.rowClassName,\r\n {\r\n [`${bookingCalendarDefaultClasses.laneHeaderContainerClassName}--last`]:\r\n laneIndex === lanes.length - 1,\r\n [`${bookingCalendarDefaultClasses.laneHeaderContainerClassName}--first`]:\r\n laneIndex === 0,\r\n }\r\n )}\r\n >\r\n <LaneBookingCalendarLaneHeader<TLaneData>\r\n laneKey={lane.laneKey ?? laneIndex}\r\n data={lane.data}\r\n />\r\n </div>\r\n <div\r\n className={classNames(\r\n bookingCalendarDefaultClasses.laneContainerClassName,\r\n laneContainerClassName,\r\n lane.rowClassName,\r\n {\r\n [`${bookingCalendarDefaultClasses.laneContainerClassName}--last`]:\r\n laneIndex === lanes.length - 1,\r\n [`${bookingCalendarDefaultClasses.laneContainerClassName}--first`]:\r\n laneIndex === 0,\r\n }\r\n )}\r\n >\r\n <LaneBookingCalendarLane\r\n laneIndex={laneIndex}\r\n items={lane.items}\r\n from={from}\r\n till={till}\r\n BookingCalendarItem={\r\n lane.BookingCalendarItem ?? BookingCalendarItem\r\n }\r\n BookingCalendarRenderItem={\r\n lane.BookingCalendarRenderItem ?? BookingCalendarRenderItem\r\n }\r\n step={step}\r\n />\r\n </div>\r\n </React.Fragment>\r\n );\r\n })}\r\n <div />\r\n <div>\r\n <BookingCalendarTimeAxis\r\n items={gridItems}\r\n bestStep={bestStep}\r\n getMomentFormatFunction={getMomentFormatFunction}\r\n />\r\n </div>\r\n </div>\r\n {children}\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import * as React from 'react';
2
- import { BookingCalendarDateRange, BookingCalendarItemT, ZoomLevel } from '../common';
3
- import { Duration, Moment } from 'moment';
4
- import { BookingCalendarControlsClasses } from './classes';
5
- export interface BookingCalendarControlsProps<T extends BookingCalendarItemT> extends BookingCalendarControlsClasses {
6
- items: T[];
7
- step: Duration;
8
- from: Moment;
9
- till: Moment;
10
- zoomLevels?: ZoomLevel[];
11
- onRangeChange?: (range: BookingCalendarDateRange) => void;
12
- filterBookingsToZoom?: (booking: T) => boolean;
13
- bookingCalendarDatePicker?: React.ReactNode;
14
- filteringButton?: React.ReactNode;
15
- showZoomAllButton?: boolean;
16
- }
17
- export declare function BookingCalendarControls<T extends BookingCalendarItemT>(props: BookingCalendarControlsProps<T>): JSX.Element;
1
+ import * as React from 'react';
2
+ import { BookingCalendarDateRange, BookingCalendarItemT, ZoomLevel } from '../common';
3
+ import { Duration, Moment } from 'moment';
4
+ import { BookingCalendarControlsClasses } from './classes';
5
+ export interface BookingCalendarControlsProps<T extends BookingCalendarItemT> extends BookingCalendarControlsClasses {
6
+ items: T[];
7
+ step: Duration;
8
+ from: Moment;
9
+ till: Moment;
10
+ zoomLevels?: ZoomLevel[];
11
+ onRangeChange?: (range: BookingCalendarDateRange) => void;
12
+ filterBookingsToZoom?: (booking: T) => boolean;
13
+ bookingCalendarDatePicker?: React.ReactNode;
14
+ filteringButton?: React.ReactNode;
15
+ showZoomAllButton?: boolean;
16
+ }
17
+ export declare function BookingCalendarControls<T extends BookingCalendarItemT>(props: BookingCalendarControlsProps<T>): React.JSX.Element;
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.BookingCalendarControls = BookingCalendarControls;
7
7
  var _classnames = _interopRequireDefault(require("classnames"));
8
8
  var React = _interopRequireWildcard(require("react"));
9
- var _moment = require("moment");
10
- var _ = require(".");
9
+ var _moment = _interopRequireDefault(require("moment"));
10
+ var _classes = require("./classes");
11
11
  var _Button = require("../../button/Button");
12
12
  var _Menu = _interopRequireDefault(require("@mui/material/Menu"));
13
13
  var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
@@ -106,10 +106,10 @@ function BookingCalendarControls(props) {
106
106
  from: from.clone().add(_step),
107
107
  till: till.clone().add(_step)
108
108
  }), [from, till, onRangeChange]);
109
- const onBigStepLeftClick = React.useCallback(onStepFactory((0, _moment.duration)(-7, 'days')), [onStepFactory, till, from]);
110
- const onSmallStepLeftClick = React.useCallback(onStepFactory((0, _moment.duration)(-1, 'day')), [onStepFactory, step]);
111
- const onBigStepRightClick = React.useCallback(onStepFactory((0, _moment.duration)(7, 'days')), [onStepFactory, till, from]);
112
- const onSmallStepRightClick = React.useCallback(onStepFactory((0, _moment.duration)(1, 'day')), [onStepFactory, step]);
109
+ const onBigStepLeftClick = React.useCallback(onStepFactory(_moment.default.duration(-7, 'days')), [onStepFactory, till, from]);
110
+ const onSmallStepLeftClick = React.useCallback(onStepFactory(_moment.default.duration(-1, 'day')), [onStepFactory, step]);
111
+ const onBigStepRightClick = React.useCallback(onStepFactory(_moment.default.duration(7, 'days')), [onStepFactory, till, from]);
112
+ const onSmallStepRightClick = React.useCallback(onStepFactory(_moment.default.duration(1, 'day')), [onStepFactory, step]);
113
113
  const filteredItems = React.useMemo(() => items === null || items === void 0 ? void 0 : items.filter(filterBookingsToZoom), [filterBookingsToZoom, items]);
114
114
  const onZoomBookingsClick = React.useCallback(() => {
115
115
  const minFromMs = Math.min(...(filteredItems === null || filteredItems === void 0 ? void 0 : filteredItems.filter(filterBookingsToZoom).map(a => a.from.valueOf()))) ?? (from === null || from === void 0 ? void 0 : from.valueOf());
@@ -131,14 +131,14 @@ function BookingCalendarControls(props) {
131
131
  };
132
132
  const selectedLevel = React.useMemo(() => zoomLevels === null || zoomLevels === void 0 ? void 0 : zoomLevels.find(level => till.valueOf() - from.valueOf() === level.step.asMilliseconds()), [zoomLevels, till, from]);
133
133
  return /*#__PURE__*/React.createElement("div", {
134
- className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.className, className)
134
+ className: (0, _classnames.default)(_classes.bookingCalendarControlsDefaultClasses.className, className)
135
135
  }, bookingCalendarDatePicker && /*#__PURE__*/React.createElement("div", {
136
- className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.monthLabelClassName, monthLabelClassName)
136
+ className: (0, _classnames.default)(_classes.bookingCalendarControlsDefaultClasses.monthLabelClassName, monthLabelClassName)
137
137
  }, bookingCalendarDatePicker), (zoomLevels === null || zoomLevels === void 0 ? void 0 : zoomLevels.length) > 0 && /*#__PURE__*/React.createElement("div", {
138
- className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.zoomLevelsContainerClassName, zoomLevelsContainerClassName)
138
+ className: (0, _classnames.default)(_classes.bookingCalendarControlsDefaultClasses.zoomLevelsContainerClassName, zoomLevelsContainerClassName)
139
139
  }, /*#__PURE__*/React.createElement(_Button.Button, {
140
140
  id: "zoom-level-button",
141
- className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.zoomLevelsButtonClassName, zoomLevelsButtonClassName),
141
+ className: (0, _classnames.default)(_classes.bookingCalendarControlsDefaultClasses.zoomLevelsButtonClassName, zoomLevelsButtonClassName),
142
142
  "aria-controls": open ? 'zoom-level-menu' : undefined,
143
143
  "aria-haspopup": "true",
144
144
  "aria-expanded": open ? 'true' : undefined,
@@ -164,7 +164,7 @@ function BookingCalendarControls(props) {
164
164
  },
165
165
  selected: till.valueOf() - from.valueOf() === level.step.asMilliseconds()
166
166
  }, level.label)))), /*#__PURE__*/React.createElement("div", {
167
- className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.buttonsContainerClassName, buttonsContainerClassName)
167
+ className: (0, _classnames.default)(_classes.bookingCalendarControlsDefaultClasses.buttonsContainerClassName, buttonsContainerClassName)
168
168
  }, /*#__PURE__*/React.createElement(_Button.Button, {
169
169
  noShadow: true,
170
170
  onClick: onBigStepLeftClick
@@ -178,7 +178,7 @@ function BookingCalendarControls(props) {
178
178
  noShadow: true,
179
179
  onClick: onBigStepRightClick
180
180
  }, /*#__PURE__*/React.createElement(RightArrowLongIcon, null)), showZoomAllButton && /*#__PURE__*/React.createElement(_Button.Button, {
181
- className: (0, _classnames.default)(_.bookingCalendarControlsDefaultClasses.zoomBookingsButtonClassName, zoomBookingsButtonClassName),
181
+ className: (0, _classnames.default)(_classes.bookingCalendarControlsDefaultClasses.zoomBookingsButtonClassName, zoomBookingsButtonClassName),
182
182
  noShadow: true,
183
183
  disabled: !(filteredItems !== null && filteredItems !== void 0 && filteredItems.length),
184
184
  onClick: onZoomBookingsClick
@@ -1 +1 @@
1
- {"version":3,"file":"BookingCalendarControls.js","names":["_classnames","_interopRequireDefault","require","React","_interopRequireWildcard","_moment","_","_Button","_Menu","_MenuItem","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","LeftArrowLongIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","LeftArrowIcon","RightArrowLongIcon","RightArrowIcon","UnfoldLessIcon","DateRangeIcon","BookingCalendarControls","className","monthLabelClassName","buttonsContainerClassName","zoomBookingsButtonClassName","zoomLevelsContainerClassName","zoomLevelsButtonClassName","zoomLevels","step","from","till","onRangeChange","items","filterBookingsToZoom","bookingCalendarDatePicker","filteringButton","showZoomAllButton","onStepFactory","useCallback","_step","clone","add","onBigStepLeftClick","duration","onSmallStepLeftClick","onBigStepRightClick","onSmallStepRightClick","filteredItems","useMemo","filter","onZoomBookingsClick","minFromMs","Math","min","map","a","valueOf","minFrom","subtract","maxTillMs","max","maxTill","anchorEl","setAnchorEl","useState","open","Boolean","handleClick","event","currentTarget","handleClose","selectedLevel","find","level","asMilliseconds","classNames","bookingCalendarControlsDefaultClasses","length","Button","id","undefined","onClick","noShadow","label","onClose","MenuListProps","index","startOf","selected","disabled"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.tsx"],"sourcesContent":["import classNames from 'classnames';\r\nimport * as React from 'react';\r\nimport {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n ZoomLevel,\r\n} from '../common';\r\nimport { duration, Duration, Moment } from 'moment';\r\nimport { BookingCalendarControlsClasses } from './classes';\r\nimport { bookingCalendarControlsDefaultClasses } from '.';\r\nimport { Button } from '../../button/Button';\r\nimport * as LeftArrowLongIcon from 'material-design-icons/navigation/svg/production/ic_arrow_back_24px.svg';\r\nimport * as LeftArrowIcon from 'material-design-icons/hardware/svg/production/ic_keyboard_arrow_left_24px.svg';\r\nimport * as RightArrowLongIcon from 'material-design-icons/navigation/svg/production/ic_arrow_forward_24px.svg';\r\nimport * as RightArrowIcon from 'material-design-icons/hardware/svg/production/ic_keyboard_arrow_right_24px.svg';\r\nimport * as UnfoldLessIcon from 'material-design-icons/navigation/svg/production/ic_unfold_less_24px.svg';\r\nimport * as DateRangeIcon from 'material-design-icons/action/svg/production/ic_date_range_24px.svg';\r\n\r\nimport Menu from '@mui/material/Menu';\r\nimport MenuItem from '@mui/material/MenuItem';\r\n\r\nexport interface BookingCalendarControlsProps<T extends BookingCalendarItemT>\r\n extends BookingCalendarControlsClasses {\r\n items: T[];\r\n step: Duration;\r\n from: Moment;\r\n till: Moment;\r\n zoomLevels?: ZoomLevel[];\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n filterBookingsToZoom?: (booking: T) => boolean;\r\n bookingCalendarDatePicker?: React.ReactNode;\r\n filteringButton?: React.ReactNode;\r\n showZoomAllButton?: boolean;\r\n}\r\n\r\nexport function BookingCalendarControls<T extends BookingCalendarItemT>(\r\n props: BookingCalendarControlsProps<T>\r\n) {\r\n const {\r\n className,\r\n monthLabelClassName,\r\n buttonsContainerClassName,\r\n zoomBookingsButtonClassName,\r\n zoomLevelsContainerClassName,\r\n zoomLevelsButtonClassName,\r\n zoomLevels,\r\n step,\r\n from,\r\n till,\r\n onRangeChange,\r\n items,\r\n filterBookingsToZoom = () => true,\r\n bookingCalendarDatePicker,\r\n filteringButton,\r\n showZoomAllButton,\r\n } = props;\r\n if (!step || !from || !till) {\r\n return null;\r\n }\r\n const onStepFactory = React.useCallback(\r\n (_step: Duration) => () =>\r\n onRangeChange({\r\n from: from.clone().add(_step),\r\n till: till.clone().add(_step),\r\n }),\r\n [from, till, onRangeChange]\r\n );\r\n const onBigStepLeftClick = React.useCallback(\r\n onStepFactory(duration(-7, 'days')),\r\n [onStepFactory, till, from]\r\n );\r\n const onSmallStepLeftClick = React.useCallback(\r\n onStepFactory(duration(-1, 'day')),\r\n [onStepFactory, step]\r\n );\r\n const onBigStepRightClick = React.useCallback(\r\n onStepFactory(duration(7, 'days')),\r\n [onStepFactory, till, from]\r\n );\r\n const onSmallStepRightClick = React.useCallback(\r\n onStepFactory(duration(1, 'day')),\r\n [onStepFactory, step]\r\n );\r\n const filteredItems = React.useMemo(\r\n () => items?.filter(filterBookingsToZoom),\r\n [filterBookingsToZoom, items]\r\n );\r\n const onZoomBookingsClick = React.useCallback(() => {\r\n const minFromMs =\r\n Math.min(\r\n ...filteredItems\r\n ?.filter(filterBookingsToZoom)\r\n .map((a) => a.from.valueOf())\r\n ) ?? from?.valueOf();\r\n const minFrom = from.clone().subtract(from.valueOf() - minFromMs, 'ms');\r\n const maxTillMs =\r\n Math.max(\r\n ...filteredItems\r\n ?.filter(filterBookingsToZoom)\r\n .map((a) => a.till.valueOf())\r\n ) ?? till?.valueOf();\r\n const maxTill = till.clone().subtract(till.valueOf() - maxTillMs, 'ms');\r\n onRangeChange({\r\n from: minFrom,\r\n till: maxTill,\r\n });\r\n }, [from, till, filteredItems]);\r\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\r\n const open = Boolean(anchorEl);\r\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n const selectedLevel = React.useMemo(\r\n () =>\r\n zoomLevels?.find(\r\n (level) =>\r\n till.valueOf() - from.valueOf() === level.step.asMilliseconds()\r\n ),\r\n [zoomLevels, till, from]\r\n );\r\n return (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.className,\r\n className\r\n )}\r\n >\r\n {bookingCalendarDatePicker && (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.monthLabelClassName,\r\n monthLabelClassName\r\n )}\r\n >\r\n {bookingCalendarDatePicker}\r\n </div>\r\n )}\r\n {zoomLevels?.length > 0 && (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.zoomLevelsContainerClassName,\r\n zoomLevelsContainerClassName\r\n )}\r\n >\r\n <Button\r\n id=\"zoom-level-button\"\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.zoomLevelsButtonClassName,\r\n zoomLevelsButtonClassName\r\n )}\r\n aria-controls={open ? 'zoom-level-menu' : undefined}\r\n aria-haspopup=\"true\"\r\n aria-expanded={open ? 'true' : undefined}\r\n onClick={handleClick}\r\n noShadow={true}\r\n >\r\n <DateRangeIcon />\r\n {selectedLevel ? ` ${selectedLevel.label}` : ''}\r\n </Button>\r\n <Menu\r\n id=\"zoom-level-menu\"\r\n anchorEl={anchorEl}\r\n open={open}\r\n onClose={handleClose}\r\n MenuListProps={{\r\n 'aria-labelledby': 'zoom-level-button',\r\n }}\r\n >\r\n {zoomLevels.map((level, index) => (\r\n <MenuItem\r\n data-level={index}\r\n key={index}\r\n onClick={() => {\r\n onRangeChange({\r\n from: from.clone().startOf('day'),\r\n till: from.clone().startOf('day').add(level.step),\r\n });\r\n setAnchorEl(null);\r\n }}\r\n selected={\r\n till.valueOf() - from.valueOf() ===\r\n level.step.asMilliseconds()\r\n }\r\n >\r\n {level.label}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n {/*zoomLevels.map((level, index) => (\r\n <Button\r\n type={\r\n till.valueOf() - from.valueOf() === level.step.asMilliseconds()\r\n ? 'primary'\r\n : undefined\r\n }\r\n // blank={true}\r\n noShadow={true}\r\n key={index}\r\n onClick={() =>\r\n onRangeChange({\r\n from: from.clone().startOf('day'),\r\n till: from.clone().startOf('day').add(level.step),\r\n })\r\n }\r\n >\r\n {level.label}\r\n </Button>\r\n ))*/}\r\n </div>\r\n )}\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.buttonsContainerClassName,\r\n buttonsContainerClassName\r\n )}\r\n >\r\n <Button noShadow={true} onClick={onBigStepLeftClick}>\r\n <LeftArrowLongIcon />\r\n </Button>\r\n <Button noShadow={true} onClick={onSmallStepLeftClick}>\r\n <LeftArrowIcon />\r\n </Button>\r\n <Button noShadow={true} onClick={onSmallStepRightClick}>\r\n <RightArrowIcon />\r\n </Button>\r\n <Button noShadow={true} onClick={onBigStepRightClick}>\r\n <RightArrowLongIcon />\r\n </Button>\r\n {showZoomAllButton && (\r\n <Button\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.zoomBookingsButtonClassName,\r\n zoomBookingsButtonClassName\r\n )}\r\n noShadow={true}\r\n disabled={!filteredItems?.length}\r\n onClick={onZoomBookingsClick}\r\n >\r\n <UnfoldLessIcon />\r\n </Button>\r\n )}\r\n {filteringButton}\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"BookingCalendarControls.js","names":["_classnames","_interopRequireDefault","require","React","_interopRequireWildcard","_moment","_classes","_Button","_Menu","_MenuItem","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","LeftArrowLongIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","LeftArrowIcon","RightArrowLongIcon","RightArrowIcon","UnfoldLessIcon","DateRangeIcon","BookingCalendarControls","className","monthLabelClassName","buttonsContainerClassName","zoomBookingsButtonClassName","zoomLevelsContainerClassName","zoomLevelsButtonClassName","zoomLevels","step","from","till","onRangeChange","items","filterBookingsToZoom","bookingCalendarDatePicker","filteringButton","showZoomAllButton","onStepFactory","useCallback","_step","clone","add","onBigStepLeftClick","moment","duration","onSmallStepLeftClick","onBigStepRightClick","onSmallStepRightClick","filteredItems","useMemo","filter","onZoomBookingsClick","minFromMs","Math","min","map","a","valueOf","minFrom","subtract","maxTillMs","max","maxTill","anchorEl","setAnchorEl","useState","open","Boolean","handleClick","event","currentTarget","handleClose","selectedLevel","find","level","asMilliseconds","classNames","bookingCalendarControlsDefaultClasses","length","Button","id","undefined","onClick","noShadow","label","onClose","MenuListProps","index","startOf","selected","disabled"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.tsx"],"sourcesContent":["import classNames from 'classnames';\r\nimport * as React from 'react';\r\nimport {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n ZoomLevel,\r\n} from '../common';\r\nimport moment, { Duration, Moment } from 'moment';\r\nimport { BookingCalendarControlsClasses } from './classes';\r\nimport { bookingCalendarControlsDefaultClasses } from './classes';\r\nimport { Button } from '../../button/Button';\r\nimport * as LeftArrowLongIcon from 'material-design-icons/navigation/svg/production/ic_arrow_back_24px.svg';\r\nimport * as LeftArrowIcon from 'material-design-icons/hardware/svg/production/ic_keyboard_arrow_left_24px.svg';\r\nimport * as RightArrowLongIcon from 'material-design-icons/navigation/svg/production/ic_arrow_forward_24px.svg';\r\nimport * as RightArrowIcon from 'material-design-icons/hardware/svg/production/ic_keyboard_arrow_right_24px.svg';\r\nimport * as UnfoldLessIcon from 'material-design-icons/navigation/svg/production/ic_unfold_less_24px.svg';\r\nimport * as DateRangeIcon from 'material-design-icons/action/svg/production/ic_date_range_24px.svg';\r\n\r\nimport Menu from '@mui/material/Menu';\r\nimport MenuItem from '@mui/material/MenuItem';\r\n\r\nexport interface BookingCalendarControlsProps<T extends BookingCalendarItemT>\r\n extends BookingCalendarControlsClasses {\r\n items: T[];\r\n step: Duration;\r\n from: Moment;\r\n till: Moment;\r\n zoomLevels?: ZoomLevel[];\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n filterBookingsToZoom?: (booking: T) => boolean;\r\n bookingCalendarDatePicker?: React.ReactNode;\r\n filteringButton?: React.ReactNode;\r\n showZoomAllButton?: boolean;\r\n}\r\n\r\nexport function BookingCalendarControls<T extends BookingCalendarItemT>(\r\n props: BookingCalendarControlsProps<T>\r\n) {\r\n const {\r\n className,\r\n monthLabelClassName,\r\n buttonsContainerClassName,\r\n zoomBookingsButtonClassName,\r\n zoomLevelsContainerClassName,\r\n zoomLevelsButtonClassName,\r\n zoomLevels,\r\n step,\r\n from,\r\n till,\r\n onRangeChange,\r\n items,\r\n filterBookingsToZoom = () => true,\r\n bookingCalendarDatePicker,\r\n filteringButton,\r\n showZoomAllButton,\r\n } = props;\r\n if (!step || !from || !till) {\r\n return null;\r\n }\r\n const onStepFactory = React.useCallback(\r\n (_step: Duration) => () =>\r\n onRangeChange({\r\n from: from.clone().add(_step),\r\n till: till.clone().add(_step),\r\n }),\r\n [from, till, onRangeChange]\r\n );\r\n const onBigStepLeftClick = React.useCallback(\r\n onStepFactory(moment.duration(-7, 'days')),\r\n [onStepFactory, till, from]\r\n );\r\n const onSmallStepLeftClick = React.useCallback(\r\n onStepFactory(moment.duration(-1, 'day')),\r\n [onStepFactory, step]\r\n );\r\n const onBigStepRightClick = React.useCallback(\r\n onStepFactory(moment.duration(7, 'days')),\r\n [onStepFactory, till, from]\r\n );\r\n const onSmallStepRightClick = React.useCallback(\r\n onStepFactory(moment.duration(1, 'day')),\r\n [onStepFactory, step]\r\n );\r\n const filteredItems = React.useMemo(\r\n () => items?.filter(filterBookingsToZoom),\r\n [filterBookingsToZoom, items]\r\n );\r\n const onZoomBookingsClick = React.useCallback(() => {\r\n const minFromMs =\r\n Math.min(\r\n ...filteredItems\r\n ?.filter(filterBookingsToZoom)\r\n .map((a) => a.from.valueOf())\r\n ) ?? from?.valueOf();\r\n const minFrom = from.clone().subtract(from.valueOf() - minFromMs, 'ms');\r\n const maxTillMs =\r\n Math.max(\r\n ...filteredItems\r\n ?.filter(filterBookingsToZoom)\r\n .map((a) => a.till.valueOf())\r\n ) ?? till?.valueOf();\r\n const maxTill = till.clone().subtract(till.valueOf() - maxTillMs, 'ms');\r\n onRangeChange({\r\n from: minFrom,\r\n till: maxTill,\r\n });\r\n }, [from, till, filteredItems]);\r\n const [anchorEl, setAnchorEl] = React.useState<null | HTMLElement>(null);\r\n const open = Boolean(anchorEl);\r\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n const selectedLevel = React.useMemo(\r\n () =>\r\n zoomLevels?.find(\r\n (level) =>\r\n till.valueOf() - from.valueOf() === level.step.asMilliseconds()\r\n ),\r\n [zoomLevels, till, from]\r\n );\r\n return (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.className,\r\n className\r\n )}\r\n >\r\n {bookingCalendarDatePicker && (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.monthLabelClassName,\r\n monthLabelClassName\r\n )}\r\n >\r\n {bookingCalendarDatePicker}\r\n </div>\r\n )}\r\n {zoomLevels?.length > 0 && (\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.zoomLevelsContainerClassName,\r\n zoomLevelsContainerClassName\r\n )}\r\n >\r\n <Button\r\n id=\"zoom-level-button\"\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.zoomLevelsButtonClassName,\r\n zoomLevelsButtonClassName\r\n )}\r\n aria-controls={open ? 'zoom-level-menu' : undefined}\r\n aria-haspopup=\"true\"\r\n aria-expanded={open ? 'true' : undefined}\r\n onClick={handleClick}\r\n noShadow={true}\r\n >\r\n <DateRangeIcon />\r\n {selectedLevel ? ` ${selectedLevel.label}` : ''}\r\n </Button>\r\n <Menu\r\n id=\"zoom-level-menu\"\r\n anchorEl={anchorEl}\r\n open={open}\r\n onClose={handleClose}\r\n MenuListProps={{\r\n 'aria-labelledby': 'zoom-level-button',\r\n }}\r\n >\r\n {zoomLevels.map((level, index) => (\r\n <MenuItem\r\n data-level={index}\r\n key={index}\r\n onClick={() => {\r\n onRangeChange({\r\n from: from.clone().startOf('day'),\r\n till: from.clone().startOf('day').add(level.step),\r\n });\r\n setAnchorEl(null);\r\n }}\r\n selected={\r\n till.valueOf() - from.valueOf() ===\r\n level.step.asMilliseconds()\r\n }\r\n >\r\n {level.label}\r\n </MenuItem>\r\n ))}\r\n </Menu>\r\n {/*zoomLevels.map((level, index) => (\r\n <Button\r\n type={\r\n till.valueOf() - from.valueOf() === level.step.asMilliseconds()\r\n ? 'primary'\r\n : undefined\r\n }\r\n // blank={true}\r\n noShadow={true}\r\n key={index}\r\n onClick={() =>\r\n onRangeChange({\r\n from: from.clone().startOf('day'),\r\n till: from.clone().startOf('day').add(level.step),\r\n })\r\n }\r\n >\r\n {level.label}\r\n </Button>\r\n ))*/}\r\n </div>\r\n )}\r\n <div\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.buttonsContainerClassName,\r\n buttonsContainerClassName\r\n )}\r\n >\r\n <Button noShadow={true} onClick={onBigStepLeftClick}>\r\n <LeftArrowLongIcon />\r\n </Button>\r\n <Button noShadow={true} onClick={onSmallStepLeftClick}>\r\n <LeftArrowIcon />\r\n </Button>\r\n <Button noShadow={true} onClick={onSmallStepRightClick}>\r\n <RightArrowIcon />\r\n </Button>\r\n <Button noShadow={true} onClick={onBigStepRightClick}>\r\n <RightArrowLongIcon />\r\n </Button>\r\n {showZoomAllButton && (\r\n <Button\r\n className={classNames(\r\n bookingCalendarControlsDefaultClasses.zoomBookingsButtonClassName,\r\n zoomBookingsButtonClassName\r\n )}\r\n noShadow={true}\r\n disabled={!filteredItems?.length}\r\n onClick={onZoomBookingsClick}\r\n >\r\n <UnfoldLessIcon />\r\n </Button>\r\n )}\r\n {filteringButton}\r\n </div>\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- export interface BookingCalendarControlsClasses {
2
- className?: string;
3
- monthLabelClassName?: string;
4
- zoomLevelsContainerClassName?: string;
5
- buttonsContainerClassName?: string;
6
- zoomBookingsButtonClassName?: string;
7
- zoomLevelsButtonClassName?: string;
8
- }
9
- export declare const bookingCalendarControlsDefaultClasses: BookingCalendarControlsClasses;
1
+ export interface BookingCalendarControlsClasses {
2
+ className?: string;
3
+ monthLabelClassName?: string;
4
+ zoomLevelsContainerClassName?: string;
5
+ buttonsContainerClassName?: string;
6
+ zoomBookingsButtonClassName?: string;
7
+ zoomLevelsButtonClassName?: string;
8
+ }
9
+ export declare const bookingCalendarControlsDefaultClasses: BookingCalendarControlsClasses;
@@ -1,2 +1,2 @@
1
- export * from './BookingCalendarControls';
2
- export * from './classes';
1
+ export * from './BookingCalendarControls';
2
+ export * from './classes';
@@ -1,13 +1,13 @@
1
- /// <reference types="react" />
2
- import { BookingCalendarDatePickerClasses } from './classes';
3
- import { Moment } from 'moment';
4
- import { BookingCalendarDateRange, BookingCalendarItemT, GetNewMomentFunctionType } from '../common';
5
- export interface BookingCalendarDatePickerBaseProps<T extends BookingCalendarItemT> {
6
- from: Moment;
7
- till: Moment;
8
- onRangeChange?: (range: BookingCalendarDateRange) => void;
9
- getNewMomentFunction?: GetNewMomentFunctionType;
10
- }
11
- export interface BookingCalendarDatePickerProps<T extends BookingCalendarItemT> extends BookingCalendarDatePickerClasses, BookingCalendarDatePickerBaseProps<T> {
12
- }
13
- export declare function BookingCalendarDatePicker<T extends BookingCalendarItemT>(props: BookingCalendarDatePickerProps<T>): JSX.Element;
1
+ import * as React from 'react';
2
+ import { BookingCalendarDatePickerClasses } from './classes';
3
+ import { Moment } from 'moment';
4
+ import { BookingCalendarDateRange, BookingCalendarItemT, GetNewMomentFunctionType } from '../common';
5
+ export interface BookingCalendarDatePickerBaseProps<T extends BookingCalendarItemT> {
6
+ from: Moment;
7
+ till: Moment;
8
+ onRangeChange?: (range: BookingCalendarDateRange) => void;
9
+ getNewMomentFunction?: GetNewMomentFunctionType;
10
+ }
11
+ export interface BookingCalendarDatePickerProps<T extends BookingCalendarItemT> extends BookingCalendarDatePickerClasses, BookingCalendarDatePickerBaseProps<T> {
12
+ }
13
+ export declare function BookingCalendarDatePicker<T extends BookingCalendarItemT>(props: BookingCalendarDatePickerProps<T>): React.JSX.Element;
@@ -7,8 +7,8 @@ exports.BookingCalendarDatePicker = BookingCalendarDatePicker;
7
7
  var React = _interopRequireWildcard(require("react"));
8
8
  var _classnames = _interopRequireDefault(require("classnames"));
9
9
  var _classes = require("./classes");
10
+ var _common = require("../common");
10
11
  var _Button = require("../../button/Button");
11
- var _ = require("..");
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
13
  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); }
14
14
  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; }
@@ -37,7 +37,7 @@ function BookingCalendarDatePicker(props) {
37
37
  from,
38
38
  till,
39
39
  onRangeChange,
40
- getNewMomentFunction = _.defaultGetNewMomentFunction
40
+ getNewMomentFunction = _common.defaultGetNewMomentFunction
41
41
  } = props;
42
42
  const [shownModal, setShownModal] = React.useState();
43
43
  const calendarRef = React.useRef();
@@ -51,7 +51,7 @@ function BookingCalendarDatePicker(props) {
51
51
  className: (0, _classnames.default)(_classes.bookingCalendarDatePickerDefaultClasses.buttonClassName, buttonClassName),
52
52
  noShadow: true,
53
53
  onClick: onButtonClick
54
- }, /*#__PURE__*/React.createElement(EventIcon, null)), /*#__PURE__*/React.createElement(DatePicker, {
54
+ }, /*#__PURE__*/React.createElement(EventIcon, null), " ", from === null || from === void 0 ? void 0 : from.format('MMMM, YYYY')), /*#__PURE__*/React.createElement(DatePicker, {
55
55
  ref: calendarRef,
56
56
  customInput: /*#__PURE__*/React.createElement("span", null),
57
57
  selected: from === null || from === void 0 ? void 0 : from.toDate()
@@ -1 +1 @@
1
- {"version":3,"file":"BookingCalendarDatePicker.js","names":["React","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_classes","_Button","_","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EventIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","DatePicker","undefined","BookingCalendarDatePicker","className","buttonClassName","from","till","onRangeChange","getNewMomentFunction","defaultGetNewMomentFunction","shownModal","setShownModal","useState","calendarRef","useRef","onButtonClick","useCallback","current","setOpen","classNames","bookingCalendarDatePickerDefaultClasses","Button","noShadow","onClick","ref","customInput","selected","toDate","selectsStart","selectsEnd","startDate","endDate","shouldCloseOnSelect","onChange","dt","dtm","validTill","clone","isAfter","add","startOf","validFrom","isBefore","withPortal"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport {\r\n BookingCalendarDatePickerClasses,\r\n bookingCalendarDatePickerDefaultClasses,\r\n} from './classes';\r\nimport { Moment } from 'moment';\r\nimport {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n GetNewMomentFunctionType,\r\n} from '../common';\r\nimport { Button } from '../../button/Button';\r\nimport * as EventIcon from 'material-design-icons/action/svg/production/ic_event_24px.svg';\r\ntry {\r\n var DatePicker = require('react-datepicker').default;\r\n} catch {\r\n DatePicker = undefined;\r\n}\r\n// import DatePicker from 'react-datepicker';\r\nimport { defaultGetNewMomentFunction } from '..';\r\n\r\nexport interface BookingCalendarDatePickerBaseProps<\r\n T extends BookingCalendarItemT\r\n> {\r\n from: Moment;\r\n till: Moment;\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n getNewMomentFunction?: GetNewMomentFunctionType;\r\n}\r\n\r\nexport interface BookingCalendarDatePickerProps<T extends BookingCalendarItemT>\r\n extends BookingCalendarDatePickerClasses,\r\n BookingCalendarDatePickerBaseProps<T> {}\r\n\r\nexport function BookingCalendarDatePicker<T extends BookingCalendarItemT>(\r\n props: BookingCalendarDatePickerProps<T>\r\n) {\r\n const {\r\n className,\r\n buttonClassName,\r\n from,\r\n till,\r\n onRangeChange,\r\n getNewMomentFunction = defaultGetNewMomentFunction,\r\n } = props;\r\n const [shownModal, setShownModal] = React.useState<null | 'start' | 'end'>();\r\n const calendarRef = React.useRef<typeof DatePicker>();\r\n const onButtonClick = React.useCallback(() => {\r\n setShownModal('start');\r\n calendarRef.current.setOpen(true);\r\n }, []);\r\n return (\r\n <div\r\n className={classNames(\r\n bookingCalendarDatePickerDefaultClasses.className,\r\n className\r\n )}\r\n >\r\n <Button\r\n className={classNames(\r\n bookingCalendarDatePickerDefaultClasses.buttonClassName,\r\n buttonClassName\r\n )}\r\n noShadow={true}\r\n onClick={onButtonClick}\r\n >\r\n <EventIcon />\r\n </Button>\r\n <DatePicker\r\n ref={calendarRef}\r\n customInput={<span />}\r\n selected={from?.toDate()}\r\n // selectsRange={true}\r\n selectsStart={shownModal !== 'end'}\r\n selectsEnd={shownModal === 'end'}\r\n startDate={from?.toDate()}\r\n endDate={till?.toDate()}\r\n shouldCloseOnSelect={shownModal === 'end'}\r\n //dateFormat={DAY_FORMAT}\r\n onChange={(dt: Date) => {\r\n if (shownModal !== 'end') {\r\n const dtm = getNewMomentFunction(dt);\r\n let validTill = till.clone();\r\n if (dtm.isAfter(till)) {\r\n validTill = dtm.clone().add(1, 'day');\r\n }\r\n onRangeChange({ from: dtm, till: validTill });\r\n setShownModal('end');\r\n } else {\r\n let dtm = getNewMomentFunction(dt)\r\n .startOf('day')\r\n .add(1, 'day');\r\n let validFrom = from.clone();\r\n if (dtm.isBefore(from)) {\r\n validFrom = dtm.clone().add(-1, 'day');\r\n }\r\n onRangeChange({ from: validFrom, till: dtm });\r\n setShownModal(null);\r\n }\r\n }}\r\n withPortal={true}\r\n />\r\n </div>\r\n );\r\n}\r\n"],"mappings":"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"}
1
+ {"version":3,"file":"BookingCalendarDatePicker.js","names":["React","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_classes","_common","_Button","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","EventIcon","props","createElement","d","defaultProps","xmlns","width","height","viewBox","DatePicker","undefined","BookingCalendarDatePicker","className","buttonClassName","from","till","onRangeChange","getNewMomentFunction","defaultGetNewMomentFunction","shownModal","setShownModal","useState","calendarRef","useRef","onButtonClick","useCallback","current","setOpen","classNames","bookingCalendarDatePickerDefaultClasses","Button","noShadow","onClick","format","ref","customInput","selected","toDate","selectsStart","selectsEnd","startDate","endDate","shouldCloseOnSelect","onChange","dt","dtm","validTill","clone","isAfter","add","startOf","validFrom","isBefore","withPortal"],"sources":["../../../../src/lib/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.tsx"],"sourcesContent":["import * as React from 'react';\r\nimport classNames from 'classnames';\r\nimport {\r\n BookingCalendarDatePickerClasses,\r\n bookingCalendarDatePickerDefaultClasses,\r\n} from './classes';\r\nimport { Moment } from 'moment';\r\nimport {\r\n BookingCalendarDateRange,\r\n BookingCalendarItemT,\r\n GetNewMomentFunctionType,\r\n defaultGetNewMomentFunction,\r\n} from '../common';\r\nimport { Button } from '../../button/Button';\r\nimport * as EventIcon from 'material-design-icons/action/svg/production/ic_event_24px.svg';\r\ntry {\r\n var DatePicker = require('react-datepicker').default;\r\n} catch {\r\n DatePicker = undefined;\r\n}\r\n// import DatePicker from 'react-datepicker';\r\n\r\nexport interface BookingCalendarDatePickerBaseProps<\r\n T extends BookingCalendarItemT\r\n> {\r\n from: Moment;\r\n till: Moment;\r\n onRangeChange?: (range: BookingCalendarDateRange) => void;\r\n getNewMomentFunction?: GetNewMomentFunctionType;\r\n}\r\n\r\nexport interface BookingCalendarDatePickerProps<T extends BookingCalendarItemT>\r\n extends BookingCalendarDatePickerClasses,\r\n BookingCalendarDatePickerBaseProps<T> {}\r\n\r\nexport function BookingCalendarDatePicker<T extends BookingCalendarItemT>(\r\n props: BookingCalendarDatePickerProps<T>\r\n) {\r\n const {\r\n className,\r\n buttonClassName,\r\n from,\r\n till,\r\n onRangeChange,\r\n getNewMomentFunction = defaultGetNewMomentFunction,\r\n } = props;\r\n const [shownModal, setShownModal] = React.useState<null | 'start' | 'end'>();\r\n const calendarRef = React.useRef<typeof DatePicker>();\r\n const onButtonClick = React.useCallback(() => {\r\n setShownModal('start');\r\n calendarRef.current.setOpen(true);\r\n }, []);\r\n return (\r\n <div\r\n className={classNames(\r\n bookingCalendarDatePickerDefaultClasses.className,\r\n className\r\n )}\r\n >\r\n <Button\r\n className={classNames(\r\n bookingCalendarDatePickerDefaultClasses.buttonClassName,\r\n buttonClassName\r\n )}\r\n noShadow={true}\r\n onClick={onButtonClick}\r\n >\r\n <EventIcon /> {from?.format('MMMM, YYYY')}\r\n </Button>\r\n <DatePicker\r\n ref={calendarRef}\r\n customInput={<span />}\r\n selected={from?.toDate()}\r\n // selectsRange={true}\r\n selectsStart={shownModal !== 'end'}\r\n selectsEnd={shownModal === 'end'}\r\n startDate={from?.toDate()}\r\n endDate={till?.toDate()}\r\n shouldCloseOnSelect={shownModal === 'end'}\r\n //dateFormat={DAY_FORMAT}\r\n onChange={(dt: Date) => {\r\n if (shownModal !== 'end') {\r\n const dtm = getNewMomentFunction(dt);\r\n let validTill = till.clone();\r\n if (dtm.isAfter(till)) {\r\n validTill = dtm.clone().add(1, 'day');\r\n }\r\n onRangeChange({ from: dtm, till: validTill });\r\n setShownModal('end');\r\n } else {\r\n let dtm = getNewMomentFunction(dt).startOf('day').add(1, 'day');\r\n let validFrom = from.clone();\r\n if (dtm.isBefore(from)) {\r\n validFrom = dtm.clone().add(-1, 'day');\r\n }\r\n onRangeChange({ from: validFrom, till: dtm });\r\n setShownModal(null);\r\n }\r\n }}\r\n withPortal={true}\r\n />\r\n </div>\r\n );\r\n}\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAKA,IAAAI,OAAA,GAAAJ,OAAA;AAMA,IAAAK,OAAA,GAAAL,OAAA;AAA6C,SAAAE,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAX,wBAAAO,GAAA,EAAAI,WAAA,SAAAA,WAAA,IAAAJ,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAQ,KAAA,GAAAL,wBAAA,CAAAC,WAAA,OAAAI,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,CAAAT,OAAA,GAAAF,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,IACjCW,SAAS,YAATA,SAASA,CAAAC,KAAA;EAAA,oBAAA/B,KAAA,CAAAgC,aAAA,QAAAD,KAAA,eAAA/B,KAAA,CAAAgC,aAAA;IAAAC,CAAA;EAAA;AAAA;AAATH,SAAS,CAAAI,YAAA;EAAAC,KAAA;EAAAC,KAAA;EAAAC,MAAA;EAAAC,OAAA;AAAA;AACrB,IAAI;EACF,IAAIC,UAAU,GAAGrC,OAAO,CAAC,kBAAkB,CAAC,CAACQ,OAAO;AACtD,CAAC,CAAC,MAAM;EACN6B,UAAU,GAAGC,SAAS;AACxB;AACA;;AAeO,SAASC,yBAAyBA,CACvCV,KAAwC,EACxC;EACA,MAAM;IACJW,SAAS;IACTC,eAAe;IACfC,IAAI;IACJC,IAAI;IACJC,aAAa;IACbC,oBAAoB,GAAGC;EACzB,CAAC,GAAGjB,KAAK;EACT,MAAM,CAACkB,UAAU,EAAEC,aAAa,CAAC,GAAGlD,KAAK,CAACmD,QAAQ,CAAyB,CAAC;EAC5E,MAAMC,WAAW,GAAGpD,KAAK,CAACqD,MAAM,CAAoB,CAAC;EACrD,MAAMC,aAAa,GAAGtD,KAAK,CAACuD,WAAW,CAAC,MAAM;IAC5CL,aAAa,CAAC,OAAO,CAAC;IACtBE,WAAW,CAACI,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;EACnC,CAAC,EAAE,EAAE,CAAC;EACN,oBACEzD,KAAA,CAAAgC,aAAA;IACEU,SAAS,EAAE,IAAAgB,mBAAU,EACnBC,gDAAuC,CAACjB,SAAS,EACjDA,SACF;EAAE,gBAEF1C,KAAA,CAAAgC,aAAA,CAACzB,OAAA,CAAAqD,MAAM;IACLlB,SAAS,EAAE,IAAAgB,mBAAU,EACnBC,gDAAuC,CAAChB,eAAe,EACvDA,eACF,CAAE;IACFkB,QAAQ,EAAE,IAAK;IACfC,OAAO,EAAER;EAAc,gBAEvBtD,KAAA,CAAAgC,aAAA,CAACF,SAAS,MAAE,CAAC,KAAC,EAACc,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEmB,MAAM,CAAC,YAAY,CAClC,CAAC,eACT/D,KAAA,CAAAgC,aAAA,CAACO,UAAU;IACTyB,GAAG,EAAEZ,WAAY;IACjBa,WAAW,eAAEjE,KAAA,CAAAgC,aAAA,aAAO,CAAE;IACtBkC,QAAQ,EAAEtB,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEuB,MAAM,CAAC;IACvB;IAAA;IACAC,YAAY,EAAEnB,UAAU,KAAK,KAAM;IACnCoB,UAAU,EAAEpB,UAAU,KAAK,KAAM;IACjCqB,SAAS,EAAE1B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEuB,MAAM,CAAC,CAAE;IAC1BI,OAAO,EAAE1B,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEsB,MAAM,CAAC,CAAE;IACxBK,mBAAmB,EAAEvB,UAAU,KAAK;IACpC;IAAA;IACAwB,QAAQ,EAAGC,EAAQ,IAAK;MACtB,IAAIzB,UAAU,KAAK,KAAK,EAAE;QACxB,MAAM0B,GAAG,GAAG5B,oBAAoB,CAAC2B,EAAE,CAAC;QACpC,IAAIE,SAAS,GAAG/B,IAAI,CAACgC,KAAK,CAAC,CAAC;QAC5B,IAAIF,GAAG,CAACG,OAAO,CAACjC,IAAI,CAAC,EAAE;UACrB+B,SAAS,GAAGD,GAAG,CAACE,KAAK,CAAC,CAAC,CAACE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;QACvC;QACAjC,aAAa,CAAC;UAAEF,IAAI,EAAE+B,GAAG;UAAE9B,IAAI,EAAE+B;QAAU,CAAC,CAAC;QAC7C1B,aAAa,CAAC,KAAK,CAAC;MACtB,CAAC,MAAM;QACL,IAAIyB,GAAG,GAAG5B,oBAAoB,CAAC2B,EAAE,CAAC,CAACM,OAAO,CAAC,KAAK,CAAC,CAACD,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC;QAC/D,IAAIE,SAAS,GAAGrC,IAAI,CAACiC,KAAK,CAAC,CAAC;QAC5B,IAAIF,GAAG,CAACO,QAAQ,CAACtC,IAAI,CAAC,EAAE;UACtBqC,SAAS,GAAGN,GAAG,CAACE,KAAK,CAAC,CAAC,CAACE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;QACxC;QACAjC,aAAa,CAAC;UAAEF,IAAI,EAAEqC,SAAS;UAAEpC,IAAI,EAAE8B;QAAI,CAAC,CAAC;QAC7CzB,aAAa,CAAC,IAAI,CAAC;MACrB;IACF,CAAE;IACFiC,UAAU,EAAE;EAAK,CAClB,CACE,CAAC;AAEV"}
@@ -1,5 +1,5 @@
1
- export interface BookingCalendarDatePickerClasses {
2
- className?: string;
3
- buttonClassName?: string;
4
- }
5
- export declare const bookingCalendarDatePickerDefaultClasses: BookingCalendarDatePickerClasses;
1
+ export interface BookingCalendarDatePickerClasses {
2
+ className?: string;
3
+ buttonClassName?: string;
4
+ }
5
+ export declare const bookingCalendarDatePickerDefaultClasses: BookingCalendarDatePickerClasses;
@@ -1,2 +1,2 @@
1
- export * from './BookingCalendarDatePicker';
2
- export * from './classes';
1
+ export * from './BookingCalendarDatePicker';
2
+ export * from './classes';
@@ -1,10 +1,10 @@
1
- /// <reference types="react" />
2
- import { BookingCalendarGridClasses } from './classes';
3
- import { GridItem } from '../utils';
4
- export interface BookingCalendarGridProps extends BookingCalendarGridClasses {
5
- items: GridItem[];
6
- containerRef?: (elem: HTMLElement) => void;
7
- dataRowsCount: number;
8
- width: number;
9
- }
10
- export declare function BookingCalendarGrid(props: BookingCalendarGridProps): JSX.Element;
1
+ import * as React from 'react';
2
+ import { BookingCalendarGridClasses } from './classes';
3
+ import { GridItem } from '../utils';
4
+ export interface BookingCalendarGridProps extends BookingCalendarGridClasses {
5
+ items: GridItem[];
6
+ containerRef?: (elem: HTMLElement) => void;
7
+ dataRowsCount: number;
8
+ width: number;
9
+ }
10
+ export declare function BookingCalendarGrid(props: BookingCalendarGridProps): React.JSX.Element;
@@ -1,5 +1,5 @@
1
- export interface BookingCalendarGridClasses {
2
- className?: string;
3
- gridItemClassName?: string;
4
- }
5
- export declare const bookingCalendarGridDefaultClasses: BookingCalendarGridClasses;
1
+ export interface BookingCalendarGridClasses {
2
+ className?: string;
3
+ gridItemClassName?: string;
4
+ }
5
+ export declare const bookingCalendarGridDefaultClasses: BookingCalendarGridClasses;
@@ -1,57 +1,57 @@
1
- import * as React from 'react';
2
- import { BookingCalendarRenderItemProps } from '../bookingCalendarRenderItem/BookingCalendarRenderItem';
3
- import { BookingCalendarItemT } from '../common';
4
- import { BookingCalendarItemClasses } from './classes';
5
- import { Duration, Moment } from 'moment';
6
- export interface BookingCalendarItemBaseProps<T extends BookingCalendarItemT> {
7
- item: T;
8
- itemIndex: number;
9
- laneIndex: number;
10
- from: Moment;
11
- till: Moment;
12
- step: Duration;
13
- /**
14
- * Number between [0,1] that tells how far from previous item (or start) this item starts
15
- */
16
- marginStart: number;
17
- /**
18
- * Number between [0,1] that tells what part of the lane the item starts at
19
- */
20
- start: number;
21
- /**
22
- * Like start but can be negative (go offscreen)
23
- */
24
- realStart: number;
25
- /**
26
- * Actual start date shown on grid
27
- */
28
- realFrom: Moment;
29
- /**
30
- * Some part of the item was cut from the beginning
31
- */
32
- startIsCut: boolean;
33
- /**
34
- * Number between [0,1] that tells what part of the lane the item takes
35
- */
36
- width: number;
37
- /**
38
- * Number between [0,1] that tells what part of the lane the item ends at
39
- */
40
- end: number;
41
- /**
42
- * Like end but can be more than 1 (go offscreen)
43
- */
44
- realEnd: number;
45
- /**
46
- * Actual end date shown on grid
47
- */
48
- realTill: Moment;
49
- /**
50
- * Some part of the item was cut from the end
51
- */
52
- endIsCut: boolean;
53
- BookingCalendarRenderItem?: React.ComponentType<BookingCalendarRenderItemProps<T>>;
54
- }
55
- export interface BookingCalendarItemProps<T extends BookingCalendarItemT> extends BookingCalendarItemClasses, BookingCalendarItemBaseProps<T> {
56
- }
57
- export declare function BookingCalendarItem<T extends BookingCalendarItemT>(props: BookingCalendarItemProps<T>): JSX.Element;
1
+ import * as React from 'react';
2
+ import { BookingCalendarRenderItemProps } from '../bookingCalendarRenderItem/BookingCalendarRenderItem';
3
+ import { BookingCalendarItemT } from '../common';
4
+ import { BookingCalendarItemClasses } from './classes';
5
+ import { Duration, Moment } from 'moment';
6
+ export interface BookingCalendarItemBaseProps<T extends BookingCalendarItemT> {
7
+ item: T;
8
+ itemIndex: number;
9
+ laneIndex: number;
10
+ from: Moment;
11
+ till: Moment;
12
+ step: Duration;
13
+ /**
14
+ * Number between [0,1] that tells how far from previous item (or start) this item starts
15
+ */
16
+ marginStart: number;
17
+ /**
18
+ * Number between [0,1] that tells what part of the lane the item starts at
19
+ */
20
+ start: number;
21
+ /**
22
+ * Like start but can be negative (go offscreen)
23
+ */
24
+ realStart: number;
25
+ /**
26
+ * Actual start date shown on grid
27
+ */
28
+ realFrom: Moment;
29
+ /**
30
+ * Some part of the item was cut from the beginning
31
+ */
32
+ startIsCut: boolean;
33
+ /**
34
+ * Number between [0,1] that tells what part of the lane the item takes
35
+ */
36
+ width: number;
37
+ /**
38
+ * Number between [0,1] that tells what part of the lane the item ends at
39
+ */
40
+ end: number;
41
+ /**
42
+ * Like end but can be more than 1 (go offscreen)
43
+ */
44
+ realEnd: number;
45
+ /**
46
+ * Actual end date shown on grid
47
+ */
48
+ realTill: Moment;
49
+ /**
50
+ * Some part of the item was cut from the end
51
+ */
52
+ endIsCut: boolean;
53
+ BookingCalendarRenderItem?: React.ComponentType<BookingCalendarRenderItemProps<T>>;
54
+ }
55
+ export interface BookingCalendarItemProps<T extends BookingCalendarItemT> extends BookingCalendarItemClasses, BookingCalendarItemBaseProps<T> {
56
+ }
57
+ export declare function BookingCalendarItem<T extends BookingCalendarItemT>(props: BookingCalendarItemProps<T>): React.JSX.Element;