josenanodev-react-components-library 1.0.2 → 1.0.4
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/dist/{Services → cjs/Services}/MulticalendarStatesAndSettings.d.ts +34 -34
- package/dist/cjs/Services/MulticalendarStatesAndSettings.js +55 -0
- package/dist/{Services → cjs/Services}/accessToken.d.ts +3 -3
- package/dist/cjs/Services/accessToken.js +15 -0
- package/dist/{common → cjs/common}/constants.d.ts +5 -5
- package/dist/cjs/common/constants.js +8 -0
- package/dist/{common → cjs/common}/turboSuiteUrls.d.ts +7 -7
- package/dist/cjs/common/turboSuiteUrls.js +9 -0
- package/dist/cjs/common/types.d.ts +113 -0
- package/dist/{components → cjs/components}/BubbleMenu/BubbleMenu.d.ts +12 -12
- package/dist/cjs/components/BubbleMenu/BubbleMenu.js +60 -0
- package/dist/cjs/components/BubbleMenu/BubbleMenu.module.scss +113 -0
- package/dist/{components → cjs/components}/CalendarDatePicker/CalendarDatePicker.d.ts +19 -19
- package/dist/cjs/components/CalendarDatePicker/CalendarDatePicker.js +191 -0
- package/dist/cjs/components/CalendarDatePicker/CalendarDatePicker.module.scss +104 -0
- package/dist/{components → cjs/components}/CalendarDatePicker/subcomponents/CalendarScrollableSection.d.ts +15 -15
- package/dist/cjs/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.js +300 -0
- package/dist/cjs/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.module.scss +151 -0
- package/dist/cjs/components/ExportToExcelButton/ExportToExcelButton.css +31 -0
- package/dist/{components → cjs/components}/ExportToExcelButton/ExportToExcelButton.d.ts +5 -5
- package/dist/cjs/components/ExportToExcelButton/ExportToExcelButton.js +45 -0
- package/dist/{components → cjs/components}/ExportToExcelButton/ExportToExcelButtonOwnFunctions.d.ts +6 -6
- package/dist/cjs/components/ExportToExcelButton/ExportToExcelButtonOwnFunctions.js +75 -0
- package/dist/cjs/components/ExportToExcelButton/types.d.ts +44 -0
- package/dist/{components → cjs/components}/InputBoxWithConfirmation/InputBoxWithConfirmation.d.ts +17 -17
- package/dist/cjs/components/InputBoxWithConfirmation/InputBoxWithConfirmation.js +137 -0
- package/dist/cjs/components/InputBoxWithConfirmation/InputBoxWithConfirmation.module.scss +52 -0
- package/dist/{components → cjs/components}/IntegerControl/IntegerControl.d.ts +10 -10
- package/dist/cjs/components/IntegerControl/IntegerControl.js +52 -0
- package/dist/cjs/components/IntegerControl/IntegerControl.module.scss +46 -0
- package/dist/{components → cjs/components}/LabeledInput/LabeledInput.d.ts +15 -15
- package/dist/cjs/components/LabeledInput/LabeledInput.js +47 -0
- package/dist/cjs/components/LabeledInput/LabeledInput.module.scss +74 -0
- package/dist/cjs/components/Modal/Modal.css +43 -0
- package/dist/{components → cjs/components}/Modal/Modal.d.ts +5 -5
- package/dist/cjs/components/Modal/Modal.js +82 -0
- package/dist/cjs/components/Modal/types.d.ts +8 -0
- package/dist/cjs/components/Multicalendar/Multicalendar.css +191 -0
- package/dist/{components → cjs/components}/Multicalendar/Multicalendar.d.ts +5 -5
- package/dist/cjs/components/Multicalendar/Multicalendar.js +369 -0
- package/dist/{components → cjs/components}/Multicalendar/MulticalendarOwnFunctions.d.ts +86 -86
- package/dist/cjs/components/Multicalendar/MulticalendarOwnFunctions.js +192 -0
- package/dist/cjs/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.css +5 -0
- package/dist/{components → cjs/components}/Multicalendar/subcomponents/composites/CellsRow/CellsRow.d.ts +5 -5
- package/dist/cjs/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.js +20 -0
- package/dist/cjs/components/Multicalendar/subcomponents/composites/CellsRow/types.d.ts +11 -0
- package/dist/cjs/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.css +6 -0
- package/dist/{components → cjs/components}/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.d.ts +5 -5
- package/dist/cjs/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.js +20 -0
- package/dist/cjs/components/Multicalendar/subcomponents/composites/DatesGrid/types.d.ts +13 -0
- package/dist/cjs/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.css +3 -0
- package/dist/{components → cjs/components}/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.d.ts +5 -5
- package/dist/cjs/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.js +15 -0
- package/dist/cjs/components/Multicalendar/subcomponents/composites/ListElementsColumn/types.d.ts +9 -0
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/Cell/Cell.css +6 -0
- package/dist/{components → cjs/components}/Multicalendar/subcomponents/individuals/Cell/Cell.d.ts +5 -5
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/Cell/Cell.js +12 -0
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/Cell/types.d.ts +10 -0
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.css +60 -0
- package/dist/{components → cjs/components}/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.d.ts +5 -5
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.js +56 -0
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/DatesRow/types.d.ts +11 -0
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.css +14 -0
- package/dist/{components → cjs/components}/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.d.ts +5 -5
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.js +13 -0
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/types.d.ts +6 -0
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.css +14 -0
- package/dist/{components → cjs/components}/Multicalendar/subcomponents/individuals/ListElement/ListElement.d.ts +5 -5
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.js +14 -0
- package/dist/cjs/components/Multicalendar/subcomponents/individuals/ListElement/types.d.ts +7 -0
- package/dist/cjs/components/Multicalendar/types.d.ts +48 -0
- package/dist/cjs/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.css +40 -0
- package/dist/{components → cjs/components}/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.d.ts +5 -5
- package/dist/cjs/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.js +48 -0
- package/dist/cjs/components/MultipleJoinedButtonsBar/types.d.ts +6 -0
- package/dist/cjs/components/ParallelSelectionList/ParallelSelectionList.css +244 -0
- package/dist/{components → cjs/components}/ParallelSelectionList/ParallelSelectionList.d.ts +5 -5
- package/dist/cjs/components/ParallelSelectionList/ParallelSelectionList.js +147 -0
- package/dist/cjs/components/ParallelSelectionList/types.d.ts +22 -0
- package/dist/cjs/components/PopUp/PopUp.css +15 -0
- package/dist/{components → cjs/components}/PopUp/PopUp.d.ts +5 -5
- package/dist/cjs/components/PopUp/PopUp.js +50 -0
- package/dist/cjs/components/PopUp/types.d.ts +9 -0
- package/dist/cjs/components/ProgressBar/ProgressBar.css +39 -0
- package/dist/{components → cjs/components}/ProgressBar/ProgressBar.d.ts +5 -5
- package/dist/cjs/components/ProgressBar/ProgressBar.js +56 -0
- package/dist/cjs/components/ProgressBar/types.d.ts +7 -0
- package/dist/{components → cjs/components}/ScreenSteps/ScreenSteps.d.ts +14 -14
- package/dist/cjs/components/ScreenSteps/ScreenSteps.js +66 -0
- package/dist/cjs/components/ScreenSteps/ScreenSteps.module.scss +68 -0
- package/dist/{components → cjs/components}/ScrollSnapGallery/ScrollSnapGallery.d.ts +14 -14
- package/dist/cjs/components/ScrollSnapGallery/ScrollSnapGallery.js +98 -0
- package/dist/cjs/components/ScrollSnapGallery/ScrollSnapGallery.module.scss +67 -0
- package/dist/cjs/components/SearchBar/SearchBar.css +35 -0
- package/dist/{components → cjs/components}/SearchBar/SearchBar.d.ts +5 -5
- package/dist/cjs/components/SearchBar/SearchBar.js +54 -0
- package/dist/cjs/components/SearchBar/types.d.ts +10 -0
- package/dist/cjs/components/SideBar/SideBar.css +53 -0
- package/dist/{components → cjs/components}/SideBar/SideBar.d.ts +8 -8
- package/dist/cjs/components/SideBar/SideBar.js +70 -0
- package/dist/cjs/components/SideBar/types.d.ts +8 -0
- package/dist/cjs/components/Slider/Slider.css +55 -0
- package/dist/{components → cjs/components}/Slider/Slider.d.ts +5 -5
- package/dist/cjs/components/Slider/Slider.js +173 -0
- package/dist/{components → cjs/components}/Slider/SliderOwnFunctions.d.ts +2 -2
- package/dist/cjs/components/Slider/SliderOwnFunctions.js +11 -0
- package/dist/cjs/components/Slider/types.d.ts +14 -0
- package/dist/{hooks → cjs/hooks}/useIntersectionObserver.d.ts +9 -9
- package/dist/cjs/hooks/useIntersectionObserver.js +28 -0
- package/dist/{hooks → cjs/hooks}/useOutsideClick.d.ts +3 -3
- package/dist/cjs/hooks/useOutsideClick.js +19 -0
- package/dist/{hooks → cjs/hooks}/useResizeObserver.d.ts +7 -7
- package/dist/cjs/hooks/useResizeObserver.js +30 -0
- package/dist/{hooks → cjs/hooks}/useWindowsSize.d.ts +6 -6
- package/dist/cjs/hooks/useWindowsSize.js +20 -0
- package/dist/cjs/index.css +79 -0
- package/dist/cjs/index.d.ts +20 -0
- package/dist/cjs/index.js +45 -0
- package/dist/{languages → cjs/languages}/en-EN.d.ts +3 -3
- package/dist/cjs/languages/en-EN.js +25 -0
- package/dist/{languages → cjs/languages}/es-ES.d.ts +3 -3
- package/dist/cjs/languages/es-ES.js +25 -0
- package/dist/{languages → cjs/languages}/it-IT.d.ts +3 -3
- package/dist/cjs/languages/it-IT.js +25 -0
- package/dist/cjs/languages/types.d.ts +22 -0
- package/dist/{mocks → cjs/mocks}/ReactComponentMocksForTesting/CellChildrenMock.d.ts +4 -4
- package/dist/cjs/mocks/ReactComponentMocksForTesting/CellChildrenMock.js +13 -0
- package/dist/{mocks → cjs/mocks}/ReactComponentMocksForTesting/ListElementChildrenMock.d.ts +4 -4
- package/dist/cjs/mocks/ReactComponentMocksForTesting/ListElementChildrenMock.js +10 -0
- package/dist/cjs/react-app-env.d.ts +1 -0
- package/dist/{setupTests.d.ts → cjs/setupTests.d.ts} +2 -2
- package/dist/cjs/setupTests.js +8 -0
- package/dist/{stories → cjs/stories}/CalendarDatePickerMask.d.ts +4 -4
- package/dist/cjs/stories/CalendarDatePickerMask.js +21 -0
- package/dist/{utils → cjs/utils}/datesArray.d.ts +8 -8
- package/dist/cjs/utils/datesArray.js +23 -0
- package/dist/{utils → cjs/utils}/dayOfTheWeekStartingOnMonday.d.ts +7 -7
- package/dist/cjs/utils/dayOfTheWeekStartingOnMonday.js +11 -0
- package/dist/{utils → cjs/utils}/jsToSqlDate.d.ts +7 -7
- package/dist/cjs/utils/jsToSqlDate.js +22 -0
- package/dist/{utils → cjs/utils}/monthYearString.d.ts +3 -3
- package/dist/cjs/utils/monthYearString.js +27 -0
- package/dist/{utils → cjs/utils}/numberOfDaysInAMonth.d.ts +6 -6
- package/dist/cjs/utils/numberOfDaysInAMonth.js +12 -0
- package/dist/{utils → cjs/utils}/numberOfWeeksInAMonth.d.ts +7 -7
- package/dist/cjs/utils/numberOfWeeksInAMonth.js +25 -0
- package/dist/{utils → cjs/utils}/sqlToJsDate.d.ts +7 -7
- package/dist/cjs/utils/sqlToJsDate.js +14 -0
- package/dist/esm/Services/MulticalendarStatesAndSettings.d.ts +34 -0
- package/dist/esm/Services/MulticalendarStatesAndSettings.js +46 -0
- package/dist/esm/Services/accessToken.d.ts +3 -0
- package/dist/esm/Services/accessToken.js +9 -0
- package/dist/esm/common/constants.d.ts +5 -0
- package/dist/esm/common/constants.js +5 -0
- package/dist/esm/common/turboSuiteUrls.d.ts +7 -0
- package/dist/esm/common/turboSuiteUrls.js +7 -0
- package/dist/esm/common/types.d.ts +113 -0
- package/dist/esm/components/BubbleMenu/BubbleMenu.d.ts +12 -0
- package/dist/esm/components/BubbleMenu/BubbleMenu.js +32 -0
- package/dist/esm/components/BubbleMenu/BubbleMenu.module.scss +113 -0
- package/dist/esm/components/CalendarDatePicker/CalendarDatePicker.d.ts +19 -0
- package/dist/esm/components/CalendarDatePicker/CalendarDatePicker.js +163 -0
- package/dist/esm/components/CalendarDatePicker/CalendarDatePicker.module.scss +104 -0
- package/dist/esm/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.d.ts +15 -0
- package/dist/esm/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.js +272 -0
- package/dist/esm/components/CalendarDatePicker/subcomponents/CalendarScrollableSection.module.scss +151 -0
- package/dist/esm/components/ExportToExcelButton/ExportToExcelButton.css +31 -0
- package/dist/esm/components/ExportToExcelButton/ExportToExcelButton.d.ts +5 -0
- package/dist/esm/components/ExportToExcelButton/ExportToExcelButton.js +17 -0
- package/dist/esm/components/ExportToExcelButton/ExportToExcelButtonOwnFunctions.d.ts +6 -0
- package/dist/esm/components/ExportToExcelButton/ExportToExcelButtonOwnFunctions.js +48 -0
- package/dist/esm/components/ExportToExcelButton/types.d.ts +44 -0
- package/dist/esm/components/InputBoxWithConfirmation/InputBoxWithConfirmation.d.ts +17 -0
- package/dist/esm/components/InputBoxWithConfirmation/InputBoxWithConfirmation.js +109 -0
- package/dist/esm/components/InputBoxWithConfirmation/InputBoxWithConfirmation.module.scss +52 -0
- package/dist/esm/components/IntegerControl/IntegerControl.d.ts +10 -0
- package/dist/esm/components/IntegerControl/IntegerControl.js +24 -0
- package/dist/esm/components/IntegerControl/IntegerControl.module.scss +46 -0
- package/dist/esm/components/LabeledInput/LabeledInput.d.ts +15 -0
- package/dist/esm/components/LabeledInput/LabeledInput.js +19 -0
- package/dist/esm/components/LabeledInput/LabeledInput.module.scss +74 -0
- package/dist/esm/components/Modal/Modal.css +43 -0
- package/dist/esm/components/Modal/Modal.d.ts +5 -0
- package/dist/esm/components/Modal/Modal.js +54 -0
- package/dist/esm/components/Modal/types.d.ts +8 -0
- package/dist/esm/components/Multicalendar/Multicalendar.css +191 -0
- package/dist/esm/components/Multicalendar/Multicalendar.d.ts +5 -0
- package/dist/esm/components/Multicalendar/Multicalendar.js +341 -0
- package/dist/esm/components/Multicalendar/MulticalendarOwnFunctions.d.ts +86 -0
- package/dist/esm/components/Multicalendar/MulticalendarOwnFunctions.js +176 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.css +5 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.d.ts +5 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/CellsRow/CellsRow.js +15 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/CellsRow/types.d.ts +11 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.css +6 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.d.ts +5 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/DatesGrid/DatesGrid.js +15 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/DatesGrid/types.d.ts +13 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.css +3 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.d.ts +5 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/ListElementsColumn/ListElementsColumn.js +10 -0
- package/dist/esm/components/Multicalendar/subcomponents/composites/ListElementsColumn/types.d.ts +9 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/Cell/Cell.css +6 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/Cell/Cell.d.ts +5 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/Cell/Cell.js +7 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/Cell/types.d.ts +10 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.css +60 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.d.ts +5 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/DatesRow/DatesRow.js +51 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/DatesRow/types.d.ts +11 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.css +14 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.d.ts +5 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/DropdownMonthNavigation.js +8 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/DropdownMonthNavigation/types.d.ts +6 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.css +14 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.d.ts +5 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/ListElement/ListElement.js +9 -0
- package/dist/esm/components/Multicalendar/subcomponents/individuals/ListElement/types.d.ts +7 -0
- package/dist/esm/components/Multicalendar/types.d.ts +48 -0
- package/dist/esm/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.css +40 -0
- package/dist/esm/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.d.ts +5 -0
- package/dist/esm/components/MultipleJoinedButtonsBar/MultipleJoinedButtonsBar.js +23 -0
- package/dist/esm/components/MultipleJoinedButtonsBar/types.d.ts +6 -0
- package/dist/esm/components/ParallelSelectionList/ParallelSelectionList.css +244 -0
- package/dist/esm/components/ParallelSelectionList/ParallelSelectionList.d.ts +5 -0
- package/dist/esm/components/ParallelSelectionList/ParallelSelectionList.js +142 -0
- package/dist/esm/components/ParallelSelectionList/types.d.ts +22 -0
- package/dist/esm/components/PopUp/PopUp.css +15 -0
- package/dist/esm/components/PopUp/PopUp.d.ts +5 -0
- package/dist/esm/components/PopUp/PopUp.js +22 -0
- package/dist/esm/components/PopUp/types.d.ts +9 -0
- package/dist/esm/components/ProgressBar/ProgressBar.css +39 -0
- package/dist/esm/components/ProgressBar/ProgressBar.d.ts +5 -0
- package/dist/esm/components/ProgressBar/ProgressBar.js +31 -0
- package/dist/esm/components/ProgressBar/types.d.ts +7 -0
- package/dist/esm/components/ScreenSteps/ScreenSteps.d.ts +14 -0
- package/dist/esm/components/ScreenSteps/ScreenSteps.js +38 -0
- package/dist/esm/components/ScreenSteps/ScreenSteps.module.scss +68 -0
- package/dist/esm/components/ScrollSnapGallery/ScrollSnapGallery.d.ts +14 -0
- package/dist/esm/components/ScrollSnapGallery/ScrollSnapGallery.js +70 -0
- package/dist/esm/components/ScrollSnapGallery/ScrollSnapGallery.module.scss +67 -0
- package/dist/esm/components/SearchBar/SearchBar.css +35 -0
- package/dist/esm/components/SearchBar/SearchBar.d.ts +5 -0
- package/dist/esm/components/SearchBar/SearchBar.js +29 -0
- package/dist/esm/components/SearchBar/types.d.ts +10 -0
- package/dist/esm/components/SideBar/SideBar.css +53 -0
- package/dist/esm/components/SideBar/SideBar.d.ts +8 -0
- package/dist/esm/components/SideBar/SideBar.js +42 -0
- package/dist/esm/components/SideBar/types.d.ts +8 -0
- package/dist/esm/components/Slider/Slider.css +55 -0
- package/dist/esm/components/Slider/Slider.d.ts +5 -0
- package/dist/esm/components/Slider/Slider.js +148 -0
- package/dist/esm/components/Slider/SliderOwnFunctions.d.ts +2 -0
- package/dist/esm/components/Slider/SliderOwnFunctions.js +6 -0
- package/dist/esm/components/Slider/types.d.ts +14 -0
- package/dist/esm/hooks/useIntersectionObserver.d.ts +9 -0
- package/dist/esm/hooks/useIntersectionObserver.js +26 -0
- package/dist/esm/hooks/useOutsideClick.d.ts +3 -0
- package/dist/esm/hooks/useOutsideClick.js +17 -0
- package/dist/esm/hooks/useResizeObserver.d.ts +7 -0
- package/dist/esm/hooks/useResizeObserver.js +28 -0
- package/dist/esm/hooks/useWindowsSize.d.ts +6 -0
- package/dist/esm/hooks/useWindowsSize.js +18 -0
- package/dist/esm/index.css +79 -0
- package/dist/esm/index.d.ts +20 -0
- package/dist/esm/index.js +19 -0
- package/dist/esm/languages/en-EN.d.ts +3 -0
- package/dist/esm/languages/en-EN.js +23 -0
- package/dist/esm/languages/es-ES.d.ts +3 -0
- package/dist/esm/languages/es-ES.js +23 -0
- package/dist/esm/languages/it-IT.d.ts +3 -0
- package/dist/esm/languages/it-IT.js +23 -0
- package/dist/esm/languages/types.d.ts +22 -0
- package/dist/esm/mocks/ReactComponentMocksForTesting/CellChildrenMock.d.ts +4 -0
- package/dist/esm/mocks/ReactComponentMocksForTesting/CellChildrenMock.js +8 -0
- package/dist/esm/mocks/ReactComponentMocksForTesting/ListElementChildrenMock.d.ts +4 -0
- package/dist/esm/mocks/ReactComponentMocksForTesting/ListElementChildrenMock.js +5 -0
- package/dist/esm/react-app-env.d.ts +1 -0
- package/dist/esm/setupTests.d.ts +2 -0
- package/dist/esm/setupTests.js +6 -0
- package/dist/esm/stories/CalendarDatePickerMask.d.ts +4 -0
- package/dist/esm/stories/CalendarDatePickerMask.js +16 -0
- package/dist/esm/utils/datesArray.d.ts +8 -0
- package/dist/esm/utils/datesArray.js +21 -0
- package/dist/esm/utils/dayOfTheWeekStartingOnMonday.d.ts +7 -0
- package/dist/esm/utils/dayOfTheWeekStartingOnMonday.js +9 -0
- package/dist/esm/utils/jsToSqlDate.d.ts +7 -0
- package/dist/esm/utils/jsToSqlDate.js +20 -0
- package/dist/esm/utils/monthYearString.d.ts +3 -0
- package/dist/esm/utils/monthYearString.js +25 -0
- package/dist/esm/utils/numberOfDaysInAMonth.d.ts +6 -0
- package/dist/esm/utils/numberOfDaysInAMonth.js +8 -0
- package/dist/esm/utils/numberOfWeeksInAMonth.d.ts +7 -0
- package/dist/esm/utils/numberOfWeeksInAMonth.js +20 -0
- package/dist/esm/utils/sqlToJsDate.d.ts +7 -0
- package/dist/esm/utils/sqlToJsDate.js +12 -0
- package/package.json +7 -15
- package/dist/components/BubbleMenu/index.d.ts +0 -1
- package/dist/components/CalendarDatePicker/index.d.ts +0 -1
- package/dist/components/ExportToExcelButton/index.d.ts +0 -1
- package/dist/components/InputBoxWithConfirmation/index.d.ts +0 -1
- package/dist/components/IntegerControl/index.d.ts +0 -1
- package/dist/components/LabeledInput/index.d.ts +0 -1
- package/dist/components/Modal/index.d.ts +0 -1
- package/dist/components/Multicalendar/index.d.ts +0 -1
- package/dist/components/MultipleJoinedButtonsBar/index.d.ts +0 -1
- package/dist/components/ParallelSelectionList/index.d.ts +0 -1
- package/dist/components/PopUp/index.d.ts +0 -1
- package/dist/components/ProgressBar/index.d.ts +0 -1
- package/dist/components/ScreenSteps/index.d.ts +0 -1
- package/dist/components/ScrollSnapGallery/index.d.ts +0 -1
- package/dist/components/SearchBar/index.d.ts +0 -1
- package/dist/components/SideBar/index.d.ts +0 -1
- package/dist/components/Slider/index.d.ts +0 -1
- package/dist/components/index.d.ts +0 -16
- package/dist/index.d.ts +0 -1
- package/dist/index.esm.js +0 -3635
- package/dist/index.esm.js.map +0 -1
- package/dist/index.js +0 -3652
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const react_1 = __importStar(require("react"));
|
|
30
|
+
const CalendarDatePicker_module_scss_1 = __importDefault(require("./CalendarDatePicker.module.scss"));
|
|
31
|
+
const bs_1 = require("react-icons/bs");
|
|
32
|
+
const InputBoxWithConfirmation_1 = __importDefault(require("../InputBoxWithConfirmation/InputBoxWithConfirmation"));
|
|
33
|
+
const CalendarScrollableSection_1 = __importDefault(require("./subcomponents/CalendarScrollableSection"));
|
|
34
|
+
const calendarDatePickerDictionary = {
|
|
35
|
+
en: {
|
|
36
|
+
january: "january",
|
|
37
|
+
february: "february",
|
|
38
|
+
march: "march",
|
|
39
|
+
april: "april",
|
|
40
|
+
may: "may",
|
|
41
|
+
june: "june",
|
|
42
|
+
july: "july",
|
|
43
|
+
august: "august",
|
|
44
|
+
september: "september",
|
|
45
|
+
october: "october",
|
|
46
|
+
november: "november",
|
|
47
|
+
december: "december",
|
|
48
|
+
monday: "monday",
|
|
49
|
+
tuesday: "tuesday",
|
|
50
|
+
wednesday: "wednesday",
|
|
51
|
+
thursday: "thursday",
|
|
52
|
+
friday: "friday",
|
|
53
|
+
saturday: "saturday",
|
|
54
|
+
sunday: "sunday",
|
|
55
|
+
today: "today",
|
|
56
|
+
},
|
|
57
|
+
es: {
|
|
58
|
+
january: "enero",
|
|
59
|
+
february: "febrero",
|
|
60
|
+
march: "marzo",
|
|
61
|
+
april: "abril",
|
|
62
|
+
may: "mayo",
|
|
63
|
+
june: "junio",
|
|
64
|
+
july: "julio",
|
|
65
|
+
august: "agosto",
|
|
66
|
+
september: "septiembre",
|
|
67
|
+
october: "octubre",
|
|
68
|
+
november: "noviembre",
|
|
69
|
+
december: "diciembre",
|
|
70
|
+
monday: "lunes",
|
|
71
|
+
tuesday: "martes",
|
|
72
|
+
wednesday: "miércoles",
|
|
73
|
+
thursday: "jueves",
|
|
74
|
+
friday: "viernes",
|
|
75
|
+
saturday: "sábado",
|
|
76
|
+
sunday: "domingo",
|
|
77
|
+
today: "hoy",
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
const getMonthName = (month, language) => {
|
|
81
|
+
switch (month) {
|
|
82
|
+
case 0:
|
|
83
|
+
return calendarDatePickerDictionary[language].january;
|
|
84
|
+
case 1:
|
|
85
|
+
return calendarDatePickerDictionary[language].february;
|
|
86
|
+
case 2:
|
|
87
|
+
return calendarDatePickerDictionary[language].march;
|
|
88
|
+
case 3:
|
|
89
|
+
return calendarDatePickerDictionary[language].april;
|
|
90
|
+
case 4:
|
|
91
|
+
return calendarDatePickerDictionary[language].may;
|
|
92
|
+
case 5:
|
|
93
|
+
return calendarDatePickerDictionary[language].june;
|
|
94
|
+
case 6:
|
|
95
|
+
return calendarDatePickerDictionary[language].july;
|
|
96
|
+
case 7:
|
|
97
|
+
return calendarDatePickerDictionary[language].august;
|
|
98
|
+
case 8:
|
|
99
|
+
return calendarDatePickerDictionary[language].september;
|
|
100
|
+
case 9:
|
|
101
|
+
return calendarDatePickerDictionary[language].october;
|
|
102
|
+
case 10:
|
|
103
|
+
return calendarDatePickerDictionary[language].november;
|
|
104
|
+
case 11:
|
|
105
|
+
return calendarDatePickerDictionary[language].december;
|
|
106
|
+
default:
|
|
107
|
+
return "";
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
const CalendarDatePicker = ({ mode, onSelectedDatesChange = () => { }, language = "en", customDates = [], title, minimumDate = new Date(1970, 0, 1), maximumDate = new Date(new Date().getFullYear() + 100, 1, 1), customStyle, }) => {
|
|
111
|
+
const [dates, setDates] = (0, react_1.useState)([]);
|
|
112
|
+
const [year, setYear] = (0, react_1.useState)(new Date().getFullYear());
|
|
113
|
+
const [month, setMonth] = (0, react_1.useState)(new Date().getMonth());
|
|
114
|
+
const [reloadKey, setReloadKey] = (0, react_1.useState)(Math.random());
|
|
115
|
+
const isDateValidForChange = (date) => {
|
|
116
|
+
const minimumMonthFirstDate = new Date(minimumDate.getFullYear(), minimumDate.getMonth(), 1);
|
|
117
|
+
const maximumMonthLastDate = new Date(maximumDate.getFullYear(), maximumDate.getMonth() + 1, 0);
|
|
118
|
+
const isDateHigherThanMinimumMonthFirstDate = date.valueOf() >= minimumMonthFirstDate.valueOf();
|
|
119
|
+
const isDateLowerThanMaximumMonthLastDate = date.valueOf() <= maximumMonthLastDate.valueOf();
|
|
120
|
+
return isDateHigherThanMinimumMonthFirstDate && isDateLowerThanMaximumMonthLastDate;
|
|
121
|
+
};
|
|
122
|
+
return (react_1.default.createElement("div", { className: CalendarDatePicker_module_scss_1.default["calendar-date-picker"], style: customStyle },
|
|
123
|
+
react_1.default.createElement("section", { className: CalendarDatePicker_module_scss_1.default["title"] },
|
|
124
|
+
react_1.default.createElement(bs_1.BsFillCalendar3WeekFill, null),
|
|
125
|
+
title,
|
|
126
|
+
react_1.default.createElement("button", { className: CalendarDatePicker_module_scss_1.default["today-button"], onClick: () => {
|
|
127
|
+
const today = new Date();
|
|
128
|
+
if (isDateValidForChange(today)) {
|
|
129
|
+
setMonth(today.getMonth());
|
|
130
|
+
setYear(today.getFullYear());
|
|
131
|
+
setReloadKey(Math.random());
|
|
132
|
+
}
|
|
133
|
+
} }, calendarDatePickerDictionary[language]["today"].slice(0, 1).toUpperCase() +
|
|
134
|
+
calendarDatePickerDictionary[language]["today"].slice(1))),
|
|
135
|
+
react_1.default.createElement("section", { className: CalendarDatePicker_module_scss_1.default["month-and-year"] },
|
|
136
|
+
react_1.default.createElement("select", { style: { fontFamily: customStyle === null || customStyle === void 0 ? void 0 : customStyle.fontFamily }, className: CalendarDatePicker_module_scss_1.default["month-input"], value: month, onChange: (event) => {
|
|
137
|
+
const numericValue = Number(event.target.value);
|
|
138
|
+
setMonth(numericValue);
|
|
139
|
+
setReloadKey(Math.random());
|
|
140
|
+
} }, Array(12)
|
|
141
|
+
.fill(0)
|
|
142
|
+
.map((_, index) => {
|
|
143
|
+
const referenceDate = new Date(year, index, 1);
|
|
144
|
+
const isDisabled = !isDateValidForChange(referenceDate);
|
|
145
|
+
return (react_1.default.createElement("option", { key: getMonthName(index, language), value: index, disabled: isDisabled }, getMonthName(index, language)));
|
|
146
|
+
})),
|
|
147
|
+
react_1.default.createElement(InputBoxWithConfirmation_1.default, { inputType: "number", divWrapperCustomStyle: {
|
|
148
|
+
width: "4ch",
|
|
149
|
+
border: "none",
|
|
150
|
+
backgroundColor: "transparent",
|
|
151
|
+
fontFamily: customStyle === null || customStyle === void 0 ? void 0 : customStyle.fontFamily,
|
|
152
|
+
}, inputBoxCustomStyle: {
|
|
153
|
+
padding: 0,
|
|
154
|
+
fontFamily: customStyle === null || customStyle === void 0 ? void 0 : customStyle.fontFamily,
|
|
155
|
+
}, maxLength: 4, defaultValue: year.toString(), overrideCurrentValue: year.toString(), minimumValue: minimumDate.getFullYear().toString(), maximumValue: maximumDate.getFullYear().toString(), onConfirmAction: (inputCurrentValue) => {
|
|
156
|
+
let numericValue = Number(inputCurrentValue);
|
|
157
|
+
const referenceDate = new Date(numericValue, month, 1);
|
|
158
|
+
if (!isDateValidForChange(referenceDate)) {
|
|
159
|
+
if (referenceDate.valueOf() < minimumDate.valueOf()) {
|
|
160
|
+
setYear(minimumDate.getFullYear());
|
|
161
|
+
setMonth(minimumDate.getMonth());
|
|
162
|
+
setReloadKey(Math.random());
|
|
163
|
+
}
|
|
164
|
+
else if (referenceDate.valueOf() > maximumDate.valueOf()) {
|
|
165
|
+
setYear(maximumDate.getFullYear());
|
|
166
|
+
setMonth(maximumDate.getMonth());
|
|
167
|
+
setReloadKey(Math.random());
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
else {
|
|
171
|
+
setYear(numericValue);
|
|
172
|
+
setReloadKey(Math.random());
|
|
173
|
+
}
|
|
174
|
+
} })),
|
|
175
|
+
react_1.default.createElement("section", { className: CalendarDatePicker_module_scss_1.default["week-days"] },
|
|
176
|
+
react_1.default.createElement("p", null, calendarDatePickerDictionary[language].monday.slice(0, 1).toUpperCase()),
|
|
177
|
+
react_1.default.createElement("p", null, calendarDatePickerDictionary[language].tuesday.slice(0, 1).toUpperCase()),
|
|
178
|
+
react_1.default.createElement("p", null, calendarDatePickerDictionary[language].wednesday.slice(0, 1).toUpperCase()),
|
|
179
|
+
react_1.default.createElement("p", null, calendarDatePickerDictionary[language].thursday.slice(0, 1).toUpperCase()),
|
|
180
|
+
react_1.default.createElement("p", null, calendarDatePickerDictionary[language].friday.slice(0, 1).toUpperCase()),
|
|
181
|
+
react_1.default.createElement("p", null, calendarDatePickerDictionary[language].saturday.slice(0, 1).toUpperCase()),
|
|
182
|
+
react_1.default.createElement("p", null, calendarDatePickerDictionary[language].sunday.slice(0, 1).toUpperCase())),
|
|
183
|
+
react_1.default.createElement(CalendarScrollableSection_1.default, { key: reloadKey, dates: dates, year: year, month: month, mode: mode, onSelectedDatesChange: (selectedDates) => {
|
|
184
|
+
onSelectedDatesChange(selectedDates);
|
|
185
|
+
setDates(selectedDates);
|
|
186
|
+
}, onFocusedMonth: (month, year) => {
|
|
187
|
+
setMonth(month);
|
|
188
|
+
setYear(year);
|
|
189
|
+
}, customDates: customDates, minimumDate: minimumDate, maximumDate: maximumDate })));
|
|
190
|
+
};
|
|
191
|
+
exports.default = CalendarDatePicker;
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
@property --angle {
|
|
2
|
+
sintax: "<angle>";
|
|
3
|
+
inherits: false;
|
|
4
|
+
initial-value: 270deg;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
@property --color-default {
|
|
8
|
+
sintax: "<color>";
|
|
9
|
+
inherits: false;
|
|
10
|
+
initial-value: white;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@property --color-selected {
|
|
14
|
+
sintax: "<color>";
|
|
15
|
+
inherits: false;
|
|
16
|
+
initial-value: #e3f3e3;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
@property --percentage-default {
|
|
20
|
+
sintax: "<percentage>";
|
|
21
|
+
inherits: false;
|
|
22
|
+
initial-value: 100%;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@property --percentage-selected {
|
|
26
|
+
sintax: "<percentage>";
|
|
27
|
+
inherits: false;
|
|
28
|
+
initial-value: 0%;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.calendar-date-picker {
|
|
32
|
+
font-family: Arial, Helvetica, sans-serif;
|
|
33
|
+
width: 390px;
|
|
34
|
+
color: #959595;
|
|
35
|
+
font-weight: 600;
|
|
36
|
+
font-style: normal;
|
|
37
|
+
line-height: normal;
|
|
38
|
+
.title {
|
|
39
|
+
position: relative;
|
|
40
|
+
display: flex;
|
|
41
|
+
align-items: center;
|
|
42
|
+
width: 100%;
|
|
43
|
+
font-size: 16px;
|
|
44
|
+
svg {
|
|
45
|
+
margin: 0px 5px;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
.today-button {
|
|
49
|
+
position: absolute;
|
|
50
|
+
top: 0px;
|
|
51
|
+
right: 5px;
|
|
52
|
+
border: solid 2px #787878;
|
|
53
|
+
border-radius: 6px;
|
|
54
|
+
padding: 4px 8px;
|
|
55
|
+
background-color: white;
|
|
56
|
+
color: #787878;
|
|
57
|
+
transition: all 0.1s ease-in-out;
|
|
58
|
+
cursor: pointer;
|
|
59
|
+
&:hover {
|
|
60
|
+
background-color: #f3f3f3;
|
|
61
|
+
}
|
|
62
|
+
&:active {
|
|
63
|
+
background-color: #cfcfcf;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
.month-and-year {
|
|
67
|
+
display: flex;
|
|
68
|
+
align-items: center;
|
|
69
|
+
justify-content: center;
|
|
70
|
+
width: 100%;
|
|
71
|
+
text-align: center;
|
|
72
|
+
font-size: 22px;
|
|
73
|
+
padding: 10px 0px;
|
|
74
|
+
.month-input {
|
|
75
|
+
width: fit-content;
|
|
76
|
+
background-color: transparent;
|
|
77
|
+
border: transparent;
|
|
78
|
+
text-align: right;
|
|
79
|
+
font-size: 18px;
|
|
80
|
+
color: #959595;
|
|
81
|
+
cursor: pointer;
|
|
82
|
+
&:focus {
|
|
83
|
+
outline: transparent;
|
|
84
|
+
}
|
|
85
|
+
option {
|
|
86
|
+
background-color: white;
|
|
87
|
+
color: #959595;
|
|
88
|
+
&:disabled {
|
|
89
|
+
color: #cfcfcf;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
.week-days {
|
|
95
|
+
display: flex;
|
|
96
|
+
align-items: center;
|
|
97
|
+
border-bottom: 1px solid #ebebeb;
|
|
98
|
+
p {
|
|
99
|
+
width: calc(100% / 7);
|
|
100
|
+
margin: 0px;
|
|
101
|
+
text-align: center;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
import { CalendarDatePickerProps } from "../CalendarDatePicker";
|
|
3
|
-
type CalendarScrollableSectionProps = {
|
|
4
|
-
dates: Date[];
|
|
5
|
-
month: number;
|
|
6
|
-
year: number;
|
|
7
|
-
mode: CalendarDatePickerProps["mode"];
|
|
8
|
-
onSelectedDatesChange: CalendarDatePickerProps["onSelectedDatesChange"];
|
|
9
|
-
onFocusedMonth: (month: number, year: number) => void;
|
|
10
|
-
customDates: CalendarDatePickerProps["customDates"];
|
|
11
|
-
minimumDate?: CalendarDatePickerProps["minimumDate"];
|
|
12
|
-
maximumDate?: CalendarDatePickerProps["maximumDate"];
|
|
13
|
-
};
|
|
14
|
-
declare const CalendarScrollableSection: ({ dates, month, year, mode, onSelectedDatesChange, onFocusedMonth, customDates, minimumDate, maximumDate, }: CalendarScrollableSectionProps) => React.JSX.Element;
|
|
15
|
-
export default CalendarScrollableSection;
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { CalendarDatePickerProps } from "../CalendarDatePicker";
|
|
3
|
+
type CalendarScrollableSectionProps = {
|
|
4
|
+
dates: Date[];
|
|
5
|
+
month: number;
|
|
6
|
+
year: number;
|
|
7
|
+
mode: CalendarDatePickerProps["mode"];
|
|
8
|
+
onSelectedDatesChange: CalendarDatePickerProps["onSelectedDatesChange"];
|
|
9
|
+
onFocusedMonth: (month: number, year: number) => void;
|
|
10
|
+
customDates: CalendarDatePickerProps["customDates"];
|
|
11
|
+
minimumDate?: CalendarDatePickerProps["minimumDate"];
|
|
12
|
+
maximumDate?: CalendarDatePickerProps["maximumDate"];
|
|
13
|
+
};
|
|
14
|
+
declare const CalendarScrollableSection: ({ dates, month, year, mode, onSelectedDatesChange, onFocusedMonth, customDates, minimumDate, maximumDate, }: CalendarScrollableSectionProps) => React.JSX.Element;
|
|
15
|
+
export default CalendarScrollableSection;
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const react_1 = __importStar(require("react"));
|
|
30
|
+
const CalendarScrollableSection_module_scss_1 = __importDefault(require("./CalendarScrollableSection.module.scss"));
|
|
31
|
+
const dayOfTheWeekStartingOnMonday_1 = __importDefault(require("../../../utils/dayOfTheWeekStartingOnMonday"));
|
|
32
|
+
const numberOfWeeksInAMonth_1 = __importDefault(require("../../../utils/numberOfWeeksInAMonth"));
|
|
33
|
+
const jsToSqlDate_1 = __importDefault(require("../../../utils/jsToSqlDate"));
|
|
34
|
+
const useIntersectionObserver_1 = __importDefault(require("../../../hooks/useIntersectionObserver"));
|
|
35
|
+
const reducer = (state, action) => {
|
|
36
|
+
const isAValidDateChange = (year, month) => {
|
|
37
|
+
const referenceDate = new Date(year, month, 1);
|
|
38
|
+
const minimumMonthDate = new Date(state.minimumDate.getFullYear(), state.minimumDate.getMonth(), 1);
|
|
39
|
+
const maximumMonthDate = new Date(state.maximumDate.getFullYear(), state.maximumDate.getMonth() + 1, 0);
|
|
40
|
+
const isReferenceDateLowerThanMinimumMonthDate = referenceDate.valueOf() < minimumMonthDate.valueOf();
|
|
41
|
+
const isReferenceDateHigherThanMaximumMonthDate = referenceDate.valueOf() > maximumMonthDate.valueOf();
|
|
42
|
+
if (isReferenceDateLowerThanMinimumMonthDate ||
|
|
43
|
+
isReferenceDateHigherThanMaximumMonthDate) {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
return true;
|
|
47
|
+
};
|
|
48
|
+
const actionsDictionary = {
|
|
49
|
+
setMonth: () => {
|
|
50
|
+
if (isAValidDateChange(state.year, action.value)) {
|
|
51
|
+
return Object.assign(Object.assign({}, state), { month: action.value });
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return Object.assign({}, state);
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
setYear: () => {
|
|
58
|
+
if (isAValidDateChange(action.value, state.month)) {
|
|
59
|
+
return Object.assign(Object.assign({}, state), { year: action.value });
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
return Object.assign({}, state);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
setMinimumDate: () => {
|
|
66
|
+
return Object.assign(Object.assign({}, state), { minimumDate: new Date(action.value) });
|
|
67
|
+
},
|
|
68
|
+
setMaximumdate: () => {
|
|
69
|
+
return Object.assign(Object.assign({}, state), { maximumDate: new Date(action.value) });
|
|
70
|
+
},
|
|
71
|
+
changeByMonthOffset: () => {
|
|
72
|
+
const referenceDate = new Date(state.year, state.month + action.value, 1);
|
|
73
|
+
if (isAValidDateChange(state.year, state.month + action.value)) {
|
|
74
|
+
return Object.assign(Object.assign({}, state), { year: referenceDate.getFullYear(), month: referenceDate.getMonth() });
|
|
75
|
+
}
|
|
76
|
+
else {
|
|
77
|
+
return Object.assign({}, state);
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
const newState = actionsDictionary[action.type]();
|
|
82
|
+
if (newState) {
|
|
83
|
+
return newState;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
return Object.assign({}, state);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
const CalendarScrollableSection = ({ dates, month, year, mode, onSelectedDatesChange, onFocusedMonth, customDates = [], minimumDate = new Date(1970, 0, 1), maximumDate = new Date(new Date().getFullYear() + 100, 1, 1), }) => {
|
|
90
|
+
const [state, dispatch] = (0, react_1.useReducer)(reducer, {
|
|
91
|
+
month: month,
|
|
92
|
+
year: year,
|
|
93
|
+
minimumDate: minimumDate,
|
|
94
|
+
maximumDate: maximumDate,
|
|
95
|
+
});
|
|
96
|
+
const monthsContainerRef = (0, react_1.useRef)(null);
|
|
97
|
+
const firstMonthRef = (0, react_1.useRef)(null);
|
|
98
|
+
const secondMonthRef = (0, react_1.useRef)(null);
|
|
99
|
+
const fourthMonthRef = (0, react_1.useRef)(null);
|
|
100
|
+
const fifthMonthRef = (0, react_1.useRef)(null);
|
|
101
|
+
const isFirstMonthVisible = (0, useIntersectionObserver_1.default)(firstMonthRef, {
|
|
102
|
+
rootMargin: "0px",
|
|
103
|
+
threshold: 1.0,
|
|
104
|
+
});
|
|
105
|
+
const isSecondMonthVisible = (0, useIntersectionObserver_1.default)(secondMonthRef, {
|
|
106
|
+
rootMargin: "0px",
|
|
107
|
+
threshold: 1.0,
|
|
108
|
+
});
|
|
109
|
+
const isFourthMonthVisible = (0, useIntersectionObserver_1.default)(fourthMonthRef, {
|
|
110
|
+
rootMargin: "0px",
|
|
111
|
+
threshold: 1.0,
|
|
112
|
+
});
|
|
113
|
+
const isFifthMonthVisible = (0, useIntersectionObserver_1.default)(fifthMonthRef, {
|
|
114
|
+
rootMargin: "0px",
|
|
115
|
+
threshold: 1.0,
|
|
116
|
+
});
|
|
117
|
+
const isDateSelectable = (date) => {
|
|
118
|
+
// * If date is not found in custom dates or selectable preoperty is set to true, it returns true
|
|
119
|
+
const isNotSelectable = customDates.some((customDate) => {
|
|
120
|
+
return (customDate.dates.some((includedDate) => includedDate.valueOf() === date.valueOf()) && !customDate.selectable);
|
|
121
|
+
});
|
|
122
|
+
return !isNotSelectable;
|
|
123
|
+
};
|
|
124
|
+
const dayCellClassName = (date) => {
|
|
125
|
+
let className = CalendarScrollableSection_module_scss_1.default["day-cell"];
|
|
126
|
+
const isCrosssed = customDates.some((customDate) => {
|
|
127
|
+
return (customDate.dates.some((includedDate) => includedDate.valueOf() === date.valueOf()) && customDate.crossed);
|
|
128
|
+
});
|
|
129
|
+
if (isCrosssed) {
|
|
130
|
+
className += ` ${CalendarScrollableSection_module_scss_1.default["crossed"]}`;
|
|
131
|
+
}
|
|
132
|
+
return className;
|
|
133
|
+
};
|
|
134
|
+
const dateClassName = (date) => {
|
|
135
|
+
let className = CalendarScrollableSection_module_scss_1.default["day"];
|
|
136
|
+
const isToday = (0, jsToSqlDate_1.default)(date) === (0, jsToSqlDate_1.default)(new Date());
|
|
137
|
+
if (isToday) {
|
|
138
|
+
className += ` ${CalendarScrollableSection_module_scss_1.default["today"]}`;
|
|
139
|
+
}
|
|
140
|
+
if (date.getMonth() === state.month) {
|
|
141
|
+
className += ` ${CalendarScrollableSection_module_scss_1.default["in-month"]}`;
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
className += ` ${CalendarScrollableSection_module_scss_1.default["not-in-month"]}`;
|
|
145
|
+
}
|
|
146
|
+
const isDateSelected = dates.some((includedDate) => includedDate.valueOf() === date.valueOf());
|
|
147
|
+
const isDateInRange = (mode === "range" || mode === "booking") &&
|
|
148
|
+
dates.length === 2 &&
|
|
149
|
+
dates[0].valueOf() < date.valueOf() &&
|
|
150
|
+
date.valueOf() < dates[1].valueOf();
|
|
151
|
+
if (isDateSelected || isDateInRange) {
|
|
152
|
+
className += ` ${CalendarScrollableSection_module_scss_1.default["selected"]}`;
|
|
153
|
+
}
|
|
154
|
+
if (mode === "booking") {
|
|
155
|
+
const isCheckInDate = dates.length === 2 && date.valueOf() === dates[0].valueOf();
|
|
156
|
+
if (isCheckInDate) {
|
|
157
|
+
className += ` ${CalendarScrollableSection_module_scss_1.default["check-in"]}`;
|
|
158
|
+
}
|
|
159
|
+
const isCheckOutDate = dates.length === 2 && date.valueOf() === dates[1].valueOf();
|
|
160
|
+
if (isCheckOutDate) {
|
|
161
|
+
className += ` ${CalendarScrollableSection_module_scss_1.default["check-out"]}`;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
if (isDateSelectable(date)) {
|
|
165
|
+
className += ` ${CalendarScrollableSection_module_scss_1.default["selectable"]}`;
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
className += ` ${CalendarScrollableSection_module_scss_1.default["not-selectable"]}`;
|
|
169
|
+
}
|
|
170
|
+
const isOutOfSelection = date.valueOf() < minimumDate.valueOf() || date.valueOf() > maximumDate.valueOf();
|
|
171
|
+
if (isOutOfSelection) {
|
|
172
|
+
className += ` ${CalendarScrollableSection_module_scss_1.default["out-of-selection"]}`;
|
|
173
|
+
}
|
|
174
|
+
return className;
|
|
175
|
+
};
|
|
176
|
+
const handleDateSelection = (date) => {
|
|
177
|
+
// custom side effects
|
|
178
|
+
customDates.forEach((customDate) => {
|
|
179
|
+
if (customDate.dates.some((includedDate) => includedDate.valueOf() === date.valueOf()) &&
|
|
180
|
+
customDate.clickSideEffect) {
|
|
181
|
+
customDate.clickSideEffect(date);
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
const isSelectable = isDateSelectable(date);
|
|
185
|
+
if (!isSelectable) {
|
|
186
|
+
return;
|
|
187
|
+
}
|
|
188
|
+
const isOutOfSelection = date.valueOf() < minimumDate.valueOf() || date.valueOf() > maximumDate.valueOf();
|
|
189
|
+
if (isOutOfSelection) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
let datesClone = [...dates];
|
|
193
|
+
if (mode === "single") {
|
|
194
|
+
datesClone = [date];
|
|
195
|
+
}
|
|
196
|
+
if (mode === "multiple") {
|
|
197
|
+
if (dates.some((includedDate) => includedDate.valueOf() === date.valueOf())) {
|
|
198
|
+
datesClone = dates.filter((includedDate) => includedDate.valueOf() !== date.valueOf());
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
datesClone = [...dates, date];
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
if (mode === "range") {
|
|
205
|
+
if (dates.length === 0) {
|
|
206
|
+
datesClone = [date];
|
|
207
|
+
}
|
|
208
|
+
else if (dates.length === 1) {
|
|
209
|
+
if (dates[0].valueOf() < date.valueOf()) {
|
|
210
|
+
datesClone = [...dates, date];
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
datesClone = [date, dates[0]];
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
else {
|
|
217
|
+
datesClone = [];
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
if (mode === "booking") {
|
|
221
|
+
if (dates.length === 0) {
|
|
222
|
+
datesClone = [date];
|
|
223
|
+
}
|
|
224
|
+
else if (dates[0].valueOf() === date.valueOf()) {
|
|
225
|
+
datesClone = [];
|
|
226
|
+
}
|
|
227
|
+
else if (dates.length === 1) {
|
|
228
|
+
if (dates[0].valueOf() < date.valueOf()) {
|
|
229
|
+
datesClone = [...dates, date];
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
datesClone = [date, dates[0]];
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
datesClone = [];
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
onSelectedDatesChange(datesClone);
|
|
240
|
+
};
|
|
241
|
+
const customColorStyleObject = (date) => {
|
|
242
|
+
const customDate = customDates.find((customDate) => customDate.dates.some((includedDate) => includedDate.valueOf() === date.valueOf()));
|
|
243
|
+
if (customDate) {
|
|
244
|
+
return {
|
|
245
|
+
backgroundColor: customDate.color,
|
|
246
|
+
};
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
return undefined;
|
|
250
|
+
}
|
|
251
|
+
};
|
|
252
|
+
(0, react_1.useEffect)(() => {
|
|
253
|
+
if (monthsContainerRef.current) {
|
|
254
|
+
monthsContainerRef.current.scrollTop = 416;
|
|
255
|
+
}
|
|
256
|
+
}, []);
|
|
257
|
+
(0, react_1.useEffect)(() => {
|
|
258
|
+
onFocusedMonth(state.month, state.year);
|
|
259
|
+
}, [state.year, state.month, onFocusedMonth]);
|
|
260
|
+
(0, react_1.useEffect)(() => {
|
|
261
|
+
if (isSecondMonthVisible || isFirstMonthVisible) {
|
|
262
|
+
dispatch({ type: "changeByMonthOffset", value: -1 });
|
|
263
|
+
}
|
|
264
|
+
}, [isFirstMonthVisible, isSecondMonthVisible]);
|
|
265
|
+
(0, react_1.useEffect)(() => {
|
|
266
|
+
if (isFourthMonthVisible || isFifthMonthVisible) {
|
|
267
|
+
dispatch({ type: "changeByMonthOffset", value: 1 });
|
|
268
|
+
}
|
|
269
|
+
}, [isFourthMonthVisible, isFifthMonthVisible]);
|
|
270
|
+
return (react_1.default.createElement("section", { ref: monthsContainerRef, className: CalendarScrollableSection_module_scss_1.default["calendar-scrollable-section"] }, Array(5)
|
|
271
|
+
.fill(0)
|
|
272
|
+
.map((_, gridIndex) => {
|
|
273
|
+
const monthOffset = gridIndex - 2;
|
|
274
|
+
const referenceDate = new Date(state.year, state.month + monthOffset, 1);
|
|
275
|
+
const lastDayOfTheMonth = new Date(state.year, state.month + monthOffset + 1, 0);
|
|
276
|
+
const isLastDayOfTheMonthSunday = lastDayOfTheMonth.getDay() === 0;
|
|
277
|
+
let numberOfWeeksInMonth = (0, numberOfWeeksInAMonth_1.default)(referenceDate);
|
|
278
|
+
if (!isLastDayOfTheMonthSunday) {
|
|
279
|
+
numberOfWeeksInMonth = numberOfWeeksInMonth - 1;
|
|
280
|
+
}
|
|
281
|
+
const firstDayInMonthDayOfWeek = (0, dayOfTheWeekStartingOnMonday_1.default)(referenceDate);
|
|
282
|
+
return (react_1.default.createElement("div", { ref: [firstMonthRef, secondMonthRef, null, fourthMonthRef, fifthMonthRef][gridIndex], className: CalendarScrollableSection_module_scss_1.default["days-grid"], key: `grid:${(0, jsToSqlDate_1.default)(referenceDate)}}` }, Array(numberOfWeeksInMonth)
|
|
283
|
+
.fill(0)
|
|
284
|
+
.map((_, rowIndex) => (react_1.default.createElement("div", { className: CalendarScrollableSection_module_scss_1.default["days-row"], key: `grid:${(0, jsToSqlDate_1.default)(referenceDate)}-row:${rowIndex}` }, Array(7)
|
|
285
|
+
.fill(0)
|
|
286
|
+
.map((_, columnIndex) => {
|
|
287
|
+
const numberOfMonth = state.month + monthOffset;
|
|
288
|
+
const numberOfDay = rowIndex * 7 + columnIndex + 1 - firstDayInMonthDayOfWeek;
|
|
289
|
+
const date = new Date(state.year, numberOfMonth, numberOfDay);
|
|
290
|
+
return (react_1.default.createElement("div", { className: dayCellClassName(date), key: (0, jsToSqlDate_1.default)(date), onClick: () => handleDateSelection(date) },
|
|
291
|
+
react_1.default.createElement("div", { className: CalendarScrollableSection_module_scss_1.default["cross-line"] }),
|
|
292
|
+
react_1.default.createElement("div", { className: dateClassName(date) },
|
|
293
|
+
react_1.default.createElement("div", { className: CalendarScrollableSection_module_scss_1.default["background"] },
|
|
294
|
+
react_1.default.createElement("div", { className: CalendarScrollableSection_module_scss_1.default["first-half"], style: customColorStyleObject(date) }),
|
|
295
|
+
react_1.default.createElement("div", { className: CalendarScrollableSection_module_scss_1.default["second-half"], style: customColorStyleObject(date) })),
|
|
296
|
+
react_1.default.createElement("p", null, date.getDate()))));
|
|
297
|
+
}))))));
|
|
298
|
+
})));
|
|
299
|
+
};
|
|
300
|
+
exports.default = CalendarScrollableSection;
|