@salutejs/plasma-new-hope 0.109.0-canary.1310.10007111729.0 → 0.109.1-canary.1301.10056166255.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Accordion/Accordion.js +1 -1
- package/cjs/components/Accordion/Accordion.js.map +1 -1
- package/cjs/components/Accordion/Accordion.tokens.js +4 -1
- package/cjs/components/Accordion/Accordion.tokens.js.map +1 -1
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +16 -9
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/cjs/components/Accordion/utils/index.js +4 -3
- package/cjs/components/Accordion/utils/index.js.map +1 -1
- package/cjs/components/Calendar/Calendar.tokens.js +32 -6
- package/cjs/components/Calendar/Calendar.tokens.js.map +1 -1
- package/cjs/components/Calendar/Calendar.types.js.map +1 -1
- package/cjs/components/Calendar/CalendarBase/CalendarBase.css +20 -21
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js +88 -140
- package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.css +23 -21
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +269 -104
- package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/cjs/components/Calendar/hoc/withRange.js +17 -9
- package/cjs/components/Calendar/hoc/withRange.js.map +1 -1
- package/cjs/components/Calendar/hooks/useCalendarDateChange.js +92 -0
- package/cjs/components/Calendar/hooks/useCalendarDateChange.js.map +1 -0
- package/cjs/components/Calendar/hooks/useCalendarNavigation.js +98 -0
- package/cjs/components/Calendar/hooks/useCalendarNavigation.js.map +1 -0
- package/cjs/components/Calendar/hooks/useDays.js +34 -148
- package/cjs/components/Calendar/hooks/useDays.js.map +1 -1
- package/cjs/components/Calendar/hooks/useKeyNavigation.js +27 -16
- package/cjs/components/Calendar/hooks/useKeyNavigation.js.map +1 -1
- package/cjs/components/Calendar/hooks/useMonths.js +37 -8
- package/cjs/components/Calendar/hooks/useMonths.js.map +1 -1
- package/cjs/components/Calendar/hooks/useQuarters.js +57 -0
- package/cjs/components/Calendar/hooks/useQuarters.js.map +1 -0
- package/cjs/components/Calendar/hooks/useYears.js +39 -8
- package/cjs/components/Calendar/hooks/useYears.js.map +1 -1
- package/cjs/components/Calendar/store/reducer.js +34 -12
- package/cjs/components/Calendar/store/reducer.js.map +1 -1
- package/cjs/components/Calendar/store/types.js +1 -0
- package/cjs/components/Calendar/store/types.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.css +4 -4
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +36 -26
- package/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.css +8 -8
- package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +16 -10
- package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +2 -2
- package/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js.map +1 -1
- package/{es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles_gnorek.css → cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles_1jfelqf.css} +2 -2
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.css +7 -4
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +96 -27
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.styles.js +1 -13
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.styles.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.styles_1v3msg.css +2 -0
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.css +7 -0
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +149 -0
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -0
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles.js +21 -0
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles.js.map +1 -0
- package/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles_14gqhct.css +2 -0
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.css +7 -4
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +99 -25
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.styles.js +1 -13
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.styles.js.map +1 -1
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.styles_1d4ov6t.css +2 -0
- package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.css +4 -0
- package/cjs/components/Calendar/ui/{CalendarDayItem/CalendarDayItem.js → DateStructureItem/DateStructureItem.js} +23 -21
- package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js.map +1 -0
- package/cjs/components/Calendar/ui/{CalendarDayItem/CalendarDayItem.styles.js → DateStructureItem/DateStructureItem.styles.js} +19 -27
- package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js.map +1 -0
- package/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.styles_1nxxafr.css +4 -0
- package/cjs/components/Calendar/utils/calendarGridHelper.js +173 -0
- package/cjs/components/Calendar/utils/calendarGridHelper.js.map +1 -0
- package/cjs/components/Calendar/utils/calendarRangeHelper.js +122 -0
- package/cjs/components/Calendar/utils/calendarRangeHelper.js.map +1 -0
- package/cjs/components/Calendar/utils/constants.js +60 -0
- package/cjs/components/Calendar/utils/constants.js.map +1 -0
- package/cjs/components/Calendar/utils/getDateWithModification.js +188 -0
- package/cjs/components/Calendar/utils/getDateWithModification.js.map +1 -0
- package/cjs/components/DatePicker/DatePicker.tokens.js +11 -0
- package/cjs/components/DatePicker/DatePicker.tokens.js.map +1 -1
- package/cjs/components/DatePicker/DatePickerBase.styles.js +1 -1
- package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
- package/cjs/components/DatePicker/{DatePickerBase.styles_1thp2xv.css → DatePickerBase.styles_192va2p.css} +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDate.css +22 -23
- package/cjs/components/DatePicker/RangeDate/RangeDate.js +18 -6
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +22 -23
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +18 -0
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
- package/{es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_wp3vfj.css → cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1gljtdv.css} +2 -2
- package/cjs/components/DatePicker/SingleDate/SingleDate.css +21 -22
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +15 -3
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/DatePicker/hooks/useDatePicker.js +7 -3
- package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
- package/cjs/components/TextArea/TextArea.js +5 -5
- package/cjs/components/TextArea/TextArea.js.map +1 -1
- package/cjs/index.css +23 -24
- package/cjs/utils/datejs.js +4 -0
- package/cjs/utils/datejs.js.map +1 -1
- package/emotion/cjs/components/Accordion/Accordion.js +1 -1
- package/emotion/cjs/components/Accordion/Accordion.tokens.js +4 -1
- package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +19 -7
- package/emotion/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/emotion/cjs/components/Accordion/utils/index.js +4 -3
- package/emotion/cjs/components/Calendar/Calendar.template-doc.mdx +236 -150
- package/emotion/cjs/components/Calendar/Calendar.tokens.js +32 -7
- package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +84 -139
- package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +261 -101
- package/emotion/cjs/components/Calendar/hoc/withRange.js +14 -6
- package/emotion/cjs/components/Calendar/hooks/index.js +22 -1
- package/emotion/cjs/components/Calendar/hooks/useCalendarDateChange.js +90 -0
- package/emotion/cjs/components/Calendar/hooks/useCalendarNavigation.js +96 -0
- package/emotion/cjs/components/Calendar/hooks/useDays.js +21 -137
- package/emotion/cjs/components/Calendar/hooks/useKeyNavigation.js +26 -15
- package/emotion/cjs/components/Calendar/hooks/useMonths.js +32 -6
- package/emotion/cjs/components/Calendar/hooks/useQuarters.js +52 -0
- package/emotion/cjs/components/Calendar/hooks/useYears.js +34 -6
- package/emotion/cjs/components/Calendar/mixins/selected.js +2 -9
- package/emotion/cjs/components/Calendar/store/reducer.js +27 -6
- package/emotion/cjs/components/Calendar/store/types.js +1 -0
- package/emotion/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +28 -17
- package/emotion/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +13 -8
- package/emotion/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +14 -9
- package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +97 -27
- package/emotion/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.styles.js +6 -35
- package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +156 -0
- package/emotion/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles.js +18 -0
- package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +100 -25
- package/emotion/cjs/components/Calendar/ui/CalendarYears/CalendarYears.styles.js +6 -35
- package/{styled-components/cjs/components/Calendar/ui/CalendarDayItem/CalendarDayItem.js → emotion/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js} +22 -20
- package/emotion/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js +85 -0
- package/emotion/cjs/components/Calendar/ui/index.js +7 -0
- package/emotion/cjs/components/Calendar/utils/calendarGridHelper.js +164 -0
- package/emotion/cjs/components/Calendar/utils/calendarRangeHelper.js +117 -0
- package/emotion/cjs/components/Calendar/utils/constants.js +48 -0
- package/emotion/cjs/components/Calendar/utils/getDateWithModification.js +186 -0
- package/emotion/cjs/components/Calendar/utils/index.js +39 -243
- package/emotion/cjs/components/DatePicker/DatePicker.template-doc.mdx +10 -1
- package/emotion/cjs/components/DatePicker/DatePicker.tokens.js +11 -0
- package/emotion/cjs/components/DatePicker/DatePickerBase.styles.js +2 -2
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +18 -6
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +18 -0
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +15 -3
- package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +7 -3
- package/emotion/cjs/components/TextArea/TextArea.js +6 -6
- package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.config.js +6 -6
- package/emotion/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +5 -3
- package/emotion/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +162 -267
- package/emotion/cjs/examples/plasma_b2c/components/Calendar/CalendarBase.config.js +5 -5
- package/emotion/cjs/examples/plasma_b2c/components/Calendar/CalendarDouble.config.js +5 -5
- package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +7 -7
- package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.config.js +8 -8
- package/emotion/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +6 -4
- package/emotion/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +162 -267
- package/emotion/cjs/examples/plasma_web/components/Calendar/CalendarBase.config.js +5 -5
- package/emotion/cjs/examples/plasma_web/components/Calendar/CalendarDouble.config.js +5 -5
- package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.config.js +7 -7
- package/emotion/cjs/examples/sds_engineer/components/Calendar/Calendar.stories.tsx +162 -267
- package/emotion/cjs/examples/sds_engineer/components/Calendar/CalendarBase.config.js +5 -5
- package/emotion/cjs/examples/sds_engineer/components/Calendar/CalendarDouble.config.js +5 -5
- package/emotion/cjs/utils/datejs.js +4 -0
- package/emotion/es/components/Accordion/Accordion.js +1 -1
- package/emotion/es/components/Accordion/Accordion.tokens.js +4 -1
- package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.js +20 -7
- package/emotion/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/emotion/es/components/Accordion/utils/index.js +4 -3
- package/emotion/es/components/Calendar/Calendar.template-doc.mdx +236 -150
- package/emotion/es/components/Calendar/Calendar.tokens.js +31 -6
- package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +88 -143
- package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +265 -105
- package/emotion/es/components/Calendar/hoc/withRange.js +14 -6
- package/emotion/es/components/Calendar/hooks/index.js +4 -1
- package/emotion/es/components/Calendar/hooks/useCalendarDateChange.js +84 -0
- package/emotion/es/components/Calendar/hooks/useCalendarNavigation.js +90 -0
- package/emotion/es/components/Calendar/hooks/useDays.js +22 -138
- package/emotion/es/components/Calendar/hooks/useKeyNavigation.js +27 -17
- package/emotion/es/components/Calendar/hooks/useMonths.js +33 -8
- package/emotion/es/components/Calendar/hooks/useQuarters.js +46 -0
- package/emotion/es/components/Calendar/hooks/useYears.js +35 -7
- package/emotion/es/components/Calendar/mixins/selected.js +2 -9
- package/emotion/es/components/Calendar/store/reducer.js +26 -5
- package/emotion/es/components/Calendar/store/types.js +1 -0
- package/emotion/es/components/Calendar/ui/CalendarDays/CalendarDays.js +29 -17
- package/emotion/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +13 -8
- package/emotion/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +14 -9
- package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +100 -29
- package/emotion/es/components/Calendar/ui/CalendarMonths/CalendarMonths.styles.js +6 -35
- package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +149 -0
- package/emotion/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles.js +11 -0
- package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.js +103 -27
- package/emotion/es/components/Calendar/ui/CalendarYears/CalendarYears.styles.js +6 -35
- package/{styled-components/es/components/Calendar/ui/CalendarDayItem/CalendarDayItem.js → emotion/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js} +20 -18
- package/emotion/es/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js +78 -0
- package/emotion/es/components/Calendar/ui/index.js +1 -0
- package/emotion/es/components/Calendar/utils/calendarGridHelper.js +158 -0
- package/emotion/es/components/Calendar/utils/calendarRangeHelper.js +111 -0
- package/emotion/es/components/Calendar/utils/constants.js +42 -0
- package/emotion/es/components/Calendar/utils/getDateWithModification.js +180 -0
- package/emotion/es/components/Calendar/utils/index.js +4 -247
- package/emotion/es/components/DatePicker/DatePicker.template-doc.mdx +10 -1
- package/emotion/es/components/DatePicker/DatePicker.tokens.js +11 -0
- package/emotion/es/components/DatePicker/DatePickerBase.styles.js +2 -2
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +18 -6
- package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +18 -0
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +15 -3
- package/emotion/es/components/DatePicker/hooks/useDatePicker.js +7 -3
- package/emotion/es/components/TextArea/TextArea.js +6 -6
- package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.config.js +6 -6
- package/emotion/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +5 -3
- package/emotion/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +162 -267
- package/emotion/es/examples/plasma_b2c/components/Calendar/CalendarBase.config.js +5 -5
- package/emotion/es/examples/plasma_b2c/components/Calendar/CalendarDouble.config.js +5 -5
- package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +7 -7
- package/emotion/es/examples/plasma_web/components/Accordion/Accordion.config.js +8 -8
- package/emotion/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +6 -4
- package/emotion/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +162 -267
- package/emotion/es/examples/plasma_web/components/Calendar/CalendarBase.config.js +5 -5
- package/emotion/es/examples/plasma_web/components/Calendar/CalendarDouble.config.js +5 -5
- package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.config.js +7 -7
- package/emotion/es/examples/sds_engineer/components/Calendar/Calendar.stories.tsx +162 -267
- package/emotion/es/examples/sds_engineer/components/Calendar/CalendarBase.config.js +5 -5
- package/emotion/es/examples/sds_engineer/components/Calendar/CalendarDouble.config.js +5 -5
- package/emotion/es/utils/datejs.js +4 -0
- package/es/components/Accordion/Accordion.js +1 -1
- package/es/components/Accordion/Accordion.js.map +1 -1
- package/es/components/Accordion/Accordion.tokens.js +4 -1
- package/es/components/Accordion/Accordion.tokens.js.map +1 -1
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js +15 -8
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.js.map +1 -1
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/es/components/Accordion/utils/index.js +4 -3
- package/es/components/Accordion/utils/index.js.map +1 -1
- package/es/components/Calendar/Calendar.tokens.js +32 -7
- package/es/components/Calendar/Calendar.tokens.js.map +1 -1
- package/es/components/Calendar/Calendar.types.js.map +1 -1
- package/es/components/Calendar/CalendarBase/CalendarBase.css +20 -21
- package/es/components/Calendar/CalendarBase/CalendarBase.js +90 -142
- package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
- package/es/components/Calendar/CalendarDouble/CalendarDouble.css +23 -21
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js +270 -105
- package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
- package/es/components/Calendar/hoc/withRange.js +15 -7
- package/es/components/Calendar/hoc/withRange.js.map +1 -1
- package/es/components/Calendar/hooks/useCalendarDateChange.js +88 -0
- package/es/components/Calendar/hooks/useCalendarDateChange.js.map +1 -0
- package/es/components/Calendar/hooks/useCalendarNavigation.js +94 -0
- package/es/components/Calendar/hooks/useCalendarNavigation.js.map +1 -0
- package/es/components/Calendar/hooks/useDays.js +24 -138
- package/es/components/Calendar/hooks/useDays.js.map +1 -1
- package/es/components/Calendar/hooks/useKeyNavigation.js +27 -16
- package/es/components/Calendar/hooks/useKeyNavigation.js.map +1 -1
- package/es/components/Calendar/hooks/useMonths.js +36 -7
- package/es/components/Calendar/hooks/useMonths.js.map +1 -1
- package/es/components/Calendar/hooks/useQuarters.js +53 -0
- package/es/components/Calendar/hooks/useQuarters.js.map +1 -0
- package/es/components/Calendar/hooks/useYears.js +38 -7
- package/es/components/Calendar/hooks/useYears.js.map +1 -1
- package/es/components/Calendar/store/reducer.js +28 -7
- package/es/components/Calendar/store/reducer.js.map +1 -1
- package/es/components/Calendar/store/types.js +1 -0
- package/es/components/Calendar/store/types.js.map +1 -1
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.css +4 -4
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js +29 -19
- package/es/components/Calendar/ui/CalendarDays/CalendarDays.js.map +1 -1
- package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.css +8 -8
- package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +15 -9
- package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js.map +1 -1
- package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +2 -2
- package/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js.map +1 -1
- package/{cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles_gnorek.css → es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles_1jfelqf.css} +2 -2
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.css +7 -4
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +99 -30
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js.map +1 -1
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.styles.js +2 -12
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.styles.js.map +1 -1
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.styles_1v3msg.css +2 -0
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.css +7 -0
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +145 -0
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js.map +1 -0
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles.js +16 -0
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles.js.map +1 -0
- package/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles_14gqhct.css +2 -0
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.css +7 -4
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.js +102 -28
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.js.map +1 -1
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.styles.js +2 -12
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.styles.js.map +1 -1
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.styles_1d4ov6t.css +2 -0
- package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.css +4 -0
- package/es/components/Calendar/ui/{CalendarDayItem/CalendarDayItem.js → DateStructureItem/DateStructureItem.js} +22 -20
- package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js.map +1 -0
- package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js +55 -0
- package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js.map +1 -0
- package/es/components/Calendar/ui/DateStructureItem/DateStructureItem.styles_1nxxafr.css +4 -0
- package/es/components/Calendar/utils/calendarGridHelper.js +153 -0
- package/es/components/Calendar/utils/calendarGridHelper.js.map +1 -0
- package/es/components/Calendar/utils/calendarRangeHelper.js +110 -0
- package/es/components/Calendar/utils/calendarRangeHelper.js.map +1 -0
- package/es/components/Calendar/utils/constants.js +45 -0
- package/es/components/Calendar/utils/constants.js.map +1 -0
- package/es/components/Calendar/utils/getDateWithModification.js +184 -0
- package/es/components/Calendar/utils/getDateWithModification.js.map +1 -0
- package/es/components/DatePicker/DatePicker.tokens.js +11 -0
- package/es/components/DatePicker/DatePicker.tokens.js.map +1 -1
- package/es/components/DatePicker/DatePickerBase.styles.js +1 -1
- package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
- package/es/components/DatePicker/{DatePickerBase.styles_1thp2xv.css → DatePickerBase.styles_192va2p.css} +1 -1
- package/es/components/DatePicker/RangeDate/RangeDate.css +22 -23
- package/es/components/DatePicker/RangeDate/RangeDate.js +18 -6
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +22 -23
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +18 -0
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
- package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
- package/{cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_wp3vfj.css → es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1gljtdv.css} +2 -2
- package/es/components/DatePicker/SingleDate/SingleDate.css +21 -22
- package/es/components/DatePicker/SingleDate/SingleDate.js +15 -3
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/DatePicker/hooks/useDatePicker.js +7 -3
- package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
- package/es/components/TextArea/TextArea.js +5 -5
- package/es/components/TextArea/TextArea.js.map +1 -1
- package/es/index.css +23 -24
- package/es/utils/datejs.js +4 -0
- package/es/utils/datejs.js.map +1 -1
- package/package.json +2 -2
- package/styled-components/cjs/components/Accordion/Accordion.js +1 -1
- package/styled-components/cjs/components/Accordion/Accordion.tokens.js +4 -1
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.js +19 -7
- package/styled-components/cjs/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/styled-components/cjs/components/Accordion/utils/index.js +4 -3
- package/styled-components/cjs/components/Calendar/Calendar.template-doc.mdx +236 -150
- package/styled-components/cjs/components/Calendar/Calendar.tokens.js +32 -7
- package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +84 -139
- package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +261 -101
- package/styled-components/cjs/components/Calendar/hoc/withRange.js +14 -6
- package/styled-components/cjs/components/Calendar/hooks/index.js +22 -1
- package/styled-components/cjs/components/Calendar/hooks/useCalendarDateChange.js +90 -0
- package/styled-components/cjs/components/Calendar/hooks/useCalendarNavigation.js +96 -0
- package/styled-components/cjs/components/Calendar/hooks/useDays.js +21 -137
- package/styled-components/cjs/components/Calendar/hooks/useKeyNavigation.js +26 -15
- package/styled-components/cjs/components/Calendar/hooks/useMonths.js +32 -6
- package/styled-components/cjs/components/Calendar/hooks/useQuarters.js +52 -0
- package/styled-components/cjs/components/Calendar/hooks/useYears.js +34 -6
- package/styled-components/cjs/components/Calendar/mixins/selected.js +2 -9
- package/styled-components/cjs/components/Calendar/store/reducer.js +27 -6
- package/styled-components/cjs/components/Calendar/store/types.js +1 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarDays/CalendarDays.js +28 -17
- package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.js +13 -8
- package/styled-components/cjs/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +8 -3
- package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.js +97 -27
- package/styled-components/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.styles.js +3 -30
- package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +156 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles.js +16 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarQuarters/CalendarQuarters.types.js +5 -0
- package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.js +100 -25
- package/styled-components/cjs/components/Calendar/ui/CalendarYears/CalendarYears.styles.js +3 -30
- package/{emotion/cjs/components/Calendar/ui/CalendarDayItem/CalendarDayItem.js → styled-components/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.js} +22 -20
- package/styled-components/cjs/components/Calendar/ui/{CalendarDayItem/CalendarDayItem.styles.js → DateStructureItem/DateStructureItem.styles.js} +26 -26
- package/styled-components/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.types.js +5 -0
- package/styled-components/cjs/components/Calendar/ui/index.js +7 -0
- package/styled-components/cjs/components/Calendar/utils/calendarGridHelper.js +164 -0
- package/styled-components/cjs/components/Calendar/utils/calendarRangeHelper.js +117 -0
- package/styled-components/cjs/components/Calendar/utils/constants.js +48 -0
- package/styled-components/cjs/components/Calendar/utils/getDateWithModification.js +186 -0
- package/styled-components/cjs/components/Calendar/utils/index.js +39 -243
- package/styled-components/cjs/components/DatePicker/DatePicker.template-doc.mdx +10 -1
- package/styled-components/cjs/components/DatePicker/DatePicker.tokens.js +11 -0
- package/styled-components/cjs/components/DatePicker/DatePickerBase.styles.js +1 -1
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +18 -6
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +18 -0
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +15 -3
- package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +7 -3
- package/styled-components/cjs/components/TextArea/TextArea.js +5 -5
- package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.config.js +2 -2
- package/styled-components/cjs/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +5 -3
- package/styled-components/cjs/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +162 -267
- package/styled-components/cjs/examples/plasma_b2c/components/Calendar/CalendarBase.config.js +4 -4
- package/styled-components/cjs/examples/plasma_b2c/components/Calendar/CalendarDouble.config.js +4 -4
- package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +4 -4
- package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.config.js +2 -2
- package/styled-components/cjs/examples/plasma_web/components/Accordion/Accordion.stories.tsx +6 -4
- package/styled-components/cjs/examples/plasma_web/components/Calendar/Calendar.stories.tsx +162 -267
- package/styled-components/cjs/examples/plasma_web/components/Calendar/CalendarBase.config.js +4 -4
- package/styled-components/cjs/examples/plasma_web/components/Calendar/CalendarDouble.config.js +4 -4
- package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.config.js +4 -4
- package/styled-components/cjs/examples/sds_engineer/components/Calendar/Calendar.stories.tsx +162 -267
- package/styled-components/cjs/examples/sds_engineer/components/Calendar/CalendarBase.config.js +5 -5
- package/styled-components/cjs/examples/sds_engineer/components/Calendar/CalendarDouble.config.js +5 -5
- package/styled-components/cjs/utils/datejs.js +4 -0
- package/styled-components/es/components/Accordion/Accordion.js +1 -1
- package/styled-components/es/components/Accordion/Accordion.tokens.js +4 -1
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.js +20 -7
- package/styled-components/es/components/Accordion/ui/AccordionItem/AccordionItem.styles.js +4 -4
- package/styled-components/es/components/Accordion/utils/index.js +4 -3
- package/styled-components/es/components/Calendar/Calendar.template-doc.mdx +236 -150
- package/styled-components/es/components/Calendar/Calendar.tokens.js +31 -6
- package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +88 -143
- package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +265 -105
- package/styled-components/es/components/Calendar/hoc/withRange.js +14 -6
- package/styled-components/es/components/Calendar/hooks/index.js +4 -1
- package/styled-components/es/components/Calendar/hooks/useCalendarDateChange.js +84 -0
- package/styled-components/es/components/Calendar/hooks/useCalendarNavigation.js +90 -0
- package/styled-components/es/components/Calendar/hooks/useDays.js +22 -138
- package/styled-components/es/components/Calendar/hooks/useKeyNavigation.js +27 -17
- package/styled-components/es/components/Calendar/hooks/useMonths.js +33 -8
- package/styled-components/es/components/Calendar/hooks/useQuarters.js +46 -0
- package/styled-components/es/components/Calendar/hooks/useYears.js +35 -7
- package/styled-components/es/components/Calendar/mixins/selected.js +2 -9
- package/styled-components/es/components/Calendar/store/reducer.js +26 -5
- package/styled-components/es/components/Calendar/store/types.js +1 -0
- package/styled-components/es/components/Calendar/ui/CalendarDays/CalendarDays.js +29 -17
- package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.js +13 -8
- package/styled-components/es/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.js +8 -3
- package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.js +100 -29
- package/styled-components/es/components/Calendar/ui/CalendarMonths/CalendarMonths.styles.js +3 -30
- package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.js +149 -0
- package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles.js +9 -0
- package/styled-components/es/components/Calendar/ui/CalendarQuarters/CalendarQuarters.types.js +1 -0
- package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.js +103 -27
- package/styled-components/es/components/Calendar/ui/CalendarYears/CalendarYears.styles.js +3 -30
- package/{emotion/es/components/Calendar/ui/CalendarDayItem/CalendarDayItem.js → styled-components/es/components/Calendar/ui/DateStructureItem/DateStructureItem.js} +20 -18
- package/styled-components/es/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.js +65 -0
- package/styled-components/es/components/Calendar/ui/DateStructureItem/DateStructureItem.types.js +1 -0
- package/styled-components/es/components/Calendar/ui/index.js +1 -0
- package/styled-components/es/components/Calendar/utils/calendarGridHelper.js +158 -0
- package/styled-components/es/components/Calendar/utils/calendarRangeHelper.js +111 -0
- package/styled-components/es/components/Calendar/utils/constants.js +42 -0
- package/styled-components/es/components/Calendar/utils/getDateWithModification.js +180 -0
- package/styled-components/es/components/Calendar/utils/index.js +4 -247
- package/styled-components/es/components/DatePicker/DatePicker.template-doc.mdx +10 -1
- package/styled-components/es/components/DatePicker/DatePicker.tokens.js +11 -0
- package/styled-components/es/components/DatePicker/DatePickerBase.styles.js +1 -1
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +18 -6
- package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js +18 -0
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +15 -3
- package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +7 -3
- package/styled-components/es/components/TextArea/TextArea.js +5 -5
- package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.config.js +2 -2
- package/styled-components/es/examples/plasma_b2c/components/Accordion/Accordion.stories.tsx +5 -3
- package/styled-components/es/examples/plasma_b2c/components/Calendar/Calendar.stories.tsx +162 -267
- package/styled-components/es/examples/plasma_b2c/components/Calendar/CalendarBase.config.js +4 -4
- package/styled-components/es/examples/plasma_b2c/components/Calendar/CalendarDouble.config.js +4 -4
- package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +4 -4
- package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.config.js +2 -2
- package/styled-components/es/examples/plasma_web/components/Accordion/Accordion.stories.tsx +6 -4
- package/styled-components/es/examples/plasma_web/components/Calendar/Calendar.stories.tsx +162 -267
- package/styled-components/es/examples/plasma_web/components/Calendar/CalendarBase.config.js +4 -4
- package/styled-components/es/examples/plasma_web/components/Calendar/CalendarDouble.config.js +4 -4
- package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.config.js +4 -4
- package/styled-components/es/examples/sds_engineer/components/Calendar/Calendar.stories.tsx +162 -267
- package/styled-components/es/examples/sds_engineer/components/Calendar/CalendarBase.config.js +5 -5
- package/styled-components/es/examples/sds_engineer/components/Calendar/CalendarDouble.config.js +5 -5
- package/styled-components/es/utils/datejs.js +4 -0
- package/types/components/Accordion/Accordion.tokens.d.ts +3 -0
- package/types/components/Accordion/Accordion.tokens.d.ts.map +1 -1
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.d.ts.map +1 -1
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.styles.d.ts.map +1 -1
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts +5 -0
- package/types/components/Accordion/ui/AccordionItem/AccordionItem.types.d.ts.map +1 -1
- package/types/components/Accordion/utils/index.d.ts +4 -2
- package/types/components/Accordion/utils/index.d.ts.map +1 -1
- package/types/components/Calendar/Calendar.tokens.d.ts +30 -6
- package/types/components/Calendar/Calendar.tokens.d.ts.map +1 -1
- package/types/components/Calendar/Calendar.types.d.ts +86 -32
- package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
- package/types/components/Calendar/CalendarBase/CalendarBase.d.ts +4 -44
- package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
- package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts +4 -31
- package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
- package/types/components/Calendar/hoc/withRange.d.ts +3 -2
- package/types/components/Calendar/hoc/withRange.d.ts.map +1 -1
- package/types/components/Calendar/hooks/index.d.ts +3 -0
- package/types/components/Calendar/hooks/index.d.ts.map +1 -1
- package/types/components/Calendar/hooks/types.d.ts +38 -0
- package/types/components/Calendar/hooks/types.d.ts.map +1 -0
- package/types/components/Calendar/hooks/useCalendarDateChange.d.ts +11 -0
- package/types/components/Calendar/hooks/useCalendarDateChange.d.ts.map +1 -0
- package/types/components/Calendar/hooks/useCalendarNavigation.d.ts +6 -0
- package/types/components/Calendar/hooks/useCalendarNavigation.d.ts.map +1 -0
- package/types/components/Calendar/hooks/useDays.d.ts +3 -2
- package/types/components/Calendar/hooks/useDays.d.ts.map +1 -1
- package/types/components/Calendar/hooks/useKeyNavigation.d.ts +2 -2
- package/types/components/Calendar/hooks/useKeyNavigation.d.ts.map +1 -1
- package/types/components/Calendar/hooks/useMonths.d.ts +3 -2
- package/types/components/Calendar/hooks/useMonths.d.ts.map +1 -1
- package/types/components/Calendar/hooks/useQuarters.d.ts +7 -0
- package/types/components/Calendar/hooks/useQuarters.d.ts.map +1 -0
- package/types/components/Calendar/hooks/useYears.d.ts +3 -2
- package/types/components/Calendar/hooks/useYears.d.ts.map +1 -1
- package/types/components/Calendar/mixins/selected.d.ts.map +1 -1
- package/types/components/Calendar/store/reducer.d.ts +3 -2
- package/types/components/Calendar/store/reducer.d.ts.map +1 -1
- package/types/components/Calendar/store/types.d.ts +9 -1
- package/types/components/Calendar/store/types.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarDays/CalendarDays.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts +3 -3
- package/types/components/Calendar/ui/CalendarDays/CalendarDays.types.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.d.ts +1 -1
- package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.styles.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.types.d.ts +2 -2
- package/types/components/Calendar/ui/CalendarHeader/CalendarHeader.types.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.styles.d.ts +0 -2
- package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.styles.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.types.d.ts +14 -4
- package/types/components/Calendar/ui/CalendarMonths/CalendarMonths.types.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts +7 -0
- package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.d.ts.map +1 -0
- package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles.d.ts +4 -0
- package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.styles.d.ts.map +1 -0
- package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.types.d.ts +21 -0
- package/types/components/Calendar/ui/CalendarQuarters/CalendarQuarters.types.d.ts.map +1 -0
- package/types/components/Calendar/ui/CalendarYears/CalendarYears.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarYears/CalendarYears.styles.d.ts +0 -2
- package/types/components/Calendar/ui/CalendarYears/CalendarYears.styles.d.ts.map +1 -1
- package/types/components/Calendar/ui/CalendarYears/CalendarYears.types.d.ts +12 -3
- package/types/components/Calendar/ui/CalendarYears/CalendarYears.types.d.ts.map +1 -1
- package/types/components/Calendar/ui/DateStructureItem/DateStructureItem.d.ts +7 -0
- package/types/components/Calendar/ui/DateStructureItem/DateStructureItem.d.ts.map +1 -0
- package/types/components/Calendar/ui/{CalendarDayItem/CalendarDayItem.styles.d.ts → DateStructureItem/DateStructureItem.styles.d.ts} +4 -4
- package/types/components/Calendar/ui/DateStructureItem/DateStructureItem.styles.d.ts.map +1 -0
- package/types/components/Calendar/ui/DateStructureItem/DateStructureItem.types.d.ts +13 -0
- package/types/components/Calendar/ui/DateStructureItem/DateStructureItem.types.d.ts.map +1 -0
- package/types/components/Calendar/ui/index.d.ts +1 -0
- package/types/components/Calendar/ui/index.d.ts.map +1 -1
- package/types/components/Calendar/utils/calendarGridHelper.d.ts +29 -0
- package/types/components/Calendar/utils/calendarGridHelper.d.ts.map +1 -0
- package/types/components/Calendar/utils/calendarRangeHelper.d.ts +26 -0
- package/types/components/Calendar/utils/calendarRangeHelper.d.ts.map +1 -0
- package/types/components/Calendar/utils/constants.d.ts +19 -0
- package/types/components/Calendar/utils/constants.d.ts.map +1 -0
- package/types/components/Calendar/utils/getDateWithModification.d.ts +17 -0
- package/types/components/Calendar/utils/getDateWithModification.d.ts.map +1 -0
- package/types/components/Calendar/utils/index.d.ts +4 -54
- package/types/components/Calendar/utils/index.d.ts.map +1 -1
- package/types/components/DatePicker/DatePicker.tokens.d.ts +11 -0
- package/types/components/DatePicker/DatePicker.tokens.d.ts.map +1 -1
- package/types/components/DatePicker/DatePickerBase.styles.d.ts +1 -5
- package/types/components/DatePicker/DatePickerBase.styles.d.ts.map +1 -1
- package/types/components/DatePicker/DatePickerBase.types.d.ts +62 -1
- package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts +6 -6
- package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +5 -41
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts +2 -2
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +5 -3
- package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts +2 -2
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +3 -39
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
- package/types/components/DatePicker/hooks/useDatePicker.d.ts +2 -1
- package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Accordion/Accordion.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Calendar/Calendar.d.ts +4 -11
- package/types/examples/plasma_b2c/components/Calendar/Calendar.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Calendar/CalendarBase.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Calendar/CalendarDouble.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/DatePicker/DatePicker.config.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +4 -4
- package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Accordion/Accordion.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Calendar/Calendar.d.ts +4 -11
- package/types/examples/plasma_web/components/Calendar/Calendar.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Calendar/CalendarBase.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Calendar/CalendarDouble.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/DatePicker/DatePicker.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +4 -4
- package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
- package/types/examples/sds_engineer/components/Calendar/Calendar.d.ts +4 -11
- package/types/examples/sds_engineer/components/Calendar/Calendar.d.ts.map +1 -1
- package/types/examples/sds_engineer/components/Calendar/CalendarBase.config.d.ts.map +1 -1
- package/types/examples/sds_engineer/components/Calendar/CalendarDouble.config.d.ts.map +1 -1
- package/types/utils/datejs.d.ts.map +1 -1
- package/cjs/components/Calendar/ui/CalendarDayItem/CalendarDayItem.css +0 -4
- package/cjs/components/Calendar/ui/CalendarDayItem/CalendarDayItem.js.map +0 -1
- package/cjs/components/Calendar/ui/CalendarDayItem/CalendarDayItem.styles.js.map +0 -1
- package/cjs/components/Calendar/ui/CalendarDayItem/CalendarDayItem.styles_107vqka.css +0 -4
- package/cjs/components/Calendar/ui/CalendarMonths/CalendarMonths.styles_7jeg2n.css +0 -4
- package/cjs/components/Calendar/ui/CalendarYears/CalendarYears.styles_4z2ki7.css +0 -4
- package/cjs/components/Calendar/utils/index.js +0 -276
- package/cjs/components/Calendar/utils/index.js.map +0 -1
- package/emotion/cjs/components/Breadcrumbs/README.md +0 -78
- package/emotion/cjs/components/Calendar/ui/CalendarDayItem/CalendarDayItem.styles.js +0 -85
- package/emotion/es/components/Breadcrumbs/README.md +0 -78
- package/emotion/es/components/Calendar/ui/CalendarDayItem/CalendarDayItem.styles.js +0 -78
- package/es/components/Calendar/ui/CalendarDayItem/CalendarDayItem.css +0 -4
- package/es/components/Calendar/ui/CalendarDayItem/CalendarDayItem.js.map +0 -1
- package/es/components/Calendar/ui/CalendarDayItem/CalendarDayItem.styles.js +0 -63
- package/es/components/Calendar/ui/CalendarDayItem/CalendarDayItem.styles.js.map +0 -1
- package/es/components/Calendar/ui/CalendarDayItem/CalendarDayItem.styles_107vqka.css +0 -4
- package/es/components/Calendar/ui/CalendarMonths/CalendarMonths.styles_7jeg2n.css +0 -4
- package/es/components/Calendar/ui/CalendarYears/CalendarYears.styles_4z2ki7.css +0 -4
- package/es/components/Calendar/utils/index.js +0 -242
- package/es/components/Calendar/utils/index.js.map +0 -1
- package/styled-components/cjs/components/Breadcrumbs/README.md +0 -78
- package/styled-components/es/components/Breadcrumbs/README.md +0 -78
- package/styled-components/es/components/Calendar/ui/CalendarDayItem/CalendarDayItem.styles.js +0 -65
- package/types/components/Breadcrumbs/Breadcrumbs.types.d.ts +0 -16
- package/types/components/Breadcrumbs/Breadcrumbs.types.d.ts.map +0 -1
- package/types/components/Calendar/ui/CalendarDayItem/CalendarDayItem.d.ts +0 -7
- package/types/components/Calendar/ui/CalendarDayItem/CalendarDayItem.d.ts.map +0 -1
- package/types/components/Calendar/ui/CalendarDayItem/CalendarDayItem.styles.d.ts.map +0 -1
- package/types/components/Calendar/ui/CalendarDayItem/CalendarDayItem.types.d.ts +0 -13
- package/types/components/Calendar/ui/CalendarDayItem/CalendarDayItem.types.d.ts.map +0 -1
- /package/emotion/cjs/components/{Breadcrumbs/Breadcrumbs.types.js → Calendar/hooks/types.js} +0 -0
- /package/emotion/cjs/components/Calendar/ui/{CalendarDayItem/CalendarDayItem.types.js → CalendarQuarters/CalendarQuarters.types.js} +0 -0
- /package/{styled-components/cjs/components/Breadcrumbs/Breadcrumbs.types.js → emotion/cjs/components/Calendar/ui/DateStructureItem/DateStructureItem.types.js} +0 -0
- /package/emotion/es/components/{Breadcrumbs/Breadcrumbs.types.js → Calendar/hooks/types.js} +0 -0
- /package/emotion/es/components/Calendar/ui/{CalendarDayItem/CalendarDayItem.types.js → CalendarQuarters/CalendarQuarters.types.js} +0 -0
- /package/{styled-components/es/components/Breadcrumbs/Breadcrumbs.types.js → emotion/es/components/Calendar/ui/DateStructureItem/DateStructureItem.types.js} +0 -0
- /package/styled-components/cjs/components/Calendar/{ui/CalendarDayItem/CalendarDayItem.types.js → hooks/types.js} +0 -0
- /package/styled-components/es/components/Calendar/{ui/CalendarDayItem/CalendarDayItem.types.js → hooks/types.js} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, { useState, useCallback, useMemo, forwardRef, HTMLAttributes, useEffect } from 'react';\n\nimport type { Calendar, DateObject } from '../Calendar.types';\nimport { getDateFromValue, getNextDate, getPrevDate, isValueUpdate } from '../utils';\nimport { useKeyNavigation } from '../hooks';\nimport { CalendarDays, CalendarHeader } from '../ui';\nimport { RootProps } from '../../../engines/types';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = HTMLAttributes<HTMLDivElement> &\n Calendar & {\n /**\n * Размер календаря.\n */\n size?: string;\n /**\n * Вид календаря.\n */\n view?: string;\n };\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n { value: externalValue, min, max, includeEdgeDates, eventList, disabledList, onChangeValue, ...rest },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n const [hoveredDay, setHoveredDay] = useState<DateObject | undefined>();\n\n const [date, setDate] = useState<DateObject>(getDateFromValue(value));\n const [prevValue, setPrevValue] = useState(value);\n const [doubleDate, setMonths] = useState(() => {\n const nextDate = getDateFromValue(firstValue);\n const [initialYear, initialMonth] = getNextDate(nextDate.year, nextDate.monthIndex);\n\n return {\n monthIndex: [nextDate.monthIndex, initialMonth],\n year: [nextDate.year, initialYear],\n };\n });\n\n const handleMonth = useCallback(\n (getDate: (currentYear: number, currentMonth: number) => number[]) => {\n const [newCurrentYear, newCurrentMonth] = getDate(doubleDate.year[0], doubleDate.monthIndex[0]);\n const [newNextYear, newNextMonth] = getDate(doubleDate.year[1], doubleDate.monthIndex[1]);\n\n setMonths({\n monthIndex: [newCurrentMonth, newNextMonth],\n year: [newCurrentYear, newNextYear],\n });\n },\n [doubleDate],\n );\n\n const handlePrev = useCallback(() => {\n handleMonth(getPrevDate);\n }, [handleMonth]);\n\n const handleNext = useCallback(() => {\n handleMonth(getNextDate);\n }, [handleMonth]);\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs] = useKeyNavigation({\n isDouble: true,\n size: [11, 6],\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const handleOnChangeDay = useCallback(\n (newDate: DateObject, coord: number[]) => {\n const newDay = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newDay);\n\n onSelectIndexes(coord);\n },\n [onChangeValue, onSelectIndexes],\n );\n\n const firstDate = useMemo(\n () => ({\n day: date.day,\n year: doubleDate.year[0],\n monthIndex: doubleDate.monthIndex[0],\n }),\n [date, doubleDate],\n );\n\n const secondDate = useMemo(\n () => ({\n day: date.day,\n year: doubleDate.year[1],\n monthIndex: doubleDate.monthIndex[1],\n }),\n [date, doubleDate],\n );\n\n if (value && prevValue && isValueUpdate(value, prevValue)) {\n const newDate = getDateFromValue(value);\n\n const { year, monthIndex } = newDate;\n\n const {\n monthIndex: [, prevMonthIndex],\n year: [, prevYear],\n } = doubleDate;\n\n if (prevMonthIndex !== monthIndex || prevYear !== year) {\n const [nextYear, nextMonthIndex] = getNextDate(year, monthIndex);\n\n setDate(newDate);\n\n setMonths({\n monthIndex: [monthIndex, nextMonthIndex],\n year: [year, nextYear],\n });\n }\n\n setPrevValue(value);\n }\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n onPrev={handlePrev}\n onNext={handleNext}\n />\n\n <StyledWrapper>\n <CalendarDays\n isDouble\n eventList={eventList}\n disabledList={disabledList}\n min={min}\n max={max}\n includeEdgeDates={includeEdgeDates}\n value={externalValue}\n date={firstDate}\n hoveredDay={hoveredDay}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredDay}\n onSetSelected={onSelectIndexes}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n <StyledSeparator />\n <CalendarDays\n isDouble\n isSecond\n eventList={eventList}\n disabledList={disabledList}\n min={min}\n max={max}\n includeEdgeDates={includeEdgeDates}\n value={externalValue}\n date={secondDate}\n hoveredDay={hoveredDay}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredDay}\n onSetSelected={onSelectIndexes}\n onKeyDown={onKeyDown}\n outerRefs={outerRefs}\n />\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","eventList","disabledList","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredDay","setHoveredDay","_useState3","getDateFromValue","_useState4","date","setDate","_useState5","_useState6","prevValue","setPrevValue","_useState7","nextDate","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","initialYear","initialMonth","_useState8","doubleDate","setMonths","handleMonth","useCallback","getDate","_getDate","_getDate2","newCurrentYear","newCurrentMonth","_getDate3","_getDate4","newNextYear","newNextMonth","handlePrev","getPrevDate","handleNext","_useKeyNavigation","useKeyNavigation","isDouble","size","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","handleOnChangeDay","newDate","coord","newDay","Date","day","firstDate","secondDate","isValueUpdate","_doubleDate$monthInde","prevMonthIndex","_doubleDate$year","prevYear","_getNextDate3","_getNextDate4","nextYear","nextMonthIndex","useEffect","React","createElement","_extends","ref","CalendarHeader","StyledWrapper","CalendarDays","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":";;;;;;;;;;;;;AAuBA;AACA;AACA;IACaA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIC,IAA+D,EAAA;AAAA,EAAA,oBAC9FC,UAAU,CACN,UAAAC,IAAA,EAEIC,YAAY,EACX;AAAA,IAAA,IAFQC,aAAa,GAAAF,IAAA,CAApBG,KAAK;MAAiBC,GAAG,GAAAJ,IAAA,CAAHI,GAAG;MAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;MAAEC,gBAAgB,GAAAN,IAAA,CAAhBM,gBAAgB;MAAEC,SAAS,GAAAP,IAAA,CAATO,SAAS;MAAEC,YAAY,GAAAR,IAAA,CAAZQ,YAAY;MAAEC,aAAa,GAAAT,IAAA,CAAbS,aAAa;AAAKC,MAAAA,IAAI,GAAAC,wBAAA,CAAAX,IAAA,EAAAY,SAAA,CAAA,CAAA;IAGnG,IAAAC,QAAA,GAAkCC,OAAO,CACrC,YAAA;QAAA,OAAOC,KAAK,CAACC,OAAO,CAACd,aAAa,CAAC,GAAGA,aAAa,GAAG,CAACA,aAAa,CAAC,CAAA;AAAA,OAAC,EACtE,CAACA,aAAa,CAClB,CAAC;MAAAe,SAAA,GAAAC,cAAA,CAAAL,QAAA,EAAA,CAAA,CAAA;AAHMM,MAAAA,UAAU,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,WAAW,GAAAH,SAAA,CAAA,CAAA,CAAA,CAAA;AAI9B,IAAA,IAAMd,KAAK,GAAGiB,WAAW,IAAID,UAAU,CAAA;AACvC,IAAA,IAAAE,SAAA,GAAoCC,QAAQ,EAA0B;MAAAC,UAAA,GAAAL,cAAA,CAAAG,SAAA,EAAA,CAAA,CAAA;AAA/DG,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,aAAa,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;IAEhC,IAAAG,UAAA,GAAwBJ,QAAQ,CAAaK,gBAAgB,CAACxB,KAAK,CAAC,CAAC;MAAAyB,UAAA,GAAAV,cAAA,CAAAQ,UAAA,EAAA,CAAA,CAAA;AAA9DG,MAAAA,IAAI,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,OAAO,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AACpB,IAAA,IAAAG,UAAA,GAAkCT,QAAQ,CAACnB,KAAK,CAAC;MAAA6B,UAAA,GAAAd,cAAA,CAAAa,UAAA,EAAA,CAAA,CAAA;AAA1CE,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAC9B,IAAA,IAAAG,UAAA,GAAgCb,QAAQ,CAAC,YAAM;AAC3C,QAAA,IAAMc,QAAQ,GAAGT,gBAAgB,CAACR,UAAU,CAAC,CAAA;QAC7C,IAAAkB,YAAA,GAAoCC,WAAW,CAACF,QAAQ,CAACG,IAAI,EAAEH,QAAQ,CAACI,UAAU,CAAC;UAAAC,aAAA,GAAAvB,cAAA,CAAAmB,YAAA,EAAA,CAAA,CAAA;AAA5EK,UAAAA,WAAW,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,YAAY,GAAAF,aAAA,CAAA,CAAA,CAAA,CAAA;QAEhC,OAAO;AACHD,UAAAA,UAAU,EAAE,CAACJ,QAAQ,CAACI,UAAU,EAAEG,YAAY,CAAC;AAC/CJ,UAAAA,IAAI,EAAE,CAACH,QAAQ,CAACG,IAAI,EAAEG,WAAW,CAAA;SACpC,CAAA;AACL,OAAC,CAAC;MAAAE,UAAA,GAAA1B,cAAA,CAAAiB,UAAA,EAAA,CAAA,CAAA;AARKU,MAAAA,UAAU,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAU5B,IAAA,IAAMG,WAAW,GAAGC,WAAW,CAC3B,UAACC,OAAgE,EAAK;AAClE,MAAA,IAAAC,QAAA,GAA0CD,OAAO,CAACJ,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC,EAAEM,UAAU,CAACL,UAAU,CAAC,CAAC,CAAC,CAAC;QAAAW,SAAA,GAAAjC,cAAA,CAAAgC,QAAA,EAAA,CAAA,CAAA;AAAxFE,QAAAA,cAAc,GAAAD,SAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,eAAe,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;AACtC,MAAA,IAAAG,SAAA,GAAoCL,OAAO,CAACJ,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC,EAAEM,UAAU,CAACL,UAAU,CAAC,CAAC,CAAC,CAAC;QAAAe,SAAA,GAAArC,cAAA,CAAAoC,SAAA,EAAA,CAAA,CAAA;AAAlFE,QAAAA,WAAW,GAAAD,SAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,YAAY,GAAAF,SAAA,CAAA,CAAA,CAAA,CAAA;AAEhCT,MAAAA,SAAS,CAAC;AACNN,QAAAA,UAAU,EAAE,CAACa,eAAe,EAAEI,YAAY,CAAC;AAC3ClB,QAAAA,IAAI,EAAE,CAACa,cAAc,EAAEI,WAAW,CAAA;AACtC,OAAC,CAAC,CAAA;AACN,KAAC,EACD,CAACX,UAAU,CACf,CAAC,CAAA;AAED,IAAA,IAAMa,UAAU,GAAGV,WAAW,CAAC,YAAM;MACjCD,WAAW,CAACY,WAAW,CAAC,CAAA;AAC5B,KAAC,EAAE,CAACZ,WAAW,CAAC,CAAC,CAAA;AAEjB,IAAA,IAAMa,UAAU,GAAGZ,WAAW,CAAC,YAAM;MACjCD,WAAW,CAACT,WAAW,CAAC,CAAA;AAC5B,KAAC,EAAE,CAACS,WAAW,CAAC,CAAC,CAAA;IAEjB,IAAAc,iBAAA,GAA+DC,gBAAgB,CAAC;AAC5EC,QAAAA,QAAQ,EAAE,IAAI;AACdC,QAAAA,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACbC,QAAAA,MAAM,EAAEL,UAAU;AAClBM,QAAAA,MAAM,EAAER,UAAAA;AACZ,OAAC,CAAC;MAAAS,kBAAA,GAAAjD,cAAA,CAAA2C,iBAAA,EAAA,CAAA,CAAA;AALKO,MAAAA,aAAa,GAAAD,kBAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,SAAS,GAAAF,kBAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,eAAe,GAAAH,kBAAA,CAAA,CAAA,CAAA;AAAEI,MAAAA,SAAS,GAAAJ,kBAAA,CAAA,CAAA,CAAA,CAAA;IAO3D,IAAMK,iBAAiB,GAAGxB,WAAW,CACjC,UAACyB,OAAmB,EAAEC,KAAe,EAAK;AACtC,MAAA,IAAMC,MAAM,GAAG,IAAIC,IAAI,CAACH,OAAO,CAAClC,IAAI,EAAEkC,OAAO,CAACjC,UAAU,EAAEiC,OAAO,CAACI,GAAG,CAAC,CAAA;AACtEpE,MAAAA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,IAAbA,aAAa,CAAGkE,MAAM,CAAC,CAAA;MAEvBL,eAAe,CAACI,KAAK,CAAC,CAAA;AAC1B,KAAC,EACD,CAACjE,aAAa,EAAE6D,eAAe,CACnC,CAAC,CAAA;IAED,IAAMQ,SAAS,GAAGhE,OAAO,CACrB,YAAA;MAAA,OAAO;QACH+D,GAAG,EAAEhD,IAAI,CAACgD,GAAG;AACbtC,QAAAA,IAAI,EAAEM,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC;AACxBC,QAAAA,UAAU,EAAEK,UAAU,CAACL,UAAU,CAAC,CAAC,CAAA;OACtC,CAAA;AAAA,KAAC,EACF,CAACX,IAAI,EAAEgB,UAAU,CACrB,CAAC,CAAA;IAED,IAAMkC,UAAU,GAAGjE,OAAO,CACtB,YAAA;MAAA,OAAO;QACH+D,GAAG,EAAEhD,IAAI,CAACgD,GAAG;AACbtC,QAAAA,IAAI,EAAEM,UAAU,CAACN,IAAI,CAAC,CAAC,CAAC;AACxBC,QAAAA,UAAU,EAAEK,UAAU,CAACL,UAAU,CAAC,CAAC,CAAA;OACtC,CAAA;AAAA,KAAC,EACF,CAACX,IAAI,EAAEgB,UAAU,CACrB,CAAC,CAAA;IAED,IAAI1C,KAAK,IAAI8B,SAAS,IAAI+C,aAAa,CAAC7E,KAAK,EAAE8B,SAAS,CAAC,EAAE;AACvD,MAAA,IAAMwC,OAAO,GAAG9C,gBAAgB,CAACxB,KAAK,CAAC,CAAA;AAEvC,MAAA,IAAQoC,IAAI,GAAiBkC,OAAO,CAA5BlC,IAAI;QAAEC,UAAU,GAAKiC,OAAO,CAAtBjC,UAAU,CAAA;AAExB,MAAA,IAAAyC,qBAAA,GAAA/D,cAAA,CAGI2B,UAAU,CAFVL,UAAU,EAAA,CAAA,CAAA;AAAK0C,QAAAA,cAAc,GAAAD,qBAAA,CAAA,CAAA,CAAA;AAAAE,QAAAA,gBAAA,GAAAjE,cAAA,CAE7B2B,UAAU,CADVN,IAAI,EAAA,CAAA,CAAA;AAAK6C,QAAAA,QAAQ,GAAAD,gBAAA,CAAA,CAAA,CAAA,CAAA;AAGrB,MAAA,IAAID,cAAc,KAAK1C,UAAU,IAAI4C,QAAQ,KAAK7C,IAAI,EAAE;AACpD,QAAA,IAAA8C,aAAA,GAAmC/C,WAAW,CAACC,IAAI,EAAEC,UAAU,CAAC;UAAA8C,aAAA,GAAApE,cAAA,CAAAmE,aAAA,EAAA,CAAA,CAAA;AAAzDE,UAAAA,QAAQ,GAAAD,aAAA,CAAA,CAAA,CAAA;AAAEE,UAAAA,cAAc,GAAAF,aAAA,CAAA,CAAA,CAAA,CAAA;QAE/BxD,OAAO,CAAC2C,OAAO,CAAC,CAAA;AAEhB3B,QAAAA,SAAS,CAAC;AACNN,UAAAA,UAAU,EAAE,CAACA,UAAU,EAAEgD,cAAc,CAAC;AACxCjD,UAAAA,IAAI,EAAE,CAACA,IAAI,EAAEgD,QAAQ,CAAA;AACzB,SAAC,CAAC,CAAA;AACN,OAAA;MAEArD,YAAY,CAAC/B,KAAK,CAAC,CAAA;AACvB,KAAA;AAEAsF,IAAAA,SAAS,CAAC,YAAM;MACZ,IAAI,CAACxD,SAAS,EAAE;QACZC,YAAY,CAAC/B,KAAK,CAAC,CAAA;AACvB,OAAA;AACJ,KAAC,EAAE,CAACA,KAAK,EAAE8B,SAAS,CAAC,CAAC,CAAA;AAEtB,IAAA,oBACIyD,KAAA,CAAAC,aAAA,CAAC7F,IAAI,EAAA8F,QAAA,CAAA;AAACC,MAAAA,GAAG,EAAE5F,YAAa;MAAC,YAAW,EAAA,yDAAA;AAAY,KAAA,EAAKS,IAAI,CACrDgF,eAAAA,KAAA,CAAAC,aAAA,CAACG,cAAc,EAAA;MACX/B,QAAQ,EAAA,IAAA;MACRC,IAAI,EAAEtD,IAAI,CAACsD,IAAK;AAChBc,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,UAAU,EAAEA,UAAW;AACvBb,MAAAA,MAAM,EAAER,UAAW;AACnBO,MAAAA,MAAM,EAAEL,UAAAA;AAAW,KACtB,CAAC,eAEF8B,KAAA,CAAAC,aAAA,CAACI,aAAa,EAAA,IAAA,eACVL,KAAA,CAAAC,aAAA,CAACK,YAAY,EAAA;MACTjC,QAAQ,EAAA,IAAA;AACRxD,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BJ,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCH,MAAAA,KAAK,EAAED,aAAc;AACrB2B,MAAAA,IAAI,EAAEiD,SAAU;AAChBtD,MAAAA,UAAU,EAAEA,UAAW;AACvB4C,MAAAA,aAAa,EAAEA,aAAc;AAC7B6B,MAAAA,WAAW,EAAEzB,iBAAkB;AAC/B0B,MAAAA,UAAU,EAAEzE,aAAc;AAC1B0E,MAAAA,aAAa,EAAE7B,eAAgB;AAC/BD,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAAA;AAAU,KACxB,CAAC,EAAA6B,gBAAA,KAAAA,gBAAA,gBACFV,KAAA,CAAAC,aAAA,CAACU,eAAe,MAAE,CAAC,CAAA,eACnBX,KAAA,CAAAC,aAAA,CAACK,YAAY,EAAA;MACTjC,QAAQ,EAAA,IAAA;MACRuC,QAAQ,EAAA,IAAA;AACR/F,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,YAAY,EAAEA,YAAa;AAC3BJ,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCH,MAAAA,KAAK,EAAED,aAAc;AACrB2B,MAAAA,IAAI,EAAEkD,UAAW;AACjBvD,MAAAA,UAAU,EAAEA,UAAW;AACvB4C,MAAAA,aAAa,EAAEA,aAAc;AAC7B6B,MAAAA,WAAW,EAAEzB,iBAAkB;AAC/B0B,MAAAA,UAAU,EAAEzE,aAAc;AAC1B0E,MAAAA,aAAa,EAAE7B,eAAgB;AAC/BD,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,SAAS,EAAEA,SAAAA;KACd,CACU,CACb,CAAC,CAAA;AAEf,GACJ,CAAC,CAAA;AAAA,EAAA;AAEE,IAAMgC,oBAAoB,GAAG;AAChCC,EAAAA,IAAI,EAAE,gBAAgB;AACtBC,EAAAA,GAAG,EAAE,KAAK;AACVC,EAAAA,MAAM,EAAE7G,kBAAkB;AAC1B8G,EAAAA,IAAI,EAAEC,cAAc;AACpBC,EAAAA,UAAU,EAAE;AACRC,IAAAA,IAAI,EAAE;AACFC,MAAAA,GAAG,EAAEC,IAAAA;AACT,KAAA;GACH;AACDC,EAAAA,QAAQ,EAAE;AACNH,IAAAA,IAAI,EAAE,SAAS;AACf9C,IAAAA,IAAI,EAAE,GAAA;AACV,GAAA;AACJ;;;;"}
|
1
|
+
{"version":3,"file":"CalendarDouble.js","sources":["../../../../src/components/Calendar/CalendarDouble/CalendarDouble.tsx"],"sourcesContent":["import React, {\n useState,\n useCallback,\n useMemo,\n forwardRef,\n HTMLAttributes,\n KeyboardEvent,\n useEffect,\n useReducer,\n} from 'react';\n\nimport type { Calendar, CalendarConfigProps, DateObject } from '../Calendar.types';\nimport { YEAR_RENDER_COUNT, getNextDate, isValueUpdate } from '../utils';\nimport { useKeyNavigation, useCalendarNavigation, useCalendarDateChange } from '../hooks';\nimport { CalendarDays, CalendarHeader, CalendarMonths, CalendarQuarters, CalendarYears } from '../ui';\nimport { RootProps } from '../../../engines/types';\nimport { getInitialState, reducer, sizeMap } from '../store/reducer';\nimport { ActionType, CalendarState } from '../store/types';\nimport { IsOutOfRange } from '../CalendarBase/CalendarBase.styles';\n\nimport { base as viewCSS } from './variations/_view/base';\nimport { StyledCalendar, StyledSeparator, StyledWrapper } from './CalendarDouble.styles';\n\nexport type CalendarDoubleProps = Calendar & CalendarConfigProps;\n\n/**\n * Компонент двойного календаря.\n */\nexport const calendarDoubleRoot = (Root: RootProps<HTMLDivElement, HTMLAttributes<HTMLDivElement>>) =>\n forwardRef<HTMLDivElement, CalendarDoubleProps>(\n (\n {\n value: externalValue,\n min,\n max,\n includeEdgeDates,\n type = 'Days',\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n ...rest\n },\n outerRootRef,\n ) => {\n const [firstValue, secondValue] = useMemo(\n () => (Array.isArray(externalValue) ? externalValue : [externalValue]),\n [externalValue],\n );\n const value = secondValue || firstValue;\n\n const [hoveredItem, setHoveredItem] = useState<DateObject | undefined>();\n const [prevType, setPrevType] = useState(type);\n const [prevValue, setPrevValue] = useState(value);\n const [outOfRangeKey, setOutOfRangeKey] = useState<number>(0);\n\n const [state, dispatch] = useReducer(reducer, getInitialState(value, type, true));\n\n const { date, calendarState, startYear, size } = state;\n\n const [firstDate, setFirstDate] = useState<DateObject>(date);\n const [secondDate, setSecondDate] = useState<DateObject>(date);\n\n const { handleNext, handlePrev } = useCalendarNavigation({\n calendarState,\n date,\n dispatch,\n });\n\n const [selectIndexes, onKeyDown, onSelectIndexes, outerRefs, isOutOfRange] = useKeyNavigation({\n isDouble: true,\n size,\n calendarState,\n onNext: handleNext,\n onPrev: handlePrev,\n });\n\n const {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n } = useCalendarDateChange({ type, onChangeValue, onSelectIndexes, dispatch });\n\n const updateSecondDate = () => {\n if (calendarState === CalendarState.Days) {\n const [nextYear, nextMonthIndex] = getNextDate(date.year, date.monthIndex);\n setSecondDate({ year: nextYear, monthIndex: nextMonthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n setSecondDate({ year: date.year + 1, monthIndex: date.monthIndex, day: date.day });\n }\n\n if (calendarState === CalendarState.Years) {\n setSecondDate({ year: startYear + YEAR_RENDER_COUNT, monthIndex: date.monthIndex, day: date.day });\n }\n };\n\n const getBoundaryDates = () => {\n // NOTE: Если установить индекс дня равным \"0\", то берется последнее число предыдущего месяца\n if (calendarState === CalendarState.Days) {\n return [\n new Date(firstDate.year, firstDate.monthIndex, 1),\n new Date(secondDate.year, secondDate.monthIndex + 1, 0),\n ];\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n return [new Date(firstDate.year, 0), new Date(secondDate.year, 12, 0)];\n }\n\n const endVisibleYear = startYear + YEAR_RENDER_COUNT * 2 - 1;\n return [new Date(startYear, 0), new Date(endVisibleYear, 11)];\n };\n\n // Изменяем ключ каждый раз как пытаемся перейти на даты которые находятся за пределами min/max ограничений.\n // Это необходимо для того чтобы screen-reader корректно озвучивал уведомление aria-live=\"assertive\"\n // о том что нет доступных дат\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n setOutOfRangeKey((previousState) => Number(!previousState));\n\n onKeyDown(event);\n },\n [onKeyDown],\n );\n\n useEffect(() => {\n if (prevType !== calendarState) {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState, size: sizeMap[calendarState].double },\n });\n\n setPrevType(calendarState);\n }\n }, [calendarState]);\n\n useEffect(() => {\n if (!prevValue) {\n setPrevValue(value);\n }\n\n if ((value && prevValue && isValueUpdate(value, prevValue)) || (value && !prevValue)) {\n const [minVisibleDate, maxVisibleDate] = getBoundaryDates();\n\n if (value > maxVisibleDate || value < minVisibleDate) {\n dispatch({\n type: ActionType.UPDATE_DATE,\n payload: { value },\n });\n }\n\n setPrevValue(value);\n }\n }, [value, prevValue]);\n\n useEffect(() => {\n setFirstDate(date);\n\n updateSecondDate();\n }, [date, calendarState]);\n\n return (\n <Root ref={outerRootRef} aria-label=\"Выбор даты\" {...rest}>\n {isOutOfRange && (\n <IsOutOfRange\n key={outOfRangeKey}\n aria-atomic=\"true\"\n role=\"alert\"\n aria-live=\"assertive\"\n aria-relevant=\"additions\"\n >\n Далее нет доступных дат.\n </IsOutOfRange>\n )}\n <CalendarHeader\n isDouble\n size={rest.size}\n firstDate={firstDate}\n secondDate={secondDate}\n startYear={startYear}\n type={calendarState}\n onPrev={handlePrev}\n onNext={handleNext}\n onUpdateCalendarState={handleUpdateCalendarState}\n />\n\n <StyledWrapper>\n {calendarState === CalendarState.Days && (\n <>\n <CalendarDays\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarDays\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventList}\n disabledList={disabledList}\n includeEdgeDates={includeEdgeDates}\n hoveredDay={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeDay={handleOnChangeDay}\n onHoverDay={setHoveredItem}\n onSetSelected={onSelectIndexes}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Months && (\n <>\n <CalendarMonths\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarMonths\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventMonthList}\n disabledList={disabledMonthList}\n hoveredMonth={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeMonth={handleOnChangeMonth}\n onSetSelected={onSelectIndexes}\n onHoverMonth={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Quarters && (\n <>\n <CalendarQuarters\n value={externalValue}\n date={firstDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarQuarters\n value={externalValue}\n date={secondDate}\n min={min}\n max={max}\n eventList={eventQuarterList}\n disabledList={disabledQuarterList}\n hoveredQuarter={hoveredItem}\n selectIndexes={selectIndexes}\n onChangeQuarter={handleOnChangeQuarter}\n onSetSelected={onSelectIndexes}\n onHoverQuarter={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n {calendarState === CalendarState.Years && (\n <>\n <CalendarYears\n value={externalValue}\n date={firstDate}\n startYear={startYear}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n />\n <StyledSeparator />\n <CalendarYears\n value={externalValue}\n date={secondDate}\n startYear={startYear + YEAR_RENDER_COUNT}\n selectIndexes={selectIndexes}\n min={min}\n max={max}\n eventList={eventYearList}\n disabledList={disabledYearList}\n hoveredYear={hoveredItem}\n onChangeYear={handleOnChangeYear}\n onSetSelected={onSelectIndexes}\n onHoverYear={setHoveredItem}\n onKeyDown={handleKeyDown}\n outerRefs={outerRefs}\n isDouble\n isSecond\n />\n </>\n )}\n </StyledWrapper>\n </Root>\n );\n },\n );\n\nexport const calendarDoubleConfig = {\n name: 'CalendarDouble',\n tag: 'div',\n layout: calendarDoubleRoot,\n base: StyledCalendar,\n variations: {\n view: {\n css: viewCSS,\n },\n },\n defaults: {\n view: 'primary',\n size: 'm',\n },\n};\n"],"names":["calendarDoubleRoot","Root","forwardRef","_ref","outerRootRef","externalValue","value","min","max","includeEdgeDates","_ref$type","type","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","onChangeValue","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","Array","isArray","_useMemo2","_slicedToArray","firstValue","secondValue","_useState","useState","_useState2","hoveredItem","setHoveredItem","_useState3","_useState4","prevType","setPrevType","_useState5","_useState6","prevValue","setPrevValue","_useState7","_useState8","outOfRangeKey","setOutOfRangeKey","_useReducer","useReducer","reducer","getInitialState","_useReducer2","state","dispatch","date","calendarState","startYear","size","_useState9","_useState10","firstDate","setFirstDate","_useState11","_useState12","secondDate","setSecondDate","_useCalendarNavigatio","useCalendarNavigation","handleNext","handlePrev","_useKeyNavigation","useKeyNavigation","isDouble","onNext","onPrev","_useKeyNavigation2","selectIndexes","onKeyDown","onSelectIndexes","outerRefs","isOutOfRange","_useCalendarDateChang","useCalendarDateChange","handleOnChangeDay","handleOnChangeMonth","handleOnChangeQuarter","handleOnChangeYear","handleUpdateCalendarState","updateSecondDate","CalendarState","Days","_getNextDate","getNextDate","year","monthIndex","_getNextDate2","nextYear","nextMonthIndex","day","Months","Quarters","Years","YEAR_RENDER_COUNT","getBoundaryDates","Date","endVisibleYear","handleKeyDown","useCallback","event","previousState","Number","useEffect","ActionType","UPDATE_CALENDAR_STATE","payload","sizeMap","isValueUpdate","_getBoundaryDates","_getBoundaryDates2","minVisibleDate","maxVisibleDate","UPDATE_DATE","React","createElement","_extends","ref","IsOutOfRange","key","role","CalendarHeader","onUpdateCalendarState","StyledWrapper","Fragment","CalendarDays","hoveredDay","onChangeDay","onHoverDay","onSetSelected","_StyledSeparator","StyledSeparator","isSecond","CalendarMonths","hoveredMonth","onChangeMonth","onHoverMonth","_StyledSeparator2","CalendarQuarters","hoveredQuarter","onChangeQuarter","onHoverQuarter","_StyledSeparator3","CalendarYears","hoveredYear","onChangeYear","onHoverYear","_StyledSeparator4","calendarDoubleConfig","name","tag","layout","base","StyledCalendar","variations","view","css","viewCSS","defaults"],"mappings":"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"}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, extends as _extends } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
2
|
import React, { useMemo, useState, useCallback } from 'react';
|
3
|
-
import { isValueUpdate, getSortedValues } from '../utils/
|
3
|
+
import { isValueUpdate, getSortedValues } from '../utils/calendarRangeHelper.js';
|
4
4
|
|
5
|
-
var _excluded = ["value", "disabledList", "eventList", "
|
5
|
+
var _excluded = ["value", "min", "max", "disabledList", "eventList", "eventMonthList", "disabledMonthList", "eventYearList", "disabledYearList", "onChangeValue", "onChangeStartOfRange"];
|
6
6
|
|
7
7
|
/**
|
8
8
|
* HOC для календаря, дающий возможность выбора диапазона даты
|
@@ -10,10 +10,14 @@ var _excluded = ["value", "disabledList", "eventList", "min", "max", "onChangeVa
|
|
10
10
|
var withRange = function withRange(Component) {
|
11
11
|
return function (_ref) {
|
12
12
|
var value = _ref.value,
|
13
|
-
disabledList = _ref.disabledList,
|
14
|
-
eventList = _ref.eventList,
|
15
13
|
min = _ref.min,
|
16
14
|
max = _ref.max,
|
15
|
+
disabledList = _ref.disabledList,
|
16
|
+
eventList = _ref.eventList,
|
17
|
+
eventMonthList = _ref.eventMonthList,
|
18
|
+
disabledMonthList = _ref.disabledMonthList,
|
19
|
+
eventYearList = _ref.eventYearList,
|
20
|
+
disabledYearList = _ref.disabledYearList,
|
17
21
|
onChangeValue = _ref.onChangeValue,
|
18
22
|
onChangeStartOfRange = _ref.onChangeStartOfRange,
|
19
23
|
rest = _objectWithoutProperties(_ref, _excluded);
|
@@ -37,10 +41,10 @@ var withRange = function withRange(Component) {
|
|
37
41
|
setValues([startExternalValue, endExternalValue]);
|
38
42
|
setPrevValue(value);
|
39
43
|
}
|
40
|
-
var handleOnChangeDay = useCallback(function (newDay) {
|
44
|
+
var handleOnChangeDay = useCallback(function (newDay, dateInfo) {
|
41
45
|
if (endValue) {
|
42
46
|
setValues([newDay, undefined]);
|
43
|
-
onChangeStartOfRange === null || onChangeStartOfRange === void 0 || onChangeStartOfRange(newDay);
|
47
|
+
onChangeStartOfRange === null || onChangeStartOfRange === void 0 || onChangeStartOfRange(newDay, dateInfo);
|
44
48
|
return;
|
45
49
|
}
|
46
50
|
setValues([startValue, newDay]);
|
@@ -49,7 +53,7 @@ var withRange = function withRange(Component) {
|
|
49
53
|
first = _getSortedValues2[0],
|
50
54
|
second = _getSortedValues2[1];
|
51
55
|
if (first) {
|
52
|
-
onChangeValue([first, second]);
|
56
|
+
onChangeValue([first, second], dateInfo);
|
53
57
|
}
|
54
58
|
}, [onChangeValue, onChangeStartOfRange, startValue, endValue]);
|
55
59
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
@@ -57,6 +61,10 @@ var withRange = function withRange(Component) {
|
|
57
61
|
onChangeValue: handleOnChangeDay,
|
58
62
|
disabledList: disabledList,
|
59
63
|
eventList: eventList,
|
64
|
+
eventMonthList: eventMonthList,
|
65
|
+
disabledMonthList: disabledMonthList,
|
66
|
+
eventYearList: eventYearList,
|
67
|
+
disabledYearList: disabledYearList,
|
60
68
|
min: min,
|
61
69
|
max: max
|
62
70
|
}, rest));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"withRange.js","sources":["../../../../src/components/Calendar/hoc/withRange.tsx"],"sourcesContent":["import React, { useMemo, useState, useCallback
|
1
|
+
{"version":3,"file":"withRange.js","sources":["../../../../src/components/Calendar/hoc/withRange.tsx"],"sourcesContent":["import React, { useMemo, useState, useCallback } from 'react';\nimport type { ReactElement, FC } from 'react';\n\nimport type { Calendar, CalendarRange, DateInfo } from '../Calendar.types';\nimport { getSortedValues, isValueUpdate } from '../utils';\n\n/**\n * HOC для календаря, дающий возможность выбора диапазона даты\n */\nexport const withRange = <T extends Calendar>(Component: FC<Calendar>) => ({\n value,\n min,\n max,\n disabledList,\n eventList,\n eventMonthList,\n disabledMonthList,\n eventYearList,\n disabledYearList,\n onChangeValue,\n onChangeStartOfRange,\n ...rest\n}: CalendarRange<T>): ReactElement<T> => {\n const [startExternalValue, endExternalValue] = useMemo(() => value, [value]);\n const [[startValue, endValue], setValues] = useState<[Date?, Date?]>([startExternalValue, endExternalValue]);\n const [prevValue, setPrevValue] = useState(value);\n\n if (isValueUpdate(value, prevValue)) {\n setValues([startExternalValue, endExternalValue]);\n\n setPrevValue(value);\n }\n\n const handleOnChangeDay = useCallback(\n (newDay: Date, dateInfo?: DateInfo) => {\n if (endValue) {\n setValues([newDay, undefined]);\n\n onChangeStartOfRange?.(newDay, dateInfo);\n\n return;\n }\n\n setValues([startValue, newDay]);\n\n const [first, second] = getSortedValues([startValue, newDay]);\n\n if (first) {\n onChangeValue([first, second], dateInfo);\n }\n },\n [onChangeValue, onChangeStartOfRange, startValue, endValue],\n );\n\n return (\n <Component\n value={[startValue, endValue]}\n onChangeValue={handleOnChangeDay}\n disabledList={disabledList}\n eventList={eventList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n {...rest}\n />\n );\n};\n"],"names":["withRange","Component","_ref","value","min","max","disabledList","eventList","eventMonthList","disabledMonthList","eventYearList","disabledYearList","onChangeValue","onChangeStartOfRange","rest","_objectWithoutProperties","_excluded","_useMemo","useMemo","_useMemo2","_slicedToArray","startExternalValue","endExternalValue","_useState","useState","_useState2","_useState2$","startValue","endValue","setValues","_useState3","_useState4","prevValue","setPrevValue","isValueUpdate","handleOnChangeDay","useCallback","newDay","dateInfo","undefined","_getSortedValues","getSortedValues","_getSortedValues2","first","second","React","createElement","_extends"],"mappings":";;;;;;AAMA;AACA;AACA;IACaA,SAAS,GAAG,SAAZA,SAASA,CAAwBC,SAAuB,EAAA;EAAA,OAAK,UAAAC,IAAA,EAajC;AAAA,IAAA,IAZrCC,KAAK,GAAAD,IAAA,CAALC,KAAK;MACLC,GAAG,GAAAF,IAAA,CAAHE,GAAG;MACHC,GAAG,GAAAH,IAAA,CAAHG,GAAG;MACHC,YAAY,GAAAJ,IAAA,CAAZI,YAAY;MACZC,SAAS,GAAAL,IAAA,CAATK,SAAS;MACTC,cAAc,GAAAN,IAAA,CAAdM,cAAc;MACdC,iBAAiB,GAAAP,IAAA,CAAjBO,iBAAiB;MACjBC,aAAa,GAAAR,IAAA,CAAbQ,aAAa;MACbC,gBAAgB,GAAAT,IAAA,CAAhBS,gBAAgB;MAChBC,aAAa,GAAAV,IAAA,CAAbU,aAAa;MACbC,oBAAoB,GAAAX,IAAA,CAApBW,oBAAoB;AACjBC,MAAAA,IAAI,GAAAC,wBAAA,CAAAb,IAAA,EAAAc,SAAA,CAAA,CAAA;IAEP,IAAAC,QAAA,GAA+CC,OAAO,CAAC,YAAA;AAAA,QAAA,OAAMf,KAAK,CAAA;OAAE,EAAA,CAACA,KAAK,CAAC,CAAC;MAAAgB,SAAA,GAAAC,cAAA,CAAAH,QAAA,EAAA,CAAA,CAAA;AAArEI,MAAAA,kBAAkB,GAAAF,SAAA,CAAA,CAAA,CAAA;AAAEG,MAAAA,gBAAgB,GAAAH,SAAA,CAAA,CAAA,CAAA,CAAA;IAC3C,IAAAI,SAAA,GAA4CC,QAAQ,CAAiB,CAACH,kBAAkB,EAAEC,gBAAgB,CAAC,CAAC;MAAAG,UAAA,GAAAL,cAAA,CAAAG,SAAA,EAAA,CAAA,CAAA;MAAAG,WAAA,GAAAN,cAAA,CAAAK,UAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AAApGE,MAAAA,UAAU,GAAAD,WAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,QAAQ,GAAAF,WAAA,CAAA,CAAA,CAAA;AAAGG,MAAAA,SAAS,GAAAJ,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,IAAA,IAAAK,UAAA,GAAkCN,QAAQ,CAACrB,KAAK,CAAC;MAAA4B,UAAA,GAAAX,cAAA,CAAAU,UAAA,EAAA,CAAA,CAAA;AAA1CE,MAAAA,SAAS,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,MAAAA,YAAY,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;AAE9B,IAAA,IAAIG,aAAa,CAAC/B,KAAK,EAAE6B,SAAS,CAAC,EAAE;AACjCH,MAAAA,SAAS,CAAC,CAACR,kBAAkB,EAAEC,gBAAgB,CAAC,CAAC,CAAA;MAEjDW,YAAY,CAAC9B,KAAK,CAAC,CAAA;AACvB,KAAA;IAEA,IAAMgC,iBAAiB,GAAGC,WAAW,CACjC,UAACC,MAAY,EAAEC,QAAmB,EAAK;AACnC,MAAA,IAAIV,QAAQ,EAAE;AACVC,QAAAA,SAAS,CAAC,CAACQ,MAAM,EAAEE,SAAS,CAAC,CAAC,CAAA;QAE9B1B,oBAAoB,KAAA,IAAA,IAApBA,oBAAoB,KAApBA,KAAAA,CAAAA,IAAAA,oBAAoB,CAAGwB,MAAM,EAAEC,QAAQ,CAAC,CAAA;AAExC,QAAA,OAAA;AACJ,OAAA;AAEAT,MAAAA,SAAS,CAAC,CAACF,UAAU,EAAEU,MAAM,CAAC,CAAC,CAAA;MAE/B,IAAAG,gBAAA,GAAwBC,eAAe,CAAC,CAACd,UAAU,EAAEU,MAAM,CAAC,CAAC;QAAAK,iBAAA,GAAAtB,cAAA,CAAAoB,gBAAA,EAAA,CAAA,CAAA;AAAtDG,QAAAA,KAAK,GAAAD,iBAAA,CAAA,CAAA,CAAA;AAAEE,QAAAA,MAAM,GAAAF,iBAAA,CAAA,CAAA,CAAA,CAAA;AAEpB,MAAA,IAAIC,KAAK,EAAE;QACP/B,aAAa,CAAC,CAAC+B,KAAK,EAAEC,MAAM,CAAC,EAAEN,QAAQ,CAAC,CAAA;AAC5C,OAAA;KACH,EACD,CAAC1B,aAAa,EAAEC,oBAAoB,EAAEc,UAAU,EAAEC,QAAQ,CAC9D,CAAC,CAAA;AAED,IAAA,oBACIiB,KAAA,CAAAC,aAAA,CAAC7C,SAAS,EAAA8C,QAAA,CAAA;AACN5C,MAAAA,KAAK,EAAE,CAACwB,UAAU,EAAEC,QAAQ,CAAE;AAC9BhB,MAAAA,aAAa,EAAEuB,iBAAkB;AACjC7B,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,SAAS,EAAEA,SAAU;AACrBC,MAAAA,cAAc,EAAEA,cAAe;AAC/BC,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,MAAAA,aAAa,EAAEA,aAAc;AAC7BC,MAAAA,gBAAgB,EAAEA,gBAAiB;AACnCP,MAAAA,GAAG,EAAEA,GAAI;AACTC,MAAAA,GAAG,EAAEA,GAAAA;KACDS,EAAAA,IAAI,CACX,CAAC,CAAA;GAET,CAAA;AAAA;;;;"}
|
@@ -0,0 +1,88 @@
|
|
1
|
+
import { useCallback } from 'react';
|
2
|
+
import { CalendarState, ActionType } from '../store/types.js';
|
3
|
+
import { sizeMap } from '../store/reducer.js';
|
4
|
+
|
5
|
+
var useCalendarDateChange = function useCalendarDateChange(_ref) {
|
6
|
+
var type = _ref.type,
|
7
|
+
onChangeValue = _ref.onChangeValue,
|
8
|
+
onSelectIndexes = _ref.onSelectIndexes,
|
9
|
+
dispatch = _ref.dispatch;
|
10
|
+
var handleOnChangeDay = useCallback(function (newDate, coord) {
|
11
|
+
var newDay = new Date(newDate.year, newDate.monthIndex, newDate.day);
|
12
|
+
onChangeValue === null || onChangeValue === void 0 || onChangeValue(newDay);
|
13
|
+
onSelectIndexes(coord);
|
14
|
+
}, [onChangeValue, onSelectIndexes]);
|
15
|
+
var handleOnChangeQuarter = useCallback(function (newDate, coord, quarterName) {
|
16
|
+
var newQuarterDate = new Date(newDate.year, newDate.monthIndex, newDate.day);
|
17
|
+
var endQuarter = new Date(newQuarterDate);
|
18
|
+
endQuarter.setMonth(newQuarterDate.getMonth() + 3);
|
19
|
+
endQuarter.setDate(0);
|
20
|
+
onChangeValue === null || onChangeValue === void 0 || onChangeValue(newQuarterDate, {
|
21
|
+
name: quarterName,
|
22
|
+
fullValue: [newQuarterDate, endQuarter]
|
23
|
+
});
|
24
|
+
onSelectIndexes(coord);
|
25
|
+
}, [onChangeValue, onSelectIndexes, type]);
|
26
|
+
var handleOnChangeMonth = useCallback(function (newDate, coord) {
|
27
|
+
if (type === CalendarState.Months) {
|
28
|
+
var newMonthDate = new Date(newDate.year, newDate.monthIndex, newDate.day);
|
29
|
+
onChangeValue === null || onChangeValue === void 0 || onChangeValue(newMonthDate);
|
30
|
+
onSelectIndexes(coord);
|
31
|
+
return;
|
32
|
+
}
|
33
|
+
dispatch({
|
34
|
+
type: ActionType.UPDATE_MONTH,
|
35
|
+
payload: {
|
36
|
+
calendarState: CalendarState.Days,
|
37
|
+
monthIndex: newDate.monthIndex,
|
38
|
+
size: sizeMap.Days["double"]
|
39
|
+
}
|
40
|
+
});
|
41
|
+
}, [onChangeValue, onSelectIndexes, type]);
|
42
|
+
var handleOnChangeYear = useCallback(function (newDate, coord) {
|
43
|
+
if (type === CalendarState.Years) {
|
44
|
+
var newYearDate = new Date(newDate.year, newDate.monthIndex, newDate.day);
|
45
|
+
onChangeValue === null || onChangeValue === void 0 || onChangeValue(newYearDate);
|
46
|
+
onSelectIndexes(coord);
|
47
|
+
return;
|
48
|
+
}
|
49
|
+
if (type === CalendarState.Quarters) {
|
50
|
+
dispatch({
|
51
|
+
type: ActionType.UPDATE_YEAR,
|
52
|
+
payload: {
|
53
|
+
calendarState: CalendarState.Quarters,
|
54
|
+
year: newDate.year,
|
55
|
+
size: sizeMap.Quarters["double"]
|
56
|
+
}
|
57
|
+
});
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
dispatch({
|
61
|
+
type: ActionType.UPDATE_YEAR,
|
62
|
+
payload: {
|
63
|
+
calendarState: CalendarState.Months,
|
64
|
+
year: newDate.year,
|
65
|
+
size: sizeMap.Months["double"]
|
66
|
+
}
|
67
|
+
});
|
68
|
+
}, [onChangeValue, onSelectIndexes, type]);
|
69
|
+
var handleUpdateCalendarState = useCallback(function (newCalendarState, newSize) {
|
70
|
+
dispatch({
|
71
|
+
type: ActionType.UPDATE_CALENDAR_STATE,
|
72
|
+
payload: {
|
73
|
+
calendarState: newCalendarState,
|
74
|
+
size: newSize
|
75
|
+
}
|
76
|
+
});
|
77
|
+
}, []);
|
78
|
+
return {
|
79
|
+
handleOnChangeDay: handleOnChangeDay,
|
80
|
+
handleOnChangeMonth: handleOnChangeMonth,
|
81
|
+
handleOnChangeQuarter: handleOnChangeQuarter,
|
82
|
+
handleOnChangeYear: handleOnChangeYear,
|
83
|
+
handleUpdateCalendarState: handleUpdateCalendarState
|
84
|
+
};
|
85
|
+
};
|
86
|
+
|
87
|
+
export { useCalendarDateChange };
|
88
|
+
//# sourceMappingURL=useCalendarDateChange.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useCalendarDateChange.js","sources":["../../../../src/components/Calendar/hooks/useCalendarDateChange.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport type { DateObject } from '../Calendar.types';\nimport { ActionType, CalendarState, CalendarStateType } from '../store/types';\nimport { sizeMap } from '../store/reducer';\n\nimport type { UseCalendarDateChangeArgs } from './types';\n\nexport const useCalendarDateChange = ({\n type,\n onChangeValue,\n onSelectIndexes,\n dispatch,\n}: UseCalendarDateChangeArgs) => {\n const handleOnChangeDay = useCallback(\n (newDate: DateObject, coord: number[]) => {\n const newDay = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newDay);\n\n onSelectIndexes(coord);\n },\n [onChangeValue, onSelectIndexes],\n );\n\n const handleOnChangeQuarter = useCallback(\n (newDate: DateObject, coord: number[], quarterName: string) => {\n const newQuarterDate = new Date(newDate.year, newDate.monthIndex, newDate.day);\n const endQuarter = new Date(newQuarterDate);\n\n endQuarter.setMonth(newQuarterDate.getMonth() + 3);\n endQuarter.setDate(0);\n\n onChangeValue?.(newQuarterDate, {\n name: quarterName,\n fullValue: [newQuarterDate, endQuarter],\n });\n\n onSelectIndexes(coord);\n },\n [onChangeValue, onSelectIndexes, type],\n );\n\n const handleOnChangeMonth = useCallback(\n (newDate: DateObject, coord: number[]) => {\n if (type === CalendarState.Months) {\n const newMonthDate = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newMonthDate);\n onSelectIndexes(coord);\n\n return;\n }\n\n dispatch({\n type: ActionType.UPDATE_MONTH,\n payload: {\n calendarState: CalendarState.Days,\n monthIndex: newDate.monthIndex,\n size: sizeMap.Days.double,\n },\n });\n },\n [onChangeValue, onSelectIndexes, type],\n );\n\n const handleOnChangeYear = useCallback(\n (newDate: DateObject, coord: number[]) => {\n if (type === CalendarState.Years) {\n const newYearDate = new Date(newDate.year, newDate.monthIndex, newDate.day);\n onChangeValue?.(newYearDate);\n onSelectIndexes(coord);\n\n return;\n }\n\n if (type === CalendarState.Quarters) {\n dispatch({\n type: ActionType.UPDATE_YEAR,\n payload: {\n calendarState: CalendarState.Quarters,\n year: newDate.year,\n size: sizeMap.Quarters.double,\n },\n });\n\n return;\n }\n\n dispatch({\n type: ActionType.UPDATE_YEAR,\n payload: {\n calendarState: CalendarState.Months,\n year: newDate.year,\n size: sizeMap.Months.double,\n },\n });\n },\n [onChangeValue, onSelectIndexes, type],\n );\n\n const handleUpdateCalendarState = useCallback((newCalendarState: CalendarStateType, newSize: [number, number]) => {\n dispatch({\n type: ActionType.UPDATE_CALENDAR_STATE,\n payload: { calendarState: newCalendarState, size: newSize },\n });\n }, []);\n\n return {\n handleOnChangeDay,\n handleOnChangeMonth,\n handleOnChangeQuarter,\n handleOnChangeYear,\n handleUpdateCalendarState,\n };\n};\n"],"names":["useCalendarDateChange","_ref","type","onChangeValue","onSelectIndexes","dispatch","handleOnChangeDay","useCallback","newDate","coord","newDay","Date","year","monthIndex","day","handleOnChangeQuarter","quarterName","newQuarterDate","endQuarter","setMonth","getMonth","setDate","name","fullValue","handleOnChangeMonth","CalendarState","Months","newMonthDate","ActionType","UPDATE_MONTH","payload","calendarState","Days","size","sizeMap","handleOnChangeYear","Years","newYearDate","Quarters","UPDATE_YEAR","handleUpdateCalendarState","newCalendarState","newSize","UPDATE_CALENDAR_STATE"],"mappings":"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"}
|
@@ -0,0 +1,94 @@
|
|
1
|
+
import { useCallback } from 'react';
|
2
|
+
import { CalendarState, ActionType } from '../store/types.js';
|
3
|
+
import { YEAR_RENDER_COUNT } from '../utils/constants.js';
|
4
|
+
|
5
|
+
var useCalendarNavigation = function useCalendarNavigation(_ref) {
|
6
|
+
var calendarState = _ref.calendarState,
|
7
|
+
dispatch = _ref.dispatch,
|
8
|
+
date = _ref.date;
|
9
|
+
var handlePrev = useCallback(function () {
|
10
|
+
var withShift = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
11
|
+
if (calendarState === CalendarState.Days) {
|
12
|
+
if (withShift) {
|
13
|
+
dispatch({
|
14
|
+
type: ActionType.PREVIOUS_YEAR,
|
15
|
+
payload: {
|
16
|
+
step: 1
|
17
|
+
}
|
18
|
+
});
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
dispatch({
|
22
|
+
type: ActionType.PREVIOUS_MONTH,
|
23
|
+
payload: {
|
24
|
+
monthIndex: date.monthIndex,
|
25
|
+
year: date.year
|
26
|
+
}
|
27
|
+
});
|
28
|
+
return;
|
29
|
+
}
|
30
|
+
if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {
|
31
|
+
dispatch({
|
32
|
+
type: ActionType.PREVIOUS_YEAR,
|
33
|
+
payload: {
|
34
|
+
step: 1
|
35
|
+
}
|
36
|
+
});
|
37
|
+
return;
|
38
|
+
}
|
39
|
+
if (calendarState === CalendarState.Years) {
|
40
|
+
dispatch({
|
41
|
+
type: ActionType.PREVIOUS_START_YEAR,
|
42
|
+
payload: {
|
43
|
+
yearsCount: YEAR_RENDER_COUNT
|
44
|
+
}
|
45
|
+
});
|
46
|
+
}
|
47
|
+
}, [date, calendarState]);
|
48
|
+
var handleNext = useCallback(function () {
|
49
|
+
var withShift = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
50
|
+
if (calendarState === CalendarState.Days) {
|
51
|
+
if (withShift) {
|
52
|
+
dispatch({
|
53
|
+
type: ActionType.NEXT_YEAR,
|
54
|
+
payload: {
|
55
|
+
step: 1
|
56
|
+
}
|
57
|
+
});
|
58
|
+
return;
|
59
|
+
}
|
60
|
+
dispatch({
|
61
|
+
type: ActionType.NEXT_MONTH,
|
62
|
+
payload: {
|
63
|
+
monthIndex: date.monthIndex,
|
64
|
+
year: date.year
|
65
|
+
}
|
66
|
+
});
|
67
|
+
return;
|
68
|
+
}
|
69
|
+
if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {
|
70
|
+
dispatch({
|
71
|
+
type: ActionType.NEXT_YEAR,
|
72
|
+
payload: {
|
73
|
+
step: 1
|
74
|
+
}
|
75
|
+
});
|
76
|
+
return;
|
77
|
+
}
|
78
|
+
if (calendarState === CalendarState.Years) {
|
79
|
+
dispatch({
|
80
|
+
type: ActionType.NEXT_START_YEAR,
|
81
|
+
payload: {
|
82
|
+
yearsCount: YEAR_RENDER_COUNT
|
83
|
+
}
|
84
|
+
});
|
85
|
+
}
|
86
|
+
}, [date, calendarState]);
|
87
|
+
return {
|
88
|
+
handlePrev: handlePrev,
|
89
|
+
handleNext: handleNext
|
90
|
+
};
|
91
|
+
};
|
92
|
+
|
93
|
+
export { useCalendarNavigation };
|
94
|
+
//# sourceMappingURL=useCalendarNavigation.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useCalendarNavigation.js","sources":["../../../../src/components/Calendar/hooks/useCalendarNavigation.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { ActionType, CalendarState } from '../store/types';\nimport { YEAR_RENDER_COUNT } from '../utils';\n\nimport type { UseCalendarNavigationArgs, UseKeyNavigationArgs } from './types';\n\nexport const useCalendarNavigation = ({ calendarState, dispatch, date }: UseCalendarNavigationArgs) => {\n const handlePrev = useCallback<UseKeyNavigationArgs['onPrev']>(\n (withShift = false) => {\n if (calendarState === CalendarState.Days) {\n if (withShift) {\n dispatch({\n type: ActionType.PREVIOUS_YEAR,\n payload: { step: 1 },\n });\n\n return;\n }\n\n dispatch({\n type: ActionType.PREVIOUS_MONTH,\n payload: { monthIndex: date.monthIndex, year: date.year },\n });\n\n return;\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n dispatch({ type: ActionType.PREVIOUS_YEAR, payload: { step: 1 } });\n\n return;\n }\n\n if (calendarState === CalendarState.Years) {\n dispatch({ type: ActionType.PREVIOUS_START_YEAR, payload: { yearsCount: YEAR_RENDER_COUNT } });\n }\n },\n [date, calendarState],\n );\n\n const handleNext = useCallback<UseKeyNavigationArgs['onNext']>(\n (withShift = false) => {\n if (calendarState === CalendarState.Days) {\n if (withShift) {\n dispatch({\n type: ActionType.NEXT_YEAR,\n payload: { step: 1 },\n });\n\n return;\n }\n\n dispatch({\n type: ActionType.NEXT_MONTH,\n payload: { monthIndex: date.monthIndex, year: date.year },\n });\n\n return;\n }\n\n if (calendarState === CalendarState.Months || calendarState === CalendarState.Quarters) {\n dispatch({ type: ActionType.NEXT_YEAR, payload: { step: 1 } });\n\n return;\n }\n\n if (calendarState === CalendarState.Years) {\n dispatch({ type: ActionType.NEXT_START_YEAR, payload: { yearsCount: YEAR_RENDER_COUNT } });\n }\n },\n [date, calendarState],\n );\n\n return {\n handlePrev,\n handleNext,\n };\n};\n"],"names":["useCalendarNavigation","_ref","calendarState","dispatch","date","handlePrev","useCallback","withShift","arguments","length","undefined","CalendarState","Days","type","ActionType","PREVIOUS_YEAR","payload","step","PREVIOUS_MONTH","monthIndex","year","Months","Quarters","Years","PREVIOUS_START_YEAR","yearsCount","YEAR_RENDER_COUNT","handleNext","NEXT_YEAR","NEXT_MONTH","NEXT_START_YEAR"],"mappings":"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"}
|
@@ -1,6 +1,9 @@
|
|
1
1
|
import { toConsumableArray as _toConsumableArray, slicedToArray as _slicedToArray } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
2
2
|
import { useMemo } from 'react';
|
3
|
-
import {
|
3
|
+
import { getDatesWithModifications } from '../utils/getDateWithModification.js';
|
4
|
+
import { getDaysInMonth, getOffsetDayInWeek, getMatrix, IsCurrentDay, isSelectedDay, getPrevDate, getNextDate } from '../utils/calendarGridHelper.js';
|
5
|
+
import { isDateInRange } from '../utils/calendarRangeHelper.js';
|
6
|
+
import { CalendarState } from '../store/types.js';
|
4
7
|
|
5
8
|
/**
|
6
9
|
* Метод возвращающий массив дней в предыдущем месяце.
|
@@ -16,7 +19,7 @@ var getDaysInPrevMonth = function getDaysInPrevMonth(date, offsetDayInWeek, valu
|
|
16
19
|
isCurrent: false,
|
17
20
|
isSelected: false,
|
18
21
|
isDayInCurrentMonth: false,
|
19
|
-
inRange: Array.isArray(value) ?
|
22
|
+
inRange: Array.isArray(value) ? isDateInRange(prevYear, prevMonth, daysInPrevMonth - (offsetDayInWeek - i) + 1, value) : false,
|
20
23
|
date: {
|
21
24
|
day: daysInPrevMonth - (offsetDayInWeek - i) + 1,
|
22
25
|
monthIndex: prevMonth,
|
@@ -37,7 +40,7 @@ var getDaysInCurrentMonth = function getDaysInCurrentMonth(date, daysInMonth, va
|
|
37
40
|
return isSelectedDay(date, i + 1, v);
|
38
41
|
})) : isSelectedDay(date, i + 1, value),
|
39
42
|
isDayInCurrentMonth: true,
|
40
|
-
inRange: Array.isArray(value) ?
|
43
|
+
inRange: Array.isArray(value) ? isDateInRange(date.year, date.monthIndex, i + 1, value) : false,
|
41
44
|
date: {
|
42
45
|
day: i + 1,
|
43
46
|
monthIndex: date.monthIndex,
|
@@ -62,7 +65,7 @@ var getDaysInNextMonth = function getDaysInNextMonth(date, daysInMonth, offsetDa
|
|
62
65
|
isCurrent: false,
|
63
66
|
isSelected: false,
|
64
67
|
isDayInCurrentMonth: false,
|
65
|
-
inRange: Array.isArray(value) ?
|
68
|
+
inRange: Array.isArray(value) ? isDateInRange(nextYear, nextMonthIndex, i + 1, value) : false,
|
66
69
|
date: {
|
67
70
|
day: i + 1,
|
68
71
|
monthIndex: nextMonthIndex,
|
@@ -71,143 +74,18 @@ var getDaysInNextMonth = function getDaysInNextMonth(date, daysInMonth, offsetDa
|
|
71
74
|
};
|
72
75
|
});
|
73
76
|
};
|
74
|
-
var isDisabledArrowLeft = function isDisabledArrowLeft(date, min) {
|
75
|
-
var currentDate = new Date(date);
|
76
|
-
currentDate.setDate(currentDate.getDate() - 1);
|
77
|
-
return min && min >= currentDate || min && min >= date;
|
78
|
-
};
|
79
|
-
var isDisabledArrowRight = function isDisabledArrowRight(date, max) {
|
80
|
-
var currentDate = new Date(date);
|
81
|
-
currentDate.setDate(currentDate.getDate() + 1);
|
82
|
-
return max && max <= currentDate || max && max <= date;
|
83
|
-
};
|
84
|
-
var isDisabledArrowUp = function isDisabledArrowUp(date, min) {
|
85
|
-
var currentDate = new Date(date);
|
86
|
-
currentDate.setDate(date.getDate() - 7);
|
87
|
-
return min && min >= currentDate;
|
88
|
-
};
|
89
|
-
var isDisabledArrowDown = function isDisabledArrowDown(date, max) {
|
90
|
-
var currentDate = new Date(date);
|
91
|
-
currentDate.setDate(date.getDate() + 7);
|
92
|
-
return max && max <= currentDate;
|
93
|
-
};
|
94
|
-
var isDisabledNextMonth = function isDisabledNextMonth(_ref, max) {
|
95
|
-
var year = _ref.year,
|
96
|
-
monthIndex = _ref.monthIndex,
|
97
|
-
day = _ref.day;
|
98
|
-
if (!max) {
|
99
|
-
return false;
|
100
|
-
}
|
101
|
-
var currentDate = new Date(year, monthIndex, day);
|
102
|
-
currentDate.setDate(currentDate.getDate() + 1);
|
103
|
-
var isOut = true;
|
104
|
-
while (isOut && currentDate <= max) {
|
105
|
-
isOut = max <= currentDate;
|
106
|
-
currentDate.setDate(currentDate.getDate() + 1);
|
107
|
-
}
|
108
|
-
return isOut;
|
109
|
-
};
|
110
|
-
var isDisabledPreviousMonth = function isDisabledPreviousMonth(_ref2, min) {
|
111
|
-
var year = _ref2.year,
|
112
|
-
monthIndex = _ref2.monthIndex,
|
113
|
-
day = _ref2.day;
|
114
|
-
if (!min) {
|
115
|
-
return false;
|
116
|
-
}
|
117
|
-
var currentDate = new Date(year, monthIndex, day);
|
118
|
-
currentDate.setDate(currentDate.getDate() - 1);
|
119
|
-
var isOut = true;
|
120
|
-
while (isOut && currentDate >= min) {
|
121
|
-
isOut = min >= currentDate;
|
122
|
-
currentDate.setDate(currentDate.getDate() - 1);
|
123
|
-
}
|
124
|
-
return isOut;
|
125
|
-
};
|
126
|
-
var getDisabledArrowKey = function getDisabledArrowKey(currentDate, min, max) {
|
127
|
-
var disabledArrowKey = [];
|
128
|
-
if (isDisabledArrowLeft(currentDate, min)) {
|
129
|
-
disabledArrowKey.push('left');
|
130
|
-
}
|
131
|
-
if (isDisabledArrowRight(currentDate, max)) {
|
132
|
-
disabledArrowKey.push('right');
|
133
|
-
}
|
134
|
-
if (isDisabledArrowDown(currentDate, max)) {
|
135
|
-
disabledArrowKey.push('down');
|
136
|
-
}
|
137
|
-
if (isDisabledArrowUp(currentDate, min)) {
|
138
|
-
disabledArrowKey.push('up');
|
139
|
-
}
|
140
|
-
return disabledArrowKey.join(',');
|
141
|
-
};
|
142
|
-
var getDisabledMonths = function getDisabledMonths(list, min, max) {
|
143
|
-
var disabledMonth = [];
|
144
|
-
if (isDisabledPreviousMonth(list[0], min)) {
|
145
|
-
disabledMonth.push('previous');
|
146
|
-
}
|
147
|
-
if (isDisabledNextMonth(list[list.length - 1], max)) {
|
148
|
-
disabledMonth.push('next');
|
149
|
-
}
|
150
|
-
return disabledMonth.join(',');
|
151
|
-
};
|
152
|
-
|
153
|
-
/**
|
154
|
-
* Метод для получения набора неповторяющихся дат.
|
155
|
-
*/
|
156
|
-
var getPropsMap = function getPropsMap(props) {
|
157
|
-
return props.reduce(function (acc, prop) {
|
158
|
-
var _getDateFromValue = getDateFromValue(prop.date),
|
159
|
-
year = _getDateFromValue.year,
|
160
|
-
monthIndex = _getDateFromValue.monthIndex,
|
161
|
-
day = _getDateFromValue.day;
|
162
|
-
var key = "".concat(year, "-").concat(monthIndex, "-").concat(day);
|
163
|
-
var propList = acc.get(key) || [];
|
164
|
-
propList.push(prop);
|
165
|
-
return acc.set(key, propList);
|
166
|
-
}, new Map());
|
167
|
-
};
|
168
|
-
|
169
|
-
/**
|
170
|
-
* Метод модифицирующий дни (добавляющий свойства events и disabled).
|
171
|
-
*/
|
172
|
-
var getDaysWithModifications = function getDaysWithModifications(days) {
|
173
|
-
var eventList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
174
|
-
var disabledList = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
|
175
|
-
var min = arguments.length > 3 ? arguments[3] : undefined;
|
176
|
-
var max = arguments.length > 4 ? arguments[4] : undefined;
|
177
|
-
var includeEdgeDates = arguments.length > 5 ? arguments[5] : undefined;
|
178
|
-
var eventsMap = getPropsMap(eventList);
|
179
|
-
var disabledDaysMap = getPropsMap(disabledList);
|
180
|
-
var daysList = days.filter(function (_ref3) {
|
181
|
-
var isDayInCurrentMonth = _ref3.isDayInCurrentMonth;
|
182
|
-
return isDayInCurrentMonth;
|
183
|
-
}).map(function (_ref4) {
|
184
|
-
var date = _ref4.date;
|
185
|
-
return date;
|
186
|
-
});
|
187
|
-
var disabledMonths = getDisabledMonths(daysList, min, max);
|
188
|
-
return days.map(function (dayItem) {
|
189
|
-
var date = dayItem.date;
|
190
|
-
var year = date.year,
|
191
|
-
monthIndex = date.monthIndex,
|
192
|
-
day = date.day;
|
193
|
-
var keyDay = "".concat(year, "-").concat(monthIndex, "-").concat(day);
|
194
|
-
var currentDate = new Date(year, monthIndex, day);
|
195
|
-
var minValue = min && (includeEdgeDates ? min > currentDate : min >= currentDate);
|
196
|
-
var maxValue = max && (includeEdgeDates ? max < currentDate : max <= currentDate);
|
197
|
-
var isOutOfMinMaxRange = minValue || maxValue;
|
198
|
-
dayItem.events = eventsMap.get(keyDay);
|
199
|
-
dayItem.disabled = disabledDaysMap.has(keyDay) || isOutOfMinMaxRange;
|
200
|
-
dayItem.isOutOfMinMaxRange = isOutOfMinMaxRange;
|
201
|
-
dayItem.disabledArrowKey = getDisabledArrowKey(currentDate, min, max);
|
202
|
-
dayItem.disabledMonths = disabledMonths;
|
203
|
-
return dayItem;
|
204
|
-
});
|
205
|
-
};
|
206
77
|
|
207
78
|
/**
|
208
79
|
* Хук для получения списка дней.
|
209
80
|
*/
|
210
|
-
var useDays = function useDays(
|
81
|
+
var useDays = function useDays(_ref) {
|
82
|
+
var date = _ref.date,
|
83
|
+
value = _ref.value,
|
84
|
+
eventList = _ref.eventList,
|
85
|
+
disabledList = _ref.disabledList,
|
86
|
+
min = _ref.min,
|
87
|
+
max = _ref.max,
|
88
|
+
includeEdgeDates = _ref.includeEdgeDates;
|
211
89
|
return useMemo(function () {
|
212
90
|
var monthIndex = date.monthIndex,
|
213
91
|
year = date.year;
|
@@ -215,7 +93,15 @@ var useDays = function useDays(date, value, eventList, disabledList, min, max, i
|
|
215
93
|
var offsetDayInWeek = getOffsetDayInWeek(monthIndex, year);
|
216
94
|
var days = [].concat(_toConsumableArray(getDaysInPrevMonth(date, offsetDayInWeek, value)), _toConsumableArray(getDaysInCurrentMonth(date, daysInMonth, value)), _toConsumableArray(getDaysInNextMonth(date, daysInMonth, offsetDayInWeek, value)));
|
217
95
|
if (eventList !== null && eventList !== void 0 && eventList.length || disabledList !== null && disabledList !== void 0 && disabledList.length || max || min) {
|
218
|
-
var modifiedDays =
|
96
|
+
var modifiedDays = getDatesWithModifications({
|
97
|
+
dates: days,
|
98
|
+
type: CalendarState.Days,
|
99
|
+
includeEdgeDates: includeEdgeDates,
|
100
|
+
min: min,
|
101
|
+
max: max,
|
102
|
+
eventList: eventList,
|
103
|
+
disabledList: disabledList
|
104
|
+
});
|
219
105
|
return getMatrix(modifiedDays);
|
220
106
|
}
|
221
107
|
return getMatrix(days);
|