@aurelia-mdc-web/base
Version:
Base classes for Aurelia Material Components Web
51 lines • 2.72 kB
JavaScript
define(["require", "exports", "tslib", "aurelia-dependency-injection", "aurelia-templating", "aurelia-typed-observable-plugin", "@material/dom/focus-trap", "../aurelia-typed-observable-plugin-fix"], function (require, exports, tslib_1, aurelia_dependency_injection_1, aurelia_templating_1, aurelia_typed_observable_plugin_1, focus_trap_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.MdcFocusTrap = void 0;
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