@salutejs/plasma-new-hope 0.249.0-canary.1719.13031725630.0 → 0.249.0-canary.1720.13031638569.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 (144) 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 +57 -36
  6. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  7. package/cjs/components/DatePicker/SingleDate/SingleDate.js +31 -16
  8. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  9. package/cjs/components/Toast/Toast.css +7 -7
  10. package/cjs/components/Toast/Toast.js +2 -5
  11. package/cjs/components/Toast/Toast.js.map +1 -1
  12. package/cjs/components/Toast/Toast.styles.js +2 -11
  13. package/cjs/components/Toast/Toast.styles.js.map +1 -1
  14. package/cjs/components/Toast/{Toast.styles_1kasmzh.css → Toast.styles_1nei944.css} +2 -2
  15. package/cjs/components/Toast/Toast.tokens.js +1 -2
  16. package/cjs/components/Toast/Toast.tokens.js.map +1 -1
  17. package/cjs/components/Toast/ToastController.css +6 -6
  18. package/cjs/components/Toast/ToastProvider/ToastProvider.js +1 -6
  19. package/cjs/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
  20. package/cjs/components/Toast/utils.js +0 -2
  21. package/cjs/components/Toast/utils.js.map +1 -1
  22. package/cjs/components/Toast/variations/_pilled/base.js +1 -1
  23. package/cjs/components/Toast/variations/_pilled/base.js.map +1 -1
  24. package/cjs/components/Toast/variations/_pilled/base_199qghc.css +1 -0
  25. package/cjs/index.css +8 -8
  26. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  27. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  28. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +57 -36
  29. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +31 -16
  30. package/emotion/cjs/components/Toast/Toast.js +2 -5
  31. package/emotion/cjs/components/Toast/Toast.styles.js +6 -9
  32. package/emotion/cjs/components/Toast/Toast.template-doc.mdx +5 -22
  33. package/emotion/cjs/components/Toast/Toast.tokens.js +1 -2
  34. package/emotion/cjs/components/Toast/ToastProvider/ToastProvider.js +1 -6
  35. package/emotion/cjs/components/Toast/utils.js +1 -2
  36. package/emotion/cjs/components/Toast/variations/_pilled/base.js +1 -1
  37. package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +7 -17
  38. package/emotion/cjs/examples/plasma_b2c/components/Toast/Toast.stories.tsx +14 -31
  39. package/emotion/cjs/examples/plasma_web/components/Toast/Toast.config.js +7 -17
  40. package/emotion/cjs/examples/plasma_web/components/Toast/Toast.stories.tsx +14 -31
  41. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  42. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  43. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +59 -38
  44. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +33 -18
  45. package/emotion/es/components/Toast/Toast.js +2 -5
  46. package/emotion/es/components/Toast/Toast.styles.js +6 -9
  47. package/emotion/es/components/Toast/Toast.template-doc.mdx +5 -22
  48. package/emotion/es/components/Toast/Toast.tokens.js +1 -2
  49. package/emotion/es/components/Toast/ToastProvider/ToastProvider.js +2 -7
  50. package/emotion/es/components/Toast/utils.js +0 -1
  51. package/emotion/es/components/Toast/variations/_pilled/base.js +1 -1
  52. package/emotion/es/examples/plasma_b2c/components/Toast/Toast.config.js +7 -17
  53. package/emotion/es/examples/plasma_b2c/components/Toast/Toast.stories.tsx +14 -31
  54. package/emotion/es/examples/plasma_web/components/Toast/Toast.config.js +7 -17
  55. package/emotion/es/examples/plasma_web/components/Toast/Toast.stories.tsx +14 -31
  56. package/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  57. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  58. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  59. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  60. package/es/components/DatePicker/RangeDate/RangeDate.js +59 -38
  61. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  62. package/es/components/DatePicker/SingleDate/SingleDate.js +33 -18
  63. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  64. package/es/components/Toast/Toast.css +7 -7
  65. package/es/components/Toast/Toast.js +2 -5
  66. package/es/components/Toast/Toast.js.map +1 -1
  67. package/es/components/Toast/Toast.styles.js +2 -11
  68. package/es/components/Toast/Toast.styles.js.map +1 -1
  69. package/es/components/Toast/{Toast.styles_1kasmzh.css → Toast.styles_1nei944.css} +2 -2
  70. package/es/components/Toast/Toast.tokens.js +1 -2
  71. package/es/components/Toast/Toast.tokens.js.map +1 -1
  72. package/es/components/Toast/ToastController.css +6 -6
  73. package/es/components/Toast/ToastProvider/ToastProvider.js +2 -7
  74. package/es/components/Toast/ToastProvider/ToastProvider.js.map +1 -1
  75. package/es/components/Toast/utils.js +1 -2
  76. package/es/components/Toast/utils.js.map +1 -1
  77. package/es/components/Toast/variations/_pilled/base.js +1 -1
  78. package/es/components/Toast/variations/_pilled/base.js.map +1 -1
  79. package/es/components/Toast/variations/_pilled/base_199qghc.css +1 -0
  80. package/es/index.css +8 -8
  81. package/package.json +2 -2
  82. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  83. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  84. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +57 -36
  85. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +31 -16
  86. package/styled-components/cjs/components/Toast/Toast.js +2 -5
  87. package/styled-components/cjs/components/Toast/Toast.styles.js +2 -5
  88. package/styled-components/cjs/components/Toast/Toast.template-doc.mdx +5 -22
  89. package/styled-components/cjs/components/Toast/Toast.tokens.js +1 -2
  90. package/styled-components/cjs/components/Toast/ToastProvider/ToastProvider.js +1 -6
  91. package/styled-components/cjs/components/Toast/utils.js +1 -2
  92. package/styled-components/cjs/components/Toast/variations/_pilled/base.js +1 -1
  93. package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.config.js +2 -12
  94. package/styled-components/cjs/examples/plasma_b2c/components/Toast/Toast.stories.tsx +14 -31
  95. package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.config.js +2 -12
  96. package/styled-components/cjs/examples/plasma_web/components/Toast/Toast.stories.tsx +14 -31
  97. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +8 -0
  98. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +8 -0
  99. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +59 -38
  100. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +33 -18
  101. package/styled-components/es/components/Toast/Toast.js +2 -5
  102. package/styled-components/es/components/Toast/Toast.styles.js +2 -5
  103. package/styled-components/es/components/Toast/Toast.template-doc.mdx +5 -22
  104. package/styled-components/es/components/Toast/Toast.tokens.js +1 -2
  105. package/styled-components/es/components/Toast/ToastProvider/ToastProvider.js +2 -7
  106. package/styled-components/es/components/Toast/utils.js +0 -1
  107. package/styled-components/es/components/Toast/variations/_pilled/base.js +1 -1
  108. package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.config.js +2 -12
  109. package/styled-components/es/examples/plasma_b2c/components/Toast/Toast.stories.tsx +14 -31
  110. package/styled-components/es/examples/plasma_web/components/Toast/Toast.config.js +2 -12
  111. package/styled-components/es/examples/plasma_web/components/Toast/Toast.stories.tsx +14 -31
  112. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  113. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  114. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -0
  115. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  116. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +4 -0
  117. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  118. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +2 -0
  119. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  120. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +4 -0
  121. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  122. package/types/components/Toast/Toast.styles.d.ts +1 -3
  123. package/types/components/Toast/Toast.styles.d.ts.map +1 -1
  124. package/types/components/Toast/Toast.tokens.d.ts +1 -2
  125. package/types/components/Toast/Toast.tokens.d.ts.map +1 -1
  126. package/types/components/Toast/Toast.types.d.ts +0 -8
  127. package/types/components/Toast/Toast.types.d.ts.map +1 -1
  128. package/types/components/Toast/ToastProvider/ToastProvider.d.ts.map +1 -1
  129. package/types/components/Toast/utils.d.ts +0 -1
  130. package/types/components/Toast/utils.d.ts.map +1 -1
  131. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts +2 -0
  132. package/types/examples/plasma_b2c/components/DatePicker/DatePicker.d.ts.map +1 -1
  133. package/types/examples/plasma_b2c/components/Toast/Toast.config.d.ts +0 -10
  134. package/types/examples/plasma_b2c/components/Toast/Toast.config.d.ts.map +1 -1
  135. package/types/examples/plasma_b2c/components/Toast/Toast.d.ts +0 -2
  136. package/types/examples/plasma_b2c/components/Toast/Toast.d.ts.map +1 -1
  137. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts +2 -0
  138. package/types/examples/plasma_web/components/DatePicker/DatePicker.d.ts.map +1 -1
  139. package/types/examples/plasma_web/components/Toast/Toast.config.d.ts +0 -10
  140. package/types/examples/plasma_web/components/Toast/Toast.config.d.ts.map +1 -1
  141. package/types/examples/plasma_web/components/Toast/Toast.d.ts +0 -2
  142. package/types/examples/plasma_web/components/Toast/Toast.d.ts.map +1 -1
  143. package/cjs/components/Toast/variations/_pilled/base_13i59v3.css +0 -1
  144. package/es/components/Toast/variations/_pilled/base_13i59v3.css +0 -1
@@ -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,9 +8,9 @@ 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
- import { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } from '../utils/dateHelper';
13
+ import { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat, validateDateWithFullMonth } from '../utils/dateHelper';
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
15
15
  import { classes } from '../DatePicker.tokens';
16
16
  import { keys, useKeyNavigation } from '../hooks/useKeyboardNavigation';
@@ -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
  })),
@@ -280,6 +285,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
280
285
  }));
281
286
  setCalendarFirstValue(formatCalendarValue(startValue, format, lang));
282
287
  setCalendarSecondValue(formatCalendarValue(endValue, format, lang));
288
+ handleCommitFirstDate(startValue, true, false);
289
+ handleCommitSecondDate(endValue, true, false);
283
290
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
284
291
  };
285
292
  var _useKeyNavigation = useKeyNavigation({
@@ -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
  }
@@ -385,42 +392,56 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
385
392
  });
386
393
  }, [opened]);
387
394
  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));
395
+ if (calendarFirstValue && calendarSecondValue) {
396
+ setFullDateEntered(true);
397
+ }
398
+ }, [calendarFirstValue, calendarSecondValue]);
399
+ useLayoutEffect(function () {
405
400
  setInputFirstValue(formatInputValue({
406
- value: defaultFirstDate,
401
+ value: startExternalValue || defaultFirstDate,
407
402
  format: format,
408
403
  lang: lang
409
404
  }));
410
- setCalendarSecondValue(formatCalendarValue(defaultSecondDate, format, lang));
405
+ if (!format) {
406
+ setCalendarFirstValue(formatCalendarValue(startExternalValue || defaultFirstDate, undefined, lang));
407
+ return;
408
+ }
409
+ var _validateDateWithFull = validateDateWithFullMonth({
410
+ currentValue: inputFirstValue,
411
+ format: format,
412
+ lang: lang
413
+ }),
414
+ hasMonthFullName = _validateDateWithFull.hasMonthFullName,
415
+ isValidMonth = _validateDateWithFull.isValidMonth,
416
+ isLengthEqual = _validateDateWithFull.isLengthEqual;
417
+ if (!hasMonthFullName && (inputFirstValue === null || inputFirstValue === void 0 ? void 0 : inputFirstValue.length) === (format === null || format === void 0 ? void 0 : format.length) || isValidMonth && isLengthEqual) {
418
+ setCalendarFirstValue(formatCalendarValue(inputFirstValue, format, lang));
419
+ }
420
+ }, [startExternalValue, defaultFirstDate, format, lang]);
421
+ useLayoutEffect(function () {
411
422
  setInputSecondValue(formatInputValue({
412
- value: defaultSecondDate,
423
+ value: endExternalValue || defaultSecondDate,
413
424
  format: format,
414
425
  lang: lang
415
426
  }));
416
- }, [format, lang]);
417
- useEffect(function () {
418
- if (calendarFirstValue && calendarSecondValue) {
419
- setFullDateEntered(true);
427
+ if (!format) {
428
+ setCalendarSecondValue(formatCalendarValue(endExternalValue || defaultSecondDate, format, lang));
429
+ return;
420
430
  }
421
- }, [calendarFirstValue, calendarSecondValue]);
422
- var RootWrapper = useCallback(function (_ref4) {
423
- var children = _ref4.children;
431
+ var _validateDateWithFull2 = validateDateWithFullMonth({
432
+ currentValue: inputSecondValue,
433
+ format: format,
434
+ lang: lang
435
+ }),
436
+ hasMonthFullName = _validateDateWithFull2.hasMonthFullName,
437
+ isValidMonth = _validateDateWithFull2.isValidMonth,
438
+ isLengthEqual = _validateDateWithFull2.isLengthEqual;
439
+ if (!hasMonthFullName && (inputSecondValue === null || inputSecondValue === void 0 ? void 0 : inputSecondValue.length) === (format === null || format === void 0 ? void 0 : format.length) || isValidMonth && isLengthEqual) {
440
+ setCalendarFirstValue(formatCalendarValue(inputSecondValue, format, lang));
441
+ }
442
+ }, [endExternalValue, defaultSecondDate, format, lang]);
443
+ var RootWrapper = useCallback(function (_ref6) {
444
+ var children = _ref6.children;
424
445
  return /*#__PURE__*/React.createElement(Root, {
425
446
  view: view,
426
447
  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,9 +8,9 @@ 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
- import { formatCalendarValue, formatInputValue, getDateFormatDelimiter } from '../utils/dateHelper';
13
+ import { formatCalendarValue, formatInputValue, getDateFormatDelimiter, validateDateWithFullMonth } from '../utils/dateHelper';
14
14
  import { useDatePicker } from '../hooks/useDatePicker';
15
15
  import { classes } from '../DatePicker.tokens';
16
16
  import { InputHidden, StyledCalendar } from '../DatePickerBase.styles';
@@ -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
  })),
@@ -129,6 +130,12 @@ export var datePickerRoot = function datePickerRoot(Root) {
129
130
  datePickerSuccessClass = _useDatePicker.datePickerSuccessClass,
130
131
  handleChangeValue = _useDatePicker.handleChangeValue,
131
132
  handleCommitDate = _useDatePicker.handleCommitDate;
133
+ var handleBlur = function handleBlur(event, date) {
134
+ if (onBlur) {
135
+ onBlur(event);
136
+ }
137
+ handleCommitDate(date, true, false);
138
+ };
132
139
  var handleToggle = function handleToggle(opened, event) {
133
140
  if (disabled || readOnly) {
134
141
  return;
@@ -167,7 +174,9 @@ export var datePickerRoot = function datePickerRoot(Root) {
167
174
  return handleCommitDate(date, true, false);
168
175
  },
169
176
  onFocus: onFocus,
170
- onBlur: onBlur,
177
+ onBlur: function onBlur(event) {
178
+ return handleBlur(event, inputValue);
179
+ },
171
180
  onKeyDown: onKeyDown,
172
181
  required: required,
173
182
  requiredPlacement: requiredPlacement,
@@ -180,22 +189,28 @@ export var datePickerRoot = function datePickerRoot(Root) {
180
189
  return prevOpen !== opened && opened;
181
190
  });
182
191
  }, [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));
192
+ useLayoutEffect(function () {
193
193
  setInputValue(formatInputValue({
194
- value: defaultDate,
194
+ value: value || defaultDate,
195
195
  format: format,
196
196
  lang: lang
197
197
  }));
198
- }, [format, lang]);
198
+ if (!format) {
199
+ setCalendarValue(formatCalendarValue(value || defaultDate, undefined, lang));
200
+ return;
201
+ }
202
+ var _validateDateWithFull = validateDateWithFullMonth({
203
+ currentValue: inputValue,
204
+ format: format,
205
+ lang: lang
206
+ }),
207
+ hasMonthFullName = _validateDateWithFull.hasMonthFullName,
208
+ isValidMonth = _validateDateWithFull.isValidMonth,
209
+ isLengthEqual = _validateDateWithFull.isLengthEqual;
210
+ if (!hasMonthFullName && (inputValue === null || inputValue === void 0 ? void 0 : inputValue.length) === (format === null || format === void 0 ? void 0 : format.length) || isValidMonth && isLengthEqual) {
211
+ setCalendarValue(formatCalendarValue(inputValue, format, lang));
212
+ }
213
+ }, [value, defaultDate, format, lang]);
199
214
  return /*#__PURE__*/React.createElement(Root, _extends({
200
215
  view: view,
201
216
  size: size,
@@ -1,5 +1,5 @@
1
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- var _excluded = ["role", "width", "text", "hasClose", "contentLeft", "view", "size", "pilled", "className", "style", "closeIconType", "onCloseButtonClick", "textColor"];
2
+ var _excluded = ["role", "width", "text", "hasClose", "contentLeft", "view", "size", "pilled", "className", "style", "closeIconType", "onCloseButtonClick"];
3
3
  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); }
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
@@ -35,7 +35,6 @@ export var toastRoot = function toastRoot(Root) {
35
35
  style = props.style,
36
36
  closeIconType = props.closeIconType,
37
37
  onCloseButtonClick = props.onCloseButtonClick,
38
- textColor = props.textColor,
39
38
  rest = _objectWithoutProperties(props, _excluded);
40
39
  var pilledClass = pilled ? classes.toastPilled : undefined;
41
40
  var fixedWidth = !Number.isNaN(Number(width)) ? "".concat(width, "%") : width;
@@ -59,9 +58,7 @@ export var toastRoot = function toastRoot(Root) {
59
58
  role: role,
60
59
  "aria-live": ariaLive,
61
60
  "aria-atomic": ariaAtomic
62
- }, rest), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledContent, {
63
- textColor: textColor
64
- }, text), hasClose && /*#__PURE__*/React.createElement(CloseIconWrapper, {
61
+ }, rest), contentLeft && /*#__PURE__*/React.createElement(StyledContentLeft, null, contentLeft), /*#__PURE__*/React.createElement(StyledContent, null, text), hasClose && /*#__PURE__*/React.createElement(CloseIconWrapper, {
65
62
  view: "clear",
66
63
  size: "s",
67
64
  onClick: onCloseButtonClick,
@@ -34,10 +34,7 @@ export var StyledOverlay = /*#__PURE__*/styled(Overlay).withConfig({
34
34
  })(["&&.", "{animation:0.3s showFadeAnimation ease-out forwards;}&&.", "{animation:0.3s hideFadeAnimation ease-out forwards;}@keyframes showFadeAnimation{0%{opacity:0;}100%{opacity:1;}}@keyframes hideFadeAnimation{0%{opacity:1;}100%{opacity:0;}}"], /*#__PURE__*/String(classes.toastFadeShowed), /*#__PURE__*/String(classes.toastFadeHidden));
35
35
  export var StyledContentLeft = /*#__PURE__*/styled.div.withConfig({
36
36
  componentId: "plasma-new-hope__sc-19l9ekl-3"
37
- })(["display:flex;--plasma_private-content-left-margin:var(", ");margin:var(--plasma_private-content-left-margin);color:var(", ");"], tokens.contentLeftMargin, tokens.contentLeftColor);
37
+ })(["display:flex;--plasma_private-left-content-margin:var(", ");margin:var(--plasma_private-left-content-margin);"], tokens.leftContentMargin);
38
38
  export var StyledContent = /*#__PURE__*/styled.div.withConfig({
39
39
  componentId: "plasma-new-hope__sc-19l9ekl-4"
40
- })(["color:", ";"], function (_ref5) {
41
- var textColor = _ref5.textColor;
42
- return textColor || 'currentColor';
43
- });
40
+ })([""]);
@@ -104,10 +104,6 @@ export interface ShowToastArgs {
104
104
  * Время отображения подсказки. Если не передать значение, подсказка будет отображаться пока ее не закроют.
105
105
  */
106
106
  timeout?: number;
107
- /**
108
- * Цвет текста (по умолчанию берётся цвет из view)
109
- */
110
- textColor?: string;
111
107
  /**
112
108
  * callback срабатывающий в момент события hideToast
113
109
  */
@@ -121,11 +117,9 @@ export interface ShowToastArgs {
121
117
 
122
118
  ## Пример использования
123
119
 
124
- Для изменения цветовой темы компонента `Toast` используйте свойство `view` компонента `ViewContainer`.
125
-
126
120
  ```jsx live
127
121
  import React from 'react'
128
- import { useToast, ToastProvider, Button, ViewContainer } from '@salutejs/{{ package }}'
122
+ import { useToast, ToastProvider, Button } from '@salutejs/{{ package }}'
129
123
 
130
124
  export function App() {
131
125
 
@@ -136,13 +130,12 @@ export function App() {
136
130
  const onHide = () => {}
137
131
  const toastData = {
138
132
  text: 'Подсказка вызванная showToast',
139
- textColor: 'cyan',
140
133
  position: 'bottom',
141
134
  role: 'status',
142
135
  hasClose: true,
143
136
  fade: false,
144
137
  size: 'm',
145
- view: 'default',
138
+ view: 'dark',
146
139
  timeout: 3000,
147
140
  onShow,
148
141
  onHide
@@ -152,19 +145,9 @@ export function App() {
152
145
  }
153
146
 
154
147
  return (
155
- <div style=\{{ display: 'flex', gap: '1rem' }}>
156
- <ViewContainer view="onLight">
157
- <ToastProvider>
158
- <ToastExample />
159
- </ToastProvider>
160
- </ViewContainer>
161
-
162
- <ViewContainer view="onDark">
163
- <ToastProvider>
164
- <ToastExample />
165
- </ToastProvider>
166
- </ViewContainer>
167
- </div>
148
+ <ToastProvider>
149
+ <ToastExample />
150
+ </ToastProvider>
168
151
  )
169
152
  }
170
153
  ```
@@ -19,8 +19,7 @@ export var tokens = {
19
19
  letterSpacing: '--plasma-toast-letter-spacing',
20
20
  lineHeight: '--plasma-toast-lineheight',
21
21
  pilledBorderRadius: '--plasma-toast-pilled-border-radius',
22
- contentLeftMargin: '--plasma-toast-content-left-margin',
23
- contentLeftColor: '--plasma-toast-content-left-color',
22
+ leftContentMargin: '--plasma-toast-left-content-margin',
24
23
  closeIconMargin: '--plasma-toast-close-icon-margin',
25
24
  closeIconColor: '--plasma-toast-close-icon-color',
26
25
  closeIconColorOnHover: '--plasma-toast-close-icon-color-on-hover',
@@ -6,7 +6,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
6
6
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
7
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
8
8
  import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from 'react';
9
- import { DEFAULT_CLOSE_ICON_TYPE, DEFAULT_FADE, DEFAULT_POSITION, TIMER_DELAY } from '../utils';
9
+ import { DEFAULT_FADE, DEFAULT_POSITION, TIMER_DELAY } from '../utils';
10
10
  export var ToastContext = /*#__PURE__*/createContext(null);
11
11
  export var useToastInner = function useToastInner() {
12
12
  var context = useContext(ToastContext);
@@ -118,9 +118,6 @@ export var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
118
118
  size = _getShowToastCallSign.size,
119
119
  view = _getShowToastCallSign.view,
120
120
  width = _getShowToastCallSign.width,
121
- _getShowToastCallSign4 = _getShowToastCallSign.closeIconType,
122
- closeIconType = _getShowToastCallSign4 === void 0 ? DEFAULT_CLOSE_ICON_TYPE : _getShowToastCallSign4,
123
- textColor = _getShowToastCallSign.textColor,
124
121
  onHide = _getShowToastCallSign.onHide,
125
122
  onShow = _getShowToastCallSign.onShow;
126
123
  setToastProps({
@@ -134,9 +131,7 @@ export var ToastProviderHoc = function ToastProviderHoc(ToastComponent) {
134
131
  pilled: pilled,
135
132
  hasClose: hasClose,
136
133
  size: size,
137
- view: view,
138
- closeIconType: closeIconType,
139
- textColor: textColor
134
+ view: view
140
135
  });
141
136
  setToastInfo({
142
137
  timeout: timeout,
@@ -2,7 +2,6 @@ import { buttonConfig } from '../Button';
2
2
  import { component, mergeConfig } from '../../engines';
3
3
  export var DEFAULT_FADE = true;
4
4
  export var DEFAULT_POSITION = 'bottom';
5
- export var DEFAULT_CLOSE_ICON_TYPE = 'default';
6
5
  export var TIMER_DELAY = 300;
7
6
  export var FADE_Z_INDEX = '9900';
8
7
  export var TOAST_Z_INDEX = '9901';
@@ -1,3 +1,3 @@
1
1
  import { css } from 'styled-components';
2
2
  import { classes, tokens } from '../../Toast.tokens';
3
- export var base = /*#__PURE__*/css(["&.", "{--plasma_private-content-left-margin:var(", ");--plasma_private-close-icon-margin:var(", ");border-radius:var(", ");}"], /*#__PURE__*/String(classes.toastPilled), tokens.contentLeftMargin, tokens.closeIconMargin, tokens.pilledBorderRadius);
3
+ export var base = /*#__PURE__*/css(["&.", "{--plasma_private-left-content-margin:var(", ");--plasma_private-close-icon-margin:var(", ");border-radius:var(", ");}"], /*#__PURE__*/String(classes.toastPilled), tokens.leftContentMargin, tokens.closeIconMargin, tokens.pilledBorderRadius);
@@ -9,24 +9,14 @@ export var config = {
9
9
  variations: {
10
10
  view: {
11
11
  "default": /*#__PURE__*/css(["", ":var(--text-primary);", ":var(--surface-solid-card-brightness);", ":var(--text-secondary);", ":var(--text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
12
- positive: /*#__PURE__*/css(["", ":var(--text-primary);", ":var(--surface-solid-card-brightness);", ":var(--text-positive);", ":var(--text-secondary);", ":var(--text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.contentLeftColor, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
13
- negative: /*#__PURE__*/css(["", ":var(--text-primary);", ":var(--surface-solid-card-brightness);", ":var(--text-negative);", ":var(--text-secondary);", ":var(--text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.contentLeftColor, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
14
- /**
15
- * @deprecated
16
- * светлый и темный фон регулировать через `view` компонента `ViewContainer`
17
- */
18
12
  dark: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--on-dark-surface-solid-primary-brightness);", ":var(--on-dark-text-secondary);", ":var(--on-dark-text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
19
- /**
20
- * @deprecated
21
- * светлый и темный фон регулировать через `view` компонента `ViewContainer`
22
- */
23
13
  light: /*#__PURE__*/css(["", ":var(--on-light-text-primary);", ":var(--on-light-surface-solid-primary-brightness);", ":var(--on-light-text-secondary);", ":var(--on-light-text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover)
24
14
  },
25
15
  size: {
26
- m: /*#__PURE__*/css(["", ":0.75rem;", ":calc(100vw - 5rem);", ":0.5625rem 0.75rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":-0.0625rem 0.375rem -0.0625rem -0.125rem;", ":-0.0625rem -0.25rem -0.0625rem 0.5rem;"], toastTokens.borderRadius, toastTokens.maxWidth, toastTokens.padding, toastTokens.fontFamily, toastTokens.fontSize, toastTokens.fontStyle, toastTokens.fontWeight, toastTokens.letterSpacing, toastTokens.lineHeight, toastTokens.contentLeftMargin, toastTokens.closeIconMargin)
16
+ m: /*#__PURE__*/css(["", ":0.75rem;", ":calc(100vw - 5rem);", ":0.5625rem 0.75rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":-0.0625rem 0.375rem -0.0625rem -0.125rem;", ":-0.0625rem -0.25rem -0.0625rem 0.5rem;"], toastTokens.borderRadius, toastTokens.maxWidth, toastTokens.padding, toastTokens.fontFamily, toastTokens.fontSize, toastTokens.fontStyle, toastTokens.fontWeight, toastTokens.letterSpacing, toastTokens.lineHeight, toastTokens.leftContentMargin, toastTokens.closeIconMargin)
27
17
  },
28
18
  pilled: {
29
- "true": /*#__PURE__*/css(["", ":1.5rem;", ":-0.0625rem 0.375rem -0.0625rem -0.25rem;", ":-0.0625rem -0.25rem -0.0625rem 0.375rem;"], toastTokens.pilledBorderRadius, toastTokens.contentLeftMargin, toastTokens.closeIconMargin)
19
+ "true": /*#__PURE__*/css(["", ":1.5rem;", ":-0.0625rem 0.375rem -0.0625rem -0.25rem;", ":-0.0625rem -0.25rem -0.0625rem 0.375rem;"], toastTokens.pilledBorderRadius, toastTokens.leftContentMargin, toastTokens.closeIconMargin)
30
20
  },
31
21
  closeIconType: {
32
22
  "default": /*#__PURE__*/css(["", ":1rem;", ":1.5rem;"], toastTokens.closeIconButtonSize, toastTokens.closeIconSize),
@@ -4,39 +4,21 @@ import { action } from '@storybook/addon-actions';
4
4
  import styled from 'styled-components';
5
5
  import { disableProps } from '@salutejs/plasma-sb-utils';
6
6
 
7
- import { WithTheme } from '../../../_helpers';
7
+ import { toastConfig } from '../../../../components/Toast';
8
+ import { mergeConfig } from '../../../../engines';
9
+ import { WithTheme, argTypesFromConfig } from '../../../_helpers';
8
10
  import { Button } from '../Button/Button';
9
11
  import { PopupProvider } from '../Popup/Popup';
10
12
  import { addNotification } from '../../../../../src/components/Notification';
11
13
  import { NotificationsProvider } from '../Notification/Notification';
12
14
  import { Modal } from '../Modal/Modal';
13
15
 
16
+ import { config } from './Toast.config';
14
17
  import { Toast, ToastController, ToastProvider, useToast } from './Toast';
15
18
 
16
- const views = ['default', 'positive', 'negative'];
17
- const closeIconTypes = ['default', 'thin'];
18
-
19
19
  const meta: Meta<typeof ToastController> = {
20
20
  title: 'b2c/Overlay/Toast',
21
21
  decorators: [WithTheme],
22
- argTypes: {
23
- view: {
24
- options: views,
25
- control: {
26
- type: 'select',
27
- },
28
- },
29
- closeIconType: {
30
- options: closeIconTypes,
31
- control: {
32
- type: 'select',
33
- },
34
- },
35
- textColor: {
36
- control: 'color',
37
- },
38
- ...disableProps(['size']),
39
- },
40
22
  };
41
23
 
42
24
  export default meta;
@@ -67,6 +49,7 @@ const StyledWrapper = styled.div`
67
49
  `;
68
50
 
69
51
  const ToastContainer = styled.div`
52
+ position: fixed;
70
53
  transform: translateX(50%);
71
54
  `;
72
55
 
@@ -78,7 +61,6 @@ const Container = styled.div`
78
61
  export const ToastComponent: StoryComponent = {
79
62
  args: {
80
63
  text: 'Текст всплывающего уведомления',
81
- textColor: undefined,
82
64
  view: 'default',
83
65
  closeIconType: 'default',
84
66
  size: 'm',
@@ -86,6 +68,14 @@ export const ToastComponent: StoryComponent = {
86
68
  enableContentLeft: true,
87
69
  pilled: false,
88
70
  },
71
+ argTypes: {
72
+ closeIconType: {
73
+ options: ['default', 'thin'],
74
+ control: {
75
+ type: 'select',
76
+ },
77
+ },
78
+ },
89
79
  render: ({ enableContentLeft, ...args }) => (
90
80
  <ToastContainer>
91
81
  <Toast contentLeft={enableContentLeft && <BellIcon width="1rem" height="1rem" />} {...args} />
@@ -104,8 +94,6 @@ const StoryLiveDemo = ({
104
94
  size,
105
95
  hasClose,
106
96
  enableContentLeft,
107
- closeIconType,
108
- textColor,
109
97
  }: StoryProps) => {
110
98
  const { showToast, hideToast } = useToast();
111
99
  const contentLeft = enableContentLeft && <BellIcon width="1rem" height="1rem" />;
@@ -126,8 +114,6 @@ const StoryLiveDemo = ({
126
114
  view,
127
115
  size,
128
116
  hasClose,
129
- closeIconType,
130
- textColor,
131
117
  onHide: action('onHide'),
132
118
  onShow: action('onShow'),
133
119
  });
@@ -155,6 +141,7 @@ export const LiveDemo: Story = {
155
141
  type: 'inline-radio',
156
142
  },
157
143
  },
144
+ ...argTypesFromConfig(mergeConfig(toastConfig, config)),
158
145
  ...disableProps(['role', 'onShow', 'onHide', 'contentLeft']),
159
146
  },
160
147
  parameters: {
@@ -180,8 +167,6 @@ const StoryComplex = ({
180
167
  size,
181
168
  hasClose,
182
169
  enableContentLeft,
183
- closeIconType,
184
- textColor,
185
170
  }: StoryProps) => {
186
171
  const [isModalOpen, setIsModalOpen] = useState(false);
187
172
 
@@ -200,8 +185,6 @@ const StoryComplex = ({
200
185
  view,
201
186
  size,
202
187
  hasClose,
203
- closeIconType,
204
- textColor,
205
188
  onHide: action('onHide'),
206
189
  onShow: action('onShow'),
207
190
  });
@@ -9,24 +9,14 @@ export var config = {
9
9
  variations: {
10
10
  view: {
11
11
  "default": /*#__PURE__*/css(["", ":var(--text-primary);", ":var(--surface-solid-card-brightness);", ":var(--text-secondary);", ":var(--text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
12
- positive: /*#__PURE__*/css(["", ":var(--text-primary);", ":var(--surface-solid-card-brightness);", ":var(--text-positive);", ":var(--text-secondary);", ":var(--text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.contentLeftColor, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
13
- negative: /*#__PURE__*/css(["", ":var(--text-primary);", ":var(--surface-solid-card-brightness);", ":var(--text-negative);", ":var(--text-secondary);", ":var(--text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.contentLeftColor, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
14
- /**
15
- * @deprecated
16
- * светлый и темный фон регулировать через `view` компонента `ViewContainer`
17
- */
18
12
  dark: /*#__PURE__*/css(["", ":var(--on-dark-text-primary);", ":var(--on-dark-surface-solid-primary-brightness);", ":var(--on-dark-text-secondary);", ":var(--on-dark-text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover),
19
- /**
20
- * @deprecated
21
- * светлый и темный фон регулировать через `view` компонента `ViewContainer`
22
- */
23
13
  light: /*#__PURE__*/css(["", ":var(--on-light-text-primary);", ":var(--on-light-surface-solid-primary-brightness);", ":var(--on-light-text-secondary);", ":var(--on-light-text-secondary);"], toastTokens.color, toastTokens.background, toastTokens.closeIconColor, toastTokens.closeIconColorOnHover)
24
14
  },
25
15
  size: {
26
- m: /*#__PURE__*/css(["", ":0.75rem;", ":calc(100vw - 5rem);", ":0.5625rem 0.75rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":-0.0625rem 0.375rem -0.0625rem -0.125rem;", ":-0.0625rem -0.25rem -0.0625rem 0.5rem;"], toastTokens.borderRadius, toastTokens.maxWidth, toastTokens.padding, toastTokens.fontFamily, toastTokens.fontSize, toastTokens.fontStyle, toastTokens.fontWeight, toastTokens.letterSpacing, toastTokens.lineHeight, toastTokens.contentLeftMargin, toastTokens.closeIconMargin)
16
+ m: /*#__PURE__*/css(["", ":0.75rem;", ":calc(100vw - 5rem);", ":0.5625rem 0.75rem;", ":var(--plasma-typo-body-xs-font-family);", ":var(--plasma-typo-body-xs-font-size);", ":var(--plasma-typo-body-xs-font-style);", ":var(--plasma-typo-body-xs-font-weight);", ":var(--plasma-typo-body-xs-letter-spacing);", ":var(--plasma-typo-body-xs-line-height);", ":-0.0625rem 0.375rem -0.0625rem -0.125rem;", ":-0.0625rem -0.25rem -0.0625rem 0.5rem;"], toastTokens.borderRadius, toastTokens.maxWidth, toastTokens.padding, toastTokens.fontFamily, toastTokens.fontSize, toastTokens.fontStyle, toastTokens.fontWeight, toastTokens.letterSpacing, toastTokens.lineHeight, toastTokens.leftContentMargin, toastTokens.closeIconMargin)
27
17
  },
28
18
  pilled: {
29
- "true": /*#__PURE__*/css(["", ":1.5rem;", ":-0.0625rem 0.375rem -0.0625rem -0.25rem;", ":-0.0625rem -0.25rem -0.0625rem 0.375rem;"], toastTokens.pilledBorderRadius, toastTokens.contentLeftMargin, toastTokens.closeIconMargin)
19
+ "true": /*#__PURE__*/css(["", ":1.5rem;", ":-0.0625rem 0.375rem -0.0625rem -0.25rem;", ":-0.0625rem -0.25rem -0.0625rem 0.375rem;"], toastTokens.pilledBorderRadius, toastTokens.leftContentMargin, toastTokens.closeIconMargin)
30
20
  },
31
21
  closeIconType: {
32
22
  "default": /*#__PURE__*/css(["", ":1rem;", ":1.5rem;"], toastTokens.closeIconButtonSize, toastTokens.closeIconSize),