{"version":3,"file":"ui-vts-kit-ng-vts-core-overlay.mjs","sources":["../../components/core/overlay/overlay-position.ts","../../components/core/overlay/vts-connected-overlay.ts","../../components/core/overlay/vts-overlay.module.ts","../../components/core/overlay/public-api.ts","../../components/core/overlay/ui-vts-kit-ng-vts-core-overlay.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 { ConnectedOverlayPositionChange, ConnectionPositionPair } from '@angular/cdk/overlay';\n\nexport const POSITION_MAP: { [key: string]: ConnectionPositionPair } = {\n  top: new ConnectionPositionPair(\n    { originX: 'center', originY: 'top' },\n    { overlayX: 'center', overlayY: 'bottom' }\n  ),\n  topCenter: new ConnectionPositionPair(\n    { originX: 'center', originY: 'top' },\n    { overlayX: 'center', overlayY: 'bottom' }\n  ),\n  topLeft: new ConnectionPositionPair(\n    { originX: 'start', originY: 'top' },\n    { overlayX: 'start', overlayY: 'bottom' }\n  ),\n  topRight: new ConnectionPositionPair(\n    { originX: 'end', originY: 'top' },\n    { overlayX: 'end', overlayY: 'bottom' }\n  ),\n  right: new ConnectionPositionPair(\n    { originX: 'end', originY: 'center' },\n    { overlayX: 'start', overlayY: 'center' }\n  ),\n  rightTop: new ConnectionPositionPair(\n    { originX: 'end', originY: 'top' },\n    { overlayX: 'start', overlayY: 'top' }\n  ),\n  rightBottom: new ConnectionPositionPair(\n    { originX: 'end', originY: 'bottom' },\n    { overlayX: 'start', overlayY: 'bottom' }\n  ),\n  bottom: new ConnectionPositionPair(\n    { originX: 'center', originY: 'bottom' },\n    { overlayX: 'center', overlayY: 'top' }\n  ),\n  bottomCenter: new ConnectionPositionPair(\n    { originX: 'center', originY: 'bottom' },\n    { overlayX: 'center', overlayY: 'top' }\n  ),\n  bottomLeft: new ConnectionPositionPair(\n    { originX: 'start', originY: 'bottom' },\n    { overlayX: 'start', overlayY: 'top' }\n  ),\n  bottomRight: new ConnectionPositionPair(\n    { originX: 'end', originY: 'bottom' },\n    { overlayX: 'end', overlayY: 'top' }\n  ),\n  left: new ConnectionPositionPair(\n    { originX: 'start', originY: 'center' },\n    { overlayX: 'end', overlayY: 'center' }\n  ),\n  leftTop: new ConnectionPositionPair(\n    { originX: 'start', originY: 'top' },\n    { overlayX: 'end', overlayY: 'top' }\n  ),\n  leftBottom: new ConnectionPositionPair(\n    { originX: 'start', originY: 'bottom' },\n    { overlayX: 'end', overlayY: 'bottom' }\n  )\n};\n\nexport const DEFAULT_TOOLTIP_POSITIONS = [\n  POSITION_MAP.top,\n  POSITION_MAP.right,\n  POSITION_MAP.bottom,\n  POSITION_MAP.left\n];\n\nexport const DEFAULT_CASCADER_POSITIONS = [\n  POSITION_MAP.bottomLeft,\n  POSITION_MAP.bottomRight,\n  POSITION_MAP.topLeft,\n  POSITION_MAP.topRight\n];\n\nexport const DEFAULT_MENTION_TOP_POSITIONS = [\n  new ConnectionPositionPair(\n    { originX: 'start', originY: 'bottom' },\n    { overlayX: 'start', overlayY: 'bottom' }\n  ),\n  new ConnectionPositionPair(\n    { originX: 'start', originY: 'bottom' },\n    { overlayX: 'end', overlayY: 'bottom' }\n  )\n];\n\nexport const DEFAULT_MENTION_BOTTOM_POSITIONS = [\n  POSITION_MAP.bottomLeft,\n  new ConnectionPositionPair(\n    { originX: 'start', originY: 'bottom' },\n    { overlayX: 'end', overlayY: 'top' }\n  )\n];\n\nexport function getPlacementName(position: ConnectedOverlayPositionChange): string | undefined {\n  for (const placement in POSITION_MAP) {\n    if (\n      position.connectionPair.originX === POSITION_MAP[placement].originX &&\n      position.connectionPair.originY === POSITION_MAP[placement].originY &&\n      position.connectionPair.overlayX === POSITION_MAP[placement].overlayX &&\n      position.connectionPair.overlayY === POSITION_MAP[placement].overlayY\n    ) {\n      return placement;\n    }\n  }\n  return undefined;\n}\n\nexport const DATE_PICKER_POSITION_MAP = {\n  bottomLeft: new ConnectionPositionPair(\n    { originX: 'start', originY: 'bottom' },\n    { overlayX: 'start', overlayY: 'top' },\n    -12,\n    8\n  ),\n  topLeft: new ConnectionPositionPair(\n    { originX: 'start', originY: 'top' },\n    { overlayX: 'start', overlayY: 'bottom' },\n    -12,\n    -8\n  ),\n  bottomRight: new ConnectionPositionPair(\n    { originX: 'end', originY: 'bottom' },\n    { overlayX: 'end', overlayY: 'top' },\n    12,\n    8\n  ),\n  topRight: new ConnectionPositionPair(\n    { originX: 'end', originY: 'top' },\n    { overlayX: 'end', overlayY: 'bottom' },\n    12,\n    -8\n  )\n};\n\nexport const DEFAULT_DATE_PICKER_POSITIONS = [\n  DATE_PICKER_POSITION_MAP.bottomLeft,\n  DATE_PICKER_POSITION_MAP.topLeft,\n  DATE_PICKER_POSITION_MAP.bottomRight,\n  DATE_PICKER_POSITION_MAP.topRight\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  CdkConnectedOverlay,\n  CdkOverlayOrigin,\n  ConnectedOverlayPositionChange,\n  FlexibleConnectedPositionStrategyOrigin\n} from '@angular/cdk/overlay';\nimport { Directive, ElementRef, Input } from '@angular/core';\nimport { takeUntil } from 'rxjs/operators';\nimport { VtsDestroyService } from '@ui-vts-kit/ng-vts/core/services';\nimport { InputBoolean } from '@ui-vts-kit/ng-vts/core/util';\nimport { getPlacementName } from './overlay-position';\n\ntype Dimensions = Omit<ClientRect, 'x' | 'y' | 'toJSON'>;\n\n@Directive({\n  selector: '[cdkConnectedOverlay][vtsConnectedOverlay]',\n  exportAs: 'vtsConnectedOverlay',\n  providers: [VtsDestroyService]\n})\nexport class VtsConnectedOverlayDirective {\n  @Input() @InputBoolean() vtsArrowPointAtCenter: boolean = false;\n\n  constructor(\n    private cdkConnectedOverlay: CdkConnectedOverlay,\n    private readonly vtsDestroyService: VtsDestroyService\n  ) {\n    this.cdkConnectedOverlay.backdropClass = 'vts-overlay-transparent-backdrop';\n\n    this.cdkConnectedOverlay.positionChange\n      .pipe(takeUntil(this.vtsDestroyService))\n      .subscribe((position: ConnectedOverlayPositionChange) => {\n        if (this.vtsArrowPointAtCenter) {\n          this.updateArrowPosition(position);\n        }\n      });\n  }\n\n  private updateArrowPosition(position: ConnectedOverlayPositionChange): void {\n    const originRect = this.getOriginRect();\n    const placement = getPlacementName(position);\n    let offsetX: number | undefined = 0;\n    let offsetY: number | undefined = 0;\n\n    if (placement === 'topLeft' || placement === 'bottomLeft') {\n      offsetX = originRect.width / 2 - 24;\n    } else if (placement === 'topRight' || placement === 'bottomRight') {\n      offsetX = -(originRect.width / 2 - 24);\n    }\n    // else if (placement === 'leftTop' || placement === 'rightTop') {\n    //   offsetY = originRect.height / 2 - 12;\n    // } else if (placement === 'leftBottom' || placement === 'rightBottom') {\n    //   offsetY = -(originRect.height / 2 - 12);\n    // }\n\n    if (\n      this.cdkConnectedOverlay.offsetX !== offsetX ||\n      this.cdkConnectedOverlay.offsetY !== offsetY\n    ) {\n      this.cdkConnectedOverlay.offsetY = offsetY;\n      this.cdkConnectedOverlay.offsetX = offsetX;\n      this.cdkConnectedOverlay.overlayRef.updatePosition();\n    }\n  }\n\n  private getFlexibleConnectedPositionStrategyOrigin(): FlexibleConnectedPositionStrategyOrigin {\n    if (this.cdkConnectedOverlay.origin instanceof CdkOverlayOrigin) {\n      return this.cdkConnectedOverlay.origin.elementRef;\n    } else {\n      return this.cdkConnectedOverlay.origin;\n    }\n  }\n\n  private getOriginRect(): Dimensions {\n    const origin = this.getFlexibleConnectedPositionStrategyOrigin();\n\n    if (origin instanceof ElementRef) {\n      return origin.nativeElement.getBoundingClientRect();\n    }\n\n    // Check for Element so SVG elements are also supported.\n    if (origin instanceof Element) {\n      return origin.getBoundingClientRect();\n    }\n\n    const width = origin.width || 0;\n    const height = origin.height || 0;\n\n    // If the origin is a point, return a client rect as if it was a 0x0 element at the point.\n    return {\n      top: origin.y,\n      bottom: origin.y + height,\n      left: origin.x,\n      right: origin.x + width,\n      height,\n      width\n    };\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';\nimport { VtsConnectedOverlayDirective } from './vts-connected-overlay';\n\n@NgModule({\n  declarations: [VtsConnectedOverlayDirective],\n  exports: [VtsConnectedOverlayDirective]\n})\nexport class VtsOverlayModule {}\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 * from './vts-connected-overlay';\nexport * from './vts-overlay.module';\nexport * from './overlay-position';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}