@salutejs/plasma-new-hope 0.322.0-canary.1939.14642328722.0 → 0.322.0-canary.1939.14664752830.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 (134) hide show
  1. package/cjs/components/Calendar/utils/calendarRangeHelper.js.map +1 -1
  2. package/cjs/components/DatePicker/RangeDate/RangeDate.js +15 -17
  3. package/cjs/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  4. package/cjs/components/DatePicker/SingleDate/SingleDate.js +5 -9
  5. package/cjs/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  6. package/cjs/components/DatePicker/hooks/useDatePicker.js +73 -46
  7. package/cjs/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  8. package/cjs/components/DatePicker/utils/getOriginalDates.js +4 -1
  9. package/cjs/components/DatePicker/utils/getOriginalDates.js.map +1 -1
  10. package/emotion/cjs/components/Accordion/Accordion.template-doc.mdx +99 -71
  11. package/emotion/cjs/components/Autocomplete/Autocomplete.template-doc.mdx +523 -454
  12. package/emotion/cjs/components/Checkbox/Checkbox.template-doc.mdx +3 -3
  13. package/emotion/cjs/components/Combobox/Combobox.template-doc.mdx +58 -27
  14. package/emotion/cjs/components/DatePicker/DatePicker.template-doc.mdx +5 -0
  15. package/emotion/cjs/components/DatePicker/RangeDate/RangeDate.js +15 -17
  16. package/emotion/cjs/components/DatePicker/SingleDate/SingleDate.js +5 -9
  17. package/emotion/cjs/components/DatePicker/hooks/useDatePicker.js +73 -46
  18. package/emotion/cjs/components/DatePicker/utils/getOriginalDates.js +9 -1
  19. package/emotion/cjs/components/Dropdown/Dropdown.template-doc.mdx +10 -10
  20. package/emotion/cjs/components/Flow/Flow.template-doc.mdx +2 -2
  21. package/emotion/cjs/components/Notification/Notification.template-doc.mdx +10 -1
  22. package/emotion/cjs/components/NumberFormat/NumberFormat.template-doc.mdx +4 -4
  23. package/emotion/cjs/components/Radiobox/Radiobox.template-doc.mdx +10 -11
  24. package/emotion/cjs/components/Range/Range.template-doc.mdx +5 -1
  25. package/emotion/cjs/components/Segment/Segment.template-doc.mdx +3 -3
  26. package/emotion/cjs/components/Select/Select.template-doc.mdx +27 -27
  27. package/emotion/cjs/components/Slider/Slider.template-doc.mdx +2 -2
  28. package/emotion/cjs/components/Switch/Switch.template-doc.mdx +3 -3
  29. package/emotion/cjs/components/Table/Table.template-doc.mdx +2 -2
  30. package/emotion/cjs/components/Tabs/Tabs.template-doc.mdx +11 -7
  31. package/emotion/cjs/components/TextArea/TextArea.template-doc.mdx +9 -2
  32. package/emotion/cjs/components/TextField/TextField.template-doc.mdx +117 -32
  33. package/emotion/cjs/components/Toast/Toast.template-doc.mdx +48 -2
  34. package/emotion/cjs/components/Tooltip/Tooltip.template-doc.mdx +19 -4
  35. package/emotion/cjs/components/Tree/Tree.template-doc.mdx +0 -1
  36. package/emotion/es/components/Accordion/Accordion.template-doc.mdx +99 -71
  37. package/emotion/es/components/Autocomplete/Autocomplete.template-doc.mdx +523 -454
  38. package/emotion/es/components/Checkbox/Checkbox.template-doc.mdx +3 -3
  39. package/emotion/es/components/Combobox/Combobox.template-doc.mdx +58 -27
  40. package/emotion/es/components/DatePicker/DatePicker.template-doc.mdx +5 -0
  41. package/emotion/es/components/DatePicker/RangeDate/RangeDate.js +15 -17
  42. package/emotion/es/components/DatePicker/SingleDate/SingleDate.js +6 -10
  43. package/emotion/es/components/DatePicker/hooks/useDatePicker.js +73 -46
  44. package/emotion/es/components/DatePicker/utils/getOriginalDates.js +9 -1
  45. package/emotion/es/components/Dropdown/Dropdown.template-doc.mdx +10 -10
  46. package/emotion/es/components/Flow/Flow.template-doc.mdx +2 -2
  47. package/emotion/es/components/Notification/Notification.template-doc.mdx +10 -1
  48. package/emotion/es/components/NumberFormat/NumberFormat.template-doc.mdx +4 -4
  49. package/emotion/es/components/Radiobox/Radiobox.template-doc.mdx +10 -11
  50. package/emotion/es/components/Range/Range.template-doc.mdx +5 -1
  51. package/emotion/es/components/Segment/Segment.template-doc.mdx +3 -3
  52. package/emotion/es/components/Select/Select.template-doc.mdx +27 -27
  53. package/emotion/es/components/Slider/Slider.template-doc.mdx +2 -2
  54. package/emotion/es/components/Switch/Switch.template-doc.mdx +3 -3
  55. package/emotion/es/components/Table/Table.template-doc.mdx +2 -2
  56. package/emotion/es/components/Tabs/Tabs.template-doc.mdx +11 -7
  57. package/emotion/es/components/TextArea/TextArea.template-doc.mdx +9 -2
  58. package/emotion/es/components/TextField/TextField.template-doc.mdx +117 -32
  59. package/emotion/es/components/Toast/Toast.template-doc.mdx +48 -2
  60. package/emotion/es/components/Tooltip/Tooltip.template-doc.mdx +19 -4
  61. package/emotion/es/components/Tree/Tree.template-doc.mdx +0 -1
  62. package/es/components/Calendar/utils/calendarRangeHelper.js.map +1 -1
  63. package/es/components/DatePicker/RangeDate/RangeDate.js +17 -19
  64. package/es/components/DatePicker/RangeDate/RangeDate.js.map +1 -1
  65. package/es/components/DatePicker/SingleDate/SingleDate.js +7 -11
  66. package/es/components/DatePicker/SingleDate/SingleDate.js.map +1 -1
  67. package/es/components/DatePicker/hooks/useDatePicker.js +73 -46
  68. package/es/components/DatePicker/hooks/useDatePicker.js.map +1 -1
  69. package/es/components/DatePicker/utils/getOriginalDates.js +4 -1
  70. package/es/components/DatePicker/utils/getOriginalDates.js.map +1 -1
  71. package/package.json +4 -4
  72. package/styled-components/cjs/components/Accordion/Accordion.template-doc.mdx +99 -71
  73. package/styled-components/cjs/components/Autocomplete/Autocomplete.template-doc.mdx +523 -454
  74. package/styled-components/cjs/components/Checkbox/Checkbox.template-doc.mdx +3 -3
  75. package/styled-components/cjs/components/Combobox/Combobox.template-doc.mdx +58 -27
  76. package/styled-components/cjs/components/DatePicker/DatePicker.template-doc.mdx +5 -0
  77. package/styled-components/cjs/components/DatePicker/RangeDate/RangeDate.js +15 -17
  78. package/styled-components/cjs/components/DatePicker/SingleDate/SingleDate.js +5 -9
  79. package/styled-components/cjs/components/DatePicker/hooks/useDatePicker.js +73 -46
  80. package/styled-components/cjs/components/DatePicker/utils/getOriginalDates.js +9 -1
  81. package/styled-components/cjs/components/Dropdown/Dropdown.template-doc.mdx +10 -10
  82. package/styled-components/cjs/components/Flow/Flow.template-doc.mdx +2 -2
  83. package/styled-components/cjs/components/Notification/Notification.template-doc.mdx +10 -1
  84. package/styled-components/cjs/components/NumberFormat/NumberFormat.template-doc.mdx +4 -4
  85. package/styled-components/cjs/components/Radiobox/Radiobox.template-doc.mdx +10 -11
  86. package/styled-components/cjs/components/Range/Range.template-doc.mdx +5 -1
  87. package/styled-components/cjs/components/Segment/Segment.template-doc.mdx +3 -3
  88. package/styled-components/cjs/components/Select/Select.template-doc.mdx +27 -27
  89. package/styled-components/cjs/components/Slider/Slider.template-doc.mdx +2 -2
  90. package/styled-components/cjs/components/Switch/Switch.template-doc.mdx +3 -3
  91. package/styled-components/cjs/components/Table/Table.template-doc.mdx +2 -2
  92. package/styled-components/cjs/components/Tabs/Tabs.template-doc.mdx +11 -7
  93. package/styled-components/cjs/components/TextArea/TextArea.template-doc.mdx +9 -2
  94. package/styled-components/cjs/components/TextField/TextField.template-doc.mdx +117 -32
  95. package/styled-components/cjs/components/Toast/Toast.template-doc.mdx +48 -2
  96. package/styled-components/cjs/components/Tooltip/Tooltip.template-doc.mdx +19 -4
  97. package/styled-components/cjs/components/Tree/Tree.template-doc.mdx +0 -1
  98. package/styled-components/es/components/Accordion/Accordion.template-doc.mdx +99 -71
  99. package/styled-components/es/components/Autocomplete/Autocomplete.template-doc.mdx +523 -454
  100. package/styled-components/es/components/Checkbox/Checkbox.template-doc.mdx +3 -3
  101. package/styled-components/es/components/Combobox/Combobox.template-doc.mdx +58 -27
  102. package/styled-components/es/components/DatePicker/DatePicker.template-doc.mdx +5 -0
  103. package/styled-components/es/components/DatePicker/RangeDate/RangeDate.js +15 -17
  104. package/styled-components/es/components/DatePicker/SingleDate/SingleDate.js +6 -10
  105. package/styled-components/es/components/DatePicker/hooks/useDatePicker.js +73 -46
  106. package/styled-components/es/components/DatePicker/utils/getOriginalDates.js +9 -1
  107. package/styled-components/es/components/Dropdown/Dropdown.template-doc.mdx +10 -10
  108. package/styled-components/es/components/Flow/Flow.template-doc.mdx +2 -2
  109. package/styled-components/es/components/Notification/Notification.template-doc.mdx +10 -1
  110. package/styled-components/es/components/NumberFormat/NumberFormat.template-doc.mdx +4 -4
  111. package/styled-components/es/components/Radiobox/Radiobox.template-doc.mdx +10 -11
  112. package/styled-components/es/components/Range/Range.template-doc.mdx +5 -1
  113. package/styled-components/es/components/Segment/Segment.template-doc.mdx +3 -3
  114. package/styled-components/es/components/Select/Select.template-doc.mdx +27 -27
  115. package/styled-components/es/components/Slider/Slider.template-doc.mdx +2 -2
  116. package/styled-components/es/components/Switch/Switch.template-doc.mdx +3 -3
  117. package/styled-components/es/components/Table/Table.template-doc.mdx +2 -2
  118. package/styled-components/es/components/Tabs/Tabs.template-doc.mdx +11 -7
  119. package/styled-components/es/components/TextArea/TextArea.template-doc.mdx +9 -2
  120. package/styled-components/es/components/TextField/TextField.template-doc.mdx +117 -32
  121. package/styled-components/es/components/Toast/Toast.template-doc.mdx +48 -2
  122. package/styled-components/es/components/Tooltip/Tooltip.template-doc.mdx +19 -4
  123. package/styled-components/es/components/Tree/Tree.template-doc.mdx +0 -1
  124. package/types/components/Calendar/utils/calendarRangeHelper.d.ts +1 -1
  125. package/types/components/Calendar/utils/calendarRangeHelper.d.ts.map +1 -1
  126. package/types/components/DatePicker/DatePickerBase.types.d.ts +1 -1
  127. package/types/components/DatePicker/DatePickerBase.types.d.ts.map +1 -1
  128. package/types/components/DatePicker/SingleDate/SingleDate.d.ts.map +1 -1
  129. package/types/components/DatePicker/hooks/useDatePicker.d.ts +1 -1
  130. package/types/components/DatePicker/hooks/useDatePicker.d.ts.map +1 -1
  131. /package/emotion/cjs/components/Combobox/ComboboxOld/{Combobox.template-doc.mdx → Combobox.doc.mdx} +0 -0
  132. /package/emotion/es/components/Combobox/ComboboxOld/{Combobox.template-doc.mdx → Combobox.doc.mdx} +0 -0
  133. /package/styled-components/cjs/components/Combobox/ComboboxOld/{Combobox.template-doc.mdx → Combobox.doc.mdx} +0 -0
  134. /package/styled-components/es/components/Combobox/ComboboxOld/{Combobox.template-doc.mdx → Combobox.doc.mdx} +0 -0
@@ -7,12 +7,12 @@ import { PropsTable, Description } from '@site/src/components';
7
7
 
8
8
  # Checkbox
9
9
  <Description name="Checkbox" />
10
- <PropsTable name="Checkbox" exclude={['css', 'focused']} />
10
+ <PropsTable name="Checkbox" exclude={['css', 'focused']} include={['defaultChecked']} />
11
11
 
12
12
  :::caution Устаревшие значения для свойства view
13
- Актуальным значением для свойства `view` - является `accent`.
13
+ Актуальным значением для свойства `view` - является `accent`.
14
14
 
15
- Все остальные значения `deprecated` и будут удалены в ближайшее время!
15
+ Все остальные значения `deprecated` и будут удалены в ближайшее время!
16
16
  :::
17
17
 
18
18
  ## Использование
@@ -26,7 +26,7 @@ type Items = Array<{
26
26
  */
27
27
  label: string;
28
28
  /**
29
- * Сторона открытия вложенного дропдауна относительно текущего элемента
29
+ * Сторона открытия вложенного dropdown относительно текущего элемента
30
30
  * @default right
31
31
  */
32
32
  placement?: Placement;
@@ -49,7 +49,7 @@ type Items = Array<{
49
49
  }>;
50
50
  ```
51
51
 
52
- Тип выбора комбобокса - одиночный или множественный зависит от типа `value` и `onChange`. В одиночном value - `string`, в множественном - `Array<string>`.\
52
+ Тип выбора Combobox - одиночный или множественный зависит от типа `value` и `onChange`. В одиночном value - `string`, в множественном - `Array<string>`.\
53
53
 
54
54
 
55
55
  ## Примеры
@@ -85,8 +85,8 @@ type Items = Array<{
85
85
  ];
86
86
 
87
87
  return (
88
- <div style={{ display: "flex", gap: "30px", height: "300px" }}>
89
- <div style={{ width: "300px" }}>
88
+ <div style=\{{ display: "flex", gap: "30px", height: "300px" }}>
89
+ <div style=\{{ width: "300px" }}>
90
90
  <Combobox
91
91
  items={items}
92
92
  value={value}
@@ -131,8 +131,8 @@ type Items = Array<{
131
131
  ];
132
132
 
133
133
  return (
134
- <div style={{ display: "flex", gap: "30px", height: "300px" }}>
135
- <div style={{ width: "300px" }}>
134
+ <div style=\{{ display: "flex", gap: "30px", height: "300px" }}>
135
+ <div style=\{{ width: "300px" }}>
136
136
  <Combobox
137
137
  multiple
138
138
  items={items}
@@ -180,8 +180,8 @@ type Items = Array<{
180
180
  ];
181
181
 
182
182
  return (
183
- <div style={{ display: "flex", gap: "30px", height: "300px" }}>
184
- <div style={{ width: "300px" }}>
183
+ <div style=\{{ display: "flex", gap: "30px", height: "300px" }}>
184
+ <div style=\{{ width: "300px" }}>
185
185
  <Combobox
186
186
  multiple
187
187
  items={items}
@@ -200,9 +200,9 @@ type Items = Array<{
200
200
  ```
201
201
  </TabItem>
202
202
  <TabItem value="portal" label="Portal">
203
- Иногда возникает необходимость вынесения выпадающего списка на уровни выше в DOM. К примеру, когда у родительского блока имеется скролл, и список будет обрезаться, чего хотелось бы избежать.\
203
+ Иногда возникает необходимость вынесения выпадающего списка на уровни выше в DOM. К примеру, когда у родительского блока имеется scroll, и список будет обрезаться, чего хотелось бы избежать.\
204
204
  Для такой реализации имеется пропс `portal`, который принимает либо `ref` либо `id` html-тега.\
205
- Также нужно прокинуть проп `listWidth`, чтобы явно задать ширину списку. Если этого не сделать, то будет взята ширина 100% от блока, на который ведет ссылка портала.
205
+ Также нужно прокинуть свойство `listWidth`, чтобы явно задать ширину списку. Если этого не сделать, то будет взята ширина 100% от блока, на который ведет ссылка портала.
206
206
 
207
207
  ```tsx live
208
208
  import React, { useRef } from 'react';
@@ -232,11 +232,11 @@ type Items = Array<{
232
232
  },
233
233
  ];
234
234
 
235
- const ref = useRef(null)
235
+ const ref = useRef(null);
236
236
 
237
237
  return (
238
- <div style={{ height: "300px" }} ref={ref}>
239
- <div style={{ width: "300px" }}>
238
+ <div style=\{{ height: "300px" }} ref={ref}>
239
+ <div style=\{{ width: "300px" }}>
240
240
  <Combobox
241
241
  items={items}
242
242
  value={value}
@@ -283,8 +283,8 @@ type Items = Array<{
283
283
  ];
284
284
 
285
285
  return (
286
- <div style={{ height: "300px" }}>
287
- <div style={{ width: "300px" }}>
286
+ <div style=\{{ height: "300px" }}>
287
+ <div style=\{{ width: "300px" }}>
288
288
  <Combobox
289
289
  items={items}
290
290
  placeholder="Placeholder"
@@ -329,9 +329,9 @@ type Items = Array<{
329
329
  ];
330
330
 
331
331
  return (
332
- <div style={{ height: "300px" }}>
333
- <div style={{width: "300px" }}>
334
- <Button text={ alwaysOpened ? 'По умолчанию' : 'Всегда открыт' } onClick={() => setAlwaysOpened(!alwaysOpened)} style={{ marginBottom: '1rem' }} />
332
+ <div style=\{{ height: "300px" }}>
333
+ <div style=\{{width: "300px" }}>
334
+ <Button text={ alwaysOpened ? 'По умолчанию' : 'Всегда открыт' } onClick={() => setAlwaysOpened(!alwaysOpened)} style=\{{ marginBottom: '1rem' }} />
335
335
  <Combobox
336
336
  items={items}
337
337
  placeholder="Placeholder"
@@ -345,6 +345,37 @@ type Items = Array<{
345
345
  }
346
346
  ```
347
347
  </TabItem>
348
+ <TabItem value="virtual" label="Virtual">
349
+ :::caution
350
+ Работает только в одно-уровневых списках.
351
+ :::
352
+
353
+ Свойство `virtual` позволяет виртуализировать выпадающий список. Для настройки высоты списка можно использовать свойство `listMaxHeight`.
354
+
355
+ ```tsx live
356
+ import React from 'react';
357
+ import { Combobox } from '@salutejs/{{ package }}';
358
+
359
+ export function App() {
360
+ const items = Array(5000).fill(1).map((_, i) => ({ value: i.toString(), label: i.toString() }));
361
+
362
+ return (
363
+ <div style=\{{ height: "300px" }}>
364
+ <div style=\{{width: "300px" }}>
365
+ <Combobox
366
+ items={items}
367
+ virtual
368
+ listMaxHeight="200px"
369
+ placeholder="Placeholder"
370
+ label="Label"
371
+ helperText="Helper text"
372
+ />
373
+ </div>
374
+ </div>
375
+ );
376
+ }
377
+ ```
378
+ </TabItem>
348
379
  <TabItem value="infinite" label="Infinite Loading">
349
380
  Пример с бесконечной загрузкой элементов в списке.
350
381
 
@@ -388,8 +419,8 @@ type Items = Array<{
388
419
  };
389
420
 
390
421
  return (
391
- <div style={{ height: "300px" }}>
392
- <div style={{ width: "300px" }}>
422
+ <div style=\{{ height: "300px" }}>
423
+ <div style=\{{ width: "300px" }}>
393
424
  <Combobox
394
425
  items={items}
395
426
  listMaxHeight="200px"
@@ -411,7 +442,7 @@ type Items = Array<{
411
442
  ## Использование с React Hook Form и нативной формой
412
443
 
413
444
  :::caution Использование атрибута `name`
414
- Используйте свойство `name` только когда это необходимо. Оно влияет на выходной тип в `onChange`.
445
+ Используйте свойство `name` только когда это необходимо. Оно влияет на выходной тип в `onChange`.
415
446
  :::
416
447
 
417
448
  <Tabs>
@@ -462,8 +493,8 @@ type Items = Array<{
462
493
  ];
463
494
 
464
495
  return (
465
- <div style={{ display: "flex", gap: "30px", height: "300px" }}>
466
- <form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '10px' }}>
496
+ <div style=\{{ display: "flex", gap: "30px", height: "300px" }}>
497
+ <form onSubmit={handleSubmit(onSubmit)} style=\{{ display: 'flex', flexDirection: 'column', gap: '10px' }}>
467
498
  <Combobox
468
499
  items={items}
469
500
  {...register('combobox')}
@@ -525,8 +556,8 @@ type Items = Array<{
525
556
  ];
526
557
 
527
558
  return (
528
- <div style={{ display: "flex", gap: "30px", height: "300px" }}>
529
- <form onSubmit={handleSubmit(onSubmit)} style={{ display: 'flex', flexDirection: 'column', gap: '10px' }}>
559
+ <div style=\{{ display: "flex", gap: "30px", height: "300px" }}>
560
+ <form onSubmit={handleSubmit(onSubmit)} style=\{{ display: 'flex', flexDirection: 'column', gap: '10px' }}>
530
561
  <Controller
531
562
  control={control}
532
563
  name="combobox"
@@ -598,8 +629,8 @@ type Items = Array<{
598
629
  ];
599
630
 
600
631
  return (
601
- <div style={{ display: "flex", gap: "30px", height: "300px" }}>
602
- <form onSubmit={onSubmit} style={{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
632
+ <div style=\{{ display: "flex", gap: "30px", height: "300px" }}>
633
+ <form onSubmit={onSubmit} style=\{{ display: 'flex', flexDirection: 'column', gap: '20px' }}>
603
634
  <Combobox label="Combobox" name="combobox" defaultValue={"brazil"} items={items} />
604
635
  <Combobox label="Combobox" name="comboboxMulti" defaultValue={["brazil"]} items={items} multiple />
605
636
  <Button type="submit">Отправить</Button>
@@ -194,6 +194,11 @@ export function App() {
194
194
  ```
195
195
 
196
196
  ### Обязательность поля
197
+
198
+ :::tip
199
+ Наличие индикатора регулируется свойством `hasRequiredIndicator`.
200
+ :::
201
+
197
202
  Обязательность поля задаётся с помощью свойства `required`.
198
203
  Если поле является обязательным, то у компонента появляется специальный индикатор.
199
204
  Изменить расположение индикатора можно с помощью свойства `requiredPlacement`, которое принимает значения `left` и `right`.
@@ -115,7 +115,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
115
115
  _onBlurSecondTextfield = _ref.onBlurSecondTextfield,
116
116
  rest = _objectWithoutProperties(_ref, _excluded);
117
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");
118
+ throw new Error("Controlled DatePicker can't have `default{First|Second}Date`, use `value` instead");
119
119
  }
120
120
  var rangeRef = ref && 'current' in ref ? ref : /*#__PURE__*/createRef();
121
121
  var rootRef = useRef(null);
@@ -133,16 +133,14 @@ 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]);
136
+ var dateFormatDelimiter = getDateFormatDelimiter(format);
139
137
  var _ref2 = externalValue || [],
140
138
  _ref3 = _slicedToArray(_ref2, 2),
141
139
  startExternalValue = _ref3[0],
142
140
  endExternalValue = _ref3[1];
143
141
  var startInitialValues = getFormattedDates({
144
142
  value: startExternalValue || defaultFirstDate,
145
- delimiter: dateFormatDelimiter(),
143
+ delimiter: dateFormatDelimiter,
146
144
  lang: lang,
147
145
  format: format,
148
146
  includeEdgeDates: includeEdgeDates,
@@ -151,7 +149,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
151
149
  });
152
150
  var endInitialValues = getFormattedDates({
153
151
  value: endExternalValue || defaultSecondDate,
154
- delimiter: dateFormatDelimiter(),
152
+ delimiter: dateFormatDelimiter,
155
153
  lang: lang,
156
154
  format: format,
157
155
  includeEdgeDates: includeEdgeDates,
@@ -234,12 +232,12 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
234
232
  min: min,
235
233
  max: max,
236
234
  includeEdgeDates: includeEdgeDates,
235
+ dateFormatDelimiter: dateFormatDelimiter,
237
236
  setCorrectDates: setCorrectStartDates,
238
237
  setInputValue: setFirstInputValue,
239
238
  setCalendarValue: setCalendarFirstValue,
240
239
  onChangeValue: onChangeFirstValue,
241
- onCommitDate: onCommitFirstDate,
242
- dateFormatDelimiter: dateFormatDelimiter
240
+ onCommitDate: onCommitFirstDate
243
241
  }),
244
242
  handleChangeFirstValue = _useDatePicker.handleChangeValue,
245
243
  handleFirstCalendarPick = _useDatePicker.handleCalendarPick,
@@ -259,12 +257,12 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
259
257
  min: min,
260
258
  max: max,
261
259
  includeEdgeDates: includeEdgeDates,
260
+ dateFormatDelimiter: dateFormatDelimiter,
262
261
  setCorrectDates: setCorrectEndDates,
263
262
  setInputValue: setSecondInputValue,
264
263
  setCalendarValue: setCalendarSecondValue,
265
264
  onChangeValue: onChangeSecondValue,
266
- onCommitDate: onCommitSecondDate,
267
- dateFormatDelimiter: dateFormatDelimiter
265
+ onCommitDate: onCommitSecondDate
268
266
  }),
269
267
  handleChangeSecondValue = _useDatePicker2.handleChangeValue,
270
268
  handleSecondCalendarPick = _useDatePicker2.handleCalendarPick,
@@ -309,7 +307,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
309
307
  }
310
308
  var _getFormattedDates = getFormattedDates({
311
309
  value: inputFirstValue,
312
- delimiter: dateFormatDelimiter(),
310
+ delimiter: dateFormatDelimiter,
313
311
  lang: lang,
314
312
  format: format,
315
313
  includeEdgeDates: includeEdgeDates,
@@ -319,7 +317,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
319
317
  startOriginalDate = _getFormattedDates.originalDate;
320
318
  var _getFormattedDates2 = getFormattedDates({
321
319
  value: inputSecondValue,
322
- delimiter: dateFormatDelimiter(),
320
+ delimiter: dateFormatDelimiter,
323
321
  lang: lang,
324
322
  format: format,
325
323
  includeEdgeDates: includeEdgeDates,
@@ -339,7 +337,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
339
337
  endValue = _getSortedValues2[1];
340
338
  var _getFormattedDates3 = getFormattedDates({
341
339
  value: startValue || null,
342
- delimiter: dateFormatDelimiter(),
340
+ delimiter: dateFormatDelimiter,
343
341
  lang: lang,
344
342
  format: format,
345
343
  includeEdgeDates: includeEdgeDates,
@@ -349,7 +347,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
349
347
  startFormattedDate = _getFormattedDates3.formattedDate;
350
348
  var _getFormattedDates4 = getFormattedDates({
351
349
  value: endValue || null,
352
- delimiter: dateFormatDelimiter(),
350
+ delimiter: dateFormatDelimiter,
353
351
  lang: lang,
354
352
  format: format,
355
353
  includeEdgeDates: includeEdgeDates,
@@ -367,7 +365,7 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
367
365
  isCalendarOpen: isInnerOpen,
368
366
  format: format,
369
367
  maskWithFormat: maskWithFormat,
370
- delimiter: dateFormatDelimiter(),
368
+ delimiter: dateFormatDelimiter,
371
369
  closeOnEsc: closeOnEsc,
372
370
  onToggle: handleToggle
373
371
  }),
@@ -481,10 +479,10 @@ export var datePickerRangeRoot = function datePickerRangeRoot(Root) {
481
479
  updateExternalSecondDate(endExternalValue || undefined);
482
480
  }, [endExternalValue, format, lang]);
483
481
  useLayoutEffect(function () {
484
- !startExternalValue && updateExternalFirstDate(defaultFirstDate);
482
+ updateExternalFirstDate(defaultFirstDate);
485
483
  }, [defaultFirstDate, format, lang]);
486
484
  useLayoutEffect(function () {
487
- !endExternalValue && updateExternalSecondDate(defaultSecondDate);
485
+ updateExternalSecondDate(defaultSecondDate);
488
486
  }, [defaultSecondDate, format, lang]);
489
487
  var RootWrapper = useCallback(function (_ref6) {
490
488
  var children = _ref6.children;
@@ -8,7 +8,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
8
8
  function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
9
9
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return 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
- import React, { forwardRef, useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
11
+ import React, { forwardRef, useEffect, useLayoutEffect, useRef, useState } from 'react';
12
12
  import { cx, getPlacements, noop } from "../../../utils";
13
13
  import { getDateFormatDelimiter } from "../utils/dateHelper";
14
14
  import { useDatePicker } from "../hooks/useDatePicker";
@@ -94,7 +94,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
94
94
  autoComplete = _ref.autoComplete,
95
95
  rest = _objectWithoutProperties(_ref, _excluded);
96
96
  if (value && defaultDate) {
97
- console.error("Controlled DatePicker can't have `defaultDate`, use `value` instead");
97
+ throw new Error("Controlled DatePicker can't have `defaultDate`, use `value` instead");
98
98
  }
99
99
  var inputRef = useRef(null);
100
100
  var innerRef = useRef(null);
@@ -102,12 +102,10 @@ export var datePickerRoot = function datePickerRoot(Root) {
102
102
  _useState2 = _slicedToArray(_useState, 2),
103
103
  isInnerOpen = _useState2[0],
104
104
  setIsInnerOpen = _useState2[1];
105
- var dateFormatDelimiter = useCallback(function () {
106
- return getDateFormatDelimiter(format);
107
- }, [format]);
105
+ var dateFormatDelimiter = getDateFormatDelimiter(format);
108
106
  var initialValues = getFormattedDates({
109
107
  value: value || defaultDate,
110
- delimiter: dateFormatDelimiter(),
108
+ delimiter: dateFormatDelimiter,
111
109
  lang: lang,
112
110
  format: format,
113
111
  includeEdgeDates: includeEdgeDates,
@@ -177,7 +175,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
177
175
  isCalendarOpen: isInnerOpen,
178
176
  format: format,
179
177
  maskWithFormat: maskWithFormat,
180
- delimiter: dateFormatDelimiter(),
178
+ delimiter: dateFormatDelimiter,
181
179
  closeOnEsc: closeOnEsc,
182
180
  onToggle: handleToggle
183
181
  }),
@@ -225,9 +223,7 @@ export var datePickerRoot = function datePickerRoot(Root) {
225
223
  updateExternalDate(value);
226
224
  }, [value, format, lang]);
227
225
  useLayoutEffect(function () {
228
- if (!value) {
229
- updateExternalDate(defaultDate);
230
- }
226
+ updateExternalDate(defaultDate);
231
227
  }, [defaultDate, format, lang]);
232
228
  return /*#__PURE__*/React.createElement(Root, _extends({
233
229
  view: view,
@@ -17,10 +17,10 @@ export var useDatePicker = function useDatePicker(_ref) {
17
17
  max = _ref.max,
18
18
  includeEdgeDates = _ref.includeEdgeDates,
19
19
  maskWithFormat = _ref.maskWithFormat,
20
+ dateFormatDelimiter = _ref.dateFormatDelimiter,
20
21
  setCorrectDates = _ref.setCorrectDates,
21
22
  setInputValue = _ref.setInputValue,
22
23
  setCalendarValue = _ref.setCalendarValue,
23
- dateFormatDelimiter = _ref.dateFormatDelimiter,
24
24
  onChangeValue = _ref.onChangeValue,
25
25
  onCommitDate = _ref.onCommitDate,
26
26
  onChange = _ref.onChange;
@@ -45,11 +45,11 @@ export var useDatePicker = function useDatePicker(_ref) {
45
45
  return;
46
46
  }
47
47
  var value = event.target.value;
48
- var newValue = maskWithFormat ? getMaskedDateOnInput(value, format, dateFormatDelimiter(), currentValue) : value;
48
+ var newValue = maskWithFormat ? getMaskedDateOnInput(value, format, dateFormatDelimiter, currentValue) : value;
49
49
  var _getFormattedDates = getFormattedDates({
50
50
  value: newValue,
51
51
  lang: lang,
52
- delimiter: dateFormatDelimiter(),
52
+ delimiter: dateFormatDelimiter,
53
53
  format: format,
54
54
  includeEdgeDates: includeEdgeDates,
55
55
  min: min,
@@ -64,18 +64,24 @@ export var useDatePicker = function useDatePicker(_ref) {
64
64
  input: formattedDate
65
65
  });
66
66
  var dateInfo = getQuarterInfo(originalDate);
67
- onCommitDate === null || onCommitDate === void 0 || onCommitDate(formattedDate, false, true, dateInfo, originalDate, isoDate);
67
+ if (onCommitDate) {
68
+ onCommitDate(formattedDate, false, true, dateInfo, originalDate, isoDate);
69
+ }
68
70
  setCalendarValue(originalDate);
69
71
  setInputValue(formattedDate);
70
- onChangeValue === null || onChangeValue === void 0 || onChangeValue(event, formattedDate, originalDate, isoDate);
71
- onChange === null || onChange === void 0 || onChange({
72
- target: {
73
- value: formattedDate,
74
- originalDate: originalDate,
75
- isoDate: isoDate,
76
- name: name
77
- }
78
- });
72
+ if (onChangeValue) {
73
+ onChangeValue(event, formattedDate, originalDate, isoDate);
74
+ }
75
+ if (onChange) {
76
+ onChange({
77
+ target: {
78
+ value: formattedDate,
79
+ originalDate: originalDate,
80
+ isoDate: isoDate,
81
+ name: name
82
+ }
83
+ });
84
+ }
79
85
  return;
80
86
  }
81
87
  if (formattedDate === '') {
@@ -86,15 +92,19 @@ export var useDatePicker = function useDatePicker(_ref) {
86
92
  }
87
93
  setCalendarValue(originalDate);
88
94
  setInputValue(formattedDate);
89
- onChangeValue === null || onChangeValue === void 0 || onChangeValue(event, formattedDate, originalDate, isoDate);
90
- onChange === null || onChange === void 0 || onChange({
91
- target: {
92
- value: formattedDate,
93
- originalDate: originalDate,
94
- isoDate: isoDate,
95
- name: name
96
- }
97
- });
95
+ if (onChangeValue) {
96
+ onChangeValue(event, formattedDate, originalDate, isoDate);
97
+ }
98
+ if (onChange) {
99
+ onChange({
100
+ target: {
101
+ value: formattedDate,
102
+ originalDate: originalDate,
103
+ isoDate: isoDate,
104
+ name: name
105
+ }
106
+ });
107
+ }
98
108
  };
99
109
  var handleSearch = function handleSearch(date) {
100
110
  if (disabled || readOnly) {
@@ -103,12 +113,15 @@ export var useDatePicker = function useDatePicker(_ref) {
103
113
  if (!date) {
104
114
  setCalendarValue(undefined);
105
115
  setInputValue('');
106
- return onCommitDate === null || onCommitDate === void 0 ? void 0 : onCommitDate('', false, true, undefined, undefined, '');
116
+ if (onCommitDate) {
117
+ onCommitDate('', false, true, undefined, undefined, '');
118
+ }
119
+ return;
107
120
  }
108
121
  var _getFormattedDates2 = getFormattedDates({
109
122
  value: date,
110
123
  lang: lang,
111
- delimiter: dateFormatDelimiter(),
124
+ delimiter: dateFormatDelimiter,
112
125
  format: format,
113
126
  includeEdgeDates: includeEdgeDates,
114
127
  min: min,
@@ -119,7 +132,9 @@ export var useDatePicker = function useDatePicker(_ref) {
119
132
  originalDate = _getFormattedDates2.originalDate;
120
133
  if (originalDate) {
121
134
  var dateInfo = getQuarterInfo(originalDate);
122
- onCommitDate === null || onCommitDate === void 0 || onCommitDate(formattedDate, false, true, dateInfo, originalDate, isoDate);
135
+ if (onCommitDate) {
136
+ onCommitDate(formattedDate, false, true, dateInfo, originalDate, isoDate);
137
+ }
123
138
  }
124
139
  };
125
140
  var handleCalendarPick = function handleCalendarPick(date, dateInfo) {
@@ -133,16 +148,22 @@ export var useDatePicker = function useDatePicker(_ref) {
133
148
  calendar: date || undefined,
134
149
  input: ''
135
150
  });
136
- onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, '', date, '');
137
- onChange === null || onChange === void 0 || onChange({
138
- target: {
139
- value: '',
140
- originalDate: date,
141
- isoDate: '',
142
- name: name
143
- }
144
- });
145
- onCommitDate === null || onCommitDate === void 0 || onCommitDate('', false, true, dateInfo, date || undefined, '');
151
+ if (onChangeValue) {
152
+ onChangeValue(null, '', date, '');
153
+ }
154
+ if (onChange) {
155
+ onChange({
156
+ target: {
157
+ value: '',
158
+ originalDate: date,
159
+ isoDate: '',
160
+ name: name
161
+ }
162
+ });
163
+ }
164
+ if (onCommitDate) {
165
+ onCommitDate('', false, true, dateInfo, date || undefined, '');
166
+ }
146
167
  return;
147
168
  }
148
169
  customDayjs.locale(lang);
@@ -154,22 +175,28 @@ export var useDatePicker = function useDatePicker(_ref) {
154
175
  calendar: date,
155
176
  input: formattedDate
156
177
  });
157
- onChangeValue === null || onChangeValue === void 0 || onChangeValue(null, formattedDate, date, isoDate);
158
- onChange === null || onChange === void 0 || onChange({
159
- target: {
160
- value: formattedDate,
161
- originalDate: date,
162
- isoDate: isoDate,
163
- name: name
164
- }
165
- });
166
- onCommitDate === null || onCommitDate === void 0 || onCommitDate(formattedDate, false, true, dateInfo, date, isoDate);
178
+ if (onChangeValue) {
179
+ onChangeValue(null, formattedDate, date, isoDate);
180
+ }
181
+ if (onChange) {
182
+ onChange({
183
+ target: {
184
+ value: formattedDate,
185
+ originalDate: date,
186
+ isoDate: isoDate,
187
+ name: name
188
+ }
189
+ });
190
+ }
191
+ if (onCommitDate) {
192
+ onCommitDate(formattedDate, false, true, dateInfo, date, isoDate);
193
+ }
167
194
  };
168
195
  var updateExternalDate = function updateExternalDate(externalDate) {
169
196
  var _getFormattedDates3 = getFormattedDates({
170
197
  value: externalDate || null,
171
198
  lang: lang,
172
- delimiter: dateFormatDelimiter(),
199
+ delimiter: dateFormatDelimiter,
173
200
  format: format,
174
201
  includeEdgeDates: includeEdgeDates,
175
202
  min: min,
@@ -1,3 +1,9 @@
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
+ 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; }
3
+ 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; }
4
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
5
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
6
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
1
7
  import { customDayjs } from "../../../utils/datejs";
2
8
  var initialValueStructure = {
3
9
  isoDate: '',
@@ -26,5 +32,7 @@ export var getOriginalDates = function getOriginalDates(value, lang, format) {
26
32
  originalDate: originalDate
27
33
  };
28
34
  }
29
- return initialValueStructure;
35
+ return _objectSpread(_objectSpread({}, initialValueStructure), {}, {
36
+ formattedDate: value
37
+ });
30
38
  };