@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
JavaScript
;
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);
}
}
DateRangePickerWrapper.rootSelector = styles_selectors_js_1.default.root;
exports.default = DateRangePickerWrapper;
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