ngx-mat-lib
Version:
A bunch of utilities and components to use in your Angular 7+ apps!
562 lines (561 loc) • 64.7 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { coerceBooleanProperty } from "@angular/cdk/coercion";
import { FocusMonitor } from "@angular/cdk/a11y";
import { FormBuilder, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validators, ControlContainer } from "@angular/forms";
import { Component, ElementRef, forwardRef, Input, Host, SkipSelf, Optional, ViewEncapsulation, } from "@angular/core";
import { MatFormFieldControl } from "@angular/material";
import { Subject } from "rxjs";
import { XmatTime } from "../../models";
import { xmatTimeInputValidation } from "../../validators/xmat-time-input.validator";
/** @type {?} */
var controlType = "xmat-time";
/** @type {?} */
var elementType = "input";
/** @type {?} */
var hoursPattern = new RegExp("^([01][0-9]|2[0-3])");
/** @type {?} */
var minutesPattern = new RegExp("^([0-5][0-9])$");
/** @type {?} */
var isParentControlRequired = function (control) {
if (control.validator !== null) {
/** @type {?} */
var validator = control.validator(/** @type {?} */ ({}));
return validator && validator["required"];
}
return false;
};
var ɵ0 = isParentControlRequired;
var XmatMatTimeComponent = /** @class */ (function () {
function XmatMatTimeComponent(_elRef, _controlContainer, _focusMonitor, formBuilder) {
var _this = this;
this._elRef = _elRef;
this._controlContainer = _controlContainer;
this._focusMonitor = _focusMonitor;
this.controlType = controlType;
this.describedBy = "";
this.errorState = false;
this.focused = false;
this.id = controlType + "-" + XmatMatTimeComponent.nextId++;
this.invalid = false;
this.model = new XmatTime();
this.ngControl = null;
this.placeholderM = "";
this.placeholderH = "";
this.stateChanges = new Subject();
this._deniedChars = /[^0-9]+/;
this._required = false;
this._disabled = false;
this._validators = {
hours: [Validators.minLength(2), Validators.maxLength(2), Validators.pattern(hoursPattern)],
minutes: [Validators.minLength(2), Validators.maxLength(2), Validators.pattern(minutesPattern)],
};
this.parts = formBuilder.group({
"hours": ["", Validators.pattern(hoursPattern)],
"minutes": ["", Validators.pattern(minutesPattern)],
}, { validator: xmatTimeInputValidation });
_focusMonitor.monitor(_elRef.nativeElement, true).subscribe(function (origin) {
_this.focused = !!origin;
_this.stateChanges.next();
});
}
Object.defineProperty(XmatMatTimeComponent.prototype, "empty", {
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var value = this.parts.value;
return !value.hours && !value.minutes;
},
enumerable: true,
configurable: true
});
Object.defineProperty(XmatMatTimeComponent.prototype, "shouldLabelFloat", {
get: /**
* @return {?}
*/
function () {
return this.focused || !this.empty;
},
enumerable: true,
configurable: true
});
Object.defineProperty(XmatMatTimeComponent.prototype, "isFilled", {
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var value = this.parts.value;
return value.hours.length + value.minutes.length === 4;
},
enumerable: true,
configurable: true
});
Object.defineProperty(XmatMatTimeComponent.prototype, "placeholder", {
get: /**
* @return {?}
*/
function () {
return this.inputPlaceholder;
},
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
/** @type {?} */
var splitPlaceholder = value.split(":");
this.inputPlaceholder = value;
this.placeholderH = splitPlaceholder[0] || "";
this.placeholderM = splitPlaceholder[1] || "";
this.stateChanges.next();
},
enumerable: true,
configurable: true
});
Object.defineProperty(XmatMatTimeComponent.prototype, "required", {
get: /**
* @return {?}
*/
function () {
return this._required;
},
set: /**
* @param {?} req
* @return {?}
*/
function (req) {
/** @type {?} */
var newVal = coerceBooleanProperty(req);
if (newVal !== this._required) {
this._required = newVal;
this._updateValidators();
// Emit stateChange to update value in mat-groupCtrl-field
this.stateChanges.next();
}
},
enumerable: true,
configurable: true
});
Object.defineProperty(XmatMatTimeComponent.prototype, "disabled", {
get: /**
* @return {?}
*/
function () {
return this._disabled;
},
set: /**
* @param {?} dis
* @return {?}
*/
function (dis) {
/** @type {?} */
var newVal = coerceBooleanProperty(dis);
if (newVal !== this._disabled) {
this._disabled = newVal;
this._disabled ? this.parts.disable() : this.parts.enable();
this._updateValidators();
// Emit stateChange to update value in mat-groupCtrl-field
this.stateChanges.next();
}
},
enumerable: true,
configurable: true
});
Object.defineProperty(XmatMatTimeComponent.prototype, "value", {
get: /**
* @return {?}
*/
function () {
/** @type {?} */
var newValue = this.parts.value;
if (newValue.hours.length === 2 && newValue.minutes.length === 2) {
return new XmatTime(newValue.hours, newValue.minutes);
}
return null;
},
set: /**
* @param {?} time
* @return {?}
*/
function (time) {
time = time || new XmatTime("", "");
this.parts.setValue({ hours: time.hours, minutes: time.minutes });
this.stateChanges.next();
},
enumerable: true,
configurable: true
});
/**
* @param {?} _e_
* @return {?}
*/
XmatMatTimeComponent.prototype.inputChange = /**
* @param {?} _e_
* @return {?}
*/
function (_e_) {
this._handlePropagation();
};
/**
* @return {?}
*/
XmatMatTimeComponent.prototype.ngDoCheck = /**
* @return {?}
*/
function () {
if (!!this._extCtrl && !this._extCtrl.disabled) {
/** @type {?} */
var parentCtrlRequired = isParentControlRequired(/** @type {?} */ (tslib_1.__assign({}, this._extCtrl)));
if (this._required !== parentCtrlRequired) {
this.required = parentCtrlRequired;
}
// console.info("DO CHECK", this.ngControl);
}
};
/**
* @return {?}
*/
XmatMatTimeComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.stateChanges.complete();
this._focusMonitor.stopMonitoring(this._elRef.nativeElement);
};
/**
* @return {?}
*/
XmatMatTimeComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
if (!!this.formControlName && this._controlContainer) {
this._extCtrl = /** @type {?} */ (this._controlContainer.control.get(this.formControlName));
this.required = isParentControlRequired(/** @type {?} */ (tslib_1.__assign({}, this._extCtrl)));
}
};
/**
* @param {?} event
* @return {?}
*/
XmatMatTimeComponent.prototype.onContainerClick = /**
* @param {?} event
* @return {?}
*/
function (event) {
if ((/** @type {?} */ (event.target)).tagName.toLowerCase() !== elementType) {
this._elRef.nativeElement.querySelector(elementType).focus();
}
};
/**
* @param {?} ids
* @return {?}
*/
XmatMatTimeComponent.prototype.setDescribedByIds = /**
* @param {?} ids
* @return {?}
*/
function (ids) {
this.describedBy = ids.join(" ");
};
// registers "fn" that will be fired when changes are made
// this is how we emit the changes back to the groupCtrl
/**
* @param {?} fn
* @return {?}
*/
XmatMatTimeComponent.prototype.registerOnChange = /**
* @param {?} fn
* @return {?}
*/
function (fn) {
this._propagateChange = fn;
};
// not used, used for touch input
/**
* @return {?}
*/
XmatMatTimeComponent.prototype.registerOnTouched = /**
* @return {?}
*/
function () {
};
/**
* @param {?} isDisabled
* @return {?}
*/
XmatMatTimeComponent.prototype.setDisabledState = /**
* @param {?} isDisabled
* @return {?}
*/
function (isDisabled) {
this.disabled = isDisabled;
};
/**
* @return {?}
*/
XmatMatTimeComponent.prototype.setTouched = /**
* @return {?}
*/
function () {
this.parts.markAsTouched();
this.validate(this.parts);
// Updates errorState to show mat-error
// this.errorState = this.parts.invalid;
// Emit stateChange to update value in mat-groupCtrl-field
this.stateChanges.next();
};
/**
* @param {?} event
* @param {?=} _ishours_
* @return {?}
*/
XmatMatTimeComponent.prototype.typingValidation = /**
* @param {?} event
* @param {?=} _ishours_
* @return {?}
*/
function (event, _ishours_) {
if (_ishours_ === void 0) { _ishours_ = false; }
/** @type {?} */
var keyCode;
/** @type {?} */
var inputChar;
if (event.key === void 0) {
keyCode = event.keyCode || event.charCode;
inputChar = String.fromCharCode(keyCode);
}
else {
inputChar = event.key;
if (inputChar.indexOf("Arrow") > -1) {
return true;
}
switch (inputChar) {
case "Delete":
case "Backspace":
case "Enter":
case "Tab":
case "Left":
case "Right":
case "F5":
return true;
case "Insert": // Shift + INS
// Shift + INS
if (event.shiftKey) {
return true;
}
break;
case "X": // Ctrl + X / Cmd + x
case "x":
case "C": // Ctrl + C / Cmd + c
case "c":
case "V": // Ctrl + V / Cmd + V
case "v": // Ctrl + v / Cmd + v
// Ctrl + v / Cmd + v
if (event.ctrlKey || event.metaKey) {
return true;
}
break;
}
}
if (String(inputChar).match(this._deniedChars)) {
event.preventDefault();
return false;
}
// TODO: HANDLE THE COOL WAY
/*if (isHours && this.parts.value.hours.length === 2) {
this._elRef.nativeElement.querySelectorAll(elementType)[1].focus();
}*/
};
/**
* @param {?} _c_
* @return {?}
*/
XmatMatTimeComponent.prototype.validate = /**
* @param {?} _c_
* @return {?}
*/
function (_c_) {
/** @type {?} */
var value = this.parts.value;
/** @type {?} */
var charsCount = value.hours.length + value.minutes.length;
/** @type {?} */
var addFormatError = this.parts.invalid && (charsCount > 0 && charsCount < 4);
this.errorState = addFormatError || this._extCtrl && !this._extCtrl.pristine && this._extCtrl.invalid;
return addFormatError ? { timeFormatError: true } : null;
};
// this is the initial value and reset are updated to the component
/**
* @param {?} value
* @return {?}
*/
XmatMatTimeComponent.prototype.writeValue = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.parts.reset();
/** @type {?} */
var newValue = /** @type {?} */ ({ hours: "", minutes: "" });
if (!!value && value instanceof XmatTime) {
newValue = value;
}
this.parts.setValue(newValue);
this._handlePropagation();
};
/**
* @return {?}
*/
XmatMatTimeComponent.prototype._handlePropagation = /**
* @return {?}
*/
function () {
/** @type {?} */
var toPropagate = void 0;
if (this.parts.valid) {
/** @type {?} */
var value = this.parts.value;
if (!value.hours && !value.minutes) {
toPropagate = void 0;
}
else {
toPropagate = new XmatTime(value.hours, value.minutes);
}
}
this._propagateChange(toPropagate);
// Emit stateChange to update value in mat-groupCtrl-field
this.stateChanges.next();
};
/**
* @param {?} _e_
* @return {?}
*/
XmatMatTimeComponent.prototype._propagateChange = /**
* @param {?} _e_
* @return {?}
*/
function (_e_) {
};
/**
* @return {?}
*/
XmatMatTimeComponent.prototype._updateValidators = /**
* @return {?}
*/
function () {
/** @type {?} */
var hoursCtrl = this.parts.get("hours");
/** @type {?} */
var minsCtrl = this.parts.get("minutes");
if (this._disabled) {
hoursCtrl.setValidators([]);
minsCtrl.setValidators([]);
this.errorState = !1;
}
else {
if (this._required) {
hoursCtrl.setValidators([Validators.required].concat(this._validators.hours));
minsCtrl.setValidators([Validators.required].concat(this._validators.minutes));
}
else {
hoursCtrl.setValidators(this._validators.hours);
minsCtrl.setValidators(this._validators.minutes);
}
}
this._handlePropagation();
};
XmatMatTimeComponent.nextId = 0;
XmatMatTimeComponent.decorators = [
{ type: Component, args: [{
selector: controlType,
template: "<div [ngClass]=\"{'xmat-time-invalid': invalid, 'xmat-time-focused' : focused, 'xmat-time-empty': empty}\"\n class=\"xmat-time-wrap\"\n [formGroup]=\"parts\">\n <input class=\"hours\"\n formControlName=\"hours\"\n (focus)=\"setTouched()\"\n (keydown)=\"typingValidation($event, true)\"\n (input)=\"inputChange($event)\"\n (blur)=\"inputChange($event)\"\n [placeholder]=\"placeholderH\"\n maxlength=\"2\"\n size=\"2\">\n <span class=\"xmat-time-colon\">:</span>\n <input class=\"minutes\"\n formControlName=\"minutes\"\n (focus)=\"setTouched()\"\n (keydown)=\"typingValidation($event)\"\n (input)=\"inputChange($event)\"\n (blur)=\"inputChange($event)\"\n [placeholder]=\"placeholderM\"\n maxlength=\"2\"\n size=\"2\">\n <span class=\"xmat-time-required xmat-fade\"\n [ngClass]=\"{'xmat-fade-in': !shouldLabelFloat}\"\n *ngIf=\"required && !disabled\">*</span>\n</div>\n",
providers: [
{ provide: MatFormFieldControl, useExisting: XmatMatTimeComponent },
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(function () { return XmatMatTimeComponent; }), multi: true },
{ provide: NG_VALIDATORS, useExisting: forwardRef(function () { return XmatMatTimeComponent; }), multi: true }
],
host: {
"[class.xmat-mat-time]": "true",
"[class.floating]": "shouldLabelFloat",
"[class.filled]": "isFilled",
"[id]": "id",
"[attr.aria-describedby]": "describedBy",
},
encapsulation: ViewEncapsulation.None,
styles: ["@-webkit-keyframes cdk-text-field-autofill-start{/*!*/}@-webkit-keyframes cdk-text-field-autofill-end{/*!*/}.mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-badge-small .mat-badge-content{font-size:6px}.mat-badge-large .mat-badge-content{font-size:24px}.mat-h1,.mat-headline,.mat-typography h1{font:400 24px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h2,.mat-title,.mat-typography h2{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h3,.mat-subheading-2,.mat-typography h3{font:400 16px/28px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h4,.mat-subheading-1,.mat-typography h4{font:400 15px/24px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 16px}.mat-h5,.mat-typography h5{font:400 11.62px/20px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 12px}.mat-h6,.mat-typography h6{font:400 9.38px/20px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 12px}.mat-body-2,.mat-body-strong{font:500 14px/24px Roboto,\"Helvetica Neue\",sans-serif}.mat-body,.mat-body-1,.mat-typography{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-body p,.mat-body-1 p,.mat-typography p{margin:0 0 12px}.mat-caption,.mat-small{font:400 12px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-display-4,.mat-typography .mat-display-4{font:300 112px/112px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 56px;letter-spacing:-.05em}.mat-display-3,.mat-typography .mat-display-3{font:400 56px/56px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px;letter-spacing:-.02em}.mat-display-2,.mat-typography .mat-display-2{font:400 45px/48px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px;letter-spacing:-.005em}.mat-display-1,.mat-typography .mat-display-1{font:400 34px/40px Roboto,\"Helvetica Neue\",sans-serif;margin:0 0 64px}.mat-bottom-sheet-container{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-button,.mat-fab,.mat-flat-button,.mat-icon-button,.mat-mini-fab,.mat-raised-button,.mat-stroked-button{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-button-toggle,.mat-card{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-card-title{font-size:24px;font-weight:500}.mat-card-header .mat-card-title{font-size:20px}.mat-card-content,.mat-card-subtitle{font-size:14px}.mat-checkbox{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-checkbox-layout .mat-checkbox-label{line-height:24px}.mat-chip{font-size:14px;font-weight:500}.mat-chip .mat-chip-remove.mat-icon,.mat-chip .mat-chip-trailing-icon.mat-icon{font-size:18px}.mat-table{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-header-cell{font-size:12px;font-weight:500}.mat-cell,.mat-footer-cell{font-size:14px}.mat-calendar{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-calendar-body{font-size:13px}.mat-calendar-body-label,.mat-calendar-period-button{font-size:14px;font-weight:500}.mat-calendar-table-header th{font-size:11px;font-weight:400}.mat-dialog-title{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif}.mat-expansion-panel-header{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:15px;font-weight:400}.mat-expansion-panel-content{font:400 14px/20px Roboto,\"Helvetica Neue\",sans-serif}.mat-form-field{font-size:inherit;font-weight:400;line-height:1.125;font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-form-field-wrapper{padding-bottom:1.34375em}.mat-form-field-prefix .mat-icon,.mat-form-field-suffix .mat-icon{font-size:150%;line-height:1.125}.mat-form-field-prefix .mat-icon-button,.mat-form-field-suffix .mat-icon-button{height:1.5em;width:1.5em}.mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field-suffix .mat-icon-button .mat-icon{height:1.125em;line-height:1.125}.mat-form-field-infix{padding:.5em 0;border-top:.84375em solid transparent}.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.34375em) scale(.75);transform:translateY(-1.34375em) scale(.75);width:133.33333%}.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.34374em) scale(.75);transform:translateY(-1.34374em) scale(.75);width:133.33334%}.mat-form-field-label-wrapper{top:-.84375em;padding-top:.84375em}.mat-form-field-label{top:1.34375em}.mat-form-field-underline{bottom:1.34375em}.mat-form-field-subscript-wrapper{font-size:75%;margin-top:.66667em;top:calc(100% - 1.79167em)}.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-infix{padding:.4375em 0}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.001px);-ms-transform:translateY(-1.28125em) scale(.75);width:133.33333%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00101px);-ms-transform:translateY(-1.28124em) scale(.75);width:133.33334%}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);transform:translateY(-1.28125em) scale(.75) perspective(100px) translateZ(.00102px);-ms-transform:translateY(-1.28123em) scale(.75);width:133.33335%}.mat-form-field-appearance-legacy .mat-form-field-label{top:1.28125em}.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:1.25em}.mat-form-field-appearance-legacy .mat-form-field-subscript-wrapper{margin-top:.54167em;top:calc(100% - 1.66667em)}@media print{.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-legacy.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.28122em) scale(.75);transform:translateY(-1.28122em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-form-field-autofill-control:-webkit-autofill+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.28121em) scale(.75);transform:translateY(-1.28121em) scale(.75)}.mat-form-field-appearance-legacy.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.2812em) scale(.75);transform:translateY(-1.2812em) scale(.75)}}.mat-form-field-appearance-fill .mat-form-field-infix{padding:.25em 0 .75em}.mat-form-field-appearance-fill .mat-form-field-label{top:1.09375em;margin-top:-.5em}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-fill.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-.59375em) scale(.75);transform:translateY(-.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-fill.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-.59374em) scale(.75);transform:translateY(-.59374em) scale(.75);width:133.33334%}.mat-form-field-appearance-outline .mat-form-field-infix{padding:1em 0}.mat-form-field-appearance-outline .mat-form-field-label{top:1.84375em;margin-top:-.25em}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server:focus+.mat-form-field-label-wrapper .mat-form-field-label,.mat-form-field-appearance-outline.mat-form-field-can-float.mat-form-field-should-float .mat-form-field-label{-webkit-transform:translateY(-1.59375em) scale(.75);transform:translateY(-1.59375em) scale(.75);width:133.33333%}.mat-form-field-appearance-outline.mat-form-field-can-float .mat-input-server[label]:not(:label-shown)+.mat-form-field-label-wrapper .mat-form-field-label{-webkit-transform:translateY(-1.59374em) scale(.75);transform:translateY(-1.59374em) scale(.75);width:133.33334%}.mat-grid-tile-footer,.mat-grid-tile-header{font-size:14px}.mat-grid-tile-footer .mat-line,.mat-grid-tile-header .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-grid-tile-footer .mat-line:nth-child(n+2),.mat-grid-tile-header .mat-line:nth-child(n+2){font-size:12px}input.mat-input-element{margin-top:-.0625em}.mat-menu-item{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:400}.mat-paginator,.mat-paginator-page-size .mat-select-trigger{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px}.mat-radio-button,.mat-select{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-select-trigger{height:1.125em}.mat-slide-toggle-content{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-slider-thumb-label-text{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;font-weight:500}.mat-stepper-horizontal,.mat-stepper-vertical{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-step-label{font-size:14px;font-weight:400}.mat-step-sub-label-error{font-weight:400}.mat-step-label-error{font-size:14px}.mat-step-label-selected{font-size:14px;font-weight:500}.mat-tab-group{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-tab-label,.mat-tab-link{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-toolbar,.mat-toolbar h1,.mat-toolbar h2,.mat-toolbar h3,.mat-toolbar h4,.mat-toolbar h5,.mat-toolbar h6{font:500 20px/32px Roboto,\"Helvetica Neue\",sans-serif;margin:0}.mat-tooltip{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:10px;padding-top:6px;padding-bottom:6px}.mat-tooltip-handset{font-size:14px;padding-top:8px;padding-bottom:8px}.mat-list-item,.mat-list-option{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-list-base .mat-list-item{font-size:16px}.mat-list-base .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-item .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-list-option{font-size:16px}.mat-list-base .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base .mat-list-option .mat-line:nth-child(n+2){font-size:14px}.mat-list-base .mat-subheader{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px;font-weight:500}.mat-list-base[dense] .mat-list-item{font-size:12px}.mat-list-base[dense] .mat-list-item .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-item .mat-line:nth-child(n+2),.mat-list-base[dense] .mat-list-option{font-size:12px}.mat-list-base[dense] .mat-list-option .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.mat-list-base[dense] .mat-list-option .mat-line:nth-child(n+2){font-size:12px}.mat-list-base[dense] .mat-subheader{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:12px;font-weight:500}.mat-option{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:16px}.mat-optgroup-label{font:500 14px/24px Roboto,\"Helvetica Neue\",sans-serif}.mat-simple-snackbar{font-family:Roboto,\"Helvetica Neue\",sans-serif;font-size:14px}.mat-simple-snackbar-action{line-height:1;font-family:inherit;font-size:inherit;font-weight:500}.mat-tree{font-family:Roboto,\"Helvetica Neue\",sans-serif}.mat-nested-tree-node,.mat-tree-node{font-weight:400;font-size:14px}.mat-ripple{overflow:hidden;position:relative}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;-webkit-transition:opacity,-webkit-transform cubic-bezier(0,0,.2,1);transition:opacity,transform cubic-bezier(0,0,.2,1),-webkit-transform cubic-bezier(0,0,.2,1);-webkit-transform:scale(0);transform:scale(0)}@media (-ms-high-contrast:active){.mat-ripple-element{display:none}}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none}.cdk-global-overlay-wrapper,.cdk-overlay-container{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:-webkit-box;display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:-webkit-box;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;top:0;bottom:0;left:0;right:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;-webkit-transition:opacity .4s cubic-bezier(.25,.8,.25,1);transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}@media screen and (-ms-high-contrast:active){.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop,.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}@keyframes cdk-text-field-autofill-start{/*!*/}@keyframes cdk-text-field-autofill-end{/*!*/}.cdk-text-field-autofill-monitored:-webkit-autofill{-webkit-animation-name:cdk-text-field-autofill-start;animation-name:cdk-text-field-autofill-start}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){-webkit-animation-name:cdk-text-field-autofill-end;animation-name:cdk-text-field-autofill-end}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{height:auto!important;overflow:hidden!important;padding:2px 0!important;box-sizing:content-box!important}xmat-input{display:inline-block}mat-form-field span.mat-form-field-label-wrapper label,mat-form-field span.xmat-time-colon{-webkit-transition:color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1),opacity .2s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),color .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1),opacity .2s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1)}mat-form-field[floatLabel=never] .xmat-time-empty span.xmat-time-colon{opacity:0;cursor:default}mat-form-field.mat-form-field-hide-placeholder:not([floatLabel]) xmat-time.empty-placeholder:not(.floating) span.xmat-time-colon,mat-form-field.mat-form-field-hide-placeholder:not([floatLabel]) xmat-time:not(.floating):not(.empty-placeholder)+span.mat-form-field-label-wrapper label,mat-form-field.mat-form-field-hide-placeholder[floatLabel=auto] xmat-time.empty-placeholder:not(.floating) span.xmat-time-colon,mat-form-field.mat-form-field-hide-placeholder[floatLabel=auto] xmat-time:not(.floating):not(.empty-placeholder)+span.mat-form-field-label-wrapper label{opacity:0}div.xmat-time-wrap div{display:-webkit-box;display:flex}div.xmat-time-wrap input{border:none;background:0 0;padding:0;outline:0;font:inherit;text-align:center}div.xmat-time-wrap.xmat-time-invalid span.xmat-time-colon,div.xmat-time-wrap.xmat-time-invalid span.xmat-time-required{color:#d32f2f}div.xmat-time-wrap.xmat-time-invalid ::-webkit-input-placeholder{opacity:1;color:#d32f2f}div.xmat-time-wrap.xmat-time-invalid ::-moz-placeholder{opacity:1;color:#d32f2f}div.xmat-time-wrap.xmat-time-invalid :-ms-input-placeholder{opacity:1;color:#d32f2f}div.xmat-time-wrap.xmat-time-invalid ::-ms-input-placeholder{opacity:1;color:#d32f2f}div.xmat-time-wrap.xmat-time-invalid ::placeholder{opacity:1;color:#d32f2f}"]
}] }
];
/** @nocollapse */
XmatMatTimeComponent.ctorParameters = function () { return [
{ type: ElementRef },
{ type: ControlContainer, decorators: [{ type: Optional }, { type: Host }, { type: SkipSelf }] },
{ type: FocusMonitor },
{ type: FormBuilder }
]; };
XmatMatTimeComponent.propDecorators = {
placeholder: [{ type: Input }],
required: [{ type: Input }],
disabled: [{ type: Input }],
value: [{ type: Input }],
formControlName: [{ type: Input }]
};
return XmatMatTimeComponent;
}());
export { XmatMatTimeComponent };
if (false) {
/** @type {?} */
XmatMatTimeComponent.nextId;
/** @type {?} */
XmatMatTimeComponent.prototype.formControlName;
/** @type {?} */
XmatMatTimeComponent.prototype.controlType;
/** @type {?} */
XmatMatTimeComponent.prototype.describedBy;
/** @type {?} */
XmatMatTimeComponent.prototype.errorState;
/** @type {?} */
XmatMatTimeComponent.prototype.focused;
/** @type {?} */
XmatMatTimeComponent.prototype.id;
/** @type {?} */
XmatMatTimeComponent.prototype.inputPlaceholder;
/** @type {?} */
XmatMatTimeComponent.prototype.invalid;
/** @type {?} */
XmatMatTimeComponent.prototype.model;
/** @type {?} */
XmatMatTimeComponent.prototype.ngControl;
/** @type {?} */
XmatMatTimeComponent.prototype.parts;
/** @type {?} */
XmatMatTimeComponent.prototype.placeholderM;
/** @type {?} */
XmatMatTimeComponent.prototype.placeholderH;
/** @type {?} */
XmatMatTimeComponent.prototype.stateChanges;
/** @type {?} */
XmatMatTimeComponent.prototype._deniedChars;
/** @type {?} */
XmatMatTimeComponent.prototype._extCtrl;
/** @type {?} */
XmatMatTimeComponent.prototype._required;
/** @type {?} */
XmatMatTimeComponent.prototype._disabled;
/** @type {?} */
XmatMatTimeComponent.prototype._validators;
/** @type {?} */
XmatMatTimeComponent.prototype._elRef;
/** @type {?} */
XmatMatTimeComponent.prototype._controlContainer;
/** @type {?} */
XmatMatTimeComponent.prototype._focusMonitor;
}
export { ɵ0 };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieG1hdC10aW1lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1tYXQtbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMveG1hdC10aW1lLWlucHV0L3htYXQtdGltZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDakQsT0FBTyxFQUVILFdBQVcsRUFJWCxhQUFhLEVBQ2IsaUJBQWlCLEVBRWpCLFVBQVUsRUFDVixnQkFBZ0IsRUFDbkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0gsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBR1YsS0FBSyxFQUNMLElBQUksRUFDSixRQUFRLEVBQ1IsUUFBUSxFQUVSLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sNENBQTRDLENBQUM7O0FBRXJGLElBQU0sV0FBVyxHQUFHLFdBQVcsQ0FBQzs7QUFDaEMsSUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDOztBQUU1QixJQUFNLFlBQVksR0FBRyxJQUFJLE1BQU0sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDOztBQUN2RCxJQUFNLGNBQWMsR0FBRyxJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDOztBQUVwRCxJQUFNLHVCQUF1QixHQUFHLFVBQVUsT0FBb0I7SUFDMUQsSUFBSSxPQUFPLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTs7UUFDNUIsSUFBTSxTQUFT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Q0FBQyxjQUFNLE9BQUEsb0JBQW9CLEVBQXBCLENBQW9CLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO3FCQUMvRjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0YsdUJBQXVCLEVBQUUsTUFBTTt3QkFDL0Isa0JBQWtCLEVBQUUsa0JBQWtCO3dCQUN0QyxnQkFBZ0IsRUFBRSxVQUFVO3dCQUM1QixNQUFNLEVBQUUsSUFBSTt3QkFDWix5QkFBeUIsRUFBRSxhQUFhO3FCQUMzQztvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTs7aUJBQ3hDOzs7O2dCQS9DRyxVQUFVO2dCQUpWLGdCQUFnQix1QkE4SlgsUUFBUSxZQUFJLElBQUksWUFBSSxRQUFRO2dCQXpLNUIsWUFBWTtnQkFHakIsV0FBVzs7OzhCQStFVixLQUFLOzJCQWFMLEtBQUs7MkJBZUwsS0FBSzt3QkFnQkwsS0FBSztrQ0FlTCxLQUFLOzsrQkE5SVY7O1NBaUVhLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gXCJAYW5ndWxhci9jZGsvY29lcmNpb25cIjtcbmltcG9ydCB7IEZvY3VzTW9uaXRvciB9IGZyb20gXCJAYW5ndWxhci9jZGsvYTExeVwiO1xuaW1wb3J0IHtcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBGb3JtQnVpbGRlcixcbiAgICBGb3JtQ29udHJvbCxcbiAgICBGb3JtR3JvdXAsXG4gICAgTmdDb250cm9sLFxuICAgIE5HX1ZBTElEQVRPUlMsXG4gICAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgVmFsaWRhdGlvbkVycm9ycyxcbiAgICBWYWxpZGF0b3JzLFxuICAgIENvbnRyb2xDb250YWluZXJcbn0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGZvcndhcmRSZWYsXG4gICAgT25Jbml0LFxuICAgIERvQ2hlY2ssXG4gICAgSW5wdXQsXG4gICAgSG9zdCxcbiAgICBTa2lwU2VsZixcbiAgICBPcHRpb25hbCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRDb250cm9sIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsXCI7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IFhtYXRUaW1lIH0gZnJvbSBcIi4uLy4uL21vZGVsc1wiO1xuaW1wb3J0IHsgeG1hdFRpbWVJbnB1dFZhbGlkYXRpb24gfSBmcm9tIFwiLi4vLi4vdmFsaWRhdG9ycy94bWF0LXRpbWUtaW5wdXQudmFsaWRhdG9yXCI7XG5cbmNvbnN0IGNvbnRyb2xUeXBlID0gXCJ4bWF0LXRp