@salutejs/plasma-new-hope 0.322.0-canary.1939.14616445713.0 → 0.322.0-canary.1939.14642328722.0
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/cjs/components/DatePicker/RangeDate/RangeDate.js +2 -2
- package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js +3 -1
- package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +3 -1
- package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
- package/cjs/components/DatePicker/utils/dateHelper.js +4 -0
- package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
- package/cjs/components/DatePicker/utils/getFormattedDates.js +2 -1
- package/cjs/components/DatePicker/utils/getFormattedDates.js.map +1 -1
- package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +3 -1
- package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js.map +1 -1
- package/cjs/components/DatePicker/utils/getOriginalDates.js +2 -13
- package/cjs/components/DatePicker/utils/getOriginalDates.js.map +1 -1
- package/cjs/components/DatePicker/utils/normalizeDates.js +6 -3
- package/cjs/components/DatePicker/utils/normalizeDates.js.map +1 -1
- package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +2 -2
- package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +3 -1
- package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +2 -1
- package/emotion/cjs/components/DatePicker/utils/dateHelper.js +4 -1
- package/emotion/cjs/components/DatePicker/utils/getFormattedDates.js +2 -1
- package/emotion/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +2 -1
- package/emotion/cjs/components/DatePicker/utils/getOriginalDates.js +2 -13
- package/emotion/cjs/components/DatePicker/utils/normalizeDates.js +6 -3
- package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +2 -2
- package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +3 -1
- package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +2 -1
- package/emotion/es/components/DatePicker/utils/dateHelper.js +3 -0
- package/emotion/es/components/DatePicker/utils/getFormattedDates.js +2 -1
- package/emotion/es/components/DatePicker/utils/getMaskedDateOnInput.js +2 -1
- package/emotion/es/components/DatePicker/utils/getOriginalDates.js +2 -13
- package/emotion/es/components/DatePicker/utils/normalizeDates.js +6 -3
- package/es/components/DatePicker/RangeDate/RangeDate.js +2 -2
- package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js +3 -1
- package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
- package/es/components/DatePicker/hooks/useKeyboardNavigation.js +3 -1
- package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
- package/es/components/DatePicker/utils/dateHelper.js +4 -1
- package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
- package/es/components/DatePicker/utils/getFormattedDates.js +2 -1
- package/es/components/DatePicker/utils/getFormattedDates.js.map +1 -1
- package/es/components/DatePicker/utils/getMaskedDateOnInput.js +3 -1
- package/es/components/DatePicker/utils/getMaskedDateOnInput.js.map +1 -1
- package/es/components/DatePicker/utils/getOriginalDates.js +2 -13
- package/es/components/DatePicker/utils/getOriginalDates.js.map +1 -1
- package/es/components/DatePicker/utils/normalizeDates.js +6 -3
- package/es/components/DatePicker/utils/normalizeDates.js.map +1 -1
- package/package.json +4 -4
- package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +2 -2
- package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +3 -1
- package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +2 -1
- package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +4 -1
- package/styled-components/cjs/components/DatePicker/utils/getFormattedDates.js +2 -1
- package/styled-components/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +2 -1
- package/styled-components/cjs/components/DatePicker/utils/getOriginalDates.js +2 -13
- package/styled-components/cjs/components/DatePicker/utils/normalizeDates.js +6 -3
- package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +2 -2
- package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +3 -1
- package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +2 -1
- package/styled-components/es/components/DatePicker/utils/dateHelper.js +3 -0
- package/styled-components/es/components/DatePicker/utils/getFormattedDates.js +2 -1
- package/styled-components/es/components/DatePicker/utils/getMaskedDateOnInput.js +2 -1
- package/styled-components/es/components/DatePicker/utils/getOriginalDates.js +2 -13
- package/styled-components/es/components/DatePicker/utils/normalizeDates.js +6 -3
- package/types/components/DatePicker/DatePickerBase.types.d.ts +2 -2
- package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +2 -2
- package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts +5 -4
- package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +3 -3
- package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
- package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
- package/types/components/DatePicker/utils/dateHelper.d.ts +1 -0
- package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
- package/types/components/DatePicker/utils/getFormattedDates.d.ts.map +1 -1
- package/types/components/DatePicker/utils/getMaskedDateOnInput.d.ts.map +1 -1
- package/types/components/DatePicker/utils/getOriginalDates.d.ts.map +1 -1
- package/types/components/DatePicker/utils/normalizeDates.d.ts.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getOriginalDates.js","sources":["../../../../src/components/DatePicker/utils/getOriginalDates.ts"],"sourcesContent":["import { customDayjs } from 'src/utils/datejs';\n\nconst initialValueStructure = {\n isoDate: '',\n originalDate: undefined,\n formattedDate: '',\n};\n\nexport const getOriginalDates = (value: Date | string | null, lang?: string, format?: string) => {\n if (!value || !lang) {\n return initialValueStructure;\n }\n\n customDayjs.locale(lang);\n\n if (value instanceof Date) {\n return {\n formattedDate: customDayjs(value).format(format),\n isoDate: new Date(value).toISOString(),\n originalDate: new Date(value),\n };\n }\n\n if (
|
1
|
+
{"version":3,"file":"getOriginalDates.js","sources":["../../../../src/components/DatePicker/utils/getOriginalDates.ts"],"sourcesContent":["import { customDayjs } from 'src/utils/datejs';\n\nconst initialValueStructure = {\n isoDate: '',\n originalDate: undefined,\n formattedDate: '',\n};\n\nexport const getOriginalDates = (value: Date | string | null, lang?: string, format?: string) => {\n if (!value || !lang || !format) {\n return initialValueStructure;\n }\n\n customDayjs.locale(lang);\n\n if (value instanceof Date) {\n return {\n formattedDate: customDayjs(value).format(format),\n isoDate: new Date(value).toISOString(),\n originalDate: new Date(value),\n };\n }\n\n if (customDayjs(value, format).isValid()) {\n const isoDate = customDayjs(value, format).toISOString();\n const originalDate = customDayjs(value, format).toDate();\n const formattedDate = customDayjs(value, format).format(format);\n\n return { formattedDate, isoDate, originalDate };\n }\n\n return initialValueStructure;\n};\n"],"names":["initialValueStructure","isoDate","originalDate","undefined","formattedDate","getOriginalDates","value","lang","format","customDayjs","locale","Date","toISOString","isValid","toDate"],"mappings":";;;;;;AAEA,IAAMA,qBAAqB,GAAG;AAC1BC,EAAAA,OAAO,EAAE,EAAE;AACXC,EAAAA,YAAY,EAAEC,SAAS;AACvBC,EAAAA,aAAa,EAAE,EAAA;AACnB,CAAC,CAAA;AAEM,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,KAA2B,EAAEC,IAAa,EAAEC,MAAe,EAAK;EAC7F,IAAI,CAACF,KAAK,IAAI,CAACC,IAAI,IAAI,CAACC,MAAM,EAAE;AAC5B,IAAA,OAAOR,qBAAqB,CAAA;AAChC,GAAA;AAEAS,EAAAA,kBAAW,CAACC,MAAM,CAACH,IAAI,CAAC,CAAA;EAExB,IAAID,KAAK,YAAYK,IAAI,EAAE;IACvB,OAAO;MACHP,aAAa,EAAEK,kBAAW,CAACH,KAAK,CAAC,CAACE,MAAM,CAACA,MAAM,CAAC;MAChDP,OAAO,EAAE,IAAIU,IAAI,CAACL,KAAK,CAAC,CAACM,WAAW,EAAE;AACtCV,MAAAA,YAAY,EAAE,IAAIS,IAAI,CAACL,KAAK,CAAA;KAC/B,CAAA;AACL,GAAA;EAEA,IAAIG,kBAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACK,OAAO,EAAE,EAAE;IACtC,IAAMZ,OAAO,GAAGQ,kBAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACI,WAAW,EAAE,CAAA;IACxD,IAAMV,YAAY,GAAGO,kBAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACM,MAAM,EAAE,CAAA;AACxD,IAAA,IAAMV,aAAa,GAAGK,kBAAW,CAACH,KAAK,EAAEE,MAAM,CAAC,CAACA,MAAM,CAACA,MAAM,CAAC,CAAA;IAE/D,OAAO;AAAEJ,MAAAA,aAAa,EAAbA,aAAa;AAAEH,MAAAA,OAAO,EAAPA,OAAO;AAAEC,MAAAA,YAAY,EAAZA,YAAAA;KAAc,CAAA;AACnD,GAAA;AAEA,EAAA,OAAOF,qBAAqB,CAAA;AAChC;;;;"}
|
@@ -15,11 +15,14 @@ var normalizeDates = function normalizeDates(_ref) {
|
|
15
15
|
datejs.customDayjs.locale(lang);
|
16
16
|
if (min && includeEdgeDates && min > originalDate) {
|
17
17
|
dateCandidate = min;
|
18
|
-
}
|
18
|
+
}
|
19
|
+
if (min && !includeEdgeDates && min >= originalDate) {
|
19
20
|
dateCandidate = datejs.customDayjs(min).add(1, 'd').toDate();
|
20
|
-
}
|
21
|
+
}
|
22
|
+
if (max && includeEdgeDates && max < originalDate) {
|
21
23
|
dateCandidate = max;
|
22
|
-
}
|
24
|
+
}
|
25
|
+
if (max && !includeEdgeDates && max <= originalDate) {
|
23
26
|
dateCandidate = datejs.customDayjs(max).subtract(1, 'd').toDate();
|
24
27
|
}
|
25
28
|
var formattedDateCandidate = format ? datejs.customDayjs(dateCandidate).format(format) : dateCandidate.toString();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"normalizeDates.js","sources":["../../../../src/components/DatePicker/utils/normalizeDates.ts"],"sourcesContent":["import { customDayjs } from 'src/utils/datejs';\n\nimport type { Langs } from './dateHelper';\n\ntype NormalizeDatesArgs = {\n originalDate: Date;\n lang?: Langs;\n includeEdgeDates?: boolean;\n format?: string;\n min?: Date;\n max?: Date;\n};\n\nexport const normalizeDates = ({ originalDate, lang, format, includeEdgeDates, min, max }: NormalizeDatesArgs) => {\n let dateCandidate = originalDate;\n\n customDayjs.locale(lang);\n\n if (min && includeEdgeDates && min > originalDate) {\n dateCandidate = min;\n }
|
1
|
+
{"version":3,"file":"normalizeDates.js","sources":["../../../../src/components/DatePicker/utils/normalizeDates.ts"],"sourcesContent":["import { customDayjs } from 'src/utils/datejs';\n\nimport type { Langs } from './dateHelper';\n\ntype NormalizeDatesArgs = {\n originalDate: Date;\n lang?: Langs;\n includeEdgeDates?: boolean;\n format?: string;\n min?: Date;\n max?: Date;\n};\n\nexport const normalizeDates = ({ originalDate, lang, format, includeEdgeDates, min, max }: NormalizeDatesArgs) => {\n let dateCandidate = originalDate;\n\n customDayjs.locale(lang);\n\n if (min && includeEdgeDates && min > originalDate) {\n dateCandidate = min;\n }\n\n if (min && !includeEdgeDates && min >= originalDate) {\n dateCandidate = customDayjs(min).add(1, 'd').toDate();\n }\n\n if (max && includeEdgeDates && max < originalDate) {\n dateCandidate = max;\n }\n\n if (max && !includeEdgeDates && max <= originalDate) {\n dateCandidate = customDayjs(max).subtract(1, 'd').toDate();\n }\n\n const formattedDateCandidate = format ? customDayjs(dateCandidate).format(format) : dateCandidate.toString();\n\n return {\n normalizedDate: dateCandidate,\n formattedNormalizedDate: formattedDateCandidate,\n };\n};\n"],"names":["normalizeDates","_ref","originalDate","lang","format","includeEdgeDates","min","max","dateCandidate","customDayjs","locale","add","toDate","subtract","formattedDateCandidate","toString","normalizedDate","formattedNormalizedDate"],"mappings":";;;;;;IAaaA,cAAc,GAAG,SAAjBA,cAAcA,CAAAC,IAAA,EAAuF;AAAA,EAAA,IAAjFC,YAAY,GAAAD,IAAA,CAAZC,YAAY;IAAEC,IAAI,GAAAF,IAAA,CAAJE,IAAI;IAAEC,MAAM,GAAAH,IAAA,CAANG,MAAM;IAAEC,gBAAgB,GAAAJ,IAAA,CAAhBI,gBAAgB;IAAEC,GAAG,GAAAL,IAAA,CAAHK,GAAG;IAAEC,GAAG,GAAAN,IAAA,CAAHM,GAAG,CAAA;EACnF,IAAIC,aAAa,GAAGN,YAAY,CAAA;AAEhCO,EAAAA,kBAAW,CAACC,MAAM,CAACP,IAAI,CAAC,CAAA;AAExB,EAAA,IAAIG,GAAG,IAAID,gBAAgB,IAAIC,GAAG,GAAGJ,YAAY,EAAE;AAC/CM,IAAAA,aAAa,GAAGF,GAAG,CAAA;AACvB,GAAA;EAEA,IAAIA,GAAG,IAAI,CAACD,gBAAgB,IAAIC,GAAG,IAAIJ,YAAY,EAAE;AACjDM,IAAAA,aAAa,GAAGC,kBAAW,CAACH,GAAG,CAAC,CAACK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAACC,MAAM,EAAE,CAAA;AACzD,GAAA;AAEA,EAAA,IAAIL,GAAG,IAAIF,gBAAgB,IAAIE,GAAG,GAAGL,YAAY,EAAE;AAC/CM,IAAAA,aAAa,GAAGD,GAAG,CAAA;AACvB,GAAA;EAEA,IAAIA,GAAG,IAAI,CAACF,gBAAgB,IAAIE,GAAG,IAAIL,YAAY,EAAE;AACjDM,IAAAA,aAAa,GAAGC,kBAAW,CAACF,GAAG,CAAC,CAACM,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAACD,MAAM,EAAE,CAAA;AAC9D,GAAA;AAEA,EAAA,IAAME,sBAAsB,GAAGV,MAAM,GAAGK,kBAAW,CAACD,aAAa,CAAC,CAACJ,MAAM,CAACA,MAAM,CAAC,GAAGI,aAAa,CAACO,QAAQ,EAAE,CAAA;EAE5G,OAAO;AACHC,IAAAA,cAAc,EAAER,aAAa;AAC7BS,IAAAA,uBAAuB,EAAEH,sBAAAA;GAC5B,CAAA;AACL;;;;"}
|
@@ -237,7 +237,7 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
|
|
237
237
|
readOnly: readOnly,
|
238
238
|
maskWithFormat: maskWithFormat,
|
239
239
|
valueError: firstValueError,
|
240
|
-
valueSuccess:
|
240
|
+
valueSuccess: firstValueSuccess,
|
241
241
|
name: name,
|
242
242
|
type: type,
|
243
243
|
min: min,
|
@@ -262,7 +262,7 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
|
|
262
262
|
readOnly: readOnly,
|
263
263
|
maskWithFormat: maskWithFormat,
|
264
264
|
valueError: secondValueError,
|
265
|
-
valueSuccess:
|
265
|
+
valueSuccess: secondValueSuccess,
|
266
266
|
name: name,
|
267
267
|
type: type,
|
268
268
|
min: min,
|
@@ -234,7 +234,9 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
|
|
234
234
|
updateExternalDate(value);
|
235
235
|
}, [value, format, lang]);
|
236
236
|
(0, _react.useLayoutEffect)(function () {
|
237
|
-
!value
|
237
|
+
if (!value) {
|
238
|
+
updateExternalDate(defaultDate);
|
239
|
+
}
|
238
240
|
}, [defaultDate, format, lang]);
|
239
241
|
return /*#__PURE__*/_react["default"].createElement(Root, _extends({
|
240
242
|
view: view,
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.useKeyNavigation = exports.keys = void 0;
|
7
|
+
var _dateHelper = /*#__PURE__*/require("../utils/dateHelper");
|
7
8
|
var keys = exports.keys = {
|
8
9
|
Space: 'Space',
|
9
10
|
Escape: 'Escape'
|
@@ -16,7 +17,7 @@ var useKeyNavigation = exports.useKeyNavigation = function useKeyNavigation(_ref
|
|
16
17
|
delimiter = _ref.delimiter,
|
17
18
|
onToggle = _ref.onToggle;
|
18
19
|
var onKeyDown = function onKeyDown(event) {
|
19
|
-
if (event.key === delimiter && maskWithFormat && format &&
|
20
|
+
if (event.key === delimiter && maskWithFormat && format && !(0, _dateHelper.needFullMonth)(format)) {
|
20
21
|
event.preventDefault();
|
21
22
|
return;
|
22
23
|
}
|
@@ -3,7 +3,10 @@
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
4
4
|
value: true
|
5
5
|
});
|
6
|
-
exports.getDateFormatDelimiter = void 0;
|
6
|
+
exports.needFullMonth = exports.getDateFormatDelimiter = void 0;
|
7
|
+
var needFullMonth = exports.needFullMonth = function needFullMonth(format) {
|
8
|
+
return /M{3,4}/g.test(format);
|
9
|
+
};
|
7
10
|
var getDateFormatDelimiter = exports.getDateFormatDelimiter = function getDateFormatDelimiter(format) {
|
8
11
|
var _format$match;
|
9
12
|
if (!format) {
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.getFormattedDates = void 0;
|
7
|
+
var _dateHelper = /*#__PURE__*/require("./dateHelper");
|
7
8
|
var _getOriginalDates2 = /*#__PURE__*/require("./getOriginalDates");
|
8
9
|
var _normalizeDates2 = /*#__PURE__*/require("./normalizeDates");
|
9
10
|
var getFormattedDates = exports.getFormattedDates = function getFormattedDates(_ref) {
|
@@ -18,7 +19,7 @@ var getFormattedDates = exports.getFormattedDates = function getFormattedDates(_
|
|
18
19
|
isoDate = _getOriginalDates.isoDate,
|
19
20
|
originalDate = _getOriginalDates.originalDate;
|
20
21
|
if (!originalDate) {
|
21
|
-
var innerValue = format && (
|
22
|
+
var innerValue = format && ((0, _dateHelper.needFullMonth)(format) ? formattedDate : formattedDate.slice(0, format.length));
|
22
23
|
return {
|
23
24
|
formattedDate: innerValue || '',
|
24
25
|
isoDate: isoDate,
|
@@ -4,11 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
5
5
|
});
|
6
6
|
exports.getMaskedDateOnInput = void 0;
|
7
|
+
var _dateHelper = /*#__PURE__*/require("./dateHelper");
|
7
8
|
var getMaskedDateOnInput = exports.getMaskedDateOnInput = function getMaskedDateOnInput(value, format, delimiter, prevValue) {
|
8
9
|
if (!value) {
|
9
10
|
return '';
|
10
11
|
}
|
11
|
-
if (!format || !delimiter ||
|
12
|
+
if (!format || !delimiter || (0, _dateHelper.needFullMonth)(format)) {
|
12
13
|
return value;
|
13
14
|
}
|
14
15
|
var dateRegExp = new RegExp("[^0-9".concat(delimiter, "]"), 'g');
|
@@ -11,7 +11,7 @@ var initialValueStructure = {
|
|
11
11
|
formattedDate: ''
|
12
12
|
};
|
13
13
|
var getOriginalDates = exports.getOriginalDates = function getOriginalDates(value, lang, format) {
|
14
|
-
if (!value || !lang) {
|
14
|
+
if (!value || !lang || !format) {
|
15
15
|
return initialValueStructure;
|
16
16
|
}
|
17
17
|
_datejs.customDayjs.locale(lang);
|
@@ -22,13 +22,6 @@ var getOriginalDates = exports.getOriginalDates = function getOriginalDates(valu
|
|
22
22
|
originalDate: new Date(value)
|
23
23
|
};
|
24
24
|
}
|
25
|
-
if (!format) {
|
26
|
-
return {
|
27
|
-
formattedDate: value,
|
28
|
-
isoDate: '',
|
29
|
-
originalDate: undefined
|
30
|
-
};
|
31
|
-
}
|
32
25
|
if ((0, _datejs.customDayjs)(value, format).isValid()) {
|
33
26
|
var isoDate = (0, _datejs.customDayjs)(value, format).toISOString();
|
34
27
|
var originalDate = (0, _datejs.customDayjs)(value, format).toDate();
|
@@ -39,9 +32,5 @@ var getOriginalDates = exports.getOriginalDates = function getOriginalDates(valu
|
|
39
32
|
originalDate: originalDate
|
40
33
|
};
|
41
34
|
}
|
42
|
-
return
|
43
|
-
formattedDate: value,
|
44
|
-
isoDate: '',
|
45
|
-
originalDate: undefined
|
46
|
-
};
|
35
|
+
return initialValueStructure;
|
47
36
|
};
|
@@ -16,11 +16,14 @@ var normalizeDates = exports.normalizeDates = function normalizeDates(_ref) {
|
|
16
16
|
_datejs.customDayjs.locale(lang);
|
17
17
|
if (min && includeEdgeDates && min > originalDate) {
|
18
18
|
dateCandidate = min;
|
19
|
-
}
|
19
|
+
}
|
20
|
+
if (min && !includeEdgeDates && min >= originalDate) {
|
20
21
|
dateCandidate = (0, _datejs.customDayjs)(min).add(1, 'd').toDate();
|
21
|
-
}
|
22
|
+
}
|
23
|
+
if (max && includeEdgeDates && max < originalDate) {
|
22
24
|
dateCandidate = max;
|
23
|
-
}
|
25
|
+
}
|
26
|
+
if (max && !includeEdgeDates && max <= originalDate) {
|
24
27
|
dateCandidate = (0, _datejs.customDayjs)(max).subtract(1, 'd').toDate();
|
25
28
|
}
|
26
29
|
var formattedDateCandidate = format ? (0, _datejs.customDayjs)(dateCandidate).format(format) : dateCandidate.toString();
|
@@ -228,7 +228,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
228
228
|
readOnly: readOnly,
|
229
229
|
maskWithFormat: maskWithFormat,
|
230
230
|
valueError: firstValueError,
|
231
|
-
valueSuccess:
|
231
|
+
valueSuccess: firstValueSuccess,
|
232
232
|
name: name,
|
233
233
|
type: type,
|
234
234
|
min: min,
|
@@ -253,7 +253,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
253
253
|
readOnly: readOnly,
|
254
254
|
maskWithFormat: maskWithFormat,
|
255
255
|
valueError: secondValueError,
|
256
|
-
valueSuccess:
|
256
|
+
valueSuccess: secondValueSuccess,
|
257
257
|
name: name,
|
258
258
|
type: type,
|
259
259
|
min: min,
|
@@ -225,7 +225,9 @@ export var datePickerRoot = function datePickerRoot(Root) {
|
|
225
225
|
updateExternalDate(value);
|
226
226
|
}, [value, format, lang]);
|
227
227
|
useLayoutEffect(function () {
|
228
|
-
!value
|
228
|
+
if (!value) {
|
229
|
+
updateExternalDate(defaultDate);
|
230
|
+
}
|
229
231
|
}, [defaultDate, format, lang]);
|
230
232
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
231
233
|
view: view,
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { needFullMonth } from "../utils/dateHelper";
|
1
2
|
export var keys = {
|
2
3
|
Space: 'Space',
|
3
4
|
Escape: 'Escape'
|
@@ -10,7 +11,7 @@ export var useKeyNavigation = function useKeyNavigation(_ref) {
|
|
10
11
|
delimiter = _ref.delimiter,
|
11
12
|
onToggle = _ref.onToggle;
|
12
13
|
var onKeyDown = function onKeyDown(event) {
|
13
|
-
if (event.key === delimiter && maskWithFormat && format &&
|
14
|
+
if (event.key === delimiter && maskWithFormat && format && !needFullMonth(format)) {
|
14
15
|
event.preventDefault();
|
15
16
|
return;
|
16
17
|
}
|
@@ -1,3 +1,4 @@
|
|
1
|
+
import { needFullMonth } from "./dateHelper";
|
1
2
|
import { getOriginalDates } from "./getOriginalDates";
|
2
3
|
import { normalizeDates } from "./normalizeDates";
|
3
4
|
export var getFormattedDates = function getFormattedDates(_ref) {
|
@@ -12,7 +13,7 @@ export var getFormattedDates = function getFormattedDates(_ref) {
|
|
12
13
|
isoDate = _getOriginalDates.isoDate,
|
13
14
|
originalDate = _getOriginalDates.originalDate;
|
14
15
|
if (!originalDate) {
|
15
|
-
var innerValue = format && (
|
16
|
+
var innerValue = format && (needFullMonth(format) ? formattedDate : formattedDate.slice(0, format.length));
|
16
17
|
return {
|
17
18
|
formattedDate: innerValue || '',
|
18
19
|
isoDate: isoDate,
|
@@ -1,8 +1,9 @@
|
|
1
|
+
import { needFullMonth } from "./dateHelper";
|
1
2
|
export var getMaskedDateOnInput = function getMaskedDateOnInput(value, format, delimiter, prevValue) {
|
2
3
|
if (!value) {
|
3
4
|
return '';
|
4
5
|
}
|
5
|
-
if (!format || !delimiter ||
|
6
|
+
if (!format || !delimiter || needFullMonth(format)) {
|
6
7
|
return value;
|
7
8
|
}
|
8
9
|
var dateRegExp = new RegExp("[^0-9".concat(delimiter, "]"), 'g');
|
@@ -5,7 +5,7 @@ var initialValueStructure = {
|
|
5
5
|
formattedDate: ''
|
6
6
|
};
|
7
7
|
export var getOriginalDates = function getOriginalDates(value, lang, format) {
|
8
|
-
if (!value || !lang) {
|
8
|
+
if (!value || !lang || !format) {
|
9
9
|
return initialValueStructure;
|
10
10
|
}
|
11
11
|
customDayjs.locale(lang);
|
@@ -16,13 +16,6 @@ export var getOriginalDates = function getOriginalDates(value, lang, format) {
|
|
16
16
|
originalDate: new Date(value)
|
17
17
|
};
|
18
18
|
}
|
19
|
-
if (!format) {
|
20
|
-
return {
|
21
|
-
formattedDate: value,
|
22
|
-
isoDate: '',
|
23
|
-
originalDate: undefined
|
24
|
-
};
|
25
|
-
}
|
26
19
|
if (customDayjs(value, format).isValid()) {
|
27
20
|
var isoDate = customDayjs(value, format).toISOString();
|
28
21
|
var originalDate = customDayjs(value, format).toDate();
|
@@ -33,9 +26,5 @@ export var getOriginalDates = function getOriginalDates(value, lang, format) {
|
|
33
26
|
originalDate: originalDate
|
34
27
|
};
|
35
28
|
}
|
36
|
-
return
|
37
|
-
formattedDate: value,
|
38
|
-
isoDate: '',
|
39
|
-
originalDate: undefined
|
40
|
-
};
|
29
|
+
return initialValueStructure;
|
41
30
|
};
|
@@ -10,11 +10,14 @@ export var normalizeDates = function normalizeDates(_ref) {
|
|
10
10
|
customDayjs.locale(lang);
|
11
11
|
if (min && includeEdgeDates && min > originalDate) {
|
12
12
|
dateCandidate = min;
|
13
|
-
}
|
13
|
+
}
|
14
|
+
if (min && !includeEdgeDates && min >= originalDate) {
|
14
15
|
dateCandidate = customDayjs(min).add(1, 'd').toDate();
|
15
|
-
}
|
16
|
+
}
|
17
|
+
if (max && includeEdgeDates && max < originalDate) {
|
16
18
|
dateCandidate = max;
|
17
|
-
}
|
19
|
+
}
|
20
|
+
if (max && !includeEdgeDates && max <= originalDate) {
|
18
21
|
dateCandidate = customDayjs(max).subtract(1, 'd').toDate();
|
19
22
|
}
|
20
23
|
var formattedDateCandidate = format ? customDayjs(dateCandidate).format(format) : dateCandidate.toString();
|
@@ -222,7 +222,7 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
222
222
|
readOnly: readOnly,
|
223
223
|
maskWithFormat: maskWithFormat,
|
224
224
|
valueError: firstValueError,
|
225
|
-
valueSuccess:
|
225
|
+
valueSuccess: firstValueSuccess,
|
226
226
|
name: name,
|
227
227
|
type: type,
|
228
228
|
min: min,
|
@@ -247,7 +247,7 @@ var datePickerRangeRoot = function datePickerRangeRoot(Root) {
|
|
247
247
|
readOnly: readOnly,
|
248
248
|
maskWithFormat: maskWithFormat,
|
249
249
|
valueError: secondValueError,
|
250
|
-
valueSuccess:
|
250
|
+
valueSuccess: secondValueSuccess,
|
251
251
|
name: name,
|
252
252
|
type: type,
|
253
253
|
min: min,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n PropsWithChildren,\n FC,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, noop } from '../../../utils';\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo, DateType } from '../../Calendar/Calendar.types';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerRangeProps } from './RangeDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n value: externalValue,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n required,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n onToggle,\n\n onChange,\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n if (externalValue?.length && (defaultFirstDate || defaultSecondDate)) {\n console.error(\"Controlled DatePicker can't have `default{First|Second}Date`, use `value` instead\");\n }\n\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const [startExternalValue, endExternalValue] = externalValue || [];\n const startInitialValues = getFormattedDates({\n value: startExternalValue || defaultFirstDate,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n const endInitialValues = getFormattedDates({\n value: endExternalValue || defaultSecondDate,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctStartDates, setCorrectStartDates] = useState({\n calendar: startInitialValues.originalDate,\n input: startInitialValues.formattedDate,\n });\n const [correctEndDates, setCorrectEndDates] = useState({\n calendar: endInitialValues.originalDate,\n input: endInitialValues.formattedDate,\n });\n\n const [calendarFirstValue, setCalendarFirstValue] = useState<DateType>(startInitialValues.originalDate);\n const [inputFirstValue, setInputFirstValue] = useState(startInitialValues.formattedDate);\n\n const [calendarSecondValue, setCalendarSecondValue] = useState<DateType>(endInitialValues.originalDate);\n const [inputSecondValue, setInputSecondValue] = useState(endInitialValues.formattedDate);\n\n const [fullDateEntered, setFullDateEntered] = useState(Boolean(calendarFirstValue && calendarSecondValue));\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;\n const rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;\n\n const setFirstInputValue = (value: React.SetStateAction<string>) => {\n setInputFirstValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${value} - ${inputSecondValue}`,\n name,\n },\n });\n }\n };\n\n const setSecondInputValue = (value: React.SetStateAction<string>) => {\n setInputSecondValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${inputFirstValue} - ${value}`,\n name,\n },\n });\n }\n };\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCalendarPick: handleFirstCalendarPick,\n handleSearch: handleSearchFirst,\n updateExternalDate: updateExternalFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueError,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates: setCorrectStartDates,\n setInputValue: setFirstInputValue,\n setCalendarValue: setCalendarFirstValue,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n dateFormatDelimiter,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCalendarPick: handleSecondCalendarPick,\n handleSearch: handleSearchSecond,\n updateExternalDate: updateExternalSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueError,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates: setCorrectEndDates,\n setInputValue: setSecondInputValue,\n setCalendarValue: setCalendarSecondValue,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n dateFormatDelimiter,\n });\n\n const handleToggle = (currentOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n (firstInputRef?.current?.contains((event?.target as Node) || null) ||\n secondInputRef?.current?.contains((event?.target as Node) || null)) &&\n (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n if (calendarFirstValue && !calendarSecondValue) {\n secondInputRef?.current?.focus();\n }\n if (calendarSecondValue && !calendarFirstValue) {\n firstInputRef?.current?.focus();\n }\n }\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue) {\n outerHandler?.(event);\n return;\n }\n\n let { originalDate: startOriginalDate } = getFormattedDates({\n value: inputFirstValue,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n let { originalDate: endOriginalDate } = getFormattedDates({\n value: inputSecondValue,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n if (!calendarFirstValue && correctStartDates.calendar) {\n startOriginalDate = new Date(correctStartDates.calendar);\n }\n\n if (!calendarSecondValue && correctEndDates.calendar) {\n endOriginalDate = new Date(correctEndDates.calendar);\n }\n\n const [startValue, endValue] = getSortedValues([startOriginalDate, endOriginalDate]);\n\n const { formattedDate: startFormattedDate } = getFormattedDates({\n value: startValue || null,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const { formattedDate: endFormattedDate } = getFormattedDates({\n value: endValue || null,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n setFirstInputValue(startFormattedDate);\n setSecondInputValue(endFormattedDate);\n\n setCalendarFirstValue(startOriginalDate);\n setCalendarSecondValue(endOriginalDate);\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter(),\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleFirstCalendarPick(chosenDate, dateInfo);\n handleSecondCalendarPick(undefined);\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleFirstCalendarPick(first, dateInfo);\n handleSecondCalendarPick(second, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [DateType, DateType], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleFirstCalendarPick(firstDate, dateInfo);\n }\n\n if (secondDate) {\n handleSecondCalendarPick(secondDate, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n name={name}\n onSearchFirstValue={(_, date) => {\n handleSearchFirst(String(date));\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleSearchSecond(String(date));\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, onBlurSecondTextfield)}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n if (calendarFirstValue && calendarSecondValue) {\n setFullDateEntered(true);\n }\n }, [calendarFirstValue, calendarSecondValue]);\n\n useLayoutEffect(() => {\n updateExternalFirstDate(startExternalValue || undefined);\n }, [startExternalValue, format, lang]);\n\n useLayoutEffect(() => {\n updateExternalSecondDate(endExternalValue || undefined);\n }, [endExternalValue, format, lang]);\n\n useLayoutEffect(() => {\n !startExternalValue && updateExternalFirstDate(defaultFirstDate);\n }, [defaultFirstDate, format, lang]);\n\n useLayoutEffect(() => {\n !endExternalValue && updateExternalSecondDate(defaultSecondDate);\n }, [defaultSecondDate, format, lang]);\n\n const RootWrapper = useCallback<FC<PropsWithChildren>>(\n ({ children }) => (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {children}\n </Root>\n ),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n frame={frame}\n usePortal={usePortal}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n />\n {leftHelper && (\n <LeftHelper className={cx(rangeErrorClass, rangeSuccessClass)}>{leftHelper}</LeftHelper>\n )}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","externalValue","value","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","length","console","error","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_ref2","_ref3","startExternalValue","endExternalValue","startInitialValues","getFormattedDates","delimiter","endInitialValues","_useState7","calendar","originalDate","input","formattedDate","_useState8","correctStartDates","setCorrectStartDates","_useState9","_useState10","correctEndDates","setCorrectEndDates","_useState11","_useState12","calendarFirstValue","setCalendarFirstValue","_useState13","_useState14","inputFirstValue","setInputFirstValue","_useState15","_useState16","calendarSecondValue","setCalendarSecondValue","_useState17","_useState18","inputSecondValue","setInputSecondValue","_useState19","Boolean","_useState20","fullDateEntered","setFullDateEntered","_useState21","_useState22","secondTextFieldClicked","setSecondTextFieldClicked","rangeErrorClass","classes","datePickerError","undefined","rangeSuccessClass","datePickerSuccess","setFirstInputValue","target","concat","setSecondInputValue","_useDatePicker","useDatePicker","currentValue","valueError","valueSuccess","setCorrectDates","setInputValue","setCalendarValue","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleFirstCalendarPick","handleCalendarPick","handleSearchFirst","handleSearch","updateExternalFirstDate","updateExternalDate","_useDatePicker2","handleChangeSecondValue","handleSecondCalendarPick","handleSearchSecond","updateExternalSecondDate","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","_secondInputRef$curre2","focus","_firstInputRef$curren2","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","_getFormattedDates","startOriginalDate","_getFormattedDates2","endOriginalDate","Date","_getSortedValues","getSortedValues","_getSortedValues2","startValue","endValue","_getFormattedDates3","startFormattedDate","_getFormattedDates4","endFormattedDate","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","dateInfo","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref4","_ref5","firstDate","secondDate","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","useLayoutEffect","RootWrapper","_ref6","children","cx","datePickerRoot","_extends","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"RangeDate.js","sources":["../../../../src/components/DatePicker/RangeDate/RangeDate.tsx"],"sourcesContent":["import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport type {\n KeyboardEvent,\n FocusEvent,\n FocusEventHandler,\n MutableRefObject,\n SyntheticEvent,\n PropsWithChildren,\n FC,\n} from 'react';\n\nimport type { RootProps } from '../../../engines';\nimport { cx, noop } from '../../../utils';\nimport { getDateFormatDelimiter } from '../utils/dateHelper';\nimport { useDatePicker } from '../hooks/useDatePicker';\nimport type { RangeInputRefs } from '../../Range/Range.types';\nimport { classes } from '../DatePicker.tokens';\nimport { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';\nimport { InputHidden } from '../DatePickerBase.styles';\nimport { getSortedValues } from '../../Calendar/utils';\nimport type { DateInfo, DateType } from '../../Calendar/Calendar.types';\nimport { getFormattedDates } from '../utils';\n\nimport type { DatePickerRangeProps } from './RangeDate.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_readonly/base';\nimport { LeftHelper, StyledRange, base } from './RangeDate.styles';\nimport { RangeDatePopover } from './RangeDatePopover/RangeDatePopover';\n\nexport const datePickerRangeRoot = (\n Root: RootProps<HTMLDivElement, Omit<DatePickerRangeProps, 'opened' | 'defaultValue' | 'onChangeValue'>>,\n) =>\n forwardRef<RangeInputRefs, DatePickerRangeProps>(\n (\n {\n className,\n autoComplete,\n\n isDoubleCalendar = false,\n opened = false,\n value: externalValue,\n\n label,\n leftHelper,\n contentLeft,\n contentRight,\n view,\n size,\n readOnly = false,\n disabled = false,\n name,\n\n dividerVariant = 'dash',\n dividerIcon,\n\n defaultFirstDate = '',\n defaultSecondDate = '',\n firstValueError,\n secondValueError,\n firstValueSuccess,\n secondValueSuccess,\n firstPlaceholder,\n secondPlaceholder,\n firstTextfieldContentLeft,\n firstTextfieldContentRight,\n secondTextfieldContentLeft,\n secondTextfieldContentRight,\n firstTextfieldTextBefore,\n secondTextfieldTextBefore,\n firstTextfieldTextAfter,\n secondTextfieldTextAfter,\n\n required,\n requiredPlacement = 'right',\n hasRequiredIndicator = true,\n\n format = 'DD.MM.YYYY',\n lang = 'ru',\n maskWithFormat,\n min,\n max,\n renderFromDate,\n includeEdgeDates = false,\n eventList,\n disabledList,\n eventMonthList,\n disabledMonthList,\n eventQuarterList,\n disabledQuarterList,\n eventYearList,\n disabledYearList,\n type = 'Days',\n\n frame = 'document',\n usePortal = false,\n placement = ['top', 'bottom'],\n closeOnOverlayClick = true,\n closeOnEsc = true,\n closeAfterDateSelect = true,\n offset,\n\n onToggle,\n\n onChange,\n onChangeFirstValue,\n onChangeSecondValue,\n\n onCommitFirstDate,\n onCommitSecondDate,\n\n onFocusFirstTextfield,\n onFocusSecondTextfield,\n onBlurFirstTextfield,\n onBlurSecondTextfield,\n\n ...rest\n },\n ref,\n ) => {\n if (externalValue?.length && (defaultFirstDate || defaultSecondDate)) {\n console.error(\"Controlled DatePicker can't have `default{First|Second}Date`, use `value` instead\");\n }\n\n const rangeRef = ref && 'current' in ref ? ref : createRef<RangeInputRefs>();\n const rootRef = useRef<HTMLDivElement | null>(null);\n\n const innerRefFirst = useRef<HTMLInputElement>(null);\n const innerRefSecond = useRef<HTMLInputElement>(null);\n\n const [firstInputRef, setFirstInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.firstTextField(),\n );\n const [secondInputRef, setSecondInputRef] = useState<MutableRefObject<HTMLInputElement | null> | undefined>(\n rangeRef?.current?.secondTextField(),\n );\n\n const [isInnerOpen, setIsInnerOpen] = useState(opened);\n const dateFormatDelimiter = useCallback(() => getDateFormatDelimiter(format), [format]);\n\n const [startExternalValue, endExternalValue] = externalValue || [];\n const startInitialValues = getFormattedDates({\n value: startExternalValue || defaultFirstDate,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n const endInitialValues = getFormattedDates({\n value: endExternalValue || defaultSecondDate,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const [correctStartDates, setCorrectStartDates] = useState({\n calendar: startInitialValues.originalDate,\n input: startInitialValues.formattedDate,\n });\n const [correctEndDates, setCorrectEndDates] = useState({\n calendar: endInitialValues.originalDate,\n input: endInitialValues.formattedDate,\n });\n\n const [calendarFirstValue, setCalendarFirstValue] = useState<DateType>(startInitialValues.originalDate);\n const [inputFirstValue, setInputFirstValue] = useState(startInitialValues.formattedDate);\n\n const [calendarSecondValue, setCalendarSecondValue] = useState<DateType>(endInitialValues.originalDate);\n const [inputSecondValue, setInputSecondValue] = useState(endInitialValues.formattedDate);\n\n const [fullDateEntered, setFullDateEntered] = useState(Boolean(calendarFirstValue && calendarSecondValue));\n\n const [secondTextFieldClicked, setSecondTextFieldClicked] = useState(false);\n\n const rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;\n const rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;\n\n const setFirstInputValue = (value: React.SetStateAction<string>) => {\n setInputFirstValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${value} - ${inputSecondValue}`,\n name,\n },\n });\n }\n };\n\n const setSecondInputValue = (value: React.SetStateAction<string>) => {\n setInputSecondValue(value);\n\n if (onChange) {\n onChange({\n target: {\n value: `${inputFirstValue} - ${value}`,\n name,\n },\n });\n }\n };\n\n const {\n handleChangeValue: handleChangeFirstValue,\n handleCalendarPick: handleFirstCalendarPick,\n handleSearch: handleSearchFirst,\n updateExternalDate: updateExternalFirstDate,\n } = useDatePicker({\n currentValue: inputFirstValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: firstValueError,\n valueSuccess: firstValueSuccess,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates: setCorrectStartDates,\n setInputValue: setFirstInputValue,\n setCalendarValue: setCalendarFirstValue,\n onChangeValue: onChangeFirstValue,\n onCommitDate: onCommitFirstDate,\n dateFormatDelimiter,\n });\n\n const {\n handleChangeValue: handleChangeSecondValue,\n handleCalendarPick: handleSecondCalendarPick,\n handleSearch: handleSearchSecond,\n updateExternalDate: updateExternalSecondDate,\n } = useDatePicker({\n currentValue: inputSecondValue,\n format,\n lang,\n disabled,\n readOnly,\n maskWithFormat,\n valueError: secondValueError,\n valueSuccess: secondValueSuccess,\n name,\n type,\n min,\n max,\n includeEdgeDates,\n setCorrectDates: setCorrectEndDates,\n setInputValue: setSecondInputValue,\n setCalendarValue: setCalendarSecondValue,\n onChangeValue: onChangeSecondValue,\n onCommitDate: onCommitSecondDate,\n dateFormatDelimiter,\n });\n\n const handleToggle = (currentOpened: boolean, event?: SyntheticEvent | Event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const isCalendarOpen =\n (firstInputRef?.current?.contains((event?.target as Node) || null) ||\n secondInputRef?.current?.contains((event?.target as Node) || null)) &&\n (event as KeyboardEvent<HTMLInputElement>)?.code !== keys.Escape\n ? true\n : currentOpened;\n\n if (!isCalendarOpen) {\n if (calendarFirstValue && !calendarSecondValue) {\n secondInputRef?.current?.focus();\n }\n if (calendarSecondValue && !calendarFirstValue) {\n firstInputRef?.current?.focus();\n }\n }\n\n if (!isCalendarOpen) {\n setSecondTextFieldClicked(false);\n }\n\n if (onToggle) {\n return onToggle(isCalendarOpen, event);\n }\n\n setIsInnerOpen(isCalendarOpen);\n };\n\n const handleFocusFirstTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusFirstTextfield?.(event);\n setSecondTextFieldClicked(false);\n };\n\n const handleFocusSecondTextField = (event: FocusEvent<HTMLInputElement>) => {\n onFocusSecondTextfield?.(event);\n setSecondTextFieldClicked(true);\n };\n\n const handleBlur = (\n event: FocusEvent<HTMLInputElement>,\n outerHandler?: FocusEventHandler<HTMLInputElement>,\n ) => {\n if (!inputFirstValue || !inputSecondValue) {\n outerHandler?.(event);\n return;\n }\n\n let { originalDate: startOriginalDate } = getFormattedDates({\n value: inputFirstValue,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n let { originalDate: endOriginalDate } = getFormattedDates({\n value: inputSecondValue,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n if (!calendarFirstValue && correctStartDates.calendar) {\n startOriginalDate = new Date(correctStartDates.calendar);\n }\n\n if (!calendarSecondValue && correctEndDates.calendar) {\n endOriginalDate = new Date(correctEndDates.calendar);\n }\n\n const [startValue, endValue] = getSortedValues([startOriginalDate, endOriginalDate]);\n\n const { formattedDate: startFormattedDate } = getFormattedDates({\n value: startValue || null,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n const { formattedDate: endFormattedDate } = getFormattedDates({\n value: endValue || null,\n delimiter: dateFormatDelimiter(),\n lang,\n format,\n includeEdgeDates,\n min,\n max,\n });\n\n setFirstInputValue(startFormattedDate);\n setSecondInputValue(endFormattedDate);\n\n setCalendarFirstValue(startOriginalDate);\n setCalendarSecondValue(endOriginalDate);\n\n outerHandler?.(event);\n };\n\n const { onKeyDown } = useKeyNavigation({\n isCalendarOpen: isInnerOpen,\n format,\n maskWithFormat,\n delimiter: dateFormatDelimiter(),\n closeOnEsc,\n onToggle: handleToggle,\n });\n\n const handleChangeStartOfRange = (chosenDate: Date, dateInfo?: DateInfo) => {\n if (!fullDateEntered) {\n handleFirstCalendarPick(chosenDate, dateInfo);\n handleSecondCalendarPick(undefined);\n\n return;\n }\n\n const prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;\n\n const [first, second] = getSortedValues([prevValue, chosenDate]);\n\n handleFirstCalendarPick(first, dateInfo);\n handleSecondCalendarPick(second, dateInfo);\n\n if (!firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const handleChangeCalendarValue = ([firstDate, secondDate]: [DateType, DateType], dateInfo?: DateInfo) => {\n if (firstDate) {\n handleFirstCalendarPick(firstDate, dateInfo);\n }\n\n if (secondDate) {\n handleSecondCalendarPick(secondDate, dateInfo);\n }\n\n if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {\n handleToggle(false);\n }\n };\n\n const RangeComponent = (\n <>\n {/* TODO https://github.com/salute-developers/plasma/issues/1227\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n //@ts-ignore */}\n <StyledRange\n ref={rangeRef}\n autoComplete={autoComplete}\n dividerIcon={dividerIcon}\n dividerVariant={dividerVariant}\n label={label}\n required={required}\n requiredPlacement={requiredPlacement}\n hasRequiredIndicator={hasRequiredIndicator}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n firstPlaceholder={firstPlaceholder}\n secondPlaceholder={secondPlaceholder}\n contentLeft={contentLeft}\n contentRight={contentRight}\n firstTextfieldTextBefore={firstTextfieldTextBefore}\n secondTextfieldTextBefore={secondTextfieldTextBefore}\n firstTextfieldTextAfter={firstTextfieldTextAfter}\n secondTextfieldTextAfter={secondTextfieldTextAfter}\n firstTextfieldContentLeft={firstTextfieldContentLeft}\n firstTextfieldContentRight={firstTextfieldContentRight}\n secondTextfieldContentLeft={secondTextfieldContentLeft}\n secondTextfieldContentRight={secondTextfieldContentRight}\n firstValue={inputFirstValue}\n secondValue={inputSecondValue}\n firstValueError={firstValueError}\n secondValueError={secondValueError}\n firstValueSuccess={firstValueSuccess}\n secondValueSuccess={secondValueSuccess}\n onChangeFirstValue={handleChangeFirstValue}\n onChangeSecondValue={handleChangeSecondValue}\n name={name}\n onSearchFirstValue={(_, date) => {\n handleSearchFirst(String(date));\n if (!calendarSecondValue || secondValueError) {\n rangeRef?.current?.secondTextField()?.current?.focus();\n }\n }}\n onSearchSecondValue={(_, date) => {\n handleSearchSecond(String(date));\n if (!calendarFirstValue || firstValueError) {\n rangeRef?.current?.firstTextField()?.current?.focus();\n }\n }}\n onFocusFirstTextfield={handleFocusFirstTextField}\n onFocusSecondTextfield={handleFocusSecondTextField}\n onBlurFirstTextfield={(event) => handleBlur(event, onBlurFirstTextfield)}\n onBlurSecondTextfield={(event) => handleBlur(event, onBlurSecondTextfield)}\n onKeyDown={onKeyDown}\n />\n </>\n );\n\n useEffect(() => {\n setFirstInputRef(rangeRef.current?.firstTextField());\n setSecondInputRef(rangeRef.current?.secondTextField());\n }, [rangeRef.current]);\n\n useEffect(() => {\n setIsInnerOpen((prevOpen) => prevOpen !== opened && opened);\n }, [opened]);\n\n useEffect(() => {\n if (calendarFirstValue && calendarSecondValue) {\n setFullDateEntered(true);\n }\n }, [calendarFirstValue, calendarSecondValue]);\n\n useLayoutEffect(() => {\n updateExternalFirstDate(startExternalValue || undefined);\n }, [startExternalValue, format, lang]);\n\n useLayoutEffect(() => {\n updateExternalSecondDate(endExternalValue || undefined);\n }, [endExternalValue, format, lang]);\n\n useLayoutEffect(() => {\n !startExternalValue && updateExternalFirstDate(defaultFirstDate);\n }, [defaultFirstDate, format, lang]);\n\n useLayoutEffect(() => {\n !endExternalValue && updateExternalSecondDate(defaultSecondDate);\n }, [defaultSecondDate, format, lang]);\n\n const RootWrapper = useCallback<FC<PropsWithChildren>>(\n ({ children }) => (\n <Root\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n >\n {children}\n </Root>\n ),\n [view, size, disabled, readOnly],\n );\n\n return (\n <Root\n ref={rootRef}\n view={view}\n size={size}\n className={cx(classes.datePickerRoot, className)}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n {...rest}\n >\n <RangeDatePopover\n calendarValue={[calendarFirstValue, calendarSecondValue]}\n target={RangeComponent}\n opened={isInnerOpen}\n includeEdgeDates={includeEdgeDates}\n eventList={eventList}\n disabledList={disabledList}\n eventMonthList={eventMonthList}\n disabledMonthList={disabledMonthList}\n eventQuarterList={eventQuarterList}\n disabledQuarterList={disabledQuarterList}\n eventYearList={eventYearList}\n disabledYearList={disabledYearList}\n min={min}\n max={max}\n renderFromDate={renderFromDate}\n frame={frame}\n usePortal={usePortal}\n placement={placement}\n closeOnOverlayClick={closeOnOverlayClick}\n closeOnEsc={closeOnEsc}\n offset={offset}\n type={type}\n onToggle={handleToggle}\n lang={lang}\n isDoubleCalendar={isDoubleCalendar}\n rootWrapper={RootWrapper}\n onChangeStartOfRange={handleChangeStartOfRange}\n onChangeValue={handleChangeCalendarValue}\n />\n {leftHelper && (\n <LeftHelper className={cx(rangeErrorClass, rangeSuccessClass)}>{leftHelper}</LeftHelper>\n )}\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"from\"\n value={inputFirstValue}\n ref={innerRefFirst}\n {...noop}\n />\n <InputHidden\n name={name}\n type=\"hidden\"\n datatype=\"datepicker-double\"\n data-datepicker=\"to\"\n value={inputSecondValue}\n ref={innerRefSecond}\n {...noop}\n />\n </Root>\n );\n },\n );\n\nexport const datePickerRangeConfig = {\n name: 'DatePickerRange',\n tag: 'div',\n layout: datePickerRangeRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["datePickerRangeRoot","Root","forwardRef","_ref","ref","_rangeRef$current","_rangeRef$current2","className","autoComplete","_ref$isDoubleCalendar","isDoubleCalendar","_ref$opened","opened","externalValue","value","label","leftHelper","contentLeft","contentRight","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","name","_ref$dividerVariant","dividerVariant","dividerIcon","_ref$defaultFirstDate","defaultFirstDate","_ref$defaultSecondDat","defaultSecondDate","firstValueError","secondValueError","firstValueSuccess","secondValueSuccess","firstPlaceholder","secondPlaceholder","firstTextfieldContentLeft","firstTextfieldContentRight","secondTextfieldContentLeft","secondTextfieldContentRight","firstTextfieldTextBefore","secondTextfieldTextBefore","firstTextfieldTextAfter","secondTextfieldTextAfter","required","_ref$requiredPlacemen","requiredPlacement","_ref$hasRequiredIndic","hasRequiredIndicator","_ref$format","format","_ref$lang","lang","maskWithFormat","min","max","renderFromDate","_ref$includeEdgeDates","includeEdgeDates","eventList","disabledList","eventMonthList","disabledMonthList","eventQuarterList","disabledQuarterList","eventYearList","disabledYearList","_ref$type","type","_ref$frame","frame","_ref$usePortal","usePortal","_ref$placement","placement","_ref$closeOnOverlayCl","closeOnOverlayClick","_ref$closeOnEsc","closeOnEsc","_ref$closeAfterDateSe","closeAfterDateSelect","offset","onToggle","onChange","onChangeFirstValue","onChangeSecondValue","onCommitFirstDate","onCommitSecondDate","onFocusFirstTextfield","onFocusSecondTextfield","onBlurFirstTextfield","onBlurSecondTextfield","rest","_objectWithoutProperties","_excluded","length","console","error","rangeRef","createRef","rootRef","useRef","innerRefFirst","innerRefSecond","_useState","useState","current","firstTextField","_useState2","_slicedToArray","firstInputRef","setFirstInputRef","_useState3","secondTextField","_useState4","secondInputRef","setSecondInputRef","_useState5","_useState6","isInnerOpen","setIsInnerOpen","dateFormatDelimiter","useCallback","getDateFormatDelimiter","_ref2","_ref3","startExternalValue","endExternalValue","startInitialValues","getFormattedDates","delimiter","endInitialValues","_useState7","calendar","originalDate","input","formattedDate","_useState8","correctStartDates","setCorrectStartDates","_useState9","_useState10","correctEndDates","setCorrectEndDates","_useState11","_useState12","calendarFirstValue","setCalendarFirstValue","_useState13","_useState14","inputFirstValue","setInputFirstValue","_useState15","_useState16","calendarSecondValue","setCalendarSecondValue","_useState17","_useState18","inputSecondValue","setInputSecondValue","_useState19","Boolean","_useState20","fullDateEntered","setFullDateEntered","_useState21","_useState22","secondTextFieldClicked","setSecondTextFieldClicked","rangeErrorClass","classes","datePickerError","undefined","rangeSuccessClass","datePickerSuccess","setFirstInputValue","target","concat","setSecondInputValue","_useDatePicker","useDatePicker","currentValue","valueError","valueSuccess","setCorrectDates","setInputValue","setCalendarValue","onChangeValue","onCommitDate","handleChangeFirstValue","handleChangeValue","handleFirstCalendarPick","handleCalendarPick","handleSearchFirst","handleSearch","updateExternalFirstDate","updateExternalDate","_useDatePicker2","handleChangeSecondValue","handleSecondCalendarPick","handleSearchSecond","updateExternalSecondDate","handleToggle","currentOpened","event","_firstInputRef$curren","_secondInputRef$curre","isCalendarOpen","contains","code","keys","Escape","_secondInputRef$curre2","focus","_firstInputRef$curren2","handleFocusFirstTextField","handleFocusSecondTextField","handleBlur","outerHandler","_getFormattedDates","startOriginalDate","_getFormattedDates2","endOriginalDate","Date","_getSortedValues","getSortedValues","_getSortedValues2","startValue","endValue","_getFormattedDates3","startFormattedDate","_getFormattedDates4","endFormattedDate","_useKeyNavigation","useKeyNavigation","onKeyDown","handleChangeStartOfRange","chosenDate","dateInfo","prevValue","_getSortedValues3","_getSortedValues4","first","second","handleChangeCalendarValue","_ref4","_ref5","firstDate","secondDate","RangeComponent","React","createElement","Fragment","StyledRange","firstValue","secondValue","onSearchFirstValue","_","date","String","_rangeRef$current3","onSearchSecondValue","_rangeRef$current4","useEffect","_rangeRef$current5","_rangeRef$current6","prevOpen","useLayoutEffect","RootWrapper","_ref6","children","cx","datePickerRoot","_extends","RangeDatePopover","calendarValue","rootWrapper","onChangeStartOfRange","LeftHelper","InputHidden","datatype","noop","datePickerRangeConfig","tag","layout","base","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","defaults"],"mappings":"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"}
|