{"version":3,"file":"ng-zorro-antd-core-overlay.mjs","sources":["../../components/core/overlay/overlay-position.ts","../../components/core/overlay/nz-connected-overlay.ts","../../components/core/overlay/nz-overlay.module.ts","../../components/core/overlay/overlay-z-index.ts","../../components/core/overlay/public-api.ts","../../components/core/overlay/ng-zorro-antd-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 = {\n  top: new ConnectionPositionPair({ originX: 'center', originY: 'top' }, { overlayX: 'center', overlayY: 'bottom' }),\n  topCenter: new ConnectionPositionPair(\n    { originX: 'center', originY: 'top' },\n    { overlayX: 'center', overlayY: 'bottom' }\n  ),\n  topLeft: new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'start', overlayY: 'bottom' }),\n  topRight: new ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'end', overlayY: 'bottom' }),\n  right: new ConnectionPositionPair({ originX: 'end', originY: 'center' }, { overlayX: 'start', overlayY: 'center' }),\n  rightTop: new ConnectionPositionPair({ originX: 'end', originY: 'top' }, { overlayX: 'start', overlayY: 'top' }),\n  rightBottom: new ConnectionPositionPair(\n    { originX: 'end', originY: 'bottom' },\n    { overlayX: 'start', overlayY: 'bottom' }\n  ),\n  bottom: new ConnectionPositionPair({ originX: 'center', originY: 'bottom' }, { overlayX: 'center', overlayY: 'top' }),\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({ originX: 'end', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' }),\n  left: new ConnectionPositionPair({ originX: 'start', originY: 'center' }, { overlayX: 'end', overlayY: 'center' }),\n  leftTop: new ConnectionPositionPair({ originX: 'start', originY: 'top' }, { overlayX: 'end', overlayY: 'top' }),\n  leftBottom: new ConnectionPositionPair(\n    { originX: 'start', originY: 'bottom' },\n    { overlayX: 'end', overlayY: 'bottom' }\n  )\n};\nexport type POSITION_TYPE = keyof typeof POSITION_MAP;\nexport type POSITION_TYPE_HORIZONTAL = Extract<\n  POSITION_TYPE,\n  'bottomLeft' | 'bottomCenter' | 'bottomRight' | 'topLeft' | 'topCenter' | 'topRight'\n>;\n\n/**\n * @internal\n * @param offset offset in pixels which should not be less than 0.\n * The default value is `12`, which means `(arrow-size / 2) + 4`\n */\nconst positionOffsetMapFactory = (offset: number = 12): Record<string, [number, number]> => ({\n  top: [0, -offset],\n  topCenter: [0, -offset],\n  topLeft: [0, -offset],\n  topRight: [0, -offset],\n  right: [offset, 0],\n  rightTop: [offset, 0],\n  rightBottom: [offset, 0],\n  bottom: [0, offset],\n  bottomCenter: [0, offset],\n  bottomLeft: [0, offset],\n  bottomRight: [0, offset],\n  left: [-offset, 0],\n  leftTop: [-offset, 0],\n  leftBottom: [-offset, 0]\n});\n\nexport const TOOLTIP_OFFSET_MAP = positionOffsetMapFactory();\n\nexport const DEFAULT_TOOLTIP_POSITIONS = [\n  setConnectedPositionOffset(POSITION_MAP.top, TOOLTIP_OFFSET_MAP.top),\n  setConnectedPositionOffset(POSITION_MAP.right, TOOLTIP_OFFSET_MAP.right),\n  setConnectedPositionOffset(POSITION_MAP.bottom, TOOLTIP_OFFSET_MAP.bottom),\n  setConnectedPositionOffset(POSITION_MAP.left, TOOLTIP_OFFSET_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({ originX: 'start', originY: 'bottom' }, { overlayX: 'start', overlayY: 'bottom' }),\n  new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'end', overlayY: 'bottom' })\n];\n\nexport const DEFAULT_MENTION_BOTTOM_POSITIONS = [\n  POSITION_MAP.bottomLeft,\n  new ConnectionPositionPair({ originX: 'start', originY: 'bottom' }, { overlayX: 'end', overlayY: 'top' })\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 as POSITION_TYPE].originX &&\n      position.connectionPair.originY === POSITION_MAP[placement as POSITION_TYPE].originY &&\n      position.connectionPair.overlayX === POSITION_MAP[placement as POSITION_TYPE].overlayX &&\n      position.connectionPair.overlayY === POSITION_MAP[placement as POSITION_TYPE].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    undefined,\n    2\n  ),\n  topLeft: new ConnectionPositionPair(\n    { originX: 'start', originY: 'top' },\n    { overlayX: 'start', overlayY: 'bottom' },\n    undefined,\n    -2\n  ),\n  bottomRight: new ConnectionPositionPair(\n    { originX: 'end', originY: 'bottom' },\n    { overlayX: 'end', overlayY: 'top' },\n    undefined,\n    2\n  ),\n  topRight: new ConnectionPositionPair(\n    { originX: 'end', originY: 'top' },\n    { overlayX: 'end', overlayY: 'bottom' },\n    undefined,\n    -2\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\nexport function normalizeConnectedPositionOffset(offset: number | [number, number]): [number, number] {\n  return Array.isArray(offset) ? offset : [offset, offset];\n}\n\nexport function setConnectedPositionOffset(\n  position: ConnectionPositionPair,\n  offset: number | [number, number]\n): ConnectionPositionPair {\n  const [offsetX, offsetY] = normalizeConnectedPositionOffset(offset);\n  // return new object\n  return {\n    ...position,\n    offsetX: offsetX,\n    offsetY: offsetY\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  CdkConnectedOverlay,\n  CdkOverlayOrigin,\n  ConnectedOverlayPositionChange,\n  FlexibleConnectedPositionStrategyOrigin\n} from '@angular/cdk/overlay';\nimport { Directive, ElementRef, Input, booleanAttribute, inject } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\n\nimport { getPlacementName } from './overlay-position';\n\n/** Equivalent of `DOMRect` without some of the properties we don't care about. */\ntype Dimensions = Omit<DOMRect, 'x' | 'y' | 'toJSON'>;\n\n@Directive({\n  selector: '[cdkConnectedOverlay][nzConnectedOverlay]',\n  exportAs: 'nzConnectedOverlay'\n})\nexport class NzConnectedOverlayDirective {\n  private readonly cdkConnectedOverlay = inject(CdkConnectedOverlay);\n  @Input({ transform: booleanAttribute }) nzArrowPointAtCenter: boolean = false;\n\n  constructor() {\n    this.cdkConnectedOverlay.backdropClass = 'nz-overlay-transparent-backdrop';\n\n    this.cdkConnectedOverlay.positionChange.pipe(takeUntilDestroyed()).subscribe(position => {\n      if (this.nzArrowPointAtCenter) {\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\n    let offsetX: number | undefined = 0;\n    let offsetY: number | undefined = 0;\n\n    if (placement === 'topLeft' || placement === 'bottomLeft') {\n      offsetX = originRect.width / 2 - 14;\n    } else if (placement === 'topRight' || placement === 'bottomRight') {\n      offsetX = -(originRect.width / 2 - 14);\n    } else if (placement === 'leftTop' || placement === 'rightTop') {\n      offsetY = originRect.height / 2 - 10;\n    } else if (placement === 'leftBottom' || placement === 'rightBottom') {\n      offsetY = -(originRect.height / 2 - 10);\n    }\n\n    if (this.cdkConnectedOverlay.offsetX !== offsetX || this.cdkConnectedOverlay.offsetY !== offsetY) {\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';\n\nimport { NzConnectedOverlayDirective } from './nz-connected-overlay';\n\n@NgModule({\n  imports: [NzConnectedOverlayDirective],\n  exports: [NzConnectedOverlayDirective]\n})\nexport class NzOverlayModule {}\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 { OverlayRef } from '@angular/cdk/overlay';\n\nexport function overlayZIndexSetter(overlayRef: OverlayRef, zIndex?: number): void {\n  if (!zIndex) return;\n\n  (overlayRef['_host'] as HTMLElement).style.zIndex = `${zIndex}`;\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\nexport * from './nz-connected-overlay';\nexport * from './nz-overlay.module';\nexport * from './overlay-position';\nexport * from './overlay-z-index';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}