@cloudscape-design/components 3.0.74 → 3.0.76

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 (143) hide show
  1. package/alert/interfaces.d.ts +5 -0
  2. package/alert/interfaces.d.ts.map +1 -1
  3. package/alert/interfaces.js.map +1 -1
  4. package/alert/internal.d.ts +1 -1
  5. package/alert/internal.d.ts.map +1 -1
  6. package/alert/internal.js +2 -2
  7. package/alert/internal.js.map +1 -1
  8. package/annotation-context/annotation/styles.css.js +24 -24
  9. package/annotation-context/annotation/styles.scoped.css +30 -30
  10. package/annotation-context/annotation/styles.selectors.js +24 -24
  11. package/app-layout/visual-refresh/styles.css.js +59 -59
  12. package/app-layout/visual-refresh/styles.scoped.css +218 -218
  13. package/app-layout/visual-refresh/styles.selectors.js +59 -59
  14. package/attribute-editor/interfaces.d.ts +7 -0
  15. package/attribute-editor/interfaces.d.ts.map +1 -1
  16. package/attribute-editor/interfaces.js.map +1 -1
  17. package/attribute-editor/internal.d.ts.map +1 -1
  18. package/attribute-editor/internal.js +2 -2
  19. package/attribute-editor/internal.js.map +1 -1
  20. package/attribute-editor/row.d.ts +2 -1
  21. package/attribute-editor/row.d.ts.map +1 -1
  22. package/attribute-editor/row.js +5 -10
  23. package/attribute-editor/row.js.map +1 -1
  24. package/calendar/grid/index.d.ts +15 -3
  25. package/calendar/grid/index.d.ts.map +1 -1
  26. package/calendar/grid/index.js +19 -17
  27. package/calendar/grid/index.js.map +1 -1
  28. package/calendar/internal.d.ts.map +1 -1
  29. package/calendar/internal.js +5 -17
  30. package/calendar/internal.js.map +1 -1
  31. package/calendar/styles.css.js +18 -18
  32. package/calendar/styles.scoped.css +40 -38
  33. package/calendar/styles.selectors.js +18 -18
  34. package/calendar/utils/intl.d.ts +2 -3
  35. package/calendar/utils/intl.d.ts.map +1 -1
  36. package/calendar/utils/intl.js +6 -5
  37. package/calendar/utils/intl.js.map +1 -1
  38. package/calendar/utils/navigation.d.ts +6 -0
  39. package/calendar/utils/navigation.d.ts.map +1 -0
  40. package/calendar/utils/navigation.js +38 -0
  41. package/calendar/utils/navigation.js.map +1 -0
  42. package/date-picker/index.d.ts.map +1 -1
  43. package/date-picker/index.js +11 -14
  44. package/date-picker/index.js.map +1 -1
  45. package/date-picker/styles.css.js +6 -7
  46. package/date-picker/styles.scoped.css +7 -13
  47. package/date-picker/styles.selectors.js +6 -7
  48. package/date-range-picker/calendar/grids/grid.d.ts +14 -0
  49. package/date-range-picker/calendar/grids/grid.d.ts.map +1 -1
  50. package/date-range-picker/calendar/grids/grid.js +10 -6
  51. package/date-range-picker/calendar/grids/grid.js.map +1 -1
  52. package/date-range-picker/calendar/grids/index.d.ts +1 -3
  53. package/date-range-picker/calendar/grids/index.d.ts.map +1 -1
  54. package/date-range-picker/calendar/grids/index.js +10 -11
  55. package/date-range-picker/calendar/grids/index.js.map +1 -1
  56. package/date-range-picker/calendar/grids/styles.css.js +25 -25
  57. package/date-range-picker/calendar/grids/styles.scoped.css +45 -42
  58. package/date-range-picker/calendar/grids/styles.selectors.js +25 -25
  59. package/date-range-picker/calendar/header/index.d.ts +2 -2
  60. package/date-range-picker/calendar/header/index.d.ts.map +1 -1
  61. package/date-range-picker/calendar/header/index.js +13 -9
  62. package/date-range-picker/calendar/header/index.js.map +1 -1
  63. package/date-range-picker/calendar/index.d.ts.map +1 -1
  64. package/date-range-picker/calendar/index.js +5 -7
  65. package/date-range-picker/calendar/index.js.map +1 -1
  66. package/date-range-picker/dropdown.js +1 -1
  67. package/date-range-picker/dropdown.js.map +1 -1
  68. package/date-range-picker/interfaces.d.ts +4 -0
  69. package/date-range-picker/interfaces.d.ts.map +1 -1
  70. package/date-range-picker/interfaces.js.map +1 -1
  71. package/flashbar/index.d.ts.map +1 -1
  72. package/flashbar/index.js +105 -34
  73. package/flashbar/index.js.map +1 -1
  74. package/flashbar/styles.css.js +29 -22
  75. package/flashbar/styles.scoped.css +208 -86
  76. package/flashbar/styles.selectors.js +29 -22
  77. package/form/interfaces.d.ts +5 -0
  78. package/form/interfaces.d.ts.map +1 -1
  79. package/form/interfaces.js.map +1 -1
  80. package/form/internal.d.ts +1 -1
  81. package/form/internal.d.ts.map +1 -1
  82. package/form/internal.js +10 -5
  83. package/form/internal.js.map +1 -1
  84. package/input/internal.d.ts +2 -1
  85. package/input/internal.d.ts.map +1 -1
  86. package/input/internal.js +4 -0
  87. package/input/internal.js.map +1 -1
  88. package/input/utils.js +1 -1
  89. package/input/utils.js.map +1 -1
  90. package/internal/components/autosuggest-input/index.js +1 -1
  91. package/internal/components/autosuggest-input/index.js.map +1 -1
  92. package/internal/components/live-region/index.d.ts +3 -2
  93. package/internal/components/live-region/index.d.ts.map +1 -1
  94. package/internal/components/live-region/index.js +5 -2
  95. package/internal/components/live-region/index.js.map +1 -1
  96. package/internal/components/live-region/styles.css.js +1 -1
  97. package/internal/components/live-region/styles.scoped.css +2 -92
  98. package/internal/components/live-region/styles.selectors.js +1 -1
  99. package/internal/components/screenreader-only/index.d.ts +22 -0
  100. package/internal/components/screenreader-only/index.d.ts.map +1 -0
  101. package/internal/components/screenreader-only/index.js +24 -0
  102. package/internal/components/screenreader-only/index.js.map +1 -0
  103. package/internal/components/screenreader-only/styles.css.js +6 -0
  104. package/internal/components/screenreader-only/styles.scoped.css +97 -0
  105. package/internal/components/screenreader-only/styles.selectors.js +7 -0
  106. package/internal/components/visual-context/index.d.ts +7 -0
  107. package/internal/components/visual-context/index.d.ts.map +1 -1
  108. package/internal/components/visual-context/index.js +10 -1
  109. package/internal/components/visual-context/index.js.map +1 -1
  110. package/internal/environment.js +1 -1
  111. package/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  112. package/internal/generated/custom-css-properties/index.js +26 -24
  113. package/internal/generated/custom-css-properties/index.js.map +1 -1
  114. package/package.json +1 -1
  115. package/select/parts/filter.js +1 -1
  116. package/select/parts/filter.js.map +1 -1
  117. package/tag-editor/index.d.ts.map +1 -1
  118. package/tag-editor/index.js +1 -1
  119. package/tag-editor/index.js.map +1 -1
  120. package/tutorial-panel/interfaces.d.ts +2 -1
  121. package/tutorial-panel/interfaces.d.ts.map +1 -1
  122. package/tutorial-panel/interfaces.js.map +1 -1
  123. package/wizard/interfaces.d.ts +3 -0
  124. package/wizard/interfaces.d.ts.map +1 -1
  125. package/wizard/interfaces.js.map +1 -1
  126. package/wizard/wizard-form.d.ts.map +1 -1
  127. package/wizard/wizard-form.js +1 -1
  128. package/wizard/wizard-form.js.map +1 -1
  129. package/wizard/wizard-navigation.d.ts.map +1 -1
  130. package/wizard/wizard-navigation.js +1 -1
  131. package/wizard/wizard-navigation.js.map +1 -1
  132. package/calendar/utils/move-focus-handler.d.ts +0 -7
  133. package/calendar/utils/move-focus-handler.d.ts.map +0 -1
  134. package/calendar/utils/move-focus-handler.js +0 -24
  135. package/calendar/utils/move-focus-handler.js.map +0 -1
  136. package/calendar/utils/rotate-day-indexes.d.ts +0 -3
  137. package/calendar/utils/rotate-day-indexes.d.ts.map +0 -1
  138. package/calendar/utils/rotate-day-indexes.js +0 -11
  139. package/calendar/utils/rotate-day-indexes.js.map +0 -1
  140. package/date-range-picker/calendar/get-base-date.d.ts +0 -3
  141. package/date-range-picker/calendar/get-base-date.d.ts.map +0 -1
  142. package/date-range-picker/calendar/get-base-date.js +0 -10
  143. package/date-range-picker/calendar/get-base-date.js.map +0 -1
@@ -94,19 +94,19 @@ 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_grid_1mfbn_1oig3_97:not(#\9) {
97
+ .awsui_grid_1mfbn_t4ar8_97:not(#\9) {
98
98
  width: var(--size-calendar-grid-width-lxsx0p, 238px);
99
99
  border-spacing: 0;
100
100
  }
101
101
 
102
- .awsui_grid-cell_1mfbn_1oig3_102:not(#\9) {
102
+ .awsui_grid-cell_1mfbn_t4ar8_102:not(#\9) {
103
103
  width: 14.2857142857%;
104
104
  word-break: break-word;
105
105
  text-align: center;
106
106
  font-weight: unset;
107
107
  }
108
108
 
109
- .awsui_day-header_1mfbn_1oig3_109:not(#\9) {
109
+ .awsui_day-header_1mfbn_t4ar8_109:not(#\9) {
110
110
  padding: var(--space-s-hv8c1d, 12px) 0 var(--space-xxs-ynfts5, 4px);
111
111
  color: var(--color-text-calendar-month-elf7e9, #5f6b7a);
112
112
  font-size: var(--font-body-s-size-ukw2p9, 12px);
@@ -114,21 +114,21 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
114
114
  letter-spacing: var(--font-body-s-letter-spacing-cy0oxj, 0.005em);
115
115
  }
116
116
 
117
- .awsui_week_1mfbn_1oig3_117:not(#\9) {
117
+ .awsui_week_1mfbn_t4ar8_117:not(#\9) {
118
118
  /* used for identifying element */
119
119
  }
120
120
 
121
- .awsui_day_1mfbn_1oig3_109:not(#\9) {
121
+ .awsui_day_1mfbn_t4ar8_109:not(#\9) {
122
122
  border-bottom: 1px solid var(--color-border-calendar-grid-sshunw, transparent);
123
123
  border-right: 1px solid var(--color-border-calendar-grid-sshunw, transparent);
124
124
  padding: var(--space-xxs-ynfts5, 4px) 0;
125
125
  color: var(--color-text-dropdown-item-disabled-varol7, #9ba7b6);
126
126
  position: relative;
127
127
  }
128
- .awsui_day_1mfbn_1oig3_109:not(#\9):focus {
128
+ .awsui_day_1mfbn_t4ar8_109:not(#\9):focus {
129
129
  outline: none;
130
130
  }
131
- .awsui_day_1mfbn_1oig3_109:not(#\9)::after {
131
+ .awsui_day_1mfbn_t4ar8_109:not(#\9)::after {
132
132
  content: "";
133
133
  position: absolute;
134
134
  z-index: 1;
@@ -138,15 +138,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
138
138
  right: calc(-1 * var(--border-item-width-qbbbsa, 2px));
139
139
  background-color: transparent;
140
140
  }
141
- .awsui_day_1mfbn_1oig3_109[data-awsui-focus-visible=true]:not(#\9):focus {
141
+ .awsui_day_1mfbn_t4ar8_109[data-awsui-focus-visible=true]:not(#\9):focus {
142
142
  z-index: 2;
143
143
  position: relative;
144
144
  }
145
- .awsui_day_1mfbn_1oig3_109[data-awsui-focus-visible=true]:not(#\9):focus {
145
+ .awsui_day_1mfbn_t4ar8_109[data-awsui-focus-visible=true]:not(#\9):focus {
146
146
  outline: 2px dotted transparent;
147
147
  outline-offset: calc(var(--space-calendar-grid-focus-outline-gutter-v3dwvl, -5px) - 1px);
148
148
  }
149
- .awsui_day_1mfbn_1oig3_109[data-awsui-focus-visible=true]:not(#\9):focus::before {
149
+ .awsui_day_1mfbn_t4ar8_109[data-awsui-focus-visible=true]:not(#\9):focus::before {
150
150
  content: " ";
151
151
  display: block;
152
152
  position: absolute;
@@ -157,65 +157,67 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
157
157
  border-radius: var(--border-radius-calendar-day-focus-ring-a8mlqd, 3px);
158
158
  box-shadow: 0 0 0 2px var(--color-border-item-focused-ap3b6s, #0972d3);
159
159
  }
160
- .awsui_day_1mfbn_1oig3_109 > .awsui_day-inner_1mfbn_1oig3_160:not(#\9) {
160
+ .awsui_day_1mfbn_t4ar8_109 > .awsui_day-inner_1mfbn_t4ar8_160:not(#\9) {
161
161
  position: relative;
162
162
  z-index: 1;
163
163
  }
164
164
 
165
- .awsui_in-first-row_1mfbn_1oig3_165:not(#\9):not(.awsui_in-previous-month_1mfbn_1oig3_165) {
165
+ .awsui_in-first-row_1mfbn_t4ar8_165:not(#\9):not(.awsui_in-previous-month_1mfbn_t4ar8_165) {
166
166
  border-top: 1px solid var(--color-border-calendar-grid-sshunw, transparent);
167
167
  }
168
168
 
169
- .awsui_in-previous-month_1mfbn_1oig3_165:not(#\9):not(.awsui_last-day-of-month_1mfbn_1oig3_169) {
169
+ .awsui_in-previous-month_1mfbn_t4ar8_165:not(#\9):not(.awsui_last-day-of-month_1mfbn_t4ar8_169) {
170
170
  border-right-color: transparent;
171
171
  }
172
172
 
173
- .awsui_in-next-month_1mfbn_1oig3_173:not(#\9) {
173
+ .awsui_in-next-month_1mfbn_t4ar8_173:not(#\9) {
174
174
  border-color: transparent;
175
175
  }
176
176
 
177
- .awsui_in-first-column_1mfbn_1oig3_177:not(#\9) {
177
+ .awsui_in-first-column_1mfbn_t4ar8_177:not(#\9) {
178
178
  border-left: 1px solid transparent;
179
179
  }
180
- .awsui_in-first-column_1mfbn_1oig3_177.awsui_in-current-month_1mfbn_1oig3_180:not(#\9) {
180
+ .awsui_in-first-column_1mfbn_t4ar8_177.awsui_in-current-month_1mfbn_t4ar8_180:not(#\9) {
181
181
  border-left: 1px solid var(--color-border-calendar-grid-sshunw, transparent);
182
182
  }
183
183
 
184
- .awsui_enabled_1mfbn_1oig3_184:not(#\9) {
184
+ .awsui_enabled_1mfbn_t4ar8_184:not(#\9) {
185
185
  cursor: pointer;
186
186
  }
187
- .awsui_enabled_1mfbn_1oig3_184.awsui_in-current-month_1mfbn_1oig3_180:not(#\9) {
187
+ .awsui_enabled_1mfbn_t4ar8_184.awsui_in-current-month_1mfbn_t4ar8_180:not(#\9) {
188
188
  color: var(--color-text-dropdown-item-default-7tg9p2, #000716);
189
189
  }
190
- .awsui_enabled_1mfbn_1oig3_184.awsui_in-current-month_1mfbn_1oig3_180:not(#\9):not(.awsui_in-range_1mfbn_1oig3_190), .awsui_enabled_1mfbn_1oig3_184.awsui_in-current-month_1mfbn_1oig3_180:not(#\9):not(.awsui_in-range_1mfbn_1oig3_190)::after, .awsui_enabled_1mfbn_1oig3_184.awsui_in-current-month_1mfbn_1oig3_180.awsui_end-date_1mfbn_1oig3_190.awsui_start-date_1mfbn_1oig3_190:not(#\9), .awsui_enabled_1mfbn_1oig3_184.awsui_in-current-month_1mfbn_1oig3_180.awsui_end-date_1mfbn_1oig3_190.awsui_start-date_1mfbn_1oig3_190:not(#\9)::after, .awsui_enabled_1mfbn_1oig3_184.awsui_in-current-month_1mfbn_1oig3_180.awsui_no-range_1mfbn_1oig3_190:not(#\9), .awsui_enabled_1mfbn_1oig3_184.awsui_in-current-month_1mfbn_1oig3_180.awsui_no-range_1mfbn_1oig3_190:not(#\9)::after {
190
+ .awsui_enabled_1mfbn_t4ar8_184.awsui_in-current-month_1mfbn_t4ar8_180:not(#\9):not(.awsui_in-range_1mfbn_t4ar8_190), .awsui_enabled_1mfbn_t4ar8_184.awsui_in-current-month_1mfbn_t4ar8_180:not(#\9):not(.awsui_in-range_1mfbn_t4ar8_190)::after, .awsui_enabled_1mfbn_t4ar8_184.awsui_in-current-month_1mfbn_t4ar8_180.awsui_end-date_1mfbn_t4ar8_190.awsui_start-date_1mfbn_t4ar8_190:not(#\9), .awsui_enabled_1mfbn_t4ar8_184.awsui_in-current-month_1mfbn_t4ar8_180.awsui_end-date_1mfbn_t4ar8_190.awsui_start-date_1mfbn_t4ar8_190:not(#\9)::after, .awsui_enabled_1mfbn_t4ar8_184.awsui_in-current-month_1mfbn_t4ar8_180.awsui_no-range_1mfbn_t4ar8_190:not(#\9), .awsui_enabled_1mfbn_t4ar8_184.awsui_in-current-month_1mfbn_t4ar8_180.awsui_no-range_1mfbn_t4ar8_190:not(#\9)::after {
191
191
  border-radius: var(--border-radius-item-u2ibpi, 8px);
192
192
  }
193
- .awsui_enabled_1mfbn_1oig3_184.awsui_in-current-month_1mfbn_1oig3_180:not(#\9):hover {
193
+ .awsui_enabled_1mfbn_t4ar8_184.awsui_in-current-month_1mfbn_t4ar8_180:not(#\9):hover {
194
194
  color: var(--color-text-calendar-day-hover-graajh, #000716);
195
195
  background-color: var(--color-background-dropdown-item-hover-mqsxkv, #f4f4f4);
196
196
  }
197
- .awsui_enabled_1mfbn_1oig3_184.awsui_in-current-month_1mfbn_1oig3_180:not(#\9):hover:not(.awsui_selected_1mfbn_1oig3_197)::after {
197
+ .awsui_enabled_1mfbn_t4ar8_184.awsui_in-current-month_1mfbn_t4ar8_180:not(#\9):hover:not(.awsui_selected_1mfbn_t4ar8_197)::after {
198
198
  border: var(--border-item-width-qbbbsa, 2px) solid var(--color-border-dropdown-item-hover-tyzq9m, #7d8998);
199
199
  }
200
200
 
201
- .awsui_today_1mfbn_1oig3_201:not(#\9):not(.awsui_in-range_1mfbn_1oig3_190) {
201
+ .awsui_today_1mfbn_t4ar8_201:not(#\9):not(.awsui_in-range_1mfbn_t4ar8_190) {
202
202
  background-color: var(--color-background-calendar-today-762czq, #f4f4f4);
203
203
  border-radius: var(--border-radius-item-u2ibpi, 8px);
204
+ font-weight: 700;
204
205
  }
205
206
 
206
- .awsui_selected_1mfbn_1oig3_197:not(#\9) {
207
+ .awsui_selected_1mfbn_t4ar8_197:not(#\9) {
207
208
  border-color: transparent;
208
209
  position: relative;
209
210
  z-index: 2;
211
+ font-weight: 700;
210
212
  }
211
- .awsui_selected_1mfbn_1oig3_197[data-awsui-focus-visible=true]:not(#\9):focus {
213
+ .awsui_selected_1mfbn_t4ar8_197[data-awsui-focus-visible=true]:not(#\9):focus {
212
214
  position: relative;
213
215
  }
214
- .awsui_selected_1mfbn_1oig3_197[data-awsui-focus-visible=true]:not(#\9):focus {
216
+ .awsui_selected_1mfbn_t4ar8_197[data-awsui-focus-visible=true]:not(#\9):focus {
215
217
  outline: 2px dotted transparent;
216
218
  outline-offset: calc(var(--space-calendar-grid-selected-focus-outline-gutter-gqgjqz, -5px) - 1px);
217
219
  }
218
- .awsui_selected_1mfbn_1oig3_197[data-awsui-focus-visible=true]:not(#\9):focus::before {
220
+ .awsui_selected_1mfbn_t4ar8_197[data-awsui-focus-visible=true]:not(#\9):focus::before {
219
221
  content: " ";
220
222
  display: block;
221
223
  position: absolute;
@@ -226,56 +228,57 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
226
228
  border-radius: var(--border-radius-calendar-day-focus-ring-a8mlqd, 3px);
227
229
  box-shadow: 0 0 0 2px var(--color-border-calendar-grid-selected-focus-ring-cxqa0s, #fbfbfb);
228
230
  }
229
- .awsui_selected_1mfbn_1oig3_197[data-awsui-focus-visible=true]:not(#\9):focus::before {
231
+ .awsui_selected_1mfbn_t4ar8_197[data-awsui-focus-visible=true]:not(#\9):focus::before {
230
232
  z-index: 1;
231
233
  }
232
- .awsui_selected_1mfbn_1oig3_197:not(#\9)::after {
234
+ .awsui_selected_1mfbn_t4ar8_197:not(#\9)::after {
233
235
  background-color: var(--color-background-control-checked-9admlu, #0972d3);
234
236
  border: var(--border-item-width-qbbbsa, 2px) solid var(--color-background-control-checked-9admlu, #0972d3);
235
237
  z-index: 0;
236
238
  }
237
- .awsui_selected_1mfbn_1oig3_197.awsui_start-date_1mfbn_1oig3_190:not(#\9), .awsui_selected_1mfbn_1oig3_197.awsui_start-date_1mfbn_1oig3_190:not(#\9)::after, .awsui_selected_1mfbn_1oig3_197.awsui_range-start-date_1mfbn_1oig3_237:not(#\9), .awsui_selected_1mfbn_1oig3_197.awsui_range-start-date_1mfbn_1oig3_237:not(#\9)::after {
239
+ .awsui_selected_1mfbn_t4ar8_197.awsui_start-date_1mfbn_t4ar8_190:not(#\9), .awsui_selected_1mfbn_t4ar8_197.awsui_start-date_1mfbn_t4ar8_190:not(#\9)::after, .awsui_selected_1mfbn_t4ar8_197.awsui_range-start-date_1mfbn_t4ar8_239:not(#\9), .awsui_selected_1mfbn_t4ar8_197.awsui_range-start-date_1mfbn_t4ar8_239:not(#\9)::after {
238
240
  border-top-left-radius: var(--border-radius-item-u2ibpi, 8px);
239
241
  }
240
- .awsui_selected_1mfbn_1oig3_197.awsui_start-date_1mfbn_1oig3_190.awsui_in-range-border-bottom_1mfbn_1oig3_240:not(#\9), .awsui_selected_1mfbn_1oig3_197.awsui_start-date_1mfbn_1oig3_190.awsui_in-range-border-bottom_1mfbn_1oig3_240:not(#\9)::after, .awsui_selected_1mfbn_1oig3_197.awsui_range-start-date_1mfbn_1oig3_237.awsui_in-range-border-bottom_1mfbn_1oig3_240:not(#\9), .awsui_selected_1mfbn_1oig3_197.awsui_range-start-date_1mfbn_1oig3_237.awsui_in-range-border-bottom_1mfbn_1oig3_240:not(#\9)::after {
242
+ .awsui_selected_1mfbn_t4ar8_197.awsui_start-date_1mfbn_t4ar8_190.awsui_in-range-border-bottom_1mfbn_t4ar8_242:not(#\9), .awsui_selected_1mfbn_t4ar8_197.awsui_start-date_1mfbn_t4ar8_190.awsui_in-range-border-bottom_1mfbn_t4ar8_242:not(#\9)::after, .awsui_selected_1mfbn_t4ar8_197.awsui_range-start-date_1mfbn_t4ar8_239.awsui_in-range-border-bottom_1mfbn_t4ar8_242:not(#\9), .awsui_selected_1mfbn_t4ar8_197.awsui_range-start-date_1mfbn_t4ar8_239.awsui_in-range-border-bottom_1mfbn_t4ar8_242:not(#\9)::after {
241
243
  border-bottom-left-radius: var(--border-radius-item-u2ibpi, 8px);
242
244
  }
243
- .awsui_selected_1mfbn_1oig3_197.awsui_end-date_1mfbn_1oig3_190:not(#\9), .awsui_selected_1mfbn_1oig3_197.awsui_end-date_1mfbn_1oig3_190:not(#\9)::after, .awsui_selected_1mfbn_1oig3_197.awsui_range-end-date_1mfbn_1oig3_243:not(#\9), .awsui_selected_1mfbn_1oig3_197.awsui_range-end-date_1mfbn_1oig3_243:not(#\9)::after {
245
+ .awsui_selected_1mfbn_t4ar8_197.awsui_end-date_1mfbn_t4ar8_190:not(#\9), .awsui_selected_1mfbn_t4ar8_197.awsui_end-date_1mfbn_t4ar8_190:not(#\9)::after, .awsui_selected_1mfbn_t4ar8_197.awsui_range-end-date_1mfbn_t4ar8_245:not(#\9), .awsui_selected_1mfbn_t4ar8_197.awsui_range-end-date_1mfbn_t4ar8_245:not(#\9)::after {
244
246
  border-bottom-right-radius: var(--border-radius-item-u2ibpi, 8px);
245
247
  }
246
- .awsui_selected_1mfbn_1oig3_197.awsui_end-date_1mfbn_1oig3_190.awsui_in-range-border-top_1mfbn_1oig3_246:not(#\9), .awsui_selected_1mfbn_1oig3_197.awsui_end-date_1mfbn_1oig3_190.awsui_in-range-border-top_1mfbn_1oig3_246:not(#\9)::after, .awsui_selected_1mfbn_1oig3_197.awsui_range-end-date_1mfbn_1oig3_243.awsui_in-range-border-top_1mfbn_1oig3_246:not(#\9), .awsui_selected_1mfbn_1oig3_197.awsui_range-end-date_1mfbn_1oig3_243.awsui_in-range-border-top_1mfbn_1oig3_246:not(#\9)::after {
248
+ .awsui_selected_1mfbn_t4ar8_197.awsui_end-date_1mfbn_t4ar8_190.awsui_in-range-border-top_1mfbn_t4ar8_248:not(#\9), .awsui_selected_1mfbn_t4ar8_197.awsui_end-date_1mfbn_t4ar8_190.awsui_in-range-border-top_1mfbn_t4ar8_248:not(#\9)::after, .awsui_selected_1mfbn_t4ar8_197.awsui_range-end-date_1mfbn_t4ar8_245.awsui_in-range-border-top_1mfbn_t4ar8_248:not(#\9), .awsui_selected_1mfbn_t4ar8_197.awsui_range-end-date_1mfbn_t4ar8_245.awsui_in-range-border-top_1mfbn_t4ar8_248:not(#\9)::after {
247
249
  border-top-right-radius: var(--border-radius-item-u2ibpi, 8px);
248
250
  }
249
- .awsui_selected_1mfbn_1oig3_197 > .awsui_day-inner_1mfbn_1oig3_160:not(#\9) {
251
+ .awsui_selected_1mfbn_t4ar8_197 > .awsui_day-inner_1mfbn_t4ar8_160:not(#\9) {
250
252
  color: var(--color-background-control-default-4pa05r, #ffffff);
251
253
  position: relative;
252
254
  z-index: 2;
253
255
  }
254
256
 
255
- .awsui_in-range_1mfbn_1oig3_190:not(#\9) {
257
+ .awsui_in-range_1mfbn_t4ar8_190:not(#\9) {
256
258
  background-color: var(--color-background-dropdown-item-selected-8l4mpk, #f2f8fd);
259
+ font-weight: 700;
257
260
  }
258
- .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-top_1mfbn_1oig3_246:not(#\9)::after {
261
+ .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-top_1mfbn_t4ar8_248:not(#\9)::after {
259
262
  border-top: var(--border-item-width-qbbbsa, 2px) solid var(--color-background-control-checked-9admlu, #0972d3);
260
263
  }
261
- .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-right_1mfbn_1oig3_261:not(#\9)::after {
264
+ .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-right_1mfbn_t4ar8_264:not(#\9)::after {
262
265
  border-right: var(--border-item-width-qbbbsa, 2px) solid var(--color-background-control-checked-9admlu, #0972d3);
263
266
  }
264
- .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-bottom_1mfbn_1oig3_240:not(#\9)::after {
267
+ .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-bottom_1mfbn_t4ar8_242:not(#\9)::after {
265
268
  border-bottom: var(--border-item-width-qbbbsa, 2px) solid var(--color-background-control-checked-9admlu, #0972d3);
266
269
  }
267
- .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-left_1mfbn_1oig3_267:not(#\9)::after {
270
+ .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-left_1mfbn_t4ar8_270:not(#\9)::after {
268
271
  border-left: var(--border-item-width-qbbbsa, 2px) solid var(--color-background-control-checked-9admlu, #0972d3);
269
272
  }
270
- .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-top_1mfbn_1oig3_246.awsui_in-range-border-right_1mfbn_1oig3_261:not(#\9), .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-top_1mfbn_1oig3_246.awsui_in-range-border-right_1mfbn_1oig3_261:not(#\9)::after {
273
+ .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-top_1mfbn_t4ar8_248.awsui_in-range-border-right_1mfbn_t4ar8_264:not(#\9), .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-top_1mfbn_t4ar8_248.awsui_in-range-border-right_1mfbn_t4ar8_264:not(#\9)::after {
271
274
  border-top-right-radius: var(--border-radius-item-u2ibpi, 8px);
272
275
  }
273
- .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-bottom_1mfbn_1oig3_240.awsui_in-range-border-right_1mfbn_1oig3_261:not(#\9), .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-bottom_1mfbn_1oig3_240.awsui_in-range-border-right_1mfbn_1oig3_261:not(#\9)::after {
276
+ .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-bottom_1mfbn_t4ar8_242.awsui_in-range-border-right_1mfbn_t4ar8_264:not(#\9), .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-bottom_1mfbn_t4ar8_242.awsui_in-range-border-right_1mfbn_t4ar8_264:not(#\9)::after {
274
277
  border-bottom-right-radius: var(--border-radius-item-u2ibpi, 8px);
275
278
  }
276
- .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-bottom_1mfbn_1oig3_240.awsui_in-range-border-left_1mfbn_1oig3_267:not(#\9), .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-bottom_1mfbn_1oig3_240.awsui_in-range-border-left_1mfbn_1oig3_267:not(#\9)::after {
279
+ .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-bottom_1mfbn_t4ar8_242.awsui_in-range-border-left_1mfbn_t4ar8_270:not(#\9), .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-bottom_1mfbn_t4ar8_242.awsui_in-range-border-left_1mfbn_t4ar8_270:not(#\9)::after {
277
280
  border-bottom-left-radius: var(--border-radius-item-u2ibpi, 8px);
278
281
  }
279
- .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-top_1mfbn_1oig3_246.awsui_in-range-border-left_1mfbn_1oig3_267:not(#\9), .awsui_in-range_1mfbn_1oig3_190.awsui_in-range-border-top_1mfbn_1oig3_246.awsui_in-range-border-left_1mfbn_1oig3_267:not(#\9)::after {
282
+ .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-top_1mfbn_t4ar8_248.awsui_in-range-border-left_1mfbn_t4ar8_270:not(#\9), .awsui_in-range_1mfbn_t4ar8_190.awsui_in-range-border-top_1mfbn_t4ar8_248.awsui_in-range-border-left_1mfbn_t4ar8_270:not(#\9)::after {
280
283
  border-top-left-radius: var(--border-radius-item-u2ibpi, 8px);
281
284
  }
@@ -2,30 +2,30 @@
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_1oig3_97",
6
- "grid-cell": "awsui_grid-cell_1mfbn_1oig3_102",
7
- "day-header": "awsui_day-header_1mfbn_1oig3_109",
8
- "week": "awsui_week_1mfbn_1oig3_117",
9
- "day": "awsui_day_1mfbn_1oig3_109",
10
- "day-inner": "awsui_day-inner_1mfbn_1oig3_160",
11
- "in-first-row": "awsui_in-first-row_1mfbn_1oig3_165",
12
- "in-previous-month": "awsui_in-previous-month_1mfbn_1oig3_165",
13
- "last-day-of-month": "awsui_last-day-of-month_1mfbn_1oig3_169",
14
- "in-next-month": "awsui_in-next-month_1mfbn_1oig3_173",
15
- "in-first-column": "awsui_in-first-column_1mfbn_1oig3_177",
16
- "in-current-month": "awsui_in-current-month_1mfbn_1oig3_180",
17
- "enabled": "awsui_enabled_1mfbn_1oig3_184",
18
- "in-range": "awsui_in-range_1mfbn_1oig3_190",
19
- "end-date": "awsui_end-date_1mfbn_1oig3_190",
20
- "start-date": "awsui_start-date_1mfbn_1oig3_190",
21
- "no-range": "awsui_no-range_1mfbn_1oig3_190",
22
- "selected": "awsui_selected_1mfbn_1oig3_197",
23
- "today": "awsui_today_1mfbn_1oig3_201",
24
- "range-start-date": "awsui_range-start-date_1mfbn_1oig3_237",
25
- "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_1oig3_240",
26
- "range-end-date": "awsui_range-end-date_1mfbn_1oig3_243",
27
- "in-range-border-top": "awsui_in-range-border-top_1mfbn_1oig3_246",
28
- "in-range-border-right": "awsui_in-range-border-right_1mfbn_1oig3_261",
29
- "in-range-border-left": "awsui_in-range-border-left_1mfbn_1oig3_267"
5
+ "grid": "awsui_grid_1mfbn_t4ar8_97",
6
+ "grid-cell": "awsui_grid-cell_1mfbn_t4ar8_102",
7
+ "day-header": "awsui_day-header_1mfbn_t4ar8_109",
8
+ "week": "awsui_week_1mfbn_t4ar8_117",
9
+ "day": "awsui_day_1mfbn_t4ar8_109",
10
+ "day-inner": "awsui_day-inner_1mfbn_t4ar8_160",
11
+ "in-first-row": "awsui_in-first-row_1mfbn_t4ar8_165",
12
+ "in-previous-month": "awsui_in-previous-month_1mfbn_t4ar8_165",
13
+ "last-day-of-month": "awsui_last-day-of-month_1mfbn_t4ar8_169",
14
+ "in-next-month": "awsui_in-next-month_1mfbn_t4ar8_173",
15
+ "in-first-column": "awsui_in-first-column_1mfbn_t4ar8_177",
16
+ "in-current-month": "awsui_in-current-month_1mfbn_t4ar8_180",
17
+ "enabled": "awsui_enabled_1mfbn_t4ar8_184",
18
+ "in-range": "awsui_in-range_1mfbn_t4ar8_190",
19
+ "end-date": "awsui_end-date_1mfbn_t4ar8_190",
20
+ "start-date": "awsui_start-date_1mfbn_t4ar8_190",
21
+ "no-range": "awsui_no-range_1mfbn_t4ar8_190",
22
+ "selected": "awsui_selected_1mfbn_t4ar8_197",
23
+ "today": "awsui_today_1mfbn_t4ar8_201",
24
+ "range-start-date": "awsui_range-start-date_1mfbn_t4ar8_239",
25
+ "in-range-border-bottom": "awsui_in-range-border-bottom_1mfbn_t4ar8_242",
26
+ "range-end-date": "awsui_range-end-date_1mfbn_t4ar8_245",
27
+ "in-range-border-top": "awsui_in-range-border-top_1mfbn_t4ar8_248",
28
+ "in-range-border-right": "awsui_in-range-border-right_1mfbn_t4ar8_264",
29
+ "in-range-border-left": "awsui_in-range-border-left_1mfbn_t4ar8_270"
30
30
  };
31
31
 
@@ -6,6 +6,6 @@ interface CalendarHeaderProps {
6
6
  nextMonthLabel: string;
7
7
  isSingleGrid: boolean;
8
8
  }
9
- declare const CalendarHeader: ({ baseDate, locale, onChangeMonth, previousMonthLabel, nextMonthLabel, isSingleGrid, }: CalendarHeaderProps) => JSX.Element;
10
- export default CalendarHeader;
9
+ export default function CalendarHeader({ baseDate, locale, onChangeMonth, previousMonthLabel, nextMonthLabel, isSingleGrid, }: CalendarHeaderProps): JSX.Element;
10
+ export {};
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/header/index.tsx"],"names":[],"mappings":"AAQA,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,QAAA,MAAM,cAAc,2FAOjB,mBAAmB,gBAerB,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/header/index.tsx"],"names":[],"mappings":"AASA,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,GACb,EAAE,mBAAmB,eAiBrB"}
@@ -5,14 +5,18 @@ import React from 'react';
5
5
  import styles from '../../styles.css.js';
6
6
  import { renderMonthAndYear } from '../../../calendar/utils/intl';
7
7
  import HeaderButton from './button';
8
- var CalendarHeader = function (_a) {
8
+ import LiveRegion from '../../../internal/components/live-region';
9
+ export default function CalendarHeader(_a) {
9
10
  var baseDate = _a.baseDate, locale = _a.locale, onChangeMonth = _a.onChangeMonth, previousMonthLabel = _a.previousMonthLabel, nextMonthLabel = _a.nextMonthLabel, isSingleGrid = _a.isSingleGrid;
10
- return (React.createElement("div", { className: styles['calendar-header'] },
11
- React.createElement(HeaderButton, { ariaLabel: previousMonthLabel, isPrevious: true, onChangeMonth: onChangeMonth }),
12
- React.createElement("div", { "aria-live": "polite", className: styles['calendar-header-months-wrapper'] },
13
- !isSingleGrid && (React.createElement("div", { className: styles['calendar-header-month'] }, renderMonthAndYear(locale, add(baseDate, { months: -1 })))),
14
- React.createElement("div", { className: styles['calendar-header-month'] }, renderMonthAndYear(locale, baseDate))),
15
- React.createElement(HeaderButton, { ariaLabel: nextMonthLabel, isPrevious: false, onChangeMonth: onChangeMonth })));
16
- };
17
- export default CalendarHeader;
11
+ var prevMonthLabel = renderMonthAndYear(locale, add(baseDate, { months: -1 }));
12
+ var currentMonthLabel = renderMonthAndYear(locale, baseDate);
13
+ return (React.createElement(React.Fragment, null,
14
+ React.createElement("div", { className: styles['calendar-header'] },
15
+ React.createElement(HeaderButton, { ariaLabel: previousMonthLabel, isPrevious: true, onChangeMonth: onChangeMonth }),
16
+ React.createElement("div", { className: styles['calendar-header-months-wrapper'] },
17
+ !isSingleGrid && React.createElement("div", { className: styles['calendar-header-month'] }, prevMonthLabel),
18
+ React.createElement("div", { className: styles['calendar-header-month'] }, currentMonthLabel)),
19
+ React.createElement(HeaderButton, { ariaLabel: nextMonthLabel, isPrevious: false, onChangeMonth: onChangeMonth })),
20
+ React.createElement(LiveRegion, null, isSingleGrid ? currentMonthLabel : "".concat(prevMonthLabel, ", ").concat(currentMonthLabel))));
21
+ }
18
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/header/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,YAAY,MAAM,UAAU,CAAC;AAWpC,IAAM,cAAc,GAAG,UAAC,EAOF;QANpB,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,aAAa,mBAAA,EACb,kBAAkB,wBAAA,EAClB,cAAc,oBAAA,EACd,YAAY,kBAAA;IAEZ,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACvC,oBAAC,YAAY,IAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,GAAI;QAC/F,0CAAe,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,gCAAgC,CAAC;YACxE,CAAC,YAAY,IAAI,CAChB,6BAAK,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAC5C,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CACtD,CACP;YACD,6BAAK,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAO,CACzF;QACN,oBAAC,YAAY,IAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,GAAI,CACxF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { add } from 'date-fns';\nimport React from 'react';\nimport styles from '../../styles.css.js';\nimport { renderMonthAndYear } from '../../../calendar/utils/intl';\nimport HeaderButton from './button';\n\ninterface CalendarHeaderProps {\n baseDate: Date;\n locale: string;\n onChangeMonth: (prev?: boolean) => void;\n previousMonthLabel: string;\n nextMonthLabel: string;\n isSingleGrid: boolean;\n}\n\nconst CalendarHeader = ({\n baseDate,\n locale,\n onChangeMonth,\n previousMonthLabel,\n nextMonthLabel,\n isSingleGrid,\n}: CalendarHeaderProps) => {\n return (\n <div className={styles['calendar-header']}>\n <HeaderButton ariaLabel={previousMonthLabel} isPrevious={true} onChangeMonth={onChangeMonth} />\n <div aria-live=\"polite\" className={styles['calendar-header-months-wrapper']}>\n {!isSingleGrid && (\n <div className={styles['calendar-header-month']}>\n {renderMonthAndYear(locale, add(baseDate, { months: -1 }))}\n </div>\n )}\n <div className={styles['calendar-header-month']}>{renderMonthAndYear(locale, baseDate)}</div>\n </div>\n <HeaderButton ariaLabel={nextMonthLabel} isPrevious={false} onChangeMonth={onChangeMonth} />\n </div>\n );\n};\n\nexport default CalendarHeader;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/date-range-picker/calendar/header/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,qBAAqB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,YAAY,MAAM,UAAU,CAAC;AACpC,OAAO,UAAU,MAAM,0CAA0C,CAAC;AAWlE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EAOjB;QANpB,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,aAAa,mBAAA,EACb,kBAAkB,wBAAA,EAClB,cAAc,oBAAA,EACd,YAAY,kBAAA;IAEZ,IAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,IAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/D,OAAO,CACL;QACE,6BAAK,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC;YACvC,oBAAC,YAAY,IAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,aAAa,GAAI;YAC/F,6BAAK,SAAS,EAAE,MAAM,CAAC,gCAAgC,CAAC;gBACrD,CAAC,YAAY,IAAI,6BAAK,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAAG,cAAc,CAAO;gBACzF,6BAAK,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,IAAG,iBAAiB,CAAO,CACtE;YACN,oBAAC,YAAY,IAAC,SAAS,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,aAAa,GAAI,CACxF;QACN,oBAAC,UAAU,QAAE,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,UAAG,cAAc,eAAK,iBAAiB,CAAE,CAAc,CACtG,CACJ,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { add } from 'date-fns';\nimport React from 'react';\nimport styles from '../../styles.css.js';\nimport { renderMonthAndYear } from '../../../calendar/utils/intl';\nimport HeaderButton from './button';\nimport LiveRegion from '../../../internal/components/live-region';\n\ninterface CalendarHeaderProps {\n baseDate: Date;\n locale: string;\n onChangeMonth: (prev?: boolean) => void;\n previousMonthLabel: string;\n nextMonthLabel: string;\n isSingleGrid: boolean;\n}\n\nexport default function CalendarHeader({\n baseDate,\n locale,\n onChangeMonth,\n previousMonthLabel,\n nextMonthLabel,\n isSingleGrid,\n}: CalendarHeaderProps) {\n const prevMonthLabel = renderMonthAndYear(locale, add(baseDate, { months: -1 }));\n const currentMonthLabel = renderMonthAndYear(locale, baseDate);\n\n return (\n <>\n <div className={styles['calendar-header']}>\n <HeaderButton ariaLabel={previousMonthLabel} isPrevious={true} onChangeMonth={onChangeMonth} />\n <div className={styles['calendar-header-months-wrapper']}>\n {!isSingleGrid && <div className={styles['calendar-header-month']}>{prevMonthLabel}</div>}\n <div className={styles['calendar-header-month']}>{currentMonthLabel}</div>\n </div>\n <HeaderButton ariaLabel={nextMonthLabel} isPrevious={false} onChangeMonth={onChangeMonth} />\n </div>\n <LiveRegion>{isSingleGrid ? currentMonthLabel : `${prevMonthLabel}, ${currentMonthLabel}`}</LiveRegion>\n </>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/date-range-picker/calendar/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuE,MAAM,OAAO,CAAC;AAG5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAQhE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAU7D,MAAM,WAAW,iBAAiB;IAChC,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB;AAED,oBAAY,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAMjD,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,aAAa,EAAE,oBAAoB,CAAC,qBAAqB,CAAC;IAC1D,iBAAiB,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,aAAa,KAAK,IAAI,CAAC;IACvE,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,oBAAoB,CAAC,WAAW,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;CACvB;;AAED,wBAAoC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/date-range-picker/calendar/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuE,MAAM,OAAO,CAAC;AAG5F,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAOhE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAU7D,MAAM,WAAW,iBAAiB;IAChC,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;CACxB;AAED,oBAAY,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAMjD,MAAM,WAAW,aAAc,SAAQ,kBAAkB;IACvD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,aAAa,EAAE,oBAAoB,CAAC,qBAAqB,CAAC;IAC1D,iBAAiB,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,aAAa,KAAK,IAAI,CAAC;IACvE,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,WAAW,EAAE,oBAAoB,CAAC,WAAW,CAAC;IAC9C,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC;IACvC,YAAY,EAAE,OAAO,CAAC;CACvB;;AAED,wBAAoC"}
@@ -5,18 +5,17 @@ import { addMonths, endOfDay, isBefore, startOfDay, startOfMonth, isAfter, isSam
5
5
  import styles from '../styles.css.js';
6
6
  import CalendarHeader from './header';
7
7
  import { Grids, selectFocusedDate } from './grids';
8
- import moveFocusHandler from '../../calendar/utils/move-focus-handler';
9
8
  import InternalSpaceBetween from '../../space-between/internal';
10
9
  import InternalFormField from '../../form-field/internal';
11
10
  import InternalDateInput from '../../date-input/internal';
12
11
  import InternalTimeInput from '../../time-input/internal';
13
12
  import clsx from 'clsx';
14
- import { getBaseDate } from './get-base-date.js';
15
13
  import { useUniqueId } from '../../internal/hooks/use-unique-id';
16
14
  import { getDateLabel, renderTimeLabel } from '../../calendar/utils/intl';
17
15
  import LiveRegion from '../../internal/components/live-region';
18
16
  import { normalizeStartOfWeek } from '../../calendar/utils/locales';
19
17
  import { formatDate, formatTime, joinDateTime, parseDate } from '../../internal/utils/date-time';
18
+ import { getBaseDate } from '../../calendar/utils/navigation';
20
19
  export default forwardRef(Calendar);
21
20
  function Calendar(_a, ref) {
22
21
  var _b, _c, _d;
@@ -179,7 +178,7 @@ function Calendar(_a, ref) {
179
178
  var newCurrentMonth = addMonths(currentMonth, isPrevious ? -1 : 1);
180
179
  setCurrentMonth(newCurrentMonth);
181
180
  var newBaseDateMonth = isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, -1);
182
- var newBaseDate = getBaseDate(newBaseDateMonth, 1, isDateEnabled);
181
+ var newBaseDate = getBaseDate(newBaseDateMonth, isDateEnabled);
183
182
  setFocusedDate(newBaseDate);
184
183
  };
185
184
  var onChangeStartDate = function (e) {
@@ -196,11 +195,11 @@ function Calendar(_a, ref) {
196
195
  constrainttextId = i18nStrings.dateTimeConstraintText ? constrainttextId : '';
197
196
  return (React.createElement(React.Fragment, null,
198
197
  React.createElement(InternalSpaceBetween, { size: "m" },
199
- React.createElement("div", { ref: elementRef, role: "application", className: clsx(styles.calendar, (_b = {},
198
+ React.createElement("div", { ref: elementRef, className: clsx(styles.calendar, (_b = {},
200
199
  _b[styles['one-grid']] = isSingleGrid,
201
200
  _b)) },
202
201
  React.createElement(CalendarHeader, { baseDate: currentMonth, locale: locale, onChangeMonth: onHeaderChangeMonthHandler, previousMonthLabel: i18nStrings.previousMonthAriaLabel, nextMonthLabel: i18nStrings.nextMonthAriaLabel, isSingleGrid: isSingleGrid }),
203
- React.createElement(Grids, { isSingleGrid: isSingleGrid, locale: locale, baseDate: currentMonth, focusedDate: focusedDate, onFocusedDateChange: setFocusedDate, isDateEnabled: isDateEnabled, onSelectDate: onSelectDateHandler, onChangeMonth: setCurrentMonth, startOfWeek: normalizedStartOfWeek, todayAriaLabel: i18nStrings.todayAriaLabel, selectedStartDate: selectedStartDate, selectedEndDate: selectedEndDate, handleFocusMove: moveFocusHandler })),
202
+ React.createElement(Grids, { isSingleGrid: isSingleGrid, locale: locale, baseDate: currentMonth, focusedDate: focusedDate, onFocusedDateChange: setFocusedDate, isDateEnabled: isDateEnabled, onSelectDate: onSelectDateHandler, onChangeMonth: setCurrentMonth, startOfWeek: normalizedStartOfWeek, todayAriaLabel: i18nStrings.todayAriaLabel, selectedStartDate: selectedStartDate, selectedEndDate: selectedEndDate })),
204
203
  React.createElement(InternalSpaceBetween, { direction: "vertical", size: "xxs" },
205
204
  React.createElement(InternalSpaceBetween, { size: "xs", direction: isSingleGrid ? 'vertical' : 'horizontal' },
206
205
  React.createElement("div", { className: clsx(styles['date-and-time-wrapper'], (_c = {}, _c[styles['date-only']] = dateOnly, _c)) },
@@ -214,7 +213,6 @@ function Calendar(_a, ref) {
214
213
  !dateOnly && (React.createElement(InternalFormField, { label: i18nStrings.endTimeLabel, stretch: true },
215
214
  React.createElement(InternalTimeInput, { value: endTimeString, onChange: function (e) { return setEndTimeString(e.detail.value); }, format: timeInputFormat, placeholder: timeInputFormat, className: styles['end-time-input'], ariaDescribedby: constrainttextId }))))),
216
215
  i18nStrings.dateTimeConstraintText && (React.createElement("div", { className: styles['date-and-time-constrainttext'], id: constrainttextId }, i18nStrings.dateTimeConstraintText)))),
217
- React.createElement(LiveRegion, null,
218
- React.createElement("span", { className: styles['calendar-aria-live'] }, announcement))));
216
+ React.createElement(LiveRegion, { className: styles['calendar-aria-live'] }, announcement)));
219
217
  }
220
218
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/date-range-picker/calendar/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, { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { addMonths, endOfDay, isBefore, startOfDay, startOfMonth, isAfter, isSameMonth } from 'date-fns';\nimport styles from '../styles.css.js';\nimport { BaseComponentProps } from '../../internal/base-component';\nimport { DateRangePickerProps, Focusable } from '../interfaces';\nimport CalendarHeader from './header';\nimport { Grids, selectFocusedDate } from './grids';\nimport moveFocusHandler from '../../calendar/utils/move-focus-handler';\nimport InternalSpaceBetween from '../../space-between/internal';\nimport InternalFormField from '../../form-field/internal';\nimport { InputProps } from '../../input/interfaces';\nimport InternalDateInput from '../../date-input/internal';\nimport { TimeInputProps } from '../../time-input/interfaces';\nimport InternalTimeInput from '../../time-input/internal';\nimport clsx from 'clsx';\nimport { getBaseDate } from './get-base-date.js';\nimport { useUniqueId } from '../../internal/hooks/use-unique-id';\nimport { getDateLabel, renderTimeLabel } from '../../calendar/utils/intl';\nimport LiveRegion from '../../internal/components/live-region';\nimport { normalizeStartOfWeek } from '../../calendar/utils/locales';\nimport { formatDate, formatTime, joinDateTime, parseDate } from '../../internal/utils/date-time';\n\nexport interface DateChangeHandler {\n (detail: Date): void;\n}\n\nexport interface MonthChangeHandler {\n (newMonth: Date): void;\n}\n\nexport type DayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\ninterface HeaderChangeMonthHandler {\n (isPreviousButtonClick?: boolean): void;\n}\n\nexport interface CalendarProps extends BaseComponentProps {\n locale: string;\n startOfWeek: number | undefined;\n isDateEnabled: DateRangePickerProps.IsDateEnabledFunction;\n onSelectDateRange: (value: DateRangePickerProps.AbsoluteValue) => void;\n initialStartDate: string | undefined;\n initialEndDate: string | undefined;\n i18nStrings: DateRangePickerProps.I18nStrings;\n dateOnly: boolean;\n timeInputFormat: TimeInputProps.Format;\n isSingleGrid: boolean;\n}\n\nexport default forwardRef(Calendar);\n\nfunction Calendar(\n {\n locale,\n startOfWeek,\n isDateEnabled,\n onSelectDateRange,\n initialEndDate = '',\n initialStartDate = '',\n i18nStrings,\n dateOnly,\n isSingleGrid,\n timeInputFormat,\n }: CalendarProps,\n ref: React.Ref<Focusable>\n) {\n const elementRef = useRef<HTMLDivElement>(null);\n\n const normalizedStartOfWeek = normalizeStartOfWeek(startOfWeek, locale);\n\n useImperativeHandle(ref, () => ({\n focus() {\n if (elementRef.current) {\n const prevButton = elementRef.current.getElementsByClassName(styles['calendar-prev-month-btn'])[0];\n (prevButton as undefined | HTMLButtonElement)?.focus();\n }\n },\n }));\n\n const [initialStartDateString = '', initialStartTimeString = ''] = initialStartDate.split('T');\n const [initialEndDateString = '', initialEndTimeString = ''] = initialEndDate.split('T');\n\n const [startDateString, setStartDateString] = useState(initialStartDateString);\n const [startTimeString, setStartTimeString] = useState(initialStartTimeString);\n\n const [endDateString, setEndDateString] = useState(initialEndDateString);\n const [endTimeString, setEndTimeString] = useState(initialEndTimeString);\n\n const selectedStartDate = parseDate(startDateString, true);\n const selectedEndDate = parseDate(endDateString, true);\n\n const [announcement, setAnnouncement] = useState('');\n\n const [currentMonth, setCurrentMonth] = useState(() => {\n if (startDateString) {\n const startDate = parseDate(startDateString);\n if (isSingleGrid) {\n return startOfMonth(startDate);\n }\n return startOfMonth(addMonths(startDate, 1));\n }\n if (endDateString) {\n return startOfMonth(parseDate(endDateString));\n }\n return startOfMonth(Date.now());\n });\n\n const [focusedDate, setFocusedDate] = useState<Date | null>(() => {\n if (selectedStartDate) {\n if (isSameMonth(selectedStartDate, currentMonth)) {\n return selectedStartDate;\n }\n if (!isSingleGrid && isSameMonth(selectedStartDate, addMonths(currentMonth, -1))) {\n return selectedStartDate;\n }\n }\n return selectFocusedDate(selectedStartDate, currentMonth, isDateEnabled);\n });\n\n useEffect(() => {\n // This effect \"synchronizes\" the local state update back up to the overall DateRangePicker component\n\n const startDate = joinDateTime(startDateString, startTimeString);\n const endDate = joinDateTime(endDateString, endTimeString);\n\n if (startDate !== initialStartDate || endDate !== initialEndDate) {\n onSelectDateRange({\n startDate,\n endDate,\n type: 'absolute',\n });\n }\n }, [\n startDateString,\n startTimeString,\n endDateString,\n endTimeString,\n onSelectDateRange,\n initialStartDate,\n initialEndDate,\n ]);\n\n const onSelectDateHandler = (selectedDate: Date) => {\n // recommended to include the start/end time announced with the selection\n // because the user is not aware of the fact that a start/end time is also set as soon as they select a date\n const announceStart = (startDate: Date) => {\n return (\n i18nStrings.startDateLabel +\n ', ' +\n getDateLabel(locale, startDate) +\n ', ' +\n i18nStrings.startTimeLabel +\n ', ' +\n renderTimeLabel(locale, startDate, timeInputFormat) +\n '. '\n );\n };\n\n const announceEnd = (endDate: Date) => {\n return (\n i18nStrings.endDateLabel +\n ', ' +\n getDateLabel(locale, endDate) +\n ', ' +\n i18nStrings.endTimeLabel +\n ', ' +\n renderTimeLabel(locale, endDate, timeInputFormat) +\n '. '\n );\n };\n\n const announceRange = (startDate: Date, endDate: Date) => {\n if (!i18nStrings.renderSelectedAbsoluteRangeAriaLive) {\n return `${getDateLabel(locale, startDate)} – ${getDateLabel(locale, endDate)}`;\n }\n return i18nStrings.renderSelectedAbsoluteRangeAriaLive(\n getDateLabel(locale, startDate),\n getDateLabel(locale, endDate)\n );\n };\n\n // If both fields are empty, we set the start date\n if (!startDateString && !endDateString) {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n setAnnouncement(announceStart(startDate));\n return;\n }\n\n // If both fields are set, we start new\n if (startDateString && endDateString) {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString('');\n setEndTimeString('');\n setAnnouncement(announceStart(startDate));\n return;\n }\n\n // If only the END date is empty, we fill it (and swap dates if needed)\n if (startDateString && !endDateString) {\n const parsedStartDate = parseDate(startDateString);\n\n if (isBefore(selectedDate, parsedStartDate)) {\n // The user has selected the range backwards, so we swap start and end\n\n const startDate = startOfDay(selectedDate);\n const endDate = endOfDay(parsedStartDate);\n\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceStart(startDate) + announceRange(startDate, endDate));\n } else {\n const endDate = endOfDay(selectedDate);\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceEnd(endDate) + announceRange(parsedStartDate, endDate));\n }\n return;\n }\n\n // If only the START date is empty, we fill it (and swap dates if needed)\n if (!startDateString && endDateString) {\n const existingEndDate = parseDate(endDateString);\n\n if (isAfter(selectedDate, existingEndDate)) {\n // The user has selected the range backwards, so we swap start and end\n\n const startDate = startOfDay(existingEndDate);\n const endDate = endOfDay(selectedDate);\n\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceEnd(endDate) + announceRange(startDate, endDate));\n } else {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n setAnnouncement(announceStart(startDate) + announceRange(startDate, existingEndDate));\n }\n return;\n }\n // All possible conditions are covered above\n };\n\n const onHeaderChangeMonthHandler: HeaderChangeMonthHandler = isPrevious => {\n const newCurrentMonth = addMonths(currentMonth, isPrevious ? -1 : 1);\n setCurrentMonth(newCurrentMonth);\n\n const newBaseDateMonth = isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, -1);\n const newBaseDate = getBaseDate(newBaseDateMonth, 1, isDateEnabled);\n setFocusedDate(newBaseDate);\n };\n\n const onChangeStartDate: InputProps['onChange'] = e => {\n setStartDateString(e.detail.value);\n\n if (e.detail.value.length >= 8) {\n const newCurrentMonth = startOfMonth(parseDate(e.detail.value));\n setCurrentMonth(isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, 1));\n }\n };\n\n const onChangeEndDate: InputProps['onChange'] = e => {\n setEndDateString(e.detail.value);\n };\n\n let constrainttextId = useUniqueId('awsui-area-date-range-picker');\n constrainttextId = i18nStrings.dateTimeConstraintText ? constrainttextId : '';\n\n return (\n <>\n <InternalSpaceBetween size=\"m\">\n {/* The application role is necessary for screen-readers to allow arrow navigation by default. */}\n <div\n ref={elementRef}\n role=\"application\"\n className={clsx(styles.calendar, {\n [styles['one-grid']]: isSingleGrid,\n })}\n >\n <CalendarHeader\n baseDate={currentMonth}\n locale={locale}\n onChangeMonth={onHeaderChangeMonthHandler}\n previousMonthLabel={i18nStrings.previousMonthAriaLabel}\n nextMonthLabel={i18nStrings.nextMonthAriaLabel}\n isSingleGrid={isSingleGrid}\n />\n\n <Grids\n isSingleGrid={isSingleGrid}\n locale={locale}\n baseDate={currentMonth}\n focusedDate={focusedDate}\n onFocusedDateChange={setFocusedDate}\n isDateEnabled={isDateEnabled}\n onSelectDate={onSelectDateHandler}\n onChangeMonth={setCurrentMonth}\n startOfWeek={normalizedStartOfWeek}\n todayAriaLabel={i18nStrings.todayAriaLabel}\n selectedStartDate={selectedStartDate}\n selectedEndDate={selectedEndDate}\n handleFocusMove={moveFocusHandler}\n />\n </div>\n <InternalSpaceBetween direction=\"vertical\" size=\"xxs\">\n <InternalSpaceBetween size=\"xs\" direction={isSingleGrid ? 'vertical' : 'horizontal'}>\n <div className={clsx(styles['date-and-time-wrapper'], { [styles['date-only']]: dateOnly })}>\n <InternalFormField label={i18nStrings.startDateLabel} stretch={true}>\n <InternalDateInput\n value={startDateString}\n className={styles['start-date-input']}\n onChange={onChangeStartDate}\n placeholder=\"YYYY/MM/DD\"\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n {!dateOnly && (\n <InternalFormField label={i18nStrings.startTimeLabel} stretch={true}>\n <InternalTimeInput\n value={startTimeString}\n onChange={e => setStartTimeString(e.detail.value)}\n format={timeInputFormat}\n placeholder={timeInputFormat}\n className={styles['start-time-input']}\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n )}\n </div>\n\n <div className={clsx(styles['date-and-time-wrapper'], { [styles['date-only']]: dateOnly })}>\n <InternalFormField label={i18nStrings.endDateLabel} stretch={true}>\n <InternalDateInput\n value={endDateString}\n className={styles['end-date-input']}\n onChange={onChangeEndDate}\n placeholder=\"YYYY/MM/DD\"\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n {!dateOnly && (\n <InternalFormField label={i18nStrings.endTimeLabel} stretch={true}>\n <InternalTimeInput\n value={endTimeString}\n onChange={e => setEndTimeString(e.detail.value)}\n format={timeInputFormat}\n placeholder={timeInputFormat}\n className={styles['end-time-input']}\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n )}\n </div>\n </InternalSpaceBetween>\n {i18nStrings.dateTimeConstraintText && (\n <div className={styles['date-and-time-constrainttext']} id={constrainttextId}>\n {i18nStrings.dateTimeConstraintText}\n </div>\n )}\n </InternalSpaceBetween>\n </InternalSpaceBetween>\n <LiveRegion>\n <span className={styles['calendar-aria-live']}>{announcement}</span>\n </LiveRegion>\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/date-range-picker/calendar/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, { forwardRef, useEffect, useImperativeHandle, useRef, useState } from 'react';\nimport { addMonths, endOfDay, isBefore, startOfDay, startOfMonth, isAfter, isSameMonth } from 'date-fns';\nimport styles from '../styles.css.js';\nimport { BaseComponentProps } from '../../internal/base-component';\nimport { DateRangePickerProps, Focusable } from '../interfaces';\nimport CalendarHeader from './header';\nimport { Grids, selectFocusedDate } from './grids';\nimport InternalSpaceBetween from '../../space-between/internal';\nimport InternalFormField from '../../form-field/internal';\nimport { InputProps } from '../../input/interfaces';\nimport InternalDateInput from '../../date-input/internal';\nimport { TimeInputProps } from '../../time-input/interfaces';\nimport InternalTimeInput from '../../time-input/internal';\nimport clsx from 'clsx';\nimport { useUniqueId } from '../../internal/hooks/use-unique-id';\nimport { getDateLabel, renderTimeLabel } from '../../calendar/utils/intl';\nimport LiveRegion from '../../internal/components/live-region';\nimport { normalizeStartOfWeek } from '../../calendar/utils/locales';\nimport { formatDate, formatTime, joinDateTime, parseDate } from '../../internal/utils/date-time';\nimport { getBaseDate } from '../../calendar/utils/navigation';\n\nexport interface DateChangeHandler {\n (detail: Date): void;\n}\n\nexport interface MonthChangeHandler {\n (newMonth: Date): void;\n}\n\nexport type DayIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6;\n\ninterface HeaderChangeMonthHandler {\n (isPreviousButtonClick?: boolean): void;\n}\n\nexport interface CalendarProps extends BaseComponentProps {\n locale: string;\n startOfWeek: number | undefined;\n isDateEnabled: DateRangePickerProps.IsDateEnabledFunction;\n onSelectDateRange: (value: DateRangePickerProps.AbsoluteValue) => void;\n initialStartDate: string | undefined;\n initialEndDate: string | undefined;\n i18nStrings: DateRangePickerProps.I18nStrings;\n dateOnly: boolean;\n timeInputFormat: TimeInputProps.Format;\n isSingleGrid: boolean;\n}\n\nexport default forwardRef(Calendar);\n\nfunction Calendar(\n {\n locale,\n startOfWeek,\n isDateEnabled,\n onSelectDateRange,\n initialEndDate = '',\n initialStartDate = '',\n i18nStrings,\n dateOnly,\n isSingleGrid,\n timeInputFormat,\n }: CalendarProps,\n ref: React.Ref<Focusable>\n) {\n const elementRef = useRef<HTMLDivElement>(null);\n\n const normalizedStartOfWeek = normalizeStartOfWeek(startOfWeek, locale);\n\n useImperativeHandle(ref, () => ({\n focus() {\n if (elementRef.current) {\n const prevButton = elementRef.current.getElementsByClassName(styles['calendar-prev-month-btn'])[0];\n (prevButton as undefined | HTMLButtonElement)?.focus();\n }\n },\n }));\n\n const [initialStartDateString = '', initialStartTimeString = ''] = initialStartDate.split('T');\n const [initialEndDateString = '', initialEndTimeString = ''] = initialEndDate.split('T');\n\n const [startDateString, setStartDateString] = useState(initialStartDateString);\n const [startTimeString, setStartTimeString] = useState(initialStartTimeString);\n\n const [endDateString, setEndDateString] = useState(initialEndDateString);\n const [endTimeString, setEndTimeString] = useState(initialEndTimeString);\n\n const selectedStartDate = parseDate(startDateString, true);\n const selectedEndDate = parseDate(endDateString, true);\n\n const [announcement, setAnnouncement] = useState('');\n\n const [currentMonth, setCurrentMonth] = useState(() => {\n if (startDateString) {\n const startDate = parseDate(startDateString);\n if (isSingleGrid) {\n return startOfMonth(startDate);\n }\n return startOfMonth(addMonths(startDate, 1));\n }\n if (endDateString) {\n return startOfMonth(parseDate(endDateString));\n }\n return startOfMonth(Date.now());\n });\n\n const [focusedDate, setFocusedDate] = useState<Date | null>(() => {\n if (selectedStartDate) {\n if (isSameMonth(selectedStartDate, currentMonth)) {\n return selectedStartDate;\n }\n if (!isSingleGrid && isSameMonth(selectedStartDate, addMonths(currentMonth, -1))) {\n return selectedStartDate;\n }\n }\n return selectFocusedDate(selectedStartDate, currentMonth, isDateEnabled);\n });\n\n useEffect(() => {\n // This effect \"synchronizes\" the local state update back up to the overall DateRangePicker component\n\n const startDate = joinDateTime(startDateString, startTimeString);\n const endDate = joinDateTime(endDateString, endTimeString);\n\n if (startDate !== initialStartDate || endDate !== initialEndDate) {\n onSelectDateRange({\n startDate,\n endDate,\n type: 'absolute',\n });\n }\n }, [\n startDateString,\n startTimeString,\n endDateString,\n endTimeString,\n onSelectDateRange,\n initialStartDate,\n initialEndDate,\n ]);\n\n const onSelectDateHandler = (selectedDate: Date) => {\n // recommended to include the start/end time announced with the selection\n // because the user is not aware of the fact that a start/end time is also set as soon as they select a date\n const announceStart = (startDate: Date) => {\n return (\n i18nStrings.startDateLabel +\n ', ' +\n getDateLabel(locale, startDate) +\n ', ' +\n i18nStrings.startTimeLabel +\n ', ' +\n renderTimeLabel(locale, startDate, timeInputFormat) +\n '. '\n );\n };\n\n const announceEnd = (endDate: Date) => {\n return (\n i18nStrings.endDateLabel +\n ', ' +\n getDateLabel(locale, endDate) +\n ', ' +\n i18nStrings.endTimeLabel +\n ', ' +\n renderTimeLabel(locale, endDate, timeInputFormat) +\n '. '\n );\n };\n\n const announceRange = (startDate: Date, endDate: Date) => {\n if (!i18nStrings.renderSelectedAbsoluteRangeAriaLive) {\n return `${getDateLabel(locale, startDate)} – ${getDateLabel(locale, endDate)}`;\n }\n return i18nStrings.renderSelectedAbsoluteRangeAriaLive(\n getDateLabel(locale, startDate),\n getDateLabel(locale, endDate)\n );\n };\n\n // If both fields are empty, we set the start date\n if (!startDateString && !endDateString) {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n setAnnouncement(announceStart(startDate));\n return;\n }\n\n // If both fields are set, we start new\n if (startDateString && endDateString) {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString('');\n setEndTimeString('');\n setAnnouncement(announceStart(startDate));\n return;\n }\n\n // If only the END date is empty, we fill it (and swap dates if needed)\n if (startDateString && !endDateString) {\n const parsedStartDate = parseDate(startDateString);\n\n if (isBefore(selectedDate, parsedStartDate)) {\n // The user has selected the range backwards, so we swap start and end\n\n const startDate = startOfDay(selectedDate);\n const endDate = endOfDay(parsedStartDate);\n\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceStart(startDate) + announceRange(startDate, endDate));\n } else {\n const endDate = endOfDay(selectedDate);\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceEnd(endDate) + announceRange(parsedStartDate, endDate));\n }\n return;\n }\n\n // If only the START date is empty, we fill it (and swap dates if needed)\n if (!startDateString && endDateString) {\n const existingEndDate = parseDate(endDateString);\n\n if (isAfter(selectedDate, existingEndDate)) {\n // The user has selected the range backwards, so we swap start and end\n\n const startDate = startOfDay(existingEndDate);\n const endDate = endOfDay(selectedDate);\n\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n\n setEndDateString(formatDate(endDate));\n setEndTimeString(formatTime(endDate));\n setAnnouncement(announceEnd(endDate) + announceRange(startDate, endDate));\n } else {\n const startDate = startOfDay(selectedDate);\n setStartDateString(formatDate(startDate));\n setStartTimeString(formatTime(startDate));\n setAnnouncement(announceStart(startDate) + announceRange(startDate, existingEndDate));\n }\n return;\n }\n // All possible conditions are covered above\n };\n\n const onHeaderChangeMonthHandler: HeaderChangeMonthHandler = isPrevious => {\n const newCurrentMonth = addMonths(currentMonth, isPrevious ? -1 : 1);\n setCurrentMonth(newCurrentMonth);\n\n const newBaseDateMonth = isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, -1);\n const newBaseDate = getBaseDate(newBaseDateMonth, isDateEnabled);\n setFocusedDate(newBaseDate);\n };\n\n const onChangeStartDate: InputProps['onChange'] = e => {\n setStartDateString(e.detail.value);\n\n if (e.detail.value.length >= 8) {\n const newCurrentMonth = startOfMonth(parseDate(e.detail.value));\n setCurrentMonth(isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, 1));\n }\n };\n\n const onChangeEndDate: InputProps['onChange'] = e => {\n setEndDateString(e.detail.value);\n };\n\n let constrainttextId = useUniqueId('awsui-area-date-range-picker');\n constrainttextId = i18nStrings.dateTimeConstraintText ? constrainttextId : '';\n\n return (\n <>\n <InternalSpaceBetween size=\"m\">\n {/* The application role is necessary for screen-readers to allow arrow navigation by default. */}\n <div\n ref={elementRef}\n className={clsx(styles.calendar, {\n [styles['one-grid']]: isSingleGrid,\n })}\n >\n <CalendarHeader\n baseDate={currentMonth}\n locale={locale}\n onChangeMonth={onHeaderChangeMonthHandler}\n previousMonthLabel={i18nStrings.previousMonthAriaLabel}\n nextMonthLabel={i18nStrings.nextMonthAriaLabel}\n isSingleGrid={isSingleGrid}\n />\n\n <Grids\n isSingleGrid={isSingleGrid}\n locale={locale}\n baseDate={currentMonth}\n focusedDate={focusedDate}\n onFocusedDateChange={setFocusedDate}\n isDateEnabled={isDateEnabled}\n onSelectDate={onSelectDateHandler}\n onChangeMonth={setCurrentMonth}\n startOfWeek={normalizedStartOfWeek}\n todayAriaLabel={i18nStrings.todayAriaLabel}\n selectedStartDate={selectedStartDate}\n selectedEndDate={selectedEndDate}\n />\n </div>\n <InternalSpaceBetween direction=\"vertical\" size=\"xxs\">\n <InternalSpaceBetween size=\"xs\" direction={isSingleGrid ? 'vertical' : 'horizontal'}>\n <div className={clsx(styles['date-and-time-wrapper'], { [styles['date-only']]: dateOnly })}>\n <InternalFormField label={i18nStrings.startDateLabel} stretch={true}>\n <InternalDateInput\n value={startDateString}\n className={styles['start-date-input']}\n onChange={onChangeStartDate}\n placeholder=\"YYYY/MM/DD\"\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n {!dateOnly && (\n <InternalFormField label={i18nStrings.startTimeLabel} stretch={true}>\n <InternalTimeInput\n value={startTimeString}\n onChange={e => setStartTimeString(e.detail.value)}\n format={timeInputFormat}\n placeholder={timeInputFormat}\n className={styles['start-time-input']}\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n )}\n </div>\n\n <div className={clsx(styles['date-and-time-wrapper'], { [styles['date-only']]: dateOnly })}>\n <InternalFormField label={i18nStrings.endDateLabel} stretch={true}>\n <InternalDateInput\n value={endDateString}\n className={styles['end-date-input']}\n onChange={onChangeEndDate}\n placeholder=\"YYYY/MM/DD\"\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n {!dateOnly && (\n <InternalFormField label={i18nStrings.endTimeLabel} stretch={true}>\n <InternalTimeInput\n value={endTimeString}\n onChange={e => setEndTimeString(e.detail.value)}\n format={timeInputFormat}\n placeholder={timeInputFormat}\n className={styles['end-time-input']}\n ariaDescribedby={constrainttextId}\n />\n </InternalFormField>\n )}\n </div>\n </InternalSpaceBetween>\n {i18nStrings.dateTimeConstraintText && (\n <div className={styles['date-and-time-constrainttext']} id={constrainttextId}>\n {i18nStrings.dateTimeConstraintText}\n </div>\n )}\n </InternalSpaceBetween>\n </InternalSpaceBetween>\n <LiveRegion className={styles['calendar-aria-live']}>{announcement}</LiveRegion>\n </>\n );\n}\n"]}
@@ -87,7 +87,7 @@ export function DateRangePickerDropdown(_a) {
87
87
  rangeSelectionMode === 'absolute' && (React.createElement(Calendar, { ref: focusRefs['absolute-only'], isSingleGrid: isSingleGrid, initialEndDate: selectedAbsoluteRange === null || selectedAbsoluteRange === void 0 ? void 0 : selectedAbsoluteRange.endDate, initialStartDate: selectedAbsoluteRange === null || selectedAbsoluteRange === void 0 ? void 0 : selectedAbsoluteRange.startDate, locale: locale, startOfWeek: startOfWeek, isDateEnabled: isDateEnabled, i18nStrings: i18nStrings, onSelectDateRange: setSelectedAbsoluteRange, dateOnly: dateOnly, timeInputFormat: timeInputFormat })),
88
88
  rangeSelectionMode === 'relative' && (React.createElement(RelativeRangePicker, { ref: focusRefs['relative-only'], isSingleGrid: isSingleGrid, options: relativeOptions, dateOnly: dateOnly, initialSelection: selectedRelativeRange, onChange: function (range) { return setSelectedRelativeRange(range); }, i18nStrings: i18nStrings }))),
89
89
  React.createElement(InternalBox, { className: styles['validation-section'], margin: !validationResult.valid ? { top: 's' } : undefined }, !validationResult.valid && (React.createElement(React.Fragment, null,
90
- React.createElement(InternalAlert, { type: "error" },
90
+ React.createElement(InternalAlert, { type: "error", statusIconAriaLabel: i18nStrings.errorIconAriaLabel },
91
91
  React.createElement("span", { className: styles['validation-error'] }, validationResult.errorMessage)),
92
92
  React.createElement(LiveRegion, null, validationResult.errorMessage))))),
93
93
  React.createElement("div", { className: clsx(styles.footer, (_c = {},