@salutejs/plasma-new-hope 0.322.0-canary.1939.14616445713.0 → 0.322.0-canary.1941.14637562685.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 (219) hide show
  1. package/cjs/components/Calendar/Calendar.types.js.map +1 -1
  2. package/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  3. package/cjs/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  4. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  5. package/cjs/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  6. package/cjs/components/Calendar/hoc/withRange.js.map +1 -1
  7. package/cjs/components/Calendar/store/reducer.js.map +1 -1
  8. package/cjs/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  9. package/cjs/components/Calendar/utils/calendarRangeHelper.js.map +1 -1
  10. package/cjs/components/DatePicker/DatePicker.tokens.js +1 -2
  11. package/cjs/components/DatePicker/DatePicker.tokens.js.map +1 -1
  12. package/cjs/components/DatePicker/DatePickerBase.styles.js +1 -1
  13. package/cjs/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  14. package/cjs/components/DatePicker/DatePickerBase.styles_1jm7rc0.css +2 -0
  15. package/cjs/components/DatePicker/RangeDate/RangeDate.css +4 -4
  16. package/cjs/components/DatePicker/RangeDate/RangeDate.js +84 -160
  17. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  18. package/cjs/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  19. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  20. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  21. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  22. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  23. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_r5ataz.css +2 -0
  24. package/cjs/components/DatePicker/SingleDate/SingleDate.css +2 -2
  25. package/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -66
  26. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  27. package/cjs/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  28. package/cjs/components/DatePicker/hooks/useDatePicker.js +76 -133
  29. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  30. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  31. package/cjs/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  32. package/cjs/components/DatePicker/utils/dateHelper.js +109 -0
  33. package/cjs/components/DatePicker/utils/dateHelper.js.map +1 -1
  34. package/cjs/index.css +4 -4
  35. package/emotion/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  36. package/emotion/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  37. package/emotion/cjs/components/CodeField/CodeField.types.js +5 -0
  38. package/emotion/cjs/components/DatePicker/DatePicker.tokens.js +1 -2
  39. package/emotion/cjs/components/DatePicker/DatePickerBase.styles.js +4 -4
  40. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +84 -160
  41. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.styles.js +4 -4
  42. package/emotion/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +3 -3
  43. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -66
  44. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.styles.js +4 -4
  45. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +76 -132
  46. package/emotion/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  47. package/emotion/cjs/components/DatePicker/utils/dateHelper.js +104 -1
  48. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +7 -7
  49. package/emotion/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  50. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.config.js +7 -7
  51. package/emotion/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  52. package/emotion/es/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  53. package/emotion/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  54. package/emotion/es/components/CodeField/CodeField.types.js +1 -0
  55. package/emotion/es/components/DatePicker/DatePicker.tokens.js +1 -2
  56. package/emotion/es/components/DatePicker/DatePickerBase.styles.js +4 -4
  57. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +85 -161
  58. package/emotion/es/components/DatePicker/RangeDate/RangeDate.styles.js +4 -4
  59. package/emotion/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +3 -3
  60. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +34 -67
  61. package/emotion/es/components/DatePicker/SingleDate/SingleDate.styles.js +4 -4
  62. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +75 -131
  63. package/emotion/es/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  64. package/emotion/es/components/DatePicker/utils/dateHelper.js +103 -0
  65. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +7 -7
  66. package/emotion/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  67. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.config.js +7 -7
  68. package/emotion/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  69. package/es/components/Calendar/Calendar.types.js.map +1 -1
  70. package/es/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  71. package/es/components/Calendar/CalendarBase/CalendarBase.js.map +1 -1
  72. package/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  73. package/es/components/Calendar/CalendarDouble/CalendarDouble.js.map +1 -1
  74. package/es/components/Calendar/hoc/withRange.js.map +1 -1
  75. package/es/components/Calendar/store/reducer.js.map +1 -1
  76. package/es/components/Calendar/utils/calendarGridHelper.js.map +1 -1
  77. package/es/components/Calendar/utils/calendarRangeHelper.js.map +1 -1
  78. package/es/components/DatePicker/DatePicker.tokens.js +1 -2
  79. package/es/components/DatePicker/DatePicker.tokens.js.map +1 -1
  80. package/es/components/DatePicker/DatePickerBase.styles.js +1 -1
  81. package/es/components/DatePicker/DatePickerBase.styles.js.map +1 -1
  82. package/es/components/DatePicker/DatePickerBase.styles_1jm7rc0.css +2 -0
  83. package/es/components/DatePicker/RangeDate/RangeDate.css +4 -4
  84. package/es/components/DatePicker/RangeDate/RangeDate.js +86 -162
  85. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  86. package/es/components/DatePicker/RangeDate/RangeDate.styles.js.map +1 -1
  87. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.css +2 -2
  88. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.js.map +1 -1
  89. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  90. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js.map +1 -1
  91. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_r5ataz.css +2 -0
  92. package/es/components/DatePicker/SingleDate/SingleDate.css +2 -2
  93. package/es/components/DatePicker/SingleDate/SingleDate.js +35 -68
  94. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  95. package/es/components/DatePicker/SingleDate/SingleDate.styles.js.map +1 -1
  96. package/es/components/DatePicker/hooks/useDatePicker.js +75 -132
  97. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  98. package/es/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  99. package/es/components/DatePicker/hooks/useKeyboardNavigation.js.map +1 -1
  100. package/es/components/DatePicker/utils/dateHelper.js +105 -1
  101. package/es/components/DatePicker/utils/dateHelper.js.map +1 -1
  102. package/es/index.css +4 -4
  103. package/package.json +4 -4
  104. package/styled-components/cjs/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  105. package/styled-components/cjs/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  106. package/styled-components/cjs/components/CodeField/CodeField.types.js +5 -0
  107. package/styled-components/cjs/components/DatePicker/DatePicker.tokens.js +1 -2
  108. package/styled-components/cjs/components/DatePicker/DatePickerBase.styles.js +2 -2
  109. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +84 -160
  110. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  111. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +33 -66
  112. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +76 -132
  113. package/styled-components/cjs/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  114. package/styled-components/cjs/components/DatePicker/utils/dateHelper.js +104 -1
  115. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +1 -1
  116. package/styled-components/cjs/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  117. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.config.js +1 -1
  118. package/styled-components/cjs/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  119. package/styled-components/es/components/Calendar/CalendarBase/CalendarBase.js +6 -3
  120. package/styled-components/es/components/Calendar/CalendarDouble/CalendarDouble.js +6 -3
  121. package/styled-components/es/components/CodeField/CodeField.types.js +1 -0
  122. package/styled-components/es/components/DatePicker/DatePicker.tokens.js +1 -2
  123. package/styled-components/es/components/DatePicker/DatePickerBase.styles.js +2 -2
  124. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +85 -161
  125. package/styled-components/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.js +1 -1
  126. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +34 -67
  127. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +75 -131
  128. package/styled-components/es/components/DatePicker/hooks/useKeyboardNavigation.js +0 -7
  129. package/styled-components/es/components/DatePicker/utils/dateHelper.js +103 -0
  130. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.config.js +1 -1
  131. package/styled-components/es/examples/plasma_b2c/components/DatePicker/DatePicker.stories.tsx +19 -20
  132. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.config.js +1 -1
  133. package/styled-components/es/examples/plasma_web/components/DatePicker/DatePicker.stories.tsx +12 -17
  134. package/types/components/Calendar/Calendar.types.d.ts +3 -4
  135. package/types/components/Calendar/Calendar.types.d.ts.map +1 -1
  136. package/types/components/Calendar/CalendarBase/CalendarBase.d.ts.map +1 -1
  137. package/types/components/Calendar/CalendarDouble/CalendarDouble.d.ts.map +1 -1
  138. package/types/components/Calendar/hoc/withRange.d.ts.map +1 -1
  139. package/types/components/Calendar/store/reducer.d.ts +1 -2
  140. package/types/components/Calendar/store/reducer.d.ts.map +1 -1
  141. package/types/components/Calendar/utils/calendarGridHelper.d.ts +4 -4
  142. package/types/components/Calendar/utils/calendarGridHelper.d.ts.map +1 -1
  143. package/types/components/Calendar/utils/calendarRangeHelper.d.ts +4 -4
  144. package/types/components/Calendar/utils/calendarRangeHelper.d.ts.map +1 -1
  145. package/types/components/CodeField/CodeField.types.d.ts +56 -0
  146. package/types/components/CodeField/CodeField.types.d.ts.map +1 -0
  147. package/types/components/DatePicker/DatePicker.tokens.d.ts +0 -1
  148. package/types/components/DatePicker/DatePicker.tokens.d.ts.map +1 -1
  149. package/types/components/DatePicker/DatePickerBase.styles.d.ts.map +1 -1
  150. package/types/components/DatePicker/DatePickerBase.types.d.ts +6 -16
  151. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  152. package/types/components/DatePicker/RangeDate/RangeDate.d.ts +2 -3
  153. package/types/components/DatePicker/RangeDate/RangeDate.d.ts.map +1 -1
  154. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts +2 -2
  155. package/types/components/DatePicker/RangeDate/RangeDate.types.d.ts.map +1 -1
  156. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts +1 -1
  157. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles.d.ts.map +1 -1
  158. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts +3 -3
  159. package/types/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.types.d.ts.map +1 -1
  160. package/types/components/DatePicker/SingleDate/SingleDate.d.ts +6 -10
  161. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  162. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts +6 -8
  163. package/types/components/DatePicker/SingleDate/SingleDate.types.d.ts.map +1 -1
  164. package/types/components/DatePicker/hooks/useDatePicker.d.ts +4 -5
  165. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  166. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts +1 -4
  167. package/types/components/DatePicker/hooks/useKeyboardNavigation.d.ts.map +1 -1
  168. package/types/components/DatePicker/utils/dateHelper.d.ts +27 -0
  169. package/types/components/DatePicker/utils/dateHelper.d.ts.map +1 -1
  170. package/cjs/components/DatePicker/DatePickerBase.styles_1a5ddg3.css +0 -2
  171. package/cjs/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1fhuiqs.css +0 -2
  172. package/cjs/components/DatePicker/utils/getFormattedDates.js +0 -45
  173. package/cjs/components/DatePicker/utils/getFormattedDates.js.map +0 -1
  174. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +0 -27
  175. package/cjs/components/DatePicker/utils/getMaskedDateOnInput.js.map +0 -1
  176. package/cjs/components/DatePicker/utils/getOriginalDates.js +0 -49
  177. package/cjs/components/DatePicker/utils/getOriginalDates.js.map +0 -1
  178. package/cjs/components/DatePicker/utils/normalizeDates.js +0 -33
  179. package/cjs/components/DatePicker/utils/normalizeDates.js.map +0 -1
  180. package/emotion/cjs/components/DatePicker/utils/getFormattedDates.js +0 -43
  181. package/emotion/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +0 -26
  182. package/emotion/cjs/components/DatePicker/utils/getOriginalDates.js +0 -47
  183. package/emotion/cjs/components/DatePicker/utils/index.js +0 -33
  184. package/emotion/cjs/components/DatePicker/utils/normalizeDates.js +0 -31
  185. package/emotion/es/components/DatePicker/utils/getFormattedDates.js +0 -37
  186. package/emotion/es/components/DatePicker/utils/getMaskedDateOnInput.js +0 -20
  187. package/emotion/es/components/DatePicker/utils/getOriginalDates.js +0 -41
  188. package/emotion/es/components/DatePicker/utils/index.js +0 -4
  189. package/emotion/es/components/DatePicker/utils/normalizeDates.js +0 -25
  190. package/es/components/DatePicker/DatePickerBase.styles_1a5ddg3.css +0 -2
  191. package/es/components/DatePicker/RangeDate/RangeDatePopover/RangeDatePopover.styles_1fhuiqs.css +0 -2
  192. package/es/components/DatePicker/utils/getFormattedDates.js +0 -41
  193. package/es/components/DatePicker/utils/getFormattedDates.js.map +0 -1
  194. package/es/components/DatePicker/utils/getMaskedDateOnInput.js +0 -23
  195. package/es/components/DatePicker/utils/getMaskedDateOnInput.js.map +0 -1
  196. package/es/components/DatePicker/utils/getOriginalDates.js +0 -45
  197. package/es/components/DatePicker/utils/getOriginalDates.js.map +0 -1
  198. package/es/components/DatePicker/utils/normalizeDates.js +0 -29
  199. package/es/components/DatePicker/utils/normalizeDates.js.map +0 -1
  200. package/styled-components/cjs/components/DatePicker/utils/getFormattedDates.js +0 -43
  201. package/styled-components/cjs/components/DatePicker/utils/getMaskedDateOnInput.js +0 -26
  202. package/styled-components/cjs/components/DatePicker/utils/getOriginalDates.js +0 -47
  203. package/styled-components/cjs/components/DatePicker/utils/index.js +0 -33
  204. package/styled-components/cjs/components/DatePicker/utils/normalizeDates.js +0 -31
  205. package/styled-components/es/components/DatePicker/utils/getFormattedDates.js +0 -37
  206. package/styled-components/es/components/DatePicker/utils/getMaskedDateOnInput.js +0 -20
  207. package/styled-components/es/components/DatePicker/utils/getOriginalDates.js +0 -41
  208. package/styled-components/es/components/DatePicker/utils/index.js +0 -4
  209. package/styled-components/es/components/DatePicker/utils/normalizeDates.js +0 -25
  210. package/types/components/DatePicker/utils/getFormattedDates.d.ts +0 -21
  211. package/types/components/DatePicker/utils/getFormattedDates.d.ts.map +0 -1
  212. package/types/components/DatePicker/utils/getMaskedDateOnInput.d.ts +0 -2
  213. package/types/components/DatePicker/utils/getMaskedDateOnInput.d.ts.map +0 -1
  214. package/types/components/DatePicker/utils/getOriginalDates.d.ts +0 -10
  215. package/types/components/DatePicker/utils/getOriginalDates.d.ts.map +0 -1
  216. package/types/components/DatePicker/utils/index.d.ts +0 -5
  217. package/types/components/DatePicker/utils/index.d.ts.map +0 -1
  218. package/types/components/DatePicker/utils/normalizeDates.d.ts +0 -15
  219. package/types/components/DatePicker/utils/normalizeDates.d.ts.map +0 -1
@@ -1,24 +1,23 @@
1
1
  import React, { ComponentProps, useEffect, useRef, useState } from 'react';
2
2
  import type { StoryObj, Meta } from '@storybook/react';
3
3
  import { action } from '@storybook/addon-actions';
4
- import { disableProps, getConfigVariations, IconPlaceholder } from '@salutejs/plasma-sb-utils';
4
+ import { disableProps, IconPlaceholder } from '@salutejs/plasma-sb-utils';
5
5
 
6
6
  import { WithTheme } from '../../../_helpers';
7
7
  import { IconButton } from '../IconButton/IconButton';
8
8
  import { RangeInputRefs } from '../../../../components/Range/Range.types';
9
9
 
10
10
  import { DatePicker, DatePickerRange } from './DatePicker';
11
- import { config } from './DatePicker.config';
12
11
 
13
12
  const onChangeValue = action('onChangeValue');
14
- const onCommitDate = action('onCommitDate');
15
13
  const onBlur = action('onBlur');
16
14
  const onFocus = action('onFocus');
17
15
 
18
16
  const onChangeFirstValue = action('onChangeFirstValue');
19
17
  const onChangeSecondValue = action('onChangeSecondValue');
20
18
 
21
- const { sizes, views } = getConfigVariations(config);
19
+ const sizes = ['l', 'm', 's', 'xs'];
20
+ const views = ['default'];
22
21
  const dividers = ['none', 'dash', 'icon'];
23
22
  const labelPlacements = ['outer', 'inner'];
24
23
  const requiredPlacements = ['left', 'right'];
@@ -49,11 +48,6 @@ const meta: Meta = {
49
48
  type: 'date',
50
49
  },
51
50
  },
52
- includeEdgeDates: {
53
- control: {
54
- type: 'boolean',
55
- },
56
- },
57
51
  renderFromDate: {
58
52
  control: {
59
53
  type: 'date',
@@ -119,10 +113,12 @@ const StoryDefault = ({
119
113
  onBlur={onBlur}
120
114
  onFocus={onFocus}
121
115
  onToggle={(is) => setIsOpen(is)}
122
- onChangeValue={onChangeValue}
123
- onCommitDate={onCommitDate}
116
+ onChangeValue={(e, currentValue) => {
117
+ onChangeValue(e, currentValue);
118
+ }}
124
119
  lang={lang}
125
120
  format={format}
121
+ onCommitDate={() => setIsOpen(false)}
126
122
  min={min}
127
123
  max={max}
128
124
  {...rest}
@@ -144,7 +140,7 @@ export const Default: StoryObj<StoryPropsDefault> = {
144
140
  },
145
141
  },
146
142
  format: {
147
- options: ['DD.MM.YYYY', 'DD MMMM YYYY', 'YYYY DD MM', 'DD YYYY MM'],
143
+ options: ['DD.MM.YYYY', 'DD MMMM YYYY'],
148
144
  control: {
149
145
  type: 'select',
150
146
  },
@@ -159,7 +155,6 @@ export const Default: StoryObj<StoryPropsDefault> = {
159
155
  labelPlacement: 'outer',
160
156
  defaultDate: new Date(2024, 5, 14),
161
157
  renderFromDate: new Date(2024, 4, 14),
162
- includeEdgeDates: true,
163
158
  min: new Date(2024, 1, 1),
164
159
  max: new Date(2024, 12, 29),
165
160
  maskWithFormat: false,
@@ -304,7 +299,6 @@ export const Range: StoryObj<StoryPropsRange> = {
304
299
  isDoubleCalendar: false,
305
300
  closeAfterDateSelect: true,
306
301
  dividerVariant: 'dash',
307
- includeEdgeDates: true,
308
302
  min: new Date(2024, 1, 1),
309
303
  max: new Date(2024, 12, 29),
310
304
  renderFromDate: new Date(2024, 4, 14),
@@ -368,8 +362,10 @@ const StoryDeferred = ({
368
362
  onBlur={onBlur}
369
363
  onFocus={onFocus}
370
364
  onToggle={(is) => setIsOpen(is)}
371
- onChangeValue={onChangeValue}
372
- onCommitDate={onCommitDate}
365
+ onChangeValue={(e, currentValue) => {
366
+ onChangeValue(e, currentValue);
367
+ }}
368
+ onCommitDate={() => setIsOpen(false)}
373
369
  min={min}
374
370
  max={max}
375
371
  {...rest}
@@ -405,7 +401,6 @@ export const Deferred: StoryObj<StoryPropsDefault> = {
405
401
  size: 'l',
406
402
  view: 'default',
407
403
  labelPlacement: 'outer',
408
- includeEdgeDates: true,
409
404
  min: new Date(2024, 1, 1),
410
405
  max: new Date(2024, 12, 29),
411
406
  maskWithFormat: false,
@@ -128,6 +128,9 @@ export var calendarBaseRoot = function calendarBaseRoot(Root) {
128
128
  }
129
129
  }, [calendarState]);
130
130
  useEffect(function () {
131
+ if (!prevValue) {
132
+ setPrevValue(value);
133
+ }
131
134
  if (value && prevValue && isValueUpdate(value, prevValue) || value && !prevValue) {
132
135
  dispatch({
133
136
  type: ActionType.UPDATE_DATE,
@@ -135,8 +138,9 @@ export var calendarBaseRoot = function calendarBaseRoot(Root) {
135
138
  value: value
136
139
  }
137
140
  });
141
+ setPrevValue(value);
138
142
  }
139
- if (!value && !prevValue) {
143
+ if (!value) {
140
144
  dispatch({
141
145
  type: ActionType.UPDATE_DATE,
142
146
  payload: {
@@ -144,8 +148,7 @@ export var calendarBaseRoot = function calendarBaseRoot(Root) {
144
148
  }
145
149
  });
146
150
  }
147
- setPrevValue(value);
148
- }, [value]);
151
+ }, [value, prevValue]);
149
152
  return /*#__PURE__*/React.createElement(Root, _extends({
150
153
  ref: outerRootRef,
151
154
  "aria-label": I18N.selectDate[locale]
@@ -175,6 +175,9 @@ export var calendarDoubleRoot = function calendarDoubleRoot(Root) {
175
175
  }
176
176
  }, [calendarState]);
177
177
  useEffect(function () {
178
+ if (!prevValue) {
179
+ setPrevValue(value);
180
+ }
178
181
  if (value && prevValue && isValueUpdate(value, prevValue) || value && !prevValue) {
179
182
  var _getBoundaryDates = getBoundaryDates(),
180
183
  _getBoundaryDates2 = _slicedToArray(_getBoundaryDates, 2),
@@ -188,8 +191,9 @@ export var calendarDoubleRoot = function calendarDoubleRoot(Root) {
188
191
  }
189
192
  });
190
193
  }
194
+ setPrevValue(value);
191
195
  }
192
- if (!value && !prevValue) {
196
+ if (!value) {
193
197
  dispatch({
194
198
  type: ActionType.UPDATE_DATE,
195
199
  payload: {
@@ -197,8 +201,7 @@ export var calendarDoubleRoot = function calendarDoubleRoot(Root) {
197
201
  }
198
202
  });
199
203
  }
200
- setPrevValue(value);
201
- }, [value]);
204
+ }, [value, prevValue]);
202
205
  useEffect(function () {
203
206
  setFirstDate(date);
204
207
  updateSecondDate();
@@ -218,6 +218,5 @@ export var tokens = {
218
218
  calendarContentPrimaryColor: '--plasma-date-picker-calendar__content-primary-color',
219
219
  calendarContentSecondaryColor: '--plasma-date-picker-calendar__content-secondary-color',
220
220
  calendarContentPrimaryDisabledColor: '--plasma-date-picker-calendar__content-primary-disabled-color',
221
- calendarContentSecondaryDisabledColor: '--plasma-date-picker-calendar__content-secondary-disabled-color',
222
- calendarDisabledOpacity: '--plasma-date-picker-calendar__disabled-opacity'
221
+ calendarContentSecondaryDisabledColor: '--plasma-date-picker-calendar__content-secondary-disabled-color'
223
222
  };
@@ -1,11 +1,11 @@
1
1
  import styled from 'styled-components';
2
+ import { calendarBaseConfig, calendarBaseTokens } from "../Calendar";
2
3
  import { component, mergeConfig } from "../../engines";
3
4
  import { applyHidden } from "../../mixins";
4
- import { calendarBaseConfig, calendarBaseTokens } from "../Calendar";
5
5
  import { tokens } from "./DatePicker.tokens";
6
6
  var mergedCalendarConfig = /*#__PURE__*/mergeConfig(calendarBaseConfig);
7
7
  var Calendar = /*#__PURE__*/component(mergedCalendarConfig);
8
- export var baseCalendarTokens = /*#__PURE__*/"\n padding-top: var(".concat(tokens.calendarPaddingTop, ");\n box-shadow: var(").concat(tokens.calendarShadow, ");\n border-radius: var(").concat(tokens.calendarBorderRadius, ");\n margin-top: var(").concat(tokens.calendarMarginTop, ");\n\n ").concat(calendarBaseTokens.calendarBackgroundColor, ": var(").concat(tokens.calendarBackgroundColor, ");\n ").concat(calendarBaseTokens.calendarSelectedItemBackground, ": var(").concat(tokens.calendarSelectedItemBackground, ");\n ").concat(calendarBaseTokens.calendarSelectedItemColor, ": var(").concat(tokens.calendarSelectedItemColor, ");\n ").concat(calendarBaseTokens.calendarSelectableItemBackgroundHover, ": var(").concat(tokens.calendarSelectableItemBackgroundHover, ");\n ").concat(calendarBaseTokens.calendarCurrentItemBorderColor, ": var(").concat(tokens.calendarCurrentItemBorderColor, ");\n ").concat(calendarBaseTokens.calendarCurrentItemBorderWidth, ": var(").concat(tokens.calendarCurrentItemBorderWidth, ");\n ").concat(calendarBaseTokens.calendarCurrentItemBackgroundHover, ": var(").concat(tokens.calendarCurrentItemBackgroundHover, ");\n ").concat(calendarBaseTokens.calendarCurrentItemColorHover, ": var(").concat(tokens.calendarCurrentItemColorHover, ");\n ").concat(calendarBaseTokens.calendarCurrentItemChildBackgroundHover, ": var(").concat(tokens.calendarCurrentItemChildBackgroundHover, ");\n ").concat(calendarBaseTokens.calendarActiveItemBackground, ": var(").concat(tokens.calendarActiveItemBackground, ");\n ").concat(calendarBaseTokens.calendarActiveItemColor, ": var(").concat(tokens.calendarActiveItemColor, ");\n ").concat(calendarBaseTokens.calendarHoveredItemBackground, ": var(").concat(tokens.calendarHoveredItemBackground, ");\n ").concat(calendarBaseTokens.calendarHoveredItemColor, ": var(").concat(tokens.calendarHoveredItemColor, ");\n ").concat(calendarBaseTokens.calendarRangeBackground, ": var(").concat(tokens.calendarRangeBackground, ");\n ").concat(calendarBaseTokens.calendarOutlineFocusColor, ": var(").concat(tokens.calendarOutlineFocusColor, ");\n ").concat(calendarBaseTokens.calendarContentPrimaryColor, ": var(").concat(tokens.calendarContentPrimaryColor, ");\n ").concat(calendarBaseTokens.calendarContentPrimaryDisabledColor, ": var(").concat(tokens.calendarContentPrimaryDisabledColor, ");\n ").concat(calendarBaseTokens.calendarContentSecondaryColor, ": var(").concat(tokens.calendarContentSecondaryColor, ");\n ").concat(calendarBaseTokens.calendarContentSecondaryDisabledColor, ": var(").concat(tokens.calendarContentSecondaryDisabledColor, ");\n ").concat(calendarBaseTokens.calendarDisabledOpacity, ": var(").concat(tokens.calendarDisabledOpacity, ");\n\n ").concat(calendarBaseTokens.iconButtonColor, ": var(").concat(tokens.iconButtonColor, ");\n ").concat(calendarBaseTokens.iconButtonBackgroundColor, ": var(").concat(tokens.iconButtonBackgroundColor, ");\n ").concat(calendarBaseTokens.iconButtonColorHover, ": var(").concat(tokens.iconButtonColorHover, ");\n ").concat(calendarBaseTokens.iconButtonBackgroundColorHover, ": var(").concat(tokens.iconButtonBackgroundColorHover, ");\n ").concat(calendarBaseTokens.iconButtonColorActive, ": var(").concat(tokens.iconButtonColorActive, ");\n ").concat(calendarBaseTokens.iconButtonBackgroundColorActive, ": var(").concat(tokens.iconButtonBackgroundColorActive, ");\n\n ").concat(calendarBaseTokens.calendarWidth, ": var(").concat(tokens.calendarWidth, ");\n ").concat(calendarBaseTokens.calendarHeight, ": var(").concat(tokens.calendarHeight, ");\n ").concat(calendarBaseTokens.calendarBorderWidth, ": var(").concat(tokens.calendarBorderWidth, ");\n ").concat(calendarBaseTokens.calendarBorderColor, ": var(").concat(tokens.calendarBorderColor, ");\n\n ").concat(calendarBaseTokens.calendarYearsPadding, ": var(").concat(tokens.calendarYearsPadding, ");\n ").concat(calendarBaseTokens.calendarYearItemBorderRadius, ": var(").concat(tokens.calendarYearItemBorderRadius, ");\n ").concat(calendarBaseTokens.calendarYearItemWidth, ": var(").concat(tokens.calendarYearItemWidth, ");\n ").concat(calendarBaseTokens.calendarYearItemHeight, ": var(").concat(tokens.calendarYearItemHeight, ");\n ").concat(calendarBaseTokens.calendarYearFontFamily, ": var(").concat(tokens.calendarYearFontFamily, ");\n ").concat(calendarBaseTokens.calendarYearFontSize, ": var(").concat(tokens.calendarYearFontSize, ");\n ").concat(calendarBaseTokens.calendarYearFontStyle, ": var(").concat(tokens.calendarYearFontStyle, ");\n ").concat(calendarBaseTokens.calendarYearFontLetterSpacing, ": var(").concat(tokens.calendarYearFontLetterSpacing, ");\n ").concat(calendarBaseTokens.calendarYearFontLineHeight, ": var(").concat(tokens.calendarYearFontLineHeight, ");\n ").concat(calendarBaseTokens.calendarYearFontWeight, ": var(").concat(tokens.calendarYearFontWeight, ");\n ").concat(calendarBaseTokens.calendarYearSelectedFontWeight, ": var(").concat(tokens.calendarYearSelectedFontWeight, ");\n\n ").concat(calendarBaseTokens.calendarMonthsPadding, ": var(").concat(tokens.calendarMonthsPadding, ");\n ").concat(calendarBaseTokens.calendarMonthItemBorderRadius, ": var(").concat(tokens.calendarMonthItemBorderRadius, ");\n ").concat(calendarBaseTokens.calendarMonthItemWidth, ": var(").concat(tokens.calendarMonthItemWidth, ");\n ").concat(calendarBaseTokens.calendarMonthItemHeight, ": var(").concat(tokens.calendarMonthItemHeight, ");\n ").concat(calendarBaseTokens.calendarMonthFontFamily, ": var(").concat(tokens.calendarMonthFontFamily, ");\n ").concat(calendarBaseTokens.calendarMonthFontSize, ": var(").concat(tokens.calendarMonthFontSize, ");\n ").concat(calendarBaseTokens.calendarMonthFontStyle, ": var(").concat(tokens.calendarMonthFontStyle, ");\n ").concat(calendarBaseTokens.calendarMonthFontLetterSpacing, ": var(").concat(tokens.calendarMonthFontLetterSpacing, ");\n ").concat(calendarBaseTokens.calendarMonthFontLineHeight, ": var(").concat(tokens.calendarMonthFontLineHeight, ");\n ").concat(calendarBaseTokens.calendarMonthFontWeight, ": var(").concat(tokens.calendarMonthFontWeight, ");\n ").concat(calendarBaseTokens.calendarMonthSelectedFontWeight, ": var(").concat(tokens.calendarMonthSelectedFontWeight, ");\n\n ").concat(calendarBaseTokens.calendarQuartersPadding, ": var(").concat(tokens.calendarQuartersPadding, ");\n ").concat(calendarBaseTokens.calendarQuarterItemBorderRadius, ": var(").concat(tokens.calendarQuarterItemBorderRadius, ");\n ").concat(calendarBaseTokens.calendarQuarterItemWidth, ": var(").concat(tokens.calendarQuarterItemWidth, ");\n ").concat(calendarBaseTokens.calendarQuarterItemHeight, ": var(").concat(tokens.calendarQuarterItemHeight, ");\n ").concat(calendarBaseTokens.calendarQuarterFontFamily, ": var(").concat(tokens.calendarQuarterFontFamily, ");\n ").concat(calendarBaseTokens.calendarQuarterFontSize, ": var(").concat(tokens.calendarQuarterFontSize, ");\n ").concat(calendarBaseTokens.calendarQuarterFontStyle, ": var(").concat(tokens.calendarQuarterFontStyle, ");\n ").concat(calendarBaseTokens.calendarQuarterFontLetterSpacing, ": var(").concat(tokens.calendarQuarterFontLetterSpacing, ");\n ").concat(calendarBaseTokens.calendarQuarterFontLineHeight, ": var(").concat(tokens.calendarQuarterFontLineHeight, ");\n ").concat(calendarBaseTokens.calendarQuarterFontWeight, ": var(").concat(tokens.calendarQuarterFontWeight, ");\n ").concat(calendarBaseTokens.calendarQuarterSelectedFontWeight, ": var(").concat(tokens.calendarQuarterSelectedFontWeight, ");\n \n ").concat(calendarBaseTokens.calendarDaysPadding, ": var(").concat(tokens.calendarDaysPadding, ");\n ").concat(calendarBaseTokens.calendarDayItemBorderRadius, ": var(").concat(tokens.calendarDayItemBorderRadius, ");\n ").concat(calendarBaseTokens.calendarDayItemWidth, ": var(").concat(tokens.calendarDayItemWidth, ");\n ").concat(calendarBaseTokens.calendarDayItemHeight, ": var(").concat(tokens.calendarDayItemHeight, ");\n ").concat(calendarBaseTokens.calendarDayFontFamily, ": var(").concat(tokens.calendarDayFontFamily, ");\n ").concat(calendarBaseTokens.calendarDayFontSize, ": var(").concat(tokens.calendarDayFontSize, ");\n ").concat(calendarBaseTokens.calendarDayFontStyle, ": var(").concat(tokens.calendarDayFontStyle, ");\n ").concat(calendarBaseTokens.calendarDayFontLetterSpacing, ": var(").concat(tokens.calendarDayFontLetterSpacing, ");\n ").concat(calendarBaseTokens.calendarDayFontLineHeight, ": var(").concat(tokens.calendarDayFontLineHeight, ");\n ").concat(calendarBaseTokens.calendarDayFontWeight, ": var(").concat(tokens.calendarDayFontWeight, ");\n ").concat(calendarBaseTokens.calendarDaySelectedFontWeight, ": var(").concat(tokens.calendarDaySelectedFontWeight, ");\n ").concat(calendarBaseTokens.calendarDayOfWeekColor, ": var(").concat(tokens.calendarDayOfWeekColor, ");\n \n ").concat(calendarBaseTokens.calendarHeaderWrapperPadding, ": var(").concat(tokens.calendarHeaderWrapperPadding, ");\n ").concat(calendarBaseTokens.calendarHeaderArrowGap, ": var(").concat(tokens.calendarHeaderArrowGap, ");\n ").concat(calendarBaseTokens.calendarHeaderArrowPadding, ": var(").concat(tokens.calendarHeaderArrowPadding, ");\n ").concat(calendarBaseTokens.calendarHeaderPadding, ": var(").concat(tokens.calendarHeaderPadding, ");\n ").concat(calendarBaseTokens.calendarHeaderDateGap, ": var(").concat(tokens.calendarHeaderDateGap, ");\n ").concat(calendarBaseTokens.calendarHeaderFontFamily, ": var(").concat(tokens.calendarHeaderFontFamily, ");\n ").concat(calendarBaseTokens.calendarHeaderFontSize, ": var(").concat(tokens.calendarHeaderFontSize, ");\n ").concat(calendarBaseTokens.calendarHeaderFontStyle, ": var(").concat(tokens.calendarHeaderFontStyle, ");\n ").concat(calendarBaseTokens.calendarHeaderFontLetterSpacing, ": var(").concat(tokens.calendarHeaderFontLetterSpacing, ");\n ").concat(calendarBaseTokens.calendarHeaderFontLineHeight, ": var(").concat(tokens.calendarHeaderFontLineHeight, ");\n ").concat(calendarBaseTokens.calendarHeaderFontWeight, ": var(").concat(tokens.calendarHeaderFontWeight, ");\n ").concat(calendarBaseTokens.calendarHeaderFontWeightBold, ": var(").concat(tokens.calendarHeaderFontWeightBold, ");\n ").concat(calendarBaseTokens.calendarHeaderArrowColor, ": var(").concat(tokens.calendarHeaderArrowColor, ");\n \n ").concat(calendarBaseTokens.iconButtonHeight, ": var(").concat(tokens.iconButtonHeight, ");\n ").concat(calendarBaseTokens.iconButtonWidth, ": var(").concat(tokens.iconButtonWidth, ");\n ").concat(calendarBaseTokens.iconButtonPadding, ": var(").concat(tokens.iconButtonPadding, ");\n ").concat(calendarBaseTokens.iconButtonRadius, ": var(").concat(tokens.iconButtonRadius, ");\n ").concat(calendarBaseTokens.iconButtonFocusColor, ": var(").concat(tokens.iconButtonFocusColor, ");\n");
8
+ export var baseCalendarTokens = /*#__PURE__*/"\n padding-top: var(".concat(tokens.calendarPaddingTop, ");\n box-shadow: var(").concat(tokens.calendarShadow, ");\n border-radius: var(").concat(tokens.calendarBorderRadius, ");\n margin-top: var(").concat(tokens.calendarMarginTop, ");\n\n ").concat(calendarBaseTokens.calendarBackgroundColor, ": var(").concat(tokens.calendarBackgroundColor, ");\n ").concat(calendarBaseTokens.calendarSelectedItemBackground, ": var(").concat(tokens.calendarSelectedItemBackground, ");\n ").concat(calendarBaseTokens.calendarSelectedItemColor, ": var(").concat(tokens.calendarSelectedItemColor, ");\n ").concat(calendarBaseTokens.calendarSelectableItemBackgroundHover, ": var(").concat(tokens.calendarSelectableItemBackgroundHover, ");\n ").concat(calendarBaseTokens.calendarCurrentItemBorderColor, ": var(").concat(tokens.calendarCurrentItemBorderColor, ");\n ").concat(calendarBaseTokens.calendarCurrentItemBorderWidth, ": var(").concat(tokens.calendarCurrentItemBorderWidth, ");\n ").concat(calendarBaseTokens.calendarCurrentItemBackgroundHover, ": var(").concat(tokens.calendarCurrentItemBackgroundHover, ");\n ").concat(calendarBaseTokens.calendarCurrentItemColorHover, ": var(").concat(tokens.calendarCurrentItemColorHover, ");\n ").concat(calendarBaseTokens.calendarCurrentItemChildBackgroundHover, ": var(").concat(tokens.calendarCurrentItemChildBackgroundHover, ");\n ").concat(calendarBaseTokens.calendarActiveItemBackground, ": var(").concat(tokens.calendarActiveItemBackground, ");\n ").concat(calendarBaseTokens.calendarActiveItemColor, ": var(").concat(tokens.calendarActiveItemColor, ");\n ").concat(calendarBaseTokens.calendarHoveredItemBackground, ": var(").concat(tokens.calendarHoveredItemBackground, ");\n ").concat(calendarBaseTokens.calendarHoveredItemColor, ": var(").concat(tokens.calendarHoveredItemColor, ");\n ").concat(calendarBaseTokens.calendarRangeBackground, ": var(").concat(tokens.calendarRangeBackground, ");\n ").concat(calendarBaseTokens.calendarOutlineFocusColor, ": var(").concat(tokens.calendarOutlineFocusColor, ");\n ").concat(calendarBaseTokens.calendarContentPrimaryColor, ": var(").concat(tokens.calendarContentPrimaryColor, ");\n ").concat(calendarBaseTokens.calendarContentPrimaryDisabledColor, ": var(").concat(tokens.calendarContentPrimaryDisabledColor, ");\n ").concat(calendarBaseTokens.calendarContentSecondaryColor, ": var(").concat(tokens.calendarContentSecondaryColor, ");\n ").concat(calendarBaseTokens.calendarContentSecondaryDisabledColor, ": var(").concat(tokens.calendarContentSecondaryDisabledColor, ");\n\n ").concat(calendarBaseTokens.iconButtonColor, ": var(").concat(tokens.iconButtonColor, ");\n ").concat(calendarBaseTokens.iconButtonBackgroundColor, ": var(").concat(tokens.iconButtonBackgroundColor, ");\n ").concat(calendarBaseTokens.iconButtonColorHover, ": var(").concat(tokens.iconButtonColorHover, ");\n ").concat(calendarBaseTokens.iconButtonBackgroundColorHover, ": var(").concat(tokens.iconButtonBackgroundColorHover, ");\n ").concat(calendarBaseTokens.iconButtonColorActive, ": var(").concat(tokens.iconButtonColorActive, ");\n ").concat(calendarBaseTokens.iconButtonBackgroundColorActive, ": var(").concat(tokens.iconButtonBackgroundColorActive, ");\n\n ").concat(calendarBaseTokens.calendarWidth, ": var(").concat(tokens.calendarWidth, ");\n ").concat(calendarBaseTokens.calendarHeight, ": var(").concat(tokens.calendarHeight, ");\n ").concat(calendarBaseTokens.calendarBorderWidth, ": var(").concat(tokens.calendarBorderWidth, ");\n ").concat(calendarBaseTokens.calendarBorderColor, ": var(").concat(tokens.calendarBorderColor, ");\n\n ").concat(calendarBaseTokens.calendarYearsPadding, ": var(").concat(tokens.calendarYearsPadding, ");\n ").concat(calendarBaseTokens.calendarYearItemBorderRadius, ": var(").concat(tokens.calendarYearItemBorderRadius, ");\n ").concat(calendarBaseTokens.calendarYearItemWidth, ": var(").concat(tokens.calendarYearItemWidth, ");\n ").concat(calendarBaseTokens.calendarYearItemHeight, ": var(").concat(tokens.calendarYearItemHeight, ");\n ").concat(calendarBaseTokens.calendarYearFontFamily, ": var(").concat(tokens.calendarYearFontFamily, ");\n ").concat(calendarBaseTokens.calendarYearFontSize, ": var(").concat(tokens.calendarYearFontSize, ");\n ").concat(calendarBaseTokens.calendarYearFontStyle, ": var(").concat(tokens.calendarYearFontStyle, ");\n ").concat(calendarBaseTokens.calendarYearFontLetterSpacing, ": var(").concat(tokens.calendarYearFontLetterSpacing, ");\n ").concat(calendarBaseTokens.calendarYearFontLineHeight, ": var(").concat(tokens.calendarYearFontLineHeight, ");\n ").concat(calendarBaseTokens.calendarYearFontWeight, ": var(").concat(tokens.calendarYearFontWeight, ");\n ").concat(calendarBaseTokens.calendarYearSelectedFontWeight, ": var(").concat(tokens.calendarYearSelectedFontWeight, ");\n\n ").concat(calendarBaseTokens.calendarMonthsPadding, ": var(").concat(tokens.calendarMonthsPadding, ");\n ").concat(calendarBaseTokens.calendarMonthItemBorderRadius, ": var(").concat(tokens.calendarMonthItemBorderRadius, ");\n ").concat(calendarBaseTokens.calendarMonthItemWidth, ": var(").concat(tokens.calendarMonthItemWidth, ");\n ").concat(calendarBaseTokens.calendarMonthItemHeight, ": var(").concat(tokens.calendarMonthItemHeight, ");\n ").concat(calendarBaseTokens.calendarMonthFontFamily, ": var(").concat(tokens.calendarMonthFontFamily, ");\n ").concat(calendarBaseTokens.calendarMonthFontSize, ": var(").concat(tokens.calendarMonthFontSize, ");\n ").concat(calendarBaseTokens.calendarMonthFontStyle, ": var(").concat(tokens.calendarMonthFontStyle, ");\n ").concat(calendarBaseTokens.calendarMonthFontLetterSpacing, ": var(").concat(tokens.calendarMonthFontLetterSpacing, ");\n ").concat(calendarBaseTokens.calendarMonthFontLineHeight, ": var(").concat(tokens.calendarMonthFontLineHeight, ");\n ").concat(calendarBaseTokens.calendarMonthFontWeight, ": var(").concat(tokens.calendarMonthFontWeight, ");\n ").concat(calendarBaseTokens.calendarMonthSelectedFontWeight, ": var(").concat(tokens.calendarMonthSelectedFontWeight, ");\n\n ").concat(calendarBaseTokens.calendarQuartersPadding, ": var(").concat(tokens.calendarQuartersPadding, ");\n ").concat(calendarBaseTokens.calendarQuarterItemBorderRadius, ": var(").concat(tokens.calendarQuarterItemBorderRadius, ");\n ").concat(calendarBaseTokens.calendarQuarterItemWidth, ": var(").concat(tokens.calendarQuarterItemWidth, ");\n ").concat(calendarBaseTokens.calendarQuarterItemHeight, ": var(").concat(tokens.calendarQuarterItemHeight, ");\n ").concat(calendarBaseTokens.calendarQuarterFontFamily, ": var(").concat(tokens.calendarQuarterFontFamily, ");\n ").concat(calendarBaseTokens.calendarQuarterFontSize, ": var(").concat(tokens.calendarQuarterFontSize, ");\n ").concat(calendarBaseTokens.calendarQuarterFontStyle, ": var(").concat(tokens.calendarQuarterFontStyle, ");\n ").concat(calendarBaseTokens.calendarQuarterFontLetterSpacing, ": var(").concat(tokens.calendarQuarterFontLetterSpacing, ");\n ").concat(calendarBaseTokens.calendarQuarterFontLineHeight, ": var(").concat(tokens.calendarQuarterFontLineHeight, ");\n ").concat(calendarBaseTokens.calendarQuarterFontWeight, ": var(").concat(tokens.calendarQuarterFontWeight, ");\n ").concat(calendarBaseTokens.calendarQuarterSelectedFontWeight, ": var(").concat(tokens.calendarQuarterSelectedFontWeight, ");\n \n ").concat(calendarBaseTokens.calendarDaysPadding, ": var(").concat(tokens.calendarDaysPadding, ");\n ").concat(calendarBaseTokens.calendarDayItemBorderRadius, ": var(").concat(tokens.calendarDayItemBorderRadius, ");\n ").concat(calendarBaseTokens.calendarDayItemWidth, ": var(").concat(tokens.calendarDayItemWidth, ");\n ").concat(calendarBaseTokens.calendarDayItemHeight, ": var(").concat(tokens.calendarDayItemHeight, ");\n ").concat(calendarBaseTokens.calendarDayFontFamily, ": var(").concat(tokens.calendarDayFontFamily, ");\n ").concat(calendarBaseTokens.calendarDayFontSize, ": var(").concat(tokens.calendarDayFontSize, ");\n ").concat(calendarBaseTokens.calendarDayFontStyle, ": var(").concat(tokens.calendarDayFontStyle, ");\n ").concat(calendarBaseTokens.calendarDayFontLetterSpacing, ": var(").concat(tokens.calendarDayFontLetterSpacing, ");\n ").concat(calendarBaseTokens.calendarDayFontLineHeight, ": var(").concat(tokens.calendarDayFontLineHeight, ");\n ").concat(calendarBaseTokens.calendarDayFontWeight, ": var(").concat(tokens.calendarDayFontWeight, ");\n ").concat(calendarBaseTokens.calendarDaySelectedFontWeight, ": var(").concat(tokens.calendarDaySelectedFontWeight, ");\n ").concat(calendarBaseTokens.calendarDayOfWeekColor, ": var(").concat(tokens.calendarDayOfWeekColor, ");\n \n ").concat(calendarBaseTokens.calendarHeaderWrapperPadding, ": var(").concat(tokens.calendarHeaderWrapperPadding, ");\n ").concat(calendarBaseTokens.calendarHeaderArrowGap, ": var(").concat(tokens.calendarHeaderArrowGap, ");\n ").concat(calendarBaseTokens.calendarHeaderArrowPadding, ": var(").concat(tokens.calendarHeaderArrowPadding, ");\n ").concat(calendarBaseTokens.calendarHeaderPadding, ": var(").concat(tokens.calendarHeaderPadding, ");\n ").concat(calendarBaseTokens.calendarHeaderDateGap, ": var(").concat(tokens.calendarHeaderDateGap, ");\n ").concat(calendarBaseTokens.calendarHeaderFontFamily, ": var(").concat(tokens.calendarHeaderFontFamily, ");\n ").concat(calendarBaseTokens.calendarHeaderFontSize, ": var(").concat(tokens.calendarHeaderFontSize, ");\n ").concat(calendarBaseTokens.calendarHeaderFontStyle, ": var(").concat(tokens.calendarHeaderFontStyle, ");\n ").concat(calendarBaseTokens.calendarHeaderFontLetterSpacing, ": var(").concat(tokens.calendarHeaderFontLetterSpacing, ");\n ").concat(calendarBaseTokens.calendarHeaderFontLineHeight, ": var(").concat(tokens.calendarHeaderFontLineHeight, ");\n ").concat(calendarBaseTokens.calendarHeaderFontWeight, ": var(").concat(tokens.calendarHeaderFontWeight, ");\n ").concat(calendarBaseTokens.calendarHeaderFontWeightBold, ": var(").concat(tokens.calendarHeaderFontWeightBold, ");\n ").concat(calendarBaseTokens.calendarHeaderArrowColor, ": var(").concat(tokens.calendarHeaderArrowColor, ");\n \n ").concat(calendarBaseTokens.iconButtonHeight, ": var(").concat(tokens.iconButtonHeight, ");\n ").concat(calendarBaseTokens.iconButtonWidth, ": var(").concat(tokens.iconButtonWidth, ");\n ").concat(calendarBaseTokens.iconButtonPadding, ": var(").concat(tokens.iconButtonPadding, ");\n ").concat(calendarBaseTokens.iconButtonRadius, ": var(").concat(tokens.iconButtonRadius, ");\n ").concat(calendarBaseTokens.iconButtonFocusColor, ": var(").concat(tokens.iconButtonFocusColor, ");\n");
9
9
 
10
10
  // NOTE: переопределение токенов Calendar
11
11
  export var StyledCalendar = /*#__PURE__*/styled(Calendar).withConfig({
@@ -10,13 +10,12 @@ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i
10
10
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
11
11
  import React, { createRef, forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
12
12
  import { cx, noop } from "../../../utils";
13
- import { getDateFormatDelimiter } from "../utils/dateHelper";
13
+ import { formatCalendarValue, formatInputValue, getDateFormatDelimiter, getDateFromFormat } 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";
17
17
  import { InputHidden } from "../DatePickerBase.styles";
18
18
  import { getSortedValues } from "../../Calendar/utils";
19
- import { getFormattedDates } from "../utils";
20
19
  import { base as sizeCSS } from "./variations/_size/base";
21
20
  import { base as viewCSS } from "./variations/_view/base";
22
21
  import { base as disabledCSS } from "./variations/_disabled/base";
@@ -114,13 +113,14 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
114
113
  _onBlurFirstTextfield = _ref.onBlurFirstTextfield,
115
114
  _onBlurSecondTextfield = _ref.onBlurSecondTextfield,
116
115
  rest = _objectWithoutProperties(_ref, _excluded);
117
- if (externalValue !== null && externalValue !== void 0 && externalValue.length && (defaultFirstDate || defaultSecondDate)) {
118
- console.error("Controlled DatePicker can't have `default{First|Second}Date`, use `value` instead");
119
- }
120
116
  var rangeRef = ref && 'current' in ref ? ref : /*#__PURE__*/createRef();
121
117
  var rootRef = useRef(null);
122
118
  var innerRefFirst = useRef(null);
123
119
  var innerRefSecond = useRef(null);
120
+ var _ref2 = externalValue || [],
121
+ _ref3 = _slicedToArray(_ref2, 2),
122
+ startExternalValue = _ref3[0],
123
+ endExternalValue = _ref3[1];
124
124
  var _useState = useState(rangeRef === null || rangeRef === void 0 || (_rangeRef$current = rangeRef.current) === null || _rangeRef$current === void 0 ? void 0 : _rangeRef$current.firstTextField()),
125
125
  _useState2 = _slicedToArray(_useState, 2),
126
126
  firstInputRef = _useState2[0],
@@ -133,69 +133,38 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
133
133
  _useState6 = _slicedToArray(_useState5, 2),
134
134
  isInnerOpen = _useState6[0],
135
135
  setIsInnerOpen = _useState6[1];
136
- var dateFormatDelimiter = useCallback(function () {
137
- return getDateFormatDelimiter(format);
138
- }, [format]);
139
- var _ref2 = externalValue || [],
140
- _ref3 = _slicedToArray(_ref2, 2),
141
- startExternalValue = _ref3[0],
142
- endExternalValue = _ref3[1];
143
- var startInitialValues = getFormattedDates({
144
- value: startExternalValue || defaultFirstDate,
145
- delimiter: dateFormatDelimiter(),
146
- lang: lang,
147
- format: format,
148
- includeEdgeDates: includeEdgeDates,
149
- min: min,
150
- max: max
151
- });
152
- var endInitialValues = getFormattedDates({
153
- value: endExternalValue || defaultSecondDate,
154
- delimiter: dateFormatDelimiter(),
155
- lang: lang,
156
- format: format,
157
- includeEdgeDates: includeEdgeDates,
158
- min: min,
159
- max: max
160
- });
161
- var _useState7 = useState({
162
- calendar: startInitialValues.originalDate,
163
- input: startInitialValues.formattedDate
164
- }),
136
+ var _useState7 = useState(formatCalendarValue(startExternalValue || defaultFirstDate, format, lang)),
165
137
  _useState8 = _slicedToArray(_useState7, 2),
166
- correctStartDates = _useState8[0],
167
- setCorrectStartDates = _useState8[1];
168
- var _useState9 = useState({
169
- calendar: endInitialValues.originalDate,
170
- input: endInitialValues.formattedDate
171
- }),
138
+ calendarFirstValue = _useState8[0],
139
+ setCalendarFirstValue = _useState8[1];
140
+ var _useState9 = useState(formatInputValue({
141
+ value: startExternalValue || defaultFirstDate,
142
+ format: format,
143
+ lang: lang
144
+ })),
172
145
  _useState10 = _slicedToArray(_useState9, 2),
173
- correctEndDates = _useState10[0],
174
- setCorrectEndDates = _useState10[1];
175
- var _useState11 = useState(startInitialValues.originalDate),
146
+ inputFirstValue = _useState10[0],
147
+ setInputFirstValue = _useState10[1];
148
+ var _useState11 = useState(formatCalendarValue(endExternalValue || defaultSecondDate, format, lang)),
176
149
  _useState12 = _slicedToArray(_useState11, 2),
177
- calendarFirstValue = _useState12[0],
178
- setCalendarFirstValue = _useState12[1];
179
- var _useState13 = useState(startInitialValues.formattedDate),
150
+ calendarSecondValue = _useState12[0],
151
+ setCalendarSecondValue = _useState12[1];
152
+ var _useState13 = useState(formatInputValue({
153
+ value: endExternalValue || defaultSecondDate,
154
+ format: format,
155
+ lang: lang
156
+ })),
180
157
  _useState14 = _slicedToArray(_useState13, 2),
181
- inputFirstValue = _useState14[0],
182
- setInputFirstValue = _useState14[1];
183
- var _useState15 = useState(endInitialValues.originalDate),
158
+ inputSecondValue = _useState14[0],
159
+ setInputSecondValue = _useState14[1];
160
+ var _useState15 = useState(Boolean(calendarFirstValue && calendarSecondValue)),
184
161
  _useState16 = _slicedToArray(_useState15, 2),
185
- calendarSecondValue = _useState16[0],
186
- setCalendarSecondValue = _useState16[1];
187
- var _useState17 = useState(endInitialValues.formattedDate),
162
+ fullDateEntered = _useState16[0],
163
+ setFullDateEntered = _useState16[1];
164
+ var _useState17 = useState(false),
188
165
  _useState18 = _slicedToArray(_useState17, 2),
189
- inputSecondValue = _useState18[0],
190
- setInputSecondValue = _useState18[1];
191
- var _useState19 = useState(Boolean(calendarFirstValue && calendarSecondValue)),
192
- _useState20 = _slicedToArray(_useState19, 2),
193
- fullDateEntered = _useState20[0],
194
- setFullDateEntered = _useState20[1];
195
- var _useState21 = useState(false),
196
- _useState22 = _slicedToArray(_useState21, 2),
197
- secondTextFieldClicked = _useState22[0],
198
- setSecondTextFieldClicked = _useState22[1];
166
+ secondTextFieldClicked = _useState18[0],
167
+ setSecondTextFieldClicked = _useState18[1];
199
168
  var rangeErrorClass = firstValueError || secondValueError ? classes.datePickerError : undefined;
200
169
  var rangeSuccessClass = firstValueSuccess || secondValueSuccess ? classes.datePickerSuccess : undefined;
201
170
  var setFirstInputValue = function setFirstInputValue(value) {
@@ -220,55 +189,45 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
220
189
  });
221
190
  }
222
191
  };
192
+ var dateFormatDelimiter = useCallback(function () {
193
+ return getDateFormatDelimiter(format);
194
+ }, [format]);
223
195
  var _useDatePicker = useDatePicker({
224
196
  currentValue: inputFirstValue,
197
+ setInputValue: setFirstInputValue,
198
+ setCalendarValue: setCalendarFirstValue,
199
+ dateFormatDelimiter: dateFormatDelimiter,
225
200
  format: format,
226
201
  lang: lang,
227
202
  disabled: disabled,
228
203
  readOnly: readOnly,
229
204
  maskWithFormat: maskWithFormat,
230
205
  valueError: firstValueError,
231
- valueSuccess: firstValueError,
206
+ valueSuccess: firstValueSuccess,
232
207
  name: name,
233
- type: type,
234
- min: min,
235
- max: max,
236
- includeEdgeDates: includeEdgeDates,
237
- setCorrectDates: setCorrectStartDates,
238
- setInputValue: setFirstInputValue,
239
- setCalendarValue: setCalendarFirstValue,
240
208
  onChangeValue: onChangeFirstValue,
241
- onCommitDate: onCommitFirstDate,
242
- dateFormatDelimiter: dateFormatDelimiter
209
+ onCommitDate: onCommitFirstDate
243
210
  }),
244
211
  handleChangeFirstValue = _useDatePicker.handleChangeValue,
245
- handleFirstCalendarPick = _useDatePicker.handleCalendarPick,
246
- handleSearchFirst = _useDatePicker.handleSearch,
212
+ handleCommitFirstDate = _useDatePicker.handleCommitDate,
247
213
  updateExternalFirstDate = _useDatePicker.updateExternalDate;
248
214
  var _useDatePicker2 = useDatePicker({
249
215
  currentValue: inputSecondValue,
216
+ setInputValue: setSecondInputValue,
217
+ setCalendarValue: setCalendarSecondValue,
218
+ dateFormatDelimiter: dateFormatDelimiter,
250
219
  format: format,
251
220
  lang: lang,
252
221
  disabled: disabled,
253
222
  readOnly: readOnly,
254
223
  maskWithFormat: maskWithFormat,
255
224
  valueError: secondValueError,
256
- valueSuccess: secondValueError,
257
- name: name,
258
- type: type,
259
- min: min,
260
- max: max,
261
- includeEdgeDates: includeEdgeDates,
262
- setCorrectDates: setCorrectEndDates,
263
- setInputValue: setSecondInputValue,
264
- setCalendarValue: setCalendarSecondValue,
225
+ valueSuccess: secondValueSuccess,
265
226
  onChangeValue: onChangeSecondValue,
266
- onCommitDate: onCommitSecondDate,
267
- dateFormatDelimiter: dateFormatDelimiter
227
+ onCommitDate: onCommitSecondDate
268
228
  }),
269
229
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
270
- handleSecondCalendarPick = _useDatePicker2.handleCalendarPick,
271
- handleSearchSecond = _useDatePicker2.handleSearch,
230
+ handleCommitSecondDate = _useDatePicker2.handleCommitDate,
272
231
  updateExternalSecondDate = _useDatePicker2.updateExternalDate;
273
232
  var handleToggle = function handleToggle(currentOpened, event) {
274
233
  var _firstInputRef$curren, _secondInputRef$curre;
@@ -281,7 +240,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
281
240
  var _secondInputRef$curre2;
282
241
  secondInputRef === null || secondInputRef === void 0 || (_secondInputRef$curre2 = secondInputRef.current) === null || _secondInputRef$curre2 === void 0 || _secondInputRef$curre2.focus();
283
242
  }
284
- if (calendarSecondValue && !calendarFirstValue) {
243
+ if (calendarSecondValue || !calendarFirstValue) {
285
244
  var _firstInputRef$curren2;
286
245
  firstInputRef === null || firstInputRef === void 0 || (_firstInputRef$curren2 = firstInputRef.current) === null || _firstInputRef$curren2 === void 0 || _firstInputRef$curren2.focus();
287
246
  }
@@ -307,75 +266,44 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
307
266
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
308
267
  return;
309
268
  }
310
- var _getFormattedDates = getFormattedDates({
311
- value: inputFirstValue,
312
- delimiter: dateFormatDelimiter(),
313
- lang: lang,
314
- format: format,
315
- includeEdgeDates: includeEdgeDates,
316
- min: min,
317
- max: max
318
- }),
319
- startOriginalDate = _getFormattedDates.originalDate;
320
- var _getFormattedDates2 = getFormattedDates({
321
- value: inputSecondValue,
322
- delimiter: dateFormatDelimiter(),
323
- lang: lang,
324
- format: format,
325
- includeEdgeDates: includeEdgeDates,
326
- min: min,
327
- max: max
328
- }),
329
- endOriginalDate = _getFormattedDates2.originalDate;
330
- if (!calendarFirstValue && correctStartDates.calendar) {
331
- startOriginalDate = new Date(correctStartDates.calendar);
332
- }
333
- if (!calendarSecondValue && correctEndDates.calendar) {
334
- endOriginalDate = new Date(correctEndDates.calendar);
269
+ var _getDateFromFormat = getDateFromFormat(inputFirstValue, format, lang),
270
+ firstDate = _getDateFromFormat.value,
271
+ firstIsSuccess = _getDateFromFormat.isSuccess;
272
+ var _getDateFromFormat2 = getDateFromFormat(inputSecondValue, format, lang),
273
+ secondDate = _getDateFromFormat2.value,
274
+ secondIsSuccess = _getDateFromFormat2.isSuccess;
275
+ if (!firstIsSuccess || !secondIsSuccess) {
276
+ outerHandler === null || outerHandler === void 0 || outerHandler(event);
277
+ return;
335
278
  }
336
- var _getSortedValues = getSortedValues([startOriginalDate, endOriginalDate]),
279
+ var _getSortedValues = getSortedValues([new Date(firstDate), new Date(secondDate)]),
337
280
  _getSortedValues2 = _slicedToArray(_getSortedValues, 2),
338
281
  startValue = _getSortedValues2[0],
339
282
  endValue = _getSortedValues2[1];
340
- var _getFormattedDates3 = getFormattedDates({
341
- value: startValue || null,
342
- delimiter: dateFormatDelimiter(),
343
- lang: lang,
344
- format: format,
345
- includeEdgeDates: includeEdgeDates,
346
- min: min,
347
- max: max
348
- }),
349
- startFormattedDate = _getFormattedDates3.formattedDate;
350
- var _getFormattedDates4 = getFormattedDates({
351
- value: endValue || null,
352
- delimiter: dateFormatDelimiter(),
353
- lang: lang,
354
- format: format,
355
- includeEdgeDates: includeEdgeDates,
356
- min: min,
357
- max: max
358
- }),
359
- endFormattedDate = _getFormattedDates4.formattedDate;
360
- setFirstInputValue(startFormattedDate);
361
- setSecondInputValue(endFormattedDate);
362
- setCalendarFirstValue(startOriginalDate);
363
- setCalendarSecondValue(endOriginalDate);
283
+ setFirstInputValue(formatInputValue({
284
+ value: startValue,
285
+ format: format,
286
+ lang: lang
287
+ }));
288
+ setSecondInputValue(formatInputValue({
289
+ value: endValue,
290
+ format: format,
291
+ lang: lang
292
+ }));
293
+ setCalendarFirstValue(formatCalendarValue(startValue, format, lang));
294
+ setCalendarSecondValue(formatCalendarValue(endValue, format, lang));
364
295
  outerHandler === null || outerHandler === void 0 || outerHandler(event);
365
296
  };
366
297
  var _useKeyNavigation = useKeyNavigation({
367
298
  isCalendarOpen: isInnerOpen,
368
- format: format,
369
- maskWithFormat: maskWithFormat,
370
- delimiter: dateFormatDelimiter(),
371
- closeOnEsc: closeOnEsc,
372
- onToggle: handleToggle
299
+ onToggle: handleToggle,
300
+ closeOnEsc: closeOnEsc
373
301
  }),
374
302
  onKeyDown = _useKeyNavigation.onKeyDown;
375
303
  var handleChangeStartOfRange = function handleChangeStartOfRange(chosenDate, dateInfo) {
376
304
  if (!fullDateEntered) {
377
- handleFirstCalendarPick(chosenDate, dateInfo);
378
- handleSecondCalendarPick(undefined);
305
+ handleCommitFirstDate(chosenDate, false, true, dateInfo);
306
+ handleCommitSecondDate('');
379
307
  return;
380
308
  }
381
309
  var prevValue = secondTextFieldClicked ? calendarFirstValue : calendarSecondValue;
@@ -383,8 +311,8 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
383
311
  _getSortedValues4 = _slicedToArray(_getSortedValues3, 2),
384
312
  first = _getSortedValues4[0],
385
313
  second = _getSortedValues4[1];
386
- handleFirstCalendarPick(first, dateInfo);
387
- handleSecondCalendarPick(second, dateInfo);
314
+ handleCommitFirstDate(first, false, true, dateInfo);
315
+ handleCommitSecondDate(second, false, true, dateInfo);
388
316
  if (!firstValueError && !secondValueError && closeAfterDateSelect) {
389
317
  handleToggle(false);
390
318
  }
@@ -394,10 +322,10 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
394
322
  firstDate = _ref5[0],
395
323
  secondDate = _ref5[1];
396
324
  if (firstDate) {
397
- handleFirstCalendarPick(firstDate, dateInfo);
325
+ handleCommitFirstDate(firstDate, false, true, dateInfo);
398
326
  }
399
327
  if (secondDate) {
400
- handleSecondCalendarPick(secondDate, dateInfo);
328
+ handleCommitSecondDate(secondDate, false, true, dateInfo);
401
329
  }
402
330
  if (firstDate && secondDate && !firstValueError && !secondValueError && closeAfterDateSelect) {
403
331
  handleToggle(false);
@@ -436,14 +364,14 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
436
364
  onChangeSecondValue: handleChangeSecondValue,
437
365
  name: name,
438
366
  onSearchFirstValue: function onSearchFirstValue(_, date) {
439
- handleSearchFirst(String(date));
367
+ handleCommitFirstDate(String(date), true, false);
440
368
  if (!calendarSecondValue || secondValueError) {
441
369
  var _rangeRef$current3;
442
370
  rangeRef === null || rangeRef === void 0 || (_rangeRef$current3 = rangeRef.current) === null || _rangeRef$current3 === void 0 || (_rangeRef$current3 = _rangeRef$current3.secondTextField()) === null || _rangeRef$current3 === void 0 || (_rangeRef$current3 = _rangeRef$current3.current) === null || _rangeRef$current3 === void 0 || _rangeRef$current3.focus();
443
371
  }
444
372
  },
445
373
  onSearchSecondValue: function onSearchSecondValue(_, date) {
446
- handleSearchSecond(String(date));
374
+ handleCommitSecondDate(String(date), true, false);
447
375
  if (!calendarFirstValue || firstValueError) {
448
376
  var _rangeRef$current4;
449
377
  rangeRef === null || rangeRef === void 0 || (_rangeRef$current4 = rangeRef.current) === null || _rangeRef$current4 === void 0 || (_rangeRef$current4 = _rangeRef$current4.firstTextField()) === null || _rangeRef$current4 === void 0 || (_rangeRef$current4 = _rangeRef$current4.current) === null || _rangeRef$current4 === void 0 || _rangeRef$current4.focus();
@@ -475,17 +403,13 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
475
403
  }
476
404
  }, [calendarFirstValue, calendarSecondValue]);
477
405
  useLayoutEffect(function () {
478
- updateExternalFirstDate(startExternalValue || undefined);
479
- }, [startExternalValue, format, lang]);
480
- useLayoutEffect(function () {
481
- updateExternalSecondDate(endExternalValue || undefined);
482
- }, [endExternalValue, format, lang]);
483
- useLayoutEffect(function () {
484
- !startExternalValue && updateExternalFirstDate(defaultFirstDate);
485
- }, [defaultFirstDate, format, lang]);
406
+ var externalDate = startExternalValue || defaultFirstDate;
407
+ updateExternalFirstDate(externalDate, setFirstInputValue, setCalendarFirstValue);
408
+ }, [startExternalValue, defaultFirstDate, format, lang]);
486
409
  useLayoutEffect(function () {
487
- !endExternalValue && updateExternalSecondDate(defaultSecondDate);
488
- }, [defaultSecondDate, format, lang]);
410
+ var externalDate = endExternalValue || defaultSecondDate;
411
+ updateExternalSecondDate(externalDate, setSecondInputValue, setCalendarSecondValue);
412
+ }, [endExternalValue, defaultSecondDate, format, lang]);
489
413
  var RootWrapper = useCallback(function (_ref6) {
490
414
  var children = _ref6.children;
491
415
  return /*#__PURE__*/React.createElement(Root, {
@@ -1,7 +1,7 @@
1
1
  import styled from 'styled-components';
2
2
  import { calendarDoubleConfig, calendarBaseTokens, withRange, calendarBaseConfig } from "../../../Calendar";
3
- import { component, mergeConfig } from "../../../../engines";
4
3
  import { tokens } from "../../DatePicker.tokens";
4
+ import { component, mergeConfig } from "../../../../engines";
5
5
  import { baseCalendarTokens } from "../../DatePickerBase.styles";
6
6
  var mergedCalendarDoubleConfig = /*#__PURE__*/mergeConfig(calendarDoubleConfig);
7
7
  var CalendarDouble = /*#__PURE__*/component(mergedCalendarDoubleConfig);