UNPKG

sb-element

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 12.0.1. It is a component library constructed around the SCSS library [Sb-Theming](https://github.com/SeverinBuchser/SbTheming) and supports [Angular Schematics]

58 lines 8.69 kB
import { Component, Input } from '@angular/core'; import { NG_VALUE_ACCESSOR } from "@angular/forms"; import { Color, mixinDisable, mixinFocus, Size } from "../../core"; import { SbDoubleInput } from "../input"; import * as i0 from "@angular/core"; import * as i1 from "../number-input/double-number-input/double-number-input.component"; import * as i2 from "@angular/forms"; const SbTimeInputCore = mixinDisable(mixinFocus(class { })); export class SbTimeInputComponent extends SbTimeInputCore { constructor() { super(...arguments); this.color = Color.PRIMARY; this.size = Size.MEDIUM; this.onChange = () => { }; this.onTouch = () => { }; this.innerValue = new SbDoubleInput(); } set value(value) { this.writeValue(value); this.onChange(value); } get value() { return this.innerValue; } writeValue(value) { if (value !== this.innerValue && !this.disabled) { this.innerValue = value; } } registerOnChange(fn) { this.onChange = fn; } registerOnTouched(fn) { this.onTouch = fn; } onBlur() { this.onTouch(); } } SbTimeInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbTimeInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); SbTimeInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: SbTimeInputComponent, selector: "sb-input[type=time]", inputs: { disabled: "disabled", color: "color", size: "size" }, outputs: { focus: "focus", blur: "blur" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SbTimeInputComponent, multi: true }], usesInheritance: true, ngImport: i0, template: "<sb-input\n [size]=\"size\"\n [color]=\"color\"\n firstPlaceholder=\"Hour\"\n secondPlaceholder=\"Minute\"\n [prefixIcon]=\"'\\ue8b5'\"\n type=\"double-number\"\n [(ngModel)]=\"value\"\n [firstMin]=\"0\"\n [firstMax]=\"23\"\n [secondMin]=\"0\"\n [secondMax]=\"59\"\n (blur)=\"setFocusedState(false)\"\n (focus)=\"setFocusedState(true)\"\n [disabled]=\"disabled\">\n</sb-input>\n", components: [{ type: i1.SbDoubleNumberInputComponent, selector: "sb-input[type=double-number]", inputs: ["size", "color", "disabled", "firstPlaceholder", "secondPlaceholder", "firstMin", "secondMin", "firstMax", "secondMax", "delimiter", "type", "spellcheck", "prefixIcon", "suffixIcon"], outputs: ["focus", "blur"] }], directives: [{ type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: SbTimeInputComponent, decorators: [{ type: Component, args: [{ selector: 'sb-input[type=time]', inputs: [ 'disabled' ], outputs: [ 'focus', 'blur' ], providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: SbTimeInputComponent, multi: true }], template: "<sb-input\n [size]=\"size\"\n [color]=\"color\"\n firstPlaceholder=\"Hour\"\n secondPlaceholder=\"Minute\"\n [prefixIcon]=\"'\\ue8b5'\"\n type=\"double-number\"\n [(ngModel)]=\"value\"\n [firstMin]=\"0\"\n [firstMax]=\"23\"\n [secondMin]=\"0\"\n [secondMax]=\"59\"\n (blur)=\"setFocusedState(false)\"\n (focus)=\"setFocusedState(true)\"\n [disabled]=\"disabled\">\n</sb-input>\n" }] }], propDecorators: { color: [{ type: Input }], size: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zYi1lbGVtZW50L3NyYy9saWIvZm9ybXMvdGltZS1pbnB1dC90aW1lLWlucHV0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NiLWVsZW1lbnQvc3JjL2xpYi9mb3Jtcy90aW1lLWlucHV0L3RpbWUtaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDbkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7OztBQUV6QyxNQUFNLGVBQWUsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO0NBQVEsQ0FBQyxDQUFDLENBQUM7QUFrQjNELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxlQUFlO0lBaEJ6RDs7UUFtQlMsVUFBSyxHQUFXLEtBQUssQ0FBQyxPQUFPLENBQUM7UUFHOUIsU0FBSSxHQUFXLElBQUksQ0FBQyxNQUFNLENBQUM7UUFHMUIsYUFBUSxHQUFRLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN6QixZQUFPLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBRXhCLGVBQVUsR0FBMEIsSUFBSSxhQUFhLEVBQUUsQ0FBQztLQXFCakU7SUFuQkMsSUFBSSxLQUFLLENBQUMsS0FBNEI7UUFDcEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUdNLFVBQVUsQ0FBQyxLQUE0QjtRQUM1QyxJQUFJLEtBQUssS0FBSyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxFQUFPLElBQVUsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUEsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixDQUFDLEVBQU8sSUFBVSxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQSxDQUFDLENBQUM7SUFDdEQsTUFBTSxLQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQSxDQUFDLENBQUM7O2lIQWhDN0Isb0JBQW9CO3FHQUFwQixvQkFBb0IseUpBTnBCLENBQUM7WUFDVixPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxvQkFBb0I7WUFDakMsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLGlEQ3JCSiwwWUFnQkE7MkZET2Esb0JBQW9CO2tCQWhCaEMsU0FBUzsrQkFDRSxxQkFBcUIsVUFFdkI7d0JBQ04sVUFBVTtxQkFDWCxXQUNRO3dCQUNQLE9BQU87d0JBQ1AsTUFBTTtxQkFDUCxhQUNVLENBQUM7NEJBQ1YsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxzQkFBc0I7NEJBQ2pDLEtBQUssRUFBRSxJQUFJO3lCQUNaLENBQUM7OEJBS0ssS0FBSztzQkFEWCxLQUFLO2dCQUlDLElBQUk7c0JBRFYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgQ29sb3IsIG1peGluRGlzYWJsZSwgbWl4aW5Gb2N1cywgU2l6ZSB9IGZyb20gXCIuLi8uLi9jb3JlXCI7XG5pbXBvcnQgeyBTYkRvdWJsZUlucHV0IH0gZnJvbSBcIi4uL2lucHV0XCI7XG5cbmNvbnN0IFNiVGltZUlucHV0Q29yZSA9IG1peGluRGlzYWJsZShtaXhpbkZvY3VzKGNsYXNzIHt9KSk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NiLWlucHV0W3R5cGU9dGltZV0nLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIGlucHV0czogW1xuICAgICdkaXNhYmxlZCdcbiAgXSxcbiAgb3V0cHV0czogW1xuICAgICdmb2N1cycsXG4gICAgJ2JsdXInXG4gIF0sXG4gIHByb3ZpZGVyczogW3tcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogU2JUaW1lSW5wdXRDb21wb25lbnQsXG4gICAgbXVsdGk6IHRydWVcbiAgfV1cbn0pXG5leHBvcnQgY2xhc3MgU2JUaW1lSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBTYlRpbWVJbnB1dENvcmUgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbG9yOiBzdHJpbmcgPSBDb2xvci5QUklNQVJZO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzaXplOiBzdHJpbmcgPSBTaXplLk1FRElVTTtcblxuXG4gIHByaXZhdGUgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBwcml2YXRlIG9uVG91Y2g6IGFueSA9ICgpID0+IHt9O1xuXG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogU2JEb3VibGVJbnB1dDxudW1iZXI+ID0gbmV3IFNiRG91YmxlSW5wdXQoKTtcblxuICBzZXQgdmFsdWUodmFsdWU6IFNiRG91YmxlSW5wdXQ8bnVtYmVyPikge1xuICAgIHRoaXMud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICBnZXQgdmFsdWUoKTogU2JEb3VibGVJbnB1dDxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICB9XG5cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogU2JEb3VibGVJbnB1dDxudW1iZXI+KTogdm9pZCB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmlubmVyVmFsdWUgJiYgIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHsgdGhpcy5vbkNoYW5nZSA9IGZuIH1cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHsgdGhpcy5vblRvdWNoID0gZm4gfVxuICBwdWJsaWMgb25CbHVyKCk6IHZvaWQgeyB0aGlzLm9uVG91Y2goKSB9XG59XG4iLCI8c2ItaW5wdXRcbiAgW3NpemVdPVwic2l6ZVwiXG4gIFtjb2xvcl09XCJjb2xvclwiXG4gIGZpcnN0UGxhY2Vob2xkZXI9XCJIb3VyXCJcbiAgc2Vjb25kUGxhY2Vob2xkZXI9XCJNaW51dGVcIlxuICBbcHJlZml4SWNvbl09XCInXFx1ZThiNSdcIlxuICB0eXBlPVwiZG91YmxlLW51bWJlclwiXG4gIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICBbZmlyc3RNaW5dPVwiMFwiXG4gIFtmaXJzdE1heF09XCIyM1wiXG4gIFtzZWNvbmRNaW5dPVwiMFwiXG4gIFtzZWNvbmRNYXhdPVwiNTlcIlxuICAoYmx1cik9XCJzZXRGb2N1c2VkU3RhdGUoZmFsc2UpXCJcbiAgKGZvY3VzKT1cInNldEZvY3VzZWRTdGF0ZSh0cnVlKVwiXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuPC9zYi1pbnB1dD5cbiJdfQ==