@cloudscape-design/components-themeable 3.0.177 → 3.0.179
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 +6 -0
- package/lib/internal/scss/app-layout/content-wrapper/styles.scss +11 -0
- package/lib/internal/scss/app-layout/visual-refresh/layout.scss +20 -23
- package/lib/internal/template/app-layout/content-wrapper/index.d.ts +2 -0
- package/lib/internal/template/app-layout/content-wrapper/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/content-wrapper/index.js +2 -2
- package/lib/internal/template/app-layout/content-wrapper/index.js.map +1 -1
- package/lib/internal/template/app-layout/content-wrapper/styles.css.js +3 -2
- package/lib/internal/template/app-layout/content-wrapper/styles.scoped.css +26 -2
- package/lib/internal/template/app-layout/content-wrapper/styles.selectors.js +3 -2
- package/lib/internal/template/app-layout/defaults.d.ts.map +1 -1
- package/lib/internal/template/app-layout/defaults.js +1 -0
- package/lib/internal/template/app-layout/defaults.js.map +1 -1
- package/lib/internal/template/app-layout/drawer.d.ts +0 -1
- package/lib/internal/template/app-layout/drawer.d.ts.map +1 -1
- package/lib/internal/template/app-layout/drawer.js.map +1 -1
- package/lib/internal/template/app-layout/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/index.js +24 -17
- package/lib/internal/template/app-layout/index.js.map +1 -1
- package/lib/internal/template/app-layout/interfaces.d.ts +1 -1
- 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/tools-and-split-panel.d.ts.map +1 -1
- package/lib/internal/template/app-layout/tools-and-split-panel.js +1 -1
- package/lib/internal/template/app-layout/tools-and-split-panel.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/context.d.ts +4 -0
- package/lib/internal/template/app-layout/visual-refresh/context.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/context.js +13 -8
- package/lib/internal/template/app-layout/visual-refresh/context.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/layout.js +8 -8
- package/lib/internal/template/app-layout/visual-refresh/layout.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/main.js +2 -2
- package/lib/internal/template/app-layout/visual-refresh/main.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/split-panel.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/split-panel.js +3 -5
- package/lib/internal/template/app-layout/visual-refresh/split-panel.js.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/styles.css.js +60 -60
- package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +164 -160
- package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +60 -60
- package/lib/internal/template/app-layout/visual-refresh/tools.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/tools.js +5 -7
- package/lib/internal/template/app-layout/visual-refresh/tools.js.map +1 -1
- package/lib/internal/template/input/internal.js +1 -1
- package/lib/internal/template/input/internal.js.map +1 -1
- package/lib/internal/template/internal/context/split-panel-context.d.ts +5 -2
- package/lib/internal/template/internal/context/split-panel-context.d.ts.map +1 -1
- package/lib/internal/template/internal/context/split-panel-context.js.map +1 -1
- package/lib/internal/template/internal/environment.js +1 -1
- package/lib/internal/template/split-panel/index.d.ts +1 -1
- package/lib/internal/template/split-panel/index.d.ts.map +1 -1
- package/lib/internal/template/split-panel/index.js +11 -8
- package/lib/internal/template/split-panel/index.js.map +1 -1
- package/lib/internal/template/split-panel/interfaces.d.ts +4 -0
- package/lib/internal/template/split-panel/interfaces.d.ts.map +1 -1
- package/lib/internal/template/split-panel/interfaces.js.map +1 -1
- package/package.json +1 -1
|
@@ -13,3 +13,9 @@ $toggle-padding-vertical: awsui.$space-xxs;
|
|
|
13
13
|
$toggle-padding: $toggle-padding-vertical $toggle-padding-horizontal;
|
|
14
14
|
|
|
15
15
|
$sidebar-size-closed: 4 * styles.$base-size;
|
|
16
|
+
|
|
17
|
+
$adaptive-content-widths: (
|
|
18
|
+
styles.$breakpoint-large: 1280px,
|
|
19
|
+
styles.$breakpoint-x-large: 1440px,
|
|
20
|
+
styles.$breakpoint-xx-large: 1620px,
|
|
21
|
+
);
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
@use '../../internal/styles' as styles;
|
|
7
7
|
@use '../../internal/styles/tokens' as awsui;
|
|
8
|
+
@use '../constants' as constants;
|
|
8
9
|
|
|
9
10
|
.content-wrapper {
|
|
10
11
|
padding-left: awsui.$space-scaled-2x-xxxl;
|
|
@@ -14,3 +15,13 @@
|
|
|
14
15
|
padding-right: awsui.$space-l;
|
|
15
16
|
}
|
|
16
17
|
}
|
|
18
|
+
|
|
19
|
+
.content-type-dashboard {
|
|
20
|
+
margin-left: auto;
|
|
21
|
+
margin-right: auto;
|
|
22
|
+
@each $breakpoint, $width in constants.$adaptive-content-widths {
|
|
23
|
+
@include styles.media-breakpoint-up($breakpoint) {
|
|
24
|
+
max-width: $width;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -3,8 +3,9 @@
|
|
|
3
3
|
SPDX-License-Identifier: Apache-2.0
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
-
@use '../../internal/styles
|
|
6
|
+
@use '../../internal/styles' as styles;
|
|
7
7
|
@use '../../internal/styles/tokens' as awsui;
|
|
8
|
+
@use '../constants' as constants;
|
|
8
9
|
@use '../../internal/generated/custom-css-properties/index.scss' as custom-props;
|
|
9
10
|
|
|
10
11
|
/*
|
|
@@ -15,7 +16,7 @@
|
|
|
15
16
|
navigationHide and/or toolsHide properties have been set then the first
|
|
16
17
|
and last column width will default to the minimum content gap properties to
|
|
17
18
|
create the necessary visual space around the main content.
|
|
18
|
-
|
|
19
|
+
|
|
19
20
|
The minimum content width property is set to zero and applied under all
|
|
20
21
|
circumstances regardless of whether the minContentWidth property is
|
|
21
22
|
explicitly set in script.
|
|
@@ -49,14 +50,10 @@
|
|
|
49
50
|
|
|
50
51
|
// Add unified max-width for AppLayout content based on breakpoints.
|
|
51
52
|
&:not(.has-max-content-width) {
|
|
52
|
-
@
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
#{custom-props.$defaultMaxContentWidth}: 1440px;
|
|
57
|
-
}
|
|
58
|
-
@include styles.media-breakpoint-up(styles.$breakpoint-xx-large) {
|
|
59
|
-
#{custom-props.$defaultMaxContentWidth}: 1620px;
|
|
53
|
+
@each $breakpoint, $width in constants.$adaptive-content-widths {
|
|
54
|
+
@include styles.media-breakpoint-up($breakpoint) {
|
|
55
|
+
#{custom-props.$defaultMaxContentWidth}: $width;
|
|
56
|
+
}
|
|
60
57
|
}
|
|
61
58
|
}
|
|
62
59
|
|
|
@@ -70,11 +67,11 @@
|
|
|
70
67
|
}
|
|
71
68
|
|
|
72
69
|
/*
|
|
73
|
-
Warning! This is a hack! We are implementing a short term fix to prevent the
|
|
74
|
-
tools drawer from potentially getting pushed off screen. Currently there is no
|
|
75
|
-
protection against a navigationWidth, minContentWidth, and toolsWidth that are
|
|
76
|
-
in excess ove the available space in the viewport. To accomodate this we remove
|
|
77
|
-
the minContentWidth and set it to zero in small viewports and below until the
|
|
70
|
+
Warning! This is a hack! We are implementing a short term fix to prevent the
|
|
71
|
+
tools drawer from potentially getting pushed off screen. Currently there is no
|
|
72
|
+
protection against a navigationWidth, minContentWidth, and toolsWidth that are
|
|
73
|
+
in excess ove the available space in the viewport. To accomodate this we remove
|
|
74
|
+
the minContentWidth and set it to zero in small viewports and below until the
|
|
78
75
|
isMobile breakpoint sets the drawers to overlay at 100vw.
|
|
79
76
|
*/
|
|
80
77
|
@include styles.media-breakpoint-up(styles.$breakpoint-small) {
|
|
@@ -157,14 +154,14 @@
|
|
|
157
154
|
}
|
|
158
155
|
|
|
159
156
|
/*
|
|
160
|
-
In desktop viewports the content gap property for the left and right
|
|
161
|
-
columns should override the default of zero if the navigationHide
|
|
157
|
+
In desktop viewports the content gap property for the left and right
|
|
158
|
+
columns should override the default of zero if the navigationHide
|
|
162
159
|
or toolsHide property is set. This ensures adequate horizontal space
|
|
163
|
-
for the center column from the edges of the viewport when there is
|
|
160
|
+
for the center column from the edges of the viewport when there is
|
|
164
161
|
not left or right content.
|
|
165
162
|
|
|
166
|
-
Warning! If these design tokens change it will adversely impact the
|
|
167
|
-
calculation used to determine the Split Panel maximum width in the
|
|
163
|
+
Warning! If these design tokens change it will adversely impact the
|
|
164
|
+
calculation used to determine the Split Panel maximum width in the
|
|
168
165
|
handleSplitPanelMaxWidth function in the context.
|
|
169
166
|
*/
|
|
170
167
|
@include styles.media-breakpoint-up(styles.$breakpoint-x-small) {
|
|
@@ -180,8 +177,8 @@
|
|
|
180
177
|
/*
|
|
181
178
|
In mobile viewports the Navigation and Tools drawers are hidden
|
|
182
179
|
and triggered by the AppBar which then take up the entire viewport.
|
|
183
|
-
The center column needs permanent space from the horizontal viewport
|
|
184
|
-
edges regardless of whether or not there is a Navigation or Tools.
|
|
180
|
+
The center column needs permanent space from the horizontal viewport
|
|
181
|
+
edges regardless of whether or not there is a Navigation or Tools.
|
|
185
182
|
*/
|
|
186
183
|
@include styles.media-breakpoint-down(styles.$breakpoint-x-small) {
|
|
187
184
|
#{custom-props.$contentGapLeft}: #{awsui.$space-l};
|
|
@@ -191,7 +188,7 @@
|
|
|
191
188
|
|
|
192
189
|
/*
|
|
193
190
|
This CSS class is applied to the document body to prevent overflow scrolling
|
|
194
|
-
when the navigation or tools drawers are open in responsive viewports.
|
|
191
|
+
when the navigation or tools drawers are open in responsive viewports.
|
|
195
192
|
*/
|
|
196
193
|
.block-body-scroll {
|
|
197
194
|
overflow: hidden;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/content-wrapper/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/app-layout/content-wrapper/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,cAAc,CAAC,WAAW,CAAC;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kBAAkB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC1C;AAED,QAAA,MAAM,cAAc,4FAsCnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -4,11 +4,11 @@ import clsx from 'clsx';
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import styles from './styles.css.js';
|
|
6
6
|
var ContentWrapper = React.forwardRef(function (_a, ref) {
|
|
7
|
-
var className = _a.className, children = _a.children, toolsPadding = _a.toolsPadding, disablePaddings = _a.disablePaddings, navigationPadding = _a.navigationPadding, isMobile = _a.isMobile, contentWidthStyles = _a.contentWidthStyles;
|
|
7
|
+
var className = _a.className, contentType = _a.contentType, children = _a.children, toolsPadding = _a.toolsPadding, disablePaddings = _a.disablePaddings, navigationPadding = _a.navigationPadding, isMobile = _a.isMobile, contentWidthStyles = _a.contentWidthStyles;
|
|
8
8
|
if (disablePaddings) {
|
|
9
9
|
return (React.createElement("div", { className: className, ref: ref }, children));
|
|
10
10
|
}
|
|
11
|
-
return (React.createElement("div", { ref: ref, className: clsx(className, styles['content-wrapper'], !navigationPadding && styles['content-wrapper-no-navigation-padding'], !toolsPadding && styles['content-wrapper-no-tools-padding'], isMobile && styles['content-wrapper-mobile']), style: contentWidthStyles }, children));
|
|
11
|
+
return (React.createElement("div", { ref: ref, className: clsx(className, styles['content-wrapper'], styles["content-type-".concat(contentType)], !navigationPadding && styles['content-wrapper-no-navigation-padding'], !toolsPadding && styles['content-wrapper-no-tools-padding'], isMobile && styles['content-wrapper-mobile']), style: contentWidthStyles }, children));
|
|
12
12
|
});
|
|
13
13
|
export default ContentWrapper;
|
|
14
14
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/content-wrapper/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/app-layout/content-wrapper/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAcrC,IAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACrC,UACE,EASsB,EACtB,GAA8B;QAT5B,SAAS,eAAA,EACT,WAAW,iBAAA,EACX,QAAQ,cAAA,EACR,YAAY,kBAAA,EACZ,eAAe,qBAAA,EACf,iBAAiB,uBAAA,EACjB,QAAQ,cAAA,EACR,kBAAkB,wBAAA;IAIpB,IAAI,eAAe,EAAE;QACnB,OAAO,CACL,6BAAK,SAAS,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAChC,QAAQ,CACL,CACP,CAAC;KACH;IACD,OAAO,CACL,6BACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,IAAI,CACb,SAAS,EACT,MAAM,CAAC,iBAAiB,CAAC,EACzB,MAAM,CAAC,uBAAgB,WAAW,CAAE,CAAC,EACrC,CAAC,iBAAiB,IAAI,MAAM,CAAC,uCAAuC,CAAC,EACrE,CAAC,YAAY,IAAI,MAAM,CAAC,kCAAkC,CAAC,EAC3D,QAAQ,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAC7C,EACD,KAAK,EAAE,kBAAkB,IAExB,QAAQ,CACL,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,cAAc,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React from 'react';\nimport styles from './styles.css.js';\nimport { AppLayoutProps } from '../interfaces';\n\nexport interface ContentWrapperProps {\n className?: string;\n contentType: AppLayoutProps.ContentType;\n children?: React.ReactNode;\n isMobile: boolean;\n navigationPadding: boolean;\n toolsPadding: boolean;\n disablePaddings?: boolean;\n contentWidthStyles?: React.CSSProperties;\n}\n\nconst ContentWrapper = React.forwardRef(\n (\n {\n className,\n contentType,\n children,\n toolsPadding,\n disablePaddings,\n navigationPadding,\n isMobile,\n contentWidthStyles,\n }: ContentWrapperProps,\n ref: React.Ref<HTMLDivElement>\n ) => {\n if (disablePaddings) {\n return (\n <div className={className} ref={ref}>\n {children}\n </div>\n );\n }\n return (\n <div\n ref={ref}\n className={clsx(\n className,\n styles['content-wrapper'],\n styles[`content-type-${contentType}`],\n !navigationPadding && styles['content-wrapper-no-navigation-padding'],\n !toolsPadding && styles['content-wrapper-no-tools-padding'],\n isMobile && styles['content-wrapper-mobile']\n )}\n style={contentWidthStyles}\n >\n {children}\n </div>\n );\n }\n);\n\nexport default ContentWrapper;\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
|
|
2
2
|
import './styles.scoped.css';
|
|
3
3
|
export default {
|
|
4
|
-
"content-wrapper": "awsui_content-
|
|
5
|
-
"content-wrapper-mobile": "awsui_content-wrapper-
|
|
4
|
+
"content-wrapper": "awsui_content-wrapper_zycdx_19ivr_97",
|
|
5
|
+
"content-wrapper-mobile": "awsui_content-wrapper-mobile_zycdx_19ivr_101",
|
|
6
|
+
"content-type-dashboard": "awsui_content-type-dashboard_zycdx_19ivr_106"
|
|
6
7
|
};
|
|
7
8
|
|
|
@@ -90,11 +90,35 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
|
|
|
90
90
|
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
91
91
|
SPDX-License-Identifier: Apache-2.0
|
|
92
92
|
*/
|
|
93
|
-
|
|
93
|
+
/*
|
|
94
|
+
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
95
|
+
SPDX-License-Identifier: Apache-2.0
|
|
96
|
+
*/
|
|
97
|
+
.awsui_content-wrapper_zycdx_19ivr_97:not(#\9) {
|
|
94
98
|
padding-left: var(--space-scaled-2x-xxxl-lbp35j, 40px);
|
|
95
99
|
padding-right: var(--space-scaled-2x-xxxl-lbp35j, 40px);
|
|
96
100
|
}
|
|
97
|
-
.awsui_content-wrapper-
|
|
101
|
+
.awsui_content-wrapper-mobile_zycdx_19ivr_101:not(#\9) {
|
|
98
102
|
padding-left: var(--space-l-4vl6xu, 20px);
|
|
99
103
|
padding-right: var(--space-l-4vl6xu, 20px);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.awsui_content-type-dashboard_zycdx_19ivr_106:not(#\9) {
|
|
107
|
+
margin-left: auto;
|
|
108
|
+
margin-right: auto;
|
|
109
|
+
}
|
|
110
|
+
@media (min-width: 1401px) {
|
|
111
|
+
.awsui_content-type-dashboard_zycdx_19ivr_106:not(#\9) {
|
|
112
|
+
max-width: 1280px;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
@media (min-width: 1921px) {
|
|
116
|
+
.awsui_content-type-dashboard_zycdx_19ivr_106:not(#\9) {
|
|
117
|
+
max-width: 1440px;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
@media (min-width: 2541px) {
|
|
121
|
+
.awsui_content-type-dashboard_zycdx_19ivr_106:not(#\9) {
|
|
122
|
+
max-width: 1620px;
|
|
123
|
+
}
|
|
100
124
|
}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
// es-module interop with Babel and Typescript
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
module.exports.default = {
|
|
5
|
-
"content-wrapper": "awsui_content-
|
|
6
|
-
"content-wrapper-mobile": "awsui_content-wrapper-
|
|
5
|
+
"content-wrapper": "awsui_content-wrapper_zycdx_19ivr_97",
|
|
6
|
+
"content-wrapper-mobile": "awsui_content-wrapper-mobile_zycdx_19ivr_101",
|
|
7
|
+
"content-type-dashboard": "awsui_content-type-dashboard_zycdx_19ivr_106"
|
|
7
8
|
};
|
|
8
9
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/app-layout/defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../src/app-layout/defaults.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAqC9C,UAAU,cAAc;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,cAAc,CAAC,WAAW,EACvC,cAAc,EAAE,cAAc,EAC9B,SAAS,EAAE,OAAO,GACjB,cAAc,CAWhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/app-layout/defaults.ts"],"names":[],"mappings":";AAIA,IAAM,uBAAuB,GAAmB;IAC9C,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,GAAG;IACpB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,IAAM,QAAQ,GAAuD;IACnE,SAAO,eACF,uBAAuB,CAC3B;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,GAAG;KACrB;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,MAAM,EAAE;QACN,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AASF,MAAM,UAAU,aAAa,CAC3B,WAAuC,EACvC,cAA8B,EAC9B,SAAkB;;IAElB,IAAM,mBAAmB,GAAG,SAAS;QACnC,CAAC,uBAAM,QAAQ,CAAC,WAAW,CAAC,KAAE,eAAe,EAAE,SAAS,IACxD,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE1B,OAAO;QACL,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,cAAc,EAAE,MAAA,cAAc,CAAC,cAAc,mCAAI,mBAAmB,CAAC,cAAc;QACnF,SAAS,EAAE,MAAA,cAAc,CAAC,SAAS,mCAAI,mBAAmB,CAAC,SAAS;KACrE,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AppLayoutProps } from './interfaces';\n\nconst defaultContentTypeState: AppLayoutState = {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n};\n\nconst defaults: Record<AppLayoutProps.ContentType, AppLayoutState> = {\n default: {\n ...defaultContentTypeState,\n },\n cards: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n form: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 800,\n },\n table: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n wizard: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 1080,\n },\n};\n\ninterface AppLayoutState {\n navigationOpen?: boolean;\n toolsOpen?: boolean;\n minContentWidth?: number;\n maxContentWidth?: number | undefined;\n}\n\nexport function applyDefaults(\n contentType: AppLayoutProps.ContentType,\n stateFromProps: AppLayoutState,\n isRefresh: boolean\n): AppLayoutState {\n const contentTypeDefaults = isRefresh\n ? { ...defaults[contentType], maxContentWidth: undefined }\n : defaults[contentType];\n\n return {\n maxContentWidth: stateFromProps.maxContentWidth ?? contentTypeDefaults.maxContentWidth,\n minContentWidth: stateFromProps.minContentWidth ?? contentTypeDefaults.minContentWidth,\n navigationOpen: stateFromProps.navigationOpen ?? contentTypeDefaults.navigationOpen,\n toolsOpen: stateFromProps.toolsOpen ?? contentTypeDefaults.toolsOpen,\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/app-layout/defaults.ts"],"names":[],"mappings":";AAIA,IAAM,uBAAuB,GAAmB;IAC9C,cAAc,EAAE,IAAI;IACpB,eAAe,EAAE,GAAG;IACpB,eAAe,EAAE,SAAS;CAC3B,CAAC;AAEF,IAAM,QAAQ,GAAuD;IACnE,SAAO,eACF,uBAAuB,CAC3B;IACD,SAAS,eACJ,uBAAuB,CAC3B;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,GAAG;KACrB;IACD,KAAK,EAAE;QACL,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,SAAS;KAC3B;IACD,MAAM,EAAE;QACN,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,GAAG;QACpB,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AASF,MAAM,UAAU,aAAa,CAC3B,WAAuC,EACvC,cAA8B,EAC9B,SAAkB;;IAElB,IAAM,mBAAmB,GAAG,SAAS;QACnC,CAAC,uBAAM,QAAQ,CAAC,WAAW,CAAC,KAAE,eAAe,EAAE,SAAS,IACxD,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE1B,OAAO;QACL,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,eAAe,EAAE,MAAA,cAAc,CAAC,eAAe,mCAAI,mBAAmB,CAAC,eAAe;QACtF,cAAc,EAAE,MAAA,cAAc,CAAC,cAAc,mCAAI,mBAAmB,CAAC,cAAc;QACnF,SAAS,EAAE,MAAA,cAAc,CAAC,SAAS,mCAAI,mBAAmB,CAAC,SAAS;KACrE,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { AppLayoutProps } from './interfaces';\n\nconst defaultContentTypeState: AppLayoutState = {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n};\n\nconst defaults: Record<AppLayoutProps.ContentType, AppLayoutState> = {\n default: {\n ...defaultContentTypeState,\n },\n dashboard: {\n ...defaultContentTypeState,\n },\n cards: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n form: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 800,\n },\n table: {\n navigationOpen: true,\n minContentWidth: 280,\n maxContentWidth: undefined,\n },\n wizard: {\n navigationOpen: false,\n minContentWidth: 280,\n maxContentWidth: 1080,\n },\n};\n\ninterface AppLayoutState {\n navigationOpen?: boolean;\n toolsOpen?: boolean;\n minContentWidth?: number;\n maxContentWidth?: number | undefined;\n}\n\nexport function applyDefaults(\n contentType: AppLayoutProps.ContentType,\n stateFromProps: AppLayoutState,\n isRefresh: boolean\n): AppLayoutState {\n const contentTypeDefaults = isRefresh\n ? { ...defaults[contentType], maxContentWidth: undefined }\n : defaults[contentType];\n\n return {\n maxContentWidth: stateFromProps.maxContentWidth ?? contentTypeDefaults.maxContentWidth,\n minContentWidth: stateFromProps.minContentWidth ?? contentTypeDefaults.minContentWidth,\n navigationOpen: stateFromProps.navigationOpen ?? contentTypeDefaults.navigationOpen,\n toolsOpen: stateFromProps.toolsOpen ?? contentTypeDefaults.toolsOpen,\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../src/app-layout/drawer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAgC,aAAa,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAM9C,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QACV,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;KACnC,CAAC;IACF,
|
|
1
|
+
{"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../../src/app-layout/drawer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAgC,aAAa,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAM9C,MAAM,WAAW,kBAAkB;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE;QACV,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACnC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;KACnC,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC;IACnC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,MAAM,OAAO,aAAa,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACpC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC5C,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAmBD,wBAAgB,MAAM,CAAC,EACrB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,KAAK,EACL,IAAI,EACJ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,UAAU,EACV,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,wBAAwB,EACxB,QAAQ,EACR,OAAO,EACP,WAAW,EACX,WAAe,GAChB,EAAE,kBAAkB,eAgFpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../src/app-layout/drawer.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAErC,sFAAsF;AACtF,IAAM,YAAY,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../../src/app-layout/drawer.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React from 'react';\nimport { ButtonProps } from '../button/interfaces';\nimport { AppLayoutButton, CloseButton, togglesConfig } from './toggles';\nimport { AppLayoutProps } from './interfaces';\nimport styles from './styles.css.js';\n\n// This matches the design token awsui.$border-divider-section-width in Visual Refresh\nconst BORDER_WIDTH = 2;\n\nexport interface DesktopDrawerProps {\n contentClassName?: string;\n toggleClassName?: string;\n closeClassName?: string;\n toggleRefs: {\n toggle: React.Ref<ButtonProps.Ref>;\n close: React.Ref<ButtonProps.Ref>;\n };\n width: number;\n topOffset?: number;\n bottomOffset?: number;\n ariaLabels?: AppLayoutProps.Labels;\n children: React.ReactNode;\n type: keyof typeof togglesConfig;\n isMobile?: boolean;\n isOpen?: boolean;\n isHidden?: boolean;\n hasDividerWithSplitPanel?: boolean;\n onToggle: (isOpen: boolean) => void;\n onClick?: (event: React.MouseEvent) => void;\n onLoseFocus?: (event: React.FocusEvent) => void;\n extendRight?: number;\n}\n\n// We are using two landmarks per drawer, i.e. two NAVs and two ASIDEs, because of several\n// known bugs in NVDA that cause focus changes within a container to sometimes not be\n// announced. As a result, we use one region for the open button and one region for the\n// actual drawer content, always hiding the other one when it's not visible.\n// An alternative solution to follow a more classic implementation here to only have one\n// button that triggers the opening/closing of the drawer also did not work due to another\n// series of bugs in NVDA (together with Firefox) which prevent the changed expanded state\n// from being announced.\n// Even with this workaround in place, the announcement of the close button when opening a\n// panel in NVDA is not working correctly. The suspected root cause is one of the bugs below\n// as well.\n// Relevant tickets:\n// * https://github.com/nvaccess/nvda/issues/6606\n// * https://github.com/nvaccess/nvda/issues/5825\n// * https://github.com/nvaccess/nvda/issues/5247\n// * https://github.com/nvaccess/nvda/pull/8869 (reverted PR that was going to fix it)\n\nexport function Drawer({\n contentClassName,\n toggleClassName,\n closeClassName,\n width,\n type,\n toggleRefs,\n topOffset,\n bottomOffset,\n ariaLabels,\n children,\n isOpen,\n isHidden,\n isMobile,\n hasDividerWithSplitPanel,\n onToggle,\n onClick,\n onLoseFocus,\n extendRight = 0,\n}: DesktopDrawerProps) {\n const { TagName, iconName, getLabels } = togglesConfig[type];\n const { mainLabel, closeLabel, openLabel } = getLabels(ariaLabels);\n const hasDividerWithButtonBar = isOpen && extendRight !== 0;\n\n const drawerContentWidthOpen = isMobile ? undefined : width;\n const drawerContentWidth = isOpen ? drawerContentWidthOpen : undefined;\n\n const drawerWidth =\n hasDividerWithButtonBar && drawerContentWidth ? drawerContentWidth + BORDER_WIDTH : drawerContentWidth;\n\n const closeIconName = 'close';\n\n const regularOpenButton = (\n <TagName aria-label={mainLabel} className={styles.toggle} aria-hidden={isOpen}>\n <AppLayoutButton\n ref={toggleRefs.toggle}\n className={toggleClassName}\n iconName={iconName}\n ariaLabel={openLabel}\n onClick={() => onToggle(true)}\n ariaExpanded={false}\n />\n </TagName>\n );\n\n return (\n <div\n className={clsx(styles.drawer, {\n [styles['drawer-closed']]: !isOpen,\n [styles['drawer-hidden']]: isHidden,\n [styles['drawer-mobile']]: isMobile,\n [styles['has-divider-with-splitpanel']]: hasDividerWithSplitPanel,\n [styles['opaque-background']]: hasDividerWithButtonBar,\n })}\n style={{\n width: drawerWidth,\n marginRight: isOpen ? -1 * extendRight : 0,\n paddingRight: isOpen ? extendRight : 0,\n }}\n onBlur={\n onLoseFocus\n ? e => {\n if (!e.relatedTarget || !e.currentTarget.contains(e.relatedTarget)) {\n onLoseFocus(e);\n }\n }\n : undefined\n }\n onClick={event => {\n if (onClick) {\n onClick(event);\n }\n\n if (!isOpen) {\n // to prevent calling onToggle from the drawer when it's called from the toggle button\n if ((event.target as Element).tagName !== 'BUTTON') {\n onToggle(true);\n }\n }\n }}\n >\n <div\n style={{ width: drawerContentWidth, top: topOffset, bottom: bottomOffset }}\n className={clsx(styles['drawer-content'], contentClassName)}\n >\n {!isMobile && regularOpenButton}\n <TagName aria-label={mainLabel} aria-hidden={!isOpen}>\n <CloseButton\n ref={toggleRefs.close}\n className={closeClassName}\n ariaLabel={closeLabel}\n onClick={() => onToggle(false)}\n iconName={closeIconName}\n />\n {children}\n </TagName>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app-layout/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAM7F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/app-layout/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAM7F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAuC9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,QAAA,MAAM,SAAS,2FAmBd,CAAC;AAogBF,eAAe,SAAS,CAAC"}
|
|
@@ -85,25 +85,30 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
|
|
|
85
85
|
controlledProp: 'splitPanelPreferences',
|
|
86
86
|
changeHandler: 'onSplitPanelPreferencesChange'
|
|
87
87
|
}), splitPanelPreferences = _r[0], setSplitPanelPreferences = _r[1];
|
|
88
|
+
var _s = useControllable(controlledSplitPanelOpen, onSplitPanelToggle, false, {
|
|
89
|
+
componentName: 'AppLayout',
|
|
90
|
+
controlledProp: 'splitPanelOpen',
|
|
91
|
+
changeHandler: 'onSplitPanelToggle'
|
|
92
|
+
}), _t = _s[0], splitPanelOpen = _t === void 0 ? false : _t, setSplitPanelOpen = _s[1];
|
|
88
93
|
var splitPanelPosition = (splitPanelPreferences === null || splitPanelPreferences === void 0 ? void 0 : splitPanelPreferences.position) || 'bottom';
|
|
94
|
+
var _u = useState({
|
|
95
|
+
displayed: false,
|
|
96
|
+
ariaLabel: undefined
|
|
97
|
+
}), splitPanelReportedToggle = _u[0], setSplitPanelReportedToggle = _u[1];
|
|
98
|
+
var splitPanelDisplayed = !!(splitPanel && (splitPanelReportedToggle.displayed || splitPanelOpen));
|
|
89
99
|
var closedDrawerWidth = 40;
|
|
90
100
|
var effectiveNavigationWidth = navigationHide ? 0 : navigationOpen ? navigationWidth : closedDrawerWidth;
|
|
91
|
-
var effectiveToolsWidth = toolsHide && (!
|
|
101
|
+
var effectiveToolsWidth = toolsHide && (!splitPanelDisplayed || (splitPanelPreferences === null || splitPanelPreferences === void 0 ? void 0 : splitPanelPreferences.position) !== 'side')
|
|
92
102
|
? 0
|
|
93
103
|
: toolsOpen
|
|
94
104
|
? toolsWidth
|
|
95
105
|
: closedDrawerWidth;
|
|
96
106
|
var defaultSplitPanelSize = getSplitPanelDefaultSize(splitPanelPosition);
|
|
97
|
-
var
|
|
107
|
+
var _v = useControllable(controlledSplitPanelSize, onSplitPanelResize, defaultSplitPanelSize, {
|
|
98
108
|
componentName: 'AppLayout',
|
|
99
109
|
controlledProp: 'splitPanelSize',
|
|
100
110
|
changeHandler: 'onSplitPanelResize'
|
|
101
|
-
}),
|
|
102
|
-
var _u = useControllable(controlledSplitPanelOpen, onSplitPanelToggle, false, {
|
|
103
|
-
componentName: 'AppLayout',
|
|
104
|
-
controlledProp: 'splitPanelOpen',
|
|
105
|
-
changeHandler: 'onSplitPanelToggle'
|
|
106
|
-
}), _v = _u[0], splitPanelOpen = _v === void 0 ? false : _v, setSplitPanelOpen = _u[1];
|
|
111
|
+
}), _w = _v[0], splitPanelSize = _w === void 0 ? defaultSplitPanelSize : _w, setSplitPanelSize = _v[1];
|
|
107
112
|
var mainContentRef = useRef(null);
|
|
108
113
|
var legacyScrollRootRef = useRef(null);
|
|
109
114
|
var onSplitPanelPreferencesSet = useCallback(function (detail) {
|
|
@@ -146,11 +151,11 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
|
|
|
146
151
|
}
|
|
147
152
|
});
|
|
148
153
|
var finalSplitPanePosition = isSplitpanelForcedPosition ? 'bottom' : splitPanelPosition;
|
|
149
|
-
var splitPaneAvailableOnTheSide =
|
|
154
|
+
var splitPaneAvailableOnTheSide = splitPanelDisplayed && finalSplitPanePosition === 'side';
|
|
150
155
|
var splitPanelOpenOnTheSide = splitPaneAvailableOnTheSide && splitPanelOpen;
|
|
151
156
|
var toggleButtonsBarWidth = 0;
|
|
152
157
|
var windowWidth = useWindowWidth();
|
|
153
|
-
var
|
|
158
|
+
var _x = useAppLayoutOffsets(rootRef.current), leftOffset = _x.left, rightOffset = _x.right;
|
|
154
159
|
var contentWidthWithSplitPanel = windowWidth -
|
|
155
160
|
leftOffset -
|
|
156
161
|
rightOffset -
|
|
@@ -166,12 +171,12 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
|
|
|
166
171
|
}, [contentWidthWithSplitPanel, defaults.minContentWidth, isMobile]);
|
|
167
172
|
var navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;
|
|
168
173
|
var toolsClosedWidth = toolsHide || isMobile ? 0 : closedDrawerWidth;
|
|
169
|
-
var
|
|
174
|
+
var _y = useState(), splitPanelLastInteraction = _y[0], setSplitPanelLastInteraction = _y[1];
|
|
170
175
|
useEffectOnUpdate(function () { return setSplitPanelLastInteraction(splitPanelOpen ? { type: 'open' } : { type: 'close' }); }, [splitPanelOpen]);
|
|
171
176
|
useEffectOnUpdate(function () { return setSplitPanelLastInteraction({ type: 'position' }); }, [splitPanelPosition]);
|
|
172
177
|
var contentMaxWidthStyle = !isMobile ? { maxWidth: defaults.maxContentWidth } : undefined;
|
|
173
|
-
var
|
|
174
|
-
var
|
|
178
|
+
var _z = useState(0), splitPanelReportedSize = _z[0], setSplitPanelReportedSize = _z[1];
|
|
179
|
+
var _0 = useState(0), splitPanelReportedHeaderHeight = _0[0], setSplitPanelReportedHeaderHeight = _0[1];
|
|
175
180
|
var splitPanelContext = {
|
|
176
181
|
topOffset: headerHeight + (finalSplitPanePosition === 'bottom' ? stickyNotificationsHeight || 0 : 0),
|
|
177
182
|
bottomOffset: footerHeight,
|
|
@@ -190,16 +195,18 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
|
|
|
190
195
|
onResize: onSplitPanelSizeSet,
|
|
191
196
|
onToggle: onToggle,
|
|
192
197
|
onPreferencesChange: onSplitPanelPreferencesSet,
|
|
198
|
+
setSplitPanelToggle: setSplitPanelReportedToggle,
|
|
193
199
|
reportSize: setSplitPanelReportedSize,
|
|
194
200
|
reportHeaderHeight: setSplitPanelReportedHeaderHeight
|
|
195
201
|
};
|
|
196
202
|
var splitPanelWrapped = splitPanel && (React.createElement(SplitPanelContextProvider, { value: splitPanelContext }, splitPanel));
|
|
197
203
|
var contentWrapperProps = {
|
|
204
|
+
contentType: contentType,
|
|
198
205
|
navigationPadding: navigationHide || !!navigationOpen,
|
|
199
206
|
toolsPadding:
|
|
200
207
|
// tools padding is displayed in one of the three cases
|
|
201
208
|
// 1. Nothing on the that screen edge (no tools panel and no split panel)
|
|
202
|
-
(toolsHide && (!
|
|
209
|
+
(toolsHide && (!splitPanelDisplayed || finalSplitPanePosition !== 'side')) ||
|
|
203
210
|
// 2. Tools panel is present and open
|
|
204
211
|
toolsVisible ||
|
|
205
212
|
// 3. Split panel is open in side position
|
|
@@ -207,7 +214,7 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
|
|
|
207
214
|
isMobile: isMobile
|
|
208
215
|
};
|
|
209
216
|
var navigationRefs = useFocusControl(navigationOpen).refs;
|
|
210
|
-
var
|
|
217
|
+
var _1 = useFocusControl(toolsOpen, true), toolsRefs = _1.refs, focusToolsClose = _1.setFocus, loseToolsFocus = _1.loseFocus;
|
|
211
218
|
useImperativeHandle(ref, function () { return ({
|
|
212
219
|
openTools: function () { return onToolsToggle(true); },
|
|
213
220
|
closeNavigationIfNecessary: function () {
|
|
@@ -217,7 +224,7 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
|
|
|
217
224
|
},
|
|
218
225
|
focusToolsClose: focusToolsClose
|
|
219
226
|
}); }, [isMobile, onNavigationToggle, onToolsToggle, focusToolsClose]);
|
|
220
|
-
var splitPanelBottomOffset = (_c = (!
|
|
227
|
+
var splitPanelBottomOffset = (_c = (!splitPanelDisplayed || finalSplitPanePosition !== 'bottom'
|
|
221
228
|
? undefined
|
|
222
229
|
: splitPanelOpen
|
|
223
230
|
? splitPanelReportedSize
|
|
@@ -231,7 +238,7 @@ var OldAppLayout = React.forwardRef(function (_a, ref) {
|
|
|
231
238
|
return 0;
|
|
232
239
|
}
|
|
233
240
|
var toolsPanelWidth = toolsHide ? 0 : toolsOpen ? toolsWidth : closedDrawerWidth;
|
|
234
|
-
var splitPanelWidth = !
|
|
241
|
+
var splitPanelWidth = !splitPanelDisplayed || finalSplitPanePosition !== 'side'
|
|
235
242
|
? 0
|
|
236
243
|
: splitPanelOpen
|
|
237
244
|
? splitPanelReportedSize
|