UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

1 lines 13.7 kB
{"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/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;\n\nexport const DEFAULT_TOOLTIP_POSITIONS = [POSITION_MAP.top, POSITION_MAP.right, POSITION_MAP.bottom, POSITION_MAP.left];\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","/**\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';\n\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport { InputBoolean } from 'ng-zorro-antd/core/util';\n\nimport { getPlacementName } from './overlay-position';\n\n/** Equivalent of `ClientRect` without some of the properties we don't care about. */\ntype Dimensions = Omit<ClientRect, 'x' | 'y' | 'toJSON'>;\n\n@Directive({\n selector: '[cdkConnectedOverlay][nzConnectedOverlay]',\n exportAs: 'nzConnectedOverlay',\n providers: [NzDestroyService]\n})\nexport class NzConnectedOverlayDirective {\n @Input() @InputBoolean() nzArrowPointAtCenter: boolean = false;\n\n constructor(\n private readonly cdkConnectedOverlay: CdkConnectedOverlay,\n private readonly nzDestroyService: NzDestroyService\n ) {\n this.cdkConnectedOverlay.backdropClass = 'nz-overlay-transparent-backdrop';\n\n this.cdkConnectedOverlay.positionChange\n .pipe(takeUntil(this.nzDestroyService))\n .subscribe((position: ConnectedOverlayPositionChange) => {\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 declarations: [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\nexport * from './nz-connected-overlay';\nexport * from './nz-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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"}