@cloudscape-design/components-themeable 3.0.695 → 3.0.697

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 (258) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/button/constants.scss +2 -2
  3. package/lib/internal/scss/button/styles.scss +4 -1
  4. package/lib/internal/scss/button/test-classes/styles.scss +8 -0
  5. package/lib/internal/scss/calendar/styles.scss +4 -0
  6. package/lib/internal/scss/column-layout/flexible-column-layout/styles.scss +5 -0
  7. package/lib/internal/scss/date-range-picker/calendar/grids/styles.scss +4 -0
  8. package/lib/internal/scss/internal/styles/utils/styles-reset.scss +7 -0
  9. package/lib/internal/scss/key-value-pairs/styles.scss +49 -0
  10. package/lib/internal/scss/segmented-control/styles.scss +4 -0
  11. package/lib/internal/scss/select/parts/styles.scss +4 -0
  12. package/lib/internal/scss/tabs/styles.scss +8 -0
  13. package/lib/internal/scss/tabs/tab-header-bar.scss +4 -1
  14. package/lib/internal/template/button/index.d.ts.map +1 -1
  15. package/lib/internal/template/button/index.js +2 -2
  16. package/lib/internal/template/button/index.js.map +1 -1
  17. package/lib/internal/template/button/interfaces.d.ts +6 -0
  18. package/lib/internal/template/button/interfaces.d.ts.map +1 -1
  19. package/lib/internal/template/button/interfaces.js.map +1 -1
  20. package/lib/internal/template/button/internal.d.ts.map +1 -1
  21. package/lib/internal/template/button/internal.js +15 -4
  22. package/lib/internal/template/button/internal.js.map +1 -1
  23. package/lib/internal/template/button/styles.css.js +20 -19
  24. package/lib/internal/template/button/styles.scoped.css +161 -167
  25. package/lib/internal/template/button/styles.selectors.js +20 -19
  26. package/lib/internal/template/button/test-classes/styles.css.js +6 -0
  27. package/lib/internal/template/button/test-classes/styles.scoped.css +7 -0
  28. package/lib/internal/template/button/test-classes/styles.selectors.js +7 -0
  29. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +1 -1
  30. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  31. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js +1 -1
  32. package/lib/internal/template/button-dropdown/category-elements/mobile-expandable-category-element.js.map +1 -1
  33. package/lib/internal/template/button-dropdown/index.d.ts.map +1 -1
  34. package/lib/internal/template/button-dropdown/index.js +2 -2
  35. package/lib/internal/template/button-dropdown/index.js.map +1 -1
  36. package/lib/internal/template/button-dropdown/interfaces.d.ts +7 -0
  37. package/lib/internal/template/button-dropdown/interfaces.d.ts.map +1 -1
  38. package/lib/internal/template/button-dropdown/interfaces.js.map +1 -1
  39. package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
  40. package/lib/internal/template/button-dropdown/internal.js +4 -2
  41. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  42. package/lib/internal/template/button-dropdown/item-element/index.js +1 -1
  43. package/lib/internal/template/button-dropdown/item-element/index.js.map +1 -1
  44. package/lib/internal/template/calendar/grid/index.d.ts +3 -1
  45. package/lib/internal/template/calendar/grid/index.d.ts.map +1 -1
  46. package/lib/internal/template/calendar/grid/index.js +26 -6
  47. package/lib/internal/template/calendar/grid/index.js.map +1 -1
  48. package/lib/internal/template/calendar/grid/use-calendar-grid-keyboard-navigation.d.ts +2 -1
  49. package/lib/internal/template/calendar/grid/use-calendar-grid-keyboard-navigation.d.ts.map +1 -1
  50. package/lib/internal/template/calendar/grid/use-calendar-grid-keyboard-navigation.js +8 -5
  51. package/lib/internal/template/calendar/grid/use-calendar-grid-keyboard-navigation.js.map +1 -1
  52. package/lib/internal/template/calendar/interfaces.d.ts +9 -0
  53. package/lib/internal/template/calendar/interfaces.d.ts.map +1 -1
  54. package/lib/internal/template/calendar/interfaces.js.map +1 -1
  55. package/lib/internal/template/calendar/internal.d.ts +1 -1
  56. package/lib/internal/template/calendar/internal.d.ts.map +1 -1
  57. package/lib/internal/template/calendar/internal.js +7 -5
  58. package/lib/internal/template/calendar/internal.js.map +1 -1
  59. package/lib/internal/template/calendar/styles.css.js +21 -20
  60. package/lib/internal/template/calendar/styles.scoped.css +46 -42
  61. package/lib/internal/template/calendar/styles.selectors.js +21 -20
  62. package/lib/internal/template/calendar/utils/navigation.d.ts +10 -10
  63. package/lib/internal/template/calendar/utils/navigation.d.ts.map +1 -1
  64. package/lib/internal/template/calendar/utils/navigation.js +29 -29
  65. package/lib/internal/template/calendar/utils/navigation.js.map +1 -1
  66. package/lib/internal/template/column-layout/flexible-column-layout/index.d.ts +2 -2
  67. package/lib/internal/template/column-layout/flexible-column-layout/index.d.ts.map +1 -1
  68. package/lib/internal/template/column-layout/flexible-column-layout/index.js +3 -2
  69. package/lib/internal/template/column-layout/flexible-column-layout/index.js.map +1 -1
  70. package/lib/internal/template/column-layout/flexible-column-layout/styles.css.js +5 -5
  71. package/lib/internal/template/column-layout/flexible-column-layout/styles.scoped.css +99 -4
  72. package/lib/internal/template/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  73. package/lib/internal/template/column-layout/grid-column-layout.d.ts +2 -2
  74. package/lib/internal/template/column-layout/grid-column-layout.d.ts.map +1 -1
  75. package/lib/internal/template/column-layout/grid-column-layout.js +2 -2
  76. package/lib/internal/template/column-layout/grid-column-layout.js.map +1 -1
  77. package/lib/internal/template/column-layout/interfaces.d.ts +4 -0
  78. package/lib/internal/template/column-layout/interfaces.d.ts.map +1 -1
  79. package/lib/internal/template/column-layout/interfaces.js.map +1 -1
  80. package/lib/internal/template/column-layout/internal.d.ts +1 -1
  81. package/lib/internal/template/column-layout/internal.d.ts.map +1 -1
  82. package/lib/internal/template/column-layout/internal.js +2 -2
  83. package/lib/internal/template/column-layout/internal.js.map +1 -1
  84. package/lib/internal/template/date-picker/index.d.ts.map +1 -1
  85. package/lib/internal/template/date-picker/index.js +2 -2
  86. package/lib/internal/template/date-picker/index.js.map +1 -1
  87. package/lib/internal/template/date-range-picker/calendar/grids/grid.d.ts +2 -1
  88. package/lib/internal/template/date-range-picker/calendar/grids/grid.d.ts.map +1 -1
  89. package/lib/internal/template/date-range-picker/calendar/grids/grid.js +55 -7
  90. package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
  91. package/lib/internal/template/date-range-picker/calendar/grids/index.d.ts +2 -1
  92. package/lib/internal/template/date-range-picker/calendar/grids/index.d.ts.map +1 -1
  93. package/lib/internal/template/date-range-picker/calendar/grids/index.js +20 -12
  94. package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
  95. package/lib/internal/template/date-range-picker/calendar/grids/styles.css.js +28 -27
  96. package/lib/internal/template/date-range-picker/calendar/grids/styles.scoped.css +46 -42
  97. package/lib/internal/template/date-range-picker/calendar/grids/styles.selectors.js +28 -27
  98. package/lib/internal/template/date-range-picker/calendar/index.d.ts +2 -1
  99. package/lib/internal/template/date-range-picker/calendar/index.d.ts.map +1 -1
  100. package/lib/internal/template/date-range-picker/calendar/index.js +2 -2
  101. package/lib/internal/template/date-range-picker/calendar/index.js.map +1 -1
  102. package/lib/internal/template/date-range-picker/dropdown.d.ts +2 -2
  103. package/lib/internal/template/date-range-picker/dropdown.d.ts.map +1 -1
  104. package/lib/internal/template/date-range-picker/dropdown.js +2 -2
  105. package/lib/internal/template/date-range-picker/dropdown.js.map +1 -1
  106. package/lib/internal/template/date-range-picker/index.d.ts.map +1 -1
  107. package/lib/internal/template/date-range-picker/index.js +2 -2
  108. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  109. package/lib/internal/template/date-range-picker/interfaces.d.ts +9 -0
  110. package/lib/internal/template/date-range-picker/interfaces.d.ts.map +1 -1
  111. package/lib/internal/template/date-range-picker/interfaces.js.map +1 -1
  112. package/lib/internal/template/grid/internal.d.ts +4 -0
  113. package/lib/internal/template/grid/internal.d.ts.map +1 -1
  114. package/lib/internal/template/grid/internal.js +3 -2
  115. package/lib/internal/template/grid/internal.js.map +1 -1
  116. package/lib/internal/template/index.d.ts +1 -0
  117. package/lib/internal/template/index.d.ts.map +1 -1
  118. package/lib/internal/template/index.js +1 -0
  119. package/lib/internal/template/index.js.map +1 -1
  120. package/lib/internal/template/internal/base-component/styles.scoped.css +26 -22
  121. package/lib/internal/template/internal/components/option/interfaces.d.ts +2 -0
  122. package/lib/internal/template/internal/components/option/interfaces.d.ts.map +1 -1
  123. package/lib/internal/template/internal/components/option/interfaces.js.map +1 -1
  124. package/lib/internal/template/internal/components/selectable-item/index.d.ts +1 -0
  125. package/lib/internal/template/internal/components/selectable-item/index.d.ts.map +1 -1
  126. package/lib/internal/template/internal/components/selectable-item/index.js +3 -0
  127. package/lib/internal/template/internal/components/selectable-item/index.js.map +1 -1
  128. package/lib/internal/template/internal/components/tooltip/index.d.ts +3 -1
  129. package/lib/internal/template/internal/components/tooltip/index.d.ts.map +1 -1
  130. package/lib/internal/template/internal/components/tooltip/index.js +3 -3
  131. package/lib/internal/template/internal/components/tooltip/index.js.map +1 -1
  132. package/lib/internal/template/internal/environment.js +1 -1
  133. package/lib/internal/template/internal/environment.json +1 -1
  134. package/lib/internal/template/internal/generated/styles/tokens.d.ts +2 -0
  135. package/lib/internal/template/internal/generated/styles/tokens.js +4 -2
  136. package/lib/internal/template/internal/generated/theming/index.cjs +78 -12
  137. package/lib/internal/template/internal/generated/theming/index.cjs.d.ts +16 -0
  138. package/lib/internal/template/internal/generated/theming/index.d.ts +16 -0
  139. package/lib/internal/template/internal/generated/theming/index.js +78 -12
  140. package/lib/internal/template/{button-dropdown/utils/use-hidden-description.d.ts → internal/hooks/use-hidden-description/index.d.ts} +2 -1
  141. package/lib/internal/template/internal/hooks/use-hidden-description/index.d.ts.map +1 -0
  142. package/lib/internal/template/{button-dropdown/utils/use-hidden-description.js → internal/hooks/use-hidden-description/index.js} +3 -2
  143. package/lib/internal/template/internal/hooks/use-hidden-description/index.js.map +1 -0
  144. package/lib/internal/template/key-value-pairs/index.d.ts +5 -0
  145. package/lib/internal/template/key-value-pairs/index.d.ts.map +1 -0
  146. package/lib/internal/template/key-value-pairs/index.js +18 -0
  147. package/lib/internal/template/key-value-pairs/index.js.map +1 -0
  148. package/lib/internal/template/key-value-pairs/interfaces.d.ts +42 -0
  149. package/lib/internal/template/key-value-pairs/interfaces.d.ts.map +1 -0
  150. package/lib/internal/template/key-value-pairs/interfaces.js +2 -0
  151. package/lib/internal/template/key-value-pairs/interfaces.js.map +1 -0
  152. package/lib/internal/template/key-value-pairs/internal.d.ts +5 -0
  153. package/lib/internal/template/key-value-pairs/internal.d.ts.map +1 -0
  154. package/lib/internal/template/key-value-pairs/internal.js +41 -0
  155. package/lib/internal/template/key-value-pairs/internal.js.map +1 -0
  156. package/lib/internal/template/key-value-pairs/styles.css.js +13 -0
  157. package/lib/internal/template/key-value-pairs/styles.scoped.css +210 -0
  158. package/lib/internal/template/key-value-pairs/styles.selectors.js +14 -0
  159. package/lib/internal/template/package.json +1 -0
  160. package/lib/internal/template/segmented-control/interfaces.d.ts +2 -0
  161. package/lib/internal/template/segmented-control/interfaces.d.ts.map +1 -1
  162. package/lib/internal/template/segmented-control/interfaces.js.map +1 -1
  163. package/lib/internal/template/segmented-control/internal-segmented-control.d.ts.map +1 -1
  164. package/lib/internal/template/segmented-control/internal-segmented-control.js +11 -8
  165. package/lib/internal/template/segmented-control/internal-segmented-control.js.map +1 -1
  166. package/lib/internal/template/segmented-control/segment.d.ts.map +1 -1
  167. package/lib/internal/template/segmented-control/segment.js +14 -4
  168. package/lib/internal/template/segmented-control/segment.js.map +1 -1
  169. package/lib/internal/template/segmented-control/styles.css.js +15 -14
  170. package/lib/internal/template/segmented-control/styles.scoped.css +37 -33
  171. package/lib/internal/template/segmented-control/styles.selectors.js +15 -14
  172. package/lib/internal/template/select/interfaces.d.ts +1 -0
  173. package/lib/internal/template/select/interfaces.d.ts.map +1 -1
  174. package/lib/internal/template/select/interfaces.js.map +1 -1
  175. package/lib/internal/template/select/parts/filter.d.ts +1 -1
  176. package/lib/internal/template/select/parts/item.d.ts.map +1 -1
  177. package/lib/internal/template/select/parts/item.js +13 -3
  178. package/lib/internal/template/select/parts/item.js.map +1 -1
  179. package/lib/internal/template/select/parts/multiselect-item.d.ts.map +1 -1
  180. package/lib/internal/template/select/parts/multiselect-item.js +15 -3
  181. package/lib/internal/template/select/parts/multiselect-item.js.map +1 -1
  182. package/lib/internal/template/select/parts/styles.css.js +17 -16
  183. package/lib/internal/template/select/parts/styles.scoped.css +21 -17
  184. package/lib/internal/template/select/parts/styles.selectors.js +17 -16
  185. package/lib/internal/template/split-panel/icons/styles.css.js +22 -22
  186. package/lib/internal/template/split-panel/icons/styles.scoped.css +25 -25
  187. package/lib/internal/template/split-panel/icons/styles.selectors.js +22 -22
  188. package/lib/internal/template/table/body-cell/disabled-inline-editor.js +1 -1
  189. package/lib/internal/template/table/body-cell/disabled-inline-editor.js.map +1 -1
  190. package/lib/internal/template/tabs/interfaces.d.ts +5 -0
  191. package/lib/internal/template/tabs/interfaces.d.ts.map +1 -1
  192. package/lib/internal/template/tabs/interfaces.js.map +1 -1
  193. package/lib/internal/template/tabs/styles.css.js +28 -25
  194. package/lib/internal/template/tabs/styles.scoped.css +60 -49
  195. package/lib/internal/template/tabs/styles.selectors.js +28 -25
  196. package/lib/internal/template/tabs/tab-header-bar.d.ts.map +1 -1
  197. package/lib/internal/template/tabs/tab-header-bar.js +38 -14
  198. package/lib/internal/template/tabs/tab-header-bar.js.map +1 -1
  199. package/lib/internal/template/test-utils/dom/button/index.d.ts +1 -0
  200. package/lib/internal/template/test-utils/dom/button/index.js +6 -2
  201. package/lib/internal/template/test-utils/dom/button/index.js.map +1 -1
  202. package/lib/internal/template/test-utils/dom/button-dropdown/index.d.ts +2 -1
  203. package/lib/internal/template/test-utils/dom/button-dropdown/index.js +5 -1
  204. package/lib/internal/template/test-utils/dom/button-dropdown/index.js.map +1 -1
  205. package/lib/internal/template/test-utils/dom/calendar/index.d.ts +4 -1
  206. package/lib/internal/template/test-utils/dom/calendar/index.js +8 -1
  207. package/lib/internal/template/test-utils/dom/calendar/index.js.map +1 -1
  208. package/lib/internal/template/test-utils/dom/date-range-picker/index.d.ts +4 -1
  209. package/lib/internal/template/test-utils/dom/date-range-picker/index.js +8 -2
  210. package/lib/internal/template/test-utils/dom/date-range-picker/index.js.map +1 -1
  211. package/lib/internal/template/test-utils/dom/index.d.ts +3 -0
  212. package/lib/internal/template/test-utils/dom/index.js +10 -2
  213. package/lib/internal/template/test-utils/dom/index.js.map +1 -1
  214. package/lib/internal/template/test-utils/dom/internal/dropdown-host.js.map +1 -1
  215. package/lib/internal/template/test-utils/dom/internal/option.d.ts +1 -0
  216. package/lib/internal/template/test-utils/dom/internal/option.js +4 -0
  217. package/lib/internal/template/test-utils/dom/internal/option.js.map +1 -1
  218. package/lib/internal/template/test-utils/dom/key-value-pairs/index.d.ts +14 -0
  219. package/lib/internal/template/test-utils/dom/key-value-pairs/index.js +38 -0
  220. package/lib/internal/template/test-utils/dom/key-value-pairs/index.js.map +1 -0
  221. package/lib/internal/template/test-utils/dom/segmented-control/index.d.ts +9 -0
  222. package/lib/internal/template/test-utils/dom/segmented-control/index.js +15 -0
  223. package/lib/internal/template/test-utils/dom/segmented-control/index.js.map +1 -1
  224. package/lib/internal/template/test-utils/dom/tabs/index.d.ts +9 -2
  225. package/lib/internal/template/test-utils/dom/tabs/index.js +15 -2
  226. package/lib/internal/template/test-utils/dom/tabs/index.js.map +1 -1
  227. package/lib/internal/template/test-utils/selectors/button/index.d.ts +1 -0
  228. package/lib/internal/template/test-utils/selectors/button/index.js +6 -2
  229. package/lib/internal/template/test-utils/selectors/button/index.js.map +1 -1
  230. package/lib/internal/template/test-utils/selectors/button-dropdown/index.d.ts +2 -1
  231. package/lib/internal/template/test-utils/selectors/button-dropdown/index.js +5 -1
  232. package/lib/internal/template/test-utils/selectors/button-dropdown/index.js.map +1 -1
  233. package/lib/internal/template/test-utils/selectors/calendar/index.d.ts +4 -1
  234. package/lib/internal/template/test-utils/selectors/calendar/index.js +8 -1
  235. package/lib/internal/template/test-utils/selectors/calendar/index.js.map +1 -1
  236. package/lib/internal/template/test-utils/selectors/date-range-picker/index.d.ts +4 -1
  237. package/lib/internal/template/test-utils/selectors/date-range-picker/index.js +8 -2
  238. package/lib/internal/template/test-utils/selectors/date-range-picker/index.js.map +1 -1
  239. package/lib/internal/template/test-utils/selectors/index.d.ts +3 -0
  240. package/lib/internal/template/test-utils/selectors/index.js +10 -2
  241. package/lib/internal/template/test-utils/selectors/index.js.map +1 -1
  242. package/lib/internal/template/test-utils/selectors/internal/dropdown-host.js.map +1 -1
  243. package/lib/internal/template/test-utils/selectors/internal/option.d.ts +1 -0
  244. package/lib/internal/template/test-utils/selectors/internal/option.js +4 -0
  245. package/lib/internal/template/test-utils/selectors/internal/option.js.map +1 -1
  246. package/lib/internal/template/test-utils/selectors/key-value-pairs/index.d.ts +14 -0
  247. package/lib/internal/template/test-utils/selectors/key-value-pairs/index.js +38 -0
  248. package/lib/internal/template/test-utils/selectors/key-value-pairs/index.js.map +1 -0
  249. package/lib/internal/template/test-utils/selectors/segmented-control/index.d.ts +9 -0
  250. package/lib/internal/template/test-utils/selectors/segmented-control/index.js +15 -0
  251. package/lib/internal/template/test-utils/selectors/segmented-control/index.js.map +1 -1
  252. package/lib/internal/template/test-utils/selectors/tabs/index.d.ts +9 -2
  253. package/lib/internal/template/test-utils/selectors/tabs/index.js +15 -2
  254. package/lib/internal/template/test-utils/selectors/tabs/index.js.map +1 -1
  255. package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
  256. package/package.json +1 -1
  257. package/lib/internal/template/button-dropdown/utils/use-hidden-description.d.ts.map +0 -1
  258. package/lib/internal/template/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":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAG/E,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AAEzC,OAAO,EAAE,QAAQ,EAAE,MAAM,mCAAmC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oCAAoC,CAAC;AACtH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,SAAS,MAAM,oCAAoC,CAAC;AAE3D,SAAS,SAAS,CAAC,IAAU,EAAE,QAAc,EAAE,YAAqB;IAClE,IAAI,YAAY,EAAE;QAChB,OAAO,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACpC;IAED,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC;IAE9C,OAAO,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AACzE,CAAC;AAuBD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EACpB,QAAQ,EACR,iBAAiB,EACjB,eAAe,EAEf,WAAW,EACX,mBAAmB,EAEnB,aAAa,EACb,kBAAkB,EAClB,YAAY,EAEZ,YAAY,EACZ,aAAa,EAEb,MAAM,EACN,WAAW,EACX,cAAc,EACd,eAAe,GACL,EAAE,EAAE;IACd,MAAM,YAAY,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAClD,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExD,MAAM,cAAc,GAAG,MAAM,CAAuB,IAAI,CAAC,CAAC;IAE1D,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IAC/B,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1D,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,IAAU,EAAE,EAAE;QACb,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,CAAC,EACD,CAAC,aAAa,EAAE,kBAAkB,CAAC,CACpC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE;YAClE,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAE1D,MAAM,QAAQ,GAAG,CAAC,YAAY,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACxF,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YAE9D,MAAM,cAAc,GAAG,eAAe,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC,CAAC;YAEtF,mBAAmB,CAAC,cAAc,CAAC,CAAC;SACrC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAEhF,MAAM,oBAAoB,GAAG,CAAC,KAAuC,EAAE,EAAE;QACvE,IAAI,gBAAgB,CAAC;QAErB,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAEnG,IAAI,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;YAC9D,OAAO;SACR;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,SAAS,CAAC,KAAK,EAAE;YACf,UAAU,EAAE,GAAG,EAAE;gBACf,IAAI,CAAC,WAAW,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;oBAC/C,OAAO;iBACR;gBAED,YAAY,CAAC,WAAW,CAAC,CAAC;YAC5B,CAAC;YACD,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAChG,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAClG,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAChG,aAAa,EAAE,GAAG,EAAE,CAAC,WAAW,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;SACnG,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,EAAE;YACrB,OAAO;SACR;QAED,MAAM,oBAAoB,GAAG,SAAS,CAAC,gBAAgB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QAEjF,IAAI,CAAC,oBAAoB,EAAE;YACzB,MAAM,oBAAoB,GAAG,CAAC,YAAY,IAAI,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;YAEnF,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;SACzF;QACD,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,iEAAiE;QACjE,IAAI,WAAW,KAAK,IAAI,IAAI,YAAY,EAAE;YACxC,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,KAAK,QAAQ,CAAC,aAAa,EAAE;gBAC/E,cAAc,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;aAChC;SACF;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,CAAC;IAEhC,MAAM,UAAU,GAAG,CAAC,KAAuB,EAAE,EAAE;;QAC7C,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC;QACrE,MAAM,sBAAsB,GAAG,MAAA,YAAY,CAAC,OAAO,0CAAE,QAAQ,CAAC,cAAsB,CAAC,CAAC;QACtF,IAAI,cAAc,IAAI,CAAC,sBAAsB,IAAI,YAAY,EAAE;YAC7D,eAAe,CAAC,KAAK,CAAC,CAAC;SACxB;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,YAAY,EAAE;YACjB,eAAe,CAAC,IAAI,CAAC,CAAC;SACvB;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CAAC,iBAAiB,IAAI,eAAe,CAAC,IAAI,YAAY,CAAC;IAE9E,MAAM,SAAS,GAAW,CAAC,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,WAAW,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,WAAW,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE9G,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAEpC,OAAO,CACL,6BAAK,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU;QAC9D,oBAAC,oBAAoB,IAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,YAAY;YACnD,CAAC,YAAY,IAAI,CAChB,oBAAC,IAAI,IACH,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,EAC/B,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EACjC,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EACtD,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAClD,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,GAAG,eAAe,YAAY,GAC9C,CACH;YACD,oBAAC,IAAI,IACH,SAAS,EAAE,MAAM,CAAC,aAAa,CAAC,EAChC,QAAQ,EAAE,QAAQ,EAClB,eAAe,EAAE,eAAe,EAChC,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,EACtD,YAAY,EAAE,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,EAClD,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,kBAAkB,EAAE,kBAAkB,EACtC,YAAY,EAAE,YAAY,EAC1B,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,GAAG,eAAe,eAAe,GACjD,CACmB,CACnB,CACP,CAAC;AACJ,CAAC,CAAC","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_u6byu_101",
5
- "grid-cell": "awsui_grid-cell_1mfbn_u6byu_106",
6
- "day-header": "awsui_day-header_1mfbn_u6byu_113",
7
- "week": "awsui_week_1mfbn_u6byu_123",
8
- "day": "awsui_day_1mfbn_u6byu_113",
9
- "day-inner": "awsui_day-inner_1mfbn_u6byu_170",
10
- "in-first-row": "awsui_in-first-row_1mfbn_u6byu_175",
11
- "in-previous-month": "awsui_in-previous-month_1mfbn_u6byu_175",
12
- "last-day-of-month": "awsui_last-day-of-month_1mfbn_u6byu_179",
13
- "in-next-month": "awsui_in-next-month_1mfbn_u6byu_183",
14
- "in-first-column": "awsui_in-first-column_1mfbn_u6byu_187",
15
- "in-current-month": "awsui_in-current-month_1mfbn_u6byu_190",
16
- "enabled": "awsui_enabled_1mfbn_u6byu_194",
17
- "in-range": "awsui_in-range_1mfbn_u6byu_200",
18
- "end-date": "awsui_end-date_1mfbn_u6byu_200",
19
- "start-date": "awsui_start-date_1mfbn_u6byu_200",
20
- "no-range": "awsui_no-range_1mfbn_u6byu_200",
21
- "selected": "awsui_selected_1mfbn_u6byu_210",
22
- "today": "awsui_today_1mfbn_u6byu_215",
23
- "range-start-date": "awsui_range-start-date_1mfbn_u6byu_260",
24
- "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_u6byu_263",
25
- "range-end-date": "awsui_range-end-date_1mfbn_u6byu_266",
26
- "in-range-border-top": "awsui_in-range-border-top_1mfbn_u6byu_269",
27
- "in-range-border-block-start": "awsui_in-range-border-block-start_1mfbn_u6byu_282",
28
- "in-range-border-inline-end": "awsui_in-range-border-inline-end_1mfbn_u6byu_285",
29
- "in-range-border-block-end": "awsui_in-range-border-block-end_1mfbn_u6byu_288",
30
- "in-range-border-inline-start": "awsui_in-range-border-inline-start_1mfbn_u6byu_291"
4
+ "grid": "awsui_grid_1mfbn_1t3vs_101",
5
+ "grid-cell": "awsui_grid-cell_1mfbn_1t3vs_106",
6
+ "day-header": "awsui_day-header_1mfbn_1t3vs_113",
7
+ "week": "awsui_week_1mfbn_1t3vs_123",
8
+ "day": "awsui_day_1mfbn_1t3vs_113",
9
+ "day-inner": "awsui_day-inner_1mfbn_1t3vs_170",
10
+ "in-first-row": "awsui_in-first-row_1mfbn_1t3vs_175",
11
+ "in-previous-month": "awsui_in-previous-month_1mfbn_1t3vs_175",
12
+ "last-day-of-month": "awsui_last-day-of-month_1mfbn_1t3vs_179",
13
+ "in-next-month": "awsui_in-next-month_1mfbn_1t3vs_183",
14
+ "in-first-column": "awsui_in-first-column_1mfbn_1t3vs_187",
15
+ "in-current-month": "awsui_in-current-month_1mfbn_1t3vs_190",
16
+ "enabled": "awsui_enabled_1mfbn_1t3vs_194",
17
+ "in-range": "awsui_in-range_1mfbn_1t3vs_200",
18
+ "end-date": "awsui_end-date_1mfbn_1t3vs_200",
19
+ "start-date": "awsui_start-date_1mfbn_1t3vs_200",
20
+ "no-range": "awsui_no-range_1mfbn_1t3vs_200",
21
+ "selected": "awsui_selected_1mfbn_1t3vs_210",
22
+ "today": "awsui_today_1mfbn_1t3vs_215",
23
+ "range-start-date": "awsui_range-start-date_1mfbn_1t3vs_260",
24
+ "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_1t3vs_263",
25
+ "range-end-date": "awsui_range-end-date_1mfbn_1t3vs_266",
26
+ "in-range-border-top": "awsui_in-range-border-top_1mfbn_1t3vs_269",
27
+ "in-range-border-block-start": "awsui_in-range-border-block-start_1mfbn_1t3vs_282",
28
+ "in-range-border-inline-end": "awsui_in-range-border-inline-end_1mfbn_1t3vs_285",
29
+ "in-range-border-block-end": "awsui_in-range-border-block-end_1mfbn_1t3vs_288",
30
+ "in-range-border-inline-start": "awsui_in-range-border-inline-start_1mfbn_1t3vs_291",
31
+ "disabled-reason-tooltip": "awsui_disabled-reason-tooltip_1mfbn_1t3vs_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_u6byu_101:not(#\9) {
101
+ .awsui_grid_1mfbn_1t3vs_101:not(#\9) {
102
102
  inline-size: var(--size-calendar-grid-width-m7rthz, 234px);
103
103
  border-spacing: 0;
104
104
  }
105
105
 
106
- .awsui_grid-cell_1mfbn_u6byu_106:not(#\9) {
106
+ .awsui_grid-cell_1mfbn_1t3vs_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_u6byu_113:not(#\9) {
113
+ .awsui_day-header_1mfbn_1t3vs_113:not(#\9) {
114
114
  padding-block-start: var(--space-s-2025hl, 12px);
115
115
  padding-block-end: var(--space-xxs-9rrxti, 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-nkvets, normal);
121
121
  }
122
122
 
123
- .awsui_week_1mfbn_u6byu_123:not(#\9) {
123
+ .awsui_week_1mfbn_1t3vs_123:not(#\9) {
124
124
  /* used for identifying element */
125
125
  }
126
126
 
127
- .awsui_day_1mfbn_u6byu_113:not(#\9) {
127
+ .awsui_day_1mfbn_1t3vs_113:not(#\9) {
128
128
  border-block-end: 1px solid var(--color-border-calendar-grid-2ab4m1, #eaeded);
129
129
  border-inline-end: 1px solid var(--color-border-calendar-grid-2ab4m1, #eaeded);
130
130
  padding-block: var(--space-xxs-9rrxti, 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-nf1b1j, #aab7b8);
133
133
  position: relative;
134
134
  }
135
- .awsui_day_1mfbn_u6byu_113:not(#\9):focus {
135
+ .awsui_day_1mfbn_1t3vs_113:not(#\9):focus {
136
136
  outline: none;
137
137
  }
138
- .awsui_day_1mfbn_u6byu_113:not(#\9)::after {
138
+ .awsui_day_1mfbn_1t3vs_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-0zxiwv, 1px));
146
146
  background-color: transparent;
147
147
  }
148
- body[data-awsui-focus-visible=true] .awsui_day_1mfbn_u6byu_113:not(#\9):focus {
148
+ body[data-awsui-focus-visible=true] .awsui_day_1mfbn_1t3vs_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_u6byu_113:not(#\9):focus {
152
+ body[data-awsui-focus-visible=true] .awsui_day_1mfbn_1t3vs_113:not(#\9):focus {
153
153
  outline: 2px dotted transparent;
154
154
  outline-offset: calc(var(--space-calendar-grid-focus-outline-gutter-pkb6ov, 0px) - 1px);
155
155
  }
156
- body[data-awsui-focus-visible=true] .awsui_day_1mfbn_u6byu_113:not(#\9):focus::before {
156
+ body[data-awsui-focus-visible=true] .awsui_day_1mfbn_1t3vs_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_u6byu_113:not(#\9):focus::b
167
167
  border-end-end-radius: var(--border-radius-calendar-day-focus-ring-6ckim2, 2px);
168
168
  box-shadow: 0 0 0 2px var(--color-border-item-focused-v8nq2m, #0073bb);
169
169
  }
170
- .awsui_day_1mfbn_u6byu_113 > .awsui_day-inner_1mfbn_u6byu_170:not(#\9) {
170
+ .awsui_day_1mfbn_1t3vs_113 > .awsui_day-inner_1mfbn_1t3vs_170:not(#\9) {
171
171
  position: relative;
172
172
  z-index: 1;
173
173
  }
174
174
 
175
- .awsui_in-first-row_1mfbn_u6byu_175:not(#\9):not(.awsui_in-previous-month_1mfbn_u6byu_175) {
175
+ .awsui_in-first-row_1mfbn_1t3vs_175:not(#\9):not(.awsui_in-previous-month_1mfbn_1t3vs_175) {
176
176
  border-block-start: 1px solid var(--color-border-calendar-grid-2ab4m1, #eaeded);
177
177
  }
178
178
 
179
- .awsui_in-previous-month_1mfbn_u6byu_175:not(#\9):not(.awsui_last-day-of-month_1mfbn_u6byu_179) {
179
+ .awsui_in-previous-month_1mfbn_1t3vs_175:not(#\9):not(.awsui_last-day-of-month_1mfbn_1t3vs_179) {
180
180
  border-inline-end-color: transparent;
181
181
  }
182
182
 
183
- .awsui_in-next-month_1mfbn_u6byu_183:not(#\9) {
183
+ .awsui_in-next-month_1mfbn_1t3vs_183:not(#\9) {
184
184
  border-color: transparent;
185
185
  }
186
186
 
187
- .awsui_in-first-column_1mfbn_u6byu_187:not(#\9) {
187
+ .awsui_in-first-column_1mfbn_1t3vs_187:not(#\9) {
188
188
  border-inline-start: 1px solid transparent;
189
189
  }
190
- .awsui_in-first-column_1mfbn_u6byu_187.awsui_in-current-month_1mfbn_u6byu_190:not(#\9) {
190
+ .awsui_in-first-column_1mfbn_1t3vs_187.awsui_in-current-month_1mfbn_1t3vs_190:not(#\9) {
191
191
  border-inline-start: 1px solid var(--color-border-calendar-grid-2ab4m1, #eaeded);
192
192
  }
193
193
 
194
- .awsui_enabled_1mfbn_u6byu_194:not(#\9) {
194
+ .awsui_enabled_1mfbn_1t3vs_194:not(#\9) {
195
195
  cursor: pointer;
196
196
  }
197
- .awsui_enabled_1mfbn_u6byu_194.awsui_in-current-month_1mfbn_u6byu_190:not(#\9) {
197
+ .awsui_enabled_1mfbn_1t3vs_194.awsui_in-current-month_1mfbn_1t3vs_190:not(#\9) {
198
198
  color: var(--color-text-dropdown-item-default-d4af6n, #16191f);
199
199
  }
200
- .awsui_enabled_1mfbn_u6byu_194.awsui_in-current-month_1mfbn_u6byu_190:not(#\9):not(.awsui_in-range_1mfbn_u6byu_200), .awsui_enabled_1mfbn_u6byu_194.awsui_in-current-month_1mfbn_u6byu_190:not(#\9):not(.awsui_in-range_1mfbn_u6byu_200)::after, .awsui_enabled_1mfbn_u6byu_194.awsui_in-current-month_1mfbn_u6byu_190.awsui_end-date_1mfbn_u6byu_200.awsui_start-date_1mfbn_u6byu_200:not(#\9), .awsui_enabled_1mfbn_u6byu_194.awsui_in-current-month_1mfbn_u6byu_190.awsui_end-date_1mfbn_u6byu_200.awsui_start-date_1mfbn_u6byu_200:not(#\9)::after, .awsui_enabled_1mfbn_u6byu_194.awsui_in-current-month_1mfbn_u6byu_190.awsui_no-range_1mfbn_u6byu_200:not(#\9), .awsui_enabled_1mfbn_u6byu_194.awsui_in-current-month_1mfbn_u6byu_190.awsui_no-range_1mfbn_u6byu_200:not(#\9)::after {
200
+ .awsui_enabled_1mfbn_1t3vs_194.awsui_in-current-month_1mfbn_1t3vs_190:not(#\9):not(.awsui_in-range_1mfbn_1t3vs_200), .awsui_enabled_1mfbn_1t3vs_194.awsui_in-current-month_1mfbn_1t3vs_190:not(#\9):not(.awsui_in-range_1mfbn_1t3vs_200)::after, .awsui_enabled_1mfbn_1t3vs_194.awsui_in-current-month_1mfbn_1t3vs_190.awsui_end-date_1mfbn_1t3vs_200.awsui_start-date_1mfbn_1t3vs_200:not(#\9), .awsui_enabled_1mfbn_1t3vs_194.awsui_in-current-month_1mfbn_1t3vs_190.awsui_end-date_1mfbn_1t3vs_200.awsui_start-date_1mfbn_1t3vs_200:not(#\9)::after, .awsui_enabled_1mfbn_1t3vs_194.awsui_in-current-month_1mfbn_1t3vs_190.awsui_no-range_1mfbn_1t3vs_200:not(#\9), .awsui_enabled_1mfbn_1t3vs_194.awsui_in-current-month_1mfbn_1t3vs_190.awsui_no-range_1mfbn_1t3vs_200:not(#\9)::after {
201
201
  border-start-start-radius: var(--border-radius-item-jsz3j8, 0px);
202
202
  border-start-end-radius: var(--border-radius-item-jsz3j8, 0px);
203
203
  border-end-start-radius: var(--border-radius-item-jsz3j8, 0px);
204
204
  border-end-end-radius: var(--border-radius-item-jsz3j8, 0px);
205
205
  }
206
- .awsui_enabled_1mfbn_u6byu_194.awsui_in-current-month_1mfbn_u6byu_190:not(#\9):hover {
206
+ .awsui_enabled_1mfbn_1t3vs_194.awsui_in-current-month_1mfbn_1t3vs_190:not(#\9):hover {
207
207
  color: var(--color-text-calendar-date-hover-ti96oo, #16191f);
208
208
  background-color: var(--color-background-dropdown-item-hover-i8ac7r, #f2f3f3);
209
209
  }
210
- .awsui_enabled_1mfbn_u6byu_194.awsui_in-current-month_1mfbn_u6byu_190:not(#\9):hover:not(.awsui_selected_1mfbn_u6byu_210)::after {
210
+ .awsui_enabled_1mfbn_1t3vs_194.awsui_in-current-month_1mfbn_1t3vs_190:not(#\9):hover:not(.awsui_selected_1mfbn_1t3vs_210)::after {
211
211
  border-block: var(--border-item-width-0zxiwv, 1px) solid var(--color-border-dropdown-item-hover-gqjku2, #879596);
212
212
  border-inline: var(--border-item-width-0zxiwv, 1px) solid var(--color-border-dropdown-item-hover-gqjku2, #879596);
213
213
  }
214
214
 
215
- .awsui_today_1mfbn_u6byu_215:not(#\9):not(.awsui_in-range_1mfbn_u6byu_200) {
215
+ .awsui_today_1mfbn_1t3vs_215:not(#\9):not(.awsui_in-range_1mfbn_1t3vs_200) {
216
216
  background-color: var(--color-background-calendar-current-date-wm9kva, #f2f3f3);
217
217
  border-start-start-radius: var(--border-radius-item-jsz3j8, 0px);
218
218
  border-start-end-radius: var(--border-radius-item-jsz3j8, 0px);
@@ -221,20 +221,20 @@ body[data-awsui-focus-visible=true] .awsui_day_1mfbn_u6byu_113:not(#\9):focus::b
221
221
  font-weight: 700;
222
222
  }
223
223
 
224
- .awsui_selected_1mfbn_u6byu_210:not(#\9) {
224
+ .awsui_selected_1mfbn_1t3vs_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_u6byu_210:not(#\9):focus {
230
+ body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_1t3vs_210:not(#\9):focus {
231
231
  position: relative;
232
232
  }
233
- body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_u6byu_210:not(#\9):focus {
233
+ body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_1t3vs_210:not(#\9):focus {
234
234
  outline: 2px dotted transparent;
235
235
  outline-offset: calc(var(--space-calendar-grid-selected-focus-outline-gutter-3hk571, 2px) - 1px);
236
236
  }
237
- body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_u6byu_210:not(#\9):focus::before {
237
+ body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_1t3vs_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_u6byu_210:not(#\9):foc
248
248
  border-end-end-radius: var(--border-radius-calendar-day-focus-ring-6ckim2, 2px);
249
249
  box-shadow: 0 0 0 2px var(--color-border-calendar-grid-selected-focus-ring-hhlvy8, #0073bb);
250
250
  }
251
- body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_u6byu_210:not(#\9):focus::before {
251
+ body[data-awsui-focus-visible=true] .awsui_selected_1mfbn_1t3vs_210:not(#\9):focus::before {
252
252
  z-index: 1;
253
253
  }
254
- .awsui_selected_1mfbn_u6byu_210:not(#\9)::after {
254
+ .awsui_selected_1mfbn_1t3vs_210:not(#\9)::after {
255
255
  background-color: var(--color-background-control-checked-pvanxo, #0073bb);
256
256
  border-block: var(--border-item-width-0zxiwv, 1px) solid var(--color-background-control-checked-pvanxo, #0073bb);
257
257
  border-inline: var(--border-item-width-0zxiwv, 1px) solid var(--color-background-control-checked-pvanxo, #0073bb);
258
258
  z-index: 0;
259
259
  }
260
- .awsui_selected_1mfbn_u6byu_210.awsui_start-date_1mfbn_u6byu_200:not(#\9), .awsui_selected_1mfbn_u6byu_210.awsui_start-date_1mfbn_u6byu_200:not(#\9)::after, .awsui_selected_1mfbn_u6byu_210.awsui_range-start-date_1mfbn_u6byu_260:not(#\9), .awsui_selected_1mfbn_u6byu_210.awsui_range-start-date_1mfbn_u6byu_260:not(#\9)::after {
260
+ .awsui_selected_1mfbn_1t3vs_210.awsui_start-date_1mfbn_1t3vs_200:not(#\9), .awsui_selected_1mfbn_1t3vs_210.awsui_start-date_1mfbn_1t3vs_200:not(#\9)::after, .awsui_selected_1mfbn_1t3vs_210.awsui_range-start-date_1mfbn_1t3vs_260:not(#\9), .awsui_selected_1mfbn_1t3vs_210.awsui_range-start-date_1mfbn_1t3vs_260:not(#\9)::after {
261
261
  border-start-start-radius: var(--border-radius-item-jsz3j8, 0px);
262
262
  }
263
- .awsui_selected_1mfbn_u6byu_210.awsui_start-date_1mfbn_u6byu_200.awsui_in-range-border-bottom_1mfbn_u6byu_263:not(#\9), .awsui_selected_1mfbn_u6byu_210.awsui_start-date_1mfbn_u6byu_200.awsui_in-range-border-bottom_1mfbn_u6byu_263:not(#\9)::after, .awsui_selected_1mfbn_u6byu_210.awsui_range-start-date_1mfbn_u6byu_260.awsui_in-range-border-bottom_1mfbn_u6byu_263:not(#\9), .awsui_selected_1mfbn_u6byu_210.awsui_range-start-date_1mfbn_u6byu_260.awsui_in-range-border-bottom_1mfbn_u6byu_263:not(#\9)::after {
263
+ .awsui_selected_1mfbn_1t3vs_210.awsui_start-date_1mfbn_1t3vs_200.awsui_in-range-border-bottom_1mfbn_1t3vs_263:not(#\9), .awsui_selected_1mfbn_1t3vs_210.awsui_start-date_1mfbn_1t3vs_200.awsui_in-range-border-bottom_1mfbn_1t3vs_263:not(#\9)::after, .awsui_selected_1mfbn_1t3vs_210.awsui_range-start-date_1mfbn_1t3vs_260.awsui_in-range-border-bottom_1mfbn_1t3vs_263:not(#\9), .awsui_selected_1mfbn_1t3vs_210.awsui_range-start-date_1mfbn_1t3vs_260.awsui_in-range-border-bottom_1mfbn_1t3vs_263:not(#\9)::after {
264
264
  border-end-start-radius: var(--border-radius-item-jsz3j8, 0px);
265
265
  }
266
- .awsui_selected_1mfbn_u6byu_210.awsui_end-date_1mfbn_u6byu_200:not(#\9), .awsui_selected_1mfbn_u6byu_210.awsui_end-date_1mfbn_u6byu_200:not(#\9)::after, .awsui_selected_1mfbn_u6byu_210.awsui_range-end-date_1mfbn_u6byu_266:not(#\9), .awsui_selected_1mfbn_u6byu_210.awsui_range-end-date_1mfbn_u6byu_266:not(#\9)::after {
266
+ .awsui_selected_1mfbn_1t3vs_210.awsui_end-date_1mfbn_1t3vs_200:not(#\9), .awsui_selected_1mfbn_1t3vs_210.awsui_end-date_1mfbn_1t3vs_200:not(#\9)::after, .awsui_selected_1mfbn_1t3vs_210.awsui_range-end-date_1mfbn_1t3vs_266:not(#\9), .awsui_selected_1mfbn_1t3vs_210.awsui_range-end-date_1mfbn_1t3vs_266:not(#\9)::after {
267
267
  border-end-end-radius: var(--border-radius-item-jsz3j8, 0px);
268
268
  }
269
- .awsui_selected_1mfbn_u6byu_210.awsui_end-date_1mfbn_u6byu_200.awsui_in-range-border-top_1mfbn_u6byu_269:not(#\9), .awsui_selected_1mfbn_u6byu_210.awsui_end-date_1mfbn_u6byu_200.awsui_in-range-border-top_1mfbn_u6byu_269:not(#\9)::after, .awsui_selected_1mfbn_u6byu_210.awsui_range-end-date_1mfbn_u6byu_266.awsui_in-range-border-top_1mfbn_u6byu_269:not(#\9), .awsui_selected_1mfbn_u6byu_210.awsui_range-end-date_1mfbn_u6byu_266.awsui_in-range-border-top_1mfbn_u6byu_269:not(#\9)::after {
269
+ .awsui_selected_1mfbn_1t3vs_210.awsui_end-date_1mfbn_1t3vs_200.awsui_in-range-border-top_1mfbn_1t3vs_269:not(#\9), .awsui_selected_1mfbn_1t3vs_210.awsui_end-date_1mfbn_1t3vs_200.awsui_in-range-border-top_1mfbn_1t3vs_269:not(#\9)::after, .awsui_selected_1mfbn_1t3vs_210.awsui_range-end-date_1mfbn_1t3vs_266.awsui_in-range-border-top_1mfbn_1t3vs_269:not(#\9), .awsui_selected_1mfbn_1t3vs_210.awsui_range-end-date_1mfbn_1t3vs_266.awsui_in-range-border-top_1mfbn_1t3vs_269:not(#\9)::after {
270
270
  border-start-end-radius: var(--border-radius-item-jsz3j8, 0px);
271
271
  }
272
- .awsui_selected_1mfbn_u6byu_210 > .awsui_day-inner_1mfbn_u6byu_170:not(#\9) {
272
+ .awsui_selected_1mfbn_1t3vs_210 > .awsui_day-inner_1mfbn_1t3vs_170:not(#\9) {
273
273
  color: var(--color-background-control-default-n6yadr, #ffffff);
274
274
  position: relative;
275
275
  z-index: 2;
276
276
  }
277
277
 
278
- .awsui_in-range_1mfbn_u6byu_200:not(#\9) {
278
+ .awsui_in-range_1mfbn_1t3vs_200:not(#\9) {
279
279
  background-color: var(--color-background-dropdown-item-selected-u5p3gx, #f1faff);
280
280
  font-weight: 700;
281
281
  }
282
- .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-block-start_1mfbn_u6byu_282:not(#\9)::after {
282
+ .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-block-start_1mfbn_1t3vs_282:not(#\9)::after {
283
283
  border-block-start: var(--border-item-width-0zxiwv, 1px) solid var(--color-background-control-checked-pvanxo, #0073bb);
284
284
  }
285
- .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-inline-end_1mfbn_u6byu_285:not(#\9)::after {
285
+ .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-inline-end_1mfbn_1t3vs_285:not(#\9)::after {
286
286
  border-inline-end: var(--border-item-width-0zxiwv, 1px) solid var(--color-background-control-checked-pvanxo, #0073bb);
287
287
  }
288
- .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-block-end_1mfbn_u6byu_288:not(#\9)::after {
288
+ .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-block-end_1mfbn_1t3vs_288:not(#\9)::after {
289
289
  border-block-end: var(--border-item-width-0zxiwv, 1px) solid var(--color-background-control-checked-pvanxo, #0073bb);
290
290
  }
291
- .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-inline-start_1mfbn_u6byu_291:not(#\9)::after {
291
+ .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-inline-start_1mfbn_1t3vs_291:not(#\9)::after {
292
292
  border-inline-start: var(--border-item-width-0zxiwv, 1px) solid var(--color-background-control-checked-pvanxo, #0073bb);
293
293
  }
294
- .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-block-start_1mfbn_u6byu_282.awsui_in-range-border-inline-end_1mfbn_u6byu_285:not(#\9), .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-block-start_1mfbn_u6byu_282.awsui_in-range-border-inline-end_1mfbn_u6byu_285:not(#\9)::after {
294
+ .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-block-start_1mfbn_1t3vs_282.awsui_in-range-border-inline-end_1mfbn_1t3vs_285:not(#\9), .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-block-start_1mfbn_1t3vs_282.awsui_in-range-border-inline-end_1mfbn_1t3vs_285:not(#\9)::after {
295
295
  border-start-end-radius: var(--border-radius-item-jsz3j8, 0px);
296
296
  }
297
- .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-block-end_1mfbn_u6byu_288.awsui_in-range-border-inline-end_1mfbn_u6byu_285:not(#\9), .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-block-end_1mfbn_u6byu_288.awsui_in-range-border-inline-end_1mfbn_u6byu_285:not(#\9)::after {
297
+ .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-block-end_1mfbn_1t3vs_288.awsui_in-range-border-inline-end_1mfbn_1t3vs_285:not(#\9), .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-block-end_1mfbn_1t3vs_288.awsui_in-range-border-inline-end_1mfbn_1t3vs_285:not(#\9)::after {
298
298
  border-end-end-radius: var(--border-radius-item-jsz3j8, 0px);
299
299
  }
300
- .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-block-end_1mfbn_u6byu_288.awsui_in-range-border-inline-start_1mfbn_u6byu_291:not(#\9), .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-block-end_1mfbn_u6byu_288.awsui_in-range-border-inline-start_1mfbn_u6byu_291:not(#\9)::after {
300
+ .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-block-end_1mfbn_1t3vs_288.awsui_in-range-border-inline-start_1mfbn_1t3vs_291:not(#\9), .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-block-end_1mfbn_1t3vs_288.awsui_in-range-border-inline-start_1mfbn_1t3vs_291:not(#\9)::after {
301
301
  border-end-start-radius: var(--border-radius-item-jsz3j8, 0px);
302
302
  }
303
- .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-block-start_1mfbn_u6byu_282.awsui_in-range-border-inline-start_1mfbn_u6byu_291:not(#\9), .awsui_in-range_1mfbn_u6byu_200.awsui_in-range-border-block-start_1mfbn_u6byu_282.awsui_in-range-border-inline-start_1mfbn_u6byu_291:not(#\9)::after {
303
+ .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-block-start_1mfbn_1t3vs_282.awsui_in-range-border-inline-start_1mfbn_1t3vs_291:not(#\9), .awsui_in-range_1mfbn_1t3vs_200.awsui_in-range-border-block-start_1mfbn_1t3vs_282.awsui_in-range-border-inline-start_1mfbn_1t3vs_291:not(#\9)::after {
304
304
  border-start-start-radius: var(--border-radius-item-jsz3j8, 0px);
305
+ }
306
+
307
+ .awsui_disabled-reason-tooltip_1mfbn_1t3vs_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_u6byu_101",
6
- "grid-cell": "awsui_grid-cell_1mfbn_u6byu_106",
7
- "day-header": "awsui_day-header_1mfbn_u6byu_113",
8
- "week": "awsui_week_1mfbn_u6byu_123",
9
- "day": "awsui_day_1mfbn_u6byu_113",
10
- "day-inner": "awsui_day-inner_1mfbn_u6byu_170",
11
- "in-first-row": "awsui_in-first-row_1mfbn_u6byu_175",
12
- "in-previous-month": "awsui_in-previous-month_1mfbn_u6byu_175",
13
- "last-day-of-month": "awsui_last-day-of-month_1mfbn_u6byu_179",
14
- "in-next-month": "awsui_in-next-month_1mfbn_u6byu_183",
15
- "in-first-column": "awsui_in-first-column_1mfbn_u6byu_187",
16
- "in-current-month": "awsui_in-current-month_1mfbn_u6byu_190",
17
- "enabled": "awsui_enabled_1mfbn_u6byu_194",
18
- "in-range": "awsui_in-range_1mfbn_u6byu_200",
19
- "end-date": "awsui_end-date_1mfbn_u6byu_200",
20
- "start-date": "awsui_start-date_1mfbn_u6byu_200",
21
- "no-range": "awsui_no-range_1mfbn_u6byu_200",
22
- "selected": "awsui_selected_1mfbn_u6byu_210",
23
- "today": "awsui_today_1mfbn_u6byu_215",
24
- "range-start-date": "awsui_range-start-date_1mfbn_u6byu_260",
25
- "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_u6byu_263",
26
- "range-end-date": "awsui_range-end-date_1mfbn_u6byu_266",
27
- "in-range-border-top": "awsui_in-range-border-top_1mfbn_u6byu_269",
28
- "in-range-border-block-start": "awsui_in-range-border-block-start_1mfbn_u6byu_282",
29
- "in-range-border-inline-end": "awsui_in-range-border-inline-end_1mfbn_u6byu_285",
30
- "in-range-border-block-end": "awsui_in-range-border-block-end_1mfbn_u6byu_288",
31
- "in-range-border-inline-start": "awsui_in-range-border-inline-start_1mfbn_u6byu_291"
5
+ "grid": "awsui_grid_1mfbn_1t3vs_101",
6
+ "grid-cell": "awsui_grid-cell_1mfbn_1t3vs_106",
7
+ "day-header": "awsui_day-header_1mfbn_1t3vs_113",
8
+ "week": "awsui_week_1mfbn_1t3vs_123",
9
+ "day": "awsui_day_1mfbn_1t3vs_113",
10
+ "day-inner": "awsui_day-inner_1mfbn_1t3vs_170",
11
+ "in-first-row": "awsui_in-first-row_1mfbn_1t3vs_175",
12
+ "in-previous-month": "awsui_in-previous-month_1mfbn_1t3vs_175",
13
+ "last-day-of-month": "awsui_last-day-of-month_1mfbn_1t3vs_179",
14
+ "in-next-month": "awsui_in-next-month_1mfbn_1t3vs_183",
15
+ "in-first-column": "awsui_in-first-column_1mfbn_1t3vs_187",
16
+ "in-current-month": "awsui_in-current-month_1mfbn_1t3vs_190",
17
+ "enabled": "awsui_enabled_1mfbn_1t3vs_194",
18
+ "in-range": "awsui_in-range_1mfbn_1t3vs_200",
19
+ "end-date": "awsui_end-date_1mfbn_1t3vs_200",
20
+ "start-date": "awsui_start-date_1mfbn_1t3vs_200",
21
+ "no-range": "awsui_no-range_1mfbn_1t3vs_200",
22
+ "selected": "awsui_selected_1mfbn_1t3vs_210",
23
+ "today": "awsui_today_1mfbn_1t3vs_215",
24
+ "range-start-date": "awsui_range-start-date_1mfbn_1t3vs_260",
25
+ "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_1t3vs_263",
26
+ "range-end-date": "awsui_range-end-date_1mfbn_1t3vs_266",
27
+ "in-range-border-top": "awsui_in-range-border-top_1mfbn_1t3vs_269",
28
+ "in-range-border-block-start": "awsui_in-range-border-block-start_1mfbn_1t3vs_282",
29
+ "in-range-border-inline-end": "awsui_in-range-border-inline-end_1mfbn_1t3vs_285",
30
+ "in-range-border-block-end": "awsui_in-range-border-block-end_1mfbn_1t3vs_288",
31
+ "in-range-border-inline-start": "awsui_in-range-border-inline-start_1mfbn_1t3vs_291",
32
+ "disabled-reason-tooltip": "awsui_disabled-reason-tooltip_1mfbn_1t3vs_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)));