UNPKG

@aurelia-mdc-web/base

Version:

Base classes for Aurelia Material Components Web

52 lines 2.09 kB
import { __decorate, __metadata } from "tslib"; import { inject } from 'aurelia-dependency-injection'; import { customAttribute } from 'aurelia-templating'; import { bindable } from 'aurelia-typed-observable-plugin'; import { FocusTrap } from '@material/dom/focus-trap'; import '../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 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(); }; __decorate([ bindable.booleanAttr, __metadata("design:type", Boolean) ], MdcFocusTrap.prototype, "delay", void 0); __decorate([ bindable.none, __metadata("design:type", Object) ], MdcFocusTrap.prototype, "initialFocusEl", void 0); __decorate([ bindable.booleanAttr, __metadata("design:type", Boolean) ], MdcFocusTrap.prototype, "skipInitialFocus", void 0); __decorate([ bindable.booleanAttr, __metadata("design:type", Boolean) ], MdcFocusTrap.prototype, "skipRestoreFocus", void 0); MdcFocusTrap = __decorate([ customAttribute('mdc-focus-trap'), inject(Element), __metadata("design:paramtypes", [HTMLElement]) ], MdcFocusTrap); return MdcFocusTrap; }()); export { MdcFocusTrap }; //# sourceMappingURL=mdc-focus-trap.js.map