UNPKG

fundamental-ngx

Version:

SAP Fundamentals, implemented in Angular

183 lines 12.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, ElementRef, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation } from '@angular/core'; /** * Used to represent an option of the select component. */ var OptionComponent = /** @class */ (function () { /** @hidden */ function OptionComponent(elRef) { this.elRef = elRef; /** * @hidden */ this.fdMenuItemClass = true; /** * @hidden */ this.selected = false; /** * Whether to disable this option specifically. */ this.disabled = false; /** * Emitted when the selected state changes. */ this.selectedChange = new EventEmitter(); } /** @hidden */ /** * @hidden * @return {?} */ OptionComponent.prototype.ngOnInit = /** * @hidden * @return {?} */ function () { if (this.selected && !this.disabled) { this.focus(); } }; Object.defineProperty(OptionComponent.prototype, "viewValueText", { /** Returns the view value text of the option, or the viewValue input if it exists. */ get: /** * Returns the view value text of the option, or the viewValue input if it exists. * @return {?} */ function () { return this.viewValue ? this.viewValue : (((/** @type {?} */ (this.elRef.nativeElement))).textContent || '').trim(); }, enumerable: true, configurable: true }); /** Returns the view value text of the option, or the viewValue input if it exists. */ /** * Returns the view value text of the option, or the viewValue input if it exists. * @param {?} value * @param {?=} fireEvent * @return {?} */ OptionComponent.prototype.setSelected = /** * Returns the view value text of the option, or the viewValue input if it exists. * @param {?} value * @param {?=} fireEvent * @return {?} */ function (value, fireEvent) { if (fireEvent === void 0) { fireEvent = true; } this.selected = value; if (fireEvent) { this.selectedChange.emit(this); } }; /** Focuses the element. */ /** * Focuses the element. * @return {?} */ OptionComponent.prototype.focus = /** * Focuses the element. * @return {?} */ function () { ((/** @type {?} */ (this.elRef.nativeElement))).focus(); }; /** Returns HTMLElement representation of the component. */ /** * Returns HTMLElement representation of the component. * @return {?} */ OptionComponent.prototype.getHtmlElement = /** * Returns HTMLElement representation of the component. * @return {?} */ function () { return (/** @type {?} */ (this.elRef.nativeElement)); }; /** @hidden */ /** * @hidden * @return {?} */ OptionComponent.prototype.selectionHandler = /** * @hidden * @return {?} */ function () { if (!this.selected && !this.disabled) { this.selected = true; this.selectedChange.emit(this); } }; OptionComponent.decorators = [ { type: Component, args: [{ selector: 'fd-option', template: "<ng-content></ng-content>\n", encapsulation: ViewEncapsulation.None, host: { '[class.fd-option-default-custom]': 'true', '[attr.aria-disabled]': 'disabled', '[tabindex]': 'disabled ? -1 : 0', 'role': 'option', }, styles: [".fd-option-default-custom{text-overflow:ellipsis;white-space:nowrap;overflow-x:hidden}.fd-option-default-custom:focus{color:var(--fd-color-text-1);background-color:var(--fd-color-background-hover);outline:0}.fd-option-default-custom.is-selected:focus{background-color:var(--fd-color-background-selected-hover)}"] }] } ]; /** @nocollapse */ OptionComponent.ctorParameters = function () { return [ { type: ElementRef } ]; }; OptionComponent.propDecorators = { fdMenuItemClass: [{ type: HostBinding, args: ['class.fd-menu__item',] }], selected: [{ type: HostBinding, args: ['class.is-selected',] }], value: [{ type: Input }], disabled: [{ type: Input }], viewValue: [{ type: Input }], selectedChange: [{ type: Output }], selectionHandler: [{ type: HostListener, args: ['keydown.enter',] }, { type: HostListener, args: ['click',] }] }; return OptionComponent; }()); export { OptionComponent }; if (false) { /** * @hidden * @type {?} */ OptionComponent.prototype.fdMenuItemClass; /** * @hidden * @type {?} */ OptionComponent.prototype.selected; /** * Value of the option. Similar to how a native select operates. * @type {?} */ OptionComponent.prototype.value; /** * Whether to disable this option specifically. * @type {?} */ OptionComponent.prototype.disabled; /** * Override for the view value of the option. If none is provided, the text content is used. * @type {?} */ OptionComponent.prototype.viewValue; /** * Emitted when the selected state changes. * @type {?} */ OptionComponent.prototype.selectedChange; /** * @type {?} * @private */ OptionComponent.prototype.elRef; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2Z1bmRhbWVudGFsLW5neC8iLCJzb3VyY2VzIjpbImxpYi9zZWxlY3Qvb3B0aW9uL29wdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFLekk7SUF1Q0ksY0FBYztJQUNkLHlCQUFvQixLQUFpQjtRQUFqQixVQUFLLEdBQUwsS0FBSyxDQUFZOzs7O1FBeEJyQyxvQkFBZSxHQUFZLElBQUksQ0FBQzs7OztRQUloQyxhQUFRLEdBQVksS0FBSyxDQUFDOzs7O1FBUTFCLGFBQVEsR0FBWSxLQUFLLENBQUM7Ozs7UUFRakIsbUJBQWMsR0FDakIsSUFBSSxZQUFZLEVBQW1CLENBQUM7SUFHRixDQUFDO0lBR3pDLGNBQWM7Ozs7O0lBQ2Qsa0NBQVE7Ozs7SUFBUjtRQUNJLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2hCO0lBQ0wsQ0FBQztJQUdELHNCQUFJLDBDQUFhO1FBRGpCLHNGQUFzRjs7Ozs7UUFDdEY7WUFDSSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDcEMsQ0FBQyxDQUFDLG1CQUFBLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFlLENBQUMsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDN0UsQ0FBQzs7O09BQUE7SUFFRCxzRkFBc0Y7Ozs7Ozs7SUFDdEYscUNBQVc7Ozs7OztJQUFYLFVBQVksS0FBYyxFQUFFLFNBQXlCO1FBQXpCLDBCQUFBLEVBQUEsZ0JBQXlCO1FBQ2pELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBRXRCLElBQUksU0FBUyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDO0lBRUQsMkJBQTJCOzs7OztJQUMzQiwrQkFBSzs7OztJQUFMO1FBQ0ksQ0FBQyxtQkFBQSxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsRUFBZSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEQsQ0FBQztJQUVELDJEQUEyRDs7Ozs7SUFDM0Qsd0NBQWM7Ozs7SUFBZDtRQUNJLE9BQU8sbUJBQUEsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQWUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsY0FBYzs7Ozs7SUFHZCwwQ0FBZ0I7Ozs7SUFGaEI7UUFHSSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDbEM7SUFDTCxDQUFDOztnQkFuRkosU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSxXQUFXO29CQUNyQix1Q0FBc0M7b0JBRXRDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxJQUFJLEVBQUU7d0JBQ0Ysa0NBQWtDLEVBQUUsTUFBTTt3QkFDMUMsc0JBQXNCLEVBQUUsVUFBVTt3QkFDbEMsWUFBWSxFQUFFLG1CQUFtQjt3QkFDakMsTUFBTSxFQUFFLFFBQVE7cUJBQ25COztpQkFDSjs7OztnQkFoQm1CLFVBQVU7OztrQ0FvQnpCLFdBQVcsU0FBQyxxQkFBcUI7MkJBSWpDLFdBQVcsU0FBQyxtQkFBbUI7d0JBSS9CLEtBQUs7MkJBSUwsS0FBSzs0QkFJTCxLQUFLO2lDQUlMLE1BQU07bUNBeUNOLFlBQVksU0FBQyxlQUFlLGNBQzVCLFlBQVksU0FBQyxPQUFPOztJQVF6QixzQkFBQztDQUFBLEFBckZELElBcUZDO1NBekVZLGVBQWU7Ozs7OztJQUd4QiwwQ0FDZ0M7Ozs7O0lBR2hDLG1DQUMwQjs7Ozs7SUFHMUIsZ0NBQ1c7Ozs7O0lBR1gsbUNBQzBCOzs7OztJQUcxQixvQ0FDa0I7Ozs7O0lBR2xCLHlDQUUwQzs7Ozs7SUFHOUIsZ0NBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBVc2VkIHRvIHJlcHJlc2VudCBhbiBvcHRpb24gb2YgdGhlIHNlbGVjdCBjb21wb25lbnQuXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZmQtb3B0aW9uJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vb3B0aW9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9vcHRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5mZC1vcHRpb24tZGVmYXVsdC1jdXN0b21dJzogJ3RydWUnLFxuICAgICAgICAnW2F0dHIuYXJpYS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQnLFxuICAgICAgICAnW3RhYmluZGV4XSc6ICdkaXNhYmxlZCA/IC0xIDogMCcsXG4gICAgICAgICdyb2xlJzogJ29wdGlvbicsXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBPcHRpb25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmZkLW1lbnVfX2l0ZW0nKVxuICAgIGZkTWVudUl0ZW1DbGFzczogYm9vbGVhbiA9IHRydWU7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MuaXMtc2VsZWN0ZWQnKVxuICAgIHNlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICAvKiogVmFsdWUgb2YgdGhlIG9wdGlvbi4gU2ltaWxhciB0byBob3cgYSBuYXRpdmUgc2VsZWN0IG9wZXJhdGVzLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWU6IGFueTtcblxuICAgIC8qKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhpcyBvcHRpb24gc3BlY2lmaWNhbGx5LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIC8qKiBPdmVycmlkZSBmb3IgdGhlIHZpZXcgdmFsdWUgb2YgdGhlIG9wdGlvbi4gSWYgbm9uZSBpcyBwcm92aWRlZCwgdGhlIHRleHQgY29udGVudCBpcyB1c2VkLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmlld1ZhbHVlOiBzdHJpbmc7XG5cbiAgICAvKiogRW1pdHRlZCB3aGVuIHRoZSBzZWxlY3RlZCBzdGF0ZSBjaGFuZ2VzLiAqL1xuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IHNlbGVjdGVkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8T3B0aW9uQ29tcG9uZW50PlxuICAgICAgICA9IG5ldyBFdmVudEVtaXR0ZXI8T3B0aW9uQ29tcG9uZW50PigpO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsUmVmOiBFbGVtZW50UmVmKSB7fVxuXG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3RlZCAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIFJldHVybnMgdGhlIHZpZXcgdmFsdWUgdGV4dCBvZiB0aGUgb3B0aW9uLCBvciB0aGUgdmlld1ZhbHVlIGlucHV0IGlmIGl0IGV4aXN0cy4gKi9cbiAgICBnZXQgdmlld1ZhbHVlVGV4dCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52aWV3VmFsdWUgPyB0aGlzLnZpZXdWYWx1ZSA6XG4gICAgICAgICAgICAoKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkudGV4dENvbnRlbnQgfHwgJycpLnRyaW0oKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyB0aGUgdmlldyB2YWx1ZSB0ZXh0IG9mIHRoZSBvcHRpb24sIG9yIHRoZSB2aWV3VmFsdWUgaW5wdXQgaWYgaXQgZXhpc3RzLiAqL1xuICAgIHNldFNlbGVjdGVkKHZhbHVlOiBib29sZWFuLCBmaXJlRXZlbnQ6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB2YWx1ZTtcblxuICAgICAgICBpZiAoZmlyZUV2ZW50KSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkQ2hhbmdlLmVtaXQodGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogRm9jdXNlcyB0aGUgZWxlbWVudC4gKi9cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgKHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCkuZm9jdXMoKTtcbiAgICB9XG5cbiAgICAvKiogUmV0dXJucyBIVE1MRWxlbWVudCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29tcG9uZW50LiAqL1xuICAgIGdldEh0bWxFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxSZWYubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZW50ZXInKVxuICAgIEBIb3N0TGlzdGVuZXIoJ2NsaWNrJylcbiAgICBzZWxlY3Rpb25IYW5kbGVyKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWQgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZENoYW5nZS5lbWl0KHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iXX0=