UNPKG

@ng-not-found/ng-typed-date

Version:

Directive that uses the native date picker and binds the typed value to Date.

1 lines 20.3 kB
{"version":3,"file":"ng-not-found-ng-typed-date.mjs","sources":["../../../projects/ng-typed-date/src/lib/directives/date/ng-model-date.directive.ts","../../../projects/ng-typed-date/src/lib/directives/datetime-local/ng-model-datetime-local.directive.ts","../../../projects/ng-typed-date/src/lib/ng-typed-date.module.ts","../../../projects/ng-typed-date/src/public-api.ts","../../../projects/ng-typed-date/src/ng-not-found-ng-typed-date.ts"],"sourcesContent":["import { DatePipe } from '@angular/common';\r\nimport {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Host,\r\n Input,\r\n OnInit,\r\n Optional,\r\n Output,\r\n Renderer2\r\n} from '@angular/core';\r\nimport {\r\n ControlContainer,\r\n ControlValueAccessor,\r\n NgModel,\r\n Validators\r\n} from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[type=date][ngModelDate]:not([formControlName]):not([formControl])',\r\n providers: [\r\n DatePipe\r\n ],\r\n host: {\r\n '(change)': 'onChangeDate($event.target.value)',\r\n '(blur)': 'onBlur()',\r\n }\r\n})\r\nexport class NgModelDateDirective extends NgModel implements OnInit, ControlValueAccessor {\r\n\r\n private _ngModelDate: Date | null;\r\n private _min: Date | string;\r\n private _max: Date | string;\r\n\r\n public get ngModelDate(): any {\r\n return this._ngModelDate;\r\n }\r\n @Input() public set ngModelDate(value: any) {\r\n if (this.isValidDate(value)) {\r\n if (this._ngModelDate != value) {\r\n this._ngModelDate = value;\r\n this.onBlur();\r\n }\r\n } else {\r\n this._ngModelDate = null;\r\n }\r\n\r\n }\r\n\r\n public get min(): Date | string {\r\n return this._min;\r\n }\r\n @Input() public set min(value: Date | string) {\r\n if (this._min != value) {\r\n this._min = value;\r\n this.setSettingsInputDate('min', this._min);\r\n }\r\n }\r\n\r\n public get max(): Date | string {\r\n return this._max;\r\n }\r\n @Input() public set max(value: Date | string) {\r\n if (this._max != value) {\r\n this._max = value;\r\n this.setSettingsInputDate('max', this._max);\r\n }\r\n }\r\n\r\n @Input() required: boolean | string = null;\r\n\r\n @Output() ngModelDateChange = new EventEmitter<Date>();\r\n\r\n constructor(\r\n @Optional() @Host() parent: ControlContainer,\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2,\r\n private datePipe: DatePipe) {\r\n super(parent, null, null, null);\r\n\r\n super.valueAccessor = this;\r\n super.options = { updateOn: 'blur' };\r\n super.model = this.ngModelDate;\r\n\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.setPropertyElement('value', value);\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.setPropertyElement('disabled', isDisabled);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setRequired();\r\n\r\n this.setSettingsInputDate('min', this.min);\r\n this.setSettingsInputDate('max', this.max);\r\n this.onBlur();\r\n }\r\n\r\n private setRequired() {\r\n if (this.required !== null) {\r\n this.control.setValidators(Validators.required);\r\n }\r\n }\r\n\r\n private setSettingsInputDate(propertyName: string, value: Date | string) {\r\n if (value) {\r\n this.setPropertyElement(propertyName, this.formatDate(value));\r\n }\r\n }\r\n\r\n onChange: any = () => { };\r\n onTouched: any = () => { };\r\n\r\n onChangeDate(event: string) {\r\n const [year, month, day] = event.split('-');\r\n this._ngModelDate = new Date(Number(year), Number(month) - 1, Number(day), 0, 0, 0);\r\n this.ngModelDateChange.emit(this._ngModelDate);\r\n }\r\n\r\n onBlur(): void {\r\n this.control.setValue(this.formatDate(this._ngModelDate));\r\n this.onTouched();\r\n }\r\n\r\n private formatDate(date: Date | string) {\r\n\r\n if (this.isValidDate(date))\r\n return this.datePipe.transform(date, 'yyyy-MM-dd');\r\n\r\n return null;\r\n }\r\n\r\n private setPropertyElement(propertyName: string, value: any) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, propertyName, value);\r\n }\r\n\r\n private isValidDate(value: Date | string) {\r\n if (!value)\r\n return false;\r\n\r\n if (value instanceof Date)\r\n return !isNaN(value.getTime());\r\n\r\n return !isNaN(Date.parse(value));\r\n }\r\n\r\n}\r\n","\r\nimport {\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n Host,\r\n Input,\r\n OnInit,\r\n Optional,\r\n Output,\r\n Renderer2\r\n} from '@angular/core';\r\nimport {\r\n ControlContainer,\r\n ControlValueAccessor,\r\n NgModel,\r\n Validators\r\n} from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[type=datetime-local][ngModelDate]:not([formControlName]):not([formControl])',\r\n providers: [\r\n ],\r\n host: {\r\n '(change)': 'onChangeDate($event.target.value)',\r\n }\r\n})\r\nexport class NgModelDatetimeLocalDirective extends NgModel implements OnInit, ControlValueAccessor {\r\n\r\n private _ngModelDate: Date | null;\r\n private _min: Date | string;\r\n private _max: Date | string;\r\n\r\n public get ngModelDate(): any {\r\n return this._ngModelDate;\r\n }\r\n @Input() public set ngModelDate(value: any) {\r\n if (this.isValidDate(value)) {\r\n if (this._ngModelDate != value) {\r\n this._ngModelDate = value;\r\n this.control.setValue(this.formatDate(this._ngModelDate));\r\n this.onTouched();\r\n }\r\n } else {\r\n this._ngModelDate = null;\r\n }\r\n\r\n }\r\n\r\n public get min(): Date | string {\r\n return this._min;\r\n }\r\n @Input() public set min(value: Date | string) {\r\n if (this._min != value) {\r\n this._min = value;\r\n this.setSettingsInputDate('min', this._min);\r\n }\r\n }\r\n\r\n public get max(): Date | string {\r\n return this._max;\r\n }\r\n @Input() public set max(value: Date | string) {\r\n if (this._max != value) {\r\n this._max = value;\r\n this.setSettingsInputDate('max', this._max);\r\n }\r\n }\r\n\r\n @Input() required: boolean | string = null;\r\n\r\n @Output() ngModelDateChange = new EventEmitter<Date>();\r\n\r\n constructor(\r\n @Optional() @Host() parent: ControlContainer,\r\n private elementRef: ElementRef,\r\n private renderer: Renderer2) {\r\n super(parent, null, null, null);\r\n\r\n super.valueAccessor = this;\r\n super.options = { updateOn: 'blur' };\r\n super.model = this.ngModelDate;\r\n\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.setPropertyElement('value', value);\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.setPropertyElement('disabled', isDisabled);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.setRequired();\r\n\r\n this.setSettingsInputDate('min', this.min);\r\n this.setSettingsInputDate('max', this.max);\r\n }\r\n\r\n private setRequired() {\r\n if (this.required !== null) {\r\n this.control.setValidators(Validators.required);\r\n }\r\n }\r\n\r\n private setSettingsInputDate(propertyName: string, value: Date | string) {\r\n if (value) {\r\n this.setPropertyElement(propertyName, this.formatDate(value));\r\n }\r\n }\r\n\r\n onChange: any = () => { };\r\n onTouched: any = () => { };\r\n\r\n onChangeDate(value: string) {\r\n this._ngModelDate = this.parseDateString(value);\r\n this.control.setValue(this.formatDate(this._ngModelDate));\r\n this.ngModelDateChange.emit(this._ngModelDate);\r\n }\r\n\r\n private parseDateString(date: string): Date {\r\n if (!date)\r\n return undefined;\r\n\r\n date = date.replace('T', '-');\r\n var parts = date.split('-');\r\n var timeParts = parts[3].split(':');\r\n return new Date(Number(parts[0]), Number(parts[1]) - 1, Number(parts[2]), Number(timeParts[0]), Number(timeParts[1]));\r\n\r\n }\r\n\r\n private formatDate(date: Date | string) {\r\n\r\n if (this.isValidDate(date))\r\n return this.toDateString(new Date(date));\r\n\r\n return null;\r\n }\r\n\r\n private toDateString(date: Date): string {\r\n return (date.getFullYear().toString() + '-' + (\"0\" + (date.getMonth() + 1)).slice(-2) + '-' + (\"0\" + (date.getDate())).slice(-2))\r\n + 'T' + date.toTimeString().slice(0, 5);\r\n }\r\n\r\n private setPropertyElement(propertyName: string, value: any) {\r\n this.renderer.setProperty(this.elementRef.nativeElement, propertyName, value);\r\n }\r\n\r\n private isValidDate(value: Date | string) {\r\n if (!value)\r\n return false;\r\n\r\n if (value instanceof Date)\r\n return !isNaN(value.getTime());\r\n\r\n return !isNaN(Date.parse(value));\r\n }\r\n\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgModelDateDirective } from './directives/date/ng-model-date.directive';\r\nimport { NgModelDatetimeLocalDirective } from './directives/datetime-local/ng-model-datetime-local.directive';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [NgModelDateDirective, NgModelDatetimeLocalDirective],\r\n imports: [\r\n FormsModule,\r\n CommonModule,\r\n ReactiveFormsModule\r\n ],\r\n exports: [NgModelDateDirective, NgModelDatetimeLocalDirective]\r\n})\r\nexport class NgTypedDateModule { }\r\n","/*\r\n * Public API Surface of ng-typed-date\r\n */\r\n\r\nexport * from './lib/directives/date/ng-model-date.directive';\r\nexport * from './lib/directives/datetime-local/ng-model-datetime-local.directive';\r\nexport * from './lib/ng-typed-date.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;AA6BM,MAAO,oBAAqB,SAAQ,OAAO,CAAA;AA6C/C,IAAA,WAAA,CACsB,MAAwB,EACpC,UAAsB,EACtB,QAAmB,EACnB,QAAkB,EAAA;QAC1B,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAHxB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAU;QARnB,IAAQ,CAAA,QAAA,GAAqB,IAAI,CAAC;AAEjC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAQ,CAAC;AAiDvD,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,GAAI,CAAC;AAC1B,QAAA,IAAA,CAAA,SAAS,GAAQ,MAAK,GAAI,CAAC;AAzCzB,QAAA,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACrC,QAAA,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;KAEhC;AAlDD,IAAA,IAAW,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAoB,WAAW,CAAC,KAAU,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK,EAAE;AAC9B,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,MAAM,EAAE,CAAC;AACf,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAC1B,SAAA;KAEF;AAED,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,IAAoB,GAAG,CAAC,KAAoB,EAAA;AAC1C,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,SAAA;KACF;AAED,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,IAAoB,GAAG,CAAC,KAAoB,EAAA;AAC1C,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,SAAA;KACF;AAmBD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KACzC;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;KACjD;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;KACf;IAEO,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjD,SAAA;KACF;IAEO,oBAAoB,CAAC,YAAoB,EAAE,KAAoB,EAAA;AACrE,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/D,SAAA;KACF;AAKD,IAAA,YAAY,CAAC,KAAa,EAAA;AACxB,QAAA,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAChD;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;KAClB;AAEO,IAAA,UAAU,CAAC,IAAmB,EAAA;AAEpC,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;AAErD,QAAA,OAAO,IAAI,CAAC;KACb;IAEO,kBAAkB,CAAC,YAAoB,EAAE,KAAU,EAAA;AACzD,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;KAC/E;AAEO,IAAA,WAAW,CAAC,KAAoB,EAAA;AACtC,QAAA,IAAI,CAAC,KAAK;AACR,YAAA,OAAO,KAAK,CAAC;QAEf,IAAI,KAAK,YAAY,IAAI;YACvB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAEjC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;KAClC;;iHA9HU,oBAAoB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,oBAAoB,EARpB,QAAA,EAAA,oEAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,GAAA,EAAA,KAAA,EAAA,GAAA,EAAA,KAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,mCAAA,EAAA,MAAA,EAAA,UAAA,EAAA,EAAA,EAAA,SAAA,EAAA;QACT,QAAQ;AACT,KAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAMU,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAVhC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oEAAoE;AAC9E,oBAAA,SAAS,EAAE;wBACT,QAAQ;AACT,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,UAAU,EAAE,mCAAmC;AAC/C,wBAAA,QAAQ,EAAE,UAAU;AACrB,qBAAA;AACF,iBAAA,CAAA;;0BA+CI,QAAQ;;0BAAI,IAAI;oHArCC,WAAW,EAAA,CAAA;sBAA9B,KAAK;gBAec,GAAG,EAAA,CAAA;sBAAtB,KAAK;gBAUc,GAAG,EAAA,CAAA;sBAAtB,KAAK;gBAOG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEI,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;;;AC7CH,MAAO,6BAA8B,SAAQ,OAAO,CAAA;AA8CxD,IAAA,WAAA,CACsB,MAAwB,EACpC,UAAsB,EACtB,QAAmB,EAAA;QAC3B,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAFxB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QAPpB,IAAQ,CAAA,QAAA,GAAqB,IAAI,CAAC;AAEjC,QAAA,IAAA,CAAA,iBAAiB,GAAG,IAAI,YAAY,EAAQ,CAAC;AA+CvD,QAAA,IAAA,CAAA,QAAQ,GAAQ,MAAK,GAAI,CAAC;AAC1B,QAAA,IAAA,CAAA,SAAS,GAAQ,MAAK,GAAI,CAAC;AAxCzB,QAAA,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AACrC,QAAA,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC;KAEhC;AAlDD,IAAA,IAAW,WAAW,GAAA;QACpB,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;IACD,IAAoB,WAAW,CAAC,KAAU,EAAA;AACxC,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK,EAAE;AAC9B,gBAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;AAC1B,gBAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,SAAS,EAAE,CAAC;AAClB,aAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAC1B,SAAA;KAEF;AAED,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,IAAoB,GAAG,CAAC,KAAoB,EAAA;AAC1C,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,SAAA;KACF;AAED,IAAA,IAAW,GAAG,GAAA;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IACD,IAAoB,GAAG,CAAC,KAAoB,EAAA;AAC1C,QAAA,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC7C,SAAA;KACF;AAkBD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KACzC;AAED,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;KACpB;AACD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;AACD,IAAA,gBAAgB,CAAE,UAAmB,EAAA;AACnC,QAAA,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;KACjD;IAED,QAAQ,GAAA;QACN,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;KAC5C;IAEO,WAAW,GAAA;AACjB,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;AACjD,SAAA;KACF;IAEO,oBAAoB,CAAC,YAAoB,EAAE,KAAoB,EAAA;AACrE,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/D,SAAA;KACF;AAKD,IAAA,YAAY,CAAC,KAAa,EAAA;QACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;AAChD,QAAA,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KAChD;AAEO,IAAA,eAAe,CAAC,IAAY,EAAA;AAClC,QAAA,IAAI,CAAC,IAAI;AACP,YAAA,OAAO,SAAS,CAAC;QAEnB,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAEvH;AAEO,IAAA,UAAU,CAAC,IAAmB,EAAA;AAEpC,QAAA,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;YACxB,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAE3C,QAAA,OAAO,IAAI,CAAC;KACb;AAEO,IAAA,YAAY,CAAC,IAAU,EAAA;QAC7B,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5H,cAAA,GAAG,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC3C;IAEO,kBAAkB,CAAC,YAAoB,EAAE,KAAU,EAAA;AACzD,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;KAC/E;AAEO,IAAA,WAAW,CAAC,KAAoB,EAAA;AACtC,QAAA,IAAI,CAAC,KAAK;AACR,YAAA,OAAO,KAAK,CAAC;QAEf,IAAI,KAAK,YAAY,IAAI;YACvB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAEjC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;KAClC;;0HAxIU,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA7B,6BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,6BAA6B,0TAN7B,EACV,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;2FAKU,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBARzC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,8EAA8E;AACxF,oBAAA,SAAS,EAAE,EACV;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,UAAU,EAAE,mCAAmC;AAChD,qBAAA;AACF,iBAAA,CAAA;;0BAgDI,QAAQ;;0BAAI,IAAI;6FAtCC,WAAW,EAAA,CAAA;sBAA9B,KAAK;gBAgBc,GAAG,EAAA,CAAA;sBAAtB,KAAK;gBAUc,GAAG,EAAA,CAAA;sBAAtB,KAAK;gBAOG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBAEI,iBAAiB,EAAA,CAAA;sBAA1B,MAAM;;;MCtDI,iBAAiB,CAAA;;8GAAjB,iBAAiB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,EARb,YAAA,EAAA,CAAA,oBAAoB,EAAE,6BAA6B,aAEhE,WAAW;QACX,YAAY;QACZ,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAEX,oBAAoB,EAAE,6BAA6B,CAAA,EAAA,CAAA,CAAA;AAElD,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,iBAAiB,YAN1B,WAAW;QACX,YAAY;QACZ,mBAAmB,CAAA,EAAA,CAAA,CAAA;2FAIV,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAT7B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;AACnE,oBAAA,OAAO,EAAE;wBACP,WAAW;wBACX,YAAY;wBACZ,mBAAmB;AACpB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,oBAAoB,EAAE,6BAA6B,CAAC;AAC/D,iBAAA,CAAA;;;AChBD;;AAEG;;ACFH;;AAEG;;;;"}