@cloudscape-design/components 3.0.1322 → 3.0.1324
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.
- package/alert/styles.css.js +27 -27
- package/alert/styles.scoped.css +44 -44
- package/alert/styles.selectors.js +27 -27
- package/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.d.ts.map +1 -1
- package/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +3 -3
- package/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js +1 -1
- package/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +1 -1
- package/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/index.js +1 -1
- package/app-layout/visual-refresh-toolbar/index.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/state/index.js +1 -1
- package/app-layout/visual-refresh-toolbar/state/index.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +3 -3
- package/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/toolbar/index.js +4 -4
- package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/widget-areas/after-main-slot.js +2 -2
- package/app-layout/visual-refresh-toolbar/widget-areas/after-main-slot.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js +2 -2
- package/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/widget-areas/bottom-content-slot.js +1 -1
- package/app-layout/visual-refresh-toolbar/widget-areas/bottom-content-slot.js.map +1 -1
- package/app-layout/visual-refresh-toolbar/widget-areas/top-content-slot.js +1 -1
- package/app-layout/visual-refresh-toolbar/widget-areas/top-content-slot.js.map +1 -1
- package/box/styles.css.js +193 -193
- package/box/styles.scoped.css +242 -242
- package/box/styles.selectors.js +193 -193
- package/code-editor/styles.css.js +33 -33
- package/code-editor/styles.scoped.css +147 -147
- package/code-editor/styles.selectors.js +33 -33
- package/error-boundary/interfaces.d.ts +1 -0
- package/error-boundary/interfaces.d.ts.map +1 -1
- package/error-boundary/interfaces.js.map +1 -1
- package/error-boundary/internal.d.ts +2 -1
- package/error-boundary/internal.d.ts.map +1 -1
- package/error-boundary/internal.js +7 -3
- package/error-boundary/internal.js.map +1 -1
- package/flashbar/flash.d.ts.map +1 -1
- package/flashbar/flash.js +2 -2
- package/flashbar/flash.js.map +1 -1
- package/flashbar/style.d.ts +3 -0
- package/flashbar/style.d.ts.map +1 -1
- package/flashbar/style.js +9 -0
- package/flashbar/style.js.map +1 -1
- package/flashbar/styles.css.js +50 -50
- package/flashbar/styles.scoped.css +169 -151
- package/flashbar/styles.selectors.js +50 -50
- package/form-field/styles.css.js +24 -24
- package/form-field/styles.scoped.css +40 -40
- package/form-field/styles.selectors.js +24 -24
- package/icon/styles.css.js +41 -41
- package/icon/styles.scoped.css +94 -94
- package/icon/styles.selectors.js +41 -41
- package/input/styles.css.js +18 -18
- package/input/styles.scoped.css +38 -38
- package/input/styles.selectors.js +18 -18
- package/internal/analytics/components/analytics-funnel.d.ts.map +1 -1
- package/internal/analytics/components/analytics-funnel.js +16 -5
- package/internal/analytics/components/analytics-funnel.js.map +1 -1
- package/internal/base-component/styles.scoped.css +91 -57
- package/internal/components/button-trigger/styles.css.js +14 -14
- package/internal/components/button-trigger/styles.scoped.css +35 -35
- package/internal/components/button-trigger/styles.selectors.js +14 -14
- package/internal/environment.js +2 -2
- package/internal/environment.json +2 -2
- package/internal/generated/styles/tokens.d.ts +10 -0
- package/internal/generated/styles/tokens.js +23 -13
- package/internal/generated/theming/index.cjs +262 -21
- package/internal/generated/theming/index.cjs.d.ts +90 -0
- package/internal/generated/theming/index.d.ts +90 -0
- package/internal/generated/theming/index.js +262 -21
- package/internal/manifest.json +1 -1
- package/manifest.json +2 -2
- package/package.json +1 -1
- package/popover/body.d.ts.map +1 -1
- package/popover/body.js +2 -2
- package/popover/body.js.map +1 -1
- package/prompt-input/styles.css.js +26 -26
- package/prompt-input/styles.scoped.css +61 -61
- package/prompt-input/styles.selectors.js +26 -26
- package/side-navigation/parts.d.ts.map +1 -1
- package/side-navigation/parts.js +21 -14
- package/side-navigation/parts.js.map +1 -1
- package/side-navigation/styles.css.js +46 -46
- package/side-navigation/styles.scoped.css +85 -107
- package/side-navigation/styles.selectors.js +46 -46
- package/slider/styles.css.js +26 -26
- package/slider/styles.scoped.css +112 -112
- package/slider/styles.selectors.js +26 -26
- package/status-indicator/styles.css.js +24 -24
- package/status-indicator/styles.scoped.css +59 -59
- package/status-indicator/styles.selectors.js +24 -24
- package/textarea/styles.css.js +5 -5
- package/textarea/styles.scoped.css +17 -17
- package/textarea/styles.selectors.js +5 -5
- package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
- package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +23 -23
- package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
package/alert/styles.css.js
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"alert": "
|
|
5
|
-
"awsui-motion-fade-in": "awsui_awsui-motion-fade-
|
|
6
|
-
"root": "
|
|
7
|
-
"hidden": "
|
|
8
|
-
"alert-wrapper": "awsui_alert-
|
|
9
|
-
"initial-hidden": "awsui_initial-
|
|
10
|
-
"header": "
|
|
11
|
-
"header-replacement": "awsui_header-
|
|
12
|
-
"action": "
|
|
13
|
-
"action-slot": "awsui_action-
|
|
14
|
-
"action-button": "awsui_action-
|
|
15
|
-
"alert-focus-wrapper": "awsui_alert-focus-
|
|
16
|
-
"text": "
|
|
17
|
-
"icon": "
|
|
18
|
-
"message": "
|
|
19
|
-
"action-wrapped": "awsui_action-
|
|
20
|
-
"icon-size-medium": "awsui_icon-size-
|
|
21
|
-
"icon-size-big": "awsui_icon-size-
|
|
22
|
-
"icon-size-normal": "awsui_icon-size-
|
|
23
|
-
"content": "
|
|
24
|
-
"content-replacement": "awsui_content-
|
|
25
|
-
"dismiss": "
|
|
26
|
-
"dismiss-button": "awsui_dismiss-
|
|
27
|
-
"type-error": "awsui_type-
|
|
28
|
-
"type-warning": "awsui_type-
|
|
29
|
-
"type-success": "awsui_type-
|
|
30
|
-
"type-info": "awsui_type-
|
|
4
|
+
"alert": "awsui_alert_mx3cw_7jl6m_193",
|
|
5
|
+
"awsui-motion-fade-in": "awsui_awsui-motion-fade-in_mx3cw_7jl6m_1",
|
|
6
|
+
"root": "awsui_root_mx3cw_7jl6m_215",
|
|
7
|
+
"hidden": "awsui_hidden_mx3cw_7jl6m_250",
|
|
8
|
+
"alert-wrapper": "awsui_alert-wrapper_mx3cw_7jl6m_301",
|
|
9
|
+
"initial-hidden": "awsui_initial-hidden_mx3cw_7jl6m_313",
|
|
10
|
+
"header": "awsui_header_mx3cw_7jl6m_318",
|
|
11
|
+
"header-replacement": "awsui_header-replacement_mx3cw_7jl6m_319",
|
|
12
|
+
"action": "awsui_action_mx3cw_7jl6m_323",
|
|
13
|
+
"action-slot": "awsui_action-slot_mx3cw_7jl6m_327",
|
|
14
|
+
"action-button": "awsui_action-button_mx3cw_7jl6m_328",
|
|
15
|
+
"alert-focus-wrapper": "awsui_alert-focus-wrapper_mx3cw_7jl6m_332",
|
|
16
|
+
"text": "awsui_text_mx3cw_7jl6m_363",
|
|
17
|
+
"icon": "awsui_icon_mx3cw_7jl6m_370",
|
|
18
|
+
"message": "awsui_message_mx3cw_7jl6m_373",
|
|
19
|
+
"action-wrapped": "awsui_action-wrapped_mx3cw_7jl6m_377",
|
|
20
|
+
"icon-size-medium": "awsui_icon-size-medium_mx3cw_7jl6m_381",
|
|
21
|
+
"icon-size-big": "awsui_icon-size-big_mx3cw_7jl6m_385",
|
|
22
|
+
"icon-size-normal": "awsui_icon-size-normal_mx3cw_7jl6m_389",
|
|
23
|
+
"content": "awsui_content_mx3cw_7jl6m_393",
|
|
24
|
+
"content-replacement": "awsui_content-replacement_mx3cw_7jl6m_394",
|
|
25
|
+
"dismiss": "awsui_dismiss_mx3cw_7jl6m_398",
|
|
26
|
+
"dismiss-button": "awsui_dismiss-button_mx3cw_7jl6m_403",
|
|
27
|
+
"type-error": "awsui_type-error_mx3cw_7jl6m_407",
|
|
28
|
+
"type-warning": "awsui_type-warning_mx3cw_7jl6m_415",
|
|
29
|
+
"type-success": "awsui_type-success_mx3cw_7jl6m_423",
|
|
30
|
+
"type-info": "awsui_type-info_mx3cw_7jl6m_431"
|
|
31
31
|
};
|
|
32
32
|
|
package/alert/styles.scoped.css
CHANGED
|
@@ -190,10 +190,10 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
190
190
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
191
191
|
SPDX-License-Identifier: Apache-2.0
|
|
192
192
|
*/
|
|
193
|
-
.
|
|
194
|
-
animation: awsui_awsui-motion-fade-
|
|
193
|
+
.awsui_alert_mx3cw_7jl6m_193:not(#\9) {
|
|
194
|
+
animation: awsui_awsui-motion-fade-in_mx3cw_7jl6m_1 var(--motion-duration-show-paced-otsjh8, 180ms) var(--motion-easing-show-paced-ym6eyn, ease-out);
|
|
195
195
|
}
|
|
196
|
-
@keyframes awsui_awsui-motion-fade-
|
|
196
|
+
@keyframes awsui_awsui-motion-fade-in_mx3cw_7jl6m_1 {
|
|
197
197
|
from {
|
|
198
198
|
opacity: 0.2;
|
|
199
199
|
}
|
|
@@ -202,17 +202,17 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
@media (prefers-reduced-motion: reduce) {
|
|
205
|
-
.
|
|
205
|
+
.awsui_alert_mx3cw_7jl6m_193:not(#\9) {
|
|
206
206
|
animation: none;
|
|
207
207
|
transition: none;
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
.awsui-motion-disabled .
|
|
210
|
+
.awsui-motion-disabled .awsui_alert_mx3cw_7jl6m_193:not(#\9), .awsui-mode-entering .awsui_alert_mx3cw_7jl6m_193:not(#\9) {
|
|
211
211
|
animation: none;
|
|
212
212
|
transition: none;
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
-
.
|
|
215
|
+
.awsui_root_mx3cw_7jl6m_215:not(#\9) {
|
|
216
216
|
border-collapse: separate;
|
|
217
217
|
border-spacing: 0;
|
|
218
218
|
box-sizing: border-box;
|
|
@@ -247,11 +247,11 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
247
247
|
overflow: hidden;
|
|
248
248
|
display: block;
|
|
249
249
|
}
|
|
250
|
-
.
|
|
250
|
+
.awsui_root_mx3cw_7jl6m_215.awsui_hidden_mx3cw_7jl6m_250:not(#\9) {
|
|
251
251
|
display: none;
|
|
252
252
|
}
|
|
253
253
|
|
|
254
|
-
.
|
|
254
|
+
.awsui_alert_mx3cw_7jl6m_193:not(#\9) {
|
|
255
255
|
border-collapse: separate;
|
|
256
256
|
border-spacing: 0;
|
|
257
257
|
box-sizing: border-box;
|
|
@@ -298,7 +298,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
298
298
|
--awsui-alert-focus-ring-box-shadow-6b9ypa: 0 0 0 var(--awsui-alert-focus-ring-border-width-6b9ypa, 2px) var(--awsui-alert-focus-ring-border-color-6b9ypa, var(--color-border-item-focused-uk47pl, #006ce0));
|
|
299
299
|
}
|
|
300
300
|
|
|
301
|
-
.awsui_alert-
|
|
301
|
+
.awsui_alert-wrapper_mx3cw_7jl6m_301:not(#\9) {
|
|
302
302
|
flex: 1;
|
|
303
303
|
display: flex;
|
|
304
304
|
flex-direction: row;
|
|
@@ -306,46 +306,46 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
306
306
|
column-gap: var(--space-alert-action-left-4s8zo5, 12px);
|
|
307
307
|
}
|
|
308
308
|
|
|
309
|
-
.
|
|
309
|
+
.awsui_hidden_mx3cw_7jl6m_250:not(#\9) {
|
|
310
310
|
display: none;
|
|
311
311
|
}
|
|
312
312
|
|
|
313
|
-
.awsui_initial-
|
|
313
|
+
.awsui_initial-hidden_mx3cw_7jl6m_313:not(#\9) {
|
|
314
314
|
overflow: hidden;
|
|
315
315
|
block-size: 0;
|
|
316
316
|
}
|
|
317
317
|
|
|
318
|
-
.
|
|
319
|
-
.awsui_header-
|
|
318
|
+
.awsui_header_mx3cw_7jl6m_318:not(#\9),
|
|
319
|
+
.awsui_header-replacement_mx3cw_7jl6m_319:not(#\9) {
|
|
320
320
|
font-weight: var(--font-weight-alert-header-zg25o1, 700);
|
|
321
321
|
}
|
|
322
322
|
|
|
323
|
-
.
|
|
323
|
+
.awsui_action_mx3cw_7jl6m_323:not(#\9) {
|
|
324
324
|
white-space: nowrap;
|
|
325
325
|
}
|
|
326
326
|
|
|
327
|
-
.awsui_action-
|
|
328
|
-
.awsui_action-
|
|
327
|
+
.awsui_action-slot_mx3cw_7jl6m_327:not(#\9),
|
|
328
|
+
.awsui_action-button_mx3cw_7jl6m_328:not(#\9) {
|
|
329
329
|
/* used in test-utils */
|
|
330
330
|
}
|
|
331
331
|
|
|
332
|
-
.awsui_alert-focus-
|
|
332
|
+
.awsui_alert-focus-wrapper_mx3cw_7jl6m_332:not(#\9) {
|
|
333
333
|
flex: 1;
|
|
334
334
|
min-inline-size: 70%;
|
|
335
335
|
display: grid;
|
|
336
336
|
grid-template-columns: min-content auto;
|
|
337
337
|
}
|
|
338
|
-
.awsui_alert-focus-
|
|
338
|
+
.awsui_alert-focus-wrapper_mx3cw_7jl6m_332:not(#\9):focus {
|
|
339
339
|
outline: none;
|
|
340
340
|
}
|
|
341
|
-
body[data-awsui-focus-visible=true] .awsui_alert-focus-
|
|
341
|
+
body[data-awsui-focus-visible=true] .awsui_alert-focus-wrapper_mx3cw_7jl6m_332:not(#\9):focus {
|
|
342
342
|
position: relative;
|
|
343
343
|
}
|
|
344
|
-
body[data-awsui-focus-visible=true] .awsui_alert-focus-
|
|
344
|
+
body[data-awsui-focus-visible=true] .awsui_alert-focus-wrapper_mx3cw_7jl6m_332:not(#\9):focus {
|
|
345
345
|
outline: 2px dotted transparent;
|
|
346
346
|
outline-offset: calc(var(--space-button-focus-outline-gutter-jj138g, 4px) - 1px);
|
|
347
347
|
}
|
|
348
|
-
body[data-awsui-focus-visible=true] .awsui_alert-focus-
|
|
348
|
+
body[data-awsui-focus-visible=true] .awsui_alert-focus-wrapper_mx3cw_7jl6m_332:not(#\9):focus::before {
|
|
349
349
|
content: " ";
|
|
350
350
|
display: block;
|
|
351
351
|
position: absolute;
|
|
@@ -360,78 +360,78 @@ body[data-awsui-focus-visible=true] .awsui_alert-focus-wrapper_mx3cw_c2mjl_332:n
|
|
|
360
360
|
box-shadow: var(--awsui-alert-focus-ring-box-shadow-6b9ypa);
|
|
361
361
|
}
|
|
362
362
|
|
|
363
|
-
.
|
|
363
|
+
.awsui_text_mx3cw_7jl6m_363:not(#\9) {
|
|
364
364
|
min-inline-size: 0;
|
|
365
365
|
padding-block: var(--border-width-button-jm0qg7, 2px);
|
|
366
366
|
padding-inline: 0;
|
|
367
367
|
margin-block: var(--space-scaled-xxs-pfm1nx, 4px);
|
|
368
368
|
margin-inline: var(--space-xxs-hwfkai, 4px);
|
|
369
369
|
}
|
|
370
|
-
.
|
|
370
|
+
.awsui_text_mx3cw_7jl6m_363.awsui_icon_mx3cw_7jl6m_370:not(#\9) {
|
|
371
371
|
margin-inline-start: 0;
|
|
372
372
|
}
|
|
373
|
-
.
|
|
373
|
+
.awsui_text_mx3cw_7jl6m_363.awsui_message_mx3cw_7jl6m_373:not(#\9) {
|
|
374
374
|
margin-inline-end: var(--space-alert-message-right-mrjbnn, 4px);
|
|
375
375
|
}
|
|
376
376
|
|
|
377
|
-
.awsui_action-
|
|
377
|
+
.awsui_action-wrapped_mx3cw_7jl6m_377:not(#\9) {
|
|
378
378
|
margin-block-end: var(--space-xxs-hwfkai, 4px);
|
|
379
379
|
}
|
|
380
380
|
|
|
381
|
-
.awsui_icon-size-
|
|
381
|
+
.awsui_icon-size-medium_mx3cw_7jl6m_381 > .awsui_alert-wrapper_mx3cw_7jl6m_301 > .awsui_action-wrapped_mx3cw_7jl6m_377:not(#\9) {
|
|
382
382
|
margin-inline-start: calc(var(--size-icon-medium-uv8xcz, 20px) + var(--space-xs-ymlm0b, 8px));
|
|
383
383
|
}
|
|
384
384
|
|
|
385
|
-
.awsui_icon-size-
|
|
385
|
+
.awsui_icon-size-big_mx3cw_7jl6m_385 > .awsui_alert-wrapper_mx3cw_7jl6m_301 > .awsui_action-wrapped_mx3cw_7jl6m_377:not(#\9) {
|
|
386
386
|
margin-inline-start: calc(var(--size-icon-big-7pq9l3, 32px) + var(--space-xs-ymlm0b, 8px));
|
|
387
387
|
}
|
|
388
388
|
|
|
389
|
-
.awsui_icon-size-
|
|
389
|
+
.awsui_icon-size-normal_mx3cw_7jl6m_389 > .awsui_alert-wrapper_mx3cw_7jl6m_301 > .awsui_action-wrapped_mx3cw_7jl6m_377:not(#\9) {
|
|
390
390
|
margin-inline-start: calc(var(--size-icon-normal-levt08, 16px) + var(--space-xs-ymlm0b, 8px));
|
|
391
391
|
}
|
|
392
392
|
|
|
393
|
-
.
|
|
394
|
-
.awsui_content-
|
|
393
|
+
.awsui_content_mx3cw_7jl6m_393:not(#\9),
|
|
394
|
+
.awsui_content-replacement_mx3cw_7jl6m_394:not(#\9) {
|
|
395
395
|
/* used in test-utils */
|
|
396
396
|
}
|
|
397
397
|
|
|
398
|
-
.
|
|
398
|
+
.awsui_dismiss_mx3cw_7jl6m_398:not(#\9) {
|
|
399
399
|
margin-inline-end: calc(-1 * var(--space-xxs-hwfkai, 4px));
|
|
400
400
|
margin-inline-start: var(--space-s-tvghoh, 12px);
|
|
401
401
|
}
|
|
402
402
|
|
|
403
|
-
.awsui_dismiss-
|
|
403
|
+
.awsui_dismiss-button_mx3cw_7jl6m_403:not(#\9) {
|
|
404
404
|
/* used in test-utils */
|
|
405
405
|
}
|
|
406
406
|
|
|
407
|
-
.awsui_type-
|
|
407
|
+
.awsui_type-error_mx3cw_7jl6m_407:not(#\9) {
|
|
408
408
|
border-color: var(--color-border-status-error-j8acpp, #db0000);
|
|
409
409
|
background-color: var(--color-background-status-error-mu3lcw, #fff5f5);
|
|
410
410
|
}
|
|
411
|
-
.awsui_type-
|
|
412
|
-
color: var(--awsui-alert-icon-color-6b9ypa, var(--color-text-status-error-
|
|
411
|
+
.awsui_type-error_mx3cw_7jl6m_407 > .awsui_alert-wrapper_mx3cw_7jl6m_301 > .awsui_alert-focus-wrapper_mx3cw_7jl6m_332 > .awsui_icon_mx3cw_7jl6m_370:not(#\9) {
|
|
412
|
+
color: var(--awsui-alert-icon-color-6b9ypa, var(--color-text-status-error-bwp1cm, #db0000));
|
|
413
413
|
}
|
|
414
414
|
|
|
415
|
-
.awsui_type-
|
|
415
|
+
.awsui_type-warning_mx3cw_7jl6m_415:not(#\9) {
|
|
416
416
|
border-color: var(--color-border-status-warning-j40pg7, #855900);
|
|
417
417
|
background-color: var(--color-background-status-warning-cv83up, #fffef0);
|
|
418
418
|
}
|
|
419
|
-
.awsui_type-
|
|
420
|
-
color: var(--awsui-alert-icon-color-6b9ypa, var(--color-text-status-warning-
|
|
419
|
+
.awsui_type-warning_mx3cw_7jl6m_415 > .awsui_alert-wrapper_mx3cw_7jl6m_301 > .awsui_alert-focus-wrapper_mx3cw_7jl6m_332 > .awsui_icon_mx3cw_7jl6m_370:not(#\9) {
|
|
420
|
+
color: var(--awsui-alert-icon-color-6b9ypa, var(--color-text-status-warning-ylxn5k, #855900));
|
|
421
421
|
}
|
|
422
422
|
|
|
423
|
-
.awsui_type-
|
|
423
|
+
.awsui_type-success_mx3cw_7jl6m_423:not(#\9) {
|
|
424
424
|
border-color: var(--color-border-status-success-8z5f8u, #00802f);
|
|
425
425
|
background-color: var(--color-background-status-success-h6b8bh, #effff1);
|
|
426
426
|
}
|
|
427
|
-
.awsui_type-
|
|
428
|
-
color: var(--awsui-alert-icon-color-6b9ypa, var(--color-text-status-success-
|
|
427
|
+
.awsui_type-success_mx3cw_7jl6m_423 > .awsui_alert-wrapper_mx3cw_7jl6m_301 > .awsui_alert-focus-wrapper_mx3cw_7jl6m_332 > .awsui_icon_mx3cw_7jl6m_370:not(#\9) {
|
|
428
|
+
color: var(--awsui-alert-icon-color-6b9ypa, var(--color-text-status-success-r9s7ha, #00802f));
|
|
429
429
|
}
|
|
430
430
|
|
|
431
|
-
.awsui_type-
|
|
431
|
+
.awsui_type-info_mx3cw_7jl6m_431:not(#\9) {
|
|
432
432
|
border-color: var(--color-border-status-info-qf6jok, #006ce0);
|
|
433
433
|
background-color: var(--color-background-status-info-sfobba, #f0fbff);
|
|
434
434
|
}
|
|
435
|
-
.awsui_type-
|
|
436
|
-
color: var(--awsui-alert-icon-color-6b9ypa, var(--color-text-status-info-
|
|
435
|
+
.awsui_type-info_mx3cw_7jl6m_431 > .awsui_alert-wrapper_mx3cw_7jl6m_301 > .awsui_alert-focus-wrapper_mx3cw_7jl6m_332 > .awsui_icon_mx3cw_7jl6m_370:not(#\9) {
|
|
436
|
+
color: var(--awsui-alert-icon-color-6b9ypa, var(--color-text-status-info-2ftgrk, #006ce0));
|
|
437
437
|
}
|
|
@@ -2,32 +2,32 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"alert": "
|
|
6
|
-
"awsui-motion-fade-in": "awsui_awsui-motion-fade-
|
|
7
|
-
"root": "
|
|
8
|
-
"hidden": "
|
|
9
|
-
"alert-wrapper": "awsui_alert-
|
|
10
|
-
"initial-hidden": "awsui_initial-
|
|
11
|
-
"header": "
|
|
12
|
-
"header-replacement": "awsui_header-
|
|
13
|
-
"action": "
|
|
14
|
-
"action-slot": "awsui_action-
|
|
15
|
-
"action-button": "awsui_action-
|
|
16
|
-
"alert-focus-wrapper": "awsui_alert-focus-
|
|
17
|
-
"text": "
|
|
18
|
-
"icon": "
|
|
19
|
-
"message": "
|
|
20
|
-
"action-wrapped": "awsui_action-
|
|
21
|
-
"icon-size-medium": "awsui_icon-size-
|
|
22
|
-
"icon-size-big": "awsui_icon-size-
|
|
23
|
-
"icon-size-normal": "awsui_icon-size-
|
|
24
|
-
"content": "
|
|
25
|
-
"content-replacement": "awsui_content-
|
|
26
|
-
"dismiss": "
|
|
27
|
-
"dismiss-button": "awsui_dismiss-
|
|
28
|
-
"type-error": "awsui_type-
|
|
29
|
-
"type-warning": "awsui_type-
|
|
30
|
-
"type-success": "awsui_type-
|
|
31
|
-
"type-info": "awsui_type-
|
|
5
|
+
"alert": "awsui_alert_mx3cw_7jl6m_193",
|
|
6
|
+
"awsui-motion-fade-in": "awsui_awsui-motion-fade-in_mx3cw_7jl6m_1",
|
|
7
|
+
"root": "awsui_root_mx3cw_7jl6m_215",
|
|
8
|
+
"hidden": "awsui_hidden_mx3cw_7jl6m_250",
|
|
9
|
+
"alert-wrapper": "awsui_alert-wrapper_mx3cw_7jl6m_301",
|
|
10
|
+
"initial-hidden": "awsui_initial-hidden_mx3cw_7jl6m_313",
|
|
11
|
+
"header": "awsui_header_mx3cw_7jl6m_318",
|
|
12
|
+
"header-replacement": "awsui_header-replacement_mx3cw_7jl6m_319",
|
|
13
|
+
"action": "awsui_action_mx3cw_7jl6m_323",
|
|
14
|
+
"action-slot": "awsui_action-slot_mx3cw_7jl6m_327",
|
|
15
|
+
"action-button": "awsui_action-button_mx3cw_7jl6m_328",
|
|
16
|
+
"alert-focus-wrapper": "awsui_alert-focus-wrapper_mx3cw_7jl6m_332",
|
|
17
|
+
"text": "awsui_text_mx3cw_7jl6m_363",
|
|
18
|
+
"icon": "awsui_icon_mx3cw_7jl6m_370",
|
|
19
|
+
"message": "awsui_message_mx3cw_7jl6m_373",
|
|
20
|
+
"action-wrapped": "awsui_action-wrapped_mx3cw_7jl6m_377",
|
|
21
|
+
"icon-size-medium": "awsui_icon-size-medium_mx3cw_7jl6m_381",
|
|
22
|
+
"icon-size-big": "awsui_icon-size-big_mx3cw_7jl6m_385",
|
|
23
|
+
"icon-size-normal": "awsui_icon-size-normal_mx3cw_7jl6m_389",
|
|
24
|
+
"content": "awsui_content_mx3cw_7jl6m_393",
|
|
25
|
+
"content-replacement": "awsui_content-replacement_mx3cw_7jl6m_394",
|
|
26
|
+
"dismiss": "awsui_dismiss_mx3cw_7jl6m_398",
|
|
27
|
+
"dismiss-button": "awsui_dismiss-button_mx3cw_7jl6m_403",
|
|
28
|
+
"type-error": "awsui_type-error_mx3cw_7jl6m_407",
|
|
29
|
+
"type-warning": "awsui_type-warning_mx3cw_7jl6m_415",
|
|
30
|
+
"type-success": "awsui_type-success_mx3cw_7jl6m_423",
|
|
31
|
+
"type-info": "awsui_type-info_mx3cw_7jl6m_431"
|
|
32
32
|
};
|
|
33
33
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-ai-drawer.d.ts","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAWtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOxD,UAAU,aAAa;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,GAAG,CAAC;IAChB,oBAAoB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACpD,sBAAsB,EAAE,SAAS,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC;IACpG,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACrD;AAED,UAAU,0CAA0C;IAClD,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EACV,CAAC,cAAc,GAAG;QAChB,uBAAuB,CAAC,EAAE;YACxB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC,GACF,IAAI,CAAC;IACT,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,wBAAgB,qCAAqC,CAAC,EACpD,kBAAkB,EAClB,IAAI,EACJ,cAAc,EACd,aAAa,GACd,EAAE,0CAA0C,
|
|
1
|
+
{"version":3,"file":"global-ai-drawer.d.ts","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAWtC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAOxD,UAAU,aAAa;IACrB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC;IAC5C,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,GAAG,CAAC;IAChB,oBAAoB,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACpD,sBAAsB,EAAE,SAAS,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC,CAAC;IACpG,oBAAoB,EAAE,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACrE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,mBAAmB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACrD;AAED,UAAU,0CAA0C;IAClD,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EACV,CAAC,cAAc,GAAG;QAChB,uBAAuB,CAAC,EAAE;YACxB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC,GACF,IAAI,CAAC;IACT,aAAa,EAAE,aAAa,CAAC;CAC9B;AAED,wBAAgB,qCAAqC,CAAC,EACpD,kBAAkB,EAClB,IAAI,EACJ,cAAc,EACd,aAAa,GACd,EAAE,0CAA0C,eAqN5C"}
|
|
@@ -76,7 +76,7 @@ export function AppLayoutGlobalAiDrawerImplementation({ appLayoutInternals, show
|
|
|
76
76
|
...drawerActions,
|
|
77
77
|
];
|
|
78
78
|
}
|
|
79
|
-
return (React.createElement(AppLayoutBuiltInErrorBoundary,
|
|
79
|
+
return (React.createElement(AppLayoutBuiltInErrorBoundary, { appLayoutPart: "left-drawer" },
|
|
80
80
|
React.createElement(Transition, { nodeRef: drawerRef, in: show, appear: show, mountOnEnter: true, timeout: 250 }, drawerTransitionState => {
|
|
81
81
|
return (React.createElement(Transition, { nodeRef: drawerRef, in: isExpanded, timeout: 250 }, expandedTransitionState => {
|
|
82
82
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
@@ -106,7 +106,7 @@ export function AppLayoutGlobalAiDrawerImplementation({ appLayoutInternals, show
|
|
|
106
106
|
React.createElement("div", { className: styles['drawer-content'] },
|
|
107
107
|
React.createElement("header", { className: styles['drawer-content-header'] },
|
|
108
108
|
React.createElement("div", { className: styles['drawer-content-header-content'] },
|
|
109
|
-
React.createElement(AppLayoutBuiltInErrorBoundary, { renderFallback: () => React.createElement("div", null) }, (_c = activeAiDrawer === null || activeAiDrawer === void 0 ? void 0 : activeAiDrawer.header) !== null && _c !== void 0 ? _c : React.createElement("div", null)),
|
|
109
|
+
React.createElement(AppLayoutBuiltInErrorBoundary, { renderFallback: () => React.createElement("div", null), appLayoutPart: "left-drawer-header" }, (_c = activeAiDrawer === null || activeAiDrawer === void 0 ? void 0 : activeAiDrawer.header) !== null && _c !== void 0 ? _c : React.createElement("div", null)),
|
|
110
110
|
React.createElement("div", { className: styles['drawer-actions'] },
|
|
111
111
|
React.createElement(ButtonGroup, { dropdownExpandToViewport: false, variant: "icon", onItemClick: event => {
|
|
112
112
|
var _a;
|
|
@@ -123,7 +123,7 @@ export function AppLayoutGlobalAiDrawerImplementation({ appLayoutInternals, show
|
|
|
123
123
|
}, ariaLabel: "Left panel actions", items: drawerActions }))),
|
|
124
124
|
!isMobile && isExpanded && ((_d = activeAiDrawer === null || activeAiDrawer === void 0 ? void 0 : activeAiDrawer.ariaLabels) === null || _d === void 0 ? void 0 : _d.exitExpandedModeButton) && (React.createElement("div", { className: styles['drawer-back-to-console-slot'] },
|
|
125
125
|
React.createElement("div", { className: styles['drawer-back-to-console-button-wrapper'] }, ((_e = activeAiDrawer === null || activeAiDrawer === void 0 ? void 0 : activeAiDrawer.exitExpandedModeTrigger) === null || _e === void 0 ? void 0 : _e.customIcon) ? (React.createElement("button", { className: clsx(testutilStyles['active-ai-drawer-leave-expanded-mode-custom-button'], styles['drawer-back-to-console-custom-button']), formAction: "none", onClick: () => setExpandedDrawerId(null), "aria-label": (_f = activeAiDrawer === null || activeAiDrawer === void 0 ? void 0 : activeAiDrawer.ariaLabels) === null || _f === void 0 ? void 0 : _f.exitExpandedModeButton }, (_g = activeAiDrawer === null || activeAiDrawer === void 0 ? void 0 : activeAiDrawer.exitExpandedModeTrigger) === null || _g === void 0 ? void 0 : _g.customIcon)) : (React.createElement("button", { className: clsx(testutilStyles['active-ai-drawer-leave-expanded-mode-custom-button'], styles['drawer-back-to-console-button']), formAction: "none", onClick: () => setExpandedDrawerId(null), "aria-label": (_h = activeAiDrawer === null || activeAiDrawer === void 0 ? void 0 : activeAiDrawer.ariaLabels) === null || _h === void 0 ? void 0 : _h.exitExpandedModeButton }, (_j = activeAiDrawer === null || activeAiDrawer === void 0 ? void 0 : activeAiDrawer.ariaLabels) === null || _j === void 0 ? void 0 : _j.exitExpandedModeButton)))))),
|
|
126
|
-
React.createElement(AppLayoutBuiltInErrorBoundary,
|
|
126
|
+
React.createElement(AppLayoutBuiltInErrorBoundary, { appLayoutPart: "left-drawer-content" },
|
|
127
127
|
React.createElement("div", { className: styles['drawer-content-content'] }, activeAiDrawer === null || activeAiDrawer === void 0 ? void 0 : activeAiDrawer.content))))));
|
|
128
128
|
}));
|
|
129
129
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-ai-drawer.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.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 } from 'react';\nimport { Transition } from 'react-transition-group';\nimport clsx from 'clsx';\n\nimport ButtonGroup from '../../../button-group/internal';\nimport { InternalItemOrGroup } from '../../../button-group/internal-interfaces';\nimport { AppLayoutBuiltInErrorBoundary } from '../../../error-boundary/internal';\nimport PanelResizeHandle from '../../../internal/components/panel-resize-handle';\nimport customCssProps from '../../../internal/generated/custom-css-properties';\nimport { usePrevious } from '../../../internal/hooks/use-previous';\nimport { getLimitedValue } from '../../../split-panel/utils/size-utils';\nimport { AppLayoutProps } from '../../interfaces';\nimport { FocusControlState } from '../../utils/use-focus-control';\nimport { AppLayoutInternals, InternalDrawer } from '../interfaces';\nimport { OnChangeParams } from '../state/use-ai-drawer';\nimport { useResize } from './use-resize';\n\nimport sharedStyles from '../../resize/styles.css.js';\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\ninterface AIDrawerProps {\n activeAiDrawerSize: number;\n minAiDrawerSize: number;\n aiDrawer: AppLayoutProps.Drawer | undefined;\n maxAiDrawerSize: number;\n ariaLabels: any;\n aiDrawerFocusControl: FocusControlState | undefined;\n isMobile: boolean;\n drawersOpenQueue: ReadonlyArray<string> | undefined;\n onActiveAiDrawerChange: undefined | ((newDrawerId: string | null, params?: OnChangeParams) => void);\n onActiveDrawerResize: (detail: { id: string; size: number }) => void;\n expandedDrawerId?: string | null;\n setExpandedDrawerId: (value: string | null) => void;\n}\n\ninterface AppLayoutGlobalAiDrawerImplementationProps {\n appLayoutInternals: AppLayoutInternals;\n show: boolean;\n activeAiDrawer:\n | (InternalDrawer & {\n exitExpandedModeTrigger?: {\n customIcon?: React.ReactNode;\n };\n })\n | null;\n aiDrawerProps: AIDrawerProps;\n}\n\nexport function AppLayoutGlobalAiDrawerImplementation({\n appLayoutInternals,\n show,\n activeAiDrawer,\n aiDrawerProps,\n}: AppLayoutGlobalAiDrawerImplementationProps) {\n const {\n activeAiDrawerSize,\n minAiDrawerSize,\n maxAiDrawerSize,\n ariaLabels,\n aiDrawerFocusControl,\n isMobile,\n drawersOpenQueue,\n onActiveAiDrawerChange,\n onActiveDrawerResize,\n expandedDrawerId,\n setExpandedDrawerId,\n } = aiDrawerProps;\n const { verticalOffsets, placement, drawerAnimationDisabled } = appLayoutInternals;\n const drawerRef = useRef<HTMLDivElement>(null);\n const activeDrawerId = activeAiDrawer?.id;\n\n const computedAriaLabels = {\n closeButton: activeAiDrawer ? activeAiDrawer.ariaLabels?.closeButton : ariaLabels?.toolsClose,\n content: activeAiDrawer ? activeAiDrawer.ariaLabels?.drawerName : ariaLabels?.tools,\n };\n\n const resizeProps = useResize({\n currentWidth: activeAiDrawerSize,\n minWidth: minAiDrawerSize,\n maxWidth: maxAiDrawerSize,\n panelRef: drawerRef,\n handleRef: aiDrawerFocusControl!.refs.slider,\n onResize: size => {\n onActiveDrawerResize({ id: activeDrawerId!, size });\n },\n position: 'side-start',\n });\n const size = getLimitedValue(minAiDrawerSize, activeAiDrawerSize, maxAiDrawerSize);\n const isExpanded = activeAiDrawer?.isExpandable && expandedDrawerId === activeDrawerId;\n const wasExpanded = usePrevious(isExpanded);\n const animationDisabled =\n drawerAnimationDisabled ||\n (activeAiDrawer?.defaultActive && !drawersOpenQueue?.includes(activeAiDrawer.id)) ||\n (wasExpanded && !isExpanded);\n const drawerHeight = `calc(100vh - ${verticalOffsets.toolbar + placement.insetBlockEnd}px)`;\n // disable resizing when the drawer is at its minimum width in a \"squeezed\" state\n // (window is between mobile and desktop sizes). At this point, the drawer can't be\n // resized in either direction, so we disable the resize handler\n const isResizingDisabled = maxAiDrawerSize < activeAiDrawerSize;\n let drawerActions: ReadonlyArray<InternalItemOrGroup> = [\n {\n type: 'icon-button',\n id: 'close',\n iconName: isMobile ? 'close' : 'angle-left',\n text: computedAriaLabels.closeButton,\n analyticsAction: 'close',\n },\n ];\n if (!isMobile && activeAiDrawer?.isExpandable) {\n drawerActions = [\n {\n type: 'icon-button',\n id: 'expand',\n iconName: isExpanded ? 'shrink' : 'expand',\n text: activeAiDrawer?.ariaLabels?.expandedModeButton ?? '',\n analyticsAction: isExpanded ? 'expand' : 'collapse',\n },\n ...drawerActions,\n ];\n }\n if (activeAiDrawer?.headerActions) {\n drawerActions = [\n {\n type: 'group',\n text: 'Actions',\n items: activeAiDrawer.headerActions!,\n },\n ...drawerActions,\n ];\n }\n\n return (\n <AppLayoutBuiltInErrorBoundary>\n <Transition nodeRef={drawerRef} in={show} appear={show} mountOnEnter={true} timeout={250}>\n {drawerTransitionState => {\n return (\n <Transition nodeRef={drawerRef} in={isExpanded} timeout={250}>\n {expandedTransitionState => {\n return (\n <aside\n id={activeAiDrawer?.id}\n aria-hidden={!activeAiDrawer}\n aria-label={computedAriaLabels.content}\n className={clsx(\n styles.drawer,\n styles['ai-drawer'],\n !animationDisabled && isExpanded && styles['with-expanded-motion'],\n {\n [sharedStyles['with-motion-horizontal']]: !animationDisabled,\n [testutilStyles['active-drawer']]: show,\n [styles['drawer-hidden']]: !show && drawerTransitionState === 'exited',\n [testutilStyles['drawer-closed']]: !activeAiDrawer,\n [styles['drawer-expanded']]: isExpanded,\n }\n )}\n ref={drawerRef}\n onBlur={e => {\n if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {\n aiDrawerFocusControl?.loseFocus();\n }\n }}\n style={{\n blockSize: drawerHeight,\n insetBlockStart: `${placement.insetBlockStart}px`,\n ...(!isMobile && {\n [customCssProps.drawerMinSize]: `${size}px`,\n [customCssProps.drawerSize]: `${['entering', 'entered'].includes(drawerTransitionState) ? size : 0}px`,\n }),\n }}\n data-testid={activeDrawerId && `awsui-app-layout-drawer-${activeDrawerId}`}\n >\n {!isMobile &&\n activeAiDrawer?.resizable &&\n (!isExpanded || expandedTransitionState !== 'entered') && (\n <div className={styles['drawer-slider']}>\n <PanelResizeHandle\n ref={aiDrawerFocusControl?.refs.slider}\n position=\"side-start\"\n className={clsx(testutilStyles['drawers-slider'], styles['ai-drawer-slider-handle'])}\n ariaLabel={activeAiDrawer?.ariaLabels?.resizeHandle}\n tooltipText={activeAiDrawer?.ariaLabels?.resizeHandleTooltipText}\n ariaValuenow={resizeProps.relativeSize}\n onKeyDown={resizeProps.onKeyDown}\n onPointerDown={resizeProps.onPointerDown}\n onDirectionClick={resizeProps.onDirectionClick}\n disabled={isResizingDisabled}\n />\n </div>\n )}\n <div className={clsx(styles['drawer-content-container'], sharedStyles['with-motion-horizontal'])}>\n <div className={styles['drawer-content']}>\n <header className={styles['drawer-content-header']}>\n <div className={styles['drawer-content-header-content']}>\n <AppLayoutBuiltInErrorBoundary renderFallback={() => <div />}>\n {activeAiDrawer?.header ?? <div />}\n </AppLayoutBuiltInErrorBoundary>\n <div className={styles['drawer-actions']}>\n <ButtonGroup\n dropdownExpandToViewport={false}\n variant=\"icon\"\n onItemClick={event => {\n switch (event.detail.id) {\n case 'close':\n onActiveAiDrawerChange?.(null, { initiatedByUserAction: true });\n break;\n case 'expand':\n setExpandedDrawerId(isExpanded ? null : activeDrawerId!);\n break;\n default:\n activeAiDrawer?.onHeaderActionClick?.(event);\n }\n }}\n ariaLabel=\"Left panel actions\"\n items={drawerActions}\n />\n </div>\n </div>\n {!isMobile && isExpanded && activeAiDrawer?.ariaLabels?.exitExpandedModeButton && (\n <div className={styles['drawer-back-to-console-slot']}>\n <div className={styles['drawer-back-to-console-button-wrapper']}>\n {activeAiDrawer?.exitExpandedModeTrigger?.customIcon ? (\n <button\n className={clsx(\n testutilStyles['active-ai-drawer-leave-expanded-mode-custom-button'],\n styles['drawer-back-to-console-custom-button']\n )}\n formAction=\"none\"\n onClick={() => setExpandedDrawerId(null)}\n aria-label={activeAiDrawer?.ariaLabels?.exitExpandedModeButton}\n >\n {activeAiDrawer?.exitExpandedModeTrigger?.customIcon}\n </button>\n ) : (\n <button\n className={clsx(\n testutilStyles['active-ai-drawer-leave-expanded-mode-custom-button'],\n styles['drawer-back-to-console-button']\n )}\n formAction=\"none\"\n onClick={() => setExpandedDrawerId(null)}\n aria-label={activeAiDrawer?.ariaLabels?.exitExpandedModeButton}\n >\n {activeAiDrawer?.ariaLabels?.exitExpandedModeButton}\n </button>\n )}\n </div>\n </div>\n )}\n </header>\n <AppLayoutBuiltInErrorBoundary>\n <div className={styles['drawer-content-content']}>{activeAiDrawer?.content}</div>\n </AppLayoutBuiltInErrorBoundary>\n </div>\n </div>\n </aside>\n );\n }}\n </Transition>\n );\n }}\n </Transition>\n </AppLayoutBuiltInErrorBoundary>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"global-ai-drawer.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.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 } from 'react';\nimport { Transition } from 'react-transition-group';\nimport clsx from 'clsx';\n\nimport ButtonGroup from '../../../button-group/internal';\nimport { InternalItemOrGroup } from '../../../button-group/internal-interfaces';\nimport { AppLayoutBuiltInErrorBoundary } from '../../../error-boundary/internal';\nimport PanelResizeHandle from '../../../internal/components/panel-resize-handle';\nimport customCssProps from '../../../internal/generated/custom-css-properties';\nimport { usePrevious } from '../../../internal/hooks/use-previous';\nimport { getLimitedValue } from '../../../split-panel/utils/size-utils';\nimport { AppLayoutProps } from '../../interfaces';\nimport { FocusControlState } from '../../utils/use-focus-control';\nimport { AppLayoutInternals, InternalDrawer } from '../interfaces';\nimport { OnChangeParams } from '../state/use-ai-drawer';\nimport { useResize } from './use-resize';\n\nimport sharedStyles from '../../resize/styles.css.js';\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\ninterface AIDrawerProps {\n activeAiDrawerSize: number;\n minAiDrawerSize: number;\n aiDrawer: AppLayoutProps.Drawer | undefined;\n maxAiDrawerSize: number;\n ariaLabels: any;\n aiDrawerFocusControl: FocusControlState | undefined;\n isMobile: boolean;\n drawersOpenQueue: ReadonlyArray<string> | undefined;\n onActiveAiDrawerChange: undefined | ((newDrawerId: string | null, params?: OnChangeParams) => void);\n onActiveDrawerResize: (detail: { id: string; size: number }) => void;\n expandedDrawerId?: string | null;\n setExpandedDrawerId: (value: string | null) => void;\n}\n\ninterface AppLayoutGlobalAiDrawerImplementationProps {\n appLayoutInternals: AppLayoutInternals;\n show: boolean;\n activeAiDrawer:\n | (InternalDrawer & {\n exitExpandedModeTrigger?: {\n customIcon?: React.ReactNode;\n };\n })\n | null;\n aiDrawerProps: AIDrawerProps;\n}\n\nexport function AppLayoutGlobalAiDrawerImplementation({\n appLayoutInternals,\n show,\n activeAiDrawer,\n aiDrawerProps,\n}: AppLayoutGlobalAiDrawerImplementationProps) {\n const {\n activeAiDrawerSize,\n minAiDrawerSize,\n maxAiDrawerSize,\n ariaLabels,\n aiDrawerFocusControl,\n isMobile,\n drawersOpenQueue,\n onActiveAiDrawerChange,\n onActiveDrawerResize,\n expandedDrawerId,\n setExpandedDrawerId,\n } = aiDrawerProps;\n const { verticalOffsets, placement, drawerAnimationDisabled } = appLayoutInternals;\n const drawerRef = useRef<HTMLDivElement>(null);\n const activeDrawerId = activeAiDrawer?.id;\n\n const computedAriaLabels = {\n closeButton: activeAiDrawer ? activeAiDrawer.ariaLabels?.closeButton : ariaLabels?.toolsClose,\n content: activeAiDrawer ? activeAiDrawer.ariaLabels?.drawerName : ariaLabels?.tools,\n };\n\n const resizeProps = useResize({\n currentWidth: activeAiDrawerSize,\n minWidth: minAiDrawerSize,\n maxWidth: maxAiDrawerSize,\n panelRef: drawerRef,\n handleRef: aiDrawerFocusControl!.refs.slider,\n onResize: size => {\n onActiveDrawerResize({ id: activeDrawerId!, size });\n },\n position: 'side-start',\n });\n const size = getLimitedValue(minAiDrawerSize, activeAiDrawerSize, maxAiDrawerSize);\n const isExpanded = activeAiDrawer?.isExpandable && expandedDrawerId === activeDrawerId;\n const wasExpanded = usePrevious(isExpanded);\n const animationDisabled =\n drawerAnimationDisabled ||\n (activeAiDrawer?.defaultActive && !drawersOpenQueue?.includes(activeAiDrawer.id)) ||\n (wasExpanded && !isExpanded);\n const drawerHeight = `calc(100vh - ${verticalOffsets.toolbar + placement.insetBlockEnd}px)`;\n // disable resizing when the drawer is at its minimum width in a \"squeezed\" state\n // (window is between mobile and desktop sizes). At this point, the drawer can't be\n // resized in either direction, so we disable the resize handler\n const isResizingDisabled = maxAiDrawerSize < activeAiDrawerSize;\n let drawerActions: ReadonlyArray<InternalItemOrGroup> = [\n {\n type: 'icon-button',\n id: 'close',\n iconName: isMobile ? 'close' : 'angle-left',\n text: computedAriaLabels.closeButton,\n analyticsAction: 'close',\n },\n ];\n if (!isMobile && activeAiDrawer?.isExpandable) {\n drawerActions = [\n {\n type: 'icon-button',\n id: 'expand',\n iconName: isExpanded ? 'shrink' : 'expand',\n text: activeAiDrawer?.ariaLabels?.expandedModeButton ?? '',\n analyticsAction: isExpanded ? 'expand' : 'collapse',\n },\n ...drawerActions,\n ];\n }\n if (activeAiDrawer?.headerActions) {\n drawerActions = [\n {\n type: 'group',\n text: 'Actions',\n items: activeAiDrawer.headerActions!,\n },\n ...drawerActions,\n ];\n }\n\n return (\n <AppLayoutBuiltInErrorBoundary appLayoutPart=\"left-drawer\">\n <Transition nodeRef={drawerRef} in={show} appear={show} mountOnEnter={true} timeout={250}>\n {drawerTransitionState => {\n return (\n <Transition nodeRef={drawerRef} in={isExpanded} timeout={250}>\n {expandedTransitionState => {\n return (\n <aside\n id={activeAiDrawer?.id}\n aria-hidden={!activeAiDrawer}\n aria-label={computedAriaLabels.content}\n className={clsx(\n styles.drawer,\n styles['ai-drawer'],\n !animationDisabled && isExpanded && styles['with-expanded-motion'],\n {\n [sharedStyles['with-motion-horizontal']]: !animationDisabled,\n [testutilStyles['active-drawer']]: show,\n [styles['drawer-hidden']]: !show && drawerTransitionState === 'exited',\n [testutilStyles['drawer-closed']]: !activeAiDrawer,\n [styles['drawer-expanded']]: isExpanded,\n }\n )}\n ref={drawerRef}\n onBlur={e => {\n if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {\n aiDrawerFocusControl?.loseFocus();\n }\n }}\n style={{\n blockSize: drawerHeight,\n insetBlockStart: `${placement.insetBlockStart}px`,\n ...(!isMobile && {\n [customCssProps.drawerMinSize]: `${size}px`,\n [customCssProps.drawerSize]: `${['entering', 'entered'].includes(drawerTransitionState) ? size : 0}px`,\n }),\n }}\n data-testid={activeDrawerId && `awsui-app-layout-drawer-${activeDrawerId}`}\n >\n {!isMobile &&\n activeAiDrawer?.resizable &&\n (!isExpanded || expandedTransitionState !== 'entered') && (\n <div className={styles['drawer-slider']}>\n <PanelResizeHandle\n ref={aiDrawerFocusControl?.refs.slider}\n position=\"side-start\"\n className={clsx(testutilStyles['drawers-slider'], styles['ai-drawer-slider-handle'])}\n ariaLabel={activeAiDrawer?.ariaLabels?.resizeHandle}\n tooltipText={activeAiDrawer?.ariaLabels?.resizeHandleTooltipText}\n ariaValuenow={resizeProps.relativeSize}\n onKeyDown={resizeProps.onKeyDown}\n onPointerDown={resizeProps.onPointerDown}\n onDirectionClick={resizeProps.onDirectionClick}\n disabled={isResizingDisabled}\n />\n </div>\n )}\n <div className={clsx(styles['drawer-content-container'], sharedStyles['with-motion-horizontal'])}>\n <div className={styles['drawer-content']}>\n <header className={styles['drawer-content-header']}>\n <div className={styles['drawer-content-header-content']}>\n <AppLayoutBuiltInErrorBoundary\n renderFallback={() => <div />}\n appLayoutPart=\"left-drawer-header\"\n >\n {activeAiDrawer?.header ?? <div />}\n </AppLayoutBuiltInErrorBoundary>\n <div className={styles['drawer-actions']}>\n <ButtonGroup\n dropdownExpandToViewport={false}\n variant=\"icon\"\n onItemClick={event => {\n switch (event.detail.id) {\n case 'close':\n onActiveAiDrawerChange?.(null, { initiatedByUserAction: true });\n break;\n case 'expand':\n setExpandedDrawerId(isExpanded ? null : activeDrawerId!);\n break;\n default:\n activeAiDrawer?.onHeaderActionClick?.(event);\n }\n }}\n ariaLabel=\"Left panel actions\"\n items={drawerActions}\n />\n </div>\n </div>\n {!isMobile && isExpanded && activeAiDrawer?.ariaLabels?.exitExpandedModeButton && (\n <div className={styles['drawer-back-to-console-slot']}>\n <div className={styles['drawer-back-to-console-button-wrapper']}>\n {activeAiDrawer?.exitExpandedModeTrigger?.customIcon ? (\n <button\n className={clsx(\n testutilStyles['active-ai-drawer-leave-expanded-mode-custom-button'],\n styles['drawer-back-to-console-custom-button']\n )}\n formAction=\"none\"\n onClick={() => setExpandedDrawerId(null)}\n aria-label={activeAiDrawer?.ariaLabels?.exitExpandedModeButton}\n >\n {activeAiDrawer?.exitExpandedModeTrigger?.customIcon}\n </button>\n ) : (\n <button\n className={clsx(\n testutilStyles['active-ai-drawer-leave-expanded-mode-custom-button'],\n styles['drawer-back-to-console-button']\n )}\n formAction=\"none\"\n onClick={() => setExpandedDrawerId(null)}\n aria-label={activeAiDrawer?.ariaLabels?.exitExpandedModeButton}\n >\n {activeAiDrawer?.ariaLabels?.exitExpandedModeButton}\n </button>\n )}\n </div>\n </div>\n )}\n </header>\n <AppLayoutBuiltInErrorBoundary appLayoutPart=\"left-drawer-content\">\n <div className={styles['drawer-content-content']}>{activeAiDrawer?.content}</div>\n </AppLayoutBuiltInErrorBoundary>\n </div>\n </div>\n </aside>\n );\n }}\n </Transition>\n );\n }}\n </Transition>\n </AppLayoutBuiltInErrorBoundary>\n );\n}\n"]}
|
|
@@ -128,7 +128,7 @@ function AppLayoutGlobalBottomDrawerImplementation({ widgetizedState, show, acti
|
|
|
128
128
|
useEffect(() => {
|
|
129
129
|
reportBottomDrawerSize(size);
|
|
130
130
|
}, [reportBottomDrawerSize, size]);
|
|
131
|
-
return (React.createElement(AppLayoutBuiltInErrorBoundary,
|
|
131
|
+
return (React.createElement(AppLayoutBuiltInErrorBoundary, { appLayoutPart: "bottom-drawer" },
|
|
132
132
|
React.createElement(Transition, { nodeRef: drawerRef, in: show || isExpanded, appear: show || isExpanded, mountOnEnter: true, timeout: 250 }, state => {
|
|
133
133
|
var _a, _b, _c, _d, _e;
|
|
134
134
|
return (React.createElement("aside", { id: activeDrawerId, "aria-hidden": !show, "aria-label": computedAriaLabels.content, className: clsx(styles.drawer, styles['bottom-drawer'], styles[state], !animationDisabled && sharedStyles['with-motion-vertical'], !animationDisabled && isExpanded && styles['with-expanded-motion'], {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"global-bottom-drawer.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\nimport clsx from 'clsx';\n\nimport ButtonGroup from '../../../button-group/internal';\nimport { InternalItemOrGroup } from '../../../button-group/internal-interfaces';\nimport { AppLayoutBuiltInErrorBoundary } from '../../../error-boundary/internal';\nimport PanelResizeHandle from '../../../internal/components/panel-resize-handle';\nimport customCssProps from '../../../internal/generated/custom-css-properties';\nimport { usePrevious } from '../../../internal/hooks/use-previous';\nimport { getLimitedValue } from '../../../split-panel/utils/size-utils';\nimport { Focusable } from '../../utils/use-focus-control';\nimport { getDrawerStyles } from '../compute-layout';\nimport { AppLayoutWidgetizedState, InternalDrawer } from '../interfaces';\nimport { useResize } from './use-resize';\n\nimport sharedStyles from '../../resize/styles.css.js';\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\nexport function AppLayoutBottomDrawerWrapper({ widgetizedState }: { widgetizedState: AppLayoutWidgetizedState }) {\n const { activeGlobalBottomDrawerId, bottomDrawers } = widgetizedState;\n const openBottomDrawersHistory = useRef<Set<string>>(new Set());\n useEffect(() => {\n if (activeGlobalBottomDrawerId) {\n openBottomDrawersHistory.current.add(activeGlobalBottomDrawerId);\n }\n }, [activeGlobalBottomDrawerId]);\n\n return (\n <>\n {bottomDrawers.map(drawer => {\n return (\n <AppLayoutGlobalBottomDrawerImplementation\n key={drawer.id}\n activeDrawer={\n activeGlobalBottomDrawerId === drawer.id ||\n (drawer.preserveInactiveContent && openBottomDrawersHistory.current.has(drawer.id))\n ? drawer\n : undefined\n }\n show={activeGlobalBottomDrawerId === drawer.id}\n widgetizedState={widgetizedState}\n />\n );\n })}\n </>\n );\n}\n\ninterface AppLayoutGlobalDrawerImplementationProps {\n widgetizedState: AppLayoutWidgetizedState;\n show: boolean;\n activeDrawer: InternalDrawer | undefined;\n}\n\nconst GAP_HEIGHT = 10;\nconst RESIZE_HANDLER_HEIGHT = 18;\n\nfunction AppLayoutGlobalBottomDrawerImplementation({\n widgetizedState,\n show,\n activeDrawer,\n}: AppLayoutGlobalDrawerImplementationProps) {\n const {\n ariaLabels,\n isMobile,\n onActiveGlobalBottomDrawerChange,\n onActiveBottomDrawerResize,\n minGlobalBottomDrawerSize,\n activeGlobalBottomDrawerSize,\n drawersOpenQueue,\n expandedDrawerId,\n setExpandedDrawerId,\n activeAiDrawer,\n bottomDrawersFocusControl,\n getMaxGlobalBottomDrawerHeight,\n reportBottomDrawerSize,\n verticalOffsets,\n placement,\n drawerAnimationDisabled,\n } = widgetizedState;\n const drawerRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLHeadingElement>(null);\n const activeDrawerId = activeDrawer?.id ?? '';\n\n const computedAriaLabels = {\n closeButton: activeDrawer ? activeDrawer.ariaLabels?.closeButton : ariaLabels?.toolsClose,\n content: activeDrawer ? activeDrawer.ariaLabels?.drawerName : ariaLabels?.tools,\n };\n\n const { drawerTopOffset: mobileDrawerTopOffset, drawerHeight: drawerFullScreenHeight } = getDrawerStyles(\n verticalOffsets,\n isMobile,\n placement\n );\n const activeDrawerSize = activeGlobalBottomDrawerSize ?? 0;\n const minDrawerSize = minGlobalBottomDrawerSize ?? 0;\n const maxDrawerSize = getMaxGlobalBottomDrawerHeight();\n const refs = bottomDrawersFocusControl.refs;\n const resizeProps = useResize({\n currentWidth: activeDrawerSize,\n minWidth: minDrawerSize,\n maxWidth: maxDrawerSize,\n panelRef: drawerRef,\n handleRef: refs?.slider,\n onResize: size => onActiveBottomDrawerResize({ id: activeDrawerId!, size }),\n position: 'bottom',\n });\n const size = getLimitedValue(minDrawerSize, activeDrawerSize, maxDrawerSize);\n const lastOpenedDrawerId = drawersOpenQueue.length ? drawersOpenQueue[0] : null;\n const hasTriggerButton = !!activeDrawer?.trigger;\n const isExpanded = activeDrawer?.isExpandable && expandedDrawerId === activeDrawerId;\n const wasExpanded = usePrevious(isExpanded);\n const animationDisabled =\n drawerAnimationDisabled ||\n (activeDrawer?.defaultActive && !drawersOpenQueue.includes(activeDrawer.id)) ||\n (wasExpanded && !isExpanded);\n\n // Prevent main content scroll when bottom drawer opens with animations\n useEffect(() => {\n if (show && drawerRef.current) {\n const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n const abortController = new AbortController();\n\n // Temporarily prevent scrolling during animation\n const preventScroll = () => {\n document.documentElement.scrollTop = scrollTop;\n document.body.scrollTop = scrollTop;\n };\n\n // Handle transition end to remove scroll prevention\n const handleTransitionEnd = (event: TransitionEvent) => {\n // Only handle transitions on the drawer element itself\n if (event.target === drawerRef.current) {\n abortController.abort();\n }\n };\n\n // Add scroll prevention during animation\n document.addEventListener('scroll', preventScroll, {\n passive: false,\n signal: abortController.signal,\n });\n\n drawerRef.current.addEventListener('transitionend', handleTransitionEnd, {\n signal: abortController.signal,\n });\n\n return () => {\n abortController.abort();\n };\n }\n }, [show]);\n\n let drawerActions: ReadonlyArray<InternalItemOrGroup> = [\n {\n type: 'icon-button',\n id: 'close',\n iconName: isMobile ? 'close' : 'angle-down',\n text: computedAriaLabels.closeButton ?? '',\n analyticsAction: 'close',\n },\n ];\n if (!isMobile && activeDrawer?.isExpandable) {\n drawerActions = [\n {\n type: 'icon-toggle-button',\n id: 'expand',\n iconName: isExpanded ? 'shrink' : 'expand',\n text: activeDrawer?.ariaLabels?.expandedModeButton ?? '',\n pressed: !!isExpanded,\n analyticsAction: isExpanded ? 'expand' : 'collapse',\n },\n ...drawerActions,\n ];\n }\n if (activeDrawer?.headerActions) {\n drawerActions = [\n {\n type: 'group',\n text: 'Actions',\n items: activeDrawer.headerActions!,\n },\n ...drawerActions,\n ];\n }\n\n useEffect(() => {\n reportBottomDrawerSize(size);\n }, [reportBottomDrawerSize, size]);\n\n return (\n <AppLayoutBuiltInErrorBoundary>\n <Transition\n nodeRef={drawerRef}\n in={show || isExpanded}\n appear={show || isExpanded}\n mountOnEnter={true}\n timeout={250}\n >\n {state => {\n return (\n <aside\n id={activeDrawerId}\n aria-hidden={!show}\n aria-label={computedAriaLabels.content}\n className={clsx(\n styles.drawer,\n styles['bottom-drawer'],\n styles[state],\n !animationDisabled && sharedStyles['with-motion-vertical'],\n !animationDisabled && isExpanded && styles['with-expanded-motion'],\n {\n [styles['drawer-hidden']]: !show && state === 'exited',\n [styles['last-opened']]: (!activeAiDrawer && lastOpenedDrawerId === activeDrawerId) || isExpanded,\n [testutilStyles['active-drawer']]: show,\n [styles['drawer-expanded']]: isExpanded,\n }\n )}\n ref={drawerRef}\n onBlur={e => {\n // Drawers with trigger buttons follow this restore focus logic:\n // If a previously focused element exists, restore focus on it; otherwise, focus on the associated trigger button.\n // This function resets the previously focused element.\n // If the drawer has no trigger button and loses focus on the previously focused element, it defaults to document.body,\n // which ideally should never happen.\n if (!hasTriggerButton) {\n return;\n }\n\n if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {\n bottomDrawersFocusControl.loseFocus();\n }\n }}\n style={{\n ...(isMobile && {\n blockSize: drawerFullScreenHeight,\n insetBlockStart: mobileDrawerTopOffset,\n }),\n ...(!isMobile && {\n [customCssProps.bottomDrawerSize]: `${['entering', 'entered'].includes(state) ? (isExpanded ? drawerFullScreenHeight : size + 'px') : 0}`,\n }),\n }}\n data-testid={`awsui-app-layout-drawer-${activeDrawerId}`}\n >\n <div className={clsx(styles['global-drawer-wrapper'])}>\n {!isMobile && !isExpanded && <div className={styles['drawer-gap']} />}\n {!isMobile && activeDrawer?.resizable && !isExpanded && (\n // Prevents receiving focus in Firefox\n <div className={styles['drawer-slider']} tabIndex={-1}>\n <PanelResizeHandle\n ref={refs?.slider}\n position=\"bottom\"\n className={testutilStyles['drawers-slider']}\n ariaLabel={activeDrawer?.ariaLabels?.resizeHandle}\n tooltipText={activeDrawer?.ariaLabels?.resizeHandleTooltipText}\n ariaValuenow={resizeProps.relativeSize}\n onKeyDown={resizeProps.onKeyDown}\n onDirectionClick={resizeProps.onDirectionClick}\n onPointerDown={resizeProps.onPointerDown}\n />\n </div>\n )}\n <header className={styles['bottom-drawer-content-header']} ref={headerRef}>\n <div className={styles['bottom-drawer-content-header-content']}>\n {activeDrawer?.header ?? <div />}\n <div className={styles['bottom-drawer-actions']}>\n <ButtonGroup\n dropdownExpandToViewport={false}\n variant=\"icon\"\n onItemClick={event => {\n switch (event.detail.id) {\n case 'close':\n onActiveGlobalBottomDrawerChange(null, { initiatedByUserAction: true });\n break;\n case 'expand':\n setExpandedDrawerId(isExpanded ? null : activeDrawerId);\n break;\n default:\n activeDrawer?.onHeaderActionClick?.(event);\n }\n }}\n ariaLabel=\"Global panel actions\"\n items={drawerActions}\n __internalRootRef={(root: HTMLElement) => {\n if (!root) {\n return;\n }\n refs.close = {\n current: root.querySelector('[data-itemid=\"close\"]') as unknown as Focusable,\n };\n }}\n />\n </div>\n </div>\n </header>\n <div\n className={clsx(styles['drawer-content-container'], sharedStyles['with-motion-horizontal'])}\n data-testid={`awsui-app-layout-drawer-content-${activeDrawerId}`}\n >\n <div\n className={styles['drawer-content']}\n style={{\n blockSize:\n isMobile || isExpanded\n ? drawerFullScreenHeight\n : `${size - GAP_HEIGHT - RESIZE_HANDLER_HEIGHT - (headerRef?.current?.clientHeight ?? 0)}px`,\n }}\n >\n {activeDrawer?.content}\n </div>\n </div>\n </div>\n </aside>\n );\n }}\n </Transition>\n </AppLayoutBuiltInErrorBoundary>\n );\n}\n\nexport default AppLayoutGlobalBottomDrawerImplementation;\n"]}
|
|
1
|
+
{"version":3,"file":"global-bottom-drawer.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/drawer/global-bottom-drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\nimport clsx from 'clsx';\n\nimport ButtonGroup from '../../../button-group/internal';\nimport { InternalItemOrGroup } from '../../../button-group/internal-interfaces';\nimport { AppLayoutBuiltInErrorBoundary } from '../../../error-boundary/internal';\nimport PanelResizeHandle from '../../../internal/components/panel-resize-handle';\nimport customCssProps from '../../../internal/generated/custom-css-properties';\nimport { usePrevious } from '../../../internal/hooks/use-previous';\nimport { getLimitedValue } from '../../../split-panel/utils/size-utils';\nimport { Focusable } from '../../utils/use-focus-control';\nimport { getDrawerStyles } from '../compute-layout';\nimport { AppLayoutWidgetizedState, InternalDrawer } from '../interfaces';\nimport { useResize } from './use-resize';\n\nimport sharedStyles from '../../resize/styles.css.js';\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\nexport function AppLayoutBottomDrawerWrapper({ widgetizedState }: { widgetizedState: AppLayoutWidgetizedState }) {\n const { activeGlobalBottomDrawerId, bottomDrawers } = widgetizedState;\n const openBottomDrawersHistory = useRef<Set<string>>(new Set());\n useEffect(() => {\n if (activeGlobalBottomDrawerId) {\n openBottomDrawersHistory.current.add(activeGlobalBottomDrawerId);\n }\n }, [activeGlobalBottomDrawerId]);\n\n return (\n <>\n {bottomDrawers.map(drawer => {\n return (\n <AppLayoutGlobalBottomDrawerImplementation\n key={drawer.id}\n activeDrawer={\n activeGlobalBottomDrawerId === drawer.id ||\n (drawer.preserveInactiveContent && openBottomDrawersHistory.current.has(drawer.id))\n ? drawer\n : undefined\n }\n show={activeGlobalBottomDrawerId === drawer.id}\n widgetizedState={widgetizedState}\n />\n );\n })}\n </>\n );\n}\n\ninterface AppLayoutGlobalDrawerImplementationProps {\n widgetizedState: AppLayoutWidgetizedState;\n show: boolean;\n activeDrawer: InternalDrawer | undefined;\n}\n\nconst GAP_HEIGHT = 10;\nconst RESIZE_HANDLER_HEIGHT = 18;\n\nfunction AppLayoutGlobalBottomDrawerImplementation({\n widgetizedState,\n show,\n activeDrawer,\n}: AppLayoutGlobalDrawerImplementationProps) {\n const {\n ariaLabels,\n isMobile,\n onActiveGlobalBottomDrawerChange,\n onActiveBottomDrawerResize,\n minGlobalBottomDrawerSize,\n activeGlobalBottomDrawerSize,\n drawersOpenQueue,\n expandedDrawerId,\n setExpandedDrawerId,\n activeAiDrawer,\n bottomDrawersFocusControl,\n getMaxGlobalBottomDrawerHeight,\n reportBottomDrawerSize,\n verticalOffsets,\n placement,\n drawerAnimationDisabled,\n } = widgetizedState;\n const drawerRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLHeadingElement>(null);\n const activeDrawerId = activeDrawer?.id ?? '';\n\n const computedAriaLabels = {\n closeButton: activeDrawer ? activeDrawer.ariaLabels?.closeButton : ariaLabels?.toolsClose,\n content: activeDrawer ? activeDrawer.ariaLabels?.drawerName : ariaLabels?.tools,\n };\n\n const { drawerTopOffset: mobileDrawerTopOffset, drawerHeight: drawerFullScreenHeight } = getDrawerStyles(\n verticalOffsets,\n isMobile,\n placement\n );\n const activeDrawerSize = activeGlobalBottomDrawerSize ?? 0;\n const minDrawerSize = minGlobalBottomDrawerSize ?? 0;\n const maxDrawerSize = getMaxGlobalBottomDrawerHeight();\n const refs = bottomDrawersFocusControl.refs;\n const resizeProps = useResize({\n currentWidth: activeDrawerSize,\n minWidth: minDrawerSize,\n maxWidth: maxDrawerSize,\n panelRef: drawerRef,\n handleRef: refs?.slider,\n onResize: size => onActiveBottomDrawerResize({ id: activeDrawerId!, size }),\n position: 'bottom',\n });\n const size = getLimitedValue(minDrawerSize, activeDrawerSize, maxDrawerSize);\n const lastOpenedDrawerId = drawersOpenQueue.length ? drawersOpenQueue[0] : null;\n const hasTriggerButton = !!activeDrawer?.trigger;\n const isExpanded = activeDrawer?.isExpandable && expandedDrawerId === activeDrawerId;\n const wasExpanded = usePrevious(isExpanded);\n const animationDisabled =\n drawerAnimationDisabled ||\n (activeDrawer?.defaultActive && !drawersOpenQueue.includes(activeDrawer.id)) ||\n (wasExpanded && !isExpanded);\n\n // Prevent main content scroll when bottom drawer opens with animations\n useEffect(() => {\n if (show && drawerRef.current) {\n const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;\n const abortController = new AbortController();\n\n // Temporarily prevent scrolling during animation\n const preventScroll = () => {\n document.documentElement.scrollTop = scrollTop;\n document.body.scrollTop = scrollTop;\n };\n\n // Handle transition end to remove scroll prevention\n const handleTransitionEnd = (event: TransitionEvent) => {\n // Only handle transitions on the drawer element itself\n if (event.target === drawerRef.current) {\n abortController.abort();\n }\n };\n\n // Add scroll prevention during animation\n document.addEventListener('scroll', preventScroll, {\n passive: false,\n signal: abortController.signal,\n });\n\n drawerRef.current.addEventListener('transitionend', handleTransitionEnd, {\n signal: abortController.signal,\n });\n\n return () => {\n abortController.abort();\n };\n }\n }, [show]);\n\n let drawerActions: ReadonlyArray<InternalItemOrGroup> = [\n {\n type: 'icon-button',\n id: 'close',\n iconName: isMobile ? 'close' : 'angle-down',\n text: computedAriaLabels.closeButton ?? '',\n analyticsAction: 'close',\n },\n ];\n if (!isMobile && activeDrawer?.isExpandable) {\n drawerActions = [\n {\n type: 'icon-toggle-button',\n id: 'expand',\n iconName: isExpanded ? 'shrink' : 'expand',\n text: activeDrawer?.ariaLabels?.expandedModeButton ?? '',\n pressed: !!isExpanded,\n analyticsAction: isExpanded ? 'expand' : 'collapse',\n },\n ...drawerActions,\n ];\n }\n if (activeDrawer?.headerActions) {\n drawerActions = [\n {\n type: 'group',\n text: 'Actions',\n items: activeDrawer.headerActions!,\n },\n ...drawerActions,\n ];\n }\n\n useEffect(() => {\n reportBottomDrawerSize(size);\n }, [reportBottomDrawerSize, size]);\n\n return (\n <AppLayoutBuiltInErrorBoundary appLayoutPart=\"bottom-drawer\">\n <Transition\n nodeRef={drawerRef}\n in={show || isExpanded}\n appear={show || isExpanded}\n mountOnEnter={true}\n timeout={250}\n >\n {state => {\n return (\n <aside\n id={activeDrawerId}\n aria-hidden={!show}\n aria-label={computedAriaLabels.content}\n className={clsx(\n styles.drawer,\n styles['bottom-drawer'],\n styles[state],\n !animationDisabled && sharedStyles['with-motion-vertical'],\n !animationDisabled && isExpanded && styles['with-expanded-motion'],\n {\n [styles['drawer-hidden']]: !show && state === 'exited',\n [styles['last-opened']]: (!activeAiDrawer && lastOpenedDrawerId === activeDrawerId) || isExpanded,\n [testutilStyles['active-drawer']]: show,\n [styles['drawer-expanded']]: isExpanded,\n }\n )}\n ref={drawerRef}\n onBlur={e => {\n // Drawers with trigger buttons follow this restore focus logic:\n // If a previously focused element exists, restore focus on it; otherwise, focus on the associated trigger button.\n // This function resets the previously focused element.\n // If the drawer has no trigger button and loses focus on the previously focused element, it defaults to document.body,\n // which ideally should never happen.\n if (!hasTriggerButton) {\n return;\n }\n\n if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {\n bottomDrawersFocusControl.loseFocus();\n }\n }}\n style={{\n ...(isMobile && {\n blockSize: drawerFullScreenHeight,\n insetBlockStart: mobileDrawerTopOffset,\n }),\n ...(!isMobile && {\n [customCssProps.bottomDrawerSize]: `${['entering', 'entered'].includes(state) ? (isExpanded ? drawerFullScreenHeight : size + 'px') : 0}`,\n }),\n }}\n data-testid={`awsui-app-layout-drawer-${activeDrawerId}`}\n >\n <div className={clsx(styles['global-drawer-wrapper'])}>\n {!isMobile && !isExpanded && <div className={styles['drawer-gap']} />}\n {!isMobile && activeDrawer?.resizable && !isExpanded && (\n // Prevents receiving focus in Firefox\n <div className={styles['drawer-slider']} tabIndex={-1}>\n <PanelResizeHandle\n ref={refs?.slider}\n position=\"bottom\"\n className={testutilStyles['drawers-slider']}\n ariaLabel={activeDrawer?.ariaLabels?.resizeHandle}\n tooltipText={activeDrawer?.ariaLabels?.resizeHandleTooltipText}\n ariaValuenow={resizeProps.relativeSize}\n onKeyDown={resizeProps.onKeyDown}\n onDirectionClick={resizeProps.onDirectionClick}\n onPointerDown={resizeProps.onPointerDown}\n />\n </div>\n )}\n <header className={styles['bottom-drawer-content-header']} ref={headerRef}>\n <div className={styles['bottom-drawer-content-header-content']}>\n {activeDrawer?.header ?? <div />}\n <div className={styles['bottom-drawer-actions']}>\n <ButtonGroup\n dropdownExpandToViewport={false}\n variant=\"icon\"\n onItemClick={event => {\n switch (event.detail.id) {\n case 'close':\n onActiveGlobalBottomDrawerChange(null, { initiatedByUserAction: true });\n break;\n case 'expand':\n setExpandedDrawerId(isExpanded ? null : activeDrawerId);\n break;\n default:\n activeDrawer?.onHeaderActionClick?.(event);\n }\n }}\n ariaLabel=\"Global panel actions\"\n items={drawerActions}\n __internalRootRef={(root: HTMLElement) => {\n if (!root) {\n return;\n }\n refs.close = {\n current: root.querySelector('[data-itemid=\"close\"]') as unknown as Focusable,\n };\n }}\n />\n </div>\n </div>\n </header>\n <div\n className={clsx(styles['drawer-content-container'], sharedStyles['with-motion-horizontal'])}\n data-testid={`awsui-app-layout-drawer-content-${activeDrawerId}`}\n >\n <div\n className={styles['drawer-content']}\n style={{\n blockSize:\n isMobile || isExpanded\n ? drawerFullScreenHeight\n : `${size - GAP_HEIGHT - RESIZE_HANDLER_HEIGHT - (headerRef?.current?.clientHeight ?? 0)}px`,\n }}\n >\n {activeDrawer?.content}\n </div>\n </div>\n </div>\n </aside>\n );\n }}\n </Transition>\n </AppLayoutBuiltInErrorBoundary>\n );\n}\n\nexport default AppLayoutGlobalBottomDrawerImplementation;\n"]}
|
|
@@ -75,7 +75,7 @@ function AppLayoutGlobalDrawerImplementation({ appLayoutInternals, show, activeG
|
|
|
75
75
|
...drawerActions,
|
|
76
76
|
];
|
|
77
77
|
}
|
|
78
|
-
return (React.createElement(AppLayoutBuiltInErrorBoundary,
|
|
78
|
+
return (React.createElement(AppLayoutBuiltInErrorBoundary, { appLayoutPart: "global-drawer" },
|
|
79
79
|
React.createElement(Transition, { nodeRef: drawerRef, in: show || isExpanded, appear: show || isExpanded, timeout: 0 }, state => {
|
|
80
80
|
var _a, _b;
|
|
81
81
|
return (React.createElement("aside", { id: activeDrawerId, "aria-hidden": !show, "aria-label": computedAriaLabels.content, className: clsx(styles.drawer, styles['drawer-global'], styles[state], !animationDisabled && sharedStyles['with-motion-horizontal'], !animationDisabled && isExpanded && styles['with-expanded-motion'], {
|