UNPKG

@aurelia-mdc-web/base

Version:

Base classes for Aurelia Material Components Web

55 lines 2.54 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MdcFocusTrap = void 0; var tslib_1 = require("tslib"); var aurelia_dependency_injection_1 = require("aurelia-dependency-injection"); var aurelia_templating_1 = require("aurelia-templating"); var aurelia_typed_observable_plugin_1 = require("aurelia-typed-observable-plugin"); var focus_trap_1 = require("@material/dom/focus-trap"); require("../aurelia-typed-observable-plugin-fix"); var MdcFocusTrap = /** @class */ (function () { function MdcFocusTrap(root) { this.root = root; } MdcFocusTrap.prototype.attached = function () { if (!this.delay) { this.create(); } }; MdcFocusTrap.prototype.create = function () { var el = this.initialFocusEl instanceof HTMLElement || this.initialFocusEl === undefined ? this.initialFocusEl : this.initialFocusEl(); this.focusTrap = new focus_trap_1.FocusTrap(this.root, { initialFocusEl: el, skipInitialFocus: this.skipInitialFocus, skipRestoreFocus: this.skipRestoreFocus }); }; MdcFocusTrap.prototype.trapFocus = function () { var _a; (_a = this.focusTrap) === null || _a === void 0 ? void 0 : _a.trapFocus(); }; MdcFocusTrap.prototype.releaseFocus = function () { var _a; (_a = this.focusTrap) === null || _a === void 0 ? void 0 : _a.releaseFocus(); }; tslib_1.__decorate([ aurelia_typed_observable_plugin_1.bindable.booleanAttr, tslib_1.__metadata("design:type", Boolean) ], MdcFocusTrap.prototype, "delay", void 0); tslib_1.__decorate([ aurelia_typed_observable_plugin_1.bindable.none, tslib_1.__metadata("design:type", Object) ], MdcFocusTrap.prototype, "initialFocusEl", void 0); tslib_1.__decorate([ aurelia_typed_observable_plugin_1.bindable.booleanAttr, tslib_1.__metadata("design:type", Boolean) ], MdcFocusTrap.prototype, "skipInitialFocus", void 0); tslib_1.__decorate([ aurelia_typed_observable_plugin_1.bindable.booleanAttr, tslib_1.__metadata("design:type", Boolean) ], MdcFocusTrap.prototype, "skipRestoreFocus", void 0); MdcFocusTrap = tslib_1.__decorate([ (0, aurelia_templating_1.customAttribute)('mdc-focus-trap'), (0, aurelia_dependency_injection_1.inject)(Element), tslib_1.__metadata("design:paramtypes", [HTMLElement]) ], MdcFocusTrap); return MdcFocusTrap; }()); exports.MdcFocusTrap = MdcFocusTrap; //# sourceMappingURL=mdc-focus-trap.js.map