@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
114 lines (113 loc) • 6.57 kB
JavaScript
;
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.AutosuggestDropdownWrapper = void 0;
var dom_1 = require("@awsui/test-utils-core/dom");
var input_1 = require("../input");
var utils_1 = require("@awsui/test-utils-core/utils");
var option_1 = require("../internal/option");
var options_list_1 = require("../internal/options-list");
var dropdown_1 = require("../internal/dropdown");
var styles_selectors_js_1 = require("../../../autosuggest/styles.selectors.js");
var styles_selectors_js_2 = require("../../../internal/components/dropdown-status/styles.selectors.js");
var styles_selectors_js_3 = require("../../../internal/components/selectable-item/styles.selectors.js");
var styles_selectors_js_4 = require("../../../internal/components/dropdown-status/styles.selectors.js");
var styles_selectors_js_5 = require("../../../internal/components/option/styles.selectors.js");
var AutosuggestDropdownWrapper = (function (_super) {
__extends(AutosuggestDropdownWrapper, _super);
function AutosuggestDropdownWrapper() {
return _super !== null && _super.apply(this, arguments) || this;
}
AutosuggestDropdownWrapper.prototype.findOptions = function () {
return this.findAll("." + styles_selectors_js_3.default['selectable-item'] + "[data-test-index]").map(function (elementWrapper) { return new option_1.default(elementWrapper.getElement()); });
};
AutosuggestDropdownWrapper.prototype.findOption = function (optionIndex) {
return this.findComponent("." + styles_selectors_js_3.default['selectable-item'] + "[data-test-index=\"" + optionIndex + "\"]", option_1.default);
};
AutosuggestDropdownWrapper.prototype.findOptionByValue = function (value) {
var toReplace = utils_1.escapeSelector(value);
return this.findComponent("." + option_1.default.rootSelector + "[data-value=\"" + toReplace + "\"", option_1.default);
};
AutosuggestDropdownWrapper.prototype.findOptionInGroup = function (groupIndex, optionIndex) {
return this.findComponent("." + styles_selectors_js_3.default['selectable-item'] + "[data-group-index=\"" + groupIndex + "\"][data-in-group-index=\"" + optionIndex + "\"]", option_1.default);
};
AutosuggestDropdownWrapper.prototype.findOptionsContainer = function () {
return this.findByClassName(options_list_1.default.rootSelector);
};
AutosuggestDropdownWrapper.prototype.findFooterRegion = function () {
return this.findByClassName(styles_selectors_js_4.default.root);
};
AutosuggestDropdownWrapper.prototype.findOpenDropdown = function () {
var dropdown = new dropdown_1.default(this.getElement());
return dropdown.findOpenDropdown();
};
AutosuggestDropdownWrapper.prototype.findHighlightedOption = function () {
return this.findComponent("." + styles_selectors_js_3.default.highlighted, option_1.default);
};
AutosuggestDropdownWrapper.prototype.findDisabledOptions = function () {
return this.findAllByClassName(styles_selectors_js_3.default.disabled).map(function (elementWrapper) { return new option_1.default(elementWrapper.getElement()); });
};
AutosuggestDropdownWrapper.prototype.findHighlightedMatches = function () {
return this.findAllByClassName(styles_selectors_js_5.default['filtering-match-highlight']);
};
AutosuggestDropdownWrapper.prototype.findHighlightedAriaLiveRegion = function () {
return this.find('[aria-live]');
};
return AutosuggestDropdownWrapper;
}(dom_1.ComponentWrapper));
exports.AutosuggestDropdownWrapper = AutosuggestDropdownWrapper;
var AutosuggestWrapper = (function (_super) {
__extends(AutosuggestWrapper, _super);
function AutosuggestWrapper() {
return _super !== null && _super.apply(this, arguments) || this;
}
AutosuggestWrapper.prototype.findDropdown = function () {
return new AutosuggestDropdownWrapper(this.getElement());
};
AutosuggestWrapper.prototype.findStatusIndicator = function () {
return this.findByClassName(styles_selectors_js_2.default.root);
};
AutosuggestWrapper.prototype.findErrorRecoveryButton = function () {
return this.findByClassName(styles_selectors_js_4.default.recovery);
};
AutosuggestWrapper.prototype.findEnteredTextOption = function () {
return this.findByClassName(styles_selectors_js_3.default['has-background']);
};
AutosuggestWrapper.prototype.selectSuggestion = function (index) {
this.findDropdown().findOption(index).fireEvent(new MouseEvent('mousedown'));
this.findNativeInput().blur();
this.findDropdown().findOption(index).fireEvent(new MouseEvent('mouseup'));
};
AutosuggestWrapper.prototype.selectSuggestionByValue = function (value) {
this.findDropdown().findOptionByValue(value).fireEvent(new MouseEvent('mousedown'));
this.findNativeInput().blur();
this.findDropdown().findOptionByValue(value).fireEvent(new MouseEvent('mouseup'));
};
AutosuggestWrapper.rootSelector = styles_selectors_js_1.default.root;
__decorate([
dom_1.usesDom
], AutosuggestWrapper.prototype, "selectSuggestion", null);
__decorate([
dom_1.usesDom
], AutosuggestWrapper.prototype, "selectSuggestionByValue", null);
return AutosuggestWrapper;
}(input_1.default));
exports.default = AutosuggestWrapper;