@salutejs/plasma-new-hope 0.254.0-dev.0 → 0.255.0-canary.1720.13074481962.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.
Files changed (57) hide show
  1. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  3. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  5. package/cjs/components/DatePicker/RangeDate/RangeDate.js +28 -43
  6. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  7. package/cjs/components/DatePicker/SingleDate/SingleDate.js +10 -20
  8. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  9. package/cjs/components/DatePicker/hooks/useDatePicker.js +23 -1
  10. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  11. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  12. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  13. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +28 -43
  14. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +10 -20
  15. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +23 -1
  16. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  17. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  18. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +29 -44
  19. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +11 -21
  20. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +23 -1
  21. package/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  22. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  23. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  24. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  25. package/es/components/DatePicker/RangeDate/RangeDate.js +29 -44
  26. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  27. package/es/components/DatePicker/SingleDate/SingleDate.js +11 -21
  28. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  29. package/es/components/DatePicker/hooks/useDatePicker.js +23 -1
  30. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  31. package/package.json +2 -2
  32. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  33. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  34. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +28 -43
  35. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +10 -20
  36. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +23 -1
  37. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  38. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  39. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +29 -44
  40. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +11 -21
  41. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +23 -1
  42. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  43. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  44. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -0
  45. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  46. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
  47. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  48. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +2 -0
  49. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  50. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  51. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  52. package/types/components/DatePicker/hooks/useDatePicker.d.ts +2 -1
  53. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  54. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +2 -0
  55. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  56. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +2 -0
  57. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
@@ -19,7 +19,7 @@ var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
19
19
  var _base4 = /*#__PURE__*/require("./variations/_readonly/base");
20
20
  var _RangeDate = /*#__PURE__*/require("./RangeDate.styles");
21
21
  var _RangeDatePopover = /*#__PURE__*/require("./RangeDatePopover/RangeDatePopover");
22
- var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "required", "requiredPlacement", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "closeAfterDateSelect", "offset", "onToggle", "onChange", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
22
+ var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "value", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "required", "requiredPlacement", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "closeAfterDateSelect", "offset", "onToggle", "onChange", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
23
23
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
24
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
25
25
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -40,6 +40,7 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
40
40
  isDoubleCalendar = _ref$isDoubleCalendar === void 0 ? false : _ref$isDoubleCalendar,
41
41
  _ref$opened = _ref.opened,
42
42
  opened = _ref$opened === void 0 ? false : _ref$opened,
43
+ externalValue = _ref.value,
43
44
  label = _ref.label,
44
45
  leftHelper = _ref.leftHelper,
45
46
  contentLeft = _ref.contentLeft,
@@ -122,6 +123,10 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
122
123
  var rootRef = (0, _react.useRef)(null);
123
124
  var innerRefFirst = (0, _react.useRef)(null);
124
125
  var innerRefSecond = (0, _react.useRef)(null);
126
+ var _ref2 = externalValue || [],
127
+ _ref3 = _slicedToArray(_ref2, 2),
128
+ startExternalValue = _ref3[0],
129
+ endExternalValue = _ref3[1];
125
130
  var _useState = (0, _react.useState)(rangeRef === null || rangeRef === void 0 || (_rangeRef$current = rangeRef.current) === null || _rangeRef$current === void 0 ? void 0 : _rangeRef$current.firstTextField()),
126
131
  _useState2 = _slicedToArray(_useState, 2),
127
132
  firstInputRef = _useState2[0],
@@ -134,24 +139,24 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
134
139
  _useState6 = _slicedToArray(_useState5, 2),
135
140
  isInnerOpen = _useState6[0],
136
141
  setIsInnerOpen = _useState6[1];
137
- var _useState7 = (0, _react.useState)((0, _dateHelper.formatCalendarValue)(defaultFirstDate, format, lang)),
142
+ var _useState7 = (0, _react.useState)((0, _dateHelper.formatCalendarValue)(startExternalValue || defaultFirstDate, format, lang)),
138
143
  _useState8 = _slicedToArray(_useState7, 2),
139
144
  calendarFirstValue = _useState8[0],
140
145
  setCalendarFirstValue = _useState8[1];
141
146
  var _useState9 = (0, _react.useState)((0, _dateHelper.formatInputValue)({
142
- value: defaultFirstDate,
147
+ value: startExternalValue || defaultFirstDate,
143
148
  format: format,
144
149
  lang: lang
145
150
  })),
146
151
  _useState10 = _slicedToArray(_useState9, 2),
147
152
  inputFirstValue = _useState10[0],
148
153
  setInputFirstValue = _useState10[1];
149
- var _useState11 = (0, _react.useState)((0, _dateHelper.formatCalendarValue)(defaultSecondDate, format, lang)),
154
+ var _useState11 = (0, _react.useState)((0, _dateHelper.formatCalendarValue)(endExternalValue || defaultSecondDate, format, lang)),
150
155
  _useState12 = _slicedToArray(_useState11, 2),
151
156
  calendarSecondValue = _useState12[0],
152
157
  setCalendarSecondValue = _useState12[1];
153
158
  var _useState13 = (0, _react.useState)((0, _dateHelper.formatInputValue)({
154
- value: defaultSecondDate,
159
+ value: endExternalValue || defaultSecondDate,
155
160
  format: format,
156
161
  lang: lang
157
162
  })),
@@ -208,7 +213,8 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
208
213
  onCommitDate: onCommitFirstDate
209
214
  }),
210
215
  handleChangeFirstValue = _useDatePicker.handleChangeValue,
211
- handleCommitFirstDate = _useDatePicker.handleCommitDate;
216
+ handleCommitFirstDate = _useDatePicker.handleCommitDate,
217
+ updateExternalFirstDate = _useDatePicker.updateExternalDate;
212
218
  var _useDatePicker2 = (0, _useDatePicker3.useDatePicker)({
213
219
  currentValue: inputSecondValue,
214
220
  setInputValue: setSecondInputValue,
@@ -225,7 +231,8 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
225
231
  onCommitDate: onCommitSecondDate
226
232
  }),
227
233
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
228
- handleCommitSecondDate = _useDatePicker2.handleCommitDate;
234
+ handleCommitSecondDate = _useDatePicker2.handleCommitDate,
235
+ updateExternalSecondDate = _useDatePicker2.updateExternalDate;
229
236
  var handleToggle = function handleToggle(currentOpened, event) {
230
237
  var _firstInputRef$curren, _secondInputRef$curre;
231
238
  if (disabled || readOnly) {
@@ -314,10 +321,10 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
314
321
  handleToggle(false);
315
322
  }
316
323
  };
317
- var handleChangeCalendarValue = function handleChangeCalendarValue(_ref2, dateInfo) {
318
- var _ref3 = _slicedToArray(_ref2, 2),
319
- firstDate = _ref3[0],
320
- secondDate = _ref3[1];
324
+ var handleChangeCalendarValue = function handleChangeCalendarValue(_ref4, dateInfo) {
325
+ var _ref5 = _slicedToArray(_ref4, 2),
326
+ firstDate = _ref5[0],
327
+ secondDate = _ref5[1];
321
328
  if (firstDate) {
322
329
  handleCommitFirstDate(firstDate, false, true, dateInfo);
323
330
  }
@@ -393,43 +400,21 @@ var datePickerRangeRoot = exports.datePickerRangeRoot = function datePickerRange
393
400
  return prevOpen !== opened && opened;
394
401
  });
395
402
  }, [opened]);
396
- (0, _react.useEffect)(function () {
397
- setCalendarFirstValue((0, _dateHelper.formatCalendarValue)(defaultFirstDate, format, lang));
398
- setInputFirstValue((0, _dateHelper.formatInputValue)({
399
- value: defaultFirstDate,
400
- format: format,
401
- lang: lang
402
- }));
403
- }, [defaultFirstDate]);
404
- (0, _react.useEffect)(function () {
405
- setCalendarSecondValue((0, _dateHelper.formatCalendarValue)(defaultSecondDate, format, lang));
406
- setInputSecondValue((0, _dateHelper.formatInputValue)({
407
- value: defaultSecondDate,
408
- format: format,
409
- lang: lang
410
- }));
411
- }, [defaultSecondDate]);
412
- (0, _react.useEffect)(function () {
413
- setCalendarFirstValue((0, _dateHelper.formatCalendarValue)(defaultFirstDate, format, lang));
414
- setInputFirstValue((0, _dateHelper.formatInputValue)({
415
- value: defaultFirstDate,
416
- format: format,
417
- lang: lang
418
- }));
419
- setCalendarSecondValue((0, _dateHelper.formatCalendarValue)(defaultSecondDate, format, lang));
420
- setInputSecondValue((0, _dateHelper.formatInputValue)({
421
- value: defaultSecondDate,
422
- format: format,
423
- lang: lang
424
- }));
425
- }, [format, lang]);
426
403
  (0, _react.useEffect)(function () {
427
404
  if (calendarFirstValue && calendarSecondValue) {
428
405
  setFullDateEntered(true);
429
406
  }
430
407
  }, [calendarFirstValue, calendarSecondValue]);
431
- var RootWrapper = (0, _react.useCallback)(function (_ref4) {
432
- var children = _ref4.children;
408
+ (0, _react.useLayoutEffect)(function () {
409
+ var externalDate = startExternalValue || defaultFirstDate;
410
+ updateExternalFirstDate(externalDate, setFirstInputValue, setCalendarFirstValue);
411
+ }, [startExternalValue, defaultFirstDate, format, lang]);
412
+ (0, _react.useLayoutEffect)(function () {
413
+ var externalDate = endExternalValue || defaultSecondDate;
414
+ updateExternalSecondDate(externalDate, setSecondInputValue, setCalendarSecondValue);
415
+ }, [endExternalValue, defaultSecondDate, format, lang]);
416
+ var RootWrapper = (0, _react.useCallback)(function (_ref6) {
417
+ var children = _ref6.children;
433
418
  return /*#__PURE__*/_react["default"].createElement(Root, {
434
419
  view: view,
435
420
  size: size,
@@ -17,7 +17,7 @@ var _base2 = /*#__PURE__*/require("./variations/_view/base");
17
17
  var _base3 = /*#__PURE__*/require("./variations/_disabled/base");
18
18
  var _base4 = /*#__PURE__*/require("./variations/_readonly/base");
19
19
  var _SingleDate = /*#__PURE__*/require("./SingleDate.styles");
20
- var _excluded = ["className", "opened", "label", "labelPlacement", "keepPlaceholder", "required", "requiredPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
20
+ var _excluded = ["className", "opened", "value", "label", "labelPlacement", "keepPlaceholder", "required", "requiredPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
21
21
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
22
22
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
23
23
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
@@ -34,6 +34,7 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
34
34
  var className = _ref.className,
35
35
  _ref$opened = _ref.opened,
36
36
  opened = _ref$opened === void 0 ? false : _ref$opened,
37
+ value = _ref.value,
37
38
  label = _ref.label,
38
39
  _ref$labelPlacement = _ref.labelPlacement,
39
40
  labelPlacement = _ref$labelPlacement === void 0 ? 'outer' : _ref$labelPlacement,
@@ -102,12 +103,12 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
102
103
  _useState2 = _slicedToArray(_useState, 2),
103
104
  isInnerOpen = _useState2[0],
104
105
  setIsInnerOpen = _useState2[1];
105
- var _useState3 = (0, _react.useState)((0, _dateHelper.formatCalendarValue)(defaultDate, format, lang)),
106
+ var _useState3 = (0, _react.useState)((0, _dateHelper.formatCalendarValue)(value || defaultDate, format, lang)),
106
107
  _useState4 = _slicedToArray(_useState3, 2),
107
108
  calendarValue = _useState4[0],
108
109
  setCalendarValue = _useState4[1];
109
110
  var _useState5 = (0, _react.useState)((0, _dateHelper.formatInputValue)({
110
- value: defaultDate,
111
+ value: value || defaultDate,
111
112
  format: format,
112
113
  lang: lang
113
114
  })),
@@ -137,7 +138,8 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
137
138
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
138
139
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
139
140
  handleChangeValue = _useDatePicker.handleChangeValue,
140
- handleCommitDate = _useDatePicker.handleCommitDate;
141
+ handleCommitDate = _useDatePicker.handleCommitDate,
142
+ updateExternalDate = _useDatePicker.updateExternalDate;
141
143
  var handleToggle = function handleToggle(opened, event) {
142
144
  if (disabled || readOnly) {
143
145
  return;
@@ -189,22 +191,10 @@ var datePickerRoot = exports.datePickerRoot = function datePickerRoot(Root) {
189
191
  return prevOpen !== opened && opened;
190
192
  });
191
193
  }, [opened]);
192
- (0, _react.useEffect)(function () {
193
- setCalendarValue((0, _dateHelper.formatCalendarValue)(defaultDate, format, lang));
194
- setInputValue((0, _dateHelper.formatInputValue)({
195
- value: defaultDate,
196
- format: format,
197
- lang: lang
198
- }));
199
- }, [defaultDate]);
200
- (0, _react.useEffect)(function () {
201
- setCalendarValue((0, _dateHelper.formatCalendarValue)(defaultDate, format, lang));
202
- setInputValue((0, _dateHelper.formatInputValue)({
203
- value: defaultDate,
204
- format: format,
205
- lang: lang
206
- }));
207
- }, [format, lang]);
194
+ (0, _react.useLayoutEffect)(function () {
195
+ var externalDate = value || defaultDate;
196
+ updateExternalDate(externalDate, setInputValue, setCalendarValue);
197
+ }, [value, defaultDate, format, lang]);
208
198
  return /*#__PURE__*/_react["default"].createElement(Root, _extends({
209
199
  view: view,
210
200
  size: size,
@@ -122,10 +122,32 @@ var useDatePicker = exports.useDatePicker = function useDatePicker(_ref) {
122
122
  }
123
123
  });
124
124
  };
125
+ var updateExternalDate = function updateExternalDate(externalDate, inputSetter, calendarSetter) {
126
+ inputSetter((0, _dateHelper.formatInputValue)({
127
+ value: externalDate,
128
+ format: format,
129
+ lang: lang
130
+ }));
131
+ if (!format) {
132
+ calendarSetter((0, _dateHelper.formatCalendarValue)(externalDate, undefined, lang));
133
+ return;
134
+ }
135
+ if (!externalDate) {
136
+ calendarSetter(undefined);
137
+ return;
138
+ }
139
+ var _getDateFromFormat2 = (0, _dateHelper.getDateFromFormat)(externalDate, undefined, lang),
140
+ newDate = _getDateFromFormat2.value,
141
+ isError = _getDateFromFormat2.isError;
142
+ if (!isError) {
143
+ calendarSetter((0, _dateHelper.formatCalendarValue)(newDate, format, lang));
144
+ }
145
+ };
125
146
  return {
126
147
  datePickerErrorClass: datePickerErrorClass,
127
148
  datePickerSuccessClass: datePickerSuccessClass,
128
149
  handleChangeValue: handleChangeValue,
129
- handleCommitDate: handleCommitDate
150
+ handleCommitDate: handleCommitDate,
151
+ updateExternalDate: updateExternalDate
130
152
  };
131
153
  };
@@ -136,6 +136,14 @@ export var calendarBaseRoot = function calendarBaseRoot(Root) {
136
136
  });
137
137
  setPrevValue(value);
138
138
  }
139
+ if (!value) {
140
+ dispatch({
141
+ type: ActionType.UPDATE_DATE,
142
+ payload: {
143
+ value: min || new Date()
144
+ }
145
+ });
146
+ }
139
147
  }, [value, prevValue]);
140
148
  return /*#__PURE__*/React.createElement(Root, _extends({
141
149
  ref: outerRootRef,
@@ -190,6 +190,14 @@ export var calendarDoubleRoot = function calendarDoubleRoot(Root) {
190
190
  }
191
191
  setPrevValue(value);
192
192
  }
193
+ if (!value) {
194
+ dispatch({
195
+ type: ActionType.UPDATE_DATE,
196
+ payload: {
197
+ value: min || new Date()
198
+ }
199
+ });
200
+ }
193
201
  }, [value, prevValue]);
194
202
  useEffect(function () {
195
203
  setFirstDate(date);
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "required", "requiredPlacement", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "closeAfterDateSelect", "offset", "onToggle", "onChange", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
1
+ var _excluded = ["className", "autoComplete", "isDoubleCalendar", "opened", "value", "label", "leftHelper", "contentLeft", "contentRight", "view", "size", "readOnly", "disabled", "name", "dividerVariant", "dividerIcon", "defaultFirstDate", "defaultSecondDate", "firstValueError", "secondValueError", "firstValueSuccess", "secondValueSuccess", "firstPlaceholder", "secondPlaceholder", "firstTextfieldContentLeft", "firstTextfieldContentRight", "secondTextfieldContentLeft", "secondTextfieldContentRight", "firstTextfieldTextBefore", "secondTextfieldTextBefore", "firstTextfieldTextAfter", "secondTextfieldTextAfter", "required", "requiredPlacement", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "closeAfterDateSelect", "offset", "onToggle", "onChange", "onChangeFirstValue", "onChangeSecondValue", "onCommitFirstDate", "onCommitSecondDate", "onFocusFirstTextfield", "onFocusSecondTextfield", "onBlurFirstTextfield", "onBlurSecondTextfield"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -8,7 +8,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
8
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
- import React, { createRef, forwardRef, useCallback, useEffect, useRef, useState } from 'react';
11
+ import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
12
12
  import { cx, noop } from '../../../utils';
13
13
  import { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from '../utils/dateHelper';
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
@@ -31,6 +31,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
31
31
  isDoubleCalendar = _ref$isDoubleCalendar === void 0 ? false : _ref$isDoubleCalendar,
32
32
  _ref$opened = _ref.opened,
33
33
  opened = _ref$opened === void 0 ? false : _ref$opened,
34
+ externalValue = _ref.value,
34
35
  label = _ref.label,
35
36
  leftHelper = _ref.leftHelper,
36
37
  contentLeft = _ref.contentLeft,
@@ -113,6 +114,10 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
113
114
  var rootRef = useRef(null);
114
115
  var innerRefFirst = useRef(null);
115
116
  var innerRefSecond = useRef(null);
117
+ var _ref2 = externalValue || [],
118
+ _ref3 = _slicedToArray(_ref2, 2),
119
+ startExternalValue = _ref3[0],
120
+ endExternalValue = _ref3[1];
116
121
  var _useState = useState(rangeRef === null || rangeRef === void 0 || (_rangeRef$current = rangeRef.current) === null || _rangeRef$current === void 0 ? void 0 : _rangeRef$current.firstTextField()),
117
122
  _useState2 = _slicedToArray(_useState, 2),
118
123
  firstInputRef = _useState2[0],
@@ -125,24 +130,24 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
125
130
  _useState6 = _slicedToArray(_useState5, 2),
126
131
  isInnerOpen = _useState6[0],
127
132
  setIsInnerOpen = _useState6[1];
128
- var _useState7 = useState(formatCalendarValue(defaultFirstDate, format, lang)),
133
+ var _useState7 = useState(formatCalendarValue(startExternalValue || defaultFirstDate, format, lang)),
129
134
  _useState8 = _slicedToArray(_useState7, 2),
130
135
  calendarFirstValue = _useState8[0],
131
136
  setCalendarFirstValue = _useState8[1];
132
137
  var _useState9 = useState(formatInputValue({
133
- value: defaultFirstDate,
138
+ value: startExternalValue || defaultFirstDate,
134
139
  format: format,
135
140
  lang: lang
136
141
  })),
137
142
  _useState10 = _slicedToArray(_useState9, 2),
138
143
  inputFirstValue = _useState10[0],
139
144
  setInputFirstValue = _useState10[1];
140
- var _useState11 = useState(formatCalendarValue(defaultSecondDate, format, lang)),
145
+ var _useState11 = useState(formatCalendarValue(endExternalValue || defaultSecondDate, format, lang)),
141
146
  _useState12 = _slicedToArray(_useState11, 2),
142
147
  calendarSecondValue = _useState12[0],
143
148
  setCalendarSecondValue = _useState12[1];
144
149
  var _useState13 = useState(formatInputValue({
145
- value: defaultSecondDate,
150
+ value: endExternalValue || defaultSecondDate,
146
151
  format: format,
147
152
  lang: lang
148
153
  })),
@@ -199,7 +204,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
199
204
  onCommitDate: onCommitFirstDate
200
205
  }),
201
206
  handleChangeFirstValue = _useDatePicker.handleChangeValue,
202
- handleCommitFirstDate = _useDatePicker.handleCommitDate;
207
+ handleCommitFirstDate = _useDatePicker.handleCommitDate,
208
+ updateExternalFirstDate = _useDatePicker.updateExternalDate;
203
209
  var _useDatePicker2 = useDatePicker({
204
210
  currentValue: inputSecondValue,
205
211
  setInputValue: setSecondInputValue,
@@ -216,7 +222,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
216
222
  onCommitDate: onCommitSecondDate
217
223
  }),
218
224
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
219
- handleCommitSecondDate = _useDatePicker2.handleCommitDate;
225
+ handleCommitSecondDate = _useDatePicker2.handleCommitDate,
226
+ updateExternalSecondDate = _useDatePicker2.updateExternalDate;
220
227
  var handleToggle = function handleToggle(currentOpened, event) {
221
228
  var _firstInputRef$curren, _secondInputRef$curre;
222
229
  if (disabled || readOnly) {
@@ -305,10 +312,10 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
305
312
  handleToggle(false);
306
313
  }
307
314
  };
308
- var handleChangeCalendarValue = function handleChangeCalendarValue(_ref2, dateInfo) {
309
- var _ref3 = _slicedToArray(_ref2, 2),
310
- firstDate = _ref3[0],
311
- secondDate = _ref3[1];
315
+ var handleChangeCalendarValue = function handleChangeCalendarValue(_ref4, dateInfo) {
316
+ var _ref5 = _slicedToArray(_ref4, 2),
317
+ firstDate = _ref5[0],
318
+ secondDate = _ref5[1];
312
319
  if (firstDate) {
313
320
  handleCommitFirstDate(firstDate, false, true, dateInfo);
314
321
  }
@@ -384,43 +391,21 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
384
391
  return prevOpen !== opened && opened;
385
392
  });
386
393
  }, [opened]);
387
- useEffect(function () {
388
- setCalendarFirstValue(formatCalendarValue(defaultFirstDate, format, lang));
389
- setInputFirstValue(formatInputValue({
390
- value: defaultFirstDate,
391
- format: format,
392
- lang: lang
393
- }));
394
- }, [defaultFirstDate]);
395
- useEffect(function () {
396
- setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));
397
- setInputSecondValue(formatInputValue({
398
- value: defaultSecondDate,
399
- format: format,
400
- lang: lang
401
- }));
402
- }, [defaultSecondDate]);
403
- useEffect(function () {
404
- setCalendarFirstValue(formatCalendarValue(defaultFirstDate, format, lang));
405
- setInputFirstValue(formatInputValue({
406
- value: defaultFirstDate,
407
- format: format,
408
- lang: lang
409
- }));
410
- setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));
411
- setInputSecondValue(formatInputValue({
412
- value: defaultSecondDate,
413
- format: format,
414
- lang: lang
415
- }));
416
- }, [format, lang]);
417
394
  useEffect(function () {
418
395
  if (calendarFirstValue && calendarSecondValue) {
419
396
  setFullDateEntered(true);
420
397
  }
421
398
  }, [calendarFirstValue, calendarSecondValue]);
422
- var RootWrapper = useCallback(function (_ref4) {
423
- var children = _ref4.children;
399
+ useLayoutEffect(function () {
400
+ var externalDate = startExternalValue || defaultFirstDate;
401
+ updateExternalFirstDate(externalDate, setFirstInputValue, setCalendarFirstValue);
402
+ }, [startExternalValue, defaultFirstDate, format, lang]);
403
+ useLayoutEffect(function () {
404
+ var externalDate = endExternalValue || defaultSecondDate;
405
+ updateExternalSecondDate(externalDate, setSecondInputValue, setCalendarSecondValue);
406
+ }, [endExternalValue, defaultSecondDate, format, lang]);
407
+ var RootWrapper = useCallback(function (_ref6) {
408
+ var children = _ref6.children;
424
409
  return /*#__PURE__*/React.createElement(Root, {
425
410
  view: view,
426
411
  size: size,
@@ -1,4 +1,4 @@
1
- var _excluded = ["className", "opened", "label", "labelPlacement", "keepPlaceholder", "required", "requiredPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
1
+ var _excluded = ["className", "opened", "value", "label", "labelPlacement", "keepPlaceholder", "required", "requiredPlacement", "placeholder", "leftHelper", "contentLeft", "contentRight", "textBefore", "textAfter", "view", "size", "readOnly", "disabled", "name", "defaultDate", "valueError", "valueSuccess", "format", "lang", "maskWithFormat", "min", "max", "includeEdgeDates", "eventList", "disabledList", "eventMonthList", "disabledMonthList", "eventQuarterList", "disabledQuarterList", "eventYearList", "disabledYearList", "type", "frame", "usePortal", "placement", "closeOnOverlayClick", "closeOnEsc", "offset", "onChangeValue", "onCommitDate", "onToggle", "onFocus", "onBlur", "onChange"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -8,7 +8,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
8
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
- import React, { forwardRef, useCallback, useEffect, useRef, useState } from 'react';
11
+ import React, { forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
12
12
  import { cx, getPlacements, noop } from '../../../utils';
13
13
  import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
@@ -25,6 +25,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
25
25
  var className = _ref.className,
26
26
  _ref$opened = _ref.opened,
27
27
  opened = _ref$opened === void 0 ? false : _ref$opened,
28
+ value = _ref.value,
28
29
  label = _ref.label,
29
30
  _ref$labelPlacement = _ref.labelPlacement,
30
31
  labelPlacement = _ref$labelPlacement === void 0 ? 'outer' : _ref$labelPlacement,
@@ -93,12 +94,12 @@ export var datePickerRoot = function datePickerRoot(Root) {
93
94
  _useState2 = _slicedToArray(_useState, 2),
94
95
  isInnerOpen = _useState2[0],
95
96
  setIsInnerOpen = _useState2[1];
96
- var _useState3 = useState(formatCalendarValue(defaultDate, format, lang)),
97
+ var _useState3 = useState(formatCalendarValue(value || defaultDate, format, lang)),
97
98
  _useState4 = _slicedToArray(_useState3, 2),
98
99
  calendarValue = _useState4[0],
99
100
  setCalendarValue = _useState4[1];
100
101
  var _useState5 = useState(formatInputValue({
101
- value: defaultDate,
102
+ value: value || defaultDate,
102
103
  format: format,
103
104
  lang: lang
104
105
  })),
@@ -128,7 +129,8 @@ export var datePickerRoot = function datePickerRoot(Root) {
128
129
  datePickerErrorClass = _useDatePicker.datePickerErrorClass,
129
130
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
130
131
  handleChangeValue = _useDatePicker.handleChangeValue,
131
- handleCommitDate = _useDatePicker.handleCommitDate;
132
+ handleCommitDate = _useDatePicker.handleCommitDate,
133
+ updateExternalDate = _useDatePicker.updateExternalDate;
132
134
  var handleToggle = function handleToggle(opened, event) {
133
135
  if (disabled || readOnly) {
134
136
  return;
@@ -180,22 +182,10 @@ export var datePickerRoot = function datePickerRoot(Root) {
180
182
  return prevOpen !== opened && opened;
181
183
  });
182
184
  }, [opened]);
183
- useEffect(function () {
184
- setCalendarValue(formatCalendarValue(defaultDate, format, lang));
185
- setInputValue(formatInputValue({
186
- value: defaultDate,
187
- format: format,
188
- lang: lang
189
- }));
190
- }, [defaultDate]);
191
- useEffect(function () {
192
- setCalendarValue(formatCalendarValue(defaultDate, format, lang));
193
- setInputValue(formatInputValue({
194
- value: defaultDate,
195
- format: format,
196
- lang: lang
197
- }));
198
- }, [format, lang]);
185
+ useLayoutEffect(function () {
186
+ var externalDate = value || defaultDate;
187
+ updateExternalDate(externalDate, setInputValue, setCalendarValue);
188
+ }, [value, defaultDate, format, lang]);
199
189
  return /*#__PURE__*/React.createElement(Root, _extends({
200
190
  view: view,
201
191
  size: size,
@@ -116,10 +116,32 @@ export var useDatePicker = function useDatePicker(_ref) {
116
116
  }
117
117
  });
118
118
  };
119
+ var updateExternalDate = function updateExternalDate(externalDate, inputSetter, calendarSetter) {
120
+ inputSetter(formatInputValue({
121
+ value: externalDate,
122
+ format: format,
123
+ lang: lang
124
+ }));
125
+ if (!format) {
126
+ calendarSetter(formatCalendarValue(externalDate, undefined, lang));
127
+ return;
128
+ }
129
+ if (!externalDate) {
130
+ calendarSetter(undefined);
131
+ return;
132
+ }
133
+ var _getDateFromFormat2 = getDateFromFormat(externalDate, undefined, lang),
134
+ newDate = _getDateFromFormat2.value,
135
+ isError = _getDateFromFormat2.isError;
136
+ if (!isError) {
137
+ calendarSetter(formatCalendarValue(newDate, format, lang));
138
+ }
139
+ };
119
140
  return {
120
141
  datePickerErrorClass: datePickerErrorClass,
121
142
  datePickerSuccessClass: datePickerSuccessClass,
122
143
  handleChangeValue: handleChangeValue,
123
- handleCommitDate: handleCommitDate
144
+ handleCommitDate: handleCommitDate,
145
+ updateExternalDate: updateExternalDate
124
146
  };
125
147
  };
@@ -135,6 +135,14 @@ var calendarBaseRoot = function calendarBaseRoot(Root) {
135
135
  });
136
136
  setPrevValue(value);
137
137
  }
138
+ if (!value) {
139
+ dispatch({
140
+ type: ActionType.UPDATE_DATE,
141
+ payload: {
142
+ value: min || new Date()
143
+ }
144
+ });
145
+ }
138
146
  }, [value, prevValue]);
139
147
  return /*#__PURE__*/React.createElement(Root, _extends({
140
148
  ref: outerRootRef,