ng-zorro-antd
Version:
An enterprise-class UI components based on Ant Design and Angular
1 lines • 50.6 kB
Source Map (JSON)
{"version":3,"file":"ng-zorro-antd-typography.mjs","sources":["../../components/typography/text-copy.component.ts","../../components/typography/text-edit.component.ts","../../components/typography/typography.component.ts","../../components/typography/typography.module.ts","../../components/typography/public-api.ts","../../components/typography/ng-zorro-antd-typography.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 { Clipboard } from '@angular/cdk/clipboard';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Output,\n SimpleChanges,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzTSType } from 'ng-zorro-antd/core/types';\nimport { NzI18nService, NzTextI18nInterface } from 'ng-zorro-antd/i18n';\n\n@Component({\n selector: 'nz-text-copy',\n exportAs: 'nzTextCopy',\n template: `\n <button\n type=\"button\"\n nz-tooltip\n nz-trans-button\n [nzTooltipTitle]=\"copied ? copedTooltip : copyTooltip\"\n class=\"ant-typography-copy\"\n [class.ant-typography-copy-success]=\"copied\"\n (click)=\"onClick()\"\n >\n <ng-container *nzStringTemplateOutlet=\"copied ? copedIcon : copyIcon; let icon\">\n <i nz-icon [nzType]=\"icon\"></i>\n </ng-container>\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false\n})\nexport class NzTextCopyComponent implements OnInit, OnDestroy, OnChanges {\n copied = false;\n copyId: number = -1;\n locale!: NzTextI18nInterface;\n nativeElement = this.host.nativeElement;\n copyTooltip: NzTSType | null = null;\n copedTooltip: NzTSType | null = null;\n copyIcon: NzTSType = 'copy';\n copedIcon: NzTSType = 'check';\n private destroy$ = new Subject();\n\n @Input() text!: string;\n @Input() tooltips?: [NzTSType, NzTSType] | null;\n @Input() icons: [NzTSType, NzTSType] = ['copy', 'check'];\n\n @Output() readonly textCopy = new EventEmitter<string>();\n\n constructor(\n private host: ElementRef,\n private cdr: ChangeDetectorRef,\n private clipboard: Clipboard,\n private i18n: NzI18nService\n ) {}\n\n ngOnInit(): void {\n this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.locale = this.i18n.getLocaleData('Text');\n this.updateTooltips();\n this.cdr.markForCheck();\n });\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { tooltips, icons } = changes;\n if (tooltips) {\n this.updateTooltips();\n }\n if (icons) {\n this.updateIcons();\n }\n }\n\n ngOnDestroy(): void {\n clearTimeout(this.copyId);\n this.destroy$.next();\n this.destroy$.complete();\n }\n\n onClick(): void {\n if (this.copied) {\n return;\n }\n this.copied = true;\n this.cdr.detectChanges();\n const text = this.text;\n this.textCopy.emit(text);\n this.clipboard.copy(text);\n this.onCopied();\n }\n\n onCopied(): void {\n clearTimeout(this.copyId);\n this.copyId = setTimeout(() => {\n this.copied = false;\n this.cdr.detectChanges();\n }, 3000);\n }\n\n private updateTooltips(): void {\n if (this.tooltips === null) {\n this.copedTooltip = null;\n this.copyTooltip = null;\n } else if (Array.isArray(this.tooltips)) {\n const [copyTooltip, copedTooltip] = this.tooltips;\n this.copyTooltip = copyTooltip || this.locale?.copy;\n this.copedTooltip = copedTooltip || this.locale?.copied;\n } else {\n this.copyTooltip = this.locale?.copy;\n this.copedTooltip = this.locale?.copied;\n }\n this.cdr.markForCheck();\n }\n\n private updateIcons(): void {\n const [copyIcon, copedIcon] = this.icons;\n this.copyIcon = copyIcon;\n this.copedIcon = copedIcon;\n this.cdr.markForCheck();\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 { ENTER, ESCAPE } from '@angular/cdk/keycodes';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n Input,\n NgZone,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { BehaviorSubject, fromEvent, Observable } from 'rxjs';\nimport { filter, switchMap, take, takeUntil, withLatestFrom } from 'rxjs/operators';\n\nimport { NzDestroyService } from 'ng-zorro-antd/core/services';\nimport { NzTSType } from 'ng-zorro-antd/core/types';\nimport { NzI18nService, NzTextI18nInterface } from 'ng-zorro-antd/i18n';\nimport { NzAutosizeDirective } from 'ng-zorro-antd/input';\n\n@Component({\n selector: 'nz-text-edit',\n exportAs: 'nzTextEdit',\n template: `\n <ng-template [ngIf]=\"editing\" [ngIfElse]=\"notEditing\">\n <textarea #textarea nz-input nzAutosize (blur)=\"confirm()\"></textarea>\n <button nz-trans-button class=\"ant-typography-edit-content-confirm\" (click)=\"confirm()\">\n <i nz-icon nzType=\"enter\"></i>\n </button>\n </ng-template>\n\n <ng-template #notEditing>\n <button\n nz-tooltip\n nz-trans-button\n class=\"ant-typography-edit\"\n [nzTooltipTitle]=\"tooltip === null ? null : tooltip || locale?.edit\"\n (click)=\"onClick()\"\n >\n <ng-container *nzStringTemplateOutlet=\"icon; let icon\">\n <i nz-icon [nzType]=\"icon\"></i>\n </ng-container>\n </button>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n providers: [NzDestroyService]\n})\nexport class NzTextEditComponent implements OnInit {\n editing = false;\n locale!: NzTextI18nInterface;\n\n @Input() text?: string;\n @Input() icon: NzTSType = 'edit';\n @Input() tooltip?: null | NzTSType;\n @Output() readonly startEditing = new EventEmitter<void>();\n @Output() readonly endEditing = new EventEmitter<string>(true);\n @ViewChild('textarea', { static: false })\n set textarea(textarea: ElementRef<HTMLTextAreaElement> | undefined) {\n if (textarea) {\n this.textarea$.next(textarea);\n }\n }\n @ViewChild(NzAutosizeDirective, { static: false }) autosizeDirective!: NzAutosizeDirective;\n\n beforeText?: string;\n currentText?: string;\n nativeElement = this.host.nativeElement;\n\n // We could've saved the textarea within some private property (e.g. `_textarea`) and have a getter,\n // but having subject makes the code more reactive and cancellable (e.g. event listeners will be\n // automatically removed and re-added through the `switchMap` below).\n private textarea$ = new BehaviorSubject<ElementRef<HTMLTextAreaElement> | null>(null);\n\n constructor(\n private ngZone: NgZone,\n private host: ElementRef<HTMLElement>,\n private cdr: ChangeDetectorRef,\n private i18n: NzI18nService,\n private destroy$: NzDestroyService\n ) {}\n\n ngOnInit(): void {\n this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.locale = this.i18n.getLocaleData('Text');\n this.cdr.markForCheck();\n });\n\n const textarea$: Observable<ElementRef<HTMLTextAreaElement>> = this.textarea$.pipe(\n filter((textarea): textarea is ElementRef<HTMLTextAreaElement> => textarea !== null)\n );\n\n textarea$\n .pipe(\n switchMap(\n textarea =>\n // Caretaker note: we explicitly should call `subscribe()` within the root zone.\n // `runOutsideAngular(() => fromEvent(...))` will just create an observable within the root zone,\n // but `addEventListener` is called when the `fromEvent` is subscribed.\n new Observable<KeyboardEvent>(subscriber =>\n this.ngZone.runOutsideAngular(() =>\n fromEvent<KeyboardEvent>(textarea.nativeElement, 'keydown').subscribe(subscriber)\n )\n )\n ),\n takeUntil(this.destroy$)\n )\n .subscribe(event => {\n // Caretaker note: adding modifier at the end (for instance `(keydown.esc)`) will tell Angular to add\n // an event listener through the `KeyEventsPlugin`, which always runs `ngZone.runGuarded()` internally.\n // We're interested only in escape and enter keyboard buttons, otherwise Angular will run change detection\n // on any `keydown` event.\n if (event.keyCode !== ESCAPE && event.keyCode !== ENTER) {\n return;\n }\n\n this.ngZone.run(() => {\n if (event.keyCode === ESCAPE) {\n this.onCancel();\n } else {\n this.onEnter(event);\n }\n this.cdr.markForCheck();\n });\n });\n\n textarea$\n .pipe(\n switchMap(\n textarea =>\n new Observable<KeyboardEvent>(subscriber =>\n this.ngZone.runOutsideAngular(() =>\n fromEvent<KeyboardEvent>(textarea.nativeElement, 'input').subscribe(subscriber)\n )\n )\n ),\n takeUntil(this.destroy$)\n )\n .subscribe(event => {\n this.currentText = (event.target as HTMLTextAreaElement).value;\n });\n }\n\n onClick(): void {\n this.beforeText = this.text;\n this.currentText = this.beforeText;\n this.editing = true;\n this.startEditing.emit();\n this.focusAndSetValue();\n }\n\n confirm(): void {\n this.editing = false;\n this.endEditing.emit(this.currentText);\n }\n\n onEnter(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n this.confirm();\n }\n\n onCancel(): void {\n this.currentText = this.beforeText;\n this.confirm();\n }\n\n focusAndSetValue(): void {\n this.ngZone.onStable\n .pipe(take(1), withLatestFrom(this.textarea$), takeUntil(this.destroy$))\n .subscribe(([, textarea]) => {\n if (textarea) {\n textarea.nativeElement.focus();\n textarea.nativeElement.value = this.currentText || '';\n this.autosizeDirective.resizeToFitContent();\n this.cdr.markForCheck();\n }\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 { Direction, Directionality } from '@angular/cdk/bidi';\nimport { Platform } from '@angular/cdk/platform';\nimport { DOCUMENT } from '@angular/common';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n Renderer2,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { NzConfigKey, NzConfigService, WithConfig } from 'ng-zorro-antd/core/config';\nimport { cancelRequestAnimationFrame, reqAnimFrame } from 'ng-zorro-antd/core/polyfill';\nimport { NzResizeService } from 'ng-zorro-antd/core/services';\nimport { BooleanInput, NumberInput, NzSafeAny, NzTSType } from 'ng-zorro-antd/core/types';\nimport { InputBoolean, InputNumber, isStyleSupport, measure } from 'ng-zorro-antd/core/util';\nimport { NzI18nService, NzTextI18nInterface } from 'ng-zorro-antd/i18n';\n\nimport { NzTextCopyComponent } from './text-copy.component';\nimport { NzTextEditComponent } from './text-edit.component';\n\nconst NZ_CONFIG_MODULE_NAME: NzConfigKey = 'typography';\nconst EXPAND_ELEMENT_CLASSNAME = 'ant-typography-expand';\n\n@Component({\n selector: `\n nz-typography,\n [nz-typography],\n p[nz-paragraph],\n span[nz-text],\n h1[nz-title], h2[nz-title], h3[nz-title], h4[nz-title]\n `,\n exportAs: 'nzTypography',\n template: `\n <ng-template #contentTemplate let-content=\"content\">\n <ng-content *ngIf=\"!content\"></ng-content>\n {{ content }}\n </ng-template>\n <ng-container *ngIf=\"!editing\">\n <ng-container\n *ngIf=\"\n expanded ||\n (!hasOperationsWithEllipsis && nzEllipsisRows === 1 && !hasEllipsisObservers) ||\n canCssEllipsis ||\n (nzSuffix && expanded);\n else jsEllipsis\n \"\n >\n <ng-template\n [ngTemplateOutlet]=\"contentTemplate\"\n [ngTemplateOutletContext]=\"{ content: nzContent }\"\n ></ng-template>\n <ng-container *ngIf=\"nzSuffix\">{{ nzSuffix }}</ng-container>\n </ng-container>\n <ng-template #jsEllipsis>\n <span #ellipsisContainer></span>\n <ng-container *ngIf=\"isEllipsis\">{{ ellipsisStr }}</ng-container>\n <ng-container *ngIf=\"nzSuffix\">{{ nzSuffix }}</ng-container>\n <a #expandable *ngIf=\"nzExpandable && isEllipsis\" class=\"ant-typography-expand\" (click)=\"onExpand()\">\n {{ locale?.expand }}\n </a>\n </ng-template>\n </ng-container>\n\n <nz-text-edit\n *ngIf=\"nzEditable\"\n [text]=\"nzContent\"\n [icon]=\"nzEditIcon\"\n [tooltip]=\"nzEditTooltip\"\n (endEditing)=\"onEndEditing($event)\"\n (startEditing)=\"onStartEditing()\"\n ></nz-text-edit>\n\n <nz-text-copy\n *ngIf=\"nzCopyable && !editing\"\n [text]=\"copyText\"\n [tooltips]=\"nzCopyTooltips\"\n [icons]=\"nzCopyIcons\"\n (textCopy)=\"onTextCopy($event)\"\n ></nz-text-copy>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n preserveWhitespaces: false,\n host: {\n '[class.ant-typography]': '!editing',\n '[class.ant-typography-rtl]': 'dir === \"rtl\"',\n '[class.ant-typography-edit-content]': 'editing',\n '[class.ant-typography-secondary]': 'nzType === \"secondary\"',\n '[class.ant-typography-warning]': 'nzType === \"warning\"',\n '[class.ant-typography-danger]': 'nzType === \"danger\"',\n '[class.ant-typography-success]': 'nzType === \"success\"',\n '[class.ant-typography-disabled]': 'nzDisabled',\n '[class.ant-typography-ellipsis]': 'nzEllipsis && !expanded',\n '[class.ant-typography-single-line]': 'nzEllipsis && nzEllipsisRows === 1',\n '[class.ant-typography-ellipsis-single-line]': 'canCssEllipsis && nzEllipsisRows === 1',\n '[class.ant-typography-ellipsis-multiple-line]': 'canCssEllipsis && nzEllipsisRows > 1',\n '[style.-webkit-line-clamp]': '(canCssEllipsis && nzEllipsisRows > 1) ? nzEllipsisRows : null'\n }\n})\nexport class NzTypographyComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {\n readonly _nzModuleName: NzConfigKey = NZ_CONFIG_MODULE_NAME;\n\n static ngAcceptInputType_nzCopyable: BooleanInput;\n static ngAcceptInputType_nzEditable: BooleanInput;\n static ngAcceptInputType_nzDisabled: BooleanInput;\n static ngAcceptInputType_nzExpandable: BooleanInput;\n static ngAcceptInputType_nzEllipsis: BooleanInput;\n static ngAcceptInputType_nzEllipsisRows: NumberInput;\n\n @Input() @InputBoolean() nzCopyable = false;\n @Input() @InputBoolean() nzEditable = false;\n @Input() @InputBoolean() nzDisabled = false;\n @Input() @InputBoolean() nzExpandable = false;\n @Input() @InputBoolean() nzEllipsis = false;\n @Input() @WithConfig() nzCopyTooltips?: [NzTSType, NzTSType] | null = undefined;\n @Input() @WithConfig() nzCopyIcons: [NzTSType, NzTSType] = ['copy', 'check'];\n @Input() @WithConfig() nzEditTooltip?: null | NzTSType = undefined;\n @Input() @WithConfig() nzEditIcon: NzTSType = 'edit';\n @Input() nzContent?: string;\n @Input() @WithConfig() @InputNumber() nzEllipsisRows: number = 1;\n @Input() nzType: 'secondary' | 'warning' | 'danger' | 'success' | undefined;\n @Input() nzCopyText: string | undefined;\n @Input() nzSuffix: string | undefined;\n @Output() readonly nzContentChange = new EventEmitter<string>();\n @Output() readonly nzCopy = new EventEmitter<string>();\n @Output() readonly nzExpandChange = new EventEmitter<void>();\n // This is not a two-way binding output with {@link nzEllipsis}\n @Output() readonly nzOnEllipsis = new EventEmitter<boolean>();\n\n @ViewChild(NzTextEditComponent, { static: false }) textEditRef?: NzTextEditComponent;\n @ViewChild(NzTextCopyComponent, { static: false }) textCopyRef?: NzTextCopyComponent;\n @ViewChild('ellipsisContainer', { static: false }) ellipsisContainer?: ElementRef<HTMLSpanElement>;\n @ViewChild('expandable', { static: false }) expandableBtn?: ElementRef<HTMLSpanElement>;\n @ViewChild('contentTemplate', { static: false }) contentTemplate?: TemplateRef<{ content: string }>;\n\n locale!: NzTextI18nInterface;\n document: Document;\n expandableBtnElementCache: HTMLElement | null = null;\n editing = false;\n ellipsisText: string | undefined;\n cssEllipsis: boolean = false;\n isEllipsis: boolean = true;\n expanded: boolean = false;\n ellipsisStr = '...';\n dir: Direction = 'ltr';\n\n get hasEllipsisObservers(): boolean {\n return this.nzOnEllipsis.observers.length > 0;\n }\n\n get canCssEllipsis(): boolean {\n return this.nzEllipsis && this.cssEllipsis && !this.expanded && !this.hasEllipsisObservers;\n }\n\n get hasOperationsWithEllipsis(): boolean {\n return (this.nzCopyable || this.nzEditable || this.nzExpandable) && this.nzEllipsis;\n }\n\n private viewInit = false;\n private rfaId: number = -1;\n private destroy$ = new Subject();\n private windowResizeSubscription = Subscription.EMPTY;\n get copyText(): string {\n return (typeof this.nzCopyText === 'string' ? this.nzCopyText : this.nzContent)!;\n }\n\n constructor(\n public nzConfigService: NzConfigService,\n private host: ElementRef<HTMLElement>,\n private cdr: ChangeDetectorRef,\n private viewContainerRef: ViewContainerRef,\n private renderer: Renderer2,\n private platform: Platform,\n private i18n: NzI18nService,\n @Inject(DOCUMENT) document: NzSafeAny,\n private resizeService: NzResizeService,\n @Optional() private directionality: Directionality\n ) {\n this.document = document;\n }\n\n onTextCopy(text: string): void {\n this.nzCopy.emit(text);\n }\n\n onStartEditing(): void {\n this.editing = true;\n }\n\n onEndEditing(text: string): void {\n this.editing = false;\n this.nzContentChange.emit(text);\n if (this.nzContent === text) {\n this.renderOnNextFrame();\n }\n this.cdr.markForCheck();\n }\n\n onExpand(): void {\n this.isEllipsis = false;\n this.expanded = true;\n this.nzExpandChange.emit();\n this.nzOnEllipsis.emit(false);\n }\n\n canUseCSSEllipsis(): boolean {\n if (this.nzEditable || this.nzCopyable || this.nzExpandable || this.nzSuffix) {\n return false;\n }\n // make sure {@link nzOnEllipsis} works, will force use JS to calculations\n if (this.hasEllipsisObservers) {\n return false;\n }\n if (this.nzEllipsisRows === 1) {\n return isStyleSupport('textOverflow');\n } else {\n return isStyleSupport('webkitLineClamp');\n }\n }\n\n renderOnNextFrame(): void {\n cancelRequestAnimationFrame(this.rfaId);\n if (!this.viewInit || !this.nzEllipsis || this.nzEllipsisRows < 0 || this.expanded || !this.platform.isBrowser) {\n return;\n }\n this.rfaId = reqAnimFrame(() => {\n this.syncEllipsis();\n });\n }\n\n getOriginContentViewRef(): { viewRef: EmbeddedViewRef<{ content: string }>; removeView(): void } {\n const viewRef = this.viewContainerRef.createEmbeddedView<{ content: string }>(this.contentTemplate!, {\n content: this.nzContent!\n });\n viewRef.detectChanges();\n return {\n viewRef,\n removeView: () => {\n this.viewContainerRef.remove(this.viewContainerRef.indexOf(viewRef));\n }\n };\n }\n\n syncEllipsis(): void {\n if (this.cssEllipsis) {\n return;\n }\n const { viewRef, removeView } = this.getOriginContentViewRef();\n const fixedNodes = [this.textCopyRef, this.textEditRef]\n .filter(e => e && e.nativeElement)\n .map(e => e!.nativeElement);\n const expandableBtnElement = this.getExpandableBtnElement();\n if (expandableBtnElement) {\n fixedNodes.push(expandableBtnElement);\n }\n const { contentNodes, text, ellipsis } = measure(\n this.host.nativeElement,\n this.nzEllipsisRows,\n viewRef.rootNodes,\n fixedNodes,\n this.ellipsisStr,\n this.nzSuffix\n );\n\n removeView();\n\n this.ellipsisText = text;\n if (ellipsis !== this.isEllipsis) {\n this.isEllipsis = ellipsis;\n this.nzOnEllipsis.emit(ellipsis);\n }\n const ellipsisContainerNativeElement = this.ellipsisContainer!.nativeElement;\n while (ellipsisContainerNativeElement.firstChild) {\n this.renderer.removeChild(ellipsisContainerNativeElement, ellipsisContainerNativeElement.firstChild);\n }\n contentNodes.forEach(n => {\n this.renderer.appendChild(ellipsisContainerNativeElement, n.cloneNode(true));\n });\n this.cdr.markForCheck();\n }\n\n // Need to create the element for calculation size before view init\n private getExpandableBtnElement(): HTMLElement | null {\n if (this.nzExpandable) {\n const expandText = this.locale ? this.locale.expand : '';\n const cache = this.expandableBtnElementCache;\n if (!cache || cache.innerText === expandText) {\n const el = this.document.createElement('a');\n el.className = EXPAND_ELEMENT_CLASSNAME;\n el.innerText = expandText;\n this.expandableBtnElementCache = el;\n }\n return this.expandableBtnElementCache;\n } else {\n this.expandableBtnElementCache = null;\n return null;\n }\n }\n\n private renderAndSubscribeWindowResize(): void {\n if (this.platform.isBrowser) {\n this.windowResizeSubscription.unsubscribe();\n this.cssEllipsis = this.canUseCSSEllipsis();\n this.renderOnNextFrame();\n this.windowResizeSubscription = this.resizeService\n .subscribe()\n .pipe(takeUntil(this.destroy$))\n .subscribe(() => this.renderOnNextFrame());\n }\n }\n\n ngOnInit(): void {\n this.i18n.localeChange.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.locale = this.i18n.getLocaleData('Text');\n this.cdr.markForCheck();\n });\n\n this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction: Direction) => {\n this.dir = direction;\n this.cdr.detectChanges();\n });\n\n this.dir = this.directionality.value;\n }\n\n ngAfterViewInit(): void {\n this.viewInit = true;\n this.renderAndSubscribeWindowResize();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n const { nzCopyable, nzEditable, nzExpandable, nzEllipsis, nzContent, nzEllipsisRows, nzSuffix } = changes;\n if (nzCopyable || nzEditable || nzExpandable || nzEllipsis || nzContent || nzEllipsisRows || nzSuffix) {\n if (this.nzEllipsis) {\n if (this.expanded) {\n this.windowResizeSubscription.unsubscribe();\n } else {\n this.renderAndSubscribeWindowResize();\n }\n }\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.expandableBtnElementCache = null;\n this.windowResizeSubscription.unsubscribe();\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 { BidiModule } from '@angular/cdk/bidi';\nimport { ClipboardModule } from '@angular/cdk/clipboard';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { NzOutletModule } from 'ng-zorro-antd/core/outlet';\nimport { NzTransButtonModule } from 'ng-zorro-antd/core/trans-button';\nimport { NzI18nModule } from 'ng-zorro-antd/i18n';\nimport { NzIconModule } from 'ng-zorro-antd/icon';\nimport { NzInputModule } from 'ng-zorro-antd/input';\nimport { NzToolTipModule } from 'ng-zorro-antd/tooltip';\n\nimport { NzTextCopyComponent } from './text-copy.component';\nimport { NzTextEditComponent } from './text-edit.component';\nimport { NzTypographyComponent } from './typography.component';\n\n@NgModule({\n imports: [\n BidiModule,\n CommonModule,\n NzIconModule,\n NzToolTipModule,\n NzInputModule,\n NzI18nModule,\n NzTransButtonModule,\n ClipboardModule,\n NzOutletModule\n ],\n exports: [NzTypographyComponent, NzTextCopyComponent, NzTextEditComponent, PlatformModule],\n declarations: [NzTypographyComponent, NzTextCopyComponent, NzTextEditComponent]\n})\nexport class NzTypographyModule {}\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 { NzTypographyModule } from './typography.module';\nexport { NzTypographyComponent } from './typography.component';\nexport { NzTextCopyComponent } from './text-copy.component';\nexport { NzTextEditComponent } from './text-edit.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4","i5","i7","i8","i6.NzTextEditComponent","i7.NzTextCopyComponent"],"mappings":"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"}