UNPKG

@awsui/components-react

Version:

On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en

97 lines 4.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 const selectors_1 = require("@awsui/test-utils-core/selectors"); const button_dropdown_1 = require("../button-dropdown"); const split_panel_1 = require("../split-panel"); const styles_selectors_js_1 = require("../../../app-layout/test-classes/styles.selectors.js"); const styles_selectors_js_2 = require("../../../split-panel/test-classes/styles.selectors.js"); class AppLayoutWrapper extends selectors_1.ComponentWrapper { findNavigation() { return this.findByClassName(styles_selectors_js_1.default.navigation); } findOpenNavigationPanel() { const navigation = this.findNavigation(); if (!navigation) { throw new Error('App Layout does not have navigation content'); } return navigation.matches(`:not(.${styles_selectors_js_1.default['drawer-closed']})`); } findNavigationToggle() { return this.findByClassName(styles_selectors_js_1.default['navigation-toggle']); } findNavigationClose() { return this.findByClassName(styles_selectors_js_1.default['navigation-close']); } findContentRegion() { return this.findByClassName(styles_selectors_js_1.default.content); } findNotifications() { return this.findByClassName(styles_selectors_js_1.default.notifications); } findBreadcrumbs() { return this.findByClassName(styles_selectors_js_1.default.breadcrumbs); } findTools() { return this.findByClassName(styles_selectors_js_1.default.tools); } findOpenToolsPanel() { const tools = this.findTools(); if (!tools) { throw new Error('App Layout does not have tools content'); } return tools.matches(`:not(.${styles_selectors_js_1.default['drawer-closed']})`); } findToolsClose() { return this.findByClassName(styles_selectors_js_1.default['tools-close']); } findToolsToggle() { return this.findByClassName(styles_selectors_js_1.default['tools-toggle']); } findSplitPanel() { return this.findComponent(`.${split_panel_1.default.rootSelector}`, split_panel_1.default); } findSplitPanelOpenButton() { return this.findByClassName(styles_selectors_js_2.default['open-button']); } findActiveDrawer() { return this.findByClassName(styles_selectors_js_1.default['active-drawer']); } findActiveDrawerCloseButton() { return this.findByClassName(styles_selectors_js_1.default['active-drawer-close-button']); } findDrawersTriggers() { return this.findAllByClassName(styles_selectors_js_1.default['drawers-trigger']); } /** * Finds a drawer trigger by the given id. * * @param id id of the trigger to find * @param options * * hasBadge (boolean) - If provided, only finds drawers with the badge or without badge respectively */ findDrawerTriggerById(id, options = {}) { const trigger = this.find(`.${styles_selectors_js_1.default['drawers-trigger']}[data-testid="awsui-app-layout-trigger-${id}"]`); if (!trigger || options.hasBadge === undefined) { return trigger; } const badgeSelector = `.${styles_selectors_js_1.default['drawers-trigger-with-badge']}`; return trigger.matches(options.hasBadge ? badgeSelector : `:not(${badgeSelector})`); } findDrawersOverflowTrigger() { return this.findComponent(`.${styles_selectors_js_1.default['overflow-menu']}`, button_dropdown_1.default); } findActiveDrawerResizeHandle() { return this.findByClassName(styles_selectors_js_1.default['drawers-slider']); } findToolbar() { return this.findByClassName(styles_selectors_js_1.default.toolbar); } findDrawerTriggerTooltip() { return (0, selectors_1.createWrapper)().findByClassName(styles_selectors_js_1.default['trigger-tooltip']); } } exports.default = AppLayoutWrapper; AppLayoutWrapper.rootSelector = styles_selectors_js_1.default.root; //# sourceMappingURL=index.js.map