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
@@ -26,29 +26,31 @@ var _flexBox = require("intergalactic/flex-box");
26
26
  var _fire = _interopRequireDefault(require("intergalactic/utils/lib/fire"));
27
27
  var _includesDate = _interopRequireDefault(require("../utils/includesDate"));
28
28
  var _formatDate = require("../utils/formatDate");
29
+ var _keyboardFocusEnhance = _interopRequireDefault(require("intergalactic/utils/lib/enhances/keyboardFocusEnhance"));
30
+ var _ScreenReaderOnly = require("intergalactic/utils/lib/ScreenReaderOnly");
29
31
  var _excluded = ["date"];
30
32
  /*__reshadow-styles__:"../style/calendar.shadow.css"*/
31
- var style = ( /*__reshadow_css_start__*/_core.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__*/, {
32
- "__SCalendar": "___SCalendar_upmfe_gg_",
33
- "__SGridDays": "___SGridDays_upmfe_gg_",
34
- "__SGridMonths": "___SGridMonths_upmfe_gg_",
35
- "__SWeekDays": "___SWeekDays_upmfe_gg_",
36
- "__SWeekDay": "___SWeekDay_upmfe_gg_",
37
- "__SCalendarUnit": "___SCalendarUnit_upmfe_gg_",
38
- "_startHighlighted": "__startHighlighted_upmfe_gg_",
39
- "_selected": "__selected_upmfe_gg_",
40
- "_endHighlighted": "__endHighlighted_upmfe_gg_",
41
- "_startSelected": "__startSelected_upmfe_gg_",
42
- "_endSelected": "__endSelected_upmfe_gg_",
43
- "_compareHighlighted": "__compareHighlighted_upmfe_gg_",
44
- "_compareStartHighlighted": "__compareStartHighlighted_upmfe_gg_",
45
- "_compareEndHighlighted": "__compareEndHighlighted_upmfe_gg_",
46
- "_compareStart": "__compareStart_upmfe_gg_",
47
- "_compareEnd": "__compareEnd_upmfe_gg_",
48
- "_outdated": "__outdated_upmfe_gg_",
49
- "_disabled": "__disabled_upmfe_gg_",
50
- "_highlighted": "__highlighted_upmfe_gg_",
51
- "_today": "__today_upmfe_gg_"
33
+ var style = ( /*__reshadow_css_start__*/_core.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__*/, {
34
+ "__SCalendar": "___SCalendar_1l0r9_gg_",
35
+ "__SGridDays": "___SGridDays_1l0r9_gg_",
36
+ "__SGridMonths": "___SGridMonths_1l0r9_gg_",
37
+ "__SWeekDays": "___SWeekDays_1l0r9_gg_",
38
+ "__SWeekDay": "___SWeekDay_1l0r9_gg_",
39
+ "__SCalendarUnit": "___SCalendarUnit_1l0r9_gg_",
40
+ "_startHighlighted": "__startHighlighted_1l0r9_gg_",
41
+ "_selected": "__selected_1l0r9_gg_",
42
+ "_endHighlighted": "__endHighlighted_1l0r9_gg_",
43
+ "_startSelected": "__startSelected_1l0r9_gg_",
44
+ "_endSelected": "__endSelected_1l0r9_gg_",
45
+ "_compareHighlighted": "__compareHighlighted_1l0r9_gg_",
46
+ "_compareStartHighlighted": "__compareStartHighlighted_1l0r9_gg_",
47
+ "_compareEndHighlighted": "__compareEndHighlighted_1l0r9_gg_",
48
+ "_compareStart": "__compareStart_1l0r9_gg_",
49
+ "_compareEnd": "__compareEnd_1l0r9_gg_",
50
+ "_outdated": "__outdated_1l0r9_gg_",
51
+ "_disabled": "__disabled_1l0r9_gg_",
52
+ "_highlighted": "__highlighted_1l0r9_gg_",
53
+ "_today": "__today_1l0r9_gg_"
52
54
  });
53
55
  _dayjs["default"].extend(_isBetween["default"]);
54
56
  var range = function range(N, cb) {
@@ -81,12 +83,16 @@ var CalendarWeekDaysRoot = /*#__PURE__*/function (_Component) {
81
83
  var locale = this.asProps.locale;
82
84
  var date = (0, _dayjs["default"])().locale(locale, getDayJSLocaleParams(locale)).startOf('week');
83
85
  return range(7, function () {
84
- var weekday = new Intl.DateTimeFormat(locale, {
86
+ var _short = new Intl.DateTimeFormat(locale, {
85
87
  weekday: 'short'
86
88
  }).format(date.valueOf());
89
+ var _long = new Intl.DateTimeFormat(locale, {
90
+ weekday: 'long'
91
+ }).format(date.valueOf());
87
92
  date = date.add(1, 'day');
88
93
  return {
89
- children: weekday
94
+ children: _short,
95
+ abbr: _long
90
96
  };
91
97
  });
92
98
  }
@@ -115,8 +121,8 @@ var CalendarWeekDaysRoot = /*#__PURE__*/function (_Component) {
115
121
  (0, _defineProperty2["default"])(CalendarWeekDaysRoot, "style", style);
116
122
  (0, _defineProperty2["default"])(CalendarWeekDaysRoot, "defaultProps", {
117
123
  locale: 'en',
118
- children: function children(_ref15) {
119
- var days = _ref15.days;
124
+ children: function children(_ref17) {
125
+ var days = _ref17.days;
120
126
  return days.map(function (data, i) {
121
127
  return /*#__PURE__*/_react["default"].createElement(CalendarWeekDays.Unit, (0, _extends2["default"])({
122
128
  key: i
@@ -124,20 +130,24 @@ var CalendarWeekDaysRoot = /*#__PURE__*/function (_Component) {
124
130
  });
125
131
  }
126
132
  });
127
- function CalendarWeekUnit(props) {
133
+ function CalendarWeekUnit(_ref11) {
128
134
  var _ref2 = arguments[0],
129
135
  _ref7;
136
+ var styles = _ref11.styles,
137
+ abbr = _ref11.abbr;
130
138
  var SWeekDay = _flexBox.Box;
131
- return _ref7 = (0, _core.sstyled)(props.styles), /*#__PURE__*/_react["default"].createElement(SWeekDay, _ref7.cn("SWeekDay", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref2))));
139
+ return _ref7 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SWeekDay, _ref7.cn("SWeekDay", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
140
+ "abbr": abbr
141
+ }, _ref2))));
132
142
  }
133
143
  function resolveHighlighting(date, unit, highlighted) {
134
144
  var highlighted0 = highlighted[0] ? (0, _dayjs["default"])(highlighted[0]) : null;
135
145
  var highlighted1 = highlighted[1] ? (0, _dayjs["default"])(highlighted[1]) : highlighted0;
136
146
  if (highlighted0 && highlighted1) {
137
147
  if (highlighted0 > highlighted1) {
138
- var _ref11 = [highlighted0, highlighted1];
139
- highlighted1 = _ref11[0];
140
- highlighted0 = _ref11[1];
148
+ var _ref12 = [highlighted0, highlighted1];
149
+ highlighted1 = _ref12[0];
150
+ highlighted0 = _ref12[1];
141
151
  }
142
152
  return {
143
153
  highlighted: date.isBetween(highlighted0, highlighted1, unit, '[]'),
@@ -157,9 +167,9 @@ function resolveSelecting(date, unit, value) {
157
167
  var selected;
158
168
  if (value0 && value1) {
159
169
  if (value0 > value1) {
160
- var _ref12 = [value0, value1];
161
- value1 = _ref12[0];
162
- value0 = _ref12[1];
170
+ var _ref13 = [value0, value1];
171
+ value1 = _ref13[0];
172
+ value0 = _ref13[1];
163
173
  }
164
174
  selected = date.isBetween(value0, value1, unit, '()');
165
175
  }
@@ -186,14 +196,15 @@ var CalendarAbstract = /*#__PURE__*/function (_Component2) {
186
196
  var highlighted = _this.asProps.highlighted;
187
197
  (0, _fire["default"])((0, _assertThisInitialized2["default"])(_this), 'onHighlightedChange', highlighted.length ? [highlighted[0]] : []);
188
198
  });
199
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "formatter", _formatDate.formatDDMMYY);
189
200
  return _this;
190
201
  }
191
202
  (0, _createClass2["default"])(CalendarAbstract, [{
192
203
  key: "createUnit",
193
- value: function createUnit(_ref13, unit) {
204
+ value: function createUnit(_ref14, unit) {
194
205
  var _this2 = this;
195
- var date = _ref13.date,
196
- other = (0, _objectWithoutProperties2["default"])(_ref13, _excluded);
206
+ var date = _ref14.date,
207
+ other = (0, _objectWithoutProperties2["default"])(_ref14, _excluded);
197
208
  var self = this;
198
209
  var _this$asProps2 = this.asProps,
199
210
  _disabled = _this$asProps2.disabled,
@@ -208,7 +219,7 @@ var CalendarAbstract = /*#__PURE__*/function (_Component2) {
208
219
  var comparing = resolveSelecting(date, unit, compare !== null && compare !== void 0 ? compare : []);
209
220
  var disabled = _disabled.some((0, _includesDate["default"])(date, unit));
210
221
  return (0, _objectSpread2["default"])({
211
- date: (0, _formatDate.getLocaleDate)(date, locale),
222
+ date: this.formatter(date, locale),
212
223
  children: '',
213
224
  startSelected: selecting.startSelected,
214
225
  endSelected: selecting.endSelected,
@@ -257,23 +268,83 @@ var CalendarAbstract = /*#__PURE__*/function (_Component2) {
257
268
  }
258
269
  }, other);
259
270
  }
271
+ }, {
272
+ key: "getUnitProps",
273
+ value: function getUnitProps(_ref15) {
274
+ var date = _ref15.date;
275
+ var unitRefs = this.asProps.unitRefs;
276
+ return {
277
+ ref: function ref(node) {
278
+ if (!date) return;
279
+ unitRefs[date] = node;
280
+ }
281
+ };
282
+ }
283
+ }, {
284
+ key: "describeValue",
285
+ value: function describeValue() {
286
+ var _this3 = this;
287
+ var _this$asProps3 = this.asProps,
288
+ locale = _this$asProps3.locale,
289
+ getI18nText = _this$asProps3.getI18nText,
290
+ actionsDescribing = _this$asProps3.actionsDescribing;
291
+ var value = this.asProps.value || [];
292
+ var compare = this.asProps.compare || [];
293
+ if (!actionsDescribing) return null;
294
+ var t = function t(key, date) {
295
+ return getI18nText(key, date ? {
296
+ date: _this3.formatter(date, locale)
297
+ } : undefined);
298
+ };
299
+ var description = '';
300
+ if (value.length === 1 || compare.length === 1) {
301
+ description += t('selectingStarted') + '. ';
302
+ } else if (value.length === 2 || compare.length === 2) {
303
+ description += t('selectingFinished') + '. ';
304
+ }
305
+ if (actionsDescribing === 'range') {
306
+ if (value[0] || value[1]) description += t('dateRange') + ' ';
307
+ if (value[0]) description += t('fromDate', value[0]) + ', ';
308
+ if (value[1]) description += t('toDate', value[1]) + '. ';
309
+ } else if (actionsDescribing === 'range-compare') {
310
+ if (compare.length === 1) {
311
+ description += t('dateRange2') + ' ';
312
+ if (compare[0]) description += t('fromDate', value[0]) + ', ';
313
+ if (compare[1]) description += t('toDate', value[1]) + '. ';
314
+ } else {
315
+ if (value[0] || value[1]) description += t('dateRange1') + ' ';
316
+ if (value[0]) description += t('fromDate', value[0]) + ', ';
317
+ if (value[1]) description += t('toDate', value[1]) + '. ';
318
+ if (compare.length > 0) {
319
+ description += t('dateRange2') + ' ';
320
+ if (compare[0]) description += t('fromDate', compare[0]) + ', ';
321
+ if (compare[1]) description += t('toDate', compare[1]) + '. ';
322
+ }
323
+ }
324
+ }
325
+ return description;
326
+ }
260
327
  }]);
261
328
  return CalendarAbstract;
262
329
  }(_core.Component);
263
330
  (0, _defineProperty2["default"])(CalendarAbstract, "style", style);
264
- function CalendarUnit(_ref14) {
331
+ function CalendarUnit(_ref16) {
265
332
  var _ref3 = arguments[0],
266
333
  _ref8;
267
- var styles = _ref14.styles,
268
- date = _ref14.date;
334
+ var styles = _ref16.styles,
335
+ date = _ref16.date,
336
+ outdated = _ref16.outdated,
337
+ disabled = _ref16.disabled;
269
338
  var SCalendarUnit = _flexBox.Box;
270
339
  return _ref8 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCalendarUnit, _ref8.cn("SCalendarUnit", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
340
+ "use:disabled": disabled || outdated || !date,
271
341
  "tag": 'button',
342
+ "type": 'button',
272
343
  "aria-hidden": !date,
273
- "aria-label": date,
274
- "tabIndex": -1
344
+ "aria-label": date
275
345
  }, _ref3))));
276
346
  }
347
+ CalendarUnit.enhance = [(0, _keyboardFocusEnhance["default"])()];
277
348
  var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
278
349
  (0, _inherits2["default"])(CalendarDaysRoot, _CalendarAbstract);
279
350
  var _super3 = (0, _createSuper2["default"])(CalendarDaysRoot);
@@ -284,11 +355,11 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
284
355
  (0, _createClass2["default"])(CalendarDaysRoot, [{
285
356
  key: "getDaysByMonth",
286
357
  value: function getDaysByMonth() {
287
- var _this3 = this;
288
- var _this$asProps3 = this.asProps,
289
- displayedPeriod = _this$asProps3.displayedPeriod,
290
- renderOutdated = _this$asProps3.renderOutdated,
291
- locale = _this$asProps3.locale;
358
+ var _this4 = this;
359
+ var _this$asProps4 = this.asProps,
360
+ displayedPeriod = _this$asProps4.displayedPeriod,
361
+ renderOutdated = _this$asProps4.renderOutdated,
362
+ locale = _this$asProps4.locale;
292
363
  var date = (0, _dayjs["default"])(displayedPeriod).startOf('month');
293
364
  var prevDate = date.subtract(1, 'month');
294
365
  var nextDate = date.add(1, 'month');
@@ -296,7 +367,7 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
296
367
  /* 0 - 6 */
297
368
  var dateStartOfWeek = date.locale(locale, getDayJSLocaleParams(locale)).startOf('week').get('d') ? (date.get('d') || 7) - 1 : date.get('d');
298
369
  var prevMonthDays = dateStartOfWeek ? range(prevDate.daysInMonth(), function () {
299
- var day = _this3.createUnit({
370
+ var day = _this4.createUnit({
300
371
  date: prevDate,
301
372
  outdated: true
302
373
  }, 'date');
@@ -305,7 +376,7 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
305
376
  return day;
306
377
  }).slice(-dateStartOfWeek) : [];
307
378
  var monthDays = range(date.daysInMonth(), function () {
308
- var day = _this3.createUnit({
379
+ var day = _this4.createUnit({
309
380
  date: date
310
381
  }, 'date');
311
382
  day.children = String(date.get('date'));
@@ -313,7 +384,7 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
313
384
  return day;
314
385
  });
315
386
  var nextMonthDays = range(42 - prevMonthDays.length - monthDays.length, function () {
316
- var day = _this3.createUnit({
387
+ var day = _this4.createUnit({
317
388
  date: nextDate,
318
389
  outdated: true
319
390
  }, 'date');
@@ -346,17 +417,18 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
346
417
  _ref9;
347
418
  var SCalendar = _flexBox.Box;
348
419
  var SGridDays = 'div';
349
- var _this$asProps4 = this.asProps,
350
- Children = _this$asProps4.Children,
351
- styles = _this$asProps4.styles,
352
- locale = _this$asProps4.locale;
353
- return _ref9 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCalendar, _ref9.cn("SCalendar", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
354
- "aria-hidden": 'true'
355
- }, _ref4))), /*#__PURE__*/_react["default"].createElement(CalendarWeekDays, _ref9.cn("CalendarWeekDays", {
420
+ var _this$asProps5 = this.asProps,
421
+ Children = _this$asProps5.Children,
422
+ styles = _this$asProps5.styles,
423
+ locale = _this$asProps5.locale;
424
+ var description = this.describeValue();
425
+ return _ref9 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCalendar, _ref9.cn("SCalendar", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref4))), /*#__PURE__*/_react["default"].createElement(CalendarWeekDays, _ref9.cn("CalendarWeekDays", {
356
426
  "locale": locale
357
427
  })), /*#__PURE__*/_react["default"].createElement(SGridDays, _ref9.cn("SGridDays", {
358
428
  "onMouseLeave": this.handleMouseLeave
359
- }), /*#__PURE__*/_react["default"].createElement(Children, _ref9.cn("Children", {}))));
429
+ }), /*#__PURE__*/_react["default"].createElement(Children, _ref9.cn("Children", {}))), /*#__PURE__*/_react["default"].createElement(_ScreenReaderOnly.ScreenReaderOnly, _ref9.cn("ScreenReaderOnly", {}), /*#__PURE__*/_react["default"].createElement("span", _ref9.cn("span", {
430
+ "aria-live": 'polite'
431
+ }), description)));
360
432
  }
361
433
  }]);
362
434
  return CalendarDaysRoot;
@@ -367,8 +439,8 @@ var CalendarDaysRoot = /*#__PURE__*/function (_CalendarAbstract) {
367
439
  disabled: [],
368
440
  value: [],
369
441
  locale: 'en',
370
- children: function children(_ref16) {
371
- var days = _ref16.days;
442
+ children: function children(_ref18) {
443
+ var days = _ref18.days;
372
444
  return days.map(function (data, i) {
373
445
  return /*#__PURE__*/_react["default"].createElement(CalendarDays.Unit, (0, _extends2["default"])({
374
446
  key: i
@@ -380,24 +452,33 @@ var CalendarMonthsRoot = /*#__PURE__*/function (_CalendarAbstract2) {
380
452
  (0, _inherits2["default"])(CalendarMonthsRoot, _CalendarAbstract2);
381
453
  var _super4 = (0, _createSuper2["default"])(CalendarMonthsRoot);
382
454
  function CalendarMonthsRoot() {
455
+ var _this5;
383
456
  (0, _classCallCheck2["default"])(this, CalendarMonthsRoot);
384
- return _super4.apply(this, arguments);
457
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
458
+ args[_key2] = arguments[_key2];
459
+ }
460
+ _this5 = _super4.call.apply(_super4, [this].concat(args));
461
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this5), "formatter", _formatDate.formatMMYY);
462
+ return _this5;
385
463
  }
386
464
  (0, _createClass2["default"])(CalendarMonthsRoot, [{
387
465
  key: "getMonthsByYear",
388
466
  value: function getMonthsByYear() {
389
- var _this4 = this;
390
- var _this$asProps5 = this.asProps,
391
- displayedPeriod = _this$asProps5.displayedPeriod,
392
- locale = _this$asProps5.locale;
467
+ var _this6 = this;
468
+ var _this$asProps6 = this.asProps,
469
+ displayedPeriod = _this$asProps6.displayedPeriod,
470
+ locale = _this$asProps6.locale;
393
471
  var date = (0, _dayjs["default"])(displayedPeriod).startOf('year');
394
472
  return range(12, function () {
395
- var month = _this4.createUnit({
473
+ var month = _this6.createUnit({
396
474
  date: date
397
475
  }, 'month');
398
476
  month.children = new Intl.DateTimeFormat(locale, {
399
477
  month: 'short'
400
478
  }).format(date.valueOf());
479
+ month.abbr = new Intl.DateTimeFormat(locale, {
480
+ month: 'long'
481
+ }).format(date.valueOf());
401
482
  date = date.add(1, 'month');
402
483
  return month;
403
484
  });
@@ -416,12 +497,15 @@ var CalendarMonthsRoot = /*#__PURE__*/function (_CalendarAbstract2) {
416
497
  _ref10;
417
498
  var SCalendar = _flexBox.Box;
418
499
  var SGridMonths = 'div';
419
- var _this$asProps6 = this.asProps,
420
- Children = _this$asProps6.Children,
421
- styles = _this$asProps6.styles;
500
+ var _this$asProps7 = this.asProps,
501
+ Children = _this$asProps7.Children,
502
+ styles = _this$asProps7.styles;
503
+ var description = this.describeValue();
422
504
  return _ref10 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SCalendar, _ref10.cn("SCalendar", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({}, _ref5))), /*#__PURE__*/_react["default"].createElement(SGridMonths, _ref10.cn("SGridMonths", {
423
505
  "onMouseLeave": this.handleMouseLeave
424
- }), /*#__PURE__*/_react["default"].createElement(Children, _ref10.cn("Children", {}))));
506
+ }), /*#__PURE__*/_react["default"].createElement(Children, _ref10.cn("Children", {}))), /*#__PURE__*/_react["default"].createElement(_ScreenReaderOnly.ScreenReaderOnly, _ref10.cn("ScreenReaderOnly", {}), /*#__PURE__*/_react["default"].createElement("span", _ref10.cn("span", {
507
+ "aria-live": 'polite'
508
+ }), description)));
425
509
  }
426
510
  }]);
427
511
  return CalendarMonthsRoot;
@@ -429,8 +513,8 @@ var CalendarMonthsRoot = /*#__PURE__*/function (_CalendarAbstract2) {
429
513
  (0, _defineProperty2["default"])(CalendarMonthsRoot, "displayName", 'CalendarMonths');
430
514
  (0, _defineProperty2["default"])(CalendarMonthsRoot, "defaultProps", {
431
515
  locale: 'en',
432
- children: function children(_ref17) {
433
- var months = _ref17.months;
516
+ children: function children(_ref19) {
517
+ var months = _ref19.months;
434
518
  return months.map(function (data, i) {
435
519
  return /*#__PURE__*/_react["default"].createElement(CalendarMonths.Unit, (0, _extends2["default"])({
436
520
  key: i
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_dayjs","_isBetween","_flexBox","_fire","_includesDate","_formatDate","_excluded","style","sstyled","insert","dayjs","extend","isBetween","range","N","cb","Array","from","length","v","k","getDayJSLocaleParams","locale","includes","_objectSpread2","weekStart","Ls","CalendarWeekDaysRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","getDaysByWeek","asProps","date","startOf","weekday","Intl","DateTimeFormat","format","valueOf","add","children","setContext","days","render","_ref","_ref6","SWeekDays","Box","_this$asProps","Children","styles","createElement","cn","assignProps","Component","_defineProperty2","_ref15","map","data","i","CalendarWeekDays","Unit","_extends2","CalendarWeekUnit","props","_ref2","arguments[0]","_ref7","SWeekDay","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","_assertThisInitialized2","Date","setHours","fire","createUnit","_ref13","_this2","other","_objectWithoutProperties2","self","_this$asProps2","_disabled","disabled","compare","compareHighlighted","highlighting","comparedHighlighting","selecting","comparing","some","includesDate","getLocaleDate","compareStartHighlighted","compareEndHighlighted","compareStart","compareEnd","today","onClick","_this2$asProps","_highlighted","toDate","onMouseEnter","_this2$asProps2","startDate","CalendarUnit","_ref14","_ref3","_ref8","SCalendarUnit","CalendarDaysRoot","_CalendarAbstract","_super3","getDaysByMonth","_this3","_this$asProps3","displayedPeriod","renderOutdated","prevDate","subtract","nextDate","dateStartOfWeek","get","prevMonthDays","daysInMonth","day","outdated","String","slice","monthDays","nextMonthDays","_toConsumableArray2","_ref4","_ref9","SCalendar","SGridDays","_this$asProps4","handleMouseLeave","_ref16","CalendarDays","CalendarMonthsRoot","_CalendarAbstract2","_super4","getMonthsByYear","_this4","_this$asProps5","month","months","_ref5","_ref10","SGridMonths","_this$asProps6","_ref17","CalendarMonths","createComponent","exports"],"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":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_dayjs","_isBetween","_flexBox","_fire","_includesDate","_formatDate","_keyboardFocusEnhance","_ScreenReaderOnly","_excluded","style","sstyled","insert","dayjs","extend","isBetween","range","N","cb","Array","from","length","v","k","getDayJSLocaleParams","locale","includes","_objectSpread2","weekStart","Ls","CalendarWeekDaysRoot","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","getDaysByWeek","asProps","date","startOf","short","Intl","DateTimeFormat","weekday","format","valueOf","long","add","children","abbr","setContext","days","render","_ref","_ref6","SWeekDays","Box","_this$asProps","Children","styles","createElement","cn","assignProps","Component","_defineProperty2","_ref17","map","data","i","CalendarWeekDays","Unit","_extends2","CalendarWeekUnit","_ref11","_ref2","arguments[0]","_ref7","SWeekDay","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","_assertThisInitialized2","Date","setHours","fire","formatDDMMYY","createUnit","_ref14","_this2","other","_objectWithoutProperties2","self","_this$asProps2","_disabled","disabled","compare","compareHighlighted","highlighting","comparedHighlighting","selecting","comparing","some","includesDate","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","enhance","keyboardFocusEnhance","CalendarDaysRoot","_CalendarAbstract","_super3","getDaysByMonth","_this4","_this$asProps4","displayedPeriod","renderOutdated","prevDate","subtract","nextDate","dateStartOfWeek","get","prevMonthDays","daysInMonth","day","String","slice","monthDays","nextMonthDays","_toConsumableArray2","_ref4","_ref9","SCalendar","SGridDays","_this$asProps5","handleMouseLeave","ScreenReaderOnly","_ref18","CalendarDays","CalendarMonthsRoot","_CalendarAbstract2","_super4","_this5","_len2","_key2","formatMMYY","getMonthsByYear","_this6","_this$asProps6","month","months","_ref5","_ref10","SGridMonths","_this$asProps7","_ref19","CalendarMonths","createComponent","exports"],"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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"}