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
package/.env.bat
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
SET CONVENTIONAL_GITHUB_RELEASER_TOKEN=47a3416a6cbdd1f5862a09d0ff98704df80f43c5
|
package/.eslintrc.json
CHANGED
@@ -1,14 +1,21 @@
|
|
1
|
-
{
|
2
|
-
"extends":
|
3
|
-
|
4
|
-
"
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
1
|
+
{
|
2
|
+
"extends": [
|
3
|
+
"next/core-web-vitals",
|
4
|
+
"plugin:storybook/recommended",
|
5
|
+
"plugin:storybook/recommended",
|
6
|
+
"plugin:storybook/recommended"
|
7
|
+
],
|
8
|
+
"rules": {
|
9
|
+
"import/no-anonymous-default-export": "off"
|
10
|
+
},
|
11
|
+
"overrides": [
|
12
|
+
{
|
13
|
+
"files": [
|
14
|
+
"src/**/*.stories.tsx"
|
15
|
+
],
|
16
|
+
"rules": {
|
17
|
+
"import/no-anonymous-default-export": "off"
|
18
|
+
}
|
19
|
+
}
|
20
|
+
]
|
21
|
+
}
|
@@ -1,99 +1,99 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import type { TippyProps } from '@tippy.js/react';
|
3
|
-
import * as Validators from '../../../validators';
|
4
|
-
import { FormContextProps } from '../../form/FormContext';
|
5
|
-
import { Theme } from '../../../types/Theme';
|
6
|
-
export interface ComponentApi {
|
7
|
-
focus: () => void;
|
8
|
-
touch: () => void;
|
9
|
-
unTouch: () => void;
|
10
|
-
enableComponent: () => void;
|
11
|
-
disableComponent: () => void;
|
12
|
-
scrollTo: () => void;
|
13
|
-
}
|
14
|
-
export
|
15
|
-
export
|
16
|
-
export declare const defaultBaseTranslations: {
|
17
|
-
required: string;
|
18
|
-
};
|
19
|
-
export
|
20
|
-
export
|
21
|
-
theme?: Theme;
|
22
|
-
id?: string;
|
23
|
-
disabled?: boolean;
|
24
|
-
className?: string;
|
25
|
-
label?: string | JSX.Element;
|
26
|
-
tooltip?: string | JSX.Element;
|
27
|
-
tooltipProps?: TippyProps;
|
28
|
-
value?: string;
|
29
|
-
onChange?: (e: React.ChangeEvent<HTMLType>, isValid: boolean) => void;
|
30
|
-
required?: boolean;
|
31
|
-
customValidators?: Validators.IBaseValidator[];
|
32
|
-
validators?: Validators.ValidatorTypes[];
|
33
|
-
noValidate?: boolean;
|
34
|
-
validationName?: string;
|
35
|
-
touchOn?: 'focus' | 'blur';
|
36
|
-
ignoreContext?: boolean;
|
37
|
-
onTheFlightValidate?: (value: string) => boolean;
|
38
|
-
onFocus?: () => void;
|
39
|
-
onBlur?: () => void;
|
40
|
-
onSuggestionsClosed?: () => void;
|
41
|
-
onSuggestionsOpened?: () => void;
|
42
|
-
onClick?: (e: React.MouseEvent) => void;
|
43
|
-
title?: string | JSX.Element;
|
44
|
-
onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
|
45
|
-
errors?: ValidationError[];
|
46
|
-
onErrorsChanged?: (errors: ValidationError[]) => void;
|
47
|
-
showValidation?: boolean;
|
48
|
-
reRendersWhenContextChanges?: boolean;
|
49
|
-
defaultTouched?: boolean;
|
50
|
-
translations?: TranslationsT;
|
51
|
-
inputGroupClassName?: string;
|
52
|
-
infoText?: string | JSX.Element;
|
53
|
-
} & FormContextProps;
|
54
|
-
export interface BaseInputState {
|
55
|
-
isValid: boolean;
|
56
|
-
value: string;
|
57
|
-
errors: ValidationError[];
|
58
|
-
validator: undefined;
|
59
|
-
touched: boolean;
|
60
|
-
disabled: boolean;
|
61
|
-
focused: boolean;
|
62
|
-
handleValueChangeEnabled: boolean;
|
63
|
-
}
|
64
|
-
export declare class BaseInput<P extends BaseInputProps<HTMLType, TranslationsT>, S extends BaseInputState, HTMLType extends AllowedHtmlElements, TranslationsT extends BaseTranslations = BaseTranslations> extends React.Component<P, S> implements ComponentApi {
|
65
|
-
static defaultProps: BaseInputProps<never>;
|
66
|
-
componentId: string;
|
67
|
-
inputRef: React.RefObject<HTMLType>;
|
68
|
-
protected containerRef: React.RefObject<HTMLDivElement>;
|
69
|
-
private lastValidation;
|
70
|
-
private lastInfoText;
|
71
|
-
constructor(props: P, subscribe?: boolean);
|
72
|
-
componentWillUnmount(): void;
|
73
|
-
componentDidUpdate(oldProps: P, oldState: S): void;
|
74
|
-
scrollTo(): void;
|
75
|
-
touch(): void;
|
76
|
-
unTouch(): void;
|
77
|
-
disableComponent(): void;
|
78
|
-
enableComponent(): void;
|
79
|
-
focus(): void;
|
80
|
-
shouldComponentUpdate(nextProps: P, nextState: S): boolean;
|
81
|
-
protected getValidationClass(extraErrors?: ValidationError[]): "validation__success" | "validation__error";
|
82
|
-
protected renderDefaultValidation(extraErrors?: ValidationError[]): JSX.Element;
|
83
|
-
protected handleChange(event: React.ChangeEvent<HTMLType>, isValid?: boolean, errors?: ValidationError[]): void;
|
84
|
-
protected subscribeSelf(props: P): void;
|
85
|
-
protected handleBlur(): void;
|
86
|
-
protected handleFocus(): void;
|
87
|
-
protected getDisabled(): S["disabled"] | P["disabled"];
|
88
|
-
protected setValid(): void;
|
89
|
-
protected setInvalid(errors?: ValidationError[]): void;
|
90
|
-
protected renderLabel(touchable?: boolean): JSX.Element;
|
91
|
-
protected renderTitle(): JSX.Element | P["title"];
|
92
|
-
protected handleValueChange(value: string, isValid?: boolean, errors?: ValidationError[], props?: P, initializing?: boolean): {
|
93
|
-
isValid: boolean;
|
94
|
-
errors: ValidationError[];
|
95
|
-
};
|
96
|
-
protected renderTooltip(content?: JSX.Element): JSX.Element;
|
97
|
-
protected getTranslations(_defaultTranslations: BaseTranslations): TranslationsT;
|
98
|
-
}
|
99
|
-
export default BaseInput;
|
1
|
+
import * as React from 'react';
|
2
|
+
import type { TippyProps } from '@tippy.js/react';
|
3
|
+
import * as Validators from '../../../validators';
|
4
|
+
import { FormContextProps } from '../../form/FormContext';
|
5
|
+
import { Theme } from '../../../types/Theme';
|
6
|
+
export interface ComponentApi {
|
7
|
+
focus: () => void;
|
8
|
+
touch: () => void;
|
9
|
+
unTouch: () => void;
|
10
|
+
enableComponent: () => void;
|
11
|
+
disableComponent: () => void;
|
12
|
+
scrollTo: () => void;
|
13
|
+
}
|
14
|
+
export type ValidationError = string | JSX.Element;
|
15
|
+
export type AllowedHtmlElements = HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement;
|
16
|
+
export declare const defaultBaseTranslations: {
|
17
|
+
required: string;
|
18
|
+
};
|
19
|
+
export type BaseTranslations = Partial<typeof defaultBaseTranslations>;
|
20
|
+
export type BaseInputProps<HTMLType extends AllowedHtmlElements, TranslationsT extends BaseTranslations = BaseTranslations> = {
|
21
|
+
theme?: Theme;
|
22
|
+
id?: string;
|
23
|
+
disabled?: boolean;
|
24
|
+
className?: string;
|
25
|
+
label?: string | JSX.Element;
|
26
|
+
tooltip?: string | JSX.Element;
|
27
|
+
tooltipProps?: TippyProps;
|
28
|
+
value?: string;
|
29
|
+
onChange?: (e: React.ChangeEvent<HTMLType>, isValid: boolean) => void;
|
30
|
+
required?: boolean;
|
31
|
+
customValidators?: Validators.IBaseValidator[];
|
32
|
+
validators?: Validators.ValidatorTypes[];
|
33
|
+
noValidate?: boolean;
|
34
|
+
validationName?: string;
|
35
|
+
touchOn?: 'focus' | 'blur';
|
36
|
+
ignoreContext?: boolean;
|
37
|
+
onTheFlightValidate?: (value: string) => boolean;
|
38
|
+
onFocus?: () => void;
|
39
|
+
onBlur?: () => void;
|
40
|
+
onSuggestionsClosed?: () => void;
|
41
|
+
onSuggestionsOpened?: () => void;
|
42
|
+
onClick?: (e: React.MouseEvent) => void;
|
43
|
+
title?: string | JSX.Element;
|
44
|
+
onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;
|
45
|
+
errors?: ValidationError[];
|
46
|
+
onErrorsChanged?: (errors: ValidationError[]) => void;
|
47
|
+
showValidation?: boolean;
|
48
|
+
reRendersWhenContextChanges?: boolean;
|
49
|
+
defaultTouched?: boolean;
|
50
|
+
translations?: TranslationsT;
|
51
|
+
inputGroupClassName?: string;
|
52
|
+
infoText?: string | JSX.Element;
|
53
|
+
} & FormContextProps;
|
54
|
+
export interface BaseInputState {
|
55
|
+
isValid: boolean;
|
56
|
+
value: string;
|
57
|
+
errors: ValidationError[];
|
58
|
+
validator: undefined;
|
59
|
+
touched: boolean;
|
60
|
+
disabled: boolean;
|
61
|
+
focused: boolean;
|
62
|
+
handleValueChangeEnabled: boolean;
|
63
|
+
}
|
64
|
+
export declare class BaseInput<P extends BaseInputProps<HTMLType, TranslationsT>, S extends BaseInputState, HTMLType extends AllowedHtmlElements, TranslationsT extends BaseTranslations = BaseTranslations> extends React.Component<P, S> implements ComponentApi {
|
65
|
+
static defaultProps: BaseInputProps<never>;
|
66
|
+
componentId: string;
|
67
|
+
inputRef: React.RefObject<HTMLType>;
|
68
|
+
protected containerRef: React.RefObject<HTMLDivElement>;
|
69
|
+
private lastValidation;
|
70
|
+
private lastInfoText;
|
71
|
+
constructor(props: P, subscribe?: boolean);
|
72
|
+
componentWillUnmount(): void;
|
73
|
+
componentDidUpdate(oldProps: P, oldState: S): void;
|
74
|
+
scrollTo(): void;
|
75
|
+
touch(): void;
|
76
|
+
unTouch(): void;
|
77
|
+
disableComponent(): void;
|
78
|
+
enableComponent(): void;
|
79
|
+
focus(): void;
|
80
|
+
shouldComponentUpdate(nextProps: P, nextState: S): boolean;
|
81
|
+
protected getValidationClass(extraErrors?: ValidationError[]): "validation__success" | "validation__error";
|
82
|
+
protected renderDefaultValidation(extraErrors?: ValidationError[]): React.JSX.Element;
|
83
|
+
protected handleChange(event: React.ChangeEvent<HTMLType>, isValid?: boolean, errors?: ValidationError[]): void;
|
84
|
+
protected subscribeSelf(props: P): void;
|
85
|
+
protected handleBlur(): void;
|
86
|
+
protected handleFocus(): void;
|
87
|
+
protected getDisabled(): S["disabled"] | P["disabled"];
|
88
|
+
protected setValid(): void;
|
89
|
+
protected setInvalid(errors?: ValidationError[]): void;
|
90
|
+
protected renderLabel(touchable?: boolean): React.JSX.Element;
|
91
|
+
protected renderTitle(): React.JSX.Element | P["title"];
|
92
|
+
protected handleValueChange(value: string, isValid?: boolean, errors?: ValidationError[], props?: P, initializing?: boolean): {
|
93
|
+
isValid: boolean;
|
94
|
+
errors: ValidationError[];
|
95
|
+
};
|
96
|
+
protected renderTooltip(content?: JSX.Element): JSX.Element;
|
97
|
+
protected getTranslations(_defaultTranslations: BaseTranslations): TranslationsT;
|
98
|
+
}
|
99
|
+
export default BaseInput;
|
@@ -29,6 +29,10 @@ class BaseInput extends React.Component {
|
|
29
29
|
let subscribe = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
30
30
|
super(props);
|
31
31
|
this.componentId = (0, _Guid.default)();
|
32
|
+
this.inputRef = void 0;
|
33
|
+
this.containerRef = void 0;
|
34
|
+
this.lastValidation = void 0;
|
35
|
+
this.lastInfoText = void 0;
|
32
36
|
const res = this.handleValueChange(this.props.value, true, [], props, true);
|
33
37
|
this.state = {
|
34
38
|
isValid: res.isValid,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"BaseInput.js","names":["React","_interopRequireWildcard","require","ReactDOM","Validators","_Guid","_interopRequireDefault","_ShallowEqual","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_extends","assign","bind","defaultBaseTranslations","required","exports","BaseInput","Component","constructor","props","subscribe","componentId","guid","handleValueChange","state","isValid","errors","touched","defaultTouched","disabled","focused","handleValueChangeEnabled","containerRef","createRef","inputRef","handleChange","handleBlur","handleFocus","setValid","focus","scrollTo","setInvalid","disableComponent","enableComponent","touch","unTouch","subscribeSelf","componentWillUnmount","ignoreContext","formContext","unSubscribe","componentDidUpdate","oldProps","oldState","validators","customValidators","domNode","findDOMNode","current","scrollIntoView","behavior","setState","_this$props$onFocus","_this$props","onFocus","shouldComponentUpdate","nextProps","nextState","shouldUpdate","shallowEqual","reRendersWhenContextChanges","getValidationClass","extraErrors","showValidation","renderDefaultValidation","finalErrors","concat","lastValidation","map","item","index","createElement","className","infoText","lastInfoText","Fragment","event","onTheFlightValidate","onChange","componentApi","validation","name","validationName","title","label","_this$props$onBlur","_this$props2","onBlur","touchOn","_this$props$onFocus2","_this$props3","getDisabled","updateCallback","renderLabel","touchable","tooltip","classNames","renderTooltip","renderTitle","initializing","translations","getTranslations","validator","validInner","EmailValidator","Validate","error","NumberValidator","LatitudeValidator","LongitudeValidator","UrlValidator","Error","customValidator","onErrorsChanged","content","_document","Tippy","placement","animation","arrow","duration","delay","distance","interactive","appendTo","document","body","trigger","tooltipProps","_defaultTranslations","defaultProps","_default"],"sources":["../../../../src/lib/components/base/input/BaseInput.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport type { TippyProps } from '@tippy.js/react';\r\n\r\n// Misc\r\nimport * as Validators from '../../../validators';\r\nimport guid from '../../utils/Guid';\r\nimport { FormContextProps } from '../../form/FormContext';\r\nimport { shallowEqual } from '../../utils/ShallowEqual';\r\nimport { Theme } from '../../../types/Theme';\r\nimport classNames from 'classnames';\r\n\r\nexport interface ComponentApi {\r\n focus: () => void;\r\n touch: () => void;\r\n unTouch: () => void;\r\n enableComponent: () => void;\r\n disableComponent: () => void;\r\n scrollTo: () => void;\r\n}\r\n\r\nexport type ValidationError = string | JSX.Element;\r\n\r\nexport type AllowedHtmlElements =\r\n | HTMLInputElement\r\n | HTMLSelectElement\r\n | HTMLTextAreaElement;\r\n\r\nexport const defaultBaseTranslations = {\r\n required: 'Required',\r\n};\r\n\r\nexport type BaseTranslations = Partial<typeof defaultBaseTranslations>;\r\n\r\nexport type BaseInputProps<\r\n HTMLType extends AllowedHtmlElements,\r\n TranslationsT extends BaseTranslations = BaseTranslations\r\n> = {\r\n theme?: Theme;\r\n id?: string;\r\n disabled?: boolean;\r\n className?: string;\r\n label?: string | JSX.Element;\r\n tooltip?: string | JSX.Element;\r\n tooltipProps?: TippyProps;\r\n value?: string;\r\n onChange?: (e: React.ChangeEvent<HTMLType>, isValid: boolean) => void;\r\n required?: boolean;\r\n customValidators?: Validators.IBaseValidator[];\r\n validators?: Validators.ValidatorTypes[];\r\n noValidate?: boolean;\r\n validationName?: string;\r\n touchOn?: 'focus' | 'blur';\r\n ignoreContext?: boolean;\r\n onTheFlightValidate?: (value: string) => boolean;\r\n onFocus?: () => void;\r\n onBlur?: () => void;\r\n onSuggestionsClosed?: () => void;\r\n onSuggestionsOpened?: () => void;\r\n onClick?: (e: React.MouseEvent) => void;\r\n title?: string | JSX.Element;\r\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\r\n errors?: ValidationError[];\r\n onErrorsChanged?: (errors: ValidationError[]) => void;\r\n showValidation?: boolean;\r\n reRendersWhenContextChanges?: boolean;\r\n defaultTouched?: boolean;\r\n translations?: TranslationsT;\r\n inputGroupClassName?: string;\r\n infoText?: string | JSX.Element;\r\n} & FormContextProps;\r\n\r\nexport interface BaseInputState {\r\n isValid: boolean;\r\n value: string;\r\n errors: ValidationError[];\r\n validator: undefined;\r\n touched: boolean;\r\n disabled: boolean;\r\n focused: boolean;\r\n handleValueChangeEnabled: boolean;\r\n}\r\n\r\nexport class BaseInput<\r\n P extends BaseInputProps<HTMLType, TranslationsT>,\r\n S extends BaseInputState,\r\n HTMLType extends AllowedHtmlElements,\r\n TranslationsT extends BaseTranslations = BaseTranslations\r\n >\r\n extends React.Component<P, S>\r\n implements ComponentApi\r\n{\r\n public static defaultProps: BaseInputProps<never> = {\r\n className: undefined,\r\n required: false,\r\n label: undefined,\r\n disabled: false,\r\n touchOn: 'focus',\r\n ignoreContext: false,\r\n showValidation: true,\r\n formContext: undefined,\r\n reRendersWhenContextChanges: false,\r\n };\r\n\r\n public componentId = guid();\r\n\r\n public inputRef: React.RefObject<HTMLType>;\r\n\r\n protected containerRef: React.RefObject<HTMLDivElement>;\r\n\r\n private lastValidation: JSX.Element[];\r\n\r\n private lastInfoText: JSX.Element[];\r\n\r\n constructor(props: P, subscribe: boolean = true) {\r\n super(props);\r\n const res = this.handleValueChange(this.props.value, true, [], props, true);\r\n this.state = {\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n value: props.value ? props.value : '',\r\n touched: props.defaultTouched,\r\n disabled: false,\r\n focused: false,\r\n handleValueChangeEnabled: true,\r\n } as S;\r\n this.containerRef = React.createRef<HTMLDivElement>();\r\n this.inputRef = React.createRef<HTMLType>();\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this);\r\n this.handleFocus = this.handleFocus.bind(this);\r\n this.setValid = this.setValid.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.scrollTo = this.scrollTo.bind(this);\r\n this.setInvalid = this.setInvalid.bind(this);\r\n this.disableComponent = this.disableComponent.bind(this);\r\n this.enableComponent = this.enableComponent.bind(this);\r\n this.touch = this.touch.bind(this);\r\n this.unTouch = this.unTouch.bind(this);\r\n if (subscribe) {\r\n this.subscribeSelf(props);\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.unSubscribe(this.componentId);\r\n }\r\n }\r\n\r\n public componentDidUpdate(oldProps: P, oldState: S) {\r\n if (\r\n oldProps.value !== this.props.value ||\r\n oldProps.validators !== this.props.validators ||\r\n oldProps.customValidators !== this.props.customValidators ||\r\n oldProps.required !== this.props.required\r\n ) {\r\n this.handleValueChange(this.props.value, true, [], this.props);\r\n }\r\n }\r\n\r\n public scrollTo() {\r\n const domNode: HTMLDivElement = ReactDOM.findDOMNode(\r\n (this.containerRef as React.RefObject<HTMLDivElement>).current\r\n ) as HTMLDivElement;\r\n domNode && domNode.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n\r\n public touch() {\r\n this.setState({ touched: true });\r\n this.handleValueChange(this.state.value || '');\r\n }\r\n\r\n public unTouch() {\r\n this.setState({ touched: false });\r\n }\r\n\r\n public disableComponent() {\r\n this.setState({ disabled: true });\r\n }\r\n\r\n public enableComponent() {\r\n this.setState({ disabled: false });\r\n }\r\n\r\n public focus() {\r\n if (this.inputRef) {\r\n const domNode: HTMLElement = ReactDOM.findDOMNode(\r\n (this.inputRef as React.RefObject<HTMLElement>).current\r\n ) as HTMLElement;\r\n domNode && domNode.focus();\r\n }\r\n this.props.onFocus?.();\r\n this.touch();\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: P, nextState: S) {\r\n let shouldUpdate =\r\n !shallowEqual(\r\n this.props,\r\n nextProps,\r\n !this.props.reRendersWhenContextChanges ? 'formContext' : undefined\r\n ) || !shallowEqual(this.state, nextState);\r\n return shouldUpdate;\r\n }\r\n\r\n protected getValidationClass(extraErrors?: ValidationError[]) {\r\n if (!this.props.showValidation || !this.state.touched) {\r\n return 'validation__success';\r\n }\r\n return this.state.isValid &&\r\n (!this.props.errors || this.props.errors.length === 0) &&\r\n (!this.state.errors || this.state.errors.length === 0) &&\r\n (!extraErrors || extraErrors.length === 0)\r\n ? 'validation__success'\r\n : 'validation__error';\r\n }\r\n\r\n protected renderDefaultValidation(extraErrors?: ValidationError[]) {\r\n if (this.props.disabled) {\r\n return null;\r\n }\r\n if (!this.props.showValidation) {\r\n return null;\r\n }\r\n let finalErrors: ValidationError[] = (this.state.errors ?? [])\r\n .concat(extraErrors ?? [])\r\n .concat(this.props.errors ?? [])\r\n .filter((i) => i);\r\n if (finalErrors.length > 0) {\r\n this.lastValidation = finalErrors.map((item, index) => (\r\n <li key={index} className=\"validation__item\">\r\n {item}\r\n </li>\r\n ));\r\n }\r\n if (this.props.infoText && this.state.isValid) {\r\n this.lastInfoText = [\r\n <li key={1} className=\"info-text__item\">\r\n {this.props.infoText}\r\n </li>,\r\n ];\r\n }\r\n return (\r\n <>\r\n <div className=\"validation__container\">\r\n <ul className=\"validation__ul\">{this.lastValidation}</ul>\r\n </div>\r\n <div className=\"info-text__container\">\r\n <ul className=\"info-text__ul\">{this.lastInfoText}</ul>\r\n </div>\r\n </>\r\n );\r\n }\r\n\r\n protected handleChange(\r\n event: React.ChangeEvent<HTMLType>,\r\n isValid?: boolean,\r\n errors: ValidationError[] = []\r\n ) {\r\n let value = event.target.value;\r\n if (\r\n !this.props.onTheFlightValidate ||\r\n (this.props.onTheFlightValidate && this.props.onTheFlightValidate(value))\r\n ) {\r\n const res = this.handleValueChange(value, isValid, errors);\r\n if (this.props.onChange) {\r\n this.props.onChange(event, res.isValid);\r\n }\r\n }\r\n }\r\n\r\n protected subscribeSelf(props: P) {\r\n if (!props.ignoreContext && props.formContext) {\r\n props.formContext.subscribe(this.componentId, {\r\n componentApi: {\r\n disableComponent: this.disableComponent,\r\n enableComponent: this.enableComponent,\r\n touch: this.touch,\r\n unTouch: this.unTouch,\r\n scrollTo: this.scrollTo,\r\n focus: this.focus,\r\n },\r\n validation: {\r\n isValid: this.state.isValid,\r\n errors: this.state.errors,\r\n name: this.props.validationName\r\n ? this.props.validationName\r\n : this.props.title\r\n ? this.props.title\r\n : this.props.label,\r\n },\r\n });\r\n }\r\n }\r\n\r\n protected handleBlur() {\r\n this.props.onBlur?.();\r\n let state = { focused: false };\r\n if (!this.state.touched && this.props.touchOn === 'blur') {\r\n state = Object.assign(state, { touched: true });\r\n this.handleValueChange(this.state.value);\r\n }\r\n this.setState(state);\r\n }\r\n\r\n protected handleFocus() {\r\n if (!this.props.disabled) {\r\n this.props.onFocus?.();\r\n let state = { focused: true };\r\n if (!this.state.touched && this.props.touchOn === 'focus') {\r\n state = Object.assign(state, { touched: true });\r\n this.handleValueChange(this.state.value);\r\n }\r\n this.setState(state);\r\n }\r\n }\r\n\r\n protected getDisabled() {\r\n return this.state.disabled ? this.state.disabled : this.props.disabled;\r\n }\r\n\r\n protected setValid() {\r\n this.setState(\r\n () => ({ isValid: true, errors: [] }),\r\n () => {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: true,\r\n errors: [],\r\n },\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n protected setInvalid(errors: ValidationError[] = []) {\r\n this.setState(\r\n () => ({ isValid: false, errors }),\r\n () => {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: false,\r\n errors: errors,\r\n },\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n protected renderLabel(touchable: boolean = false) {\r\n if (!this.props.tooltip || (this.props.tooltip && this.props.title)) {\r\n return (\r\n <span\r\n className={classNames('w-100', { 'label--no-touch': !touchable })}\r\n >\r\n {this.props.label}\r\n </span>\r\n );\r\n }\r\n return (\r\n <React.Fragment>\r\n <span className={touchable ? '' : 'label--no-touch'}>\r\n {this.props.label}\r\n </span>\r\n {this.renderTooltip()}\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n protected renderTitle() {\r\n if (!this.props.tooltip) {\r\n return this.props.title;\r\n }\r\n return (\r\n <React.Fragment>\r\n {this.props.title}\r\n {this.renderTooltip()}\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n protected handleValueChange(\r\n value: string,\r\n isValid: boolean = true,\r\n errors: ValidationError[] = [],\r\n props: P = this.props,\r\n initializing: boolean = false\r\n ): {\r\n isValid: boolean;\r\n errors: ValidationError[];\r\n } {\r\n if (!initializing && !this.state.handleValueChangeEnabled) {\r\n return { isValid, errors: [] };\r\n }\r\n if (props.required && !value) {\r\n const translations = this.getTranslations(defaultBaseTranslations);\r\n errors.push(translations.required);\r\n isValid = false;\r\n } else {\r\n if (!props.required && !value) {\r\n isValid = true;\r\n } else {\r\n if (props.validators) {\r\n isValid = true;\r\n props.validators.forEach((validator) => {\r\n let validInner = false;\r\n switch (validator) {\r\n case 'email':\r\n validInner = new Validators.EmailValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'number':\r\n validInner = new Validators.NumberValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'latitude':\r\n validInner = new Validators.LatitudeValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'longitude':\r\n validInner = new Validators.LongitudeValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'url':\r\n validInner = new Validators.UrlValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n default:\r\n throw new Error(`Validator ${validator} not implemented`);\r\n }\r\n if (isValid && !validInner) {\r\n isValid = validInner;\r\n }\r\n });\r\n }\r\n if (props.customValidators) {\r\n props.customValidators.forEach((customValidator) => {\r\n let validInner = false;\r\n validInner = customValidator.Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n if (isValid && !validInner) {\r\n isValid = validInner;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n props.onErrorsChanged && props.onErrorsChanged(errors);\r\n if (!initializing) {\r\n this.setState({ value, isValid, errors });\r\n if (!props.ignoreContext) {\r\n props.formContext &&\r\n props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: isValid,\r\n errors: errors,\r\n },\r\n });\r\n }\r\n }\r\n return { isValid, errors };\r\n }\r\n\r\n protected renderTooltip(\r\n content: JSX.Element = <span className=\"label--help-icon\">?</span>\r\n ) {\r\n if (this.props.tooltip) {\r\n const Tippy = require('@tippy.js/react').default;\r\n return (\r\n <Tippy\r\n content={this.props.tooltip}\r\n placement=\"bottom\"\r\n animation=\"scale-subtle\"\r\n arrow={false}\r\n duration={200}\r\n delay={[75, 0]}\r\n distance={8}\r\n interactive={true}\r\n appendTo={document?.body}\r\n trigger=\"mouseenter focus\"\r\n {...this.props.tooltipProps}\r\n >\r\n {content}\r\n </Tippy>\r\n );\r\n }\r\n return content;\r\n }\r\n\r\n protected getTranslations(\r\n _defaultTranslations: BaseTranslations\r\n ): TranslationsT {\r\n return {\r\n ..._defaultTranslations,\r\n ...this.props.translations,\r\n };\r\n }\r\n}\r\nexport default BaseInput;\r\n"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"BaseInput.js","names":["React","_interopRequireWildcard","require","ReactDOM","Validators","_Guid","_interopRequireDefault","_ShallowEqual","_classnames","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_extends","assign","bind","defaultBaseTranslations","required","exports","BaseInput","Component","constructor","props","subscribe","componentId","guid","inputRef","containerRef","lastValidation","lastInfoText","handleValueChange","state","isValid","errors","touched","defaultTouched","disabled","focused","handleValueChangeEnabled","createRef","handleChange","handleBlur","handleFocus","setValid","focus","scrollTo","setInvalid","disableComponent","enableComponent","touch","unTouch","subscribeSelf","componentWillUnmount","ignoreContext","formContext","unSubscribe","componentDidUpdate","oldProps","oldState","validators","customValidators","domNode","findDOMNode","current","scrollIntoView","behavior","setState","_this$props$onFocus","_this$props","onFocus","shouldComponentUpdate","nextProps","nextState","shouldUpdate","shallowEqual","reRendersWhenContextChanges","getValidationClass","extraErrors","showValidation","renderDefaultValidation","finalErrors","concat","map","item","index","createElement","className","infoText","Fragment","event","onTheFlightValidate","onChange","componentApi","validation","name","validationName","title","label","_this$props$onBlur","_this$props2","onBlur","touchOn","_this$props$onFocus2","_this$props3","getDisabled","updateCallback","renderLabel","touchable","tooltip","classNames","renderTooltip","renderTitle","initializing","translations","getTranslations","validator","validInner","EmailValidator","Validate","error","NumberValidator","LatitudeValidator","LongitudeValidator","UrlValidator","Error","customValidator","onErrorsChanged","content","_document","Tippy","placement","animation","arrow","duration","delay","distance","interactive","appendTo","document","body","trigger","tooltipProps","_defaultTranslations","defaultProps","_default"],"sources":["../../../../src/lib/components/base/input/BaseInput.tsx"],"sourcesContent":["// Libs\r\nimport * as React from 'react';\r\nimport * as ReactDOM from 'react-dom';\r\nimport type { TippyProps } from '@tippy.js/react';\r\n\r\n// Misc\r\nimport * as Validators from '../../../validators';\r\nimport guid from '../../utils/Guid';\r\nimport { FormContextProps } from '../../form/FormContext';\r\nimport { shallowEqual } from '../../utils/ShallowEqual';\r\nimport { Theme } from '../../../types/Theme';\r\nimport classNames from 'classnames';\r\n\r\nexport interface ComponentApi {\r\n focus: () => void;\r\n touch: () => void;\r\n unTouch: () => void;\r\n enableComponent: () => void;\r\n disableComponent: () => void;\r\n scrollTo: () => void;\r\n}\r\n\r\nexport type ValidationError = string | JSX.Element;\r\n\r\nexport type AllowedHtmlElements =\r\n | HTMLInputElement\r\n | HTMLSelectElement\r\n | HTMLTextAreaElement;\r\n\r\nexport const defaultBaseTranslations = {\r\n required: 'Required',\r\n};\r\n\r\nexport type BaseTranslations = Partial<typeof defaultBaseTranslations>;\r\n\r\nexport type BaseInputProps<\r\n HTMLType extends AllowedHtmlElements,\r\n TranslationsT extends BaseTranslations = BaseTranslations\r\n> = {\r\n theme?: Theme;\r\n id?: string;\r\n disabled?: boolean;\r\n className?: string;\r\n label?: string | JSX.Element;\r\n tooltip?: string | JSX.Element;\r\n tooltipProps?: TippyProps;\r\n value?: string;\r\n onChange?: (e: React.ChangeEvent<HTMLType>, isValid: boolean) => void;\r\n required?: boolean;\r\n customValidators?: Validators.IBaseValidator[];\r\n validators?: Validators.ValidatorTypes[];\r\n noValidate?: boolean;\r\n validationName?: string;\r\n touchOn?: 'focus' | 'blur';\r\n ignoreContext?: boolean;\r\n onTheFlightValidate?: (value: string) => boolean;\r\n onFocus?: () => void;\r\n onBlur?: () => void;\r\n onSuggestionsClosed?: () => void;\r\n onSuggestionsOpened?: () => void;\r\n onClick?: (e: React.MouseEvent) => void;\r\n title?: string | JSX.Element;\r\n onKeyDown?: (e: React.KeyboardEvent<HTMLElement>) => void;\r\n errors?: ValidationError[];\r\n onErrorsChanged?: (errors: ValidationError[]) => void;\r\n showValidation?: boolean;\r\n reRendersWhenContextChanges?: boolean;\r\n defaultTouched?: boolean;\r\n translations?: TranslationsT;\r\n inputGroupClassName?: string;\r\n infoText?: string | JSX.Element;\r\n} & FormContextProps;\r\n\r\nexport interface BaseInputState {\r\n isValid: boolean;\r\n value: string;\r\n errors: ValidationError[];\r\n validator: undefined;\r\n touched: boolean;\r\n disabled: boolean;\r\n focused: boolean;\r\n handleValueChangeEnabled: boolean;\r\n}\r\n\r\nexport class BaseInput<\r\n P extends BaseInputProps<HTMLType, TranslationsT>,\r\n S extends BaseInputState,\r\n HTMLType extends AllowedHtmlElements,\r\n TranslationsT extends BaseTranslations = BaseTranslations\r\n >\r\n extends React.Component<P, S>\r\n implements ComponentApi\r\n{\r\n public static defaultProps: BaseInputProps<never> = {\r\n className: undefined,\r\n required: false,\r\n label: undefined,\r\n disabled: false,\r\n touchOn: 'focus',\r\n ignoreContext: false,\r\n showValidation: true,\r\n formContext: undefined,\r\n reRendersWhenContextChanges: false,\r\n };\r\n\r\n public componentId = guid();\r\n\r\n public inputRef: React.RefObject<HTMLType>;\r\n\r\n protected containerRef: React.RefObject<HTMLDivElement>;\r\n\r\n private lastValidation: JSX.Element[];\r\n\r\n private lastInfoText: JSX.Element[];\r\n\r\n constructor(props: P, subscribe: boolean = true) {\r\n super(props);\r\n const res = this.handleValueChange(this.props.value, true, [], props, true);\r\n this.state = {\r\n isValid: res.isValid,\r\n errors: res.errors,\r\n value: props.value ? props.value : '',\r\n touched: props.defaultTouched,\r\n disabled: false,\r\n focused: false,\r\n handleValueChangeEnabled: true,\r\n } as S;\r\n this.containerRef = React.createRef<HTMLDivElement>();\r\n this.inputRef = React.createRef<HTMLType>();\r\n this.handleChange = this.handleChange.bind(this);\r\n this.handleBlur = this.handleBlur.bind(this);\r\n this.handleFocus = this.handleFocus.bind(this);\r\n this.setValid = this.setValid.bind(this);\r\n this.focus = this.focus.bind(this);\r\n this.scrollTo = this.scrollTo.bind(this);\r\n this.setInvalid = this.setInvalid.bind(this);\r\n this.disableComponent = this.disableComponent.bind(this);\r\n this.enableComponent = this.enableComponent.bind(this);\r\n this.touch = this.touch.bind(this);\r\n this.unTouch = this.unTouch.bind(this);\r\n if (subscribe) {\r\n this.subscribeSelf(props);\r\n }\r\n }\r\n\r\n public componentWillUnmount() {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.unSubscribe(this.componentId);\r\n }\r\n }\r\n\r\n public componentDidUpdate(oldProps: P, oldState: S) {\r\n if (\r\n oldProps.value !== this.props.value ||\r\n oldProps.validators !== this.props.validators ||\r\n oldProps.customValidators !== this.props.customValidators ||\r\n oldProps.required !== this.props.required\r\n ) {\r\n this.handleValueChange(this.props.value, true, [], this.props);\r\n }\r\n }\r\n\r\n public scrollTo() {\r\n const domNode: HTMLDivElement = ReactDOM.findDOMNode(\r\n (this.containerRef as React.RefObject<HTMLDivElement>).current\r\n ) as HTMLDivElement;\r\n domNode && domNode.scrollIntoView({ behavior: 'smooth' });\r\n }\r\n\r\n public touch() {\r\n this.setState({ touched: true });\r\n this.handleValueChange(this.state.value || '');\r\n }\r\n\r\n public unTouch() {\r\n this.setState({ touched: false });\r\n }\r\n\r\n public disableComponent() {\r\n this.setState({ disabled: true });\r\n }\r\n\r\n public enableComponent() {\r\n this.setState({ disabled: false });\r\n }\r\n\r\n public focus() {\r\n if (this.inputRef) {\r\n const domNode: HTMLElement = ReactDOM.findDOMNode(\r\n (this.inputRef as React.RefObject<HTMLElement>).current\r\n ) as HTMLElement;\r\n domNode && domNode.focus();\r\n }\r\n this.props.onFocus?.();\r\n this.touch();\r\n }\r\n\r\n public shouldComponentUpdate(nextProps: P, nextState: S) {\r\n let shouldUpdate =\r\n !shallowEqual(\r\n this.props,\r\n nextProps,\r\n !this.props.reRendersWhenContextChanges ? 'formContext' : undefined\r\n ) || !shallowEqual(this.state, nextState);\r\n return shouldUpdate;\r\n }\r\n\r\n protected getValidationClass(extraErrors?: ValidationError[]) {\r\n if (!this.props.showValidation || !this.state.touched) {\r\n return 'validation__success';\r\n }\r\n return this.state.isValid &&\r\n (!this.props.errors || this.props.errors.length === 0) &&\r\n (!this.state.errors || this.state.errors.length === 0) &&\r\n (!extraErrors || extraErrors.length === 0)\r\n ? 'validation__success'\r\n : 'validation__error';\r\n }\r\n\r\n protected renderDefaultValidation(extraErrors?: ValidationError[]) {\r\n if (this.props.disabled) {\r\n return null;\r\n }\r\n if (!this.props.showValidation) {\r\n return null;\r\n }\r\n let finalErrors: ValidationError[] = (this.state.errors ?? [])\r\n .concat(extraErrors ?? [])\r\n .concat(this.props.errors ?? [])\r\n .filter((i) => i);\r\n if (finalErrors.length > 0) {\r\n this.lastValidation = finalErrors.map((item, index) => (\r\n <li key={index} className=\"validation__item\">\r\n {item}\r\n </li>\r\n ));\r\n }\r\n if (this.props.infoText && this.state.isValid) {\r\n this.lastInfoText = [\r\n <li key={1} className=\"info-text__item\">\r\n {this.props.infoText}\r\n </li>,\r\n ];\r\n }\r\n return (\r\n <>\r\n <div className=\"validation__container\">\r\n <ul className=\"validation__ul\">{this.lastValidation}</ul>\r\n </div>\r\n <div className=\"info-text__container\">\r\n <ul className=\"info-text__ul\">{this.lastInfoText}</ul>\r\n </div>\r\n </>\r\n );\r\n }\r\n\r\n protected handleChange(\r\n event: React.ChangeEvent<HTMLType>,\r\n isValid?: boolean,\r\n errors: ValidationError[] = []\r\n ) {\r\n let value = event.target.value;\r\n if (\r\n !this.props.onTheFlightValidate ||\r\n (this.props.onTheFlightValidate && this.props.onTheFlightValidate(value))\r\n ) {\r\n const res = this.handleValueChange(value, isValid, errors);\r\n if (this.props.onChange) {\r\n this.props.onChange(event, res.isValid);\r\n }\r\n }\r\n }\r\n\r\n protected subscribeSelf(props: P) {\r\n if (!props.ignoreContext && props.formContext) {\r\n props.formContext.subscribe(this.componentId, {\r\n componentApi: {\r\n disableComponent: this.disableComponent,\r\n enableComponent: this.enableComponent,\r\n touch: this.touch,\r\n unTouch: this.unTouch,\r\n scrollTo: this.scrollTo,\r\n focus: this.focus,\r\n },\r\n validation: {\r\n isValid: this.state.isValid,\r\n errors: this.state.errors,\r\n name: this.props.validationName\r\n ? this.props.validationName\r\n : this.props.title\r\n ? this.props.title\r\n : this.props.label,\r\n },\r\n });\r\n }\r\n }\r\n\r\n protected handleBlur() {\r\n this.props.onBlur?.();\r\n let state = { focused: false };\r\n if (!this.state.touched && this.props.touchOn === 'blur') {\r\n state = Object.assign(state, { touched: true });\r\n this.handleValueChange(this.state.value);\r\n }\r\n this.setState(state);\r\n }\r\n\r\n protected handleFocus() {\r\n if (!this.props.disabled) {\r\n this.props.onFocus?.();\r\n let state = { focused: true };\r\n if (!this.state.touched && this.props.touchOn === 'focus') {\r\n state = Object.assign(state, { touched: true });\r\n this.handleValueChange(this.state.value);\r\n }\r\n this.setState(state);\r\n }\r\n }\r\n\r\n protected getDisabled() {\r\n return this.state.disabled ? this.state.disabled : this.props.disabled;\r\n }\r\n\r\n protected setValid() {\r\n this.setState(\r\n () => ({ isValid: true, errors: [] }),\r\n () => {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: true,\r\n errors: [],\r\n },\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n protected setInvalid(errors: ValidationError[] = []) {\r\n this.setState(\r\n () => ({ isValid: false, errors }),\r\n () => {\r\n if (!this.props.ignoreContext) {\r\n this.props.formContext &&\r\n this.props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: false,\r\n errors: errors,\r\n },\r\n });\r\n }\r\n }\r\n );\r\n }\r\n\r\n protected renderLabel(touchable: boolean = false) {\r\n if (!this.props.tooltip || (this.props.tooltip && this.props.title)) {\r\n return (\r\n <span\r\n className={classNames('w-100', { 'label--no-touch': !touchable })}\r\n >\r\n {this.props.label}\r\n </span>\r\n );\r\n }\r\n return (\r\n <React.Fragment>\r\n <span className={touchable ? '' : 'label--no-touch'}>\r\n {this.props.label}\r\n </span>\r\n {this.renderTooltip()}\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n protected renderTitle() {\r\n if (!this.props.tooltip) {\r\n return this.props.title;\r\n }\r\n return (\r\n <React.Fragment>\r\n {this.props.title}\r\n {this.renderTooltip()}\r\n </React.Fragment>\r\n );\r\n }\r\n\r\n protected handleValueChange(\r\n value: string,\r\n isValid: boolean = true,\r\n errors: ValidationError[] = [],\r\n props: P = this.props,\r\n initializing: boolean = false\r\n ): {\r\n isValid: boolean;\r\n errors: ValidationError[];\r\n } {\r\n if (!initializing && !this.state.handleValueChangeEnabled) {\r\n return { isValid, errors: [] };\r\n }\r\n if (props.required && !value) {\r\n const translations = this.getTranslations(defaultBaseTranslations);\r\n errors.push(translations.required);\r\n isValid = false;\r\n } else {\r\n if (!props.required && !value) {\r\n isValid = true;\r\n } else {\r\n if (props.validators) {\r\n isValid = true;\r\n props.validators.forEach((validator) => {\r\n let validInner = false;\r\n switch (validator) {\r\n case 'email':\r\n validInner = new Validators.EmailValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'number':\r\n validInner = new Validators.NumberValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'latitude':\r\n validInner = new Validators.LatitudeValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'longitude':\r\n validInner = new Validators.LongitudeValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n case 'url':\r\n validInner = new Validators.UrlValidator().Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n break;\r\n default:\r\n throw new Error(`Validator ${validator} not implemented`);\r\n }\r\n if (isValid && !validInner) {\r\n isValid = validInner;\r\n }\r\n });\r\n }\r\n if (props.customValidators) {\r\n props.customValidators.forEach((customValidator) => {\r\n let validInner = false;\r\n validInner = customValidator.Validate(\r\n value,\r\n props.required,\r\n (error) => errors.push(error)\r\n );\r\n if (isValid && !validInner) {\r\n isValid = validInner;\r\n }\r\n });\r\n }\r\n }\r\n }\r\n props.onErrorsChanged && props.onErrorsChanged(errors);\r\n if (!initializing) {\r\n this.setState({ value, isValid, errors });\r\n if (!props.ignoreContext) {\r\n props.formContext &&\r\n props.formContext.updateCallback(this.componentId, {\r\n validation: {\r\n isValid: isValid,\r\n errors: errors,\r\n },\r\n });\r\n }\r\n }\r\n return { isValid, errors };\r\n }\r\n\r\n protected renderTooltip(\r\n content: JSX.Element = <span className=\"label--help-icon\">?</span>\r\n ) {\r\n if (this.props.tooltip) {\r\n const Tippy = require('@tippy.js/react').default;\r\n return (\r\n <Tippy\r\n content={this.props.tooltip}\r\n placement=\"bottom\"\r\n animation=\"scale-subtle\"\r\n arrow={false}\r\n duration={200}\r\n delay={[75, 0]}\r\n distance={8}\r\n interactive={true}\r\n appendTo={document?.body}\r\n trigger=\"mouseenter focus\"\r\n {...this.props.tooltipProps}\r\n >\r\n {content}\r\n </Tippy>\r\n );\r\n }\r\n return content;\r\n }\r\n\r\n protected getTranslations(\r\n _defaultTranslations: BaseTranslations\r\n ): TranslationsT {\r\n return {\r\n ..._defaultTranslations,\r\n ...this.props.translations,\r\n };\r\n }\r\n}\r\nexport default BaseInput;\r\n"],"mappings":";;;;;;AACA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAF,uBAAA,CAAAC,OAAA;AAIA,IAAAE,UAAA,GAAAH,uBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA,IAAAK,aAAA,GAAAL,OAAA;AAEA,IAAAM,WAAA,GAAAF,sBAAA,CAAAJ,OAAA;AAAoC,SAAAI,uBAAAG,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,SAAAZ,wBAAAQ,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,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,IAAAwB,eAAA,CAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAM,gBAAAxC,GAAA,EAAAgB,GAAA,EAAA2B,KAAA,IAAA3B,GAAA,GAAA4B,cAAA,CAAA5B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA2B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAA9C,GAAA,CAAAgB,GAAA,IAAA2B,KAAA,WAAA3C,GAAA;AAAA,SAAA4C,eAAAG,GAAA,QAAA/B,GAAA,GAAAgC,YAAA,CAAAD,GAAA,2BAAA/B,GAAA,gBAAAA,GAAA,GAAAiC,MAAA,CAAAjC,GAAA;AAAA,SAAAgC,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAjC,IAAA,CAAA+B,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAAA,SAAAS,SAAA,IAAAA,QAAA,GAAA9C,MAAA,CAAA+C,MAAA,GAAA/C,MAAA,CAAA+C,MAAA,CAAAC,IAAA,eAAA3B,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,GAAAF,SAAA,CAAAD,CAAA,YAAAnB,GAAA,IAAAsB,MAAA,QAAAzB,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAmB,MAAA,EAAAtB,GAAA,KAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,gBAAAkB,MAAA,YAAAyB,QAAA,CAAA3B,KAAA,OAAAI,SAAA,KAXnC;AAKD;AAwBO,MAAM0B,uBAAuB,GAAG;EACrCC,QAAQ,EAAE;AACZ,CAAC;AAACC,OAAA,CAAAF,uBAAA,GAAAA,uBAAA;AAqDK,MAAMG,SAAS,SAMZ1E,KAAK,CAAC2E,SAAS,CAEzB;EAuBEC,WAAWA,CAACC,KAAQ,EAA6B;IAAA,IAA3BC,SAAkB,GAAAjC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,IAAI;IAC7C,KAAK,CAACgC,KAAK,CAAC;IAAC,KAXRE,WAAW,GAAG,IAAAC,aAAI,EAAC,CAAC;IAAA,KAEpBC,QAAQ;IAAA,KAELC,YAAY;IAAA,KAEdC,cAAc;IAAA,KAEdC,YAAY;IAIlB,MAAMnB,GAAG,GAAG,IAAI,CAACoB,iBAAiB,CAAC,IAAI,CAACR,KAAK,CAACzB,KAAK,EAAE,IAAI,EAAE,EAAE,EAAEyB,KAAK,EAAE,IAAI,CAAC;IAC3E,IAAI,CAACS,KAAK,GAAG;MACXC,OAAO,EAAEtB,GAAG,CAACsB,OAAO;MACpBC,MAAM,EAAEvB,GAAG,CAACuB,MAAM;MAClBpC,KAAK,EAAEyB,KAAK,CAACzB,KAAK,GAAGyB,KAAK,CAACzB,KAAK,GAAG,EAAE;MACrCqC,OAAO,EAAEZ,KAAK,CAACa,cAAc;MAC7BC,QAAQ,EAAE,KAAK;MACfC,OAAO,EAAE,KAAK;MACdC,wBAAwB,EAAE;IAC5B,CAAM;IACN,IAAI,CAACX,YAAY,gBAAGlF,KAAK,CAAC8F,SAAS,CAAiB,CAAC;IACrD,IAAI,CAACb,QAAQ,gBAAGjF,KAAK,CAAC8F,SAAS,CAAW,CAAC;IAC3C,IAAI,CAACC,YAAY,GAAG,IAAI,CAACA,YAAY,CAACzB,IAAI,CAAC,IAAI,CAAC;IAChD,IAAI,CAAC0B,UAAU,GAAG,IAAI,CAACA,UAAU,CAAC1B,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAAC2B,WAAW,GAAG,IAAI,CAACA,WAAW,CAAC3B,IAAI,CAAC,IAAI,CAAC;IAC9C,IAAI,CAAC4B,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAAC5B,IAAI,CAAC,IAAI,CAAC;IACxC,IAAI,CAAC6B,KAAK,GAAG,IAAI,CAACA,KAAK,CAAC7B,IAAI,CAAC,IAAI,CAAC;IAClC,IAAI,CAAC8B,QAAQ,GAAG,IAAI,CAACA,QAAQ,CAAC9B,IAAI,CAAC,IAAI,CAAC;IACxC,IAAI,CAAC+B,UAAU,GAAG,IAAI,CAACA,UAAU,CAAC/B,IAAI,CAAC,IAAI,CAAC;IAC5C,IAAI,CAACgC,gBAAgB,GAAG,IAAI,CAACA,gBAAgB,CAAChC,IAAI,CAAC,IAAI,CAAC;IACxD,IAAI,CAACiC,eAAe,GAAG,IAAI,CAACA,eAAe,CAACjC,IAAI,CAAC,IAAI,CAAC;IACtD,IAAI,CAACkC,KAAK,GAAG,IAAI,CAACA,KAAK,CAAClC,IAAI,CAAC,IAAI,CAAC;IAClC,IAAI,CAACmC,OAAO,GAAG,IAAI,CAACA,OAAO,CAACnC,IAAI,CAAC,IAAI,CAAC;IACtC,IAAIQ,SAAS,EAAE;MACb,IAAI,CAAC4B,aAAa,CAAC7B,KAAK,CAAC;IAC3B;EACF;EAEO8B,oBAAoBA,CAAA,EAAG;IAC5B,IAAI,CAAC,IAAI,CAAC9B,KAAK,CAAC+B,aAAa,EAAE;MAC7B,IAAI,CAAC/B,KAAK,CAACgC,WAAW,IACpB,IAAI,CAAChC,KAAK,CAACgC,WAAW,CAACC,WAAW,CAAC,IAAI,CAAC/B,WAAW,CAAC;IACxD;EACF;EAEOgC,kBAAkBA,CAACC,QAAW,EAAEC,QAAW,EAAE;IAClD,IACED,QAAQ,CAAC5D,KAAK,KAAK,IAAI,CAACyB,KAAK,CAACzB,KAAK,IACnC4D,QAAQ,CAACE,UAAU,KAAK,IAAI,CAACrC,KAAK,CAACqC,UAAU,IAC7CF,QAAQ,CAACG,gBAAgB,KAAK,IAAI,CAACtC,KAAK,CAACsC,gBAAgB,IACzDH,QAAQ,CAACxC,QAAQ,KAAK,IAAI,CAACK,KAAK,CAACL,QAAQ,EACzC;MACA,IAAI,CAACa,iBAAiB,CAAC,IAAI,CAACR,KAAK,CAACzB,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,CAACyB,KAAK,CAAC;IAChE;EACF;EAEOuB,QAAQA,CAAA,EAAG;IAChB,MAAMgB,OAAuB,GAAGjH,QAAQ,CAACkH,WAAW,CACjD,IAAI,CAACnC,YAAY,CAAqCoC,OACzD,CAAmB;IACnBF,OAAO,IAAIA,OAAO,CAACG,cAAc,CAAC;MAAEC,QAAQ,EAAE;IAAS,CAAC,CAAC;EAC3D;EAEOhB,KAAKA,CAAA,EAAG;IACb,IAAI,CAACiB,QAAQ,CAAC;MAAEhC,OAAO,EAAE;IAAK,CAAC,CAAC;IAChC,IAAI,CAACJ,iBAAiB,CAAC,IAAI,CAACC,KAAK,CAAClC,KAAK,IAAI,EAAE,CAAC;EAChD;EAEOqD,OAAOA,CAAA,EAAG;IACf,IAAI,CAACgB,QAAQ,CAAC;MAAEhC,OAAO,EAAE;IAAM,CAAC,CAAC;EACnC;EAEOa,gBAAgBA,CAAA,EAAG;IACxB,IAAI,CAACmB,QAAQ,CAAC;MAAE9B,QAAQ,EAAE;IAAK,CAAC,CAAC;EACnC;EAEOY,eAAeA,CAAA,EAAG;IACvB,IAAI,CAACkB,QAAQ,CAAC;MAAE9B,QAAQ,EAAE;IAAM,CAAC,CAAC;EACpC;EAEOQ,KAAKA,CAAA,EAAG;IAAA,IAAAuB,mBAAA,EAAAC,WAAA;IACb,IAAI,IAAI,CAAC1C,QAAQ,EAAE;MACjB,MAAMmC,OAAoB,GAAGjH,QAAQ,CAACkH,WAAW,CAC9C,IAAI,CAACpC,QAAQ,CAAkCqC,OAClD,CAAgB;MAChBF,OAAO,IAAIA,OAAO,CAACjB,KAAK,CAAC,CAAC;IAC5B;IACA,CAAAuB,mBAAA,IAAAC,WAAA,OAAI,CAAC9C,KAAK,EAAC+C,OAAO,cAAAF,mBAAA,uBAAlBA,mBAAA,CAAA9F,IAAA,CAAA+F,WAAqB,CAAC;IACtB,IAAI,CAACnB,KAAK,CAAC,CAAC;EACd;EAEOqB,qBAAqBA,CAACC,SAAY,EAAEC,SAAY,EAAE;IACvD,IAAIC,YAAY,GACd,CAAC,IAAAC,0BAAY,EACX,IAAI,CAACpD,KAAK,EACViD,SAAS,EACT,CAAC,IAAI,CAACjD,KAAK,CAACqD,2BAA2B,GAAG,aAAa,GAAGlE,SAC5D,CAAC,IAAI,CAAC,IAAAiE,0BAAY,EAAC,IAAI,CAAC3C,KAAK,EAAEyC,SAAS,CAAC;IAC3C,OAAOC,YAAY;EACrB;EAEUG,kBAAkBA,CAACC,WAA+B,EAAE;IAC5D,IAAI,CAAC,IAAI,CAACvD,KAAK,CAACwD,cAAc,IAAI,CAAC,IAAI,CAAC/C,KAAK,CAACG,OAAO,EAAE;MACrD,OAAO,qBAAqB;IAC9B;IACA,OAAO,IAAI,CAACH,KAAK,CAACC,OAAO,KACtB,CAAC,IAAI,CAACV,KAAK,CAACW,MAAM,IAAI,IAAI,CAACX,KAAK,CAACW,MAAM,CAAC1C,MAAM,KAAK,CAAC,CAAC,KACrD,CAAC,IAAI,CAACwC,KAAK,CAACE,MAAM,IAAI,IAAI,CAACF,KAAK,CAACE,MAAM,CAAC1C,MAAM,KAAK,CAAC,CAAC,KACrD,CAACsF,WAAW,IAAIA,WAAW,CAACtF,MAAM,KAAK,CAAC,CAAC,GACxC,qBAAqB,GACrB,mBAAmB;EACzB;EAEUwF,uBAAuBA,CAACF,WAA+B,EAAE;IACjE,IAAI,IAAI,CAACvD,KAAK,CAACc,QAAQ,EAAE;MACvB,OAAO,IAAI;IACb;IACA,IAAI,CAAC,IAAI,CAACd,KAAK,CAACwD,cAAc,EAAE;MAC9B,OAAO,IAAI;IACb;IACA,IAAIE,WAA8B,GAAG,CAAC,IAAI,CAACjD,KAAK,CAACE,MAAM,IAAI,EAAE,EAC1DgD,MAAM,CAACJ,WAAW,IAAI,EAAE,CAAC,CACzBI,MAAM,CAAC,IAAI,CAAC3D,KAAK,CAACW,MAAM,IAAI,EAAE,CAAC,CAC/BnD,MAAM,CAAEO,CAAC,IAAKA,CAAC,CAAC;IACnB,IAAI2F,WAAW,CAACzF,MAAM,GAAG,CAAC,EAAE;MAC1B,IAAI,CAACqC,cAAc,GAAGoD,WAAW,CAACE,GAAG,CAAC,CAACC,IAAI,EAAEC,KAAK,kBAChD3I,KAAA,CAAA4I,aAAA;QAAInH,GAAG,EAAEkH,KAAM;QAACE,SAAS,EAAC;MAAkB,GACzCH,IACC,CACL,CAAC;IACJ;IACA,IAAI,IAAI,CAAC7D,KAAK,CAACiE,QAAQ,IAAI,IAAI,CAACxD,KAAK,CAACC,OAAO,EAAE;MAC7C,IAAI,CAACH,YAAY,GAAG,cAClBpF,KAAA,CAAA4I,aAAA;QAAInH,GAAG,EAAE,CAAE;QAACoH,SAAS,EAAC;MAAiB,GACpC,IAAI,CAAChE,KAAK,CAACiE,QACV,CAAC,CACN;IACH;IACA,oBACE9I,KAAA,CAAA4I,aAAA,CAAA5I,KAAA,CAAA+I,QAAA,qBACE/I,KAAA,CAAA4I,aAAA;MAAKC,SAAS,EAAC;IAAuB,gBACpC7I,KAAA,CAAA4I,aAAA;MAAIC,SAAS,EAAC;IAAgB,GAAE,IAAI,CAAC1D,cAAmB,CACrD,CAAC,eACNnF,KAAA,CAAA4I,aAAA;MAAKC,SAAS,EAAC;IAAsB,gBACnC7I,KAAA,CAAA4I,aAAA;MAAIC,SAAS,EAAC;IAAe,GAAE,IAAI,CAACzD,YAAiB,CAClD,CACL,CAAC;EAEP;EAEUW,YAAYA,CACpBiD,KAAkC,EAClCzD,OAAiB,EAEjB;IAAA,IADAC,MAAyB,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,EAAE;IAE9B,IAAIO,KAAK,GAAG4F,KAAK,CAACrG,MAAM,CAACS,KAAK;IAC9B,IACE,CAAC,IAAI,CAACyB,KAAK,CAACoE,mBAAmB,IAC9B,IAAI,CAACpE,KAAK,CAACoE,mBAAmB,IAAI,IAAI,CAACpE,KAAK,CAACoE,mBAAmB,CAAC7F,KAAK,CAAE,EACzE;MACA,MAAMa,GAAG,GAAG,IAAI,CAACoB,iBAAiB,CAACjC,KAAK,EAAEmC,OAAO,EAAEC,MAAM,CAAC;MAC1D,IAAI,IAAI,CAACX,KAAK,CAACqE,QAAQ,EAAE;QACvB,IAAI,CAACrE,KAAK,CAACqE,QAAQ,CAACF,KAAK,EAAE/E,GAAG,CAACsB,OAAO,CAAC;MACzC;IACF;EACF;EAEUmB,aAAaA,CAAC7B,KAAQ,EAAE;IAChC,IAAI,CAACA,KAAK,CAAC+B,aAAa,IAAI/B,KAAK,CAACgC,WAAW,EAAE;MAC7ChC,KAAK,CAACgC,WAAW,CAAC/B,SAAS,CAAC,IAAI,CAACC,WAAW,EAAE;QAC5CoE,YAAY,EAAE;UACZ7C,gBAAgB,EAAE,IAAI,CAACA,gBAAgB;UACvCC,eAAe,EAAE,IAAI,CAACA,eAAe;UACrCC,KAAK,EAAE,IAAI,CAACA,KAAK;UACjBC,OAAO,EAAE,IAAI,CAACA,OAAO;UACrBL,QAAQ,EAAE,IAAI,CAACA,QAAQ;UACvBD,KAAK,EAAE,IAAI,CAACA;QACd,CAAC;QACDiD,UAAU,EAAE;UACV7D,OAAO,EAAE,IAAI,CAACD,KAAK,CAACC,OAAO;UAC3BC,MAAM,EAAE,IAAI,CAACF,KAAK,CAACE,MAAM;UACzB6D,IAAI,EAAE,IAAI,CAACxE,KAAK,CAACyE,cAAc,GAC3B,IAAI,CAACzE,KAAK,CAACyE,cAAc,GACzB,IAAI,CAACzE,KAAK,CAAC0E,KAAK,GAChB,IAAI,CAAC1E,KAAK,CAAC0E,KAAK,GAChB,IAAI,CAAC1E,KAAK,CAAC2E;QACjB;MACF,CAAC,CAAC;IACJ;EACF;EAEUxD,UAAUA,CAAA,EAAG;IAAA,IAAAyD,kBAAA,EAAAC,YAAA;IACrB,CAAAD,kBAAA,IAAAC,YAAA,OAAI,CAAC7E,KAAK,EAAC8E,MAAM,cAAAF,kBAAA,uBAAjBA,kBAAA,CAAA7H,IAAA,CAAA8H,YAAoB,CAAC;IACrB,IAAIpE,KAAK,GAAG;MAAEM,OAAO,EAAE;IAAM,CAAC;IAC9B,IAAI,CAAC,IAAI,CAACN,KAAK,CAACG,OAAO,IAAI,IAAI,CAACZ,KAAK,CAAC+E,OAAO,KAAK,MAAM,EAAE;MACxDtE,KAAK,GAAGhE,MAAM,CAAC+C,MAAM,CAACiB,KAAK,EAAE;QAAEG,OAAO,EAAE;MAAK,CAAC,CAAC;MAC/C,IAAI,CAACJ,iBAAiB,CAAC,IAAI,CAACC,KAAK,CAAClC,KAAK,CAAC;IAC1C;IACA,IAAI,CAACqE,QAAQ,CAACnC,KAAK,CAAC;EACtB;EAEUW,WAAWA,CAAA,EAAG;IACtB,IAAI,CAAC,IAAI,CAACpB,KAAK,CAACc,QAAQ,EAAE;MAAA,IAAAkE,oBAAA,EAAAC,YAAA;MACxB,CAAAD,oBAAA,IAAAC,YAAA,OAAI,CAACjF,KAAK,EAAC+C,OAAO,cAAAiC,oBAAA,uBAAlBA,oBAAA,CAAAjI,IAAA,CAAAkI,YAAqB,CAAC;MACtB,IAAIxE,KAAK,GAAG;QAAEM,OAAO,EAAE;MAAK,CAAC;MAC7B,IAAI,CAAC,IAAI,CAACN,KAAK,CAACG,OAAO,IAAI,IAAI,CAACZ,KAAK,CAAC+E,OAAO,KAAK,OAAO,EAAE;QACzDtE,KAAK,GAAGhE,MAAM,CAAC+C,MAAM,CAACiB,KAAK,EAAE;UAAEG,OAAO,EAAE;QAAK,CAAC,CAAC;QAC/C,IAAI,CAACJ,iBAAiB,CAAC,IAAI,CAACC,KAAK,CAAClC,KAAK,CAAC;MAC1C;MACA,IAAI,CAACqE,QAAQ,CAACnC,KAAK,CAAC;IACtB;EACF;EAEUyE,WAAWA,CAAA,EAAG;IACtB,OAAO,IAAI,CAACzE,KAAK,CAACK,QAAQ,GAAG,IAAI,CAACL,KAAK,CAACK,QAAQ,GAAG,IAAI,CAACd,KAAK,CAACc,QAAQ;EACxE;EAEUO,QAAQA,CAAA,EAAG;IACnB,IAAI,CAACuB,QAAQ,CACX,OAAO;MAAElC,OAAO,EAAE,IAAI;MAAEC,MAAM,EAAE;IAAG,CAAC,CAAC,EACrC,MAAM;MACJ,IAAI,CAAC,IAAI,CAACX,KAAK,CAAC+B,aAAa,EAAE;QAC7B,IAAI,CAAC/B,KAAK,CAACgC,WAAW,IACpB,IAAI,CAAChC,KAAK,CAACgC,WAAW,CAACmD,cAAc,CAAC,IAAI,CAACjF,WAAW,EAAE;UACtDqE,UAAU,EAAE;YACV7D,OAAO,EAAE,IAAI;YACbC,MAAM,EAAE;UACV;QACF,CAAC,CAAC;MACN;IACF,CACF,CAAC;EACH;EAEUa,UAAUA,CAAA,EAAiC;IAAA,IAAhCb,MAAyB,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,EAAE;IACjD,IAAI,CAAC4E,QAAQ,CACX,OAAO;MAAElC,OAAO,EAAE,KAAK;MAAEC;IAAO,CAAC,CAAC,EAClC,MAAM;MACJ,IAAI,CAAC,IAAI,CAACX,KAAK,CAAC+B,aAAa,EAAE;QAC7B,IAAI,CAAC/B,KAAK,CAACgC,WAAW,IACpB,IAAI,CAAChC,KAAK,CAACgC,WAAW,CAACmD,cAAc,CAAC,IAAI,CAACjF,WAAW,EAAE;UACtDqE,UAAU,EAAE;YACV7D,OAAO,EAAE,KAAK;YACdC,MAAM,EAAEA;UACV;QACF,CAAC,CAAC;MACN;IACF,CACF,CAAC;EACH;EAEUyE,WAAWA,CAAA,EAA6B;IAAA,IAA5BC,SAAkB,GAAArH,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,KAAK;IAC9C,IAAI,CAAC,IAAI,CAACgC,KAAK,CAACsF,OAAO,IAAK,IAAI,CAACtF,KAAK,CAACsF,OAAO,IAAI,IAAI,CAACtF,KAAK,CAAC0E,KAAM,EAAE;MACnE,oBACEvJ,KAAA,CAAA4I,aAAA;QACEC,SAAS,EAAE,IAAAuB,mBAAU,EAAC,OAAO,EAAE;UAAE,iBAAiB,EAAE,CAACF;QAAU,CAAC;MAAE,GAEjE,IAAI,CAACrF,KAAK,CAAC2E,KACR,CAAC;IAEX;IACA,oBACExJ,KAAA,CAAA4I,aAAA,CAAC5I,KAAK,CAAC+I,QAAQ,qBACb/I,KAAA,CAAA4I,aAAA;MAAMC,SAAS,EAAEqB,SAAS,GAAG,EAAE,GAAG;IAAkB,GACjD,IAAI,CAACrF,KAAK,CAAC2E,KACR,CAAC,EACN,IAAI,CAACa,aAAa,CAAC,CACN,CAAC;EAErB;EAEUC,WAAWA,CAAA,EAAG;IACtB,IAAI,CAAC,IAAI,CAACzF,KAAK,CAACsF,OAAO,EAAE;MACvB,OAAO,IAAI,CAACtF,KAAK,CAAC0E,KAAK;IACzB;IACA,oBACEvJ,KAAA,CAAA4I,aAAA,CAAC5I,KAAK,CAAC+I,QAAQ,QACZ,IAAI,CAAClE,KAAK,CAAC0E,KAAK,EAChB,IAAI,CAACc,aAAa,CAAC,CACN,CAAC;EAErB;EAEUhF,iBAAiBA,CACzBjC,KAAa,EAQb;IAAA,IAPAmC,OAAgB,GAAA1C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,IAAI;IAAA,IACvB2C,MAAyB,GAAA3C,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,EAAE;IAAA,IAC9BgC,KAAQ,GAAAhC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,IAAI,CAACgC,KAAK;IAAA,IACrB0F,YAAqB,GAAA1H,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,MAAG,KAAK;IAK7B,IAAI,CAAC0H,YAAY,IAAI,CAAC,IAAI,CAACjF,KAAK,CAACO,wBAAwB,EAAE;MACzD,OAAO;QAAEN,OAAO;QAAEC,MAAM,EAAE;MAAG,CAAC;IAChC;IACA,IAAIX,KAAK,CAACL,QAAQ,IAAI,CAACpB,KAAK,EAAE;MAC5B,MAAMoH,YAAY,GAAG,IAAI,CAACC,eAAe,CAAClG,uBAAuB,CAAC;MAClEiB,MAAM,CAAChD,IAAI,CAACgI,YAAY,CAAChG,QAAQ,CAAC;MAClCe,OAAO,GAAG,KAAK;IACjB,CAAC,MAAM;MACL,IAAI,CAACV,KAAK,CAACL,QAAQ,IAAI,CAACpB,KAAK,EAAE;QAC7BmC,OAAO,GAAG,IAAI;MAChB,CAAC,MAAM;QACL,IAAIV,KAAK,CAACqC,UAAU,EAAE;UACpB3B,OAAO,GAAG,IAAI;UACdV,KAAK,CAACqC,UAAU,CAAClE,OAAO,CAAE0H,SAAS,IAAK;YACtC,IAAIC,UAAU,GAAG,KAAK;YACtB,QAAQD,SAAS;cACf,KAAK,OAAO;gBACVC,UAAU,GAAG,IAAIvK,UAAU,CAACwK,cAAc,CAAC,CAAC,CAACC,QAAQ,CACnDzH,KAAK,EACLyB,KAAK,CAACL,QAAQ,EACbsG,KAAK,IAAKtF,MAAM,CAAChD,IAAI,CAACsI,KAAK,CAC9B,CAAC;gBACD;cACF,KAAK,QAAQ;gBACXH,UAAU,GAAG,IAAIvK,UAAU,CAAC2K,eAAe,CAAC,CAAC,CAACF,QAAQ,CACpDzH,KAAK,EACLyB,KAAK,CAACL,QAAQ,EACbsG,KAAK,IAAKtF,MAAM,CAAChD,IAAI,CAACsI,KAAK,CAC9B,CAAC;gBACD;cACF,KAAK,UAAU;gBACbH,UAAU,GAAG,IAAIvK,UAAU,CAAC4K,iBAAiB,CAAC,CAAC,CAACH,QAAQ,CACtDzH,KAAK,EACLyB,KAAK,CAACL,QAAQ,EACbsG,KAAK,IAAKtF,MAAM,CAAChD,IAAI,CAACsI,KAAK,CAC9B,CAAC;gBACD;cACF,KAAK,WAAW;gBACdH,UAAU,GAAG,IAAIvK,UAAU,CAAC6K,kBAAkB,CAAC,CAAC,CAACJ,QAAQ,CACvDzH,KAAK,EACLyB,KAAK,CAACL,QAAQ,EACbsG,KAAK,IAAKtF,MAAM,CAAChD,IAAI,CAACsI,KAAK,CAC9B,CAAC;gBACD;cACF,KAAK,KAAK;gBACRH,UAAU,GAAG,IAAIvK,UAAU,CAAC8K,YAAY,CAAC,CAAC,CAACL,QAAQ,CACjDzH,KAAK,EACLyB,KAAK,CAACL,QAAQ,EACbsG,KAAK,IAAKtF,MAAM,CAAChD,IAAI,CAACsI,KAAK,CAC9B,CAAC;gBACD;cACF;gBACE,MAAM,IAAIK,KAAK,CAAE,aAAYT,SAAU,kBAAiB,CAAC;YAC7D;YACA,IAAInF,OAAO,IAAI,CAACoF,UAAU,EAAE;cAC1BpF,OAAO,GAAGoF,UAAU;YACtB;UACF,CAAC,CAAC;QACJ;QACA,IAAI9F,KAAK,CAACsC,gBAAgB,EAAE;UAC1BtC,KAAK,CAACsC,gBAAgB,CAACnE,OAAO,CAAEoI,eAAe,IAAK;YAClD,IAAIT,UAAU,GAAG,KAAK;YACtBA,UAAU,GAAGS,eAAe,CAACP,QAAQ,CACnCzH,KAAK,EACLyB,KAAK,CAACL,QAAQ,EACbsG,KAAK,IAAKtF,MAAM,CAAChD,IAAI,CAACsI,KAAK,CAC9B,CAAC;YACD,IAAIvF,OAAO,IAAI,CAACoF,UAAU,EAAE;cAC1BpF,OAAO,GAAGoF,UAAU;YACtB;UACF,CAAC,CAAC;QACJ;MACF;IACF;IACA9F,KAAK,CAACwG,eAAe,IAAIxG,KAAK,CAACwG,eAAe,CAAC7F,MAAM,CAAC;IACtD,IAAI,CAAC+E,YAAY,EAAE;MACjB,IAAI,CAAC9C,QAAQ,CAAC;QAAErE,KAAK;QAAEmC,OAAO;QAAEC;MAAO,CAAC,CAAC;MACzC,IAAI,CAACX,KAAK,CAAC+B,aAAa,EAAE;QACxB/B,KAAK,CAACgC,WAAW,IACfhC,KAAK,CAACgC,WAAW,CAACmD,cAAc,CAAC,IAAI,CAACjF,WAAW,EAAE;UACjDqE,UAAU,EAAE;YACV7D,OAAO,EAAEA,OAAO;YAChBC,MAAM,EAAEA;UACV;QACF,CAAC,CAAC;MACN;IACF;IACA,OAAO;MAAED,OAAO;MAAEC;IAAO,CAAC;EAC5B;EAEU6E,aAAaA,CAAA,EAErB;IAAA,IADAiB,OAAoB,GAAAzI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAmB,SAAA,GAAAnB,SAAA,mBAAG7C,KAAA,CAAA4I,aAAA;MAAMC,SAAS,EAAC;IAAkB,GAAC,GAAO,CAAC;IAElE,IAAI,IAAI,CAAChE,KAAK,CAACsF,OAAO,EAAE;MAAA,IAAAoB,SAAA;MACtB,MAAMC,KAAK,GAAGtL,OAAO,CAAC,iBAAiB,CAAC,CAACS,OAAO;MAChD,oBACEX,KAAA,CAAA4I,aAAA,CAAC4C,KAAK,EAAApH,QAAA;QACJkH,OAAO,EAAE,IAAI,CAACzG,KAAK,CAACsF,OAAQ;QAC5BsB,SAAS,EAAC,QAAQ;QAClBC,SAAS,EAAC,cAAc;QACxBC,KAAK,EAAE,KAAM;QACbC,QAAQ,EAAE,GAAI;QACdC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAE;QACfC,QAAQ,EAAE,CAAE;QACZC,WAAW,EAAE,IAAK;QAClBC,QAAQ,GAAAT,SAAA,GAAEU,QAAQ,cAAAV,SAAA,uBAARA,SAAA,CAAUW,IAAK;QACzBC,OAAO,EAAC;MAAkB,GACtB,IAAI,CAACtH,KAAK,CAACuH,YAAY,GAE1Bd,OACI,CAAC;IAEZ;IACA,OAAOA,OAAO;EAChB;EAEUb,eAAeA,CACvB4B,oBAAsC,EACvB;IACf,OAAA3J,aAAA,CAAAA,aAAA,KACK2J,oBAAoB,GACpB,IAAI,CAACxH,KAAK,CAAC2F,YAAY;EAE9B;AACF;AAAC/F,OAAA,CAAAC,SAAA,GAAAA,SAAA;AAxbYA,SAAS,CASN4H,YAAY,GAA0B;EAClDzD,SAAS,EAAE7E,SAAS;EACpBQ,QAAQ,EAAE,KAAK;EACfgF,KAAK,EAAExF,SAAS;EAChB2B,QAAQ,EAAE,KAAK;EACfiE,OAAO,EAAE,OAAO;EAChBhD,aAAa,EAAE,KAAK;EACpByB,cAAc,EAAE,IAAI;EACpBxB,WAAW,EAAE7C,SAAS;EACtBkE,2BAA2B,EAAE;AAC/B,CAAC;AAAA,IAAAqE,QAAA,GAsaY7H,SAAS;AAAAD,OAAA,CAAA9D,OAAA,GAAA4L,QAAA"}
|
@@ -1 +1 @@
|
|
1
|
-
export * from './BaseInput';
|
1
|
+
export * from './BaseInput';
|
@@ -1,46 +1,45 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import { BookingCalendarClasses } from './classes';
|
3
|
-
import { BookingCalendarDateRange, BookingCalendarItemT, GetNewMomentFunctionType } from './common';
|
4
|
-
import { BookingCalendarControlsProps } from './bookingCalendarControls/BookingCalendarControls';
|
5
|
-
import { LaneSourceData } from './utils';
|
6
|
-
import { BookingCalendarLaneProps } from './bookingCalendarLane/BookingCalendarLane';
|
7
|
-
import { Moment, Duration } from 'moment';
|
8
|
-
import { BookingCalendarItemProps } from './bookingCalendarItem';
|
9
|
-
import { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';
|
10
|
-
import { BookingCalendarGridProps } from './bookingCalendarGrid/BookingCalendarGrid';
|
11
|
-
import { BookingCalendarLaneHeaderProps } from './bookingCalendarLaneHeader';
|
12
|
-
import { BookingCalendarLanesHeaderProps } from './bookingCalendarLanesHeader';
|
13
|
-
import { BookingCalendarDatePickerProps } from './bookingCalendarDatePicker';
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
export declare function BookingCalendar<T extends BookingCalendarItemT, TLaneData>(props: BookingCalendarProps<T, TLaneData>): JSX.Element;
|
1
|
+
import * as React from 'react';
|
2
|
+
import { BookingCalendarClasses } from './classes';
|
3
|
+
import { BookingCalendarDateRange, BookingCalendarItemT, GetNewMomentFunctionType, GetMomentFormatFunctionType, ZoomLevel } from './common';
|
4
|
+
import { BookingCalendarControlsProps } from './bookingCalendarControls/BookingCalendarControls';
|
5
|
+
import { LaneSourceData } from './utils';
|
6
|
+
import { BookingCalendarLaneProps } from './bookingCalendarLane/BookingCalendarLane';
|
7
|
+
import { Moment, Duration } from 'moment';
|
8
|
+
import { BookingCalendarItemProps } from './bookingCalendarItem';
|
9
|
+
import { BookingCalendarRenderItemProps } from './bookingCalendarRenderItem';
|
10
|
+
import { BookingCalendarGridProps } from './bookingCalendarGrid/BookingCalendarGrid';
|
11
|
+
import { BookingCalendarLaneHeaderProps } from './bookingCalendarLaneHeader';
|
12
|
+
import { BookingCalendarLanesHeaderProps } from './bookingCalendarLanesHeader';
|
13
|
+
import { BookingCalendarDatePickerProps } from './bookingCalendarDatePicker';
|
14
|
+
export interface BookingCalendarProps<T extends BookingCalendarItemT, TLaneData> extends BookingCalendarClasses {
|
15
|
+
bookings: T[];
|
16
|
+
from: Moment;
|
17
|
+
till: Moment;
|
18
|
+
getMomentFormatFunction?: GetMomentFormatFunctionType;
|
19
|
+
getNewMomentFunction?: GetNewMomentFunctionType;
|
20
|
+
onRangeChange?: (range: BookingCalendarDateRange) => void;
|
21
|
+
step?: Duration;
|
22
|
+
showZoomAllButton?: boolean;
|
23
|
+
showGrid?: boolean;
|
24
|
+
showSelection?: boolean;
|
25
|
+
minSelectionSize?: number;
|
26
|
+
gridAvailableSteps?: Duration[];
|
27
|
+
goalGridWidthPx?: number;
|
28
|
+
minLanesCount?: number;
|
29
|
+
lanesSource?: LaneSourceData<T, TLaneData>[];
|
30
|
+
unmatchedLanesToFront?: boolean;
|
31
|
+
children?: React.ReactNode;
|
32
|
+
bookingCalendarTopLeftHeader?: React.ReactNode;
|
33
|
+
filteringButton?: React.ReactNode;
|
34
|
+
zoomLevels?: ZoomLevel[];
|
35
|
+
filterBookingsToZoom?: (booking: T) => boolean;
|
36
|
+
BookingCalendarItem?: React.ComponentType<BookingCalendarItemProps<T>>;
|
37
|
+
BookingCalendarRenderItem?: React.ComponentType<BookingCalendarRenderItemProps<T>>;
|
38
|
+
BookingCalendarLane?: React.ComponentType<BookingCalendarLaneProps<T>>;
|
39
|
+
BookingCalendarControls?: React.ComponentType<BookingCalendarControlsProps<T>>;
|
40
|
+
BookingCalendarGrid?: React.ComponentType<BookingCalendarGridProps>;
|
41
|
+
BookingCalendarLaneHeader?: React.ComponentType<BookingCalendarLaneHeaderProps<TLaneData>>;
|
42
|
+
BookingCalendarLanesHeader?: React.ComponentType<BookingCalendarLanesHeaderProps<T>>;
|
43
|
+
BookingCalendarDatePicker?: React.ComponentType<BookingCalendarDatePickerProps<T>> | React.ReactNode;
|
44
|
+
}
|
45
|
+
export declare function BookingCalendar<T extends BookingCalendarItemT, TLaneData>(props: BookingCalendarProps<T, TLaneData>): React.JSX.Element;
|
@@ -11,12 +11,11 @@ var _common = require("./common");
|
|
11
11
|
var _BookingCalendarControls = require("./bookingCalendarControls/BookingCalendarControls");
|
12
12
|
var _utils = require("./utils");
|
13
13
|
var _BookingCalendarLane = require("./bookingCalendarLane/BookingCalendarLane");
|
14
|
-
var _moment = require("moment");
|
14
|
+
var _moment = _interopRequireDefault(require("moment"));
|
15
15
|
var _BookingCalendarGrid = require("./bookingCalendarGrid/BookingCalendarGrid");
|
16
16
|
var _bookingCalendarLaneHeader = require("./bookingCalendarLaneHeader");
|
17
17
|
var _bookingCalendarLanesHeader = require("./bookingCalendarLanesHeader");
|
18
18
|
var _bookingCalendarDatePicker = require("./bookingCalendarDatePicker");
|
19
|
-
var _ = require(".");
|
20
19
|
var _BookingCalendarTimeAxis = require("./bookingCalendarTimeAxis/BookingCalendarTimeAxis");
|
21
20
|
var _reactCoolDimensions = _interopRequireDefault(require("react-cool-dimensions"));
|
22
21
|
var _BookingCalendarSelection = _interopRequireDefault(require("./bookingCalendarSelection/BookingCalendarSelection"));
|
@@ -24,7 +23,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
24
23
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
25
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
26
25
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
27
|
-
const defaultStep =
|
26
|
+
const defaultStep = _moment.default.duration(1, 'day');
|
28
27
|
function BookingCalendar(props) {
|
29
28
|
var _entry$target;
|
30
29
|
const {
|
@@ -43,9 +42,9 @@ function BookingCalendar(props) {
|
|
43
42
|
showGrid = true,
|
44
43
|
showSelection = true,
|
45
44
|
showZoomAllButton = true,
|
46
|
-
gridAvailableSteps =
|
45
|
+
gridAvailableSteps = _common.defaultGridAvailableSteps,
|
47
46
|
getMomentFormatFunction = _common.defaultGetMomentFormatFunction,
|
48
|
-
getNewMomentFunction =
|
47
|
+
getNewMomentFunction = _common.defaultGetNewMomentFunction,
|
49
48
|
goalGridWidthPx = 60,
|
50
49
|
minSelectionSize = 10,
|
51
50
|
minLanesCount,
|