@cloudscape-design/components 3.0.999 → 3.0.1001
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/app-layout/visual-refresh-toolbar/drawer/styles.css.js +17 -17
- package/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +35 -36
- package/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +17 -17
- package/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
- package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
- package/button/styles.css.js +22 -22
- package/button/styles.scoped.css +74 -74
- package/button/styles.selectors.js +22 -22
- package/flashbar/collapsible-flashbar.d.ts +10 -1
- package/flashbar/collapsible-flashbar.d.ts.map +1 -1
- package/flashbar/collapsible-flashbar.js +54 -8
- package/flashbar/collapsible-flashbar.js.map +1 -1
- package/flashbar/flash.d.ts +1 -0
- package/flashbar/flash.d.ts.map +1 -1
- package/flashbar/flash.js +28 -5
- package/flashbar/flash.js.map +1 -1
- package/flashbar/index.js +13 -11
- package/flashbar/interfaces.d.ts +70 -0
- package/flashbar/interfaces.d.ts.map +1 -1
- package/flashbar/interfaces.js.map +1 -1
- package/flashbar/internal-do-not-use-core.js +16 -0
- package/flashbar/non-collapsible-flashbar.d.ts +1 -0
- package/flashbar/non-collapsible-flashbar.d.ts.map +1 -1
- package/flashbar/non-collapsible-flashbar.js +2 -2
- package/flashbar/non-collapsible-flashbar.js.map +1 -1
- package/flashbar/styles.css.js +50 -50
- package/flashbar/styles.scoped.css +162 -158
- package/flashbar/styles.selectors.js +50 -50
- package/internal/base-component/styles.scoped.css +3 -0
- package/internal/environment.d.ts +1 -0
- package/internal/environment.js +2 -1
- package/internal/environment.json +2 -1
- package/internal/hooks/use-base-component/index.d.ts.map +1 -1
- package/internal/hooks/use-base-component/index.js +2 -0
- package/internal/hooks/use-base-component/index.js.map +1 -1
- package/internal/hooks/use-base-component/styles-check.d.ts +3 -0
- package/internal/hooks/use-base-component/styles-check.d.ts.map +1 -0
- package/internal/hooks/use-base-component/styles-check.js +46 -0
- package/internal/hooks/use-base-component/styles-check.js.map +1 -0
- package/internal/manifest.json +1 -1
- package/internal/metrics.d.ts.map +1 -1
- package/internal/metrics.js +2 -2
- package/internal/metrics.js.map +1 -1
- package/package.json +1 -1
- package/prompt-input/internal.d.ts.map +1 -1
- package/prompt-input/internal.js +3 -3
- package/prompt-input/internal.js.map +1 -1
- package/segmented-control/interfaces.d.ts +2 -1
- package/segmented-control/interfaces.d.ts.map +1 -1
- package/segmented-control/interfaces.js.map +1 -1
- /package/flashbar/{index.js.map → internal-do-not-use-core.js.map} +0 -0
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"drawer": "
|
|
5
|
-
"with-expanded-motion": "awsui_with-expanded-
|
|
6
|
-
"legacy": "
|
|
7
|
-
"last-opened": "awsui_last-
|
|
8
|
-
"drawer-global": "awsui_drawer-
|
|
9
|
-
"drawer-expanded": "awsui_drawer-
|
|
10
|
-
"drawer-hidden": "awsui_drawer-
|
|
11
|
-
"has-next-siblings": "awsui_has-next-
|
|
12
|
-
"global-drawer-wrapper": "awsui_global-drawer-
|
|
13
|
-
"drawer-content-container": "awsui_drawer-content-
|
|
14
|
-
"drawer-gap": "awsui_drawer-
|
|
15
|
-
"drawer-close-button": "awsui_drawer-close-
|
|
16
|
-
"drawer-expanded-mode-button": "awsui_drawer-expanded-mode-
|
|
17
|
-
"drawer-content": "awsui_drawer-
|
|
18
|
-
"drawer-content-hidden": "awsui_drawer-content-
|
|
19
|
-
"drawer-slider": "awsui_drawer-
|
|
20
|
-
"drawer-actions": "awsui_drawer-
|
|
4
|
+
"drawer": "awsui_drawer_12i0j_12u2z_189",
|
|
5
|
+
"with-expanded-motion": "awsui_with-expanded-motion_12i0j_12u2z_203",
|
|
6
|
+
"legacy": "awsui_legacy_12i0j_12u2z_217",
|
|
7
|
+
"last-opened": "awsui_last-opened_12i0j_12u2z_225",
|
|
8
|
+
"drawer-global": "awsui_drawer-global_12i0j_12u2z_229",
|
|
9
|
+
"drawer-expanded": "awsui_drawer-expanded_12i0j_12u2z_238",
|
|
10
|
+
"drawer-hidden": "awsui_drawer-hidden_12i0j_12u2z_242",
|
|
11
|
+
"has-next-siblings": "awsui_has-next-siblings_12i0j_12u2z_252",
|
|
12
|
+
"global-drawer-wrapper": "awsui_global-drawer-wrapper_12i0j_12u2z_252",
|
|
13
|
+
"drawer-content-container": "awsui_drawer-content-container_12i0j_12u2z_266",
|
|
14
|
+
"drawer-gap": "awsui_drawer-gap_12i0j_12u2z_269",
|
|
15
|
+
"drawer-close-button": "awsui_drawer-close-button_12i0j_12u2z_287",
|
|
16
|
+
"drawer-expanded-mode-button": "awsui_drawer-expanded-mode-button_12i0j_12u2z_293",
|
|
17
|
+
"drawer-content": "awsui_drawer-content_12i0j_12u2z_266",
|
|
18
|
+
"drawer-content-hidden": "awsui_drawer-content-hidden_12i0j_12u2z_305",
|
|
19
|
+
"drawer-slider": "awsui_drawer-slider_12i0j_12u2z_308",
|
|
20
|
+
"drawer-actions": "awsui_drawer-actions_12i0j_12u2z_358"
|
|
21
21
|
};
|
|
22
22
|
|
|
@@ -186,7 +186,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
186
186
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
187
187
|
SPDX-License-Identifier: Apache-2.0
|
|
188
188
|
*/
|
|
189
|
-
.
|
|
189
|
+
.awsui_drawer_12i0j_12u2z_189:not(#\9) {
|
|
190
190
|
position: sticky;
|
|
191
191
|
z-index: 830;
|
|
192
192
|
background-color: var(--color-background-container-content-6u8rvp, #ffffff);
|
|
@@ -200,56 +200,56 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
200
200
|
pointer-events: auto;
|
|
201
201
|
word-wrap: break-word;
|
|
202
202
|
}
|
|
203
|
-
.
|
|
203
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_with-expanded-motion_12i0j_12u2z_203:not(#\9) {
|
|
204
204
|
transition: inline-size var(--motion-duration-refresh-only-slow-ugjy90, 250ms) var(--motion-easing-refresh-only-a-ccyqaz, cubic-bezier(0, 0, 0, 1)), min-inline-size var(--motion-duration-refresh-only-slow-ugjy90, 250ms) var(--motion-easing-refresh-only-a-ccyqaz, cubic-bezier(0, 0, 0, 1));
|
|
205
205
|
}
|
|
206
206
|
@media (prefers-reduced-motion: reduce) {
|
|
207
|
-
.
|
|
207
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_with-expanded-motion_12i0j_12u2z_203:not(#\9) {
|
|
208
208
|
animation: none;
|
|
209
209
|
transition: none;
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
|
-
.awsui-motion-disabled .
|
|
212
|
+
.awsui-motion-disabled .awsui_drawer_12i0j_12u2z_189.awsui_with-expanded-motion_12i0j_12u2z_203:not(#\9), .awsui-mode-entering .awsui_drawer_12i0j_12u2z_189.awsui_with-expanded-motion_12i0j_12u2z_203:not(#\9) {
|
|
213
213
|
animation: none;
|
|
214
214
|
transition: none;
|
|
215
215
|
}
|
|
216
216
|
@media (min-width: 689px) {
|
|
217
|
-
.
|
|
217
|
+
.awsui_drawer_12i0j_12u2z_189:not(#\9):not(.awsui_legacy_12i0j_12u2z_217) {
|
|
218
218
|
border-inline-start: var(--border-divider-section-width-uwo8my, 1px) solid var(--color-border-layout-ayg8vb, #c6c6cd);
|
|
219
219
|
}
|
|
220
220
|
}
|
|
221
221
|
@media (max-width: 688px) {
|
|
222
|
-
.
|
|
222
|
+
.awsui_drawer_12i0j_12u2z_189:not(#\9) {
|
|
223
223
|
inline-size: 100%;
|
|
224
224
|
}
|
|
225
|
-
.
|
|
225
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_last-opened_12i0j_12u2z_225:not(#\9) {
|
|
226
226
|
z-index: 1001;
|
|
227
227
|
}
|
|
228
228
|
}
|
|
229
|
-
.
|
|
229
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_drawer-global_12i0j_12u2z_229:not(#\9) {
|
|
230
230
|
display: block;
|
|
231
231
|
}
|
|
232
232
|
@media (min-width: 689px) {
|
|
233
|
-
.
|
|
233
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_drawer-global_12i0j_12u2z_229:not(#\9) {
|
|
234
234
|
inline-size: var(--awsui-drawer-size-kcc2gu);
|
|
235
235
|
}
|
|
236
236
|
}
|
|
237
237
|
@media (max-width: 688px) {
|
|
238
|
-
.
|
|
238
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_drawer-global_12i0j_12u2z_229:not(#\9):not(.awsui_last-opened_12i0j_12u2z_225):not(.awsui_drawer-expanded_12i0j_12u2z_238) {
|
|
239
239
|
display: none;
|
|
240
240
|
}
|
|
241
241
|
}
|
|
242
|
-
.
|
|
242
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_drawer-hidden_12i0j_12u2z_242:not(#\9) {
|
|
243
243
|
display: none;
|
|
244
244
|
}
|
|
245
|
-
.
|
|
245
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_drawer-expanded_12i0j_12u2z_238:not(#\9) {
|
|
246
246
|
inline-size: 100%;
|
|
247
247
|
}
|
|
248
248
|
@media (min-width: 689px) {
|
|
249
|
-
.
|
|
249
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_drawer-expanded_12i0j_12u2z_238:not(#\9) {
|
|
250
250
|
border-inline-start: none;
|
|
251
251
|
}
|
|
252
|
-
.
|
|
252
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_drawer-expanded_12i0j_12u2z_238.awsui_has-next-siblings_12i0j_12u2z_252 > .awsui_global-drawer-wrapper_12i0j_12u2z_252:not(#\9):after {
|
|
253
253
|
content: "";
|
|
254
254
|
position: absolute;
|
|
255
255
|
block-size: 100%;
|
|
@@ -259,14 +259,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
259
259
|
border-inline-start: var(--border-divider-section-width-uwo8my, 1px) solid var(--color-border-layout-ayg8vb, #c6c6cd);
|
|
260
260
|
box-sizing: border-box;
|
|
261
261
|
}
|
|
262
|
-
.
|
|
262
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_drawer-expanded_12i0j_12u2z_238 > .awsui_global-drawer-wrapper_12i0j_12u2z_252:not(#\9) {
|
|
263
263
|
inline-size: 100%;
|
|
264
264
|
grid-template-columns: 8px 1fr;
|
|
265
265
|
}
|
|
266
|
-
.
|
|
266
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_drawer-expanded_12i0j_12u2z_238 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-content-container_12i0j_12u2z_266:not(#\9) {
|
|
267
267
|
grid-column: 2;
|
|
268
268
|
}
|
|
269
|
-
.
|
|
269
|
+
.awsui_drawer_12i0j_12u2z_189.awsui_drawer-expanded_12i0j_12u2z_238 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-gap_12i0j_12u2z_269:not(#\9) {
|
|
270
270
|
grid-column: 1;
|
|
271
271
|
grid-row: 1;
|
|
272
272
|
block-size: 100%;
|
|
@@ -275,7 +275,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
275
275
|
border-inline-end: var(--border-divider-section-width-uwo8my, 1px) solid var(--color-border-layout-ayg8vb, #c6c6cd);
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
|
-
.
|
|
278
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_drawer-content-container_12i0j_12u2z_266:not(#\9) {
|
|
279
279
|
grid-column: 1/span 2;
|
|
280
280
|
grid-row: 1;
|
|
281
281
|
display: grid;
|
|
@@ -284,13 +284,13 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
284
284
|
overflow-y: auto;
|
|
285
285
|
min-inline-size: var(--awsui-drawer-size-kcc2gu);
|
|
286
286
|
}
|
|
287
|
-
.
|
|
287
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_drawer-content-container_12i0j_12u2z_266 > .awsui_drawer-close-button_12i0j_12u2z_287:not(#\9) {
|
|
288
288
|
grid-column: 3;
|
|
289
289
|
grid-row: 2;
|
|
290
290
|
z-index: 1;
|
|
291
291
|
align-self: start;
|
|
292
292
|
}
|
|
293
|
-
.
|
|
293
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_drawer-content-container_12i0j_12u2z_266 > .awsui_drawer-expanded-mode-button_12i0j_12u2z_293:not(#\9) {
|
|
294
294
|
grid-column: 2;
|
|
295
295
|
grid-row: 2;
|
|
296
296
|
z-index: 1;
|
|
@@ -298,33 +298,32 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
298
298
|
display: flex;
|
|
299
299
|
justify-content: flex-end;
|
|
300
300
|
}
|
|
301
|
-
.
|
|
301
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_drawer-content-container_12i0j_12u2z_266 > .awsui_drawer-content_12i0j_12u2z_266:not(#\9) {
|
|
302
302
|
grid-column: 1/span 4;
|
|
303
303
|
grid-row: 1/span 2;
|
|
304
304
|
}
|
|
305
|
-
.
|
|
305
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_drawer-content-container_12i0j_12u2z_266 > .awsui_drawer-content_12i0j_12u2z_266.awsui_drawer-content-hidden_12i0j_12u2z_305:not(#\9) {
|
|
306
306
|
display: none;
|
|
307
307
|
}
|
|
308
|
-
.
|
|
308
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_drawer-slider_12i0j_12u2z_308:not(#\9) {
|
|
309
309
|
grid-column: 1;
|
|
310
310
|
grid-row: 1;
|
|
311
311
|
block-size: 100%;
|
|
312
312
|
display: flex;
|
|
313
313
|
align-items: center;
|
|
314
314
|
}
|
|
315
|
-
.
|
|
315
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252:not(#\9) {
|
|
316
316
|
display: grid;
|
|
317
317
|
min-inline-size: var(--awsui-drawer-size-kcc2gu);
|
|
318
318
|
grid-template-columns: 8px var(--space-m-dsumyt, 16px) 1fr;
|
|
319
319
|
overflow: hidden;
|
|
320
320
|
}
|
|
321
321
|
@media (max-width: 688px) {
|
|
322
|
-
.
|
|
322
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252:not(#\9) {
|
|
323
323
|
grid-template-columns: 1fr;
|
|
324
|
-
grid-column: 1/span 2;
|
|
325
324
|
}
|
|
326
325
|
}
|
|
327
|
-
.
|
|
326
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-gap_12i0j_12u2z_269:not(#\9) {
|
|
328
327
|
grid-column: 1;
|
|
329
328
|
grid-row: 1;
|
|
330
329
|
block-size: 100%;
|
|
@@ -333,13 +332,13 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
333
332
|
border-inline-end: var(--border-divider-section-width-uwo8my, 1px) solid var(--color-border-layout-ayg8vb, #c6c6cd);
|
|
334
333
|
box-sizing: border-box;
|
|
335
334
|
}
|
|
336
|
-
.
|
|
335
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-slider_12i0j_12u2z_308:not(#\9) {
|
|
337
336
|
grid-column: 2;
|
|
338
337
|
grid-row: 1;
|
|
339
338
|
display: flex;
|
|
340
339
|
align-items: center;
|
|
341
340
|
}
|
|
342
|
-
.
|
|
341
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-content-container_12i0j_12u2z_266:not(#\9) {
|
|
343
342
|
grid-row: 1;
|
|
344
343
|
display: grid;
|
|
345
344
|
grid-template-columns: var(--space-m-dsumyt, 16px) 1fr auto var(--space-m-dsumyt, 16px);
|
|
@@ -347,16 +346,16 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
347
346
|
overflow-y: auto;
|
|
348
347
|
}
|
|
349
348
|
@media (min-width: 689px) {
|
|
350
|
-
.
|
|
349
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-content-container_12i0j_12u2z_266:not(#\9) {
|
|
351
350
|
grid-column: 2/span 2;
|
|
352
351
|
}
|
|
353
352
|
}
|
|
354
353
|
@media (max-width: 688px) {
|
|
355
|
-
.
|
|
354
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-content-container_12i0j_12u2z_266:not(#\9) {
|
|
356
355
|
grid-column: 1/span 2;
|
|
357
356
|
}
|
|
358
357
|
}
|
|
359
|
-
.
|
|
358
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-content-container_12i0j_12u2z_266 > .awsui_drawer-actions_12i0j_12u2z_358:not(#\9) {
|
|
360
359
|
position: absolute;
|
|
361
360
|
display: flex;
|
|
362
361
|
inset-block-start: 0;
|
|
@@ -364,13 +363,13 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
364
363
|
padding-inline-end: var(--space-m-dsumyt, 16px);
|
|
365
364
|
padding-block-start: 14px;
|
|
366
365
|
}
|
|
367
|
-
.
|
|
366
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-content-container_12i0j_12u2z_266 > .awsui_drawer-close-button_12i0j_12u2z_287:not(#\9) {
|
|
368
367
|
grid-column: 3;
|
|
369
368
|
grid-row: 2;
|
|
370
369
|
z-index: 1;
|
|
371
370
|
align-self: start;
|
|
372
371
|
}
|
|
373
|
-
.
|
|
372
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-content-container_12i0j_12u2z_266 > .awsui_drawer-expanded-mode-button_12i0j_12u2z_293:not(#\9) {
|
|
374
373
|
grid-column: 2;
|
|
375
374
|
grid-row: 2;
|
|
376
375
|
z-index: 1;
|
|
@@ -378,10 +377,10 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
378
377
|
display: flex;
|
|
379
378
|
justify-content: flex-end;
|
|
380
379
|
}
|
|
381
|
-
.
|
|
380
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-content-container_12i0j_12u2z_266 > .awsui_drawer-content_12i0j_12u2z_266:not(#\9) {
|
|
382
381
|
grid-column: 1/span 4;
|
|
383
382
|
grid-row: 1/span 2;
|
|
384
383
|
}
|
|
385
|
-
.
|
|
384
|
+
.awsui_drawer_12i0j_12u2z_189 > .awsui_global-drawer-wrapper_12i0j_12u2z_252 > .awsui_drawer-content-container_12i0j_12u2z_266 > .awsui_drawer-content_12i0j_12u2z_266.awsui_drawer-content-hidden_12i0j_12u2z_305:not(#\9) {
|
|
386
385
|
display: none;
|
|
387
386
|
}
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"drawer": "
|
|
6
|
-
"with-expanded-motion": "awsui_with-expanded-
|
|
7
|
-
"legacy": "
|
|
8
|
-
"last-opened": "awsui_last-
|
|
9
|
-
"drawer-global": "awsui_drawer-
|
|
10
|
-
"drawer-expanded": "awsui_drawer-
|
|
11
|
-
"drawer-hidden": "awsui_drawer-
|
|
12
|
-
"has-next-siblings": "awsui_has-next-
|
|
13
|
-
"global-drawer-wrapper": "awsui_global-drawer-
|
|
14
|
-
"drawer-content-container": "awsui_drawer-content-
|
|
15
|
-
"drawer-gap": "awsui_drawer-
|
|
16
|
-
"drawer-close-button": "awsui_drawer-close-
|
|
17
|
-
"drawer-expanded-mode-button": "awsui_drawer-expanded-mode-
|
|
18
|
-
"drawer-content": "awsui_drawer-
|
|
19
|
-
"drawer-content-hidden": "awsui_drawer-content-
|
|
20
|
-
"drawer-slider": "awsui_drawer-
|
|
21
|
-
"drawer-actions": "awsui_drawer-
|
|
5
|
+
"drawer": "awsui_drawer_12i0j_12u2z_189",
|
|
6
|
+
"with-expanded-motion": "awsui_with-expanded-motion_12i0j_12u2z_203",
|
|
7
|
+
"legacy": "awsui_legacy_12i0j_12u2z_217",
|
|
8
|
+
"last-opened": "awsui_last-opened_12i0j_12u2z_225",
|
|
9
|
+
"drawer-global": "awsui_drawer-global_12i0j_12u2z_229",
|
|
10
|
+
"drawer-expanded": "awsui_drawer-expanded_12i0j_12u2z_238",
|
|
11
|
+
"drawer-hidden": "awsui_drawer-hidden_12i0j_12u2z_242",
|
|
12
|
+
"has-next-siblings": "awsui_has-next-siblings_12i0j_12u2z_252",
|
|
13
|
+
"global-drawer-wrapper": "awsui_global-drawer-wrapper_12i0j_12u2z_252",
|
|
14
|
+
"drawer-content-container": "awsui_drawer-content-container_12i0j_12u2z_266",
|
|
15
|
+
"drawer-gap": "awsui_drawer-gap_12i0j_12u2z_269",
|
|
16
|
+
"drawer-close-button": "awsui_drawer-close-button_12i0j_12u2z_287",
|
|
17
|
+
"drawer-expanded-mode-button": "awsui_drawer-expanded-mode-button_12i0j_12u2z_293",
|
|
18
|
+
"drawer-content": "awsui_drawer-content_12i0j_12u2z_266",
|
|
19
|
+
"drawer-content-hidden": "awsui_drawer-content-hidden_12i0j_12u2z_305",
|
|
20
|
+
"drawer-slider": "awsui_drawer-slider_12i0j_12u2z_308",
|
|
21
|
+
"drawer-actions": "awsui_drawer-actions_12i0j_12u2z_358"
|
|
22
22
|
};
|
|
23
23
|
|
|
@@ -76,7 +76,7 @@ toolbarProps = {}, }) {
|
|
|
76
76
|
} },
|
|
77
77
|
React.createElement("div", { className: styles['toolbar-container'] },
|
|
78
78
|
hasNavigation && (React.createElement("nav", Object.assign({}, navLandmarkAttributes, { className: clsx(styles['universal-toolbar-nav']) }),
|
|
79
|
-
React.createElement(TriggerButton, { ariaLabel: (_a = ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.navigationToggle) !== null && _a !== void 0 ? _a : undefined, ariaExpanded:
|
|
79
|
+
React.createElement(TriggerButton, { ariaLabel: (_a = ariaLabels === null || ariaLabels === void 0 ? void 0 : ariaLabels.navigationToggle) !== null && _a !== void 0 ? _a : undefined, ariaExpanded: !drawerExpandedMode && navigationOpen, iconName: "menu", className: testutilStyles['navigation-toggle'], onClick: () => {
|
|
80
80
|
if (setExpandedDrawerId) {
|
|
81
81
|
setExpandedDrawerId(null);
|
|
82
82
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/toolbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { createWidgetizedComponent } from '../../../internal/widgets';\nimport { AppLayoutProps } from '../../interfaces';\nimport { OnChangeParams } from '../../utils/use-drawers';\nimport { Focusable, FocusControlMultipleStates } from '../../utils/use-focus-control';\nimport { AppLayoutInternals } from '../interfaces';\nimport { BreadcrumbsSlot } from '../skeleton/breadcrumbs';\nimport { ToolbarSkeleton } from '../skeleton/slot-skeletons';\nimport { ToolbarSlot } from '../skeleton/slot-wrappers';\nimport { DrawerTriggers, SplitPanelToggleProps } from './drawer-triggers';\nimport TriggerButton from './trigger-button';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport { SplitPanelToggleProps };\n\nexport interface ToolbarProps {\n ariaLabels?: AppLayoutProps.Labels;\n // navigation\n hasNavigation?: boolean;\n navigationOpen?: boolean;\n onNavigationToggle?: (open: boolean) => void;\n navigationFocusRef?: React.Ref<Focusable>;\n\n // breadcrumbs\n hasBreadcrumbsPortal?: boolean;\n\n // split panel\n hasSplitPanel?: boolean;\n splitPanelToggleProps?: SplitPanelToggleProps;\n splitPanelFocusRef?: React.Ref<Focusable>;\n onSplitPanelToggle?: () => void;\n\n // drawers\n activeDrawerId?: string | null;\n drawers?: ReadonlyArray<AppLayoutProps.Drawer>;\n drawersFocusRef?: React.Ref<Focusable>;\n globalDrawersFocusControl?: FocusControlMultipleStates;\n onActiveDrawerChange?: (drawerId: string | null, params: OnChangeParams) => void;\n globalDrawers?: ReadonlyArray<AppLayoutProps.Drawer> | undefined;\n activeGlobalDrawersIds?: ReadonlyArray<string>;\n onActiveGlobalDrawersChange?: ((drawerId: string, params: OnChangeParams) => void) | undefined;\n\n expandedDrawerId?: string | null;\n setExpandedDrawerId?: (value: string | null) => void;\n}\n\nexport interface AppLayoutToolbarImplementationProps {\n appLayoutInternals: AppLayoutInternals;\n toolbarProps: ToolbarProps;\n}\n\nexport function AppLayoutToolbarImplementation({\n appLayoutInternals,\n // the value could be undefined if this component is loaded as a widget by a different app layout version\n // not testable in a single-version setup\n toolbarProps = {},\n}: AppLayoutToolbarImplementationProps) {\n const {\n breadcrumbs,\n discoveredBreadcrumbs,\n verticalOffsets,\n isMobile,\n toolbarState,\n setToolbarState,\n setToolbarHeight,\n } = appLayoutInternals;\n const {\n ariaLabels,\n activeDrawerId,\n drawers,\n drawersFocusRef,\n onActiveDrawerChange,\n globalDrawersFocusControl,\n globalDrawers,\n activeGlobalDrawersIds,\n onActiveGlobalDrawersChange,\n hasNavigation,\n navigationOpen,\n navigationFocusRef,\n onNavigationToggle,\n hasSplitPanel,\n splitPanelFocusRef,\n splitPanelToggleProps,\n onSplitPanelToggle,\n expandedDrawerId,\n setExpandedDrawerId,\n } = toolbarProps;\n // TODO: expose configuration property\n const pinnedToolbar = true;\n const drawerExpandedMode = !!expandedDrawerId;\n const ref = useRef<HTMLElement>(null);\n useResizeObserver(ref, entry => setToolbarHeight(entry.borderBoxHeight));\n useEffect(() => {\n return () => {\n setToolbarHeight(0);\n };\n // unmount effect only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n let lastScrollY = window.scrollY;\n\n /* istanbul ignore next not testable in JSDOM */\n const updateScrollDirection = () => {\n if (pinnedToolbar) {\n setToolbarState('show');\n return;\n }\n const scrollY = window.scrollY;\n // 80 is an arbitrary number to have a pause before the toolbar scrolls out of view at the top of the page\n const direction = scrollY > lastScrollY && scrollY > 80 ? 'hide' : 'show';\n // 2 as a buffer to avoid mistaking minor accidental mouse moves as scroll\n if (direction !== toolbarState && (scrollY - lastScrollY > 2 || scrollY - lastScrollY < -2)) {\n setToolbarState(direction);\n }\n lastScrollY = scrollY > 0 ? scrollY : 0;\n };\n\n window.addEventListener('scroll', updateScrollDirection);\n return () => {\n window.removeEventListener('scroll', updateScrollDirection);\n };\n }, [pinnedToolbar, setToolbarState, toolbarState]);\n\n const anyPanelOpenInMobile = !!isMobile && (!!activeDrawerId || (!!navigationOpen && !!hasNavigation));\n useEffect(() => {\n if (anyPanelOpenInMobile) {\n document.body.classList.add(styles['block-body-scroll']);\n } else {\n document.body.classList.remove(styles['block-body-scroll']);\n }\n return () => {\n document.body.classList.remove(styles['block-body-scroll']);\n };\n }, [anyPanelOpenInMobile]);\n\n const toolbarHidden = toolbarState === 'hide' && !pinnedToolbar;\n const navLandmarkAttributes = navigationOpen\n ? { role: 'presentation' }\n : { role: 'navigation', 'aria-label': ariaLabels?.navigation };\n\n return (\n <ToolbarSlot\n ref={ref}\n className={clsx(styles['universal-toolbar'], testutilStyles.toolbar, {\n [testutilStyles['mobile-bar']]: isMobile,\n [styles['toolbar-hidden']]: toolbarHidden,\n })}\n style={{\n insetBlockStart: toolbarHidden ? '-60px' : verticalOffsets.toolbar,\n }}\n >\n <div className={styles['toolbar-container']}>\n {hasNavigation && (\n <nav {...navLandmarkAttributes} className={clsx(styles['universal-toolbar-nav'])}>\n <TriggerButton\n ariaLabel={ariaLabels?.navigationToggle ?? undefined}\n ariaExpanded={false}\n iconName=\"menu\"\n className={testutilStyles['navigation-toggle']}\n onClick={() => {\n if (setExpandedDrawerId) {\n setExpandedDrawerId(null);\n }\n if (navigationOpen && expandedDrawerId) {\n return;\n }\n onNavigationToggle?.(!navigationOpen);\n }}\n ref={navigationFocusRef}\n selected={!drawerExpandedMode && navigationOpen}\n disabled={anyPanelOpenInMobile}\n />\n </nav>\n )}\n {(breadcrumbs || discoveredBreadcrumbs) && (\n <div className={clsx(styles['universal-toolbar-breadcrumbs'], testutilStyles.breadcrumbs)}>\n <BreadcrumbsSlot\n ownBreadcrumbs={appLayoutInternals.breadcrumbs}\n discoveredBreadcrumbs={appLayoutInternals.discoveredBreadcrumbs}\n />\n </div>\n )}\n {(drawers?.length || globalDrawers?.length || (hasSplitPanel && splitPanelToggleProps?.displayed)) && (\n <div className={clsx(styles['universal-toolbar-drawers'])}>\n <DrawerTriggers\n ariaLabels={ariaLabels}\n activeDrawerId={activeDrawerId ?? null}\n drawers={drawers?.filter(item => !!item.trigger) ?? []}\n drawersFocusRef={drawersFocusRef}\n onActiveDrawerChange={onActiveDrawerChange}\n splitPanelToggleProps={splitPanelToggleProps?.displayed ? splitPanelToggleProps : undefined}\n splitPanelFocusRef={splitPanelFocusRef}\n onSplitPanelToggle={onSplitPanelToggle}\n disabled={anyPanelOpenInMobile}\n globalDrawersFocusControl={globalDrawersFocusControl}\n globalDrawers={globalDrawers?.filter(item => !!item.trigger) ?? []}\n activeGlobalDrawersIds={activeGlobalDrawersIds ?? []}\n onActiveGlobalDrawersChange={onActiveGlobalDrawersChange}\n expandedDrawerId={expandedDrawerId}\n setExpandedDrawerId={setExpandedDrawerId!}\n />\n </div>\n )}\n </div>\n </ToolbarSlot>\n );\n}\n\nexport const createWidgetizedAppLayoutToolbar = createWidgetizedComponent(\n AppLayoutToolbarImplementation,\n ToolbarSkeleton\n);\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/app-layout/visual-refresh-toolbar/toolbar/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAElF,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAKtE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAyB,MAAM,mBAAmB,CAAC;AAC1E,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,OAAO,cAAc,MAAM,kCAAkC,CAAC;AAC9D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAwCrC,MAAM,UAAU,8BAA8B,CAAC,EAC7C,kBAAkB;AAClB,yGAAyG;AACzG,yCAAyC;AACzC,YAAY,GAAG,EAAE,GACmB;;IACpC,MAAM,EACJ,WAAW,EACX,qBAAqB,EACrB,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,gBAAgB,GACjB,GAAG,kBAAkB,CAAC;IACvB,MAAM,EACJ,UAAU,EACV,cAAc,EACd,OAAO,EACP,eAAe,EACf,oBAAoB,EACpB,yBAAyB,EACzB,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,aAAa,EACb,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,GAAG,YAAY,CAAC;IACjB,sCAAsC;IACtC,MAAM,aAAa,GAAG,IAAI,CAAC;IAC3B,MAAM,kBAAkB,GAAG,CAAC,CAAC,gBAAgB,CAAC;IAC9C,MAAM,GAAG,GAAG,MAAM,CAAc,IAAI,CAAC,CAAC;IACtC,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IACzE,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC;QACF,sBAAsB;QACtB,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC;QAEjC,gDAAgD;QAChD,MAAM,qBAAqB,GAAG,GAAG,EAAE;YACjC,IAAI,aAAa,EAAE;gBACjB,eAAe,CAAC,MAAM,CAAC,CAAC;gBACxB,OAAO;aACR;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,0GAA0G;YAC1G,MAAM,SAAS,GAAG,OAAO,GAAG,WAAW,IAAI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1E,0EAA0E;YAC1E,IAAI,SAAS,KAAK,YAAY,IAAI,CAAC,OAAO,GAAG,WAAW,GAAG,CAAC,IAAI,OAAO,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,EAAE;gBAC3F,eAAe,CAAC,SAAS,CAAC,CAAC;aAC5B;YACD,WAAW,GAAG,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QACzD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;IAEnD,MAAM,oBAAoB,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;IACvG,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,oBAAoB,EAAE;YACxB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;SAC1D;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;SAC7D;QACD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC9D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,aAAa,GAAG,YAAY,KAAK,MAAM,IAAI,CAAC,aAAa,CAAC;IAChE,MAAM,qBAAqB,GAAG,cAAc;QAC1C,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE;QAC1B,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,UAAU,EAAE,CAAC;IAEjE,OAAO,CACL,oBAAC,WAAW,IACV,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,cAAc,CAAC,OAAO,EAAE;YACnE,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ;YACxC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAAE,aAAa;SAC1C,CAAC,EACF,KAAK,EAAE;YACL,eAAe,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,OAAO;SACnE;QAED,6BAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,CAAC;YACxC,aAAa,IAAI,CAChB,6CAAS,qBAAqB,IAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;gBAC9E,oBAAC,aAAa,IACZ,SAAS,EAAE,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,gBAAgB,mCAAI,SAAS,EACpD,YAAY,EAAE,CAAC,kBAAkB,IAAI,cAAc,EACnD,QAAQ,EAAC,MAAM,EACf,SAAS,EAAE,cAAc,CAAC,mBAAmB,CAAC,EAC9C,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,mBAAmB,EAAE;4BACvB,mBAAmB,CAAC,IAAI,CAAC,CAAC;yBAC3B;wBACD,IAAI,cAAc,IAAI,gBAAgB,EAAE;4BACtC,OAAO;yBACR;wBACD,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAG,CAAC,cAAc,CAAC,CAAC;oBACxC,CAAC,EACD,GAAG,EAAE,kBAAkB,EACvB,QAAQ,EAAE,CAAC,kBAAkB,IAAI,cAAc,EAC/C,QAAQ,EAAE,oBAAoB,GAC9B,CACE,CACP;YACA,CAAC,WAAW,IAAI,qBAAqB,CAAC,IAAI,CACzC,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,+BAA+B,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;gBACvF,oBAAC,eAAe,IACd,cAAc,EAAE,kBAAkB,CAAC,WAAW,EAC9C,qBAAqB,EAAE,kBAAkB,CAAC,qBAAqB,GAC/D,CACE,CACP;YACA,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA,IAAI,CAAC,aAAa,KAAI,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,SAAS,CAAA,CAAC,CAAC,IAAI,CACpG,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC;gBACvD,oBAAC,cAAc,IACb,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,cAAc,aAAd,cAAc,cAAd,cAAc,GAAI,IAAI,EACtC,OAAO,EAAE,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAI,EAAE,EACtD,eAAe,EAAE,eAAe,EAChC,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,CAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,SAAS,EAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAC3F,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,kBAAkB,EACtC,QAAQ,EAAE,oBAAoB,EAC9B,yBAAyB,EAAE,yBAAyB,EACpD,aAAa,EAAE,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,mCAAI,EAAE,EAClE,sBAAsB,EAAE,sBAAsB,aAAtB,sBAAsB,cAAtB,sBAAsB,GAAI,EAAE,EACpD,2BAA2B,EAAE,2BAA2B,EACxD,gBAAgB,EAAE,gBAAgB,EAClC,mBAAmB,EAAE,mBAAoB,GACzC,CACE,CACP,CACG,CACM,CACf,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG,yBAAyB,CACvE,8BAA8B,EAC9B,eAAe,CAChB,CAAC","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 clsx from 'clsx';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { createWidgetizedComponent } from '../../../internal/widgets';\nimport { AppLayoutProps } from '../../interfaces';\nimport { OnChangeParams } from '../../utils/use-drawers';\nimport { Focusable, FocusControlMultipleStates } from '../../utils/use-focus-control';\nimport { AppLayoutInternals } from '../interfaces';\nimport { BreadcrumbsSlot } from '../skeleton/breadcrumbs';\nimport { ToolbarSkeleton } from '../skeleton/slot-skeletons';\nimport { ToolbarSlot } from '../skeleton/slot-wrappers';\nimport { DrawerTriggers, SplitPanelToggleProps } from './drawer-triggers';\nimport TriggerButton from './trigger-button';\n\nimport testutilStyles from '../../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport { SplitPanelToggleProps };\n\nexport interface ToolbarProps {\n ariaLabels?: AppLayoutProps.Labels;\n // navigation\n hasNavigation?: boolean;\n navigationOpen?: boolean;\n onNavigationToggle?: (open: boolean) => void;\n navigationFocusRef?: React.Ref<Focusable>;\n\n // breadcrumbs\n hasBreadcrumbsPortal?: boolean;\n\n // split panel\n hasSplitPanel?: boolean;\n splitPanelToggleProps?: SplitPanelToggleProps;\n splitPanelFocusRef?: React.Ref<Focusable>;\n onSplitPanelToggle?: () => void;\n\n // drawers\n activeDrawerId?: string | null;\n drawers?: ReadonlyArray<AppLayoutProps.Drawer>;\n drawersFocusRef?: React.Ref<Focusable>;\n globalDrawersFocusControl?: FocusControlMultipleStates;\n onActiveDrawerChange?: (drawerId: string | null, params: OnChangeParams) => void;\n globalDrawers?: ReadonlyArray<AppLayoutProps.Drawer> | undefined;\n activeGlobalDrawersIds?: ReadonlyArray<string>;\n onActiveGlobalDrawersChange?: ((drawerId: string, params: OnChangeParams) => void) | undefined;\n\n expandedDrawerId?: string | null;\n setExpandedDrawerId?: (value: string | null) => void;\n}\n\nexport interface AppLayoutToolbarImplementationProps {\n appLayoutInternals: AppLayoutInternals;\n toolbarProps: ToolbarProps;\n}\n\nexport function AppLayoutToolbarImplementation({\n appLayoutInternals,\n // the value could be undefined if this component is loaded as a widget by a different app layout version\n // not testable in a single-version setup\n toolbarProps = {},\n}: AppLayoutToolbarImplementationProps) {\n const {\n breadcrumbs,\n discoveredBreadcrumbs,\n verticalOffsets,\n isMobile,\n toolbarState,\n setToolbarState,\n setToolbarHeight,\n } = appLayoutInternals;\n const {\n ariaLabels,\n activeDrawerId,\n drawers,\n drawersFocusRef,\n onActiveDrawerChange,\n globalDrawersFocusControl,\n globalDrawers,\n activeGlobalDrawersIds,\n onActiveGlobalDrawersChange,\n hasNavigation,\n navigationOpen,\n navigationFocusRef,\n onNavigationToggle,\n hasSplitPanel,\n splitPanelFocusRef,\n splitPanelToggleProps,\n onSplitPanelToggle,\n expandedDrawerId,\n setExpandedDrawerId,\n } = toolbarProps;\n // TODO: expose configuration property\n const pinnedToolbar = true;\n const drawerExpandedMode = !!expandedDrawerId;\n const ref = useRef<HTMLElement>(null);\n useResizeObserver(ref, entry => setToolbarHeight(entry.borderBoxHeight));\n useEffect(() => {\n return () => {\n setToolbarHeight(0);\n };\n // unmount effect only\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n let lastScrollY = window.scrollY;\n\n /* istanbul ignore next not testable in JSDOM */\n const updateScrollDirection = () => {\n if (pinnedToolbar) {\n setToolbarState('show');\n return;\n }\n const scrollY = window.scrollY;\n // 80 is an arbitrary number to have a pause before the toolbar scrolls out of view at the top of the page\n const direction = scrollY > lastScrollY && scrollY > 80 ? 'hide' : 'show';\n // 2 as a buffer to avoid mistaking minor accidental mouse moves as scroll\n if (direction !== toolbarState && (scrollY - lastScrollY > 2 || scrollY - lastScrollY < -2)) {\n setToolbarState(direction);\n }\n lastScrollY = scrollY > 0 ? scrollY : 0;\n };\n\n window.addEventListener('scroll', updateScrollDirection);\n return () => {\n window.removeEventListener('scroll', updateScrollDirection);\n };\n }, [pinnedToolbar, setToolbarState, toolbarState]);\n\n const anyPanelOpenInMobile = !!isMobile && (!!activeDrawerId || (!!navigationOpen && !!hasNavigation));\n useEffect(() => {\n if (anyPanelOpenInMobile) {\n document.body.classList.add(styles['block-body-scroll']);\n } else {\n document.body.classList.remove(styles['block-body-scroll']);\n }\n return () => {\n document.body.classList.remove(styles['block-body-scroll']);\n };\n }, [anyPanelOpenInMobile]);\n\n const toolbarHidden = toolbarState === 'hide' && !pinnedToolbar;\n const navLandmarkAttributes = navigationOpen\n ? { role: 'presentation' }\n : { role: 'navigation', 'aria-label': ariaLabels?.navigation };\n\n return (\n <ToolbarSlot\n ref={ref}\n className={clsx(styles['universal-toolbar'], testutilStyles.toolbar, {\n [testutilStyles['mobile-bar']]: isMobile,\n [styles['toolbar-hidden']]: toolbarHidden,\n })}\n style={{\n insetBlockStart: toolbarHidden ? '-60px' : verticalOffsets.toolbar,\n }}\n >\n <div className={styles['toolbar-container']}>\n {hasNavigation && (\n <nav {...navLandmarkAttributes} className={clsx(styles['universal-toolbar-nav'])}>\n <TriggerButton\n ariaLabel={ariaLabels?.navigationToggle ?? undefined}\n ariaExpanded={!drawerExpandedMode && navigationOpen}\n iconName=\"menu\"\n className={testutilStyles['navigation-toggle']}\n onClick={() => {\n if (setExpandedDrawerId) {\n setExpandedDrawerId(null);\n }\n if (navigationOpen && expandedDrawerId) {\n return;\n }\n onNavigationToggle?.(!navigationOpen);\n }}\n ref={navigationFocusRef}\n selected={!drawerExpandedMode && navigationOpen}\n disabled={anyPanelOpenInMobile}\n />\n </nav>\n )}\n {(breadcrumbs || discoveredBreadcrumbs) && (\n <div className={clsx(styles['universal-toolbar-breadcrumbs'], testutilStyles.breadcrumbs)}>\n <BreadcrumbsSlot\n ownBreadcrumbs={appLayoutInternals.breadcrumbs}\n discoveredBreadcrumbs={appLayoutInternals.discoveredBreadcrumbs}\n />\n </div>\n )}\n {(drawers?.length || globalDrawers?.length || (hasSplitPanel && splitPanelToggleProps?.displayed)) && (\n <div className={clsx(styles['universal-toolbar-drawers'])}>\n <DrawerTriggers\n ariaLabels={ariaLabels}\n activeDrawerId={activeDrawerId ?? null}\n drawers={drawers?.filter(item => !!item.trigger) ?? []}\n drawersFocusRef={drawersFocusRef}\n onActiveDrawerChange={onActiveDrawerChange}\n splitPanelToggleProps={splitPanelToggleProps?.displayed ? splitPanelToggleProps : undefined}\n splitPanelFocusRef={splitPanelFocusRef}\n onSplitPanelToggle={onSplitPanelToggle}\n disabled={anyPanelOpenInMobile}\n globalDrawersFocusControl={globalDrawersFocusControl}\n globalDrawers={globalDrawers?.filter(item => !!item.trigger) ?? []}\n activeGlobalDrawersIds={activeGlobalDrawersIds ?? []}\n onActiveGlobalDrawersChange={onActiveGlobalDrawersChange}\n expandedDrawerId={expandedDrawerId}\n setExpandedDrawerId={setExpandedDrawerId!}\n />\n </div>\n )}\n </div>\n </ToolbarSlot>\n );\n}\n\nexport const createWidgetizedAppLayoutToolbar = createWidgetizedComponent(\n AppLayoutToolbarImplementation,\n ToolbarSkeleton\n);\n"]}
|
package/button/styles.css.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"content": "
|
|
5
|
-
"button": "
|
|
6
|
-
"variant-normal": "awsui_variant-
|
|
7
|
-
"disabled": "
|
|
8
|
-
"variant-primary": "awsui_variant-
|
|
9
|
-
"variant-link": "awsui_variant-
|
|
10
|
-
"variant-icon": "awsui_variant-
|
|
11
|
-
"variant-inline-icon": "awsui_variant-inline-
|
|
12
|
-
"variant-inline-icon-pointer-target": "awsui_variant-inline-icon-pointer-
|
|
13
|
-
"variant-inline-link": "awsui_variant-inline-
|
|
14
|
-
"variant-modal-dismiss": "awsui_variant-modal-
|
|
15
|
-
"variant-flashbar-icon": "awsui_variant-flashbar-
|
|
16
|
-
"variant-breadcrumb-group": "awsui_variant-breadcrumb-
|
|
17
|
-
"variant-menu-trigger": "awsui_variant-menu-
|
|
18
|
-
"button-no-text": "awsui_button-no-
|
|
19
|
-
"button-no-wrap": "awsui_button-no-
|
|
20
|
-
"full-width": "awsui_full-
|
|
21
|
-
"icon-left": "awsui_icon-
|
|
22
|
-
"icon-right": "awsui_icon-
|
|
23
|
-
"icon": "
|
|
24
|
-
"link": "
|
|
25
|
-
"disabled-with-reason": "awsui_disabled-with-
|
|
4
|
+
"content": "awsui_content_vjswe_1tif4_153",
|
|
5
|
+
"button": "awsui_button_vjswe_1tif4_157",
|
|
6
|
+
"variant-normal": "awsui_variant-normal_vjswe_1tif4_206",
|
|
7
|
+
"disabled": "awsui_disabled_vjswe_1tif4_224",
|
|
8
|
+
"variant-primary": "awsui_variant-primary_vjswe_1tif4_231",
|
|
9
|
+
"variant-link": "awsui_variant-link_vjswe_1tif4_256",
|
|
10
|
+
"variant-icon": "awsui_variant-icon_vjswe_1tif4_281",
|
|
11
|
+
"variant-inline-icon": "awsui_variant-inline-icon_vjswe_1tif4_306",
|
|
12
|
+
"variant-inline-icon-pointer-target": "awsui_variant-inline-icon-pointer-target_vjswe_1tif4_331",
|
|
13
|
+
"variant-inline-link": "awsui_variant-inline-link_vjswe_1tif4_356",
|
|
14
|
+
"variant-modal-dismiss": "awsui_variant-modal-dismiss_vjswe_1tif4_385",
|
|
15
|
+
"variant-flashbar-icon": "awsui_variant-flashbar-icon_vjswe_1tif4_410",
|
|
16
|
+
"variant-breadcrumb-group": "awsui_variant-breadcrumb-group_vjswe_1tif4_435",
|
|
17
|
+
"variant-menu-trigger": "awsui_variant-menu-trigger_vjswe_1tif4_465",
|
|
18
|
+
"button-no-text": "awsui_button-no-text_vjswe_1tif4_557",
|
|
19
|
+
"button-no-wrap": "awsui_button-no-wrap_vjswe_1tif4_561",
|
|
20
|
+
"full-width": "awsui_full-width_vjswe_1tif4_564",
|
|
21
|
+
"icon-left": "awsui_icon-left_vjswe_1tif4_586",
|
|
22
|
+
"icon-right": "awsui_icon-right_vjswe_1tif4_591",
|
|
23
|
+
"icon": "awsui_icon_vjswe_1tif4_586",
|
|
24
|
+
"link": "awsui_link_vjswe_1tif4_610",
|
|
25
|
+
"disabled-with-reason": "awsui_disabled-with-reason_vjswe_1tif4_610"
|
|
26
26
|
};
|
|
27
27
|
|