UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

980 lines 79.3 kB
/** * @fileoverview added by tsickle * Generated from: time-picker-panel.component.ts * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { __decorate, __metadata, __read, __spread } from "tslib"; /** * Use of this source code is governed by an MIT-style license that can be * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE */ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DebugElement, EventEmitter, Input, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core'; import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { reqAnimFrame } from 'ng-zorro-antd/core/polyfill'; import { InputBoolean, isNotNil } from 'ng-zorro-antd/core/util'; import { DateHelperService } from 'ng-zorro-antd/i18n'; import { Subject } from 'rxjs'; import { takeUntil } from 'rxjs/operators'; import { TimeHolder } from './time-holder'; import { NzTimeValueAccessorDirective } from './time-value-accessor.directive'; /** * @param {?} length * @param {?=} step * @param {?=} start * @return {?} */ function makeRange(length, step, start) { if (step === void 0) { step = 1; } if (start === void 0) { start = 0; } return new Array(Math.ceil(length / step)).fill(0).map((/** * @param {?} _ * @param {?} i * @return {?} */ function (_, i) { return (i + start) * step; })); } var NzTimePickerPanelComponent = /** @class */ (function () { function NzTimePickerPanelComponent(cdr, dateHelper) { this.cdr = cdr; this.dateHelper = dateHelper; this._nzHourStep = 1; this._nzMinuteStep = 1; this._nzSecondStep = 1; this.unsubscribe$ = new Subject(); this._format = 'HH:mm:ss'; this._disabledHours = (/** * @return {?} */ function () { return []; }); this._disabledMinutes = (/** * @return {?} */ function () { return []; }); this._disabledSeconds = (/** * @return {?} */ function () { return []; }); this._allowEmpty = true; this.time = new TimeHolder(); this.hourEnabled = true; this.minuteEnabled = true; this.secondEnabled = true; this.firstScrolled = false; this.enabledColumns = 3; this.nzInDatePicker = false; // If inside a date-picker, more diff works need to be done this.nzHideDisabledOptions = false; this.nzUse12Hours = false; this.closePanel = new EventEmitter(); } Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzAllowEmpty", { get: /** * @return {?} */ function () { return this._allowEmpty; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._allowEmpty = value; } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzDisabledHours", { get: /** * @return {?} */ function () { return this._disabledHours; }, set: /** * @param {?} value * @return {?} */ function (value) { this._disabledHours = value; if (!!this._disabledHours) { this.buildHours(); } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzDisabledMinutes", { get: /** * @return {?} */ function () { return this._disabledMinutes; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._disabledMinutes = value; this.buildMinutes(); } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzDisabledSeconds", { get: /** * @return {?} */ function () { return this._disabledSeconds; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._disabledSeconds = value; this.buildSeconds(); } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "format", { get: /** * @return {?} */ function () { return this._format; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._format = value; this.enabledColumns = 0; /** @type {?} */ var charSet = new Set(value); this.hourEnabled = charSet.has('H') || charSet.has('h'); this.minuteEnabled = charSet.has('m'); this.secondEnabled = charSet.has('s'); if (this.hourEnabled) { this.enabledColumns++; } if (this.minuteEnabled) { this.enabledColumns++; } if (this.secondEnabled) { this.enabledColumns++; } if (this.nzUse12Hours) { this.build12Hours(); } } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzHourStep", { get: /** * @return {?} */ function () { return this._nzHourStep; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._nzHourStep = value; this.buildHours(); } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzMinuteStep", { get: /** * @return {?} */ function () { return this._nzMinuteStep; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._nzMinuteStep = value; this.buildMinutes(); } }, enumerable: true, configurable: true }); Object.defineProperty(NzTimePickerPanelComponent.prototype, "nzSecondStep", { get: /** * @return {?} */ function () { return this._nzSecondStep; }, set: /** * @param {?} value * @return {?} */ function (value) { if (isNotNil(value)) { this._nzSecondStep = value; this.buildSeconds(); } }, enumerable: true, configurable: true }); /** * @return {?} */ NzTimePickerPanelComponent.prototype.selectInputRange = /** * @return {?} */ function () { var _this = this; setTimeout((/** * @return {?} */ function () { if (_this.nzTimeValueAccessorDirective) { _this.nzTimeValueAccessorDirective.setRange(); } })); }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.buildHours = /** * @return {?} */ function () { var _a; /** @type {?} */ var hourRanges = 24; /** @type {?} */ var disabledHours = (_a = this.nzDisabledHours) === null || _a === void 0 ? void 0 : _a.call(this); /** @type {?} */ var startIndex = 0; if (this.nzUse12Hours) { hourRanges = 12; if (disabledHours) { if (this.time.selected12Hours === 'PM') { /** * Filter and transform hours which greater or equal to 12 * [0, 1, 2, ..., 12, 13, 14, 15, ..., 23] => [12, 1, 2, 3, ..., 11] */ disabledHours = disabledHours.filter((/** * @param {?} i * @return {?} */ function (i) { return i >= 12; })).map((/** * @param {?} i * @return {?} */ function (i) { return (i > 12 ? i - 12 : i); })); } else { /** * Filter and transform hours which less than 12 * [0, 1, 2,..., 12, 13, 14, 15, ...23] => [12, 1, 2, 3, ..., 11] */ disabledHours = disabledHours.filter((/** * @param {?} i * @return {?} */ function (i) { return i < 12 || i === 24; })).map((/** * @param {?} i * @return {?} */ function (i) { return (i === 24 || i === 0 ? 12 : i); })); } } startIndex = 1; } this.hourRange = makeRange(hourRanges, this.nzHourStep, startIndex).map((/** * @param {?} r * @return {?} */ function (r) { return { index: r, disabled: !!disabledHours && disabledHours.indexOf(r) !== -1 }; })); if (this.nzUse12Hours && this.hourRange[this.hourRange.length - 1].index === 12) { /** @type {?} */ var temp = __spread(this.hourRange); temp.unshift(temp[temp.length - 1]); temp.splice(temp.length - 1, 1); this.hourRange = temp; } }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.buildMinutes = /** * @return {?} */ function () { var _this = this; this.minuteRange = makeRange(60, this.nzMinuteStep).map((/** * @param {?} r * @return {?} */ function (r) { return { index: r, disabled: !!_this.nzDisabledMinutes && _this.nzDisabledMinutes((/** @type {?} */ (_this.time.hours))).indexOf(r) !== -1 }; })); }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.buildSeconds = /** * @return {?} */ function () { var _this = this; this.secondRange = makeRange(60, this.nzSecondStep).map((/** * @param {?} r * @return {?} */ function (r) { return { index: r, disabled: !!_this.nzDisabledSeconds && _this.nzDisabledSeconds((/** @type {?} */ (_this.time.hours)), (/** @type {?} */ (_this.time.minutes))).indexOf(r) !== -1 }; })); }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.build12Hours = /** * @return {?} */ function () { /** @type {?} */ var isUpperFormat = this._format.includes('A'); this.use12HoursRange = [ { index: 0, value: isUpperFormat ? 'AM' : 'am' }, { index: 1, value: isUpperFormat ? 'PM' : 'pm' } ]; }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.buildTimes = /** * @return {?} */ function () { this.buildHours(); this.buildMinutes(); this.buildSeconds(); this.build12Hours(); }; /** * @param {?=} delay * @return {?} */ NzTimePickerPanelComponent.prototype.scrollToTime = /** * @param {?=} delay * @return {?} */ function (delay) { if (delay === void 0) { delay = 0; } if (this.hourEnabled && this.hourListElement) { this.scrollToSelected(this.hourListElement.nativeElement, (/** @type {?} */ (this.time.viewHours)), delay, 'hour'); } if (this.minuteEnabled && this.minuteListElement) { this.scrollToSelected(this.minuteListElement.nativeElement, (/** @type {?} */ (this.time.minutes)), delay, 'minute'); } if (this.secondEnabled && this.secondListElement) { this.scrollToSelected(this.secondListElement.nativeElement, (/** @type {?} */ (this.time.seconds)), delay, 'second'); } if (this.nzUse12Hours && this.use12HoursListElement) { /** @type {?} */ var selectedHours = this.time.selected12Hours; /** @type {?} */ var index = selectedHours === 'AM' ? 0 : 1; this.scrollToSelected(this.use12HoursListElement.nativeElement, index, delay, '12-hour'); } }; /** * @param {?} hour * @return {?} */ NzTimePickerPanelComponent.prototype.selectHour = /** * @param {?} hour * @return {?} */ function (hour) { this.time.setHours(hour.index, hour.disabled); if (!!this._disabledMinutes) { this.buildMinutes(); } if (this._disabledSeconds || this._disabledMinutes) { this.buildSeconds(); } }; /** * @param {?} minute * @return {?} */ NzTimePickerPanelComponent.prototype.selectMinute = /** * @param {?} minute * @return {?} */ function (minute) { this.time.setMinutes(minute.index, minute.disabled); if (!!this._disabledSeconds) { this.buildSeconds(); } }; /** * @param {?} second * @return {?} */ NzTimePickerPanelComponent.prototype.selectSecond = /** * @param {?} second * @return {?} */ function (second) { this.time.setSeconds(second.index, second.disabled); }; /** * @param {?} value * @return {?} */ NzTimePickerPanelComponent.prototype.select12Hours = /** * @param {?} value * @return {?} */ function (value) { this.time.setSelected12Hours(value.value); if (!!this._disabledHours) { this.buildHours(); } if (!!this._disabledMinutes) { this.buildMinutes(); } if (!!this._disabledSeconds) { this.buildSeconds(); } }; /** * @param {?} instance * @param {?} index * @param {?=} duration * @param {?=} unit * @return {?} */ NzTimePickerPanelComponent.prototype.scrollToSelected = /** * @param {?} instance * @param {?} index * @param {?=} duration * @param {?=} unit * @return {?} */ function (instance, index, duration, unit) { if (duration === void 0) { duration = 0; } if (!instance) { return; } /** @type {?} */ var transIndex = this.translateIndex(index, unit); /** @type {?} */ var currentOption = (/** @type {?} */ ((instance.children[transIndex] || instance.children[0]))); this.scrollTo(instance, currentOption.offsetTop, duration); }; /** * @param {?} index * @param {?} unit * @return {?} */ NzTimePickerPanelComponent.prototype.translateIndex = /** * @param {?} index * @param {?} unit * @return {?} */ function (index, unit) { var _a, _b, _c; if (unit === 'hour') { return this.calcIndex((_a = this.nzDisabledHours) === null || _a === void 0 ? void 0 : _a.call(this), this.hourRange.map((/** * @param {?} item * @return {?} */ function (item) { return item.index; })).indexOf(index)); } else if (unit === 'minute') { return this.calcIndex((_b = this.nzDisabledMinutes) === null || _b === void 0 ? void 0 : _b.call(this, (/** @type {?} */ (this.time.hours))), this.minuteRange.map((/** * @param {?} item * @return {?} */ function (item) { return item.index; })).indexOf(index)); } else if (unit === 'second') { // second return this.calcIndex((_c = this.nzDisabledSeconds) === null || _c === void 0 ? void 0 : _c.call(this, (/** @type {?} */ (this.time.hours)), (/** @type {?} */ (this.time.minutes))), this.secondRange.map((/** * @param {?} item * @return {?} */ function (item) { return item.index; })).indexOf(index)); } else { // 12-hour return this.calcIndex([], this.use12HoursRange.map((/** * @param {?} item * @return {?} */ function (item) { return item.index; })).indexOf(index)); } }; /** * @param {?} element * @param {?} to * @param {?} duration * @return {?} */ NzTimePickerPanelComponent.prototype.scrollTo = /** * @param {?} element * @param {?} to * @param {?} duration * @return {?} */ function (element, to, duration) { var _this = this; if (duration <= 0) { element.scrollTop = to; return; } /** @type {?} */ var difference = to - element.scrollTop; /** @type {?} */ var perTick = (difference / duration) * 10; reqAnimFrame((/** * @return {?} */ function () { element.scrollTop = element.scrollTop + perTick; if (element.scrollTop === to) { return; } _this.scrollTo(element, to, duration - 10); })); }; /** * @param {?} array * @param {?} index * @return {?} */ NzTimePickerPanelComponent.prototype.calcIndex = /** * @param {?} array * @param {?} index * @return {?} */ function (array, index) { if ((array === null || array === void 0 ? void 0 : array.length) && this.nzHideDisabledOptions) { return (index - array.reduce((/** * @param {?} pre * @param {?} value * @return {?} */ function (pre, value) { return pre + (value < index ? 1 : 0); }), 0)); } else { return index; } }; /** * @protected * @return {?} */ NzTimePickerPanelComponent.prototype.changed = /** * @protected * @return {?} */ function () { if (this.onChange) { this.onChange((/** @type {?} */ (this.time.value))); } }; /** * @protected * @return {?} */ NzTimePickerPanelComponent.prototype.touched = /** * @protected * @return {?} */ function () { if (this.onTouch) { this.onTouch(); } }; /** * @param {?} value * @return {?} */ NzTimePickerPanelComponent.prototype.timeDisabled = /** * @param {?} value * @return {?} */ function (value) { var _a, _b, _c, _d, _e, _f; /** @type {?} */ var hour = value.getHours(); /** @type {?} */ var minute = value.getMinutes(); /** @type {?} */ var second = value.getSeconds(); return (((_b = (_a = this.nzDisabledHours) === null || _a === void 0 ? void 0 : _a.call(this).indexOf(hour)) !== null && _b !== void 0 ? _b : -1) > -1 || ((_d = (_c = this.nzDisabledMinutes) === null || _c === void 0 ? void 0 : _c.call(this, hour).indexOf(minute)) !== null && _d !== void 0 ? _d : -1) > -1 || ((_f = (_e = this.nzDisabledSeconds) === null || _e === void 0 ? void 0 : _e.call(this, hour, minute).indexOf(second)) !== null && _f !== void 0 ? _f : -1) > -1); }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.onClickNow = /** * @return {?} */ function () { /** @type {?} */ var now = new Date(); if (this.timeDisabled(now)) { return; } this.time.setValue(now); this.changed(); this.closePanel.emit(); }; /** * @param {?} hour * @return {?} */ NzTimePickerPanelComponent.prototype.isSelectedHour = /** * @param {?} hour * @return {?} */ function (hour) { return hour.index === this.time.viewHours; }; /** * @param {?} minute * @return {?} */ NzTimePickerPanelComponent.prototype.isSelectedMinute = /** * @param {?} minute * @return {?} */ function (minute) { return minute.index === this.time.minutes; }; /** * @param {?} second * @return {?} */ NzTimePickerPanelComponent.prototype.isSelectedSecond = /** * @param {?} second * @return {?} */ function (second) { return second.index === this.time.seconds; }; /** * @param {?} value * @return {?} */ NzTimePickerPanelComponent.prototype.isSelected12Hours = /** * @param {?} value * @return {?} */ function (value) { return value.value.toUpperCase() === this.time.selected12Hours; }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.ngOnInit = /** * @return {?} */ function () { var _this = this; this.time.changes.pipe(takeUntil(this.unsubscribe$)).subscribe((/** * @return {?} */ function () { _this.changed(); _this.touched(); })); this.buildTimes(); this.selectInputRange(); setTimeout((/** * @return {?} */ function () { _this.scrollToTime(); _this.firstScrolled = true; })); }; /** * @return {?} */ NzTimePickerPanelComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { this.unsubscribe$.next(); this.unsubscribe$.complete(); }; /** * @param {?} changes * @return {?} */ NzTimePickerPanelComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { var nzUse12Hours = changes.nzUse12Hours, nzDefaultOpenValue = changes.nzDefaultOpenValue; if (!(nzUse12Hours === null || nzUse12Hours === void 0 ? void 0 : nzUse12Hours.previousValue) && (nzUse12Hours === null || nzUse12Hours === void 0 ? void 0 : nzUse12Hours.currentValue)) { this.build12Hours(); this.enabledColumns++; } if (nzDefaultOpenValue === null || nzDefaultOpenValue === void 0 ? void 0 : nzDefaultOpenValue.currentValue) { this.time.setDefaultOpenValue(this.nzDefaultOpenValue || new Date()); } }; /** * @param {?} value * @return {?} */ NzTimePickerPanelComponent.prototype.writeValue = /** * @param {?} value * @return {?} */ function (value) { this.time.setValue(value, this.nzUse12Hours); this.buildTimes(); if (value && this.firstScrolled) { this.scrollToTime(120); } // Mark this component to be checked manually with internal properties changing (see: https://github.com/angular/angular/issues/10816) this.cdr.markForCheck(); }; /** * @param {?} fn * @return {?} */ NzTimePickerPanelComponent.prototype.registerOnChange = /** * @param {?} fn * @return {?} */ function (fn) { this.onChange = fn; }; /** * @param {?} fn * @return {?} */ NzTimePickerPanelComponent.prototype.registerOnTouched = /** * @param {?} fn * @return {?} */ function (fn) { this.onTouch = fn; }; NzTimePickerPanelComponent.decorators = [ { type: Component, args: [{ encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, selector: 'nz-time-picker-panel', exportAs: 'nzTimePickerPanel', template: "\n <div *ngIf=\"nzInDatePicker\" class=\"ant-picker-header\">\n <div class=\"ant-picker-header-view\">{{ dateHelper.format($any(time?.value), format) || '&nbsp;' }}</div>\n </div>\n <div class=\"ant-picker-content\">\n <ul *ngIf=\"hourEnabled\" #hourListElement class=\"ant-picker-time-panel-column\" style=\"position: relative;\">\n <ng-container *ngFor=\"let hour of hourRange\">\n <li\n *ngIf=\"!(nzHideDisabledOptions && hour.disabled)\"\n class=\"ant-picker-time-panel-cell\"\n (click)=\"selectHour(hour)\"\n [class.ant-picker-time-panel-cell-selected]=\"isSelectedHour(hour)\"\n [class.ant-picker-time-panel-cell-disabled]=\"hour.disabled\"\n >\n <div class=\"ant-picker-time-panel-cell-inner\">{{ hour.index | number: '2.0-0' }}</div>\n </li>\n </ng-container>\n </ul>\n <ul *ngIf=\"minuteEnabled\" #minuteListElement class=\"ant-picker-time-panel-column\" style=\"position: relative;\">\n <ng-container *ngFor=\"let minute of minuteRange\">\n <li\n *ngIf=\"!(nzHideDisabledOptions && minute.disabled)\"\n class=\"ant-picker-time-panel-cell\"\n (click)=\"selectMinute(minute)\"\n [class.ant-picker-time-panel-cell-selected]=\"isSelectedMinute(minute)\"\n [class.ant-picker-time-panel-cell-disabled]=\"minute.disabled\"\n >\n <div class=\"ant-picker-time-panel-cell-inner\">{{ minute.index | number: '2.0-0' }}</div>\n </li>\n </ng-container>\n </ul>\n <ul *ngIf=\"secondEnabled\" #secondListElement class=\"ant-picker-time-panel-column\" style=\"position: relative;\">\n <ng-container *ngFor=\"let second of secondRange\">\n <li\n *ngIf=\"!(nzHideDisabledOptions && second.disabled)\"\n class=\"ant-picker-time-panel-cell\"\n (click)=\"selectSecond(second)\"\n [class.ant-picker-time-panel-cell-selected]=\"isSelectedSecond(second)\"\n [class.ant-picker-time-panel-cell-disabled]=\"second.disabled\"\n >\n <div class=\"ant-picker-time-panel-cell-inner\">{{ second.index | number: '2.0-0' }}</div>\n </li>\n </ng-container>\n </ul>\n <ul *ngIf=\"nzUse12Hours\" #use12HoursListElement class=\"ant-picker-time-panel-column\" style=\"position: relative;\">\n <ng-container *ngFor=\"let range of use12HoursRange\">\n <li\n *ngIf=\"!nzHideDisabledOptions\"\n (click)=\"select12Hours(range)\"\n class=\"ant-picker-time-panel-cell\"\n [class.ant-picker-time-panel-cell-selected]=\"isSelected12Hours(range)\"\n >\n <div class=\"ant-picker-time-panel-cell-inner\">{{ range.value }}</div>\n </li>\n </ng-container>\n </ul>\n </div>\n <div *ngIf=\"!nzInDatePicker\" class=\"ant-picker-footer\">\n <div *ngIf=\"nzAddOn\" class=\"ant-picker-footer-extra\">\n <ng-template [ngTemplateOutlet]=\"nzAddOn\"></ng-template>\n </div>\n <ul class=\"ant-picker-ranges\">\n <li class=\"ant-picker-now\">\n <a (click)=\"onClickNow()\">\n {{ 'Calendar.lang.now' | nzI18n }}\n </a>\n </li>\n </ul>\n </div>\n ", host: { '[class.ant-picker-time-panel]': "true", '[class.ant-picker-time-panel-column-0]': "enabledColumns === 0 && !nzInDatePicker", '[class.ant-picker-time-panel-column-1]': "enabledColumns === 1 && !nzInDatePicker", '[class.ant-picker-time-panel-column-2]': "enabledColumns === 2 && !nzInDatePicker", '[class.ant-picker-time-panel-column-3]': "enabledColumns === 3 && !nzInDatePicker", '[class.ant-picker-time-panel-narrow]': "enabledColumns < 3", '[class.ant-picker-time-panel-placement-bottomLeft]': "!nzInDatePicker" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: NzTimePickerPanelComponent, multi: true }] }] } ]; /** @nocollapse */ NzTimePickerPanelComponent.ctorParameters = function () { return [ { type: ChangeDetectorRef }, { type: DateHelperService } ]; }; NzTimePickerPanelComponent.propDecorators = { nzTimeValueAccessorDirective: [{ type: ViewChild, args: [NzTimeValueAccessorDirective, { static: false },] }], hourListElement: [{ type: ViewChild, args: ['hourListElement', { static: false },] }], minuteListElement: [{ type: ViewChild, args: ['minuteListElement', { static: false },] }], secondListElement: [{ type: ViewChild, args: ['secondListElement', { static: false },] }], use12HoursListElement: [{ type: ViewChild, args: ['use12HoursListElement', { static: false },] }], nzInDatePicker: [{ type: Input }], nzAddOn: [{ type: Input }], nzHideDisabledOptions: [{ type: Input }], nzClearText: [{ type: Input }], nzPlaceHolder: [{ type: Input }], nzUse12Hours: [{ type: Input }], nzDefaultOpenValue: [{ type: Input }], closePanel: [{ type: Output }], nzAllowEmpty: [{ type: Input }], nzDisabledHours: [{ type: Input }], nzDisabledMinutes: [{ type: Input }], nzDisabledSeconds: [{ type: Input }], format: [{ type: Input }], nzHourStep: [{ type: Input }], nzMinuteStep: [{ type: Input }], nzSecondStep: [{ type: Input }] }; __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzTimePickerPanelComponent.prototype, "nzUse12Hours", void 0); return NzTimePickerPanelComponent; }()); export { NzTimePickerPanelComponent }; if (false) { /** @type {?} */ NzTimePickerPanelComponent.ngAcceptInputType_nzUse12Hours; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype._nzHourStep; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype._nzMinuteStep; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype._nzSecondStep; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype.unsubscribe$; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype.onChange; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype.onTouch; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype._format; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype._disabledHours; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype._disabledMinutes; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype._disabledSeconds; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype._allowEmpty; /** @type {?} */ NzTimePickerPanelComponent.prototype.time; /** @type {?} */ NzTimePickerPanelComponent.prototype.hourEnabled; /** @type {?} */ NzTimePickerPanelComponent.prototype.minuteEnabled; /** @type {?} */ NzTimePickerPanelComponent.prototype.secondEnabled; /** @type {?} */ NzTimePickerPanelComponent.prototype.firstScrolled; /** @type {?} */ NzTimePickerPanelComponent.prototype.enabledColumns; /** @type {?} */ NzTimePickerPanelComponent.prototype.hourRange; /** @type {?} */ NzTimePickerPanelComponent.prototype.minuteRange; /** @type {?} */ NzTimePickerPanelComponent.prototype.secondRange; /** @type {?} */ NzTimePickerPanelComponent.prototype.use12HoursRange; /** @type {?} */ NzTimePickerPanelComponent.prototype.nzTimeValueAccessorDirective; /** @type {?} */ NzTimePickerPanelComponent.prototype.hourListElement; /** @type {?} */ NzTimePickerPanelComponent.prototype.minuteListElement; /** @type {?} */ NzTimePickerPanelComponent.prototype.secondListElement; /** @type {?} */ NzTimePickerPanelComponent.prototype.use12HoursListElement; /** @type {?} */ NzTimePickerPanelComponent.prototype.nzInDatePicker; /** @type {?} */ NzTimePickerPanelComponent.prototype.nzAddOn; /** @type {?} */ NzTimePickerPanelComponent.prototype.nzHideDisabledOptions; /** @type {?} */ NzTimePickerPanelComponent.prototype.nzClearText; /** @type {?} */ NzTimePickerPanelComponent.prototype.nzPlaceHolder; /** @type {?} */ NzTimePickerPanelComponent.prototype.nzUse12Hours; /** @type {?} */ NzTimePickerPanelComponent.prototype.nzDefaultOpenValue; /** @type {?} */ NzTimePickerPanelComponent.prototype.closePanel; /** * @type {?} * @private */ NzTimePickerPanelComponent.prototype.cdr; /** @type {?} */ NzTimePickerPanelComponent.prototype.dateHelper; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXItcGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmctem9ycm8tYW50ZC90aW1lLXBpY2tlci8iLCJzb3VyY2VzIjpbInRpbWUtcGlja2VyLXBhbmVsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBS0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFFTixXQUFXLEVBQ1gsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRzNELE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDdkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7OztBQUUvRSxTQUFTLFNBQVMsQ0FBQyxNQUFjLEVBQUUsSUFBZ0IsRUFBRSxLQUFpQjtJQUFuQyxxQkFBQSxFQUFBLFFBQWdCO0lBQUUsc0JBQUEsRUFBQSxTQUFpQjtJQUNwRSxPQUFPLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUc7Ozs7O0lBQUMsVUFBQyxDQUFDLEVB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