UNPKG

@awsui/components-react

Version:

AWS UI is a collection of [React](https://reactjs.org/) components that help create intuitive, responsive, and accessible user experiences for web applications. It is developed by Amazon Web Services (AWS). This work is available under the terms of the [A

127 lines (126 loc) • 6.84 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DropdownContentWrapper = void 0; var test_utils_1 = require("react-dom/test-utils"); var dom_1 = require("@awsui/test-utils-core/dom"); var utils_1 = require("@awsui/test-utils-core/utils"); var dropdown_1 = require("./dropdown"); var options_list_1 = require("./options-list"); var option_1 = require("./option"); var styles_selectors_js_1 = require("../../../internal/components/selectable-item/styles.selectors.js"); var styles_selectors_js_2 = require("../../../internal/components/dropdown-status/styles.selectors.js"); var styles_selectors_js_3 = require("../../../internal/components/option/styles.selectors.js"); var DropdownHostComponentWrapper = (function (_super) { __extends(DropdownHostComponentWrapper, _super); function DropdownHostComponentWrapper() { return _super !== null && _super.apply(this, arguments) || this; } DropdownHostComponentWrapper.prototype.findDropdown = function () { return new DropdownContentWrapper(this.getElement()); }; DropdownHostComponentWrapper.prototype.openDropdown = function () { var _this = this; test_utils_1.act(function () { _this.findTrigger().click(); }); }; DropdownHostComponentWrapper.prototype.closeDropdown = function () { if (document.activeElement && this.element.contains(document.activeElement) && document.activeElement instanceof HTMLElement) { var element_1 = document.activeElement; test_utils_1.act(function () { element_1.blur(); }); } }; DropdownHostComponentWrapper.prototype.selectOption = function (index) { this.findDropdown() .findOption(index) .fireEvent(new MouseEvent('mousedown', { bubbles: true })); }; DropdownHostComponentWrapper.prototype.selectOptionByValue = function (value) { this.findDropdown() .findOptionByValue(value) .fireEvent(new MouseEvent('mousedown', { bubbles: true })); }; __decorate([ dom_1.usesDom ], DropdownHostComponentWrapper.prototype, "openDropdown", null); __decorate([ dom_1.usesDom ], DropdownHostComponentWrapper.prototype, "closeDropdown", null); __decorate([ dom_1.usesDom ], DropdownHostComponentWrapper.prototype, "selectOption", null); __decorate([ dom_1.usesDom ], DropdownHostComponentWrapper.prototype, "selectOptionByValue", null); return DropdownHostComponentWrapper; }(dom_1.ComponentWrapper)); exports.default = DropdownHostComponentWrapper; var DropdownContentWrapper = (function (_super) { __extends(DropdownContentWrapper, _super); function DropdownContentWrapper() { return _super !== null && _super.apply(this, arguments) || this; } DropdownContentWrapper.prototype.findDisabledOptions = function () { return this.findAllByClassName(styles_selectors_js_1.default.disabled).map(function (elementWrapper) { return new option_1.default(elementWrapper.getElement()); }); }; DropdownContentWrapper.prototype.findFooterRegion = function () { return this.findByClassName(styles_selectors_js_2.default.root); }; DropdownContentWrapper.prototype.findHighlightedAriaLiveRegion = function () { return this.find('[aria-live]'); }; DropdownContentWrapper.prototype.findHighlightedMatches = function () { return this.findAllByClassName(styles_selectors_js_3.default['filtering-match-highlight']); }; DropdownContentWrapper.prototype.findHighlightedOption = function () { return this.findComponent("." + styles_selectors_js_1.default.highlighted, option_1.default); }; DropdownContentWrapper.prototype.findOpenDropdown = function () { var dropdown = new dropdown_1.default(this.getElement()); return dropdown.findOpenDropdown(); }; DropdownContentWrapper.prototype.findOption = function (optionIndex) { return this.findComponent("." + styles_selectors_js_1.default['selectable-item'] + "[data-test-index=\"" + optionIndex + "\"] ." + option_1.default.rootSelector, option_1.default); }; DropdownContentWrapper.prototype.findOptionByValue = function (value) { var toReplace = utils_1.escapeSelector(value); return this.findComponent("." + option_1.default.rootSelector + "[data-value=\"" + toReplace + "\"", option_1.default); }; DropdownContentWrapper.prototype.findOptionInGroup = function (groupIndex, optionIndex) { return this.findComponent("." + styles_selectors_js_1.default['selectable-item'] + "[data-group-index=\"" + groupIndex + "\"][data-child-index=\"" + optionIndex + "\"] ." + option_1.default.rootSelector, option_1.default); }; DropdownContentWrapper.prototype.findOptions = function () { return this.findAll("." + styles_selectors_js_1.default['selectable-item'] + "[data-test-index] ." + option_1.default.rootSelector).map(function (elementWrapper) { return new option_1.default(elementWrapper.getElement()); }); }; DropdownContentWrapper.prototype.findOptionsContainer = function () { return this.findByClassName(options_list_1.default.rootSelector); }; DropdownContentWrapper.prototype.findSelectedOptions = function () { return this.findAllByClassName(styles_selectors_js_1.default.selected).map(function (elementWrapper) { return new option_1.default(elementWrapper.getElement()); }); }; return DropdownContentWrapper; }(dom_1.ComponentWrapper)); exports.DropdownContentWrapper = DropdownContentWrapper;