intergalactic 15.65.3 → 15.66.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 (201) hide show
  1. package/CHANGELOG.md +73 -9
  2. package/animation/index.d.ts +1 -1
  3. package/animation/lib/cjs/Collapse.js +29 -29
  4. package/animation/lib/cjs/Collapse.js.map +1 -1
  5. package/animation/lib/cjs/FadeInOut.js +28 -28
  6. package/animation/lib/cjs/Scale.js +28 -28
  7. package/animation/lib/cjs/Slide.js +28 -28
  8. package/animation/lib/cjs/Transform.js +28 -28
  9. package/animation/lib/cjs/index.d.js.map +1 -1
  10. package/animation/lib/cjs/style/keyframes.shadow.css +53 -5
  11. package/animation/lib/es6/Collapse.js +29 -29
  12. package/animation/lib/es6/Collapse.js.map +1 -1
  13. package/animation/lib/es6/FadeInOut.js +28 -28
  14. package/animation/lib/es6/Scale.js +28 -28
  15. package/animation/lib/es6/Slide.js +28 -28
  16. package/animation/lib/es6/Transform.js +28 -28
  17. package/animation/lib/es6/index.d.js.map +1 -1
  18. package/animation/lib/es6/style/keyframes.shadow.css +53 -5
  19. package/animation/lib/types/index.d.ts +1 -1
  20. package/base-trigger/lib/cjs/BaseTrigger.js +18 -18
  21. package/base-trigger/lib/cjs/ButtonTrigger.js +3 -3
  22. package/base-trigger/lib/cjs/FilterTrigger.js +7 -7
  23. package/base-trigger/lib/cjs/LinkTrigger.js +12 -12
  24. package/base-trigger/lib/es6/BaseTrigger.js +18 -18
  25. package/base-trigger/lib/es6/ButtonTrigger.js +3 -3
  26. package/base-trigger/lib/es6/FilterTrigger.js +7 -7
  27. package/base-trigger/lib/es6/LinkTrigger.js +12 -12
  28. package/button/lib/cjs/Button.js +26 -26
  29. package/button/lib/cjs/style/button.shadow.css +10 -11
  30. package/button/lib/es6/Button.js +26 -26
  31. package/button/lib/es6/style/button.shadow.css +10 -11
  32. package/card/index.d.ts +10 -1
  33. package/card/lib/cjs/Card.js +10 -3
  34. package/card/lib/cjs/Card.js.map +1 -1
  35. package/card/lib/cjs/index.d.js.map +1 -1
  36. package/card/lib/es6/Card.js +10 -3
  37. package/card/lib/es6/Card.js.map +1 -1
  38. package/card/lib/es6/index.d.js.map +1 -1
  39. package/card/lib/types/index.d.ts +10 -1
  40. package/carousel/lib/cjs/Carousel.js +18 -7
  41. package/carousel/lib/cjs/Carousel.js.map +1 -1
  42. package/carousel/lib/es6/Carousel.js +18 -7
  43. package/carousel/lib/es6/Carousel.js.map +1 -1
  44. package/components.json +73 -73
  45. package/d3-chart/Area.d.ts +2 -2
  46. package/d3-chart/Line.d.ts +2 -2
  47. package/d3-chart/lib/cjs/Area.js +11 -11
  48. package/d3-chart/lib/cjs/Axis.js +14 -14
  49. package/d3-chart/lib/cjs/Bar.js +10 -10
  50. package/d3-chart/lib/cjs/Bubble.js +12 -12
  51. package/d3-chart/lib/cjs/Donut.js +9 -9
  52. package/d3-chart/lib/cjs/Dots.js +9 -9
  53. package/d3-chart/lib/cjs/Dots.js.map +1 -1
  54. package/d3-chart/lib/cjs/HorizontalBar.js +10 -10
  55. package/d3-chart/lib/cjs/Hover.js +3 -3
  56. package/d3-chart/lib/cjs/Line.js +12 -10
  57. package/d3-chart/lib/cjs/Line.js.map +1 -1
  58. package/d3-chart/lib/cjs/Plot.js +3 -3
  59. package/d3-chart/lib/cjs/Radar.js +19 -19
  60. package/d3-chart/lib/cjs/RadialTree.js +11 -11
  61. package/d3-chart/lib/cjs/ReferenceLine.js +9 -9
  62. package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
  63. package/d3-chart/lib/cjs/Tooltip.js +9 -9
  64. package/d3-chart/lib/cjs/Venn.js +9 -9
  65. package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
  66. package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
  67. package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  68. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  69. package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  70. package/d3-chart/lib/cjs/types/Area.d.js.map +1 -1
  71. package/d3-chart/lib/cjs/types/Line.d.js.map +1 -1
  72. package/d3-chart/lib/es6/Area.js +11 -11
  73. package/d3-chart/lib/es6/Axis.js +14 -14
  74. package/d3-chart/lib/es6/Bar.js +10 -10
  75. package/d3-chart/lib/es6/Bubble.js +12 -12
  76. package/d3-chart/lib/es6/Donut.js +9 -9
  77. package/d3-chart/lib/es6/Dots.js +9 -9
  78. package/d3-chart/lib/es6/Dots.js.map +1 -1
  79. package/d3-chart/lib/es6/HorizontalBar.js +10 -10
  80. package/d3-chart/lib/es6/Hover.js +3 -3
  81. package/d3-chart/lib/es6/Line.js +12 -10
  82. package/d3-chart/lib/es6/Line.js.map +1 -1
  83. package/d3-chart/lib/es6/Plot.js +3 -3
  84. package/d3-chart/lib/es6/Radar.js +19 -19
  85. package/d3-chart/lib/es6/RadialTree.js +11 -11
  86. package/d3-chart/lib/es6/ReferenceLine.js +9 -9
  87. package/d3-chart/lib/es6/ScatterPlot.js +9 -9
  88. package/d3-chart/lib/es6/Tooltip.js +9 -9
  89. package/d3-chart/lib/es6/Venn.js +9 -9
  90. package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
  91. package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
  92. package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  93. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  94. package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  95. package/d3-chart/lib/es6/types/Area.d.js.map +1 -1
  96. package/d3-chart/lib/es6/types/Line.d.js.map +1 -1
  97. package/d3-chart/lib/types/Area.d.ts +2 -2
  98. package/d3-chart/lib/types/Line.d.ts +2 -2
  99. package/data-table/lib/cjs/DataTable.js +5 -0
  100. package/data-table/lib/cjs/DataTable.js.map +1 -1
  101. package/data-table/lib/es6/DataTable.js +5 -0
  102. package/data-table/lib/es6/DataTable.js.map +1 -1
  103. package/date-picker/lib/cjs/DatePicker.js +1 -1
  104. package/date-picker/lib/cjs/DatePicker.js.map +1 -1
  105. package/date-picker/lib/cjs/DateRangeComparator.js +11 -8
  106. package/date-picker/lib/cjs/DateRangeComparator.js.map +1 -1
  107. package/date-picker/lib/cjs/MonthDateRangeComparator.js +7 -6
  108. package/date-picker/lib/cjs/MonthDateRangeComparator.js.map +1 -1
  109. package/date-picker/lib/cjs/components/Calendar.js +156 -72
  110. package/date-picker/lib/cjs/components/Calendar.js.map +1 -1
  111. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +206 -123
  112. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js.map +1 -1
  113. package/date-picker/lib/cjs/components/InputTrigger.js +50 -38
  114. package/date-picker/lib/cjs/components/InputTrigger.js.map +1 -1
  115. package/date-picker/lib/cjs/components/PickerAbstract.js +38 -29
  116. package/date-picker/lib/cjs/components/PickerAbstract.js.map +1 -1
  117. package/date-picker/lib/cjs/components/RangePickerAbstract.js +105 -79
  118. package/date-picker/lib/cjs/components/RangePickerAbstract.js.map +1 -1
  119. package/date-picker/lib/cjs/components/index.js +4 -4
  120. package/date-picker/lib/cjs/components/index.js.map +1 -1
  121. package/date-picker/lib/cjs/style/calendar.shadow.css +7 -3
  122. package/date-picker/lib/cjs/translations/en.json +8 -1
  123. package/date-picker/lib/cjs/utils/formatDate.js +19 -7
  124. package/date-picker/lib/cjs/utils/formatDate.js.map +1 -1
  125. package/date-picker/lib/es6/DatePicker.js +2 -2
  126. package/date-picker/lib/es6/DatePicker.js.map +1 -1
  127. package/date-picker/lib/es6/DateRangeComparator.js +11 -8
  128. package/date-picker/lib/es6/DateRangeComparator.js.map +1 -1
  129. package/date-picker/lib/es6/MonthDateRangeComparator.js +7 -6
  130. package/date-picker/lib/es6/MonthDateRangeComparator.js.map +1 -1
  131. package/date-picker/lib/es6/components/Calendar.js +157 -73
  132. package/date-picker/lib/es6/components/Calendar.js.map +1 -1
  133. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +206 -123
  134. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js.map +1 -1
  135. package/date-picker/lib/es6/components/InputTrigger.js +50 -38
  136. package/date-picker/lib/es6/components/InputTrigger.js.map +1 -1
  137. package/date-picker/lib/es6/components/PickerAbstract.js +38 -29
  138. package/date-picker/lib/es6/components/PickerAbstract.js.map +1 -1
  139. package/date-picker/lib/es6/components/RangePickerAbstract.js +105 -79
  140. package/date-picker/lib/es6/components/RangePickerAbstract.js.map +1 -1
  141. package/date-picker/lib/es6/components/index.js +4 -4
  142. package/date-picker/lib/es6/components/index.js.map +1 -1
  143. package/date-picker/lib/es6/style/calendar.shadow.css +7 -3
  144. package/date-picker/lib/es6/translations/en.json +8 -1
  145. package/date-picker/lib/es6/utils/formatDate.js +16 -5
  146. package/date-picker/lib/es6/utils/formatDate.js.map +1 -1
  147. package/dropdown-menu/lib/cjs/DropdownMenu.js +46 -19
  148. package/dropdown-menu/lib/cjs/DropdownMenu.js.map +1 -1
  149. package/dropdown-menu/lib/es6/DropdownMenu.js +47 -20
  150. package/dropdown-menu/lib/es6/DropdownMenu.js.map +1 -1
  151. package/icon/Check/l/index.js +1 -1
  152. package/icon/Check/l/index.mjs +1 -1
  153. package/icon/CheckDouble/l/index.d.ts +6 -0
  154. package/icon/CheckDouble/l/index.js +36 -0
  155. package/icon/CheckDouble/l/index.mjs +24 -0
  156. package/icon/CheckDouble/m/index.d.ts +6 -0
  157. package/icon/CheckDouble/m/index.js +36 -0
  158. package/icon/CheckDouble/m/index.mjs +24 -0
  159. package/icon/CollapseAlt/l/index.d.ts +6 -0
  160. package/icon/CollapseAlt/l/index.js +36 -0
  161. package/icon/CollapseAlt/l/index.mjs +24 -0
  162. package/icon/CollapseAlt/m/index.d.ts +6 -0
  163. package/icon/CollapseAlt/m/index.js +36 -0
  164. package/icon/CollapseAlt/m/index.mjs +24 -0
  165. package/icon/ExpandAlt/l/index.d.ts +6 -0
  166. package/icon/ExpandAlt/l/index.js +36 -0
  167. package/icon/ExpandAlt/l/index.mjs +24 -0
  168. package/icon/ExpandAlt/m/index.d.ts +6 -0
  169. package/icon/ExpandAlt/m/index.js +36 -0
  170. package/icon/ExpandAlt/m/index.mjs +24 -0
  171. package/package.json +26 -2
  172. package/pagination/lib/cjs/Pagination.js +10 -10
  173. package/pagination/lib/es6/Pagination.js +10 -10
  174. package/pills/index.d.ts +3 -3
  175. package/pills/lib/cjs/Pills.js +19 -18
  176. package/pills/lib/cjs/Pills.js.map +1 -1
  177. package/pills/lib/cjs/index.d.js.map +1 -1
  178. package/pills/lib/cjs/style/pills.shadow.css +6 -1
  179. package/pills/lib/es6/Pills.js +19 -18
  180. package/pills/lib/es6/Pills.js.map +1 -1
  181. package/pills/lib/es6/index.d.js.map +1 -1
  182. package/pills/lib/es6/style/pills.shadow.css +6 -1
  183. package/pills/lib/types/index.d.ts +3 -3
  184. package/select/lib/cjs/InputSearch.js +6 -6
  185. package/select/lib/cjs/Select.js +9 -9
  186. package/select/lib/es6/InputSearch.js +6 -6
  187. package/select/lib/es6/Select.js +9 -9
  188. package/tag/lib/cjs/Tag.js +20 -20
  189. package/tag/lib/cjs/style/tag.shadow.css +2 -1
  190. package/tag/lib/es6/Tag.js +20 -20
  191. package/tag/lib/es6/style/tag.shadow.css +2 -1
  192. package/time-picker/lib/cjs/PickerInput.js +3 -1
  193. package/time-picker/lib/cjs/PickerInput.js.map +1 -1
  194. package/time-picker/lib/cjs/TimePicker.js +12 -12
  195. package/time-picker/lib/es6/PickerInput.js +3 -1
  196. package/time-picker/lib/es6/PickerInput.js.map +1 -1
  197. package/time-picker/lib/es6/TimePicker.js +12 -12
  198. package/utils/lib/propsForElement.js +1 -1
  199. package/utils/lib/propsForElement.js.map +1 -1
  200. package/utils/lib/propsForElement.mjs +1 -1
  201. package/utils/lib/propsForElement.mjs.map +1 -1
@@ -22,29 +22,31 @@ import createComponent, { Component, Root, sstyled } from 'intergalactic/core';
22
22
  import { Box } from 'intergalactic/flex-box';
23
23
  import fire from 'intergalactic/utils/lib/fire';
24
24
  import includesDate from '../utils/includesDate';
25
- import { getLocaleDate } from '../utils/formatDate';
25
+ import { formatDDMMYY, formatMMYY } from '../utils/formatDate';
26
+ import keyboardFocusEnhance from 'intergalactic/utils/lib/enhances/keyboardFocusEnhance';
27
+ import { ScreenReaderOnly } from 'intergalactic/utils/lib/ScreenReaderOnly';
26
28
  /*__reshadow-styles__:"../style/calendar.shadow.css"*/
27
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCalendar_upmfe_gg_{display:flex;flex-direction:column}.___SGridDays_upmfe_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto));grid-template-rows:repeat(auto-fit,minmax(32px,auto))}.___SGridMonths_upmfe_gg_{display:grid;grid-row-gap:var(--intergalactic-spacing-2x, 8px);grid-template-columns:repeat(3,minmax(60px,auto));grid-template-rows:repeat(4,minmax(32px,auto))}.___SWeekDays_upmfe_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto))}.___SCalendarUnit_upmfe_gg_,.___SWeekDay_upmfe_gg_{align-items:center;display:flex;font-size:var(--intergalactic-fs-200, 14px);justify-content:center;min-height:32px;min-width:32px}.___SWeekDay_upmfe_gg_{color:var(--intergalactic-text-secondary, #6c6e79);font-weight:var(--intergalactic-regular, 400);overflow:hidden}.___SCalendarUnit_upmfe_gg_{font-family:inherit;font-weight:400;line-height:normal;-webkit-text-decoration:none;text-decoration:none;text-align:center;vertical-align:middle;border:1px solid transparent;color:var(--intergalactic-text-primary, #191b23);box-shadow:none;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background-color:var(--intergalactic-date-picker-cell, #ffffff);border-radius:var(--intergalactic-control-rounded, 6px);box-sizing:border-box;cursor:pointer;position:relative;transition:color .15s,background .15s,border-radius .15s .15s;outline:0;margin:4px 0 0}@media (hover:hover){.___SCalendarUnit_upmfe_gg_:hover{color:var(--intergalactic-text-primary, #191b23);background-color:var(--intergalactic-date-picker-cell-hover, #e0e1e9)}}.___SCalendarUnit_upmfe_gg_:focus-visible{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SCalendarUnit_upmfe_gg_.__today_upmfe_gg_:before{content:\"\";position:absolute;display:block;top:1px;left:1px;border-radius:var(--intergalactic-control-rounded, 6px);width:calc(100% - 2px);height:calc(100% - 2px);box-sizing:border-box;border:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SCalendarUnit_upmfe_gg_.___SCalendarUnit_upmfe_gg_.__today_upmfe_gg_.__endSelected_upmfe_gg_:before,.___SCalendarUnit_upmfe_gg_.___SCalendarUnit_upmfe_gg_.__today_upmfe_gg_.__startSelected_upmfe_gg_:before{border-color:var(--intergalactic-border-secondary, #e0e1e9)}.___SCalendarUnit_upmfe_gg_.__highlighted_upmfe_gg_,.___SCalendarUnit_upmfe_gg_.__selected_upmfe_gg_{border-radius:0;transition:color .15s,background .15s,border-radius 0s 0s;color:var(--intergalactic-text-primary, #191b23)}.___SCalendarUnit_upmfe_gg_.__selected_upmfe_gg_{background-color:var(--intergalactic-date-picker-cell-range, #c4e5fe)}@media (hover:hover){.___SCalendarUnit_upmfe_gg_.__selected_upmfe_gg_:hover{background-color:var(--intergalactic-date-picker-cell-range-hover, #8ecdff)}}.___SCalendarUnit_upmfe_gg_.__highlighted_upmfe_gg_{background-color:var(--intergalactic-date-picker-cell-range-hover, #8ecdff)}@media (hover:hover){.___SCalendarUnit_upmfe_gg_.__highlighted_upmfe_gg_:hover{background-color:var(--intergalactic-date-picker-cell-range-hover, #8ecdff)}}.___SCalendarUnit_upmfe_gg_.__startSelected_upmfe_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-active, #2bb3ff)}.___SCalendarUnit_upmfe_gg_.__startSelected_upmfe_gg_:not(.__highlighted_upmfe_gg_){border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:0;border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-top-right-radius:0}@media (hover:hover){.___SCalendarUnit_upmfe_gg_.__startSelected_upmfe_gg_:hover{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-active-hover, #008ff8)}}.___SCalendarUnit_upmfe_gg_.__endSelected_upmfe_gg_{background-color:var(--intergalactic-date-picker-cell-active, #2bb3ff);color:var(--intergalactic-text-primary-invert, #ffffff)}.___SCalendarUnit_upmfe_gg_.__endSelected_upmfe_gg_:not(.__highlighted_upmfe_gg_){border-bottom-left-radius:0;border-bottom-right-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:0;border-top-right-radius:var(--intergalactic-control-rounded, 6px)}@media (hover:hover){.___SCalendarUnit_upmfe_gg_.__endSelected_upmfe_gg_:hover{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-active-hover, #008ff8)}}.___SCalendarUnit_upmfe_gg_.__startHighlighted_upmfe_gg_:not(.__selected_upmfe_gg_){border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:0;border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-top-right-radius:0}.___SCalendarUnit_upmfe_gg_.__endHighlighted_upmfe_gg_:not(.__selected_upmfe_gg_){border-bottom-left-radius:0;border-bottom-right-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:0;border-top-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_upmfe_gg_.__startHighlighted_upmfe_gg_.___SCalendarUnit_upmfe_gg_.__endHighlighted_upmfe_gg_,.___SCalendarUnit_upmfe_gg_.__startSelected_upmfe_gg_.___SCalendarUnit_upmfe_gg_.__endSelected_upmfe_gg_{border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-top-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_upmfe_gg_.__compareHighlighted_upmfe_gg_{border-top:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1);border-bottom:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1);border-radius:0;transition:none}.___SCalendarUnit_upmfe_gg_.__compareEndHighlighted_upmfe_gg_,.___SCalendarUnit_upmfe_gg_.__compareStartHighlighted_upmfe_gg_{border-left:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1);border-right:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1)}.___SCalendarUnit_upmfe_gg_.__compareEnd_upmfe_gg_,.___SCalendarUnit_upmfe_gg_.__compareStart_upmfe_gg_{border-radius:0;background-color:var(--intergalactic-date-picker-cell-comparison-active, #8649e1);color:var(--intergalactic-text-primary-invert, #ffffff)}@media (hover:hover){.___SCalendarUnit_upmfe_gg_.__compareEnd_upmfe_gg_:hover,.___SCalendarUnit_upmfe_gg_.__compareStart_upmfe_gg_:hover{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-comparison-active-hover, #5925ab)}}.___SCalendarUnit_upmfe_gg_.__compareStartHighlighted_upmfe_gg_{border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_upmfe_gg_.__compareEndHighlighted_upmfe_gg_{border-top-right-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_upmfe_gg_.__compareStart_upmfe_gg_:not(.__compareHighlighted_upmfe_gg_){border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_upmfe_gg_.__compareEnd_upmfe_gg_:not(.__compareHighlighted_upmfe_gg_){border-top-right-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_upmfe_gg_.__outdated_upmfe_gg_{opacity:.2}.___SCalendarUnit_upmfe_gg_.__disabled_upmfe_gg_{opacity:.4;cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SCalendarUnit_upmfe_gg_,.___SCalendarUnit_upmfe_gg_.__highlighted_upmfe_gg_,.___SCalendarUnit_upmfe_gg_.__selected_upmfe_gg_{transition:none}}" /*__inner_css_end__*/, "upmfe_gg_") /*__reshadow_css_end__*/, {
28
- "__SCalendar": "___SCalendar_upmfe_gg_",
29
- "__SGridDays": "___SGridDays_upmfe_gg_",
30
- "__SGridMonths": "___SGridMonths_upmfe_gg_",
31
- "__SWeekDays": "___SWeekDays_upmfe_gg_",
32
- "__SWeekDay": "___SWeekDay_upmfe_gg_",
33
- "__SCalendarUnit": "___SCalendarUnit_upmfe_gg_",
34
- "_startHighlighted": "__startHighlighted_upmfe_gg_",
35
- "_selected": "__selected_upmfe_gg_",
36
- "_endHighlighted": "__endHighlighted_upmfe_gg_",
37
- "_startSelected": "__startSelected_upmfe_gg_",
38
- "_endSelected": "__endSelected_upmfe_gg_",
39
- "_compareHighlighted": "__compareHighlighted_upmfe_gg_",
40
- "_compareStartHighlighted": "__compareStartHighlighted_upmfe_gg_",
41
- "_compareEndHighlighted": "__compareEndHighlighted_upmfe_gg_",
42
- "_compareStart": "__compareStart_upmfe_gg_",
43
- "_compareEnd": "__compareEnd_upmfe_gg_",
44
- "_outdated": "__outdated_upmfe_gg_",
45
- "_disabled": "__disabled_upmfe_gg_",
46
- "_highlighted": "__highlighted_upmfe_gg_",
47
- "_today": "__today_upmfe_gg_"
29
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SCalendar_1l0r9_gg_{display:flex;flex-direction:column}.___SGridDays_1l0r9_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto));grid-template-rows:repeat(auto-fit,minmax(32px,auto))}.___SGridMonths_1l0r9_gg_{display:grid;grid-row-gap:var(--intergalactic-spacing-2x, 8px);grid-template-columns:repeat(3,minmax(60px,auto));grid-template-rows:repeat(4,minmax(32px,auto))}.___SWeekDays_1l0r9_gg_{display:grid;grid-template-columns:repeat(7,minmax(32px,auto))}.___SCalendarUnit_1l0r9_gg_,.___SWeekDay_1l0r9_gg_{align-items:center;display:flex;font-size:var(--intergalactic-fs-200, 14px);justify-content:center;min-height:32px;min-width:32px}.___SWeekDay_1l0r9_gg_{color:var(--intergalactic-text-secondary, #6c6e79);font-weight:var(--intergalactic-regular, 400);overflow:hidden}.___SCalendarUnit_1l0r9_gg_{font-family:inherit;font-weight:400;line-height:normal;-webkit-text-decoration:none;text-decoration:none;text-align:center;vertical-align:middle;border:1px solid transparent;color:var(--intergalactic-text-primary, #191b23);box-shadow:none;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background-color:var(--intergalactic-date-picker-cell, #ffffff);border-radius:var(--intergalactic-control-rounded, 6px);box-sizing:border-box;cursor:pointer;position:relative;transition:color .15s,background .15s,box-shadow .15s,border-radius .15s .15s;outline:0;margin:4px 0 0}@media (hover:hover){.___SCalendarUnit_1l0r9_gg_:hover{color:var(--intergalactic-text-primary, #191b23);background-color:var(--intergalactic-date-picker-cell-hover, #e0e1e9)}}.___SCalendarUnit_1l0r9_gg_:focus{z-index:1}.___SCalendarUnit_1l0r9_gg_:focus-visible{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SCalendarUnit_1l0r9_gg_.__today_1l0r9_gg_:before{content:\"\";position:absolute;display:block;top:1px;left:1px;border-radius:var(--intergalactic-control-rounded, 6px);width:calc(100% - 2px);height:calc(100% - 2px);box-sizing:border-box;border:1px solid var(--intergalactic-border-primary, #c4c7cf)}.___SCalendarUnit_1l0r9_gg_.___SCalendarUnit_1l0r9_gg_.__today_1l0r9_gg_.__endSelected_1l0r9_gg_:before,.___SCalendarUnit_1l0r9_gg_.___SCalendarUnit_1l0r9_gg_.__today_1l0r9_gg_.__startSelected_1l0r9_gg_:before{border-color:var(--intergalactic-border-secondary, #e0e1e9)}.___SCalendarUnit_1l0r9_gg_.__highlighted_1l0r9_gg_,.___SCalendarUnit_1l0r9_gg_.__selected_1l0r9_gg_{border-radius:0;transition:color .15s,background .15s,box-shadow .15s,border-radius 0s 0s;color:var(--intergalactic-text-primary, #191b23)}.___SCalendarUnit_1l0r9_gg_.__selected_1l0r9_gg_{background-color:var(--intergalactic-date-picker-cell-range, #c4e5fe)}@media (hover:hover){.___SCalendarUnit_1l0r9_gg_.__selected_1l0r9_gg_:hover{background-color:var(--intergalactic-date-picker-cell-range-hover, #8ecdff)}}.___SCalendarUnit_1l0r9_gg_.__highlighted_1l0r9_gg_{background-color:var(--intergalactic-date-picker-cell-range-hover, #8ecdff)}@media (hover:hover){.___SCalendarUnit_1l0r9_gg_.__highlighted_1l0r9_gg_:hover{background-color:var(--intergalactic-date-picker-cell-range-hover, #8ecdff)}}.___SCalendarUnit_1l0r9_gg_.__startSelected_1l0r9_gg_{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-active, #2bb3ff)}.___SCalendarUnit_1l0r9_gg_.__startSelected_1l0r9_gg_:not(.__highlighted_1l0r9_gg_){border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:0;border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-top-right-radius:0}@media (hover:hover){.___SCalendarUnit_1l0r9_gg_.__startSelected_1l0r9_gg_:hover{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-active-hover, #008ff8)}}.___SCalendarUnit_1l0r9_gg_.__endSelected_1l0r9_gg_{background-color:var(--intergalactic-date-picker-cell-active, #2bb3ff);color:var(--intergalactic-text-primary-invert, #ffffff)}.___SCalendarUnit_1l0r9_gg_.__endSelected_1l0r9_gg_:not(.__highlighted_1l0r9_gg_){border-bottom-left-radius:0;border-bottom-right-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:0;border-top-right-radius:var(--intergalactic-control-rounded, 6px)}@media (hover:hover){.___SCalendarUnit_1l0r9_gg_.__endSelected_1l0r9_gg_:hover{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-active-hover, #008ff8)}}.___SCalendarUnit_1l0r9_gg_.__startHighlighted_1l0r9_gg_:not(.__selected_1l0r9_gg_){border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:0;border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-top-right-radius:0}.___SCalendarUnit_1l0r9_gg_.__endHighlighted_1l0r9_gg_:not(.__selected_1l0r9_gg_){border-bottom-left-radius:0;border-bottom-right-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:0;border-top-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_1l0r9_gg_.__startHighlighted_1l0r9_gg_.___SCalendarUnit_1l0r9_gg_.__endHighlighted_1l0r9_gg_,.___SCalendarUnit_1l0r9_gg_.__startSelected_1l0r9_gg_.___SCalendarUnit_1l0r9_gg_.__endSelected_1l0r9_gg_{border-bottom-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:var(--intergalactic-control-rounded, 6px);border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-top-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_1l0r9_gg_.__compareHighlighted_1l0r9_gg_{border-top:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1);border-bottom:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1);border-radius:0;transition:none}.___SCalendarUnit_1l0r9_gg_.__compareEndHighlighted_1l0r9_gg_,.___SCalendarUnit_1l0r9_gg_.__compareStartHighlighted_1l0r9_gg_{border-left:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1);border-right:2px dashed var(--intergalactic-date-picker-cell-comparison-active, #8649e1)}.___SCalendarUnit_1l0r9_gg_.__compareEnd_1l0r9_gg_,.___SCalendarUnit_1l0r9_gg_.__compareStart_1l0r9_gg_{border-radius:0;background-color:var(--intergalactic-date-picker-cell-comparison-active, #8649e1);color:var(--intergalactic-text-primary-invert, #ffffff)}@media (hover:hover){.___SCalendarUnit_1l0r9_gg_.__compareEnd_1l0r9_gg_:hover,.___SCalendarUnit_1l0r9_gg_.__compareStart_1l0r9_gg_:hover{color:var(--intergalactic-text-primary-invert, #ffffff);background-color:var(--intergalactic-date-picker-cell-comparison-active-hover, #5925ab)}}.___SCalendarUnit_1l0r9_gg_.__compareStartHighlighted_1l0r9_gg_{border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_1l0r9_gg_.__compareEndHighlighted_1l0r9_gg_{border-top-right-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_1l0r9_gg_.__compareStart_1l0r9_gg_:not(.__compareHighlighted_1l0r9_gg_){border-top-left-radius:var(--intergalactic-control-rounded, 6px);border-bottom-left-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_1l0r9_gg_.__compareEnd_1l0r9_gg_:not(.__compareHighlighted_1l0r9_gg_){border-top-right-radius:var(--intergalactic-control-rounded, 6px);border-bottom-right-radius:var(--intergalactic-control-rounded, 6px)}.___SCalendarUnit_1l0r9_gg_.__outdated_1l0r9_gg_{opacity:.2}.___SCalendarUnit_1l0r9_gg_.__disabled_1l0r9_gg_{opacity:.4;cursor:default;pointer-events:none}@media (prefers-reduced-motion){.___SCalendarUnit_1l0r9_gg_,.___SCalendarUnit_1l0r9_gg_.__highlighted_1l0r9_gg_,.___SCalendarUnit_1l0r9_gg_.__selected_1l0r9_gg_{transition:none}}" /*__inner_css_end__*/, "1l0r9_gg_") /*__reshadow_css_end__*/, {
30
+ "__SCalendar": "___SCalendar_1l0r9_gg_",
31
+ "__SGridDays": "___SGridDays_1l0r9_gg_",
32
+ "__SGridMonths": "___SGridMonths_1l0r9_gg_",
33
+ "__SWeekDays": "___SWeekDays_1l0r9_gg_",
34
+ "__SWeekDay": "___SWeekDay_1l0r9_gg_",
35
+ "__SCalendarUnit": "___SCalendarUnit_1l0r9_gg_",
36
+ "_startHighlighted": "__startHighlighted_1l0r9_gg_",
37
+ "_selected": "__selected_1l0r9_gg_",
38
+ "_endHighlighted": "__endHighlighted_1l0r9_gg_",
39
+ "_startSelected": "__startSelected_1l0r9_gg_",
40
+ "_endSelected": "__endSelected_1l0r9_gg_",
41
+ "_compareHighlighted": "__compareHighlighted_1l0r9_gg_",
42
+ "_compareStartHighlighted": "__compareStartHighlighted_1l0r9_gg_",
43
+ "_compareEndHighlighted": "__compareEndHighlighted_1l0r9_gg_",
44
+ "_compareStart": "__compareStart_1l0r9_gg_",
45
+ "_compareEnd": "__compareEnd_1l0r9_gg_",
46
+ "_outdated": "__outdated_1l0r9_gg_",
47
+ "_disabled": "__disabled_1l0r9_gg_",
48
+ "_highlighted": "__highlighted_1l0r9_gg_",
49
+ "_today": "__today_1l0r9_gg_"
48
50
  });
49
51
  dayjs.extend(isBetween);
50
52
  var range = function range(N, cb) {
@@ -77,12 +79,16 @@ var CalendarWeekDaysRoot = /*#__PURE__*/function (_Component) {
77
79
  var locale = this.asProps.locale;
78
80
  var date = dayjs().locale(locale, getDayJSLocaleParams(locale)).startOf('week');
79
81
  return range(7, function () {
80
- var weekday = new Intl.DateTimeFormat(locale, {
82
+ var _short = new Intl.DateTimeFormat(locale, {
81
83
  weekday: 'short'
82
84
  }).format(date.valueOf());
85
+ var _long = new Intl.DateTimeFormat(locale, {
86
+ weekday: 'long'
87
+ }).format(date.valueOf());
83
88
  date = date.add(1, 'day');
84
89
  return {
85
- children: weekday
90
+ children: _short,
91
+ abbr: _long
86
92
  };
87
93
  });
88
94
  }
@@ -111,8 +117,8 @@ _defineProperty(CalendarWeekDaysRoot, "displayName", 'CalendarWeekDays');
111
117
  _defineProperty(CalendarWeekDaysRoot, "style", style);
112
118
  _defineProperty(CalendarWeekDaysRoot, "defaultProps", {
113
119
  locale: 'en',
114
- children: function children(_ref15) {
115
- var days = _ref15.days;
120
+ children: function children(_ref17) {
121
+ var days = _ref17.days;
116
122
  return days.map(function (data, i) {
117
123
  return /*#__PURE__*/React.createElement(CalendarWeekDays.Unit, _extends({
118
124
  key: i
@@ -120,20 +126,24 @@ _defineProperty(CalendarWeekDaysRoot, "defaultProps", {
120
126
  });
121
127
  }
122
128
  });
123
- function CalendarWeekUnit(props) {
129
+ function CalendarWeekUnit(_ref11) {
124
130
  var _ref2 = arguments[0],
125
131
  _ref7;
132
+ var styles = _ref11.styles,
133
+ abbr = _ref11.abbr;
126
134
  var SWeekDay = Box;
127
- return _ref7 = sstyled(props.styles), /*#__PURE__*/React.createElement(SWeekDay, _ref7.cn("SWeekDay", _objectSpread({}, _assignProps2({}, _ref2))));
135
+ return _ref7 = sstyled(styles), /*#__PURE__*/React.createElement(SWeekDay, _ref7.cn("SWeekDay", _objectSpread({}, _assignProps2({
136
+ "abbr": abbr
137
+ }, _ref2))));
128
138
  }
129
139
  function resolveHighlighting(date, unit, highlighted) {
130
140
  var highlighted0 = highlighted[0] ? dayjs(highlighted[0]) : null;
131
141
  var highlighted1 = highlighted[1] ? dayjs(highlighted[1]) : highlighted0;
132
142
  if (highlighted0 && highlighted1) {
133
143
  if (highlighted0 > highlighted1) {
134
- var _ref11 = [highlighted0, highlighted1];
135
- highlighted1 = _ref11[0];
136
- highlighted0 = _ref11[1];
144
+ var _ref12 = [highlighted0, highlighted1];
145
+ highlighted1 = _ref12[0];
146
+ highlighted0 = _ref12[1];
137
147
  }
138
148
  return {
139
149
  highlighted: date.isBetween(highlighted0, highlighted1, unit, '[]'),
@@ -153,9 +163,9 @@ function resolveSelecting(date, unit, value) {
153
163
  var selected;
154
164
  if (value0 && value1) {
155
165
  if (value0 > value1) {
156
- var _ref12 = [value0, value1];
157
- value1 = _ref12[0];
158
- value0 = _ref12[1];
166
+ var _ref13 = [value0, value1];
167
+ value1 = _ref13[0];
168
+ value0 = _ref13[1];
159
169
  }
160
170
  selected = date.isBetween(value0, value1, unit, '()');
161
171
  }
@@ -182,14 +192,15 @@ var CalendarAbstract = /*#__PURE__*/function (_Component2) {
182
192
  var highlighted = _this.asProps.highlighted;
183
193
  fire(_assertThisInitialized(_this), 'onHighlightedChange', highlighted.length ? [highlighted[0]] : []);
184
194
  });
195
+ _defineProperty(_assertThisInitialized(_this), "formatter", formatDDMMYY);
185
196
  return _this;
186
197
  }
187
198
  _createClass(CalendarAbstract, [{
188
199
  key: "createUnit",
189
- value: function createUnit(_ref13, unit) {
200
+ value: function createUnit(_ref14, unit) {
190
201
  var _this2 = this;
191
- var date = _ref13.date,
192
- other = _objectWithoutProperties(_ref13, _excluded);
202
+ var date = _ref14.date,
203
+ other = _objectWithoutProperties(_ref14, _excluded);
193
204
  var self = this;
194
205
  var _this$asProps2 = this.asProps,
195
206
  _disabled = _this$asProps2.disabled,
@@ -204,7 +215,7 @@ var CalendarAbstract = /*#__PURE__*/function (_Component2) {
204
215
  var comparing = resolveSelecting(date, unit, compare !== null && compare !== void 0 ? compare : []);
205
216
  var disabled = _disabled.some(includesDate(date, unit));
206
217
  return _objectSpread({
207
- date: getLocaleDate(date, locale),
218
+ date: this.formatter(date, locale),
208
219
  children: '',
209
220
  startSelected: selecting.startSelected,
210
221
  endSelected: selecting.endSelected,
@@ -253,23 +264,83 @@ var CalendarAbstract = /*#__PURE__*/function (_Component2) {
253
264
  }
254
265
  }, other);
255
266
  }
267
+ }, {
268
+ key: "getUnitProps",
269
+ value: function getUnitProps(_ref15) {
270
+ var date = _ref15.date;
271
+ var unitRefs = this.asProps.unitRefs;
272
+ return {
273
+ ref: function ref(node) {
274
+ if (!date) return;
275
+ unitRefs[date] = node;
276
+ }
277
+ };
278
+ }
279
+ }, {
280
+ key: "describeValue",
281
+ value: function describeValue() {
282
+ var _this3 = this;
283
+ var _this$asProps3 = this.asProps,
284
+ locale = _this$asProps3.locale,
285
+ getI18nText = _this$asProps3.getI18nText,
286
+ actionsDescribing = _this$asProps3.actionsDescribing;
287
+ var value = this.asProps.value || [];
288
+ var compare = this.asProps.compare || [];
289
+ if (!actionsDescribing) return null;
290
+ var t = function t(key, date) {
291
+ return getI18nText(key, date ? {
292
+ date: _this3.formatter(date, locale)
293
+ } : undefined);
294
+ };
295
+ var description = '';
296
+ if (value.length === 1 || compare.length === 1) {
297
+ description += t('selectingStarted') + '. ';
298
+ } else if (value.length === 2 || compare.length === 2) {
299
+ description += t('selectingFinished') + '. ';
300
+ }
301
+ if (actionsDescribing === 'range') {
302
+ if (value[0] || value[1]) description += t('dateRange') + ' ';
303
+ if (value[0]) description += t('fromDate', value[0]) + ', ';
304
+ if (value[1]) description += t('toDate', value[1]) + '. ';
305
+ } else if (actionsDescribing === 'range-compare') {
306
+ if (compare.length === 1) {
307
+ description += t('dateRange2') + ' ';
308
+ if (compare[0]) description += t('fromDate', value[0]) + ', ';
309
+ if (compare[1]) description += t('toDate', value[1]) + '. ';
310
+ } else {
311
+ if (value[0] || value[1]) description += t('dateRange1') + ' ';
312
+ if (value[0]) description += t('fromDate', value[0]) + ', ';
313
+ if (value[1]) description += t('toDate', value[1]) + '. ';
314
+ if (compare.length > 0) {
315
+ description += t('dateRange2') + ' ';
316
+ if (compare[0]) description += t('fromDate', compare[0]) + ', ';
317
+ if (compare[1]) description += t('toDate', compare[1]) + '. ';
318
+ }
319
+ }
320
+ }
321
+ return description;
322
+ }
256
323
  }]);
257
324
  return CalendarAbstract;
258
325
  }(Component);
259
326
  _defineProperty(CalendarAbstract, "style", style);
260
- function CalendarUnit(_ref14) {
327
+ function CalendarUnit(_ref16) {
261
328
  var _ref3 = arguments[0],
262
329
  _ref8;
263
- var styles = _ref14.styles,
264
- date = _ref14.date;
330
+ var styles = _ref16.styles,
331
+ date = _ref16.date,
332
+ outdated = _ref16.outdated,
333
+ disabled = _ref16.disabled;
265
334
  var SCalendarUnit = Box;
266
335
  return _ref8 = sstyled(styles), /*#__PURE__*/React.createElement(SCalendarUnit, _ref8.cn("SCalendarUnit", _objectSpread({}, _assignProps3({
336
+ "use:disabled": disabled || outdated || !date,
267
337
  "tag": 'button',
338
+ "type": 'button',
268
339
  "aria-hidden": !date,
269
- "aria-label": date,
270
- "tabIndex": -1
340
+ "aria-label": date
271
341
  }, _ref3))));
272
342
  }
343
+ CalendarUnit.enhance = [keyboardFocusEnhance()];
273
344
  var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
274
345
  _inherits(CalendarDaysRoot, _CalendarAbstract);
275
346
  var _super3 = _createSuper(CalendarDaysRoot);
@@ -280,11 +351,11 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
280
351
  _createClass(CalendarDaysRoot, [{
281
352
  key: "getDaysByMonth",
282
353
  value: function getDaysByMonth() {
283
- var _this3 = this;
284
- var _this$asProps3 = this.asProps,
285
- displayedPeriod = _this$asProps3.displayedPeriod,
286
- renderOutdated = _this$asProps3.renderOutdated,
287
- locale = _this$asProps3.locale;
354
+ var _this4 = this;
355
+ var _this$asProps4 = this.asProps,
356
+ displayedPeriod = _this$asProps4.displayedPeriod,
357
+ renderOutdated = _this$asProps4.renderOutdated,
358
+ locale = _this$asProps4.locale;
288
359
  var date = dayjs(displayedPeriod).startOf('month');
289
360
  var prevDate = date.subtract(1, 'month');
290
361
  var nextDate = date.add(1, 'month');
@@ -292,7 +363,7 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
292
363
  /* 0 - 6 */
293
364
  var dateStartOfWeek = date.locale(locale, getDayJSLocaleParams(locale)).startOf('week').get('d') ? (date.get('d') || 7) - 1 : date.get('d');
294
365
  var prevMonthDays = dateStartOfWeek ? range(prevDate.daysInMonth(), function () {
295
- var day = _this3.createUnit({
366
+ var day = _this4.createUnit({
296
367
  date: prevDate,
297
368
  outdated: true
298
369
  }, 'date');
@@ -301,7 +372,7 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
301
372
  return day;
302
373
  }).slice(-dateStartOfWeek) : [];
303
374
  var monthDays = range(date.daysInMonth(), function () {
304
- var day = _this3.createUnit({
375
+ var day = _this4.createUnit({
305
376
  date: date
306
377
  }, 'date');
307
378
  day.children = String(date.get('date'));
@@ -309,7 +380,7 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
309
380
  return day;
310
381
  });
311
382
  var nextMonthDays = range(42 - prevMonthDays.length - monthDays.length, function () {
312
- var day = _this3.createUnit({
383
+ var day = _this4.createUnit({
313
384
  date: nextDate,
314
385
  outdated: true
315
386
  }, 'date');
@@ -342,17 +413,18 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
342
413
  _ref9;
343
414
  var SCalendar = Box;
344
415
  var SGridDays = 'div';
345
- var _this$asProps4 = this.asProps,
346
- Children = _this$asProps4.Children,
347
- styles = _this$asProps4.styles,
348
- locale = _this$asProps4.locale;
349
- return _ref9 = sstyled(styles), /*#__PURE__*/React.createElement(SCalendar, _ref9.cn("SCalendar", _objectSpread({}, _assignProps4({
350
- "aria-hidden": 'true'
351
- }, _ref4))), /*#__PURE__*/React.createElement(CalendarWeekDays, _ref9.cn("CalendarWeekDays", {
416
+ var _this$asProps5 = this.asProps,
417
+ Children = _this$asProps5.Children,
418
+ styles = _this$asProps5.styles,
419
+ locale = _this$asProps5.locale;
420
+ var description = this.describeValue();
421
+ return _ref9 = sstyled(styles), /*#__PURE__*/React.createElement(SCalendar, _ref9.cn("SCalendar", _objectSpread({}, _assignProps4({}, _ref4))), /*#__PURE__*/React.createElement(CalendarWeekDays, _ref9.cn("CalendarWeekDays", {
352
422
  "locale": locale
353
423
  })), /*#__PURE__*/React.createElement(SGridDays, _ref9.cn("SGridDays", {
354
424
  "onMouseLeave": this.handleMouseLeave
355
- }), /*#__PURE__*/React.createElement(Children, _ref9.cn("Children", {}))));
425
+ }), /*#__PURE__*/React.createElement(Children, _ref9.cn("Children", {}))), /*#__PURE__*/React.createElement(ScreenReaderOnly, _ref9.cn("ScreenReaderOnly", {}), /*#__PURE__*/React.createElement("span", _ref9.cn("span", {
426
+ "aria-live": 'polite'
427
+ }), description)));
356
428
  }
357
429
  }]);
358
430
  return CalendarDaysRoot;
@@ -363,8 +435,8 @@ _defineProperty(CalendarDaysRoot, "defaultProps", {
363
435
  disabled: [],
364
436
  value: [],
365
437
  locale: 'en',
366
- children: function children(_ref16) {
367
- var days = _ref16.days;
438
+ children: function children(_ref18) {
439
+ var days = _ref18.days;
368
440
  return days.map(function (data, i) {
369
441
  return /*#__PURE__*/React.createElement(CalendarDays.Unit, _extends({
370
442
  key: i
@@ -376,24 +448,33 @@ var CalendarMonthsRoot = /*#__PURE__*/function (_CalendarAbstract2) {
376
448
  _inherits(CalendarMonthsRoot, _CalendarAbstract2);
377
449
  var _super4 = _createSuper(CalendarMonthsRoot);
378
450
  function CalendarMonthsRoot() {
451
+ var _this5;
379
452
  _classCallCheck(this, CalendarMonthsRoot);
380
- return _super4.apply(this, arguments);
453
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
454
+ args[_key2] = arguments[_key2];
455
+ }
456
+ _this5 = _super4.call.apply(_super4, [this].concat(args));
457
+ _defineProperty(_assertThisInitialized(_this5), "formatter", formatMMYY);
458
+ return _this5;
381
459
  }
382
460
  _createClass(CalendarMonthsRoot, [{
383
461
  key: "getMonthsByYear",
384
462
  value: function getMonthsByYear() {
385
- var _this4 = this;
386
- var _this$asProps5 = this.asProps,
387
- displayedPeriod = _this$asProps5.displayedPeriod,
388
- locale = _this$asProps5.locale;
463
+ var _this6 = this;
464
+ var _this$asProps6 = this.asProps,
465
+ displayedPeriod = _this$asProps6.displayedPeriod,
466
+ locale = _this$asProps6.locale;
389
467
  var date = dayjs(displayedPeriod).startOf('year');
390
468
  return range(12, function () {
391
- var month = _this4.createUnit({
469
+ var month = _this6.createUnit({
392
470
  date: date
393
471
  }, 'month');
394
472
  month.children = new Intl.DateTimeFormat(locale, {
395
473
  month: 'short'
396
474
  }).format(date.valueOf());
475
+ month.abbr = new Intl.DateTimeFormat(locale, {
476
+ month: 'long'
477
+ }).format(date.valueOf());
397
478
  date = date.add(1, 'month');
398
479
  return month;
399
480
  });
@@ -412,12 +493,15 @@ var CalendarMonthsRoot = /*#__PURE__*/function (_CalendarAbstract2) {
412
493
  _ref10;
413
494
  var SCalendar = Box;
414
495
  var SGridMonths = 'div';
415
- var _this$asProps6 = this.asProps,
416
- Children = _this$asProps6.Children,
417
- styles = _this$asProps6.styles;
496
+ var _this$asProps7 = this.asProps,
497
+ Children = _this$asProps7.Children,
498
+ styles = _this$asProps7.styles;
499
+ var description = this.describeValue();
418
500
  return _ref10 = sstyled(styles), /*#__PURE__*/React.createElement(SCalendar, _ref10.cn("SCalendar", _objectSpread({}, _assignProps5({}, _ref5))), /*#__PURE__*/React.createElement(SGridMonths, _ref10.cn("SGridMonths", {
419
501
  "onMouseLeave": this.handleMouseLeave
420
- }), /*#__PURE__*/React.createElement(Children, _ref10.cn("Children", {}))));
502
+ }), /*#__PURE__*/React.createElement(Children, _ref10.cn("Children", {}))), /*#__PURE__*/React.createElement(ScreenReaderOnly, _ref10.cn("ScreenReaderOnly", {}), /*#__PURE__*/React.createElement("span", _ref10.cn("span", {
503
+ "aria-live": 'polite'
504
+ }), description)));
421
505
  }
422
506
  }]);
423
507
  return CalendarMonthsRoot;
@@ -425,8 +509,8 @@ var CalendarMonthsRoot = /*#__PURE__*/function (_CalendarAbstract2) {
425
509
  _defineProperty(CalendarMonthsRoot, "displayName", 'CalendarMonths');
426
510
  _defineProperty(CalendarMonthsRoot, "defaultProps", {
427
511
  locale: 'en',
428
- children: function children(_ref17) {
429
- var months = _ref17.months;
512
+ children: function children(_ref19) {
513
+ var months = _ref19.months;
430
514
  return months.map(function (data, i) {
431
515
  return /*#__PURE__*/React.createElement(CalendarMonths.Unit, _extends({
432
516
  key: i
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","names":["React","dayjs","isBetween","createComponent","Component","Root","sstyled","Box","fire","includesDate","getLocaleDate","style","_sstyled","insert","extend","range","N","cb","Array","from","length","v","k","getDayJSLocaleParams","locale","includes","_objectSpread","weekStart","Ls","CalendarWeekDaysRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getDaysByWeek","asProps","date","startOf","weekday","Intl","DateTimeFormat","format","valueOf","add","children","setContext","days","render","_ref","_ref6","SWeekDays","_this$asProps","Children","styles","createElement","cn","_assignProps","_defineProperty","_ref15","map","data","i","CalendarWeekDays","Unit","_extends","CalendarWeekUnit","props","_ref2","arguments[0]","_ref7","SWeekDay","_assignProps2","resolveHighlighting","unit","highlighted","highlighted0","highlighted1","_ref11","startHighlighted","isSame","endHighlighted","undefined","resolveSelecting","value0","value1","selected","_ref12","startSelected","endSelected","CalendarAbstract","_Component2","_super2","_this","_len","args","_key","call","concat","_assertThisInitialized","Date","setHours","createUnit","_ref13","_this2","other","_objectWithoutProperties","_excluded","self","_this$asProps2","_disabled","disabled","compare","compareHighlighted","highlighting","comparedHighlighting","selecting","comparing","some","compareStartHighlighted","compareEndHighlighted","compareStart","compareEnd","today","onClick","_this2$asProps","_highlighted","toDate","onMouseEnter","_this2$asProps2","startDate","CalendarUnit","_ref14","_ref3","_ref8","SCalendarUnit","_assignProps3","CalendarDaysRoot","_CalendarAbstract","_super3","getDaysByMonth","_this3","_this$asProps3","displayedPeriod","renderOutdated","prevDate","subtract","nextDate","dateStartOfWeek","get","prevMonthDays","daysInMonth","day","outdated","String","slice","monthDays","nextMonthDays","_toConsumableArray","_ref4","_ref9","SCalendar","SGridDays","_this$asProps4","_assignProps4","handleMouseLeave","_ref16","CalendarDays","CalendarMonthsRoot","_CalendarAbstract2","_super4","getMonthsByYear","_this4","_this$asProps5","month","months","_ref5","_ref10","SGridMonths","_this$asProps6","_assignProps5","_ref17","CalendarMonths"],"sources":["../../../src/components/Calendar.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport fire from '@semcore/utils/lib/fire';\nimport includesDate from '../utils/includesDate';\nimport { getLocaleDate } from '../utils/formatDate';\n\nimport style from '../style/calendar.shadow.css';\n\ndayjs.extend(isBetween);\n\nconst range = (N, cb) => Array.from({ length: N }, (v, k) => cb(k));\n\nfunction getDayJSLocaleParams(locale) {\n if (locale.includes('en') || locale.includes('ja')) {\n return {\n weekStart: 0,\n ...dayjs.Ls[locale],\n };\n }\n return {\n weekStart: 1,\n ...dayjs.Ls[locale],\n };\n}\n\nclass CalendarWeekDaysRoot extends Component {\n static displayName = 'CalendarWeekDays';\n static style = style;\n static defaultProps = {\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarWeekDays.Unit key={i} {...data} />),\n };\n\n getDaysByWeek() {\n const { locale } = this.asProps;\n\n let date = dayjs().locale(locale, getDayJSLocaleParams(locale)).startOf('week');\n return range(7, () => {\n const weekday = new Intl.DateTimeFormat(locale, { weekday: 'short' }).format(date.valueOf());\n date = date.add(1, 'day');\n return {\n children: weekday,\n };\n });\n }\n\n setContext() {\n return {\n days: this.getDaysByWeek(),\n };\n }\n\n render() {\n const SWeekDays = Root;\n const { Children, styles } = this.asProps;\n return sstyled(styles)(\n <SWeekDays render={Box}>\n <Children />\n </SWeekDays>,\n );\n }\n}\n\nfunction CalendarWeekUnit(props) {\n const SWeekDay = Root;\n return sstyled(props.styles)(<SWeekDay render={Box} />);\n}\n\nfunction resolveHighlighting(date, unit, highlighted) {\n let highlighted0 = highlighted[0] ? dayjs(highlighted[0]) : null;\n let highlighted1 = highlighted[1] ? dayjs(highlighted[1]) : highlighted0;\n if (highlighted0 && highlighted1) {\n if (highlighted0 > highlighted1) [highlighted1, highlighted0] = [highlighted0, highlighted1];\n return {\n highlighted: date.isBetween(highlighted0, highlighted1, unit, '[]'),\n startHighlighted: highlighted0 && date.isSame(highlighted0, 'date'),\n endHighlighted: highlighted1 && date.isSame(highlighted1, 'date'),\n };\n }\n return {\n highlighted: undefined,\n startHighlighted: undefined,\n endHighlighted: undefined,\n };\n}\nfunction resolveSelecting(date, unit, value) {\n let value0 = value[0] ? dayjs(value[0]) : null;\n let value1 = value[1] ? dayjs(value[1]) : null;\n let selected;\n if (value0 && value1) {\n if (value0 > value1) [value1, value0] = [value0, value1];\n selected = date.isBetween(value0, value1, unit, '()');\n }\n const startSelected = value0 && date.isSame(value0, unit);\n const endSelected = value1 && date.isSame(value1, unit);\n\n return {\n selected,\n startSelected,\n endSelected,\n };\n}\n\nclass CalendarAbstract extends Component {\n static style = style;\n\n today = new Date(new Date().setHours(0, 0, 0, 0));\n\n createUnit({ date, ...other }, unit) {\n const self = this;\n const {\n disabled: _disabled,\n value,\n compare,\n highlighted,\n compareHighlighted,\n locale,\n } = this.asProps;\n\n const highlighting = resolveHighlighting(date, unit, highlighted ?? []);\n const comparedHighlighting = resolveHighlighting(date, unit, compareHighlighted ?? []);\n const selecting = resolveSelecting(date, unit, value ?? []);\n const comparing = resolveSelecting(date, unit, compare ?? []);\n\n const disabled = _disabled.some(includesDate(date, unit));\n\n return {\n date: getLocaleDate(date, locale),\n children: '',\n startSelected: selecting.startSelected,\n endSelected: selecting.endSelected,\n selected: selecting.selected,\n highlighted: highlighting.highlighted,\n startHighlighted: highlighting.startHighlighted,\n endHighlighted: highlighting.endHighlighted,\n\n compareHighlighted: comparedHighlighting.highlighted || comparing.selected,\n compareStartHighlighted: comparedHighlighting.startHighlighted,\n compareEndHighlighted: comparedHighlighting.endHighlighted,\n compareStart: comparing.startSelected,\n compareEnd: comparing.endSelected,\n\n disabled,\n today: date.isSame(self.today, unit),\n onClick: () => {\n const { range, highlighted: _highlighted } = this.asProps;\n let highlighted = [date.valueOf()];\n\n if (_highlighted.length === 1) {\n highlighted = [_highlighted[0], date.valueOf()];\n } else if (_highlighted.length >= 2) {\n highlighted = [];\n }\n\n if (range === 'compare') {\n fire(this, 'onCompareHighlightedChange', highlighted);\n } else {\n fire(this, 'onHighlightedChange', highlighted);\n }\n fire(this, 'onChange', date.toDate());\n },\n onMouseEnter: () => {\n const { range, highlighted: _highlighted } = this.asProps;\n const value = range === 'compare' ? this.asProps.compare : this.asProps.value;\n if (_highlighted[0] || (value ?? []).length === 1) {\n const startDate = _highlighted[0] || (value ?? [])[0];\n const highlighted = [startDate.valueOf(), date.valueOf()];\n if (range === 'compare') {\n fire(this, 'onCompareHighlightedChange', highlighted);\n } else {\n fire(this, 'onHighlightedChange', highlighted);\n }\n }\n },\n ...other,\n };\n }\n\n handleMouseLeave = () => {\n const { highlighted } = this.asProps;\n\n fire(this, 'onHighlightedChange', highlighted.length ? [highlighted[0]] : []);\n };\n}\n\nfunction CalendarUnit({ styles, date }) {\n const SCalendarUnit = Root;\n return sstyled(styles)(\n <SCalendarUnit render={Box} tag='button' aria-hidden={!date} aria-label={date} tabIndex={-1} />,\n );\n}\n\nclass CalendarDaysRoot extends CalendarAbstract {\n static displayName = 'CalendarDays';\n static defaultProps = {\n displayedPeriod: new Date(new Date().setHours(0, 0, 0, 0)),\n disabled: [],\n value: [],\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarDays.Unit key={i} {...data} />),\n };\n\n getDaysByMonth() {\n const { displayedPeriod, renderOutdated, locale } = this.asProps;\n let date = dayjs(displayedPeriod).startOf('month');\n let prevDate = date.subtract(1, 'month');\n let nextDate = date.add(1, 'month');\n\n /* 0 - 6 */\n const dateStartOfWeek = date\n .locale(locale, getDayJSLocaleParams(locale))\n .startOf('week')\n .get('d')\n ? (date.get('d') || 7) - 1\n : date.get('d');\n\n let prevMonthDays = dateStartOfWeek\n ? range(prevDate.daysInMonth(), () => {\n const day = this.createUnit({ date: prevDate, outdated: true }, 'date');\n day.children = String(prevDate.get('date'));\n prevDate = prevDate.add(1, 'day');\n return day;\n }).slice(-dateStartOfWeek)\n : [];\n\n const monthDays = range(date.daysInMonth(), () => {\n const day = this.createUnit({ date }, 'date');\n day.children = String(date.get('date'));\n date = date.add(1, 'day');\n return day;\n });\n\n let nextMonthDays = range(42 - prevMonthDays.length - monthDays.length, () => {\n const day = this.createUnit({ date: nextDate, outdated: true }, 'date');\n day.children = String(nextDate.get('date'));\n nextDate = nextDate.add(1, 'day');\n return day;\n });\n\n if (!renderOutdated) {\n prevMonthDays = prevMonthDays.map(() => ({\n disabled: true,\n children: '',\n }));\n nextMonthDays = [];\n }\n\n return [...prevMonthDays, ...monthDays, ...nextMonthDays];\n }\n\n setContext() {\n return {\n days: this.getDaysByMonth(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridDays = 'div';\n const { Children, styles, locale } = this.asProps;\n\n return sstyled(styles)(\n <SCalendar render={Box} aria-hidden='true'>\n <CalendarWeekDays locale={locale} />\n <SGridDays onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridDays>\n </SCalendar>,\n );\n }\n}\n\nclass CalendarMonthsRoot extends CalendarAbstract {\n static displayName = 'CalendarMonths';\n static defaultProps = {\n locale: 'en',\n children: ({ months }) => months.map((data, i) => <CalendarMonths.Unit key={i} {...data} />),\n };\n\n getMonthsByYear() {\n const { displayedPeriod, locale } = this.asProps;\n\n let date = dayjs(displayedPeriod).startOf('year');\n\n return range(12, () => {\n const month = this.createUnit({ date }, 'month');\n month.children = new Intl.DateTimeFormat(locale, { month: 'short' }).format(date.valueOf());\n date = date.add(1, 'month');\n return month;\n });\n }\n\n setContext() {\n return {\n months: this.getMonthsByYear(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridMonths = 'div';\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <SGridMonths onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridMonths>\n </SCalendar>,\n );\n }\n}\n\nconst CalendarWeekDays = createComponent(CalendarWeekDaysRoot, {\n Unit: CalendarWeekUnit,\n});\n\nconst CalendarDays = createComponent(CalendarDaysRoot, {\n Unit: CalendarUnit,\n});\n\nconst CalendarMonths = createComponent(CalendarMonthsRoot, {\n Unit: CalendarUnit,\n});\n\nexport { CalendarUnit, CalendarWeekDays, CalendarDays, CalendarMonths };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.js","names":["React","dayjs","isBetween","createComponent","Component","Root","sstyled","Box","fire","includesDate","formatDDMMYY","formatMMYY","keyboardFocusEnhance","ScreenReaderOnly","style","_sstyled","insert","extend","range","N","cb","Array","from","length","v","k","getDayJSLocaleParams","locale","includes","_objectSpread","weekStart","Ls","CalendarWeekDaysRoot","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","getDaysByWeek","asProps","date","startOf","short","Intl","DateTimeFormat","weekday","format","valueOf","long","add","children","abbr","setContext","days","render","_ref","_ref6","SWeekDays","_this$asProps","Children","styles","createElement","cn","_assignProps","_defineProperty","_ref17","map","data","i","CalendarWeekDays","Unit","_extends","CalendarWeekUnit","_ref11","_ref2","arguments[0]","_ref7","SWeekDay","_assignProps2","resolveHighlighting","unit","highlighted","highlighted0","highlighted1","_ref12","startHighlighted","isSame","endHighlighted","undefined","resolveSelecting","value0","value1","selected","_ref13","startSelected","endSelected","CalendarAbstract","_Component2","_super2","_this","_len","args","_key","call","concat","_assertThisInitialized","Date","setHours","createUnit","_ref14","_this2","other","_objectWithoutProperties","_excluded","self","_this$asProps2","_disabled","disabled","compare","compareHighlighted","highlighting","comparedHighlighting","selecting","comparing","some","formatter","compareStartHighlighted","compareEndHighlighted","compareStart","compareEnd","today","onClick","_this2$asProps","_highlighted","toDate","onMouseEnter","_this2$asProps2","startDate","getUnitProps","_ref15","unitRefs","ref","node","describeValue","_this3","_this$asProps3","getI18nText","actionsDescribing","t","description","CalendarUnit","_ref16","_ref3","_ref8","outdated","SCalendarUnit","_assignProps3","enhance","CalendarDaysRoot","_CalendarAbstract","_super3","getDaysByMonth","_this4","_this$asProps4","displayedPeriod","renderOutdated","prevDate","subtract","nextDate","dateStartOfWeek","get","prevMonthDays","daysInMonth","day","String","slice","monthDays","nextMonthDays","_toConsumableArray","_ref4","_ref9","SCalendar","SGridDays","_this$asProps5","_assignProps4","handleMouseLeave","_ref18","CalendarDays","CalendarMonthsRoot","_CalendarAbstract2","_super4","_this5","_len2","_key2","getMonthsByYear","_this6","_this$asProps6","month","months","_ref5","_ref10","SGridMonths","_this$asProps7","_assignProps5","_ref19","CalendarMonths"],"sources":["../../../src/components/Calendar.jsx"],"sourcesContent":["import React from 'react';\nimport dayjs from 'dayjs';\nimport isBetween from 'dayjs/plugin/isBetween';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport fire from '@semcore/utils/lib/fire';\nimport includesDate from '../utils/includesDate';\nimport { formatDDMMYY, formatMMYY } from '../utils/formatDate';\nimport keyboardFocusEnhance from '@semcore/utils/lib/enhances/keyboardFocusEnhance';\nimport { ScreenReaderOnly } from '@semcore/utils/lib/ScreenReaderOnly';\n\nimport style from '../style/calendar.shadow.css';\n\ndayjs.extend(isBetween);\n\nconst range = (N, cb) => Array.from({ length: N }, (v, k) => cb(k));\n\nfunction getDayJSLocaleParams(locale) {\n if (locale.includes('en') || locale.includes('ja')) {\n return {\n weekStart: 0,\n ...dayjs.Ls[locale],\n };\n }\n return {\n weekStart: 1,\n ...dayjs.Ls[locale],\n };\n}\n\nclass CalendarWeekDaysRoot extends Component {\n static displayName = 'CalendarWeekDays';\n static style = style;\n static defaultProps = {\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarWeekDays.Unit key={i} {...data} />),\n };\n\n getDaysByWeek() {\n const { locale } = this.asProps;\n\n let date = dayjs().locale(locale, getDayJSLocaleParams(locale)).startOf('week');\n return range(7, () => {\n const short = new Intl.DateTimeFormat(locale, { weekday: 'short' }).format(date.valueOf());\n const long = new Intl.DateTimeFormat(locale, { weekday: 'long' }).format(date.valueOf());\n date = date.add(1, 'day');\n return {\n children: short,\n abbr: long,\n };\n });\n }\n\n setContext() {\n return {\n days: this.getDaysByWeek(),\n };\n }\n\n render() {\n const SWeekDays = Root;\n const { Children, styles } = this.asProps;\n return sstyled(styles)(\n <SWeekDays render={Box}>\n <Children />\n </SWeekDays>,\n );\n }\n}\n\nfunction CalendarWeekUnit({ styles, abbr }) {\n const SWeekDay = Root;\n return sstyled(styles)(<SWeekDay abbr={abbr} render={Box} />);\n}\n\nfunction resolveHighlighting(date, unit, highlighted) {\n let highlighted0 = highlighted[0] ? dayjs(highlighted[0]) : null;\n let highlighted1 = highlighted[1] ? dayjs(highlighted[1]) : highlighted0;\n if (highlighted0 && highlighted1) {\n if (highlighted0 > highlighted1) [highlighted1, highlighted0] = [highlighted0, highlighted1];\n return {\n highlighted: date.isBetween(highlighted0, highlighted1, unit, '[]'),\n startHighlighted: highlighted0 && date.isSame(highlighted0, 'date'),\n endHighlighted: highlighted1 && date.isSame(highlighted1, 'date'),\n };\n }\n return {\n highlighted: undefined,\n startHighlighted: undefined,\n endHighlighted: undefined,\n };\n}\nfunction resolveSelecting(date, unit, value) {\n let value0 = value[0] ? dayjs(value[0]) : null;\n let value1 = value[1] ? dayjs(value[1]) : null;\n let selected;\n if (value0 && value1) {\n if (value0 > value1) [value1, value0] = [value0, value1];\n selected = date.isBetween(value0, value1, unit, '()');\n }\n const startSelected = value0 && date.isSame(value0, unit);\n const endSelected = value1 && date.isSame(value1, unit);\n\n return {\n selected,\n startSelected,\n endSelected,\n };\n}\n\nclass CalendarAbstract extends Component {\n static style = style;\n\n today = new Date(new Date().setHours(0, 0, 0, 0));\n\n createUnit({ date, ...other }, unit) {\n const self = this;\n const {\n disabled: _disabled,\n value,\n compare,\n highlighted,\n compareHighlighted,\n locale,\n } = this.asProps;\n\n const highlighting = resolveHighlighting(date, unit, highlighted ?? []);\n const comparedHighlighting = resolveHighlighting(date, unit, compareHighlighted ?? []);\n const selecting = resolveSelecting(date, unit, value ?? []);\n const comparing = resolveSelecting(date, unit, compare ?? []);\n\n const disabled = _disabled.some(includesDate(date, unit));\n\n return {\n date: this.formatter(date, locale),\n children: '',\n startSelected: selecting.startSelected,\n endSelected: selecting.endSelected,\n selected: selecting.selected,\n highlighted: highlighting.highlighted,\n startHighlighted: highlighting.startHighlighted,\n endHighlighted: highlighting.endHighlighted,\n\n compareHighlighted: comparedHighlighting.highlighted || comparing.selected,\n compareStartHighlighted: comparedHighlighting.startHighlighted,\n compareEndHighlighted: comparedHighlighting.endHighlighted,\n compareStart: comparing.startSelected,\n compareEnd: comparing.endSelected,\n\n disabled,\n today: date.isSame(self.today, unit),\n onClick: () => {\n const { range, highlighted: _highlighted } = this.asProps;\n let highlighted = [date.valueOf()];\n\n if (_highlighted.length === 1) {\n highlighted = [_highlighted[0], date.valueOf()];\n } else if (_highlighted.length >= 2) {\n highlighted = [];\n }\n\n if (range === 'compare') {\n fire(this, 'onCompareHighlightedChange', highlighted);\n } else {\n fire(this, 'onHighlightedChange', highlighted);\n }\n fire(this, 'onChange', date.toDate());\n },\n onMouseEnter: () => {\n const { range, highlighted: _highlighted } = this.asProps;\n const value = range === 'compare' ? this.asProps.compare : this.asProps.value;\n if (_highlighted[0] || (value ?? []).length === 1) {\n const startDate = _highlighted[0] || (value ?? [])[0];\n const highlighted = [startDate.valueOf(), date.valueOf()];\n if (range === 'compare') {\n fire(this, 'onCompareHighlightedChange', highlighted);\n } else {\n fire(this, 'onHighlightedChange', highlighted);\n }\n }\n },\n ...other,\n };\n }\n\n handleMouseLeave = () => {\n const { highlighted } = this.asProps;\n\n fire(this, 'onHighlightedChange', highlighted.length ? [highlighted[0]] : []);\n };\n\n getUnitProps({ date }) {\n const { unitRefs } = this.asProps;\n return {\n ref: (node) => {\n if (!date) return;\n unitRefs[date] = node;\n },\n };\n }\n\n formatter = formatDDMMYY;\n describeValue() {\n const { locale, getI18nText, actionsDescribing } = this.asProps;\n const value = this.asProps.value || [];\n const compare = this.asProps.compare || [];\n\n if (!actionsDescribing) return null;\n\n const t = (key, date) =>\n getI18nText(key, date ? { date: this.formatter(date, locale) } : undefined);\n\n let description = '';\n if (value.length === 1 || compare.length === 1) {\n description += t('selectingStarted') + '. ';\n } else if (value.length === 2 || compare.length === 2) {\n description += t('selectingFinished') + '. ';\n }\n\n if (actionsDescribing === 'range') {\n if (value[0] || value[1]) description += t('dateRange') + ' ';\n if (value[0]) description += t('fromDate', value[0]) + ', ';\n if (value[1]) description += t('toDate', value[1]) + '. ';\n } else if (actionsDescribing === 'range-compare') {\n if (compare.length === 1) {\n description += t('dateRange2') + ' ';\n if (compare[0]) description += t('fromDate', value[0]) + ', ';\n if (compare[1]) description += t('toDate', value[1]) + '. ';\n } else {\n if (value[0] || value[1]) description += t('dateRange1') + ' ';\n if (value[0]) description += t('fromDate', value[0]) + ', ';\n if (value[1]) description += t('toDate', value[1]) + '. ';\n if (compare.length > 0) {\n description += t('dateRange2') + ' ';\n if (compare[0]) description += t('fromDate', compare[0]) + ', ';\n if (compare[1]) description += t('toDate', compare[1]) + '. ';\n }\n }\n }\n\n return description;\n }\n}\n\nfunction CalendarUnit({ styles, date, outdated, disabled }) {\n const SCalendarUnit = Root;\n return sstyled(styles)(\n <SCalendarUnit\n use:disabled={disabled || outdated || !date}\n render={Box}\n tag='button'\n type='button'\n aria-hidden={!date}\n aria-label={date}\n />,\n );\n}\nCalendarUnit.enhance = [keyboardFocusEnhance()];\n\nclass CalendarDaysRoot extends CalendarAbstract {\n static displayName = 'CalendarDays';\n static defaultProps = {\n displayedPeriod: new Date(new Date().setHours(0, 0, 0, 0)),\n disabled: [],\n value: [],\n locale: 'en',\n children: ({ days }) => days.map((data, i) => <CalendarDays.Unit key={i} {...data} />),\n };\n\n getDaysByMonth() {\n const { displayedPeriod, renderOutdated, locale } = this.asProps;\n let date = dayjs(displayedPeriod).startOf('month');\n let prevDate = date.subtract(1, 'month');\n let nextDate = date.add(1, 'month');\n\n /* 0 - 6 */\n const dateStartOfWeek = date\n .locale(locale, getDayJSLocaleParams(locale))\n .startOf('week')\n .get('d')\n ? (date.get('d') || 7) - 1\n : date.get('d');\n\n let prevMonthDays = dateStartOfWeek\n ? range(prevDate.daysInMonth(), () => {\n const day = this.createUnit({ date: prevDate, outdated: true }, 'date');\n day.children = String(prevDate.get('date'));\n prevDate = prevDate.add(1, 'day');\n return day;\n }).slice(-dateStartOfWeek)\n : [];\n\n const monthDays = range(date.daysInMonth(), () => {\n const day = this.createUnit({ date }, 'date');\n day.children = String(date.get('date'));\n date = date.add(1, 'day');\n return day;\n });\n\n let nextMonthDays = range(42 - prevMonthDays.length - monthDays.length, () => {\n const day = this.createUnit({ date: nextDate, outdated: true }, 'date');\n day.children = String(nextDate.get('date'));\n nextDate = nextDate.add(1, 'day');\n return day;\n });\n\n if (!renderOutdated) {\n prevMonthDays = prevMonthDays.map(() => ({\n disabled: true,\n children: '',\n }));\n nextMonthDays = [];\n }\n\n return [...prevMonthDays, ...monthDays, ...nextMonthDays];\n }\n\n setContext() {\n return {\n days: this.getDaysByMonth(),\n };\n }\n\n render() {\n const SCalendar = Root;\n const SGridDays = 'div';\n const { Children, styles, locale } = this.asProps;\n const description = this.describeValue();\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <CalendarWeekDays locale={locale} />\n <SGridDays onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridDays>\n <ScreenReaderOnly>\n <span aria-live='polite'>{description}</span>\n </ScreenReaderOnly>\n </SCalendar>,\n );\n }\n}\n\nclass CalendarMonthsRoot extends CalendarAbstract {\n static displayName = 'CalendarMonths';\n static defaultProps = {\n locale: 'en',\n children: ({ months }) => months.map((data, i) => <CalendarMonths.Unit key={i} {...data} />),\n };\n\n getMonthsByYear() {\n const { displayedPeriod, locale } = this.asProps;\n\n let date = dayjs(displayedPeriod).startOf('year');\n\n return range(12, () => {\n const month = this.createUnit({ date }, 'month');\n month.children = new Intl.DateTimeFormat(locale, { month: 'short' }).format(date.valueOf());\n month.abbr = new Intl.DateTimeFormat(locale, { month: 'long' }).format(date.valueOf());\n date = date.add(1, 'month');\n return month;\n });\n }\n\n setContext() {\n return {\n months: this.getMonthsByYear(),\n };\n }\n\n formatter = formatMMYY;\n\n render() {\n const SCalendar = Root;\n const SGridMonths = 'div';\n const { Children, styles } = this.asProps;\n const description = this.describeValue();\n\n return sstyled(styles)(\n <SCalendar render={Box}>\n <SGridMonths onMouseLeave={this.handleMouseLeave}>\n <Children />\n </SGridMonths>\n <ScreenReaderOnly>\n <span aria-live='polite'>{description}</span>\n </ScreenReaderOnly>\n </SCalendar>,\n );\n }\n}\n\nconst CalendarWeekDays = createComponent(CalendarWeekDaysRoot, {\n Unit: CalendarWeekUnit,\n});\n\nconst CalendarDays = createComponent(CalendarDaysRoot, {\n Unit: CalendarUnit,\n});\n\nconst CalendarMonths = createComponent(CalendarMonthsRoot, {\n Unit: CalendarUnit,\n});\n\nexport { CalendarUnit, CalendarWeekDays, CalendarDays, CalendarMonths };\n"],"mappings":"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"}