@cloudscape-design/components 3.0.310 → 3.0.312

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 (205) hide show
  1. package/button/internal.d.ts +6 -0
  2. package/button/internal.d.ts.map +1 -1
  3. package/button/internal.js +6 -8
  4. package/button/internal.js.map +1 -1
  5. package/code-editor/resizable-box/styles.css.js +3 -3
  6. package/code-editor/resizable-box/styles.scoped.css +10 -8
  7. package/code-editor/resizable-box/styles.selectors.js +3 -3
  8. package/code-editor/styles.css.js +32 -32
  9. package/code-editor/styles.scoped.css +189 -157
  10. package/code-editor/styles.selectors.js +32 -32
  11. package/collection-preferences/content-display/index.js +1 -1
  12. package/collection-preferences/content-display/index.js.map +1 -1
  13. package/container/interfaces.d.ts +50 -0
  14. package/container/interfaces.d.ts.map +1 -1
  15. package/container/interfaces.js.map +1 -1
  16. package/container/internal.d.ts +1 -1
  17. package/container/internal.d.ts.map +1 -1
  18. package/container/internal.js +24 -18
  19. package/container/internal.js.map +1 -1
  20. package/container/styles.css.js +28 -18
  21. package/container/styles.scoped.css +93 -36
  22. package/container/styles.selectors.js +28 -18
  23. package/date-range-picker/calendar/header/index.d.ts.map +1 -1
  24. package/date-range-picker/calendar/header/index.js +4 -2
  25. package/date-range-picker/calendar/header/index.js.map +1 -1
  26. package/date-range-picker/calendar/index.js +1 -1
  27. package/date-range-picker/calendar/index.js.map +1 -1
  28. package/expandable-section/expandable-section-header.d.ts +2 -1
  29. package/expandable-section/expandable-section-header.d.ts.map +1 -1
  30. package/expandable-section/expandable-section-header.js +6 -16
  31. package/expandable-section/expandable-section-header.js.map +1 -1
  32. package/expandable-section/internal.d.ts.map +1 -1
  33. package/expandable-section/internal.js +3 -2
  34. package/expandable-section/internal.js.map +1 -1
  35. package/form/index.d.ts.map +1 -1
  36. package/form/index.js +14 -1
  37. package/form/index.js.map +1 -1
  38. package/form/internal.d.ts.map +1 -1
  39. package/form/internal.js +3 -4
  40. package/form/internal.js.map +1 -1
  41. package/form-field/internal.js +2 -3
  42. package/form-field/internal.js.map +1 -1
  43. package/help-panel/styles.css.js +4 -4
  44. package/help-panel/styles.scoped.css +135 -95
  45. package/help-panel/styles.selectors.js +4 -4
  46. package/i18n/context.d.ts +14 -7
  47. package/i18n/context.d.ts.map +1 -1
  48. package/i18n/context.js.map +1 -1
  49. package/i18n/messages/all.all.js +3692 -538
  50. package/i18n/messages/all.all.json +3756 -577
  51. package/i18n/messages/all.de.js +317 -22
  52. package/i18n/messages/all.de.json +324 -27
  53. package/i18n/messages/all.en-GB.js +306 -21
  54. package/i18n/messages/all.en-GB.json +309 -24
  55. package/i18n/messages/all.en.js +11 -11
  56. package/i18n/messages/all.en.json +11 -11
  57. package/i18n/messages/all.es.js +311 -22
  58. package/i18n/messages/all.es.json +318 -25
  59. package/i18n/messages/all.fr.js +335 -27
  60. package/i18n/messages/all.fr.json +343 -30
  61. package/i18n/messages/all.id.js +319 -28
  62. package/i18n/messages/all.id.json +322 -31
  63. package/i18n/messages/all.it.js +320 -27
  64. package/i18n/messages/all.it.json +326 -30
  65. package/i18n/messages/all.ja.js +312 -28
  66. package/i18n/messages/all.ja.json +315 -30
  67. package/i18n/messages/all.ko.js +304 -24
  68. package/i18n/messages/all.ko.json +312 -25
  69. package/i18n/messages/all.pt-BR.js +313 -28
  70. package/i18n/messages/all.pt-BR.json +325 -31
  71. package/i18n/messages/all.zh-CN.js +301 -29
  72. package/i18n/messages/all.zh-CN.json +300 -31
  73. package/i18n/messages/all.zh-TW.js +295 -23
  74. package/i18n/messages/all.zh-TW.json +294 -25
  75. package/i18n/messages-types.d.ts +435 -0
  76. package/i18n/messages-types.d.ts.map +1 -0
  77. package/i18n/messages-types.js +5 -0
  78. package/i18n/messages-types.js.map +1 -0
  79. package/i18n/provider.d.ts.map +1 -1
  80. package/i18n/provider.js +2 -0
  81. package/i18n/provider.js.map +1 -1
  82. package/internal/analytics/components/analytics-funnel.d.ts +2 -1
  83. package/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
  84. package/internal/analytics/components/analytics-funnel.js +6 -4
  85. package/internal/analytics/components/analytics-funnel.js.map +1 -1
  86. package/internal/analytics/context/analytics-context.d.ts +2 -0
  87. package/internal/analytics/context/analytics-context.d.ts.map +1 -1
  88. package/internal/analytics/context/analytics-context.js +2 -0
  89. package/internal/analytics/context/analytics-context.js.map +1 -1
  90. package/internal/analytics/hooks/use-funnel.d.ts +3 -7
  91. package/internal/analytics/hooks/use-funnel.d.ts.map +1 -1
  92. package/internal/analytics/hooks/use-funnel.js +2 -7
  93. package/internal/analytics/hooks/use-funnel.js.map +1 -1
  94. package/internal/base-component/styles.scoped.css +382 -379
  95. package/internal/components/cartesian-chart/bottom-labels.js +1 -1
  96. package/internal/components/cartesian-chart/bottom-labels.js.map +1 -1
  97. package/internal/components/cartesian-chart/left-labels.js +1 -1
  98. package/internal/components/cartesian-chart/left-labels.js.map +1 -1
  99. package/internal/components/focus-lock/index.js +20 -19
  100. package/internal/components/focus-lock/index.js.map +1 -1
  101. package/internal/context/button-context.d.ts +10 -0
  102. package/internal/context/button-context.d.ts.map +1 -0
  103. package/internal/context/button-context.js +10 -0
  104. package/internal/context/button-context.js.map +1 -0
  105. package/internal/environment.js +1 -1
  106. package/internal/generated/theming/index.cjs +2 -1
  107. package/internal/generated/theming/index.js +2 -1
  108. package/internal/hooks/use-visual-mode/index.d.ts.map +1 -1
  109. package/internal/hooks/use-visual-mode/index.js +3 -0
  110. package/internal/hooks/use-visual-mode/index.js.map +1 -1
  111. package/internal/i18n/messages/all.all.js +3692 -538
  112. package/internal/i18n/messages/all.all.json +3756 -577
  113. package/internal/i18n/messages/all.de.js +317 -22
  114. package/internal/i18n/messages/all.de.json +324 -27
  115. package/internal/i18n/messages/all.en-GB.js +306 -21
  116. package/internal/i18n/messages/all.en-GB.json +309 -24
  117. package/internal/i18n/messages/all.en.js +11 -11
  118. package/internal/i18n/messages/all.en.json +11 -11
  119. package/internal/i18n/messages/all.es.js +311 -22
  120. package/internal/i18n/messages/all.es.json +318 -25
  121. package/internal/i18n/messages/all.fr.js +335 -27
  122. package/internal/i18n/messages/all.fr.json +343 -30
  123. package/internal/i18n/messages/all.id.js +319 -28
  124. package/internal/i18n/messages/all.id.json +322 -31
  125. package/internal/i18n/messages/all.it.js +320 -27
  126. package/internal/i18n/messages/all.it.json +326 -30
  127. package/internal/i18n/messages/all.ja.js +312 -28
  128. package/internal/i18n/messages/all.ja.json +315 -30
  129. package/internal/i18n/messages/all.ko.js +304 -24
  130. package/internal/i18n/messages/all.ko.json +312 -25
  131. package/internal/i18n/messages/all.pt-BR.js +313 -28
  132. package/internal/i18n/messages/all.pt-BR.json +325 -31
  133. package/internal/i18n/messages/all.zh-CN.js +301 -29
  134. package/internal/i18n/messages/all.zh-CN.json +300 -31
  135. package/internal/i18n/messages/all.zh-TW.js +295 -23
  136. package/internal/i18n/messages/all.zh-TW.json +294 -25
  137. package/internal/manifest.json +1 -1
  138. package/package.json +1 -2
  139. package/pagination/internal.d.ts.map +1 -1
  140. package/pagination/internal.js +4 -4
  141. package/pagination/internal.js.map +1 -1
  142. package/pie-chart/utils.d.ts +1 -1
  143. package/pie-chart/utils.d.ts.map +1 -1
  144. package/pie-chart/utils.js.map +1 -1
  145. package/property-filter/index.d.ts.map +1 -1
  146. package/property-filter/index.js +1 -1
  147. package/property-filter/index.js.map +1 -1
  148. package/s3-resource-selector/interfaces.d.ts +3 -0
  149. package/s3-resource-selector/interfaces.d.ts.map +1 -1
  150. package/s3-resource-selector/interfaces.js.map +1 -1
  151. package/s3-resource-selector/s3-in-context/index.js +1 -1
  152. package/s3-resource-selector/s3-in-context/index.js.map +1 -1
  153. package/s3-resource-selector/s3-in-context/validation.d.ts +1 -1
  154. package/s3-resource-selector/s3-in-context/validation.d.ts.map +1 -1
  155. package/s3-resource-selector/s3-in-context/validation.js.map +1 -1
  156. package/s3-resource-selector/s3-modal/basic-table.d.ts +3 -1
  157. package/s3-resource-selector/s3-modal/basic-table.d.ts.map +1 -1
  158. package/s3-resource-selector/s3-modal/basic-table.js +2 -1
  159. package/s3-resource-selector/s3-modal/basic-table.js.map +1 -1
  160. package/s3-resource-selector/s3-modal/index.js +1 -1
  161. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  162. package/s3-resource-selector/s3-modal/table-utils.d.ts +1 -1
  163. package/s3-resource-selector/s3-modal/table-utils.d.ts.map +1 -1
  164. package/s3-resource-selector/s3-modal/table-utils.js.map +1 -1
  165. package/select/parts/filter.d.ts +1 -1
  166. package/space-between/interfaces.d.ts +5 -0
  167. package/space-between/interfaces.d.ts.map +1 -1
  168. package/space-between/interfaces.js.map +1 -1
  169. package/space-between/internal.d.ts +1 -1
  170. package/space-between/internal.d.ts.map +1 -1
  171. package/space-between/internal.js +2 -2
  172. package/space-between/internal.js.map +1 -1
  173. package/space-between/styles.css.js +21 -20
  174. package/space-between/styles.scoped.css +25 -21
  175. package/space-between/styles.selectors.js +21 -20
  176. package/tag-editor/interfaces.d.ts +1 -0
  177. package/tag-editor/interfaces.d.ts.map +1 -1
  178. package/tag-editor/interfaces.js.map +1 -1
  179. package/tag-editor/validation.d.ts +1 -1
  180. package/tag-editor/validation.d.ts.map +1 -1
  181. package/tag-editor/validation.js.map +1 -1
  182. package/test-utils/dom/container/index.d.ts +1 -0
  183. package/test-utils/dom/container/index.js +3 -0
  184. package/test-utils/dom/container/index.js.map +1 -1
  185. package/test-utils/dom/expandable-section/index.js +1 -1
  186. package/test-utils/dom/expandable-section/index.js.map +1 -1
  187. package/test-utils/selectors/container/index.d.ts +1 -0
  188. package/test-utils/selectors/container/index.js +3 -0
  189. package/test-utils/selectors/container/index.js.map +1 -1
  190. package/test-utils/selectors/expandable-section/index.js +1 -1
  191. package/test-utils/selectors/expandable-section/index.js.map +1 -1
  192. package/test-utils/tsconfig.tsbuildinfo +1 -1
  193. package/text-content/styles.css.js +1 -1
  194. package/text-content/styles.scoped.css +65 -64
  195. package/text-content/styles.selectors.js +1 -1
  196. package/top-navigation/parts/overflow-menu/views/submenu.js +2 -2
  197. package/top-navigation/parts/overflow-menu/views/submenu.js.map +1 -1
  198. package/top-navigation/parts/overflow-menu/views/utilities.js +2 -2
  199. package/top-navigation/parts/overflow-menu/views/utilities.js.map +1 -1
  200. package/wizard/internal.d.ts.map +1 -1
  201. package/wizard/internal.js +4 -2
  202. package/wizard/internal.js.map +1 -1
  203. package/wizard/wizard-form.d.ts.map +1 -1
  204. package/wizard/wizard-form.js +1 -2
  205. package/wizard/wizard-form.js.map +1 -1
@@ -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_root_14iqq_1rij9_97:not(#\9) {
97
+ .awsui_root_14iqq_y5ati_97:not(#\9) {
98
98
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
99
99
  border-collapse: separate;
100
100
  border-spacing: 0;
@@ -134,17 +134,20 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
134
134
  word-wrap: break-word;
135
135
  position: relative;
136
136
  }
137
- .awsui_root_14iqq_1rij9_97.awsui_fit-height_14iqq_1rij9_111:not(#\9) {
137
+ .awsui_root_14iqq_y5ati_97.awsui_fit-height_14iqq_y5ati_111:not(#\9) {
138
138
  display: flex;
139
139
  flex-direction: column;
140
140
  height: 100%;
141
141
  }
142
- .awsui_root_14iqq_1rij9_97.awsui_variant-default_14iqq_1rij9_116:not(#\9), .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9) {
142
+ .awsui_root_14iqq_y5ati_97.awsui_fit-height_14iqq_y5ati_111.awsui_with-side-media_14iqq_y5ati_116:not(#\9) {
143
+ flex-direction: row;
144
+ }
145
+ .awsui_root_14iqq_y5ati_97.awsui_variant-default_14iqq_y5ati_119:not(#\9), .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9) {
143
146
  border-radius: var(--border-radius-container-pmtq2d, 16px);
144
147
  box-sizing: border-box;
145
148
  background-color: var(--color-background-container-content-og3y0v, #ffffff);
146
149
  }
147
- .awsui_root_14iqq_1rij9_97.awsui_variant-default_14iqq_1rij9_116:not(#\9)::before, .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9)::before {
150
+ .awsui_root_14iqq_y5ati_97.awsui_variant-default_14iqq_y5ati_119:not(#\9)::before, .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9)::before {
148
151
  content: "";
149
152
  position: absolute;
150
153
  left: 0px;
@@ -159,7 +162,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
159
162
  border-radius: var(--border-radius-container-pmtq2d, 16px);
160
163
  z-index: 1;
161
164
  }
162
- .awsui_root_14iqq_1rij9_97.awsui_variant-default_14iqq_1rij9_116:not(#\9)::after, .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9)::after {
165
+ .awsui_root_14iqq_y5ati_97.awsui_variant-default_14iqq_y5ati_119:not(#\9)::after, .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9)::after {
163
166
  content: "";
164
167
  position: absolute;
165
168
  left: 0px;
@@ -174,76 +177,125 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
174
177
  mix-blend-mode: multiply;
175
178
  }
176
179
  @media screen and (-ms-high-contrast: active) {
177
- .awsui_root_14iqq_1rij9_97.awsui_variant-default_14iqq_1rij9_116:not(#\9), .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9) {
180
+ .awsui_root_14iqq_y5ati_97.awsui_variant-default_14iqq_y5ati_119:not(#\9), .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9) {
178
181
  border: var(--border-field-width-riro62, 2px) solid var(--color-border-container-top-camjrq, transparent);
179
182
  }
180
183
  }
181
- .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9):not(:last-child), .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9):not(:last-child)::before, .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9):not(:last-child)::after {
184
+ .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9):not(:last-child), .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9):not(:last-child)::before, .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9):not(:last-child)::after {
182
185
  border-bottom-right-radius: 0;
183
186
  border-bottom-left-radius: 0;
184
187
  }
185
- .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116 + .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9), .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116 + .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9)::before, .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116 + .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9)::after {
188
+ .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119 + .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9), .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119 + .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9)::before, .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119 + .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9)::after {
186
189
  border-top-left-radius: 0;
187
190
  border-top-right-radius: 0;
188
191
  }
189
- .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116 + .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9)::before {
192
+ .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119 + .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9)::before {
190
193
  border-top: var(--border-divider-section-width-orq175, 2px) solid var(--color-border-divider-default-9o8zql, #e9ebed);
191
194
  }
192
- .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116 + .awsui_root_14iqq_1rij9_97.awsui_variant-stacked_14iqq_1rij9_116:not(#\9)::after {
195
+ .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119 + .awsui_root_14iqq_y5ati_97.awsui_variant-stacked_14iqq_y5ati_119:not(#\9)::after {
193
196
  box-shadow: var(--shadow-container-stacked-nlxqjb, -1px 1px 1px 0px #e9ebed, 1px 1px 1px 0px #e9ebed, 0px 9px 8px -7px rgba(0, 7, 22, 0.12), 8px 0px 8px -7px rgba(0, 7, 22, 0.12), -8px 0px 8px -7px rgba(0, 7, 22, 0.12));
194
197
  }
195
- .awsui_root_14iqq_1rij9_97.awsui_sticky-enabled_14iqq_1rij9_169:not(#\9)::before {
198
+ .awsui_root_14iqq_y5ati_97.awsui_sticky-enabled_14iqq_y5ati_172:not(#\9)::before {
196
199
  top: calc(-1 * var(--border-container-top-width-5cncr0, 0px));
197
200
  }
198
- .awsui_root_14iqq_1rij9_97.awsui_sticky-enabled_14iqq_1rij9_169.awsui_variant-stacked_14iqq_1rij9_116:not(#\9)::before {
201
+ .awsui_root_14iqq_y5ati_97.awsui_sticky-enabled_14iqq_y5ati_172.awsui_variant-stacked_14iqq_y5ati_119:not(#\9)::before {
199
202
  top: calc(-1 * var(--border-divider-section-width-orq175, 2px));
200
203
  }
201
204
 
202
- .awsui_header_14iqq_1rij9_176:not(#\9) {
205
+ .awsui_with-side-media_14iqq_y5ati_116:not(#\9) {
206
+ display: flex;
207
+ flex-direction: row;
208
+ }
209
+
210
+ .awsui_with-top-media_14iqq_y5ati_184:not(#\9) {
211
+ display: flex;
212
+ flex-direction: column;
213
+ }
214
+
215
+ .awsui_content-wrapper_14iqq_y5ati_189:not(#\9) {
216
+ display: flex;
217
+ flex-direction: column;
218
+ width: 100%;
219
+ }
220
+ .awsui_content-wrapper-fit-height_14iqq_y5ati_194:not(#\9) {
221
+ height: 100%;
222
+ overflow: hidden;
223
+ }
224
+
225
+ .awsui_media_14iqq_y5ati_199:not(#\9) {
226
+ overflow: hidden;
227
+ flex-shrink: 0;
228
+ }
229
+ .awsui_media_14iqq_y5ati_199 img:not(#\9),
230
+ .awsui_media_14iqq_y5ati_199 video:not(#\9),
231
+ .awsui_media_14iqq_y5ati_199 picture:not(#\9) {
232
+ width: 100%;
233
+ height: 100%;
234
+ object-fit: cover;
235
+ object-position: center;
236
+ }
237
+ .awsui_media-top_14iqq_y5ati_211:not(#\9) {
238
+ max-height: 66%;
239
+ border-top-left-radius: var(--border-radius-container-pmtq2d, 16px);
240
+ border-top-right-radius: var(--border-radius-container-pmtq2d, 16px);
241
+ }
242
+ .awsui_media-side_14iqq_y5ati_216:not(#\9) {
243
+ max-width: 66%;
244
+ border-top-left-radius: var(--border-radius-container-pmtq2d, 16px);
245
+ border-bottom-left-radius: var(--border-radius-container-pmtq2d, 16px);
246
+ }
247
+
248
+ .awsui_header_14iqq_y5ati_222:not(#\9) {
203
249
  background-color: var(--color-background-container-header-l5cy7j, #ffffff);
204
250
  border-top-left-radius: var(--border-radius-container-pmtq2d, 16px);
205
251
  border-top-right-radius: var(--border-radius-container-pmtq2d, 16px);
206
252
  }
207
- .awsui_header-sticky-disabled_14iqq_1rij9_181:not(#\9) {
253
+ .awsui_header_14iqq_y5ati_222.awsui_header-with-media_14iqq_y5ati_227:not(#\9) {
254
+ background: none;
255
+ }
256
+ .awsui_header_14iqq_y5ati_222.awsui_header-with-media_14iqq_y5ati_227:not(#\9):not(:empty) {
257
+ border-bottom: none;
258
+ }
259
+ .awsui_header-sticky-disabled_14iqq_y5ati_233:not(#\9) {
208
260
  position: relative;
209
261
  z-index: 1;
210
262
  }
211
- .awsui_header-sticky-enabled_14iqq_1rij9_185:not(#\9) {
263
+ .awsui_header-sticky-enabled_14iqq_y5ati_237:not(#\9) {
212
264
  top: 0;
213
265
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
214
266
  position: sticky;
215
267
  z-index: 800;
216
268
  }
217
- .awsui_header-stuck_14iqq_1rij9_191:not(#\9) {
269
+ .awsui_header-stuck_14iqq_y5ati_243:not(#\9) {
218
270
  border-radius: 0;
219
271
  }
220
- .awsui_header-stuck_14iqq_1rij9_191:not(#\9)::before {
272
+ .awsui_header-stuck_14iqq_y5ati_243:not(#\9)::before {
221
273
  border: 0;
222
274
  }
223
- .awsui_header-stuck_14iqq_1rij9_191:not(#\9):not(.awsui_header-variant-cards_14iqq_1rij9_197) {
275
+ .awsui_header-stuck_14iqq_y5ati_243:not(#\9):not(.awsui_header-variant-cards_14iqq_y5ati_249) {
224
276
  box-shadow: var(--shadow-sticky-embedded-rcrcz5, 0px 2px 0px 0px #e9ebed, 0px 16px 16px -12px rgba(0, 7, 22, 0.1));
225
277
  }
226
- .awsui_header-dynamic-height_14iqq_1rij9_200.awsui_header-stuck_14iqq_1rij9_191:not(#\9) {
278
+ .awsui_header-dynamic-height_14iqq_y5ati_252.awsui_header-stuck_14iqq_y5ati_243:not(#\9) {
227
279
  margin-bottom: calc(var(--font-heading-xl-line-height-4s70cu, 40px) - var(--font-heading-l-line-height-l1pmir, 30px));
228
280
  }
229
- .awsui_header_14iqq_1rij9_176:not(#\9):not(:empty) {
281
+ .awsui_header_14iqq_y5ati_222:not(#\9):not(:empty) {
230
282
  border-bottom: var(--border-container-sticky-width-3mz641, 0px) solid var(--color-border-container-divider-tildlh, transparent);
231
283
  }
232
- .awsui_header_14iqq_1rij9_176.awsui_with-paddings_14iqq_1rij9_206:not(#\9) {
284
+ .awsui_header_14iqq_y5ati_222.awsui_with-paddings_14iqq_y5ati_258:not(#\9) {
233
285
  padding: var(--space-container-header-vertical-di96ce, 12px) var(--space-container-horizontal-jxdgil, 20px);
234
286
  }
235
- .awsui_header_14iqq_1rij9_176.awsui_with-hidden-content_14iqq_1rij9_209:not(#\9) {
287
+ .awsui_header_14iqq_y5ati_222.awsui_with-hidden-content_14iqq_y5ati_261:not(#\9) {
236
288
  border-bottom-left-radius: var(--border-radius-container-pmtq2d, 16px);
237
289
  border-bottom-right-radius: var(--border-radius-container-pmtq2d, 16px);
238
290
  }
239
- .awsui_header-variant-cards_14iqq_1rij9_197:not(#\9) {
291
+ .awsui_header-variant-cards_14iqq_y5ati_249:not(#\9) {
240
292
  border-radius: var(--border-radius-container-pmtq2d, 16px);
241
293
  box-sizing: border-box;
242
294
  }
243
- .awsui_header-variant-cards_14iqq_1rij9_197:not(#\9):not(.awsui_header-sticky-enabled_14iqq_1rij9_185) {
295
+ .awsui_header-variant-cards_14iqq_y5ati_249:not(#\9):not(.awsui_header-sticky-enabled_14iqq_y5ati_237) {
244
296
  position: relative;
245
297
  }
246
- .awsui_header-variant-cards_14iqq_1rij9_197:not(#\9)::before {
298
+ .awsui_header-variant-cards_14iqq_y5ati_249:not(#\9)::before {
247
299
  content: "";
248
300
  position: absolute;
249
301
  left: 0px;
@@ -258,7 +310,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
258
310
  border-radius: var(--border-radius-container-pmtq2d, 16px);
259
311
  z-index: 1;
260
312
  }
261
- .awsui_header-variant-cards_14iqq_1rij9_197:not(#\9)::after {
313
+ .awsui_header-variant-cards_14iqq_y5ati_249:not(#\9)::after {
262
314
  content: "";
263
315
  position: absolute;
264
316
  left: 0px;
@@ -273,19 +325,19 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
273
325
  mix-blend-mode: multiply;
274
326
  }
275
327
  @media screen and (-ms-high-contrast: active) {
276
- .awsui_header-variant-cards_14iqq_1rij9_197:not(#\9) {
328
+ .awsui_header-variant-cards_14iqq_y5ati_249:not(#\9) {
277
329
  border: var(--border-field-width-riro62, 2px) solid var(--color-border-container-top-camjrq, transparent);
278
330
  }
279
331
  }
280
- .awsui_header-variant-cards_14iqq_1rij9_197.awsui_header-stuck_14iqq_1rij9_191:not(#\9)::after, .awsui_header-variant-cards_14iqq_1rij9_197.awsui_header-stuck_14iqq_1rij9_191:not(#\9)::before {
332
+ .awsui_header-variant-cards_14iqq_y5ati_249.awsui_header-stuck_14iqq_y5ati_243:not(#\9)::after, .awsui_header-variant-cards_14iqq_y5ati_249.awsui_header-stuck_14iqq_y5ati_243:not(#\9)::before {
281
333
  border: 0;
282
334
  border-top-left-radius: 0;
283
335
  border-top-right-radius: 0;
284
336
  }
285
- .awsui_header-variant-full-page_14iqq_1rij9_259.awsui_header-stuck_14iqq_1rij9_191:not(#\9) {
337
+ .awsui_header-variant-full-page_14iqq_y5ati_311.awsui_header-stuck_14iqq_y5ati_243:not(#\9) {
286
338
  box-shadow: none;
287
339
  }
288
- .awsui_header-variant-full-page_14iqq_1rij9_259.awsui_header-stuck_14iqq_1rij9_191:not(#\9)::after {
340
+ .awsui_header-variant-full-page_14iqq_y5ati_311.awsui_header-stuck_14iqq_y5ati_243:not(#\9)::after {
289
341
  content: "";
290
342
  position: absolute;
291
343
  right: 0;
@@ -300,25 +352,30 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
300
352
  The dynamic height dark header needs a background that will cover
301
353
  the default white background of the container component.
302
354
  */
303
- .awsui_dark-header_14iqq_1rij9_277:not(#\9) {
355
+ .awsui_dark-header_14iqq_y5ati_329:not(#\9) {
304
356
  background-color: var(--color-background-layout-main-m49752, #ffffff);
305
357
  color: var(--color-text-body-default-mmvcvg, #000716);
306
358
  }
307
359
 
308
- .awsui_fit-height_14iqq_1rij9_111 > .awsui_content_14iqq_1rij9_282:not(#\9) {
360
+ .awsui_content_14iqq_y5ati_189:not(#\9) {
309
361
  flex: 1;
362
+ }
363
+ .awsui_content-fit-height_14iqq_y5ati_337:not(#\9) {
310
364
  overflow: auto;
311
365
  }
312
- .awsui_content_14iqq_1rij9_282.awsui_with-paddings_14iqq_1rij9_206:not(#\9) {
366
+ .awsui_content_14iqq_y5ati_189.awsui_with-paddings_14iqq_y5ati_258:not(#\9) {
313
367
  padding: var(--space-scaled-l-2rs0gk, 20px) var(--space-container-horizontal-jxdgil, 20px);
314
368
  }
315
- .awsui_header_14iqq_1rij9_176 + .awsui_content_14iqq_1rij9_282.awsui_with-paddings_14iqq_1rij9_206:not(#\9) {
369
+ .awsui_header_14iqq_y5ati_222 + .awsui_content_14iqq_y5ati_189.awsui_with-paddings_14iqq_y5ati_258:not(#\9) {
316
370
  padding-top: var(--space-container-content-top-aj37fz, 0px);
317
371
  }
372
+ .awsui_header_14iqq_y5ati_222 + .awsui_content_14iqq_y5ati_189.awsui_with-paddings_14iqq_y5ati_258.awsui_content-with-media_14iqq_y5ati_346:not(#\9) {
373
+ padding-top: 0;
374
+ }
318
375
 
319
- .awsui_footer_14iqq_1rij9_293.awsui_with-paddings_14iqq_1rij9_206:not(#\9) {
376
+ .awsui_footer_14iqq_y5ati_350.awsui_with-paddings_14iqq_y5ati_258:not(#\9) {
320
377
  padding: var(--space-scaled-s-913kwi, 12px) var(--space-container-horizontal-jxdgil, 20px);
321
378
  }
322
- .awsui_footer_14iqq_1rij9_293.awsui_with-divider_14iqq_1rij9_296:not(#\9) {
379
+ .awsui_footer_14iqq_y5ati_350.awsui_with-divider_14iqq_y5ati_353:not(#\9) {
323
380
  border-top: var(--border-divider-section-width-orq175, 2px) solid var(--color-border-divider-default-9o8zql, #e9ebed);
324
381
  }
@@ -2,23 +2,33 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_14iqq_1rij9_97",
6
- "fit-height": "awsui_fit-height_14iqq_1rij9_111",
7
- "variant-default": "awsui_variant-default_14iqq_1rij9_116",
8
- "variant-stacked": "awsui_variant-stacked_14iqq_1rij9_116",
9
- "sticky-enabled": "awsui_sticky-enabled_14iqq_1rij9_169",
10
- "header": "awsui_header_14iqq_1rij9_176",
11
- "header-sticky-disabled": "awsui_header-sticky-disabled_14iqq_1rij9_181",
12
- "header-sticky-enabled": "awsui_header-sticky-enabled_14iqq_1rij9_185",
13
- "header-stuck": "awsui_header-stuck_14iqq_1rij9_191",
14
- "header-variant-cards": "awsui_header-variant-cards_14iqq_1rij9_197",
15
- "header-dynamic-height": "awsui_header-dynamic-height_14iqq_1rij9_200",
16
- "with-paddings": "awsui_with-paddings_14iqq_1rij9_206",
17
- "with-hidden-content": "awsui_with-hidden-content_14iqq_1rij9_209",
18
- "header-variant-full-page": "awsui_header-variant-full-page_14iqq_1rij9_259",
19
- "dark-header": "awsui_dark-header_14iqq_1rij9_277",
20
- "content": "awsui_content_14iqq_1rij9_282",
21
- "footer": "awsui_footer_14iqq_1rij9_293",
22
- "with-divider": "awsui_with-divider_14iqq_1rij9_296"
5
+ "root": "awsui_root_14iqq_y5ati_97",
6
+ "fit-height": "awsui_fit-height_14iqq_y5ati_111",
7
+ "with-side-media": "awsui_with-side-media_14iqq_y5ati_116",
8
+ "variant-default": "awsui_variant-default_14iqq_y5ati_119",
9
+ "variant-stacked": "awsui_variant-stacked_14iqq_y5ati_119",
10
+ "sticky-enabled": "awsui_sticky-enabled_14iqq_y5ati_172",
11
+ "with-top-media": "awsui_with-top-media_14iqq_y5ati_184",
12
+ "content-wrapper": "awsui_content-wrapper_14iqq_y5ati_189",
13
+ "content-wrapper-fit-height": "awsui_content-wrapper-fit-height_14iqq_y5ati_194",
14
+ "media": "awsui_media_14iqq_y5ati_199",
15
+ "media-top": "awsui_media-top_14iqq_y5ati_211",
16
+ "media-side": "awsui_media-side_14iqq_y5ati_216",
17
+ "header": "awsui_header_14iqq_y5ati_222",
18
+ "header-with-media": "awsui_header-with-media_14iqq_y5ati_227",
19
+ "header-sticky-disabled": "awsui_header-sticky-disabled_14iqq_y5ati_233",
20
+ "header-sticky-enabled": "awsui_header-sticky-enabled_14iqq_y5ati_237",
21
+ "header-stuck": "awsui_header-stuck_14iqq_y5ati_243",
22
+ "header-variant-cards": "awsui_header-variant-cards_14iqq_y5ati_249",
23
+ "header-dynamic-height": "awsui_header-dynamic-height_14iqq_y5ati_252",
24
+ "with-paddings": "awsui_with-paddings_14iqq_y5ati_258",
25
+ "with-hidden-content": "awsui_with-hidden-content_14iqq_y5ati_261",
26
+ "header-variant-full-page": "awsui_header-variant-full-page_14iqq_y5ati_311",
27
+ "dark-header": "awsui_dark-header_14iqq_y5ati_329",
28
+ "content": "awsui_content_14iqq_y5ati_189",
29
+ "content-fit-height": "awsui_content-fit-height_14iqq_y5ati_337",
30
+ "content-with-media": "awsui_content-with-media_14iqq_y5ati_346",
31
+ "footer": "awsui_footer_14iqq_y5ati_350",
32
+ "with-divider": "awsui_with-divider_14iqq_y5ati_353"
23
33
  };
24
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["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,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,EAAE,mBAAmB,eAuBrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["date-range-picker/calendar/header/index.tsx"],"names":[],"mappings":";AAUA,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,GAChB,EAAE,mBAAmB,eAgCrB"}
@@ -6,16 +6,18 @@ import styles from '../../styles.css.js';
6
6
  import { renderMonthAndYear } from '../../../calendar/utils/intl';
7
7
  import { PrevMonthButton, NextMonthButton } from './header-button';
8
8
  import LiveRegion from '../../../internal/components/live-region';
9
+ import { useInternalI18n } from '../../../i18n/context.js';
9
10
  export default function CalendarHeader({ baseDate, locale, onChangeMonth, previousMonthLabel, nextMonthLabel, isSingleGrid, headingIdPrefix, }) {
11
+ const i18n = useInternalI18n('calendar');
10
12
  const prevMonthLabel = renderMonthAndYear(locale, add(baseDate, { months: -1 }));
11
13
  const currentMonthLabel = renderMonthAndYear(locale, baseDate);
12
14
  return (React.createElement(React.Fragment, null,
13
15
  React.createElement("div", { className: styles['calendar-header'] },
14
- React.createElement(PrevMonthButton, { ariaLabel: previousMonthLabel, baseDate: baseDate, onChangeMonth: onChangeMonth }),
16
+ React.createElement(PrevMonthButton, { ariaLabel: i18n('previousMonthAriaLabel', previousMonthLabel), baseDate: baseDate, onChangeMonth: onChangeMonth }),
15
17
  React.createElement("h2", { className: styles['calendar-header-months-wrapper'] },
16
18
  !isSingleGrid && (React.createElement("span", { className: styles['calendar-header-month'], id: `${headingIdPrefix}-prevmonth` }, prevMonthLabel)),
17
19
  React.createElement("span", { className: styles['calendar-header-month'], id: `${headingIdPrefix}-currentmonth` }, currentMonthLabel)),
18
- React.createElement(NextMonthButton, { ariaLabel: nextMonthLabel, baseDate: baseDate, onChangeMonth: onChangeMonth })),
20
+ React.createElement(NextMonthButton, { ariaLabel: i18n('nextMonthAriaLabel', nextMonthLabel), baseDate: baseDate, onChangeMonth: onChangeMonth })),
19
21
  React.createElement(LiveRegion, null, isSingleGrid ? currentMonthLabel : `${prevMonthLabel}, ${currentMonthLabel}`)));
20
22
  }
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["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,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,UAAU,MAAM,0CAA0C,CAAC;AAYlE,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,GACK;IACpB,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/D,OAAO,CACL;QACE,6BAAK,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC;YACvC,oBAAC,eAAe,IAAC,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,GAAI;YACpG,4BAAI,SAAS,EAAE,MAAM,CAAC,gCAAgC,CAAC;gBACpD,CAAC,YAAY,IAAI,CAChB,8BAAM,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,GAAG,eAAe,YAAY,IACjF,cAAc,CACV,CACR;gBACD,8BAAM,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,GAAG,eAAe,eAAe,IACpF,iBAAiB,CACb,CACJ;YACL,oBAAC,eAAe,IAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,GAAI,CAC5F;QACN,oBAAC,UAAU,QAAE,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,cAAc,KAAK,iBAAiB,EAAE,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 { PrevMonthButton, NextMonthButton } from './header-button';\nimport LiveRegion from '../../../internal/components/live-region';\n\ninterface CalendarHeaderProps {\n baseDate: Date;\n locale: string;\n onChangeMonth: (date: Date) => void;\n previousMonthLabel?: string;\n nextMonthLabel?: string;\n isSingleGrid: boolean;\n headingIdPrefix: string;\n}\n\nexport default function CalendarHeader({\n baseDate,\n locale,\n onChangeMonth,\n previousMonthLabel,\n nextMonthLabel,\n isSingleGrid,\n headingIdPrefix,\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 <PrevMonthButton ariaLabel={previousMonthLabel} baseDate={baseDate} onChangeMonth={onChangeMonth} />\n <h2 className={styles['calendar-header-months-wrapper']}>\n {!isSingleGrid && (\n <span className={styles['calendar-header-month']} id={`${headingIdPrefix}-prevmonth`}>\n {prevMonthLabel}\n </span>\n )}\n <span className={styles['calendar-header-month']} id={`${headingIdPrefix}-currentmonth`}>\n {currentMonthLabel}\n </span>\n </h2>\n <NextMonthButton ariaLabel={nextMonthLabel} baseDate={baseDate} onChangeMonth={onChangeMonth} />\n </div>\n <LiveRegion>{isSingleGrid ? currentMonthLabel : `${prevMonthLabel}, ${currentMonthLabel}`}</LiveRegion>\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["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,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,UAAU,MAAM,0CAA0C,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAY3D,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,MAAM,EACN,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,eAAe,GACK;IACpB,MAAM,IAAI,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,cAAc,GAAG,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE/D,OAAO,CACL;QACE,6BAAK,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC;YACvC,oBAAC,eAAe,IACd,SAAS,EAAE,IAAI,CAAC,wBAAwB,EAAE,kBAAkB,CAAC,EAC7D,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,GAC5B;YACF,4BAAI,SAAS,EAAE,MAAM,CAAC,gCAAgC,CAAC;gBACpD,CAAC,YAAY,IAAI,CAChB,8BAAM,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,GAAG,eAAe,YAAY,IACjF,cAAc,CACV,CACR;gBACD,8BAAM,SAAS,EAAE,MAAM,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,GAAG,eAAe,eAAe,IACpF,iBAAiB,CACb,CACJ;YACL,oBAAC,eAAe,IACd,SAAS,EAAE,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,EACrD,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,GAC5B,CACE;QACN,oBAAC,UAAU,QAAE,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,cAAc,KAAK,iBAAiB,EAAE,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 { PrevMonthButton, NextMonthButton } from './header-button';\nimport LiveRegion from '../../../internal/components/live-region';\nimport { useInternalI18n } from '../../../i18n/context.js';\n\ninterface CalendarHeaderProps {\n baseDate: Date;\n locale: string;\n onChangeMonth: (date: Date) => void;\n previousMonthLabel?: string;\n nextMonthLabel?: string;\n isSingleGrid: boolean;\n headingIdPrefix: string;\n}\n\nexport default function CalendarHeader({\n baseDate,\n locale,\n onChangeMonth,\n previousMonthLabel,\n nextMonthLabel,\n isSingleGrid,\n headingIdPrefix,\n}: CalendarHeaderProps) {\n const i18n = useInternalI18n('calendar');\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 <PrevMonthButton\n ariaLabel={i18n('previousMonthAriaLabel', previousMonthLabel)}\n baseDate={baseDate}\n onChangeMonth={onChangeMonth}\n />\n <h2 className={styles['calendar-header-months-wrapper']}>\n {!isSingleGrid && (\n <span className={styles['calendar-header-month']} id={`${headingIdPrefix}-prevmonth`}>\n {prevMonthLabel}\n </span>\n )}\n <span className={styles['calendar-header-month']} id={`${headingIdPrefix}-currentmonth`}>\n {currentMonthLabel}\n </span>\n </h2>\n <NextMonthButton\n ariaLabel={i18n('nextMonthAriaLabel', nextMonthLabel)}\n baseDate={baseDate}\n onChangeMonth={onChangeMonth}\n />\n </div>\n <LiveRegion>{isSingleGrid ? currentMonthLabel : `${prevMonthLabel}, ${currentMonthLabel}`}</LiveRegion>\n </>\n );\n}\n"]}
@@ -158,7 +158,7 @@ export default function DateRangePickerCalendar({ value, setValue, locale = '',
158
158
  React.createElement("div", { className: clsx(styles.calendar, {
159
159
  [styles['one-grid']]: isSingleGrid,
160
160
  }) },
161
- React.createElement(CalendarHeader, { baseDate: currentMonth, locale: normalizedLocale, onChangeMonth: onHeaderChangeMonthHandler, previousMonthLabel: i18n('i18nStrings.previousMonthAriaLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousMonthAriaLabel), nextMonthLabel: i18n('i18nStrings.nextMonthAriaLabel', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextMonthAriaLabel), isSingleGrid: isSingleGrid, headingIdPrefix: headingIdPrefix }),
161
+ React.createElement(CalendarHeader, { baseDate: currentMonth, locale: normalizedLocale, onChangeMonth: onHeaderChangeMonthHandler, previousMonthLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.previousMonthAriaLabel, nextMonthLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.nextMonthAriaLabel, isSingleGrid: isSingleGrid, headingIdPrefix: headingIdPrefix }),
162
162
  React.createElement(Grids, { isSingleGrid: isSingleGrid, locale: normalizedLocale, baseDate: currentMonth, focusedDate: focusedDate, onFocusedDateChange: setFocusedDate, isDateEnabled: isDateEnabled, onSelectDate: onSelectDateHandler, onChangeMonth: setCurrentMonth, startOfWeek: normalizedStartOfWeek, todayAriaLabel: i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.todayAriaLabel, selectedStartDate: parseDate(value.start.date, true), selectedEndDate: parseDate(value.end.date, true), headingIdPrefix: headingIdPrefix })),
163
163
  React.createElement(RangeInputs, { startDate: value.start.date, onChangeStartDate: onChangeStartDate, startTime: value.start.time, onChangeStartTime: value => setValue(oldValue => (Object.assign(Object.assign({}, oldValue), { start: Object.assign(Object.assign({}, oldValue.start), { time: value }) }))), endDate: value.end.date, onChangeEndDate: value => setValue(oldValue => (Object.assign(Object.assign({}, oldValue), { end: Object.assign(Object.assign({}, oldValue.end), { date: value }) }))), endTime: value.end.time, onChangeEndTime: value => setValue(oldValue => (Object.assign(Object.assign({}, oldValue), { end: Object.assign(Object.assign({}, oldValue.end), { time: value }) }))), i18nStrings: i18nStrings, dateOnly: dateOnly, timeInputFormat: timeInputFormat }),
164
164
  customAbsoluteRangeControl && React.createElement("div", null, customAbsoluteRangeControl(value, interceptedSetValue)))),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["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\n\nimport React, { useState } from 'react';\nimport { addMonths, endOfDay, isAfter, isBefore, isSameMonth, startOfDay, startOfMonth } from 'date-fns';\nimport styles from '../styles.css.js';\nimport SpaceBetween from '../../space-between/internal';\nimport { BaseComponentProps } from '../../internal/base-component';\nimport { DateRangePickerProps, RangeCalendarI18nStrings } from '../interfaces';\nimport CalendarHeader from './header';\nimport { Grids } from './grids';\nimport { TimeInputProps } from '../../time-input/interfaces';\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 { normalizeLocale, normalizeStartOfWeek } from '../../internal/utils/locale';\nimport { parseDate, splitDateTime, formatDateTime } from '../../internal/utils/date-time';\nimport { getBaseDate } from '../../calendar/utils/navigation';\nimport { useMobile } from '../../internal/hooks/use-mobile/index.js';\nimport RangeInputs from './range-inputs.js';\nimport { findDateToFocus, findMonthToDisplay } from './utils';\nimport { useInternalI18n } from '../../internal/i18n/context.js';\n\nexport interface DateRangePickerCalendarProps extends BaseComponentProps {\n value: DateRangePickerProps.PendingAbsoluteValue;\n setValue: React.Dispatch<React.SetStateAction<DateRangePickerProps.PendingAbsoluteValue>>;\n locale?: string;\n startOfWeek?: number;\n isDateEnabled?: (date: Date) => boolean;\n i18nStrings?: RangeCalendarI18nStrings;\n dateOnly?: boolean;\n timeInputFormat?: TimeInputProps.Format;\n customAbsoluteRangeControl: DateRangePickerProps.AbsoluteRangeControl | undefined;\n}\n\nexport default function DateRangePickerCalendar({\n value,\n setValue,\n locale = '',\n startOfWeek,\n isDateEnabled = () => true,\n i18nStrings,\n dateOnly = false,\n timeInputFormat = 'hh:mm:ss',\n customAbsoluteRangeControl,\n}: DateRangePickerCalendarProps) {\n const isSingleGrid = useMobile();\n const normalizedLocale = normalizeLocale('DateRangePicker', locale);\n const normalizedStartOfWeek = normalizeStartOfWeek(startOfWeek, normalizedLocale);\n const i18n = useInternalI18n('date-range-picker');\n\n const [announcement, setAnnouncement] = useState('');\n const [currentMonth, setCurrentMonth] = useState(() => findMonthToDisplay(value, isSingleGrid));\n const [focusedDate, setFocusedDate] = useState<Date | null>(() => {\n if (value.start.date) {\n const startDate = parseDate(value.start.date);\n if (isSameMonth(startDate, currentMonth)) {\n return startDate;\n }\n if (!isSingleGrid && isSameMonth(startDate, addMonths(currentMonth, -1))) {\n return startDate;\n }\n }\n return findDateToFocus(parseDate(value.start.date), currentMonth, isDateEnabled);\n });\n\n const updateCurrentMonth = (startDate: string) => {\n if (startDate.length >= 8) {\n const newCurrentMonth = startOfMonth(parseDate(startDate));\n setCurrentMonth(isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, 1));\n }\n };\n\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 i18n('i18nStrings.startDateLabel', i18nStrings?.startDateLabel) +\n ', ' +\n getDateLabel(normalizedLocale, startDate) +\n ', ' +\n i18n('i18nStrings.startTimeLabel', i18nStrings?.startTimeLabel) +\n ', ' +\n renderTimeLabel(normalizedLocale, startDate, timeInputFormat) +\n '. '\n );\n };\n\n const announceEnd = (endDate: Date) => {\n return (\n i18n('i18nStrings.endDateLabel', i18nStrings?.endDateLabel) +\n ', ' +\n getDateLabel(normalizedLocale, endDate) +\n ', ' +\n i18n('i18nStrings.endTimeLabel', i18nStrings?.endTimeLabel) +\n ', ' +\n renderTimeLabel(normalizedLocale, endDate, timeInputFormat) +\n '. '\n );\n };\n\n const renderSelectedAbsoluteRangeAriaLive = i18n(\n 'i18nStrings.renderSelectedAbsoluteRangeAriaLive',\n i18nStrings?.renderSelectedAbsoluteRangeAriaLive,\n format => (startDate, endDate) => format({ startDate, endDate })\n );\n\n const announceRange = (startDate: Date, endDate: Date) => {\n if (!renderSelectedAbsoluteRangeAriaLive) {\n return `${getDateLabel(normalizedLocale, startDate)} – ${getDateLabel(normalizedLocale, endDate)}`;\n }\n return renderSelectedAbsoluteRangeAriaLive(\n getDateLabel(normalizedLocale, startDate),\n getDateLabel(normalizedLocale, endDate)\n );\n };\n\n const onSelectDateHandler = (selectedDate: Date) => {\n const { start, end } = value;\n let newStart: Date | undefined = undefined;\n let newEnd: Date | null | undefined = undefined;\n let announcement = '';\n\n // If both fields are empty, we set the start date\n if (!start.date && !end.date) {\n newStart = startOfDay(selectedDate);\n announcement = announceStart(newStart);\n }\n // If both fields are set, we start new\n else if (start.date && end.date) {\n newStart = startOfDay(selectedDate);\n newEnd = null;\n announcement = announceStart(newStart);\n }\n // If only the END date is empty, we fill it (and swap dates if needed)\n else if (start.date && !end.date) {\n const parsedStartDate = parseDate(start.date);\n\n if (isBefore(selectedDate, parsedStartDate)) {\n // The user has selected the range backwards, so we swap start and end\n newStart = startOfDay(selectedDate);\n newEnd = endOfDay(parsedStartDate);\n announcement = announceStart(newStart) + announceRange(newStart, newEnd);\n } else {\n newEnd = endOfDay(selectedDate);\n announcement = announceEnd(newEnd) + announceRange(parsedStartDate, newEnd);\n }\n }\n // If only the START date is empty, we fill it (and swap dates if needed)\n else if (!start.date && end.date) {\n const existingEndDate = parseDate(end.date);\n\n if (isAfter(selectedDate, existingEndDate)) {\n // The user has selected the range backwards, so we swap start and end\n newStart = startOfDay(existingEndDate);\n newEnd = endOfDay(selectedDate);\n announcement = announceEnd(newEnd) + announceRange(newStart, newEnd);\n } else {\n newStart = startOfDay(selectedDate);\n announcement = announceStart(newStart) + announceRange(newStart, existingEndDate);\n }\n }\n\n const formatValue = (\n date: Date | null | undefined,\n previous: DateRangePickerProps.DateTimeStrings\n ): DateRangePickerProps.DateTimeStrings => {\n if (date === null) {\n // explicitly reset to empty\n return { date: '', time: '' };\n } else if (date === undefined) {\n // keep old value\n return previous;\n }\n return splitDateTime(formatDateTime(date));\n };\n\n setValue({\n start: formatValue(newStart, value.start),\n end: formatValue(newEnd, value.end),\n });\n setAnnouncement(announcement);\n };\n\n const onHeaderChangeMonthHandler = (newCurrentMonth: Date) => {\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 = (value: string) => {\n setValue((oldValue: DateRangePickerProps.PendingAbsoluteValue) => ({\n ...oldValue,\n start: { ...oldValue.start, date: value },\n }));\n updateCurrentMonth(value);\n };\n\n const interceptedSetValue: DateRangePickerCalendarProps['setValue'] = newValue => {\n setValue(oldValue => {\n const updated = typeof newValue === 'function' ? newValue(oldValue) : newValue;\n updateCurrentMonth(updated.start.date);\n return updated;\n });\n };\n\n const headingIdPrefix = useUniqueId('date-range-picker-calendar-heading');\n return (\n <>\n <div\n className={clsx(styles['calendar-container'], {\n [styles['one-grid']]: isSingleGrid,\n })}\n >\n <SpaceBetween size=\"s\">\n <div\n className={clsx(styles.calendar, {\n [styles['one-grid']]: isSingleGrid,\n })}\n >\n <CalendarHeader\n baseDate={currentMonth}\n locale={normalizedLocale}\n onChangeMonth={onHeaderChangeMonthHandler}\n previousMonthLabel={i18n('i18nStrings.previousMonthAriaLabel', i18nStrings?.previousMonthAriaLabel)}\n nextMonthLabel={i18n('i18nStrings.nextMonthAriaLabel', i18nStrings?.nextMonthAriaLabel)}\n isSingleGrid={isSingleGrid}\n headingIdPrefix={headingIdPrefix}\n />\n\n <Grids\n isSingleGrid={isSingleGrid}\n locale={normalizedLocale}\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={parseDate(value.start.date, true)}\n selectedEndDate={parseDate(value.end.date, true)}\n headingIdPrefix={headingIdPrefix}\n />\n </div>\n\n <RangeInputs\n startDate={value.start.date}\n onChangeStartDate={onChangeStartDate}\n startTime={value.start.time}\n onChangeStartTime={value =>\n setValue(oldValue => ({ ...oldValue, start: { ...oldValue.start, time: value } }))\n }\n endDate={value.end.date}\n onChangeEndDate={value => setValue(oldValue => ({ ...oldValue, end: { ...oldValue.end, date: value } }))}\n endTime={value.end.time}\n onChangeEndTime={value => setValue(oldValue => ({ ...oldValue, end: { ...oldValue.end, time: value } }))}\n i18nStrings={i18nStrings}\n dateOnly={dateOnly}\n timeInputFormat={timeInputFormat}\n />\n {customAbsoluteRangeControl && <div>{customAbsoluteRangeControl(value, interceptedSetValue)}</div>}\n </SpaceBetween>\n </div>\n <LiveRegion className={styles['calendar-aria-live']}>{announcement}</LiveRegion>\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["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\n\nimport React, { useState } from 'react';\nimport { addMonths, endOfDay, isAfter, isBefore, isSameMonth, startOfDay, startOfMonth } from 'date-fns';\nimport styles from '../styles.css.js';\nimport SpaceBetween from '../../space-between/internal';\nimport { BaseComponentProps } from '../../internal/base-component';\nimport { DateRangePickerProps, RangeCalendarI18nStrings } from '../interfaces';\nimport CalendarHeader from './header';\nimport { Grids } from './grids';\nimport { TimeInputProps } from '../../time-input/interfaces';\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 { normalizeLocale, normalizeStartOfWeek } from '../../internal/utils/locale';\nimport { parseDate, splitDateTime, formatDateTime } from '../../internal/utils/date-time';\nimport { getBaseDate } from '../../calendar/utils/navigation';\nimport { useMobile } from '../../internal/hooks/use-mobile/index.js';\nimport RangeInputs from './range-inputs.js';\nimport { findDateToFocus, findMonthToDisplay } from './utils';\nimport { useInternalI18n } from '../../internal/i18n/context.js';\n\nexport interface DateRangePickerCalendarProps extends BaseComponentProps {\n value: DateRangePickerProps.PendingAbsoluteValue;\n setValue: React.Dispatch<React.SetStateAction<DateRangePickerProps.PendingAbsoluteValue>>;\n locale?: string;\n startOfWeek?: number;\n isDateEnabled?: (date: Date) => boolean;\n i18nStrings?: RangeCalendarI18nStrings;\n dateOnly?: boolean;\n timeInputFormat?: TimeInputProps.Format;\n customAbsoluteRangeControl: DateRangePickerProps.AbsoluteRangeControl | undefined;\n}\n\nexport default function DateRangePickerCalendar({\n value,\n setValue,\n locale = '',\n startOfWeek,\n isDateEnabled = () => true,\n i18nStrings,\n dateOnly = false,\n timeInputFormat = 'hh:mm:ss',\n customAbsoluteRangeControl,\n}: DateRangePickerCalendarProps) {\n const isSingleGrid = useMobile();\n const normalizedLocale = normalizeLocale('DateRangePicker', locale);\n const normalizedStartOfWeek = normalizeStartOfWeek(startOfWeek, normalizedLocale);\n const i18n = useInternalI18n('date-range-picker');\n\n const [announcement, setAnnouncement] = useState('');\n const [currentMonth, setCurrentMonth] = useState(() => findMonthToDisplay(value, isSingleGrid));\n const [focusedDate, setFocusedDate] = useState<Date | null>(() => {\n if (value.start.date) {\n const startDate = parseDate(value.start.date);\n if (isSameMonth(startDate, currentMonth)) {\n return startDate;\n }\n if (!isSingleGrid && isSameMonth(startDate, addMonths(currentMonth, -1))) {\n return startDate;\n }\n }\n return findDateToFocus(parseDate(value.start.date), currentMonth, isDateEnabled);\n });\n\n const updateCurrentMonth = (startDate: string) => {\n if (startDate.length >= 8) {\n const newCurrentMonth = startOfMonth(parseDate(startDate));\n setCurrentMonth(isSingleGrid ? newCurrentMonth : addMonths(newCurrentMonth, 1));\n }\n };\n\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 i18n('i18nStrings.startDateLabel', i18nStrings?.startDateLabel) +\n ', ' +\n getDateLabel(normalizedLocale, startDate) +\n ', ' +\n i18n('i18nStrings.startTimeLabel', i18nStrings?.startTimeLabel) +\n ', ' +\n renderTimeLabel(normalizedLocale, startDate, timeInputFormat) +\n '. '\n );\n };\n\n const announceEnd = (endDate: Date) => {\n return (\n i18n('i18nStrings.endDateLabel', i18nStrings?.endDateLabel) +\n ', ' +\n getDateLabel(normalizedLocale, endDate) +\n ', ' +\n i18n('i18nStrings.endTimeLabel', i18nStrings?.endTimeLabel) +\n ', ' +\n renderTimeLabel(normalizedLocale, endDate, timeInputFormat) +\n '. '\n );\n };\n\n const renderSelectedAbsoluteRangeAriaLive = i18n(\n 'i18nStrings.renderSelectedAbsoluteRangeAriaLive',\n i18nStrings?.renderSelectedAbsoluteRangeAriaLive,\n format => (startDate, endDate) => format({ startDate, endDate })\n );\n\n const announceRange = (startDate: Date, endDate: Date) => {\n if (!renderSelectedAbsoluteRangeAriaLive) {\n return `${getDateLabel(normalizedLocale, startDate)} – ${getDateLabel(normalizedLocale, endDate)}`;\n }\n return renderSelectedAbsoluteRangeAriaLive(\n getDateLabel(normalizedLocale, startDate),\n getDateLabel(normalizedLocale, endDate)\n );\n };\n\n const onSelectDateHandler = (selectedDate: Date) => {\n const { start, end } = value;\n let newStart: Date | undefined = undefined;\n let newEnd: Date | null | undefined = undefined;\n let announcement = '';\n\n // If both fields are empty, we set the start date\n if (!start.date && !end.date) {\n newStart = startOfDay(selectedDate);\n announcement = announceStart(newStart);\n }\n // If both fields are set, we start new\n else if (start.date && end.date) {\n newStart = startOfDay(selectedDate);\n newEnd = null;\n announcement = announceStart(newStart);\n }\n // If only the END date is empty, we fill it (and swap dates if needed)\n else if (start.date && !end.date) {\n const parsedStartDate = parseDate(start.date);\n\n if (isBefore(selectedDate, parsedStartDate)) {\n // The user has selected the range backwards, so we swap start and end\n newStart = startOfDay(selectedDate);\n newEnd = endOfDay(parsedStartDate);\n announcement = announceStart(newStart) + announceRange(newStart, newEnd);\n } else {\n newEnd = endOfDay(selectedDate);\n announcement = announceEnd(newEnd) + announceRange(parsedStartDate, newEnd);\n }\n }\n // If only the START date is empty, we fill it (and swap dates if needed)\n else if (!start.date && end.date) {\n const existingEndDate = parseDate(end.date);\n\n if (isAfter(selectedDate, existingEndDate)) {\n // The user has selected the range backwards, so we swap start and end\n newStart = startOfDay(existingEndDate);\n newEnd = endOfDay(selectedDate);\n announcement = announceEnd(newEnd) + announceRange(newStart, newEnd);\n } else {\n newStart = startOfDay(selectedDate);\n announcement = announceStart(newStart) + announceRange(newStart, existingEndDate);\n }\n }\n\n const formatValue = (\n date: Date | null | undefined,\n previous: DateRangePickerProps.DateTimeStrings\n ): DateRangePickerProps.DateTimeStrings => {\n if (date === null) {\n // explicitly reset to empty\n return { date: '', time: '' };\n } else if (date === undefined) {\n // keep old value\n return previous;\n }\n return splitDateTime(formatDateTime(date));\n };\n\n setValue({\n start: formatValue(newStart, value.start),\n end: formatValue(newEnd, value.end),\n });\n setAnnouncement(announcement);\n };\n\n const onHeaderChangeMonthHandler = (newCurrentMonth: Date) => {\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 = (value: string) => {\n setValue((oldValue: DateRangePickerProps.PendingAbsoluteValue) => ({\n ...oldValue,\n start: { ...oldValue.start, date: value },\n }));\n updateCurrentMonth(value);\n };\n\n const interceptedSetValue: DateRangePickerCalendarProps['setValue'] = newValue => {\n setValue(oldValue => {\n const updated = typeof newValue === 'function' ? newValue(oldValue) : newValue;\n updateCurrentMonth(updated.start.date);\n return updated;\n });\n };\n\n const headingIdPrefix = useUniqueId('date-range-picker-calendar-heading');\n return (\n <>\n <div\n className={clsx(styles['calendar-container'], {\n [styles['one-grid']]: isSingleGrid,\n })}\n >\n <SpaceBetween size=\"s\">\n <div\n className={clsx(styles.calendar, {\n [styles['one-grid']]: isSingleGrid,\n })}\n >\n <CalendarHeader\n baseDate={currentMonth}\n locale={normalizedLocale}\n onChangeMonth={onHeaderChangeMonthHandler}\n previousMonthLabel={i18nStrings?.previousMonthAriaLabel}\n nextMonthLabel={i18nStrings?.nextMonthAriaLabel}\n isSingleGrid={isSingleGrid}\n headingIdPrefix={headingIdPrefix}\n />\n\n <Grids\n isSingleGrid={isSingleGrid}\n locale={normalizedLocale}\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={parseDate(value.start.date, true)}\n selectedEndDate={parseDate(value.end.date, true)}\n headingIdPrefix={headingIdPrefix}\n />\n </div>\n\n <RangeInputs\n startDate={value.start.date}\n onChangeStartDate={onChangeStartDate}\n startTime={value.start.time}\n onChangeStartTime={value =>\n setValue(oldValue => ({ ...oldValue, start: { ...oldValue.start, time: value } }))\n }\n endDate={value.end.date}\n onChangeEndDate={value => setValue(oldValue => ({ ...oldValue, end: { ...oldValue.end, date: value } }))}\n endTime={value.end.time}\n onChangeEndTime={value => setValue(oldValue => ({ ...oldValue, end: { ...oldValue.end, time: value } }))}\n i18nStrings={i18nStrings}\n dateOnly={dateOnly}\n timeInputFormat={timeInputFormat}\n />\n {customAbsoluteRangeControl && <div>{customAbsoluteRangeControl(value, interceptedSetValue)}</div>}\n </SpaceBetween>\n </div>\n <LiveRegion className={styles['calendar-aria-live']}>{announcement}</LiveRegion>\n </>\n );\n}\n"]}
@@ -3,6 +3,7 @@ import { KeyboardEventHandler, MouseEventHandler, ReactNode } from 'react';
3
3
  export declare const componentName = "ExpandableSection";
4
4
  interface ExpandableDefaultHeaderProps {
5
5
  id: string;
6
+ descriptionId?: string;
6
7
  className?: string;
7
8
  children?: ReactNode;
8
9
  expanded: boolean;
@@ -25,6 +26,6 @@ interface ExpandableSectionHeaderProps extends Omit<ExpandableDefaultHeaderProps
25
26
  headingTagOverride?: ExpandableSectionProps.HeadingTag;
26
27
  ariaLabelledBy?: string;
27
28
  }
28
- export declare const ExpandableSectionHeader: ({ id, className, variant, header, headerText, headerDescription, headerCounter, headerInfo, headerActions, headingTagOverride, expanded, ariaControls, ariaLabel, ariaLabelledBy, onKeyUp, onKeyDown, onClick, }: ExpandableSectionHeaderProps) => JSX.Element;
29
+ export declare const ExpandableSectionHeader: ({ id, descriptionId, className, variant, header, headerText, headerDescription, headerCounter, headerInfo, headerActions, headingTagOverride, expanded, ariaControls, ariaLabel, ariaLabelledBy, onKeyUp, onKeyDown, onClick, }: ExpandableSectionHeaderProps) => JSX.Element;
29
30
  export {};
30
31
  //# sourceMappingURL=expandable-section-header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"expandable-section-header.d.ts","sourceRoot":"lib/default/","sources":["expandable-section/expandable-section-header.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAUlF,eAAO,MAAM,aAAa,sBAAsB,CAAC;AAEjD,UAAU,4BAA4B;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;IAClB,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC;CACzC;AAcD,UAAU,4BAA6B,SAAQ,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,MAAM,CAAC;IACpG,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC;IACxC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAwID,eAAO,MAAM,uBAAuB,qNAkBjC,4BAA4B,gBAsE9B,CAAC"}
1
+ {"version":3,"file":"expandable-section-header.d.ts","sourceRoot":"lib/default/","sources":["expandable-section/expandable-section-header.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAc,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQlF,eAAO,MAAM,aAAa,sBAAsB,CAAC;AAEjD,UAAU,4BAA4B;IACpC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,SAAS,EAAE,oBAAoB,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,GAAG,CAAC,OAAO,CAAC;IAClB,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC;CACzC;AAcD,UAAU,4BAA6B,SAAQ,IAAI,CAAC,4BAA4B,EAAE,UAAU,GAAG,MAAM,CAAC;IACpG,OAAO,EAAE,sBAAsB,CAAC,OAAO,CAAC;IACxC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,aAAa,CAAC,EAAE,SAAS,CAAC;IAC1B,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC;IACvD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAkID,eAAO,MAAM,uBAAuB,oOAmBjC,4BAA4B,gBAuE9B,CAAC"}
@@ -3,8 +3,6 @@ import InternalIcon from '../icon/internal';
3
3
  import clsx from 'clsx';
4
4
  import styles from './styles.css.js';
5
5
  import InternalHeader from '../header/internal';
6
- import ScreenreaderOnly from '../internal/components/screenreader-only';
7
- import { useUniqueId } from '../internal/hooks/use-unique-id';
8
6
  import { isDevelopment } from '../internal/is-development';
9
7
  import { warnOnce } from '../internal/logging';
10
8
  export const componentName = 'ExpandableSection';
@@ -18,27 +16,19 @@ const ExpandableNavigationHeader = ({ id, className, onClick, ariaLabelledBy, ar
18
16
  React.createElement("button", { className: clsx(styles['icon-container'], styles['expand-button']), "aria-labelledby": ariaLabelledBy, "aria-label": ariaLabel, "aria-controls": ariaControls, "aria-expanded": expanded, type: "button" }, icon),
19
17
  children));
20
18
  };
21
- const ExpandableHeaderTextWrapper = ({ id, className, onClick, ariaLabel, ariaControls, expanded, children, icon, headerDescription, headerCounter, headerInfo, headerActions, variant, headingTagOverride, onKeyUp, onKeyDown, }) => {
22
- const screenreaderContentId = useUniqueId('expandable-section-header-content-');
19
+ const ExpandableHeaderTextWrapper = ({ id, descriptionId, className, onClick, ariaLabel, ariaControls, expanded, children, icon, headerDescription, headerCounter, headerInfo, headerActions, variant, headingTagOverride, onKeyUp, onKeyDown, }) => {
23
20
  const isContainer = variant === 'container';
24
21
  const HeadingTag = headingTagOverride || 'div';
25
22
  const hasInteractiveElements = isContainer && (headerInfo || headerActions);
26
23
  const listeners = { onClick, onKeyDown, onKeyUp };
27
24
  const wrapperListeners = hasInteractiveElements ? undefined : listeners;
28
25
  const headerButtonListeners = hasInteractiveElements ? listeners : undefined;
29
- const headerButton = (React.createElement("span", Object.assign({ className: clsx(styles['expand-button'], isContainer ? styles['header-container-button'] : styles['header-button']), role: "button", tabIndex: 0, "aria-label": ariaLabel, "aria-labelledby": ariaLabel || !isContainer ? undefined : screenreaderContentId, "aria-controls": ariaControls, "aria-expanded": expanded }, headerButtonListeners),
26
+ const headerButton = (React.createElement("span", Object.assign({ className: clsx(styles['expand-button'], isContainer ? styles['header-container-button'] : styles['header-button']), role: "button", tabIndex: 0, "aria-label": ariaLabel, "aria-labelledby": !ariaLabel && isContainer ? id : undefined, "aria-describedby": isContainer && headerDescription ? descriptionId : undefined, "aria-controls": ariaControls, "aria-expanded": expanded }, headerButtonListeners),
30
27
  React.createElement("span", { className: clsx(styles['icon-container'], styles[`icon-container-${variant}`]) }, icon),
31
- React.createElement("span", null, children)));
32
- return (React.createElement("div", Object.assign({ id: id, className: clsx(className, hasInteractiveElements && styles['with-interactive-elements']) }, wrapperListeners),
33
- isContainer ? (React.createElement(InternalHeader, { variant: "h2", description: headerDescription, counter: headerCounter, info: headerInfo, actions: headerActions, headingTagOverride: headingTagOverride }, headerButton)) : (React.createElement(HeadingTag, { className: styles['header-wrapper'] }, headerButton)),
34
- isContainer && (React.createElement(ScreenreaderOnly, { id: screenreaderContentId },
35
- children,
36
- " ",
37
- headerCounter,
38
- " ",
39
- headerDescription))));
28
+ React.createElement("span", { id: id }, children)));
29
+ return (React.createElement("div", Object.assign({ className: clsx(className, hasInteractiveElements && styles['with-interactive-elements']) }, wrapperListeners), isContainer ? (React.createElement(InternalHeader, { variant: "h2", description: headerDescription && React.createElement("span", { id: descriptionId }, headerDescription), counter: headerCounter, info: headerInfo, actions: headerActions, headingTagOverride: headingTagOverride }, headerButton)) : (React.createElement(HeadingTag, { className: styles['header-wrapper'] }, headerButton))));
40
30
  };
41
- export const ExpandableSectionHeader = ({ id, className, variant, header, headerText, headerDescription, headerCounter, headerInfo, headerActions, headingTagOverride, expanded, ariaControls, ariaLabel, ariaLabelledBy, onKeyUp, onKeyDown, onClick, }) => {
31
+ export const ExpandableSectionHeader = ({ id, descriptionId, className, variant, header, headerText, headerDescription, headerCounter, headerInfo, headerActions, headingTagOverride, expanded, ariaControls, ariaLabel, ariaLabelledBy, onKeyUp, onKeyDown, onClick, }) => {
42
32
  const icon = (React.createElement(InternalIcon, { size: variant === 'container' ? 'medium' : 'normal', className: clsx(styles.icon, expanded && styles.expanded), name: "caret-down-filled" }));
43
33
  const defaultHeaderProps = {
44
34
  id: id,
@@ -57,7 +47,7 @@ export const ExpandableSectionHeader = ({ id, className, variant, header, header
57
47
  return (React.createElement(ExpandableNavigationHeader, Object.assign({ className: clsx(className, wrapperClassName), ariaLabelledBy: ariaLabelledBy }, defaultHeaderProps), headerText !== null && headerText !== void 0 ? headerText : header));
58
48
  }
59
49
  if (headerText) {
60
- return (React.createElement(ExpandableHeaderTextWrapper, Object.assign({ className: clsx(className, wrapperClassName, expanded && styles.expanded), headerDescription: headerDescription, headerCounter: headerCounter, headerInfo: headerInfo, headerActions: headerActions, headingTagOverride: headingTagOverride, onKeyUp: onKeyUp, onKeyDown: onKeyDown }, defaultHeaderProps), headerText));
50
+ return (React.createElement(ExpandableHeaderTextWrapper, Object.assign({ className: clsx(className, wrapperClassName, expanded && styles.expanded), descriptionId: descriptionId, headerDescription: headerDescription, headerCounter: headerCounter, headerInfo: headerInfo, headerActions: headerActions, headingTagOverride: headingTagOverride, onKeyUp: onKeyUp, onKeyDown: onKeyDown }, defaultHeaderProps), headerText));
61
51
  }
62
52
  if (variant === 'container' && header && isDevelopment) {
63
53
  warnOnce(componentName, 'Use `headerText` instead of `header` to provide the button within the heading for a11y.');