@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
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.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;