@cloudscape-design/components-themeable 3.0.72 → 3.0.73

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 (150) hide show
  1. package/lib/internal/scss/breadcrumb-group/item/styles.scss +1 -0
  2. package/lib/internal/scss/calendar/styles.scss +19 -28
  3. package/lib/internal/scss/date-range-picker/calendar/grids/{day/styles.scss → styles.scss} +4 -4
  4. package/lib/internal/scss/date-range-picker/styles.scss +7 -4
  5. package/lib/internal/scss/property-filter/styles.scss +16 -6
  6. package/lib/internal/scss/tabs/tab-header-bar.scss +1 -0
  7. package/lib/internal/template/app-layout/toggles/index.d.ts.map +1 -1
  8. package/lib/internal/template/app-layout/toggles/index.js +2 -2
  9. package/lib/internal/template/app-layout/toggles/index.js.map +1 -1
  10. package/lib/internal/template/app-layout/visual-refresh/app-bar.d.ts.map +1 -1
  11. package/lib/internal/template/app-layout/visual-refresh/app-bar.js +2 -2
  12. package/lib/internal/template/app-layout/visual-refresh/app-bar.js.map +1 -1
  13. package/lib/internal/template/app-layout/visual-refresh/navigation.d.ts.map +1 -1
  14. package/lib/internal/template/app-layout/visual-refresh/navigation.js +1 -1
  15. package/lib/internal/template/app-layout/visual-refresh/navigation.js.map +1 -1
  16. package/lib/internal/template/app-layout/visual-refresh/tools.d.ts.map +1 -1
  17. package/lib/internal/template/app-layout/visual-refresh/tools.js +1 -1
  18. package/lib/internal/template/app-layout/visual-refresh/tools.js.map +1 -1
  19. package/lib/internal/template/app-layout/visual-refresh/trigger-button.d.ts.map +1 -1
  20. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +1 -1
  21. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
  22. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  23. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +16 -15
  24. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  25. package/lib/internal/template/calendar/grid/index.d.ts +2 -2
  26. package/lib/internal/template/calendar/grid/index.d.ts.map +1 -1
  27. package/lib/internal/template/calendar/grid/index.js +64 -23
  28. package/lib/internal/template/calendar/grid/index.js.map +1 -1
  29. package/lib/internal/template/calendar/internal.d.ts.map +1 -1
  30. package/lib/internal/template/calendar/internal.js +3 -15
  31. package/lib/internal/template/calendar/internal.js.map +1 -1
  32. package/lib/internal/template/calendar/styles.css.js +18 -20
  33. package/lib/internal/template/calendar/styles.scoped.css +46 -58
  34. package/lib/internal/template/calendar/styles.selectors.js +18 -20
  35. package/lib/internal/template/date-range-picker/calendar/grids/grid.d.ts.map +1 -1
  36. package/lib/internal/template/date-range-picker/calendar/grids/grid.js +61 -6
  37. package/lib/internal/template/date-range-picker/calendar/grids/grid.js.map +1 -1
  38. package/lib/internal/template/date-range-picker/calendar/grids/index.d.ts.map +1 -1
  39. package/lib/internal/template/date-range-picker/calendar/grids/index.js +1 -0
  40. package/lib/internal/template/date-range-picker/calendar/grids/index.js.map +1 -1
  41. package/lib/internal/template/date-range-picker/calendar/grids/styles.css.js +26 -0
  42. package/lib/internal/template/date-range-picker/calendar/grids/{day/styles.scoped.css → styles.scoped.css} +38 -38
  43. package/lib/internal/template/date-range-picker/calendar/grids/styles.selectors.js +27 -0
  44. package/lib/internal/template/date-range-picker/index.js +2 -2
  45. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  46. package/lib/internal/template/date-range-picker/styles.css.js +41 -40
  47. package/lib/internal/template/date-range-picker/styles.scoped.css +56 -48
  48. package/lib/internal/template/date-range-picker/styles.selectors.js +41 -40
  49. package/lib/internal/template/expandable-section/expandable-section-header.d.ts +3 -2
  50. package/lib/internal/template/expandable-section/expandable-section-header.d.ts.map +1 -1
  51. package/lib/internal/template/expandable-section/expandable-section-header.js +3 -3
  52. package/lib/internal/template/expandable-section/expandable-section-header.js.map +1 -1
  53. package/lib/internal/template/expandable-section/interfaces.d.ts +5 -0
  54. package/lib/internal/template/expandable-section/interfaces.d.ts.map +1 -1
  55. package/lib/internal/template/expandable-section/interfaces.js.map +1 -1
  56. package/lib/internal/template/expandable-section/internal.d.ts +1 -1
  57. package/lib/internal/template/expandable-section/internal.d.ts.map +1 -1
  58. package/lib/internal/template/expandable-section/internal.js +4 -3
  59. package/lib/internal/template/expandable-section/internal.js.map +1 -1
  60. package/lib/internal/template/internal/base-component/styles.scoped.css +9 -9
  61. package/lib/internal/template/internal/components/dropdown-status/index.d.ts +3 -1
  62. package/lib/internal/template/internal/components/dropdown-status/index.d.ts.map +1 -1
  63. package/lib/internal/template/internal/components/dropdown-status/index.js +7 -4
  64. package/lib/internal/template/internal/components/dropdown-status/index.js.map +1 -1
  65. package/lib/internal/template/internal/components/live-region/index.d.ts.map +1 -1
  66. package/lib/internal/template/internal/components/live-region/index.js +1 -0
  67. package/lib/internal/template/internal/components/live-region/index.js.map +1 -1
  68. package/lib/internal/template/internal/environment.js +1 -1
  69. package/lib/internal/template/modal/internal.d.ts.map +1 -1
  70. package/lib/internal/template/modal/internal.js +6 -10
  71. package/lib/internal/template/modal/internal.js.map +1 -1
  72. package/lib/internal/template/multiselect/internal.d.ts.map +1 -1
  73. package/lib/internal/template/multiselect/internal.js +3 -2
  74. package/lib/internal/template/multiselect/internal.js.map +1 -1
  75. package/lib/internal/template/package-lock.json +3 -3
  76. package/lib/internal/template/property-filter/controller.d.ts +2 -0
  77. package/lib/internal/template/property-filter/controller.d.ts.map +1 -1
  78. package/lib/internal/template/property-filter/controller.js +37 -0
  79. package/lib/internal/template/property-filter/controller.js.map +1 -1
  80. package/lib/internal/template/property-filter/index.d.ts.map +1 -1
  81. package/lib/internal/template/property-filter/index.js +21 -6
  82. package/lib/internal/template/property-filter/index.js.map +1 -1
  83. package/lib/internal/template/property-filter/interfaces.d.ts +9 -2
  84. package/lib/internal/template/property-filter/interfaces.d.ts.map +1 -1
  85. package/lib/internal/template/property-filter/interfaces.js +2 -0
  86. package/lib/internal/template/property-filter/interfaces.js.map +1 -1
  87. package/lib/internal/template/property-filter/property-editor.d.ts +13 -0
  88. package/lib/internal/template/property-filter/property-editor.d.ts.map +1 -0
  89. package/lib/internal/template/property-filter/property-editor.js +18 -0
  90. package/lib/internal/template/property-filter/property-editor.js.map +1 -0
  91. package/lib/internal/template/property-filter/property-filter-autosuggest.d.ts +1 -0
  92. package/lib/internal/template/property-filter/property-filter-autosuggest.d.ts.map +1 -1
  93. package/lib/internal/template/property-filter/property-filter-autosuggest.js +17 -3
  94. package/lib/internal/template/property-filter/property-filter-autosuggest.js.map +1 -1
  95. package/lib/internal/template/property-filter/styles.css.js +32 -24
  96. package/lib/internal/template/property-filter/styles.scoped.css +45 -27
  97. package/lib/internal/template/property-filter/styles.selectors.js +32 -24
  98. package/lib/internal/template/property-filter/token-editor.d.ts.map +1 -1
  99. package/lib/internal/template/property-filter/token-editor.js +17 -4
  100. package/lib/internal/template/property-filter/token-editor.js.map +1 -1
  101. package/lib/internal/template/property-filter/token.d.ts.map +1 -1
  102. package/lib/internal/template/property-filter/token.js +6 -3
  103. package/lib/internal/template/property-filter/token.js.map +1 -1
  104. package/lib/internal/template/select/internal.d.ts.map +1 -1
  105. package/lib/internal/template/select/internal.js +3 -2
  106. package/lib/internal/template/select/internal.js.map +1 -1
  107. package/lib/internal/template/select/parts/filter.d.ts +1 -1
  108. package/lib/internal/template/select/utils/use-select.d.ts +15 -1
  109. package/lib/internal/template/select/utils/use-select.d.ts.map +1 -1
  110. package/lib/internal/template/select/utils/use-select.js +11 -1
  111. package/lib/internal/template/select/utils/use-select.js.map +1 -1
  112. package/lib/internal/template/split-panel/index.d.ts.map +1 -1
  113. package/lib/internal/template/split-panel/index.js +8 -6
  114. package/lib/internal/template/split-panel/index.js.map +1 -1
  115. package/lib/internal/template/split-panel/interfaces.d.ts +1 -0
  116. package/lib/internal/template/split-panel/interfaces.d.ts.map +1 -1
  117. package/lib/internal/template/split-panel/interfaces.js.map +1 -1
  118. package/lib/internal/template/split-panel/utils/use-pointer-events.d.ts +1 -1
  119. package/lib/internal/template/split-panel/utils/use-pointer-events.d.ts.map +1 -1
  120. package/lib/internal/template/split-panel/utils/use-pointer-events.js +9 -5
  121. package/lib/internal/template/split-panel/utils/use-pointer-events.js.map +1 -1
  122. package/lib/internal/template/table/header-cell/styles.css.js +14 -14
  123. package/lib/internal/template/table/header-cell/styles.scoped.css +25 -25
  124. package/lib/internal/template/table/header-cell/styles.selectors.js +14 -14
  125. package/lib/internal/template/table/internal.d.ts.map +1 -1
  126. package/lib/internal/template/table/internal.js +8 -1
  127. package/lib/internal/template/table/internal.js.map +1 -1
  128. package/lib/internal/template/table/use-mouse-down-target.d.ts +6 -0
  129. package/lib/internal/template/table/use-mouse-down-target.d.ts.map +1 -0
  130. package/lib/internal/template/table/use-mouse-down-target.js +30 -0
  131. package/lib/internal/template/table/use-mouse-down-target.js.map +1 -0
  132. package/lib/internal/template/tabs/styles.css.js +21 -21
  133. package/lib/internal/template/tabs/styles.scoped.css +38 -37
  134. package/lib/internal/template/tabs/styles.selectors.js +21 -21
  135. package/lib/internal/template/test-utils/dom/date-range-picker/index.js +1 -1
  136. package/lib/internal/template/test-utils/dom/date-range-picker/index.js.map +1 -1
  137. package/lib/internal/template/test-utils/selectors/date-range-picker/index.js +1 -1
  138. package/lib/internal/template/test-utils/selectors/date-range-picker/index.js.map +1 -1
  139. package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
  140. package/package.json +1 -1
  141. package/lib/internal/template/calendar/grid/day/index.d.ts +0 -15
  142. package/lib/internal/template/calendar/grid/day/index.d.ts.map +0 -1
  143. package/lib/internal/template/calendar/grid/day/index.js +0 -47
  144. package/lib/internal/template/calendar/grid/day/index.js.map +0 -1
  145. package/lib/internal/template/date-range-picker/calendar/grids/day/index.d.ts +0 -27
  146. package/lib/internal/template/date-range-picker/calendar/grids/day/index.d.ts.map +0 -1
  147. package/lib/internal/template/date-range-picker/calendar/grids/day/index.js +0 -95
  148. package/lib/internal/template/date-range-picker/calendar/grids/day/index.js.map +0 -1
  149. package/lib/internal/template/date-range-picker/calendar/grids/day/styles.css.js +0 -26
  150. package/lib/internal/template/date-range-picker/calendar/grids/day/styles.selectors.js +0 -27
@@ -2,25 +2,23 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "calendar": "awsui_calendar_1ykar_16ssf_93",
6
- "awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-0_1ykar_16ssf_1",
7
- "root": "awsui_root_1ykar_16ssf_124",
8
- "calendar-inner": "awsui_calendar-inner_1ykar_16ssf_141",
9
- "calendar-header": "awsui_calendar-header_1ykar_16ssf_144",
10
- "calendar-header-month": "awsui_calendar-header-month_1ykar_16ssf_149",
11
- "calendar-next-month-btn": "awsui_calendar-next-month-btn_1ykar_16ssf_155",
12
- "calendar-prev-month-btn": "awsui_calendar-prev-month-btn_1ykar_16ssf_158",
13
- "calendar-day-names": "awsui_calendar-day-names_1ykar_16ssf_161",
14
- "calendar-day-name": "awsui_calendar-day-name_1ykar_16ssf_161",
15
- "calendar-dates": "awsui_calendar-dates_1ykar_16ssf_176",
16
- "calendar-week": "awsui_calendar-week_1ykar_16ssf_179",
17
- "calendar-day": "awsui_calendar-day_1ykar_16ssf_161",
18
- "calendar-day-in-last-week": "awsui_calendar-day-in-last-week_1ykar_16ssf_197",
19
- "calendar-day-focusable": "awsui_calendar-day-focusable_1ykar_16ssf_200",
20
- "calendar-day-enabled": "awsui_calendar-day-enabled_1ykar_16ssf_203",
21
- "calendar-day-current-month": "awsui_calendar-day-current-month_1ykar_16ssf_210",
22
- "calendar-day-selected": "awsui_calendar-day-selected_1ykar_16ssf_217",
23
- "calendar-day-today": "awsui_calendar-day-today_1ykar_16ssf_220",
24
- "day-inner": "awsui_day-inner_1ykar_16ssf_234"
5
+ "calendar": "awsui_calendar_1ykar_1y06z_93",
6
+ "awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-0_1ykar_1y06z_1",
7
+ "root": "awsui_root_1ykar_1y06z_124",
8
+ "calendar-inner": "awsui_calendar-inner_1ykar_1y06z_141",
9
+ "calendar-header": "awsui_calendar-header_1ykar_1y06z_144",
10
+ "calendar-header-month": "awsui_calendar-header-month_1ykar_1y06z_149",
11
+ "calendar-next-month-btn": "awsui_calendar-next-month-btn_1ykar_1y06z_155",
12
+ "calendar-prev-month-btn": "awsui_calendar-prev-month-btn_1ykar_1y06z_158",
13
+ "calendar-grid": "awsui_calendar-grid_1ykar_1y06z_161",
14
+ "calendar-grid-cell": "awsui_calendar-grid-cell_1ykar_1y06z_165",
15
+ "calendar-day-header": "awsui_calendar-day-header_1ykar_1y06z_171",
16
+ "calendar-day": "awsui_calendar-day_1ykar_1y06z_171",
17
+ "calendar-day-enabled": "awsui_calendar-day-enabled_1ykar_1y06z_188",
18
+ "calendar-day-current-month": "awsui_calendar-day-current-month_1ykar_1y06z_195",
19
+ "calendar-day-selected": "awsui_calendar-day-selected_1ykar_1y06z_202",
20
+ "calendar-day-today": "awsui_calendar-day-today_1ykar_1y06z_205",
21
+ "day-inner": "awsui_day-inner_1ykar_1y06z_219",
22
+ "calendar-week": "awsui_calendar-week_1ykar_1y06z_283"
25
23
  };
26
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/grid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAKvC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAKxD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,IAAI,CAAC;IACf,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAE7B,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAE1B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEhD,YAAY,EAAE,iBAAiB,CAAC;IAChC,oBAAoB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IACvD,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAEvE,aAAa,EAAE,oBAAoB,CAAC,qBAAqB,CAAC;IAE1D,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,QAAQ,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IAEvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EAEX,cAAc,EAEd,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EAEnB,aAAa,EAEb,MAAM,EACN,WAAW,EACX,cAAc,EAEd,SAAS,GACV,EAAE,SAAS,eA0EX"}
1
+ {"version":3,"file":"grid.d.ts","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/grid.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAevC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAOxD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,IAAI,CAAC;IACf,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,eAAe,EAAE,IAAI,GAAG,IAAI,CAAC;IAE7B,cAAc,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,IAAI,GAAG,IAAI,CAAC;IAE1B,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAEhD,YAAY,EAAE,iBAAiB,CAAC;IAChC,oBAAoB,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,KAAK,IAAI,CAAC;IACvD,mBAAmB,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;IAEvE,aAAa,EAAE,oBAAoB,CAAC,qBAAqB,CAAC;IAE1D,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,QAAQ,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IAEvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EAEX,cAAc,EAEd,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EAEnB,aAAa,EAEb,MAAM,EACN,WAAW,EACX,cAAc,EAEd,SAAS,GACV,EAAE,SAAS,eAiIX"}
@@ -1,13 +1,16 @@
1
+ import { __assign } from "tslib";
1
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
3
  // SPDX-License-Identifier: Apache-2.0
3
4
  import React, { useMemo } from 'react';
4
5
  import styles from '../../styles.css.js';
5
- import GridDay from './day';
6
- import { isSameMonth, isAfter, isBefore, isSameDay, addWeeks, addDays } from 'date-fns';
6
+ import dayStyles from './styles.css.js';
7
+ import { isSameMonth, isAfter, isBefore, isSameDay, addWeeks, addDays, isLastDayOfMonth, getDaysInMonth, isToday, } from 'date-fns';
7
8
  import { getCalendarMonth } from 'mnth';
8
9
  import rotateDayIndexes from '../../../calendar/utils/rotate-day-indexes';
9
- import { renderDayName } from '../../../calendar/utils/intl';
10
+ import { getDateLabel, renderDayName } from '../../../calendar/utils/intl';
10
11
  import clsx from 'clsx';
12
+ import { formatDate } from '../../../internal/utils/date-time';
13
+ import useFocusVisible from '../../../internal/hooks/focus-visible/index.js';
11
14
  export function Grid(_a) {
12
15
  var baseDate = _a.baseDate, selectedStartDate = _a.selectedStartDate, selectedEndDate = _a.selectedEndDate, rangeStartDate = _a.rangeStartDate, rangeEndDate = _a.rangeEndDate, focusedDate = _a.focusedDate, focusedDateRef = _a.focusedDateRef, onSelectDate = _a.onSelectDate, onGridKeyDownHandler = _a.onGridKeyDownHandler, onFocusedDateChange = _a.onFocusedDateChange, isDateEnabled = _a.isDateEnabled, locale = _a.locale, startOfWeek = _a.startOfWeek, todayAriaLabel = _a.todayAriaLabel, className = _a.className;
13
16
  var baseDateTime = baseDate === null || baseDate === void 0 ? void 0 : baseDate.getTime();
@@ -15,10 +18,12 @@ export function Grid(_a) {
15
18
  var weeks = useMemo(function () { return getCalendarMonth(baseDate, { firstDayOfWeek: startOfWeek }); },
16
19
  // eslint-disable-next-line react-hooks/exhaustive-deps
17
20
  [baseDateTime, startOfWeek]);
21
+ var focusVisible = useFocusVisible();
18
22
  return (React.createElement("div", { className: clsx(styles.grid, className) },
19
- React.createElement("div", { className: styles['calendar-day-names'] }, rotateDayIndexes(startOfWeek).map(function (i) { return (React.createElement("div", { key: "day-name-".concat(i), className: styles['calendar-day-name'] }, renderDayName(locale, i))); })),
23
+ React.createElement("div", { className: styles['calendar-day-names'] }, rotateDayIndexes(startOfWeek).map(function (dayIndex) { return (React.createElement("div", { key: dayIndex, className: styles['calendar-day-name'] }, renderDayName(locale, dayIndex))); })),
20
24
  React.createElement("div", { className: styles['calendar-dates'], onKeyDown: onGridKeyDownHandler }, weeks.map(function (week, weekIndex) {
21
- return (React.createElement("div", { key: "week-".concat(weekIndex), className: styles['calendar-week'] }, week.map(function (date, dateIndex) {
25
+ return (React.createElement("div", { key: weekIndex, className: styles['calendar-week'] }, week.map(function (date, dateIndex) {
26
+ var _a, _b, _c;
22
27
  var isStartDate = !!selectedStartDate && isSameDay(date, selectedStartDate);
23
28
  var isEndDate = !!selectedEndDate && isSameDay(date, selectedEndDate);
24
29
  var isSelected = isStartDate || isEndDate;
@@ -31,7 +36,57 @@ export function Grid(_a) {
31
36
  var onlyOneSelected = !!rangeStartDate && !!rangeEndDate
32
37
  ? isSameDay(rangeStartDate, rangeEndDate)
33
38
  : !selectedStartDate || !selectedEndDate;
34
- return (React.createElement(GridDay, { key: "date-".concat(weekIndex, "-").concat(dateIndex), locale: locale, baseDate: baseDate, isSelected: isSelected, isStartDate: isStartDate, isEndDate: isEndDate, onlyOneSelected: onlyOneSelected, isRangeStartDate: isRangeStartDate, isRangeEndDate: isRangeEndDate, date: date, isFocusedDate: isFocused, ref: isFocused ? focusedDateRef : undefined, todayAriaLabel: todayAriaLabel, onSelectDate: onSelectDate, onFocusDate: onFocusedDateChange, isInRange: dateIsInRange, isDateEnabled: isDateEnabled, isDateInFirstRow: weekIndex === 0, isDateInFirstColumn: dateIndex === 0, isDateInLastColumn: dateIndex === week.length - 1, isDateInSelectionStartWeek: !!inRangeStartWeek, isDateInSelectionEndWeek: !!inRangeEndWeek }));
39
+ var isEnabled = !isDateEnabled || isDateEnabled(date);
40
+ var isFocusable = isFocused && isEnabled;
41
+ var computedAttributes = {};
42
+ var baseClasses = (_a = {},
43
+ _a[dayStyles.day] = true,
44
+ _a[dayStyles['in-first-row']] = weekIndex === 0,
45
+ _a[dayStyles['in-first-column']] = dateIndex === 0,
46
+ _a);
47
+ if (!isSameMonth(date, baseDate)) {
48
+ return (React.createElement("div", { key: "".concat(weekIndex, ":").concat(dateIndex), className: clsx(baseClasses, (_b = {},
49
+ _b[dayStyles['in-previous-month']] = isBefore(date, baseDate),
50
+ _b[dayStyles['last-day-of-month']] = isLastDayOfMonth(date),
51
+ _b[dayStyles['in-next-month']] = isAfter(date, baseDate),
52
+ _b)), ref: isFocused ? focusedDateRef : undefined }));
53
+ }
54
+ if (isEnabled) {
55
+ computedAttributes.onClick = function () { return onSelectDate(date); };
56
+ computedAttributes.onFocus = function () { return onFocusedDateChange(date); };
57
+ }
58
+ // Can't be focused.
59
+ var tabIndex = undefined;
60
+ if (isFocusable && isEnabled) {
61
+ // Next focus target.
62
+ tabIndex = 0;
63
+ }
64
+ else if (isEnabled) {
65
+ // Can be focused programmatically.
66
+ tabIndex = -1;
67
+ }
68
+ // Screen-reader announcement for the focused day.
69
+ var dayAnnouncement = getDateLabel(locale, date);
70
+ if (isToday(date)) {
71
+ dayAnnouncement += '. ' + todayAriaLabel;
72
+ }
73
+ return (React.createElement("div", __assign({ key: "".concat(weekIndex, ":").concat(dateIndex), className: clsx(baseClasses, (_c = {},
74
+ _c[dayStyles['in-current-month']] = isSameMonth(date, baseDate),
75
+ _c[dayStyles.enabled] = isEnabled,
76
+ _c[dayStyles.selected] = isSelected,
77
+ _c[dayStyles['start-date']] = isStartDate,
78
+ _c[dayStyles['end-date']] = isEndDate,
79
+ _c[dayStyles['range-start-date']] = isRangeStartDate,
80
+ _c[dayStyles['range-end-date']] = isRangeEndDate,
81
+ _c[dayStyles['no-range']] = isSelected && onlyOneSelected,
82
+ _c[dayStyles['in-range']] = dateIsInRange,
83
+ _c[dayStyles['in-range-border-top']] = !!inRangeStartWeek || date.getDate() <= 7,
84
+ _c[dayStyles['in-range-border-bottom']] = !!inRangeEndWeek || date.getDate() > getDaysInMonth(date) - 7,
85
+ _c[dayStyles['in-range-border-left']] = dateIndex === 0 || date.getDate() === 1 || isRangeStartDate,
86
+ _c[dayStyles['in-range-border-right']] = dateIndex === week.length - 1 || isLastDayOfMonth(date) || isRangeEndDate,
87
+ _c[dayStyles.today] = isToday(date),
88
+ _c)), "aria-label": dayAnnouncement, "aria-pressed": isSelected || dateIsInRange, "aria-current": isToday(date) ? 'date' : undefined, "data-date": formatDate(date), role: "button", tabIndex: tabIndex }, computedAttributes, { ref: isFocused ? focusedDateRef : undefined }, focusVisible),
89
+ React.createElement("span", { className: dayStyles['day-inner'] }, date.getDate())));
35
90
  })));
36
91
  }))));
37
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/grid.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, { useMemo } from 'react';\nimport styles from '../../styles.css.js';\nimport GridDay from './day';\nimport { isSameMonth, isAfter, isBefore, isSameDay, addWeeks, addDays } from 'date-fns';\nimport { getCalendarMonth } from 'mnth';\nimport { DateChangeHandler, DayIndex } from '../index';\nimport { DateRangePickerProps } from '../../interfaces';\nimport rotateDayIndexes from '../../../calendar/utils/rotate-day-indexes';\nimport { renderDayName } from '../../../calendar/utils/intl';\nimport clsx from 'clsx';\n\nexport interface GridProps {\n baseDate: Date;\n selectedStartDate: Date | null;\n selectedEndDate: Date | null;\n\n rangeStartDate: Date | null;\n rangeEndDate: Date | null;\n\n focusedDate: Date | null;\n focusedDateRef: React.RefObject<HTMLDivElement>;\n\n onSelectDate: DateChangeHandler;\n onGridKeyDownHandler: (e: React.KeyboardEvent) => void;\n onFocusedDateChange: React.Dispatch<React.SetStateAction<Date | null>>;\n\n isDateEnabled: DateRangePickerProps.IsDateEnabledFunction;\n\n locale: string;\n startOfWeek: DayIndex;\n todayAriaLabel: string;\n\n className?: string;\n}\n\nexport function Grid({\n baseDate,\n selectedStartDate,\n selectedEndDate,\n rangeStartDate,\n rangeEndDate,\n focusedDate,\n\n focusedDateRef,\n\n onSelectDate,\n onGridKeyDownHandler,\n onFocusedDateChange,\n\n isDateEnabled,\n\n locale,\n startOfWeek,\n todayAriaLabel,\n\n className,\n}: GridProps) {\n const baseDateTime = baseDate?.getTime();\n // `baseDateTime` is used as a more stable replacement for baseDate\n const weeks = useMemo<Date[][]>(\n () => getCalendarMonth(baseDate, { firstDayOfWeek: startOfWeek }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [baseDateTime, startOfWeek]\n );\n\n return (\n <div className={clsx(styles.grid, className)}>\n <div className={styles['calendar-day-names']}>\n {rotateDayIndexes(startOfWeek).map(i => (\n <div key={`day-name-${i}`} className={styles['calendar-day-name']}>\n {renderDayName(locale, i)}\n </div>\n ))}\n </div>\n <div className={styles['calendar-dates']} onKeyDown={onGridKeyDownHandler}>\n {weeks.map((week, weekIndex) => {\n return (\n <div key={`week-${weekIndex}`} className={styles['calendar-week']}>\n {week.map((date, dateIndex) => {\n const isStartDate = !!selectedStartDate && isSameDay(date, selectedStartDate);\n const isEndDate = !!selectedEndDate && isSameDay(date, selectedEndDate);\n const isSelected = isStartDate || isEndDate;\n const isRangeStartDate = !!rangeStartDate && isSameDay(date, rangeStartDate);\n const isRangeEndDate = !!rangeEndDate && isSameDay(date, rangeEndDate);\n\n const isFocused = !!focusedDate && isSameDay(date, focusedDate) && isSameMonth(date, baseDate);\n\n const dateIsInRange = isStartDate || isEndDate || isInRange(date, rangeStartDate, rangeEndDate);\n const inRangeStartWeek =\n rangeStartDate && isInRange(date, rangeStartDate, addDays(addWeeks(rangeStartDate, 1), -1));\n const inRangeEndWeek =\n rangeEndDate && isInRange(date, rangeEndDate, addDays(addWeeks(rangeEndDate, -1), 1));\n const onlyOneSelected =\n !!rangeStartDate && !!rangeEndDate\n ? isSameDay(rangeStartDate, rangeEndDate)\n : !selectedStartDate || !selectedEndDate;\n\n return (\n <GridDay\n key={`date-${weekIndex}-${dateIndex}`}\n locale={locale}\n baseDate={baseDate}\n isSelected={isSelected}\n isStartDate={isStartDate}\n isEndDate={isEndDate}\n onlyOneSelected={onlyOneSelected}\n isRangeStartDate={isRangeStartDate}\n isRangeEndDate={isRangeEndDate}\n date={date}\n isFocusedDate={isFocused}\n ref={isFocused ? focusedDateRef : undefined}\n todayAriaLabel={todayAriaLabel}\n onSelectDate={onSelectDate}\n onFocusDate={onFocusedDateChange}\n isInRange={dateIsInRange}\n isDateEnabled={isDateEnabled}\n isDateInFirstRow={weekIndex === 0}\n isDateInFirstColumn={dateIndex === 0}\n isDateInLastColumn={dateIndex === week.length - 1}\n isDateInSelectionStartWeek={!!inRangeStartWeek}\n isDateInSelectionEndWeek={!!inRangeEndWeek}\n />\n );\n })}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\nfunction isInRange(date: Date, dateOne: Date | null, dateTwo: Date | null) {\n if (!dateOne || !dateTwo || isSameDay(dateOne, dateTwo)) {\n return false;\n }\n\n const inRange =\n (isAfter(date, dateOne) && isBefore(date, dateTwo)) || (isAfter(date, dateTwo) && isBefore(date, dateOne));\n\n return inRange || isSameDay(date, dateOne) || isSameDay(date, dateTwo);\n}\n"]}
1
+ {"version":3,"file":"grid.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/grids/grid.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, { useMemo } from 'react';\nimport styles from '../../styles.css.js';\nimport dayStyles from './styles.css.js';\nimport {\n isSameMonth,\n isAfter,\n isBefore,\n isSameDay,\n addWeeks,\n addDays,\n isLastDayOfMonth,\n getDaysInMonth,\n isToday,\n} from 'date-fns';\nimport { getCalendarMonth } from 'mnth';\nimport { DateChangeHandler, DayIndex } from '../index';\nimport { DateRangePickerProps } from '../../interfaces';\nimport rotateDayIndexes from '../../../calendar/utils/rotate-day-indexes';\nimport { getDateLabel, renderDayName } from '../../../calendar/utils/intl';\nimport clsx from 'clsx';\nimport { formatDate } from '../../../internal/utils/date-time';\nimport useFocusVisible from '../../../internal/hooks/focus-visible/index.js';\n\nexport interface GridProps {\n baseDate: Date;\n selectedStartDate: Date | null;\n selectedEndDate: Date | null;\n\n rangeStartDate: Date | null;\n rangeEndDate: Date | null;\n\n focusedDate: Date | null;\n focusedDateRef: React.RefObject<HTMLDivElement>;\n\n onSelectDate: DateChangeHandler;\n onGridKeyDownHandler: (e: React.KeyboardEvent) => void;\n onFocusedDateChange: React.Dispatch<React.SetStateAction<Date | null>>;\n\n isDateEnabled: DateRangePickerProps.IsDateEnabledFunction;\n\n locale: string;\n startOfWeek: DayIndex;\n todayAriaLabel: string;\n\n className?: string;\n}\n\nexport function Grid({\n baseDate,\n selectedStartDate,\n selectedEndDate,\n rangeStartDate,\n rangeEndDate,\n focusedDate,\n\n focusedDateRef,\n\n onSelectDate,\n onGridKeyDownHandler,\n onFocusedDateChange,\n\n isDateEnabled,\n\n locale,\n startOfWeek,\n todayAriaLabel,\n\n className,\n}: GridProps) {\n const baseDateTime = baseDate?.getTime();\n // `baseDateTime` is used as a more stable replacement for baseDate\n const weeks = useMemo<Date[][]>(\n () => getCalendarMonth(baseDate, { firstDayOfWeek: startOfWeek }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [baseDateTime, startOfWeek]\n );\n\n const focusVisible = useFocusVisible();\n\n return (\n <div className={clsx(styles.grid, className)}>\n <div className={styles['calendar-day-names']}>\n {rotateDayIndexes(startOfWeek).map(dayIndex => (\n <div key={dayIndex} className={styles['calendar-day-name']}>\n {renderDayName(locale, dayIndex)}\n </div>\n ))}\n </div>\n <div className={styles['calendar-dates']} onKeyDown={onGridKeyDownHandler}>\n {weeks.map((week, weekIndex) => {\n return (\n <div key={weekIndex} className={styles['calendar-week']}>\n {week.map((date, dateIndex) => {\n const isStartDate = !!selectedStartDate && isSameDay(date, selectedStartDate);\n const isEndDate = !!selectedEndDate && isSameDay(date, selectedEndDate);\n const isSelected = isStartDate || isEndDate;\n const isRangeStartDate = !!rangeStartDate && isSameDay(date, rangeStartDate);\n const isRangeEndDate = !!rangeEndDate && isSameDay(date, rangeEndDate);\n\n const isFocused = !!focusedDate && isSameDay(date, focusedDate) && isSameMonth(date, baseDate);\n\n const dateIsInRange = isStartDate || isEndDate || isInRange(date, rangeStartDate, rangeEndDate);\n const inRangeStartWeek =\n rangeStartDate && isInRange(date, rangeStartDate, addDays(addWeeks(rangeStartDate, 1), -1));\n const inRangeEndWeek =\n rangeEndDate && isInRange(date, rangeEndDate, addDays(addWeeks(rangeEndDate, -1), 1));\n const onlyOneSelected =\n !!rangeStartDate && !!rangeEndDate\n ? isSameDay(rangeStartDate, rangeEndDate)\n : !selectedStartDate || !selectedEndDate;\n\n const isEnabled = !isDateEnabled || isDateEnabled(date);\n const isFocusable = isFocused && isEnabled;\n const computedAttributes: React.HTMLAttributes<HTMLDivElement> = {};\n\n const baseClasses = {\n [dayStyles.day]: true,\n [dayStyles['in-first-row']]: weekIndex === 0,\n [dayStyles['in-first-column']]: dateIndex === 0,\n };\n\n if (!isSameMonth(date, baseDate)) {\n return (\n <div\n key={`${weekIndex}:${dateIndex}`}\n className={clsx(baseClasses, {\n [dayStyles['in-previous-month']]: isBefore(date, baseDate),\n [dayStyles['last-day-of-month']]: isLastDayOfMonth(date),\n [dayStyles['in-next-month']]: isAfter(date, baseDate),\n })}\n ref={isFocused ? focusedDateRef : undefined}\n ></div>\n );\n }\n\n if (isEnabled) {\n computedAttributes.onClick = () => onSelectDate(date);\n computedAttributes.onFocus = () => onFocusedDateChange(date);\n }\n\n // Can't be focused.\n let tabIndex = undefined;\n if (isFocusable && isEnabled) {\n // Next focus target.\n tabIndex = 0;\n } else if (isEnabled) {\n // Can be focused programmatically.\n tabIndex = -1;\n }\n\n // Screen-reader announcement for the focused day.\n let dayAnnouncement = getDateLabel(locale, date);\n if (isToday(date)) {\n dayAnnouncement += '. ' + todayAriaLabel;\n }\n\n return (\n <div\n key={`${weekIndex}:${dateIndex}`}\n className={clsx(baseClasses, {\n [dayStyles['in-current-month']]: isSameMonth(date, baseDate),\n [dayStyles.enabled]: isEnabled,\n [dayStyles.selected]: isSelected,\n [dayStyles['start-date']]: isStartDate,\n [dayStyles['end-date']]: isEndDate,\n [dayStyles['range-start-date']]: isRangeStartDate,\n [dayStyles['range-end-date']]: isRangeEndDate,\n [dayStyles['no-range']]: isSelected && onlyOneSelected,\n [dayStyles['in-range']]: dateIsInRange,\n [dayStyles['in-range-border-top']]: !!inRangeStartWeek || date.getDate() <= 7,\n [dayStyles['in-range-border-bottom']]:\n !!inRangeEndWeek || date.getDate() > getDaysInMonth(date) - 7,\n [dayStyles['in-range-border-left']]: dateIndex === 0 || date.getDate() === 1 || isRangeStartDate,\n [dayStyles['in-range-border-right']]:\n dateIndex === week.length - 1 || isLastDayOfMonth(date) || isRangeEndDate,\n [dayStyles.today]: isToday(date),\n })}\n aria-label={dayAnnouncement}\n aria-pressed={isSelected || dateIsInRange}\n aria-current={isToday(date) ? 'date' : undefined}\n data-date={formatDate(date)}\n role=\"button\"\n tabIndex={tabIndex}\n {...computedAttributes}\n ref={isFocused ? focusedDateRef : undefined}\n {...focusVisible}\n >\n <span className={dayStyles['day-inner']}>{date.getDate()}</span>\n </div>\n );\n })}\n </div>\n );\n })}\n </div>\n </div>\n );\n}\n\nfunction isInRange(date: Date, dateOne: Date | null, dateTwo: Date | null) {\n if (!dateOne || !dateTwo || isSameDay(dateOne, dateTwo)) {\n return false;\n }\n\n const inRange =\n (isAfter(date, dateOne) && isBefore(date, dateTwo)) || (isAfter(date, dateTwo) && isBefore(date, dateOne));\n\n return inRange || isSameDay(date, dateOne) || isSameDay(date, dateTwo);\n}\n"]}
@@ -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,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAmBxD,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,iBAAiB,CAAC;IAChC,aAAa,EAAE,kBAAkB,CAAC;IAClC,eAAe,EAAE,gBAAgB,CAAC;IAElC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,QAAQ,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,IAAI,GAAG,IAAI,EACrB,QAAQ,EAAE,IAAI,EACd,aAAa,EAAE,oBAAoB,CAAC,qBAAqB,eAa1D;AAED,eAAO,MAAM,KAAK,wMAkBf,SAAS,gBA0JX,CAAC"}
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,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAmBxD,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,iBAAiB,CAAC;IAChC,aAAa,EAAE,kBAAkB,CAAC;IAClC,eAAe,EAAE,gBAAgB,CAAC;IAElC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,QAAQ,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,IAAI,GAAG,IAAI,EACrB,QAAQ,EAAE,IAAI,EACd,aAAa,EAAE,oBAAoB,CAAC,qBAAqB,eAa1D;AAED,eAAO,MAAM,KAAK,wMAkBf,SAAS,gBA2JX,CAAC"}
@@ -54,6 +54,7 @@ export var Grids = function (_a) {
54
54
  return;
55
55
  }
56
56
  switch (e.keyCode) {
57
+ case KeyCode.space:
57
58
  case KeyCode.enter:
58
59
  e.preventDefault();
59
60
  if (focusedDate) {
@@ -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 { addDays, addWeeks, isSameMonth, isAfter, isBefore, addMonths, min, max } from 'date-fns';\n\nimport { DateChangeHandler, DayIndex, MonthChangeHandler } from '../index';\nimport { MoveFocusHandler } from '../../../calendar/utils/move-focus-handler';\nimport { DateRangePickerProps } from '../../interfaces';\nimport InternalSpaceBetween from '../../../space-between/internal';\nimport { Grid } from './grid';\nimport styles from '../../styles.css.js';\n\nimport useFocusVisible from '../../../internal/hooks/focus-visible/index';\nimport { getBaseDate } from '../get-base-date';\nimport { hasValue } from '../../../internal/utils/has-value';\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: DateChangeHandler;\n onChangeMonth: MonthChangeHandler;\n handleFocusMove: MoveFocusHandler;\n\n locale: string;\n startOfWeek: DayIndex;\n todayAriaLabel: string;\n}\n\nexport function selectFocusedDate(\n selected: Date | null,\n baseDate: Date,\n isDateEnabled: DateRangePickerProps.IsDateEnabledFunction\n) {\n if (selected && isDateEnabled(selected) && isSameMonth(selected, baseDate)) {\n return selected;\n }\n const today = new Date();\n if (isDateEnabled(today) && isSameMonth(today, baseDate)) {\n return today;\n }\n if (isDateEnabled(baseDate)) {\n return baseDate;\n }\n return null;\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 handleFocusMove,\n\n locale,\n startOfWeek,\n todayAriaLabel,\n}: GridProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [gridHasFocus, setGridHasFocus] = useState(false);\n\n const focusedDateRef = useRef<HTMLDivElement>(null);\n\n const baseDateTime = baseDate?.getTime();\n const focusedDateTime = focusedDate?.getTime();\n\n useEffect(() => {\n if (focusedDate && !isVisible(focusedDate, baseDate, isSingleGrid)) {\n // The nearestBaseDate depends on the direction of the month change\n const direction = isAfter(focusedDate, baseDate) ? 'backwards' : 'forwards';\n\n const newMonth = !isSingleGrid && direction === 'backwards' ? addMonths(baseDate, -1) : baseDate;\n const nearestBaseDate = getBaseDate(newMonth, direction === 'backwards' ? -1 : 1, isDateEnabled);\n\n const newFocusedDate = selectFocusedDate(focusedDate, nearestBaseDate, isDateEnabled);\n\n onFocusedDateChange(newFocusedDate);\n }\n // `baseDateTime` and `focusedDateTime` are used as more stable replacements for baseDate and focusedDate\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focusedDateTime, baseDateTime, isSingleGrid, isDateEnabled, onFocusedDateChange]);\n\n const onGridKeyDownHandler = (e: React.KeyboardEvent) => {\n let updatedFocusDate;\n\n if (focusedDate === null) {\n return;\n }\n\n switch (e.keyCode) {\n case KeyCode.enter:\n e.preventDefault();\n if (focusedDate) {\n onSelectDate(focusedDate);\n }\n return;\n case KeyCode.right:\n e.preventDefault();\n updatedFocusDate = handleFocusMove(focusedDate, isDateEnabled, date => addDays(date, 1));\n break;\n case KeyCode.left:\n e.preventDefault();\n updatedFocusDate = handleFocusMove(focusedDate, isDateEnabled, date => addDays(date, -1));\n break;\n case KeyCode.up:\n e.preventDefault();\n updatedFocusDate = handleFocusMove(focusedDate, isDateEnabled, date => addWeeks(date, -1));\n break;\n case KeyCode.down:\n e.preventDefault();\n updatedFocusDate = handleFocusMove(focusedDate, isDateEnabled, date => addWeeks(date, 1));\n break;\n default:\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 // `focusedDateTime` is used as a more stable replacement for focusedDate\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focusedDateTime, gridHasFocus]);\n\n const onGridBlur = (event: React.FocusEvent) => {\n /*\n IE11 does not support event.relatedTarget, but sets document.activeElement to the newly\n focused element before the onBlur handler is called.\n\n However, other browsers do not make any guarantees for the value of document.activeElement\n during the execution of an onBlur handler. Therefore, we have to use event.relatedTarget\n instead.\n */\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 focusVisible = useFocusVisible();\n\n const isRangeVisible =\n (selectedStartDate && selectedEndDate) || (gridHasFocus && !!focusVisible['data-awsui-focus-visible']);\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 />\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 />\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, { useEffect, useRef, useState } from 'react';\nimport { KeyCode } from '../../../internal/keycode';\nimport { addDays, addWeeks, isSameMonth, isAfter, isBefore, addMonths, min, max } from 'date-fns';\n\nimport { DateChangeHandler, DayIndex, MonthChangeHandler } from '../index';\nimport { MoveFocusHandler } from '../../../calendar/utils/move-focus-handler';\nimport { DateRangePickerProps } from '../../interfaces';\nimport InternalSpaceBetween from '../../../space-between/internal';\nimport { Grid } from './grid';\nimport styles from '../../styles.css.js';\n\nimport useFocusVisible from '../../../internal/hooks/focus-visible/index';\nimport { getBaseDate } from '../get-base-date';\nimport { hasValue } from '../../../internal/utils/has-value';\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: DateChangeHandler;\n onChangeMonth: MonthChangeHandler;\n handleFocusMove: MoveFocusHandler;\n\n locale: string;\n startOfWeek: DayIndex;\n todayAriaLabel: string;\n}\n\nexport function selectFocusedDate(\n selected: Date | null,\n baseDate: Date,\n isDateEnabled: DateRangePickerProps.IsDateEnabledFunction\n) {\n if (selected && isDateEnabled(selected) && isSameMonth(selected, baseDate)) {\n return selected;\n }\n const today = new Date();\n if (isDateEnabled(today) && isSameMonth(today, baseDate)) {\n return today;\n }\n if (isDateEnabled(baseDate)) {\n return baseDate;\n }\n return null;\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 handleFocusMove,\n\n locale,\n startOfWeek,\n todayAriaLabel,\n}: GridProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const [gridHasFocus, setGridHasFocus] = useState(false);\n\n const focusedDateRef = useRef<HTMLDivElement>(null);\n\n const baseDateTime = baseDate?.getTime();\n const focusedDateTime = focusedDate?.getTime();\n\n useEffect(() => {\n if (focusedDate && !isVisible(focusedDate, baseDate, isSingleGrid)) {\n // The nearestBaseDate depends on the direction of the month change\n const direction = isAfter(focusedDate, baseDate) ? 'backwards' : 'forwards';\n\n const newMonth = !isSingleGrid && direction === 'backwards' ? addMonths(baseDate, -1) : baseDate;\n const nearestBaseDate = getBaseDate(newMonth, direction === 'backwards' ? -1 : 1, isDateEnabled);\n\n const newFocusedDate = selectFocusedDate(focusedDate, nearestBaseDate, isDateEnabled);\n\n onFocusedDateChange(newFocusedDate);\n }\n // `baseDateTime` and `focusedDateTime` are used as more stable replacements for baseDate and focusedDate\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focusedDateTime, baseDateTime, isSingleGrid, isDateEnabled, onFocusedDateChange]);\n\n const onGridKeyDownHandler = (e: React.KeyboardEvent) => {\n let updatedFocusDate;\n\n if (focusedDate === null) {\n return;\n }\n\n switch (e.keyCode) {\n case KeyCode.space:\n case KeyCode.enter:\n e.preventDefault();\n if (focusedDate) {\n onSelectDate(focusedDate);\n }\n return;\n case KeyCode.right:\n e.preventDefault();\n updatedFocusDate = handleFocusMove(focusedDate, isDateEnabled, date => addDays(date, 1));\n break;\n case KeyCode.left:\n e.preventDefault();\n updatedFocusDate = handleFocusMove(focusedDate, isDateEnabled, date => addDays(date, -1));\n break;\n case KeyCode.up:\n e.preventDefault();\n updatedFocusDate = handleFocusMove(focusedDate, isDateEnabled, date => addWeeks(date, -1));\n break;\n case KeyCode.down:\n e.preventDefault();\n updatedFocusDate = handleFocusMove(focusedDate, isDateEnabled, date => addWeeks(date, 1));\n break;\n default:\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 // `focusedDateTime` is used as a more stable replacement for focusedDate\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [focusedDateTime, gridHasFocus]);\n\n const onGridBlur = (event: React.FocusEvent) => {\n /*\n IE11 does not support event.relatedTarget, but sets document.activeElement to the newly\n focused element before the onBlur handler is called.\n\n However, other browsers do not make any guarantees for the value of document.activeElement\n during the execution of an onBlur handler. Therefore, we have to use event.relatedTarget\n instead.\n */\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 focusVisible = useFocusVisible();\n\n const isRangeVisible =\n (selectedStartDate && selectedEndDate) || (gridHasFocus && !!focusVisible['data-awsui-focus-visible']);\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 />\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 />\n </InternalSpaceBetween>\n </div>\n );\n};\n"]}
@@ -0,0 +1,26 @@
1
+
2
+ import './styles.scoped.css';
3
+ export default {
4
+ "day": "awsui_day_1mfbn_14p9n_97",
5
+ "day-inner": "awsui_day-inner_1mfbn_14p9n_140",
6
+ "in-first-row": "awsui_in-first-row_1mfbn_14p9n_145",
7
+ "in-previous-month": "awsui_in-previous-month_1mfbn_14p9n_145",
8
+ "last-day-of-month": "awsui_last-day-of-month_1mfbn_14p9n_149",
9
+ "in-next-month": "awsui_in-next-month_1mfbn_14p9n_153",
10
+ "in-first-column": "awsui_in-first-column_1mfbn_14p9n_157",
11
+ "in-current-month": "awsui_in-current-month_1mfbn_14p9n_160",
12
+ "enabled": "awsui_enabled_1mfbn_14p9n_164",
13
+ "in-range": "awsui_in-range_1mfbn_14p9n_170",
14
+ "end-date": "awsui_end-date_1mfbn_14p9n_170",
15
+ "start-date": "awsui_start-date_1mfbn_14p9n_170",
16
+ "no-range": "awsui_no-range_1mfbn_14p9n_170",
17
+ "selected": "awsui_selected_1mfbn_14p9n_177",
18
+ "today": "awsui_today_1mfbn_14p9n_181",
19
+ "range-start-date": "awsui_range-start-date_1mfbn_14p9n_217",
20
+ "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_14p9n_220",
21
+ "range-end-date": "awsui_range-end-date_1mfbn_14p9n_223",
22
+ "in-range-border-top": "awsui_in-range-border-top_1mfbn_14p9n_226",
23
+ "in-range-border-right": "awsui_in-range-border-right_1mfbn_14p9n_241",
24
+ "in-range-border-left": "awsui_in-range-border-left_1mfbn_14p9n_247"
25
+ };
26
+
@@ -94,7 +94,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
94
94
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
95
95
  SPDX-License-Identifier: Apache-2.0
96
96
  */
97
- .awsui_day_vci2l_14p9n_97:not(#\9) {
97
+ .awsui_day_1mfbn_14p9n_97:not(#\9) {
98
98
  flex: 1 1 0%;
99
99
  width: 0;
100
100
  word-break: break-word;
@@ -105,10 +105,10 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
105
105
  color: var(--color-text-dropdown-item-disabled-dgi2f4, #aab7b8);
106
106
  position: relative;
107
107
  }
108
- .awsui_day_vci2l_14p9n_97:not(#\9):focus {
108
+ .awsui_day_1mfbn_14p9n_97:not(#\9):focus {
109
109
  outline: none;
110
110
  }
111
- .awsui_day_vci2l_14p9n_97:not(#\9)::after {
111
+ .awsui_day_1mfbn_14p9n_97:not(#\9)::after {
112
112
  content: "";
113
113
  position: absolute;
114
114
  z-index: 1;
@@ -118,15 +118,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
118
118
  right: calc(-1 * var(--border-item-width-yvnixs, 1px));
119
119
  background-color: transparent;
120
120
  }
121
- .awsui_day_vci2l_14p9n_97[data-awsui-focus-visible=true]:not(#\9):focus {
121
+ .awsui_day_1mfbn_14p9n_97[data-awsui-focus-visible=true]:not(#\9):focus {
122
122
  z-index: 2;
123
123
  position: relative;
124
124
  }
125
- .awsui_day_vci2l_14p9n_97[data-awsui-focus-visible=true]:not(#\9):focus {
125
+ .awsui_day_1mfbn_14p9n_97[data-awsui-focus-visible=true]:not(#\9):focus {
126
126
  outline: 2px dotted transparent;
127
127
  outline-offset: calc(var(--space-calendar-grid-focus-outline-gutter-lbmex4, 0px) - 1px);
128
128
  }
129
- .awsui_day_vci2l_14p9n_97[data-awsui-focus-visible=true]:not(#\9):focus::before {
129
+ .awsui_day_1mfbn_14p9n_97[data-awsui-focus-visible=true]:not(#\9):focus::before {
130
130
  content: " ";
131
131
  display: block;
132
132
  position: absolute;
@@ -137,65 +137,65 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
137
137
  border-radius: var(--border-radius-calendar-day-focus-ring-16ha5s, 2px);
138
138
  box-shadow: 0 0 0 2px var(--color-border-item-focused-n5kd8g, #0073bb);
139
139
  }
140
- .awsui_day_vci2l_14p9n_97 > .awsui_day-inner_vci2l_14p9n_140:not(#\9) {
140
+ .awsui_day_1mfbn_14p9n_97 > .awsui_day-inner_1mfbn_14p9n_140:not(#\9) {
141
141
  position: relative;
142
142
  z-index: 1;
143
143
  }
144
144
 
145
- .awsui_in-first-row_vci2l_14p9n_145:not(#\9):not(.awsui_in-previous-month_vci2l_14p9n_145) {
145
+ .awsui_in-first-row_1mfbn_14p9n_145:not(#\9):not(.awsui_in-previous-month_1mfbn_14p9n_145) {
146
146
  border-top: 1px solid var(--color-border-calendar-grid-54zscx, #eaeded);
147
147
  }
148
148
 
149
- .awsui_in-previous-month_vci2l_14p9n_145:not(#\9):not(.awsui_last-day-of-month_vci2l_14p9n_149) {
149
+ .awsui_in-previous-month_1mfbn_14p9n_145:not(#\9):not(.awsui_last-day-of-month_1mfbn_14p9n_149) {
150
150
  border-right-color: transparent;
151
151
  }
152
152
 
153
- .awsui_in-next-month_vci2l_14p9n_153:not(#\9) {
153
+ .awsui_in-next-month_1mfbn_14p9n_153:not(#\9) {
154
154
  border-color: transparent;
155
155
  }
156
156
 
157
- .awsui_in-first-column_vci2l_14p9n_157:not(#\9) {
157
+ .awsui_in-first-column_1mfbn_14p9n_157:not(#\9) {
158
158
  border-left: 1px solid transparent;
159
159
  }
160
- .awsui_in-first-column_vci2l_14p9n_157.awsui_in-current-month_vci2l_14p9n_160:not(#\9) {
160
+ .awsui_in-first-column_1mfbn_14p9n_157.awsui_in-current-month_1mfbn_14p9n_160:not(#\9) {
161
161
  border-left: 1px solid var(--color-border-calendar-grid-54zscx, #eaeded);
162
162
  }
163
163
 
164
- .awsui_enabled_vci2l_14p9n_164:not(#\9) {
164
+ .awsui_enabled_1mfbn_14p9n_164:not(#\9) {
165
165
  cursor: pointer;
166
166
  }
167
- .awsui_enabled_vci2l_14p9n_164.awsui_in-current-month_vci2l_14p9n_160:not(#\9) {
167
+ .awsui_enabled_1mfbn_14p9n_164.awsui_in-current-month_1mfbn_14p9n_160:not(#\9) {
168
168
  color: var(--color-text-dropdown-item-default-ki8ao1, #16191f);
169
169
  }
170
- .awsui_enabled_vci2l_14p9n_164.awsui_in-current-month_vci2l_14p9n_160:not(#\9):not(.awsui_in-range_vci2l_14p9n_170), .awsui_enabled_vci2l_14p9n_164.awsui_in-current-month_vci2l_14p9n_160:not(#\9):not(.awsui_in-range_vci2l_14p9n_170)::after, .awsui_enabled_vci2l_14p9n_164.awsui_in-current-month_vci2l_14p9n_160.awsui_end-date_vci2l_14p9n_170.awsui_start-date_vci2l_14p9n_170:not(#\9), .awsui_enabled_vci2l_14p9n_164.awsui_in-current-month_vci2l_14p9n_160.awsui_end-date_vci2l_14p9n_170.awsui_start-date_vci2l_14p9n_170:not(#\9)::after, .awsui_enabled_vci2l_14p9n_164.awsui_in-current-month_vci2l_14p9n_160.awsui_no-range_vci2l_14p9n_170:not(#\9), .awsui_enabled_vci2l_14p9n_164.awsui_in-current-month_vci2l_14p9n_160.awsui_no-range_vci2l_14p9n_170:not(#\9)::after {
170
+ .awsui_enabled_1mfbn_14p9n_164.awsui_in-current-month_1mfbn_14p9n_160:not(#\9):not(.awsui_in-range_1mfbn_14p9n_170), .awsui_enabled_1mfbn_14p9n_164.awsui_in-current-month_1mfbn_14p9n_160:not(#\9):not(.awsui_in-range_1mfbn_14p9n_170)::after, .awsui_enabled_1mfbn_14p9n_164.awsui_in-current-month_1mfbn_14p9n_160.awsui_end-date_1mfbn_14p9n_170.awsui_start-date_1mfbn_14p9n_170:not(#\9), .awsui_enabled_1mfbn_14p9n_164.awsui_in-current-month_1mfbn_14p9n_160.awsui_end-date_1mfbn_14p9n_170.awsui_start-date_1mfbn_14p9n_170:not(#\9)::after, .awsui_enabled_1mfbn_14p9n_164.awsui_in-current-month_1mfbn_14p9n_160.awsui_no-range_1mfbn_14p9n_170:not(#\9), .awsui_enabled_1mfbn_14p9n_164.awsui_in-current-month_1mfbn_14p9n_160.awsui_no-range_1mfbn_14p9n_170:not(#\9)::after {
171
171
  border-radius: var(--border-radius-item-wjpc1f, 0px);
172
172
  }
173
- .awsui_enabled_vci2l_14p9n_164.awsui_in-current-month_vci2l_14p9n_160:not(#\9):hover {
173
+ .awsui_enabled_1mfbn_14p9n_164.awsui_in-current-month_1mfbn_14p9n_160:not(#\9):hover {
174
174
  color: var(--color-text-calendar-day-hover-p7s945, #16191f);
175
175
  background-color: var(--color-background-dropdown-item-hover-hgdj8r, #f2f3f3);
176
176
  }
177
- .awsui_enabled_vci2l_14p9n_164.awsui_in-current-month_vci2l_14p9n_160:not(#\9):hover:not(.awsui_selected_vci2l_14p9n_177)::after {
177
+ .awsui_enabled_1mfbn_14p9n_164.awsui_in-current-month_1mfbn_14p9n_160:not(#\9):hover:not(.awsui_selected_1mfbn_14p9n_177)::after {
178
178
  border: var(--border-item-width-yvnixs, 1px) solid var(--color-border-dropdown-item-hover-d32f3f, #879596);
179
179
  }
180
180
 
181
- .awsui_today_vci2l_14p9n_181:not(#\9):not(.awsui_in-range_vci2l_14p9n_170) {
181
+ .awsui_today_1mfbn_14p9n_181:not(#\9):not(.awsui_in-range_1mfbn_14p9n_170) {
182
182
  background-color: var(--color-background-calendar-today-wm2baz, #f2f3f3);
183
183
  border-radius: var(--border-radius-item-wjpc1f, 0px);
184
184
  }
185
185
 
186
- .awsui_selected_vci2l_14p9n_177:not(#\9) {
186
+ .awsui_selected_1mfbn_14p9n_177:not(#\9) {
187
187
  border-color: transparent;
188
188
  position: relative;
189
189
  z-index: 2;
190
190
  }
191
- .awsui_selected_vci2l_14p9n_177[data-awsui-focus-visible=true]:not(#\9):focus {
191
+ .awsui_selected_1mfbn_14p9n_177[data-awsui-focus-visible=true]:not(#\9):focus {
192
192
  position: relative;
193
193
  }
194
- .awsui_selected_vci2l_14p9n_177[data-awsui-focus-visible=true]:not(#\9):focus {
194
+ .awsui_selected_1mfbn_14p9n_177[data-awsui-focus-visible=true]:not(#\9):focus {
195
195
  outline: 2px dotted transparent;
196
196
  outline-offset: calc(var(--space-calendar-grid-selected-focus-outline-gutter-s5ollf, 2px) - 1px);
197
197
  }
198
- .awsui_selected_vci2l_14p9n_177[data-awsui-focus-visible=true]:not(#\9):focus::before {
198
+ .awsui_selected_1mfbn_14p9n_177[data-awsui-focus-visible=true]:not(#\9):focus::before {
199
199
  content: " ";
200
200
  display: block;
201
201
  position: absolute;
@@ -206,56 +206,56 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
206
206
  border-radius: var(--border-radius-calendar-day-focus-ring-16ha5s, 2px);
207
207
  box-shadow: 0 0 0 2px var(--color-border-calendar-grid-selected-focus-ring-vzbqhb, #0073bb);
208
208
  }
209
- .awsui_selected_vci2l_14p9n_177[data-awsui-focus-visible=true]:not(#\9):focus::before {
209
+ .awsui_selected_1mfbn_14p9n_177[data-awsui-focus-visible=true]:not(#\9):focus::before {
210
210
  z-index: 1;
211
211
  }
212
- .awsui_selected_vci2l_14p9n_177:not(#\9)::after {
212
+ .awsui_selected_1mfbn_14p9n_177:not(#\9)::after {
213
213
  background-color: var(--color-background-control-checked-dyuc53, #0073bb);
214
214
  border: var(--border-item-width-yvnixs, 1px) solid var(--color-background-control-checked-dyuc53, #0073bb);
215
215
  z-index: 0;
216
216
  }
217
- .awsui_selected_vci2l_14p9n_177.awsui_start-date_vci2l_14p9n_170:not(#\9), .awsui_selected_vci2l_14p9n_177.awsui_start-date_vci2l_14p9n_170:not(#\9)::after, .awsui_selected_vci2l_14p9n_177.awsui_range-start-date_vci2l_14p9n_217:not(#\9), .awsui_selected_vci2l_14p9n_177.awsui_range-start-date_vci2l_14p9n_217:not(#\9)::after {
217
+ .awsui_selected_1mfbn_14p9n_177.awsui_start-date_1mfbn_14p9n_170:not(#\9), .awsui_selected_1mfbn_14p9n_177.awsui_start-date_1mfbn_14p9n_170:not(#\9)::after, .awsui_selected_1mfbn_14p9n_177.awsui_range-start-date_1mfbn_14p9n_217:not(#\9), .awsui_selected_1mfbn_14p9n_177.awsui_range-start-date_1mfbn_14p9n_217:not(#\9)::after {
218
218
  border-top-left-radius: var(--border-radius-item-wjpc1f, 0px);
219
219
  }
220
- .awsui_selected_vci2l_14p9n_177.awsui_start-date_vci2l_14p9n_170.awsui_in-range-border-bottom_vci2l_14p9n_220:not(#\9), .awsui_selected_vci2l_14p9n_177.awsui_start-date_vci2l_14p9n_170.awsui_in-range-border-bottom_vci2l_14p9n_220:not(#\9)::after, .awsui_selected_vci2l_14p9n_177.awsui_range-start-date_vci2l_14p9n_217.awsui_in-range-border-bottom_vci2l_14p9n_220:not(#\9), .awsui_selected_vci2l_14p9n_177.awsui_range-start-date_vci2l_14p9n_217.awsui_in-range-border-bottom_vci2l_14p9n_220:not(#\9)::after {
220
+ .awsui_selected_1mfbn_14p9n_177.awsui_start-date_1mfbn_14p9n_170.awsui_in-range-border-bottom_1mfbn_14p9n_220:not(#\9), .awsui_selected_1mfbn_14p9n_177.awsui_start-date_1mfbn_14p9n_170.awsui_in-range-border-bottom_1mfbn_14p9n_220:not(#\9)::after, .awsui_selected_1mfbn_14p9n_177.awsui_range-start-date_1mfbn_14p9n_217.awsui_in-range-border-bottom_1mfbn_14p9n_220:not(#\9), .awsui_selected_1mfbn_14p9n_177.awsui_range-start-date_1mfbn_14p9n_217.awsui_in-range-border-bottom_1mfbn_14p9n_220:not(#\9)::after {
221
221
  border-bottom-left-radius: var(--border-radius-item-wjpc1f, 0px);
222
222
  }
223
- .awsui_selected_vci2l_14p9n_177.awsui_end-date_vci2l_14p9n_170:not(#\9), .awsui_selected_vci2l_14p9n_177.awsui_end-date_vci2l_14p9n_170:not(#\9)::after, .awsui_selected_vci2l_14p9n_177.awsui_range-end-date_vci2l_14p9n_223:not(#\9), .awsui_selected_vci2l_14p9n_177.awsui_range-end-date_vci2l_14p9n_223:not(#\9)::after {
223
+ .awsui_selected_1mfbn_14p9n_177.awsui_end-date_1mfbn_14p9n_170:not(#\9), .awsui_selected_1mfbn_14p9n_177.awsui_end-date_1mfbn_14p9n_170:not(#\9)::after, .awsui_selected_1mfbn_14p9n_177.awsui_range-end-date_1mfbn_14p9n_223:not(#\9), .awsui_selected_1mfbn_14p9n_177.awsui_range-end-date_1mfbn_14p9n_223:not(#\9)::after {
224
224
  border-bottom-right-radius: var(--border-radius-item-wjpc1f, 0px);
225
225
  }
226
- .awsui_selected_vci2l_14p9n_177.awsui_end-date_vci2l_14p9n_170.awsui_in-range-border-top_vci2l_14p9n_226:not(#\9), .awsui_selected_vci2l_14p9n_177.awsui_end-date_vci2l_14p9n_170.awsui_in-range-border-top_vci2l_14p9n_226:not(#\9)::after, .awsui_selected_vci2l_14p9n_177.awsui_range-end-date_vci2l_14p9n_223.awsui_in-range-border-top_vci2l_14p9n_226:not(#\9), .awsui_selected_vci2l_14p9n_177.awsui_range-end-date_vci2l_14p9n_223.awsui_in-range-border-top_vci2l_14p9n_226:not(#\9)::after {
226
+ .awsui_selected_1mfbn_14p9n_177.awsui_end-date_1mfbn_14p9n_170.awsui_in-range-border-top_1mfbn_14p9n_226:not(#\9), .awsui_selected_1mfbn_14p9n_177.awsui_end-date_1mfbn_14p9n_170.awsui_in-range-border-top_1mfbn_14p9n_226:not(#\9)::after, .awsui_selected_1mfbn_14p9n_177.awsui_range-end-date_1mfbn_14p9n_223.awsui_in-range-border-top_1mfbn_14p9n_226:not(#\9), .awsui_selected_1mfbn_14p9n_177.awsui_range-end-date_1mfbn_14p9n_223.awsui_in-range-border-top_1mfbn_14p9n_226:not(#\9)::after {
227
227
  border-top-right-radius: var(--border-radius-item-wjpc1f, 0px);
228
228
  }
229
- .awsui_selected_vci2l_14p9n_177 > .awsui_day-inner_vci2l_14p9n_140:not(#\9) {
229
+ .awsui_selected_1mfbn_14p9n_177 > .awsui_day-inner_1mfbn_14p9n_140:not(#\9) {
230
230
  color: var(--color-background-control-default-8xmy94, #ffffff);
231
231
  position: relative;
232
232
  z-index: 2;
233
233
  }
234
234
 
235
- .awsui_in-range_vci2l_14p9n_170:not(#\9) {
235
+ .awsui_in-range_1mfbn_14p9n_170:not(#\9) {
236
236
  background-color: var(--color-background-dropdown-item-selected-w7iegd, #f1faff);
237
237
  }
238
- .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-top_vci2l_14p9n_226:not(#\9)::after {
238
+ .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-top_1mfbn_14p9n_226:not(#\9)::after {
239
239
  border-top: var(--border-item-width-yvnixs, 1px) solid var(--color-background-control-checked-dyuc53, #0073bb);
240
240
  }
241
- .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-right_vci2l_14p9n_241:not(#\9)::after {
241
+ .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-right_1mfbn_14p9n_241:not(#\9)::after {
242
242
  border-right: var(--border-item-width-yvnixs, 1px) solid var(--color-background-control-checked-dyuc53, #0073bb);
243
243
  }
244
- .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-bottom_vci2l_14p9n_220:not(#\9)::after {
244
+ .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-bottom_1mfbn_14p9n_220:not(#\9)::after {
245
245
  border-bottom: var(--border-item-width-yvnixs, 1px) solid var(--color-background-control-checked-dyuc53, #0073bb);
246
246
  }
247
- .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-left_vci2l_14p9n_247:not(#\9)::after {
247
+ .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-left_1mfbn_14p9n_247:not(#\9)::after {
248
248
  border-left: var(--border-item-width-yvnixs, 1px) solid var(--color-background-control-checked-dyuc53, #0073bb);
249
249
  }
250
- .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-top_vci2l_14p9n_226.awsui_in-range-border-right_vci2l_14p9n_241:not(#\9), .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-top_vci2l_14p9n_226.awsui_in-range-border-right_vci2l_14p9n_241:not(#\9)::after {
250
+ .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-top_1mfbn_14p9n_226.awsui_in-range-border-right_1mfbn_14p9n_241:not(#\9), .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-top_1mfbn_14p9n_226.awsui_in-range-border-right_1mfbn_14p9n_241:not(#\9)::after {
251
251
  border-top-right-radius: var(--border-radius-item-wjpc1f, 0px);
252
252
  }
253
- .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-bottom_vci2l_14p9n_220.awsui_in-range-border-right_vci2l_14p9n_241:not(#\9), .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-bottom_vci2l_14p9n_220.awsui_in-range-border-right_vci2l_14p9n_241:not(#\9)::after {
253
+ .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-bottom_1mfbn_14p9n_220.awsui_in-range-border-right_1mfbn_14p9n_241:not(#\9), .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-bottom_1mfbn_14p9n_220.awsui_in-range-border-right_1mfbn_14p9n_241:not(#\9)::after {
254
254
  border-bottom-right-radius: var(--border-radius-item-wjpc1f, 0px);
255
255
  }
256
- .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-bottom_vci2l_14p9n_220.awsui_in-range-border-left_vci2l_14p9n_247:not(#\9), .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-bottom_vci2l_14p9n_220.awsui_in-range-border-left_vci2l_14p9n_247:not(#\9)::after {
256
+ .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-bottom_1mfbn_14p9n_220.awsui_in-range-border-left_1mfbn_14p9n_247:not(#\9), .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-bottom_1mfbn_14p9n_220.awsui_in-range-border-left_1mfbn_14p9n_247:not(#\9)::after {
257
257
  border-bottom-left-radius: var(--border-radius-item-wjpc1f, 0px);
258
258
  }
259
- .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-top_vci2l_14p9n_226.awsui_in-range-border-left_vci2l_14p9n_247:not(#\9), .awsui_in-range_vci2l_14p9n_170.awsui_in-range-border-top_vci2l_14p9n_226.awsui_in-range-border-left_vci2l_14p9n_247:not(#\9)::after {
259
+ .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-top_1mfbn_14p9n_226.awsui_in-range-border-left_1mfbn_14p9n_247:not(#\9), .awsui_in-range_1mfbn_14p9n_170.awsui_in-range-border-top_1mfbn_14p9n_226.awsui_in-range-border-left_1mfbn_14p9n_247:not(#\9)::after {
260
260
  border-top-left-radius: var(--border-radius-item-wjpc1f, 0px);
261
261
  }
@@ -0,0 +1,27 @@
1
+
2
+ // es-module interop with Babel and Typescript
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ module.exports.default = {
5
+ "day": "awsui_day_1mfbn_14p9n_97",
6
+ "day-inner": "awsui_day-inner_1mfbn_14p9n_140",
7
+ "in-first-row": "awsui_in-first-row_1mfbn_14p9n_145",
8
+ "in-previous-month": "awsui_in-previous-month_1mfbn_14p9n_145",
9
+ "last-day-of-month": "awsui_last-day-of-month_1mfbn_14p9n_149",
10
+ "in-next-month": "awsui_in-next-month_1mfbn_14p9n_153",
11
+ "in-first-column": "awsui_in-first-column_1mfbn_14p9n_157",
12
+ "in-current-month": "awsui_in-current-month_1mfbn_14p9n_160",
13
+ "enabled": "awsui_enabled_1mfbn_14p9n_164",
14
+ "in-range": "awsui_in-range_1mfbn_14p9n_170",
15
+ "end-date": "awsui_end-date_1mfbn_14p9n_170",
16
+ "start-date": "awsui_start-date_1mfbn_14p9n_170",
17
+ "no-range": "awsui_no-range_1mfbn_14p9n_170",
18
+ "selected": "awsui_selected_1mfbn_14p9n_177",
19
+ "today": "awsui_today_1mfbn_14p9n_181",
20
+ "range-start-date": "awsui_range-start-date_1mfbn_14p9n_217",
21
+ "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_14p9n_220",
22
+ "range-end-date": "awsui_range-end-date_1mfbn_14p9n_223",
23
+ "in-range-border-top": "awsui_in-range-border-top_1mfbn_14p9n_226",
24
+ "in-range-border-right": "awsui_in-range-border-right_1mfbn_14p9n_241",
25
+ "in-range-border-left": "awsui_in-range-border-left_1mfbn_14p9n_247"
26
+ };
27
+
@@ -38,8 +38,8 @@ function renderDateRange(range, placeholder, formatRelativeRange, timeOffset) {
38
38
  function BreakSpaces(_a) {
39
39
  var text = _a.text;
40
40
  var tokens = text.split(/( )/);
41
- return (React.createElement("div", { style: { whiteSpace: 'nowrap' } }, tokens.map(function (token, index) { return (React.createElement(React.Fragment, { key: index },
42
- token,
41
+ return (React.createElement(React.Fragment, null, tokens.map(function (token, index) { return (React.createElement(React.Fragment, { key: index },
42
+ token.length > 1 ? React.createElement("span", { className: styles['label-token-nowrap'] }, token) : token,
43
43
  token === ' ' && React.createElement("wbr", null))); })));
44
44
  }
45
45
  function isDateOnly(value) {