@cloudscape-design/components-themeable 3.0.269 → 3.0.271
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/test-classes/styles.scss +4 -0
- package/lib/internal/scss/collection-preferences/content-display/sortable-item.scss +80 -0
- package/lib/internal/scss/collection-preferences/content-display/styles.scss +33 -0
- package/lib/internal/scss/collection-preferences/styles.scss +1 -0
- package/lib/internal/scss/collection-preferences/visible-content.scss +1 -0
- package/lib/internal/scss/internal/components/token-list/styles.scss +3 -1
- package/lib/internal/scss/internal/drag-handle/styles.scss +18 -0
- package/lib/internal/scss/internal/handle/styles.scss +31 -0
- package/lib/internal/scss/table/body-cell/styles.scss +4 -159
- package/lib/internal/scss/table/header-cell/styles.scss +160 -0
- package/lib/internal/template/THIRD-PARTY-LICENSES +31 -0
- package/lib/internal/template/app-layout/drawer/index.d.ts +1 -1
- package/lib/internal/template/app-layout/drawer/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/drawer/index.js +3 -3
- package/lib/internal/template/app-layout/drawer/index.js.map +1 -1
- package/lib/internal/template/app-layout/drawer/interfaces.d.ts +17 -3
- package/lib/internal/template/app-layout/drawer/interfaces.d.ts.map +1 -1
- package/lib/internal/template/app-layout/drawer/interfaces.js.map +1 -1
- package/lib/internal/template/app-layout/drawer/resizable-drawer.d.ts.map +1 -1
- package/lib/internal/template/app-layout/drawer/resizable-drawer.js +6 -4
- package/lib/internal/template/app-layout/drawer/resizable-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 +47 -31
- package/lib/internal/template/app-layout/index.js.map +1 -1
- package/lib/internal/template/app-layout/mobile-toolbar/index.d.ts.map +1 -1
- package/lib/internal/template/app-layout/mobile-toolbar/index.js +4 -1
- package/lib/internal/template/app-layout/mobile-toolbar/index.js.map +1 -1
- package/lib/internal/template/app-layout/test-classes/styles.css.js +19 -18
- package/lib/internal/template/app-layout/test-classes/styles.scoped.css +22 -18
- package/lib/internal/template/app-layout/test-classes/styles.selectors.js +19 -18
- package/lib/internal/template/app-layout/visual-refresh/drawers.d.ts +1 -0
- package/lib/internal/template/app-layout/visual-refresh/drawers.d.ts.map +1 -1
- package/lib/internal/template/app-layout/visual-refresh/drawers.js +2 -2
- package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
- package/lib/internal/template/attribute-editor/row.d.ts.map +1 -1
- package/lib/internal/template/attribute-editor/row.js +1 -3
- package/lib/internal/template/attribute-editor/row.js.map +1 -1
- package/lib/internal/template/collection-preferences/content-display/index.d.ts +9 -0
- package/lib/internal/template/collection-preferences/content-display/index.d.ts.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/index.js +55 -0
- package/lib/internal/template/collection-preferences/content-display/index.js.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/defaults.d.ts +3 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/defaults.d.ts.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/defaults.js +9 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/defaults.js.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/index.d.ts +19 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/index.d.ts.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/index.js +126 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/index.js.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/events.d.ts +11 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/events.d.ts.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/events.js +14 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/events.js.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/listeners.d.ts +8 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/listeners.d.ts.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/listeners.js +17 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/listeners.js.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/scroll.d.ts +30 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/scroll.d.ts.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/scroll.js +95 -0
- package/lib/internal/template/collection-preferences/content-display/keyboard-sensor/utilities/scroll.js.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/sortable-item.d.ts +9 -0
- package/lib/internal/template/collection-preferences/content-display/sortable-item.d.ts.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/sortable-item.js +52 -0
- package/lib/internal/template/collection-preferences/content-display/sortable-item.js.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/styles.css.js +20 -0
- package/lib/internal/template/collection-preferences/content-display/styles.scoped.css +303 -0
- package/lib/internal/template/collection-preferences/content-display/styles.selectors.js +21 -0
- package/lib/internal/template/collection-preferences/content-display/use-drag-and-drop-reorder.d.ts +14 -0
- package/lib/internal/template/collection-preferences/content-display/use-drag-and-drop-reorder.d.ts.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/use-drag-and-drop-reorder.js +144 -0
- package/lib/internal/template/collection-preferences/content-display/use-drag-and-drop-reorder.js.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/use-live-announcements.d.ts +12 -0
- package/lib/internal/template/collection-preferences/content-display/use-live-announcements.d.ts.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/use-live-announcements.js +40 -0
- package/lib/internal/template/collection-preferences/content-display/use-live-announcements.js.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/utils.d.ts +9 -0
- package/lib/internal/template/collection-preferences/content-display/utils.d.ts.map +1 -0
- package/lib/internal/template/collection-preferences/content-display/utils.js +7 -0
- package/lib/internal/template/collection-preferences/content-display/utils.js.map +1 -0
- package/lib/internal/template/collection-preferences/index.d.ts +1 -1
- package/lib/internal/template/collection-preferences/index.d.ts.map +1 -1
- package/lib/internal/template/collection-preferences/index.js +15 -9
- package/lib/internal/template/collection-preferences/index.js.map +1 -1
- package/lib/internal/template/collection-preferences/interfaces.d.ts +47 -1
- package/lib/internal/template/collection-preferences/interfaces.d.ts.map +1 -1
- package/lib/internal/template/collection-preferences/interfaces.js.map +1 -1
- package/lib/internal/template/collection-preferences/styles.css.js +36 -21
- package/lib/internal/template/collection-preferences/styles.scoped.css +326 -22
- package/lib/internal/template/collection-preferences/styles.selectors.js +36 -21
- package/lib/internal/template/collection-preferences/utils.d.ts +1 -1
- package/lib/internal/template/collection-preferences/utils.d.ts.map +1 -1
- package/lib/internal/template/collection-preferences/utils.js +20 -9
- package/lib/internal/template/collection-preferences/utils.js.map +1 -1
- package/lib/internal/template/internal/components/token-list/styles.css.js +9 -9
- package/lib/internal/template/internal/components/token-list/styles.scoped.css +22 -21
- package/lib/internal/template/internal/components/token-list/styles.selectors.js +9 -9
- package/lib/internal/template/internal/drag-handle/index.d.ts +9 -0
- package/lib/internal/template/internal/drag-handle/index.d.ts.map +1 -0
- package/lib/internal/template/internal/drag-handle/index.js +13 -0
- package/lib/internal/template/internal/drag-handle/index.js.map +1 -0
- package/lib/internal/template/internal/drag-handle/styles.css.js +6 -0
- package/lib/internal/template/internal/drag-handle/styles.scoped.css +13 -0
- package/lib/internal/template/internal/drag-handle/styles.selectors.js +7 -0
- package/lib/internal/template/internal/environment.js +1 -1
- package/lib/internal/template/internal/handle/index.d.ts +3 -0
- package/lib/internal/template/internal/handle/index.d.ts.map +1 -0
- package/lib/internal/template/internal/handle/index.js +14 -0
- package/lib/internal/template/internal/handle/index.js.map +1 -0
- package/lib/internal/template/internal/handle/styles.css.js +7 -0
- package/lib/internal/template/internal/handle/styles.scoped.css +125 -0
- package/lib/internal/template/internal/handle/styles.selectors.js +8 -0
- package/lib/internal/template/package.json +3 -0
- package/lib/internal/template/table/body-cell/styles.css.js +23 -40
- package/lib/internal/template/table/body-cell/styles.scoped.css +59 -220
- package/lib/internal/template/table/body-cell/styles.selectors.js +23 -40
- package/lib/internal/template/table/header-cell/index.js +1 -1
- package/lib/internal/template/table/header-cell/index.js.map +1 -1
- package/lib/internal/template/table/header-cell/styles.css.js +24 -0
- package/lib/internal/template/table/header-cell/styles.scoped.css +252 -0
- package/lib/internal/template/table/header-cell/styles.selectors.js +25 -0
- package/lib/internal/template/table/interfaces.d.ts +16 -3
- package/lib/internal/template/table/interfaces.d.ts.map +1 -1
- package/lib/internal/template/table/interfaces.js.map +1 -1
- package/lib/internal/template/table/internal.d.ts.map +1 -1
- package/lib/internal/template/table/internal.js +17 -9
- package/lib/internal/template/table/internal.js.map +1 -1
- package/lib/internal/template/table/thead.d.ts.map +1 -1
- package/lib/internal/template/table/thead.js +4 -7
- package/lib/internal/template/table/thead.js.map +1 -1
- package/lib/internal/template/table/use-column-widths.js +1 -1
- package/lib/internal/template/table/use-column-widths.js.map +1 -1
- package/lib/internal/template/table/utils.d.ts +5 -0
- package/lib/internal/template/table/utils.d.ts.map +1 -1
- package/lib/internal/template/table/utils.js +23 -0
- package/lib/internal/template/table/utils.js.map +1 -1
- package/lib/internal/template/test-utils/dom/app-layout/index.d.ts +6 -0
- package/lib/internal/template/test-utils/dom/app-layout/index.js +18 -0
- package/lib/internal/template/test-utils/dom/app-layout/index.js.map +1 -1
- package/lib/internal/template/test-utils/dom/collection-preferences/content-display-preference.d.ts +37 -0
- package/lib/internal/template/test-utils/dom/collection-preferences/content-display-preference.js +62 -0
- package/lib/internal/template/test-utils/dom/collection-preferences/content-display-preference.js.map +1 -0
- package/lib/internal/template/test-utils/dom/collection-preferences/index.d.ts +2 -0
- package/lib/internal/template/test-utils/dom/collection-preferences/index.js +4 -0
- package/lib/internal/template/test-utils/dom/collection-preferences/index.js.map +1 -1
- package/lib/internal/template/test-utils/dom/table/index.js +10 -9
- package/lib/internal/template/test-utils/dom/table/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/app-layout/index.d.ts +6 -0
- package/lib/internal/template/test-utils/selectors/app-layout/index.js +18 -0
- package/lib/internal/template/test-utils/selectors/app-layout/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/collection-preferences/content-display-preference.d.ts +37 -0
- package/lib/internal/template/test-utils/selectors/collection-preferences/content-display-preference.js +62 -0
- package/lib/internal/template/test-utils/selectors/collection-preferences/content-display-preference.js.map +1 -0
- package/lib/internal/template/test-utils/selectors/collection-preferences/index.d.ts +2 -0
- package/lib/internal/template/test-utils/selectors/collection-preferences/index.js +4 -0
- package/lib/internal/template/test-utils/selectors/collection-preferences/index.js.map +1 -1
- package/lib/internal/template/test-utils/selectors/table/index.js +10 -9
- package/lib/internal/template/test-utils/selectors/table/index.js.map +1 -1
- package/lib/internal/template/test-utils/tsconfig.tsbuildinfo +1 -1
- package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.d.ts.map +1 -1
- package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js +5 -4
- package/lib/internal/template/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
- package/lib/internal/template/top-navigation/parts/utility.js +1 -1
- package/lib/internal/template/top-navigation/parts/utility.js.map +1 -1
- package/package.json +1 -1
- package/lib/internal/template/table/table-wrapper.d.ts +0 -13
- package/lib/internal/template/table/table-wrapper.d.ts.map +0 -1
- package/lib/internal/template/table/table-wrapper.js +0 -15
- package/lib/internal/template/table/table-wrapper.js.map +0 -1
|
@@ -3,6 +3,7 @@ import { ButtonProps } from '../../button/interfaces';
|
|
|
3
3
|
import { togglesConfig } from '../toggles';
|
|
4
4
|
import { AppLayoutProps } from '../interfaces';
|
|
5
5
|
import { IconProps } from '../../icon/interfaces';
|
|
6
|
+
import { NonCancelableEventHandler } from '../../internal/events';
|
|
6
7
|
import { DrawerFocusControlRefs } from '../utils/use-drawer-focus-control';
|
|
7
8
|
export interface DesktopDrawerProps {
|
|
8
9
|
contentClassName: string;
|
|
@@ -34,7 +35,7 @@ export interface DesktopDrawerProps {
|
|
|
34
35
|
resizeHandle?: React.ReactNode;
|
|
35
36
|
}
|
|
36
37
|
export interface ResizableDrawerProps extends DesktopDrawerProps {
|
|
37
|
-
activeDrawer
|
|
38
|
+
activeDrawer?: DrawerItem;
|
|
38
39
|
onResize: (resizeDetail: {
|
|
39
40
|
size: number;
|
|
40
41
|
id: string;
|
|
@@ -45,16 +46,17 @@ export interface ResizableDrawerProps extends DesktopDrawerProps {
|
|
|
45
46
|
}
|
|
46
47
|
export interface DrawerTriggersBarProps {
|
|
47
48
|
contentClassName: string;
|
|
49
|
+
toggleClassName: string;
|
|
48
50
|
topOffset: number | undefined;
|
|
49
51
|
bottomOffset: number | undefined;
|
|
50
52
|
isMobile: boolean;
|
|
51
53
|
drawers?: {
|
|
52
54
|
items: Array<DrawerItem>;
|
|
53
|
-
activeDrawerId
|
|
55
|
+
activeDrawerId?: string;
|
|
54
56
|
onChange: (changeDetail: {
|
|
55
57
|
activeDrawerId: string | undefined;
|
|
56
58
|
}) => void;
|
|
57
|
-
ariaLabel
|
|
59
|
+
ariaLabel?: string;
|
|
58
60
|
};
|
|
59
61
|
}
|
|
60
62
|
export interface DrawerItemAriaLabels {
|
|
@@ -81,4 +83,16 @@ export interface SizeControlProps {
|
|
|
81
83
|
setSidePanelWidth: (width: number) => void;
|
|
82
84
|
setBottomPanelHeight: (height: number) => void;
|
|
83
85
|
}
|
|
86
|
+
export interface InternalDrawerProps {
|
|
87
|
+
drawers?: {
|
|
88
|
+
items: Array<DrawerItem>;
|
|
89
|
+
activeDrawerId?: string;
|
|
90
|
+
onChange?: NonCancelableEventHandler<string>;
|
|
91
|
+
onResize?: NonCancelableEventHandler<{
|
|
92
|
+
size: number;
|
|
93
|
+
id: string;
|
|
94
|
+
}>;
|
|
95
|
+
ariaLabel?: string;
|
|
96
|
+
};
|
|
97
|
+
}
|
|
84
98
|
//# sourceMappingURL=interfaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"lib/default/","sources":["app-layout/drawer/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"lib/default/","sources":["app-layout/drawer/interfaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"lib/default/","sources":["app-layout/drawer/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { ButtonProps } from '../../button/interfaces';\nimport { togglesConfig } from '../toggles';\nimport { AppLayoutProps } from '../interfaces';\nimport { IconProps } from '../../icon/interfaces';\n\nimport { DrawerFocusControlRefs } from '../utils/use-drawer-focus-control';\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 | undefined;\n bottomOffset: number | undefined;\n ariaLabels: AppLayoutProps.Labels | undefined;\n drawersAriaLabels?: DrawerItemAriaLabels | undefined;\n children: React.ReactNode;\n type: keyof typeof togglesConfig;\n isMobile: boolean;\n isOpen: boolean;\n onToggle: (isOpen: boolean) => void;\n onClick?: (event: React.MouseEvent) => void;\n onLoseFocus?: (event: React.FocusEvent) => void;\n drawers?: {\n items: Array<DrawerItem>;\n activeDrawerId: string | undefined;\n onChange: (changeDetail: { activeDrawerId: string | undefined }) => void;\n };\n resizeHandle?: React.ReactNode;\n}\n\nexport interface ResizableDrawerProps extends DesktopDrawerProps {\n activeDrawer
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"lib/default/","sources":["app-layout/drawer/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport { ButtonProps } from '../../button/interfaces';\nimport { togglesConfig } from '../toggles';\nimport { AppLayoutProps } from '../interfaces';\nimport { IconProps } from '../../icon/interfaces';\nimport { NonCancelableEventHandler } from '../../internal/events';\n\nimport { DrawerFocusControlRefs } from '../utils/use-drawer-focus-control';\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 | undefined;\n bottomOffset: number | undefined;\n ariaLabels: AppLayoutProps.Labels | undefined;\n drawersAriaLabels?: DrawerItemAriaLabels | undefined;\n children: React.ReactNode;\n type: keyof typeof togglesConfig;\n isMobile: boolean;\n isOpen: boolean;\n onToggle: (isOpen: boolean) => void;\n onClick?: (event: React.MouseEvent) => void;\n onLoseFocus?: (event: React.FocusEvent) => void;\n drawers?: {\n items: Array<DrawerItem>;\n activeDrawerId: string | undefined;\n onChange: (changeDetail: { activeDrawerId: string | undefined }) => void;\n };\n resizeHandle?: React.ReactNode;\n}\n\nexport interface ResizableDrawerProps extends DesktopDrawerProps {\n activeDrawer?: DrawerItem;\n onResize: (resizeDetail: { size: number; id: string }) => void;\n size: number;\n getMaxWidth: () => number;\n refs: DrawerFocusControlRefs;\n}\n\nexport interface DrawerTriggersBarProps {\n contentClassName: string;\n toggleClassName: string;\n topOffset: number | undefined;\n bottomOffset: number | undefined;\n isMobile: boolean;\n drawers?: {\n items: Array<DrawerItem>;\n activeDrawerId?: string;\n onChange: (changeDetail: { activeDrawerId: string | undefined }) => void;\n ariaLabel?: string;\n };\n}\n\nexport interface DrawerItemAriaLabels {\n content?: string;\n closeButton?: string;\n triggerButton?: string;\n resizeHandle?: string;\n}\n\nexport interface DrawerItem {\n id: string;\n content: React.ReactNode;\n trigger: {\n iconName?: IconProps.Name;\n iconSvg?: React.ReactNode;\n };\n ariaLabels: DrawerItemAriaLabels;\n resizable?: boolean;\n size?: number;\n}\n\nexport interface SizeControlProps {\n position: 'side';\n splitPanelRef?: React.RefObject<HTMLDivElement>;\n handleRef?: React.RefObject<HTMLDivElement>;\n setSidePanelWidth: (width: number) => void;\n setBottomPanelHeight: (height: number) => void;\n}\n\nexport interface InternalDrawerProps {\n drawers?: {\n items: Array<DrawerItem>;\n activeDrawerId?: string;\n onChange?: NonCancelableEventHandler<string>;\n onResize?: NonCancelableEventHandler<{ size: number; id: string }>;\n ariaLabel?: string;\n };\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizable-drawer.d.ts","sourceRoot":"lib/default/","sources":["app-layout/drawer/resizable-drawer.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"resizable-drawer.d.ts","sourceRoot":"lib/default/","sources":["app-layout/drawer/resizable-drawer.tsx"],"names":[],"mappings":";AAaA,OAAO,EAAoB,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEtE,eAAO,MAAM,eAAe,kEAOzB,oBAAoB,gBAsEtB,CAAC"}
|
|
@@ -7,9 +7,11 @@ import { getLimitedValue } from '../../split-panel/utils/size-utils';
|
|
|
7
7
|
import { usePointerEvents } from '../../split-panel/utils/use-pointer-events';
|
|
8
8
|
import { useKeyboardEvents } from '../../split-panel/utils/use-keyboard-events';
|
|
9
9
|
import { Drawer } from './index';
|
|
10
|
+
import testutilStyles from '../test-classes/styles.css.js';
|
|
10
11
|
import ResizeHandler from '../../split-panel/icons/resize-handler';
|
|
11
12
|
import splitPanelStyles from '../../split-panel/styles.css.js';
|
|
12
13
|
export const ResizableDrawer = (_a) => {
|
|
14
|
+
var _b;
|
|
13
15
|
var { onResize, size, getMaxWidth, refs, activeDrawer } = _a, props = __rest(_a, ["onResize", "size", "getMaxWidth", "refs", "activeDrawer"]);
|
|
14
16
|
const { isOpen, children, isMobile } = props;
|
|
15
17
|
const MIN_WIDTH = (activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.size) && activeDrawer.size < 280 ? activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.size : 280;
|
|
@@ -26,8 +28,8 @@ export const ResizableDrawer = (_a) => {
|
|
|
26
28
|
const setSidePanelWidth = (width) => {
|
|
27
29
|
const maxWidth = getMaxWidth();
|
|
28
30
|
const size = getLimitedValue(MIN_WIDTH, width, maxWidth);
|
|
29
|
-
const id = activeDrawer.id;
|
|
30
|
-
if (isOpen && maxWidth >= MIN_WIDTH) {
|
|
31
|
+
const id = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.id;
|
|
32
|
+
if (isOpen && id && maxWidth >= MIN_WIDTH) {
|
|
31
33
|
onResize({ size, id });
|
|
32
34
|
}
|
|
33
35
|
};
|
|
@@ -43,9 +45,9 @@ export const ResizableDrawer = (_a) => {
|
|
|
43
45
|
};
|
|
44
46
|
const onSliderPointerDown = usePointerEvents(sizeControlProps);
|
|
45
47
|
const onKeyDown = useKeyboardEvents(sizeControlProps);
|
|
46
|
-
const resizeHandle = (React.createElement("div", { ref: refs.slider, role: "slider", tabIndex: 0, "aria-label": activeDrawer.ariaLabels.resizeHandle, "aria-valuemax": 100, "aria-valuemin": 0, "aria-valuenow": relativeSize, className: clsx(splitPanelStyles.slider, splitPanelStyles[`slider-side`]), onKeyDown: onKeyDown, onPointerDown: onSliderPointerDown },
|
|
48
|
+
const resizeHandle = (React.createElement("div", { ref: refs.slider, role: "slider", tabIndex: 0, "aria-label": (_b = activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.ariaLabels) === null || _b === void 0 ? void 0 : _b.resizeHandle, "aria-valuemax": 100, "aria-valuemin": 0, "aria-valuenow": relativeSize, className: clsx(splitPanelStyles.slider, splitPanelStyles[`slider-side`], testutilStyles['drawers-slider']), onKeyDown: onKeyDown, onPointerDown: onSliderPointerDown },
|
|
47
49
|
React.createElement(ResizeHandler, { className: clsx(splitPanelStyles['slider-icon'], splitPanelStyles[`slider-icon-side`]) })));
|
|
48
50
|
return (React.createElement(Drawer, Object.assign({}, props, { ref: drawerRefObject, resizeHandle: !isMobile &&
|
|
49
|
-
activeDrawer.resizable && React.createElement("div", { className: splitPanelStyles['slider-wrapper-side'] }, resizeHandle) }), children));
|
|
51
|
+
(activeDrawer === null || activeDrawer === void 0 ? void 0 : activeDrawer.resizable) && React.createElement("div", { className: splitPanelStyles['slider-wrapper-side'] }, resizeHandle) }), children));
|
|
50
52
|
};
|
|
51
53
|
//# sourceMappingURL=resizable-drawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizable-drawer.js","sourceRoot":"lib/default/","sources":["app-layout/drawer/resizable-drawer.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE3D,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,4CAA4C,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"resizable-drawer.js","sourceRoot":"lib/default/","sources":["app-layout/drawer/resizable-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, { useEffect, useState, useRef } from 'react';\n\nimport { getLimitedValue } from '../../split-panel/utils/size-utils';\nimport { usePointerEvents } from '../../split-panel/utils/use-pointer-events';\nimport { useKeyboardEvents } from '../../split-panel/utils/use-keyboard-events';\nimport { Drawer } from './index';\nimport testutilStyles from '../test-classes/styles.css.js';\n\nimport ResizeHandler from '../../split-panel/icons/resize-handler';\nimport splitPanelStyles from '../../split-panel/styles.css.js';\nimport { SizeControlProps, ResizableDrawerProps } from './interfaces';\n\nexport const ResizableDrawer = ({\n onResize,\n size,\n getMaxWidth,\n refs,\n activeDrawer,\n ...props\n}: ResizableDrawerProps) => {\n const { isOpen, children, isMobile } = props;\n\n const MIN_WIDTH = activeDrawer?.size && activeDrawer.size < 280 ? activeDrawer?.size : 280;\n const [relativeSize, setRelativeSize] = useState(0);\n\n useEffect(() => {\n // effects are called inside out in the components tree\n // wait one frame to allow app-layout to complete its calculations\n const handle = requestAnimationFrame(() => {\n const maxSize = getMaxWidth();\n setRelativeSize((size / maxSize) * 100);\n });\n return () => cancelAnimationFrame(handle);\n }, [size, getMaxWidth]);\n\n const setSidePanelWidth = (width: number) => {\n const maxWidth = getMaxWidth();\n const size = getLimitedValue(MIN_WIDTH, width, maxWidth);\n const id = activeDrawer?.id;\n\n if (isOpen && id && maxWidth >= MIN_WIDTH) {\n onResize({ size, id });\n }\n };\n\n const position = 'side';\n const setBottomPanelHeight = () => {};\n const drawerRefObject = useRef<HTMLDivElement>(null);\n\n const sizeControlProps: SizeControlProps = {\n position,\n splitPanelRef: drawerRefObject,\n handleRef: refs.slider,\n setSidePanelWidth,\n setBottomPanelHeight,\n };\n\n const onSliderPointerDown = usePointerEvents(sizeControlProps);\n const onKeyDown = useKeyboardEvents(sizeControlProps);\n\n const resizeHandle = (\n <div\n ref={refs.slider}\n role=\"slider\"\n tabIndex={0}\n aria-label={activeDrawer?.ariaLabels?.resizeHandle}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={relativeSize}\n className={clsx(splitPanelStyles.slider, splitPanelStyles[`slider-side`], testutilStyles['drawers-slider'])}\n onKeyDown={onKeyDown}\n onPointerDown={onSliderPointerDown}\n >\n <ResizeHandler className={clsx(splitPanelStyles['slider-icon'], splitPanelStyles[`slider-icon-side`])} />\n </div>\n );\n\n return (\n <Drawer\n {...props}\n ref={drawerRefObject}\n resizeHandle={\n !isMobile &&\n activeDrawer?.resizable && <div className={splitPanelStyles['slider-wrapper-side']}>{resizeHandle}</div>\n }\n >\n {children}\n </Drawer>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["app-layout/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAM7F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAyC9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,QAAA,MAAM,SAAS,2FA8Bd,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["app-layout/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAwE,MAAM,OAAO,CAAC;AAM7F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAyC9C,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,QAAA,MAAM,SAAS,2FA8Bd,CAAC;AAgsBF,eAAe,SAAS,CAAC"}
|
|
@@ -57,7 +57,7 @@ const AppLayout = React.forwardRef((_a, ref) => {
|
|
|
57
57
|
return (React.createElement("div", Object.assign({ ref: __internalRootRef }, baseProps), isRefresh ? React.createElement(RefreshedAppLayout, Object.assign({}, props, { ref: ref })) : React.createElement(OldAppLayout, Object.assign({}, props, { ref: ref }))));
|
|
58
58
|
});
|
|
59
59
|
const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
60
|
-
var _b;
|
|
60
|
+
var _b, _c;
|
|
61
61
|
var { navigation, navigationWidth = 280, navigationHide, navigationOpen: controlledNavigationOpen, tools, toolsWidth = 290, toolsHide, toolsOpen: controlledToolsOpen, breadcrumbs, notifications, stickyNotifications, contentHeader, disableContentHeaderOverlap, content, contentType = 'default', disableContentPaddings, disableBodyScroll, maxContentWidth, minContentWidth, headerSelector = '#b #h', footerSelector = '#b #f', ariaLabels, splitPanel, splitPanelSize: controlledSplitPanelSize, splitPanelOpen: controlledSplitPanelOpen, splitPanelPreferences: controlledSplitPanelPreferences, onSplitPanelPreferencesChange, onSplitPanelResize, onSplitPanelToggle, onNavigationChange, onToolsChange } = _a, props = __rest(_a, ["navigation", "navigationWidth", "navigationHide", "navigationOpen", "tools", "toolsWidth", "toolsHide", "toolsOpen", "breadcrumbs", "notifications", "stickyNotifications", "contentHeader", "disableContentHeaderOverlap", "content", "contentType", "disableContentPaddings", "disableBodyScroll", "maxContentWidth", "minContentWidth", "headerSelector", "footerSelector", "ariaLabels", "splitPanel", "splitPanelSize", "splitPanelOpen", "splitPanelPreferences", "onSplitPanelPreferencesChange", "onSplitPanelResize", "onSplitPanelToggle", "onNavigationChange", "onToolsChange"]);
|
|
62
62
|
if (isDevelopment) {
|
|
63
63
|
if (controlledToolsOpen && toolsHide) {
|
|
@@ -65,12 +65,13 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
const drawers = props.drawers;
|
|
68
|
+
const hasDrawers = drawers && drawers.items.length > 0;
|
|
68
69
|
const rootRef = useRef(null);
|
|
69
70
|
const isMobile = useMobile();
|
|
70
71
|
const defaults = applyDefaults(contentType, { maxContentWidth, minContentWidth }, false);
|
|
71
72
|
const [navigationOpen = false, setNavigationOpen] = useControllable(controlledNavigationOpen, onNavigationChange, isMobile ? false : defaults.navigationOpen, { componentName: 'AppLayout', controlledProp: 'navigationOpen', changeHandler: 'onNavigationChange' });
|
|
72
73
|
const [toolsOpen = false, setToolsOpen] = useControllable(controlledToolsOpen, onToolsChange, isMobile ? false : defaults.toolsOpen, { componentName: 'AppLayout', controlledProp: 'toolsOpen', changeHandler: 'onToolsChange' });
|
|
73
|
-
const [activeDrawerId,
|
|
74
|
+
const [activeDrawerId, setActiveDrawerId] = useControllable(drawers === null || drawers === void 0 ? void 0 : drawers.activeDrawerId, drawers === null || drawers === void 0 ? void 0 : drawers.onChange, isMobile ? false : tools ? defaults.toolsOpen : '', {
|
|
74
75
|
componentName: 'AppLayout',
|
|
75
76
|
controlledProp: 'activeDrawerId',
|
|
76
77
|
changeHandler: 'onChange',
|
|
@@ -80,6 +81,7 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
80
81
|
const toolsItem = {
|
|
81
82
|
id: 'tools',
|
|
82
83
|
content: tools,
|
|
84
|
+
resizable: false,
|
|
83
85
|
ariaLabels: {
|
|
84
86
|
triggerButton: openLabel,
|
|
85
87
|
closeButton: closeLabel,
|
|
@@ -90,18 +92,19 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
90
92
|
},
|
|
91
93
|
};
|
|
92
94
|
const getAllDrawerItems = () => {
|
|
93
|
-
if (
|
|
94
|
-
return
|
|
95
|
+
if (!hasDrawers) {
|
|
96
|
+
return;
|
|
95
97
|
}
|
|
98
|
+
return tools ? [toolsItem, ...drawers.items] : drawers.items;
|
|
96
99
|
};
|
|
97
100
|
const selectedDrawer = tools && toolsOpen
|
|
98
101
|
? toolsItem
|
|
99
|
-
:
|
|
100
|
-
|
|
101
|
-
|
|
102
|
+
: hasDrawers
|
|
103
|
+
? (_b = getAllDrawerItems()) === null || _b === void 0 ? void 0 : _b.filter((drawerItem) => drawerItem.id === activeDrawerId)[0]
|
|
104
|
+
: undefined;
|
|
102
105
|
const { refs: navigationRefs, setFocus: focusNavButtons } = useFocusControl(navigationOpen);
|
|
103
|
-
const { refs: toolsRefs, setFocus: focusToolsButtons, loseFocus: loseToolsFocus, } = useFocusControl(toolsOpen ||
|
|
104
|
-
const { refs: drawerRefs, setFocus: focusDrawersButtons, loseFocus: loseDrawersFocus, setLastInteraction: setDrawerLastInteraction, } = useDrawerFocusControl([selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.resizable], toolsOpen ||
|
|
106
|
+
const { refs: toolsRefs, setFocus: focusToolsButtons, loseFocus: loseToolsFocus, } = useFocusControl(toolsOpen || selectedDrawer !== undefined, true);
|
|
107
|
+
const { refs: drawerRefs, setFocus: focusDrawersButtons, loseFocus: loseDrawersFocus, setLastInteraction: setDrawerLastInteraction, } = useDrawerFocusControl([selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.resizable], toolsOpen || selectedDrawer !== undefined, true);
|
|
105
108
|
const onNavigationToggle = useCallback((open) => {
|
|
106
109
|
setNavigationOpen(open);
|
|
107
110
|
focusNavButtons();
|
|
@@ -137,12 +140,24 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
137
140
|
controlledProp: 'splitPanelOpen',
|
|
138
141
|
changeHandler: 'onSplitPanelToggle',
|
|
139
142
|
});
|
|
140
|
-
const
|
|
141
|
-
|
|
143
|
+
const sizes = (() => {
|
|
144
|
+
const sizes = {};
|
|
145
|
+
if (!drawers) {
|
|
146
|
+
return {};
|
|
147
|
+
}
|
|
148
|
+
for (const item of drawers.items) {
|
|
149
|
+
if (item.size) {
|
|
150
|
+
sizes[item.id] = item.size;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return sizes;
|
|
154
|
+
})();
|
|
155
|
+
const [drawerSizes = {}, setDrawerSizes] = useControllable(Object.keys(sizes).length > 0 ? sizes : undefined, drawers === null || drawers === void 0 ? void 0 : drawers.onResize, {}, {
|
|
142
156
|
componentName: 'AppLayout',
|
|
143
|
-
controlledProp: '
|
|
144
|
-
changeHandler: '
|
|
157
|
+
controlledProp: 'drawers.items[].size',
|
|
158
|
+
changeHandler: 'drawers.onResize',
|
|
145
159
|
});
|
|
160
|
+
const drawerSize = (selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id) && drawerSizes[selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id] ? drawerSizes[selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id] : toolsWidth;
|
|
146
161
|
const splitPanelPosition = (splitPanelPreferences === null || splitPanelPreferences === void 0 ? void 0 : splitPanelPreferences.position) || 'bottom';
|
|
147
162
|
const [splitPanelReportedToggle, setSplitPanelReportedToggle] = useState({
|
|
148
163
|
displayed: false,
|
|
@@ -185,10 +200,6 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
185
200
|
setSplitPanelSize(detail.size);
|
|
186
201
|
fireNonCancelableEvent(onSplitPanelResize, detail);
|
|
187
202
|
}, [setSplitPanelSize, onSplitPanelResize]);
|
|
188
|
-
const onDrawerSizeSet = (detail) => {
|
|
189
|
-
setDrawerSize(detail.size);
|
|
190
|
-
fireNonCancelableEvent(drawers.onResize, detail);
|
|
191
|
-
};
|
|
192
203
|
const onSplitPanelToggleHandler = useCallback(() => {
|
|
193
204
|
setSplitPanelOpen(!splitPanelOpen);
|
|
194
205
|
setSplitPanelLastInteraction({ type: splitPanelOpen ? 'close' : 'open' });
|
|
@@ -254,7 +265,7 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
254
265
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
255
266
|
}, [contentWidthWithSplitPanel, drawerSize, defaults.minContentWidth, isMobile]);
|
|
256
267
|
const navigationClosedWidth = navigationHide || isMobile ? 0 : closedDrawerWidth;
|
|
257
|
-
const toolsClosedWidth = toolsHide || isMobile || (!
|
|
268
|
+
const toolsClosedWidth = toolsHide || isMobile || (!hasDrawers && toolsHide) ? 0 : closedDrawerWidth;
|
|
258
269
|
const contentMaxWidthStyle = !isMobile ? { maxWidth: defaults.maxContentWidth } : undefined;
|
|
259
270
|
const [splitPanelReportedSize, setSplitPanelReportedSize] = useState(0);
|
|
260
271
|
const [splitPanelReportedHeaderHeight, setSplitPanelReportedHeaderHeight] = useState(0);
|
|
@@ -262,9 +273,9 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
262
273
|
if (isMobile) {
|
|
263
274
|
return 0;
|
|
264
275
|
}
|
|
265
|
-
if (
|
|
276
|
+
if (hasDrawers) {
|
|
266
277
|
if (activeDrawerId) {
|
|
267
|
-
if (
|
|
278
|
+
if (!isResizeInvalid && drawerSize) {
|
|
268
279
|
return drawerSize + closedDrawerWidth;
|
|
269
280
|
}
|
|
270
281
|
return toolsWidth + closedDrawerWidth;
|
|
@@ -309,7 +320,7 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
309
320
|
// tools padding is displayed in one of the three cases
|
|
310
321
|
// 1. Nothing on the that screen edge (no tools panel and no split panel)
|
|
311
322
|
toolsHide ||
|
|
312
|
-
(
|
|
323
|
+
(hasDrawers && !activeDrawerId && (!splitPanelDisplayed || finalSplitPanePosition !== 'side')) ||
|
|
313
324
|
// 2. Tools panel is present and open
|
|
314
325
|
toolsVisible ||
|
|
315
326
|
// 3. Split panel is open in side position
|
|
@@ -325,11 +336,11 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
325
336
|
},
|
|
326
337
|
focusToolsClose: () => focusToolsButtons(true),
|
|
327
338
|
}), [isMobile, onNavigationToggle, onToolsToggle, focusToolsButtons]);
|
|
328
|
-
const splitPanelBottomOffset = (
|
|
339
|
+
const splitPanelBottomOffset = (_c = (!splitPanelDisplayed || finalSplitPanePosition !== 'bottom'
|
|
329
340
|
? undefined
|
|
330
341
|
: splitPanelOpen
|
|
331
342
|
? splitPanelReportedSize
|
|
332
|
-
: splitPanelReportedHeaderHeight)) !== null &&
|
|
343
|
+
: splitPanelReportedHeaderHeight)) !== null && _c !== void 0 ? _c : undefined;
|
|
333
344
|
return (React.createElement("div", { className: clsx(styles.root, testutilStyles.root, disableBodyScroll && styles['root-no-scroll']), ref: rootRef },
|
|
334
345
|
React.createElement("div", { className: styles['layout-wrapper'], style: contentHeightStyle },
|
|
335
346
|
isMobile && (!toolsHide || !navigationHide || breadcrumbs) && (React.createElement(MobileToolbar, { anyPanelOpen: anyPanelOpen, toggleRefs: { navigation: navigationRefs.toggle, tools: toolsRefs.toggle }, topOffset: headerHeight, ariaLabels: ariaLabels, navigationHide: navigationHide, toolsHide: toolsHide, onNavigationOpen: () => onNavigationToggle(true), onToolsOpen: () => onToolsToggle(true), unfocusable: anyPanelOpen, drawers: drawers
|
|
@@ -340,7 +351,7 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
340
351
|
if ((selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id) !== changeDetail.activeDrawerId) {
|
|
341
352
|
onToolsToggle(changeDetail.activeDrawerId === 'tools');
|
|
342
353
|
focusDrawersButtons();
|
|
343
|
-
|
|
354
|
+
setActiveDrawerId(changeDetail.activeDrawerId);
|
|
344
355
|
setDrawerLastInteraction({ type: 'open' });
|
|
345
356
|
fireNonCancelableEvent(drawers.onChange, changeDetail.activeDrawerId);
|
|
346
357
|
}
|
|
@@ -382,25 +393,30 @@ const OldAppLayout = React.forwardRef((_a, ref) => {
|
|
|
382
393
|
} }, content))),
|
|
383
394
|
finalSplitPanePosition === 'bottom' && splitPanelWrapped),
|
|
384
395
|
finalSplitPanePosition === 'side' && (React.createElement(SideSplitPanelDrawer, { topOffset: headerHeight, bottomOffset: footerHeight, displayed: splitPanelDisplayed, width: splitPanelOpen ? splitPanelSize : undefined }, splitPanelWrapped)),
|
|
385
|
-
((
|
|
386
|
-
(
|
|
396
|
+
((hasDrawers && (selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id)) || (!hasDrawers && !toolsHide)) &&
|
|
397
|
+
(hasDrawers ? (React.createElement(ResizableDrawer, { contentClassName: (selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id) === 'tools' ? testutilStyles.tools : testutilStyles['active-drawer'], toggleClassName: (selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id) === 'tools' ? testutilStyles['tools-toggle'] : testutilStyles['drawers-trigger'], closeClassName: (selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id) === 'tools'
|
|
398
|
+
? testutilStyles['tools-close']
|
|
399
|
+
: testutilStyles['active-drawer-close-button'], ariaLabels: ariaLabels, drawersAriaLabels: selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.ariaLabels, width: !isResizeInvalid ? drawerSize : toolsWidth, bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, onToggle: onToolsToggle, isOpen: toolsOpen || activeDrawerId !== undefined, toggleRefs: toolsRefs, type: "tools", onLoseFocus: hasDrawers ? loseDrawersFocus : loseToolsFocus, activeDrawer: selectedDrawer, drawers: {
|
|
387
400
|
items: tools && !toolsHide ? [toolsItem, ...drawers.items] : drawers.items,
|
|
388
|
-
activeDrawerId: selectedDrawer.id,
|
|
401
|
+
activeDrawerId: selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id,
|
|
389
402
|
onChange: changeDetail => {
|
|
390
403
|
onToolsToggle(false);
|
|
391
404
|
setDrawerLastInteraction({ type: 'close' });
|
|
392
|
-
|
|
405
|
+
setActiveDrawerId(changeDetail.activeDrawerId);
|
|
393
406
|
fireNonCancelableEvent(drawers.onChange, changeDetail.activeDrawerId);
|
|
394
407
|
},
|
|
395
|
-
}, size:
|
|
396
|
-
|
|
408
|
+
}, size: !isResizeInvalid ? drawerSize : toolsWidth, onResize: changeDetail => {
|
|
409
|
+
fireNonCancelableEvent(drawers.onResize, changeDetail);
|
|
410
|
+
setDrawerSizes(Object.assign(Object.assign({}, drawerSizes), { [changeDetail.id]: changeDetail.size }));
|
|
411
|
+
}, refs: drawerRefs, getMaxWidth: getDrawerMaxWidth }, selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.content)) : (React.createElement(Drawer, { contentClassName: testutilStyles.tools, toggleClassName: testutilStyles['tools-toggle'], closeClassName: testutilStyles['tools-close'], ariaLabels: ariaLabels, width: effectiveToolsWidth, bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, onToggle: onToolsToggle, isOpen: toolsOpen, toggleRefs: toolsRefs, type: "tools", onLoseFocus: loseToolsFocus }, tools))),
|
|
412
|
+
hasDrawers && (React.createElement(DrawerTriggersBar, { contentClassName: testutilStyles['drawers-desktop-triggers-container'], toggleClassName: testutilStyles['drawers-trigger'], bottomOffset: footerHeight, topOffset: headerHeight, isMobile: isMobile, drawers: {
|
|
397
413
|
items: tools && !toolsHide ? [toolsItem, ...drawers.items] : drawers.items,
|
|
398
414
|
activeDrawerId: selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id,
|
|
399
415
|
onChange: changeDetail => {
|
|
400
416
|
if ((selectedDrawer === null || selectedDrawer === void 0 ? void 0 : selectedDrawer.id) !== changeDetail.activeDrawerId) {
|
|
401
417
|
onToolsToggle(changeDetail.activeDrawerId === 'tools');
|
|
402
418
|
focusDrawersButtons();
|
|
403
|
-
|
|
419
|
+
setActiveDrawerId(changeDetail.activeDrawerId);
|
|
404
420
|
setDrawerLastInteraction({ type: 'open' });
|
|
405
421
|
fireNonCancelableEvent(drawers.onChange, changeDetail.activeDrawerId);
|
|
406
422
|
}
|