@synerise/ds-date-range-picker 1.6.11 → 1.6.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/dist/AddonCollapse/AddonCollapse.d.ts +2 -2
- package/dist/AddonCollapse/AddonCollapse.js +22 -19
- package/dist/AddonCollapse/AddonCollapse.styles.d.ts +5 -5
- package/dist/AddonCollapse/AddonCollapse.styles.js +16 -13
- package/dist/AddonCollapse/AddonCollapse.types.d.ts +1 -1
- package/dist/AddonCollapse/AddonCollapse.types.js +1 -1
- package/dist/DateRangePicker.d.ts +2 -2
- package/dist/DateRangePicker.js +64 -112
- package/dist/DateRangePicker.styles.d.ts +8 -8
- package/dist/DateRangePicker.styles.js +24 -24
- package/dist/DateRangePicker.types.d.ts +11 -11
- package/dist/DateRangePicker.types.js +1 -1
- package/dist/Footer/Footer.d.ts +2 -2
- package/dist/Footer/Footer.js +63 -65
- package/dist/Footer/Footer.styles.d.ts +6 -6
- package/dist/Footer/Footer.styles.js +19 -27
- package/dist/Footer/Footer.types.d.ts +3 -3
- package/dist/Footer/Footer.types.js +1 -1
- package/dist/RangeFilter/Filters/DailyFilter/DailyFilter.d.ts +8 -8
- package/dist/RangeFilter/Filters/DailyFilter/DailyFilter.js +55 -44
- package/dist/RangeFilter/Filters/DailyFilter/DailyFilter.styles.d.ts +1 -1
- package/dist/RangeFilter/Filters/DailyFilter/DailyFilter.styles.js +6 -3
- package/dist/RangeFilter/Filters/MonthlyFilter/MonthlyFilter.d.ts +3 -3
- package/dist/RangeFilter/Filters/MonthlyFilter/MonthlyFilter.js +283 -324
- package/dist/RangeFilter/Filters/MonthlyFilter/MonthlyFilter.styles.d.ts +11 -11
- package/dist/RangeFilter/Filters/MonthlyFilter/MonthlyFilter.styles.js +26 -18
- package/dist/RangeFilter/Filters/MonthlyFilter/MonthlyFilter.types.d.ts +7 -7
- package/dist/RangeFilter/Filters/MonthlyFilter/MonthlyFilter.types.js +1 -1
- package/dist/RangeFilter/Filters/WeeklyFilter/WeeklyFilter.d.ts +1 -1
- package/dist/RangeFilter/Filters/WeeklyFilter/WeeklyFilter.js +45 -44
- package/dist/RangeFilter/Filters/WeeklyFilter/WeeklyFilter.types.d.ts +5 -5
- package/dist/RangeFilter/Filters/WeeklyFilter/WeeklyFilter.types.js +1 -1
- package/dist/RangeFilter/Filters/new/Daily/Daily.d.ts +2 -2
- package/dist/RangeFilter/Filters/new/Daily/Daily.js +72 -92
- package/dist/RangeFilter/Filters/new/Daily/Daily.types.d.ts +6 -6
- package/dist/RangeFilter/Filters/new/Daily/Daily.types.js +1 -1
- package/dist/RangeFilter/Filters/new/Filters.types.d.ts +3 -3
- package/dist/RangeFilter/Filters/new/Filters.types.js +1 -1
- package/dist/RangeFilter/Filters/new/Monthly/Monthly.d.ts +2 -2
- package/dist/RangeFilter/Filters/new/Monthly/Monthly.js +207 -264
- package/dist/RangeFilter/Filters/new/Monthly/Monthly.types.d.ts +7 -7
- package/dist/RangeFilter/Filters/new/Monthly/Monthly.types.js +1 -1
- package/dist/RangeFilter/Filters/new/Monthly/utils.d.ts +2 -2
- package/dist/RangeFilter/Filters/new/Monthly/utils.js +17 -20
- package/dist/RangeFilter/Filters/new/Weekly/Weekly.d.ts +2 -2
- package/dist/RangeFilter/Filters/new/Weekly/Weekly.js +173 -227
- package/dist/RangeFilter/Filters/new/Weekly/Weekly.types.d.ts +6 -6
- package/dist/RangeFilter/Filters/new/Weekly/Weekly.types.js +1 -1
- package/dist/RangeFilter/Filters/new/Weekly/utils.d.ts +2 -2
- package/dist/RangeFilter/Filters/new/Weekly/utils.js +22 -26
- package/dist/RangeFilter/Filters/new/constants.js +17 -9
- package/dist/RangeFilter/Filters/new/filters.spec.constants.d.ts +333 -0
- package/dist/RangeFilter/Filters/new/filters.spec.constants.js +218 -0
- package/dist/RangeFilter/Filters/new/hooks/useShiftAndControlKeys.d.ts +1 -1
- package/dist/RangeFilter/Filters/new/hooks/useShiftAndControlKeys.js +16 -23
- package/dist/RangeFilter/RangeFilter.d.ts +3 -3
- package/dist/RangeFilter/RangeFilter.js +171 -168
- package/dist/RangeFilter/RangeFilter.styles.d.ts +9 -9
- package/dist/RangeFilter/RangeFilter.styles.js +24 -17
- package/dist/RangeFilter/RangeFilter.types.d.ts +6 -6
- package/dist/RangeFilter/RangeFilter.types.js +1 -1
- package/dist/RangeFilter/Shared/AddButton/AddButton.d.ts +2 -2
- package/dist/RangeFilter/Shared/AddButton/AddButton.js +17 -19
- package/dist/RangeFilter/Shared/AddButton/AddButton.types.d.ts +2 -2
- package/dist/RangeFilter/Shared/AddButton/AddButton.types.js +1 -1
- package/dist/RangeFilter/Shared/FilterDropdown/FilterDropdown.d.ts +2 -2
- package/dist/RangeFilter/Shared/FilterDropdown/FilterDropdown.js +31 -54
- package/dist/RangeFilter/Shared/FilterDropdown/FilterDropdown.styles.d.ts +3 -3
- package/dist/RangeFilter/Shared/FilterDropdown/FilterDropdown.styles.js +11 -6
- package/dist/RangeFilter/Shared/FilterDropdown/FilterDropdown.types.d.ts +2 -2
- package/dist/RangeFilter/Shared/FilterDropdown/FilterDropdown.types.js +1 -1
- package/dist/RangeFilter/Shared/RangeFilterStatus/RangeFilterStatus.d.ts +2 -2
- package/dist/RangeFilter/Shared/RangeFilterStatus/RangeFilterStatus.js +34 -46
- package/dist/RangeFilter/Shared/RangeFilterStatus/RangeFilterStatus.styles.d.ts +6 -6
- package/dist/RangeFilter/Shared/RangeFilterStatus/RangeFilterStatus.styles.js +21 -17
- package/dist/RangeFilter/Shared/RangeFilterStatus/RangeFilterStatus.types.d.ts +3 -3
- package/dist/RangeFilter/Shared/RangeFilterStatus/RangeFilterStatus.types.js +1 -1
- package/dist/RangeFilter/Shared/SaveFilterForm/SaveFilterForm.d.ts +2 -2
- package/dist/RangeFilter/Shared/SaveFilterForm/SaveFilterForm.js +26 -45
- package/dist/RangeFilter/Shared/SaveFilterForm/SaveFilterForm.styles.d.ts +2 -2
- package/dist/RangeFilter/Shared/SaveFilterForm/SaveFilterForm.styles.js +9 -5
- package/dist/RangeFilter/Shared/SaveFilterForm/SaveFilterForm.types.d.ts +1 -1
- package/dist/RangeFilter/Shared/SaveFilterForm/SaveFilterForm.types.js +1 -1
- package/dist/RangeFilter/Shared/SelectionCount/SelectionCount.d.ts +2 -2
- package/dist/RangeFilter/Shared/SelectionCount/SelectionCount.js +18 -7
- package/dist/RangeFilter/Shared/SelectionCount/SelectionCount.styles.d.ts +2 -2
- package/dist/RangeFilter/Shared/SelectionCount/SelectionCount.styles.js +8 -4
- package/dist/RangeFilter/Shared/SelectionCount/SelectionCount.types.d.ts +1 -1
- package/dist/RangeFilter/Shared/SelectionCount/SelectionCount.types.js +1 -1
- package/dist/RangeFilter/Shared/SelectionHint/SelectionHint.d.ts +2 -2
- package/dist/RangeFilter/Shared/SelectionHint/SelectionHint.js +17 -12
- package/dist/RangeFilter/Shared/TimeWindow/Day/Day.d.ts +2 -2
- package/dist/RangeFilter/Shared/TimeWindow/Day/Day.js +39 -66
- package/dist/RangeFilter/Shared/TimeWindow/Day/Day.styles.d.ts +4 -4
- package/dist/RangeFilter/Shared/TimeWindow/Day/Day.styles.js +13 -13
- package/dist/RangeFilter/Shared/TimeWindow/Day/Day.types.d.ts +4 -4
- package/dist/RangeFilter/Shared/TimeWindow/Day/Day.types.js +1 -1
- package/dist/RangeFilter/Shared/TimeWindow/Grid/Grid.d.ts +2 -2
- package/dist/RangeFilter/Shared/TimeWindow/Grid/Grid.js +43 -47
- package/dist/RangeFilter/Shared/TimeWindow/Grid/Grid.types.d.ts +4 -4
- package/dist/RangeFilter/Shared/TimeWindow/Grid/Grid.types.js +1 -1
- package/dist/RangeFilter/Shared/TimeWindow/Header/Header.d.ts +1 -1
- package/dist/RangeFilter/Shared/TimeWindow/Header/Header.js +15 -20
- package/dist/RangeFilter/Shared/TimeWindow/Header/Header.styles.d.ts +5 -5
- package/dist/RangeFilter/Shared/TimeWindow/Header/Header.styles.js +14 -7
- package/dist/RangeFilter/Shared/TimeWindow/RangeActions/RangeActions.d.ts +2 -2
- package/dist/RangeFilter/Shared/TimeWindow/RangeActions/RangeActions.js +33 -56
- package/dist/RangeFilter/Shared/TimeWindow/RangeActions/RangeActions.styles.d.ts +2 -2
- package/dist/RangeFilter/Shared/TimeWindow/RangeActions/RangeActions.styles.js +9 -5
- package/dist/RangeFilter/Shared/TimeWindow/RangeActions/RangeActions.types.d.ts +2 -2
- package/dist/RangeFilter/Shared/TimeWindow/RangeActions/RangeActions.types.js +1 -1
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeForm/RangeForm.constants.d.ts +1 -1
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeForm/RangeForm.constants.js +22 -14
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeForm/RangeForm.d.ts +2 -2
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeForm/RangeForm.js +89 -157
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeForm/RangeForm.styles.d.ts +5 -5
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeForm/RangeForm.styles.js +13 -13
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeForm/RangeForm.types.d.ts +4 -4
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeForm/RangeForm.types.js +1 -1
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeForm/RangeForm.utils.js +18 -14
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeFormContainer.d.ts +2 -2
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeFormContainer.js +100 -117
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeFormContainer.styles.d.ts +1 -1
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeFormContainer.styles.js +6 -3
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeFormContainer.types.d.ts +6 -6
- package/dist/RangeFilter/Shared/TimeWindow/RangeFormContainer/RangeFormContainer.types.js +1 -1
- package/dist/RangeFilter/Shared/TimeWindow/RangeSummary/RangeSummary.d.ts +2 -2
- package/dist/RangeFilter/Shared/TimeWindow/RangeSummary/RangeSummary.js +26 -18
- package/dist/RangeFilter/Shared/TimeWindow/RangeSummary/RangeSummary.styles.d.ts +2 -2
- package/dist/RangeFilter/Shared/TimeWindow/RangeSummary/RangeSummary.styles.js +9 -9
- package/dist/RangeFilter/Shared/TimeWindow/RangeSummary/RangeSummary.types.d.ts +3 -3
- package/dist/RangeFilter/Shared/TimeWindow/RangeSummary/RangeSummary.types.js +1 -1
- package/dist/RangeFilter/Shared/TimeWindow/TimeWindow.d.ts +3 -3
- package/dist/RangeFilter/Shared/TimeWindow/TimeWindow.js +324 -345
- package/dist/RangeFilter/Shared/TimeWindow/TimeWindow.styles.d.ts +8 -8
- package/dist/RangeFilter/Shared/TimeWindow/TimeWindow.styles.js +23 -19
- package/dist/RangeFilter/Shared/TimeWindow/TimeWindow.types.d.ts +9 -9
- package/dist/RangeFilter/Shared/TimeWindow/TimeWindow.types.js +1 -1
- package/dist/RangeFilter/Shared/TimeWindow/constants/timeWindow.constants.js +10 -4
- package/dist/RangeFilter/Shared/TimeWindow/utils.d.ts +2 -2
- package/dist/RangeFilter/Shared/TimeWindow/utils.js +24 -22
- package/dist/RangeFilter/Shared/index.js +16 -7
- package/dist/RangeFilter/constants.d.ts +6 -6
- package/dist/RangeFilter/constants.js +120 -86
- package/dist/RangeFilter/utils.d.ts +2 -2
- package/dist/RangeFilter/utils.js +165 -186
- package/dist/RangePicker/RangePicker.d.ts +2 -2
- package/dist/RangePicker/RangePicker.js +351 -330
- package/dist/RangePicker/RangePicker.styles.d.ts +5 -5
- package/dist/RangePicker/RangePicker.styles.js +19 -13
- package/dist/RangePicker/RangePicker.types.d.ts +3 -3
- package/dist/RangePicker/RangePicker.types.js +1 -1
- package/dist/RangePicker/utils.d.ts +3 -3
- package/dist/RangePicker/utils.js +84 -80
- package/dist/RangePickerInput/RangePickerInput.d.ts +2 -2
- package/dist/RangePickerInput/RangePickerInput.js +76 -103
- package/dist/RangePickerInput/RangePickerInput.styles.d.ts +8 -8
- package/dist/RangePickerInput/RangePickerInput.styles.js +25 -25
- package/dist/RangePickerInput/RangePickerInput.types.d.ts +5 -5
- package/dist/RangePickerInput/RangePickerInput.types.js +1 -1
- package/dist/RawDateRangePicker.d.ts +3 -3
- package/dist/RawDateRangePicker.js +195 -253
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/CustomRangeForm.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/CustomRangeForm.js +40 -60
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/CustomRangeForm.types.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/CustomRangeForm.types.js +1 -1
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/DurationField/DurationField.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/DurationField/DurationField.js +43 -52
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/DurationField/DurationField.types.d.ts +1 -1
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/DurationField/DurationField.types.js +1 -1
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/OffsetField/OffsetField.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/OffsetField/OffsetField.js +41 -49
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/OffsetField/OffsetField.types.d.ts +1 -1
- package/dist/RelativeRangePicker/Elements/CustomRangeForm/OffsetField/OffsetField.types.js +1 -1
- package/dist/RelativeRangePicker/Elements/ModeDropdown/ModeDropdown.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/ModeDropdown/ModeDropdown.js +29 -53
- package/dist/RelativeRangePicker/Elements/ModeDropdown/ModeDropdown.types.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/ModeDropdown/ModeDropdown.types.js +1 -1
- package/dist/RelativeRangePicker/Elements/RangeButtons/RangeButtons.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/RangeButtons/RangeButtons.js +21 -22
- package/dist/RelativeRangePicker/Elements/RangeButtons/RangeButtons.types.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/RangeButtons/RangeButtons.types.js +1 -1
- package/dist/RelativeRangePicker/Elements/RangeDropdown/RangeDropdown.d.ts +3 -3
- package/dist/RelativeRangePicker/Elements/RangeDropdown/RangeDropdown.js +57 -87
- package/dist/RelativeRangePicker/Elements/RangeDropdown/RangeDropdown.types.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/RangeDropdown/RangeDropdown.types.js +1 -1
- package/dist/RelativeRangePicker/Elements/TimestampRange/TimestampDuration/TimestampDuration.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/TimestampRange/TimestampDuration/TimestampDuration.js +39 -68
- package/dist/RelativeRangePicker/Elements/TimestampRange/TimestampDuration/TimestampDuration.types.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/TimestampRange/TimestampDuration/TimestampDuration.types.js +1 -1
- package/dist/RelativeRangePicker/Elements/TimestampRange/TimestampRange.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/TimestampRange/TimestampRange.js +70 -102
- package/dist/RelativeRangePicker/Elements/TimestampRange/TimestampRange.types.d.ts +2 -2
- package/dist/RelativeRangePicker/Elements/TimestampRange/TimestampRange.types.js +1 -1
- package/dist/RelativeRangePicker/RelativeRangePicker.d.ts +4 -4
- package/dist/RelativeRangePicker/RelativeRangePicker.js +189 -170
- package/dist/RelativeRangePicker/RelativeRangePicker.styles.d.ts +17 -17
- package/dist/RelativeRangePicker/RelativeRangePicker.styles.js +47 -48
- package/dist/RelativeRangePicker/RelativeRangePicker.types.d.ts +3 -3
- package/dist/RelativeRangePicker/RelativeRangePicker.types.js +1 -1
- package/dist/RelativeRangePicker/utils/findMatchingPreset.utils.d.ts +7 -7
- package/dist/RelativeRangePicker/utils/findMatchingPreset.utils.js +12 -9
- package/dist/RelativeRangePicker/utils/findRangeByKey.utils.d.ts +1 -1
- package/dist/RelativeRangePicker/utils/findRangeByKey.utils.js +6 -5
- package/dist/RelativeRangePicker/utils/getCurrentGroupFromProps.utils.d.ts +2 -2
- package/dist/RelativeRangePicker/utils/getCurrentGroupFromProps.utils.js +8 -4
- package/dist/RelativeRangePicker/utils/getDefaultCustomRange.utils.d.ts +1 -1
- package/dist/RelativeRangePicker/utils/getDefaultCustomRange.utils.js +18 -17
- package/dist/RelativeRangePicker/utils/index.js +20 -9
- package/dist/RelativeRangePicker/utils/isAbsolute.utils.d.ts +1 -1
- package/dist/RelativeRangePicker/utils/isAbsolute.utils.js +5 -4
- package/dist/RelativeRangePicker/utils/setDurationValue.utils.d.ts +1 -1
- package/dist/RelativeRangePicker/utils/setDurationValue.utils.js +9 -6
- package/dist/RelativeRangePicker/utils/setFuture.utils.js +6 -3
- package/dist/RelativeRangePicker/utils/setOffsetValue.utils.d.ts +1 -1
- package/dist/RelativeRangePicker/utils/setOffsetValue.utils.js +9 -6
- package/dist/RelativeRangePicker/utils/updatePresetKey.utils.d.ts +1 -1
- package/dist/RelativeRangePicker/utils/updatePresetKey.utils.js +14 -10
- package/dist/constants.d.ts +3 -3
- package/dist/constants.js +112 -85
- package/dist/date.types.d.ts +3 -3
- package/dist/date.types.js +1 -1
- package/dist/dateUtils/Date.d.ts +1 -1
- package/dist/dateUtils/Date.js +14 -16
- package/dist/dateUtils/add.d.ts +7 -7
- package/dist/dateUtils/add.js +12 -9
- package/dist/dateUtils/difference.d.ts +7 -7
- package/dist/dateUtils/difference.js +12 -9
- package/dist/dateUtils/endOf.d.ts +7 -7
- package/dist/dateUtils/endOf.js +12 -9
- package/dist/dateUtils/format.js +14 -15
- package/dist/dateUtils/get.d.ts +3 -3
- package/dist/dateUtils/get.js +8 -5
- package/dist/dateUtils/getDateFromString.js +3 -3
- package/dist/dateUtils/getRelativePresetForRange.d.ts +1 -1
- package/dist/dateUtils/getRelativePresetForRange.js +9 -9
- package/dist/dateUtils/index.js +2 -1
- package/dist/dateUtils/relativeToAbsolute.d.ts +1 -1
- package/dist/dateUtils/relativeToAbsolute.js +35 -27
- package/dist/dateUtils/set.d.ts +3 -3
- package/dist/dateUtils/set.js +8 -5
- package/dist/dateUtils/startOf.d.ts +7 -7
- package/dist/dateUtils/startOf.js +12 -9
- package/dist/dateUtils/sub.d.ts +7 -7
- package/dist/dateUtils/sub.js +12 -9
- package/dist/fns.d.ts +20 -20
- package/dist/fns.js +42 -40
- package/dist/index.js +44 -13
- package/dist/utils.d.ts +5 -5
- package/dist/utils.js +158 -153
- package/package.json +24 -24
|
@@ -1,72 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
import dayjs from
|
|
3
|
-
import
|
|
4
|
-
import { useIntl } from
|
|
5
|
-
import { v4
|
|
6
|
-
import { useDataFormat } from
|
|
7
|
-
import { getDefaultTexts } from
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
1
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import dayjs from "dayjs";
|
|
3
|
+
import { useMemo, useState, useRef, useEffect, useCallback } from "react";
|
|
4
|
+
import { useIntl } from "react-intl";
|
|
5
|
+
import { v4 } from "uuid";
|
|
6
|
+
import { useDataFormat } from "@synerise/ds-core";
|
|
7
|
+
import { getDefaultTexts } from "../../../../utils.js";
|
|
8
|
+
import { NewFilterContainer } from "../../../RangeFilter.styles.js";
|
|
9
|
+
import AddButton from "../../../Shared/AddButton/AddButton.js";
|
|
10
|
+
import "@synerise/ds-button";
|
|
11
|
+
import "@synerise/ds-dropdown";
|
|
12
|
+
import "@synerise/ds-icon";
|
|
13
|
+
import "@synerise/ds-tooltip";
|
|
14
|
+
import "styled-components";
|
|
15
|
+
import "@synerise/ds-list-item";
|
|
16
|
+
import "@synerise/ds-badge";
|
|
17
|
+
import "@synerise/ds-button/dist/Button.styles";
|
|
18
|
+
import "@synerise/ds-manageable-list/dist/Item/ContentItem/ContentItem";
|
|
19
|
+
import "@synerise/ds-input";
|
|
20
|
+
import SelectionCount from "../../../Shared/SelectionCount/SelectionCount.js";
|
|
21
|
+
import SelectionHint from "../../../Shared/SelectionHint/SelectionHint.js";
|
|
22
|
+
import "../../../Shared/TimeWindow/TimeWindow.js";
|
|
23
|
+
import Day from "../../../Shared/TimeWindow/Day/Day.js";
|
|
24
|
+
import Grid from "../../../Shared/TimeWindow/Grid/Grid.js";
|
|
25
|
+
import RangeFormContainer from "../../../Shared/TimeWindow/RangeFormContainer/RangeFormContainer.js";
|
|
26
|
+
import { US_NOTATION_WEEK_DAYS_INDEXES } from "../../../Shared/TimeWindow/constants/timeWindow.constants.js";
|
|
27
|
+
import { DAYS_OF_PERIOD_ENUM, MONTHLY_SCHEDULER_INTL_KEYS_WEEKDAYS_LONG, MONTHLY_SCHEDULER_INTL_KEYS_NTH_WEEK, MONTHLY_SCHEDULER_INTL_KEYS_WEEKDAYS_SHORT, MONTH_DAYS, COUNTED_FROM_ENUM } from "../../../constants.js";
|
|
28
|
+
import { DEFAULT_RANGE_END, DEFAULT_RANGE_START, NOOP, DEFAULT_TIME_FORMAT, EMPTY_OBJECT, DEFAULT_MAX_ENTRIES, RENDER_EMPTY_NODE_FN } from "../constants.js";
|
|
29
|
+
import { useShiftAndControlKeys } from "../hooks/useShiftAndControlKeys.js";
|
|
30
|
+
import { range, haveActiveDaysCommonRange, canAddAnotherRange } from "./utils.js";
|
|
31
|
+
const Monthly = ({
|
|
32
|
+
maxEntries = DEFAULT_MAX_ENTRIES,
|
|
33
|
+
valueSelectionMode = ["Hour", "Range"],
|
|
34
|
+
onChange = NOOP,
|
|
35
|
+
timeFormat,
|
|
36
|
+
valueFormatOptions,
|
|
37
|
+
value,
|
|
38
|
+
timePickerProps,
|
|
39
|
+
disabled,
|
|
40
|
+
texts,
|
|
41
|
+
periodType = DAYS_OF_PERIOD_ENUM.DAY_OF_MONTH,
|
|
42
|
+
countedFrom = COUNTED_FROM_ENUM.BEGINNING,
|
|
43
|
+
errorTexts
|
|
44
|
+
}) => {
|
|
45
|
+
const intl = useIntl();
|
|
46
|
+
const allTexts = useMemo(() => getDefaultTexts(intl, false, texts), [texts, intl]);
|
|
47
|
+
const defaultDayValue = useMemo(() => ({
|
|
48
|
+
start: DEFAULT_RANGE_START,
|
|
49
|
+
stop: DEFAULT_RANGE_END,
|
|
50
|
+
restricted: false,
|
|
51
|
+
display: false,
|
|
52
|
+
inverted: false,
|
|
53
|
+
mode: valueSelectionMode[0]
|
|
54
|
+
}), [valueSelectionMode]);
|
|
55
|
+
const [filteredSchedule, setFilteredSchedule] = useState(Object.keys(value));
|
|
56
|
+
const [activeDays, setActiveDays] = useState([]);
|
|
57
|
+
const ref = useRef();
|
|
58
|
+
const [controlKeyPressed, shiftKeyPressed] = useShiftAndControlKeys(ref);
|
|
59
|
+
const {
|
|
60
|
+
isSundayFirstWeekDay
|
|
61
|
+
} = useDataFormat();
|
|
62
|
+
const allKeys = useMemo(() => {
|
|
63
63
|
if (periodType === DAYS_OF_PERIOD_ENUM.DAY_OF_WEEK) {
|
|
64
64
|
if (isSundayFirstWeekDay) {
|
|
65
|
-
|
|
66
|
-
range(0, 5).forEach(
|
|
67
|
-
keys = [
|
|
68
|
-
return index + 7 * i;
|
|
69
|
-
}));
|
|
65
|
+
let keys = [];
|
|
66
|
+
range(0, 5).forEach((i) => {
|
|
67
|
+
keys = [...keys, ...US_NOTATION_WEEK_DAYS_INDEXES.map((index) => index + 7 * i)];
|
|
70
68
|
});
|
|
71
69
|
return keys;
|
|
72
70
|
}
|
|
@@ -74,160 +72,147 @@ var Monthly = function Monthly(_ref) {
|
|
|
74
72
|
}
|
|
75
73
|
return range(0, 31);
|
|
76
74
|
}, [periodType, isSundayFirstWeekDay]);
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
75
|
+
const getGridSettings = () => {
|
|
76
|
+
const settings = {
|
|
77
|
+
[DAYS_OF_PERIOD_ENUM.DAY_OF_MONTH]: {
|
|
78
|
+
numberOfDays: 31,
|
|
79
|
+
reverseGroup: 1,
|
|
80
|
+
inverted: countedFrom === COUNTED_FROM_ENUM.ENDING
|
|
81
|
+
},
|
|
82
|
+
[DAYS_OF_PERIOD_ENUM.DAY_OF_WEEK]: {
|
|
83
|
+
numberOfDays: 7 * 5,
|
|
84
|
+
reverseGroup: 7,
|
|
85
|
+
labelInverted: countedFrom === COUNTED_FROM_ENUM.ENDING,
|
|
86
|
+
inverted: countedFrom === COUNTED_FROM_ENUM.ENDING,
|
|
87
|
+
rowLabelFormatter: (rowIndex) => intl.formatMessage(MONTHLY_SCHEDULER_INTL_KEYS_NTH_WEEK[rowIndex])
|
|
90
88
|
}
|
|
91
|
-
}
|
|
89
|
+
};
|
|
92
90
|
return settings[periodType];
|
|
93
91
|
};
|
|
94
|
-
useEffect(
|
|
92
|
+
useEffect(() => {
|
|
95
93
|
setFilteredSchedule(Object.keys(value));
|
|
96
94
|
}, [value]);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
var scheduleToUpdate = monthlySchedule;
|
|
102
|
-
emptyEntries.forEach(function (emptyEntry) {
|
|
95
|
+
const removeEmptyEntries = useCallback((monthlySchedule) => {
|
|
96
|
+
const emptyEntries = Object.keys(monthlySchedule).filter((key) => Object.keys(monthlySchedule[key]).length === 0);
|
|
97
|
+
const scheduleToUpdate = monthlySchedule;
|
|
98
|
+
emptyEntries.forEach((emptyEntry) => {
|
|
103
99
|
delete scheduleToUpdate[emptyEntry];
|
|
104
100
|
});
|
|
105
101
|
onChange(scheduleToUpdate);
|
|
106
102
|
}, [onChange]);
|
|
107
|
-
useEffect(
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
!!value[id][day] && haveActiveDaysCommonRange(value[id], activeDays)
|
|
113
|
-
);
|
|
114
|
-
});
|
|
115
|
-
}) : [];
|
|
103
|
+
useEffect(() => {
|
|
104
|
+
const entriesWithActiveDaysValue = activeDays.length ? Object.keys(value).filter((id) => activeDays.every((day) => (
|
|
105
|
+
// @ts-expect-error - requires type refactor
|
|
106
|
+
!!value[id][day] && haveActiveDaysCommonRange(value[id], activeDays)
|
|
107
|
+
))) : [];
|
|
116
108
|
removeEmptyEntries(value);
|
|
117
109
|
setFilteredSchedule(entriesWithActiveDaysValue);
|
|
118
110
|
}, [value, activeDays, removeEmptyEntries]);
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
end = dayValue[1],
|
|
123
|
-
inverted = dayValue[2];
|
|
111
|
+
const handleDayTimeChange = useCallback((dayValue, dayKey, guid) => {
|
|
112
|
+
const updatedSchedule = value;
|
|
113
|
+
const [start, end, inverted] = dayValue;
|
|
124
114
|
if (dayKey instanceof Array) {
|
|
125
|
-
dayKey.forEach(
|
|
126
|
-
|
|
127
|
-
|
|
115
|
+
dayKey.forEach((day) => {
|
|
116
|
+
updatedSchedule[guid][day] = {
|
|
117
|
+
// @ts-expect-error - requires type refactor
|
|
118
|
+
...value[guid][day],
|
|
128
119
|
restricted: true,
|
|
129
|
-
start: start ? dayjs(start).format(DEFAULT_TIME_FORMAT) :
|
|
130
|
-
stop: end ? dayjs(end).format(DEFAULT_TIME_FORMAT) :
|
|
120
|
+
start: start ? dayjs(start).format(DEFAULT_TIME_FORMAT) : void 0,
|
|
121
|
+
stop: end ? dayjs(end).format(DEFAULT_TIME_FORMAT) : void 0,
|
|
131
122
|
inverted: Boolean(inverted)
|
|
132
|
-
}
|
|
123
|
+
};
|
|
133
124
|
});
|
|
134
125
|
} else {
|
|
135
|
-
|
|
136
|
-
|
|
126
|
+
updatedSchedule[guid][dayKey] = {
|
|
127
|
+
// @ts-expect-error - requires type refactor
|
|
128
|
+
...value[guid][dayKey],
|
|
137
129
|
restricted: true,
|
|
138
|
-
start: start ? dayjs(start).format(DEFAULT_TIME_FORMAT) :
|
|
139
|
-
stop: end ? dayjs(end).format(DEFAULT_TIME_FORMAT) :
|
|
130
|
+
start: start ? dayjs(start).format(DEFAULT_TIME_FORMAT) : void 0,
|
|
131
|
+
stop: end ? dayjs(end).format(DEFAULT_TIME_FORMAT) : void 0,
|
|
140
132
|
inverted: Boolean(inverted)
|
|
141
|
-
}
|
|
133
|
+
};
|
|
142
134
|
}
|
|
143
135
|
onChange(updatedSchedule);
|
|
144
136
|
}, [value, onChange]);
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
if (typeof dayKey === 'number' && value[guid] && !!value[guid][dayKey]) {
|
|
148
|
-
// @ts-expect-error - requires type refactor
|
|
137
|
+
const getDayValue = useCallback((dayKey, guid) => {
|
|
138
|
+
if (typeof dayKey === "number" && value[guid] && !!value[guid][dayKey]) {
|
|
149
139
|
return value[guid][dayKey];
|
|
150
140
|
}
|
|
151
141
|
return defaultDayValue;
|
|
152
142
|
}, [value, defaultDayValue]);
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
dayKeys.forEach(
|
|
156
|
-
|
|
157
|
-
|
|
143
|
+
const handleModeChange = useCallback((selectedMode, dayKeys, guid) => {
|
|
144
|
+
const updatedSchedule = value;
|
|
145
|
+
dayKeys.forEach((day) => {
|
|
146
|
+
updatedSchedule[guid][day] = {
|
|
147
|
+
// @ts-expect-error - requires type refactor
|
|
148
|
+
...value[guid][day],
|
|
158
149
|
mode: selectedMode
|
|
159
|
-
}
|
|
150
|
+
};
|
|
160
151
|
});
|
|
161
152
|
onChange(updatedSchedule);
|
|
162
153
|
}, [value, onChange]);
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
activeDaysArray.forEach(
|
|
166
|
-
// @ts-expect-error - requires type refactor
|
|
154
|
+
const handleRangeDelete = useCallback((guid, activeDaysArray) => {
|
|
155
|
+
const updatedSchedule = value;
|
|
156
|
+
activeDaysArray.forEach((activeDay) => {
|
|
167
157
|
delete updatedSchedule[guid][activeDay];
|
|
168
158
|
});
|
|
169
|
-
onChange(
|
|
159
|
+
onChange({
|
|
160
|
+
...updatedSchedule
|
|
161
|
+
});
|
|
170
162
|
}, [value, onChange]);
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
return
|
|
163
|
+
const dayWeekFormatter = useCallback((dayKey, long) => {
|
|
164
|
+
const weekStartIndex = Math.floor(dayKey / 7);
|
|
165
|
+
const dayOfWeek = dayKey - weekStartIndex * 7;
|
|
166
|
+
const weekday = intl.formatMessage(MONTHLY_SCHEDULER_INTL_KEYS_WEEKDAYS_LONG[dayOfWeek]);
|
|
167
|
+
const nthWeek = intl.formatMessage(MONTHLY_SCHEDULER_INTL_KEYS_NTH_WEEK[weekStartIndex]);
|
|
168
|
+
return long ? `${nthWeek} ${weekday}` : intl.formatMessage(MONTHLY_SCHEDULER_INTL_KEYS_WEEKDAYS_SHORT[dayOfWeek]);
|
|
177
169
|
}, [intl]);
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
// @ts-expect-error - requires type refactor
|
|
170
|
+
const dayMonthFormatter = useCallback((dayKey) => {
|
|
171
|
+
const locale = intl.locale.substring(0, 2);
|
|
181
172
|
return MONTH_DAYS(locale)[dayKey];
|
|
182
173
|
}, [intl]);
|
|
183
|
-
|
|
174
|
+
const dayFormatter = useCallback((dayKey, long) => {
|
|
184
175
|
if (periodType === DAYS_OF_PERIOD_ENUM.DAY_OF_WEEK) {
|
|
185
|
-
return dayWeekFormatter(dayKey,
|
|
176
|
+
return dayWeekFormatter(dayKey, long);
|
|
186
177
|
}
|
|
187
178
|
return dayMonthFormatter(dayKey);
|
|
188
179
|
}, [periodType, dayWeekFormatter, dayMonthFormatter]);
|
|
189
|
-
|
|
180
|
+
const checkDay = useCallback((dayKey) => {
|
|
190
181
|
setActiveDays([dayKey]);
|
|
191
182
|
}, []);
|
|
192
|
-
|
|
193
|
-
return dayFormatter(dayKey,
|
|
183
|
+
const getDayLabel = useCallback((dayKey, long) => {
|
|
184
|
+
return dayFormatter(dayKey, long || false);
|
|
194
185
|
}, [dayFormatter]);
|
|
195
|
-
|
|
196
|
-
setActiveDays(activeDays.filter(
|
|
197
|
-
return day !== dayKey;
|
|
198
|
-
}));
|
|
186
|
+
const excludeDayFromActive = useCallback((dayKey) => {
|
|
187
|
+
setActiveDays(activeDays.filter((day) => day !== dayKey));
|
|
199
188
|
}, [activeDays]);
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
return Object.keys(value).some(function (key) {
|
|
203
|
-
return !!value[key][dayKey];
|
|
204
|
-
});
|
|
189
|
+
const isDayRestricted = useCallback((dayKey) => {
|
|
190
|
+
return Object.keys(value).some((key) => !!value[key][dayKey]);
|
|
205
191
|
}, [value]);
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
Object.keys(value).forEach(
|
|
209
|
-
// @ts-expect-error - requires type refactor
|
|
192
|
+
const removeDaySelection = useCallback((dayKey) => {
|
|
193
|
+
const updatedSchedule = value;
|
|
194
|
+
Object.keys(value).forEach((key) => {
|
|
210
195
|
delete updatedSchedule[key][dayKey];
|
|
211
196
|
});
|
|
212
197
|
excludeDayFromActive(dayKey);
|
|
213
198
|
onChange(updatedSchedule);
|
|
214
199
|
}, [value, onChange, excludeDayFromActive]);
|
|
215
|
-
|
|
200
|
+
const uncheckActiveDay = useCallback((dayKey) => {
|
|
216
201
|
removeDaySelection(dayKey);
|
|
217
202
|
}, [removeDaySelection]);
|
|
218
|
-
|
|
203
|
+
const handleSelectAll = useCallback(() => {
|
|
219
204
|
setActiveDays(allKeys);
|
|
220
205
|
}, [allKeys]);
|
|
221
|
-
|
|
206
|
+
const handleUnselectAll = useCallback(() => {
|
|
222
207
|
setActiveDays([]);
|
|
223
208
|
}, []);
|
|
224
|
-
|
|
209
|
+
const checkActiveDay = useCallback((dayKey) => {
|
|
225
210
|
if (!isDayRestricted(dayKey)) {
|
|
226
211
|
checkDay(dayKey);
|
|
227
212
|
}
|
|
228
|
-
|
|
213
|
+
let updatedActiveDay = [];
|
|
229
214
|
if (controlKeyPressed) {
|
|
230
|
-
updatedActiveDay = activeDays.includes(dayKey) ? activeDays : [
|
|
215
|
+
updatedActiveDay = activeDays.includes(dayKey) ? activeDays : [...activeDays, dayKey];
|
|
231
216
|
} else if (activeDays.length > 0 && shiftKeyPressed) {
|
|
232
217
|
updatedActiveDay = activeDays[0] < dayKey ? range(+activeDays[0], +dayKey + 1) : range(+dayKey, +activeDays[0] + 1);
|
|
233
218
|
} else {
|
|
@@ -235,8 +220,8 @@ var Monthly = function Monthly(_ref) {
|
|
|
235
220
|
}
|
|
236
221
|
setActiveDays(updatedActiveDay);
|
|
237
222
|
}, [checkDay, isDayRestricted, activeDays, controlKeyPressed, shiftKeyPressed]);
|
|
238
|
-
|
|
239
|
-
if (typeof forcedState !==
|
|
223
|
+
const handleToggleDay = useCallback((dayKey, forcedState) => {
|
|
224
|
+
if (typeof forcedState !== "undefined") {
|
|
240
225
|
if (controlKeyPressed && forcedState) {
|
|
241
226
|
activeDays.includes(dayKey) ? excludeDayFromActive(dayKey) : checkActiveDay(dayKey);
|
|
242
227
|
return;
|
|
@@ -246,114 +231,72 @@ var Monthly = function Monthly(_ref) {
|
|
|
246
231
|
activeDays.includes(dayKey) ? uncheckActiveDay(dayKey) : checkActiveDay(dayKey);
|
|
247
232
|
}
|
|
248
233
|
}, [controlKeyPressed, activeDays, uncheckActiveDay, checkActiveDay, excludeDayFromActive]);
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
return
|
|
252
|
-
key: dayKey,
|
|
253
|
-
dayKey: dayKey,
|
|
254
|
-
"data-attr": dayKey,
|
|
255
|
-
label: getDayLabel(dayKey),
|
|
256
|
-
restricted: isDayRestricted(dayKey),
|
|
257
|
-
active: isActive,
|
|
258
|
-
readOnly: disabled,
|
|
259
|
-
intl: intl,
|
|
260
|
-
onToggle: handleToggleDay,
|
|
261
|
-
onClear: removeDaySelection,
|
|
262
|
-
texts: allTexts
|
|
263
|
-
});
|
|
234
|
+
const renderDay = useCallback((dayKey) => {
|
|
235
|
+
const isActive = activeDays.includes(dayKey);
|
|
236
|
+
return /* @__PURE__ */ jsx(Day, { dayKey, "data-attr": dayKey, label: getDayLabel(dayKey), restricted: isDayRestricted(dayKey), active: isActive, readOnly: disabled, intl, onToggle: handleToggleDay, onClear: removeDaySelection, texts: allTexts }, dayKey);
|
|
264
237
|
}, [activeDays, getDayLabel, isDayRestricted, disabled, intl, handleToggleDay, removeDaySelection, allTexts]);
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
var guid = Object.keys(value).find(function (key) {
|
|
269
|
-
return (
|
|
270
|
-
// @ts-expect-error - requires type refactor
|
|
271
|
-
activeDays.every(function (day) {
|
|
272
|
-
return value[key][day] === undefined;
|
|
273
|
-
})
|
|
274
|
-
);
|
|
275
|
-
});
|
|
276
|
-
activeDays.forEach(function (day) {
|
|
238
|
+
const handleRangeAdd = useCallback(() => {
|
|
239
|
+
const updatedDay = {};
|
|
240
|
+
const guid = Object.keys(value).find((key) => (
|
|
277
241
|
// @ts-expect-error - requires type refactor
|
|
242
|
+
activeDays.every((day) => value[key][day] === void 0)
|
|
243
|
+
));
|
|
244
|
+
activeDays.forEach((day) => {
|
|
278
245
|
updatedDay[day] = defaultDayValue;
|
|
279
246
|
});
|
|
280
|
-
|
|
281
|
-
|
|
247
|
+
const restOfScheduleObject = guid ? value[guid] : EMPTY_OBJECT;
|
|
248
|
+
const updatedSchedule = {
|
|
249
|
+
...value,
|
|
250
|
+
[guid || v4()]: {
|
|
251
|
+
...restOfScheduleObject,
|
|
252
|
+
...updatedDay
|
|
253
|
+
}
|
|
254
|
+
};
|
|
282
255
|
onChange(updatedSchedule);
|
|
283
256
|
}, [value, activeDays, defaultDayValue, onChange]);
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
var canAddRange = canAddAnotherRange(value, activeDays, maxEntries);
|
|
291
|
-
var isAnyDaySelected = activeDays.length > 0;
|
|
292
|
-
var shouldRenderAddButton = isAnyDaySelected && filteredSchedule.length < maxEntries && canAddRange && !disabled;
|
|
293
|
-
var getErrorTextsForFormRow = function getErrorTextsForFormRow(guid) {
|
|
294
|
-
return activeDays.length === 1 && errorTexts && errorTexts[guid] &&
|
|
295
|
-
// @ts-expect-error - requires type refactor
|
|
257
|
+
const renderGridTitle = useCallback((count) => /* @__PURE__ */ jsx(SelectionCount, { selectedDayCount: count, label: allTexts.selected }), [allTexts.selected]);
|
|
258
|
+
const canAddRange = canAddAnotherRange(value, activeDays, maxEntries);
|
|
259
|
+
const isAnyDaySelected = activeDays.length > 0;
|
|
260
|
+
const shouldRenderAddButton = isAnyDaySelected && filteredSchedule.length < maxEntries && canAddRange && !disabled;
|
|
261
|
+
const getErrorTextsForFormRow = (guid) => {
|
|
262
|
+
return activeDays.length === 1 && errorTexts && errorTexts[guid] && // @ts-expect-error - requires type refactor
|
|
296
263
|
errorTexts[guid][activeDays[0]];
|
|
297
264
|
};
|
|
298
|
-
return
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
return handleDayTimeChange(dates, activeDays, guid);
|
|
326
|
-
},
|
|
327
|
-
dayKeys: activeDays
|
|
328
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
329
|
-
,
|
|
330
|
-
getDayLabel: getDayLabel,
|
|
331
|
-
activeDays: activeDays,
|
|
332
|
-
getDayValue: function getDayValue(dayKey) {
|
|
333
|
-
return _getDayValue(dayKey, guid);
|
|
265
|
+
return /* @__PURE__ */ jsxs(NewFilterContainer, { ref, children: [
|
|
266
|
+
/* @__PURE__ */ jsx(Grid, { reverseGroup: 0, onUnselectAll: handleUnselectAll, onSelectAll: handleSelectAll, showUnselectAll: Boolean(activeDays.length), showSelectAll: allKeys.length > activeDays.length, renderDay, keys: allKeys, days: EMPTY_OBJECT, intl, numberOfDays: 7, numberOfDaysPerRow: 7, texts: allTexts, title: renderGridTitle(activeDays.length), ...getGridSettings() }),
|
|
267
|
+
isAnyDaySelected && filteredSchedule.map((guid, index) => /* @__PURE__ */ jsx(
|
|
268
|
+
RangeFormContainer,
|
|
269
|
+
{
|
|
270
|
+
days: EMPTY_OBJECT,
|
|
271
|
+
errorTexts: getErrorTextsForFormRow(guid),
|
|
272
|
+
onChange: NOOP,
|
|
273
|
+
onDayTimeChange: (dayValue, dayKey) => {
|
|
274
|
+
handleDayTimeChange(dayValue, dayKey, guid);
|
|
275
|
+
},
|
|
276
|
+
texts: allTexts,
|
|
277
|
+
onMultipleDayTimeChange: (dates) => handleDayTimeChange(dates, activeDays, guid),
|
|
278
|
+
dayKeys: activeDays,
|
|
279
|
+
getDayLabel,
|
|
280
|
+
activeDays,
|
|
281
|
+
getDayValue: (dayKey) => getDayValue(dayKey, guid),
|
|
282
|
+
onRangeDelete: disabled ? void 0 : () => handleRangeDelete(guid, activeDays),
|
|
283
|
+
onModeChange: (mode) => handleModeChange(mode, activeDays, guid),
|
|
284
|
+
valueSelectionModes: valueSelectionMode,
|
|
285
|
+
hideHeader: index !== 0,
|
|
286
|
+
renderSuffix: RENDER_EMPTY_NODE_FN,
|
|
287
|
+
timePickerProps,
|
|
288
|
+
timeFormat,
|
|
289
|
+
valueFormatOptions,
|
|
290
|
+
disabled,
|
|
291
|
+
monthlyFilterPeriod: periodType
|
|
334
292
|
},
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
timePickerProps: timePickerProps,
|
|
345
|
-
timeFormat: timeFormat,
|
|
346
|
-
valueFormatOptions: valueFormatOptions,
|
|
347
|
-
disabled: disabled,
|
|
348
|
-
monthlyFilterPeriod: periodType
|
|
349
|
-
});
|
|
350
|
-
}), isAnyDaySelected && !canAddRange && /*#__PURE__*/React.createElement(SelectionHint, {
|
|
351
|
-
message: allTexts.maximumRanges
|
|
352
|
-
}), shouldRenderAddButton && /*#__PURE__*/React.createElement(AddButton, {
|
|
353
|
-
label: allTexts.addTime,
|
|
354
|
-
onClick: handleRangeAdd
|
|
355
|
-
}), !isAnyDaySelected && !disabled && /*#__PURE__*/React.createElement(SelectionHint, {
|
|
356
|
-
message: allTexts.selectDaysDescription
|
|
357
|
-
}));
|
|
293
|
+
`value-range-${guid}`
|
|
294
|
+
)),
|
|
295
|
+
isAnyDaySelected && !canAddRange && /* @__PURE__ */ jsx(SelectionHint, { message: allTexts.maximumRanges }),
|
|
296
|
+
shouldRenderAddButton && /* @__PURE__ */ jsx(AddButton, { label: allTexts.addTime, onClick: handleRangeAdd }),
|
|
297
|
+
!isAnyDaySelected && !disabled && /* @__PURE__ */ jsx(SelectionHint, { message: allTexts.selectDaysDescription })
|
|
298
|
+
] });
|
|
299
|
+
};
|
|
300
|
+
export {
|
|
301
|
+
Monthly as default
|
|
358
302
|
};
|
|
359
|
-
export default Monthly;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
1
|
+
import { Texts } from '../../../../DateRangePicker.types';
|
|
2
|
+
import { WithDisabledProp } from '../../../RangeFilter.types';
|
|
3
|
+
import { DateLimitMode } from '../../../Shared/TimeWindow/RangeFormContainer/RangeForm/RangeForm.types';
|
|
4
|
+
import { FilterErrorType } from '../../../Shared/TimeWindow/RangeFormContainer/RangeFormContainer.types';
|
|
5
|
+
import { DayOptions } from '../../../Shared/TimeWindow/TimeWindow.types';
|
|
6
|
+
import { COUNTED_FROM_ENUM, DAYS_OF_PERIOD_ENUM } from '../../../constants';
|
|
7
|
+
import { FilterBaseProps } from '../Filters.types';
|
|
8
8
|
export type MonthlyScheduleDayValue = DayOptions & {
|
|
9
9
|
mode: DateLimitMode;
|
|
10
10
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { DayKey } from '../../../Shared/TimeWindow/TimeWindow.types';
|
|
2
|
+
import { DayOfMonthIndex, MonthlySchedule, MonthlyScheduleDayValue } from './Monthly.types';
|
|
3
3
|
export declare const range: (start: number, stop: number) => number[];
|
|
4
4
|
export declare const haveActiveDaysCommonRange: (days: Record<DayOfMonthIndex, MonthlyScheduleDayValue>, activeDaysArray: DayKey[]) => boolean;
|
|
5
5
|
export declare const canAddAnotherRange: (schedule: MonthlySchedule, activeDays: DayKey[], maxRanges?: number) => boolean;
|