@semcore/date-picker 16.2.4 → 17.0.0-prerelease.18

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 (107) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/DatePicker.js +116 -139
  3. package/lib/cjs/DatePicker.js.map +1 -1
  4. package/lib/cjs/DateRangeComparator.js +144 -149
  5. package/lib/cjs/DateRangeComparator.js.map +1 -1
  6. package/lib/cjs/DateRangePicker.js +86 -101
  7. package/lib/cjs/DateRangePicker.js.map +1 -1
  8. package/lib/cjs/MonthDateRangeComparator.js +173 -180
  9. package/lib/cjs/MonthDateRangeComparator.js.map +1 -1
  10. package/lib/cjs/MonthPicker.js +70 -87
  11. package/lib/cjs/MonthPicker.js.map +1 -1
  12. package/lib/cjs/MonthRangePicker.js +96 -111
  13. package/lib/cjs/MonthRangePicker.js.map +1 -1
  14. package/lib/cjs/components/ButtonTrigger.js +12 -11
  15. package/lib/cjs/components/ButtonTrigger.js.map +1 -1
  16. package/lib/cjs/components/Calendar.js +409 -466
  17. package/lib/cjs/components/Calendar.js.map +1 -1
  18. package/lib/cjs/components/DateRangeComparatorAbstract.js +574 -626
  19. package/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -1
  20. package/lib/cjs/components/InputTrigger.js +585 -677
  21. package/lib/cjs/components/InputTrigger.js.map +1 -1
  22. package/lib/cjs/components/PickerAbstract.js +254 -273
  23. package/lib/cjs/components/PickerAbstract.js.map +1 -1
  24. package/lib/cjs/components/RangePickerAbstract.js +407 -439
  25. package/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  26. package/lib/cjs/components/index.js +92 -102
  27. package/lib/cjs/components/index.js.map +1 -1
  28. package/lib/cjs/index.d.js.map +1 -1
  29. package/lib/cjs/index.js +15 -15
  30. package/lib/cjs/index.js.map +1 -1
  31. package/lib/cjs/translations/__intergalactic-dynamic-locales.js +17 -17
  32. package/lib/cjs/translations/__intergalactic-dynamic-locales.js.map +1 -1
  33. package/lib/cjs/utils/cronTabScheduler.js +13 -22
  34. package/lib/cjs/utils/cronTabScheduler.js.map +1 -1
  35. package/lib/cjs/utils/datesIntersects.js +12 -19
  36. package/lib/cjs/utils/datesIntersects.js.map +1 -1
  37. package/lib/cjs/utils/formatDate.js +11 -9
  38. package/lib/cjs/utils/formatDate.js.map +1 -1
  39. package/lib/cjs/utils/includesDate.js +11 -16
  40. package/lib/cjs/utils/includesDate.js.map +1 -1
  41. package/lib/cjs/utils/isBetweenPlugin.js +6 -6
  42. package/lib/cjs/utils/isBetweenPlugin.js.map +1 -1
  43. package/lib/cjs/utils/shortDateRangeFormat.js +29 -33
  44. package/lib/cjs/utils/shortDateRangeFormat.js.map +1 -1
  45. package/lib/es6/DatePicker.js +117 -141
  46. package/lib/es6/DatePicker.js.map +1 -1
  47. package/lib/es6/DateRangeComparator.js +130 -135
  48. package/lib/es6/DateRangeComparator.js.map +1 -1
  49. package/lib/es6/DateRangePicker.js +87 -102
  50. package/lib/es6/DateRangePicker.js.map +1 -1
  51. package/lib/es6/MonthDateRangeComparator.js +159 -166
  52. package/lib/es6/MonthDateRangeComparator.js.map +1 -1
  53. package/lib/es6/MonthPicker.js +72 -89
  54. package/lib/es6/MonthPicker.js.map +1 -1
  55. package/lib/es6/MonthRangePicker.js +97 -112
  56. package/lib/es6/MonthRangePicker.js.map +1 -1
  57. package/lib/es6/components/ButtonTrigger.js +4 -3
  58. package/lib/es6/components/ButtonTrigger.js.map +1 -1
  59. package/lib/es6/components/Calendar.js +400 -457
  60. package/lib/es6/components/Calendar.js.map +1 -1
  61. package/lib/es6/components/DateRangeComparatorAbstract.js +552 -604
  62. package/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -1
  63. package/lib/es6/components/InputTrigger.js +568 -660
  64. package/lib/es6/components/InputTrigger.js.map +1 -1
  65. package/lib/es6/components/PickerAbstract.js +246 -265
  66. package/lib/es6/components/PickerAbstract.js.map +1 -1
  67. package/lib/es6/components/RangePickerAbstract.js +397 -429
  68. package/lib/es6/components/RangePickerAbstract.js.map +1 -1
  69. package/lib/es6/components/index.js +74 -85
  70. package/lib/es6/components/index.js.map +1 -1
  71. package/lib/es6/index.d.js.map +1 -1
  72. package/lib/es6/translations/__intergalactic-dynamic-locales.js +16 -16
  73. package/lib/es6/translations/__intergalactic-dynamic-locales.js.map +1 -1
  74. package/lib/es6/utils/cronTabScheduler.js +13 -21
  75. package/lib/es6/utils/cronTabScheduler.js.map +1 -1
  76. package/lib/es6/utils/datesIntersects.js +10 -18
  77. package/lib/es6/utils/datesIntersects.js.map +1 -1
  78. package/lib/es6/utils/formatDate.js +6 -6
  79. package/lib/es6/utils/formatDate.js.map +1 -1
  80. package/lib/es6/utils/includesDate.js +10 -15
  81. package/lib/es6/utils/includesDate.js.map +1 -1
  82. package/lib/es6/utils/isBetweenPlugin.js +4 -4
  83. package/lib/es6/utils/isBetweenPlugin.js.map +1 -1
  84. package/lib/es6/utils/shortDateRangeFormat.js +27 -31
  85. package/lib/es6/utils/shortDateRangeFormat.js.map +1 -1
  86. package/lib/esm/DatePicker.mjs +109 -114
  87. package/lib/esm/DateRangeComparator.mjs +112 -105
  88. package/lib/esm/DateRangePicker.mjs +76 -80
  89. package/lib/esm/MonthDateRangeComparator.mjs +141 -134
  90. package/lib/esm/MonthPicker.mjs +65 -70
  91. package/lib/esm/MonthRangePicker.mjs +86 -88
  92. package/lib/esm/components/ButtonTrigger.mjs +4 -3
  93. package/lib/esm/components/Calendar.mjs +397 -423
  94. package/lib/esm/components/DateRangeComparatorAbstract.mjs +559 -516
  95. package/lib/esm/components/InputTrigger.mjs +550 -557
  96. package/lib/esm/components/PickerAbstract.mjs +249 -244
  97. package/lib/esm/components/RangePickerAbstract.mjs +400 -384
  98. package/lib/esm/components/index.mjs +73 -69
  99. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +1 -1
  100. package/lib/esm/utils/cronTabScheduler.mjs +13 -18
  101. package/lib/esm/utils/datesIntersects.mjs +10 -14
  102. package/lib/esm/utils/formatDate.mjs +6 -6
  103. package/lib/esm/utils/includesDate.mjs +10 -13
  104. package/lib/esm/utils/isBetweenPlugin.mjs +4 -4
  105. package/lib/esm/utils/shortDateRangeFormat.mjs +27 -27
  106. package/lib/types/index.d.ts +2 -44
  107. package/package.json +16 -17
@@ -1,201 +1,181 @@
1
- import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/createClass";
3
- import _callSuper from "@babel/runtime/helpers/callSuper";
4
- import _inherits from "@babel/runtime/helpers/inherits";
5
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
7
2
  import { sstyled as _sstyled } from "@semcore/core";
8
3
  import { assignProps as _assignProps3 } from "@semcore/core";
9
4
  import { assignProps as _assignProps2 } from "@semcore/core";
10
5
  import { assignProps as _assignProps } from "@semcore/core";
6
+ import { Box, Flex } from '@semcore/base-components';
11
7
  import Button from '@semcore/button';
12
8
  import { Component, Root, CORE_INSTANCE, sstyled } from '@semcore/core';
13
9
  import i18nEnhance from '@semcore/core/lib/utils/enhances/i18nEnhance';
14
10
  import Divider from '@semcore/divider';
15
11
  import Dropdown from '@semcore/dropdown';
16
- import { Box, Flex } from '@semcore/flex-box';
17
12
  import dayjs from 'dayjs';
18
13
  import React from 'react';
19
14
  /*!__reshadow-styles__:"../style/date-picker.shadow.css"*/
20
- var style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPopper_gjj0p_gg_{padding:var(--intergalactic-spacing-4x, 16px);outline:0}.___SPopper_gjj0p_gg_::-moz-focus-inner{border:0;padding:0}.___SPopper_gjj0p_gg_:active,.___SPopper_gjj0p_gg_:focus{-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPopper_gjj0p_gg_:hover{-webkit-text-decoration:none;text-decoration:none}}.___SHeader_gjj0p_gg_,.___STitle_gjj0p_gg_{display:flex;align-items:center}.___STitle_gjj0p_gg_{font-size:var(--intergalactic-fs-200, 14px);color:var(--intergalactic-text-primary, #191b23);height:32px;width:100%;justify-content:center}.___SToday_gjj0p_gg_{display:flex;margin-top:var(--intergalactic-spacing-3x, 12px);justify-content:center}.___SPeriod_gjj0p_gg_{display:flex;flex-direction:column;margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SButton_gjj0p_gg_ .___SInner_gjj0p_gg_{justify-content:flex-start}.___SInputMask_gjj0p_gg_{color:var(--intergalactic-text-primary, #191b23);line-height:normal;padding-right:var(--intergalactic-spacing-2x, 8px);transition:width calc(var(--intergalactic-duration-medium, 300)*1ms) ease,min-width calc(var(--intergalactic-duration-medium, 300)*1ms) ease}.___SInputMask_gjj0p_gg_.__animationsDisabled_gjj0p_gg_{transition:none}.___SInputMask_gjj0p_gg_ .___SValue_gjj0p_gg_{letter-spacing:0}.___SInputMask_gjj0p_gg_ .___SValue_gjj0p_gg_:focus{outline:0}.___SIndicator_gjj0p_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}.___SRangeIndicator_gjj0p_gg_{border-radius:50%;flex-shrink:0}.___SRangeIndicator_gjj0p_gg_._range_value_gjj0p_gg_{background-color:var(--intergalactic-date-picker-cell-active, #2bb3ff)}.___SRangeIndicator_gjj0p_gg_._range_compare_gjj0p_gg_{background-color:var(--intergalactic-date-picker-cell-comparison-active, #8649e1)}.___SRangeIndicator_gjj0p_gg_.__disabled_gjj0p_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SHumanizedDate_gjj0p_gg_{position:absolute;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.___SMask_gjj0p_gg_{letter-spacing:0;white-space:nowrap;overflow:hidden}.___SDateRange_gjj0p_gg_ .___SMask_gjj0p_gg_,.___SDateRange_gjj0p_gg_ .___SValue_gjj0p_gg_,.___SSingleDateInput_gjj0p_gg_ .___SMask_gjj0p_gg_,.___SSingleDateInput_gjj0p_gg_ .___SValue_gjj0p_gg_{opacity:0}.___SSingleDateInput_gjj0p_gg_:focus-within .___SHumanizedDate_gjj0p_gg_{opacity:0;z-index:var(--intergalactic-z-index-deep, -999)}.___SSingleDateInput_gjj0p_gg_:focus-within .___SMask_gjj0p_gg_,.___SSingleDateInput_gjj0p_gg_:focus-within .___SValue_gjj0p_gg_{opacity:1}.___SDateRange_gjj0p_gg_:focus-within .___SHumanizedDate_gjj0p_gg_{opacity:0;z-index:var(--intergalactic-z-index-deep, -999)}.___SDateRange_gjj0p_gg_:focus-within .___SMask_gjj0p_gg_,.___SDateRange_gjj0p_gg_:focus-within .___SValue_gjj0p_gg_{opacity:1}.___SInputMask_gjj0p_gg_.__noHumanizedDate_gjj0p_gg_ .___SMask_gjj0p_gg_,.___SInputMask_gjj0p_gg_.__noHumanizedDate_gjj0p_gg_ .___SValue_gjj0p_gg_{opacity:1}.___SDateRange_gjj0p_gg_ .___SInputMask_gjj0p_gg_:focus-within .___SMask_gjj0p_gg_{background-color:var(--intergalactic-bg-highlight-focus, rgba(0, 143, 248, 0.2))}.___SDateRange_gjj0p_gg_:focus-within .___SRangeSep_gjj0p_gg_,.___SRangeSep_gjj0p_gg_.__fulfilled_gjj0p_gg_{color:var(--intergalactic-text-primary, #191b23)}.___SRangeComparatorHeader_gjj0p_gg_{border-bottom:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SRangeCalendar_gjj0p_gg_,.___SRangeComparatorHeader_gjj0p_gg_{padding:var(--intergalactic-spacing-4x, 16px)}.___SFooter_gjj0p_gg_{border-top:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SFooter_gjj0p_gg_,.___SPeriodsList_gjj0p_gg_{padding:var(--intergalactic-spacing-4x, 16px)}.___STooltip_gjj0p_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SCompareToggle_gjj0p_gg_{white-space:nowrap}@media (prefers-reduced-motion){.___SInputMask_gjj0p_gg_{transition:none}}", /*__inner_css_end__*/"gjj0p_gg_"),
15
+ const style = (/*__reshadow_css_start__*/_sstyled.insert(/*__inner_css_start__*/".___SPopper_9ubmf_gg_{padding:var(--intergalactic-spacing-4x, 16px);outline:0}.___SPopper_9ubmf_gg_::-moz-focus-inner{border:0;padding:0}.___SPopper_9ubmf_gg_:active,.___SPopper_9ubmf_gg_:focus{-webkit-text-decoration:none;text-decoration:none}@media (hover:hover){.___SPopper_9ubmf_gg_:hover{-webkit-text-decoration:none;text-decoration:none}}.___SHeader_9ubmf_gg_,.___STitle_9ubmf_gg_{display:flex;align-items:center}.___STitle_9ubmf_gg_{font-size:var(--intergalactic-fs-200, 14px);color:var(--intergalactic-text-primary, #191b23);height:32px;width:100%;justify-content:center}.___SToday_9ubmf_gg_{display:flex;margin-top:var(--intergalactic-spacing-3x, 12px);justify-content:center}.___SPeriod_9ubmf_gg_{display:flex;flex-direction:column;margin-bottom:var(--intergalactic-spacing-2x, 8px)}.___SButton_9ubmf_gg_ .___SInner_9ubmf_gg_{justify-content:flex-start}.___SInputMask_9ubmf_gg_{color:var(--intergalactic-text-primary, #191b23);line-height:normal;padding-right:var(--intergalactic-spacing-2x, 8px);transition:width calc(var(--intergalactic-duration-medium, 300)*1ms) ease,min-width calc(var(--intergalactic-duration-medium, 300)*1ms) ease}.___SInputMask_9ubmf_gg_.__animationsDisabled_9ubmf_gg_{transition:none}.___SInputMask_9ubmf_gg_ .___SValue_9ubmf_gg_{letter-spacing:0}.___SInputMask_9ubmf_gg_ .___SValue_9ubmf_gg_:focus{outline:0}.___SIndicator_9ubmf_gg_{color:var(--intergalactic-text-secondary, #6c6e79)}.___SRangeIndicator_9ubmf_gg_{border-radius:50%;flex-shrink:0}.___SRangeIndicator_9ubmf_gg_._range_value_9ubmf_gg_{background-color:var(--intergalactic-date-picker-cell-active, #2bb3ff)}.___SRangeIndicator_9ubmf_gg_._range_compare_9ubmf_gg_{background-color:var(--intergalactic-date-picker-cell-comparison-active, #8649e1)}.___SRangeIndicator_9ubmf_gg_.__disabled_9ubmf_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3)}.___SHumanizedDate_9ubmf_gg_{position:absolute;pointer-events:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}.___SMask_9ubmf_gg_{letter-spacing:0;white-space:nowrap;overflow:hidden}.___SDateRange_9ubmf_gg_ .___SMask_9ubmf_gg_,.___SDateRange_9ubmf_gg_ .___SValue_9ubmf_gg_,.___SSingleDateInput_9ubmf_gg_ .___SMask_9ubmf_gg_,.___SSingleDateInput_9ubmf_gg_ .___SValue_9ubmf_gg_{opacity:0}.___SSingleDateInput_9ubmf_gg_:focus-within .___SHumanizedDate_9ubmf_gg_{opacity:0;z-index:var(--intergalactic-z-index-deep, -999)}.___SSingleDateInput_9ubmf_gg_:focus-within .___SMask_9ubmf_gg_,.___SSingleDateInput_9ubmf_gg_:focus-within .___SValue_9ubmf_gg_{opacity:1}.___SDateRange_9ubmf_gg_:focus-within .___SHumanizedDate_9ubmf_gg_{opacity:0;z-index:var(--intergalactic-z-index-deep, -999)}.___SDateRange_9ubmf_gg_:focus-within .___SMask_9ubmf_gg_,.___SDateRange_9ubmf_gg_:focus-within .___SValue_9ubmf_gg_{opacity:1}.___SInputMask_9ubmf_gg_.__noHumanizedDate_9ubmf_gg_ .___SMask_9ubmf_gg_,.___SInputMask_9ubmf_gg_.__noHumanizedDate_9ubmf_gg_ .___SValue_9ubmf_gg_{opacity:1}.___SDateRange_9ubmf_gg_ .___SInputMask_9ubmf_gg_:focus-within .___SMask_9ubmf_gg_{background-color:var(--intergalactic-bg-highlight-focus, rgba(0, 143, 248, 0.2))}.___SDateRange_9ubmf_gg_:focus-within .___SRangeSep_9ubmf_gg_,.___SRangeSep_9ubmf_gg_.__fulfilled_9ubmf_gg_{color:var(--intergalactic-text-primary, #191b23)}.___SRangeComparatorHeader_9ubmf_gg_{border-bottom:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SRangeCalendar_9ubmf_gg_,.___SRangeComparatorHeader_9ubmf_gg_{padding:var(--intergalactic-spacing-4x, 16px)}.___SFooter_9ubmf_gg_{border-top:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SFooter_9ubmf_gg_,.___SPeriodsList_9ubmf_gg_{padding:var(--intergalactic-spacing-4x, 16px)}.___STooltip_9ubmf_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SCompareToggle_9ubmf_gg_{white-space:nowrap}@media (prefers-reduced-motion){.___SInputMask_9ubmf_gg_{transition:none}}", /*__inner_css_end__*/"9ubmf_gg_"),
21
16
  /*__reshadow_css_end__*/
22
17
  {
23
- "__SHeader": "___SHeader_gjj0p_gg_",
24
- "__STitle": "___STitle_gjj0p_gg_",
25
- "__SToday": "___SToday_gjj0p_gg_",
26
- "__SPeriod": "___SPeriod_gjj0p_gg_",
27
- "__SButton": "___SButton_gjj0p_gg_",
28
- "__SInner": "___SInner_gjj0p_gg_",
29
- "__SInputMask": "___SInputMask_gjj0p_gg_",
30
- "_animationsDisabled": "__animationsDisabled_gjj0p_gg_",
31
- "__SIndicator": "___SIndicator_gjj0p_gg_",
32
- "__SRangeIndicator": "___SRangeIndicator_gjj0p_gg_",
33
- "_range_value": "_range_value_gjj0p_gg_",
34
- "_range_compare": "_range_compare_gjj0p_gg_",
35
- "_disabled": "__disabled_gjj0p_gg_",
36
- "__SHumanizedDate": "___SHumanizedDate_gjj0p_gg_",
37
- "__SMask": "___SMask_gjj0p_gg_",
38
- "__SSingleDateInput": "___SSingleDateInput_gjj0p_gg_",
39
- "__SValue": "___SValue_gjj0p_gg_",
40
- "__SDateRange": "___SDateRange_gjj0p_gg_",
41
- "_noHumanizedDate": "__noHumanizedDate_gjj0p_gg_",
42
- "__SRangeSep": "___SRangeSep_gjj0p_gg_",
43
- "_fulfilled": "__fulfilled_gjj0p_gg_",
44
- "__SRangeComparatorHeader": "___SRangeComparatorHeader_gjj0p_gg_",
45
- "__SRangeCalendar": "___SRangeCalendar_gjj0p_gg_",
46
- "__SFooter": "___SFooter_gjj0p_gg_",
47
- "__SPeriodsList": "___SPeriodsList_gjj0p_gg_",
48
- "__STooltip": "___STooltip_gjj0p_gg_",
49
- "__SCompareToggle": "___SCompareToggle_gjj0p_gg_",
50
- "__SPopper": "___SPopper_gjj0p_gg_"
18
+ "__SHeader": "___SHeader_9ubmf_gg_",
19
+ "__STitle": "___STitle_9ubmf_gg_",
20
+ "__SToday": "___SToday_9ubmf_gg_",
21
+ "__SPeriod": "___SPeriod_9ubmf_gg_",
22
+ "__SButton": "___SButton_9ubmf_gg_",
23
+ "__SInner": "___SInner_9ubmf_gg_",
24
+ "__SInputMask": "___SInputMask_9ubmf_gg_",
25
+ "_animationsDisabled": "__animationsDisabled_9ubmf_gg_",
26
+ "__SIndicator": "___SIndicator_9ubmf_gg_",
27
+ "__SRangeIndicator": "___SRangeIndicator_9ubmf_gg_",
28
+ "_range_value": "_range_value_9ubmf_gg_",
29
+ "_range_compare": "_range_compare_9ubmf_gg_",
30
+ "_disabled": "__disabled_9ubmf_gg_",
31
+ "__SHumanizedDate": "___SHumanizedDate_9ubmf_gg_",
32
+ "__SMask": "___SMask_9ubmf_gg_",
33
+ "__SSingleDateInput": "___SSingleDateInput_9ubmf_gg_",
34
+ "__SValue": "___SValue_9ubmf_gg_",
35
+ "__SDateRange": "___SDateRange_9ubmf_gg_",
36
+ "_noHumanizedDate": "__noHumanizedDate_9ubmf_gg_",
37
+ "__SRangeSep": "___SRangeSep_9ubmf_gg_",
38
+ "_fulfilled": "__fulfilled_9ubmf_gg_",
39
+ "__SRangeComparatorHeader": "___SRangeComparatorHeader_9ubmf_gg_",
40
+ "__SRangeCalendar": "___SRangeCalendar_9ubmf_gg_",
41
+ "__SFooter": "___SFooter_9ubmf_gg_",
42
+ "__SPeriodsList": "___SPeriodsList_9ubmf_gg_",
43
+ "__STooltip": "___STooltip_9ubmf_gg_",
44
+ "__SCompareToggle": "___SCompareToggle_9ubmf_gg_",
45
+ "__SPopper": "___SPopper_9ubmf_gg_"
51
46
  });
52
47
  import { localizedMessages } from '../translations/__intergalactic-dynamic-locales';
53
48
  import { formatDDMMYY, formatMMYY } from '../utils/formatDate';
54
49
  import { includesDate } from '../utils/includesDate';
55
- var INTERACTION_TAGS = ['INPUT'];
56
- var INTERACTION_KEYS = ['ArrowDown', 'Enter', ' '];
57
- var defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));
50
+ const INTERACTION_TAGS = ['INPUT'];
51
+ const INTERACTION_KEYS = ['ArrowDown', 'Enter', ' '];
52
+ const defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));
58
53
  function getEndDate(value) {
59
54
  if (!Array.isArray(value)) return null;
60
- var _value = _slicedToArray(value, 2),
61
- startDate = _value[0],
62
- _value$ = _value[1],
63
- endDate = _value$ === void 0 ? startDate : _value$;
55
+ const [startDate, endDate = startDate] = value;
64
56
  return endDate;
65
57
  }
66
- var RangePickerAbstract = /*#__PURE__*/function (_Component) {
67
- function RangePickerAbstract() {
68
- var _this;
69
- _classCallCheck(this, RangePickerAbstract);
70
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
71
- args[_key] = arguments[_key];
72
- }
73
- _this = _callSuper(this, RangePickerAbstract, [].concat(args));
74
- _defineProperty(_this, "applyButtonRef", /*#__PURE__*/React.createRef());
75
- _defineProperty(_this, "resetButtonRef", /*#__PURE__*/React.createRef());
76
- _defineProperty(_this, "prevButtonRef", /*#__PURE__*/React.createRef());
77
- _defineProperty(_this, "nextButtonRef", /*#__PURE__*/React.createRef());
78
- _defineProperty(_this, "popperRef", /*#__PURE__*/React.createRef());
79
- _defineProperty(_this, "periodRefs", []);
80
- _defineProperty(_this, "unitRefs", {});
81
- _defineProperty(_this, "navigateStep", void 0);
82
- _defineProperty(_this, "keyDiff", void 0);
83
- _defineProperty(_this, "keyStep", void 0);
84
- _defineProperty(_this, "navigateView", function (direction) {
85
- var displayedPeriod = _this.asProps.displayedPeriod;
86
- var action = direction >= 1 ? 'add' : 'subtract';
87
- var date = dayjs(displayedPeriod)[action](1, _this.navigateStep).toDate();
88
- _this.handlers.displayedPeriod(date);
58
+ class RangePickerAbstract extends Component {
59
+ constructor(...args) {
60
+ super(...args);
61
+ _defineProperty(this, "applyButtonRef", /*#__PURE__*/React.createRef());
62
+ _defineProperty(this, "resetButtonRef", /*#__PURE__*/React.createRef());
63
+ _defineProperty(this, "prevButtonRef", /*#__PURE__*/React.createRef());
64
+ _defineProperty(this, "nextButtonRef", /*#__PURE__*/React.createRef());
65
+ _defineProperty(this, "popperRef", /*#__PURE__*/React.createRef());
66
+ _defineProperty(this, "periodRefs", []);
67
+ _defineProperty(this, "unitRefs", {});
68
+ _defineProperty(this, "navigateStep", void 0);
69
+ _defineProperty(this, "keyDiff", void 0);
70
+ _defineProperty(this, "keyStep", void 0);
71
+ _defineProperty(this, "navigateView", direction => {
72
+ const {
73
+ displayedPeriod
74
+ } = this.asProps;
75
+ const action = direction >= 1 ? 'add' : 'subtract';
76
+ const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();
77
+ this.handlers.displayedPeriod(date);
89
78
  });
90
- _defineProperty(_this, "bindHandlerNavigateClick", function (direction) {
91
- return function () {
92
- return _this.navigateView(direction);
93
- };
94
- });
95
- _defineProperty(_this, "handlerKeyDown", function (place) {
96
- return function (e) {
97
- var _this$asProps = _this.asProps,
98
- displayedPeriod = _this$asProps.displayedPeriod,
99
- highlighted = _this$asProps.highlighted,
100
- preselectedValue = _this$asProps.preselectedValue,
101
- visible = _this$asProps.visible;
102
- var key = e.key,
103
- target = e.target;
104
- if ([' ', 'Enter'].includes(key) && [_this.prevButtonRef.current, _this.nextButtonRef.current].includes(target)) return;
105
- if (place === 'trigger' && INTERACTION_KEYS.includes(key)) {
106
- e.stopPropagation();
107
- _this.handlers.visible(!visible);
108
- setTimeout(function () {
109
- var popper = _this.popperRef.current;
110
- if (popper) {
111
- popper.focus();
112
- }
113
- }, 0);
114
- }
115
- var day = _this.keyDiff[key];
116
- var setNextDisplayedPeriod = function setNextDisplayedPeriod(next_highlighted) {
117
- var _next_highlighted = _slicedToArray(next_highlighted, 2),
118
- startPeriod = _next_highlighted[0],
119
- endPeriod = _next_highlighted[1];
120
- var highlightedPeriod = endPeriod || startPeriod;
121
- var displayedPeriodNormalized = displayedPeriod === null || displayedPeriod === void 0 ? void 0 : displayedPeriod.getDate();
122
- var highlightedPeriodNormalized = highlightedPeriod === null || highlightedPeriod === void 0 ? void 0 : highlightedPeriod.getDate();
123
- if (_this.navigateStep === 'month') {
124
- displayedPeriodNormalized = displayedPeriod === null || displayedPeriod === void 0 ? void 0 : displayedPeriod.getMonth();
125
- highlightedPeriodNormalized = highlightedPeriod === null || highlightedPeriod === void 0 ? void 0 : highlightedPeriod.getMonth();
126
- }
127
- if (_this.navigateStep === 'year') {
128
- displayedPeriodNormalized = displayedPeriod === null || displayedPeriod === void 0 ? void 0 : displayedPeriod.getYear();
129
- highlightedPeriodNormalized = highlightedPeriod === null || highlightedPeriod === void 0 ? void 0 : highlightedPeriod.getYear();
79
+ _defineProperty(this, "bindHandlerNavigateClick", direction => () => this.navigateView(direction));
80
+ _defineProperty(this, "handlerKeyDown", place => e => {
81
+ const {
82
+ displayedPeriod,
83
+ highlighted,
84
+ preselectedValue,
85
+ visible
86
+ } = this.asProps;
87
+ const {
88
+ key,
89
+ target
90
+ } = e;
91
+ if ([' ', 'Enter'].includes(key) && [this.prevButtonRef.current, this.nextButtonRef.current].includes(target)) return;
92
+ if (place === 'trigger' && INTERACTION_KEYS.includes(key)) {
93
+ e.stopPropagation();
94
+ this.handlers.visible(!visible);
95
+ setTimeout(() => {
96
+ const popper = this.popperRef.current;
97
+ if (popper) {
98
+ popper.focus();
130
99
  }
131
- var offset = highlightedPeriodNormalized - displayedPeriodNormalized;
132
- if (offset < 0 || offset > 1) {
133
- return highlightedPeriod;
134
- }
135
- return displayedPeriod;
136
- };
137
- if (place === 'popper' && e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {
138
- return _this.handleApplyClick();
100
+ }, 0);
101
+ }
102
+ const day = this.keyDiff[key];
103
+ const setNextDisplayedPeriod = next_highlighted => {
104
+ const [startPeriod, endPeriod] = next_highlighted;
105
+ const highlightedPeriod = endPeriod || startPeriod;
106
+ let displayedPeriodNormalized = displayedPeriod?.getDate();
107
+ let highlightedPeriodNormalized = highlightedPeriod?.getDate();
108
+ if (this.navigateStep === 'month') {
109
+ displayedPeriodNormalized = displayedPeriod?.getMonth();
110
+ highlightedPeriodNormalized = highlightedPeriod?.getMonth();
139
111
  }
140
- var isPeriodTarget = _this.periodRefs.find(function (el) {
141
- return el === target;
142
- });
143
- var isResetButtonTarget = target === _this.resetButtonRef.current;
144
- var isApplyButtonTarget = target === _this.applyButtonRef.current;
145
- var areTargetedControls = isPeriodTarget || isResetButtonTarget || isApplyButtonTarget;
146
- if (place === 'popper' && e.key === ' ' && highlighted.length && !areTargetedControls) {
147
- var highlightedDate = highlighted[1] || highlighted[0];
148
- if (!_this.isDisabled(highlightedDate)) {
149
- _this.handleChange(highlightedDate);
150
- }
151
- e.preventDefault();
112
+ if (this.navigateStep === 'year') {
113
+ displayedPeriodNormalized = displayedPeriod?.getYear();
114
+ highlightedPeriodNormalized = highlightedPeriod?.getYear();
152
115
  }
153
- var changedDate = undefined;
154
- if (day) {
155
- if (INTERACTION_TAGS.includes(e.target.tagName)) return;
156
- if (highlighted.length) {
157
- var next_highlighted;
158
- if (preselectedValue.length === 1) {
159
- next_highlighted = [preselectedValue[0], dayjs(highlighted[1] || highlighted[0]).add(day, _this.keyStep).toDate()];
160
- changedDate = next_highlighted[1];
161
- } else {
162
- next_highlighted = [dayjs(highlighted[0]).add(day, _this.keyStep).toDate()];
163
- changedDate = next_highlighted[0];
164
- }
165
- _this.handlers.highlighted(next_highlighted);
166
- _this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));
116
+ const offset = highlightedPeriodNormalized - displayedPeriodNormalized;
117
+ if (offset < 0 || offset > 1) {
118
+ return highlightedPeriod;
119
+ }
120
+ return displayedPeriod;
121
+ };
122
+ if (place === 'popper' && e.key === 'Enter' && (e.metaKey || e.ctrlKey)) {
123
+ return this.handleApplyClick();
124
+ }
125
+ const isPeriodTarget = this.periodRefs.find(el => el === target);
126
+ const isResetButtonTarget = target === this.resetButtonRef.current;
127
+ const isApplyButtonTarget = target === this.applyButtonRef.current;
128
+ const areTargetedControls = isPeriodTarget || isResetButtonTarget || isApplyButtonTarget;
129
+ if (place === 'popper' && e.key === ' ' && highlighted.length && !areTargetedControls) {
130
+ const highlightedDate = highlighted[1] || highlighted[0];
131
+ if (!this.isDisabled(highlightedDate)) {
132
+ this.handleChange(highlightedDate);
133
+ }
134
+ e.preventDefault();
135
+ }
136
+ let changedDate = undefined;
137
+ if (day) {
138
+ if (INTERACTION_TAGS.includes(e.target.tagName)) return;
139
+ if (highlighted.length) {
140
+ let next_highlighted;
141
+ if (preselectedValue.length === 1) {
142
+ next_highlighted = [preselectedValue[0], dayjs(highlighted[1] || highlighted[0]).add(day, this.keyStep).toDate()];
143
+ changedDate = next_highlighted[1];
167
144
  } else {
168
- var _highlighted = [displayedPeriod ? displayedPeriod : dayjs().toDate()];
169
- _this.handlers.highlighted(_highlighted);
170
- changedDate = _highlighted[0];
171
- }
172
- e.preventDefault();
173
- if (changedDate) {
174
- var _this$unitRefs$format;
175
- var formatter = _this.keyStep === 'month' ? formatMMYY : formatDDMMYY;
176
- var formattedDate = formatter(changedDate, _this.asProps.locale);
177
- (_this$unitRefs$format = _this.unitRefs[formattedDate]) === null || _this$unitRefs$format === void 0 || _this$unitRefs$format.focus();
145
+ next_highlighted = [dayjs(highlighted[0]).add(day, this.keyStep).toDate()];
146
+ changedDate = next_highlighted[0];
178
147
  }
148
+ this.handlers.highlighted(next_highlighted);
149
+ this.handlers.displayedPeriod(setNextDisplayedPeriod(next_highlighted));
150
+ } else {
151
+ const highlighted = [displayedPeriod ? displayedPeriod : dayjs().toDate()];
152
+ this.handlers.highlighted(highlighted);
153
+ changedDate = highlighted[0];
179
154
  }
180
- };
155
+ e.preventDefault();
156
+ if (changedDate) {
157
+ const formatter = this.keyStep === 'month' ? formatMMYY : formatDDMMYY;
158
+ const formattedDate = formatter(changedDate, this.asProps.locale);
159
+ this.unitRefs[formattedDate]?.focus();
160
+ }
161
+ }
181
162
  });
182
- _defineProperty(_this, "handleReset", function () {
183
- _this.handleChange([]);
184
- _this.handlers.value([]);
185
- _this.handlers.visible(false);
163
+ _defineProperty(this, "handleReset", () => {
164
+ this.handleChange([]);
165
+ this.handlers.value([]);
166
+ this.handlers.visible(false);
186
167
  });
187
- _defineProperty(_this, "handleApply", function (value) {
188
- var _value2 = _slicedToArray(value, 2),
189
- startDate = _value2[0],
190
- _value2$ = _value2[1],
191
- endDate = _value2$ === void 0 ? startDate : _value2$;
192
- _this.handleChange([]);
193
- _this.handlers.value([startDate, endDate]);
194
- _this.handlers.visible(false);
168
+ _defineProperty(this, "handleApply", value => {
169
+ const [startDate, endDate = startDate] = value;
170
+ this.handleChange([]);
171
+ this.handlers.value([startDate, endDate]);
172
+ this.handlers.visible(false);
195
173
  });
196
- _defineProperty(_this, "handleChange", function (date) {
197
- var preselectedValue = _this.asProps.preselectedValue;
198
- var highlighted = [];
174
+ _defineProperty(this, "handleChange", date => {
175
+ let {
176
+ preselectedValue
177
+ } = this.asProps;
178
+ let highlighted = [];
199
179
  if (Array.isArray(date)) {
200
180
  preselectedValue = date;
201
181
  } else if (!preselectedValue.length) {
@@ -209,283 +189,269 @@ var RangePickerAbstract = /*#__PURE__*/function (_Component) {
209
189
  } else {
210
190
  preselectedValue = [preselectedValue[0], date];
211
191
  }
212
- _this.handlers.preselectedValue(preselectedValue);
213
- _this.handlers.highlighted(highlighted);
192
+ this.handlers.preselectedValue(preselectedValue);
193
+ this.handlers.highlighted(highlighted);
214
194
  });
215
- _defineProperty(_this, "handleApplyClick", function () {
216
- var _this$asProps2 = _this.asProps,
217
- value = _this$asProps2.value,
218
- preselectedValue = _this$asProps2.preselectedValue;
219
- return _this.handleApply(preselectedValue.length ? preselectedValue : value);
195
+ _defineProperty(this, "handleApplyClick", () => {
196
+ const {
197
+ value,
198
+ preselectedValue
199
+ } = this.asProps;
200
+ return this.handleApply(preselectedValue.length ? preselectedValue : value);
220
201
  });
221
- return _this;
222
202
  }
223
- _inherits(RangePickerAbstract, _Component);
224
- return _createClass(RangePickerAbstract, [{
225
- key: "uncontrolledProps",
226
- value: function uncontrolledProps() {
227
- var _this2 = this;
228
- return {
229
- displayedPeriod: null,
230
- visible: [null, function (visible) {
231
- var _this2$asProps = _this2.asProps,
232
- value = _this2$asProps.value,
233
- displayedPeriod = _this2$asProps.displayedPeriod;
234
- var endDate = getEndDate(value !== null && value !== void 0 ? value : undefined);
235
- if (!visible) {
236
- _this2.handlers.highlighted([]);
237
- _this2.handlers.preselectedValue([]);
238
- }
239
- if (visible) {
240
- if (endDate && endDate !== displayedPeriod) {
241
- _this2.handlers.displayedPeriod(endDate);
242
- } else if (!endDate) {
243
- var _this2$props = _this2.props,
244
- _displayedPeriod = _this2$props.displayedPeriod,
245
- _defaultDisplayedPeriod = _this2$props.defaultDisplayedPeriod;
246
- _this2.handlers.displayedPeriod(_displayedPeriod || _defaultDisplayedPeriod);
247
- }
248
- }
249
- }],
250
- highlighted: null,
251
- preselectedValue: null,
252
- value: [null, function (value) {
253
- if (value[0] !== null || value[1] !== null) {
254
- var _value$2, _value$3;
255
- _this2.handlers.displayedPeriod(getEndDate([(_value$2 = value[0]) !== null && _value$2 !== void 0 ? _value$2 : undefined, (_value$3 = value[1]) !== null && _value$3 !== void 0 ? _value$3 : undefined]));
203
+ static defaultProps({
204
+ value,
205
+ defaultValue
206
+ }) {
207
+ return {
208
+ i18n: localizedMessages,
209
+ locale: 'en',
210
+ defaultDisplayedPeriod: getEndDate(value) || getEndDate(defaultValue) || defaultDisplayedPeriod,
211
+ defaultValue: [],
212
+ defaultHighlighted: [],
213
+ defaultVisible: false,
214
+ defaultPreselectedValue: [],
215
+ disabled: [],
216
+ size: 'm'
217
+ };
218
+ }
219
+ uncontrolledProps() {
220
+ return {
221
+ displayedPeriod: null,
222
+ visible: [null, visible => {
223
+ const {
224
+ value,
225
+ displayedPeriod
226
+ } = this.asProps;
227
+ const endDate = getEndDate(value ?? undefined);
228
+ if (!visible) {
229
+ this.handlers.highlighted([]);
230
+ this.handlers.preselectedValue([]);
231
+ }
232
+ if (visible) {
233
+ if (endDate && endDate !== displayedPeriod) {
234
+ this.handlers.displayedPeriod(endDate);
235
+ } else if (!endDate) {
236
+ const {
237
+ displayedPeriod,
238
+ defaultDisplayedPeriod
239
+ } = this.props;
240
+ this.handlers.displayedPeriod(displayedPeriod || defaultDisplayedPeriod);
256
241
  }
257
- }]
258
- };
259
- }
260
- }, {
261
- key: "isDisabled",
262
- value: function isDisabled(date) {
263
- var disabled = this.asProps.disabled;
264
- return disabled.some(includesDate(dayjs(date), 'date'));
265
- }
266
- }, {
267
- key: "getDefaultPeriods",
268
- value: function getDefaultPeriods() {
269
- return [];
270
- }
271
- }, {
272
- key: "getButtonTriggerProps",
273
- value: function getButtonTriggerProps() {
274
- var _this$asProps3 = this.asProps,
275
- value = _this$asProps3.value,
276
- size = _this$asProps3.size,
277
- visible = _this$asProps3.visible;
278
- return {
279
- popoverVisible: visible,
280
- size: size,
281
- empty: !value[0] && !value[1],
282
- onKeyDown: this.handlerKeyDown('trigger')
283
- };
284
- }
285
- }, {
286
- key: "getPopperProps",
287
- value: function getPopperProps() {
288
- var Picker = this[CORE_INSTANCE];
289
- var _this$asProps4 = this.asProps,
290
- _this$asProps4$period = _this$asProps4.periods,
291
- periods = _this$asProps4$period === void 0 ? this.getDefaultPeriods() : _this$asProps4$period,
292
- unclearable = _this$asProps4.unclearable;
293
- var buttons = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Picker.Apply, null), !unclearable && /*#__PURE__*/React.createElement(Picker.Reset, {
294
- ml: 2
295
- }));
296
- return {
297
- tabIndex: 0,
298
- ref: this.popperRef,
299
- onKeyDown: this.handlerKeyDown('popper'),
300
- children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(Box, {
301
- mr: 2
302
- }, /*#__PURE__*/React.createElement(Picker.Header, null, /*#__PURE__*/React.createElement(Picker.Prev, null), /*#__PURE__*/React.createElement(Picker.Title, null)), /*#__PURE__*/React.createElement(Picker.Calendar, null)), /*#__PURE__*/React.createElement(Box, {
303
- ml: 2
304
- }, /*#__PURE__*/React.createElement(Picker.Header, null, /*#__PURE__*/React.createElement(Picker.Title, {
305
- "aria-live": undefined
306
- }), /*#__PURE__*/React.createElement(Picker.Next, null)), /*#__PURE__*/React.createElement(Picker.Calendar, null))), periods.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
307
- m: "-16px 16px",
308
- orientation: "vertical",
309
- h: "auto"
310
- }), /*#__PURE__*/React.createElement(Flex, {
311
- direction: "column"
312
- }, /*#__PURE__*/React.createElement(Picker.Period, null), /*#__PURE__*/React.createElement(Flex, {
313
- mt: "auto"
314
- }, buttons)))), periods.length === 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
315
- m: "16px -16px",
316
- orientation: "horizontal",
317
- w: "auto"
318
- }), /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(Picker.Period, null), /*#__PURE__*/React.createElement(Flex, {
319
- mt: "auto"
320
- }, buttons))))
321
- };
322
- }
323
- }, {
324
- key: "getHeaderProps",
325
- value: function getHeaderProps() {
326
- var Picker = this[CORE_INSTANCE];
327
- return {
328
- children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Picker.Prev, null), /*#__PURE__*/React.createElement(Picker.Title, null), /*#__PURE__*/React.createElement(Picker.Next, null))
329
- };
330
- }
331
- }, {
332
- key: "getTitleProps",
333
- value: function getTitleProps(_props, index) {
334
- var _this$asProps5 = this.asProps,
335
- locale = _this$asProps5.locale,
336
- displayedPeriod = _this$asProps5.displayedPeriod;
337
- return {
338
- children: new Intl.DateTimeFormat(locale, {
339
- month: 'long',
340
- year: 'numeric'
341
- }).format(dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate())
342
- };
343
- }
344
- }, {
345
- key: "getNextProps",
346
- value: function getNextProps() {
347
- var getI18nText = this.asProps.getI18nText;
348
- var navigateStep = this.navigateStep;
349
- return {
350
- 'ref': this.nextButtonRef,
351
- 'onClick': this.bindHandlerNavigateClick(1),
352
- getI18nText: getI18nText,
353
- 'aria-label': navigateStep === 'month' ? getI18nText('nextMonth') : getI18nText('nextYear')
354
- };
355
- }
356
- }, {
357
- key: "getPrevProps",
358
- value: function getPrevProps() {
359
- var getI18nText = this.asProps.getI18nText;
360
- var navigateStep = this.navigateStep;
361
- return {
362
- 'ref': this.prevButtonRef,
363
- 'onClick': this.bindHandlerNavigateClick(-1),
364
- getI18nText: getI18nText,
365
- 'aria-label': navigateStep === 'month' ? getI18nText('prevMonth') : getI18nText('prevYear')
366
- };
367
- }
368
- }, {
369
- key: "getCalendarProps",
370
- value: function getCalendarProps(_props, index) {
371
- var _this$asProps6 = this.asProps,
372
- locale = _this$asProps6.locale,
373
- displayedPeriod = _this$asProps6.displayedPeriod,
374
- disabled = _this$asProps6.disabled,
375
- value = _this$asProps6.value,
376
- highlighted = _this$asProps6.highlighted,
377
- onHighlightedChange = _this$asProps6.onHighlightedChange,
378
- onVisibleChange = _this$asProps6.onVisibleChange,
379
- preselectedValue = _this$asProps6.preselectedValue,
380
- getI18nText = _this$asProps6.getI18nText;
381
- return {
382
- locale: locale,
383
- displayedPeriod: dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),
384
- disabled: disabled,
385
- highlighted: highlighted,
386
- onHighlightedChange: onHighlightedChange,
387
- onVisibleChange: onVisibleChange,
388
- value: preselectedValue.length ? preselectedValue : value,
389
- onChange: this.handleChange,
390
- unitRefs: this.unitRefs,
391
- getI18nText: getI18nText,
392
- actionsDescribing: index === 0 ? 'range' : null,
393
- tabIndex: index === 0 ? 0 : -1
394
- };
395
- }
396
- }, {
397
- key: "getPeriodProps",
398
- value: function getPeriodProps() {
399
- var _this3 = this;
400
- var _this$asProps7 = this.asProps,
401
- _this$asProps7$period = _this$asProps7.periods,
402
- periods = _this$asProps7$period === void 0 ? this.getDefaultPeriods() : _this$asProps7$period,
403
- value = _this$asProps7.value,
404
- onHighlightedChange = _this$asProps7.onHighlightedChange,
405
- onDisplayedPeriodChange = _this$asProps7.onDisplayedPeriodChange,
406
- preselectedValue = _this$asProps7.preselectedValue,
407
- getI18nText = _this$asProps7.getI18nText;
408
- return {
409
- periods: periods,
410
- 'value': preselectedValue.length ? preselectedValue : value,
411
- 'onChange': this.handleApply,
412
- onHighlightedChange: onHighlightedChange,
413
- onDisplayedPeriodChange: onDisplayedPeriodChange,
414
- 'role': 'listbox',
415
- 'aria-label': getI18nText('periods'),
416
- 'periodRef': function periodRef(index) {
417
- return function (element) {
418
- if (!element) return;
419
- _this3.periodRefs[index] = element;
420
- };
421
242
  }
422
- };
423
- }
424
- }, {
425
- key: "getApplyProps",
426
- value: function getApplyProps() {
427
- var getI18nText = this.asProps.getI18nText;
428
- return {
429
- getI18nText: getI18nText,
430
- onClick: this.handleApplyClick,
431
- ref: this.applyButtonRef
432
- };
433
- }
434
- }, {
435
- key: "getResetProps",
436
- value: function getResetProps() {
437
- var getI18nText = this.asProps.getI18nText;
438
- return {
439
- getI18nText: getI18nText,
440
- onClick: this.handleReset,
441
- ref: this.resetButtonRef
442
- };
443
- }
444
- }, {
445
- key: "render",
446
- value: function render() {
447
- var _ref = this.asProps,
448
- _ref4;
449
- var _this$asProps8 = this.asProps,
450
- Children = _this$asProps8.Children,
451
- styles = _this$asProps8.styles,
452
- providedAriaLabel = _this$asProps8['aria-label'];
453
- return /*#__PURE__*/React.createElement(React.Fragment, null, (_ref4 = sstyled(styles), /*#__PURE__*/React.createElement(Dropdown, _assignProps({
454
- "use:aria-label": providedAriaLabel,
455
- "__excludeProps": ['onChange', 'value']
456
- }, _ref), /*#__PURE__*/React.createElement(Children, _ref4.cn("Children", {})))));
457
- }
458
- }], [{
459
- key: "defaultProps",
460
- value: function defaultProps(_ref5) {
461
- var value = _ref5.value,
462
- defaultValue = _ref5.defaultValue;
463
- return {
464
- i18n: localizedMessages,
465
- locale: 'en',
466
- defaultDisplayedPeriod: getEndDate(value) || getEndDate(defaultValue) || defaultDisplayedPeriod,
467
- defaultValue: [],
468
- defaultHighlighted: [],
469
- defaultVisible: false,
470
- defaultPreselectedValue: [],
471
- disabled: [],
472
- size: 'm'
473
- };
474
- }
475
- }]);
476
- }(Component);
243
+ }],
244
+ highlighted: null,
245
+ preselectedValue: null,
246
+ value: [null, value => {
247
+ if (value[0] !== null || value[1] !== null) {
248
+ this.handlers.displayedPeriod(getEndDate([value[0] ?? undefined, value[1] ?? undefined]));
249
+ }
250
+ }]
251
+ };
252
+ }
253
+ isDisabled(date) {
254
+ const {
255
+ disabled
256
+ } = this.asProps;
257
+ return disabled.some(includesDate(dayjs(date), 'date'));
258
+ }
259
+ getDefaultPeriods() {
260
+ return [];
261
+ }
262
+ getButtonTriggerProps() {
263
+ const {
264
+ value,
265
+ size,
266
+ visible
267
+ } = this.asProps;
268
+ return {
269
+ popoverVisible: visible,
270
+ size,
271
+ empty: !value[0] && !value[1],
272
+ onKeyDown: this.handlerKeyDown('trigger')
273
+ };
274
+ }
275
+ getPopperProps() {
276
+ const Picker = this[CORE_INSTANCE];
277
+ const {
278
+ periods = this.getDefaultPeriods(),
279
+ unclearable
280
+ } = this.asProps;
281
+ const buttons = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Picker.Apply, null), !unclearable && /*#__PURE__*/React.createElement(Picker.Reset, {
282
+ ml: 2
283
+ }));
284
+ return {
285
+ tabIndex: 0,
286
+ ref: this.popperRef,
287
+ onKeyDown: this.handlerKeyDown('popper'),
288
+ children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(Box, {
289
+ mr: 2
290
+ }, /*#__PURE__*/React.createElement(Picker.Header, null, /*#__PURE__*/React.createElement(Picker.Prev, null), /*#__PURE__*/React.createElement(Picker.Title, null)), /*#__PURE__*/React.createElement(Picker.Calendar, null)), /*#__PURE__*/React.createElement(Box, {
291
+ ml: 2
292
+ }, /*#__PURE__*/React.createElement(Picker.Header, null, /*#__PURE__*/React.createElement(Picker.Title, {
293
+ "aria-live": undefined
294
+ }), /*#__PURE__*/React.createElement(Picker.Next, null)), /*#__PURE__*/React.createElement(Picker.Calendar, null))), periods.length > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
295
+ m: "-16px 16px",
296
+ orientation: "vertical",
297
+ h: "auto"
298
+ }), /*#__PURE__*/React.createElement(Flex, {
299
+ direction: "column"
300
+ }, /*#__PURE__*/React.createElement(Picker.Period, null), /*#__PURE__*/React.createElement(Flex, {
301
+ mt: "auto"
302
+ }, buttons)))), periods.length === 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Divider, {
303
+ m: "16px -16px",
304
+ orientation: "horizontal",
305
+ w: "auto"
306
+ }), /*#__PURE__*/React.createElement(Flex, null, /*#__PURE__*/React.createElement(Picker.Period, null), /*#__PURE__*/React.createElement(Flex, {
307
+ mt: "auto"
308
+ }, buttons))))
309
+ };
310
+ }
311
+ getHeaderProps() {
312
+ const Picker = this[CORE_INSTANCE];
313
+ return {
314
+ children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Picker.Prev, null), /*#__PURE__*/React.createElement(Picker.Title, null), /*#__PURE__*/React.createElement(Picker.Next, null))
315
+ };
316
+ }
317
+ getTitleProps(_props, index) {
318
+ const {
319
+ locale,
320
+ displayedPeriod
321
+ } = this.asProps;
322
+ return {
323
+ children: new Intl.DateTimeFormat(locale, {
324
+ month: 'long',
325
+ year: 'numeric'
326
+ }).format(dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate())
327
+ };
328
+ }
329
+ getNextProps() {
330
+ const {
331
+ getI18nText
332
+ } = this.asProps;
333
+ const {
334
+ navigateStep
335
+ } = this;
336
+ return {
337
+ 'ref': this.nextButtonRef,
338
+ 'onClick': this.bindHandlerNavigateClick(1),
339
+ getI18nText,
340
+ 'aria-label': navigateStep === 'month' ? getI18nText('nextMonth') : getI18nText('nextYear')
341
+ };
342
+ }
343
+ getPrevProps() {
344
+ const {
345
+ getI18nText
346
+ } = this.asProps;
347
+ const {
348
+ navigateStep
349
+ } = this;
350
+ return {
351
+ 'ref': this.prevButtonRef,
352
+ 'onClick': this.bindHandlerNavigateClick(-1),
353
+ getI18nText,
354
+ 'aria-label': navigateStep === 'month' ? getI18nText('prevMonth') : getI18nText('prevYear')
355
+ };
356
+ }
357
+ getCalendarProps(_props, index) {
358
+ const {
359
+ locale,
360
+ displayedPeriod,
361
+ disabled,
362
+ value,
363
+ highlighted,
364
+ onHighlightedChange,
365
+ onVisibleChange,
366
+ preselectedValue,
367
+ getI18nText
368
+ } = this.asProps;
369
+ return {
370
+ locale,
371
+ displayedPeriod: dayjs(displayedPeriod).add(index, this.navigateStep).startOf(this.navigateStep).toDate(),
372
+ disabled,
373
+ highlighted,
374
+ onHighlightedChange,
375
+ onVisibleChange,
376
+ value: preselectedValue.length ? preselectedValue : value,
377
+ onChange: this.handleChange,
378
+ unitRefs: this.unitRefs,
379
+ getI18nText,
380
+ actionsDescribing: index === 0 ? 'range' : null,
381
+ tabIndex: index === 0 ? 0 : -1
382
+ };
383
+ }
384
+ getPeriodProps() {
385
+ const {
386
+ periods = this.getDefaultPeriods(),
387
+ value,
388
+ onHighlightedChange,
389
+ onDisplayedPeriodChange,
390
+ preselectedValue,
391
+ getI18nText
392
+ } = this.asProps;
393
+ return {
394
+ periods,
395
+ 'value': preselectedValue.length ? preselectedValue : value,
396
+ 'onChange': this.handleApply,
397
+ onHighlightedChange,
398
+ onDisplayedPeriodChange,
399
+ 'role': 'listbox',
400
+ 'aria-label': getI18nText('periods'),
401
+ 'periodRef': index => element => {
402
+ if (!element) return;
403
+ this.periodRefs[index] = element;
404
+ }
405
+ };
406
+ }
407
+ getApplyProps() {
408
+ const {
409
+ getI18nText
410
+ } = this.asProps;
411
+ return {
412
+ getI18nText,
413
+ onClick: this.handleApplyClick,
414
+ ref: this.applyButtonRef
415
+ };
416
+ }
417
+ getResetProps() {
418
+ const {
419
+ getI18nText
420
+ } = this.asProps;
421
+ return {
422
+ getI18nText,
423
+ onClick: this.handleReset,
424
+ ref: this.resetButtonRef
425
+ };
426
+ }
427
+ render() {
428
+ var _ref = this.asProps,
429
+ _ref4;
430
+ const {
431
+ Children,
432
+ styles,
433
+ 'aria-label': providedAriaLabel
434
+ } = this.asProps;
435
+ return /*#__PURE__*/React.createElement(React.Fragment, null, (_ref4 = sstyled(styles), /*#__PURE__*/React.createElement(Dropdown, _assignProps({
436
+ "use:aria-label": providedAriaLabel,
437
+ "__excludeProps": ['onChange', 'value']
438
+ }, _ref), /*#__PURE__*/React.createElement(Children, _ref4.cn("Children", {})))));
439
+ }
440
+ }
477
441
  _defineProperty(RangePickerAbstract, "displayName", 'DatePicker');
478
442
  _defineProperty(RangePickerAbstract, "style", style);
479
443
  _defineProperty(RangePickerAbstract, "enhance", [i18nEnhance(localizedMessages)]);
480
- _defineProperty(RangePickerAbstract, "add", function (date, amount, unit) {
444
+ _defineProperty(RangePickerAbstract, "add", (date, amount, unit) => {
481
445
  return dayjs(date).add(amount, unit).toDate();
482
446
  });
483
- _defineProperty(RangePickerAbstract, "subtract", function (date, amount, unit) {
447
+ _defineProperty(RangePickerAbstract, "subtract", (date, amount, unit) => {
484
448
  return dayjs(date).subtract(amount, unit).toDate();
485
449
  });
486
450
  function Apply(props) {
487
451
  var _ref2 = arguments[0];
488
- var getI18nText = props.getI18nText;
452
+ const {
453
+ getI18nText
454
+ } = props;
489
455
  return /*#__PURE__*/React.createElement(Button, _assignProps2({
490
456
  "use": 'primary',
491
457
  "children": getI18nText('apply')
@@ -493,7 +459,9 @@ function Apply(props) {
493
459
  }
494
460
  function Reset(props) {
495
461
  var _ref3 = arguments[0];
496
- var getI18nText = props.getI18nText;
462
+ const {
463
+ getI18nText
464
+ } = props;
497
465
  return /*#__PURE__*/React.createElement(Button, _assignProps3({
498
466
  "use": 'tertiary',
499
467
  "theme": 'muted',