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

169 lines • 7.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DrpDropdownWrapper = exports.SelectionModeSwitchWrapper = exports.CalendarDateWrapper = void 0; // 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_1 = require("../button"); const input_1 = require("../input"); const radio_group_1 = require("../radio-group"); const segmented_control_1 = require("../segmented-control"); const select_1 = require("../select"); const styles_selectors_js_1 = require("../../../date-range-picker/test-classes/styles.selectors.js"); class CalendarDateWrapper extends selectors_1.ComponentWrapper { findDisabledReason() { return (0, selectors_1.createWrapper)().find(`.${styles_selectors_js_1.default['disabled-reason-tooltip']}`); } } exports.CalendarDateWrapper = CalendarDateWrapper; class DateRangePickerWrapper extends selectors_1.ComponentWrapper { /** * Alias for `findTrigger` * @deprecated */ findLabel() { return this.findTrigger(); } /** * Returns the trigger element that can be used to open the picker dropdown. */ findTrigger() { return this.findByClassName(styles_selectors_js_1.default.label); } /** * @param options * * expandToViewport (boolean) - Use this when the component under test is rendered with an `expandToViewport` flag. */ findDropdown(options = { expandToViewport: false }) { const wrapper = options.expandToViewport ? (0, selectors_1.createWrapper)() : this; return wrapper.findComponent(`.${styles_selectors_js_1.default.dropdown}`, DrpDropdownWrapper); } } exports.default = DateRangePickerWrapper; DateRangePickerWrapper.rootSelector = styles_selectors_js_1.default.root; class SelectionModeSwitchWrapper extends selectors_1.ComponentWrapper { /** * Returns the mode selector as a SegmentedControl wrapper. * * The mode selector is only rendered as a SegmentedControl on wide viewports. On narrow viewports, use `findModesAsSelect()` instead. */ findModesAsSegments() { return new segmented_control_1.default(this.getElement()); } /** * Returns the mode selector as a Select wrapper. * The mode selector is only rendered as a Select on narrow viewports. On wide viewports, use `findModesAsSegments()` instead. */ findModesAsSelect() { return new select_1.default(this.getElement()); } } exports.SelectionModeSwitchWrapper = SelectionModeSwitchWrapper; class DrpDropdownWrapper extends selectors_1.ComponentWrapper { findSelectionModeSwitch() { return this.findComponent(`.${styles_selectors_js_1.default['mode-switch']}`, SelectionModeSwitchWrapper); } findValidationError() { return this.findByClassName(styles_selectors_js_1.default['validation-error']); } // -- Relative mode -- findRelativeRangeRadioGroup() { return this.findComponent(`.${styles_selectors_js_1.default['relative-range-radio-group']}`, radio_group_1.default); } findCustomRelativeRangeDuration() { return this.findComponent(`.${styles_selectors_js_1.default['custom-range-duration-input']}`, input_1.default); } findCustomRelativeRangeUnit() { return this.findComponent(`.${styles_selectors_js_1.default['custom-range-unit-select']}`, select_1.default); } // -- Absolute mode -- findHeader() { return this.findByClassName(styles_selectors_js_1.default['calendar-header']); } findPreviousButton() { return this.findComponent(`.${styles_selectors_js_1.default['calendar-prev-page-btn']}`, button_1.default); } findNextButton() { return this.findComponent(`.${styles_selectors_js_1.default['calendar-next-page-btn']}`, button_1.default); } /** * Alias for findPreviousButton for compatibility with previous versions. * @deprecated */ findPreviousMonthButton() { return this.findComponent(`.${styles_selectors_js_1.default['calendar-prev-month-btn']}`, button_1.default); } /** * Alias for findNextButton for compatibility with previous versions. * @deprecated */ findNextMonthButton() { return this.findComponent(`.${styles_selectors_js_1.default['calendar-next-month-btn']}`, button_1.default); } /** * Returns the day container that corresponds to the current day. */ findCurrentDay() { return this.findComponent(`.${styles_selectors_js_1.default.today}`, CalendarDateWrapper); } /** * Returns the month container that corresponds to the current month. */ findCurrentMonth() { return this.findComponent(`.${styles_selectors_js_1.default['this-month']}`, CalendarDateWrapper); } /** * Returns a day container on the calendar. * * @param grid the calendar grid. If only one calendar grid is visible (on small screens), use `'right'`. * @param row 1-based row index of the day. * @param column 1-based column index of the day. */ findDateAt(grid, row, column) { const gridClassName = grid === 'right' ? styles_selectors_js_1.default['second-grid'] : styles_selectors_js_1.default['first-grid']; return this.findComponent(`.${gridClassName} .${styles_selectors_js_1.default['calendar-week']}[data-awsui-weekindex="${row}"] .${styles_selectors_js_1.default['calendar-date']}:nth-child(${column})`, CalendarDateWrapper); } /** * Returns a month container on the calendar. * * @param grid the calendar grid. If only one calendar grid is visible (on small screens), use `'right'`. * @param row 1-based row index of the month. * @param column 1-based column index of the month. */ findMonthAt(grid, row, column) { const gridClassName = grid === 'right' ? styles_selectors_js_1.default['second-grid'] : styles_selectors_js_1.default['first-grid']; return this.findComponent(`.${gridClassName} .${styles_selectors_js_1.default['calendar-quarter']}:nth-child(${row}) .${styles_selectors_js_1.default['calendar-month']}:nth-child(${column})`, CalendarDateWrapper); } findSelectedStartDate() { return this.findByClassName(styles_selectors_js_1.default['start-date']); } findSelectedEndDate() { return this.findByClassName(styles_selectors_js_1.default['end-date']); } findStartDateInput() { return this.findComponent(`.${styles_selectors_js_1.default['start-date-input']}`, input_1.default); } findStartTimeInput() { return this.findComponent(`.${styles_selectors_js_1.default['start-time-input']}`, input_1.default); } findEndDateInput() { return this.findComponent(`.${styles_selectors_js_1.default['end-date-input']}`, input_1.default); } findEndTimeInput() { return this.findComponent(`.${styles_selectors_js_1.default['end-time-input']}`, input_1.default); } // -- Footer -- findClearButton() { return this.findComponent(`.${styles_selectors_js_1.default['clear-button']}`, button_1.default); } findCancelButton() { return this.findComponent(`.${styles_selectors_js_1.default['cancel-button']}`, button_1.default); } findApplyButton() { return this.findComponent(`.${styles_selectors_js_1.default['apply-button']}`, button_1.default); } } exports.DrpDropdownWrapper = DrpDropdownWrapper; //# sourceMappingURL=index.js.map