@cloudscape-design/components-themeable 3.0.1084 → 3.0.1085
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/lib/internal/manifest.json +1 -1
- package/lib/internal/scss/app-layout/constants.scss +2 -0
- package/lib/internal/scss/app-layout/runtime-drawer/styles.scss +4 -0
- package/lib/internal/scss/app-layout/test-classes/styles.scss +3 -1
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/drawer/styles.scss +155 -1
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/skeleton/styles.scss +27 -4
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/toolbar/styles.scss +107 -12
- package/lib/internal/scss/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scss +31 -21
- package/lib/internal/scss/internal/components/panel-resize-handle/styles.scss +2 -1
- package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +1 -1
- package/lib/internal/template/app-layout/interfaces.d.ts +1 -0
- package/lib/internal/template/app-layout/interfaces.d.ts.map +1 -1
- package/lib/internal/template/app-layout/interfaces.js.map +1 -1
- package/lib/internal/template/app-layout/runtime-drawer/index.d.ts +9 -0
- package/lib/internal/template/app-layout/runtime-drawer/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/runtime-drawer/index.js +32 -3
- package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -1
- package/lib/internal/template/app-layout/runtime-drawer/styles.css.js +2 -1
- package/lib/internal/template/app-layout/runtime-drawer/styles.scoped.css +5 -1
- package/lib/internal/template/app-layout/runtime-drawer/styles.selectors.js +2 -1
- package/lib/internal/template/app-layout/test-classes/styles.css.js +26 -24
- package/lib/internal/template/app-layout/test-classes/styles.scoped.css +26 -24
- package/lib/internal/template/app-layout/test-classes/styles.selectors.js +26 -24
- package/lib/internal/template/app-layout/utils/interfaces.d.ts +1 -1
- package/lib/internal/template/app-layout/utils/interfaces.d.ts.map +1 -1
- package/lib/internal/template/app-layout/utils/interfaces.js.map +1 -1
- package/lib/internal/template/app-layout/utils/use-ai-drawer.d.ts +27 -0
- package/lib/internal/template/app-layout/utils/use-ai-drawer.d.ts.map +1 -0
- package/lib/internal/template/app-layout/utils/use-ai-drawer.js +104 -0
- package/lib/internal/template/app-layout/utils/use-ai-drawer.js.map +1 -0
- package/lib/internal/template/app-layout/utils/use-keyboard-events.js +8 -8
- package/lib/internal/template/app-layout/utils/use-keyboard-events.js.map +1 -1
- package/lib/internal/template/app-layout/utils/use-pointer-events.d.ts.map +1 -1
- package/lib/internal/template/app-layout/utils/use-pointer-events.js +8 -0
- package/lib/internal/template/app-layout/utils/use-pointer-events.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.d.ts +3 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js +6 -2
- package/lib/internal/template/app-layout/visual-refresh-toolbar/compute-layout.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.d.ts +31 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.d.ts.map +1 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js +81 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-ai-drawer.js.map +1 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js +2 -2
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/global-drawer.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +24 -17
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +228 -35
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +24 -17
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/use-resize.d.ts +2 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/use-resize.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/use-resize.js +2 -2
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/use-resize.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.d.ts +12 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/interfaces.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +25 -23
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +56 -44
- package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +25 -23
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/interfaces.d.ts +2 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/interfaces.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/interfaces.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js +8 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/props-merger.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js +24 -3
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js +3 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/state/use-skeleton-slots-attributes.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts +4 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +28 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +15 -12
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +126 -24
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +15 -12
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.d.ts +2 -0
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +3 -3
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +7 -5
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +30 -22
- package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +7 -5
- package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js +23 -3
- package/lib/internal/template/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js.map +1 -1
- package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
- package/lib/internal/template/internal/components/panel-resize-handle/index.d.ts +2 -1
- package/lib/internal/template/internal/components/panel-resize-handle/index.d.ts.map +1 -1
- package/lib/internal/template/internal/components/panel-resize-handle/index.js +18 -8
- package/lib/internal/template/internal/components/panel-resize-handle/index.js.map +1 -1
- package/lib/internal/template/internal/components/panel-resize-handle/styles.css.js +3 -2
- package/lib/internal/template/internal/components/panel-resize-handle/styles.scoped.css +7 -6
- package/lib/internal/template/internal/components/panel-resize-handle/styles.selectors.js +3 -2
- package/lib/internal/template/internal/environment.js +2 -2
- package/lib/internal/template/internal/environment.json +2 -2
- package/lib/internal/template/internal/plugins/widget/interfaces.d.ts +59 -0
- package/lib/internal/template/internal/plugins/widget/interfaces.d.ts.map +1 -0
- package/lib/internal/template/internal/plugins/widget/interfaces.js +2 -0
- package/lib/internal/template/internal/plugins/widget/interfaces.js.map +1 -0
- package/lib/internal/template/internal/plugins/widget/internal.d.ts +21 -0
- package/lib/internal/template/internal/plugins/widget/internal.d.ts.map +1 -0
- package/lib/internal/template/internal/plugins/widget/internal.js +55 -0
- package/lib/internal/template/internal/plugins/widget/internal.js.map +1 -0
- package/lib/internal/template/internal/plugins/widget.d.ts +3 -0
- package/lib/internal/template/internal/plugins/widget.d.ts.map +1 -0
- package/lib/internal/template/internal/plugins/widget.js +5 -0
- package/lib/internal/template/internal/plugins/widget.js.map +1 -0
- package/lib/internal/template/internal/types.d.ts +4 -0
- package/lib/internal/template/internal/types.d.ts.map +1 -1
- package/lib/internal/template/internal/types.js +8 -1
- package/lib/internal/template/internal/types.js.map +1 -1
- package/lib/internal/template/s3-resource-selector/s3-modal/index.d.ts.map +1 -1
- package/lib/internal/template/s3-resource-selector/s3-modal/index.js +1 -4
- package/lib/internal/template/s3-resource-selector/s3-modal/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
.toolbar,
|
|
27
27
|
.trigger-wrapper-tooltip-visible,
|
|
28
28
|
.trigger-tooltip,
|
|
29
|
-
.active-drawer-expanded-mode-button
|
|
29
|
+
.active-drawer-expanded-mode-button,
|
|
30
|
+
.ai-drawer-toggle,
|
|
31
|
+
.active-ai-drawer-leave-expanded-mode-custom-button {
|
|
30
32
|
/* used in test-utils */
|
|
31
33
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
@use '../../../internal/styles/tokens' as awsui;
|
|
6
6
|
@use '../../../internal/styles' as styles;
|
|
7
|
+
@use '../../../internal/styles/utils/theming' as theming;
|
|
7
8
|
@use '../../constants.scss' as constants;
|
|
8
9
|
@use '../../../internal/generated/custom-css-properties/index.scss' as custom-props;
|
|
9
10
|
|
|
@@ -47,7 +48,7 @@ $drawer-resize-handle-size: awsui.$space-m;
|
|
|
47
48
|
}
|
|
48
49
|
|
|
49
50
|
@include desktop-only {
|
|
50
|
-
&:not(.legacy) {
|
|
51
|
+
&:not(.legacy):not(.ai-drawer) {
|
|
51
52
|
border-inline-start: awsui.$border-divider-section-width solid awsui.$color-border-layout;
|
|
52
53
|
}
|
|
53
54
|
}
|
|
@@ -237,4 +238,157 @@ $drawer-resize-handle-size: awsui.$space-m;
|
|
|
237
238
|
}
|
|
238
239
|
}
|
|
239
240
|
}
|
|
241
|
+
|
|
242
|
+
&.ai-drawer {
|
|
243
|
+
grid-template-columns: 1fr awsui.$space-xs;
|
|
244
|
+
background: constants.$ai-drawer-background;
|
|
245
|
+
|
|
246
|
+
@include mobile-only {
|
|
247
|
+
grid-template-columns: 1fr;
|
|
248
|
+
z-index: constants.$drawer-z-index-mobile;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
> .drawer-slider {
|
|
252
|
+
inline-size: awsui.$space-xs;
|
|
253
|
+
overflow: hidden;
|
|
254
|
+
grid-column: 2;
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
// to override styles in PanelResizeHandle component
|
|
258
|
+
// maybe we need to introduce an additional prop in the component to make it more flexible?
|
|
259
|
+
// stylelint-disable-next-line @cloudscape-design/no-implicit-descendant
|
|
260
|
+
.ai-drawer-slider-handle {
|
|
261
|
+
transform: translate(-4px);
|
|
262
|
+
color: awsui.$color-text-interactive-inverted-default;
|
|
263
|
+
|
|
264
|
+
&:hover {
|
|
265
|
+
stroke: awsui.$color-text-interactive-inverted-hover;
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
> .drawer-content-container {
|
|
270
|
+
min-inline-size: calc(var(#{custom-props.$drawerSize}) - #{awsui.$space-xs});
|
|
271
|
+
grid-column: 1 / span 1;
|
|
272
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
273
|
+
|
|
274
|
+
@include desktop-only {
|
|
275
|
+
border-start-end-radius: awsui.$space-xxs;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
> .drawer-content {
|
|
279
|
+
> .drawer-content-header {
|
|
280
|
+
block-size: 41px;
|
|
281
|
+
position: sticky;
|
|
282
|
+
z-index: 1000;
|
|
283
|
+
display: flex;
|
|
284
|
+
justify-content: space-between;
|
|
285
|
+
align-items: center;
|
|
286
|
+
inset-block-start: 0;
|
|
287
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
288
|
+
border-block-end: awsui.$border-divider-section-width solid;
|
|
289
|
+
border-image: linear-gradient(90deg, #962eff 0%, #5c7fff 30%, #09f 50%, #b8e7ff 70%, #8575ff 100%) 1;
|
|
290
|
+
|
|
291
|
+
> .drawer-content-header-content {
|
|
292
|
+
display: flex;
|
|
293
|
+
flex: 1;
|
|
294
|
+
align-items: center;
|
|
295
|
+
justify-content: space-between;
|
|
296
|
+
block-size: 100%;
|
|
297
|
+
padding-inline-start: awsui.$space-l;
|
|
298
|
+
padding-inline-end: awsui.$space-m;
|
|
299
|
+
|
|
300
|
+
@include desktop-only {
|
|
301
|
+
@include theming.dark-mode-only {
|
|
302
|
+
&:has(+ .drawer-back-to-console-slot) {
|
|
303
|
+
border-inline-end: awsui.$border-divider-section-width solid awsui.$color-border-layout;
|
|
304
|
+
border-start-end-radius: awsui.$space-xxs;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
> .drawer-actions {
|
|
310
|
+
display: flex;
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
> .drawer-back-to-console-slot {
|
|
315
|
+
position: relative;
|
|
316
|
+
display: flex;
|
|
317
|
+
align-items: center;
|
|
318
|
+
box-sizing: border-box;
|
|
319
|
+
block-size: 100%;
|
|
320
|
+
padding-inline: awsui.$space-static-m;
|
|
321
|
+
background-color: constants.$ai-drawer-background;
|
|
322
|
+
|
|
323
|
+
&:before,
|
|
324
|
+
&:after {
|
|
325
|
+
content: '';
|
|
326
|
+
position: absolute;
|
|
327
|
+
inset-block-start: 0;
|
|
328
|
+
inset-inline-start: -5px;
|
|
329
|
+
inline-size: 5px;
|
|
330
|
+
block-size: 5px;
|
|
331
|
+
background: constants.$ai-drawer-background;
|
|
332
|
+
|
|
333
|
+
@include theming.dark-mode-only {
|
|
334
|
+
display: none;
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
&:after {
|
|
339
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
340
|
+
border-start-end-radius: awsui.$space-xxs;
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
> .drawer-back-to-console-button-wrapper {
|
|
344
|
+
position: relative;
|
|
345
|
+
&:has(:focus-visible) {
|
|
346
|
+
@include styles.focus-highlight(3px);
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
> .drawer-back-to-console-button {
|
|
350
|
+
@include styles.styles-reset;
|
|
351
|
+
@include styles.text-wrapping;
|
|
352
|
+
@include styles.font-body-s;
|
|
353
|
+
border-start-start-radius: awsui.$space-static-xxs;
|
|
354
|
+
border-start-end-radius: awsui.$space-static-xxs;
|
|
355
|
+
border-end-start-radius: awsui.$space-static-xxs;
|
|
356
|
+
border-end-end-radius: awsui.$space-static-xxs;
|
|
357
|
+
border-width: 0;
|
|
358
|
+
padding-inline: awsui.$space-static-xs;
|
|
359
|
+
padding-block: awsui.$space-static-xxs;
|
|
360
|
+
background: radial-gradient(203.69% 159.19% at 95% -11.67%, #ffbb45 0%, #f90 30%, #fa6f00 60%);
|
|
361
|
+
color: #ffffff;
|
|
362
|
+
cursor: pointer;
|
|
363
|
+
|
|
364
|
+
&:focus {
|
|
365
|
+
// custom outline attached on the wrapping element
|
|
366
|
+
outline: none;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
&:not(.drawer-expanded) {
|
|
376
|
+
> .drawer-content-container {
|
|
377
|
+
@include desktop-only {
|
|
378
|
+
clip-path: inset(0 0 0 -9999px round awsui.$space-xxs);
|
|
379
|
+
@include theming.dark-mode-only {
|
|
380
|
+
border-inline-end: awsui.$border-divider-section-width solid awsui.$color-border-layout;
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
&.drawer-expanded {
|
|
387
|
+
grid-template-columns: 1fr;
|
|
388
|
+
|
|
389
|
+
> .drawer-content-container {
|
|
390
|
+
border-start-end-radius: 0;
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
}
|
|
240
394
|
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
@use 'sass:map' as map;
|
|
6
6
|
@use '../../../internal/styles' as styles;
|
|
7
7
|
@use '../../../internal/styles/tokens' as awsui;
|
|
8
|
+
@use '../../../internal/styles/utils/theming' as theming;
|
|
8
9
|
@use '../../../internal/generated/custom-css-properties/index.scss' as custom-props;
|
|
9
10
|
@use '../../constants' as constants;
|
|
10
11
|
|
|
@@ -24,7 +25,7 @@
|
|
|
24
25
|
grid-column: 1 / -1;
|
|
25
26
|
|
|
26
27
|
@include desktop-only {
|
|
27
|
-
grid-column:
|
|
28
|
+
grid-column: 3 / 6;
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
|
|
@@ -50,10 +51,11 @@
|
|
|
50
51
|
// desktop grid
|
|
51
52
|
@include desktop-only {
|
|
52
53
|
grid-template-areas:
|
|
53
|
-
'toolbar toolbar toolbar toolbar toolbar toolbar toolbar'
|
|
54
|
-
'navigation . notifications . sideSplitPanel tools global-tools'
|
|
55
|
-
'navigation . main . sideSplitPanel tools global-tools';
|
|
54
|
+
'ai-drawer toolbar toolbar toolbar toolbar toolbar toolbar toolbar'
|
|
55
|
+
'ai-drawer navigation . notifications . sideSplitPanel tools global-tools'
|
|
56
|
+
'ai-drawer navigation . main . sideSplitPanel tools global-tools';
|
|
56
57
|
grid-template-columns:
|
|
58
|
+
min-content
|
|
57
59
|
min-content
|
|
58
60
|
minmax(#{awsui.$space-layout-content-horizontal}, 1fr)
|
|
59
61
|
minmax(0, var(#{custom-props.$maxContentWidth}))
|
|
@@ -82,11 +84,25 @@
|
|
|
82
84
|
0
|
|
83
85
|
0
|
|
84
86
|
0
|
|
87
|
+
0
|
|
85
88
|
auto;
|
|
89
|
+
|
|
90
|
+
&.ai-drawer-expanded-mode {
|
|
91
|
+
grid-template-columns:
|
|
92
|
+
auto
|
|
93
|
+
0
|
|
94
|
+
0
|
|
95
|
+
0
|
|
96
|
+
0
|
|
97
|
+
0
|
|
98
|
+
0
|
|
99
|
+
0;
|
|
100
|
+
}
|
|
86
101
|
}
|
|
87
102
|
}
|
|
88
103
|
}
|
|
89
104
|
|
|
105
|
+
.ai-drawer,
|
|
90
106
|
.navigation,
|
|
91
107
|
.tools,
|
|
92
108
|
.global-tools {
|
|
@@ -100,6 +116,13 @@
|
|
|
100
116
|
}
|
|
101
117
|
}
|
|
102
118
|
|
|
119
|
+
.ai-drawer {
|
|
120
|
+
@include desktop-only {
|
|
121
|
+
grid-area: ai-drawer;
|
|
122
|
+
position: sticky;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
103
126
|
.navigation {
|
|
104
127
|
z-index: constants.$drawer-z-index;
|
|
105
128
|
|
|
@@ -5,49 +5,146 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../../../internal/styles' as styles;
|
|
7
7
|
@use '../../../internal/styles/tokens' as awsui;
|
|
8
|
+
@use '../../../internal/styles/utils/theming' as theming;
|
|
8
9
|
@use '../../../internal/generated/custom-css-properties/index.scss' as custom-props;
|
|
9
10
|
@use '../../constants.scss' as constants;
|
|
10
11
|
|
|
12
|
+
$toolbar-height: 42px;
|
|
13
|
+
|
|
11
14
|
.universal-toolbar {
|
|
12
15
|
background-color: awsui.$color-background-layout-panel-content;
|
|
13
16
|
box-sizing: border-box;
|
|
14
|
-
padding-block: 0;
|
|
15
|
-
padding-inline: awsui.$space-m;
|
|
16
|
-
//right padding set in child trigger-container below for focus indicator to show correctly
|
|
17
|
-
padding-inline-end: 0;
|
|
18
17
|
position: sticky;
|
|
19
18
|
z-index: constants.$toolbar-z-index;
|
|
19
|
+
display: flex;
|
|
20
20
|
@include styles.with-motion {
|
|
21
21
|
transition: ease awsui.$motion-duration-refresh-only-slow;
|
|
22
22
|
transition-property: inset-block-start, opacity;
|
|
23
23
|
}
|
|
24
24
|
|
|
25
|
+
&.with-open-ai-drawer {
|
|
26
|
+
&:before,
|
|
27
|
+
&:after {
|
|
28
|
+
content: '';
|
|
29
|
+
position: absolute;
|
|
30
|
+
inset-block-start: 0;
|
|
31
|
+
inset-inline-start: 0;
|
|
32
|
+
inline-size: 5px;
|
|
33
|
+
block-size: 5px;
|
|
34
|
+
background: constants.$ai-drawer-background;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Adds a border to visually separate the main content area from the left global drawer.
|
|
38
|
+
*
|
|
39
|
+
* Note: Direct border application is not possible for either target element:
|
|
40
|
+
* - Main content area: Uses `display: contents`, preventing border application
|
|
41
|
+
* - Nav panel: May be hidden, causing the border to disappear when separation is still needed
|
|
42
|
+
*/
|
|
43
|
+
@include theming.dark-mode-only {
|
|
44
|
+
content: '';
|
|
45
|
+
position: absolute;
|
|
46
|
+
inset-block-start: $toolbar-height;
|
|
47
|
+
inset-inline-start: 0;
|
|
48
|
+
inline-size: awsui.$border-divider-section-width;
|
|
49
|
+
block-size: calc(100vh - #{$toolbar-height});
|
|
50
|
+
background: awsui.$color-border-layout;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
&:after {
|
|
55
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
56
|
+
border-start-start-radius: awsui.$space-xxs;
|
|
57
|
+
|
|
58
|
+
@include theming.dark-mode-only {
|
|
59
|
+
display: none;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
25
64
|
&.disable-body-scroll {
|
|
26
65
|
inset-block-start: 0px;
|
|
27
66
|
}
|
|
28
67
|
|
|
68
|
+
> .universal-toolbar-ai-custom {
|
|
69
|
+
grid-column: 1;
|
|
70
|
+
position: relative;
|
|
71
|
+
display: flex;
|
|
72
|
+
justify-content: center;
|
|
73
|
+
align-items: center;
|
|
74
|
+
align-self: flex-start;
|
|
75
|
+
padding-inline: awsui.$space-static-s;
|
|
76
|
+
box-sizing: border-box;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Button sizing adjustments for theme-specific design requirements
|
|
80
|
+
*
|
|
81
|
+
* Light mode: Button width is set to 100% + border width to intentionally overlap
|
|
82
|
+
* with the bottom border, as specified in the UI design.
|
|
83
|
+
*
|
|
84
|
+
* Dark mode: Resets the overlap styling due to different design requirements
|
|
85
|
+
* where overlap should not occur.
|
|
86
|
+
*/
|
|
87
|
+
block-size: calc(100% + #{awsui.$border-divider-section-width});
|
|
88
|
+
background: constants.$ai-drawer-background;
|
|
89
|
+
|
|
90
|
+
@include theming.dark-mode-only {
|
|
91
|
+
block-size: 100%;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&:before,
|
|
95
|
+
&:after {
|
|
96
|
+
content: '';
|
|
97
|
+
position: absolute;
|
|
98
|
+
inset-block-start: 0;
|
|
99
|
+
inset-inline-end: -5px;
|
|
100
|
+
inline-size: 5px;
|
|
101
|
+
block-size: 5px;
|
|
102
|
+
background: constants.$ai-drawer-background;
|
|
103
|
+
|
|
104
|
+
@include theming.dark-mode-only {
|
|
105
|
+
display: none;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
&:after {
|
|
110
|
+
background-color: awsui.$color-background-layout-panel-content;
|
|
111
|
+
border-start-start-radius: awsui.$space-xxs;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
|
|
29
115
|
> .toolbar-container {
|
|
30
116
|
block-size: 100%;
|
|
31
117
|
align-items: center;
|
|
32
118
|
display: grid;
|
|
33
|
-
column-gap: awsui.$space-static-xs;
|
|
34
119
|
inline-size: 100%;
|
|
35
|
-
grid-template-columns: min-content minmax(0, 3fr) minmax(auto, 1fr);
|
|
120
|
+
grid-template-columns: min-content min-content minmax(0, 3fr) minmax(auto, 1fr);
|
|
36
121
|
grid-template-rows: 1fr;
|
|
37
122
|
|
|
123
|
+
&.with-ai-drawer {
|
|
124
|
+
@include theming.dark-mode-only {
|
|
125
|
+
border-start-start-radius: awsui.$space-xxs;
|
|
126
|
+
border-inline-start: awsui.$border-divider-section-width solid awsui.$color-border-layout;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
38
130
|
> .universal-toolbar-nav {
|
|
39
|
-
grid-column:
|
|
131
|
+
grid-column: 2;
|
|
132
|
+
padding-inline-start: awsui.$space-m;
|
|
40
133
|
padding-inline-end: awsui.$space-static-xxs;
|
|
41
134
|
}
|
|
42
135
|
|
|
43
136
|
> .universal-toolbar-breadcrumbs {
|
|
44
|
-
grid-column:
|
|
137
|
+
grid-column: 3;
|
|
138
|
+
padding-inline: awsui.$space-static-xs;
|
|
45
139
|
background-color: transparent;
|
|
46
140
|
flex: 1 0;
|
|
141
|
+
&:first-child {
|
|
142
|
+
padding-inline: calc(#{awsui.$space-static-xs} + #{awsui.$space-static-m});
|
|
143
|
+
}
|
|
47
144
|
}
|
|
48
145
|
|
|
49
146
|
> .universal-toolbar-drawers {
|
|
50
|
-
grid-column:
|
|
147
|
+
grid-column: 4;
|
|
51
148
|
column-gap: awsui.$space-static-xs;
|
|
52
149
|
display: flex;
|
|
53
150
|
justify-content: flex-end;
|
|
@@ -60,9 +157,7 @@
|
|
|
60
157
|
.drawers-mobile-triggers-container {
|
|
61
158
|
@include styles.styles-reset;
|
|
62
159
|
background-color: transparent;
|
|
63
|
-
padding-inline:
|
|
64
|
-
//matches the left padding of .universal-toolbar but allows for focus indicator to show correctly
|
|
65
|
-
padding-inline-end: awsui.$space-m;
|
|
160
|
+
padding-inline: awsui.$space-m;
|
|
66
161
|
box-sizing: border-box;
|
|
67
162
|
overflow-y: hidden;
|
|
68
163
|
overflow-x: hidden;
|
package/lib/internal/scss/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scss
CHANGED
|
@@ -13,14 +13,15 @@
|
|
|
13
13
|
|
|
14
14
|
cursor: pointer;
|
|
15
15
|
color: awsui.$color-text-interactive-default;
|
|
16
|
-
border-start-start-radius: 50%;
|
|
17
|
-
border-start-end-radius: 50%;
|
|
18
|
-
border-end-start-radius: 50%;
|
|
19
|
-
border-end-end-radius: 50%;
|
|
20
|
-
block-size: 30px;
|
|
21
|
-
inline-size: 30px;
|
|
22
16
|
text-align: center;
|
|
23
17
|
|
|
18
|
+
&.custom {
|
|
19
|
+
display: flex;
|
|
20
|
+
block-size: 100%;
|
|
21
|
+
inline-size: 100%;
|
|
22
|
+
box-sizing: border-box;
|
|
23
|
+
}
|
|
24
|
+
|
|
24
25
|
&-with-badge {
|
|
25
26
|
clip-path: path(
|
|
26
27
|
'M29.2862 10.4145C28.7243 10.5998 28.1238 10.7 27.4999 10.7C24.3519 10.7 21.7999 8.14803 21.7999 5C21.7999 3.92883 22.0954 2.92667 22.6093 2.07057C20.3785 0.754846 17.7774 0 15 0C6.71573 0 0 6.71573 0 15C0 23.2843 6.71573 30 15 30C23.2843 30 30 23.2843 30 15C30 13.4007 29.7497 11.8599 29.2862 10.4145Z'
|
|
@@ -33,30 +34,39 @@
|
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
&:hover {
|
|
37
|
-
background: awsui.$color-background-input-disabled;
|
|
38
|
-
color: awsui.$color-text-interactive-hover;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
&:active {
|
|
42
|
-
background: awsui.$color-background-control-disabled;
|
|
43
|
-
color: awsui.$color-text-interactive-hover;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
37
|
&:focus {
|
|
47
38
|
// custom outline attached on the wrapping element
|
|
48
39
|
outline: none;
|
|
49
40
|
}
|
|
50
41
|
|
|
51
|
-
&.
|
|
52
|
-
|
|
53
|
-
|
|
42
|
+
&.circle {
|
|
43
|
+
border-start-start-radius: 50%;
|
|
44
|
+
border-start-end-radius: 50%;
|
|
45
|
+
border-end-start-radius: 50%;
|
|
46
|
+
border-end-end-radius: 50%;
|
|
47
|
+
block-size: 30px;
|
|
48
|
+
inline-size: 30px;
|
|
54
49
|
|
|
55
50
|
&:hover {
|
|
56
|
-
background: awsui.$color-background-
|
|
51
|
+
background: awsui.$color-background-input-disabled;
|
|
52
|
+
color: awsui.$color-text-interactive-hover;
|
|
57
53
|
}
|
|
54
|
+
|
|
58
55
|
&:active {
|
|
59
|
-
background: awsui.$color-background-
|
|
56
|
+
background: awsui.$color-background-control-disabled;
|
|
57
|
+
color: awsui.$color-text-interactive-hover;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&.selected {
|
|
61
|
+
background: awsui.$color-background-layout-toggle-selected-default;
|
|
62
|
+
color: awsui.$color-text-layout-toggle-selected;
|
|
63
|
+
|
|
64
|
+
&:hover {
|
|
65
|
+
background: awsui.$color-background-layout-toggle-selected-hover;
|
|
66
|
+
}
|
|
67
|
+
&:active {
|
|
68
|
+
background: awsui.$color-background-layout-toggle-selected-active;
|
|
69
|
+
}
|
|
60
70
|
}
|
|
61
71
|
}
|
|
62
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/app-layout/interfaces.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/app-layout/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,cAAc,CAAC,iBAAiB,CAAC;IAErD;;;OAGG;IACH,WAAW,CAAC,EAAE,cAAc,CAAC,WAAW,CAAC;IAEzC;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAEvC;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE/B;;OAEG;IACH,cAAc,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC;IAE9E;;OAEG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;IAEnC;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,SAAS,GAAG,eAAe,CAAC;IAE5C;;OAEG;IACH,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;OAEG;IACH,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAExB;;;;OAIG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC;;OAEG;IACH,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE9B;;OAEG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAE5E;;OAEG;IACH,aAAa,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAEvE;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC,qBAAqB,CAAC;IAC7D;;OAEG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;IACtF;;OAEG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IAC5E;;OAEG;IACH,6BAA6B,CAAC,EAAE,yBAAyB,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;CACjG;AAED,MAAM,WAAW,cAAe,SAAQ,eAAe;IACrD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,yBAAiB,cAAc,CAAC;IAC9B,UAAiB,iBAAiB;QAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,QAAQ,CAAC,EAAE,QAAQ,CAAC;KACrB;IAED,KAAY,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;IAE1F,UAAiB,GAAG;QAClB;;;WAGG;QACH,0BAA0B,IAAI,IAAI,CAAC;QAEnC;;;WAGG;QACH,SAAS,IAAI,IAAI,CAAC;QAElB;;;;WAIG;QACH,eAAe,IAAI,IAAI,CAAC;QAExB;;WAEG;QACH,iBAAiB,IAAI,IAAI,CAAC;QAE1B;;WAEG;QACH,eAAe,IAAI,IAAI,CAAC;KACzB;IAED,UAAiB,MAAM;QACrB,EAAE,EAAE,MAAM,CAAC;QACX,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;QACzB,OAAO,CAAC,EAAE;YACR,QAAQ,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC;YAC1B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;YAC1B,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;SAC9B,CAAC;QACF,UAAU,EAAE,gBAAgB,CAAC;QAC7B,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;YAAE,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACvD,uBAAuB,CAAC,EAAE,OAAO,CAAC;KACnC;IAED,UAAiB,gBAAgB;QAC/B,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC;IAED,UAAiB,MAAM;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QAEvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;QAEzB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QAEpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,wBAAwB,CAAC,EAAE,MAAM,CAAC;KACnC;IAED,UAAiB,YAAY;QAC3B,IAAI,EAAE,OAAO,CAAC;KACf;IAED,UAAiB,sBAAsB;QACrC,IAAI,EAAE,MAAM,CAAC;KACd;IAED,UAAiB,qBAAqB;QACpC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC7B;IAGD,KAAY,kBAAkB,GAAG,MAAM,GAAG,QAAQ,CAAC;IAEnD,UAAiB,kBAAkB;QACjC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B;CACF;AAED,MAAM,MAAM,0BAA0B,GAAG,YAAY,CACnD,IAAI,CAAC,cAAc,EAAE,gBAAgB,GAAG,gBAAgB,CAAC,EACzD,aAAa,GAAG,iBAAiB,GAAG,YAAY,GAAG,iBAAiB,GAAG,gBAAgB,GAAG,oBAAoB,CAC/G,GAAG;IACF,SAAS,EAAE;QACT,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/app-layout/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { IconProps } from '../icon/interfaces';\nimport { FlowType } from '../internal/analytics/interfaces';\nimport { BaseComponentProps } from '../internal/base-component';\nimport { NonCancelableEventHandler } from '../internal/events';\nimport { SomeRequired } from '../internal/types';\n\nexport interface BaseLayoutProps extends BaseComponentProps {\n /**\n * Specifies additional analytics-related metadata.\n * * `instanceIdentifier` - A unique string that identifies this component instance in your application.\n * * `flowType` - Identifies the type of flow represented by the component.\n * **Note:** This API is currently experimental.\n * @analytics\n */\n analyticsMetadata?: AppLayoutProps.AnalyticsMetadata;\n\n /**\n * Determines the default behavior of the component based on some predefined page layouts.\n * Individual properties will always take precedence over the default coming from the content type.\n */\n contentType?: AppLayoutProps.ContentType;\n\n /**\n * Drawers property. If you set both `drawers` and `tools`, `drawers` will take precedence.\n\n * Each Drawer is an item in the drawers wrapper with the following properties:\n * * id (string) - the id of the drawer.\n * * content (React.ReactNode) - the content in the drawer.\n * * trigger (DrawerTrigger) - the button that opens and closes the active drawer.\n * * ariaLabels (DrawerAriaLabels) - the labels for the interactive elements of the drawer.\n * * badge (boolean) - Adds a badge to the corner of the icon to indicate a state change. For example: Unread notifications.\n * * resizable (boolean) - if the drawer is resizable or not.\n * * defaultSize (number) - starting size of the drawer. if not set, defaults to 290.\n * * onResize (({ size: number }) => void) - Fired when the active drawer is resized.\n *\n * #### DrawerTrigger\n * - `iconName` (IconProps.Name) - (Optional) Specifies the icon to be displayed.\n * - `iconSvg` (React.ReactNode) - (Optional) Specifies the SVG of a custom icon. For more information, see [SVG icon guidelines](/components/icon/?tabId=api#slots)\n *\n * #### DrawerAriaLabels\n * - `drawerName` (string) - Label for the drawer itself, and for the drawer trigger button tooltip text.\n * - `closeButton` (string) - (Optional) Label for the close button.\n * - `triggerButton` (string) - (Optional) Label for the trigger button.\n * - `resizeHandle` (string) - (Optional) Label for the resize handle.\n */\n drawers?: Array<AppLayoutProps.Drawer>;\n\n /**\n * The active drawer id. If you want to clear the active drawer, use `null`.\n */\n activeDrawerId?: string | null;\n\n /**\n * Fired when the active drawer is toggled.\n */\n onDrawerChange?: NonCancelableEventHandler<AppLayoutProps.DrawerChangeDetail>;\n\n /**\n * If `true`, disables outer paddings for the content slot.\n */\n disableContentPaddings?: boolean;\n\n /**\n * State of the navigation drawer.\n */\n navigationOpen?: boolean;\n\n /**\n * Navigation drawer width in pixels.\n */\n navigationWidth?: number;\n\n /**\n * If `true`, the navigation drawer is not displayed at all.\n */\n navigationHide?: boolean;\n\n /**\n * State of the tools drawer.\n */\n toolsOpen?: boolean;\n\n /**\n * If `true`, the tools drawer is not displayed at all.\n */\n toolsHide?: boolean;\n\n /**\n * Tools drawer width in pixels.\n */\n toolsWidth?: number;\n\n /**\n * Maximum main content panel width in pixels.\n *\n * If set to `Number.MAX_VALUE`, the main content panel will occupy the full available width.\n */\n maxContentWidth?: number;\n\n /**\n * Minimum main content panel width in pixels.\n */\n minContentWidth?: number;\n\n /**\n * If true, the notification slot is rendered above the scrollable\n * content area so it is always visible.\n */\n stickyNotifications?: boolean;\n\n /**\n * CSS selector for the application header.\n */\n headerSelector?: string;\n\n /**\n * CSS selector for the application footer.\n */\n footerSelector?: string;\n\n /**\n * Aria labels for the drawer operating buttons. Use this property to ensure accessibility.\n *\n * * `navigation` (string) - Label for the landmark that wraps the navigation drawer.\n * * `navigationClose` (string) - Label for the button that closes the navigation drawer.\n * * `navigationToggle` (string) - Label for the button that opens the navigation drawer.\n * * `notification` (string) - Label for the region that contains notification messages.\n * * `tools` (string) - Label for the landmark that wraps the tools drawer.\n * * `toolsClose` (string) - Label for the button that closes the tools drawer.\n * * `toolsToggle` (string) - Label for the button that opens the tools drawer.\n * * `drawers` (string) - Label for the landmark that wraps the active drawer.\n * * `drawersOverflow` (string) - Label for the ellipsis button with any overflow drawers.\n * * `drawersOverflowWithBadge` (string) - Label for the ellipsis button with any overflow drawers, with a badge.\n *\n * Example:\n * ```\n * {\n * navigation: \"Navigation drawer\",\n * navigationClose: \"Close navigation drawer\",\n * navigationToggle: \"Open navigation drawer\",\n * notifications: \"Notifications\",\n * tools: \"Help panel\",\n * toolsClose: \"Close help panel\",\n * toolsToggle: \"Open help panel\",\n * drawers: \"Drawers\",\n * drawersOverflow: \"Overflow drawers\",\n * drawersOverflowWithBadge: \"Overflow drawers (Unread notifications)\"\n * }\n * ```\n * @i18n\n */\n ariaLabels?: AppLayoutProps.Labels;\n\n /**\n * Navigation drawer.\n */\n navigation?: React.ReactNode;\n\n /**\n * Top area of the page content.\n * @deprecated Replaced by the `header` slot of the [content layout](/components/content-layout/) component.\n * @visualrefresh\n */\n contentHeader?: React.ReactNode;\n\n /**\n * Disables overlap between `contentHeader` and `content` slots.\n * @deprecated Replaced by the `disableOverlap` property of the [content layout](/components/content-layout/) component.\n * @visualrefresh\n */\n disableContentHeaderOverlap?: boolean;\n\n /**\n * Determines the visual treatment for the breadcrumbs and notifications slots. Specifically:\n * * `default` - Does not apply any visual treatment.\n * * `high-contrast` - Applies high-contrast to both slots. Use in conjunction with `headerVariant=\"high-contrast\"` in ContentLayout.\n * @visualrefresh\n */\n headerVariant?: 'default' | 'high-contrast';\n\n /**\n * Main content.\n */\n content?: React.ReactNode;\n\n /**\n * Tools drawer.\n */\n tools?: React.ReactNode;\n\n /**\n * Displayed on top of the main content in the scrollable area.\n *\n * Conceived to contain notifications (flash messages).\n */\n notifications?: React.ReactNode;\n\n /**\n * Use this slot to add the [breadcrumb group component](/components/breadcrumb-group/) to the app layout.\n */\n breadcrumbs?: React.ReactNode;\n\n /**\n * Fired when the navigation drawer is toggled.\n */\n onNavigationChange?: NonCancelableEventHandler<AppLayoutProps.ChangeDetail>;\n\n /**\n * Fired when the tools drawer is toggled.\n */\n onToolsChange?: NonCancelableEventHandler<AppLayoutProps.ChangeDetail>;\n\n /**\n * Use this slot to add the [split panel component](/components/split-panel/) to the app layout.\n *\n * Note: If provided, this property should be set to `null` or `undefined` if a split panel should not be rendered.\n */\n splitPanel?: React.ReactNode;\n\n /**\n * The size of the split panel in pixels.\n */\n splitPanelSize?: number;\n\n /**\n * State of the split panel.\n */\n splitPanelOpen?: boolean;\n /**\n * Controls the split panel preferences.\n *\n * By default, the preference is `{ position: 'bottom' }`\n */\n splitPanelPreferences?: AppLayoutProps.SplitPanelPreferences;\n /**\n * Fired when the split panel is resized.\n */\n onSplitPanelResize?: NonCancelableEventHandler<AppLayoutProps.SplitPanelResizeDetail>;\n /**\n * Fired when the split panel is toggled.\n */\n onSplitPanelToggle?: NonCancelableEventHandler<AppLayoutProps.ChangeDetail>;\n /**\n * Fired when the split panel preferences change.\n */\n onSplitPanelPreferencesChange?: NonCancelableEventHandler<AppLayoutProps.SplitPanelPreferences>;\n}\n\nexport interface AppLayoutProps extends BaseLayoutProps {\n /**\n * Activates a backwards-compatibility mode for applications with non-fixed headers and footers.\n * @deprecated This layout is being phased out and may miss some features.\n */\n disableBodyScroll?: boolean;\n}\n\nexport namespace AppLayoutProps {\n export interface AnalyticsMetadata {\n instanceIdentifier?: string;\n flowType?: FlowType;\n }\n\n export type ContentType = 'default' | 'form' | 'table' | 'cards' | 'wizard' | 'dashboard';\n\n export interface Ref {\n /**\n * Manually closes the navigation drawer if it is necessary for the current\n * viewport size.\n */\n closeNavigationIfNecessary(): void;\n\n /**\n * Opens the tools panel if it is not already open. Note that it is preferable\n * to control the state by listening to `toolsChange` and providing `toolsOpen`.\n */\n openTools(): void;\n\n /**\n * Focuses the tools panel if it is open. Use this to focus the tools panel\n * after changing the content, for example when clicking on an 'info' link while\n * the panel is already open.\n */\n focusToolsClose(): void;\n\n /**\n * Focuses the active drawer. Use this to focus the active drawer after opening it programmatically.\n */\n focusActiveDrawer(): void;\n\n /**\n * Focuses the split panel if it is open.\n */\n focusSplitPanel(): void;\n }\n\n export interface Drawer {\n id: string;\n content: React.ReactNode;\n trigger?: {\n iconName?: IconProps.Name;\n iconSvg?: React.ReactNode;\n };\n ariaLabels: DrawerAriaLabels;\n badge?: boolean;\n resizable?: boolean;\n defaultSize?: number;\n onResize?: NonCancelableEventHandler<{ size: number }>;\n preserveInactiveContent?: boolean;\n }\n\n export interface DrawerAriaLabels {\n drawerName: string;\n closeButton?: string;\n triggerButton?: string;\n resizeHandle?: string;\n resizeHandleTooltipText?: string;\n }\n\n export interface Labels {\n notifications?: string;\n\n navigation?: string;\n navigationToggle?: string;\n navigationClose?: string;\n\n tools?: string;\n toolsToggle?: string;\n toolsClose?: string;\n\n drawers?: string;\n drawersOverflow?: string;\n drawersOverflowWithBadge?: string;\n }\n\n export interface ChangeDetail {\n open: boolean;\n }\n\n export interface SplitPanelResizeDetail {\n size: number;\n }\n\n export interface SplitPanelPreferences {\n position: 'side' | 'bottom';\n }\n // Duplicated the positions because using this definition in SplitPanelPreferences would display\n // 'AppLayoutProps.SplitPanelPosition' on the API docs instead of the string values.\n export type SplitPanelPosition = 'side' | 'bottom';\n\n export interface DrawerChangeDetail {\n activeDrawerId: string | null;\n }\n}\n\nexport type AppLayoutPropsWithDefaults = SomeRequired<\n Omit<AppLayoutProps, 'headerSelector' | 'footerSelector'>,\n 'contentType' | 'navigationWidth' | 'toolsWidth' | 'minContentWidth' | 'navigationOpen' | 'onNavigationChange'\n> & {\n placement: {\n insetBlockStart: number;\n insetBlockEnd: number;\n insetInlineStart: number;\n insetInlineEnd: number;\n inlineSize: number;\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/app-layout/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { IconProps } from '../icon/interfaces';\nimport { FlowType } from '../internal/analytics/interfaces';\nimport { BaseComponentProps } from '../internal/base-component';\nimport { NonCancelableEventHandler } from '../internal/events';\nimport { SomeRequired } from '../internal/types';\n\nexport interface BaseLayoutProps extends BaseComponentProps {\n /**\n * Specifies additional analytics-related metadata.\n * * `instanceIdentifier` - A unique string that identifies this component instance in your application.\n * * `flowType` - Identifies the type of flow represented by the component.\n * **Note:** This API is currently experimental.\n * @analytics\n */\n analyticsMetadata?: AppLayoutProps.AnalyticsMetadata;\n\n /**\n * Determines the default behavior of the component based on some predefined page layouts.\n * Individual properties will always take precedence over the default coming from the content type.\n */\n contentType?: AppLayoutProps.ContentType;\n\n /**\n * Drawers property. If you set both `drawers` and `tools`, `drawers` will take precedence.\n\n * Each Drawer is an item in the drawers wrapper with the following properties:\n * * id (string) - the id of the drawer.\n * * content (React.ReactNode) - the content in the drawer.\n * * trigger (DrawerTrigger) - the button that opens and closes the active drawer.\n * * ariaLabels (DrawerAriaLabels) - the labels for the interactive elements of the drawer.\n * * badge (boolean) - Adds a badge to the corner of the icon to indicate a state change. For example: Unread notifications.\n * * resizable (boolean) - if the drawer is resizable or not.\n * * defaultSize (number) - starting size of the drawer. if not set, defaults to 290.\n * * onResize (({ size: number }) => void) - Fired when the active drawer is resized.\n *\n * #### DrawerTrigger\n * - `iconName` (IconProps.Name) - (Optional) Specifies the icon to be displayed.\n * - `iconSvg` (React.ReactNode) - (Optional) Specifies the SVG of a custom icon. For more information, see [SVG icon guidelines](/components/icon/?tabId=api#slots)\n *\n * #### DrawerAriaLabels\n * - `drawerName` (string) - Label for the drawer itself, and for the drawer trigger button tooltip text.\n * - `closeButton` (string) - (Optional) Label for the close button.\n * - `triggerButton` (string) - (Optional) Label for the trigger button.\n * - `resizeHandle` (string) - (Optional) Label for the resize handle.\n */\n drawers?: Array<AppLayoutProps.Drawer>;\n\n /**\n * The active drawer id. If you want to clear the active drawer, use `null`.\n */\n activeDrawerId?: string | null;\n\n /**\n * Fired when the active drawer is toggled.\n */\n onDrawerChange?: NonCancelableEventHandler<AppLayoutProps.DrawerChangeDetail>;\n\n /**\n * If `true`, disables outer paddings for the content slot.\n */\n disableContentPaddings?: boolean;\n\n /**\n * State of the navigation drawer.\n */\n navigationOpen?: boolean;\n\n /**\n * Navigation drawer width in pixels.\n */\n navigationWidth?: number;\n\n /**\n * If `true`, the navigation drawer is not displayed at all.\n */\n navigationHide?: boolean;\n\n /**\n * State of the tools drawer.\n */\n toolsOpen?: boolean;\n\n /**\n * If `true`, the tools drawer is not displayed at all.\n */\n toolsHide?: boolean;\n\n /**\n * Tools drawer width in pixels.\n */\n toolsWidth?: number;\n\n /**\n * Maximum main content panel width in pixels.\n *\n * If set to `Number.MAX_VALUE`, the main content panel will occupy the full available width.\n */\n maxContentWidth?: number;\n\n /**\n * Minimum main content panel width in pixels.\n */\n minContentWidth?: number;\n\n /**\n * If true, the notification slot is rendered above the scrollable\n * content area so it is always visible.\n */\n stickyNotifications?: boolean;\n\n /**\n * CSS selector for the application header.\n */\n headerSelector?: string;\n\n /**\n * CSS selector for the application footer.\n */\n footerSelector?: string;\n\n /**\n * Aria labels for the drawer operating buttons. Use this property to ensure accessibility.\n *\n * * `navigation` (string) - Label for the landmark that wraps the navigation drawer.\n * * `navigationClose` (string) - Label for the button that closes the navigation drawer.\n * * `navigationToggle` (string) - Label for the button that opens the navigation drawer.\n * * `notification` (string) - Label for the region that contains notification messages.\n * * `tools` (string) - Label for the landmark that wraps the tools drawer.\n * * `toolsClose` (string) - Label for the button that closes the tools drawer.\n * * `toolsToggle` (string) - Label for the button that opens the tools drawer.\n * * `drawers` (string) - Label for the landmark that wraps the active drawer.\n * * `drawersOverflow` (string) - Label for the ellipsis button with any overflow drawers.\n * * `drawersOverflowWithBadge` (string) - Label for the ellipsis button with any overflow drawers, with a badge.\n *\n * Example:\n * ```\n * {\n * navigation: \"Navigation drawer\",\n * navigationClose: \"Close navigation drawer\",\n * navigationToggle: \"Open navigation drawer\",\n * notifications: \"Notifications\",\n * tools: \"Help panel\",\n * toolsClose: \"Close help panel\",\n * toolsToggle: \"Open help panel\",\n * drawers: \"Drawers\",\n * drawersOverflow: \"Overflow drawers\",\n * drawersOverflowWithBadge: \"Overflow drawers (Unread notifications)\"\n * }\n * ```\n * @i18n\n */\n ariaLabels?: AppLayoutProps.Labels;\n\n /**\n * Navigation drawer.\n */\n navigation?: React.ReactNode;\n\n /**\n * Top area of the page content.\n * @deprecated Replaced by the `header` slot of the [content layout](/components/content-layout/) component.\n * @visualrefresh\n */\n contentHeader?: React.ReactNode;\n\n /**\n * Disables overlap between `contentHeader` and `content` slots.\n * @deprecated Replaced by the `disableOverlap` property of the [content layout](/components/content-layout/) component.\n * @visualrefresh\n */\n disableContentHeaderOverlap?: boolean;\n\n /**\n * Determines the visual treatment for the breadcrumbs and notifications slots. Specifically:\n * * `default` - Does not apply any visual treatment.\n * * `high-contrast` - Applies high-contrast to both slots. Use in conjunction with `headerVariant=\"high-contrast\"` in ContentLayout.\n * @visualrefresh\n */\n headerVariant?: 'default' | 'high-contrast';\n\n /**\n * Main content.\n */\n content?: React.ReactNode;\n\n /**\n * Tools drawer.\n */\n tools?: React.ReactNode;\n\n /**\n * Displayed on top of the main content in the scrollable area.\n *\n * Conceived to contain notifications (flash messages).\n */\n notifications?: React.ReactNode;\n\n /**\n * Use this slot to add the [breadcrumb group component](/components/breadcrumb-group/) to the app layout.\n */\n breadcrumbs?: React.ReactNode;\n\n /**\n * Fired when the navigation drawer is toggled.\n */\n onNavigationChange?: NonCancelableEventHandler<AppLayoutProps.ChangeDetail>;\n\n /**\n * Fired when the tools drawer is toggled.\n */\n onToolsChange?: NonCancelableEventHandler<AppLayoutProps.ChangeDetail>;\n\n /**\n * Use this slot to add the [split panel component](/components/split-panel/) to the app layout.\n *\n * Note: If provided, this property should be set to `null` or `undefined` if a split panel should not be rendered.\n */\n splitPanel?: React.ReactNode;\n\n /**\n * The size of the split panel in pixels.\n */\n splitPanelSize?: number;\n\n /**\n * State of the split panel.\n */\n splitPanelOpen?: boolean;\n /**\n * Controls the split panel preferences.\n *\n * By default, the preference is `{ position: 'bottom' }`\n */\n splitPanelPreferences?: AppLayoutProps.SplitPanelPreferences;\n /**\n * Fired when the split panel is resized.\n */\n onSplitPanelResize?: NonCancelableEventHandler<AppLayoutProps.SplitPanelResizeDetail>;\n /**\n * Fired when the split panel is toggled.\n */\n onSplitPanelToggle?: NonCancelableEventHandler<AppLayoutProps.ChangeDetail>;\n /**\n * Fired when the split panel preferences change.\n */\n onSplitPanelPreferencesChange?: NonCancelableEventHandler<AppLayoutProps.SplitPanelPreferences>;\n}\n\nexport interface AppLayoutProps extends BaseLayoutProps {\n /**\n * Activates a backwards-compatibility mode for applications with non-fixed headers and footers.\n * @deprecated This layout is being phased out and may miss some features.\n */\n disableBodyScroll?: boolean;\n}\n\nexport namespace AppLayoutProps {\n export interface AnalyticsMetadata {\n instanceIdentifier?: string;\n flowType?: FlowType;\n }\n\n export type ContentType = 'default' | 'form' | 'table' | 'cards' | 'wizard' | 'dashboard';\n\n export interface Ref {\n /**\n * Manually closes the navigation drawer if it is necessary for the current\n * viewport size.\n */\n closeNavigationIfNecessary(): void;\n\n /**\n * Opens the tools panel if it is not already open. Note that it is preferable\n * to control the state by listening to `toolsChange` and providing `toolsOpen`.\n */\n openTools(): void;\n\n /**\n * Focuses the tools panel if it is open. Use this to focus the tools panel\n * after changing the content, for example when clicking on an 'info' link while\n * the panel is already open.\n */\n focusToolsClose(): void;\n\n /**\n * Focuses the active drawer. Use this to focus the active drawer after opening it programmatically.\n */\n focusActiveDrawer(): void;\n\n /**\n * Focuses the split panel if it is open.\n */\n focusSplitPanel(): void;\n }\n\n export interface Drawer {\n id: string;\n content: React.ReactNode;\n trigger?: {\n iconName?: IconProps.Name;\n iconSvg?: React.ReactNode;\n customIcon?: React.ReactNode;\n };\n ariaLabels: DrawerAriaLabels;\n badge?: boolean;\n resizable?: boolean;\n defaultSize?: number;\n onResize?: NonCancelableEventHandler<{ size: number }>;\n preserveInactiveContent?: boolean;\n }\n\n export interface DrawerAriaLabels {\n drawerName: string;\n closeButton?: string;\n triggerButton?: string;\n resizeHandle?: string;\n resizeHandleTooltipText?: string;\n }\n\n export interface Labels {\n notifications?: string;\n\n navigation?: string;\n navigationToggle?: string;\n navigationClose?: string;\n\n tools?: string;\n toolsToggle?: string;\n toolsClose?: string;\n\n drawers?: string;\n drawersOverflow?: string;\n drawersOverflowWithBadge?: string;\n }\n\n export interface ChangeDetail {\n open: boolean;\n }\n\n export interface SplitPanelResizeDetail {\n size: number;\n }\n\n export interface SplitPanelPreferences {\n position: 'side' | 'bottom';\n }\n // Duplicated the positions because using this definition in SplitPanelPreferences would display\n // 'AppLayoutProps.SplitPanelPosition' on the API docs instead of the string values.\n export type SplitPanelPosition = 'side' | 'bottom';\n\n export interface DrawerChangeDetail {\n activeDrawerId: string | null;\n }\n}\n\nexport type AppLayoutPropsWithDefaults = SomeRequired<\n Omit<AppLayoutProps, 'headerSelector' | 'footerSelector'>,\n 'contentType' | 'navigationWidth' | 'toolsWidth' | 'minContentWidth' | 'navigationOpen' | 'onNavigationChange'\n> & {\n placement: {\n insetBlockStart: number;\n insetBlockEnd: number;\n insetInlineStart: number;\n insetInlineEnd: number;\n inlineSize: number;\n };\n};\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { NonCancelableEventHandler } from '../../internal/events';
|
|
2
2
|
import { DrawerConfig as RuntimeDrawerConfig, DrawerStateChangeParams } from '../../internal/plugins/controllers/drawers';
|
|
3
|
+
import { DrawerPayload as RuntimeAiDrawerConfig } from '../../internal/plugins/widget/interfaces';
|
|
3
4
|
import { AppLayoutProps } from '../interfaces';
|
|
4
5
|
export interface RuntimeDrawer extends AppLayoutProps.Drawer {
|
|
5
6
|
onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;
|
|
@@ -9,5 +10,13 @@ export interface DrawersLayout {
|
|
|
9
10
|
localBefore: Array<RuntimeDrawer>;
|
|
10
11
|
localAfter: Array<RuntimeDrawer>;
|
|
11
12
|
}
|
|
13
|
+
export declare const mapRuntimeConfigToDrawer: (runtimeConfig: RuntimeDrawerConfig) => AppLayoutProps.Drawer & {
|
|
14
|
+
orderPriority?: number;
|
|
15
|
+
onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;
|
|
16
|
+
};
|
|
17
|
+
export declare const mapRuntimeConfigToAiDrawer: (runtimeConfig: RuntimeAiDrawerConfig) => AppLayoutProps.Drawer & {
|
|
18
|
+
orderPriority?: number;
|
|
19
|
+
onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;
|
|
20
|
+
};
|
|
12
21
|
export declare function convertRuntimeDrawers(localDrawers: Array<RuntimeDrawerConfig>, globalDrawers: Array<RuntimeDrawerConfig>): DrawersLayout;
|
|
13
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/runtime-drawer/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA0B,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,YAAY,IAAI,mBAAmB,EACnC,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAK/C,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,MAAM;IAC1D,QAAQ,CAAC,EAAE,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7B,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAClC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CAClC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/runtime-drawer/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAA0B,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAC1F,OAAO,EACL,YAAY,IAAI,mBAAmB,EACnC,uBAAuB,EACxB,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,aAAa,IAAI,qBAAqB,EAAE,MAAM,0CAA0C,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAK/C,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,MAAM;IAC1D,QAAQ,CAAC,EAAE,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC7B,WAAW,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAClC,UAAU,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;CAClC;AAyDD,eAAO,MAAM,wBAAwB,kBACpB,mBAAmB,KACjC,eAAe,MAAM,GAAG;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,0BAA0B,uBAAuB,CAAC,CAAC;CA6B/D,CAAC;AAEF,eAAO,MAAM,0BAA0B,kBACtB,qBAAqB,KACnC,eAAe,MAAM,GAAG;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,0BAA0B,uBAAuB,CAAC,CAAC;CAoC/D,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,KAAK,CAAC,mBAAmB,CAAC,EACxC,aAAa,EAAE,KAAK,CAAC,mBAAmB,CAAC,GACxC,aAAa,CAQf"}
|