@cloudscape-design/components 3.0.680 → 3.0.682

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 (245) hide show
  1. package/button/index.d.ts.map +1 -1
  2. package/button/index.js +2 -2
  3. package/button/index.js.map +1 -1
  4. package/button/interfaces.d.ts +6 -0
  5. package/button/interfaces.d.ts.map +1 -1
  6. package/button/interfaces.js.map +1 -1
  7. package/button/internal.d.ts.map +1 -1
  8. package/button/internal.js +15 -4
  9. package/button/internal.js.map +1 -1
  10. package/button/styles.css.js +20 -19
  11. package/button/styles.scoped.css +161 -167
  12. package/button/styles.selectors.js +20 -19
  13. package/button/test-classes/styles.css.js +6 -0
  14. package/button/test-classes/styles.scoped.css +7 -0
  15. package/button/test-classes/styles.selectors.js +7 -0
  16. package/button-dropdown/category-elements/expandable-category-element.js +1 -1
  17. package/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  18. package/button-dropdown/category-elements/mobile-expandable-category-element.js +1 -1
  19. package/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  20. package/button-dropdown/index.d.ts.map +1 -1
  21. package/button-dropdown/index.js +2 -2
  22. package/button-dropdown/index.js.map +1 -1
  23. package/button-dropdown/interfaces.d.ts +7 -0
  24. package/button-dropdown/interfaces.d.ts.map +1 -1
  25. package/button-dropdown/interfaces.js.map +1 -1
  26. package/button-dropdown/internal.d.ts.map +1 -1
  27. package/button-dropdown/internal.js +4 -2
  28. package/button-dropdown/internal.js.map +1 -1
  29. package/button-dropdown/item-element/index.js +1 -1
  30. package/button-dropdown/item-element/index.js.map +1 -1
  31. package/calendar/grid/index.d.ts +3 -1
  32. package/calendar/grid/index.d.ts.map +1 -1
  33. package/calendar/grid/index.js +26 -6
  34. package/calendar/grid/index.js.map +1 -1
  35. package/calendar/grid/use-calendar-grid-keyboard-navigation.d.ts +2 -1
  36. package/calendar/grid/use-calendar-grid-keyboard-navigation.d.ts.map +1 -1
  37. package/calendar/grid/use-calendar-grid-keyboard-navigation.js +8 -5
  38. package/calendar/grid/use-calendar-grid-keyboard-navigation.js.map +1 -1
  39. package/calendar/interfaces.d.ts +9 -0
  40. package/calendar/interfaces.d.ts.map +1 -1
  41. package/calendar/interfaces.js.map +1 -1
  42. package/calendar/internal.d.ts +1 -1
  43. package/calendar/internal.d.ts.map +1 -1
  44. package/calendar/internal.js +7 -5
  45. package/calendar/internal.js.map +1 -1
  46. package/calendar/styles.css.js +21 -20
  47. package/calendar/styles.scoped.css +46 -42
  48. package/calendar/styles.selectors.js +21 -20
  49. package/calendar/utils/navigation.d.ts +10 -10
  50. package/calendar/utils/navigation.d.ts.map +1 -1
  51. package/calendar/utils/navigation.js +29 -29
  52. package/calendar/utils/navigation.js.map +1 -1
  53. package/column-layout/flexible-column-layout/index.d.ts +2 -2
  54. package/column-layout/flexible-column-layout/index.d.ts.map +1 -1
  55. package/column-layout/flexible-column-layout/index.js +3 -2
  56. package/column-layout/flexible-column-layout/index.js.map +1 -1
  57. package/column-layout/flexible-column-layout/styles.css.js +5 -5
  58. package/column-layout/flexible-column-layout/styles.scoped.css +99 -4
  59. package/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  60. package/column-layout/grid-column-layout.d.ts +2 -2
  61. package/column-layout/grid-column-layout.d.ts.map +1 -1
  62. package/column-layout/grid-column-layout.js +2 -2
  63. package/column-layout/grid-column-layout.js.map +1 -1
  64. package/column-layout/interfaces.d.ts +4 -0
  65. package/column-layout/interfaces.d.ts.map +1 -1
  66. package/column-layout/interfaces.js.map +1 -1
  67. package/column-layout/internal.d.ts +1 -1
  68. package/column-layout/internal.d.ts.map +1 -1
  69. package/column-layout/internal.js +2 -2
  70. package/column-layout/internal.js.map +1 -1
  71. package/date-picker/index.d.ts.map +1 -1
  72. package/date-picker/index.js +2 -2
  73. package/date-picker/index.js.map +1 -1
  74. package/date-range-picker/calendar/grids/grid.d.ts +2 -1
  75. package/date-range-picker/calendar/grids/grid.d.ts.map +1 -1
  76. package/date-range-picker/calendar/grids/grid.js +55 -7
  77. package/date-range-picker/calendar/grids/grid.js.map +1 -1
  78. package/date-range-picker/calendar/grids/index.d.ts +2 -1
  79. package/date-range-picker/calendar/grids/index.d.ts.map +1 -1
  80. package/date-range-picker/calendar/grids/index.js +20 -12
  81. package/date-range-picker/calendar/grids/index.js.map +1 -1
  82. package/date-range-picker/calendar/grids/styles.css.js +28 -27
  83. package/date-range-picker/calendar/grids/styles.scoped.css +46 -42
  84. package/date-range-picker/calendar/grids/styles.selectors.js +28 -27
  85. package/date-range-picker/calendar/index.d.ts +2 -1
  86. package/date-range-picker/calendar/index.d.ts.map +1 -1
  87. package/date-range-picker/calendar/index.js +2 -2
  88. package/date-range-picker/calendar/index.js.map +1 -1
  89. package/date-range-picker/dropdown.d.ts +2 -2
  90. package/date-range-picker/dropdown.d.ts.map +1 -1
  91. package/date-range-picker/dropdown.js +2 -2
  92. package/date-range-picker/dropdown.js.map +1 -1
  93. package/date-range-picker/index.d.ts.map +1 -1
  94. package/date-range-picker/index.js +2 -2
  95. package/date-range-picker/index.js.map +1 -1
  96. package/date-range-picker/interfaces.d.ts +9 -0
  97. package/date-range-picker/interfaces.d.ts.map +1 -1
  98. package/date-range-picker/interfaces.js.map +1 -1
  99. package/grid/internal.d.ts +4 -0
  100. package/grid/internal.d.ts.map +1 -1
  101. package/grid/internal.js +3 -2
  102. package/grid/internal.js.map +1 -1
  103. package/index.d.ts +1 -0
  104. package/index.d.ts.map +1 -1
  105. package/index.js +1 -0
  106. package/index.js.map +1 -1
  107. package/internal/base-component/styles.scoped.css +12 -10
  108. package/internal/components/option/interfaces.d.ts +2 -0
  109. package/internal/components/option/interfaces.d.ts.map +1 -1
  110. package/internal/components/option/interfaces.js.map +1 -1
  111. package/internal/components/selectable-item/index.d.ts +1 -0
  112. package/internal/components/selectable-item/index.d.ts.map +1 -1
  113. package/internal/components/selectable-item/index.js +3 -0
  114. package/internal/components/selectable-item/index.js.map +1 -1
  115. package/internal/components/tooltip/index.d.ts +3 -1
  116. package/internal/components/tooltip/index.d.ts.map +1 -1
  117. package/internal/components/tooltip/index.js +3 -3
  118. package/internal/components/tooltip/index.js.map +1 -1
  119. package/internal/environment.js +1 -1
  120. package/internal/environment.json +1 -1
  121. package/internal/generated/styles/tokens.d.ts +2 -0
  122. package/internal/generated/styles/tokens.js +4 -2
  123. package/internal/generated/theming/index.cjs +78 -12
  124. package/internal/generated/theming/index.cjs.d.ts +16 -0
  125. package/internal/generated/theming/index.d.ts +16 -0
  126. package/internal/generated/theming/index.js +78 -12
  127. package/{button-dropdown/utils/use-hidden-description.d.ts → internal/hooks/use-hidden-description/index.d.ts} +2 -1
  128. package/internal/hooks/use-hidden-description/index.d.ts.map +1 -0
  129. package/{button-dropdown/utils/use-hidden-description.js → internal/hooks/use-hidden-description/index.js} +3 -2
  130. package/internal/hooks/use-hidden-description/index.js.map +1 -0
  131. package/internal/manifest.json +1 -1
  132. package/key-value-pairs/index.d.ts +5 -0
  133. package/key-value-pairs/index.d.ts.map +1 -0
  134. package/key-value-pairs/index.js +18 -0
  135. package/key-value-pairs/index.js.map +1 -0
  136. package/key-value-pairs/interfaces.d.ts +42 -0
  137. package/key-value-pairs/interfaces.d.ts.map +1 -0
  138. package/key-value-pairs/interfaces.js +2 -0
  139. package/key-value-pairs/interfaces.js.map +1 -0
  140. package/key-value-pairs/internal.d.ts +5 -0
  141. package/key-value-pairs/internal.d.ts.map +1 -0
  142. package/key-value-pairs/internal.js +41 -0
  143. package/key-value-pairs/internal.js.map +1 -0
  144. package/key-value-pairs/styles.css.js +13 -0
  145. package/key-value-pairs/styles.scoped.css +210 -0
  146. package/key-value-pairs/styles.selectors.js +14 -0
  147. package/package.json +2 -1
  148. package/segmented-control/interfaces.d.ts +2 -0
  149. package/segmented-control/interfaces.d.ts.map +1 -1
  150. package/segmented-control/interfaces.js.map +1 -1
  151. package/segmented-control/internal-segmented-control.d.ts.map +1 -1
  152. package/segmented-control/internal-segmented-control.js +11 -8
  153. package/segmented-control/internal-segmented-control.js.map +1 -1
  154. package/segmented-control/segment.d.ts.map +1 -1
  155. package/segmented-control/segment.js +14 -4
  156. package/segmented-control/segment.js.map +1 -1
  157. package/segmented-control/styles.css.js +15 -14
  158. package/segmented-control/styles.scoped.css +37 -33
  159. package/segmented-control/styles.selectors.js +15 -14
  160. package/select/interfaces.d.ts +1 -0
  161. package/select/interfaces.d.ts.map +1 -1
  162. package/select/interfaces.js.map +1 -1
  163. package/select/parts/filter.d.ts +1 -1
  164. package/select/parts/item.d.ts.map +1 -1
  165. package/select/parts/item.js +13 -3
  166. package/select/parts/item.js.map +1 -1
  167. package/select/parts/multiselect-item.d.ts.map +1 -1
  168. package/select/parts/multiselect-item.js +15 -3
  169. package/select/parts/multiselect-item.js.map +1 -1
  170. package/select/parts/styles.css.js +17 -16
  171. package/select/parts/styles.scoped.css +21 -17
  172. package/select/parts/styles.selectors.js +17 -16
  173. package/split-panel/icons/styles.css.js +22 -22
  174. package/split-panel/icons/styles.scoped.css +25 -25
  175. package/split-panel/icons/styles.selectors.js +22 -22
  176. package/table/body-cell/disabled-inline-editor.js +1 -1
  177. package/table/body-cell/disabled-inline-editor.js.map +1 -1
  178. package/tabs/interfaces.d.ts +5 -0
  179. package/tabs/interfaces.d.ts.map +1 -1
  180. package/tabs/interfaces.js.map +1 -1
  181. package/tabs/styles.css.js +28 -25
  182. package/tabs/styles.scoped.css +60 -49
  183. package/tabs/styles.selectors.js +28 -25
  184. package/tabs/tab-header-bar.d.ts.map +1 -1
  185. package/tabs/tab-header-bar.js +38 -14
  186. package/tabs/tab-header-bar.js.map +1 -1
  187. package/test-utils/dom/button/index.d.ts +1 -0
  188. package/test-utils/dom/button/index.js +6 -2
  189. package/test-utils/dom/button/index.js.map +1 -1
  190. package/test-utils/dom/button-dropdown/index.d.ts +2 -1
  191. package/test-utils/dom/button-dropdown/index.js +5 -1
  192. package/test-utils/dom/button-dropdown/index.js.map +1 -1
  193. package/test-utils/dom/calendar/index.d.ts +4 -1
  194. package/test-utils/dom/calendar/index.js +8 -1
  195. package/test-utils/dom/calendar/index.js.map +1 -1
  196. package/test-utils/dom/date-range-picker/index.d.ts +4 -1
  197. package/test-utils/dom/date-range-picker/index.js +8 -2
  198. package/test-utils/dom/date-range-picker/index.js.map +1 -1
  199. package/test-utils/dom/index.d.ts +3 -0
  200. package/test-utils/dom/index.js +10 -2
  201. package/test-utils/dom/index.js.map +1 -1
  202. package/test-utils/dom/internal/dropdown-host.js.map +1 -1
  203. package/test-utils/dom/internal/option.d.ts +1 -0
  204. package/test-utils/dom/internal/option.js +4 -0
  205. package/test-utils/dom/internal/option.js.map +1 -1
  206. package/test-utils/dom/key-value-pairs/index.d.ts +14 -0
  207. package/test-utils/dom/key-value-pairs/index.js +38 -0
  208. package/test-utils/dom/key-value-pairs/index.js.map +1 -0
  209. package/test-utils/dom/segmented-control/index.d.ts +9 -0
  210. package/test-utils/dom/segmented-control/index.js +15 -0
  211. package/test-utils/dom/segmented-control/index.js.map +1 -1
  212. package/test-utils/dom/tabs/index.d.ts +9 -2
  213. package/test-utils/dom/tabs/index.js +15 -2
  214. package/test-utils/dom/tabs/index.js.map +1 -1
  215. package/test-utils/selectors/button/index.d.ts +1 -0
  216. package/test-utils/selectors/button/index.js +6 -2
  217. package/test-utils/selectors/button/index.js.map +1 -1
  218. package/test-utils/selectors/button-dropdown/index.d.ts +2 -1
  219. package/test-utils/selectors/button-dropdown/index.js +5 -1
  220. package/test-utils/selectors/button-dropdown/index.js.map +1 -1
  221. package/test-utils/selectors/calendar/index.d.ts +4 -1
  222. package/test-utils/selectors/calendar/index.js +8 -1
  223. package/test-utils/selectors/calendar/index.js.map +1 -1
  224. package/test-utils/selectors/date-range-picker/index.d.ts +4 -1
  225. package/test-utils/selectors/date-range-picker/index.js +8 -2
  226. package/test-utils/selectors/date-range-picker/index.js.map +1 -1
  227. package/test-utils/selectors/index.d.ts +3 -0
  228. package/test-utils/selectors/index.js +10 -2
  229. package/test-utils/selectors/index.js.map +1 -1
  230. package/test-utils/selectors/internal/dropdown-host.js.map +1 -1
  231. package/test-utils/selectors/internal/option.d.ts +1 -0
  232. package/test-utils/selectors/internal/option.js +4 -0
  233. package/test-utils/selectors/internal/option.js.map +1 -1
  234. package/test-utils/selectors/key-value-pairs/index.d.ts +14 -0
  235. package/test-utils/selectors/key-value-pairs/index.js +38 -0
  236. package/test-utils/selectors/key-value-pairs/index.js.map +1 -0
  237. package/test-utils/selectors/segmented-control/index.d.ts +9 -0
  238. package/test-utils/selectors/segmented-control/index.js +15 -0
  239. package/test-utils/selectors/segmented-control/index.js.map +1 -1
  240. package/test-utils/selectors/tabs/index.d.ts +9 -2
  241. package/test-utils/selectors/tabs/index.js +15 -2
  242. package/test-utils/selectors/tabs/index.js.map +1 -1
  243. package/test-utils/tsconfig.tsbuildinfo +1 -1
  244. package/button-dropdown/utils/use-hidden-description.d.ts.map +0 -1
  245. package/button-dropdown/utils/use-hidden-description.js.map +0 -1
@@ -7,6 +7,7 @@ export interface GridProps {
7
7
  focusedDate: Date | null;
8
8
  onFocusedDateChange: React.Dispatch<React.SetStateAction<Date | null>>;
9
9
  isDateEnabled: DateRangePickerProps.IsDateEnabledFunction;
10
+ dateDisabledReason: DateRangePickerProps.DateDisabledReasonFunction;
10
11
  isSingleGrid: boolean;
11
12
  onSelectDate: (date: Date) => void;
12
13
  onChangeMonth: (date: Date) => void;
@@ -15,5 +16,5 @@ export interface GridProps {
15
16
  todayAriaLabel?: string;
16
17
  headingIdPrefix: string;
17
18
  }
18
- export declare const Grids: ({ baseDate, selectedStartDate, selectedEndDate, focusedDate, onFocusedDateChange, isDateEnabled, isSingleGrid, onSelectDate, onChangeMonth, locale, startOfWeek, todayAriaLabel, headingIdPrefix, }: GridProps) => JSX.Element;
19
+ export declare const Grids: ({ baseDate, selectedStartDate, selectedEndDate, focusedDate, onFocusedDateChange, isDateEnabled, dateDisabledReason, isSingleGrid, onSelectDate, onChangeMonth, locale, startOfWeek, todayAriaLabel, headingIdPrefix, }: GridProps) => JSX.Element;
19
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAI3D,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAqBlE,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,IAAI,CAAC;IACf,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAE7B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAEvE,aAAa,EAAE,oBAAoB,CAAC,qBAAqB,CAAC;IAC1D,YAAY,EAAE,OAAO,CAAC;IAEtB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAEpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,QAAQ,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,KAAK,wMAkBf,SAAS,gBAkIX,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AAIxE,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAqBlE,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,IAAI,CAAC;IACf,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAE7B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAEvE,aAAa,EAAE,oBAAoB,CAAC,qBAAqB,CAAC;IAC1D,kBAAkB,EAAE,oBAAoB,CAAC,0BAA0B,CAAC;IACpE,YAAY,EAAE,OAAO,CAAC;IAEtB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACnC,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAEpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,QAAQ,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,KAAK,4NAmBf,SAAS,gBAiJX,CAAC"}
@@ -1,6 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import React, { useEffect, useRef, useState } from 'react';
3
+ import React, { useCallback, useEffect, useRef, useState } from 'react';
4
4
  import { KeyCode } from '../../../internal/keycode';
5
5
  import { isSameMonth, isAfter, isBefore, addMonths, min, max } from 'date-fns';
6
6
  import InternalSpaceBetween from '../../../space-between/internal';
@@ -18,22 +18,25 @@ function isVisible(date, baseDate, isSingleGrid) {
18
18
  const previousMonth = addMonths(baseDate, -1);
19
19
  return isSameMonth(date, previousMonth) || isSameMonth(date, baseDate);
20
20
  }
21
- export const Grids = ({ baseDate, selectedStartDate, selectedEndDate, focusedDate, onFocusedDateChange, isDateEnabled, isSingleGrid, onSelectDate, onChangeMonth, locale, startOfWeek, todayAriaLabel, headingIdPrefix, }) => {
21
+ export const Grids = ({ baseDate, selectedStartDate, selectedEndDate, focusedDate, onFocusedDateChange, isDateEnabled, dateDisabledReason, isSingleGrid, onSelectDate, onChangeMonth, locale, startOfWeek, todayAriaLabel, headingIdPrefix, }) => {
22
22
  const containerRef = useRef(null);
23
23
  const [gridHasFocus, setGridHasFocus] = useState(false);
24
24
  const focusedDateRef = useRef(null);
25
25
  const dateCache = useDateCache();
26
26
  baseDate = dateCache(baseDate);
27
27
  focusedDate = focusedDate ? dateCache(focusedDate) : null;
28
+ const isDateFocusable = useCallback((date) => {
29
+ return isDateEnabled(date) || (!isDateEnabled(date) && !!dateDisabledReason(date));
30
+ }, [isDateEnabled, dateDisabledReason]);
28
31
  useEffect(() => {
29
32
  if (focusedDate && !isVisible(focusedDate, baseDate, isSingleGrid)) {
30
33
  const direction = isAfter(focusedDate, baseDate) ? -1 : 1;
31
34
  const newMonth = !isSingleGrid && direction === -1 ? addMonths(baseDate, -1) : baseDate;
32
- const nearestBaseDate = getBaseDay(newMonth, isDateEnabled);
33
- const newFocusedDate = findDateToFocus(focusedDate, nearestBaseDate, isDateEnabled);
35
+ const nearestBaseDate = getBaseDay(newMonth, isDateFocusable);
36
+ const newFocusedDate = findDateToFocus(focusedDate, nearestBaseDate, isDateFocusable);
34
37
  onFocusedDateChange(newFocusedDate);
35
38
  }
36
- }, [baseDate, focusedDate, isSingleGrid, isDateEnabled, onFocusedDateChange]);
39
+ }, [baseDate, focusedDate, isSingleGrid, isDateFocusable, onFocusedDateChange]);
37
40
  const onGridKeyDownHandler = (event) => {
38
41
  let updatedFocusDate;
39
42
  const keys = [KeyCode.up, KeyCode.down, KeyCode.left, KeyCode.right, KeyCode.space, KeyCode.enter];
@@ -42,11 +45,16 @@ export const Grids = ({ baseDate, selectedStartDate, selectedEndDate, focusedDat
42
45
  }
43
46
  event.preventDefault();
44
47
  handleKey(event, {
45
- onActivate: () => focusedDate && onSelectDate(focusedDate),
46
- onBlockEnd: () => focusedDate && (updatedFocusDate = moveNextWeek(focusedDate, isDateEnabled)),
47
- onBlockStart: () => focusedDate && (updatedFocusDate = movePrevWeek(focusedDate, isDateEnabled)),
48
- onInlineEnd: () => focusedDate && (updatedFocusDate = moveNextDay(focusedDate, isDateEnabled)),
49
- onInlineStart: () => focusedDate && (updatedFocusDate = movePrevDay(focusedDate, isDateEnabled)),
48
+ onActivate: () => {
49
+ if (!focusedDate || !isDateEnabled(focusedDate)) {
50
+ return;
51
+ }
52
+ onSelectDate(focusedDate);
53
+ },
54
+ onBlockEnd: () => focusedDate && (updatedFocusDate = moveNextWeek(focusedDate, isDateFocusable)),
55
+ onBlockStart: () => focusedDate && (updatedFocusDate = movePrevWeek(focusedDate, isDateFocusable)),
56
+ onInlineEnd: () => focusedDate && (updatedFocusDate = moveNextDay(focusedDate, isDateFocusable)),
57
+ onInlineStart: () => focusedDate && (updatedFocusDate = movePrevDay(focusedDate, isDateFocusable)),
50
58
  });
51
59
  if (!updatedFocusDate) {
52
60
  return;
@@ -85,7 +93,7 @@ export const Grids = ({ baseDate, selectedStartDate, selectedEndDate, focusedDat
85
93
  const rangeEndDate = max(rangeEnds);
86
94
  return (React.createElement("div", { ref: containerRef, onFocus: onGridFocus, onBlur: onGridBlur },
87
95
  React.createElement(InternalSpaceBetween, { size: "xs", direction: "horizontal" },
88
- !isSingleGrid && (React.createElement(Grid, { className: styles['first-grid'], baseDate: addMonths(baseDate, -1), selectedEndDate: selectedEndDate, selectedStartDate: selectedStartDate, rangeStartDate: isRangeVisible ? rangeStartDate : null, rangeEndDate: isRangeVisible ? rangeEndDate : null, focusedDate: focusedDate, focusedDateRef: focusedDateRef, isDateEnabled: isDateEnabled, onSelectDate: onSelectDate, onGridKeyDownHandler: onGridKeyDownHandler, onFocusedDateChange: onFocusedDateChange, locale: locale, startOfWeek: startOfWeek, todayAriaLabel: todayAriaLabel, ariaLabelledby: `${headingIdPrefix}-prevmonth` })),
89
- React.createElement(Grid, { className: styles['second-grid'], baseDate: baseDate, selectedEndDate: selectedEndDate, selectedStartDate: selectedStartDate, rangeStartDate: isRangeVisible ? rangeStartDate : null, rangeEndDate: isRangeVisible ? rangeEndDate : null, focusedDate: focusedDate, focusedDateRef: focusedDateRef, isDateEnabled: isDateEnabled, onSelectDate: onSelectDate, onGridKeyDownHandler: onGridKeyDownHandler, onFocusedDateChange: onFocusedDateChange, locale: locale, startOfWeek: startOfWeek, todayAriaLabel: todayAriaLabel, ariaLabelledby: `${headingIdPrefix}-currentmonth` }))));
96
+ !isSingleGrid && (React.createElement(Grid, { className: styles['first-grid'], baseDate: addMonths(baseDate, -1), selectedEndDate: selectedEndDate, selectedStartDate: selectedStartDate, rangeStartDate: isRangeVisible ? rangeStartDate : null, rangeEndDate: isRangeVisible ? rangeEndDate : null, focusedDate: focusedDate, focusedDateRef: focusedDateRef, isDateEnabled: isDateEnabled, dateDisabledReason: dateDisabledReason, onSelectDate: onSelectDate, onGridKeyDownHandler: onGridKeyDownHandler, onFocusedDateChange: onFocusedDateChange, locale: locale, startOfWeek: startOfWeek, todayAriaLabel: todayAriaLabel, ariaLabelledby: `${headingIdPrefix}-prevmonth` })),
97
+ React.createElement(Grid, { className: styles['second-grid'], baseDate: baseDate, selectedEndDate: selectedEndDate, selectedStartDate: selectedStartDate, rangeStartDate: isRangeVisible ? rangeStartDate : null, rangeEndDate: isRangeVisible ? rangeEndDate : null, focusedDate: focusedDate, focusedDateRef: focusedDateRef, isDateEnabled: isDateEnabled, dateDisabledReason: dateDisabledReason, onSelectDate: onSelectDate, onGridKeyDownHandler: onGridKeyDownHandler, onFocusedDateChange: onFocusedDateChange, locale: locale, startOfWeek: startOfWeek, todayAriaLabel: todayAriaLabel, ariaLabelledby: `${headingIdPrefix}-currentmonth` }))));
90
98
  };
91
99
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\nimport { KeyCode } from '../../../internal/keycode';\nimport { isSameMonth, isAfter, isBefore, addMonths, min, max } from 'date-fns';\n\nimport { DateRangePickerProps, DayIndex } from '../../interfaces';\nimport InternalSpaceBetween from '../../../space-between/internal';\nimport { Grid } from './grid';\nimport styles from '../../styles.css.js';\n\nimport { hasValue } from '../../../internal/utils/has-value';\nimport { useDateCache } from '../../../internal/hooks/use-date-cache';\nimport { moveNextDay, movePrevDay, moveNextWeek, movePrevWeek, getBaseDay } from '../../../calendar/utils/navigation';\nimport { findDateToFocus } from '../utils';\nimport handleKey from '../../../internal/utils/handle-key';\n\nfunction isVisible(date: Date, baseDate: Date, isSingleGrid: boolean) {\n if (isSingleGrid) {\n return isSameMonth(date, baseDate);\n }\n\n const previousMonth = addMonths(baseDate, -1);\n\n return isSameMonth(date, previousMonth) || isSameMonth(date, baseDate);\n}\n\nexport interface GridProps {\n baseDate: Date;\n selectedStartDate: Date | null;\n selectedEndDate: Date | null;\n\n focusedDate: Date | null;\n onFocusedDateChange: React.Dispatch<React.SetStateAction<Date | null>>;\n\n isDateEnabled: DateRangePickerProps.IsDateEnabledFunction;\n isSingleGrid: boolean;\n\n onSelectDate: (date: Date) => void;\n onChangeMonth: (date: Date) => void;\n\n locale: string;\n startOfWeek: DayIndex;\n todayAriaLabel?: string;\n headingIdPrefix: string;\n}\n\nexport const Grids = ({\n baseDate,\n selectedStartDate,\n selectedEndDate,\n\n focusedDate,\n onFocusedDateChange,\n\n isDateEnabled,\n isSingleGrid,\n\n onSelectDate,\n onChangeMonth,\n\n locale,\n startOfWeek,\n todayAriaLabel,\n headingIdPrefix,\n}: GridProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [gridHasFocus, setGridHasFocus] = useState(false);\n\n const focusedDateRef = useRef<HTMLTableCellElement>(null);\n\n const dateCache = useDateCache();\n baseDate = dateCache(baseDate);\n focusedDate = focusedDate ? dateCache(focusedDate) : null;\n\n useEffect(() => {\n if (focusedDate && !isVisible(focusedDate, baseDate, isSingleGrid)) {\n const direction = isAfter(focusedDate, baseDate) ? -1 : 1;\n\n const newMonth = !isSingleGrid && direction === -1 ? addMonths(baseDate, -1) : baseDate;\n const nearestBaseDate = getBaseDay(newMonth, isDateEnabled);\n\n const newFocusedDate = findDateToFocus(focusedDate, nearestBaseDate, isDateEnabled);\n\n onFocusedDateChange(newFocusedDate);\n }\n }, [baseDate, focusedDate, isSingleGrid, isDateEnabled, onFocusedDateChange]);\n\n const onGridKeyDownHandler = (event: React.KeyboardEvent<HTMLElement>) => {\n let updatedFocusDate;\n\n const keys = [KeyCode.up, KeyCode.down, KeyCode.left, KeyCode.right, KeyCode.space, KeyCode.enter];\n\n if (focusedDate === null || keys.indexOf(event.keyCode) === -1) {\n return;\n }\n\n event.preventDefault();\n\n handleKey(event, {\n onActivate: () => focusedDate && onSelectDate(focusedDate),\n onBlockEnd: () => focusedDate && (updatedFocusDate = moveNextWeek(focusedDate, isDateEnabled)),\n onBlockStart: () => focusedDate && (updatedFocusDate = movePrevWeek(focusedDate, isDateEnabled)),\n onInlineEnd: () => focusedDate && (updatedFocusDate = moveNextDay(focusedDate, isDateEnabled)),\n onInlineStart: () => focusedDate && (updatedFocusDate = movePrevDay(focusedDate, isDateEnabled)),\n });\n\n if (!updatedFocusDate) {\n return;\n }\n\n const updatedDateIsVisible = isVisible(updatedFocusDate, baseDate, isSingleGrid);\n\n if (!updatedDateIsVisible) {\n const newMonthIsOnLeftSide = !isSingleGrid && isBefore(updatedFocusDate, baseDate);\n\n onChangeMonth(newMonthIsOnLeftSide ? addMonths(updatedFocusDate, 1) : updatedFocusDate);\n }\n onFocusedDateChange(updatedFocusDate);\n };\n\n useEffect(() => {\n // focus current date if the focus is already inside the calendar\n if (focusedDate !== null && gridHasFocus) {\n if (focusedDateRef.current && focusedDateRef.current !== document.activeElement) {\n focusedDateRef.current.focus();\n }\n }\n }, [focusedDate, gridHasFocus]);\n\n const onGridBlur = (event: React.FocusEvent) => {\n const newFocusTarget = event.relatedTarget || document.activeElement;\n const newFocusTargetIsInGrid = containerRef.current?.contains(newFocusTarget as Node);\n if (newFocusTarget && !newFocusTargetIsInGrid && gridHasFocus) {\n setGridHasFocus(false);\n }\n };\n\n const onGridFocus = () => {\n if (!gridHasFocus) {\n setGridHasFocus(true);\n }\n };\n\n const isRangeVisible = (selectedStartDate && selectedEndDate) || gridHasFocus;\n\n const rangeEnds: Date[] = [selectedStartDate ?? focusedDate, selectedEndDate ?? focusedDate].filter(hasValue);\n\n const rangeStartDate = min(rangeEnds);\n const rangeEndDate = max(rangeEnds);\n\n return (\n <div ref={containerRef} onFocus={onGridFocus} onBlur={onGridBlur}>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\">\n {!isSingleGrid && (\n <Grid\n className={styles['first-grid']}\n baseDate={addMonths(baseDate, -1)}\n selectedEndDate={selectedEndDate}\n selectedStartDate={selectedStartDate}\n rangeStartDate={isRangeVisible ? rangeStartDate : null}\n rangeEndDate={isRangeVisible ? rangeEndDate : null}\n focusedDate={focusedDate}\n focusedDateRef={focusedDateRef}\n isDateEnabled={isDateEnabled}\n onSelectDate={onSelectDate}\n onGridKeyDownHandler={onGridKeyDownHandler}\n onFocusedDateChange={onFocusedDateChange}\n locale={locale}\n startOfWeek={startOfWeek}\n todayAriaLabel={todayAriaLabel}\n ariaLabelledby={`${headingIdPrefix}-prevmonth`}\n />\n )}\n <Grid\n className={styles['second-grid']}\n baseDate={baseDate}\n selectedEndDate={selectedEndDate}\n selectedStartDate={selectedStartDate}\n rangeStartDate={isRangeVisible ? rangeStartDate : null}\n rangeEndDate={isRangeVisible ? rangeEndDate : null}\n focusedDate={focusedDate}\n focusedDateRef={focusedDateRef}\n isDateEnabled={isDateEnabled}\n onSelectDate={onSelectDate}\n onGridKeyDownHandler={onGridKeyDownHandler}\n onFocusedDateChange={onFocusedDateChange}\n locale={locale}\n startOfWeek={startOfWeek}\n todayAriaLabel={todayAriaLabel}\n ariaLabelledby={`${headingIdPrefix}-currentmonth`}\n />\n </InternalSpaceBetween>\n </div>\n );\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { KeyCode } from '../../../internal/keycode';\nimport { isSameMonth, isAfter, isBefore, addMonths, min, max } from 'date-fns';\n\nimport { DateRangePickerProps, DayIndex } from '../../interfaces';\nimport InternalSpaceBetween from '../../../space-between/internal';\nimport { Grid } from './grid';\nimport styles from '../../styles.css.js';\n\nimport { hasValue } from '../../../internal/utils/has-value';\nimport { useDateCache } from '../../../internal/hooks/use-date-cache';\nimport { moveNextDay, movePrevDay, moveNextWeek, movePrevWeek, getBaseDay } from '../../../calendar/utils/navigation';\nimport { findDateToFocus } from '../utils';\nimport handleKey from '../../../internal/utils/handle-key';\n\nfunction isVisible(date: Date, baseDate: Date, isSingleGrid: boolean) {\n if (isSingleGrid) {\n return isSameMonth(date, baseDate);\n }\n\n const previousMonth = addMonths(baseDate, -1);\n\n return isSameMonth(date, previousMonth) || isSameMonth(date, baseDate);\n}\n\nexport interface GridProps {\n baseDate: Date;\n selectedStartDate: Date | null;\n selectedEndDate: Date | null;\n\n focusedDate: Date | null;\n onFocusedDateChange: React.Dispatch<React.SetStateAction<Date | null>>;\n\n isDateEnabled: DateRangePickerProps.IsDateEnabledFunction;\n dateDisabledReason: DateRangePickerProps.DateDisabledReasonFunction;\n isSingleGrid: boolean;\n\n onSelectDate: (date: Date) => void;\n onChangeMonth: (date: Date) => void;\n\n locale: string;\n startOfWeek: DayIndex;\n todayAriaLabel?: string;\n headingIdPrefix: string;\n}\n\nexport const Grids = ({\n baseDate,\n selectedStartDate,\n selectedEndDate,\n\n focusedDate,\n onFocusedDateChange,\n\n isDateEnabled,\n dateDisabledReason,\n isSingleGrid,\n\n onSelectDate,\n onChangeMonth,\n\n locale,\n startOfWeek,\n todayAriaLabel,\n headingIdPrefix,\n}: GridProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [gridHasFocus, setGridHasFocus] = useState(false);\n\n const focusedDateRef = useRef<HTMLTableCellElement>(null);\n\n const dateCache = useDateCache();\n baseDate = dateCache(baseDate);\n focusedDate = focusedDate ? dateCache(focusedDate) : null;\n\n const isDateFocusable = useCallback(\n (date: Date) => {\n return isDateEnabled(date) || (!isDateEnabled(date) && !!dateDisabledReason(date));\n },\n [isDateEnabled, dateDisabledReason]\n );\n\n useEffect(() => {\n if (focusedDate && !isVisible(focusedDate, baseDate, isSingleGrid)) {\n const direction = isAfter(focusedDate, baseDate) ? -1 : 1;\n\n const newMonth = !isSingleGrid && direction === -1 ? addMonths(baseDate, -1) : baseDate;\n const nearestBaseDate = getBaseDay(newMonth, isDateFocusable);\n\n const newFocusedDate = findDateToFocus(focusedDate, nearestBaseDate, isDateFocusable);\n\n onFocusedDateChange(newFocusedDate);\n }\n }, [baseDate, focusedDate, isSingleGrid, isDateFocusable, onFocusedDateChange]);\n\n const onGridKeyDownHandler = (event: React.KeyboardEvent<HTMLElement>) => {\n let updatedFocusDate;\n\n const keys = [KeyCode.up, KeyCode.down, KeyCode.left, KeyCode.right, KeyCode.space, KeyCode.enter];\n\n if (focusedDate === null || keys.indexOf(event.keyCode) === -1) {\n return;\n }\n\n event.preventDefault();\n\n handleKey(event, {\n onActivate: () => {\n if (!focusedDate || !isDateEnabled(focusedDate)) {\n return;\n }\n\n onSelectDate(focusedDate);\n },\n onBlockEnd: () => focusedDate && (updatedFocusDate = moveNextWeek(focusedDate, isDateFocusable)),\n onBlockStart: () => focusedDate && (updatedFocusDate = movePrevWeek(focusedDate, isDateFocusable)),\n onInlineEnd: () => focusedDate && (updatedFocusDate = moveNextDay(focusedDate, isDateFocusable)),\n onInlineStart: () => focusedDate && (updatedFocusDate = movePrevDay(focusedDate, isDateFocusable)),\n });\n\n if (!updatedFocusDate) {\n return;\n }\n\n const updatedDateIsVisible = isVisible(updatedFocusDate, baseDate, isSingleGrid);\n\n if (!updatedDateIsVisible) {\n const newMonthIsOnLeftSide = !isSingleGrid && isBefore(updatedFocusDate, baseDate);\n\n onChangeMonth(newMonthIsOnLeftSide ? addMonths(updatedFocusDate, 1) : updatedFocusDate);\n }\n onFocusedDateChange(updatedFocusDate);\n };\n\n useEffect(() => {\n // focus current date if the focus is already inside the calendar\n if (focusedDate !== null && gridHasFocus) {\n if (focusedDateRef.current && focusedDateRef.current !== document.activeElement) {\n focusedDateRef.current.focus();\n }\n }\n }, [focusedDate, gridHasFocus]);\n\n const onGridBlur = (event: React.FocusEvent) => {\n const newFocusTarget = event.relatedTarget || document.activeElement;\n const newFocusTargetIsInGrid = containerRef.current?.contains(newFocusTarget as Node);\n if (newFocusTarget && !newFocusTargetIsInGrid && gridHasFocus) {\n setGridHasFocus(false);\n }\n };\n\n const onGridFocus = () => {\n if (!gridHasFocus) {\n setGridHasFocus(true);\n }\n };\n\n const isRangeVisible = (selectedStartDate && selectedEndDate) || gridHasFocus;\n\n const rangeEnds: Date[] = [selectedStartDate ?? focusedDate, selectedEndDate ?? focusedDate].filter(hasValue);\n\n const rangeStartDate = min(rangeEnds);\n const rangeEndDate = max(rangeEnds);\n\n return (\n <div ref={containerRef} onFocus={onGridFocus} onBlur={onGridBlur}>\n <InternalSpaceBetween size=\"xs\" direction=\"horizontal\">\n {!isSingleGrid && (\n <Grid\n className={styles['first-grid']}\n baseDate={addMonths(baseDate, -1)}\n selectedEndDate={selectedEndDate}\n selectedStartDate={selectedStartDate}\n rangeStartDate={isRangeVisible ? rangeStartDate : null}\n rangeEndDate={isRangeVisible ? rangeEndDate : null}\n focusedDate={focusedDate}\n focusedDateRef={focusedDateRef}\n isDateEnabled={isDateEnabled}\n dateDisabledReason={dateDisabledReason}\n onSelectDate={onSelectDate}\n onGridKeyDownHandler={onGridKeyDownHandler}\n onFocusedDateChange={onFocusedDateChange}\n locale={locale}\n startOfWeek={startOfWeek}\n todayAriaLabel={todayAriaLabel}\n ariaLabelledby={`${headingIdPrefix}-prevmonth`}\n />\n )}\n <Grid\n className={styles['second-grid']}\n baseDate={baseDate}\n selectedEndDate={selectedEndDate}\n selectedStartDate={selectedStartDate}\n rangeStartDate={isRangeVisible ? rangeStartDate : null}\n rangeEndDate={isRangeVisible ? rangeEndDate : null}\n focusedDate={focusedDate}\n focusedDateRef={focusedDateRef}\n isDateEnabled={isDateEnabled}\n dateDisabledReason={dateDisabledReason}\n onSelectDate={onSelectDate}\n onGridKeyDownHandler={onGridKeyDownHandler}\n onFocusedDateChange={onFocusedDateChange}\n locale={locale}\n startOfWeek={startOfWeek}\n todayAriaLabel={todayAriaLabel}\n ariaLabelledby={`${headingIdPrefix}-currentmonth`}\n />\n </InternalSpaceBetween>\n </div>\n );\n};\n"]}
@@ -1,32 +1,33 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "grid": "awsui_grid_1mfbn_g6fxo_101",
5
- "grid-cell": "awsui_grid-cell_1mfbn_g6fxo_106",
6
- "day-header": "awsui_day-header_1mfbn_g6fxo_113",
7
- "week": "awsui_week_1mfbn_g6fxo_123",
8
- "day": "awsui_day_1mfbn_g6fxo_113",
9
- "day-inner": "awsui_day-inner_1mfbn_g6fxo_170",
10
- "in-first-row": "awsui_in-first-row_1mfbn_g6fxo_175",
11
- "in-previous-month": "awsui_in-previous-month_1mfbn_g6fxo_175",
12
- "last-day-of-month": "awsui_last-day-of-month_1mfbn_g6fxo_179",
13
- "in-next-month": "awsui_in-next-month_1mfbn_g6fxo_183",
14
- "in-first-column": "awsui_in-first-column_1mfbn_g6fxo_187",
15
- "in-current-month": "awsui_in-current-month_1mfbn_g6fxo_190",
16
- "enabled": "awsui_enabled_1mfbn_g6fxo_194",
17
- "in-range": "awsui_in-range_1mfbn_g6fxo_200",
18
- "end-date": "awsui_end-date_1mfbn_g6fxo_200",
19
- "start-date": "awsui_start-date_1mfbn_g6fxo_200",
20
- "no-range": "awsui_no-range_1mfbn_g6fxo_200",
21
- "selected": "awsui_selected_1mfbn_g6fxo_210",
22
- "today": "awsui_today_1mfbn_g6fxo_215",
23
- "range-start-date": "awsui_range-start-date_1mfbn_g6fxo_260",
24
- "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_g6fxo_263",
25
- "range-end-date": "awsui_range-end-date_1mfbn_g6fxo_266",
26
- "in-range-border-top": "awsui_in-range-border-top_1mfbn_g6fxo_269",
27
- "in-range-border-block-start": "awsui_in-range-border-block-start_1mfbn_g6fxo_282",
28
- "in-range-border-inline-end": "awsui_in-range-border-inline-end_1mfbn_g6fxo_285",
29
- "in-range-border-block-end": "awsui_in-range-border-block-end_1mfbn_g6fxo_288",
30
- "in-range-border-inline-start": "awsui_in-range-border-inline-start_1mfbn_g6fxo_291"
4
+ "grid": "awsui_grid_1mfbn_1uvjo_101",
5
+ "grid-cell": "awsui_grid-cell_1mfbn_1uvjo_106",
6
+ "day-header": "awsui_day-header_1mfbn_1uvjo_113",
7
+ "week": "awsui_week_1mfbn_1uvjo_123",
8
+ "day": "awsui_day_1mfbn_1uvjo_113",
9
+ "day-inner": "awsui_day-inner_1mfbn_1uvjo_170",
10
+ "in-first-row": "awsui_in-first-row_1mfbn_1uvjo_175",
11
+ "in-previous-month": "awsui_in-previous-month_1mfbn_1uvjo_175",
12
+ "last-day-of-month": "awsui_last-day-of-month_1mfbn_1uvjo_179",
13
+ "in-next-month": "awsui_in-next-month_1mfbn_1uvjo_183",
14
+ "in-first-column": "awsui_in-first-column_1mfbn_1uvjo_187",
15
+ "in-current-month": "awsui_in-current-month_1mfbn_1uvjo_190",
16
+ "enabled": "awsui_enabled_1mfbn_1uvjo_194",
17
+ "in-range": "awsui_in-range_1mfbn_1uvjo_200",
18
+ "end-date": "awsui_end-date_1mfbn_1uvjo_200",
19
+ "start-date": "awsui_start-date_1mfbn_1uvjo_200",
20
+ "no-range": "awsui_no-range_1mfbn_1uvjo_200",
21
+ "selected": "awsui_selected_1mfbn_1uvjo_210",
22
+ "today": "awsui_today_1mfbn_1uvjo_215",
23
+ "range-start-date": "awsui_range-start-date_1mfbn_1uvjo_260",
24
+ "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_1uvjo_263",
25
+ "range-end-date": "awsui_range-end-date_1mfbn_1uvjo_266",
26
+ "in-range-border-top": "awsui_in-range-border-top_1mfbn_1uvjo_269",
27
+ "in-range-border-block-start": "awsui_in-range-border-block-start_1mfbn_1uvjo_282",
28
+ "in-range-border-inline-end": "awsui_in-range-border-inline-end_1mfbn_1uvjo_285",
29
+ "in-range-border-block-end": "awsui_in-range-border-block-end_1mfbn_1uvjo_288",
30
+ "in-range-border-inline-start": "awsui_in-range-border-inline-start_1mfbn_1uvjo_291",
31
+ "disabled-reason-tooltip": "awsui_disabled-reason-tooltip_1mfbn_1uvjo_307"
31
32
  };
32
33
 
@@ -98,19 +98,19 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
98
98
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
99
99
  SPDX-License-Identifier: Apache-2.0
100
100
  */
101
- .awsui_grid_1mfbn_g6fxo_101:not(#\9) {
101
+ .awsui_grid_1mfbn_1uvjo_101:not(#\9) {
102
102
  inline-size: var(--size-calendar-grid-width-lrunz7, 238px);
103
103
  border-spacing: 0;
104
104
  }
105
105
 
106
- .awsui_grid-cell_1mfbn_g6fxo_106:not(#\9) {
106
+ .awsui_grid-cell_1mfbn_1uvjo_106:not(#\9) {
107
107
  inline-size: 14.2857142857%;
108
108
  word-break: break-word;
109
109
  text-align: center;
110
110
  font-weight: unset;
111
111
  }
112
112
 
113
- .awsui_day-header_1mfbn_g6fxo_113:not(#\9) {
113
+ .awsui_day-header_1mfbn_1uvjo_113:not(#\9) {
114
114
  padding-block-start: var(--space-s-34lx8l, 12px);
115
115
  padding-block-end: var(--space-xxs-p8yyaw, 4px);
116
116
  padding-inline: 0;
@@ -120,11 +120,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
120
120
  letter-spacing: var(--letter-spacing-body-s-z9jkwp, 0.005em);
121
121
  }
122
122
 
123
- .awsui_week_1mfbn_g6fxo_123:not(#\9) {
123
+ .awsui_week_1mfbn_1uvjo_123:not(#\9) {
124
124
  /* used for identifying element */
125
125
  }
126
126
 
127
- .awsui_day_1mfbn_g6fxo_113:not(#\9) {
127
+ .awsui_day_1mfbn_1uvjo_113:not(#\9) {
128
128
  border-block-end: 1px solid var(--color-border-calendar-grid-u86q1u, transparent);
129
129
  border-inline-end: 1px solid var(--color-border-calendar-grid-u86q1u, transparent);
130
130
  padding-block: var(--space-xxs-p8yyaw, 4px);
@@ -132,10 +132,10 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
132
132
  color: var(--color-text-dropdown-item-disabled-6oq3n6, #9ba7b6);
133
133
  position: relative;
134
134
  }
135
- .awsui_day_1mfbn_g6fxo_113:not(#\9):focus {
135
+ .awsui_day_1mfbn_1uvjo_113:not(#\9):focus {
136
136
  outline: none;
137
137
  }
138
- .awsui_day_1mfbn_g6fxo_113:not(#\9)::after {
138
+ .awsui_day_1mfbn_1uvjo_113:not(#\9)::after {
139
139
  content: "";
140
140
  position: absolute;
141
141
  z-index: 1;
@@ -145,15 +145,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
145
145
  inset-inline-end: calc(-1 * var(--border-item-width-yel47s, 2px));
146
146
  background-color: transparent;
147
147
  }
148
- body[data-awsui-focus-visible=true] .awsui_day_1mfbn_g6fxo_113:not(#\9):focus {
148
+ body[data-awsui-focus-visible=true] .awsui_day_1mfbn_1uvjo_113:not(#\9):focus {
149
149
  z-index: 2;
150
150
  position: relative;
151
151
  }
152
- body[data-awsui-focus-visible=true] .awsui_day_1mfbn_g6fxo_113:not(#\9):focus {
152
+ body[data-awsui-focus-visible=true] .awsui_day_1mfbn_1uvjo_113:not(#\9):focus {
153
153
  outline: 2px dotted transparent;
154
154
  outline-offset: calc(var(--space-calendar-grid-focus-outline-gutter-g00bgj, -5px) - 1px);
155
155
  }
156
- body[data-awsui-focus-visible=true] .awsui_day_1mfbn_g6fxo_113:not(#\9):focus::before {
156
+ body[data-awsui-focus-visible=true] .awsui_day_1mfbn_1uvjo_113:not(#\9):focus::before {
157
157
  content: " ";
158
158
  display: block;
159
159
  position: absolute;
@@ -167,52 +167,52 @@ body[data-awsui-focus-visible=true] .awsui_day_1mfbn_g6fxo_113:not(#\9):focus::b
167
167
  border-end-end-radius: var(--border-radius-calendar-day-focus-ring-545h0w, 3px);
168
168
  box-shadow: 0 0 0 2px var(--color-border-item-focused-b2ntyl, #0972d3);
169
169
  }
170
- .awsui_day_1mfbn_g6fxo_113 > .awsui_day-inner_1mfbn_g6fxo_170:not(#\9) {
170
+ .awsui_day_1mfbn_1uvjo_113 > .awsui_day-inner_1mfbn_1uvjo_170:not(#\9) {
171
171
  position: relative;
172
172
  z-index: 1;
173
173
  }
174
174
 
175
- .awsui_in-first-row_1mfbn_g6fxo_175:not(#\9):not(.awsui_in-previous-month_1mfbn_g6fxo_175) {
175
+ .awsui_in-first-row_1mfbn_1uvjo_175:not(#\9):not(.awsui_in-previous-month_1mfbn_1uvjo_175) {
176
176
  border-block-start: 1px solid var(--color-border-calendar-grid-u86q1u, transparent);
177
177
  }
178
178
 
179
- .awsui_in-previous-month_1mfbn_g6fxo_175:not(#\9):not(.awsui_last-day-of-month_1mfbn_g6fxo_179) {
179
+ .awsui_in-previous-month_1mfbn_1uvjo_175:not(#\9):not(.awsui_last-day-of-month_1mfbn_1uvjo_179) {
180
180
  border-inline-end-color: transparent;
181
181
  }
182
182
 
183
- .awsui_in-next-month_1mfbn_g6fxo_183:not(#\9) {
183
+ .awsui_in-next-month_1mfbn_1uvjo_183:not(#\9) {
184
184
  border-color: transparent;
185
185
  }
186
186
 
187
- .awsui_in-first-column_1mfbn_g6fxo_187:not(#\9) {
187
+ .awsui_in-first-column_1mfbn_1uvjo_187:not(#\9) {
188
188
  border-inline-start: 1px solid transparent;
189
189
  }
190
- .awsui_in-first-column_1mfbn_g6fxo_187.awsui_in-current-month_1mfbn_g6fxo_190:not(#\9) {
190
+ .awsui_in-first-column_1mfbn_1uvjo_187.awsui_in-current-month_1mfbn_1uvjo_190:not(#\9) {
191
191
  border-inline-start: 1px solid var(--color-border-calendar-grid-u86q1u, transparent);
192
192
  }
193
193
 
194
- .awsui_enabled_1mfbn_g6fxo_194:not(#\9) {
194
+ .awsui_enabled_1mfbn_1uvjo_194:not(#\9) {
195
195
  cursor: pointer;
196
196
  }
197
- .awsui_enabled_1mfbn_g6fxo_194.awsui_in-current-month_1mfbn_g6fxo_190:not(#\9) {
197
+ .awsui_enabled_1mfbn_1uvjo_194.awsui_in-current-month_1mfbn_1uvjo_190:not(#\9) {
198
198
  color: var(--color-text-dropdown-item-default-4o4hes, #000716);
199
199
  }
200
- .awsui_enabled_1mfbn_g6fxo_194.awsui_in-current-month_1mfbn_g6fxo_190:not(#\9):not(.awsui_in-range_1mfbn_g6fxo_200), .awsui_enabled_1mfbn_g6fxo_194.awsui_in-current-month_1mfbn_g6fxo_190:not(#\9):not(.awsui_in-range_1mfbn_g6fxo_200)::after, .awsui_enabled_1mfbn_g6fxo_194.awsui_in-current-month_1mfbn_g6fxo_190.awsui_end-date_1mfbn_g6fxo_200.awsui_start-date_1mfbn_g6fxo_200:not(#\9), .awsui_enabled_1mfbn_g6fxo_194.awsui_in-current-month_1mfbn_g6fxo_190.awsui_end-date_1mfbn_g6fxo_200.awsui_start-date_1mfbn_g6fxo_200:not(#\9)::after, .awsui_enabled_1mfbn_g6fxo_194.awsui_in-current-month_1mfbn_g6fxo_190.awsui_no-range_1mfbn_g6fxo_200:not(#\9), .awsui_enabled_1mfbn_g6fxo_194.awsui_in-current-month_1mfbn_g6fxo_190.awsui_no-range_1mfbn_g6fxo_200:not(#\9)::after {
200
+ .awsui_enabled_1mfbn_1uvjo_194.awsui_in-current-month_1mfbn_1uvjo_190:not(#\9):not(.awsui_in-range_1mfbn_1uvjo_200), .awsui_enabled_1mfbn_1uvjo_194.awsui_in-current-month_1mfbn_1uvjo_190:not(#\9):not(.awsui_in-range_1mfbn_1uvjo_200)::after, .awsui_enabled_1mfbn_1uvjo_194.awsui_in-current-month_1mfbn_1uvjo_190.awsui_end-date_1mfbn_1uvjo_200.awsui_start-date_1mfbn_1uvjo_200:not(#\9), .awsui_enabled_1mfbn_1uvjo_194.awsui_in-current-month_1mfbn_1uvjo_190.awsui_end-date_1mfbn_1uvjo_200.awsui_start-date_1mfbn_1uvjo_200:not(#\9)::after, .awsui_enabled_1mfbn_1uvjo_194.awsui_in-current-month_1mfbn_1uvjo_190.awsui_no-range_1mfbn_1uvjo_200:not(#\9), .awsui_enabled_1mfbn_1uvjo_194.awsui_in-current-month_1mfbn_1uvjo_190.awsui_no-range_1mfbn_1uvjo_200:not(#\9)::after {
201
201
  border-start-start-radius: var(--border-radius-item-05df9h, 8px);
202
202
  border-start-end-radius: var(--border-radius-item-05df9h, 8px);
203
203
  border-end-start-radius: var(--border-radius-item-05df9h, 8px);
204
204
  border-end-end-radius: var(--border-radius-item-05df9h, 8px);
205
205
  }
206
- .awsui_enabled_1mfbn_g6fxo_194.awsui_in-current-month_1mfbn_g6fxo_190:not(#\9):hover {
206
+ .awsui_enabled_1mfbn_1uvjo_194.awsui_in-current-month_1mfbn_1uvjo_190:not(#\9):hover {
207
207
  color: var(--color-text-calendar-date-hover-llr4as, #000716);
208
208
  background-color: var(--color-background-dropdown-item-hover-swsulg, #f4f4f4);
209
209
  }
210
- .awsui_enabled_1mfbn_g6fxo_194.awsui_in-current-month_1mfbn_g6fxo_190:not(#\9):hover:not(.awsui_selected_1mfbn_g6fxo_210)::after {
210
+ .awsui_enabled_1mfbn_1uvjo_194.awsui_in-current-month_1mfbn_1uvjo_190:not(#\9):hover:not(.awsui_selected_1mfbn_1uvjo_210)::after {
211
211
  border-block: var(--border-item-width-yel47s, 2px) solid var(--color-border-dropdown-item-hover-461g78, #7d8998);
212
212
  border-inline: var(--border-item-width-yel47s, 2px) solid var(--color-border-dropdown-item-hover-461g78, #7d8998);
213
213
  }
214
214
 
215
- .awsui_today_1mfbn_g6fxo_215:not(#\9):not(.awsui_in-range_1mfbn_g6fxo_200) {
215
+ .awsui_today_1mfbn_1uvjo_215:not(#\9):not(.awsui_in-range_1mfbn_1uvjo_200) {
216
216
  background-color: var(--color-background-calendar-current-date-kmb0ji, #f4f4f4);
217
217
  border-start-start-radius: var(--border-radius-item-05df9h, 8px);
218
218
  border-start-end-radius: var(--border-radius-item-05df9h, 8px);
@@ -221,20 +221,20 @@ body[data-awsui-focus-visible=true] .awsui_day_1mfbn_g6fxo_113:not(#\9):focus::b
221
221
  font-weight: 700;
222
222
  }
223
223
 
224
- .awsui_selected_1mfbn_g6fxo_210:not(#\9) {
224
+ .awsui_selected_1mfbn_1uvjo_210:not(#\9) {
225
225
  border-color: transparent;
226
226
  position: relative;
227
227
  z-index: 2;
228
228
  font-weight: 700;
229
229
  }
230
- body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_g6fxo_210:not(#\9):focus {
230
+ body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_1uvjo_210:not(#\9):focus {
231
231
  position: relative;
232
232
  }
233
- body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_g6fxo_210:not(#\9):focus {
233
+ body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_1uvjo_210:not(#\9):focus {
234
234
  outline: 2px dotted transparent;
235
235
  outline-offset: calc(var(--space-calendar-grid-selected-focus-outline-gutter-hxbct6, -5px) - 1px);
236
236
  }
237
- body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_g6fxo_210:not(#\9):focus::before {
237
+ body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_1uvjo_210:not(#\9):focus::before {
238
238
  content: " ";
239
239
  display: block;
240
240
  position: absolute;
@@ -248,58 +248,62 @@ body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_g6fxo_210:not(#\9):foc
248
248
  border-end-end-radius: var(--border-radius-calendar-day-focus-ring-545h0w, 3px);
249
249
  box-shadow: 0 0 0 2px var(--color-border-calendar-grid-selected-focus-ring-thqa8y, #fbfbfb);
250
250
  }
251
- body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_g6fxo_210:not(#\9):focus::before {
251
+ body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_1uvjo_210:not(#\9):focus::before {
252
252
  z-index: 1;
253
253
  }
254
- .awsui_selected_1mfbn_g6fxo_210:not(#\9)::after {
254
+ .awsui_selected_1mfbn_1uvjo_210:not(#\9)::after {
255
255
  background-color: var(--color-background-control-checked-w517i0, #0972d3);
256
256
  border-block: var(--border-item-width-yel47s, 2px) solid var(--color-background-control-checked-w517i0, #0972d3);
257
257
  border-inline: var(--border-item-width-yel47s, 2px) solid var(--color-background-control-checked-w517i0, #0972d3);
258
258
  z-index: 0;
259
259
  }
260
- .awsui_selected_1mfbn_g6fxo_210.awsui_start-date_1mfbn_g6fxo_200:not(#\9), .awsui_selected_1mfbn_g6fxo_210.awsui_start-date_1mfbn_g6fxo_200:not(#\9)::after, .awsui_selected_1mfbn_g6fxo_210.awsui_range-start-date_1mfbn_g6fxo_260:not(#\9), .awsui_selected_1mfbn_g6fxo_210.awsui_range-start-date_1mfbn_g6fxo_260:not(#\9)::after {
260
+ .awsui_selected_1mfbn_1uvjo_210.awsui_start-date_1mfbn_1uvjo_200:not(#\9), .awsui_selected_1mfbn_1uvjo_210.awsui_start-date_1mfbn_1uvjo_200:not(#\9)::after, .awsui_selected_1mfbn_1uvjo_210.awsui_range-start-date_1mfbn_1uvjo_260:not(#\9), .awsui_selected_1mfbn_1uvjo_210.awsui_range-start-date_1mfbn_1uvjo_260:not(#\9)::after {
261
261
  border-start-start-radius: var(--border-radius-item-05df9h, 8px);
262
262
  }
263
- .awsui_selected_1mfbn_g6fxo_210.awsui_start-date_1mfbn_g6fxo_200.awsui_in-range-border-bottom_1mfbn_g6fxo_263:not(#\9), .awsui_selected_1mfbn_g6fxo_210.awsui_start-date_1mfbn_g6fxo_200.awsui_in-range-border-bottom_1mfbn_g6fxo_263:not(#\9)::after, .awsui_selected_1mfbn_g6fxo_210.awsui_range-start-date_1mfbn_g6fxo_260.awsui_in-range-border-bottom_1mfbn_g6fxo_263:not(#\9), .awsui_selected_1mfbn_g6fxo_210.awsui_range-start-date_1mfbn_g6fxo_260.awsui_in-range-border-bottom_1mfbn_g6fxo_263:not(#\9)::after {
263
+ .awsui_selected_1mfbn_1uvjo_210.awsui_start-date_1mfbn_1uvjo_200.awsui_in-range-border-bottom_1mfbn_1uvjo_263:not(#\9), .awsui_selected_1mfbn_1uvjo_210.awsui_start-date_1mfbn_1uvjo_200.awsui_in-range-border-bottom_1mfbn_1uvjo_263:not(#\9)::after, .awsui_selected_1mfbn_1uvjo_210.awsui_range-start-date_1mfbn_1uvjo_260.awsui_in-range-border-bottom_1mfbn_1uvjo_263:not(#\9), .awsui_selected_1mfbn_1uvjo_210.awsui_range-start-date_1mfbn_1uvjo_260.awsui_in-range-border-bottom_1mfbn_1uvjo_263:not(#\9)::after {
264
264
  border-end-start-radius: var(--border-radius-item-05df9h, 8px);
265
265
  }
266
- .awsui_selected_1mfbn_g6fxo_210.awsui_end-date_1mfbn_g6fxo_200:not(#\9), .awsui_selected_1mfbn_g6fxo_210.awsui_end-date_1mfbn_g6fxo_200:not(#\9)::after, .awsui_selected_1mfbn_g6fxo_210.awsui_range-end-date_1mfbn_g6fxo_266:not(#\9), .awsui_selected_1mfbn_g6fxo_210.awsui_range-end-date_1mfbn_g6fxo_266:not(#\9)::after {
266
+ .awsui_selected_1mfbn_1uvjo_210.awsui_end-date_1mfbn_1uvjo_200:not(#\9), .awsui_selected_1mfbn_1uvjo_210.awsui_end-date_1mfbn_1uvjo_200:not(#\9)::after, .awsui_selected_1mfbn_1uvjo_210.awsui_range-end-date_1mfbn_1uvjo_266:not(#\9), .awsui_selected_1mfbn_1uvjo_210.awsui_range-end-date_1mfbn_1uvjo_266:not(#\9)::after {
267
267
  border-end-end-radius: var(--border-radius-item-05df9h, 8px);
268
268
  }
269
- .awsui_selected_1mfbn_g6fxo_210.awsui_end-date_1mfbn_g6fxo_200.awsui_in-range-border-top_1mfbn_g6fxo_269:not(#\9), .awsui_selected_1mfbn_g6fxo_210.awsui_end-date_1mfbn_g6fxo_200.awsui_in-range-border-top_1mfbn_g6fxo_269:not(#\9)::after, .awsui_selected_1mfbn_g6fxo_210.awsui_range-end-date_1mfbn_g6fxo_266.awsui_in-range-border-top_1mfbn_g6fxo_269:not(#\9), .awsui_selected_1mfbn_g6fxo_210.awsui_range-end-date_1mfbn_g6fxo_266.awsui_in-range-border-top_1mfbn_g6fxo_269:not(#\9)::after {
269
+ .awsui_selected_1mfbn_1uvjo_210.awsui_end-date_1mfbn_1uvjo_200.awsui_in-range-border-top_1mfbn_1uvjo_269:not(#\9), .awsui_selected_1mfbn_1uvjo_210.awsui_end-date_1mfbn_1uvjo_200.awsui_in-range-border-top_1mfbn_1uvjo_269:not(#\9)::after, .awsui_selected_1mfbn_1uvjo_210.awsui_range-end-date_1mfbn_1uvjo_266.awsui_in-range-border-top_1mfbn_1uvjo_269:not(#\9), .awsui_selected_1mfbn_1uvjo_210.awsui_range-end-date_1mfbn_1uvjo_266.awsui_in-range-border-top_1mfbn_1uvjo_269:not(#\9)::after {
270
270
  border-start-end-radius: var(--border-radius-item-05df9h, 8px);
271
271
  }
272
- .awsui_selected_1mfbn_g6fxo_210 > .awsui_day-inner_1mfbn_g6fxo_170:not(#\9) {
272
+ .awsui_selected_1mfbn_1uvjo_210 > .awsui_day-inner_1mfbn_1uvjo_170:not(#\9) {
273
273
  color: var(--color-background-control-default-qzruqy, #ffffff);
274
274
  position: relative;
275
275
  z-index: 2;
276
276
  }
277
277
 
278
- .awsui_in-range_1mfbn_g6fxo_200:not(#\9) {
278
+ .awsui_in-range_1mfbn_1uvjo_200:not(#\9) {
279
279
  background-color: var(--color-background-dropdown-item-selected-n136dm, #f2f8fd);
280
280
  font-weight: 700;
281
281
  }
282
- .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-block-start_1mfbn_g6fxo_282:not(#\9)::after {
282
+ .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-block-start_1mfbn_1uvjo_282:not(#\9)::after {
283
283
  border-block-start: var(--border-item-width-yel47s, 2px) solid var(--color-background-control-checked-w517i0, #0972d3);
284
284
  }
285
- .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-inline-end_1mfbn_g6fxo_285:not(#\9)::after {
285
+ .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-inline-end_1mfbn_1uvjo_285:not(#\9)::after {
286
286
  border-inline-end: var(--border-item-width-yel47s, 2px) solid var(--color-background-control-checked-w517i0, #0972d3);
287
287
  }
288
- .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-block-end_1mfbn_g6fxo_288:not(#\9)::after {
288
+ .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-block-end_1mfbn_1uvjo_288:not(#\9)::after {
289
289
  border-block-end: var(--border-item-width-yel47s, 2px) solid var(--color-background-control-checked-w517i0, #0972d3);
290
290
  }
291
- .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-inline-start_1mfbn_g6fxo_291:not(#\9)::after {
291
+ .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-inline-start_1mfbn_1uvjo_291:not(#\9)::after {
292
292
  border-inline-start: var(--border-item-width-yel47s, 2px) solid var(--color-background-control-checked-w517i0, #0972d3);
293
293
  }
294
- .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-block-start_1mfbn_g6fxo_282.awsui_in-range-border-inline-end_1mfbn_g6fxo_285:not(#\9), .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-block-start_1mfbn_g6fxo_282.awsui_in-range-border-inline-end_1mfbn_g6fxo_285:not(#\9)::after {
294
+ .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-block-start_1mfbn_1uvjo_282.awsui_in-range-border-inline-end_1mfbn_1uvjo_285:not(#\9), .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-block-start_1mfbn_1uvjo_282.awsui_in-range-border-inline-end_1mfbn_1uvjo_285:not(#\9)::after {
295
295
  border-start-end-radius: var(--border-radius-item-05df9h, 8px);
296
296
  }
297
- .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-block-end_1mfbn_g6fxo_288.awsui_in-range-border-inline-end_1mfbn_g6fxo_285:not(#\9), .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-block-end_1mfbn_g6fxo_288.awsui_in-range-border-inline-end_1mfbn_g6fxo_285:not(#\9)::after {
297
+ .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-block-end_1mfbn_1uvjo_288.awsui_in-range-border-inline-end_1mfbn_1uvjo_285:not(#\9), .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-block-end_1mfbn_1uvjo_288.awsui_in-range-border-inline-end_1mfbn_1uvjo_285:not(#\9)::after {
298
298
  border-end-end-radius: var(--border-radius-item-05df9h, 8px);
299
299
  }
300
- .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-block-end_1mfbn_g6fxo_288.awsui_in-range-border-inline-start_1mfbn_g6fxo_291:not(#\9), .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-block-end_1mfbn_g6fxo_288.awsui_in-range-border-inline-start_1mfbn_g6fxo_291:not(#\9)::after {
300
+ .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-block-end_1mfbn_1uvjo_288.awsui_in-range-border-inline-start_1mfbn_1uvjo_291:not(#\9), .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-block-end_1mfbn_1uvjo_288.awsui_in-range-border-inline-start_1mfbn_1uvjo_291:not(#\9)::after {
301
301
  border-end-start-radius: var(--border-radius-item-05df9h, 8px);
302
302
  }
303
- .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-block-start_1mfbn_g6fxo_282.awsui_in-range-border-inline-start_1mfbn_g6fxo_291:not(#\9), .awsui_in-range_1mfbn_g6fxo_200.awsui_in-range-border-block-start_1mfbn_g6fxo_282.awsui_in-range-border-inline-start_1mfbn_g6fxo_291:not(#\9)::after {
303
+ .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-block-start_1mfbn_1uvjo_282.awsui_in-range-border-inline-start_1mfbn_1uvjo_291:not(#\9), .awsui_in-range_1mfbn_1uvjo_200.awsui_in-range-border-block-start_1mfbn_1uvjo_282.awsui_in-range-border-inline-start_1mfbn_1uvjo_291:not(#\9)::after {
304
304
  border-start-start-radius: var(--border-radius-item-05df9h, 8px);
305
+ }
306
+
307
+ .awsui_disabled-reason-tooltip_1mfbn_1uvjo_307:not(#\9) {
308
+ /* used in test-utils or tests */
305
309
  }
@@ -2,32 +2,33 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "grid": "awsui_grid_1mfbn_g6fxo_101",
6
- "grid-cell": "awsui_grid-cell_1mfbn_g6fxo_106",
7
- "day-header": "awsui_day-header_1mfbn_g6fxo_113",
8
- "week": "awsui_week_1mfbn_g6fxo_123",
9
- "day": "awsui_day_1mfbn_g6fxo_113",
10
- "day-inner": "awsui_day-inner_1mfbn_g6fxo_170",
11
- "in-first-row": "awsui_in-first-row_1mfbn_g6fxo_175",
12
- "in-previous-month": "awsui_in-previous-month_1mfbn_g6fxo_175",
13
- "last-day-of-month": "awsui_last-day-of-month_1mfbn_g6fxo_179",
14
- "in-next-month": "awsui_in-next-month_1mfbn_g6fxo_183",
15
- "in-first-column": "awsui_in-first-column_1mfbn_g6fxo_187",
16
- "in-current-month": "awsui_in-current-month_1mfbn_g6fxo_190",
17
- "enabled": "awsui_enabled_1mfbn_g6fxo_194",
18
- "in-range": "awsui_in-range_1mfbn_g6fxo_200",
19
- "end-date": "awsui_end-date_1mfbn_g6fxo_200",
20
- "start-date": "awsui_start-date_1mfbn_g6fxo_200",
21
- "no-range": "awsui_no-range_1mfbn_g6fxo_200",
22
- "selected": "awsui_selected_1mfbn_g6fxo_210",
23
- "today": "awsui_today_1mfbn_g6fxo_215",
24
- "range-start-date": "awsui_range-start-date_1mfbn_g6fxo_260",
25
- "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_g6fxo_263",
26
- "range-end-date": "awsui_range-end-date_1mfbn_g6fxo_266",
27
- "in-range-border-top": "awsui_in-range-border-top_1mfbn_g6fxo_269",
28
- "in-range-border-block-start": "awsui_in-range-border-block-start_1mfbn_g6fxo_282",
29
- "in-range-border-inline-end": "awsui_in-range-border-inline-end_1mfbn_g6fxo_285",
30
- "in-range-border-block-end": "awsui_in-range-border-block-end_1mfbn_g6fxo_288",
31
- "in-range-border-inline-start": "awsui_in-range-border-inline-start_1mfbn_g6fxo_291"
5
+ "grid": "awsui_grid_1mfbn_1uvjo_101",
6
+ "grid-cell": "awsui_grid-cell_1mfbn_1uvjo_106",
7
+ "day-header": "awsui_day-header_1mfbn_1uvjo_113",
8
+ "week": "awsui_week_1mfbn_1uvjo_123",
9
+ "day": "awsui_day_1mfbn_1uvjo_113",
10
+ "day-inner": "awsui_day-inner_1mfbn_1uvjo_170",
11
+ "in-first-row": "awsui_in-first-row_1mfbn_1uvjo_175",
12
+ "in-previous-month": "awsui_in-previous-month_1mfbn_1uvjo_175",
13
+ "last-day-of-month": "awsui_last-day-of-month_1mfbn_1uvjo_179",
14
+ "in-next-month": "awsui_in-next-month_1mfbn_1uvjo_183",
15
+ "in-first-column": "awsui_in-first-column_1mfbn_1uvjo_187",
16
+ "in-current-month": "awsui_in-current-month_1mfbn_1uvjo_190",
17
+ "enabled": "awsui_enabled_1mfbn_1uvjo_194",
18
+ "in-range": "awsui_in-range_1mfbn_1uvjo_200",
19
+ "end-date": "awsui_end-date_1mfbn_1uvjo_200",
20
+ "start-date": "awsui_start-date_1mfbn_1uvjo_200",
21
+ "no-range": "awsui_no-range_1mfbn_1uvjo_200",
22
+ "selected": "awsui_selected_1mfbn_1uvjo_210",
23
+ "today": "awsui_today_1mfbn_1uvjo_215",
24
+ "range-start-date": "awsui_range-start-date_1mfbn_1uvjo_260",
25
+ "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_1uvjo_263",
26
+ "range-end-date": "awsui_range-end-date_1mfbn_1uvjo_266",
27
+ "in-range-border-top": "awsui_in-range-border-top_1mfbn_1uvjo_269",
28
+ "in-range-border-block-start": "awsui_in-range-border-block-start_1mfbn_1uvjo_282",
29
+ "in-range-border-inline-end": "awsui_in-range-border-inline-end_1mfbn_1uvjo_285",
30
+ "in-range-border-block-end": "awsui_in-range-border-block-end_1mfbn_1uvjo_288",
31
+ "in-range-border-inline-start": "awsui_in-range-border-inline-start_1mfbn_1uvjo_291",
32
+ "disabled-reason-tooltip": "awsui_disabled-reason-tooltip_1mfbn_1uvjo_307"
32
33
  };
33
34
 
@@ -8,10 +8,11 @@ export interface DateRangePickerCalendarProps extends BaseComponentProps {
8
8
  locale?: string;
9
9
  startOfWeek?: number;
10
10
  isDateEnabled?: (date: Date) => boolean;
11
+ dateDisabledReason?: (date: Date) => string;
11
12
  i18nStrings?: RangeCalendarI18nStrings;
12
13
  dateOnly?: boolean;
13
14
  timeInputFormat?: TimeInputProps.Format;
14
15
  customAbsoluteRangeControl: DateRangePickerProps.AbsoluteRangeControl | undefined;
15
16
  }
16
- export default function DateRangePickerCalendar({ value, setValue, locale, startOfWeek, isDateEnabled, i18nStrings, dateOnly, timeInputFormat, customAbsoluteRangeControl, }: DateRangePickerCalendarProps): JSX.Element;
17
+ export default function DateRangePickerCalendar({ value, setValue, locale, startOfWeek, isDateEnabled, dateDisabledReason, i18nStrings, dateOnly, timeInputFormat, customAbsoluteRangeControl, }: DateRangePickerCalendarProps): JSX.Element;
17
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/date-range-picker/calendar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAa7D,MAAM,WAAW,4BAA6B,SAAQ,kBAAkB;IACtE,KAAK,EAAE,oBAAoB,CAAC,oBAAoB,CAAC;IACjD,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACxC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;IACxC,0BAA0B,EAAE,oBAAoB,CAAC,oBAAoB,GAAG,SAAS,CAAC;CACnF;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,KAAK,EACL,QAAQ,EACR,MAAW,EACX,WAAW,EACX,aAA0B,EAC1B,WAAW,EACX,QAAgB,EAChB,eAA4B,EAC5B,0BAA0B,GAC3B,EAAE,4BAA4B,eAiO9B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/date-range-picker/calendar/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAa7D,MAAM,WAAW,4BAA6B,SAAQ,kBAAkB;IACtE,KAAK,EAAE,oBAAoB,CAAC,oBAAoB,CAAC;IACjD,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,oBAAoB,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC1F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC;IACxC,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAC5C,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;IACxC,0BAA0B,EAAE,oBAAoB,CAAC,oBAAoB,GAAG,SAAS,CAAC;CACnF;AAED,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,EAC9C,KAAK,EACL,QAAQ,EACR,MAAW,EACX,WAAW,EACX,aAA0B,EAC1B,kBAA6B,EAC7B,WAAW,EACX,QAAgB,EAChB,eAA4B,EAC5B,0BAA0B,GAC3B,EAAE,4BAA4B,eAkO9B"}
@@ -17,7 +17,7 @@ import { useMobile } from '../../internal/hooks/use-mobile/index.js';
17
17
  import RangeInputs from './range-inputs.js';
18
18
  import { findDateToFocus, findMonthToDisplay } from './utils';
19
19
  import { useInternalI18n } from '../../i18n/context.js';
20
- export default function DateRangePickerCalendar({ value, setValue, locale = '', startOfWeek, isDateEnabled = () => true, i18nStrings, dateOnly = false, timeInputFormat = 'hh:mm:ss', customAbsoluteRangeControl, }) {
20
+ export default function DateRangePickerCalendar({ value, setValue, locale = '', startOfWeek, isDateEnabled = () => true, dateDisabledReason = () => '', i18nStrings, dateOnly = false, timeInputFormat = 'hh:mm:ss', customAbsoluteRangeControl, }) {
21
21
  const isSingleGrid = useMobile();
22
22
  const normalizedLocale = normalizeLocale('DateRangePicker', locale);
23
23
  const normalizedStartOfWeek = normalizeStartOfWeek(startOfWeek, normalizedLocale);
@@ -159,7 +159,7 @@ export default function DateRangePickerCalendar({ value, setValue, locale = '',
159
159
  [styles['one-grid']]: isSingleGrid,
160
160
  }) },
161
161
  React.createElement(CalendarHeader, { baseDate: currentMonth, locale: normalizedLocale, onChangeMonth: onHeaderChangeMonthHandler, previousMonthLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousMonthAriaLabel, nextMonthLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextMonthAriaLabel, isSingleGrid: isSingleGrid, headingIdPrefix: headingIdPrefix }),
162
- React.createElement(Grids, { isSingleGrid: isSingleGrid, locale: normalizedLocale, baseDate: currentMonth, focusedDate: focusedDate, onFocusedDateChange: setFocusedDate, isDateEnabled: isDateEnabled, onSelectDate: onSelectDateHandler, onChangeMonth: setCurrentMonth, startOfWeek: normalizedStartOfWeek, todayAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.todayAriaLabel, selectedStartDate: parseDate(value.start.date, true), selectedEndDate: parseDate(value.end.date, true), headingIdPrefix: headingIdPrefix })),
162
+ React.createElement(Grids, { isSingleGrid: isSingleGrid, locale: normalizedLocale, baseDate: currentMonth, focusedDate: focusedDate, onFocusedDateChange: setFocusedDate, isDateEnabled: isDateEnabled, dateDisabledReason: dateDisabledReason, onSelectDate: onSelectDateHandler, onChangeMonth: setCurrentMonth, startOfWeek: normalizedStartOfWeek, todayAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.todayAriaLabel, selectedStartDate: parseDate(value.start.date, true), selectedEndDate: parseDate(value.end.date, true), headingIdPrefix: headingIdPrefix })),
163
163
  React.createElement(RangeInputs, { startDate: value.start.date, onChangeStartDate: onChangeStartDate, startTime: value.start.time, onChangeStartTime: value => setValue(oldValue => (Object.assign(Object.assign({}, oldValue), { start: Object.assign(Object.assign({}, oldValue.start), { time: value }) }))), endDate: value.end.date, onChangeEndDate: value => setValue(oldValue => (Object.assign(Object.assign({}, oldValue), { end: Object.assign(Object.assign({}, oldValue.end), { date: value }) }))), endTime: value.end.time, onChangeEndTime: value => setValue(oldValue => (Object.assign(Object.assign({}, oldValue), { end: Object.assign(Object.assign({}, oldValue.end), { time: value }) }))), i18nStrings: i18nStrings, dateOnly: dateOnly, timeInputFormat: timeInputFormat }),
164
164
  customAbsoluteRangeControl && React.createElement("div", null, customAbsoluteRangeControl(value, interceptedSetValue)))),
165
165
  React.createElement(LiveRegion, { className: styles['calendar-aria-live'] }, announcement)));