@ux-aspects/ux-aspects
Version:
Open source user interface framework for building modern, responsive, mobile big data applications
42 lines • 6.17 kB
JavaScript
import { Directive, inject, Input } from '@angular/core';
import { LocalFocusIndicatorOptions } from './focus-indicator-options';
import * as i0 from "@angular/core";
export class FocusIndicatorOptionsDirective {
constructor() {
this._options = inject(LocalFocusIndicatorOptions, { self: true });
}
/** If `true`, this element will receive a focus indicator when the element is clicked on. */
set mouseFocusIndicator(mouseFocusIndicator) {
this._options.mouseFocusIndicator = mouseFocusIndicator;
}
/** If `true`, this element will receive a focus indicator when the element is touched. */
set touchFocusIndicator(touchFocusIndicator) {
this._options.touchFocusIndicator = touchFocusIndicator;
}
/** If `true`, this element will receive a focus indicator when the element is focused using the keyboard. */
set keyboardFocusIndicator(keyboardFocusIndicator) {
this._options.keyboardFocusIndicator = keyboardFocusIndicator;
}
/** If `true`, this element will receive a focus indicator when the element is programmatically focused. */
set programmaticFocusIndicator(programmaticFocusIndicator) {
this._options.programmaticFocusIndicator = programmaticFocusIndicator;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FocusIndicatorOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.12", type: FocusIndicatorOptionsDirective, selector: "[uxFocusIndicatorOptions]", inputs: { mouseFocusIndicator: "mouseFocusIndicator", touchFocusIndicator: "touchFocusIndicator", keyboardFocusIndicator: "keyboardFocusIndicator", programmaticFocusIndicator: "programmaticFocusIndicator" }, providers: [LocalFocusIndicatorOptions], ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: FocusIndicatorOptionsDirective, decorators: [{
type: Directive,
args: [{
selector: '[uxFocusIndicatorOptions]',
providers: [LocalFocusIndicatorOptions]
}]
}], propDecorators: { mouseFocusIndicator: [{
type: Input
}], touchFocusIndicator: [{
type: Input
}], keyboardFocusIndicator: [{
type: Input
}], programmaticFocusIndicator: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXMtaW5kaWNhdG9yLW9wdGlvbnMuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2RpcmVjdGl2ZXMvYWNjZXNzaWJpbGl0eS9mb2N1cy1pbmRpY2F0b3IvZm9jdXMtaW5kaWNhdG9yLW9wdGlvbnMvZm9jdXMtaW5kaWNhdG9yLW9wdGlvbnMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFNdkUsTUFBTSxPQUFPLDhCQUE4QjtJQUozQztRQUtxQixhQUFRLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7S0FxQmxGO0lBbkJHLDZGQUE2RjtJQUM3RixJQUFhLG1CQUFtQixDQUFDLG1CQUE0QjtRQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixHQUFHLG1CQUFtQixDQUFDO0lBQzVELENBQUM7SUFFRCwwRkFBMEY7SUFDMUYsSUFBYSxtQkFBbUIsQ0FBQyxtQkFBNEI7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsR0FBRyxtQkFBbUIsQ0FBQztJQUM1RCxDQUFDO0lBRUQsNkdBQTZHO0lBQzdHLElBQWEsc0JBQXNCLENBQUMsc0JBQStCO1FBQy9ELElBQUksQ0FBQyxRQUFRLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUM7SUFDbEUsQ0FBQztJQUVELDJHQUEyRztJQUMzRyxJQUFhLDBCQUEwQixDQUFDLDBCQUFtQztRQUN2RSxJQUFJLENBQUMsUUFBUSxDQUFDLDBCQUEwQixHQUFHLDBCQUEwQixDQUFDO0lBQzFFLENBQUM7K0dBckJRLDhCQUE4QjttR0FBOUIsOEJBQThCLG9RQUY1QixDQUFDLDBCQUEwQixDQUFDOzs0RkFFOUIsOEJBQThCO2tCQUoxQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLFNBQVMsRUFBRSxDQUFDLDBCQUEwQixDQUFDO2lCQUMxQzs4QkFLZ0IsbUJBQW1CO3NCQUEvQixLQUFLO2dCQUtPLG1CQUFtQjtzQkFBL0IsS0FBSztnQkFLTyxzQkFBc0I7c0JBQWxDLEtBQUs7Z0JBS08sMEJBQTBCO3NCQUF0QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY2Nlc3NpYmlsaXR5T3B0aW9ucyB9IGZyb20gJy4uLy4uL29wdGlvbnMvYWNjZXNzaWJpbGl0eS1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBMb2NhbEZvY3VzSW5kaWNhdG9yT3B0aW9ucyB9IGZyb20gJy4vZm9jdXMtaW5kaWNhdG9yLW9wdGlvbnMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1t1eEZvY3VzSW5kaWNhdG9yT3B0aW9uc10nLFxuICAgIHByb3ZpZGVyczogW0xvY2FsRm9jdXNJbmRpY2F0b3JPcHRpb25zXVxufSlcbmV4cG9ydCBjbGFzcyBGb2N1c0luZGljYXRvck9wdGlvbnNEaXJlY3RpdmUgaW1wbGVtZW50cyBBY2Nlc3NpYmlsaXR5T3B0aW9ucyB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfb3B0aW9ucyA9IGluamVjdChMb2NhbEZvY3VzSW5kaWNhdG9yT3B0aW9ucywgeyBzZWxmOiB0cnVlIH0pO1xuXG4gICAgLyoqIElmIGB0cnVlYCwgdGhpcyBlbGVtZW50IHdpbGwgcmVjZWl2ZSBhIGZvY3VzIGluZGljYXRvciB3aGVuIHRoZSBlbGVtZW50IGlzIGNsaWNrZWQgb24uICovXG4gICAgQElucHV0KCkgc2V0IG1vdXNlRm9jdXNJbmRpY2F0b3IobW91c2VGb2N1c0luZGljYXRvcjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9vcHRpb25zLm1vdXNlRm9jdXNJbmRpY2F0b3IgPSBtb3VzZUZvY3VzSW5kaWNhdG9yO1xuICAgIH1cblxuICAgIC8qKiBJZiBgdHJ1ZWAsIHRoaXMgZWxlbWVudCB3aWxsIHJlY2VpdmUgYSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgZWxlbWVudCBpcyB0b3VjaGVkLiAqL1xuICAgIEBJbnB1dCgpIHNldCB0b3VjaEZvY3VzSW5kaWNhdG9yKHRvdWNoRm9jdXNJbmRpY2F0b3I6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5fb3B0aW9ucy50b3VjaEZvY3VzSW5kaWNhdG9yID0gdG91Y2hGb2N1c0luZGljYXRvcjtcbiAgICB9XG5cbiAgICAvKiogSWYgYHRydWVgLCB0aGlzIGVsZW1lbnQgd2lsbCByZWNlaXZlIGEgZm9jdXMgaW5kaWNhdG9yIHdoZW4gdGhlIGVsZW1lbnQgaXMgZm9jdXNlZCB1c2luZyB0aGUga2V5Ym9hcmQuICovXG4gICAgQElucHV0KCkgc2V0IGtleWJvYXJkRm9jdXNJbmRpY2F0b3Ioa2V5Ym9hcmRGb2N1c0luZGljYXRvcjogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9vcHRpb25zLmtleWJvYXJkRm9jdXNJbmRpY2F0b3IgPSBrZXlib2FyZEZvY3VzSW5kaWNhdG9yO1xuICAgIH1cblxuICAgIC8qKiBJZiBgdHJ1ZWAsIHRoaXMgZWxlbWVudCB3aWxsIHJlY2VpdmUgYSBmb2N1cyBpbmRpY2F0b3Igd2hlbiB0aGUgZWxlbWVudCBpcyBwcm9ncmFtbWF0aWNhbGx5IGZvY3VzZWQuICovXG4gICAgQElucHV0KCkgc2V0IHByb2dyYW1tYXRpY0ZvY3VzSW5kaWNhdG9yKHByb2dyYW1tYXRpY0ZvY3VzSW5kaWNhdG9yOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX29wdGlvbnMucHJvZ3JhbW1hdGljRm9jdXNJbmRpY2F0b3IgPSBwcm9ncmFtbWF0aWNGb2N1c0luZGljYXRvcjtcbiAgICB9XG59XG4iXX0=