fundamental-ngx
Version:
SAP Fiori Fundamentals, implemented in Angular
214 lines • 13.2 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, Output, EventEmitter, forwardRef, ViewEncapsulation } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
/**
* The component that represents an input group.
* The input group includes form inputs with add-ons that allow the user to better understand the information being entered.
*
* ```html
* <fd-input-group [placement]="'after'" [addOnText]="'$'" [placeholder]="'Amount'">
* </fd-input-group>
* ```
*/
var InputGroupComponent = /** @class */ (function () {
function InputGroupComponent() {
/**
* Whether the input group is in compact mode.
*/
this.compact = false;
/**
* Event emitted when the add-on button is clicked.
*/
this.addOnButtonClicked = new EventEmitter();
/**
* @hidden
*/
this.onChange = (/**
* @return {?}
*/
function () { });
/**
* @hidden
*/
this.onTouched = (/**
* @return {?}
*/
function () { });
}
Object.defineProperty(InputGroupComponent.prototype, "inputText", {
/** Get the value of the text input. */
get: /**
* Get the value of the text input.
* @return {?}
*/
function () {
return this.inputTextValue;
},
/** Set the value of the text input. */
set: /**
* Set the value of the text input.
* @param {?} value
* @return {?}
*/
function (value) {
this.inputTextValue = value;
this.onChange(value);
this.onTouched();
},
enumerable: true,
configurable: true
});
/** @hidden */
/**
* @hidden
* @param {?} value
* @return {?}
*/
InputGroupComponent.prototype.writeValue = /**
* @hidden
* @param {?} value
* @return {?}
*/
function (value) {
this.inputTextValue = value;
};
/** @hidden */
/**
* @hidden
* @param {?} fn
* @return {?}
*/
InputGroupComponent.prototype.registerOnChange = /**
* @hidden
* @param {?} fn
* @return {?}
*/
function (fn) {
this.onChange = fn;
};
/** @hidden */
/**
* @hidden
* @param {?} fn
* @return {?}
*/
InputGroupComponent.prototype.registerOnTouched = /**
* @hidden
* @param {?} fn
* @return {?}
*/
function (fn) {
this.onTouched = fn;
};
/** @hidden */
/**
* @hidden
* @param {?} $event
* @return {?}
*/
InputGroupComponent.prototype.buttonClicked = /**
* @hidden
* @param {?} $event
* @return {?}
*/
function ($event) {
this.addOnButtonClicked.emit($event);
};
InputGroupComponent.decorators = [
{ type: Component, args: [{
selector: 'fd-input-group',
template: "<div class=\"fd-input-group\"\n [ngClass]=\"{'fd-input-group--after': placement !== 'before',\n 'fd-input-group--before': placement === 'before', 'fd-input-group--inline': inline === true,\n 'fd-input-group--compact' : compact}\">\n <input [(ngModel)]=\"inputText\"\n [disabled]=\"disabled\"\n type=\"text\"\n *ngIf=\"placement !== 'before'\"\n placeholder=\"{{placeholder}}\"\n [ngClass]=\"{'fd-input--compact' : compact}\">\n <span *ngIf=\"!button\"\n class=\"fd-input-group__addon\"\n [ngClass]=\"{'fd-input-group__addon--after': placement !== 'before',\n 'fd-input-group__addon--before': placement === 'before'}\">\n <ng-container *ngIf=\"!glyph\">{{addOnText}}</ng-container>\n <span *ngIf=\"glyph\"\n [ngClass]=\"'sap-icon--' + glyph\"></span>\n </span>\n <span *ngIf=\"button\"\n class=\"fd-input-group__addon fd-input-group__addon--button\"\n [ngClass]=\"{'fd-input-group__addon--after': placement !== 'before', 'fd-input-group__addon--before': placement === 'before'}\">\n <button [disabled]=\"disabled\"\n *ngIf=\"!glyph\"\n (click)=\"buttonClicked($event)\"\n class=\"fd-button--light\">{{addOnText}}</button>\n <button [disabled]=\"disabled\"\n *ngIf=\"glyph\"\n (click)=\"buttonClicked($event)\"\n class=\"fd-button--icon fd-button--light\"\n [ngClass]=\"'sap-icon--' + glyph\"></button>\n </span>\n <input [(ngModel)]=\"inputText\"\n *ngIf=\"placement === 'before'\"\n [disabled]=\"disabled\"\n type=\"text\"\n placeholder=\"{{placeholder}}\"\n [ngClass]=\"{'fd-input--compact' : compact}\">\n</div>\n",
providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef((/**
* @return {?}
*/
function () { return InputGroupComponent; })),
multi: true
}
],
encapsulation: ViewEncapsulation.None
}] }
];
InputGroupComponent.propDecorators = {
placement: [{ type: Input }],
compact: [{ type: Input }],
inline: [{ type: Input }],
placeholder: [{ type: Input }],
addOnText: [{ type: Input }],
glyph: [{ type: Input }],
button: [{ type: Input }],
disabled: [{ type: Input }],
addOnButtonClicked: [{ type: Output }]
};
return InputGroupComponent;
}());
export { InputGroupComponent };
if (false) {
/**
* The placement of the add-on.
* Options include *before* and *after*
* @type {?}
*/
InputGroupComponent.prototype.placement;
/**
* Whether the input group is in compact mode.
* @type {?}
*/
InputGroupComponent.prototype.compact;
/**
* Whether the input group is inline.
* @type {?}
*/
InputGroupComponent.prototype.inline;
/**
* Placeholder for the input group.
* @type {?}
*/
InputGroupComponent.prototype.placeholder;
/**
* The text for the add-on.
* @type {?}
*/
InputGroupComponent.prototype.addOnText;
/**
* The icon value for the add-on.
* @type {?}
*/
InputGroupComponent.prototype.glyph;
/**
* Whether the icon add-on or the text add-on is a button.
* @type {?}
*/
InputGroupComponent.prototype.button;
/**
* Whether the input group is disabled.
* @type {?}
*/
InputGroupComponent.prototype.disabled;
/**
* Event emitted when the add-on button is clicked.
* @type {?}
*/
InputGroupComponent.prototype.addOnButtonClicked;
/**
* @hidden
* @type {?}
*/
InputGroupComponent.prototype.inputTextValue;
/**
* @hidden
* @type {?}
*/
InputGroupComponent.prototype.onChange;
/**
* @hidden
* @type {?}
*/
InputGroupComponent.prototype.onTouched;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZnVuZGFtZW50YWwtbmd4LyIsInNvdXJjZXMiOlsibGliL2lucHV0LWdyb3VwL2lucHV0LWdyb3VwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEcsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7O0FBV3pFO0lBQUE7Ozs7UUFzQkksWUFBTyxHQUFZLEtBQUssQ0FBQzs7OztRQTRCekIsdUJBQWtCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7Ozs7UUFNaEUsYUFBUTs7O1FBQVEsY0FBTyxDQUFDLEVBQUM7Ozs7UUFHekIsY0FBUzs7O1FBQVEsY0FBTyxDQUFDLEVBQUM7SUFpQzlCLENBQUM7SUE5Qkcsc0JBQUksMENBQVM7UUFEYix1Q0FBdUM7Ozs7O1FBQ3ZDO1lBQ0ksT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQy9CLENBQUM7UUFFRCx1Q0FBdUM7Ozs7OztRQUN2QyxVQUFjLEtBQUs7WUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNyQixDQUFDOzs7T0FQQTtJQVNELGNBQWM7Ozs7OztJQUNkLHdDQUFVOzs7OztJQUFWLFVBQVcsS0FBVTtRQUNqQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsY0FBYzs7Ozs7O0lBQ2QsOENBQWdCOzs7OztJQUFoQixVQUFpQixFQUFFO1FBQ2YsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGNBQWM7Ozs7OztJQUNkLCtDQUFpQjs7Ozs7SUFBakIsVUFBa0IsRUFBRTtRQUNoQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsY0FBYzs7Ozs7O0lBQ2QsMkNBQWE7Ozs7O0lBQWIsVUFBYyxNQUFNO1FBQ2hCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7Z0JBM0ZKLFNBQVMsU0FBQztvQkFDUCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixzdURBQTJDO29CQUMzQyxTQUFTLEVBQUU7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVU7Ozs0QkFBQyxjQUFNLE9BQUEsbUJBQW1CLEVBQW5CLENBQW1CLEVBQUM7NEJBQ2xELEtBQUssRUFBRSxJQUFJO3lCQUNkO3FCQUNKO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2lCQUN4Qzs7OzRCQU1JLEtBQUs7MEJBSUwsS0FBSzt5QkFJTCxLQUFLOzhCQUlMLEtBQUs7NEJBSUwsS0FBSzt3QkFJTCxLQUFLO3lCQUlMLEtBQUs7MkJBSUwsS0FBSztxQ0FJTCxNQUFNOztJQTJDWCwwQkFBQztDQUFBLEFBNUZELElBNEZDO1NBaEZZLG1CQUFtQjs7Ozs7OztJQUs1Qix3Q0FDa0I7Ozs7O0lBR2xCLHNDQUN5Qjs7Ozs7SUFHekIscUNBQ2dCOzs7OztJQUdoQiwwQ0FDb0I7Ozs7O0lBR3BCLHdDQUNrQjs7Ozs7SUFHbEIsb0NBQ2M7Ozs7O0lBR2QscUNBQ2dCOzs7OztJQUdoQix1Q0FDa0I7Ozs7O0lBR2xCLGlEQUNnRTs7Ozs7SUFHaEUsNkNBQXVCOzs7OztJQUd2Qix1Q0FBeUI7Ozs7O0lBR3pCLHdDQUEwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG4vKipcbiAqIFRoZSBjb21wb25lbnQgdGhhdCByZXByZXNlbnRzIGFuIGlucHV0IGdyb3VwLlxuICogVGhlIGlucHV0IGdyb3VwIGluY2x1ZGVzIGZvcm0gaW5wdXRzIHdpdGggYWRkLW9ucyB0aGF0IGFsbG93IHRoZSB1c2VyIHRvIGJldHRlciB1bmRlcnN0YW5kIHRoZSBpbmZvcm1hdGlvbiBiZWluZyBlbnRlcmVkLlxuICpcbiAqIGBgYGh0bWxcbiAqIDxmZC1pbnB1dC1ncm91cCBbcGxhY2VtZW50XT1cIidhZnRlcidcIiBbYWRkT25UZXh0XT1cIickJ1wiIFtwbGFjZWhvbGRlcl09XCInQW1vdW50J1wiPlxuICogPC9mZC1pbnB1dC1ncm91cD5cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLWlucHV0LWdyb3VwJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0R3JvdXBDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfVxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBJbnB1dEdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuICAgIC8qKiBcbiAgICAgKiBUaGUgcGxhY2VtZW50IG9mIHRoZSBhZGQtb24uIFxuICAgICAqIE9wdGlvbnMgaW5jbHVkZSAqYmVmb3JlKiBhbmQgKmFmdGVyKlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGxhY2VtZW50OiBzdHJpbmc7XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5wdXQgZ3JvdXAgaXMgaW4gY29tcGFjdCBtb2RlLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgY29tcGFjdDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIGlucHV0IGdyb3VwIGlzIGlubGluZS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGlubGluZTogYm9vbGVhbjtcblxuICAgIC8qKiBQbGFjZWhvbGRlciBmb3IgdGhlIGlucHV0IGdyb3VwLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgcGxhY2Vob2xkZXI6IHN0cmluZztcblxuICAgIC8qKiBUaGUgdGV4dCBmb3IgdGhlIGFkZC1vbi4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFkZE9uVGV4dDogc3RyaW5nO1xuXG4gICAgLyoqIFRoZSBpY29uIHZhbHVlIGZvciB0aGUgYWRkLW9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZ2x5cGg6IHN0cmluZztcblxuICAgIC8qKiBXaGV0aGVyIHRoZSBpY29uIGFkZC1vbiBvciB0aGUgdGV4dCBhZGQtb24gaXMgYSBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICBidXR0b246IGJvb2xlYW47XG5cbiAgICAvKiogV2hldGhlciB0aGUgaW5wdXQgZ3JvdXAgaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIGFkZC1vbiBidXR0b24gaXMgY2xpY2tlZC4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBhZGRPbkJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGlucHV0VGV4dFZhbHVlOiBzdHJpbmc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgb25Ub3VjaGVkOiBhbnkgPSAoKSA9PiB7fTtcblxuICAgIC8qKiBHZXQgdGhlIHZhbHVlIG9mIHRoZSB0ZXh0IGlucHV0LiAqL1xuICAgIGdldCBpbnB1dFRleHQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0VGV4dFZhbHVlO1xuICAgIH1cblxuICAgIC8qKiBTZXQgdGhlIHZhbHVlIG9mIHRoZSB0ZXh0IGlucHV0LiAqL1xuICAgIHNldCBpbnB1dFRleHQodmFsdWUpIHtcbiAgICAgICAgdGhpcy5pbnB1dFRleHRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLmlucHV0VGV4dFZhbHVlID0gdmFsdWU7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuKSB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBidXR0b25DbGlja2VkKCRldmVudCkge1xuICAgICAgICB0aGlzLmFkZE9uQnV0dG9uQ2xpY2tlZC5lbWl0KCRldmVudCk7XG4gICAgfVxufVxuIl19