devextreme-angular
Version:
Angular UI and visualization components based on DevExtreme widgets
1,362 lines (1,308 loc) • 131 kB
JavaScript
/*!
* devextreme-angular
* Version: 20.2.5
* Build date: Fri Jan 15 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file in the root of the project for details.
*
* https://github.com/DevExpress/devextreme-angular
*/
import * as tslib_1 from "tslib";
/* tslint:disable:max-line-length */
import { BrowserTransferStateModule } from '@angular/platform-browser';
import { TransferState } from '@angular/platform-browser';
import { Component, NgModule, ElementRef, NgZone, PLATFORM_ID, Inject, Input, Output, OnDestroy, EventEmitter, forwardRef, HostListener, OnChanges, DoCheck, SimpleChanges, ContentChildren, QueryList } from '@angular/core';
import DxDateBox from 'devextreme/ui/date_box';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
import { DxComponent, DxTemplateHost, DxIntegrationModule, DxTemplateModule, NestedOptionHost, IterableDifferHelper, WatcherHelper } from 'devextreme-angular/core';
import { DxiButtonModule } from 'devextreme-angular/ui/nested';
import { DxoOptionsModule } from 'devextreme-angular/ui/nested';
import { DxoCalendarOptionsModule } from 'devextreme-angular/ui/nested';
import { DxoDisplayFormatModule } from 'devextreme-angular/ui/nested';
import { DxoDropDownOptionsModule } from 'devextreme-angular/ui/nested';
import { DxoAnimationModule } from 'devextreme-angular/ui/nested';
import { DxoHideModule } from 'devextreme-angular/ui/nested';
import { DxoShowModule } from 'devextreme-angular/ui/nested';
import { DxoPositionModule } from 'devextreme-angular/ui/nested';
import { DxoAtModule } from 'devextreme-angular/ui/nested';
import { DxoBoundaryOffsetModule } from 'devextreme-angular/ui/nested';
import { DxoCollisionModule } from 'devextreme-angular/ui/nested';
import { DxoMyModule } from 'devextreme-angular/ui/nested';
import { DxoOffsetModule } from 'devextreme-angular/ui/nested';
import { DxiToolbarItemModule } from 'devextreme-angular/ui/nested';
import { DxiButtonComponent } from 'devextreme-angular/ui/nested';
const CUSTOM_VALUE_ACCESSOR_PROVIDER = {
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => DxDateBoxComponent),
multi: true
};
/**
* The DateBox is a UI component that displays date and time in a specified format, and enables a user to pick or type in the required date/time value.
*/
let DxDateBoxComponent = class DxDateBoxComponent extends DxComponent {
constructor(elementRef, ngZone, templateHost, _watcherHelper, _idh, optionHost, transferState, platformId) {
super(elementRef, ngZone, templateHost, _watcherHelper, transferState, platformId);
this._watcherHelper = _watcherHelper;
this._idh = _idh;
this.touched = (_) => { };
this._createEventEmitters([
{ subscribe: 'change', emit: 'onChange' },
{ subscribe: 'closed', emit: 'onClosed' },
{ subscribe: 'contentReady', emit: 'onContentReady' },
{ subscribe: 'copy', emit: 'onCopy' },
{ subscribe: 'cut', emit: 'onCut' },
{ subscribe: 'disposing', emit: 'onDisposing' },
{ subscribe: 'enterKey', emit: 'onEnterKey' },
{ subscribe: 'focusIn', emit: 'onFocusIn' },
{ subscribe: 'focusOut', emit: 'onFocusOut' },
{ subscribe: 'initialized', emit: 'onInitialized' },
{ subscribe: 'input', emit: 'onInput' },
{ subscribe: 'keyDown', emit: 'onKeyDown' },
{ subscribe: 'keyPress', emit: 'onKeyPress' },
{ subscribe: 'keyUp', emit: 'onKeyUp' },
{ subscribe: 'opened', emit: 'onOpened' },
{ subscribe: 'optionChanged', emit: 'onOptionChanged' },
{ subscribe: 'paste', emit: 'onPaste' },
{ subscribe: 'valueChanged', emit: 'onValueChanged' },
{ emit: 'acceptCustomValueChange' },
{ emit: 'accessKeyChange' },
{ emit: 'activeStateEnabledChange' },
{ emit: 'adaptivityEnabledChange' },
{ emit: 'applyButtonTextChange' },
{ emit: 'applyValueModeChange' },
{ emit: 'buttonsChange' },
{ emit: 'calendarOptionsChange' },
{ emit: 'cancelButtonTextChange' },
{ emit: 'dateOutOfRangeMessageChange' },
{ emit: 'dateSerializationFormatChange' },
{ emit: 'deferRenderingChange' },
{ emit: 'disabledChange' },
{ emit: 'disabledDatesChange' },
{ emit: 'displayFormatChange' },
{ emit: 'dropDownButtonTemplateChange' },
{ emit: 'dropDownOptionsChange' },
{ emit: 'elementAttrChange' },
{ emit: 'focusStateEnabledChange' },
{ emit: 'heightChange' },
{ emit: 'hintChange' },
{ emit: 'hoverStateEnabledChange' },
{ emit: 'inputAttrChange' },
{ emit: 'intervalChange' },
{ emit: 'invalidDateMessageChange' },
{ emit: 'isValidChange' },
{ emit: 'maxChange' },
{ emit: 'maxLengthChange' },
{ emit: 'minChange' },
{ emit: 'nameChange' },
{ emit: 'openedChange' },
{ emit: 'openOnFieldClickChange' },
{ emit: 'pickerTypeChange' },
{ emit: 'placeholderChange' },
{ emit: 'readOnlyChange' },
{ emit: 'rtlEnabledChange' },
{ emit: 'showAnalogClockChange' },
{ emit: 'showClearButtonChange' },
{ emit: 'showDropDownButtonChange' },
{ emit: 'spellcheckChange' },
{ emit: 'stylingModeChange' },
{ emit: 'tabIndexChange' },
{ emit: 'textChange' },
{ emit: 'typeChange' },
{ emit: 'useMaskBehaviorChange' },
{ emit: 'validationErrorChange' },
{ emit: 'validationErrorsChange' },
{ emit: 'validationMessageModeChange' },
{ emit: 'validationStatusChange' },
{ emit: 'valueChange' },
{ emit: 'valueChangeEventChange' },
{ emit: 'visibleChange' },
{ emit: 'widthChange' },
{ emit: 'onBlur' }
]);
this._idh.setHost(this);
optionHost.setHost(this);
}
/**
* Specifies whether or not the UI component allows an end-user to enter a custom value.
*/
get acceptCustomValue() {
return this._getOption('acceptCustomValue');
}
set acceptCustomValue(value) {
this._setOption('acceptCustomValue', value);
}
/**
* Specifies the shortcut key that sets focus on the UI component.
*/
get accessKey() {
return this._getOption('accessKey');
}
set accessKey(value) {
this._setOption('accessKey', value);
}
/**
* Specifies whether or not the UI component changes its state when interacting with a user.
*/
get activeStateEnabled() {
return this._getOption('activeStateEnabled');
}
set activeStateEnabled(value) {
this._setOption('activeStateEnabled', value);
}
/**
* Specifies whether or not adaptive UI component rendering is enabled on a small screen.
*/
get adaptivityEnabled() {
return this._getOption('adaptivityEnabled');
}
set adaptivityEnabled(value) {
this._setOption('adaptivityEnabled', value);
}
/**
* The text displayed on the Apply button.
*/
get applyButtonText() {
return this._getOption('applyButtonText');
}
set applyButtonText(value) {
this._setOption('applyButtonText', value);
}
/**
* Specifies the way an end-user applies the selected value.
*/
get applyValueMode() {
return this._getOption('applyValueMode');
}
set applyValueMode(value) {
this._setOption('applyValueMode', value);
}
/**
* Allows you to add custom buttons to the input text field.
*/
get buttons() {
return this._getOption('buttons');
}
set buttons(value) {
this._setOption('buttons', value);
}
/**
* Configures the calendar's value picker. Applies only if the pickerType is 'calendar'.
*/
get calendarOptions() {
return this._getOption('calendarOptions');
}
set calendarOptions(value) {
this._setOption('calendarOptions', value);
}
/**
* The text displayed on the Cancel button.
*/
get cancelButtonText() {
return this._getOption('cancelButtonText');
}
set cancelButtonText(value) {
this._setOption('cancelButtonText', value);
}
/**
* Specifies the message displayed if the specified date is later than the max value or earlier than the min value.
*/
get dateOutOfRangeMessage() {
return this._getOption('dateOutOfRangeMessage');
}
set dateOutOfRangeMessage(value) {
this._setOption('dateOutOfRangeMessage', value);
}
/**
* Specifies the date-time value serialization format. Use it only if you do not specify the value at design time.
*/
get dateSerializationFormat() {
return this._getOption('dateSerializationFormat');
}
set dateSerializationFormat(value) {
this._setOption('dateSerializationFormat', value);
}
/**
* Specifies whether to render the drop-down field's content when it is displayed. If false, the content is rendered immediately.
*/
get deferRendering() {
return this._getOption('deferRendering');
}
set deferRendering(value) {
this._setOption('deferRendering', value);
}
/**
* Specifies whether the UI component responds to user interaction.
*/
get disabled() {
return this._getOption('disabled');
}
set disabled(value) {
this._setOption('disabled', value);
}
/**
* Specifies dates that users cannot select. Applies only if pickerType is 'calendar'.
*/
get disabledDates() {
return this._getOption('disabledDates');
}
set disabledDates(value) {
this._setOption('disabledDates', value);
}
/**
* Specifies the date display format. Ignored if the pickerType property is 'native'
*/
get displayFormat() {
return this._getOption('displayFormat');
}
set displayFormat(value) {
this._setOption('displayFormat', value);
}
/**
* Specifies a custom template for the drop-down button.
*/
get dropDownButtonTemplate() {
return this._getOption('dropDownButtonTemplate');
}
set dropDownButtonTemplate(value) {
this._setOption('dropDownButtonTemplate', value);
}
/**
* Configures the drop-down field which holds the content.
*/
get dropDownOptions() {
return this._getOption('dropDownOptions');
}
set dropDownOptions(value) {
this._setOption('dropDownOptions', value);
}
/**
* Specifies the global attributes to be attached to the UI component's container element.
*/
get elementAttr() {
return this._getOption('elementAttr');
}
set elementAttr(value) {
this._setOption('elementAttr', value);
}
/**
* Specifies whether the UI component can be focused using keyboard navigation.
*/
get focusStateEnabled() {
return this._getOption('focusStateEnabled');
}
set focusStateEnabled(value) {
this._setOption('focusStateEnabled', value);
}
/**
* Specifies the UI component's height.
*/
get height() {
return this._getOption('height');
}
set height(value) {
this._setOption('height', value);
}
/**
* Specifies text for a hint that appears when a user pauses on the UI component.
*/
get hint() {
return this._getOption('hint');
}
set hint(value) {
this._setOption('hint', value);
}
/**
* Specifies whether the UI component changes its state when a user pauses on it.
*/
get hoverStateEnabled() {
return this._getOption('hoverStateEnabled');
}
set hoverStateEnabled(value) {
this._setOption('hoverStateEnabled', value);
}
/**
* Specifies the attributes to be passed on to the underlying HTML element.
*/
get inputAttr() {
return this._getOption('inputAttr');
}
set inputAttr(value) {
this._setOption('inputAttr', value);
}
/**
* Specifies the interval between neighboring values in the popup list in minutes.
*/
get interval() {
return this._getOption('interval');
}
set interval(value) {
this._setOption('interval', value);
}
/**
* Specifies the message displayed if the typed value is not a valid date or time.
*/
get invalidDateMessage() {
return this._getOption('invalidDateMessage');
}
set invalidDateMessage(value) {
this._setOption('invalidDateMessage', value);
}
/**
* Specifies or indicates whether the editor's value is valid.
*/
get isValid() {
return this._getOption('isValid');
}
set isValid(value) {
this._setOption('isValid', value);
}
/**
* The last date that can be selected within the UI component.
*/
get max() {
return this._getOption('max');
}
set max(value) {
this._setOption('max', value);
}
/**
* Specifies the maximum number of characters you can enter into the textbox.
*/
get maxLength() {
return this._getOption('maxLength');
}
set maxLength(value) {
this._setOption('maxLength', value);
}
/**
* The minimum date that can be selected within the UI component.
*/
get min() {
return this._getOption('min');
}
set min(value) {
this._setOption('min', value);
}
/**
* The value to be assigned to the `name` attribute of the underlying HTML element.
*/
get name() {
return this._getOption('name');
}
set name(value) {
this._setOption('name', value);
}
/**
* Specifies whether or not the drop-down editor is displayed.
*/
get opened() {
return this._getOption('opened');
}
set opened(value) {
this._setOption('opened', value);
}
/**
* Specifies whether a user can open the drop-down list by clicking a text field.
*/
get openOnFieldClick() {
return this._getOption('openOnFieldClick');
}
set openOnFieldClick(value) {
this._setOption('openOnFieldClick', value);
}
/**
* Specifies the type of the date/time picker.
*/
get pickerType() {
return this._getOption('pickerType');
}
set pickerType(value) {
this._setOption('pickerType', value);
}
/**
* Specifies a placeholder for the input field.
*/
get placeholder() {
return this._getOption('placeholder');
}
set placeholder(value) {
this._setOption('placeholder', value);
}
/**
* Specifies whether the editor is read-only.
*/
get readOnly() {
return this._getOption('readOnly');
}
set readOnly(value) {
this._setOption('readOnly', value);
}
/**
* Switches the UI component to a right-to-left representation.
*/
get rtlEnabled() {
return this._getOption('rtlEnabled');
}
set rtlEnabled(value) {
this._setOption('rtlEnabled', value);
}
/**
* Specifies whether to show the analog clock in the value picker. Applies only if type is 'datetime' and pickerType is 'calendar'.
*/
get showAnalogClock() {
return this._getOption('showAnalogClock');
}
set showAnalogClock(value) {
this._setOption('showAnalogClock', value);
}
/**
* Specifies whether to display the Clear button in the UI component.
*/
get showClearButton() {
return this._getOption('showClearButton');
}
set showClearButton(value) {
this._setOption('showClearButton', value);
}
/**
* Specifies whether the drop-down button is visible.
*/
get showDropDownButton() {
return this._getOption('showDropDownButton');
}
set showDropDownButton(value) {
this._setOption('showDropDownButton', value);
}
/**
* Specifies whether or not the UI component checks the inner text for spelling mistakes.
*/
get spellcheck() {
return this._getOption('spellcheck');
}
set spellcheck(value) {
this._setOption('spellcheck', value);
}
/**
* Specifies how the UI component's text field is styled.
*/
get stylingMode() {
return this._getOption('stylingMode');
}
set stylingMode(value) {
this._setOption('stylingMode', value);
}
/**
* Specifies the number of the element when the Tab key is used for navigating.
*/
get tabIndex() {
return this._getOption('tabIndex');
}
set tabIndex(value) {
this._setOption('tabIndex', value);
}
/**
* The read-only property that holds the text displayed by the UI component input element.
*/
get text() {
return this._getOption('text');
}
set text(value) {
this._setOption('text', value);
}
/**
* A format used to display date/time information.
*/
get type() {
return this._getOption('type');
}
set type(value) {
this._setOption('type', value);
}
/**
* Specifies whether to control user input using a mask created based on the displayFormat.
*/
get useMaskBehavior() {
return this._getOption('useMaskBehavior');
}
set useMaskBehavior(value) {
this._setOption('useMaskBehavior', value);
}
/**
* Information on the broken validation rule. Contains the first item from the validationErrors array.
*/
get validationError() {
return this._getOption('validationError');
}
set validationError(value) {
this._setOption('validationError', value);
}
/**
* An array of the validation rules that failed.
*/
get validationErrors() {
return this._getOption('validationErrors');
}
set validationErrors(value) {
this._setOption('validationErrors', value);
}
/**
* Specifies how the message about the validation rules that are not satisfied by this editor's value is displayed.
*/
get validationMessageMode() {
return this._getOption('validationMessageMode');
}
set validationMessageMode(value) {
this._setOption('validationMessageMode', value);
}
/**
* Indicates or specifies the current validation status.
*/
get validationStatus() {
return this._getOption('validationStatus');
}
set validationStatus(value) {
this._setOption('validationStatus', value);
}
/**
* An object or a value specifying the date and time currently selected using the date box.
*/
get value() {
return this._getOption('value');
}
set value(value) {
this._setOption('value', value);
}
/**
* Specifies the DOM events after which the UI component's value should be updated.
*/
get valueChangeEvent() {
return this._getOption('valueChangeEvent');
}
set valueChangeEvent(value) {
this._setOption('valueChangeEvent', value);
}
/**
* Specifies whether the UI component is visible.
*/
get visible() {
return this._getOption('visible');
}
set visible(value) {
this._setOption('visible', value);
}
/**
* Specifies the UI component's width.
*/
get width() {
return this._getOption('width');
}
set width(value) {
this._setOption('width', value);
}
change(_) { }
get buttonsChildren() {
return this._getOption('buttons');
}
set buttonsChildren(value) {
this.setChildren('buttons', value);
}
_createInstance(element, options) {
return new DxDateBox(element, options);
}
writeValue(value) {
this.eventHelper.lockedValueChangeEvent = true;
this.value = value;
this.eventHelper.lockedValueChangeEvent = false;
}
setDisabledState(isDisabled) {
this.disabled = isDisabled;
}
registerOnChange(fn) { this.change = fn; }
registerOnTouched(fn) { this.touched = fn; }
_createWidget(element) {
super._createWidget(element);
this.instance.on('focusOut', (e) => {
this.eventHelper.fireNgEvent('onBlur', [e]);
});
}
ngOnDestroy() {
this._destroyWidget();
}
ngOnChanges(changes) {
super.ngOnChanges(changes);
this.setupChanges('buttons', changes);
this.setupChanges('disabledDates', changes);
this.setupChanges('validationErrors', changes);
}
setupChanges(prop, changes) {
if (!(prop in this._optionsToUpdate)) {
this._idh.setup(prop, changes);
}
}
ngDoCheck() {
this._idh.doCheck('buttons');
this._idh.doCheck('disabledDates');
this._idh.doCheck('validationErrors');
this._watcherHelper.checkWatchers();
super.ngDoCheck();
super.clearChangedOptions();
}
_setOption(name, value) {
let isSetup = this._idh.setupSingle(name, value);
let isChanged = this._idh.getChanges(name, value) !== null;
if (isSetup || isChanged) {
super._setOption(name, value);
}
}
};
DxDateBoxComponent.ctorParameters = () => [
{ type: ElementRef },
{ type: NgZone },
{ type: DxTemplateHost },
{ type: WatcherHelper },
{ type: IterableDifferHelper },
{ type: NestedOptionHost },
{ type: TransferState },
{ type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
];
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "acceptCustomValue", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "accessKey", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "activeStateEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "adaptivityEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "applyButtonText", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "applyValueMode", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Array),
tslib_1.__metadata("design:paramtypes", [Array])
], DxDateBoxComponent.prototype, "buttons", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "calendarOptions", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "cancelButtonText", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "dateOutOfRangeMessage", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "dateSerializationFormat", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "deferRendering", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "disabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "disabledDates", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "displayFormat", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "dropDownButtonTemplate", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "dropDownOptions", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "elementAttr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "focusStateEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "height", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "hint", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "hoverStateEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "inputAttr", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Number),
tslib_1.__metadata("design:paramtypes", [Number])
], DxDateBoxComponent.prototype, "interval", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "invalidDateMessage", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "isValid", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "max", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "maxLength", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "min", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "name", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "opened", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "openOnFieldClick", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "pickerType", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "placeholder", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "readOnly", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "rtlEnabled", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "showAnalogClock", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "showClearButton", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "showDropDownButton", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "spellcheck", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "stylingMode", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Number),
tslib_1.__metadata("design:paramtypes", [Number])
], DxDateBoxComponent.prototype, "tabIndex", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "text", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "type", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "useMaskBehavior", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "validationError", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Array),
tslib_1.__metadata("design:paramtypes", [Array])
], DxDateBoxComponent.prototype, "validationErrors", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "validationMessageMode", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "validationStatus", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "value", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", String),
tslib_1.__metadata("design:paramtypes", [String])
], DxDateBoxComponent.prototype, "valueChangeEvent", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Boolean),
tslib_1.__metadata("design:paramtypes", [Boolean])
], DxDateBoxComponent.prototype, "visible", null);
tslib_1.__decorate([
Input(),
tslib_1.__metadata("design:type", Object),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "width", null);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onClosed", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onContentReady", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onCopy", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onCut", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onDisposing", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onEnterKey", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onFocusIn", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onFocusOut", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onInitialized", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onInput", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onKeyDown", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onKeyPress", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onKeyUp", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onOpened", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onOptionChanged", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onPaste", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onValueChanged", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "acceptCustomValueChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "accessKeyChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "activeStateEnabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "adaptivityEnabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "applyButtonTextChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "applyValueModeChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "buttonsChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "calendarOptionsChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "cancelButtonTextChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "dateOutOfRangeMessageChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "dateSerializationFormatChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "deferRenderingChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "disabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "disabledDatesChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "displayFormatChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "dropDownButtonTemplateChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "dropDownOptionsChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "elementAttrChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "focusStateEnabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "heightChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "hintChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "hoverStateEnabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "inputAttrChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "intervalChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "invalidDateMessageChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "isValidChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "maxChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "maxLengthChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "minChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "nameChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "openedChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "openOnFieldClickChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "pickerTypeChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "placeholderChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "readOnlyChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "rtlEnabledChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "showAnalogClockChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "showClearButtonChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "showDropDownButtonChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "spellcheckChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "stylingModeChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "tabIndexChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "textChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "typeChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "useMaskBehaviorChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "validationErrorChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "validationErrorsChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "validationMessageModeChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "validationStatusChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "valueChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "valueChangeEventChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "visibleChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "widthChange", void 0);
tslib_1.__decorate([
Output(),
tslib_1.__metadata("design:type", EventEmitter)
], DxDateBoxComponent.prototype, "onBlur", void 0);
tslib_1.__decorate([
HostListener('valueChange', ['$event']),
tslib_1.__metadata("design:type", Function),
tslib_1.__metadata("design:paramtypes", [Object]),
tslib_1.__metadata("design:returntype", void 0)
], DxDateBoxComponent.prototype, "change", null);
tslib_1.__decorate([
HostListener('onBlur', ['$event']),
tslib_1.__metadata("design:type", Object)
], DxDateBoxComponent.prototype, "touched", void 0);
tslib_1.__decorate([
ContentChildren(DxiButtonComponent),
tslib_1.__metadata("design:type", QueryList),
tslib_1.__metadata("design:paramtypes", [Object])
], DxDateBoxComponent.prototype, "buttonsChildren", null);
DxDateBoxComponent = tslib_1.__decorate([
Component({
selector: 'dx-date-box',
template: '',
providers: [
DxTemplateHost,
WatcherHelper,
CUSTOM_VALUE_ACCESSOR_PROVIDER,
NestedOptionHost,
IterableDifferHelper
]
}),
tslib_1.__param(7, Inject(PLATFORM_ID)),
tslib_1.__metadata("design:paramtypes", [ElementRef, NgZone, DxTemplateHost,
WatcherHelper,
IterableDifferHelper,
NestedOptionHost,
TransferState, Object])
], DxDateBoxComponent);
export { DxDateBoxComponent };
let DxDateBoxModule = class DxDateBoxModule {
};
DxDateBoxModule = tslib_1.__decorate([
NgModule({
imports: [
DxiButtonModule,
DxoOptionsModule,
DxoCalendarOptionsModule,
DxoDisplayFormatModule,
DxoDropDownOptionsModule,
DxoAnimationModule,
DxoHideModule,
DxoShowModule,
DxoPositionModule,
DxoAtModule,
DxoBoundaryOffsetModule,
DxoCollisionModule,
DxoMyModule,
DxoOffsetModule,
DxiToolbarItemModule,
DxIntegrationModule,
DxTemplateModule,
BrowserTransferStateModule
],
declarations: [
DxDateBoxComponent
],
exports: [
DxDateBoxComponent,
DxiButtonModule,
DxoOptionsModule,
DxoCalendarOptionsModule,
DxoDisplayFormatModule,
DxoDropDownOptionsModule,
DxoAnimationModule,
DxoHideModule,
DxoShowModule,
DxoPositionModule,
DxoAtModule,
DxoBoundaryOffsetModule,
DxoCollisionModule,
DxoMyModule,
DxoOffsetModule,
DxiToolbarItemModule,
DxTemplateModule
]
})
], DxDateBoxModule);
export { DxDateBoxModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290Ijoibmc6Ly9kZXZleHRyZW1lLWFuZ3VsYXIvdWkvZGF0ZS1ib3gvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7R0FXRzs7QUFFSCxvQ0FBb0M7QUFHcEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDdkUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRTFELE9BQU8sRUFDSCxTQUFTLEVBQ1QsUUFBUSxFQUNSLFVBQVUsRUFDVixNQUFNLEVBQ04sV0FBVyxFQUNYLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixTQUFTLEVBQ1QsT0FBTyxFQUNQLGFBQWEsRUFDYixlQUFlLEVBQ2YsU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBUXZCLE9BQU8sU0FBUyxNQUFNLHdCQUF3QixDQUFDO0FBRS9DLE9BQU8sRUFFSCxpQkFBaUIsRUFDcEIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0gsV0FBVyxFQUNYLGNBQWMsRUFDZCxtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixvQkFBb0IsRUFDcEIsYUFBYSxFQUNoQixNQUFNLHlCQUF5QixDQUFDO0FBRWpDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXBFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBS2xFLE1BQU0sOEJBQThCLEdBQUc7SUFDbkMsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO0lBQ2pELEtBQUssRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUNGOzs7R0FHRztBQVlILElBQWEsa0JBQWtCLEdBQS9CLE1BQWEsa0JBQW1CLFNBQVEsV0FBVztJQWd0Qy9DLFlBQVksVUFBc0IsRUFBRSxNQUFjLEVBQUUsWUFBNEIsRUFDaEUsY0FBNkIsRUFDN0IsSUFBMEIsRUFDbEMsVUFBNEIsRUFDNUIsYUFBNEIsRUFDUCxVQUFlO1FBRXhDLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBTnZFLG1CQUFjLEdBQWQsY0FBYyxDQUFlO1FBQzdCLFNBQUksR0FBSixJQUFJLENBQXNCO1FBaEJOLFlBQU8sR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBdUJwRCxJQUFJLENBQUMsb0JBQW9CLENBQUM7WUFDdEIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDekMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7WUFDekMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRTtZQUNyRCxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQU