@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,7 +1,3 @@
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
2
  import { sstyled as _sstyled } from "@semcore/core";
7
3
  import { assignProps as _assignProps } from "@semcore/core";
@@ -11,286 +7,271 @@ import Dropdown from '@semcore/dropdown';
11
7
  import dayjs from 'dayjs';
12
8
  import React from 'react';
13
9
  /*!__reshadow-styles__:"../style/date-picker.shadow.css"*/
14
- 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_"),
10
+ 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_"),
15
11
  /*__reshadow_css_end__*/
16
12
  {
17
- "__SHeader": "___SHeader_gjj0p_gg_",
18
- "__STitle": "___STitle_gjj0p_gg_",
19
- "__SToday": "___SToday_gjj0p_gg_",
20
- "__SPeriod": "___SPeriod_gjj0p_gg_",
21
- "__SButton": "___SButton_gjj0p_gg_",
22
- "__SInner": "___SInner_gjj0p_gg_",
23
- "__SInputMask": "___SInputMask_gjj0p_gg_",
24
- "_animationsDisabled": "__animationsDisabled_gjj0p_gg_",
25
- "__SIndicator": "___SIndicator_gjj0p_gg_",
26
- "__SRangeIndicator": "___SRangeIndicator_gjj0p_gg_",
27
- "_range_value": "_range_value_gjj0p_gg_",
28
- "_range_compare": "_range_compare_gjj0p_gg_",
29
- "_disabled": "__disabled_gjj0p_gg_",
30
- "__SHumanizedDate": "___SHumanizedDate_gjj0p_gg_",
31
- "__SMask": "___SMask_gjj0p_gg_",
32
- "__SSingleDateInput": "___SSingleDateInput_gjj0p_gg_",
33
- "__SValue": "___SValue_gjj0p_gg_",
34
- "__SDateRange": "___SDateRange_gjj0p_gg_",
35
- "_noHumanizedDate": "__noHumanizedDate_gjj0p_gg_",
36
- "__SRangeSep": "___SRangeSep_gjj0p_gg_",
37
- "_fulfilled": "__fulfilled_gjj0p_gg_",
38
- "__SRangeComparatorHeader": "___SRangeComparatorHeader_gjj0p_gg_",
39
- "__SRangeCalendar": "___SRangeCalendar_gjj0p_gg_",
40
- "__SFooter": "___SFooter_gjj0p_gg_",
41
- "__SPeriodsList": "___SPeriodsList_gjj0p_gg_",
42
- "__STooltip": "___STooltip_gjj0p_gg_",
43
- "__SCompareToggle": "___SCompareToggle_gjj0p_gg_",
44
- "__SPopper": "___SPopper_gjj0p_gg_"
13
+ "__SHeader": "___SHeader_9ubmf_gg_",
14
+ "__STitle": "___STitle_9ubmf_gg_",
15
+ "__SToday": "___SToday_9ubmf_gg_",
16
+ "__SPeriod": "___SPeriod_9ubmf_gg_",
17
+ "__SButton": "___SButton_9ubmf_gg_",
18
+ "__SInner": "___SInner_9ubmf_gg_",
19
+ "__SInputMask": "___SInputMask_9ubmf_gg_",
20
+ "_animationsDisabled": "__animationsDisabled_9ubmf_gg_",
21
+ "__SIndicator": "___SIndicator_9ubmf_gg_",
22
+ "__SRangeIndicator": "___SRangeIndicator_9ubmf_gg_",
23
+ "_range_value": "_range_value_9ubmf_gg_",
24
+ "_range_compare": "_range_compare_9ubmf_gg_",
25
+ "_disabled": "__disabled_9ubmf_gg_",
26
+ "__SHumanizedDate": "___SHumanizedDate_9ubmf_gg_",
27
+ "__SMask": "___SMask_9ubmf_gg_",
28
+ "__SSingleDateInput": "___SSingleDateInput_9ubmf_gg_",
29
+ "__SValue": "___SValue_9ubmf_gg_",
30
+ "__SDateRange": "___SDateRange_9ubmf_gg_",
31
+ "_noHumanizedDate": "__noHumanizedDate_9ubmf_gg_",
32
+ "__SRangeSep": "___SRangeSep_9ubmf_gg_",
33
+ "_fulfilled": "__fulfilled_9ubmf_gg_",
34
+ "__SRangeComparatorHeader": "___SRangeComparatorHeader_9ubmf_gg_",
35
+ "__SRangeCalendar": "___SRangeCalendar_9ubmf_gg_",
36
+ "__SFooter": "___SFooter_9ubmf_gg_",
37
+ "__SPeriodsList": "___SPeriodsList_9ubmf_gg_",
38
+ "__STooltip": "___STooltip_9ubmf_gg_",
39
+ "__SCompareToggle": "___SCompareToggle_9ubmf_gg_",
40
+ "__SPopper": "___SPopper_9ubmf_gg_"
45
41
  });
46
42
  import { localizedMessages } from '../translations/__intergalactic-dynamic-locales';
47
43
  import { formatDDMMYY, formatMMYY } from '../utils/formatDate';
48
44
  import { includesDate } from '../utils/includesDate';
49
- var INTERACTION_TAGS = ['INPUT'];
50
- var INTERACTION_KEYS = ['ArrowDown', 'Enter', ' '];
51
- var defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));
52
- var PickerAbstract = /*#__PURE__*/function (_Component) {
53
- function PickerAbstract() {
54
- var _this;
55
- _classCallCheck(this, PickerAbstract);
56
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
- args[_key] = arguments[_key];
58
- }
59
- _this = _callSuper(this, PickerAbstract, [].concat(args));
60
- _defineProperty(_this, "prevButtonRef", /*#__PURE__*/React.createRef());
61
- _defineProperty(_this, "nextButtonRef", /*#__PURE__*/React.createRef());
62
- _defineProperty(_this, "popperRef", /*#__PURE__*/React.createRef());
63
- _defineProperty(_this, "unitRefs", {});
64
- _defineProperty(_this, "navigateStep", void 0);
65
- _defineProperty(_this, "keyDiff", void 0);
66
- _defineProperty(_this, "keyStep", void 0);
67
- _defineProperty(_this, "navigateView", function (direction) {
68
- var displayedPeriod = _this.asProps.displayedPeriod;
69
- var action = direction >= 1 ? 'add' : 'subtract';
70
- var date = dayjs(displayedPeriod)[action](1, _this.navigateStep).toDate();
71
- _this.handlers.displayedPeriod(date);
45
+ const INTERACTION_TAGS = ['INPUT'];
46
+ const INTERACTION_KEYS = ['ArrowDown', 'Enter', ' '];
47
+ const defaultDisplayedPeriod = new Date(new Date().setHours(0, 0, 0, 0));
48
+ class PickerAbstract extends Component {
49
+ constructor(...args) {
50
+ super(...args);
51
+ _defineProperty(this, "prevButtonRef", /*#__PURE__*/React.createRef());
52
+ _defineProperty(this, "nextButtonRef", /*#__PURE__*/React.createRef());
53
+ _defineProperty(this, "popperRef", /*#__PURE__*/React.createRef());
54
+ _defineProperty(this, "unitRefs", {});
55
+ _defineProperty(this, "navigateStep", void 0);
56
+ _defineProperty(this, "keyDiff", void 0);
57
+ _defineProperty(this, "keyStep", void 0);
58
+ _defineProperty(this, "navigateView", direction => {
59
+ const {
60
+ displayedPeriod
61
+ } = this.asProps;
62
+ const action = direction >= 1 ? 'add' : 'subtract';
63
+ const date = dayjs(displayedPeriod)[action](1, this.navigateStep).toDate();
64
+ this.handlers.displayedPeriod(date);
72
65
  });
73
- _defineProperty(_this, "bindHandlerNavigateClick", function (direction) {
74
- return function () {
75
- _this.navigateView(direction);
76
- };
66
+ _defineProperty(this, "bindHandlerNavigateClick", direction => () => {
67
+ this.navigateView(direction);
77
68
  });
78
- _defineProperty(_this, "handlerKeyDown", function (place) {
79
- return function (e) {
80
- var _this$asProps = _this.asProps,
81
- value = _this$asProps.value,
82
- displayedPeriod = _this$asProps.displayedPeriod,
83
- highlighted = _this$asProps.highlighted,
84
- _disabled = _this$asProps.disabled,
85
- visible = _this$asProps.visible;
86
- var key = e.key,
87
- target = e.target;
88
- if ([' ', 'Enter'].includes(key) && [_this.prevButtonRef.current, _this.nextButtonRef.current].includes(target)) return;
89
- if (place === 'trigger' && INTERACTION_KEYS.includes(key)) {
90
- e.stopPropagation();
91
- _this.handlers.visible(!visible);
92
- setTimeout(function () {
93
- var popper = _this.popperRef.current;
94
- if (popper) {
95
- popper.focus();
96
- }
97
- }, 0);
98
- }
99
- var day = _this.keyDiff[e.key];
100
- var getCurrentHighlightedDay = function getCurrentHighlightedDay(day) {
101
- return day.toDate();
102
- };
103
- if (place === 'popper' && (e.key === ' ' || e.key === 'Enter') && highlighted.length) {
104
- if (!_this.isDisabled(highlighted[0])) {
105
- _this.handlers.value(highlighted[0]);
69
+ _defineProperty(this, "handlerKeyDown", place => e => {
70
+ const {
71
+ value,
72
+ displayedPeriod,
73
+ highlighted,
74
+ disabled: _disabled,
75
+ visible
76
+ } = this.asProps;
77
+ const {
78
+ key,
79
+ target
80
+ } = e;
81
+ if ([' ', 'Enter'].includes(key) && [this.prevButtonRef.current, this.nextButtonRef.current].includes(target)) return;
82
+ if (place === 'trigger' && INTERACTION_KEYS.includes(key)) {
83
+ e.stopPropagation();
84
+ this.handlers.visible(!visible);
85
+ setTimeout(() => {
86
+ const popper = this.popperRef.current;
87
+ if (popper) {
88
+ popper.focus();
106
89
  }
107
- e.preventDefault();
90
+ }, 0);
91
+ }
92
+ const day = this.keyDiff[e.key];
93
+ const getCurrentHighlightedDay = day => {
94
+ return day.toDate();
95
+ };
96
+ if (place === 'popper' && (e.key === ' ' || e.key === 'Enter') && highlighted.length) {
97
+ if (!this.isDisabled(highlighted[0])) {
98
+ this.handlers.value(highlighted[0]);
108
99
  }
109
- if (day) {
110
- if (INTERACTION_TAGS.includes(e.target.tagName)) return;
111
- var current_highlighted = !highlighted[0] && !value ? dayjs(highlighted[0] || displayedPeriod) : dayjs(displayedPeriod).add(day, _this.keyStep);
112
- var current_day = getCurrentHighlightedDay(current_highlighted) || getCurrentHighlightedDay(dayjs(highlighted[0] || displayedPeriod));
113
- if (current_day) {
114
- var _this$unitRefs$format;
115
- _this.handlers.highlighted([current_day]);
116
- _this.handlers.displayedPeriod(current_day);
117
- e.preventDefault();
118
- var formatter = _this.keyStep === 'month' ? formatMMYY : formatDDMMYY;
119
- var formattedDate = formatter(current_day, _this.asProps.locale);
120
- (_this$unitRefs$format = _this.unitRefs[formattedDate]) === null || _this$unitRefs$format === void 0 || _this$unitRefs$format.focus();
121
- }
100
+ e.preventDefault();
101
+ }
102
+ if (day) {
103
+ if (INTERACTION_TAGS.includes(e.target.tagName)) return;
104
+ const current_highlighted = !highlighted[0] && !value ? dayjs(highlighted[0] || displayedPeriod) : dayjs(displayedPeriod).add(day, this.keyStep);
105
+ const current_day = getCurrentHighlightedDay(current_highlighted) || getCurrentHighlightedDay(dayjs(highlighted[0] || displayedPeriod));
106
+ if (current_day) {
107
+ this.handlers.highlighted([current_day]);
108
+ this.handlers.displayedPeriod(current_day);
109
+ e.preventDefault();
110
+ const formatter = this.keyStep === 'month' ? formatMMYY : formatDDMMYY;
111
+ const formattedDate = formatter(current_day, this.asProps.locale);
112
+ this.unitRefs[formattedDate]?.focus();
122
113
  }
123
- };
114
+ }
124
115
  });
125
- return _this;
126
116
  }
127
- _inherits(PickerAbstract, _Component);
128
- return _createClass(PickerAbstract, [{
129
- key: "uncontrolledProps",
130
- value: function uncontrolledProps() {
131
- var _this2 = this;
132
- return {
133
- displayedPeriod: null,
134
- visible: [null, function (visible) {
135
- var _this2$asProps = _this2.asProps,
136
- value = _this2$asProps.value,
137
- displayedPeriod = _this2$asProps.displayedPeriod;
138
- if (!visible) {
139
- _this2.handlers.highlighted([]);
140
- }
141
- if (visible) {
142
- if (value && value !== displayedPeriod) {
143
- _this2.handlers.displayedPeriod(value);
144
- } else if (!value) {
145
- var _this2$props = _this2.props,
146
- _displayedPeriod = _this2$props.displayedPeriod,
147
- _defaultDisplayedPeriod = _this2$props.defaultDisplayedPeriod;
148
- _this2.handlers.displayedPeriod(_displayedPeriod || _defaultDisplayedPeriod);
149
- }
150
- }
151
- }],
152
- highlighted: null,
153
- value: [null, function (value) {
154
- if (value) {
155
- _this2.handlers.visible(false);
117
+ static defaultProps({
118
+ value,
119
+ defaultValue
120
+ }) {
121
+ return {
122
+ i18n: localizedMessages,
123
+ locale: 'en',
124
+ defaultDisplayedPeriod: value || defaultValue || defaultDisplayedPeriod,
125
+ defaultValue: null,
126
+ defaultVisible: false,
127
+ defaultHighlighted: [],
128
+ disabled: [],
129
+ size: 'm'
130
+ };
131
+ }
132
+ uncontrolledProps() {
133
+ return {
134
+ displayedPeriod: null,
135
+ visible: [null, visible => {
136
+ const {
137
+ value,
138
+ displayedPeriod
139
+ } = this.asProps;
140
+ if (!visible) {
141
+ this.handlers.highlighted([]);
142
+ }
143
+ if (visible) {
144
+ if (value && value !== displayedPeriod) {
145
+ this.handlers.displayedPeriod(value);
146
+ } else if (!value) {
147
+ const {
148
+ displayedPeriod,
149
+ defaultDisplayedPeriod
150
+ } = this.props;
151
+ this.handlers.displayedPeriod(displayedPeriod || defaultDisplayedPeriod);
156
152
  }
157
- _this2.handlers.displayedPeriod(value !== null && value !== void 0 ? value : undefined);
158
- }]
159
- };
160
- }
161
- }, {
162
- key: "isDisabled",
163
- value: function isDisabled(date) {
164
- var disabled = this.asProps.disabled;
165
- return disabled.some(includesDate(dayjs(date), 'date'));
166
- }
167
- }, {
168
- key: "getButtonTriggerProps",
169
- value: function getButtonTriggerProps() {
170
- var _this$asProps2 = this.asProps,
171
- value = _this$asProps2.value,
172
- size = _this$asProps2.size,
173
- visible = _this$asProps2.visible;
174
- return {
175
- popoverVisible: visible,
176
- size: size,
177
- empty: !value,
178
- onKeyDown: this.handlerKeyDown('trigger')
179
- };
180
- }
181
- }, {
182
- key: "getPopperProps",
183
- value: function getPopperProps() {
184
- var Picker = this[CORE_INSTANCE];
185
- return {
186
- tabIndex: 0,
187
- ref: this.popperRef,
188
- onKeyDown: this.handlerKeyDown('popper'),
189
- children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Picker.Header, null), /*#__PURE__*/React.createElement(Picker.Calendar, null))
190
- };
191
- }
192
- }, {
193
- key: "getHeaderProps",
194
- value: function getHeaderProps() {
195
- var Picker = this[CORE_INSTANCE];
196
- return {
197
- 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))
198
- };
199
- }
200
- }, {
201
- key: "getTitleProps",
202
- value: function getTitleProps() {
203
- return {};
204
- }
205
- }, {
206
- key: "getNextProps",
207
- value: function getNextProps() {
208
- var getI18nText = this.asProps.getI18nText;
209
- var navigateStep = this.navigateStep;
210
- return {
211
- 'ref': this.nextButtonRef,
212
- 'onClick': this.bindHandlerNavigateClick(1),
213
- getI18nText: getI18nText,
214
- 'aria-label': navigateStep === 'month' ? getI18nText('nextMonth') : getI18nText('nextYear')
215
- };
216
- }
217
- }, {
218
- key: "getPrevProps",
219
- value: function getPrevProps() {
220
- var getI18nText = this.asProps.getI18nText;
221
- var navigateStep = this.navigateStep;
222
- return {
223
- 'ref': this.prevButtonRef,
224
- 'onClick': this.bindHandlerNavigateClick(-1),
225
- getI18nText: getI18nText,
226
- 'aria-label': navigateStep === 'month' ? getI18nText('prevMonth') : getI18nText('prevYear')
227
- };
228
- }
229
- }, {
230
- key: "getCalendarProps",
231
- value: function getCalendarProps() {
232
- var _this$asProps3 = this.asProps,
233
- locale = _this$asProps3.locale,
234
- displayedPeriod = _this$asProps3.displayedPeriod,
235
- disabled = _this$asProps3.disabled,
236
- value = _this$asProps3.value,
237
- highlighted = _this$asProps3.highlighted,
238
- onVisibleChange = _this$asProps3.onVisibleChange,
239
- onChange = _this$asProps3.onChange,
240
- getI18nText = _this$asProps3.getI18nText;
241
- return {
242
- locale: locale,
243
- displayedPeriod: displayedPeriod,
244
- disabled: disabled,
245
- onChange: onChange,
246
- highlighted: highlighted,
247
- value: [value, value],
248
- renderOutdated: true,
249
- onVisibleChange: onVisibleChange,
250
- unitRefs: this.unitRefs,
251
- getI18nText: getI18nText,
252
- actionsDescribing: null
253
- };
254
- }
255
- }, {
256
- key: "render",
257
- value: function render() {
258
- var _ref = this.asProps,
259
- _ref2;
260
- var _this$asProps4 = this.asProps,
261
- styles = _this$asProps4.styles,
262
- Children = _this$asProps4.Children,
263
- providedAriaLabel = _this$asProps4['aria-label'];
264
- return /*#__PURE__*/React.createElement(React.Fragment, null, (_ref2 = sstyled(styles), /*#__PURE__*/React.createElement(Dropdown, _assignProps({
265
- "use:aria-label": providedAriaLabel,
266
- "__excludeProps": ['onChange', 'value']
267
- }, _ref), /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})))));
268
- }
269
- }], [{
270
- key: "defaultProps",
271
- value: function defaultProps(_ref3) {
272
- var value = _ref3.value,
273
- defaultValue = _ref3.defaultValue;
274
- return {
275
- i18n: localizedMessages,
276
- locale: 'en',
277
- defaultDisplayedPeriod: value || defaultValue || defaultDisplayedPeriod,
278
- defaultValue: null,
279
- defaultVisible: false,
280
- defaultHighlighted: [],
281
- disabled: [],
282
- size: 'm'
283
- };
284
- }
285
- }]);
286
- }(Component);
153
+ }
154
+ }],
155
+ highlighted: null,
156
+ value: [null, value => {
157
+ if (value) {
158
+ this.handlers.visible(false);
159
+ }
160
+ this.handlers.displayedPeriod(value ?? undefined);
161
+ }]
162
+ };
163
+ }
164
+ isDisabled(date) {
165
+ const {
166
+ disabled
167
+ } = this.asProps;
168
+ return disabled.some(includesDate(dayjs(date), 'date'));
169
+ }
170
+ getButtonTriggerProps() {
171
+ const {
172
+ value,
173
+ size,
174
+ visible
175
+ } = this.asProps;
176
+ return {
177
+ popoverVisible: visible,
178
+ size,
179
+ empty: !value,
180
+ onKeyDown: this.handlerKeyDown('trigger')
181
+ };
182
+ }
183
+ getPopperProps() {
184
+ const Picker = this[CORE_INSTANCE];
185
+ return {
186
+ tabIndex: 0,
187
+ ref: this.popperRef,
188
+ onKeyDown: this.handlerKeyDown('popper'),
189
+ children: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Picker.Header, null), /*#__PURE__*/React.createElement(Picker.Calendar, null))
190
+ };
191
+ }
192
+ getHeaderProps() {
193
+ const Picker = this[CORE_INSTANCE];
194
+ return {
195
+ 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))
196
+ };
197
+ }
198
+ getTitleProps() {
199
+ return {};
200
+ }
201
+ getNextProps() {
202
+ const {
203
+ getI18nText
204
+ } = this.asProps;
205
+ const {
206
+ navigateStep
207
+ } = this;
208
+ return {
209
+ 'ref': this.nextButtonRef,
210
+ 'onClick': this.bindHandlerNavigateClick(1),
211
+ getI18nText,
212
+ 'aria-label': navigateStep === 'month' ? getI18nText('nextMonth') : getI18nText('nextYear')
213
+ };
214
+ }
215
+ getPrevProps() {
216
+ const {
217
+ getI18nText
218
+ } = this.asProps;
219
+ const {
220
+ navigateStep
221
+ } = this;
222
+ return {
223
+ 'ref': this.prevButtonRef,
224
+ 'onClick': this.bindHandlerNavigateClick(-1),
225
+ getI18nText,
226
+ 'aria-label': navigateStep === 'month' ? getI18nText('prevMonth') : getI18nText('prevYear')
227
+ };
228
+ }
229
+ getCalendarProps() {
230
+ const {
231
+ locale,
232
+ displayedPeriod,
233
+ disabled,
234
+ value,
235
+ highlighted,
236
+ onVisibleChange,
237
+ onChange,
238
+ getI18nText
239
+ } = this.asProps;
240
+ return {
241
+ locale,
242
+ displayedPeriod,
243
+ disabled,
244
+ onChange,
245
+ highlighted,
246
+ value: [value, value],
247
+ renderOutdated: true,
248
+ onVisibleChange,
249
+ unitRefs: this.unitRefs,
250
+ getI18nText,
251
+ actionsDescribing: null
252
+ };
253
+ }
254
+ render() {
255
+ var _ref = this.asProps,
256
+ _ref2;
257
+ const {
258
+ styles,
259
+ Children,
260
+ 'aria-label': providedAriaLabel
261
+ } = this.asProps;
262
+ return /*#__PURE__*/React.createElement(React.Fragment, null, (_ref2 = sstyled(styles), /*#__PURE__*/React.createElement(Dropdown, _assignProps({
263
+ "use:aria-label": providedAriaLabel,
264
+ "__excludeProps": ['onChange', 'value']
265
+ }, _ref), /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})))));
266
+ }
267
+ }
287
268
  _defineProperty(PickerAbstract, "displayName", 'DatePicker');
288
269
  _defineProperty(PickerAbstract, "style", style);
289
270
  _defineProperty(PickerAbstract, "enhance", [i18nEnhance(localizedMessages)]);
290
- _defineProperty(PickerAbstract, "add", function (date, amount, unit) {
271
+ _defineProperty(PickerAbstract, "add", (date, amount, unit) => {
291
272
  return dayjs(date).add(amount, unit).toDate();
292
273
  });
293
- _defineProperty(PickerAbstract, "subtract", function (date, amount, unit) {
274
+ _defineProperty(PickerAbstract, "subtract", (date, amount, unit) => {
294
275
  return dayjs(date).subtract(amount, unit).toDate();
295
276
  });
296
277
  export default PickerAbstract;