@cloudscape-design/components 3.0.26 → 3.0.29

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 (230) hide show
  1. package/alert/internal.d.ts.map +1 -1
  2. package/alert/internal.js +3 -4
  3. package/alert/internal.js.map +1 -1
  4. package/app-layout/index.js +1 -1
  5. package/app-layout/index.js.map +1 -1
  6. package/breadcrumb-group/internal.d.ts.map +1 -1
  7. package/breadcrumb-group/internal.js +4 -4
  8. package/breadcrumb-group/internal.js.map +1 -1
  9. package/button-dropdown/interfaces.d.ts +1 -1
  10. package/button-dropdown/interfaces.d.ts.map +1 -1
  11. package/button-dropdown/interfaces.js.map +1 -1
  12. package/button-dropdown/internal.js +1 -1
  13. package/button-dropdown/internal.js.map +1 -1
  14. package/cards/index.js +1 -1
  15. package/cards/index.js.map +1 -1
  16. package/code-editor/index.d.ts.map +1 -1
  17. package/code-editor/index.js +2 -3
  18. package/code-editor/index.js.map +1 -1
  19. package/container/internal.js +1 -1
  20. package/container/internal.js.map +1 -1
  21. package/container/use-sticky-header.js +1 -1
  22. package/container/use-sticky-header.js.map +1 -1
  23. package/date-picker/calendar/index.d.ts.map +1 -1
  24. package/date-picker/calendar/index.js +2 -1
  25. package/date-picker/calendar/index.js.map +1 -1
  26. package/date-picker/calendar/utils/memoized-date.d.ts +2 -0
  27. package/date-picker/calendar/utils/memoized-date.d.ts.map +1 -0
  28. package/date-picker/calendar/utils/memoized-date.js +13 -0
  29. package/date-picker/calendar/utils/memoized-date.js.map +1 -0
  30. package/date-picker/embedded.js +1 -1
  31. package/date-picker/embedded.js.map +1 -1
  32. package/date-picker/index.d.ts.map +1 -1
  33. package/date-picker/index.js +3 -4
  34. package/date-picker/index.js.map +1 -1
  35. package/date-picker/use-date-picker.d.ts.map +1 -1
  36. package/date-picker/use-date-picker.js +1 -1
  37. package/date-picker/use-date-picker.js.map +1 -1
  38. package/date-range-picker/calendar/grids/day/index.js +1 -1
  39. package/date-range-picker/calendar/grids/day/index.js.map +1 -1
  40. package/date-range-picker/calendar/index.d.ts.map +1 -1
  41. package/date-range-picker/calendar/index.js +9 -11
  42. package/date-range-picker/calendar/index.js.map +1 -1
  43. package/date-range-picker/index.d.ts.map +1 -1
  44. package/date-range-picker/index.js +4 -4
  45. package/date-range-picker/index.js.map +1 -1
  46. package/date-range-picker/time-offset.d.ts +0 -7
  47. package/date-range-picker/time-offset.d.ts.map +1 -1
  48. package/date-range-picker/time-offset.js +4 -60
  49. package/date-range-picker/time-offset.js.map +1 -1
  50. package/flashbar/index.js +1 -1
  51. package/flashbar/index.js.map +1 -1
  52. package/form-field/internal.d.ts.map +1 -1
  53. package/form-field/internal.js +3 -6
  54. package/form-field/internal.js.map +1 -1
  55. package/header/internal.d.ts.map +1 -1
  56. package/header/internal.js +3 -6
  57. package/header/internal.js.map +1 -1
  58. package/icon/icons.js +1 -1
  59. package/icon/interfaces.d.ts +1 -1
  60. package/icon/interfaces.d.ts.map +1 -1
  61. package/icon/interfaces.js.map +1 -1
  62. package/icon/internal.js +1 -1
  63. package/icon/internal.js.map +1 -1
  64. package/input/styles.css.js +13 -13
  65. package/input/styles.scoped.css +35 -37
  66. package/input/styles.selectors.js +13 -13
  67. package/internal/components/checkbox-icon/index.d.ts.map +1 -1
  68. package/internal/components/checkbox-icon/index.js +3 -4
  69. package/internal/components/checkbox-icon/index.js.map +1 -1
  70. package/internal/components/content-layout/index.d.ts.map +1 -1
  71. package/internal/components/content-layout/index.js +3 -4
  72. package/internal/components/content-layout/index.js.map +1 -1
  73. package/internal/components/date-input/index.d.ts +1 -1
  74. package/internal/components/date-input/index.d.ts.map +1 -1
  75. package/internal/components/date-input/index.js +6 -4
  76. package/internal/components/date-input/index.js.map +1 -1
  77. package/internal/components/dropdown/index.js +1 -1
  78. package/internal/components/dropdown/index.js.map +1 -1
  79. package/internal/components/masked-input/utils/mask-format.d.ts.map +1 -1
  80. package/internal/components/masked-input/utils/mask-format.js +2 -1
  81. package/internal/components/masked-input/utils/mask-format.js.map +1 -1
  82. package/internal/components/masked-input/utils/strings.d.ts +0 -1
  83. package/internal/components/masked-input/utils/strings.d.ts.map +1 -1
  84. package/internal/components/masked-input/utils/strings.js +0 -6
  85. package/internal/components/masked-input/utils/strings.js.map +1 -1
  86. package/internal/environment.js +1 -1
  87. package/internal/hooks/use-mutation-observer/index.d.ts +5 -0
  88. package/internal/hooks/use-mutation-observer/index.d.ts.map +1 -1
  89. package/internal/hooks/use-mutation-observer/index.js +5 -0
  90. package/internal/hooks/use-mutation-observer/index.js.map +1 -1
  91. package/internal/hooks/use-portal-mode-classes/index.js +1 -1
  92. package/internal/hooks/use-portal-mode-classes/index.js.map +1 -1
  93. package/internal/hooks/use-singleton-handler/index.d.ts +2 -1
  94. package/internal/hooks/use-singleton-handler/index.d.ts.map +1 -1
  95. package/internal/hooks/use-singleton-handler/index.js.map +1 -1
  96. package/internal/hooks/use-visual-mode/index.d.ts +1 -1
  97. package/internal/hooks/use-visual-mode/index.d.ts.map +1 -1
  98. package/internal/hooks/use-visual-mode/index.js +16 -11
  99. package/internal/hooks/use-visual-mode/index.js.map +1 -1
  100. package/internal/utils/date-time/display-format.d.ts +9 -0
  101. package/internal/utils/date-time/display-format.d.ts.map +1 -0
  102. package/internal/utils/date-time/display-format.js +15 -0
  103. package/internal/utils/date-time/display-format.js.map +1 -0
  104. package/internal/utils/date-time/format-date.d.ts +7 -0
  105. package/internal/utils/date-time/format-date.d.ts.map +1 -0
  106. package/internal/utils/date-time/format-date.js +15 -0
  107. package/internal/utils/date-time/format-date.js.map +1 -0
  108. package/internal/utils/date-time/format-time.d.ts +5 -0
  109. package/internal/utils/date-time/format-time.d.ts.map +1 -0
  110. package/internal/utils/date-time/format-time.js +13 -0
  111. package/internal/utils/date-time/format-time.js.map +1 -0
  112. package/internal/utils/date-time/format-timezone-offset.d.ts +2 -0
  113. package/internal/utils/date-time/format-timezone-offset.d.ts.map +1 -0
  114. package/internal/utils/date-time/format-timezone-offset.js +11 -0
  115. package/internal/utils/date-time/format-timezone-offset.js.map +1 -0
  116. package/internal/utils/date-time/get-browser-timezone-offset.d.ts +7 -0
  117. package/internal/utils/date-time/get-browser-timezone-offset.d.ts.map +1 -0
  118. package/internal/utils/date-time/get-browser-timezone-offset.js +11 -0
  119. package/internal/utils/date-time/get-browser-timezone-offset.js.map +1 -0
  120. package/internal/utils/date-time/index.d.ts +11 -0
  121. package/internal/utils/date-time/index.d.ts.map +1 -0
  122. package/internal/utils/date-time/index.js +13 -0
  123. package/internal/utils/date-time/index.js.map +1 -0
  124. package/internal/utils/date-time/is-iso-date-only.d.ts +5 -0
  125. package/internal/utils/date-time/is-iso-date-only.d.ts.map +1 -0
  126. package/internal/utils/date-time/is-iso-date-only.js +10 -0
  127. package/internal/utils/date-time/is-iso-date-only.js.map +1 -0
  128. package/internal/utils/date-time/join-date-time.d.ts +2 -0
  129. package/internal/utils/date-time/join-date-time.d.ts.map +1 -0
  130. package/internal/utils/date-time/join-date-time.js +6 -0
  131. package/internal/utils/date-time/join-date-time.js.map +1 -0
  132. package/internal/utils/date-time/parse-date.d.ts +8 -0
  133. package/internal/utils/date-time/parse-date.d.ts.map +1 -0
  134. package/internal/utils/date-time/parse-date.js +16 -0
  135. package/internal/utils/date-time/parse-date.js.map +1 -0
  136. package/internal/utils/date-time/parse-timezone-offset.d.ts +5 -0
  137. package/internal/utils/date-time/parse-timezone-offset.d.ts.map +1 -0
  138. package/internal/utils/date-time/parse-timezone-offset.js +20 -0
  139. package/internal/utils/date-time/parse-timezone-offset.js.map +1 -0
  140. package/internal/utils/date-time/shift-timezone-offset.d.ts +12 -0
  141. package/internal/utils/date-time/shift-timezone-offset.d.ts.map +1 -0
  142. package/internal/utils/date-time/shift-timezone-offset.js +27 -0
  143. package/internal/utils/date-time/shift-timezone-offset.js.map +1 -0
  144. package/internal/utils/strings/index.d.ts +3 -0
  145. package/internal/utils/strings/index.d.ts.map +1 -0
  146. package/internal/utils/strings/index.js +5 -0
  147. package/internal/utils/strings/index.js.map +1 -0
  148. package/internal/utils/strings/join-strings.d.ts +5 -0
  149. package/internal/utils/strings/join-strings.d.ts.map +1 -0
  150. package/internal/utils/{strings.js → strings/join-strings.js} +7 -6
  151. package/internal/utils/strings/join-strings.js.map +1 -0
  152. package/internal/utils/strings/pad-left-zeros.d.ts +5 -0
  153. package/internal/utils/strings/pad-left-zeros.d.ts.map +1 -0
  154. package/internal/utils/strings/pad-left-zeros.js +12 -0
  155. package/internal/utils/strings/pad-left-zeros.js.map +1 -0
  156. package/link/internal.js +3 -3
  157. package/link/internal.js.map +1 -1
  158. package/link/styles.css.js +19 -18
  159. package/link/styles.scoped.css +73 -69
  160. package/link/styles.selectors.js +19 -18
  161. package/mixed-line-bar-chart/bar-series.d.ts.map +1 -1
  162. package/mixed-line-bar-chart/bar-series.js +3 -4
  163. package/mixed-line-bar-chart/bar-series.js.map +1 -1
  164. package/mixed-line-bar-chart/chart-container.js +1 -1
  165. package/mixed-line-bar-chart/chart-container.js.map +1 -1
  166. package/mixed-line-bar-chart/interfaces.d.ts +5 -4
  167. package/mixed-line-bar-chart/interfaces.d.ts.map +1 -1
  168. package/mixed-line-bar-chart/interfaces.js.map +1 -1
  169. package/modal/internal.js +1 -1
  170. package/modal/internal.js.map +1 -1
  171. package/package.json +1 -1
  172. package/pie-chart/pie-chart.d.ts.map +1 -1
  173. package/pie-chart/pie-chart.js +2 -2
  174. package/pie-chart/pie-chart.js.map +1 -1
  175. package/pie-chart/segments.d.ts +1 -2
  176. package/pie-chart/segments.d.ts.map +1 -1
  177. package/pie-chart/segments.js +2 -2
  178. package/pie-chart/segments.js.map +1 -1
  179. package/popover/container.js +1 -1
  180. package/popover/container.js.map +1 -1
  181. package/popover/styles.css.js +48 -48
  182. package/popover/styles.scoped.css +65 -60
  183. package/popover/styles.selectors.js +48 -48
  184. package/property-filter/index.d.ts.map +1 -1
  185. package/property-filter/index.js +10 -2
  186. package/property-filter/index.js.map +1 -1
  187. package/radio-group/radio-button.d.ts.map +1 -1
  188. package/radio-group/radio-button.js +3 -4
  189. package/radio-group/radio-button.js.map +1 -1
  190. package/s3-resource-selector/s3-modal/index.d.ts.map +1 -1
  191. package/s3-resource-selector/s3-modal/index.js +2 -3
  192. package/s3-resource-selector/s3-modal/index.js.map +1 -1
  193. package/split-panel/index.d.ts.map +1 -1
  194. package/split-panel/index.js +2 -2
  195. package/split-panel/index.js.map +1 -1
  196. package/table/internal.js +1 -1
  197. package/table/internal.js.map +1 -1
  198. package/table/sticky-scrollbar.js +1 -1
  199. package/table/sticky-scrollbar.js.map +1 -1
  200. package/table/styles.css.js +32 -32
  201. package/table/styles.scoped.css +40 -43
  202. package/table/styles.selectors.js +32 -32
  203. package/tabs/styles.css.js +21 -21
  204. package/tabs/styles.scoped.css +40 -43
  205. package/tabs/styles.selectors.js +21 -21
  206. package/tabs/tab-header-bar.js +1 -1
  207. package/tabs/tab-header-bar.js.map +1 -1
  208. package/textarea/styles.css.js +4 -4
  209. package/textarea/styles.scoped.css +13 -14
  210. package/textarea/styles.selectors.js +4 -4
  211. package/tutorial-panel/components/tutorial-detail-view/index.d.ts.map +1 -1
  212. package/tutorial-panel/components/tutorial-detail-view/index.js +3 -4
  213. package/tutorial-panel/components/tutorial-detail-view/index.js.map +1 -1
  214. package/tutorial-panel/components/tutorial-list/index.d.ts.map +1 -1
  215. package/tutorial-panel/components/tutorial-list/index.js +5 -7
  216. package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
  217. package/wizard/index.d.ts.map +1 -1
  218. package/wizard/index.js +2 -3
  219. package/wizard/index.js.map +1 -1
  220. package/date-picker/calendar/utils/date.d.ts +0 -10
  221. package/date-picker/calendar/utils/date.d.ts.map +0 -1
  222. package/date-picker/calendar/utils/date.js +0 -50
  223. package/date-picker/calendar/utils/date.js.map +0 -1
  224. package/internal/components/date-input/utils/date.d.ts +0 -5
  225. package/internal/components/date-input/utils/date.d.ts.map +0 -1
  226. package/internal/components/date-input/utils/date.js +0 -11
  227. package/internal/components/date-input/utils/date.js.map +0 -1
  228. package/internal/utils/strings.d.ts +0 -2
  229. package/internal/utils/strings.d.ts.map +0 -1
  230. package/internal/utils/strings.js.map +0 -1
@@ -183,61 +183,58 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
183
183
  SPDX-License-Identifier: Apache-2.0
184
184
  */
185
185
  /* stylelint-disable selector-max-type */
186
- .awsui_tabs-header_14rmt_1678d_186:not(#\9) {
186
+ .awsui_tabs-header_14rmt_1mdnv_186:not(#\9) {
187
187
  margin: 0;
188
188
  padding: 0;
189
189
  display: flex;
190
190
  }
191
191
 
192
- .awsui_tabs-header-list_14rmt_1678d_192:not(#\9) {
192
+ .awsui_tabs-header-list_14rmt_1mdnv_192:not(#\9) {
193
193
  margin: 0;
194
194
  padding: 0;
195
195
  display: flex;
196
196
  overflow-x: scroll;
197
197
  position: relative;
198
198
  width: 100%;
199
- -ms-overflow-style: none;
200
- /* Internet Explorer 10+ */
201
- scrollbar-width: none;
202
- /* Firefox */
199
+ -ms-overflow-style: none; /* Internet Explorer 10+ */
200
+ scrollbar-width: none; /* Firefox */
203
201
  }
204
- .awsui_tabs-header-list_14rmt_1678d_192:not(#\9)::-webkit-scrollbar {
205
- display: none;
206
- /* Safari and Chrome */
202
+ .awsui_tabs-header-list_14rmt_1mdnv_192:not(#\9)::-webkit-scrollbar {
203
+ display: none; /* Safari and Chrome */
207
204
  }
208
205
 
209
- .awsui_pagination-button_14rmt_1678d_209:not(#\9) {
206
+ .awsui_pagination-button_14rmt_1mdnv_206:not(#\9) {
210
207
  margin: var(--space-scaled-s-cu1hzn, 12px) 0;
211
208
  padding: 0 var(--space-xxs-ynfts5, 4px);
212
209
  display: flex;
213
210
  }
214
- .awsui_pagination-button-left_14rmt_1678d_214:not(#\9) {
211
+ .awsui_pagination-button-left_14rmt_1mdnv_211:not(#\9) {
215
212
  border-right: var(--border-divider-section-width-4wm2it, 2px) solid var(--color-border-control-disabled-vx8bco, #d1d5db);
216
213
  }
217
- .awsui_pagination-button-left-scrollable_14rmt_1678d_217:not(#\9) {
214
+ .awsui_pagination-button-left-scrollable_14rmt_1mdnv_214:not(#\9) {
218
215
  z-index: 1;
219
216
  box-shadow: 5px 0px 4px -3px var(--color-border-tabs-shadow-4lmh2z, rgba(0, 7, 22, 0.12)), 1px 0px 0px 0px var(--color-border-tabs-shadow-4lmh2z, rgba(0, 7, 22, 0.12));
220
217
  }
221
- .awsui_pagination-button-right_14rmt_1678d_221:not(#\9) {
218
+ .awsui_pagination-button-right_14rmt_1mdnv_218:not(#\9) {
222
219
  border-left: var(--border-divider-section-width-4wm2it, 2px) solid var(--color-border-control-disabled-vx8bco, #d1d5db);
223
220
  }
224
- .awsui_pagination-button-right-scrollable_14rmt_1678d_224:not(#\9) {
221
+ .awsui_pagination-button-right-scrollable_14rmt_1mdnv_221:not(#\9) {
225
222
  z-index: 1;
226
223
  box-shadow: -5px 0px 4px -3px var(--color-border-tabs-shadow-4lmh2z, rgba(0, 7, 22, 0.12)), -1px 0px 0px 0 var(--color-border-tabs-shadow-4lmh2z, rgba(0, 7, 22, 0.12));
227
224
  }
228
225
 
229
- .awsui_tabs-tab_14rmt_1678d_229:not(#\9) {
226
+ .awsui_tabs-tab_14rmt_1mdnv_226:not(#\9) {
230
227
  list-style: none;
231
228
  padding: 0;
232
229
  flex-shrink: 0;
233
230
  display: flex;
234
231
  max-width: calc(90% - var(--space-l-4vl6xu, 20px));
235
232
  }
236
- .awsui_tabs-tab_14rmt_1678d_229 > button:not(#\9) {
233
+ .awsui_tabs-tab_14rmt_1mdnv_226 > button:not(#\9) {
237
234
  background-color: transparent;
238
235
  }
239
236
 
240
- .awsui_tabs-tab-label_14rmt_1678d_240:not(#\9) {
237
+ .awsui_tabs-tab-label_14rmt_1mdnv_237:not(#\9) {
241
238
  display: flex;
242
239
  align-items: center;
243
240
  padding: var(--space-scaled-2x-xxs-t5qzmf, 4px) var(--space-l-4vl6xu, 20px);
@@ -248,12 +245,12 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
248
245
  word-break: break-word;
249
246
  }
250
247
 
251
- .awsui_tabs-tab_14rmt_1678d_229:not(#\9):not(:last-child) > a > .awsui_tabs-tab-label_14rmt_1678d_240, .awsui_tabs-tab_14rmt_1678d_229:not(#\9):not(:last-child) > button > .awsui_tabs-tab-label_14rmt_1678d_240 {
248
+ .awsui_tabs-tab_14rmt_1mdnv_226:not(#\9):not(:last-child) > a > .awsui_tabs-tab-label_14rmt_1mdnv_237, .awsui_tabs-tab_14rmt_1mdnv_226:not(#\9):not(:last-child) > button > .awsui_tabs-tab-label_14rmt_1mdnv_237 {
252
249
  margin-right: calc(-1 * var(--border-divider-section-width-4wm2it, 2px));
253
250
  border-right: var(--border-divider-section-width-4wm2it, 2px) solid var(--color-border-tabs-divider-69fx5i, #e9ebed);
254
251
  }
255
252
 
256
- .awsui_tabs-tab-link_14rmt_1678d_256:not(#\9) {
253
+ .awsui_tabs-tab-link_14rmt_1mdnv_253:not(#\9) {
257
254
  position: relative;
258
255
  display: flex;
259
256
  align-items: stretch;
@@ -267,21 +264,21 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
267
264
  font-weight: var(--font-wayfinding-link-active-weight-l3fid7, 800);
268
265
  color: var(--color-text-interactive-default-eg5fsa, #414d5c);
269
266
  }
270
- .awsui_tabs-tab-link_14rmt_1678d_256:not(#\9):hover {
267
+ .awsui_tabs-tab-link_14rmt_1mdnv_253:not(#\9):hover {
271
268
  color: var(--color-text-accent-s1eqko, #0972d3);
272
269
  }
273
- .awsui_tabs-tab-link_14rmt_1678d_256:not(#\9):focus {
270
+ .awsui_tabs-tab-link_14rmt_1mdnv_253:not(#\9):focus {
274
271
  outline: none;
275
272
  }
276
- .awsui_tabs-tab-link_14rmt_1678d_256[data-awsui-focus-visible=true]:not(#\9):focus {
273
+ .awsui_tabs-tab-link_14rmt_1mdnv_253[data-awsui-focus-visible=true]:not(#\9):focus {
277
274
  z-index: 1;
278
275
  position: relative;
279
276
  }
280
- .awsui_tabs-tab-link_14rmt_1678d_256[data-awsui-focus-visible=true]:not(#\9):focus {
277
+ .awsui_tabs-tab-link_14rmt_1mdnv_253[data-awsui-focus-visible=true]:not(#\9):focus {
281
278
  outline: 2px dotted transparent;
282
279
  outline-offset: calc(var(--space-tabs-focus-outline-gutter-64zu5e, -8px) - 1px);
283
280
  }
284
- .awsui_tabs-tab-link_14rmt_1678d_256[data-awsui-focus-visible=true]:not(#\9):focus::before {
281
+ .awsui_tabs-tab-link_14rmt_1mdnv_253[data-awsui-focus-visible=true]:not(#\9):focus::before {
285
282
  content: " ";
286
283
  display: block;
287
284
  position: absolute;
@@ -292,31 +289,31 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
292
289
  border-radius: var(--border-radius-control-default-focus-ring-7661kz, 4px);
293
290
  box-shadow: 0 0 0 2px var(--color-border-item-focused-ap3b6s, #0972d3);
294
291
  }
295
- .awsui_tabs-tab-link_14rmt_1678d_256[data-awsui-focus-visible=true]:not(#\9):focus > a > .awsui_tabs-tab-label_14rmt_1678d_240, .awsui_tabs-tab-link_14rmt_1678d_256[data-awsui-focus-visible=true]:not(#\9):focus > button > .awsui_tabs-tab-label_14rmt_1678d_240 {
292
+ .awsui_tabs-tab-link_14rmt_1mdnv_253[data-awsui-focus-visible=true]:not(#\9):focus > a > .awsui_tabs-tab-label_14rmt_1mdnv_237, .awsui_tabs-tab-link_14rmt_1mdnv_253[data-awsui-focus-visible=true]:not(#\9):focus > button > .awsui_tabs-tab-label_14rmt_1mdnv_237 {
296
293
  border-right-color: transparent;
297
294
  }
298
295
 
299
- .awsui_tabs-tab_14rmt_1678d_229:not(#\9):first-child {
296
+ .awsui_tabs-tab_14rmt_1mdnv_226:not(#\9):first-child {
300
297
  margin-left: 1px;
301
298
  }
302
- .awsui_tabs-tab_14rmt_1678d_229:not(#\9):first-child > a > .awsui_tabs-tab-label_14rmt_1678d_240, .awsui_tabs-tab_14rmt_1678d_229:not(#\9):first-child > button > .awsui_tabs-tab-label_14rmt_1678d_240 {
299
+ .awsui_tabs-tab_14rmt_1mdnv_226:not(#\9):first-child > a > .awsui_tabs-tab-label_14rmt_1mdnv_237, .awsui_tabs-tab_14rmt_1mdnv_226:not(#\9):first-child > button > .awsui_tabs-tab-label_14rmt_1mdnv_237 {
303
300
  padding-left: calc(var(--space-l-4vl6xu, 20px) - 1px);
304
301
  }
305
302
 
306
- .awsui_tabs-tab_14rmt_1678d_229:not(#\9):last-child {
303
+ .awsui_tabs-tab_14rmt_1mdnv_226:not(#\9):last-child {
307
304
  margin-right: 1px;
308
305
  }
309
- .awsui_tabs-tab_14rmt_1678d_229:not(#\9):last-child > a > .awsui_tabs-tab-label_14rmt_1678d_240, .awsui_tabs-tab_14rmt_1678d_229:not(#\9):last-child > button > .awsui_tabs-tab-label_14rmt_1678d_240 {
306
+ .awsui_tabs-tab_14rmt_1mdnv_226:not(#\9):last-child > a > .awsui_tabs-tab-label_14rmt_1mdnv_237, .awsui_tabs-tab_14rmt_1mdnv_226:not(#\9):last-child > button > .awsui_tabs-tab-label_14rmt_1mdnv_237 {
310
307
  padding-right: calc(var(--space-l-4vl6xu, 20px) - 1px);
311
308
  }
312
309
 
313
- .awsui_tabs-tab-disabled_14rmt_1678d_313:not(#\9), .awsui_tabs-tab-disabled_14rmt_1678d_313:not(#\9):hover {
310
+ .awsui_tabs-tab-disabled_14rmt_1mdnv_310:not(#\9), .awsui_tabs-tab-disabled_14rmt_1mdnv_310:not(#\9):hover {
314
311
  cursor: default;
315
312
  color: var(--color-text-interactive-disabled-3pbb07, #9ba7b6);
316
313
  font-weight: var(--font-tabs-disabled-weight-imwq16, 800);
317
314
  }
318
315
 
319
- .awsui_tabs-tab-link_14rmt_1678d_256:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1678d_313):after {
316
+ .awsui_tabs-tab-link_14rmt_1mdnv_253:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1mdnv_310):after {
320
317
  content: "";
321
318
  position: absolute;
322
319
  left: 0;
@@ -327,36 +324,36 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
327
324
  background: var(--color-border-tabs-underline-9bcfzu, #0972d3);
328
325
  opacity: 0;
329
326
  }
330
- .awsui_tabs-tab-link_14rmt_1678d_256:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1678d_313).awsui_refresh_14rmt_1678d_330:after {
327
+ .awsui_tabs-tab-link_14rmt_1mdnv_253:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1mdnv_310).awsui_refresh_14rmt_1mdnv_327:after {
331
328
  transition: opacity var(--motion-duration-refresh-only-medium-5flen2, 165ms) var(--motion-easing-refresh-only-c-ic6jr0, cubic-bezier(0.84, 0, 0.16, 1));
332
329
  }
333
330
  @media (prefers-reduced-motion: reduce) {
334
- .awsui_tabs-tab-link_14rmt_1678d_256:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1678d_313).awsui_refresh_14rmt_1678d_330:after {
331
+ .awsui_tabs-tab-link_14rmt_1mdnv_253:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1mdnv_310).awsui_refresh_14rmt_1mdnv_327:after {
335
332
  animation: none;
336
333
  transition: none;
337
334
  }
338
335
  }
339
- .awsui-motion-disabled .awsui_tabs-tab-link_14rmt_1678d_256:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1678d_313).awsui_refresh_14rmt_1678d_330:after, .awsui-mode-entering .awsui_tabs-tab-link_14rmt_1678d_256:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1678d_313).awsui_refresh_14rmt_1678d_330:after {
336
+ .awsui-motion-disabled .awsui_tabs-tab-link_14rmt_1mdnv_253:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1mdnv_310).awsui_refresh_14rmt_1mdnv_327:after, .awsui-mode-entering .awsui_tabs-tab-link_14rmt_1mdnv_253:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1mdnv_310).awsui_refresh_14rmt_1mdnv_327:after {
340
337
  animation: none;
341
338
  transition: none;
342
339
  }
343
340
 
344
- .awsui_tabs-tab-active_14rmt_1678d_344:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1678d_313) {
341
+ .awsui_tabs-tab-active_14rmt_1mdnv_341:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1mdnv_310) {
345
342
  color: var(--color-text-accent-s1eqko, #0972d3);
346
343
  }
347
- .awsui_tabs-tab-active_14rmt_1678d_344:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1678d_313):after {
344
+ .awsui_tabs-tab-active_14rmt_1mdnv_341:not(#\9):not(.awsui_tabs-tab-disabled_14rmt_1mdnv_310):after {
348
345
  opacity: 1;
349
346
  }
350
347
 
351
- .awsui_tabs-header-with-divider_14rmt_1678d_351:not(#\9) {
348
+ .awsui_tabs-header-with-divider_14rmt_1mdnv_348:not(#\9) {
352
349
  border-bottom: var(--border-divider-section-width-4wm2it, 2px) solid var(--color-border-tabs-divider-69fx5i, #e9ebed);
353
350
  }
354
351
 
355
- .awsui_root_14rmt_1678d_355:not(#\9) {
352
+ .awsui_root_14rmt_1mdnv_352:not(#\9) {
356
353
  /* used in test-utils or tests */
357
354
  }
358
355
 
359
- .awsui_tabs_14rmt_1678d_186:not(#\9) {
356
+ .awsui_tabs_14rmt_1mdnv_186:not(#\9) {
360
357
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
361
358
  border-collapse: separate;
362
359
  border-spacing: 0;
@@ -395,18 +392,18 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
395
392
  width: 100%;
396
393
  }
397
394
 
398
- .awsui_tabs-content-wrapper_14rmt_1678d_372.awsui_with-paddings_14rmt_1678d_372:not(#\9) {
395
+ .awsui_tabs-content-wrapper_14rmt_1mdnv_369.awsui_with-paddings_14rmt_1mdnv_369:not(#\9) {
399
396
  padding: var(--space-scaled-m-pv0fmt, 16px) 0;
400
397
  }
401
398
 
402
- .awsui_tabs-container-content-wrapper_14rmt_1678d_376.awsui_with-paddings_14rmt_1678d_372:not(#\9) {
399
+ .awsui_tabs-container-content-wrapper_14rmt_1mdnv_373.awsui_with-paddings_14rmt_1mdnv_369:not(#\9) {
403
400
  padding-top: var(--space-tabs-content-top-mn4c9x, 12px);
404
401
  }
405
402
 
406
- .awsui_tabs-content_14rmt_1678d_372:not(#\9) {
403
+ .awsui_tabs-content_14rmt_1mdnv_369:not(#\9) {
407
404
  display: none;
408
405
  }
409
406
 
410
- .awsui_tabs-content-active_14rmt_1678d_384:not(#\9) {
407
+ .awsui_tabs-content-active_14rmt_1mdnv_381:not(#\9) {
411
408
  display: block;
412
409
  }
@@ -2,26 +2,26 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "tabs-header": "awsui_tabs-header_14rmt_1678d_186",
6
- "tabs-header-list": "awsui_tabs-header-list_14rmt_1678d_192",
7
- "pagination-button": "awsui_pagination-button_14rmt_1678d_209",
8
- "pagination-button-left": "awsui_pagination-button-left_14rmt_1678d_214",
9
- "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_1678d_217",
10
- "pagination-button-right": "awsui_pagination-button-right_14rmt_1678d_221",
11
- "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_1678d_224",
12
- "tabs-tab": "awsui_tabs-tab_14rmt_1678d_229",
13
- "tabs-tab-label": "awsui_tabs-tab-label_14rmt_1678d_240",
14
- "tabs-tab-link": "awsui_tabs-tab-link_14rmt_1678d_256",
15
- "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_1678d_313",
16
- "refresh": "awsui_refresh_14rmt_1678d_330",
17
- "tabs-tab-active": "awsui_tabs-tab-active_14rmt_1678d_344",
18
- "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_1678d_351",
19
- "root": "awsui_root_14rmt_1678d_355",
20
- "tabs": "awsui_tabs_14rmt_1678d_186",
21
- "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_1678d_372",
22
- "with-paddings": "awsui_with-paddings_14rmt_1678d_372",
23
- "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_1678d_376",
24
- "tabs-content": "awsui_tabs-content_14rmt_1678d_372",
25
- "tabs-content-active": "awsui_tabs-content-active_14rmt_1678d_384"
5
+ "tabs-header": "awsui_tabs-header_14rmt_1mdnv_186",
6
+ "tabs-header-list": "awsui_tabs-header-list_14rmt_1mdnv_192",
7
+ "pagination-button": "awsui_pagination-button_14rmt_1mdnv_206",
8
+ "pagination-button-left": "awsui_pagination-button-left_14rmt_1mdnv_211",
9
+ "pagination-button-left-scrollable": "awsui_pagination-button-left-scrollable_14rmt_1mdnv_214",
10
+ "pagination-button-right": "awsui_pagination-button-right_14rmt_1mdnv_218",
11
+ "pagination-button-right-scrollable": "awsui_pagination-button-right-scrollable_14rmt_1mdnv_221",
12
+ "tabs-tab": "awsui_tabs-tab_14rmt_1mdnv_226",
13
+ "tabs-tab-label": "awsui_tabs-tab-label_14rmt_1mdnv_237",
14
+ "tabs-tab-link": "awsui_tabs-tab-link_14rmt_1mdnv_253",
15
+ "tabs-tab-disabled": "awsui_tabs-tab-disabled_14rmt_1mdnv_310",
16
+ "refresh": "awsui_refresh_14rmt_1mdnv_327",
17
+ "tabs-tab-active": "awsui_tabs-tab-active_14rmt_1mdnv_341",
18
+ "tabs-header-with-divider": "awsui_tabs-header-with-divider_14rmt_1mdnv_348",
19
+ "root": "awsui_root_14rmt_1mdnv_352",
20
+ "tabs": "awsui_tabs_14rmt_1mdnv_186",
21
+ "tabs-content-wrapper": "awsui_tabs-content-wrapper_14rmt_1mdnv_369",
22
+ "with-paddings": "awsui_with-paddings_14rmt_1mdnv_369",
23
+ "tabs-container-content-wrapper": "awsui_tabs-container-content-wrapper_14rmt_1mdnv_373",
24
+ "tabs-content": "awsui_tabs-content_14rmt_1mdnv_369",
25
+ "tabs-content-active": "awsui_tabs-content-active_14rmt_1mdnv_381"
26
26
  };
27
27
 
@@ -18,7 +18,7 @@ export function TabHeaderBar(_a) {
18
18
  var headerBarRef = useRef(null);
19
19
  var activeTabHeaderRef = useRef(null);
20
20
  var leftOverflowButton = useRef(null);
21
- var isVisualRefresh = useVisualRefresh(headerBarRef);
21
+ var isVisualRefresh = useVisualRefresh();
22
22
  var _e = useContainerQuery(function (rect) { return rect.width; }), widthChange = _e[0], containerRef = _e[1];
23
23
  var tabRefs = useRef(new Map());
24
24
  var _f = useState(false), horizontalOverflow = _f[0], setHorizontalOverflow = _f[1];
@@ -1 +1 @@
1
- {"version":3,"file":"tab-header-bar.js","sourceRoot":"","sources":["../../../src/tabs/tab-header-bar.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, { useRef, useState, useEffect } from 'react';\nimport { TabsProps } from './interfaces';\nimport clsx from 'clsx';\nimport styles from './styles.css.js';\nimport { InternalButton } from '../button/internal';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { useContainerQuery } from '../internal/hooks/container-queries';\nimport { KeyCode } from '../internal/keycode';\nimport {\n onPaginationClick,\n hasHorizontalOverflow,\n hasLeftOverflow,\n hasRightOverflow,\n scrollIntoView,\n} from './scroll-utils';\nimport { isPlainLeftClick } from '../internal/events';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\n\nexport interface TabHeaderBarProps {\n onChange: (changeDetail: TabsProps.ChangeDetail) => void;\n activeTabId: TabsProps['activeTabId'];\n tabs: TabsProps['tabs'];\n variant: TabsProps['variant'];\n idNamespace: string;\n ariaLabel?: string;\n ariaLabelledby?: string;\n}\n\nexport function TabHeaderBar({\n onChange,\n activeTabId,\n tabs,\n variant,\n idNamespace,\n ariaLabel,\n ariaLabelledby,\n}: TabHeaderBarProps) {\n const focusVisible = useFocusVisible();\n\n const headerBarRef = useRef<HTMLUListElement>(null);\n const activeTabHeaderRef = useRef<HTMLAnchorElement>(null);\n const leftOverflowButton = useRef<HTMLElement>(null);\n\n const isVisualRefresh = useVisualRefresh(headerBarRef);\n\n const [widthChange, containerRef] = useContainerQuery<number>(rect => rect.width);\n const tabRefs = useRef<Map<string, HTMLElement>>(new Map());\n const [horizontalOverflow, setHorizontalOverflow] = useState(false);\n const [leftOverflow, setLeftOverflow] = useState(false);\n const [rightOverflow, setRightOverflow] = useState(false);\n\n useEffect(() => {\n if (headerBarRef.current) {\n setHorizontalOverflow(hasHorizontalOverflow(headerBarRef.current, leftOverflowButton));\n setLeftOverflow(hasLeftOverflow(headerBarRef.current));\n setRightOverflow(hasRightOverflow(headerBarRef.current));\n }\n }, [widthChange, tabs]);\n\n const scrollIntoViewIfPossible = (smooth: boolean) => {\n if (!activeTabId) {\n return;\n }\n const activeTabRef = tabRefs.current.get(activeTabId);\n if (activeTabRef && headerBarRef.current) {\n scrollIntoView(activeTabRef, headerBarRef.current, smooth);\n }\n };\n\n useEffect(() => {\n // Delay scrollIntoView as the position is depending on parent elements\n // (effects are called inside-out in the component tree).\n // Wait one frame to allow parents to complete it's calculation.\n requestAnimationFrame(() => {\n scrollIntoViewIfPossible(false);\n });\n // Non-smooth scrolling should not be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [horizontalOverflow, widthChange, tabs.length]);\n\n useEffect(() => {\n scrollIntoViewIfPossible(true);\n // Smooth scrolling should only be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTabId]);\n\n useEffect(() => {\n /*\n When the selected tab changes and we are currently already focused on a tab,\n move the focus to the newly selected tab.\n */\n if (headerBarRef.current?.contains(document.activeElement)) {\n if (document.activeElement !== activeTabHeaderRef.current) {\n activeTabHeaderRef.current?.focus({ preventScroll: true });\n }\n }\n }, [activeTabId]);\n\n const onScroll = () => {\n if (headerBarRef.current) {\n setLeftOverflow(hasLeftOverflow(headerBarRef.current));\n setRightOverflow(hasRightOverflow(headerBarRef.current));\n }\n };\n\n const classes = clsx({\n [styles['tabs-header']]: true,\n [styles['tabs-header-with-divider']]: variant === 'default' || isVisualRefresh,\n });\n\n const leftButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-left']]: true,\n [styles['pagination-button-left-scrollable']]: leftOverflow,\n });\n\n const rightButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-right']]: true,\n [styles['pagination-button-right-scrollable']]: rightOverflow,\n });\n\n const paginationButtonAttributes = {\n 'aria-hidden': true,\n tabIndex: -1,\n };\n\n return (\n //converted span to div as list should not be a child of span for HTML validation\n <div className={classes} ref={containerRef}>\n {horizontalOverflow && (\n <span ref={leftOverflowButton} className={leftButtonClasses}>\n <InternalButton\n variant=\"icon\"\n iconName=\"angle-left\"\n __nativeAttributes={paginationButtonAttributes}\n disabled={!leftOverflow}\n onClick={() => onPaginationClick(headerBarRef, -1)}\n />\n </span>\n )}\n <ul\n role=\"tablist\"\n className={styles['tabs-header-list']}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n ref={headerBarRef}\n onScroll={onScroll}\n >\n {tabs.map(renderTabHeader)}\n </ul>\n {horizontalOverflow && (\n <span className={rightButtonClasses}>\n <InternalButton\n variant=\"icon\"\n iconName=\"angle-right\"\n __nativeAttributes={paginationButtonAttributes}\n disabled={!rightOverflow}\n onClick={() => onPaginationClick(headerBarRef, 1)}\n />\n </span>\n )}\n </div>\n );\n\n function renderTabHeader(tab: TabsProps.Tab) {\n const enabledTabsWithCurrentTab = tabs.filter(tab => !tab.disabled || tab.id === activeTabId);\n\n const highlightTab = function (enabledTabIndex: number) {\n const tab = enabledTabsWithCurrentTab[enabledTabIndex];\n if (tab.id === activeTabId) {\n return;\n }\n\n onChange({ activeTabId: tab.id, activeTabHref: tab.href });\n };\n\n const handleKeyDown = function (\n event: React.KeyboardEvent<HTMLAnchorElement> | React.KeyboardEvent<HTMLButtonElement>\n ) {\n const { keyCode } = event;\n const specialKeys = [KeyCode.right, KeyCode.left, KeyCode.end, KeyCode.home, KeyCode.pageUp, KeyCode.pageDown];\n if (specialKeys.indexOf(keyCode) === -1) {\n return;\n }\n event.preventDefault();\n const activeIndex = enabledTabsWithCurrentTab.indexOf(tab);\n switch (keyCode) {\n case KeyCode.right:\n if (activeIndex + 1 === enabledTabsWithCurrentTab.length) {\n highlightTab(0);\n } else {\n highlightTab(activeIndex + 1);\n }\n return;\n case KeyCode.left:\n if (activeIndex === 0) {\n highlightTab(enabledTabsWithCurrentTab.length - 1);\n } else {\n highlightTab(activeIndex - 1);\n }\n return;\n case KeyCode.end:\n highlightTab(enabledTabsWithCurrentTab.length - 1);\n return;\n case KeyCode.home:\n highlightTab(0);\n return;\n case KeyCode.pageDown:\n if (rightOverflow) {\n onPaginationClick(headerBarRef, 1);\n }\n return;\n case KeyCode.pageUp:\n if (leftOverflow) {\n onPaginationClick(headerBarRef, -1);\n }\n return;\n }\n };\n\n const clickTab = (event: React.MouseEvent) => {\n if (tab.disabled) {\n event.preventDefault();\n return;\n }\n\n // if the primary mouse button is clicked with a modifier key, the browser will handle opening a new tab\n const specialKey = !isPlainLeftClick(event);\n if (specialKey && tab.href) {\n return;\n }\n\n event.preventDefault();\n // for browsers that do not focus buttons on button click\n if (!tab.href) {\n const clickedTabRef = tabRefs.current.get(tab.id);\n if (clickedTabRef) {\n const childElement = clickedTabRef.firstChild as HTMLButtonElement;\n if (childElement && childElement !== document.activeElement) {\n childElement.focus({ preventScroll: true });\n }\n }\n }\n\n if (tab.id === activeTabId) {\n return;\n }\n\n onChange({ activeTabId: tab.id, activeTabHref: tab.href });\n };\n\n const classes = clsx({\n [styles['tabs-tab-link']]: true,\n [styles.refresh]: isVisualRefresh,\n [styles['tabs-tab-active']]: activeTabId === tab.id && !tab.disabled,\n [styles['tabs-tab-disabled']]: tab.disabled,\n });\n\n const commonProps: (JSX.IntrinsicElements['a'] | JSX.IntrinsicElements['button']) & { 'data-testid': string } = {\n className: classes,\n ...focusVisible,\n role: 'tab',\n 'aria-selected': tab.id === activeTabId,\n 'aria-controls': `${idNamespace}-${tab.id}-panel`,\n 'data-testid': tab.id,\n children: <span className={styles['tabs-tab-label']}>{tab.label}</span>,\n };\n\n if (tab.disabled) {\n commonProps['aria-disabled'] = 'true';\n } else {\n commonProps.onClick = clickTab;\n }\n\n if (tab.id === activeTabId) {\n commonProps.ref = activeTabHeaderRef;\n commonProps.tabIndex = 0;\n commonProps.onKeyDown = (\n event: React.KeyboardEvent<HTMLAnchorElement> | React.KeyboardEvent<HTMLButtonElement>\n ) => handleKeyDown(event);\n } else {\n commonProps.tabIndex = -1;\n }\n\n let trigger = null;\n if (tab.href) {\n const anchorProps = commonProps as JSX.IntrinsicElements['a'];\n anchorProps.href = tab.href;\n trigger = <a {...anchorProps} />;\n } else {\n const buttonProps = commonProps as JSX.IntrinsicElements['button'];\n buttonProps.type = 'button';\n if (tab.disabled) {\n buttonProps.disabled = true;\n }\n trigger = <button {...buttonProps} />;\n }\n\n return (\n <li\n ref={element => tabRefs.current.set(tab.id, element as HTMLElement)}\n className={styles['tabs-tab']}\n role=\"presentation\"\n key={tab.id}\n >\n {trigger}\n </li>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"tab-header-bar.js","sourceRoot":"","sources":["../../../src/tabs/tab-header-bar.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, { useRef, useState, useEffect } from 'react';\nimport { TabsProps } from './interfaces';\nimport clsx from 'clsx';\nimport styles from './styles.css.js';\nimport { InternalButton } from '../button/internal';\nimport useFocusVisible from '../internal/hooks/focus-visible';\nimport { useContainerQuery } from '../internal/hooks/container-queries';\nimport { KeyCode } from '../internal/keycode';\nimport {\n onPaginationClick,\n hasHorizontalOverflow,\n hasLeftOverflow,\n hasRightOverflow,\n scrollIntoView,\n} from './scroll-utils';\nimport { isPlainLeftClick } from '../internal/events';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\n\nexport interface TabHeaderBarProps {\n onChange: (changeDetail: TabsProps.ChangeDetail) => void;\n activeTabId: TabsProps['activeTabId'];\n tabs: TabsProps['tabs'];\n variant: TabsProps['variant'];\n idNamespace: string;\n ariaLabel?: string;\n ariaLabelledby?: string;\n}\n\nexport function TabHeaderBar({\n onChange,\n activeTabId,\n tabs,\n variant,\n idNamespace,\n ariaLabel,\n ariaLabelledby,\n}: TabHeaderBarProps) {\n const focusVisible = useFocusVisible();\n\n const headerBarRef = useRef<HTMLUListElement>(null);\n const activeTabHeaderRef = useRef<HTMLAnchorElement>(null);\n const leftOverflowButton = useRef<HTMLElement>(null);\n\n const isVisualRefresh = useVisualRefresh();\n\n const [widthChange, containerRef] = useContainerQuery<number>(rect => rect.width);\n const tabRefs = useRef<Map<string, HTMLElement>>(new Map());\n const [horizontalOverflow, setHorizontalOverflow] = useState(false);\n const [leftOverflow, setLeftOverflow] = useState(false);\n const [rightOverflow, setRightOverflow] = useState(false);\n\n useEffect(() => {\n if (headerBarRef.current) {\n setHorizontalOverflow(hasHorizontalOverflow(headerBarRef.current, leftOverflowButton));\n setLeftOverflow(hasLeftOverflow(headerBarRef.current));\n setRightOverflow(hasRightOverflow(headerBarRef.current));\n }\n }, [widthChange, tabs]);\n\n const scrollIntoViewIfPossible = (smooth: boolean) => {\n if (!activeTabId) {\n return;\n }\n const activeTabRef = tabRefs.current.get(activeTabId);\n if (activeTabRef && headerBarRef.current) {\n scrollIntoView(activeTabRef, headerBarRef.current, smooth);\n }\n };\n\n useEffect(() => {\n // Delay scrollIntoView as the position is depending on parent elements\n // (effects are called inside-out in the component tree).\n // Wait one frame to allow parents to complete it's calculation.\n requestAnimationFrame(() => {\n scrollIntoViewIfPossible(false);\n });\n // Non-smooth scrolling should not be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [horizontalOverflow, widthChange, tabs.length]);\n\n useEffect(() => {\n scrollIntoViewIfPossible(true);\n // Smooth scrolling should only be called upon activeId change\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [activeTabId]);\n\n useEffect(() => {\n /*\n When the selected tab changes and we are currently already focused on a tab,\n move the focus to the newly selected tab.\n */\n if (headerBarRef.current?.contains(document.activeElement)) {\n if (document.activeElement !== activeTabHeaderRef.current) {\n activeTabHeaderRef.current?.focus({ preventScroll: true });\n }\n }\n }, [activeTabId]);\n\n const onScroll = () => {\n if (headerBarRef.current) {\n setLeftOverflow(hasLeftOverflow(headerBarRef.current));\n setRightOverflow(hasRightOverflow(headerBarRef.current));\n }\n };\n\n const classes = clsx({\n [styles['tabs-header']]: true,\n [styles['tabs-header-with-divider']]: variant === 'default' || isVisualRefresh,\n });\n\n const leftButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-left']]: true,\n [styles['pagination-button-left-scrollable']]: leftOverflow,\n });\n\n const rightButtonClasses = clsx({\n [styles['pagination-button']]: true,\n [styles['pagination-button-right']]: true,\n [styles['pagination-button-right-scrollable']]: rightOverflow,\n });\n\n const paginationButtonAttributes = {\n 'aria-hidden': true,\n tabIndex: -1,\n };\n\n return (\n //converted span to div as list should not be a child of span for HTML validation\n <div className={classes} ref={containerRef}>\n {horizontalOverflow && (\n <span ref={leftOverflowButton} className={leftButtonClasses}>\n <InternalButton\n variant=\"icon\"\n iconName=\"angle-left\"\n __nativeAttributes={paginationButtonAttributes}\n disabled={!leftOverflow}\n onClick={() => onPaginationClick(headerBarRef, -1)}\n />\n </span>\n )}\n <ul\n role=\"tablist\"\n className={styles['tabs-header-list']}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n ref={headerBarRef}\n onScroll={onScroll}\n >\n {tabs.map(renderTabHeader)}\n </ul>\n {horizontalOverflow && (\n <span className={rightButtonClasses}>\n <InternalButton\n variant=\"icon\"\n iconName=\"angle-right\"\n __nativeAttributes={paginationButtonAttributes}\n disabled={!rightOverflow}\n onClick={() => onPaginationClick(headerBarRef, 1)}\n />\n </span>\n )}\n </div>\n );\n\n function renderTabHeader(tab: TabsProps.Tab) {\n const enabledTabsWithCurrentTab = tabs.filter(tab => !tab.disabled || tab.id === activeTabId);\n\n const highlightTab = function (enabledTabIndex: number) {\n const tab = enabledTabsWithCurrentTab[enabledTabIndex];\n if (tab.id === activeTabId) {\n return;\n }\n\n onChange({ activeTabId: tab.id, activeTabHref: tab.href });\n };\n\n const handleKeyDown = function (\n event: React.KeyboardEvent<HTMLAnchorElement> | React.KeyboardEvent<HTMLButtonElement>\n ) {\n const { keyCode } = event;\n const specialKeys = [KeyCode.right, KeyCode.left, KeyCode.end, KeyCode.home, KeyCode.pageUp, KeyCode.pageDown];\n if (specialKeys.indexOf(keyCode) === -1) {\n return;\n }\n event.preventDefault();\n const activeIndex = enabledTabsWithCurrentTab.indexOf(tab);\n switch (keyCode) {\n case KeyCode.right:\n if (activeIndex + 1 === enabledTabsWithCurrentTab.length) {\n highlightTab(0);\n } else {\n highlightTab(activeIndex + 1);\n }\n return;\n case KeyCode.left:\n if (activeIndex === 0) {\n highlightTab(enabledTabsWithCurrentTab.length - 1);\n } else {\n highlightTab(activeIndex - 1);\n }\n return;\n case KeyCode.end:\n highlightTab(enabledTabsWithCurrentTab.length - 1);\n return;\n case KeyCode.home:\n highlightTab(0);\n return;\n case KeyCode.pageDown:\n if (rightOverflow) {\n onPaginationClick(headerBarRef, 1);\n }\n return;\n case KeyCode.pageUp:\n if (leftOverflow) {\n onPaginationClick(headerBarRef, -1);\n }\n return;\n }\n };\n\n const clickTab = (event: React.MouseEvent) => {\n if (tab.disabled) {\n event.preventDefault();\n return;\n }\n\n // if the primary mouse button is clicked with a modifier key, the browser will handle opening a new tab\n const specialKey = !isPlainLeftClick(event);\n if (specialKey && tab.href) {\n return;\n }\n\n event.preventDefault();\n // for browsers that do not focus buttons on button click\n if (!tab.href) {\n const clickedTabRef = tabRefs.current.get(tab.id);\n if (clickedTabRef) {\n const childElement = clickedTabRef.firstChild as HTMLButtonElement;\n if (childElement && childElement !== document.activeElement) {\n childElement.focus({ preventScroll: true });\n }\n }\n }\n\n if (tab.id === activeTabId) {\n return;\n }\n\n onChange({ activeTabId: tab.id, activeTabHref: tab.href });\n };\n\n const classes = clsx({\n [styles['tabs-tab-link']]: true,\n [styles.refresh]: isVisualRefresh,\n [styles['tabs-tab-active']]: activeTabId === tab.id && !tab.disabled,\n [styles['tabs-tab-disabled']]: tab.disabled,\n });\n\n const commonProps: (JSX.IntrinsicElements['a'] | JSX.IntrinsicElements['button']) & { 'data-testid': string } = {\n className: classes,\n ...focusVisible,\n role: 'tab',\n 'aria-selected': tab.id === activeTabId,\n 'aria-controls': `${idNamespace}-${tab.id}-panel`,\n 'data-testid': tab.id,\n children: <span className={styles['tabs-tab-label']}>{tab.label}</span>,\n };\n\n if (tab.disabled) {\n commonProps['aria-disabled'] = 'true';\n } else {\n commonProps.onClick = clickTab;\n }\n\n if (tab.id === activeTabId) {\n commonProps.ref = activeTabHeaderRef;\n commonProps.tabIndex = 0;\n commonProps.onKeyDown = (\n event: React.KeyboardEvent<HTMLAnchorElement> | React.KeyboardEvent<HTMLButtonElement>\n ) => handleKeyDown(event);\n } else {\n commonProps.tabIndex = -1;\n }\n\n let trigger = null;\n if (tab.href) {\n const anchorProps = commonProps as JSX.IntrinsicElements['a'];\n anchorProps.href = tab.href;\n trigger = <a {...anchorProps} />;\n } else {\n const buttonProps = commonProps as JSX.IntrinsicElements['button'];\n buttonProps.type = 'button';\n if (tab.disabled) {\n buttonProps.disabled = true;\n }\n trigger = <button {...buttonProps} />;\n }\n\n return (\n <li\n ref={element => tabRefs.current.set(tab.id, element as HTMLElement)}\n className={styles['tabs-tab']}\n role=\"presentation\"\n key={tab.id}\n >\n {trigger}\n </li>\n );\n }\n}\n"]}
@@ -1,9 +1,9 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_qk1j1_kusqt_93",
5
- "textarea": "awsui_textarea_qk1j1_kusqt_97",
6
- "textarea-readonly": "awsui_textarea-readonly_qk1j1_kusqt_122",
7
- "textarea-invalid": "awsui_textarea-invalid_qk1j1_kusqt_158"
4
+ "root": "awsui_root_qk1j1_eoztp_93",
5
+ "textarea": "awsui_textarea_qk1j1_eoztp_97",
6
+ "textarea-readonly": "awsui_textarea-readonly_qk1j1_eoztp_121",
7
+ "textarea-invalid": "awsui_textarea-invalid_qk1j1_eoztp_157"
8
8
  };
9
9
 
@@ -90,11 +90,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
90
90
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
91
91
  SPDX-License-Identifier: Apache-2.0
92
92
  */
93
- .awsui_root_qk1j1_kusqt_93:not(#\9) {
93
+ .awsui_root_qk1j1_eoztp_93:not(#\9) {
94
94
  /* used for test-utils */
95
95
  }
96
96
 
97
- .awsui_textarea_qk1j1_kusqt_97:not(#\9) {
97
+ .awsui_textarea_qk1j1_eoztp_97:not(#\9) {
98
98
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
99
99
  border-collapse: separate;
100
100
  border-spacing: 0;
@@ -129,8 +129,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
129
129
  color: var(--color-text-body-default-ajf1h5, #000716);
130
130
  font-weight: 400;
131
131
  font-family: var(--font-family-base-qnistn, "Open Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
132
- resize: auto;
133
- /* stylelint-disable-line plugin/no-unsupported-browser-features */
132
+ resize: auto; /* stylelint-disable-line plugin/no-unsupported-browser-features */
134
133
  cursor: text;
135
134
  white-space: pre-wrap;
136
135
  padding: var(--space-scaled-xxs-95dhkm, 4px) var(--space-field-horizontal-89h2yr, 12px);
@@ -145,43 +144,43 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
145
144
  font-size: var(--font-body-m-size-sregvd, 14px);
146
145
  line-height: var(--font-body-m-line-height-i7xxvv, 22px);
147
146
  }
148
- .awsui_textarea_qk1j1_kusqt_97.awsui_textarea-readonly_qk1j1_kusqt_122:not(#\9) {
147
+ .awsui_textarea_qk1j1_eoztp_97.awsui_textarea-readonly_qk1j1_eoztp_121:not(#\9) {
149
148
  background-color: var(--color-background-input-default-u57378, #ffffff);
150
149
  border: var(--border-field-width-idlekx, 2px) solid var(--color-border-input-disabled-x2lopj, #e9ebed);
151
150
  }
152
- .awsui_textarea_qk1j1_kusqt_97:not(#\9)::placeholder {
151
+ .awsui_textarea_qk1j1_eoztp_97:not(#\9)::placeholder {
153
152
  color: var(--color-text-input-placeholder-j53j3c, #5f6b7a);
154
153
  font-style: italic;
155
154
  opacity: 1;
156
155
  }
157
- .awsui_textarea_qk1j1_kusqt_97:not(#\9):-ms-input-placeholder {
156
+ .awsui_textarea_qk1j1_eoztp_97:not(#\9):-ms-input-placeholder {
158
157
  color: var(--color-text-input-placeholder-j53j3c, #5f6b7a);
159
158
  font-style: italic;
160
159
  }
161
- .awsui_textarea_qk1j1_kusqt_97:not(#\9):focus {
160
+ .awsui_textarea_qk1j1_eoztp_97:not(#\9):focus {
162
161
  outline: 2px dotted transparent;
163
162
  border: var(--border-field-width-idlekx, 2px) solid var(--color-border-item-focused-ap3b6s, #0972d3);
164
163
  border-radius: var(--border-radius-input-txq8zy, 8px);
165
164
  box-shadow: 0 0 0 var(--border-control-focus-ring-shadow-spread-srzyiu, 0px) var(--color-border-item-focused-ap3b6s, #0972d3);
166
165
  }
167
- .awsui_textarea_qk1j1_kusqt_97:not(#\9):invalid {
166
+ .awsui_textarea_qk1j1_eoztp_97:not(#\9):invalid {
168
167
  box-shadow: none;
169
168
  }
170
- .awsui_textarea_qk1j1_kusqt_97:not(#\9):disabled {
169
+ .awsui_textarea_qk1j1_eoztp_97:not(#\9):disabled {
171
170
  background-color: var(--color-background-input-disabled-wu9j6u, #e9ebed);
172
171
  border: var(--border-field-width-idlekx, 2px) solid var(--color-border-input-disabled-x2lopj, #e9ebed);
173
172
  color: var(--color-text-input-disabled-oawyzo, #9ba7b6);
174
173
  cursor: auto;
175
174
  cursor: default;
176
175
  }
177
- .awsui_textarea_qk1j1_kusqt_97:not(#\9):disabled::placeholder {
176
+ .awsui_textarea_qk1j1_eoztp_97:not(#\9):disabled::placeholder {
178
177
  color: var(--color-text-input-placeholder-disabled-6928j8, #9ba7b6);
179
178
  opacity: 1;
180
179
  }
181
- .awsui_textarea_qk1j1_kusqt_97:not(#\9):disabled:-ms-input-placeholder {
180
+ .awsui_textarea_qk1j1_eoztp_97:not(#\9):disabled:-ms-input-placeholder {
182
181
  color: var(--color-text-input-placeholder-disabled-6928j8, #9ba7b6);
183
182
  }
184
- .awsui_textarea_qk1j1_kusqt_97.awsui_textarea-invalid_qk1j1_kusqt_158:not(#\9) {
183
+ .awsui_textarea_qk1j1_eoztp_97.awsui_textarea-invalid_qk1j1_eoztp_157:not(#\9) {
185
184
  color: var(--color-text-status-error-5sesl6, #d91515);
186
185
  border-color: var(--color-text-status-error-5sesl6, #d91515);
187
186
  padding-left: calc(
@@ -189,6 +188,6 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
189
188
  );
190
189
  border-left-width: var(--border-invalid-width-5jpdqn, 8px);
191
190
  }
192
- .awsui_textarea_qk1j1_kusqt_97.awsui_textarea-invalid_qk1j1_kusqt_158:not(#\9):focus {
191
+ .awsui_textarea_qk1j1_eoztp_97.awsui_textarea-invalid_qk1j1_eoztp_157:not(#\9):focus {
193
192
  box-shadow: 0 0 0 var(--border-control-invalid-focus-ring-shadow-spread-omt6il, 2px) var(--color-border-item-focused-ap3b6s, #0972d3);
194
193
  }
@@ -2,9 +2,9 @@
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_qk1j1_kusqt_93",
6
- "textarea": "awsui_textarea_qk1j1_kusqt_97",
7
- "textarea-readonly": "awsui_textarea-readonly_qk1j1_kusqt_122",
8
- "textarea-invalid": "awsui_textarea-invalid_qk1j1_kusqt_158"
5
+ "root": "awsui_root_qk1j1_eoztp_93",
6
+ "textarea": "awsui_textarea_qk1j1_eoztp_97",
7
+ "textarea-readonly": "awsui_textarea-readonly_qk1j1_eoztp_121",
8
+ "textarea-invalid": "awsui_textarea-invalid_qk1j1_eoztp_157"
9
9
  };
10
10
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/tutorial-panel/components/tutorial-detail-view/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,QAAQ,EACR,cAAc,EAAE,qBAAqB,EACrC,gBAAoB,EACpB,eAAe,EAAE,sBAAsB,EACvC,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;IACtC,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACjD,gBAAgB,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACrD,eAAe,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACvD,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;CAChD,eAgDA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/tutorial-panel/components/tutorial-detail-view/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAMtD,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAKrE,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EACzC,QAAQ,EACR,cAAc,EAAE,qBAAqB,EACrC,gBAAoB,EACpB,eAAe,EAAE,sBAAsB,EACvC,WAAW,GACZ,EAAE;IACD,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,CAAC;IACtC,cAAc,EAAE,cAAc,CAAC,gBAAgB,CAAC,CAAC;IACjD,gBAAgB,EAAE,cAAc,CAAC,kBAAkB,CAAC,CAAC;IACrD,eAAe,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;IACvD,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;CAChD,eA+CA"}
@@ -1,6 +1,6 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import React, { useCallback, useRef } from 'react';
3
+ import React, { useCallback } from 'react';
4
4
  import InternalBox from '../../../box/internal';
5
5
  import { InternalButton } from '../../../button/internal';
6
6
  import InternalSpaceBetween from '../../../space-between/internal';
@@ -11,8 +11,7 @@ import { TaskList } from './task-list';
11
11
  import { useVisualRefresh } from '../../../internal/hooks/use-visual-mode';
12
12
  export default function TutorialDetailView(_a) {
13
13
  var tutorial = _a.tutorial, onExitTutorialHandler = _a.onExitTutorial, _b = _a.currentStepIndex, currentStepIndex = _b === void 0 ? 0 : _b, onFeedbackClickHandler = _a.onFeedbackClick, i18nStrings = _a.i18nStrings;
14
- var refreshRef = useRef(null);
15
- var isRefresh = useVisualRefresh(refreshRef);
14
+ var isRefresh = useVisualRefresh();
16
15
  var onExitTutorial = useCallback(function () {
17
16
  fireNonCancelableEvent(onExitTutorialHandler, { tutorial: tutorial });
18
17
  }, [onExitTutorialHandler, tutorial]);
@@ -21,7 +20,7 @@ export default function TutorialDetailView(_a) {
21
20
  }, [onFeedbackClickHandler, tutorial]);
22
21
  return (React.createElement(React.Fragment, null,
23
22
  React.createElement(InternalSpaceBetween, { size: "xl" },
24
- React.createElement("div", { className: styles['tutorial-title'], ref: refreshRef },
23
+ React.createElement("div", { className: styles['tutorial-title'] },
25
24
  React.createElement(InternalButton, { variant: "icon", onClick: onExitTutorial, ariaLabel: i18nStrings.labelExitTutorial, formAction: "none", iconName: "arrow-left" }),
26
25
  React.createElement(InternalBox, { variant: "h2", fontSize: isRefresh ? 'heading-m' : 'heading-l', padding: { top: 'xxs' }, margin: { left: 's' } }, tutorial.title)),
27
26
  tutorial.completed ? (React.createElement(CongratulationScreen, { onFeedbackClick: onFeedbackClick, i18nStrings: i18nStrings }, tutorial.completedScreenDescription)) : (React.createElement(TaskList, { tasks: tutorial.tasks, onExitTutorial: onExitTutorial, currentGlobalStepIndex: currentStepIndex, i18nStrings: i18nStrings })))));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/tutorial-panel/components/tutorial-detail-view/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAY1C;QAXC,QAAQ,cAAA,EACQ,qBAAqB,oBAAA,EACrC,wBAAoB,EAApB,gBAAgB,mBAAG,CAAC,KAAA,EACH,sBAAsB,qBAAA,EACvC,WAAW,iBAAA;IAQX,IAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAChC,IAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAE/C,IAAM,cAAc,GAAG,WAAW,CAAC;QACjC,sBAAsB,CAAC,qBAAqB,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtC,IAAM,eAAe,GAAG,WAAW,CAAC;QAClC,sBAAsB,CAAC,sBAAsB,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvC,OAAO,CACL;QACE,oBAAC,oBAAoB,IAAC,IAAI,EAAC,IAAI;YAC7B,6BAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,UAAU;gBACvD,oBAAC,cAAc,IACb,OAAO,EAAC,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,WAAW,CAAC,iBAAiB,EACxC,UAAU,EAAC,MAAM,EACjB,QAAQ,EAAC,YAAY,GACrB;gBAEF,oBAAC,WAAW,IACV,OAAO,EAAC,IAAI,EACZ,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAC/C,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EACvB,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAEpB,QAAQ,CAAC,KAAK,CACH,CACV;YACL,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CACpB,oBAAC,oBAAoB,IAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,IAC7E,QAAQ,CAAC,0BAA0B,CACf,CACxB,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,IACP,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,cAAc,EAAE,cAAc,EAC9B,sBAAsB,EAAE,gBAAgB,EACxC,WAAW,EAAE,WAAW,GACxB,CACH,CACoB,CACtB,CACJ,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback, useRef } from 'react';\nimport { TutorialPanelProps } from '../../interfaces';\nimport InternalBox from '../../../box/internal';\nimport { InternalButton } from '../../../button/internal';\nimport InternalSpaceBetween from '../../../space-between/internal';\nimport styles from './styles.css.js';\nimport { fireNonCancelableEvent } from '../../../internal/events/index';\nimport { HotspotContext } from '../../../annotation-context/context';\nimport { CongratulationScreen } from './congratulation-screen';\nimport { TaskList } from './task-list';\nimport { useVisualRefresh } from '../../../internal/hooks/use-visual-mode';\n\nexport default function TutorialDetailView({\n tutorial,\n onExitTutorial: onExitTutorialHandler,\n currentStepIndex = 0,\n onFeedbackClick: onFeedbackClickHandler,\n i18nStrings,\n}: {\n tutorial: TutorialPanelProps.Tutorial;\n onExitTutorial: HotspotContext['onExitTutorial'];\n currentStepIndex: HotspotContext['currentStepIndex'];\n onFeedbackClick: TutorialPanelProps['onFeedbackClick'];\n i18nStrings: TutorialPanelProps['i18nStrings'];\n}) {\n const refreshRef = useRef(null);\n const isRefresh = useVisualRefresh(refreshRef);\n\n const onExitTutorial = useCallback(() => {\n fireNonCancelableEvent(onExitTutorialHandler, { tutorial });\n }, [onExitTutorialHandler, tutorial]);\n\n const onFeedbackClick = useCallback(() => {\n fireNonCancelableEvent(onFeedbackClickHandler, { tutorial });\n }, [onFeedbackClickHandler, tutorial]);\n\n return (\n <>\n <InternalSpaceBetween size=\"xl\">\n <div className={styles['tutorial-title']} ref={refreshRef}>\n <InternalButton\n variant=\"icon\"\n onClick={onExitTutorial}\n ariaLabel={i18nStrings.labelExitTutorial}\n formAction=\"none\"\n iconName=\"arrow-left\"\n />\n\n <InternalBox\n variant=\"h2\"\n fontSize={isRefresh ? 'heading-m' : 'heading-l'}\n padding={{ top: 'xxs' }}\n margin={{ left: 's' }}\n >\n {tutorial.title}\n </InternalBox>\n </div>\n {tutorial.completed ? (\n <CongratulationScreen onFeedbackClick={onFeedbackClick} i18nStrings={i18nStrings}>\n {tutorial.completedScreenDescription}\n </CongratulationScreen>\n ) : (\n <TaskList\n tasks={tutorial.tasks}\n onExitTutorial={onExitTutorial}\n currentGlobalStepIndex={currentStepIndex}\n i18nStrings={i18nStrings}\n />\n )}\n </InternalSpaceBetween>\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/tutorial-panel/components/tutorial-detail-view/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,oBAAoB,MAAM,iCAAiC,CAAC;AACnE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAE3E,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAY1C;QAXC,QAAQ,cAAA,EACQ,qBAAqB,oBAAA,EACrC,wBAAoB,EAApB,gBAAgB,mBAAG,CAAC,KAAA,EACH,sBAAsB,qBAAA,EACvC,WAAW,iBAAA;IAQX,IAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAErC,IAAM,cAAc,GAAG,WAAW,CAAC;QACjC,sBAAsB,CAAC,qBAAqB,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;IAC9D,CAAC,EAAE,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEtC,IAAM,eAAe,GAAG,WAAW,CAAC;QAClC,sBAAsB,CAAC,sBAAsB,EAAE,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;IAC/D,CAAC,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvC,OAAO,CACL;QACE,oBAAC,oBAAoB,IAAC,IAAI,EAAC,IAAI;YAC7B,6BAAK,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBACtC,oBAAC,cAAc,IACb,OAAO,EAAC,MAAM,EACd,OAAO,EAAE,cAAc,EACvB,SAAS,EAAE,WAAW,CAAC,iBAAiB,EACxC,UAAU,EAAC,MAAM,EACjB,QAAQ,EAAC,YAAY,GACrB;gBAEF,oBAAC,WAAW,IACV,OAAO,EAAC,IAAI,EACZ,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAC/C,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,EACvB,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAEpB,QAAQ,CAAC,KAAK,CACH,CACV;YACL,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CACpB,oBAAC,oBAAoB,IAAC,eAAe,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,IAC7E,QAAQ,CAAC,0BAA0B,CACf,CACxB,CAAC,CAAC,CAAC,CACF,oBAAC,QAAQ,IACP,KAAK,EAAE,QAAQ,CAAC,KAAK,EACrB,cAAc,EAAE,cAAc,EAC9B,sBAAsB,EAAE,gBAAgB,EACxC,WAAW,EAAE,WAAW,GACxB,CACH,CACoB,CACtB,CACJ,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useCallback } from 'react';\nimport { TutorialPanelProps } from '../../interfaces';\nimport InternalBox from '../../../box/internal';\nimport { InternalButton } from '../../../button/internal';\nimport InternalSpaceBetween from '../../../space-between/internal';\nimport styles from './styles.css.js';\nimport { fireNonCancelableEvent } from '../../../internal/events/index';\nimport { HotspotContext } from '../../../annotation-context/context';\nimport { CongratulationScreen } from './congratulation-screen';\nimport { TaskList } from './task-list';\nimport { useVisualRefresh } from '../../../internal/hooks/use-visual-mode';\n\nexport default function TutorialDetailView({\n tutorial,\n onExitTutorial: onExitTutorialHandler,\n currentStepIndex = 0,\n onFeedbackClick: onFeedbackClickHandler,\n i18nStrings,\n}: {\n tutorial: TutorialPanelProps.Tutorial;\n onExitTutorial: HotspotContext['onExitTutorial'];\n currentStepIndex: HotspotContext['currentStepIndex'];\n onFeedbackClick: TutorialPanelProps['onFeedbackClick'];\n i18nStrings: TutorialPanelProps['i18nStrings'];\n}) {\n const isRefresh = useVisualRefresh();\n\n const onExitTutorial = useCallback(() => {\n fireNonCancelableEvent(onExitTutorialHandler, { tutorial });\n }, [onExitTutorialHandler, tutorial]);\n\n const onFeedbackClick = useCallback(() => {\n fireNonCancelableEvent(onFeedbackClickHandler, { tutorial });\n }, [onFeedbackClickHandler, tutorial]);\n\n return (\n <>\n <InternalSpaceBetween size=\"xl\">\n <div className={styles['tutorial-title']}>\n <InternalButton\n variant=\"icon\"\n onClick={onExitTutorial}\n ariaLabel={i18nStrings.labelExitTutorial}\n formAction=\"none\"\n iconName=\"arrow-left\"\n />\n\n <InternalBox\n variant=\"h2\"\n fontSize={isRefresh ? 'heading-m' : 'heading-l'}\n padding={{ top: 'xxs' }}\n margin={{ left: 's' }}\n >\n {tutorial.title}\n </InternalBox>\n </div>\n {tutorial.completed ? (\n <CongratulationScreen onFeedbackClick={onFeedbackClick} i18nStrings={i18nStrings}>\n {tutorial.completedScreenDescription}\n </CongratulationScreen>\n ) : (\n <TaskList\n tasks={tutorial.tasks}\n onExitTutorial={onExitTutorial}\n currentGlobalStepIndex={currentStepIndex}\n i18nStrings={i18nStrings}\n />\n )}\n </InternalSpaceBetween>\n </>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/tutorial-panel/components/tutorial-list/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAWtD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAMxE,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,eAAe,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1F,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC/C,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;CAChD;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,WAAW,EACX,SAAS,EACT,OAAe,EACf,eAAe,EACf,WAAW,GACZ,EAAE,iBAAiB,eAsEnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/tutorial-panel/components/tutorial-list/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAWtD,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAMxE,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,eAAe,EAAE,cAAc,CAAC,iBAAiB,CAAC,CAAC;IACnD,iBAAiB,EAAE,CAAC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1F,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;IAC/C,WAAW,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;CAChD;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EACnC,WAAW,EACX,SAAS,EACT,OAAe,EACf,eAAe,EACf,WAAW,GACZ,EAAE,iBAAiB,eAqEnB"}
@@ -1,7 +1,7 @@
1
1
  import { __assign } from "tslib";
2
2
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
3
  // SPDX-License-Identifier: Apache-2.0
4
- import React, { useCallback, useState, useRef } from 'react';
4
+ import React, { useCallback, useState } from 'react';
5
5
  import styles from './styles.css.js';
6
6
  import InternalBox from '../../../box/internal';
7
7
  import { InternalButton } from '../../../button/internal';
@@ -32,8 +32,7 @@ export default function TutorialList(_a) {
32
32
  const filteredTutorials = tutorials.filter(tutorial => filteringFunction(tutorial, searchTerm))
33
33
  */
34
34
  var focusVisible = useFocusVisible();
35
- var tutorialListRef = useRef(null);
36
- var isRefresh = useVisualRefresh(tutorialListRef);
35
+ var isRefresh = useVisualRefresh();
37
36
  return (React.createElement(React.Fragment, null,
38
37
  React.createElement(InternalSpaceBetween, { size: "s" },
39
38
  React.createElement(InternalSpaceBetween, { size: "m" },
@@ -44,7 +43,7 @@ export default function TutorialList(_a) {
44
43
  React.createElement(InternalIcon, { name: "download" }),
45
44
  React.createElement(InternalBox, { padding: { left: 'xs' }, color: "inherit", fontWeight: "bold", display: "inline" }, i18nStrings.tutorialListDownloadLinkText)),
46
45
  loading ? (React.createElement(InternalStatusIndicator, { type: "loading" }, i18nStrings.loadingText)) : (React.createElement(React.Fragment, null,
47
- React.createElement("ul", { className: styles['tutorial-list'], role: "list", ref: tutorialListRef }, tutorials.map(function (tutorial, index) { return (React.createElement(Tutorial, { tutorial: tutorial, key: index, onStartTutorial: onStartTutorial, i18nStrings: i18nStrings })); }))))))));
46
+ React.createElement("ul", { className: styles['tutorial-list'], role: "list" }, tutorials.map(function (tutorial, index) { return (React.createElement(Tutorial, { tutorial: tutorial, key: index, onStartTutorial: onStartTutorial, i18nStrings: i18nStrings })); }))))))));
48
47
  }
49
48
  function Tutorial(_a) {
50
49
  var _b;
@@ -53,8 +52,7 @@ function Tutorial(_a) {
53
52
  var controlId = useUniqueId();
54
53
  var triggerControldId = useUniqueId();
55
54
  var headerId = useUniqueId();
56
- var tutorialRef = useRef(null);
57
- var isRefresh = useVisualRefresh(tutorialRef);
55
+ var isRefresh = useVisualRefresh();
58
56
  var onStartTutorial = useCallback(function () {
59
57
  fireNonCancelableEvent(onStartTutorialEventHandler, { tutorial: tutorial });
60
58
  }, [onStartTutorialEventHandler, tutorial]);
@@ -62,7 +60,7 @@ function Tutorial(_a) {
62
60
  var onClick = useCallback(function () {
63
61
  setExpanded(function (expanded) { return !expanded; });
64
62
  }, []);
65
- return (React.createElement("li", { className: styles['tutorial-box'], role: "listitem", ref: tutorialRef },
63
+ return (React.createElement("li", { className: styles['tutorial-box'], role: "listitem" },
66
64
  React.createElement(InternalSpaceBetween, { size: "xs" },
67
65
  React.createElement("div", { className: styles['tutorial-box-title'] },
68
66
  React.createElement(InternalBox, { variant: "h3", fontSize: isRefresh ? 'heading-s' : 'heading-m', id: headerId, margin: { right: 'xs' }, padding: "n", className: styles.title }, tutorial.title),