UNPKG

ng-devui

Version:

DevUI components based on Angular

1 lines 28.3 kB
{"version":3,"file":"ng-devui-read-tip.mjs","sources":["../../devui/read-tip/read-tip.component.ts","../../devui/read-tip/read-tip.component.html","../../devui/read-tip/read-tip.directive.ts","../../devui/read-tip/read-tip.module.ts","../../devui/read-tip/ng-devui-read-tip.ts"],"sourcesContent":["import { animate, state, style, transition, trigger } from '@angular/animations';\nimport {\n AfterContentChecked,\n AfterViewInit,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Renderer2,\n TemplateRef\n} from '@angular/core';\nimport { PositionService } from 'ng-devui/position';\nimport { PositionType } from 'ng-devui/tooltip';\nimport { fromEvent, Subscription } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'd-read-tip',\n templateUrl: './read-tip.component.html',\n styleUrls: ['./read-tip.component.scss'],\n animations: [\n trigger('state', [\n state('void', style({ opacity: 0 })),\n state('visible', style({ opacity: 1 })),\n transition('* => visible', animate('150ms cubic-bezier(0.0, 0.0, 0.2, 1)')),\n transition('visible => *', animate('150ms cubic-bezier(0.4, 0.0, 1, 1)')),\n ]),\n ],\n})\nexport class ReadTipComponent implements OnInit, AfterViewInit, AfterContentChecked, OnDestroy {\n @Input() triggerElementRef: ElementRef;\n @Input() position: PositionType | PositionType[] = 'top';\n @Input() content: string | HTMLElement | TemplateRef<any>;\n @Input() customData: any;\n @Input() title: string | HTMLElement;\n @Input() showAnimate = false;\n @Input() scrollElement: Element;\n @Input() appendToBody: boolean;\n @Input() zIndex = 1060;\n @Input() popMaxWidth: number;\n @Input() overlayClassName: string;\n\n subs: Subscription = new Subscription();\n SCROLL_REFRESH_INTERVAL = 100;\n currentPosition: PositionType;\n connectionBias: string;\n animateState: string = this.showAnimate ? 'void' : '';\n\n @HostBinding('style.display') get display() {\n return this.content ? 'block' : 'none';\n }\n @HostBinding('class') get class() {\n return 'devui-popover ' + this.currentPosition + ' ' + this.connectionBias;\n }\n\n @HostBinding('@state') get state() {\n return this.animateState;\n }\n\n get template() {\n return this.content instanceof TemplateRef ? this.content : null;\n }\n\n constructor(\n private renderer: Renderer2,\n private positionService: PositionService,\n public elementRef: ElementRef,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.style.zIndex = this.zIndex;\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n this.updatePosition();\n });\n\n if (this.appendToBody) {\n if (!this.scrollElement) {\n this.scrollElement = this.positionService.getScrollParent(this.triggerElementRef.nativeElement);\n }\n this.subs.add(\n fromEvent(this.scrollElement || window, 'scroll')\n .pipe(debounceTime(this.SCROLL_REFRESH_INTERVAL))\n .subscribe(() => {\n this.updatePosition();\n })\n );\n this.subs.add(\n fromEvent(window, 'resize')\n .pipe(debounceTime(this.SCROLL_REFRESH_INTERVAL))\n .subscribe(() => {\n this.updatePosition();\n })\n );\n }\n }\n\n ngAfterContentChecked() {\n this.updatePosition();\n }\n\n show() {\n this.animateState = 'visible';\n }\n\n hide() {\n this.animateState = 'void';\n }\n\n onHidden() {}\n\n @HostListener('@state.done', ['$event'])\n onAnimationEnd(event) {\n if (event.toState === 'void') {\n this.onHidden();\n }\n }\n\n ngOnDestroy() {\n if (this.subs) {\n this.subs.unsubscribe();\n }\n }\n\n updatePosition() {\n const rect = this.positionService.positionElements(\n this.triggerElementRef.nativeElement,\n this.elementRef.nativeElement,\n this.position,\n this.appendToBody\n );\n this.currentPosition = rect.placementPrimary;\n this.connectionBias = `bias-${rect.placementSecondary}`;\n if (rect.placementSecondary === 'center') {\n if (rect.placementPrimary === 'left' || rect.placementPrimary === 'right') {\n this.connectionBias = 'bias-vertical-center';\n } else {\n this.connectionBias = 'bias-horizontal-center';\n }\n }\n this.renderer.setStyle(this.elementRef.nativeElement, 'left', `${rect.left}px`);\n this.renderer.setStyle(this.elementRef.nativeElement, 'top', `${rect.top}px`);\n }\n}\n","<div class=\"arrow\"></div>\n<div class=\"devui-popover-content {{ overlayClassName }}\" [style.maxWidth.px]=\"popMaxWidth\">\n <ng-template [ngTemplateOutlet]=\"template || defaultTemplate\" [ngTemplateOutletContext]=\"{ $implicit: customData }\"> </ng-template>\n <ng-template #defaultTemplate>\n <div class=\"read-tip-container\">\n <div class=\"title\">\n {{ title }}\n </div>\n <div class=\"content\">\n {{ content }}\n </div>\n </div>\n </ng-template>\n</div>\n","import { DOCUMENT } from '@angular/common';\nimport {\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n ElementRef,\n HostListener,\n Inject,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n TemplateRef,\n ViewContainerRef\n} from '@angular/core';\nimport { OverlayContainerRef } from 'ng-devui/overlay-container';\nimport { of } from 'rxjs';\nimport { ReadTipComponent } from './read-tip.component';\nimport { ReadTipOptions, ReadTipRule } from './read-tip.types';\n\n@Directive({\n selector: '[dReadTip]',\n exportAs: 'dReadTip',\n})\nexport class ReadTipDirective implements OnInit, OnDestroy {\n readTipComponentRef: ComponentRef<ReadTipComponent>;\n\n _prevTarget;\n document: Document;\n\n defaultOptions: ReadTipOptions = {\n trigger: 'hover',\n showAnimate: false,\n mouseenterTime: 100,\n mouseleaveTime: 100,\n position: 'top',\n overlayClassName: '',\n appendToBody: true,\n rules: { selector: null },\n };\n\n set prevTarget(target) {\n if (target !== this._prevTarget) {\n this._prevTarget = target;\n this.hide();\n }\n }\n\n @Input() readTipOptions: ReadTipOptions;\n\n @Input() contentTemplate: TemplateRef<any>;\n\n @HostListener('mouseover', ['$event'])\n onMouseOver(event: MouseEvent) {\n this.findElementIndex(event.target, this.readTipOptions?.rules, 'hover').subscribe((elementInfo) => {\n if (elementInfo?.shouldTrigger) {\n this.hide();\n if (!this.readTipComponentRef) {\n const target = new ElementRef(event.target);\n setTimeout(() => {\n this.show(target, elementInfo.rule);\n }, elementInfo.rule?.mouseenterTime);\n }\n if (this.readTipComponentRef) {\n setTimeout(() => {\n if (this.readTipComponentRef) {\n this.readTipComponentRef.instance.updatePosition();\n }\n }, elementInfo.rule?.mouseenterTime);\n }\n }\n });\n }\n\n @HostListener('mouseout', ['$event'])\n onMouseOut(event: MouseEvent) {\n this.findElementIndex(event.target, this.readTipOptions?.rules, 'hover').subscribe((elementInfo) => {\n if (elementInfo?.shouldTrigger) {\n setTimeout(() => {\n this.hide();\n }, elementInfo.rule?.mouseleaveTime);\n }\n });\n }\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent) {\n this.findElementIndex(event.target, this.readTipOptions?.rules, 'click').subscribe((elementInfo) => {\n this.prevTarget = event.target;\n if (elementInfo?.shouldTrigger) {\n if (!this.readTipComponentRef) {\n const target = new ElementRef(event.target);\n this.show(target, elementInfo.rule);\n }\n if (this.readTipComponentRef) {\n setTimeout(() => {\n if (this.readTipComponentRef) {\n this.readTipComponentRef.instance.updatePosition();\n }\n });\n }\n }\n });\n }\n\n constructor(\n private el: ElementRef,\n private componentFactoryResolver: ComponentFactoryResolver,\n private overlayContainerRef: OverlayContainerRef,\n private inject: Injector,\n private viewContainerRef: ViewContainerRef,\n @Inject(DOCUMENT) private doc: any\n ) {\n this.document = this.doc;\n }\n\n ngOnInit() {}\n\n ngOnDestroy() {\n this.destroy();\n }\n\n show(target, rule?: ReadTipRule) {\n this.hide();\n if (!this.readTipComponentRef) {\n this.createReadTip(target, rule);\n }\n\n if (rule.showAnimate) {\n this.readTipComponentRef.instance.show();\n }\n if (rule.trigger === 'click') {\n this.document.addEventListener('click', this.onDocumentClick);\n }\n }\n\n createReadTip(target, rule?: ReadTipRule) {\n if (rule.appendToBody) {\n this.readTipComponentRef = this.overlayContainerRef.createComponent(\n this.componentFactoryResolver.resolveComponentFactory(ReadTipComponent)\n );\n } else {\n this.readTipComponentRef = this.viewContainerRef.createComponent(\n this.componentFactoryResolver.resolveComponentFactory(ReadTipComponent),\n this.viewContainerRef.length,\n this.inject\n );\n }\n\n if (this.contentTemplate) {\n Object.assign(this.readTipComponentRef.instance, {\n content: this.contentTemplate,\n triggerElementRef: target,\n appendToBody: rule.appendToBody,\n position: rule.position,\n overlayClassName: rule.overlayClassName,\n });\n } else {\n if (rule.dataFn) {\n rule.dataFn({ element: target.nativeElement, rule }).subscribe((data) => {\n if (data.template) {\n Object.assign(this.readTipComponentRef.instance, {\n content: data.template,\n customData: data.customData,\n triggerElementRef: target,\n appendToBody: rule.appendToBody,\n position: rule.position,\n overlayClassName: rule.overlayClassName,\n });\n } else {\n Object.assign(this.readTipComponentRef.instance, {\n content: data.content,\n title: data.title,\n triggerElementRef: target,\n appendToBody: rule.appendToBody,\n position: rule.position,\n overlayClassName: rule.overlayClassName,\n });\n }\n });\n } else {\n Object.assign(this.readTipComponentRef.instance, {\n content: rule.content,\n title: rule.title,\n triggerElementRef: target,\n appendToBody: rule.appendToBody,\n position: rule.position,\n overlayClassName: rule.overlayClassName,\n });\n }\n }\n }\n\n hide() {\n if (this.readTipComponentRef) {\n if (!this.readTipOptions.showAnimate) {\n this.destroy();\n return;\n }\n\n this.readTipComponentRef.instance.hide();\n this.readTipComponentRef.instance.onHidden = () => {\n this.destroy();\n };\n }\n }\n\n destroy() {\n if (this.readTipComponentRef) {\n this.readTipComponentRef.destroy();\n this.readTipComponentRef = null;\n }\n if (this.readTipOptions.trigger === 'click') {\n this.document.removeEventListener('click', this.onDocumentClick);\n }\n }\n\n onDocumentClick = (event) => {\n event.stopPropagation();\n if (\n !this.el.nativeElement.contains(event.target) &&\n !(this.readTipComponentRef && this.readTipComponentRef.instance.elementRef.nativeElement.contains(event.target))\n ) {\n this.hide();\n }\n };\n\n findElementIndex(element, rules, trigger) {\n const keysCanInherit = ['trigger', 'showAnimate', 'mouseenterTime', 'mouseleaveTime', 'position', 'overlayClassName', 'appendToBody'];\n if (rules instanceof Array) {\n let elementIndex = -1;\n\n for (let i = 0; i < rules.length; i++) {\n if (this.isCorrectElement(rules[i].selector, element)) {\n elementIndex = i;\n break;\n }\n }\n\n keysCanInherit.forEach((key) => {\n if (rules[elementIndex]) {\n rules[elementIndex][key] = rules[elementIndex][key] || this.readTipOptions[key] || this.defaultOptions[key];\n }\n });\n return of({\n shouldTrigger: rules[elementIndex]?.trigger === trigger && this.isCorrectElement(rules[elementIndex]?.selector, element),\n rule: rules[elementIndex],\n });\n } else {\n keysCanInherit.forEach((key) => {\n if (rules) {\n rules[key] = rules[key] || this.readTipOptions[key] || this.defaultOptions[key];\n }\n });\n return of({\n shouldTrigger: rules?.trigger === trigger && this.isCorrectElement(rules?.selector, element),\n rule: rules,\n });\n }\n }\n\n isCorrectElement(selector: string, element) {\n const elementsArray = this.el.nativeElement.querySelectorAll(selector);\n for (let i = 0; i < elementsArray.length; i++) {\n if (elementsArray[i] === element) {\n return true;\n }\n }\n return false;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { OverlayContainerModule } from 'ng-devui/overlay-container';\nimport { PositioningModule } from 'ng-devui/position';\nimport { ReadTipComponent } from './read-tip.component';\nimport { ReadTipDirective } from './read-tip.directive';\n\n@NgModule({\n imports: [CommonModule, PositioningModule, OverlayContainerModule],\n exports: [ReadTipComponent, ReadTipDirective],\n declarations: [ReadTipComponent, ReadTipDirective],\n})\nexport class ReadTipModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;MAiCa,gBAAgB,CAAA;AAmB3B,IAAA,IAAkC,OAAO,GAAA;QACvC,OAAO,IAAI,CAAC,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;KACxC;AACD,IAAA,IAA0B,KAAK,GAAA;QAC7B,OAAO,gBAAgB,GAAG,IAAI,CAAC,eAAe,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC;KAC5E;AAED,IAAA,IAA2B,KAAK,GAAA;QAC9B,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;AAED,IAAA,IAAI,QAAQ,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,OAAO,YAAY,WAAW,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;KAClE;AAED,IAAA,WAAA,CACU,QAAmB,EACnB,eAAgC,EACjC,UAAsB,EACrB,GAAsB,EAAA;QAHtB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;QACnB,IAAe,CAAA,eAAA,GAAf,eAAe,CAAiB;QACjC,IAAU,CAAA,UAAA,GAAV,UAAU,CAAY;QACrB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAmB;QApCvB,IAAQ,CAAA,QAAA,GAAkC,KAAK,CAAC;QAIhD,IAAW,CAAA,WAAA,GAAG,KAAK,CAAC;QAGpB,IAAM,CAAA,MAAA,GAAG,IAAI,CAAC;AAIvB,QAAA,IAAA,CAAA,IAAI,GAAiB,IAAI,YAAY,EAAE,CAAC;QACxC,IAAuB,CAAA,uBAAA,GAAG,GAAG,CAAC;AAG9B,QAAA,IAAA,CAAA,YAAY,GAAW,IAAI,CAAC,WAAW,GAAG,MAAM,GAAG,EAAE,CAAC;KAsBlD;IAEJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;KAC1D;IAED,eAAe,GAAA;QACb,UAAU,CAAC,MAAK;YACd,IAAI,CAAC,cAAc,EAAE,CAAC;AACxB,SAAC,CAAC,CAAC;AAEH,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACvB,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC;aACjG;AACD,YAAA,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,MAAM,EAAE,QAAQ,CAAC;AAC9C,iBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;iBAChD,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB,CAAC,CACL,CAAC;YACF,IAAI,CAAC,IAAI,CAAC,GAAG,CACX,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC;AACxB,iBAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;iBAChD,SAAS,CAAC,MAAK;gBACd,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB,CAAC,CACL,CAAC;SACH;KACF;IAED,qBAAqB,GAAA;QACnB,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;KAC/B;IAED,IAAI,GAAA;AACF,QAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;KAC5B;AAED,IAAA,QAAQ,MAAK;AAGb,IAAA,cAAc,CAAC,KAAK,EAAA;AAClB,QAAA,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE;YAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC;SACjB;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;AACb,YAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;SACzB;KACF;IAED,cAAc,GAAA;AACZ,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAChD,IAAI,CAAC,iBAAiB,CAAC,aAAa,EACpC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,YAAY,CAClB,CAAC;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC7C,IAAI,CAAC,cAAc,GAAG,CAAA,KAAA,EAAQ,IAAI,CAAC,kBAAkB,EAAE,CAAC;AACxD,QAAA,IAAI,IAAI,CAAC,kBAAkB,KAAK,QAAQ,EAAE;AACxC,YAAA,IAAI,IAAI,CAAC,gBAAgB,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,KAAK,OAAO,EAAE;AACzE,gBAAA,IAAI,CAAC,cAAc,GAAG,sBAAsB,CAAC;aAC9C;iBAAM;AACL,gBAAA,IAAI,CAAC,cAAc,GAAG,wBAAwB,CAAC;aAChD;SACF;AACD,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,CAAG,EAAA,IAAI,CAAC,IAAI,CAAA,EAAA,CAAI,CAAC,CAAC;AAChF,QAAA,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,CAAG,EAAA,IAAI,CAAC,GAAG,CAAA,EAAA,CAAI,CAAC,CAAC;KAC/E;+GApHU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAhB,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,YAAA,EAAA,cAAA,EAAA,MAAA,EAAA,QAAA,EAAA,WAAA,EAAA,aAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,aAAA,EAAA,wBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,cAAA,EAAA,OAAA,EAAA,YAAA,EAAA,QAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECjC7B,ggBAcA,EDUc,MAAA,EAAA,CAAA,mgIAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,UAAA,EAAA;YACV,OAAO,CAAC,OAAO,EAAE;gBACf,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBACpC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC,gBAAA,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;AAC3E,gBAAA,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;aAC1E,CAAC;AACH,SAAA,EAAA,CAAA,CAAA,EAAA;;4FAEU,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAb5B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAGV,UAAA,EAAA;wBACV,OAAO,CAAC,OAAO,EAAE;4BACf,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;4BACpC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;AACvC,4BAAA,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,sCAAsC,CAAC,CAAC;AAC3E,4BAAA,UAAU,CAAC,cAAc,EAAE,OAAO,CAAC,oCAAoC,CAAC,CAAC;yBAC1E,CAAC;AACH,qBAAA,EAAA,QAAA,EAAA,ggBAAA,EAAA,MAAA,EAAA,CAAA,mgIAAA,CAAA,EAAA,CAAA;qKAGQ,iBAAiB,EAAA,CAAA;sBAAzB,KAAK;gBACG,QAAQ,EAAA,CAAA;sBAAhB,KAAK;gBACG,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACG,UAAU,EAAA,CAAA;sBAAlB,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBACG,YAAY,EAAA,CAAA;sBAApB,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,WAAW,EAAA,CAAA;sBAAnB,KAAK;gBACG,gBAAgB,EAAA,CAAA;sBAAxB,KAAK;gBAQ4B,OAAO,EAAA,CAAA;sBAAxC,WAAW;uBAAC,eAAe,CAAA;gBAGF,KAAK,EAAA,CAAA;sBAA9B,WAAW;uBAAC,OAAO,CAAA;gBAIO,KAAK,EAAA,CAAA;sBAA/B,WAAW;uBAAC,QAAQ,CAAA;gBA4DrB,cAAc,EAAA,CAAA;sBADb,YAAY;uBAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAA;;;ME9F5B,gBAAgB,CAAA;IAiB3B,IAAI,UAAU,CAAC,MAAM,EAAA;AACnB,QAAA,IAAI,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE;AAC/B,YAAA,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC;YAC1B,IAAI,CAAC,IAAI,EAAE,CAAC;SACb;KACF;AAOD,IAAA,WAAW,CAAC,KAAiB,EAAA;QAC3B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AACjG,YAAA,IAAI,WAAW,EAAE,aAAa,EAAE;gBAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,gBAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC7B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC5C,UAAU,CAAC,MAAK;wBACd,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;AACtC,qBAAC,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;iBACtC;AACD,gBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,UAAU,CAAC,MAAK;AACd,wBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,4BAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;yBACpD;AACH,qBAAC,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;iBACtC;aACF;AACH,SAAC,CAAC,CAAC;KACJ;AAGD,IAAA,UAAU,CAAC,KAAiB,EAAA;QAC1B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AACjG,YAAA,IAAI,WAAW,EAAE,aAAa,EAAE;gBAC9B,UAAU,CAAC,MAAK;oBACd,IAAI,CAAC,IAAI,EAAE,CAAC;AACd,iBAAC,EAAE,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;aACtC;AACH,SAAC,CAAC,CAAC;KACJ;AAGD,IAAA,OAAO,CAAC,KAAiB,EAAA;QACvB,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AACjG,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;AAC/B,YAAA,IAAI,WAAW,EAAE,aAAa,EAAE;AAC9B,gBAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;oBAC7B,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC5C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;iBACrC;AACD,gBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,UAAU,CAAC,MAAK;AACd,wBAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,4BAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;yBACpD;AACH,qBAAC,CAAC,CAAC;iBACJ;aACF;AACH,SAAC,CAAC,CAAC;KACJ;IAED,WACU,CAAA,EAAc,EACd,wBAAkD,EAClD,mBAAwC,EACxC,MAAgB,EAChB,gBAAkC,EAChB,GAAQ,EAAA;QAL1B,IAAE,CAAA,EAAA,GAAF,EAAE,CAAY;QACd,IAAwB,CAAA,wBAAA,GAAxB,wBAAwB,CAA0B;QAClD,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAqB;QACxC,IAAM,CAAA,MAAA,GAAN,MAAM,CAAU;QAChB,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;QAChB,IAAG,CAAA,GAAA,GAAH,GAAG,CAAK;AAjFpC,QAAA,IAAA,CAAA,cAAc,GAAmB;AAC/B,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,WAAW,EAAE,KAAK;AAClB,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,gBAAgB,EAAE,EAAE;AACpB,YAAA,YAAY,EAAE,IAAI;AAClB,YAAA,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC1B,CAAC;AAkLF,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,KAAK,KAAI;YAC1B,KAAK,CAAC,eAAe,EAAE,CAAC;AACxB,YAAA,IACE,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC7C,EAAE,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAChH;gBACA,IAAI,CAAC,IAAI,EAAE,CAAC;aACb;AACH,SAAC,CAAC;AAhHA,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC;KAC1B;AAED,IAAA,QAAQ,MAAK;IAEb,WAAW,GAAA;QACT,IAAI,CAAC,OAAO,EAAE,CAAC;KAChB;IAED,IAAI,CAAC,MAAM,EAAE,IAAkB,EAAA;QAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;AACZ,QAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;AAC7B,YAAA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;SAClC;AAED,QAAA,IAAI,IAAI,CAAC,WAAW,EAAE;AACpB,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SAC1C;AACD,QAAA,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;YAC5B,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAC/D;KACF;IAED,aAAa,CAAC,MAAM,EAAE,IAAkB,EAAA;AACtC,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,eAAe,CACjE,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CACxE,CAAC;SACH;aAAM;AACL,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAC9D,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,EACvE,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAC5B,IAAI,CAAC,MAAM,CACZ,CAAC;SACH;AAED,QAAA,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;gBAC/C,OAAO,EAAE,IAAI,CAAC,eAAe;AAC7B,gBAAA,iBAAiB,EAAE,MAAM;gBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACxC,aAAA,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,KAAI;AACtE,oBAAA,IAAI,IAAI,CAAC,QAAQ,EAAE;wBACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;4BAC/C,OAAO,EAAE,IAAI,CAAC,QAAQ;4BACtB,UAAU,EAAE,IAAI,CAAC,UAAU;AAC3B,4BAAA,iBAAiB,EAAE,MAAM;4BACzB,YAAY,EAAE,IAAI,CAAC,YAAY;4BAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACxC,yBAAA,CAAC,CAAC;qBACJ;yBAAM;wBACL,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;4BAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,4BAAA,iBAAiB,EAAE,MAAM;4BACzB,YAAY,EAAE,IAAI,CAAC,YAAY;4BAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;4BACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACxC,yBAAA,CAAC,CAAC;qBACJ;AACH,iBAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE;oBAC/C,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;AACjB,oBAAA,iBAAiB,EAAE,MAAM;oBACzB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;AACxC,iBAAA,CAAC,CAAC;aACJ;SACF;KACF;IAED,IAAI,GAAA;AACF,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE;gBACpC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,OAAO;aACR;AAED,YAAA,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACzC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAK;gBAChD,IAAI,CAAC,OAAO,EAAE,CAAC;AACjB,aAAC,CAAC;SACH;KACF;IAED,OAAO,GAAA;AACL,QAAA,IAAI,IAAI,CAAC,mBAAmB,EAAE;AAC5B,YAAA,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;AACnC,YAAA,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;SACjC;QACD,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,KAAK,OAAO,EAAE;YAC3C,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;SAClE;KACF;AAYD,IAAA,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAA;AACtC,QAAA,MAAM,cAAc,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;AACtI,QAAA,IAAI,KAAK,YAAY,KAAK,EAAE;AAC1B,YAAA,IAAI,YAAY,GAAG,CAAC,CAAC,CAAC;AAEtB,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACrC,gBAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE;oBACrD,YAAY,GAAG,CAAC,CAAC;oBACjB,MAAM;iBACP;aACF;AAED,YAAA,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AAC7B,gBAAA,IAAI,KAAK,CAAC,YAAY,CAAC,EAAE;AACvB,oBAAA,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBAC7G;AACH,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,EAAE,CAAC;gBACR,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC;AACxH,gBAAA,IAAI,EAAE,KAAK,CAAC,YAAY,CAAC;AAC1B,aAAA,CAAC,CAAC;SACJ;aAAM;AACL,YAAA,cAAc,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;gBAC7B,IAAI,KAAK,EAAE;oBACT,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;iBACjF;AACH,aAAC,CAAC,CAAC;AACH,YAAA,OAAO,EAAE,CAAC;AACR,gBAAA,aAAa,EAAE,KAAK,EAAE,OAAO,KAAK,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC;AAC5F,gBAAA,IAAI,EAAE,KAAK;AACZ,aAAA,CAAC,CAAC;SACJ;KACF;IAED,gBAAgB,CAAC,QAAgB,EAAE,OAAO,EAAA;AACxC,QAAA,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AACvE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC7C,YAAA,IAAI,aAAa,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;AAChC,gBAAA,OAAO,IAAI,CAAC;aACb;SACF;AACD,QAAA,OAAO,KAAK,CAAC;KACd;AArPU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iLAuFjB,QAAQ,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAvFP,gBAAgB,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,WAAA,EAAA,qBAAA,EAAA,UAAA,EAAA,oBAAA,EAAA,OAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA,EAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,QAAQ,EAAE,UAAU;AACrB,iBAAA,CAAA;;0BAwFI,MAAM;2BAAC,QAAQ,CAAA;yCA/DT,cAAc,EAAA,CAAA;sBAAtB,KAAK;gBAEG,eAAe,EAAA,CAAA;sBAAvB,KAAK;gBAGN,WAAW,EAAA,CAAA;sBADV,YAAY;uBAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAuBrC,UAAU,EAAA,CAAA;sBADT,YAAY;uBAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAA;gBAYpC,OAAO,EAAA,CAAA;sBADN,YAAY;uBAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,CAAA;;;MCzEtB,aAAa,CAAA;+GAAb,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAFT,YAAA,EAAA,CAAA,gBAAgB,EAAE,gBAAgB,CAFvC,EAAA,OAAA,EAAA,CAAA,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,CACvD,EAAA,OAAA,EAAA,CAAA,gBAAgB,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA,EAAA;AAGjC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,EAJd,OAAA,EAAA,CAAA,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAItD,aAAa,EAAA,UAAA,EAAA,CAAA;kBALzB,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,sBAAsB,CAAC;AAClE,oBAAA,OAAO,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AAC7C,oBAAA,YAAY,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;AACnD,iBAAA,CAAA;;;ACXD;;AAEG;;;;"}