@cloudscape-design/components-themeable 3.0.826 → 3.0.828
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 +1 -1
- package/lib/internal/scss/drawer/styles.scss +7 -11
- package/lib/internal/scss/help-panel/styles.scss +11 -16
- package/lib/internal/scss/side-navigation/styles.scss +23 -10
- package/lib/internal/template/app-layout/{runtime-api.d.ts → runtime-drawer/index.d.ts} +3 -3
- package/lib/internal/template/app-layout/runtime-drawer/index.d.ts.map +1 -0
- package/lib/internal/template/app-layout/{runtime-api.js → runtime-drawer/index.js} +30 -6
- package/lib/internal/template/app-layout/runtime-drawer/index.js.map +1 -0
- package/lib/internal/template/app-layout/utils/use-drawers.js +1 -1
- package/lib/internal/template/app-layout/utils/use-drawers.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +10 -10
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +13 -13
- package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +10 -10
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +6 -6
- package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
- package/lib/internal/template/drawer/implementation.js +1 -1
- package/lib/internal/template/drawer/implementation.js.map +1 -1
- package/lib/internal/template/drawer/styles.css.js +5 -4
- package/lib/internal/template/drawer/styles.scoped.css +16 -20
- package/lib/internal/template/drawer/styles.selectors.js +5 -4
- package/lib/internal/template/help-panel/implementation.d.ts.map +1 -1
- package/lib/internal/template/help-panel/implementation.js +4 -2
- package/lib/internal/template/help-panel/implementation.js.map +1 -1
- package/lib/internal/template/help-panel/styles.css.js +6 -5
- package/lib/internal/template/help-panel/styles.scoped.css +75 -80
- package/lib/internal/template/help-panel/styles.selectors.js +6 -5
- package/lib/internal/template/internal/environment.js +1 -1
- package/lib/internal/template/internal/environment.json +1 -1
- package/lib/internal/template/internal/plugins/helpers/index.d.ts +0 -1
- package/lib/internal/template/internal/plugins/helpers/index.d.ts.map +1 -1
- package/lib/internal/template/internal/plugins/helpers/index.js +0 -1
- package/lib/internal/template/internal/plugins/helpers/index.js.map +1 -1
- package/lib/internal/template/internal/plugins/helpers/use-discovered-action.d.ts.map +1 -1
- package/lib/internal/template/internal/plugins/helpers/use-discovered-action.js +13 -2
- package/lib/internal/template/internal/plugins/helpers/use-discovered-action.js.map +1 -1
- package/lib/internal/template/side-navigation/styles.css.js +30 -30
- package/lib/internal/template/side-navigation/styles.scoped.css +65 -48
- package/lib/internal/template/side-navigation/styles.selectors.js +30 -30
- package/lib/internal/template/split-panel/styles.css.js +26 -26
- package/lib/internal/template/split-panel/styles.scoped.css +45 -45
- package/lib/internal/template/split-panel/styles.selectors.js +26 -26
- package/package.json +1 -1
- package/lib/internal/template/app-layout/runtime-api.d.ts.map +0 -1
- package/lib/internal/template/app-layout/runtime-api.js.map +0 -1
- package/lib/internal/template/internal/plugins/helpers/runtime-content-wrapper.d.ts +0 -10
- package/lib/internal/template/internal/plugins/helpers/runtime-content-wrapper.d.ts.map +0 -1
- package/lib/internal/template/internal/plugins/helpers/runtime-content-wrapper.js +0 -29
- package/lib/internal/template/internal/plugins/helpers/runtime-content-wrapper.js.map +0 -1
|
@@ -9,29 +9,19 @@
|
|
|
9
9
|
.drawer {
|
|
10
10
|
@include styles.styles-reset;
|
|
11
11
|
word-wrap: break-word;
|
|
12
|
-
padding-block-start: awsui.$space-panel-header-vertical;
|
|
13
|
-
padding-block-end: awsui.$space-panel-content-bottom;
|
|
14
|
-
padding-inline-start: awsui.$space-panel-side-left;
|
|
15
|
-
padding-inline-end: awsui.$space-panel-side-right;
|
|
16
|
-
&.with-toolbar {
|
|
17
|
-
padding-block-start: awsui.$space-static-m;
|
|
18
|
-
}
|
|
19
12
|
}
|
|
20
13
|
|
|
21
14
|
.header {
|
|
22
15
|
@include styles.font-panel-header;
|
|
23
16
|
color: awsui.$color-text-heading-default;
|
|
24
|
-
padding-block
|
|
17
|
+
padding-block: awsui.$space-panel-header-vertical;
|
|
25
18
|
padding-inline: awsui.$space-panel-side-left calc(#{awsui.$space-xl} + #{awsui.$space-scaled-xxl});
|
|
26
19
|
// padding to make sure the header doesn't overlap with the close icon
|
|
27
20
|
border-block-end: awsui.$border-divider-section-width solid awsui.$color-border-panel-header;
|
|
28
21
|
margin-block-start: 0;
|
|
29
22
|
margin-block-end: awsui.$space-panel-content-top;
|
|
30
|
-
margin-inline-end: calc(-1 * #{awsui.$space-panel-side-right});
|
|
31
|
-
margin-inline-start: calc(-1 * #{awsui.$space-panel-side-left});
|
|
32
23
|
.with-toolbar > & {
|
|
33
24
|
border-color: transparent;
|
|
34
|
-
padding-block-end: awsui.$space-static-m;
|
|
35
25
|
margin-block-end: 0px;
|
|
36
26
|
}
|
|
37
27
|
|
|
@@ -48,6 +38,12 @@
|
|
|
48
38
|
/* stylelint-enable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
49
39
|
}
|
|
50
40
|
|
|
41
|
+
.content:not(:empty) {
|
|
42
|
+
padding-inline-start: awsui.$space-panel-side-left;
|
|
43
|
+
padding-inline-end: awsui.$space-panel-side-right;
|
|
44
|
+
padding-block-end: awsui.$space-panel-content-bottom;
|
|
45
|
+
}
|
|
46
|
+
|
|
51
47
|
.test-utils-drawer-content {
|
|
52
48
|
/* used in test-utils */
|
|
53
49
|
}
|
|
@@ -11,11 +11,6 @@
|
|
|
11
11
|
word-wrap: break-word;
|
|
12
12
|
padding-block-start: awsui.$space-panel-header-vertical;
|
|
13
13
|
padding-block-end: 0;
|
|
14
|
-
padding-inline-end: awsui.$space-panel-side-right;
|
|
15
|
-
padding-inline-start: awsui.$space-panel-side-left;
|
|
16
|
-
&.with-toolbar {
|
|
17
|
-
padding-block-start: awsui.$space-static-m;
|
|
18
|
-
}
|
|
19
14
|
|
|
20
15
|
/* stylelint-disable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
21
16
|
hr {
|
|
@@ -120,6 +115,11 @@
|
|
|
120
115
|
/* stylelint-enable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
121
116
|
}
|
|
122
117
|
|
|
118
|
+
.loading {
|
|
119
|
+
padding-inline-start: awsui.$space-panel-side-left;
|
|
120
|
+
padding-inline-end: awsui.$space-panel-side-right;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
123
|
.header {
|
|
124
124
|
@include styles.font-panel-header;
|
|
125
125
|
color: awsui.$color-text-heading-default;
|
|
@@ -131,11 +131,8 @@
|
|
|
131
131
|
border-block-end: awsui.$border-divider-section-width solid awsui.$color-border-panel-header;
|
|
132
132
|
margin-block-start: 0;
|
|
133
133
|
margin-block-end: awsui.$space-panel-content-top;
|
|
134
|
-
margin-inline-end: calc(-1 * #{awsui.$space-panel-side-right});
|
|
135
|
-
margin-inline-start: calc(-1 * #{awsui.$space-panel-side-left});
|
|
136
134
|
.with-toolbar > & {
|
|
137
135
|
border-color: transparent;
|
|
138
|
-
padding-block-end: awsui.$space-static-m;
|
|
139
136
|
margin-block-end: 0px;
|
|
140
137
|
}
|
|
141
138
|
|
|
@@ -154,13 +151,16 @@
|
|
|
154
151
|
|
|
155
152
|
.content {
|
|
156
153
|
color: awsui.$color-text-body-secondary;
|
|
154
|
+
padding-inline-start: awsui.$space-panel-side-left;
|
|
155
|
+
padding-inline-end: awsui.$space-panel-side-right;
|
|
157
156
|
|
|
158
157
|
/* stylelint-disable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
159
158
|
h2:first-child,
|
|
160
159
|
h3:first-child,
|
|
161
160
|
h4:first-child,
|
|
162
161
|
h5:first-child,
|
|
163
|
-
h6:first-child
|
|
162
|
+
h6:first-child,
|
|
163
|
+
p:first-child {
|
|
164
164
|
margin-block-start: 0;
|
|
165
165
|
}
|
|
166
166
|
|
|
@@ -172,14 +172,9 @@
|
|
|
172
172
|
|
|
173
173
|
.footer {
|
|
174
174
|
color: awsui.$color-text-body-secondary;
|
|
175
|
-
border-block-start: awsui.$border-divider-section-width solid awsui.$color-border-divider-default;
|
|
176
|
-
margin-block: awsui.$space-scaled-xl;
|
|
177
|
-
margin-inline: calc(-1 * #{awsui.$space-panel-divider-margin-horizontal});
|
|
178
175
|
padding-block: 0;
|
|
179
|
-
padding-inline: awsui.$space-panel-
|
|
180
|
-
|
|
181
|
-
margin-block-start: awsui.$space-scaled-xl;
|
|
182
|
-
}
|
|
176
|
+
padding-inline-start: awsui.$space-panel-side-left;
|
|
177
|
+
padding-inline-end: awsui.$space-panel-side-right;
|
|
183
178
|
/* stylelint-disable @cloudscape-design/no-implicit-descendant, selector-max-type */
|
|
184
179
|
ul {
|
|
185
180
|
list-style: none;
|
|
@@ -20,9 +20,6 @@
|
|
|
20
20
|
padding-inline-start: awsui.$space-panel-nav-left;
|
|
21
21
|
// Additional xl space to prevent text from overlapping the close button.
|
|
22
22
|
padding-inline-end: calc(#{awsui.$space-scaled-xxl} + #{awsui.$space-xl});
|
|
23
|
-
.with-toolbar > & {
|
|
24
|
-
padding-block: awsui.$space-static-m;
|
|
25
|
-
}
|
|
26
23
|
}
|
|
27
24
|
|
|
28
25
|
.header-link {
|
|
@@ -53,14 +50,13 @@
|
|
|
53
50
|
}
|
|
54
51
|
|
|
55
52
|
.items-control {
|
|
56
|
-
margin-block-start: awsui.$space-panel-content-top;
|
|
57
53
|
padding-inline: awsui.$space-l;
|
|
58
54
|
}
|
|
59
55
|
|
|
60
56
|
.list-container {
|
|
61
57
|
margin-block-start: awsui.$space-panel-content-top;
|
|
62
|
-
.with-toolbar > & {
|
|
63
|
-
margin-block-start:
|
|
58
|
+
.with-toolbar > .divider + & {
|
|
59
|
+
margin-block-start: 0;
|
|
64
60
|
}
|
|
65
61
|
}
|
|
66
62
|
|
|
@@ -94,6 +90,20 @@
|
|
|
94
90
|
padding-block: 0;
|
|
95
91
|
padding-inline: 0;
|
|
96
92
|
list-style: none;
|
|
93
|
+
|
|
94
|
+
@supports selector(:has(*)) {
|
|
95
|
+
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
96
|
+
&:has(> .section:not(.refresh)) {
|
|
97
|
+
margin-block: calc(#{awsui.$space-scaled-2x-l} - #{awsui.$border-divider-section-width});
|
|
98
|
+
}
|
|
99
|
+
/* stylelint-disable-next-line plugin/no-unsupported-browser-features */
|
|
100
|
+
&:has(> .section.refresh) {
|
|
101
|
+
margin-block: calc(#{awsui.$space-scaled-2x-m} - #{awsui.$border-divider-section-width});
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
.list-variant-root > &:first-child {
|
|
105
|
+
margin-block-start: 0px;
|
|
106
|
+
}
|
|
97
107
|
}
|
|
98
108
|
|
|
99
109
|
.section,
|
|
@@ -106,11 +116,12 @@
|
|
|
106
116
|
}
|
|
107
117
|
|
|
108
118
|
.section {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
119
|
+
@supports not selector(:has(*)) {
|
|
120
|
+
margin-block: calc(#{awsui.$space-scaled-2x-l} - #{awsui.$border-divider-section-width});
|
|
121
|
+
&.refresh {
|
|
122
|
+
margin-block: calc(#{awsui.$space-scaled-2x-m} - #{awsui.$border-divider-section-width});
|
|
123
|
+
}
|
|
112
124
|
}
|
|
113
|
-
|
|
114
125
|
// HACK: Remove padding from section header and content to rely on margin collapsing rules.
|
|
115
126
|
/* stylelint-disable-next-line selector-max-type */
|
|
116
127
|
> div {
|
|
@@ -193,8 +204,10 @@
|
|
|
193
204
|
|
|
194
205
|
.divider-header {
|
|
195
206
|
margin-block-start: 0;
|
|
207
|
+
margin-block-end: awsui.$space-panel-content-top;
|
|
196
208
|
border-block-start: awsui.$border-divider-section-width solid awsui.$color-border-panel-header;
|
|
197
209
|
.with-toolbar > & {
|
|
198
210
|
border-color: transparent;
|
|
211
|
+
margin-block-end: 0;
|
|
199
212
|
}
|
|
200
213
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DrawerConfig as RuntimeDrawerConfig } from '
|
|
2
|
-
import { AppLayoutProps } from '
|
|
1
|
+
import { DrawerConfig as RuntimeDrawerConfig } from '../../internal/plugins/controllers/drawers';
|
|
2
|
+
import { AppLayoutProps } from '../interfaces';
|
|
3
3
|
export interface DrawersLayout {
|
|
4
4
|
global: Array<AppLayoutProps.Drawer>;
|
|
5
5
|
localBefore: Array<AppLayoutProps.Drawer>;
|
|
6
6
|
localAfter: Array<AppLayoutProps.Drawer>;
|
|
7
7
|
}
|
|
8
8
|
export declare function convertRuntimeDrawers(localDrawers: Array<RuntimeDrawerConfig>, globalDrawers: Array<RuntimeDrawerConfig>): DrawersLayout;
|
|
9
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/runtime-drawer/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACrC,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAC1C,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;CAC1C;AAqED,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,KAAK,CAAC,mBAAmB,CAAC,EACxC,aAAa,EAAE,KAAK,CAAC,mBAAmB,CAAC,GACxC,aAAa,CAQf"}
|
|
@@ -1,10 +1,34 @@
|
|
|
1
1
|
import { __rest } from "tslib";
|
|
2
2
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
3
3
|
// SPDX-License-Identifier: Apache-2.0
|
|
4
|
-
import React from 'react';
|
|
5
|
-
import { fireNonCancelableEvent } from '
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
4
|
+
import React, { useContext, useEffect, useRef } from 'react';
|
|
5
|
+
import { fireNonCancelableEvent } from '../../internal/events';
|
|
6
|
+
import { sortByPriority } from '../../internal/plugins/helpers/utils';
|
|
7
|
+
import { ActiveDrawersContext } from '../utils/visibility-context';
|
|
8
|
+
function RuntimeDrawerWrapper({ mountContent, unmountContent, id }) {
|
|
9
|
+
const ref = useRef(null);
|
|
10
|
+
const visibilityChangeCallback = useRef(null);
|
|
11
|
+
const activeDrawersIds = useContext(ActiveDrawersContext);
|
|
12
|
+
const isVisible = !!id && activeDrawersIds.includes(id);
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
const container = ref.current;
|
|
15
|
+
mountContent(container, {
|
|
16
|
+
onVisibilityChange: cb => {
|
|
17
|
+
visibilityChangeCallback.current = cb;
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
return () => {
|
|
21
|
+
unmountContent(container);
|
|
22
|
+
visibilityChangeCallback.current = null;
|
|
23
|
+
};
|
|
24
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
25
|
+
}, []);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
var _a;
|
|
28
|
+
(_a = visibilityChangeCallback.current) === null || _a === void 0 ? void 0 : _a.call(visibilityChangeCallback, isVisible);
|
|
29
|
+
}, [isVisible]);
|
|
30
|
+
return React.createElement("div", { ref: ref });
|
|
31
|
+
}
|
|
8
32
|
const mapRuntimeConfigToDrawer = (runtimeConfig) => {
|
|
9
33
|
var _a;
|
|
10
34
|
const { mountContent, unmountContent, trigger } = runtimeConfig, runtimeDrawer = __rest(runtimeConfig, ["mountContent", "unmountContent", "trigger"]);
|
|
@@ -14,7 +38,7 @@ const mapRuntimeConfigToDrawer = (runtimeConfig) => {
|
|
|
14
38
|
// eslint-disable-next-line react/no-danger
|
|
15
39
|
React.createElement("span", { dangerouslySetInnerHTML: { __html: trigger.iconSvg } })),
|
|
16
40
|
}
|
|
17
|
-
: undefined, content: (React.createElement(
|
|
41
|
+
: undefined, content: (React.createElement(RuntimeDrawerWrapper, { key: runtimeDrawer.id, mountContent: mountContent, unmountContent: unmountContent, id: runtimeDrawer.id })), onResize: event => {
|
|
18
42
|
fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });
|
|
19
43
|
} });
|
|
20
44
|
};
|
|
@@ -27,4 +51,4 @@ export function convertRuntimeDrawers(localDrawers, globalDrawers) {
|
|
|
27
51
|
localAfter: sorted.filter(item => { var _a; return ((_a = item.orderPriority) !== null && _a !== void 0 ? _a : 0) <= 0; }),
|
|
28
52
|
};
|
|
29
53
|
}
|
|
30
|
-
//# sourceMappingURL=
|
|
54
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/runtime-drawer/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAgBnE,SAAS,oBAAoB,CAAC,EAAE,YAAY,EAAE,cAAc,EAAE,EAAE,EAA8B;IAC5F,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,wBAAwB,GAAG,MAAM,CAA4B,IAAI,CAAC,CAAC;IACzE,MAAM,gBAAgB,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,CAAC,CAAC,EAAE,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,SAAS,GAAG,GAAG,CAAC,OAAQ,CAAC;QAC/B,YAAY,CAAC,SAAS,EAAE;YACtB,kBAAkB,EAAE,EAAE,CAAC,EAAE;gBACvB,wBAAwB,CAAC,OAAO,GAAG,EAAE,CAAC;YACxC,CAAC;SACF,CAAC,CAAC;QACH,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,SAAS,CAAC,CAAC;YAC1B,wBAAwB,CAAC,OAAO,GAAG,IAAI,CAAC;QAC1C,CAAC,CAAC;QACF,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;;QACb,MAAA,wBAAwB,CAAC,OAAO,yEAAG,SAAS,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,6BAAK,GAAG,EAAE,GAAG,GAAQ,CAAC;AAC/B,CAAC;AAED,MAAM,wBAAwB,GAAG,CAC/B,aAAkC,EAGlC,EAAE;;IACF,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,OAAO,KAAuB,aAAa,EAA/B,aAAa,UAAK,aAAa,EAA3E,6CAA2D,CAAgB,CAAC;IAElF,uCACK,aAAa,KAChB,UAAU,kBAAI,UAAU,EAAE,MAAA,aAAa,CAAC,UAAU,CAAC,OAAO,mCAAI,EAAE,IAAK,aAAa,CAAC,UAAU,GAC7F,OAAO,EAAE,OAAO;YACd,CAAC,CAAC;gBACE,OAAO,EAAE;gBACP,2CAA2C;gBAC3C,8BAAM,uBAAuB,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,GAAI,CAC/D;aACF;YACH,CAAC,CAAC,SAAS,EACb,OAAO,EAAE,CACP,oBAAC,oBAAoB,IACnB,GAAG,EAAE,aAAa,CAAC,EAAE,EACrB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,cAAc,EAC9B,EAAE,EAAE,aAAa,CAAC,EAAE,GACpB,CACH,EACD,QAAQ,EAAE,KAAK,CAAC,EAAE;YAChB,sBAAsB,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;QACpG,CAAC,IACD;AACJ,CAAC,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,YAAwC,EACxC,aAAyC;IAEzC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,OAAO;QACL,MAAM,EAAE,cAAc,CAAC,aAAa,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACnE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,CAAC,MAAA,IAAI,CAAC,aAAa,mCAAI,CAAC,CAAC,GAAG,CAAC,CAAA,EAAA,CAAC;QACjE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,WAAC,OAAA,CAAC,MAAA,IAAI,CAAC,aAAa,mCAAI,CAAC,CAAC,IAAI,CAAC,CAAA,EAAA,CAAC;KAClE,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useContext, useEffect, useRef } from 'react';\n\nimport { fireNonCancelableEvent } from '../../internal/events';\nimport { DrawerConfig as RuntimeDrawerConfig } from '../../internal/plugins/controllers/drawers';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { AppLayoutProps } from '../interfaces';\nimport { ActiveDrawersContext } from '../utils/visibility-context';\n\nexport interface DrawersLayout {\n global: Array<AppLayoutProps.Drawer>;\n localBefore: Array<AppLayoutProps.Drawer>;\n localAfter: Array<AppLayoutProps.Drawer>;\n}\n\ntype VisibilityCallback = (isVisible: boolean) => void;\n\ninterface RuntimeContentWrapperProps {\n id?: string;\n mountContent: RuntimeDrawerConfig['mountContent'];\n unmountContent: RuntimeDrawerConfig['unmountContent'];\n}\n\nfunction RuntimeDrawerWrapper({ mountContent, unmountContent, id }: RuntimeContentWrapperProps) {\n const ref = useRef<HTMLDivElement>(null);\n const visibilityChangeCallback = useRef<VisibilityCallback | null>(null);\n const activeDrawersIds = useContext(ActiveDrawersContext);\n const isVisible = !!id && activeDrawersIds.includes(id);\n\n useEffect(() => {\n const container = ref.current!;\n mountContent(container, {\n onVisibilityChange: cb => {\n visibilityChangeCallback.current = cb;\n },\n });\n return () => {\n unmountContent(container);\n visibilityChangeCallback.current = null;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n visibilityChangeCallback.current?.(isVisible);\n }, [isVisible]);\n\n return <div ref={ref}></div>;\n}\n\nconst mapRuntimeConfigToDrawer = (\n runtimeConfig: RuntimeDrawerConfig\n): AppLayoutProps.Drawer & {\n orderPriority?: number;\n} => {\n const { mountContent, unmountContent, trigger, ...runtimeDrawer } = runtimeConfig;\n\n return {\n ...runtimeDrawer,\n ariaLabels: { drawerName: runtimeDrawer.ariaLabels.content ?? '', ...runtimeDrawer.ariaLabels },\n trigger: trigger\n ? {\n iconSvg: (\n // eslint-disable-next-line react/no-danger\n <span dangerouslySetInnerHTML={{ __html: trigger.iconSvg }} />\n ),\n }\n : undefined,\n content: (\n <RuntimeDrawerWrapper\n key={runtimeDrawer.id}\n mountContent={mountContent}\n unmountContent={unmountContent}\n id={runtimeDrawer.id}\n />\n ),\n onResize: event => {\n fireNonCancelableEvent(runtimeDrawer.onResize, { size: event.detail.size, id: runtimeDrawer.id });\n },\n };\n};\n\nexport function convertRuntimeDrawers(\n localDrawers: Array<RuntimeDrawerConfig>,\n globalDrawers: Array<RuntimeDrawerConfig>\n): DrawersLayout {\n const converted = localDrawers.map(mapRuntimeConfigToDrawer);\n const sorted = sortByPriority(converted);\n return {\n global: sortByPriority(globalDrawers.map(mapRuntimeConfigToDrawer)),\n localBefore: sorted.filter(item => (item.orderPriority ?? 0) > 0),\n localAfter: sorted.filter(item => (item.orderPriority ?? 0) <= 0),\n };\n}\n"]}
|
|
@@ -6,7 +6,7 @@ import { fireNonCancelableEvent } from '../../internal/events';
|
|
|
6
6
|
import { useControllable } from '../../internal/hooks/use-controllable';
|
|
7
7
|
import { awsuiPluginsInternal } from '../../internal/plugins/api';
|
|
8
8
|
import { sortByPriority } from '../../internal/plugins/helpers/utils';
|
|
9
|
-
import { convertRuntimeDrawers } from '../runtime-
|
|
9
|
+
import { convertRuntimeDrawers } from '../runtime-drawer';
|
|
10
10
|
import { togglesConfig } from '../toggles';
|
|
11
11
|
export const TOOLS_DRAWER_ID = 'awsui-internal-tools';
|
|
12
12
|
function getToolsDrawerItem(props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-drawers.js","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-drawers.ts"],"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, useState } from 'react';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { fireNonCancelableEvent } from '../../internal/events';\nimport { useControllable } from '../../internal/hooks/use-controllable';\nimport { awsuiPluginsInternal } from '../../internal/plugins/api';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { AppLayoutProps } from '../interfaces';\nimport { convertRuntimeDrawers, DrawersLayout } from '../runtime-api';\nimport { togglesConfig } from '../toggles';\n\nexport const TOOLS_DRAWER_ID = 'awsui-internal-tools';\n\ninterface ToolsProps {\n toolsHide: boolean | undefined;\n toolsOpen: boolean | undefined;\n toolsWidth: number;\n tools: React.ReactNode | undefined;\n onToolsToggle: (newOpen: boolean) => void;\n ariaLabels: AppLayoutProps.Labels | undefined;\n disableDrawersMerge?: boolean;\n}\n\nfunction getToolsDrawerItem(props: ToolsProps): AppLayoutProps.Drawer | null {\n if (props.toolsHide) {\n return null;\n }\n const { iconName, getLabels } = togglesConfig.tools;\n const { mainLabel, closeLabel, openLabel } = getLabels(props.ariaLabels);\n return {\n id: TOOLS_DRAWER_ID,\n content: props.tools,\n resizable: false,\n ariaLabels: {\n triggerButton: openLabel,\n closeButton: closeLabel,\n drawerName: mainLabel ?? '',\n },\n trigger: {\n iconName: iconName,\n },\n };\n}\n\nconst DRAWERS_LIMIT = 2;\n\nfunction useRuntimeDrawers(\n disableRuntimeDrawers: boolean | undefined,\n activeDrawerId: string | null,\n onActiveDrawerChange: (newDrawerId: string | null) => void,\n activeGlobalDrawersIds: Array<string>,\n onActiveGlobalDrawersChange: (newDrawerId: string) => void,\n drawers: AppLayoutProps.Drawer[]\n) {\n const [runtimeDrawers, setRuntimeDrawers] = useState<DrawersLayout>({\n localBefore: [],\n localAfter: [],\n global: [],\n });\n const onLocalDrawerChangeStable = useStableCallback(onActiveDrawerChange);\n const onGlobalDrawersChangeStable = useStableCallback(onActiveGlobalDrawersChange);\n\n const localDrawerWasOpenRef = useRef(false);\n localDrawerWasOpenRef.current = localDrawerWasOpenRef.current || !!activeDrawerId;\n const activeGlobalDrawersIdsRef = useRef<Array<string>>([]);\n activeGlobalDrawersIdsRef.current = activeGlobalDrawersIds;\n\n useEffect(() => {\n if (disableRuntimeDrawers) {\n return;\n }\n const unsubscribe = awsuiPluginsInternal.appLayout.onDrawersRegistered(drawers => {\n const localDrawers = drawers.filter(drawer => drawer.type !== 'global');\n const globalDrawers = drawers.filter(drawer => drawer.type === 'global');\n setRuntimeDrawers(convertRuntimeDrawers(localDrawers, globalDrawers));\n if (!localDrawerWasOpenRef.current) {\n const defaultActiveLocalDrawer = sortByPriority(localDrawers).find(drawer => drawer.defaultActive);\n if (defaultActiveLocalDrawer) {\n onLocalDrawerChangeStable(defaultActiveLocalDrawer.id);\n }\n }\n\n const drawersNotActiveByDefault = globalDrawers.filter(drawer => !drawer.defaultActive);\n const hasDrawersOpenByUserAction = drawersNotActiveByDefault.find(drawer =>\n activeGlobalDrawersIdsRef.current.includes(drawer.id)\n );\n if (hasDrawersOpenByUserAction || activeGlobalDrawersIdsRef.current.length === DRAWERS_LIMIT) {\n return;\n }\n\n const defaultActiveGlobalDrawers = sortByPriority(globalDrawers).filter(\n drawer => !activeGlobalDrawersIdsRef.current.includes(drawer.id) && drawer.defaultActive\n );\n defaultActiveGlobalDrawers.forEach(drawer => {\n onGlobalDrawersChangeStable(drawer.id);\n });\n });\n return () => {\n unsubscribe();\n setRuntimeDrawers({ localBefore: [], localAfter: [], global: [] });\n };\n }, [disableRuntimeDrawers, onGlobalDrawersChangeStable, onLocalDrawerChangeStable]);\n\n useEffect(() => {\n const unsubscribe = awsuiPluginsInternal.appLayout.onDrawerOpened(drawerId => {\n const localDrawer = [...runtimeDrawers.localBefore, ...drawers, ...runtimeDrawers.localAfter]?.find(\n drawer => drawer.id === drawerId\n );\n const globalDrawer = runtimeDrawers.global?.find(drawer => drawer.id === drawerId);\n if (localDrawer && activeDrawerId !== drawerId) {\n onActiveDrawerChange(drawerId);\n }\n if (globalDrawer && !activeGlobalDrawersIds.includes(drawerId)) {\n onActiveGlobalDrawersChange(drawerId);\n }\n });\n\n return () => {\n unsubscribe();\n };\n }, [\n activeDrawerId,\n activeGlobalDrawersIds,\n drawers,\n onActiveDrawerChange,\n runtimeDrawers,\n onActiveGlobalDrawersChange,\n ]);\n\n useEffect(() => {\n const unsubscribe = awsuiPluginsInternal.appLayout.onDrawerClosed(drawerId => {\n const localDrawer = [...runtimeDrawers.localBefore, ...drawers, ...runtimeDrawers.localAfter]?.find(\n drawer => drawer.id === drawerId\n );\n const globalDrawer = runtimeDrawers.global?.find(drawer => drawer.id === drawerId);\n if (localDrawer && activeDrawerId === drawerId) {\n onActiveDrawerChange(null);\n }\n if (globalDrawer && activeGlobalDrawersIds.includes(drawerId)) {\n onActiveGlobalDrawersChange(drawerId);\n }\n });\n\n return () => {\n unsubscribe();\n };\n }, [\n activeDrawerId,\n activeGlobalDrawersIds,\n drawers,\n onActiveDrawerChange,\n runtimeDrawers,\n onActiveGlobalDrawersChange,\n ]);\n\n return runtimeDrawers;\n}\n\nfunction applyToolsDrawer(toolsProps: ToolsProps, runtimeDrawers: DrawersLayout) {\n const drawers = [...runtimeDrawers.localBefore, ...runtimeDrawers.localAfter];\n if (drawers.length === 0 && toolsProps.disableDrawersMerge) {\n return null;\n }\n const toolsItem = getToolsDrawerItem(toolsProps);\n if (toolsItem) {\n drawers.unshift(toolsItem);\n }\n\n return drawers;\n}\n\nexport const MIN_DRAWER_SIZE = 290;\n\ntype UseDrawersProps = Pick<AppLayoutProps, 'drawers' | 'activeDrawerId' | 'onDrawerChange'> & {\n __disableRuntimeDrawers?: boolean;\n onGlobalDrawerFocus?: (drawerId: string, open: boolean) => void;\n onAddNewActiveDrawer?: (drawerId: string) => void;\n};\n\nexport function useDrawers(\n {\n drawers,\n activeDrawerId: controlledActiveDrawerId,\n onDrawerChange,\n onGlobalDrawerFocus,\n onAddNewActiveDrawer,\n __disableRuntimeDrawers: disableRuntimeDrawers,\n }: UseDrawersProps,\n ariaLabels: AppLayoutProps['ariaLabels'],\n toolsProps: ToolsProps\n) {\n const [activeDrawerId = null, setActiveDrawerId] = useControllable(controlledActiveDrawerId, onDrawerChange, null, {\n componentName: 'AppLayout',\n controlledProp: 'activeDrawerId',\n changeHandler: 'onChange',\n });\n const [activeGlobalDrawersIds, setActiveGlobalDrawersIds] = useState<Array<string>>([]);\n const [drawerSizes, setDrawerSizes] = useState<Record<string, number>>({});\n // FIFO queue that keeps track of open drawers, where the first element is the most recently opened drawer\n const drawersOpenQueue = useRef<Array<string>>([]);\n\n function onActiveDrawerResize({ id, size }: { id: string; size: number }) {\n setDrawerSizes(oldSizes => ({ ...oldSizes, [id]: size }));\n fireNonCancelableEvent(activeDrawer?.onResize, { id, size });\n const activeGlobalDrawer = runtimeGlobalDrawers.find(drawer => drawer.id === id);\n fireNonCancelableEvent(activeGlobalDrawer?.onResize, { id, size });\n }\n\n function onActiveDrawerChange(newDrawerId: string | null) {\n setActiveDrawerId(newDrawerId);\n if (newDrawerId) {\n onAddNewActiveDrawer?.(newDrawerId);\n }\n if (hasOwnDrawers) {\n fireNonCancelableEvent(onDrawerChange, { activeDrawerId: newDrawerId });\n } else if (!toolsProps.toolsHide) {\n toolsProps.onToolsToggle(newDrawerId === TOOLS_DRAWER_ID);\n }\n\n if (newDrawerId) {\n drawersOpenQueue.current = [newDrawerId, ...drawersOpenQueue.current];\n }\n\n if (activeDrawerId) {\n drawersOpenQueue.current = drawersOpenQueue.current.filter(id => id !== activeDrawerId);\n }\n }\n\n function onActiveGlobalDrawersChange(drawerId: string) {\n if (activeGlobalDrawersIds.includes(drawerId)) {\n setActiveGlobalDrawersIds(currentState => currentState.filter(id => id !== drawerId));\n onGlobalDrawerFocus?.(drawerId, false);\n drawersOpenQueue.current = drawersOpenQueue.current.filter(id => id !== drawerId);\n } else if (drawerId) {\n onAddNewActiveDrawer?.(drawerId);\n setActiveGlobalDrawersIds(currentState => [drawerId, ...currentState].slice(0, DRAWERS_LIMIT!));\n onGlobalDrawerFocus?.(drawerId, true);\n drawersOpenQueue.current = [drawerId, ...drawersOpenQueue.current];\n }\n }\n\n const hasOwnDrawers = !!drawers;\n const runtimeDrawers = useRuntimeDrawers(\n disableRuntimeDrawers,\n activeDrawerId,\n onActiveDrawerChange,\n activeGlobalDrawersIds,\n onActiveGlobalDrawersChange,\n drawers ?? []\n );\n const { localBefore, localAfter, global: runtimeGlobalDrawers } = runtimeDrawers;\n const combinedLocalDrawers = drawers\n ? [...localBefore, ...drawers, ...localAfter]\n : applyToolsDrawer(toolsProps, runtimeDrawers);\n // support toolsOpen in runtime-drawers-only mode\n let activeDrawerIdResolved = toolsProps?.toolsOpen && !hasOwnDrawers ? TOOLS_DRAWER_ID : activeDrawerId;\n const activeDrawer = combinedLocalDrawers?.find(drawer => drawer.id === activeDrawerIdResolved);\n // ensure that id is only defined when the drawer exists\n activeDrawerIdResolved = activeDrawer?.id ?? null;\n const activeGlobalDrawers = runtimeGlobalDrawers.filter(drawer => activeGlobalDrawersIds.includes(drawer.id));\n\n const activeDrawerSize = activeDrawerIdResolved\n ? drawerSizes[activeDrawerIdResolved] ?? activeDrawer?.defaultSize ?? toolsProps.toolsWidth\n : toolsProps.toolsWidth;\n const activeGlobalDrawersSizes: Record<string, number> = activeGlobalDrawersIds.reduce(\n (acc, currentGlobalDrawerId) => {\n const currentGlobalDrawer = runtimeGlobalDrawers.find(drawer => drawer.id === currentGlobalDrawerId);\n return {\n ...acc,\n [currentGlobalDrawerId]:\n drawerSizes[currentGlobalDrawerId] ?? currentGlobalDrawer?.defaultSize ?? MIN_DRAWER_SIZE,\n };\n },\n {}\n );\n const minGlobalDrawersSizes: Record<string, number> = runtimeGlobalDrawers.reduce((acc, globalDrawer) => {\n return {\n ...acc,\n [globalDrawer.id]: Math.min(globalDrawer.defaultSize ?? MIN_DRAWER_SIZE, MIN_DRAWER_SIZE),\n };\n }, {});\n const minDrawerSize = Math.min(\n toolsProps?.toolsOpen ? toolsProps.toolsWidth : activeDrawer?.defaultSize ?? MIN_DRAWER_SIZE,\n MIN_DRAWER_SIZE\n );\n\n return {\n ariaLabelsWithDrawers: ariaLabels,\n drawers: combinedLocalDrawers || undefined,\n activeDrawer,\n activeDrawerId: activeDrawerIdResolved,\n globalDrawers: runtimeGlobalDrawers,\n activeGlobalDrawers: activeGlobalDrawers,\n activeGlobalDrawersIds,\n activeGlobalDrawersSizes,\n activeDrawerSize,\n minDrawerSize,\n minGlobalDrawersSizes,\n drawerSizes,\n drawersOpenQueue: drawersOpenQueue.current,\n onActiveDrawerChange,\n onActiveDrawerResize,\n onActiveGlobalDrawersChange,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"use-drawers.js","sourceRoot":"","sources":["../../../../src/app-layout/utils/use-drawers.ts"],"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, useState } from 'react';\n\nimport { useStableCallback } from '@cloudscape-design/component-toolkit/internal';\n\nimport { fireNonCancelableEvent } from '../../internal/events';\nimport { useControllable } from '../../internal/hooks/use-controllable';\nimport { awsuiPluginsInternal } from '../../internal/plugins/api';\nimport { sortByPriority } from '../../internal/plugins/helpers/utils';\nimport { AppLayoutProps } from '../interfaces';\nimport { convertRuntimeDrawers, DrawersLayout } from '../runtime-drawer';\nimport { togglesConfig } from '../toggles';\n\nexport const TOOLS_DRAWER_ID = 'awsui-internal-tools';\n\ninterface ToolsProps {\n toolsHide: boolean | undefined;\n toolsOpen: boolean | undefined;\n toolsWidth: number;\n tools: React.ReactNode | undefined;\n onToolsToggle: (newOpen: boolean) => void;\n ariaLabels: AppLayoutProps.Labels | undefined;\n disableDrawersMerge?: boolean;\n}\n\nfunction getToolsDrawerItem(props: ToolsProps): AppLayoutProps.Drawer | null {\n if (props.toolsHide) {\n return null;\n }\n const { iconName, getLabels } = togglesConfig.tools;\n const { mainLabel, closeLabel, openLabel } = getLabels(props.ariaLabels);\n return {\n id: TOOLS_DRAWER_ID,\n content: props.tools,\n resizable: false,\n ariaLabels: {\n triggerButton: openLabel,\n closeButton: closeLabel,\n drawerName: mainLabel ?? '',\n },\n trigger: {\n iconName: iconName,\n },\n };\n}\n\nconst DRAWERS_LIMIT = 2;\n\nfunction useRuntimeDrawers(\n disableRuntimeDrawers: boolean | undefined,\n activeDrawerId: string | null,\n onActiveDrawerChange: (newDrawerId: string | null) => void,\n activeGlobalDrawersIds: Array<string>,\n onActiveGlobalDrawersChange: (newDrawerId: string) => void,\n drawers: AppLayoutProps.Drawer[]\n) {\n const [runtimeDrawers, setRuntimeDrawers] = useState<DrawersLayout>({\n localBefore: [],\n localAfter: [],\n global: [],\n });\n const onLocalDrawerChangeStable = useStableCallback(onActiveDrawerChange);\n const onGlobalDrawersChangeStable = useStableCallback(onActiveGlobalDrawersChange);\n\n const localDrawerWasOpenRef = useRef(false);\n localDrawerWasOpenRef.current = localDrawerWasOpenRef.current || !!activeDrawerId;\n const activeGlobalDrawersIdsRef = useRef<Array<string>>([]);\n activeGlobalDrawersIdsRef.current = activeGlobalDrawersIds;\n\n useEffect(() => {\n if (disableRuntimeDrawers) {\n return;\n }\n const unsubscribe = awsuiPluginsInternal.appLayout.onDrawersRegistered(drawers => {\n const localDrawers = drawers.filter(drawer => drawer.type !== 'global');\n const globalDrawers = drawers.filter(drawer => drawer.type === 'global');\n setRuntimeDrawers(convertRuntimeDrawers(localDrawers, globalDrawers));\n if (!localDrawerWasOpenRef.current) {\n const defaultActiveLocalDrawer = sortByPriority(localDrawers).find(drawer => drawer.defaultActive);\n if (defaultActiveLocalDrawer) {\n onLocalDrawerChangeStable(defaultActiveLocalDrawer.id);\n }\n }\n\n const drawersNotActiveByDefault = globalDrawers.filter(drawer => !drawer.defaultActive);\n const hasDrawersOpenByUserAction = drawersNotActiveByDefault.find(drawer =>\n activeGlobalDrawersIdsRef.current.includes(drawer.id)\n );\n if (hasDrawersOpenByUserAction || activeGlobalDrawersIdsRef.current.length === DRAWERS_LIMIT) {\n return;\n }\n\n const defaultActiveGlobalDrawers = sortByPriority(globalDrawers).filter(\n drawer => !activeGlobalDrawersIdsRef.current.includes(drawer.id) && drawer.defaultActive\n );\n defaultActiveGlobalDrawers.forEach(drawer => {\n onGlobalDrawersChangeStable(drawer.id);\n });\n });\n return () => {\n unsubscribe();\n setRuntimeDrawers({ localBefore: [], localAfter: [], global: [] });\n };\n }, [disableRuntimeDrawers, onGlobalDrawersChangeStable, onLocalDrawerChangeStable]);\n\n useEffect(() => {\n const unsubscribe = awsuiPluginsInternal.appLayout.onDrawerOpened(drawerId => {\n const localDrawer = [...runtimeDrawers.localBefore, ...drawers, ...runtimeDrawers.localAfter]?.find(\n drawer => drawer.id === drawerId\n );\n const globalDrawer = runtimeDrawers.global?.find(drawer => drawer.id === drawerId);\n if (localDrawer && activeDrawerId !== drawerId) {\n onActiveDrawerChange(drawerId);\n }\n if (globalDrawer && !activeGlobalDrawersIds.includes(drawerId)) {\n onActiveGlobalDrawersChange(drawerId);\n }\n });\n\n return () => {\n unsubscribe();\n };\n }, [\n activeDrawerId,\n activeGlobalDrawersIds,\n drawers,\n onActiveDrawerChange,\n runtimeDrawers,\n onActiveGlobalDrawersChange,\n ]);\n\n useEffect(() => {\n const unsubscribe = awsuiPluginsInternal.appLayout.onDrawerClosed(drawerId => {\n const localDrawer = [...runtimeDrawers.localBefore, ...drawers, ...runtimeDrawers.localAfter]?.find(\n drawer => drawer.id === drawerId\n );\n const globalDrawer = runtimeDrawers.global?.find(drawer => drawer.id === drawerId);\n if (localDrawer && activeDrawerId === drawerId) {\n onActiveDrawerChange(null);\n }\n if (globalDrawer && activeGlobalDrawersIds.includes(drawerId)) {\n onActiveGlobalDrawersChange(drawerId);\n }\n });\n\n return () => {\n unsubscribe();\n };\n }, [\n activeDrawerId,\n activeGlobalDrawersIds,\n drawers,\n onActiveDrawerChange,\n runtimeDrawers,\n onActiveGlobalDrawersChange,\n ]);\n\n return runtimeDrawers;\n}\n\nfunction applyToolsDrawer(toolsProps: ToolsProps, runtimeDrawers: DrawersLayout) {\n const drawers = [...runtimeDrawers.localBefore, ...runtimeDrawers.localAfter];\n if (drawers.length === 0 && toolsProps.disableDrawersMerge) {\n return null;\n }\n const toolsItem = getToolsDrawerItem(toolsProps);\n if (toolsItem) {\n drawers.unshift(toolsItem);\n }\n\n return drawers;\n}\n\nexport const MIN_DRAWER_SIZE = 290;\n\ntype UseDrawersProps = Pick<AppLayoutProps, 'drawers' | 'activeDrawerId' | 'onDrawerChange'> & {\n __disableRuntimeDrawers?: boolean;\n onGlobalDrawerFocus?: (drawerId: string, open: boolean) => void;\n onAddNewActiveDrawer?: (drawerId: string) => void;\n};\n\nexport function useDrawers(\n {\n drawers,\n activeDrawerId: controlledActiveDrawerId,\n onDrawerChange,\n onGlobalDrawerFocus,\n onAddNewActiveDrawer,\n __disableRuntimeDrawers: disableRuntimeDrawers,\n }: UseDrawersProps,\n ariaLabels: AppLayoutProps['ariaLabels'],\n toolsProps: ToolsProps\n) {\n const [activeDrawerId = null, setActiveDrawerId] = useControllable(controlledActiveDrawerId, onDrawerChange, null, {\n componentName: 'AppLayout',\n controlledProp: 'activeDrawerId',\n changeHandler: 'onChange',\n });\n const [activeGlobalDrawersIds, setActiveGlobalDrawersIds] = useState<Array<string>>([]);\n const [drawerSizes, setDrawerSizes] = useState<Record<string, number>>({});\n // FIFO queue that keeps track of open drawers, where the first element is the most recently opened drawer\n const drawersOpenQueue = useRef<Array<string>>([]);\n\n function onActiveDrawerResize({ id, size }: { id: string; size: number }) {\n setDrawerSizes(oldSizes => ({ ...oldSizes, [id]: size }));\n fireNonCancelableEvent(activeDrawer?.onResize, { id, size });\n const activeGlobalDrawer = runtimeGlobalDrawers.find(drawer => drawer.id === id);\n fireNonCancelableEvent(activeGlobalDrawer?.onResize, { id, size });\n }\n\n function onActiveDrawerChange(newDrawerId: string | null) {\n setActiveDrawerId(newDrawerId);\n if (newDrawerId) {\n onAddNewActiveDrawer?.(newDrawerId);\n }\n if (hasOwnDrawers) {\n fireNonCancelableEvent(onDrawerChange, { activeDrawerId: newDrawerId });\n } else if (!toolsProps.toolsHide) {\n toolsProps.onToolsToggle(newDrawerId === TOOLS_DRAWER_ID);\n }\n\n if (newDrawerId) {\n drawersOpenQueue.current = [newDrawerId, ...drawersOpenQueue.current];\n }\n\n if (activeDrawerId) {\n drawersOpenQueue.current = drawersOpenQueue.current.filter(id => id !== activeDrawerId);\n }\n }\n\n function onActiveGlobalDrawersChange(drawerId: string) {\n if (activeGlobalDrawersIds.includes(drawerId)) {\n setActiveGlobalDrawersIds(currentState => currentState.filter(id => id !== drawerId));\n onGlobalDrawerFocus?.(drawerId, false);\n drawersOpenQueue.current = drawersOpenQueue.current.filter(id => id !== drawerId);\n } else if (drawerId) {\n onAddNewActiveDrawer?.(drawerId);\n setActiveGlobalDrawersIds(currentState => [drawerId, ...currentState].slice(0, DRAWERS_LIMIT!));\n onGlobalDrawerFocus?.(drawerId, true);\n drawersOpenQueue.current = [drawerId, ...drawersOpenQueue.current];\n }\n }\n\n const hasOwnDrawers = !!drawers;\n const runtimeDrawers = useRuntimeDrawers(\n disableRuntimeDrawers,\n activeDrawerId,\n onActiveDrawerChange,\n activeGlobalDrawersIds,\n onActiveGlobalDrawersChange,\n drawers ?? []\n );\n const { localBefore, localAfter, global: runtimeGlobalDrawers } = runtimeDrawers;\n const combinedLocalDrawers = drawers\n ? [...localBefore, ...drawers, ...localAfter]\n : applyToolsDrawer(toolsProps, runtimeDrawers);\n // support toolsOpen in runtime-drawers-only mode\n let activeDrawerIdResolved = toolsProps?.toolsOpen && !hasOwnDrawers ? TOOLS_DRAWER_ID : activeDrawerId;\n const activeDrawer = combinedLocalDrawers?.find(drawer => drawer.id === activeDrawerIdResolved);\n // ensure that id is only defined when the drawer exists\n activeDrawerIdResolved = activeDrawer?.id ?? null;\n const activeGlobalDrawers = runtimeGlobalDrawers.filter(drawer => activeGlobalDrawersIds.includes(drawer.id));\n\n const activeDrawerSize = activeDrawerIdResolved\n ? drawerSizes[activeDrawerIdResolved] ?? activeDrawer?.defaultSize ?? toolsProps.toolsWidth\n : toolsProps.toolsWidth;\n const activeGlobalDrawersSizes: Record<string, number> = activeGlobalDrawersIds.reduce(\n (acc, currentGlobalDrawerId) => {\n const currentGlobalDrawer = runtimeGlobalDrawers.find(drawer => drawer.id === currentGlobalDrawerId);\n return {\n ...acc,\n [currentGlobalDrawerId]:\n drawerSizes[currentGlobalDrawerId] ?? currentGlobalDrawer?.defaultSize ?? MIN_DRAWER_SIZE,\n };\n },\n {}\n );\n const minGlobalDrawersSizes: Record<string, number> = runtimeGlobalDrawers.reduce((acc, globalDrawer) => {\n return {\n ...acc,\n [globalDrawer.id]: Math.min(globalDrawer.defaultSize ?? MIN_DRAWER_SIZE, MIN_DRAWER_SIZE),\n };\n }, {});\n const minDrawerSize = Math.min(\n toolsProps?.toolsOpen ? toolsProps.toolsWidth : activeDrawer?.defaultSize ?? MIN_DRAWER_SIZE,\n MIN_DRAWER_SIZE\n );\n\n return {\n ariaLabelsWithDrawers: ariaLabels,\n drawers: combinedLocalDrawers || undefined,\n activeDrawer,\n activeDrawerId: activeDrawerIdResolved,\n globalDrawers: runtimeGlobalDrawers,\n activeGlobalDrawers: activeGlobalDrawers,\n activeGlobalDrawersIds,\n activeGlobalDrawersSizes,\n activeDrawerSize,\n minDrawerSize,\n minGlobalDrawersSizes,\n drawerSizes,\n drawersOpenQueue: drawersOpenQueue.current,\n onActiveDrawerChange,\n onActiveDrawerResize,\n onActiveGlobalDrawersChange,\n };\n}\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"drawer": "
|
|
5
|
-
"legacy": "
|
|
6
|
-
"last-opened": "awsui_last-
|
|
7
|
-
"drawer-global": "awsui_drawer-
|
|
8
|
-
"drawer-hidden": "awsui_drawer-
|
|
9
|
-
"drawer-content-container": "awsui_drawer-content-
|
|
10
|
-
"drawer-close-button": "awsui_drawer-close-
|
|
11
|
-
"drawer-content": "awsui_drawer-
|
|
12
|
-
"drawer-content-hidden": "awsui_drawer-content-
|
|
13
|
-
"drawer-slider": "awsui_drawer-
|
|
4
|
+
"drawer": "awsui_drawer_12i0j_ys4ng_185",
|
|
5
|
+
"legacy": "awsui_legacy_12i0j_ys4ng_200",
|
|
6
|
+
"last-opened": "awsui_last-opened_12i0j_ys4ng_208",
|
|
7
|
+
"drawer-global": "awsui_drawer-global_12i0j_ys4ng_213",
|
|
8
|
+
"drawer-hidden": "awsui_drawer-hidden_12i0j_ys4ng_220",
|
|
9
|
+
"drawer-content-container": "awsui_drawer-content-container_12i0j_ys4ng_223",
|
|
10
|
+
"drawer-close-button": "awsui_drawer-close-button_12i0j_ys4ng_231",
|
|
11
|
+
"drawer-content": "awsui_drawer-content_12i0j_ys4ng_223",
|
|
12
|
+
"drawer-content-hidden": "awsui_drawer-content-hidden_12i0j_ys4ng_240",
|
|
13
|
+
"drawer-slider": "awsui_drawer-slider_12i0j_ys4ng_243"
|
|
14
14
|
};
|
|
15
15
|
|
|
@@ -182,7 +182,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
182
182
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
183
183
|
SPDX-License-Identifier: Apache-2.0
|
|
184
184
|
*/
|
|
185
|
-
.
|
|
185
|
+
.awsui_drawer_12i0j_ys4ng_185:not(#\9) {
|
|
186
186
|
position: sticky;
|
|
187
187
|
z-index: 830;
|
|
188
188
|
background-color: var(--color-background-container-content-myy7cn, #ffffff);
|
|
@@ -197,50 +197,50 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
197
197
|
word-wrap: break-word;
|
|
198
198
|
}
|
|
199
199
|
@media (min-width: 689px) {
|
|
200
|
-
.
|
|
200
|
+
.awsui_drawer_12i0j_ys4ng_185:not(#\9):not(.awsui_legacy_12i0j_ys4ng_200) {
|
|
201
201
|
border-inline-start: var(--border-divider-section-width-iueskx, 1px) solid var(--color-border-layout-5gml03, #d5dbdb);
|
|
202
202
|
}
|
|
203
203
|
}
|
|
204
204
|
@media (max-width: 688px) {
|
|
205
|
-
.
|
|
205
|
+
.awsui_drawer_12i0j_ys4ng_185:not(#\9) {
|
|
206
206
|
inline-size: 100%;
|
|
207
207
|
}
|
|
208
|
-
.
|
|
208
|
+
.awsui_drawer_12i0j_ys4ng_185.awsui_last-opened_12i0j_ys4ng_208:not(#\9) {
|
|
209
209
|
z-index: 1001;
|
|
210
210
|
}
|
|
211
211
|
}
|
|
212
212
|
@media (max-width: 688px) {
|
|
213
|
-
.
|
|
213
|
+
.awsui_drawer_12i0j_ys4ng_185.awsui_drawer-global_12i0j_ys4ng_213:not(#\9) {
|
|
214
214
|
display: none;
|
|
215
215
|
}
|
|
216
|
-
.
|
|
216
|
+
.awsui_drawer_12i0j_ys4ng_185.awsui_drawer-global_12i0j_ys4ng_213.awsui_last-opened_12i0j_ys4ng_208:not(#\9) {
|
|
217
217
|
display: block;
|
|
218
218
|
}
|
|
219
219
|
}
|
|
220
|
-
.
|
|
220
|
+
.awsui_drawer_12i0j_ys4ng_185.awsui_drawer-hidden_12i0j_ys4ng_220:not(#\9) {
|
|
221
221
|
display: none;
|
|
222
222
|
}
|
|
223
|
-
.
|
|
223
|
+
.awsui_drawer_12i0j_ys4ng_185 > .awsui_drawer-content-container_12i0j_ys4ng_223:not(#\9) {
|
|
224
224
|
grid-column: 1/span 2;
|
|
225
225
|
grid-row: 1;
|
|
226
226
|
display: grid;
|
|
227
227
|
grid-template-columns: var(--space-m-u91ipm, 16px) 1fr auto var(--space-m-u91ipm, 16px);
|
|
228
|
-
grid-template-rows:
|
|
228
|
+
grid-template-rows: 14px auto 1fr;
|
|
229
229
|
overflow-y: auto;
|
|
230
230
|
}
|
|
231
|
-
.
|
|
231
|
+
.awsui_drawer_12i0j_ys4ng_185 > .awsui_drawer-content-container_12i0j_ys4ng_223 > .awsui_drawer-close-button_12i0j_ys4ng_231:not(#\9) {
|
|
232
232
|
grid-column: 3;
|
|
233
233
|
grid-row: 2;
|
|
234
234
|
z-index: 1;
|
|
235
235
|
}
|
|
236
|
-
.
|
|
236
|
+
.awsui_drawer_12i0j_ys4ng_185 > .awsui_drawer-content-container_12i0j_ys4ng_223 > .awsui_drawer-content_12i0j_ys4ng_223:not(#\9) {
|
|
237
237
|
grid-column: 1/span 4;
|
|
238
238
|
grid-row: 1/span 2;
|
|
239
239
|
}
|
|
240
|
-
.
|
|
240
|
+
.awsui_drawer_12i0j_ys4ng_185 > .awsui_drawer-content-container_12i0j_ys4ng_223 > .awsui_drawer-content_12i0j_ys4ng_223.awsui_drawer-content-hidden_12i0j_ys4ng_240:not(#\9) {
|
|
241
241
|
display: none;
|
|
242
242
|
}
|
|
243
|
-
.
|
|
243
|
+
.awsui_drawer_12i0j_ys4ng_185 > .awsui_drawer-slider_12i0j_ys4ng_243:not(#\9) {
|
|
244
244
|
grid-column: 1;
|
|
245
245
|
grid-row: 1;
|
|
246
246
|
block-size: 100%;
|
|
@@ -2,15 +2,15 @@
|
|
|
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
|
-
"legacy": "
|
|
7
|
-
"last-opened": "awsui_last-
|
|
8
|
-
"drawer-global": "awsui_drawer-
|
|
9
|
-
"drawer-hidden": "awsui_drawer-
|
|
10
|
-
"drawer-content-container": "awsui_drawer-content-
|
|
11
|
-
"drawer-close-button": "awsui_drawer-close-
|
|
12
|
-
"drawer-content": "awsui_drawer-
|
|
13
|
-
"drawer-content-hidden": "awsui_drawer-content-
|
|
14
|
-
"drawer-slider": "awsui_drawer-
|
|
5
|
+
"drawer": "awsui_drawer_12i0j_ys4ng_185",
|
|
6
|
+
"legacy": "awsui_legacy_12i0j_ys4ng_200",
|
|
7
|
+
"last-opened": "awsui_last-opened_12i0j_ys4ng_208",
|
|
8
|
+
"drawer-global": "awsui_drawer-global_12i0j_ys4ng_213",
|
|
9
|
+
"drawer-hidden": "awsui_drawer-hidden_12i0j_ys4ng_220",
|
|
10
|
+
"drawer-content-container": "awsui_drawer-content-container_12i0j_ys4ng_223",
|
|
11
|
+
"drawer-close-button": "awsui_drawer-close-button_12i0j_ys4ng_231",
|
|
12
|
+
"drawer-content": "awsui_drawer-content_12i0j_ys4ng_223",
|
|
13
|
+
"drawer-content-hidden": "awsui_drawer-content-hidden_12i0j_ys4ng_240",
|
|
14
|
+
"drawer-slider": "awsui_drawer-slider_12i0j_ys4ng_243"
|
|
15
15
|
};
|
|
16
16
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"navigation": "
|
|
5
|
-
"is-navigation-open": "awsui_is-navigation-
|
|
6
|
-
"animated-content": "awsui_animated-
|
|
7
|
-
"hide-navigation": "awsui_hide-
|
|
4
|
+
"navigation": "awsui_navigation_2p2ab_3i9d4_149",
|
|
5
|
+
"is-navigation-open": "awsui_is-navigation-open_2p2ab_3i9d4_167",
|
|
6
|
+
"animated-content": "awsui_animated-content_2p2ab_3i9d4_171",
|
|
7
|
+
"hide-navigation": "awsui_hide-navigation_2p2ab_3i9d4_181"
|
|
8
8
|
};
|
|
9
9
|
|
package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css
CHANGED
|
@@ -146,7 +146,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
146
146
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
147
147
|
SPDX-License-Identifier: Apache-2.0
|
|
148
148
|
*/
|
|
149
|
-
.
|
|
149
|
+
.awsui_navigation_2p2ab_3i9d4_149:not(#\9) {
|
|
150
150
|
position: sticky;
|
|
151
151
|
z-index: 830;
|
|
152
152
|
background-color: var(--color-background-container-content-myy7cn, #ffffff);
|
|
@@ -164,22 +164,22 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
164
164
|
prevent unwanted text wrapping.
|
|
165
165
|
*/
|
|
166
166
|
}
|
|
167
|
-
.
|
|
167
|
+
.awsui_navigation_2p2ab_3i9d4_149:not(#\9):not(.awsui_is-navigation-open_2p2ab_3i9d4_167) {
|
|
168
168
|
inline-size: 0px;
|
|
169
169
|
display: none;
|
|
170
170
|
}
|
|
171
|
-
.
|
|
171
|
+
.awsui_navigation_2p2ab_3i9d4_149 > .awsui_animated-content_2p2ab_3i9d4_171:not(#\9) {
|
|
172
172
|
inline-size: var(--awsui-navigation-width-g964ok);
|
|
173
173
|
}
|
|
174
174
|
@media (max-width: 688px) {
|
|
175
|
-
.
|
|
175
|
+
.awsui_navigation_2p2ab_3i9d4_149:not(#\9) {
|
|
176
176
|
--awsui-navigation-width-g964ok: 100vw;
|
|
177
177
|
z-index: 1001;
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
-
.awsui_hide-
|
|
181
|
+
.awsui_hide-navigation_2p2ab_3i9d4_181:not(#\9) {
|
|
182
182
|
position: absolute;
|
|
183
183
|
inset-inline-end: var(--space-m-u91ipm, 16px);
|
|
184
|
-
inset-block-start:
|
|
184
|
+
inset-block-start: 14px;
|
|
185
185
|
}
|
package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"navigation": "
|
|
6
|
-
"is-navigation-open": "awsui_is-navigation-
|
|
7
|
-
"animated-content": "awsui_animated-
|
|
8
|
-
"hide-navigation": "awsui_hide-
|
|
5
|
+
"navigation": "awsui_navigation_2p2ab_3i9d4_149",
|
|
6
|
+
"is-navigation-open": "awsui_is-navigation-open_2p2ab_3i9d4_167",
|
|
7
|
+
"animated-content": "awsui_animated-content_2p2ab_3i9d4_171",
|
|
8
|
+
"hide-navigation": "awsui_hide-navigation_2p2ab_3i9d4_181"
|
|
9
9
|
};
|
|
10
10
|
|
|
@@ -20,7 +20,7 @@ export function DrawerImplementation(_a) {
|
|
|
20
20
|
React.createElement(InternalStatusIndicator, { type: "loading" },
|
|
21
21
|
React.createElement(InternalLiveRegion, { tagName: "span" }, i18n('i18nStrings.loadingText', i18nStrings === null || i18nStrings === void 0 ? void 0 : i18nStrings.loadingText))))) : (React.createElement("div", Object.assign({}, containerProps, { ref: __internalRootRef }),
|
|
22
22
|
header && React.createElement("div", { className: styles.header }, header),
|
|
23
|
-
React.createElement("div", { className: styles['test-utils-drawer-content'] }, children)));
|
|
23
|
+
React.createElement("div", { className: clsx(styles['test-utils-drawer-content'], styles.content) }, children)));
|
|
24
24
|
}
|
|
25
25
|
export const createWidgetizedDrawer = createWidgetizedComponent(DrawerImplementation);
|
|
26
26
|
//# sourceMappingURL=implementation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../src/drawer/implementation.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAGnE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAIrC,MAAM,UAAU,oBAAoB,CAAC,EAOf;QAPe,EACnC,MAAM,EACN,QAAQ,EACR,OAAO,EACP,WAAW,EACX,iBAAiB,OAEG,EADjB,SAAS,cANuB,qEAOpC,CADa;IAEZ,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,0BAA0B,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,cAAc,mCACf,SAAS,KACZ,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,GACzF,CAAC;IACF,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,6CAAS,cAAc,IAAE,GAAG,EAAE,iBAAiB;QAC7C,oBAAC,uBAAuB,IAAC,IAAI,EAAC,SAAS;YACrC,oBAAC,kBAAkB,IAAC,OAAO,EAAC,MAAM,IAC/B,IAAI,CAAC,yBAAyB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC,CACvC,CACG,CACtB,CACP,CAAC,CAAC,CAAC,CACF,6CAAS,cAAc,IAAE,GAAG,EAAE,iBAAiB;QAC5C,MAAM,IAAI,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM,IAAG,MAAM,CAAO;QACxD,6BAAK,SAAS,EAAE,MAAM,CAAC,2BAA2B,CAAC,IAAG,QAAQ,CAAO,
|
|
1
|
+
{"version":3,"file":"implementation.js","sourceRoot":"","sources":["../../../src/drawer/implementation.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,uBAAuB,MAAM,8BAA8B,CAAC;AAGnE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAIrC,MAAM,UAAU,oBAAoB,CAAC,EAOf;QAPe,EACnC,MAAM,EACN,QAAQ,EACR,OAAO,EACP,WAAW,EACX,iBAAiB,OAEG,EADjB,SAAS,cANuB,qEAOpC,CADa;IAEZ,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,SAAS,GAAG,0BAA0B,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,cAAc,mCACf,SAAS,KACZ,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,GACzF,CAAC;IACF,OAAO,OAAO,CAAC,CAAC,CAAC,CACf,6CAAS,cAAc,IAAE,GAAG,EAAE,iBAAiB;QAC7C,oBAAC,uBAAuB,IAAC,IAAI,EAAC,SAAS;YACrC,oBAAC,kBAAkB,IAAC,OAAO,EAAC,MAAM,IAC/B,IAAI,CAAC,yBAAyB,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,CAAC,CACvC,CACG,CACtB,CACP,CAAC,CAAC,CAAC,CACF,6CAAS,cAAc,IAAE,GAAG,EAAE,iBAAiB;QAC5C,MAAM,IAAI,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM,IAAG,MAAM,CAAO;QACxD,6BAAK,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,IAAG,QAAQ,CAAO,CACvF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,yBAAyB,CAAC,oBAAoB,CAAC,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport { useAppLayoutToolbarEnabled } from '../app-layout/utils/feature-flags';\nimport { useInternalI18n } from '../i18n/context';\nimport { getBaseProps } from '../internal/base-component';\nimport { InternalBaseComponentProps } from '../internal/hooks/use-base-component';\nimport { createWidgetizedComponent } from '../internal/widgets';\nimport InternalLiveRegion from '../live-region/internal';\nimport InternalStatusIndicator from '../status-indicator/internal';\nimport { DrawerProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\nexport type DrawerInternalProps = DrawerProps & InternalBaseComponentProps;\n\nexport function DrawerImplementation({\n header,\n children,\n loading,\n i18nStrings,\n __internalRootRef,\n ...restProps\n}: DrawerInternalProps) {\n const baseProps = getBaseProps(restProps);\n const isToolbar = useAppLayoutToolbarEnabled();\n const i18n = useInternalI18n('drawer');\n const containerProps = {\n ...baseProps,\n className: clsx(baseProps.className, styles.drawer, isToolbar && styles['with-toolbar']),\n };\n return loading ? (\n <div {...containerProps} ref={__internalRootRef}>\n <InternalStatusIndicator type=\"loading\">\n <InternalLiveRegion tagName=\"span\">\n {i18n('i18nStrings.loadingText', i18nStrings?.loadingText)}\n </InternalLiveRegion>\n </InternalStatusIndicator>\n </div>\n ) : (\n <div {...containerProps} ref={__internalRootRef}>\n {header && <div className={styles.header}>{header}</div>}\n <div className={clsx(styles['test-utils-drawer-content'], styles.content)}>{children}</div>\n </div>\n );\n}\n\nexport const createWidgetizedDrawer = createWidgetizedComponent(DrawerImplementation);\n"]}
|