@synerise/ds-date-range-picker 0.26.9 → 0.26.11
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 +19 -0
- package/dist/Footer/Footer.js +3 -1
- package/dist/RangePickerInput/RangePickerInput.js +4 -15
- package/dist/RawDateRangePicker.js +7 -9
- package/dist/utils.d.ts +2 -0
- package/dist/utils.js +31 -10
- package/package.json +22 -21
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,25 @@
|
|
|
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.26.11](https://github.com/Synerise/synerise-design/compare/@synerise/ds-date-range-picker@0.26.10...@synerise/ds-date-range-picker@0.26.11) (2024-02-21)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @synerise/ds-date-range-picker
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [0.26.10](https://github.com/Synerise/synerise-design/compare/@synerise/ds-date-range-picker@0.26.9...@synerise/ds-date-range-picker@0.26.10) (2024-02-19)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **date-range-picker:** set body timezone request ([35755ee](https://github.com/Synerise/synerise-design/commit/35755ee22bd740621577f65278e8919b71d53813))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
6
25
|
## [0.26.9](https://github.com/Synerise/synerise-design/compare/@synerise/ds-date-range-picker@0.26.8...@synerise/ds-date-range-picker@0.26.9) (2024-02-19)
|
|
7
26
|
|
|
8
27
|
**Note:** Version bump only for package @synerise/ds-date-range-picker
|
package/dist/Footer/Footer.js
CHANGED
|
@@ -21,6 +21,7 @@ import fnsFormat from '../dateUtils/format';
|
|
|
21
21
|
import getDateFromString from '../dateUtils/getDateFromString';
|
|
22
22
|
import * as CONST from '../constants';
|
|
23
23
|
import { isLifetime } from '../RelativeRangePicker/Elements/RangeDropdown/RangeDropdown';
|
|
24
|
+
import { toIsoStringWithoutZone } from "../utils";
|
|
24
25
|
|
|
25
26
|
var Footer = function Footer(_ref) {
|
|
26
27
|
var canApply = _ref.canApply,
|
|
@@ -49,7 +50,8 @@ var Footer = function Footer(_ref) {
|
|
|
49
50
|
return fnsFormat(getDateFromString(date), footerFormat, intl.locale);
|
|
50
51
|
}
|
|
51
52
|
|
|
52
|
-
|
|
53
|
+
var parseDate = new Date(toIsoStringWithoutZone(date));
|
|
54
|
+
return formatValue(parseDate, _objectSpread({}, getDefaultDataTimeOptions(showTime), {}, valueFormatOptions));
|
|
53
55
|
}, [footerFormat, format, formatValue, intl.locale, valueFormatOptions, showTime]);
|
|
54
56
|
var ChosenRange = React.useMemo(function () {
|
|
55
57
|
if ((value == null ? void 0 : value.key) === CONST.ALL_TIME || value && isLifetime(value)) {
|
|
@@ -5,20 +5,16 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
5
5
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
6
|
|
|
7
7
|
import * as React from 'react';
|
|
8
|
-
import fnsIsValid from 'date-fns/isValid';
|
|
9
8
|
import Icon, { ArrowRightS, CalendarM, Close3S } from '@synerise/ds-icon';
|
|
10
9
|
import { theme } from '@synerise/ds-core';
|
|
11
10
|
import Tooltip from '@synerise/ds-tooltip';
|
|
12
|
-
import { getDefaultDataTimeOptions, useDataFormat } from '@synerise/ds-data-format';
|
|
13
|
-
|
|
14
|
-
import { default as fnsFormat } from '../dateUtils/format';
|
|
11
|
+
import { getDefaultDataTimeOptions, useDataFormat } from '@synerise/ds-data-format';
|
|
15
12
|
import * as S from './RangePickerInput.styles';
|
|
16
13
|
import { normalizeRange } from '../utils';
|
|
17
14
|
import { isLifetime } from '../RelativeRangePicker/Elements/RangeDropdown/RangeDropdown';
|
|
18
15
|
|
|
19
16
|
var RangePickerInput = function RangePickerInput(_ref) {
|
|
20
17
|
var value = _ref.value,
|
|
21
|
-
format = _ref.format,
|
|
22
18
|
valueFormatOptions = _ref.valueFormatOptions,
|
|
23
19
|
showTime = _ref.showTime,
|
|
24
20
|
onChange = _ref.onChange,
|
|
@@ -63,16 +59,9 @@ var RangePickerInput = function RangePickerInput(_ref) {
|
|
|
63
59
|
onClick && onClick(e);
|
|
64
60
|
}, [onClick]);
|
|
65
61
|
var getText = React.useCallback(function (dateToDisplay) {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
if (typeof dateToDisplay === 'string') {
|
|
70
|
-
dateValue = new Date(dateToDisplay);
|
|
71
|
-
return fnsFormat(dateValue, format || showTime ? 'MMM D, YYYY, HH:mm' : 'MMM D, YYYY');
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
return formatValue(dateToDisplay, _objectSpread({}, getDefaultDataTimeOptions(showTime), {}, valueFormatOptions));
|
|
75
|
-
}, [format, showTime, formatValue, valueFormatOptions]);
|
|
62
|
+
var dateValue = new Date(dateToDisplay);
|
|
63
|
+
return formatValue(dateValue, _objectSpread({}, getDefaultDataTimeOptions(showTime), {}, valueFormatOptions));
|
|
64
|
+
}, [showTime, formatValue, valueFormatOptions]);
|
|
76
65
|
var renderFromDate = React.useCallback(function () {
|
|
77
66
|
var isFromDateDefined = dateRangeValue && dateRangeValue.from;
|
|
78
67
|
var text = dateRangeValue && isFromDateDefined ? /*#__PURE__*/React.createElement(S.DateValue, null, getText(dateRangeValue.from)) : texts == null ? void 0 : texts.startDatePlaceholder;
|
|
@@ -24,7 +24,7 @@ import relativeToAbsolute from './dateUtils/relativeToAbsolute';
|
|
|
24
24
|
import AddonCollapse from './AddonCollapse/AddonCollapse';
|
|
25
25
|
import RelativeRangePicker from './RelativeRangePicker/RelativeRangePicker';
|
|
26
26
|
import Footer from './Footer/Footer';
|
|
27
|
-
import { getDefaultTexts, normalizeRange } from './utils';
|
|
27
|
+
import { getDefaultTexts, normalizeRange, toIsoString } from './utils';
|
|
28
28
|
import RangeFilter from './RangeFilter/RangeFilter';
|
|
29
29
|
import RangeFilterStatus from './RangeFilter/Shared/RangeFilterStatus/RangeFilterStatus';
|
|
30
30
|
import { isLifetime } from './RelativeRangePicker/Elements/RangeDropdown/RangeDropdown';
|
|
@@ -162,11 +162,11 @@ export var RawDateRangePicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
162
162
|
});
|
|
163
163
|
|
|
164
164
|
_defineProperty(_assertThisInitialized(_this), "handleApply", function () {
|
|
165
|
+
var intl = _this.props.intl;
|
|
165
166
|
var value = _this.state.value;
|
|
166
167
|
var _this$props3 = _this.props,
|
|
167
168
|
forceAbsolute = _this$props3.forceAbsolute,
|
|
168
|
-
onApply = _this$props3.onApply
|
|
169
|
-
valueTransformer = _this$props3.valueTransformer;
|
|
169
|
+
onApply = _this$props3.onApply;
|
|
170
170
|
|
|
171
171
|
if (forceAbsolute && value.type === RELATIVE) {
|
|
172
172
|
onApply && onApply(_objectSpread({}, value, {}, relativeToAbsolute(value)));
|
|
@@ -179,15 +179,13 @@ export var RawDateRangePicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
if (onApply) {
|
|
182
|
-
var _valueTransformer2;
|
|
183
|
-
|
|
184
182
|
var valueToEmit = _objectSpread({}, value, {
|
|
185
|
-
from: value.type === ABSOLUTE && value.from instanceof Date ? value.from.
|
|
186
|
-
to: value.type === ABSOLUTE && value.to instanceof Date ? value.to.
|
|
183
|
+
from: value.type === ABSOLUTE && value.from instanceof Date ? toIsoString(value.from, intl.timeZone) : undefined,
|
|
184
|
+
to: value.type === ABSOLUTE && value.to instanceof Date ? toIsoString(value.to, intl.timeZone) : undefined,
|
|
187
185
|
type: value.type
|
|
188
186
|
});
|
|
189
187
|
|
|
190
|
-
onApply(
|
|
188
|
+
onApply(valueToEmit);
|
|
191
189
|
}
|
|
192
190
|
});
|
|
193
191
|
|
|
@@ -373,7 +371,7 @@ export var RawDateRangePicker = /*#__PURE__*/function (_PureComponent) {
|
|
|
373
371
|
className: containerClass
|
|
374
372
|
}, /*#__PURE__*/React.createElement(RangePicker, {
|
|
375
373
|
showNowButton: showNowButton,
|
|
376
|
-
value: value,
|
|
374
|
+
value: normalizeRange(value),
|
|
377
375
|
onChange: this.handleRangeChange,
|
|
378
376
|
mode: mode,
|
|
379
377
|
disabledDate: disabledDate,
|
package/dist/utils.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ import START_OF from './dateUtils/startOf';
|
|
|
4
4
|
import END_OF from './dateUtils/endOf';
|
|
5
5
|
import { Texts } from './DateRangePicker.types';
|
|
6
6
|
export { START_OF, END_OF };
|
|
7
|
+
export declare function toIsoString(date: Date, timeZone?: string | undefined): string;
|
|
8
|
+
export declare function toIsoStringWithoutZone(date: Date): string;
|
|
7
9
|
export declare const normalizeRange: (range: DateRange) => DateRange;
|
|
8
10
|
export declare const getDefaultTexts: (intl: IntlShape, disableDefault?: boolean, texts?: Partial<Texts>) => Texts;
|
|
9
11
|
export declare const DEFAULT_RANGE: DateRange;
|
package/dist/utils.js
CHANGED
|
@@ -6,13 +6,37 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
6
6
|
|
|
7
7
|
import fnsMin from 'date-fns/min';
|
|
8
8
|
import fnsMax from 'date-fns/max';
|
|
9
|
-
import {
|
|
9
|
+
import { getTimezoneOffset } from 'date-fns-tz';
|
|
10
10
|
import { omit } from 'lodash';
|
|
11
11
|
import { ABSOLUTE, CUSTOM_RANGE_KEY, RELATIVE } from './constants';
|
|
12
12
|
import ADD from './dateUtils/add';
|
|
13
13
|
import START_OF from './dateUtils/startOf';
|
|
14
14
|
import END_OF from './dateUtils/endOf';
|
|
15
15
|
export { START_OF, END_OF };
|
|
16
|
+
|
|
17
|
+
var rmvTZOffset = function rmvTZOffset(dateString) {
|
|
18
|
+
var date = dateString.toString();
|
|
19
|
+
var finalDate = date.replace(/[+-]\d\d:\d\d$/, '');
|
|
20
|
+
return finalDate;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
var pad = function pad(num) {
|
|
24
|
+
return (num < 10 ? '0' : '') + num;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export function toIsoString(date, timeZone) {
|
|
28
|
+
if (timeZone === void 0) {
|
|
29
|
+
timeZone = 'UTC';
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if (!timeZone) return new Date(date).toISOString();
|
|
33
|
+
var timeZoneOffset = getTimezoneOffset(timeZone, date);
|
|
34
|
+
var dif = timeZoneOffset >= 0 ? '+' : '-';
|
|
35
|
+
return date.getFullYear() + "-" + pad(date.getMonth() + 1) + "-" + pad(date.getDate()) + "T" + pad(date.getHours()) + ":" + pad(date.getMinutes()) + ":" + pad(date.getSeconds()) + dif + pad(Math.floor(Math.abs(timeZoneOffset) / 60 / 60 / 1000)) + ":" + pad(Math.abs(timeZoneOffset) % 60);
|
|
36
|
+
}
|
|
37
|
+
export function toIsoStringWithoutZone(date) {
|
|
38
|
+
return date.getFullYear() + "-" + pad(date.getMonth() + 1) + "-" + pad(date.getDate()) + "T" + pad(date.getHours()) + ":" + pad(date.getMinutes()) + ":" + pad(date.getSeconds());
|
|
39
|
+
}
|
|
16
40
|
export var normalizeRange = function normalizeRange(range) {
|
|
17
41
|
if (!range || !range.type) {
|
|
18
42
|
return {
|
|
@@ -54,14 +78,13 @@ export var normalizeRange = function normalizeRange(range) {
|
|
|
54
78
|
}
|
|
55
79
|
}
|
|
56
80
|
|
|
57
|
-
var
|
|
58
|
-
|
|
59
|
-
var _to = fnsMax([left, right]);
|
|
81
|
+
var from = fnsMin([left, right]);
|
|
82
|
+
var to = fnsMax([left, right]);
|
|
60
83
|
|
|
61
84
|
var normalizedRange = _objectSpread({}, range, {
|
|
62
85
|
type: RELATIVE,
|
|
63
|
-
from:
|
|
64
|
-
to:
|
|
86
|
+
from: from,
|
|
87
|
+
to: to,
|
|
65
88
|
offset: offset,
|
|
66
89
|
duration: duration,
|
|
67
90
|
future: future
|
|
@@ -71,16 +94,14 @@ export var normalizeRange = function normalizeRange(range) {
|
|
|
71
94
|
}
|
|
72
95
|
|
|
73
96
|
var keys = Object.keys(range);
|
|
74
|
-
var from = range.from ? legacyParse(range.from) : undefined;
|
|
75
|
-
var to = range.to ? legacyParse(range.to) : undefined;
|
|
76
97
|
|
|
77
98
|
var dropNonAbsolute = function dropNonAbsolute(dateRange) {
|
|
78
99
|
return omit(dateRange, ['offset', 'duration', 'future']);
|
|
79
100
|
};
|
|
80
101
|
|
|
81
102
|
var absoluteRange = _objectSpread({}, dropNonAbsolute(range), {
|
|
82
|
-
from: from,
|
|
83
|
-
to: to
|
|
103
|
+
from: range.from ? new Date(rmvTZOffset(range == null ? void 0 : range.from)) : undefined,
|
|
104
|
+
to: range.to ? new Date(rmvTZOffset(range == null ? void 0 : range.to)) : undefined
|
|
84
105
|
});
|
|
85
106
|
|
|
86
107
|
if (!keys.includes('from') && !keys.includes('to')) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@synerise/ds-date-range-picker",
|
|
3
|
-
"version": "0.26.
|
|
3
|
+
"version": "0.26.11",
|
|
4
4
|
"description": "Date-Range-Picker UI Component for the Synerise Design System",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"repository": "Synerise/synerise-design",
|
|
@@ -34,26 +34,27 @@
|
|
|
34
34
|
"types": "dist/index.d.ts",
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@date-fns/upgrade": "^1.0.3",
|
|
37
|
-
"@synerise/ds-badge": "^0.6.
|
|
38
|
-
"@synerise/ds-button": "^0.19.
|
|
39
|
-
"@synerise/ds-button-group": "^0.6.
|
|
40
|
-
"@synerise/ds-data-format": "^0.4.
|
|
41
|
-
"@synerise/ds-date-picker": "^0.10.
|
|
42
|
-
"@synerise/ds-dropdown": "^0.17.
|
|
43
|
-
"@synerise/ds-icon": "^0.60.
|
|
44
|
-
"@synerise/ds-inline-edit": "^0.6.
|
|
45
|
-
"@synerise/ds-input": "^0.19.
|
|
46
|
-
"@synerise/ds-input-number": "^0.9.
|
|
47
|
-
"@synerise/ds-manageable-list": "^0.26.
|
|
48
|
-
"@synerise/ds-menu": "^0.18.
|
|
49
|
-
"@synerise/ds-scrollbar": "^0.8.
|
|
50
|
-
"@synerise/ds-select": "^0.15.
|
|
51
|
-
"@synerise/ds-slider": "^0.13.
|
|
52
|
-
"@synerise/ds-tags": "^0.8.
|
|
53
|
-
"@synerise/ds-time-picker": "^0.9.
|
|
54
|
-
"@synerise/ds-tooltip": "^0.14.
|
|
55
|
-
"@synerise/ds-utils": "^0.24.
|
|
37
|
+
"@synerise/ds-badge": "^0.6.51",
|
|
38
|
+
"@synerise/ds-button": "^0.19.2",
|
|
39
|
+
"@synerise/ds-button-group": "^0.6.42",
|
|
40
|
+
"@synerise/ds-data-format": "^0.4.8",
|
|
41
|
+
"@synerise/ds-date-picker": "^0.10.37",
|
|
42
|
+
"@synerise/ds-dropdown": "^0.17.98",
|
|
43
|
+
"@synerise/ds-icon": "^0.60.2",
|
|
44
|
+
"@synerise/ds-inline-edit": "^0.6.98",
|
|
45
|
+
"@synerise/ds-input": "^0.19.19",
|
|
46
|
+
"@synerise/ds-input-number": "^0.9.5",
|
|
47
|
+
"@synerise/ds-manageable-list": "^0.26.29",
|
|
48
|
+
"@synerise/ds-menu": "^0.18.14",
|
|
49
|
+
"@synerise/ds-scrollbar": "^0.8.2",
|
|
50
|
+
"@synerise/ds-select": "^0.15.37",
|
|
51
|
+
"@synerise/ds-slider": "^0.13.16",
|
|
52
|
+
"@synerise/ds-tags": "^0.8.32",
|
|
53
|
+
"@synerise/ds-time-picker": "^0.9.16",
|
|
54
|
+
"@synerise/ds-tooltip": "^0.14.19",
|
|
55
|
+
"@synerise/ds-utils": "^0.24.26",
|
|
56
56
|
"date-fns": "^2.16.1",
|
|
57
|
+
"date-fns-tz": "1.1.4",
|
|
57
58
|
"dayjs": "^1.8.35",
|
|
58
59
|
"lodash": "^4.17.20",
|
|
59
60
|
"ramda": "^0.27.0",
|
|
@@ -73,5 +74,5 @@
|
|
|
73
74
|
"@testing-library/user-event": "^10.3.1",
|
|
74
75
|
"@types/ramda": "^0.28.23"
|
|
75
76
|
},
|
|
76
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "673df74b628304300c09f0d7e26279b5901cd925"
|
|
77
78
|
}
|