guestbell-forms 3.0.38 → 3.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.bat +1 -0
- package/.eslintrc.json +21 -14
- package/build/components/base/input/BaseInput.d.ts +99 -99
- package/build/components/base/input/BaseInput.js +4 -0
- package/build/components/base/input/BaseInput.js.map +1 -1
- package/build/components/base/input/index.d.ts +1 -1
- package/build/components/bookingCalendar/BookingCalendar.d.ts +45 -46
- package/build/components/bookingCalendar/BookingCalendar.js +4 -5
- package/build/components/bookingCalendar/BookingCalendar.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.d.ts +17 -17
- package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js +12 -12
- package/build/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarControls/classes.d.ts +9 -9
- package/build/components/bookingCalendar/bookingCalendarControls/index.d.ts +2 -2
- package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.d.ts +13 -13
- package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js +3 -3
- package/build/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarDatePicker/classes.d.ts +5 -5
- package/build/components/bookingCalendar/bookingCalendarDatePicker/index.d.ts +2 -2
- package/build/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.d.ts +10 -10
- package/build/components/bookingCalendar/bookingCalendarGrid/classes.d.ts +5 -5
- package/build/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.d.ts +57 -57
- package/build/components/bookingCalendar/bookingCalendarItem/classes.d.ts +4 -4
- package/build/components/bookingCalendar/bookingCalendarItem/index.d.ts +2 -2
- package/build/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.d.ts +16 -16
- package/build/components/bookingCalendar/bookingCalendarLane/classes.d.ts +4 -4
- package/build/components/bookingCalendar/bookingCalendarLane/index.d.ts +2 -2
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.d.ts +7 -7
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/classes.d.ts +4 -4
- package/build/components/bookingCalendar/bookingCalendarLaneHeader/index.d.ts +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.d.ts +11 -11
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js +3 -3
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.d.ts +4 -5
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/classes.d.ts +5 -5
- package/build/components/bookingCalendar/bookingCalendarLanesHeader/index.d.ts +2 -2
- package/build/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.d.ts +9 -9
- package/build/components/bookingCalendar/bookingCalendarRenderItem/classes.d.ts +6 -6
- package/build/components/bookingCalendar/bookingCalendarRenderItem/index.d.ts +1 -1
- package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.d.ts +38 -37
- package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js +2 -0
- package/build/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.js.map +1 -1
- package/build/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.d.ts +11 -11
- package/build/components/bookingCalendar/bookingCalendarTimeAxis/classes.d.ts +5 -5
- package/build/components/bookingCalendar/classes.d.ts +11 -11
- package/build/components/bookingCalendar/common.d.ts +23 -23
- package/build/components/bookingCalendar/common.js +3 -4
- package/build/components/bookingCalendar/common.js.map +1 -1
- package/build/components/bookingCalendar/index.d.ts +3 -3
- package/build/components/bookingCalendar/utils.d.ts +52 -50
- package/build/components/bookingCalendar/utils.js.map +1 -1
- package/build/components/button/Button.d.ts +81 -81
- package/build/components/button/Button.js +1 -0
- package/build/components/button/Button.js.map +1 -1
- package/build/components/button/index.d.ts +2 -2
- package/build/components/checkbox/Checkbox.d.ts +23 -23
- package/build/components/checkbox/index.d.ts +2 -2
- package/build/components/dropdown/Dropdown.d.ts +44 -44
- package/build/components/dropdown/index.d.ts +2 -2
- package/build/components/dynamicSubmit/DynamicSubmit.d.ts +54 -54
- package/build/components/dynamicSubmit/DynamicSubmit.js.map +1 -1
- package/build/components/dynamicSubmit/index.d.ts +2 -2
- package/build/components/externalValidationComponent/ExternalValidationComponent.d.ts +15 -15
- package/build/components/externalValidationComponent/index.d.ts +2 -2
- package/build/components/form/Form.d.ts +47 -47
- package/build/components/form/FormContext.d.ts +30 -30
- package/build/components/form/FormValidationSummary.d.ts +38 -38
- package/build/components/form/FormValidationSummary.js.map +1 -1
- package/build/components/form/index.d.ts +5 -5
- package/build/components/form/withFormContext.d.ts +3 -3
- package/build/components/inputGroup/InputGroup.d.ts +15 -17
- package/build/components/inputGroup/index.d.ts +2 -2
- package/build/components/inputHeader/InputHeader.d.ts +97 -97
- package/build/components/inputHeader/InputHeader.js.map +1 -1
- package/build/components/inputHeader/InputHeaderContext.d.ts +24 -24
- package/build/components/inputHeader/index.d.ts +2 -2
- package/build/components/inputHeader/withInputHeaderContext.d.ts +3 -3
- package/build/components/money/Money.d.ts +78 -78
- package/build/components/money/Money.js.map +1 -1
- package/build/components/money/index.d.ts +2 -2
- package/build/components/numberInput/NumberInput.d.ts +28 -28
- package/build/components/numberInput/index.d.ts +2 -2
- package/build/components/openingHours/openingHoursDay/OpeningHoursDay.d.ts +84 -84
- package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js +3 -3
- package/build/components/openingHours/openingHoursDay/OpeningHoursDay.js.map +1 -1
- package/build/components/openingHours/openingHoursDay/index.d.ts +2 -2
- package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.d.ts +92 -90
- package/build/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.js.map +1 -1
- package/build/components/openingHours/openingHoursSpecial/index.d.ts +2 -2
- package/build/components/openingHours/openingHoursWeek/OpeningHoursWeek.d.ts +109 -109
- package/build/components/openingHours/openingHoursWeek/index.d.ts +2 -2
- package/build/components/openingHours/utils/OpeningHoursUtil.d.ts +21 -21
- package/build/components/radio/Radio.d.ts +20 -20
- package/build/components/radio/index.d.ts +2 -2
- package/build/components/radioContainer/RadioContainer.d.ts +17 -16
- package/build/components/radioContainer/RadioContainer.js.map +1 -1
- package/build/components/radioContainer/index.d.ts +2 -2
- package/build/components/select/Select.d.ts +79 -79
- package/build/components/select/index.d.ts +2 -2
- package/build/components/submit/Submit.d.ts +137 -137
- package/build/components/submit/index.d.ts +2 -2
- package/build/components/submit/subComponents/SubmitValidationSummary.d.ts +5 -5
- package/build/components/tags/Tags.d.ts +92 -92
- package/build/components/tags/Tags.js +2 -0
- package/build/components/tags/Tags.js.map +1 -1
- package/build/components/tags/index.d.ts +2 -2
- package/build/components/tags/subComponents/TagsSuggestions.d.ts +34 -34
- package/build/components/tags/subComponents/TagsSuggestions.js +2 -2
- package/build/components/tags/subComponents/TagsSuggestions.js.map +1 -1
- package/build/components/text/Text.d.ts +31 -31
- package/build/components/text/index.d.ts +2 -2
- package/build/components/textArea/TextArea.d.ts +28 -28
- package/build/components/textArea/TextArea.js +1 -0
- package/build/components/textArea/TextArea.js.map +1 -1
- package/build/components/textArea/index.d.ts +2 -2
- package/build/components/themeProvider/ThemeContext.d.ts +9 -9
- package/build/components/themeProvider/ThemeProvider.d.ts +8 -7
- package/build/components/themeProvider/ThemeProvider.js.map +1 -1
- package/build/components/themeProvider/index.d.ts +4 -4
- package/build/components/themeProvider/withThemeContext.d.ts +4 -4
- package/build/components/time/Time.d.ts +32 -32
- package/build/components/time/Time.js +3 -3
- package/build/components/time/Time.js.map +1 -1
- package/build/components/time/index.d.ts +2 -2
- package/build/components/timeSpan/TimeSpan.d.ts +46 -46
- package/build/components/timeSpan/TimeSpan.js +6 -6
- package/build/components/timeSpan/TimeSpan.js.map +1 -1
- package/build/components/timeSpan/index.d.ts +2 -2
- package/build/components/utils/Guid.d.ts +2 -2
- package/build/components/utils/ShallowEqual.d.ts +16 -16
- package/build/components/utils/TimeUtil.d.ts +6 -6
- package/build/components/utils/Typescript.d.ts +5 -5
- package/build/dist/guestbell-forms.css +157 -171
- package/build/dist/guestbell-forms.css.map +1 -1
- package/build/dist/guestbell-forms.js +15 -24
- package/build/dist/guestbell-forms.js.map +1 -1
- package/build/dist/guestbell-forms.min.css +1 -1
- package/build/dist/guestbell-forms.min.js +1 -1
- package/build/dist/guestbell-forms.min.js.map +1 -1
- package/build/dist/report.html +3 -3
- package/build/index.d.ts +24 -24
- package/build/scss/components/bookingCalendar/bookingCalendar.scss +30 -7
- package/build/scss/components/inputHeader/inputHeader.scss +7 -1
- package/build/types/ElementOverrideProp.d.ts +3 -3
- package/build/types/Theme.d.ts +4 -4
- package/build/types/ThemeOverrides.d.ts +45 -45
- package/build/validators/EmailValidator.d.ts +4 -4
- package/build/validators/LatitudeValidator.d.ts +4 -4
- package/build/validators/LongitudeValidator.d.ts +4 -4
- package/build/validators/NumberValidator.d.ts +12 -12
- package/build/validators/NumberValidator.js +1 -0
- package/build/validators/NumberValidator.js.map +1 -1
- package/build/validators/UrlValidator.d.ts +4 -4
- package/build/validators/base.d.ts +4 -4
- package/build/validators/index.d.ts +6 -6
- package/package.json +130 -136
- package/src/lib/components/base/input/BaseInput.tsx +526 -0
- package/src/lib/components/base/input/index.tsx +1 -0
- package/src/lib/components/bookingCalendar/BookingCalendar.tsx +327 -0
- package/src/lib/components/bookingCalendar/bookingCalendarControls/BookingCalendarControls.tsx +249 -0
- package/src/lib/components/bookingCalendar/bookingCalendarControls/classes.ts +20 -0
- package/src/lib/components/bookingCalendar/bookingCalendarControls/index.ts +2 -0
- package/src/lib/components/bookingCalendar/bookingCalendarDatePicker/BookingCalendarDatePicker.tsx +104 -0
- package/src/lib/components/bookingCalendar/bookingCalendarDatePicker/classes.ts +9 -0
- package/src/lib/components/bookingCalendar/bookingCalendarDatePicker/index.ts +2 -0
- package/src/lib/components/bookingCalendar/bookingCalendarGrid/BookingCalendarGrid.tsx +56 -0
- package/src/lib/components/bookingCalendar/bookingCalendarGrid/classes.ts +9 -0
- package/src/lib/components/bookingCalendar/bookingCalendarItem/BookingCalendarItem.tsx +97 -0
- package/src/lib/components/bookingCalendar/bookingCalendarItem/classes.ts +7 -0
- package/src/lib/components/bookingCalendar/bookingCalendarItem/index.ts +2 -0
- package/src/lib/components/bookingCalendar/bookingCalendarLane/BookingCalendarLane.tsx +69 -0
- package/src/lib/components/bookingCalendar/bookingCalendarLane/classes.ts +7 -0
- package/src/lib/components/bookingCalendar/bookingCalendarLane/index.ts +2 -0
- package/src/lib/components/bookingCalendar/bookingCalendarLaneHeader/BookingCalendarLaneHeader.tsx +28 -0
- package/src/lib/components/bookingCalendar/bookingCalendarLaneHeader/classes.ts +7 -0
- package/src/lib/components/bookingCalendar/bookingCalendarLaneHeader/index.ts +1 -0
- package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeader.tsx +57 -0
- package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/BookingCalendarLanesHeaderRenderItem.tsx +53 -0
- package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/classes.ts +9 -0
- package/src/lib/components/bookingCalendar/bookingCalendarLanesHeader/index.ts +2 -0
- package/src/lib/components/bookingCalendar/bookingCalendarRenderItem/BookingCalendarRenderItem.tsx +57 -0
- package/src/lib/components/bookingCalendar/bookingCalendarRenderItem/classes.ts +11 -0
- package/src/lib/components/bookingCalendar/bookingCalendarRenderItem/index.ts +1 -0
- package/src/lib/components/bookingCalendar/bookingCalendarSelection/BookingCalendarSelection.tsx +217 -0
- package/src/lib/components/bookingCalendar/bookingCalendarTimeAxis/BookingCalendarTimeAxis.tsx +53 -0
- package/src/lib/components/bookingCalendar/bookingCalendarTimeAxis/classes.ts +9 -0
- package/src/lib/components/bookingCalendar/classes.ts +21 -0
- package/src/lib/components/bookingCalendar/common.ts +61 -0
- package/src/lib/components/bookingCalendar/index.ts +3 -0
- package/src/lib/components/bookingCalendar/utils.ts +348 -0
- package/src/lib/components/button/Button.tsx +193 -0
- package/src/lib/components/button/index.tsx +2 -0
- package/src/lib/components/checkbox/Checkbox.tsx +178 -0
- package/src/lib/components/checkbox/index.tsx +2 -0
- package/src/lib/components/dropdown/Dropdown.tsx +135 -0
- package/src/lib/components/dropdown/index.tsx +2 -0
- package/src/lib/components/dynamicSubmit/DynamicSubmit.tsx +153 -0
- package/src/lib/components/dynamicSubmit/index.tsx +2 -0
- package/src/lib/components/externalValidationComponent/ExternalValidationComponent.tsx +78 -0
- package/src/lib/components/externalValidationComponent/index.tsx +2 -0
- package/src/lib/components/form/Form.tsx +276 -0
- package/src/lib/components/form/FormContext.ts +49 -0
- package/src/lib/components/form/FormValidationSummary.tsx +122 -0
- package/src/lib/components/form/index.tsx +5 -0
- package/src/lib/components/form/withFormContext.tsx +20 -0
- package/src/lib/components/inputGroup/InputGroup.tsx +60 -0
- package/src/lib/components/inputGroup/index.tsx +2 -0
- package/src/lib/components/inputHeader/InputHeader.tsx +448 -0
- package/src/lib/components/inputHeader/InputHeaderContext.ts +42 -0
- package/src/lib/components/inputHeader/index.tsx +2 -0
- package/src/lib/components/inputHeader/withInputHeaderContext.tsx +24 -0
- package/src/lib/components/money/Money.tsx +298 -0
- package/src/lib/components/money/index.tsx +2 -0
- package/src/lib/components/numberInput/NumberInput.tsx +186 -0
- package/src/lib/components/numberInput/index.tsx +2 -0
- package/src/lib/components/openingHours/openingHoursDay/OpeningHoursDay.tsx +394 -0
- package/src/lib/components/openingHours/openingHoursDay/index.tsx +2 -0
- package/src/lib/components/openingHours/openingHoursSpecial/OpeningHoursSpecial.tsx +227 -0
- package/src/lib/components/openingHours/openingHoursSpecial/index.tsx +2 -0
- package/src/lib/components/openingHours/openingHoursWeek/OpeningHoursWeek.tsx +283 -0
- package/src/lib/components/openingHours/openingHoursWeek/index.tsx +2 -0
- package/src/lib/components/openingHours/utils/OpeningHoursUtil.tsx +111 -0
- package/src/lib/components/radio/Radio.tsx +87 -0
- package/src/lib/components/radio/index.tsx +2 -0
- package/src/lib/components/radioContainer/RadioContainer.tsx +50 -0
- package/src/lib/components/radioContainer/index.tsx +2 -0
- package/src/lib/components/select/Select.tsx +335 -0
- package/src/lib/components/select/index.tsx +2 -0
- package/src/lib/components/submit/Submit.tsx +117 -0
- package/src/lib/components/submit/index.tsx +2 -0
- package/src/lib/components/submit/subComponents/SubmitValidationSummary.tsx +55 -0
- package/src/lib/components/tags/Tags.tsx +702 -0
- package/src/lib/components/tags/index.tsx +2 -0
- package/src/lib/components/tags/subComponents/TagsSuggestions.tsx +150 -0
- package/src/lib/components/text/Text.tsx +200 -0
- package/src/lib/components/text/index.tsx +2 -0
- package/src/lib/components/textArea/TextArea.tsx +109 -0
- package/src/lib/components/textArea/index.tsx +2 -0
- package/src/lib/components/themeProvider/ThemeContext.ts +16 -0
- package/src/lib/components/themeProvider/ThemeProvider.tsx +21 -0
- package/src/lib/components/themeProvider/index.tsx +4 -0
- package/src/lib/components/themeProvider/withThemeContext.tsx +30 -0
- package/src/lib/components/time/Time.tsx +296 -0
- package/src/lib/components/time/index.tsx +2 -0
- package/src/lib/components/timeSpan/TimeSpan.tsx +378 -0
- package/src/lib/components/timeSpan/index.tsx +2 -0
- package/src/lib/components/utils/Guid.ts +9 -0
- package/src/lib/components/utils/ShallowEqual.ts +75 -0
- package/src/lib/components/utils/TimeUtil.ts +22 -0
- package/src/lib/components/utils/Typescript.ts +11 -0
- package/src/lib/declarations/import.d.ts +1 -0
- package/src/lib/index.ts +24 -0
- package/src/lib/scss/components/base/index.scss +1 -0
- package/src/lib/scss/components/base/input/index.scss +1 -0
- package/src/lib/scss/components/base/input/input.scss +237 -0
- package/src/lib/scss/components/bookingCalendar/bookingCalendar.scss +272 -0
- package/src/lib/scss/components/bookingCalendar/index.scss +1 -0
- package/src/lib/scss/components/button/buttons.scss +161 -0
- package/src/lib/scss/components/button/index.scss +1 -0
- package/src/lib/scss/components/checkbox/checkbox.scss +115 -0
- package/src/lib/scss/components/checkbox/index.scss +1 -0
- package/src/lib/scss/components/dropdown/dropdown.scss +111 -0
- package/src/lib/scss/components/dropdown/index.scss +1 -0
- package/src/lib/scss/components/dynamicSubmit/dynamicSubmit.scss +1 -0
- package/src/lib/scss/components/dynamicSubmit/index.scss +1 -0
- package/src/lib/scss/components/form/form.scss +1 -0
- package/src/lib/scss/components/form/formValidationSummary.scss +55 -0
- package/src/lib/scss/components/form/index.scss +2 -0
- package/src/lib/scss/components/index.scss +21 -0
- package/src/lib/scss/components/inputGroup/index.scss +1 -0
- package/src/lib/scss/components/inputGroup/inputGroup.scss +67 -0
- package/src/lib/scss/components/inputHeader/index.scss +1 -0
- package/src/lib/scss/components/inputHeader/inputHeader.scss +132 -0
- package/src/lib/scss/components/money/index.scss +1 -0
- package/src/lib/scss/components/money/money.scss +51 -0
- package/src/lib/scss/components/numberInput/index.scss +1 -0
- package/src/lib/scss/components/numberInput/numberInput.scss +116 -0
- package/src/lib/scss/components/openingHours/index.scss +3 -0
- package/src/lib/scss/components/openingHours/openingHoursDay/index.scss +1 -0
- package/src/lib/scss/components/openingHours/openingHoursDay/openingHoursDay.scss +127 -0
- package/src/lib/scss/components/openingHours/openingHoursSpecial/index.scss +1 -0
- package/src/lib/scss/components/openingHours/openingHoursSpecial/openingHoursSpecial.scss +93 -0
- package/src/lib/scss/components/openingHours/openingHoursWeek/index.scss +1 -0
- package/src/lib/scss/components/openingHours/openingHoursWeek/openingHoursWeek.scss +23 -0
- package/src/lib/scss/components/radio/index.scss +1 -0
- package/src/lib/scss/components/radio/radio.scss +68 -0
- package/src/lib/scss/components/radioContainer/index.scss +1 -0
- package/src/lib/scss/components/radioContainer/radioContainer.scss +15 -0
- package/src/lib/scss/components/select/index.scss +1 -0
- package/src/lib/scss/components/select/select.scss +64 -0
- package/src/lib/scss/components/submit/index.scss +1 -0
- package/src/lib/scss/components/submit/submitValidationSummary.scss +35 -0
- package/src/lib/scss/components/tags/index.scss +1 -0
- package/src/lib/scss/components/tags/tags.scss +128 -0
- package/src/lib/scss/components/text/index.scss +1 -0
- package/src/lib/scss/components/text/text.scss +42 -0
- package/src/lib/scss/components/textArea/index.scss +1 -0
- package/src/lib/scss/components/textArea/textArea.scss +32 -0
- package/src/lib/scss/components/time/index.scss +1 -0
- package/src/lib/scss/components/time/time.scss +111 -0
- package/src/lib/scss/components/timeSpan/index.scss +1 -0
- package/src/lib/scss/components/timeSpan/timeSpan.scss +115 -0
- package/src/lib/scss/index.scss +8 -0
- package/src/lib/scss/styles/base.scss +7 -0
- package/src/lib/scss/styles/index.scss +2 -0
- package/src/lib/scss/styles/react-tippy.scss +4 -0
- package/src/lib/scss/variables/_buttons.scss +6 -0
- package/src/lib/scss/variables/_colors.scss +1 -0
- package/src/lib/scss/variables/_common.scss +12 -0
- package/src/lib/tsconfig.json +19 -0
- package/src/lib/types/ElementOverrideProp.ts +3 -0
- package/src/lib/types/Theme.ts +5 -0
- package/src/lib/types/ThemeOverrides.ts +46 -0
- package/src/lib/validators/EmailValidator.ts +15 -0
- package/src/lib/validators/LatitudeValidator.ts +25 -0
- package/src/lib/validators/LongitudeValidator.ts +25 -0
- package/src/lib/validators/NumberValidator.ts +50 -0
- package/src/lib/validators/UrlValidator.ts +20 -0
- package/src/lib/validators/base.ts +15 -0
- package/src/lib/validators/index.ts +6 -0
- package/src/stories/Basic.stories.ts +17 -0
- package/src/stories/Basic.tsx +1065 -0
- package/src/stories/Schedule.stories.ts +16 -0
- package/src/stories/Schedule.tsx +73 -0
- package/src/stories/ValidationPage.tsx +417 -0
- package/tsconfig.json +9 -22
- package/typedoc.json +6 -0
- package/webpack/webpack.config.base.js +139 -0
- package/webpack/webpack.config.dev.js +78 -0
- package/webpack/webpack.config.gh-pages.js +78 -0
- package/webpack/webpack.config.js +21 -0
- package/webpack/webpack.config.min.js +100 -0
- package/.vscode/launch.json +0 -15
- package/.vscode/settings.json +0 -27
- package/.vscode/tasks.json +0 -12
@@ -1,3 +1,3 @@
|
|
1
|
-
export * from './BookingCalendar';
|
2
|
-
export * from './common';
|
3
|
-
export * from './classes';
|
1
|
+
export * from './BookingCalendar';
|
2
|
+
export * from './common';
|
3
|
+
export * from './classes';
|
@@ -1,50 +1,52 @@
|
|
1
|
-
/// <reference types="react" />
|
2
|
-
import moment, { Moment, Duration } from 'moment';
|
3
|
-
import { BookingCalendarItemProps } from './bookingCalendarItem';
|
4
|
-
import { BookingCalendarLaneProps } from './bookingCalendarLane';
|
5
|
-
import { BookingCalendarLaneHeaderProps } from './bookingCalendarLaneHeader';
|
6
|
-
import { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';
|
7
|
-
import { BookingCalendarItemT } from './common';
|
8
|
-
export declare function groupBy<T>(items: T[], iterator: (item: T) => number | string): {
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
export declare
|
24
|
-
export declare function
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
1
|
+
/// <reference types="react" />
|
2
|
+
import moment, { Moment, Duration } from 'moment';
|
3
|
+
import { BookingCalendarItemProps } from './bookingCalendarItem';
|
4
|
+
import { BookingCalendarLaneProps } from './bookingCalendarLane';
|
5
|
+
import { BookingCalendarLaneHeaderProps } from './bookingCalendarLaneHeader';
|
6
|
+
import { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';
|
7
|
+
import { BookingCalendarItemT } from './common';
|
8
|
+
export declare function groupBy<T>(items: T[], iterator: (item: T) => number | string): {
|
9
|
+
[key: string | number]: T[];
|
10
|
+
};
|
11
|
+
export interface LaneSourceData<T extends BookingCalendarItemT, TLaneData> {
|
12
|
+
laneKey: number;
|
13
|
+
data?: TLaneData;
|
14
|
+
rowClassName?: string;
|
15
|
+
BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;
|
16
|
+
BookingCalendarRenderItem?: React.ComponentType<BookingCalendarRenderItemProps<T>>;
|
17
|
+
BookingCalendarLaneHeader?: React.ComponentType<BookingCalendarLaneHeaderProps<TLaneData>>;
|
18
|
+
BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;
|
19
|
+
}
|
20
|
+
export interface LaneData<T extends BookingCalendarItemT, TLaneData> extends LaneSourceData<T, TLaneData> {
|
21
|
+
items: T[];
|
22
|
+
}
|
23
|
+
export declare function splitBookingsToLanes<T extends BookingCalendarItemT, TLaneData>(bookings: T[], from: Moment, minLanesCount: number, lanesSource?: LaneSourceData<T, TLaneData>[], unmatchedToFront?: boolean): LaneData<T, TLaneData>[];
|
24
|
+
export declare function itemsOverlap<T extends BookingCalendarItemT>(a: T, b: T): boolean;
|
25
|
+
export declare const getItemPositionStyle: (marginStart: number, width: number) => import("react").CSSProperties;
|
26
|
+
export declare function calculateItemsDimensions<T extends BookingCalendarItemT>(items: T[], from: Moment, till: Moment): {
|
27
|
+
item: T;
|
28
|
+
start: number;
|
29
|
+
realStart: number;
|
30
|
+
realFrom: moment.Moment;
|
31
|
+
startIsCut: boolean;
|
32
|
+
width: number;
|
33
|
+
end: number;
|
34
|
+
realEnd: number;
|
35
|
+
realTill: moment.Moment;
|
36
|
+
endIsCut: boolean;
|
37
|
+
marginStart: number;
|
38
|
+
}[];
|
39
|
+
export declare const generateControlItems: (from: Moment, till: Moment, step: Duration, startOfStep: Moment) => {
|
40
|
+
from: moment.Moment;
|
41
|
+
till: moment.Moment;
|
42
|
+
}[];
|
43
|
+
export interface GridItem {
|
44
|
+
left: number;
|
45
|
+
date: Moment;
|
46
|
+
stepProportion: number;
|
47
|
+
opacity: number;
|
48
|
+
}
|
49
|
+
export declare const generateGridItems: (from: Moment, till: Moment, step: Duration, containerWidthPx: number, availableSteps: Duration[], goalGridWidthPx: number, startOfStep: Moment) => {
|
50
|
+
items: GridItem[];
|
51
|
+
bestStep: Duration;
|
52
|
+
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"utils.js","names":["_moment","_interopRequireDefault","require","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","groupBy","items","iterator","reduce","item","hasOwnProperty","splitBookingsToLanes","bookings","from","minLanesCount","lanesSource","unmatchedToFront","lanes","map","bookingsWithoutLaneKey","a","laneKey","bookingsWithLaneKey","grouped","booking","originalIndex","find","missingLanes","some","l","concat","remainingBookings","sort","b","valueOf","min","bookingIndex","laneIndex","lane","index","_lane$items","lastTill","till","distances","dist","diff","Math","abs","_min","indexOf","splice","data","shift","Array","fill","_","findIndex","arr","unmatchedVal","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","sortArrayByLaneKeys","referenceArray","arrayToSort","indexA","indexB","itemsOverlap","isBefore","isAfter","getItemPositionStyle","marginStart","width","marginLeft","exports","calculateItemsDimensions","lastEnd","widthMs","startMs","endMs","startIsCut","realStart","realFrom","moment","start","endIsCut","realEnd","end","realTill","generateControlItems","step","startOfStep","steps","max","ceil","asMilliseconds","subtract","clone","add","generateGridItems","containerWidthPx","availableSteps","goalGridWidthPx","bestStep","stepMs","fromMs","tillMs","timeLengthMs","approximateStepsCount","approximateStepMs","availableStepsDistancesMs","smallestDistance","bestStepIndex","utcOffset","date","stepProportion","numberOfRoots","current","currentTop","tolerance","pow","left","opacity"],"sources":["../../../src/lib/components/bookingCalendar/utils.ts"],"sourcesContent":["import moment, { Moment, Duration } from 'moment';\r\nimport { BookingCalendarItemProps } from './bookingCalendarItem';\r\nimport { BookingCalendarLaneProps } from './bookingCalendarLane';\r\nimport { BookingCalendarLaneHeaderProps } from './bookingCalendarLaneHeader';\r\nimport { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';\r\nimport {\r\n BookingCalendarItemT,\r\n BookingCalendarItemWithOriginalIndexT,\r\n} from './common';\r\n\r\nexport function groupBy<T>(items: T[], iterator: (item: T) => number | string) {\r\n return items.reduce((obj, item) => {\r\n const key = iterator(item);\r\n if (!obj.hasOwnProperty(key)) {\r\n obj[key] = [];\r\n }\r\n obj[key].push(item);\r\n return obj;\r\n }, {});\r\n}\r\n\r\nexport interface LaneSourceData<T extends BookingCalendarItemT, TLaneData> {\r\n laneKey: number;\r\n data?: TLaneData;\r\n rowClassName?: string;\r\n BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;\r\n BookingCalendarRenderItem?: React.ComponentType<\r\n BookingCalendarRenderItemProps<T>\r\n >;\r\n BookingCalendarLaneHeader?: React.ComponentType<\r\n BookingCalendarLaneHeaderProps<TLaneData>\r\n >;\r\n BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;\r\n}\r\n\r\nexport interface LaneData<T extends BookingCalendarItemT, TLaneData>\r\n extends LaneSourceData<T, TLaneData> {\r\n items: T[];\r\n}\r\n\r\nexport function splitBookingsToLanes<T extends BookingCalendarItemT, TLaneData>(\r\n bookings: T[],\r\n from: Moment,\r\n minLanesCount: number,\r\n lanesSource: LaneSourceData<T, TLaneData>[] = [],\r\n unmatchedToFront = true\r\n) {\r\n if (!bookings) {\r\n return [];\r\n }\r\n let lanes: LaneData<T, TLaneData>[] = [];\r\n if (lanesSource?.length) {\r\n lanes = lanesSource.map((source) => ({\r\n ...source,\r\n items: [],\r\n }));\r\n }\r\n const bookingsWithoutLaneKey = bookings.filter(\r\n (a) => a.laneKey === undefined\r\n );\r\n const bookingsWithLaneKey = bookings.filter((a) => a.laneKey !== undefined);\r\n if (bookingsWithLaneKey.length) {\r\n const grouped = groupBy(\r\n bookingsWithLaneKey.map((booking, originalIndex) => ({\r\n ...booking,\r\n originalIndex,\r\n })),\r\n (a) => a.laneKey\r\n );\r\n lanes = Object.keys(grouped).map((key) => ({\r\n laneKey: Number(key),\r\n items: grouped[key],\r\n ...lanesSource?.find((a) => a.laneKey === Number(key)),\r\n }));\r\n const missingLanes = lanesSource?.filter(\r\n (a) => !lanes.some((l) => l.laneKey === a.laneKey)\r\n );\r\n lanes = lanes.concat(missingLanes.map((a) => ({ ...a, items: [] })));\r\n }\r\n if (bookingsWithoutLaneKey.length) {\r\n let remainingBookings: (T & BookingCalendarItemWithOriginalIndexT)[] =\r\n bookingsWithoutLaneKey\r\n .map((booking, originalIndex) => ({ ...booking, originalIndex }))\r\n .sort((a, b) => a.from.valueOf() - b.from.valueOf());\r\n while (remainingBookings.length > 0) {\r\n let min = 99999999999999;\r\n let bookingIndex = -1;\r\n let laneIndex = -1;\r\n lanes.forEach((lane, index) => {\r\n if (lanesSource?.some((l) => l.laneKey === lane.laneKey)) {\r\n return;\r\n }\r\n const lastTill = lane.items[lane.items.length - 1]?.till ?? from;\r\n const distances = remainingBookings.map((booking) => {\r\n const dist = booking.from.diff(lastTill);\r\n if (lane.items.length === 0) {\r\n return Math.abs(dist);\r\n }\r\n return dist;\r\n });\r\n const _min = Math.min(...distances.filter((a) => a >= 0));\r\n if (_min < min) {\r\n bookingIndex = distances.indexOf(_min);\r\n laneIndex = index;\r\n }\r\n });\r\n if (bookingIndex >= 0 && laneIndex >= 0) {\r\n lanes[laneIndex].items = lanes[laneIndex].items.concat({\r\n ...remainingBookings[bookingIndex],\r\n });\r\n remainingBookings.splice(bookingIndex, 1);\r\n } else {\r\n lanes = lanes.concat({\r\n items: [{ ...remainingBookings[0] }],\r\n laneKey: lanes.length,\r\n data: undefined,\r\n });\r\n remainingBookings.shift();\r\n }\r\n }\r\n // Naive solution that is much less computationally intensive but yields more lanes than necessary\r\n /*bookings.forEach((booking, originalIndex) => {\r\n let found = false;\r\n lanes.forEach((lane, index) => {\r\n if (!lane.some(i => itemsOverlap(booking, i))) {\r\n lanes[index] = lanes[index].concat({ ...booking, originalIndex });\r\n found = true;\r\n }\r\n });\r\n if (!found) {\r\n lanes = lanes.concat([[{ ...booking, originalIndex }]]);\r\n }\r\n });*/\r\n }\r\n for (let index = 0; index < lanes.length; index++) {\r\n const lane = lanes[index];\r\n lanes[index].items = lane.items.sort(\r\n (a, b) => a.from.valueOf() - b.from.valueOf()\r\n );\r\n }\r\n if (lanes.length < minLanesCount) {\r\n lanes = lanes.concat(\r\n new Array<LaneData<T, TLaneData>>(minLanesCount - lanes.length)\r\n .fill(null)\r\n .map((_, index) => ({\r\n items: [],\r\n laneKey: index + lanes.length,\r\n data: null,\r\n }))\r\n );\r\n }\r\n const findIndex = (\r\n arr: (LaneData<T, TLaneData> | LaneSourceData<T, TLaneData>)[],\r\n laneKey: string | undefined | number\r\n ): number => {\r\n const unmatchedVal = unmatchedToFront\r\n ? Number.MIN_SAFE_INTEGER\r\n : Number.MAX_SAFE_INTEGER;\r\n if (laneKey === undefined || laneKey === null) {\r\n return unmatchedVal;\r\n }\r\n const index = arr.findIndex((item) => item.laneKey === laneKey);\r\n return index === -1 ? unmatchedVal : index;\r\n };\r\n\r\n const sortArrayByLaneKeys = (\r\n referenceArray: LaneSourceData<T, TLaneData>[],\r\n arrayToSort: LaneData<T, TLaneData>[]\r\n ): LaneData<T, TLaneData>[] => {\r\n return [...arrayToSort].sort((a, b) => {\r\n const indexA = findIndex(referenceArray, a.laneKey);\r\n const indexB = findIndex(referenceArray, b.laneKey);\r\n return indexA - indexB;\r\n });\r\n };\r\n lanes = sortArrayByLaneKeys(lanesSource, lanes);\r\n return lanes;\r\n}\r\n\r\nexport function itemsOverlap<T extends BookingCalendarItemT>(a: T, b: T) {\r\n if (!a?.from || !a?.till || !b?.from || !b?.till) {\r\n return false;\r\n }\r\n if (b.till.isBefore(a.from)) {\r\n return false;\r\n }\r\n if (b.from.isAfter(a.till)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nexport const getItemPositionStyle = (marginStart: number, width: number) =>\r\n ({\r\n marginLeft: `${marginStart * 100}%`,\r\n width: `${width * 100}%`,\r\n } as React.CSSProperties);\r\n\r\nexport function calculateItemsDimensions<T extends BookingCalendarItemT>(\r\n items: T[],\r\n from: Moment,\r\n till: Moment\r\n) {\r\n let lastEnd = 0;\r\n const widthMs = till.valueOf() - from.valueOf();\r\n const startMs = from.valueOf();\r\n const endMs = till.valueOf();\r\n return widthMs > 0\r\n ? items?.map((item) => {\r\n const startIsCut = item.from.valueOf() < startMs;\r\n const realStart = (item.from.valueOf() - startMs) / widthMs;\r\n const realFrom = startIsCut ? moment(startMs) : moment(item.from);\r\n const start = startIsCut ? 0 : realStart;\r\n const endIsCut = item.till.valueOf() > endMs;\r\n const realEnd = (item.till.valueOf() - startMs) / widthMs;\r\n const end = endIsCut ? (endMs - startMs) / widthMs : realEnd;\r\n const realTill = endIsCut ? moment(endMs) : moment(item.till);\r\n const marginStart = start - lastEnd;\r\n lastEnd = (item.till.valueOf() - startMs) / widthMs;\r\n return {\r\n item,\r\n start,\r\n realStart,\r\n realFrom,\r\n startIsCut,\r\n width: end - start,\r\n end,\r\n realEnd,\r\n realTill,\r\n endIsCut,\r\n marginStart,\r\n };\r\n })\r\n : [];\r\n}\r\n\r\nexport const generateControlItems = (\r\n from: Moment,\r\n till: Moment,\r\n step: Duration,\r\n startOfStep: Moment\r\n) => {\r\n if (!from || !till || !step) {\r\n return [];\r\n }\r\n let steps = Math.max(\r\n Math.ceil((till.valueOf() - from.valueOf()) / step.asMilliseconds()),\r\n 2\r\n );\r\n let subtract =\r\n (startOfStep.valueOf() - from.valueOf()) % step.asMilliseconds();\r\n if (subtract > 0) {\r\n subtract -= step.asMilliseconds();\r\n }\r\n if (till.valueOf() - from.valueOf() > step.asMilliseconds()) {\r\n steps += 1;\r\n }\r\n return new Array(steps).fill(0).map((_, index) => ({\r\n from: from\r\n .clone()\r\n .add(subtract)\r\n .add(step.asMilliseconds() * index),\r\n till: from\r\n .clone()\r\n .add(subtract)\r\n .add(step.asMilliseconds() * (index + 1)),\r\n }));\r\n};\r\n\r\nexport interface GridItem {\r\n left: number;\r\n date: Moment;\r\n stepProportion: number;\r\n opacity: number;\r\n}\r\n\r\nexport const generateGridItems = (\r\n from: Moment,\r\n till: Moment,\r\n step: Duration,\r\n containerWidthPx: number,\r\n availableSteps: Duration[],\r\n goalGridWidthPx: number,\r\n startOfStep: Moment\r\n): { items: GridItem[]; bestStep: Duration } => {\r\n if (\r\n !from ||\r\n !till ||\r\n !containerWidthPx ||\r\n !availableSteps?.length ||\r\n !goalGridWidthPx ||\r\n !step ||\r\n !startOfStep\r\n ) {\r\n return { bestStep: availableSteps?.[0], items: [] };\r\n }\r\n const stepMs = step.asMilliseconds();\r\n const fromMs = from.valueOf();\r\n const tillMs = till.valueOf();\r\n const timeLengthMs = tillMs - fromMs;\r\n const approximateStepsCount = containerWidthPx / goalGridWidthPx;\r\n const approximateStepMs = timeLengthMs / approximateStepsCount;\r\n const availableStepsDistancesMs = availableSteps.map((a) =>\r\n Math.abs(a.asMilliseconds() - approximateStepMs)\r\n );\r\n const smallestDistance = Math.min(...availableStepsDistancesMs);\r\n const bestStepIndex = availableStepsDistancesMs.findIndex(\r\n (a) => a === smallestDistance\r\n );\r\n const bestStep = availableSteps[bestStepIndex];\r\n const subtract =\r\n (fromMs + from.utcOffset() * 60 * 1000) % bestStep.asMilliseconds();\r\n let startMs = fromMs - subtract;\r\n let steps: Moment[] = [];\r\n while (startMs <= tillMs) {\r\n steps = steps.concat(from.clone().add(startMs - fromMs, 'ms'));\r\n startMs += bestStep.asMilliseconds();\r\n }\r\n return {\r\n items: steps\r\n .filter((a) => a.valueOf() > fromMs && a.valueOf() < tillMs)\r\n .map((date) => {\r\n const stepProportion =\r\n ((date.valueOf() + from.utcOffset() * 60 * 1000) % stepMs) / stepMs;\r\n let numberOfRoots = 0;\r\n let current = stepProportion;\r\n let currentTop = 1;\r\n let tolerance = 0.001;\r\n while (current > tolerance && current < currentTop - tolerance) {\r\n numberOfRoots += 1;\r\n currentTop = 1 / Math.pow(2, numberOfRoots);\r\n if (current > currentTop) {\r\n current -= currentTop;\r\n }\r\n }\r\n return {\r\n left: (date.valueOf() - fromMs) / timeLengthMs,\r\n date,\r\n stepProportion,\r\n opacity: 1 / (numberOfRoots || 1),\r\n };\r\n }),\r\n bestStep,\r\n };\r\n};\r\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"utils.js","names":["_moment","_interopRequireDefault","require","obj","__esModule","default","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","groupBy","items","iterator","reduce","item","hasOwnProperty","splitBookingsToLanes","bookings","from","minLanesCount","lanesSource","unmatchedToFront","lanes","map","bookingsWithoutLaneKey","a","laneKey","bookingsWithLaneKey","grouped","booking","originalIndex","find","missingLanes","some","l","concat","remainingBookings","sort","b","valueOf","min","bookingIndex","laneIndex","lane","index","_lane$items","lastTill","till","distances","dist","diff","Math","abs","_min","indexOf","splice","data","shift","Array","fill","_","findIndex","arr","unmatchedVal","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","sortArrayByLaneKeys","referenceArray","arrayToSort","indexA","indexB","itemsOverlap","isBefore","isAfter","getItemPositionStyle","marginStart","width","marginLeft","exports","calculateItemsDimensions","lastEnd","widthMs","startMs","endMs","startIsCut","realStart","realFrom","moment","start","endIsCut","realEnd","end","realTill","generateControlItems","step","startOfStep","steps","max","ceil","asMilliseconds","subtract","clone","add","generateGridItems","containerWidthPx","availableSteps","goalGridWidthPx","bestStep","stepMs","fromMs","tillMs","timeLengthMs","approximateStepsCount","approximateStepMs","availableStepsDistancesMs","smallestDistance","bestStepIndex","utcOffset","date","stepProportion","numberOfRoots","current","currentTop","tolerance","pow","left","opacity"],"sources":["../../../src/lib/components/bookingCalendar/utils.ts"],"sourcesContent":["import moment, { Moment, Duration } from 'moment';\r\nimport { BookingCalendarItemProps } from './bookingCalendarItem';\r\nimport { BookingCalendarLaneProps } from './bookingCalendarLane';\r\nimport { BookingCalendarLaneHeaderProps } from './bookingCalendarLaneHeader';\r\nimport { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';\r\nimport {\r\n BookingCalendarItemT,\r\n BookingCalendarItemWithOriginalIndexT,\r\n} from './common';\r\n\r\nexport function groupBy<T>(\r\n items: T[],\r\n iterator: (item: T) => number | string\r\n): { [key: string | number]: T[] } {\r\n return items.reduce((obj, item) => {\r\n const key = iterator(item);\r\n if (!obj.hasOwnProperty(key)) {\r\n obj[key] = [];\r\n }\r\n obj[key].push(item);\r\n return obj;\r\n }, {});\r\n}\r\n\r\nexport interface LaneSourceData<T extends BookingCalendarItemT, TLaneData> {\r\n laneKey: number;\r\n data?: TLaneData;\r\n rowClassName?: string;\r\n BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;\r\n BookingCalendarRenderItem?: React.ComponentType<\r\n BookingCalendarRenderItemProps<T>\r\n >;\r\n BookingCalendarLaneHeader?: React.ComponentType<\r\n BookingCalendarLaneHeaderProps<TLaneData>\r\n >;\r\n BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;\r\n}\r\n\r\nexport interface LaneData<T extends BookingCalendarItemT, TLaneData>\r\n extends LaneSourceData<T, TLaneData> {\r\n items: T[];\r\n}\r\n\r\nexport function splitBookingsToLanes<T extends BookingCalendarItemT, TLaneData>(\r\n bookings: T[],\r\n from: Moment,\r\n minLanesCount: number,\r\n lanesSource: LaneSourceData<T, TLaneData>[] = [],\r\n unmatchedToFront = true\r\n) {\r\n if (!bookings) {\r\n return [];\r\n }\r\n let lanes: LaneData<T, TLaneData>[] = [];\r\n if (lanesSource?.length) {\r\n lanes = lanesSource.map((source) => ({\r\n ...source,\r\n items: [],\r\n }));\r\n }\r\n const bookingsWithoutLaneKey = bookings.filter(\r\n (a) => a.laneKey === undefined\r\n );\r\n const bookingsWithLaneKey = bookings.filter((a) => a.laneKey !== undefined);\r\n if (bookingsWithLaneKey.length) {\r\n const grouped = groupBy(\r\n bookingsWithLaneKey.map((booking, originalIndex) => ({\r\n ...booking,\r\n originalIndex,\r\n })),\r\n (a) => a.laneKey\r\n );\r\n lanes = Object.keys(grouped).map((key) => ({\r\n laneKey: Number(key),\r\n items: grouped[key],\r\n ...lanesSource?.find((a) => a.laneKey === Number(key)),\r\n }));\r\n const missingLanes = lanesSource?.filter(\r\n (a) => !lanes.some((l) => l.laneKey === a.laneKey)\r\n );\r\n lanes = lanes.concat(missingLanes.map((a) => ({ ...a, items: [] })));\r\n }\r\n if (bookingsWithoutLaneKey.length) {\r\n let remainingBookings: (T & BookingCalendarItemWithOriginalIndexT)[] =\r\n bookingsWithoutLaneKey\r\n .map((booking, originalIndex) => ({ ...booking, originalIndex }))\r\n .sort((a, b) => a.from.valueOf() - b.from.valueOf());\r\n while (remainingBookings.length > 0) {\r\n let min = 99999999999999;\r\n let bookingIndex = -1;\r\n let laneIndex = -1;\r\n lanes.forEach((lane, index) => {\r\n if (lanesSource?.some((l) => l.laneKey === lane.laneKey)) {\r\n return;\r\n }\r\n const lastTill = lane.items[lane.items.length - 1]?.till ?? from;\r\n const distances = remainingBookings.map((booking) => {\r\n const dist = booking.from.diff(lastTill);\r\n if (lane.items.length === 0) {\r\n return Math.abs(dist);\r\n }\r\n return dist;\r\n });\r\n const _min = Math.min(...distances.filter((a) => a >= 0));\r\n if (_min < min) {\r\n bookingIndex = distances.indexOf(_min);\r\n laneIndex = index;\r\n }\r\n });\r\n if (bookingIndex >= 0 && laneIndex >= 0) {\r\n lanes[laneIndex].items = lanes[laneIndex].items.concat({\r\n ...remainingBookings[bookingIndex],\r\n });\r\n remainingBookings.splice(bookingIndex, 1);\r\n } else {\r\n lanes = lanes.concat({\r\n items: [{ ...remainingBookings[0] }],\r\n laneKey: lanes.length,\r\n data: undefined,\r\n });\r\n remainingBookings.shift();\r\n }\r\n }\r\n // Naive solution that is much less computationally intensive but yields more lanes than necessary\r\n /*bookings.forEach((booking, originalIndex) => {\r\n let found = false;\r\n lanes.forEach((lane, index) => {\r\n if (!lane.some(i => itemsOverlap(booking, i))) {\r\n lanes[index] = lanes[index].concat({ ...booking, originalIndex });\r\n found = true;\r\n }\r\n });\r\n if (!found) {\r\n lanes = lanes.concat([[{ ...booking, originalIndex }]]);\r\n }\r\n });*/\r\n }\r\n for (let index = 0; index < lanes.length; index++) {\r\n const lane = lanes[index];\r\n lanes[index].items = lane.items.sort(\r\n (a, b) => a.from.valueOf() - b.from.valueOf()\r\n );\r\n }\r\n if (lanes.length < minLanesCount) {\r\n lanes = lanes.concat(\r\n new Array<LaneData<T, TLaneData>>(minLanesCount - lanes.length)\r\n .fill(null)\r\n .map((_, index) => ({\r\n items: [],\r\n laneKey: index + lanes.length,\r\n data: null,\r\n }))\r\n );\r\n }\r\n const findIndex = (\r\n arr: (LaneData<T, TLaneData> | LaneSourceData<T, TLaneData>)[],\r\n laneKey: string | undefined | number\r\n ): number => {\r\n const unmatchedVal = unmatchedToFront\r\n ? Number.MIN_SAFE_INTEGER\r\n : Number.MAX_SAFE_INTEGER;\r\n if (laneKey === undefined || laneKey === null) {\r\n return unmatchedVal;\r\n }\r\n const index = arr.findIndex((item) => item.laneKey === laneKey);\r\n return index === -1 ? unmatchedVal : index;\r\n };\r\n\r\n const sortArrayByLaneKeys = (\r\n referenceArray: LaneSourceData<T, TLaneData>[],\r\n arrayToSort: LaneData<T, TLaneData>[]\r\n ): LaneData<T, TLaneData>[] => {\r\n return [...arrayToSort].sort((a, b) => {\r\n const indexA = findIndex(referenceArray, a.laneKey);\r\n const indexB = findIndex(referenceArray, b.laneKey);\r\n return indexA - indexB;\r\n });\r\n };\r\n lanes = sortArrayByLaneKeys(lanesSource, lanes);\r\n return lanes;\r\n}\r\n\r\nexport function itemsOverlap<T extends BookingCalendarItemT>(a: T, b: T) {\r\n if (!a?.from || !a?.till || !b?.from || !b?.till) {\r\n return false;\r\n }\r\n if (b.till.isBefore(a.from)) {\r\n return false;\r\n }\r\n if (b.from.isAfter(a.till)) {\r\n return false;\r\n }\r\n return true;\r\n}\r\n\r\nexport const getItemPositionStyle = (marginStart: number, width: number) =>\r\n ({\r\n marginLeft: `${marginStart * 100}%`,\r\n width: `${width * 100}%`,\r\n } as React.CSSProperties);\r\n\r\nexport function calculateItemsDimensions<T extends BookingCalendarItemT>(\r\n items: T[],\r\n from: Moment,\r\n till: Moment\r\n) {\r\n let lastEnd = 0;\r\n const widthMs = till.valueOf() - from.valueOf();\r\n const startMs = from.valueOf();\r\n const endMs = till.valueOf();\r\n return widthMs > 0\r\n ? items?.map((item) => {\r\n const startIsCut = item.from.valueOf() < startMs;\r\n const realStart = (item.from.valueOf() - startMs) / widthMs;\r\n const realFrom = startIsCut ? moment(startMs) : moment(item.from);\r\n const start = startIsCut ? 0 : realStart;\r\n const endIsCut = item.till.valueOf() > endMs;\r\n const realEnd = (item.till.valueOf() - startMs) / widthMs;\r\n const end = endIsCut ? (endMs - startMs) / widthMs : realEnd;\r\n const realTill = endIsCut ? moment(endMs) : moment(item.till);\r\n const marginStart = start - lastEnd;\r\n lastEnd = (item.till.valueOf() - startMs) / widthMs;\r\n return {\r\n item,\r\n start,\r\n realStart,\r\n realFrom,\r\n startIsCut,\r\n width: end - start,\r\n end,\r\n realEnd,\r\n realTill,\r\n endIsCut,\r\n marginStart,\r\n };\r\n })\r\n : [];\r\n}\r\n\r\nexport const generateControlItems = (\r\n from: Moment,\r\n till: Moment,\r\n step: Duration,\r\n startOfStep: Moment\r\n) => {\r\n if (!from || !till || !step) {\r\n return [];\r\n }\r\n let steps = Math.max(\r\n Math.ceil((till.valueOf() - from.valueOf()) / step.asMilliseconds()),\r\n 2\r\n );\r\n let subtract =\r\n (startOfStep.valueOf() - from.valueOf()) % step.asMilliseconds();\r\n if (subtract > 0) {\r\n subtract -= step.asMilliseconds();\r\n }\r\n if (till.valueOf() - from.valueOf() > step.asMilliseconds()) {\r\n steps += 1;\r\n }\r\n return new Array(steps).fill(0).map((_, index) => ({\r\n from: from\r\n .clone()\r\n .add(subtract)\r\n .add(step.asMilliseconds() * index),\r\n till: from\r\n .clone()\r\n .add(subtract)\r\n .add(step.asMilliseconds() * (index + 1)),\r\n }));\r\n};\r\n\r\nexport interface GridItem {\r\n left: number;\r\n date: Moment;\r\n stepProportion: number;\r\n opacity: number;\r\n}\r\n\r\nexport const generateGridItems = (\r\n from: Moment,\r\n till: Moment,\r\n step: Duration,\r\n containerWidthPx: number,\r\n availableSteps: Duration[],\r\n goalGridWidthPx: number,\r\n startOfStep: Moment\r\n): { items: GridItem[]; bestStep: Duration } => {\r\n if (\r\n !from ||\r\n !till ||\r\n !containerWidthPx ||\r\n !availableSteps?.length ||\r\n !goalGridWidthPx ||\r\n !step ||\r\n !startOfStep\r\n ) {\r\n return { bestStep: availableSteps?.[0], items: [] };\r\n }\r\n const stepMs = step.asMilliseconds();\r\n const fromMs = from.valueOf();\r\n const tillMs = till.valueOf();\r\n const timeLengthMs = tillMs - fromMs;\r\n const approximateStepsCount = containerWidthPx / goalGridWidthPx;\r\n const approximateStepMs = timeLengthMs / approximateStepsCount;\r\n const availableStepsDistancesMs = availableSteps.map((a) =>\r\n Math.abs(a.asMilliseconds() - approximateStepMs)\r\n );\r\n const smallestDistance = Math.min(...availableStepsDistancesMs);\r\n const bestStepIndex = availableStepsDistancesMs.findIndex(\r\n (a) => a === smallestDistance\r\n );\r\n const bestStep = availableSteps[bestStepIndex];\r\n const subtract =\r\n (fromMs + from.utcOffset() * 60 * 1000) % bestStep.asMilliseconds();\r\n let startMs = fromMs - subtract;\r\n let steps: Moment[] = [];\r\n while (startMs <= tillMs) {\r\n steps = steps.concat(from.clone().add(startMs - fromMs, 'ms'));\r\n startMs += bestStep.asMilliseconds();\r\n }\r\n return {\r\n items: steps\r\n .filter((a) => a.valueOf() > fromMs && a.valueOf() < tillMs)\r\n .map((date) => {\r\n const stepProportion =\r\n ((date.valueOf() + from.utcOffset() * 60 * 1000) % stepMs) / stepMs;\r\n let numberOfRoots = 0;\r\n let current = stepProportion;\r\n let currentTop = 1;\r\n let tolerance = 0.001;\r\n while (current > tolerance && current < currentTop - tolerance) {\r\n numberOfRoots += 1;\r\n currentTop = 1 / Math.pow(2, numberOfRoots);\r\n if (current > currentTop) {\r\n current -= currentTop;\r\n }\r\n }\r\n return {\r\n left: (date.valueOf() - fromMs) / timeLengthMs,\r\n date,\r\n stepProportion,\r\n opacity: 1 / (numberOfRoots || 1),\r\n };\r\n }),\r\n bestStep,\r\n };\r\n};\r\n"],"mappings":"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"}
|
@@ -1,81 +1,81 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import type { TippyProps } from '@tippy.js/react';
|
3
|
-
import { ThemeContextProps } from '../themeProvider/ThemeContext';
|
4
|
-
export
|
5
|
-
export
|
6
|
-
id?: string;
|
7
|
-
onClick: (e: React.MouseEvent<HTMLElement>) => void;
|
8
|
-
className: string;
|
9
|
-
buttonProps: React.ButtonHTMLAttributes<HTMLButtonElement>;
|
10
|
-
children: React.ReactNode;
|
11
|
-
style: React.CSSProperties;
|
12
|
-
};
|
13
|
-
export
|
14
|
-
id?: string;
|
15
|
-
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
16
|
-
style?: React.CSSProperties;
|
17
|
-
className?: string;
|
18
|
-
disabled?: boolean;
|
19
|
-
type?: ButtonTypes;
|
20
|
-
circular?: boolean;
|
21
|
-
noRipples?: boolean;
|
22
|
-
small?: boolean;
|
23
|
-
icon?: boolean;
|
24
|
-
outlined?: boolean;
|
25
|
-
disableAfterClickMs?: number;
|
26
|
-
disableAfterClick?: boolean;
|
27
|
-
buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;
|
28
|
-
text?: boolean;
|
29
|
-
hero?: boolean;
|
30
|
-
noShadow?: boolean;
|
31
|
-
blank?: boolean;
|
32
|
-
unobtrusive?: boolean;
|
33
|
-
dropdown?: boolean;
|
34
|
-
Component?: React.FC<ButtonComponentProps>;
|
35
|
-
tooltip?: JSX.Element | string;
|
36
|
-
disableTooltip?: boolean;
|
37
|
-
tooltipProps?: TippyProps;
|
38
|
-
preventsDefault?: boolean;
|
39
|
-
} & ThemeContextProps>;
|
40
|
-
export interface ButtonState {
|
41
|
-
disabledAfterClick: boolean;
|
42
|
-
}
|
43
|
-
export declare class Button extends React.PureComponent<ButtonProps, ButtonState> {
|
44
|
-
static defaultProps: ButtonProps;
|
45
|
-
private preventMultipleClickTimer;
|
46
|
-
constructor(props: ButtonProps);
|
47
|
-
render(): JSX.Element;
|
48
|
-
componentWillUnmount(): void;
|
49
|
-
private handleClick;
|
50
|
-
private getButtonClassName;
|
51
|
-
}
|
52
|
-
declare const _default: React.ForwardRefExoticComponent<{
|
53
|
-
id?: string;
|
54
|
-
onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
55
|
-
style?: React.CSSProperties;
|
56
|
-
className?: string;
|
57
|
-
disabled?: boolean;
|
58
|
-
type?: ButtonTypes;
|
59
|
-
circular?: boolean;
|
60
|
-
noRipples?: boolean;
|
61
|
-
small?: boolean;
|
62
|
-
icon?: boolean;
|
63
|
-
outlined?: boolean;
|
64
|
-
disableAfterClickMs?: number;
|
65
|
-
disableAfterClick?: boolean;
|
66
|
-
buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;
|
67
|
-
text?: boolean;
|
68
|
-
hero?: boolean;
|
69
|
-
noShadow?: boolean;
|
70
|
-
blank?: boolean;
|
71
|
-
unobtrusive?: boolean;
|
72
|
-
dropdown?: boolean;
|
73
|
-
Component?: React.FC<ButtonComponentProps>;
|
74
|
-
tooltip?: string | JSX.Element;
|
75
|
-
disableTooltip?: boolean;
|
76
|
-
tooltipProps?: TippyProps;
|
77
|
-
preventsDefault?: boolean;
|
78
|
-
} & ThemeContextProps & {
|
79
|
-
children?: React.ReactNode;
|
80
|
-
} & React.RefAttributes<Button>>;
|
81
|
-
export default _default;
|
1
|
+
import * as React from 'react';
|
2
|
+
import type { TippyProps } from '@tippy.js/react';
|
3
|
+
import { ThemeContextProps } from '../themeProvider/ThemeContext';
|
4
|
+
export type ButtonTypes = 'primary' | 'success' | 'error' | 'warning' | 'info' | 'gray' | 'white' | 'none';
|
5
|
+
export type ButtonComponentProps = {
|
6
|
+
id?: string;
|
7
|
+
onClick: (e: React.MouseEvent<HTMLElement>) => void;
|
8
|
+
className: string;
|
9
|
+
buttonProps: React.ButtonHTMLAttributes<HTMLButtonElement>;
|
10
|
+
children: React.ReactNode;
|
11
|
+
style: React.CSSProperties;
|
12
|
+
};
|
13
|
+
export type ButtonProps = React.PropsWithChildren<{
|
14
|
+
id?: string;
|
15
|
+
onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
|
16
|
+
style?: React.CSSProperties;
|
17
|
+
className?: string;
|
18
|
+
disabled?: boolean;
|
19
|
+
type?: ButtonTypes;
|
20
|
+
circular?: boolean;
|
21
|
+
noRipples?: boolean;
|
22
|
+
small?: boolean;
|
23
|
+
icon?: boolean;
|
24
|
+
outlined?: boolean;
|
25
|
+
disableAfterClickMs?: number;
|
26
|
+
disableAfterClick?: boolean;
|
27
|
+
buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;
|
28
|
+
text?: boolean;
|
29
|
+
hero?: boolean;
|
30
|
+
noShadow?: boolean;
|
31
|
+
blank?: boolean;
|
32
|
+
unobtrusive?: boolean;
|
33
|
+
dropdown?: boolean;
|
34
|
+
Component?: React.FC<ButtonComponentProps>;
|
35
|
+
tooltip?: JSX.Element | string;
|
36
|
+
disableTooltip?: boolean;
|
37
|
+
tooltipProps?: TippyProps;
|
38
|
+
preventsDefault?: boolean;
|
39
|
+
} & ThemeContextProps>;
|
40
|
+
export interface ButtonState {
|
41
|
+
disabledAfterClick: boolean;
|
42
|
+
}
|
43
|
+
export declare class Button extends React.PureComponent<ButtonProps, ButtonState> {
|
44
|
+
static defaultProps: ButtonProps;
|
45
|
+
private preventMultipleClickTimer;
|
46
|
+
constructor(props: ButtonProps);
|
47
|
+
render(): React.JSX.Element;
|
48
|
+
componentWillUnmount(): void;
|
49
|
+
private handleClick;
|
50
|
+
private getButtonClassName;
|
51
|
+
}
|
52
|
+
declare const _default: React.ForwardRefExoticComponent<{
|
53
|
+
id?: string;
|
54
|
+
onClick?: (e: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
|
55
|
+
style?: React.CSSProperties;
|
56
|
+
className?: string;
|
57
|
+
disabled?: boolean;
|
58
|
+
type?: ButtonTypes;
|
59
|
+
circular?: boolean;
|
60
|
+
noRipples?: boolean;
|
61
|
+
small?: boolean;
|
62
|
+
icon?: boolean;
|
63
|
+
outlined?: boolean;
|
64
|
+
disableAfterClickMs?: number;
|
65
|
+
disableAfterClick?: boolean;
|
66
|
+
buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;
|
67
|
+
text?: boolean;
|
68
|
+
hero?: boolean;
|
69
|
+
noShadow?: boolean;
|
70
|
+
blank?: boolean;
|
71
|
+
unobtrusive?: boolean;
|
72
|
+
dropdown?: boolean;
|
73
|
+
Component?: React.FC<ButtonComponentProps>;
|
74
|
+
tooltip?: string | JSX.Element;
|
75
|
+
disableTooltip?: boolean;
|
76
|
+
tooltipProps?: TippyProps;
|
77
|
+
preventsDefault?: boolean;
|
78
|
+
} & ThemeContextProps & {
|
79
|
+
children?: React.ReactNode;
|
80
|
+
} & React.RefAttributes<Button>>;
|
81
|
+
export default _default;
|
@@ -32,6 +32,7 @@ const DefaultButtonComponent = /*#__PURE__*/React.forwardRef((props, ref) => /*#
|
|
32
32
|
class Button extends React.PureComponent {
|
33
33
|
constructor(props) {
|
34
34
|
super(props);
|
35
|
+
this.preventMultipleClickTimer = void 0;
|
35
36
|
this.handleClick = this.handleClick.bind(this);
|
36
37
|
this.state = {
|
37
38
|
disabledAfterClick: false
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Button.js","names":["React","_interopRequireWildcard","require","_withThemeContext","_reactInk","_interopRequireDefault","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_extends","assign","bind","DefaultButtonComponent","forwardRef","props","ref","createElement","buttonProps","id","className","onClick","style","children","Button","PureComponent","constructor","handleClick","state","disabledAfterClick","render","_this$props$buttonPro","disabled","disableAfterClick","btnClassName","classNames","getButtonClassName","circular","small","noShadow","blank","unobtrusive","outlined","dropdown","icon","hero","text","button","Component","tabIndex","noRipples","Ink","tooltip","disableTooltip","_document","Tippy","content","placement","animation","arrow","duration","delay","distance","interactive","appendTo","document","body","tooltipProps","componentWillUnmount","clearTimeout","preventMultipleClickTimer","e","preventsDefault","preventDefault","disableAfterClickMs","setState","setTimeout","type","exports","defaultProps","role","_default","withThemeContext"],"sources":["../../../src/lib/components/button/Button.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport type { TippyProps } from '@tippy.js/react';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { ThemeContextProps } from '../themeProvider/ThemeContext';\r\nimport Ink from 'react-ink';\r\nimport classNames from 'classnames';\r\n\r\n// Misc\r\n\r\nexport type ButtonTypes =\r\n | 'primary'\r\n | 'success'\r\n | 'error'\r\n | 'warning'\r\n | 'info'\r\n | 'gray'\r\n | 'white'\r\n | 'none';\r\n\r\nexport type ButtonComponentProps = {\r\n id?: string;\r\n onClick: (e: React.MouseEvent<HTMLElement>) => void;\r\n className: string;\r\n buttonProps: React.ButtonHTMLAttributes<HTMLButtonElement>;\r\n children: React.ReactNode;\r\n style: React.CSSProperties;\r\n};\r\n\r\nexport type ButtonProps = React.PropsWithChildren<\r\n {\r\n id?: string;\r\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\r\n style?: React.CSSProperties;\r\n className?: string;\r\n disabled?: boolean;\r\n type?: ButtonTypes;\r\n circular?: boolean;\r\n noRipples?: boolean;\r\n small?: boolean;\r\n icon?: boolean;\r\n outlined?: boolean;\r\n disableAfterClickMs?: number;\r\n disableAfterClick?: boolean;\r\n buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;\r\n text?: boolean;\r\n hero?: boolean;\r\n noShadow?: boolean;\r\n blank?: boolean;\r\n unobtrusive?: boolean;\r\n dropdown?: boolean;\r\n Component?: React.FC<ButtonComponentProps>;\r\n tooltip?: JSX.Element | string;\r\n disableTooltip?: boolean;\r\n tooltipProps?: TippyProps;\r\n preventsDefault?: boolean;\r\n } & ThemeContextProps\r\n>;\r\n\r\nexport interface ButtonState {\r\n disabledAfterClick: boolean;\r\n}\r\n\r\nconst DefaultButtonComponent: React.FC<ButtonComponentProps> = React.forwardRef(\r\n (props, ref) => (\r\n <button\r\n ref={ref}\r\n // tslint:disable-next-line:no-any\r\n {...((props.buttonProps ? props.buttonProps : {}) as any)}\r\n {...(props.id && { id: props.id })}\r\n className={props.className}\r\n onClick={props.onClick}\r\n style={props.style}\r\n >\r\n {props.children}\r\n </button>\r\n )\r\n);\r\n\r\nexport class Button extends React.PureComponent<ButtonProps, ButtonState> {\r\n public static defaultProps: ButtonProps = {\r\n disabled: false,\r\n className: '',\r\n onClick: () => null,\r\n circular: false,\r\n noRipples: false,\r\n small: false,\r\n disableAfterClickMs: 100,\r\n disableAfterClick: false,\r\n Component: DefaultButtonComponent,\r\n buttonProps: {\r\n type: 'button',\r\n role: 'button',\r\n tabIndex: 0,\r\n },\r\n type: 'none',\r\n preventsDefault: true,\r\n };\r\n\r\n private preventMultipleClickTimer: number;\r\n\r\n constructor(props: ButtonProps) {\r\n super(props);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.state = {\r\n disabledAfterClick: false,\r\n };\r\n }\r\n\r\n public render() {\r\n const disabled =\r\n this.props.disabled ||\r\n (this.props.disableAfterClick && this.state.disabledAfterClick);\r\n let btnClassName = classNames([\r\n 'guestbell-btn',\r\n this.getButtonClassName(),\r\n this.props.className,\r\n { ['guestbell-btn--disabled']: disabled },\r\n { ['guestbell-btn--circular']: this.props.circular },\r\n { ['guestbell-btn--small']: this.props.small },\r\n { ['guestbell-btn--no-shadow']: this.props.noShadow },\r\n { ['guestbell-btn--blank']: this.props.blank },\r\n { ['guestbell-btn--unobtrusive']: this.props.unobtrusive },\r\n { ['guestbell-btn--outlined']: this.props.outlined },\r\n { ['guestbell-btn--dropdown']: this.props.dropdown },\r\n { ['guestbell-btn--icon']: this.props.icon },\r\n { ['guestbell-btn--hero']: this.props.hero },\r\n { ['guestbell-btn--text']: this.props.text },\r\n ]);\r\n const button = (\r\n <this.props.Component\r\n {...(this.props.id && { id: this.props.id })}\r\n onClick={this.handleClick}\r\n buttonProps={{\r\n ...this.props.buttonProps,\r\n tabIndex: !disabled ? this.props.buttonProps?.tabIndex : -1,\r\n }}\r\n className={btnClassName}\r\n style={this.props.style}\r\n >\r\n {!this.props.noRipples && !disabled && Ink && <Ink />}\r\n {this.props.children}\r\n </this.props.Component>\r\n );\r\n if (this.props.tooltip && !this.props.disableTooltip) {\r\n const Tippy = require('@tippy.js/react').default;\r\n return (\r\n <Tippy\r\n content={this.props.tooltip}\r\n placement=\"bottom\"\r\n animation=\"scale-subtle\"\r\n arrow={false}\r\n duration={200}\r\n delay={[75, 0]}\r\n distance={8}\r\n interactive={true}\r\n appendTo={document?.body}\r\n {...this.props.tooltipProps}\r\n >\r\n {button}\r\n </Tippy>\r\n );\r\n }\r\n return button;\r\n }\r\n\r\n public componentWillUnmount() {\r\n clearTimeout(this.preventMultipleClickTimer);\r\n }\r\n\r\n private handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n if (this.props.preventsDefault) {\r\n e.preventDefault();\r\n }\r\n if (!this.state.disabledAfterClick && !this.props.disabled) {\r\n this.props.onClick && this.props.onClick(e);\r\n if (this.props.disableAfterClickMs !== 0) {\r\n this.setState({ disabledAfterClick: true });\r\n this.preventMultipleClickTimer = (setTimeout(() => {\r\n this.setState({ disabledAfterClick: false });\r\n }, this.props.disableAfterClickMs) as unknown) as number;\r\n }\r\n }\r\n }\r\n\r\n private getButtonClassName() {\r\n return this.props.type && 'guestbell-btn-' + this.props.type;\r\n }\r\n}\r\nexport default withThemeContext<ButtonProps, InstanceType<typeof Button>>(\r\n Button,\r\n 'button'\r\n);\r\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"Button.js","names":["React","_interopRequireWildcard","require","_withThemeContext","_reactInk","_interopRequireDefault","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_extends","assign","bind","DefaultButtonComponent","forwardRef","props","ref","createElement","buttonProps","id","className","onClick","style","children","Button","PureComponent","constructor","preventMultipleClickTimer","handleClick","state","disabledAfterClick","render","_this$props$buttonPro","disabled","disableAfterClick","btnClassName","classNames","getButtonClassName","circular","small","noShadow","blank","unobtrusive","outlined","dropdown","icon","hero","text","button","Component","tabIndex","noRipples","Ink","tooltip","disableTooltip","_document","Tippy","content","placement","animation","arrow","duration","delay","distance","interactive","appendTo","document","body","tooltipProps","componentWillUnmount","clearTimeout","e","preventsDefault","preventDefault","disableAfterClickMs","setState","setTimeout","type","exports","defaultProps","role","_default","withThemeContext"],"sources":["../../../src/lib/components/button/Button.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport type { TippyProps } from '@tippy.js/react';\r\nimport { withThemeContext } from '../themeProvider/withThemeContext';\r\nimport { ThemeContextProps } from '../themeProvider/ThemeContext';\r\nimport Ink from 'react-ink';\r\nimport classNames from 'classnames';\r\n\r\n// Misc\r\n\r\nexport type ButtonTypes =\r\n | 'primary'\r\n | 'success'\r\n | 'error'\r\n | 'warning'\r\n | 'info'\r\n | 'gray'\r\n | 'white'\r\n | 'none';\r\n\r\nexport type ButtonComponentProps = {\r\n id?: string;\r\n onClick: (e: React.MouseEvent<HTMLElement>) => void;\r\n className: string;\r\n buttonProps: React.ButtonHTMLAttributes<HTMLButtonElement>;\r\n children: React.ReactNode;\r\n style: React.CSSProperties;\r\n};\r\n\r\nexport type ButtonProps = React.PropsWithChildren<\r\n {\r\n id?: string;\r\n onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;\r\n style?: React.CSSProperties;\r\n className?: string;\r\n disabled?: boolean;\r\n type?: ButtonTypes;\r\n circular?: boolean;\r\n noRipples?: boolean;\r\n small?: boolean;\r\n icon?: boolean;\r\n outlined?: boolean;\r\n disableAfterClickMs?: number;\r\n disableAfterClick?: boolean;\r\n buttonProps?: React.ButtonHTMLAttributes<HTMLButtonElement>;\r\n text?: boolean;\r\n hero?: boolean;\r\n noShadow?: boolean;\r\n blank?: boolean;\r\n unobtrusive?: boolean;\r\n dropdown?: boolean;\r\n Component?: React.FC<ButtonComponentProps>;\r\n tooltip?: JSX.Element | string;\r\n disableTooltip?: boolean;\r\n tooltipProps?: TippyProps;\r\n preventsDefault?: boolean;\r\n } & ThemeContextProps\r\n>;\r\n\r\nexport interface ButtonState {\r\n disabledAfterClick: boolean;\r\n}\r\n\r\nconst DefaultButtonComponent: React.FC<ButtonComponentProps> = React.forwardRef(\r\n (props, ref) => (\r\n <button\r\n ref={ref}\r\n // tslint:disable-next-line:no-any\r\n {...((props.buttonProps ? props.buttonProps : {}) as any)}\r\n {...(props.id && { id: props.id })}\r\n className={props.className}\r\n onClick={props.onClick}\r\n style={props.style}\r\n >\r\n {props.children}\r\n </button>\r\n )\r\n);\r\n\r\nexport class Button extends React.PureComponent<ButtonProps, ButtonState> {\r\n public static defaultProps: ButtonProps = {\r\n disabled: false,\r\n className: '',\r\n onClick: () => null,\r\n circular: false,\r\n noRipples: false,\r\n small: false,\r\n disableAfterClickMs: 100,\r\n disableAfterClick: false,\r\n Component: DefaultButtonComponent,\r\n buttonProps: {\r\n type: 'button',\r\n role: 'button',\r\n tabIndex: 0,\r\n },\r\n type: 'none',\r\n preventsDefault: true,\r\n };\r\n\r\n private preventMultipleClickTimer: number;\r\n\r\n constructor(props: ButtonProps) {\r\n super(props);\r\n this.handleClick = this.handleClick.bind(this);\r\n this.state = {\r\n disabledAfterClick: false,\r\n };\r\n }\r\n\r\n public render() {\r\n const disabled =\r\n this.props.disabled ||\r\n (this.props.disableAfterClick && this.state.disabledAfterClick);\r\n let btnClassName = classNames([\r\n 'guestbell-btn',\r\n this.getButtonClassName(),\r\n this.props.className,\r\n { ['guestbell-btn--disabled']: disabled },\r\n { ['guestbell-btn--circular']: this.props.circular },\r\n { ['guestbell-btn--small']: this.props.small },\r\n { ['guestbell-btn--no-shadow']: this.props.noShadow },\r\n { ['guestbell-btn--blank']: this.props.blank },\r\n { ['guestbell-btn--unobtrusive']: this.props.unobtrusive },\r\n { ['guestbell-btn--outlined']: this.props.outlined },\r\n { ['guestbell-btn--dropdown']: this.props.dropdown },\r\n { ['guestbell-btn--icon']: this.props.icon },\r\n { ['guestbell-btn--hero']: this.props.hero },\r\n { ['guestbell-btn--text']: this.props.text },\r\n ]);\r\n const button = (\r\n <this.props.Component\r\n {...(this.props.id && { id: this.props.id })}\r\n onClick={this.handleClick}\r\n buttonProps={{\r\n ...this.props.buttonProps,\r\n tabIndex: !disabled ? this.props.buttonProps?.tabIndex : -1,\r\n }}\r\n className={btnClassName}\r\n style={this.props.style}\r\n >\r\n {!this.props.noRipples && !disabled && Ink && <Ink />}\r\n {this.props.children}\r\n </this.props.Component>\r\n );\r\n if (this.props.tooltip && !this.props.disableTooltip) {\r\n const Tippy = require('@tippy.js/react').default;\r\n return (\r\n <Tippy\r\n content={this.props.tooltip}\r\n placement=\"bottom\"\r\n animation=\"scale-subtle\"\r\n arrow={false}\r\n duration={200}\r\n delay={[75, 0]}\r\n distance={8}\r\n interactive={true}\r\n appendTo={document?.body}\r\n {...this.props.tooltipProps}\r\n >\r\n {button}\r\n </Tippy>\r\n );\r\n }\r\n return button;\r\n }\r\n\r\n public componentWillUnmount() {\r\n clearTimeout(this.preventMultipleClickTimer);\r\n }\r\n\r\n private handleClick(e: React.MouseEvent<HTMLButtonElement>) {\r\n if (this.props.preventsDefault) {\r\n e.preventDefault();\r\n }\r\n if (!this.state.disabledAfterClick && !this.props.disabled) {\r\n this.props.onClick && this.props.onClick(e);\r\n if (this.props.disableAfterClickMs !== 0) {\r\n this.setState({ disabledAfterClick: true });\r\n this.preventMultipleClickTimer = setTimeout(() => {\r\n this.setState({ disabledAfterClick: false });\r\n }, this.props.disableAfterClickMs) as unknown as number;\r\n }\r\n }\r\n }\r\n\r\n private getButtonClassName() {\r\n return this.props.type && 'guestbell-btn-' + this.props.type;\r\n }\r\n}\r\nexport default withThemeContext<ButtonProps, InstanceType<typeof Button>>(\r\n Button,\r\n 'button'\r\n);\r\n"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './Button';
|
2
|
-
export { default } from './Button';
|
1
|
+
export * from './Button';
|
2
|
+
export { default } from './Button';
|
@@ -1,23 +1,23 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import { BaseInputProps, BaseInput, BaseInputState } from '../base/input/BaseInput';
|
3
|
-
export interface CheckboxProps extends BaseInputProps<HTMLInputElement> {
|
4
|
-
onChecked?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
5
|
-
onChange?: never;
|
6
|
-
type?: string;
|
7
|
-
checked?: boolean;
|
8
|
-
supportsIndeterminate?: boolean;
|
9
|
-
}
|
10
|
-
export interface CheckboxState extends BaseInputState {
|
11
|
-
checked: boolean;
|
12
|
-
}
|
13
|
-
export declare class CheckboxRaw extends BaseInput<CheckboxProps, CheckboxState, HTMLInputElement> {
|
14
|
-
static defaultProps: CheckboxProps;
|
15
|
-
constructor(props: CheckboxProps);
|
16
|
-
componentDidMount(): void;
|
17
|
-
componentDidUpdate(oldProps: CheckboxProps): void;
|
18
|
-
render(): JSX.Element;
|
19
|
-
private handleChecked;
|
20
|
-
protected handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>): void;
|
21
|
-
}
|
22
|
-
export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<CheckboxRaw>>;
|
23
|
-
export default Checkbox;
|
1
|
+
import * as React from 'react';
|
2
|
+
import { BaseInputProps, BaseInput, BaseInputState } from '../base/input/BaseInput';
|
3
|
+
export interface CheckboxProps extends BaseInputProps<HTMLInputElement> {
|
4
|
+
onChecked?: (e: React.ChangeEvent<HTMLInputElement>) => void;
|
5
|
+
onChange?: never;
|
6
|
+
type?: string;
|
7
|
+
checked?: boolean;
|
8
|
+
supportsIndeterminate?: boolean;
|
9
|
+
}
|
10
|
+
export interface CheckboxState extends BaseInputState {
|
11
|
+
checked: boolean;
|
12
|
+
}
|
13
|
+
export declare class CheckboxRaw extends BaseInput<CheckboxProps, CheckboxState, HTMLInputElement> {
|
14
|
+
static defaultProps: CheckboxProps;
|
15
|
+
constructor(props: CheckboxProps);
|
16
|
+
componentDidMount(): void;
|
17
|
+
componentDidUpdate(oldProps: CheckboxProps): void;
|
18
|
+
render(): React.JSX.Element;
|
19
|
+
private handleChecked;
|
20
|
+
protected handleKeyDown(e: React.KeyboardEvent<HTMLInputElement>): void;
|
21
|
+
}
|
22
|
+
export declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.RefAttributes<CheckboxRaw>>;
|
23
|
+
export default Checkbox;
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export * from './Checkbox';
|
2
|
-
export { default } from './Checkbox';
|
1
|
+
export * from './Checkbox';
|
2
|
+
export { default } from './Checkbox';
|