@aurelia-mdc-web/base
Version:
Base classes for Aurelia Material Components Web
55 lines • 2.54 kB
JavaScript
;
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