UNPKG

@tapsellorg/angular-material-library

Version:

Angular library for Tapsell

1 lines 16.8 kB
{"version":3,"file":"tapsellorg-angular-material-library-src-lib-table.mjs","sources":["../../projects/pegah-library/src/lib/table/table-date-range-picker.directive.ts","../../projects/pegah-library/src/lib/table/table-header.directive.ts","../../projects/pegah-library/src/lib/table/table-box/table-box.component.ts","../../projects/pegah-library/src/lib/table/table-box/table-box.component.html","../../projects/pegah-library/src/lib/table/table.module.ts","../../projects/pegah-library/src/lib/table/table-datasource.ts","../../projects/pegah-library/src/lib/table/tapsellorg-angular-material-library-src-lib-table.ts"],"sourcesContent":["import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[pgh-table-date-range-picker]',\n standalone: false,\n})\nexport class PghTableDateRangePickerDirective {\n constructor() {}\n}\n","import { Directive } from '@angular/core';\n\n@Directive({\n selector: '[pgh-table-header]',\n standalone: false,\n})\nexport class PghTableHeaderDirective {\n constructor() {}\n}\n","import { AfterViewInit, Component, ContentChild, input, ViewEncapsulation } from '@angular/core';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { PghFilterChipsComponent } from '@tapsellorg/angular-material-library/src/lib/filter-chips';\nimport { PghTableDateRangePickerDirective } from '../table-date-range-picker.directive';\nimport { PghTableHeaderDirective } from '../table-header.directive';\nimport { PghDateRangePickerComponent } from '@tapsellorg/angular-material-library/src/lib/date-range-picker';\nimport { MatSort } from '@angular/material/sort';\nimport { PghTableDatasource } from '../public-api';\nimport { PghRefreshButtonComponent } from '@tapsellorg/angular-material-library/src/lib/refresh-button';\n\n@Component({\n selector: 'pgh-table-box',\n templateUrl: './table-box.component.html',\n styleUrls: ['./table-box.component.scss'],\n encapsulation: ViewEncapsulation.None,\n standalone: false,\n})\nexport class PghTableBoxComponent implements AfterViewInit {\n tableTitle = input<string | undefined>(undefined);\n datasource = input<PghTableDatasource<any> | undefined>(undefined);\n\n @ContentChild(PghFilterChipsComponent) filterChipsComponent?: PghFilterChipsComponent;\n @ContentChild(MatPaginator) matPaginator?: MatPaginator;\n @ContentChild(MatSort) matSort?: MatSort;\n @ContentChild(PghDateRangePickerComponent) dateRangePickerComponent?: PghDateRangePickerComponent;\n @ContentChild(PghTableDateRangePickerDirective)\n dateRangePickerDirective?: PghTableDateRangePickerDirective;\n @ContentChild(PghTableHeaderDirective) headerDirective?: PghTableHeaderDirective;\n @ContentChild(PghRefreshButtonComponent) refreshButtonComponent?: PghRefreshButtonComponent;\n\n constructor() {}\n\n ngAfterViewInit(): void {\n this.initializeDatasource();\n this.getTableData();\n }\n\n initializeDatasource() {\n if (this.matPaginator) {\n this.datasource()?.setPaginator(this.matPaginator);\n }\n if (this.matSort) {\n this.datasource()?.setSorter(this.matSort);\n }\n if (this.filterChipsComponent) {\n this.datasource()?.setFilter(this.filterChipsComponent);\n }\n if (this.dateRangePickerComponent) {\n this.datasource()?.setDateFilter(this.dateRangePickerComponent);\n }\n if (this.refreshButtonComponent) {\n this.datasource()?.setRefresher(this.refreshButtonComponent);\n }\n }\n\n getTableData() {\n this.datasource()?.triggerLoadData();\n }\n}\n","<div class=\"pgh-table-box\">\n <div class=\"pgh-table-box-header\" [hidden]=\"!tableTitle() && !headerDirective\">\n @if (tableTitle()) {\n <h4>{{ tableTitle() }}</h4>\n }\n <ng-content select=\"[pgh-table-header]\"></ng-content>\n </div>\n <div class=\"pgh-table-box-header\" [hidden]=\"!dateRangePickerDirective && !refreshButtonComponent\">\n <ng-content select=\"[pgh-table-date-range-picker]\"></ng-content>\n <ng-content select=\"[pgh-table-refresh-button]\"></ng-content>\n </div>\n\n <div\n class=\"pgh-filters-wrapper\"\n [hidden]=\"!filtersWrapperRef.innerHTML.trim() && !actionButtonsWrapperRef.innerHTML.trim()\"\n >\n <div #filtersWrapperRef>\n <ng-content select=\"pgh-filter-chips\"></ng-content>\n <ng-content select=\"[pgh-table-filters]\"></ng-content>\n </div>\n <div #actionButtonsWrapperRef class=\"pgh-action-buttons\">\n <ng-content select=\"[pgh-action-buttons]\"></ng-content>\n </div>\n </div>\n\n <div class=\"overflow-x-auto\">\n <ng-content></ng-content>\n </div>\n @if (matPaginator) {\n <div class=\"pgh-table-footer-container\">\n <ng-content select=\"mat-paginator\"></ng-content>\n </div>\n }\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatMenuModule } from '@angular/material/menu';\nimport { PghTableBoxComponent } from './table-box/table-box.component';\nimport { PghTableDateRangePickerDirective } from './table-date-range-picker.directive';\nimport { PghTableHeaderDirective } from './table-header.directive';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\n@NgModule({\n declarations: [PghTableBoxComponent, PghTableDateRangePickerDirective, PghTableHeaderDirective],\n imports: [CommonModule, MatButtonModule, MatMenuModule, MatIconModule, MatTooltipModule],\n exports: [PghTableBoxComponent, PghTableDateRangePickerDirective, PghTableHeaderDirective],\n})\nexport class PghTableModule {}\n","import { DataSource } from '@angular/cdk/table';\nimport { BehaviorSubject, Observable, Subject } from 'rxjs';\nimport { CollectionViewer } from '@angular/cdk/collections';\nimport { pghLoader, PghLoader } from '@tapsellorg/angular-material-library/src/lib/loader';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { takeUntil } from 'rxjs/operators';\nimport { MatSort } from '@angular/material/sort';\nimport { pghDebounceTime } from '@tapsellorg/angular-material-library/src/lib/common';\nimport { PghTableDataSourceLoadResponse, PghTableDataSourceParams } from './models';\nimport {\n PghFilterChipsComponent,\n PghFilterChipsSearchEvent,\n} from '@tapsellorg/angular-material-library/src/lib/filter-chips';\nimport { PghRefreshButtonComponent } from '@tapsellorg/angular-material-library/src/lib/refresh-button';\nimport {\n PghDateRangeChangeEvent,\n PghDateRangePickerComponent,\n} from '@tapsellorg/angular-material-library/src/lib/date-range-picker';\n\nexport abstract class PghTableDatasource<T> extends DataSource<T> {\n readonly DEFAULT_PAGE_SIZE = 20;\n protected _destroyed$ = new Subject();\n protected dataSubject = new BehaviorSubject<T[]>([]);\n private triggerLoadDataSubject = new Subject();\n private paginator?: MatPaginator;\n private sorter?: MatSort;\n private filterChipsComponent?: PghFilterChipsComponent;\n private dateRangePickerComponent?: PghDateRangePickerComponent;\n private filterChipsFilterData?: PghFilterChipsSearchEvent;\n private dateRangePickerSelectedRange?: PghDateRangeChangeEvent;\n private refreshButtonComponent?: PghRefreshButtonComponent;\n\n dataLength: number = 0;\n loader = new PghLoader(['overlay', 'big']);\n\n protected constructor(protected config: { idField: keyof T }) {\n super();\n }\n\n connect(_collectionViewer: CollectionViewer): Observable<T[]> {\n return this.dataSubject.asObservable();\n }\n\n disconnect(_collectionViewer: CollectionViewer): void {\n this.dataSubject.complete();\n this._destroyed$.next(undefined);\n this._destroyed$.complete();\n }\n\n abstract loadData(data: PghTableDataSourceParams): Observable<PghTableDataSourceLoadResponse<T>>;\n\n setPaginator(paginator: MatPaginator) {\n if (!paginator) return;\n\n this.paginator = paginator;\n this.paginator.page.pipe(takeUntil(this._destroyed$)).subscribe(() => {\n this.triggerLoadData();\n });\n }\n\n setSorter(sorter: MatSort) {\n this.sorter = sorter;\n this.sorter.sortChange.pipe(takeUntil(this._destroyed$)).subscribe(() => {\n this.triggerLoadData();\n });\n }\n\n setFilter(filterChipsComponent: PghFilterChipsComponent) {\n this.paginator?.firstPage();\n this.filterChipsComponent = filterChipsComponent;\n this.filterChipsComponent.search.subscribe((data: PghFilterChipsSearchEvent) => {\n this.filterChipsFilterData = data;\n this.triggerLoadData();\n });\n }\n\n setDateFilter(dateRangePickerComponent: PghDateRangePickerComponent) {\n this.dateRangePickerComponent = dateRangePickerComponent;\n this.dateRangePickerSelectedRange = this.dateRangePickerComponent.getSelectedDateRange();\n this.dateRangePickerComponent.rangeChange.subscribe(data => {\n this.dateRangePickerSelectedRange = data;\n this.triggerLoadData();\n });\n }\n\n setRefresher(refreshButtonComponent: PghRefreshButtonComponent) {\n this.refreshButtonComponent = refreshButtonComponent;\n this.refreshButtonComponent?.refreshDataEvent.subscribe(() => {\n this.triggerLoadData();\n });\n }\n\n trackBy = (index: number, item: T) => item[this.config.idField];\n\n @pghDebounceTime(200)\n triggerLoadData() {\n this.triggerLoadDataSubject.next(true);\n this.loadData({\n pageOptions: {\n index: this.paginator?.pageIndex ?? 0,\n size: this.paginator?.pageSize ?? this.DEFAULT_PAGE_SIZE,\n },\n sortOptions: this.sorter?.active\n ? {\n field: this.sorter.active,\n direction: this.sorter.direction,\n }\n : undefined,\n filterChipsFilterData: this.filterChipsFilterData,\n dateRangePickerSelectedRange: this.dateRangePickerSelectedRange,\n })\n .pipe(pghLoader(this.loader), takeUntil(this.triggerLoadDataSubject))\n .subscribe(response => {\n this.dataSubject.next(response.data);\n this.dataLength = response.totalItems;\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;MAMa,gCAAgC,CAAA;AAC3C,IAAA,WAAA,GAAA;+GADW,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAhC,gCAAgC,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAhC,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAJ5C,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,+BAA+B;AACzC,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;MCCY,uBAAuB,CAAA;AAClC,IAAA,WAAA,GAAA;+GADW,uBAAuB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAvB,uBAAuB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAvB,uBAAuB,EAAA,UAAA,EAAA,CAAA;kBAJnC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,oBAAoB;AAC9B,oBAAA,UAAU,EAAE,KAAK;AAClB,iBAAA;;;MCYY,oBAAoB,CAAA;AAa/B,IAAA,WAAA,GAAA;AAZA,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAqB,SAAS,CAAC;AACjD,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAsC,SAAS,CAAC;;IAalE,eAAe,GAAA;QACb,IAAI,CAAC,oBAAoB,EAAE;QAC3B,IAAI,CAAC,YAAY,EAAE;;IAGrB,oBAAoB,GAAA;AAClB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;;AAEpD,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;;AAE5C,QAAA,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,oBAAoB,CAAC;;AAEzD,QAAA,IAAI,IAAI,CAAC,wBAAwB,EAAE;YACjC,IAAI,CAAC,UAAU,EAAE,EAAE,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC;;AAEjE,QAAA,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC/B,IAAI,CAAC,UAAU,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,sBAAsB,CAAC;;;IAIhE,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,UAAU,EAAE,EAAE,eAAe,EAAE;;+GAvC3B,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAIjB,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,sBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,uBAAuB,EACvB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,YAAY,0EACZ,OAAO,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EACP,2BAA2B,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,0BAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAC3B,gCAAgC,EAEhC,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,uBAAuB,EACvB,WAAA,EAAA,IAAA,EAAA,EAAA,EAAA,YAAA,EAAA,wBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,yBAAyB,gDC5BzC,yrCAkCA,EAAA,MAAA,EAAA,CAAA,g5BAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FDjBa,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAPhC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,eAAe,EAGV,aAAA,EAAA,iBAAiB,CAAC,IAAI,cACzB,KAAK,EAAA,QAAA,EAAA,yrCAAA,EAAA,MAAA,EAAA,CAAA,g5BAAA,CAAA,EAAA;wDAMsB,oBAAoB,EAAA,CAAA;sBAA1D,YAAY;uBAAC,uBAAuB;gBACT,YAAY,EAAA,CAAA;sBAAvC,YAAY;uBAAC,YAAY;gBACH,OAAO,EAAA,CAAA;sBAA7B,YAAY;uBAAC,OAAO;gBACsB,wBAAwB,EAAA,CAAA;sBAAlE,YAAY;uBAAC,2BAA2B;gBAEzC,wBAAwB,EAAA,CAAA;sBADvB,YAAY;uBAAC,gCAAgC;gBAEP,eAAe,EAAA,CAAA;sBAArD,YAAY;uBAAC,uBAAuB;gBACI,sBAAsB,EAAA,CAAA;sBAA9D,YAAY;uBAAC,yBAAyB;;;MEb5B,cAAc,CAAA;+GAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;gHAAd,cAAc,EAAA,YAAA,EAAA,CAJV,oBAAoB,EAAE,gCAAgC,EAAE,uBAAuB,CAAA,EAAA,OAAA,EAAA,CACpF,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,aAC7E,oBAAoB,EAAE,gCAAgC,EAAE,uBAAuB,CAAA,EAAA,CAAA,CAAA;gHAE9E,cAAc,EAAA,OAAA,EAAA,CAHf,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,CAAA,EAAA,CAAA,CAAA;;4FAG5E,cAAc,EAAA,UAAA,EAAA,CAAA;kBAL1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,CAAC,oBAAoB,EAAE,gCAAgC,EAAE,uBAAuB,CAAC;oBAC/F,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,CAAC;AACxF,oBAAA,OAAO,EAAE,CAAC,oBAAoB,EAAE,gCAAgC,EAAE,uBAAuB,CAAC;AAC3F,iBAAA;;;ACKK,MAAgB,kBAAsB,SAAQ,UAAa,CAAA;AAgB/D,IAAA,WAAA,CAAgC,MAA4B,EAAA;AAC1D,QAAA,KAAK,EAAE;QADuB,IAAM,CAAA,MAAA,GAAN,MAAM;QAf7B,IAAiB,CAAA,iBAAA,GAAG,EAAE;AACrB,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,OAAO,EAAE;AAC3B,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,eAAe,CAAM,EAAE,CAAC;AAC5C,QAAA,IAAA,CAAA,sBAAsB,GAAG,IAAI,OAAO,EAAE;QAS9C,IAAU,CAAA,UAAA,GAAW,CAAC;QACtB,IAAM,CAAA,MAAA,GAAG,IAAI,SAAS,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AA2D1C,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,KAAa,EAAE,IAAO,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;;AArD/D,IAAA,OAAO,CAAC,iBAAmC,EAAA;AACzC,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE;;AAGxC,IAAA,UAAU,CAAC,iBAAmC,EAAA;AAC5C,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;AAC3B,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC;AAChC,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE;;AAK7B,IAAA,YAAY,CAAC,SAAuB,EAAA;AAClC,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS;AAC1B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACnE,IAAI,CAAC,eAAe,EAAE;AACxB,SAAC,CAAC;;AAGJ,IAAA,SAAS,CAAC,MAAe,EAAA;AACvB,QAAA,IAAI,CAAC,MAAM,GAAG,MAAM;AACpB,QAAA,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YACtE,IAAI,CAAC,eAAe,EAAE;AACxB,SAAC,CAAC;;AAGJ,IAAA,SAAS,CAAC,oBAA6C,EAAA;AACrD,QAAA,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE;AAC3B,QAAA,IAAI,CAAC,oBAAoB,GAAG,oBAAoB;QAChD,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAA+B,KAAI;AAC7E,YAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI;YACjC,IAAI,CAAC,eAAe,EAAE;AACxB,SAAC,CAAC;;AAGJ,IAAA,aAAa,CAAC,wBAAqD,EAAA;AACjE,QAAA,IAAI,CAAC,wBAAwB,GAAG,wBAAwB;QACxD,IAAI,CAAC,4BAA4B,GAAG,IAAI,CAAC,wBAAwB,CAAC,oBAAoB,EAAE;QACxF,IAAI,CAAC,wBAAwB,CAAC,WAAW,CAAC,SAAS,CAAC,IAAI,IAAG;AACzD,YAAA,IAAI,CAAC,4BAA4B,GAAG,IAAI;YACxC,IAAI,CAAC,eAAe,EAAE;AACxB,SAAC,CAAC;;AAGJ,IAAA,YAAY,CAAC,sBAAiD,EAAA;AAC5D,QAAA,IAAI,CAAC,sBAAsB,GAAG,sBAAsB;QACpD,IAAI,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,SAAS,CAAC,MAAK;YAC3D,IAAI,CAAC,eAAe,EAAE;AACxB,SAAC,CAAC;;IAMJ,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;QACtC,IAAI,CAAC,QAAQ,CAAC;AACZ,YAAA,WAAW,EAAE;AACX,gBAAA,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC;gBACrC,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,IAAI,IAAI,CAAC,iBAAiB;AACzD,aAAA;AACD,YAAA,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;AACxB,kBAAE;AACE,oBAAA,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;AACzB,oBAAA,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;AACjC;AACH,kBAAE,SAAS;YACb,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,4BAA4B,EAAE,IAAI,CAAC,4BAA4B;SAChE;AACE,aAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,sBAAsB,CAAC;aACnE,SAAS,CAAC,QAAQ,IAAG;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;AACpC,YAAA,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU;AACvC,SAAC,CAAC;;AAEP;AAtBC,UAAA,CAAA;IADC,eAAe,CAAC,GAAG;AAsBnB,CAAA,EAAA,kBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,IAAA,CAAA;;ACpHH;;AAEG;;;;"}