@synerise/ds-date-range-picker 0.21.22 → 0.21.23

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 CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [0.21.23](https://github.com/Synerise/synerise-design/compare/@synerise/ds-date-range-picker@0.21.22...@synerise/ds-date-range-picker@0.21.23) (2023-08-03)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * **date-range-picker:** fixed algorithm for disabling timepicker options ([487066f](https://github.com/Synerise/synerise-design/commit/487066f75f0bd1949ec4a5bf28effa40c1f9f2e8))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [0.21.22](https://github.com/Synerise/synerise-design/compare/@synerise/ds-date-range-picker@0.21.21...@synerise/ds-date-range-picker@0.21.22) (2023-07-26)
7
18
 
8
19
  **Note:** Version bump only for package @synerise/ds-date-range-picker
@@ -18,14 +18,6 @@ var getAmOrPmFromDate = function getAmOrPmFromDate(date) {
18
18
  return dayjs(date).get(HOUR) >= HOUR_12 ? PM : AM;
19
19
  };
20
20
 
21
- var change24To12Hour = function change24To12Hour(date) {
22
- var dateBuilder = dayjs(date);
23
- var hour = dateBuilder.get(HOUR);
24
- var hourToMap = MAP_24_HOUR_TO_12[hour];
25
- dateBuilder = dateBuilder.set(HOUR, hourToMap);
26
- return dateBuilder.toDate();
27
- };
28
-
29
21
  export var getDisabledTimeOptions = function getDisabledTimeOptions(initialDay, granularity, initialLowerLimit, initialUpperLimit, is12HoursClock) {
30
22
  if (initialLowerLimit === void 0) {
31
23
  initialLowerLimit = null;
@@ -43,56 +35,27 @@ export var getDisabledTimeOptions = function getDisabledTimeOptions(initialDay,
43
35
  return [];
44
36
  }
45
37
 
46
- var dayClockMode = getAmOrPmFromDate(legacyParse(day));
47
- var lowerLimitClockMode = getAmOrPmFromDate(legacyParse(lowerLimit));
48
- var upperLimitClockMode = getAmOrPmFromDate(legacyParse(upperLimit));
49
38
  var dayBuilder = dayjs(day);
50
- var dayHour = dayBuilder.get(HOUR);
39
+ var dayClockMode = getAmOrPmFromDate(legacyParse(day));
40
+ var disableMeridienToggle = false;
51
41
 
52
- if (is12HoursClock && lowerLimit) {
53
- if (lowerLimitClockMode === PM && dayjs(lowerLimit).get(HOUR) === HOUR_12) {
54
- return [DISABLE_CLOCK_MODE_HOUR];
55
- }
42
+ if (is12HoursClock && granularity === HOURS_GRANULARITY) {
43
+ var diff;
56
44
 
57
- if (lowerLimitClockMode === AM && dayClockMode === PM) {
58
- var day12HBuilder = dayjs(change24To12Hour(dayBuilder.toDate()));
59
- var lowLimitDayBuilder = dayjs(lowerLimit);
45
+ if (lowerLimit) {
46
+ diff = dayBuilder.diff(dayjs(lowerLimit), 'minute') / 60;
60
47
 
61
- if (day12HBuilder.isBefore(lowLimitDayBuilder)) {
62
- return [DISABLE_CLOCK_MODE_HOUR];
48
+ if (diff < 12 && dayClockMode === PM) {
49
+ disableMeridienToggle = true;
63
50
  }
64
51
  }
65
52
 
66
- if (lowerLimitClockMode === AM && dayClockMode === PM) {
67
- return [];
68
- }
69
-
70
- if (lowerLimitClockMode === PM && dayClockMode === PM) {
71
- day = change24To12Hour(legacyParse(day));
72
- lowerLimit = change24To12Hour(legacyParse(lowerLimit));
73
- }
74
- }
75
-
76
- if (is12HoursClock && upperLimit) {
77
- if (upperLimitClockMode === PM && dayClockMode === PM) {
78
- day = change24To12Hour(legacyParse(day));
79
- }
80
-
81
- upperLimit = change24To12Hour(legacyParse(upperLimit));
82
- var upLimitDayBuilder = dayjs(upperLimit);
83
-
84
- if (upperLimitClockMode === PM && dayClockMode === AM && dayBuilder.isAfter(upLimitDayBuilder)) {
85
- return [DISABLE_CLOCK_MODE_HOUR];
86
- }
87
-
88
- if (upperLimitClockMode === PM && dayClockMode === AM) {
89
- return [];
90
- }
91
- }
53
+ if (upperLimit) {
54
+ diff = dayjs(upperLimit).diff(dayBuilder, 'minute') / 60;
92
55
 
93
- if (is12HoursClock && granularity !== HOURS_GRANULARITY) {
94
- if (dayHour === HOUR_12) {
95
- return [];
56
+ if (diff < 12 && dayClockMode === AM) {
57
+ disableMeridienToggle = true;
58
+ }
96
59
  }
97
60
  }
98
61
 
@@ -110,27 +73,23 @@ export var getDisabledTimeOptions = function getDisabledTimeOptions(initialDay,
110
73
  return GET[granularity](option);
111
74
  });
112
75
 
113
- if (is12HoursClock) {
114
- if (granularity === HOURS_GRANULARITY) {
76
+ if (is12HoursClock && granularity === HOURS_GRANULARITY) {
77
+ if (dayClockMode === AM) {
115
78
  result = result.filter(function (item) {
116
- return item !== HOUR_12;
79
+ return item < HOUR_12;
117
80
  });
81
+ } else if (dayClockMode === PM) {
82
+ result = result.filter(function (item) {
83
+ return item >= HOUR_12;
84
+ });
85
+ }
118
86
 
119
- var _lowLimitDayBuilder = dayjs(lowLimit);
120
-
121
- var lowerLimitHour = _lowLimitDayBuilder.get(HOUR);
122
-
123
- if (lowerLimitClockMode === PM && lowerLimitHour !== HOUR_12 && result[0] === 0) {
124
- result.push(HOUR_12);
125
- }
126
-
127
- if (lowerLimitClockMode === AM && lowerLimitHour !== 0 && dayClockMode === AM && initialLowerLimit !== null) {
128
- result.push(HOUR_12);
129
- }
87
+ result = result.map(function (item) {
88
+ return MAP_24_HOUR_TO_12[item];
89
+ });
130
90
 
131
- if (upperLimit && upperLimitClockMode === AM && dayClockMode === AM) {
132
- result.push(DISABLE_CLOCK_MODE_HOUR);
133
- }
91
+ if (disableMeridienToggle) {
92
+ result.push(DISABLE_CLOCK_MODE_HOUR);
134
93
  }
135
94
  }
136
95
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synerise/ds-date-range-picker",
3
- "version": "0.21.22",
3
+ "version": "0.21.23",
4
4
  "description": "Date-Range-Picker UI Component for the Synerise Design System",
5
5
  "license": "ISC",
6
6
  "repository": "Synerise/synerise-design",
@@ -34,10 +34,10 @@
34
34
  "dependencies": {
35
35
  "@date-fns/upgrade": "^1.0.3",
36
36
  "@synerise/ds-button": "^0.17.20",
37
- "@synerise/ds-date-picker": "^0.10.6",
37
+ "@synerise/ds-date-picker": "^0.10.7",
38
38
  "@synerise/ds-icon": "^0.58.0",
39
39
  "@synerise/ds-manageable-list": "^0.25.14",
40
- "@synerise/ds-time-picker": "^0.7.15",
40
+ "@synerise/ds-time-picker": "^0.7.16",
41
41
  "@synerise/ds-tooltip": "^0.14.0",
42
42
  "@synerise/ds-utils": "^0.19.0",
43
43
  "date-fns": "^2.16.1",
@@ -54,5 +54,5 @@
54
54
  "devDependencies": {
55
55
  "@types/ramda": "^0.27.14"
56
56
  },
57
- "gitHead": "283730ca9bb63422391388fbc020906edf942b57"
57
+ "gitHead": "3879c41ef7a22df15d5cd80ceaa41ec56e551429"
58
58
  }