{"version":3,"file":"ui-vts-kit-ng-vts-cdk-overflow.mjs","sources":["../../components/cdk/overflow/overflow-item.directive.ts","../../components/cdk/overflow/overflow-rest.directive.ts","../../components/cdk/overflow/overflow-suffix.directive.ts","../../components/cdk/overflow/overflow-container.component.ts","../../components/cdk/overflow/overflow.module.ts","../../components/cdk/overflow/public-api.ts","../../components/cdk/overflow/ui-vts-kit-ng-vts-cdk-overflow.ts"],"sourcesContent":["/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectorRef, Directive, ElementRef } from '@angular/core';\nimport { distinctUntilChanged, map, startWith, tap } from 'rxjs/operators';\n\nimport { VtsResizeObserver } from '@ui-vts-kit/ng-vts/cdk/resize-observer';\n\n@Directive({\n  selector: '[nzOverflowItem]',\n  host: {\n    '[style]': 'overflowStyle'\n  }\n})\nexport class VtsOverflowItemDirective {\n  overflowStyle: { [key: string]: string | number | undefined } | undefined = undefined;\n  itemWidth$ = this.nzResizeObserver.observe(this.elementRef.nativeElement).pipe(\n    map(([item]) => (item.target as HTMLElement).offsetWidth),\n    distinctUntilChanged(),\n    startWith(undefined),\n    tap(width => {\n      this.itemWidth = width;\n    })\n  );\n  itemWidth: number | undefined = undefined;\n  constructor(\n    private nzResizeObserver: VtsResizeObserver,\n    public elementRef: ElementRef,\n    private cdr: ChangeDetectorRef\n  ) {}\n\n  setItemStyle(display: boolean, order: number): void {\n    const mergedHidden = !display;\n    this.overflowStyle = {\n      opacity: mergedHidden ? 0 : 1,\n      height: mergedHidden ? 0 : undefined,\n      overflowY: mergedHidden ? 'hidden' : undefined,\n      order: order,\n      pointerEvents: mergedHidden ? 'none' : undefined,\n      position: mergedHidden ? 'absolute' : undefined\n    };\n    this.cdr.detectChanges();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectorRef, Directive, ElementRef } from '@angular/core';\nimport { map, startWith, tap } from 'rxjs/operators';\n\nimport { VtsResizeObserver } from '@ui-vts-kit/ng-vts/cdk/resize-observer';\n\n@Directive({\n  selector: '[nzOverflowRest]',\n  host: {\n    '[style]': 'restStyle'\n  }\n})\nexport class VtsOverflowRestDirective {\n  restStyle: { [key: string]: string | number | undefined } | undefined = undefined;\n  restWidth$ = this.nzResizeObserver.observe(this.elementRef.nativeElement).pipe(\n    map(([item]) => (item.target as HTMLElement).offsetWidth),\n    startWith(0),\n    tap(width => (this.restWidth = width))\n  );\n  restWidth = 0;\n  constructor(\n    private nzResizeObserver: VtsResizeObserver,\n    private elementRef: ElementRef,\n    private cdr: ChangeDetectorRef\n  ) {}\n\n  setRestStyle(display: boolean, order: number): void {\n    const mergedHidden = !display;\n    this.restStyle = {\n      opacity: mergedHidden ? 0 : 1,\n      height: mergedHidden ? 0 : undefined,\n      overflowY: mergedHidden ? 'hidden' : undefined,\n      order: order,\n      pointerEvents: mergedHidden ? 'none' : undefined,\n      position: mergedHidden ? 'absolute' : undefined\n    };\n    this.cdr.detectChanges();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { ChangeDetectorRef, Directive, ElementRef } from '@angular/core';\nimport { map, tap } from 'rxjs/operators';\n\nimport { VtsResizeObserver } from '@ui-vts-kit/ng-vts/cdk/resize-observer';\n\n@Directive({\n  selector: '[nzOverflowSuffix]',\n  host: {\n    '[style]': 'suffixStyle'\n  }\n})\nexport class VtsOverflowSuffixDirective {\n  suffixStyle = {};\n  suffixWidth$ = this.nzResizeObserver.observe(this.elementRef.nativeElement).pipe(\n    map(([item]) => (item.target as HTMLElement).offsetWidth),\n    tap(width => (this.suffixWidth = width))\n  );\n  suffixWidth = 0;\n  constructor(\n    private nzResizeObserver: VtsResizeObserver,\n    private elementRef: ElementRef,\n    private cdr: ChangeDetectorRef\n  ) {}\n\n  setSuffixStyle(start: number | null, order: number): void {\n    if (start !== null) {\n      this.suffixStyle = {\n        position: 'absolute',\n        left: `${start}px`,\n        top: 0,\n        opacity: 1,\n        order: order\n      };\n    } else {\n      this.suffixStyle = {\n        opacity: 1,\n        order: order\n      };\n    }\n    this.cdr.detectChanges();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport {\n  Component,\n  ChangeDetectionStrategy,\n  ContentChildren,\n  QueryList,\n  ElementRef,\n  OnInit,\n  AfterContentInit,\n  OnDestroy,\n  ContentChild,\n  ChangeDetectorRef\n} from '@angular/core';\nimport { BehaviorSubject, combineLatest, Observable, ReplaySubject, Subject } from 'rxjs';\nimport {\n  filter,\n  map,\n  pairwise,\n  startWith,\n  switchMap,\n  takeUntil,\n  withLatestFrom\n} from 'rxjs/operators';\n\nimport { VtsResizeObserver } from '@ui-vts-kit/ng-vts/cdk/resize-observer';\n\nimport { VtsOverflowItemDirective } from './overflow-item.directive';\nimport { VtsOverflowRestDirective } from './overflow-rest.directive';\nimport { VtsOverflowSuffixDirective } from './overflow-suffix.directive';\n\n@Component({\n  selector: 'nz-overflow-container',\n  template: `\n    <ng-content></ng-content>\n    <ng-content select=\"[appOverflowRest]\"></ng-content>\n    <ng-content select=\"[appOverflowSuffix]\"></ng-content>\n  `,\n  providers: [VtsResizeObserver],\n  changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class VtsOverflowContainerComponent implements OnInit, AfterContentInit, OnDestroy {\n  contentInit$ = new Subject<void>();\n  @ContentChildren(VtsOverflowItemDirective)\n  overflowItems: QueryList<VtsOverflowItemDirective> | undefined = undefined;\n  @ContentChild(VtsOverflowSuffixDirective)\n  overflowSuffix: VtsOverflowSuffixDirective | undefined = undefined;\n  @ContentChild(VtsOverflowRestDirective) overflowRest: VtsOverflowRestDirective | undefined =\n    undefined;\n  overflowItems$ = new ReplaySubject<QueryList<VtsOverflowItemDirective>>(1);\n  destroy$ = new Subject<void>();\n  containerWidth$ = this.nzResizeObserver\n    .observe(this.elementRef.nativeElement)\n    .pipe(map(([item]) => item.target.clientWidth || 0));\n  restWidth$ = new BehaviorSubject<number>(0);\n  suffixWidth$ = new BehaviorSubject<number>(0);\n  suffixFixedStart$ = new BehaviorSubject<number | null>(null);\n  displayCount$ = new BehaviorSubject<number>(Number.MAX_SAFE_INTEGER);\n  restReady$ = new BehaviorSubject<boolean>(false);\n  maxRestWith$ = this.restWidth$.pipe(\n    pairwise(),\n    map(([prevRestWidth, restWidth]) => Math.max(prevRestWidth, restWidth))\n  );\n  omittedItems$ = combineLatest([this.overflowItems$, this.displayCount$]).pipe(\n    withLatestFrom(this.contentInit$),\n    map(([[overflowItems, displayCount]]) => overflowItems.toArray().slice(displayCount + 1))\n  );\n  displayRest$ = combineLatest([this.restReady$, this.omittedItems$]).pipe(\n    map(([restReady, omittedItems]) => restReady && !!omittedItems.length)\n  );\n\n  updateDisplayCount(count: number, notReady?: boolean): void {\n    this.displayCount$.next(count);\n    if (this.overflowItems && !notReady) {\n      this.restReady$.next(count < this.overflowItems.length - 1);\n    }\n  }\n\n  constructor(\n    private nzResizeObserver: VtsResizeObserver,\n    private elementRef: ElementRef,\n    private cdr: ChangeDetectorRef\n  ) {}\n\n  ngOnInit(): void {\n    const overflowItemsWidth$ = this.overflowItems$.pipe(\n      switchMap(items => combineLatest(items.map(item => item.itemWidth$)))\n    ) as Observable<number[]>;\n    this.overflowItems$.pipe(takeUntil(this.destroy$)).subscribe(overflowItems => {\n      if (!overflowItems.length) {\n        this.displayCount$.next(0);\n        this.suffixFixedStart$.next(null);\n      }\n    });\n    combineLatest([\n      overflowItemsWidth$,\n      this.containerWidth$,\n      this.maxRestWith$,\n      this.restWidth$,\n      this.suffixWidth$\n    ])\n      .pipe(\n        filter(([, containerWidth, maxRestWith]) => !!(containerWidth && maxRestWith)),\n        takeUntil(this.destroy$)\n      )\n      .subscribe(([overflowItemsWidth, containerWidth, maxRestWith, restWidth, suffixWidth]) => {\n        let totalWidth = suffixWidth;\n        const len = overflowItemsWidth.length;\n        const lastIndex = len - 1;\n        for (let i = 0; i < len; i += 1) {\n          const currentItemWidth = overflowItemsWidth[i];\n          // Break since data not ready\n          if (currentItemWidth === undefined) {\n            this.updateDisplayCount(i - 1, true);\n            break;\n          } else {\n            // Find best match\n            totalWidth += currentItemWidth;\n\n            if (\n              // Only one means `totalWidth` is the final width\n              (lastIndex === 0 && totalWidth <= containerWidth) ||\n              // Last two width will be the final width\n              (i === lastIndex - 1 &&\n                overflowItemsWidth[lastIndex] !== undefined &&\n                totalWidth + overflowItemsWidth[lastIndex]! <= containerWidth)\n            ) {\n              // Additional check if match the end\n              this.updateDisplayCount(lastIndex);\n              this.suffixFixedStart$.next(null);\n              break;\n            } else if (totalWidth + maxRestWith > containerWidth) {\n              // Can not hold all the content to show rest\n              this.updateDisplayCount(i - 1);\n              this.suffixFixedStart$.next(totalWidth - currentItemWidth - suffixWidth + restWidth);\n              break;\n            }\n            this.cdr.detectChanges();\n          }\n        }\n        if (\n          this.overflowSuffix &&\n          overflowItemsWidth[0] !== undefined &&\n          overflowItemsWidth[0] + suffixWidth > containerWidth\n        ) {\n          this.suffixFixedStart$.next(null);\n        }\n\n        this.cdr.detectChanges();\n      });\n    combineLatest([this.suffixFixedStart$, this.displayCount$])\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(([suffixFixedStart, displayCount]) => {\n        this.overflowSuffix?.setSuffixStyle(suffixFixedStart, displayCount);\n      });\n    combineLatest([this.displayCount$, this.overflowItems$])\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(([displayCount, overflowItems]) =>\n        overflowItems.forEach((item, index) => item.setItemStyle(index <= displayCount, index))\n      );\n    combineLatest([this.displayRest$, this.displayCount$])\n      .pipe(takeUntil(this.destroy$))\n      .subscribe(([displayRest, displayCount]) => {\n        this.overflowRest?.setRestStyle(\n          displayRest,\n          displayRest ? displayCount : Number.MAX_SAFE_INTEGER\n        );\n      });\n  }\n  ngAfterContentInit(): void {\n    this.overflowItems?.changes.pipe(startWith(this.overflowItems)).subscribe(this.overflowItems$);\n    this.overflowSuffix?.suffixWidth$.subscribe(this.suffixWidth$);\n    this.overflowRest?.restWidth$.subscribe(this.restWidth$);\n    this.contentInit$.next();\n  }\n  ngOnDestroy(): void {\n    this.destroy$.next();\n    this.destroy$.complete();\n  }\n}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { VtsResizeObserverModule } from '@ui-vts-kit/ng-vts/cdk/resize-observer';\n\nimport { VtsOverflowContainerComponent } from './overflow-container.component';\nimport { VtsOverflowItemDirective } from './overflow-item.directive';\nimport { VtsOverflowRestDirective } from './overflow-rest.directive';\nimport { VtsOverflowSuffixDirective } from './overflow-suffix.directive';\n\n@NgModule({\n  imports: [VtsResizeObserverModule],\n  declarations: [\n    VtsOverflowContainerComponent,\n    VtsOverflowItemDirective,\n    VtsOverflowRestDirective,\n    VtsOverflowSuffixDirective\n  ],\n  exports: [\n    VtsOverflowContainerComponent,\n    VtsOverflowItemDirective,\n    VtsOverflowRestDirective,\n    VtsOverflowSuffixDirective\n  ]\n})\nexport class VtsOverflowModule {}\n","/**\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE\n */\n\nexport { VtsOverflowModule } from './overflow.module';\nexport { VtsOverflowContainerComponent } from './overflow-container.component';\nexport { VtsOverflowItemDirective } from './overflow-item.directive';\nexport { VtsOverflowRestDirective } from './overflow-rest.directive';\nexport { VtsOverflowSuffixDirective } from './overflow-suffix.directive';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}