UNPKG

ng-zorro-antd

Version:

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

16 lines (14 loc) 18.1 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/cdk/clipboard"),require("@angular/cdk/platform"),require("@angular/common"),require("@angular/core"),require("ng-zorro-antd/core/outlet"),require("ng-zorro-antd/core/trans-button"),require("ng-zorro-antd/i18n"),require("ng-zorro-antd/icon"),require("ng-zorro-antd/input"),require("ng-zorro-antd/tooltip"),require("rxjs"),require("rxjs/operators"),require("ng-zorro-antd/core/config"),require("ng-zorro-antd/core/polyfill"),require("ng-zorro-antd/core/services"),require("ng-zorro-antd/core/util")):"function"==typeof define&&define.amd?define("ng-zorro-antd/typography",["exports","@angular/cdk/clipboard","@angular/cdk/platform","@angular/common","@angular/core","ng-zorro-antd/core/outlet","ng-zorro-antd/core/trans-button","ng-zorro-antd/i18n","ng-zorro-antd/icon","ng-zorro-antd/input","ng-zorro-antd/tooltip","rxjs","rxjs/operators","ng-zorro-antd/core/config","ng-zorro-antd/core/polyfill","ng-zorro-antd/core/services","ng-zorro-antd/core/util"],e):e(((t="undefined"!=typeof globalThis?globalThis:t||self)["ng-zorro-antd"]=t["ng-zorro-antd"]||{},t["ng-zorro-antd"].typography={}),t.ng.cdk.clipboard,t.ng.cdk.platform,t.ng.common,t.ng.core,t["ng-zorro-antd"].core.outlet,t["ng-zorro-antd"].core["trans-button"],t["ng-zorro-antd"].i18n,t["ng-zorro-antd"].icon,t["ng-zorro-antd"].input,t["ng-zorro-antd"].tooltip,t.rxjs,t.rxjs.operators,t["ng-zorro-antd"].core.config,t["ng-zorro-antd"].core.polyfill,t["ng-zorro-antd"].core.services,t["ng-zorro-antd"].core.util)}(this,(function(t,e,n,i,o,s,r,p,a,l,c,d,h,u,y,g,z){"use strict"; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ***************************************************************************** */function f(t,e,n,i){var o,s=arguments.length,r=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)r=Reflect.decorate(t,e,n,i);else for(var p=t.length-1;p>=0;p--)(o=t[p])&&(r=(s<3?o(r):s>3?o(e,n,r):o(e,n))||r);return s>3&&r&&Object.defineProperty(e,n,r),r}function E(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}Object.create;function m(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var i,o,s=n.call(t),r=[];try{for(;(void 0===e||e-- >0)&&!(i=s.next()).done;)r.push(i.value)}catch(t){o={error:t}}finally{try{i&&!i.done&&(n=s.return)&&n.call(s)}finally{if(o)throw o.error}}return r}Object.create;var b=function(){function t(t,e,n,i){this.host=t,this.cdr=e,this.clipboard=n,this.i18n=i,this.copied=!1,this.copyId=-1,this.nativeElement=this.host.nativeElement,this.copyTooltip=null,this.copedTooltip=null,this.copyIcon="copy",this.copedIcon="check",this.destroy$=new d.Subject,this.icons=["copy","check"],this.textCopy=new o.EventEmitter}return t.prototype.ngOnInit=function(){var t=this;this.i18n.localeChange.pipe(h.takeUntil(this.destroy$)).subscribe((function(){t.locale=t.i18n.getLocaleData("Text"),t.updateTooltips(),t.cdr.markForCheck()}))},t.prototype.ngOnChanges=function(t){var e=t.tooltips,n=t.icons;e&&this.updateTooltips(),n&&this.updateIcons()},t.prototype.ngOnDestroy=function(){clearTimeout(this.copyId),this.destroy$.next(),this.destroy$.complete()},t.prototype.onClick=function(){if(!this.copied){this.copied=!0,this.cdr.detectChanges();var t=this.text;this.textCopy.emit(t),this.clipboard.copy(t),this.onCopied()}},t.prototype.onCopied=function(){var t=this;clearTimeout(this.copyId),this.copyId=setTimeout((function(){t.copied=!1,t.cdr.detectChanges()}),3e3)},t.prototype.updateTooltips=function(){var t,e,n,i;if(null===this.tooltips)this.copedTooltip=null,this.copyTooltip=null;else if(Array.isArray(this.tooltips)){var o=m(this.tooltips,2),s=o[0],r=o[1];this.copyTooltip=s||(null===(t=this.locale)||void 0===t?void 0:t.copy),this.copedTooltip=r||(null===(e=this.locale)||void 0===e?void 0:e.copied)}else this.copyTooltip=null===(n=this.locale)||void 0===n?void 0:n.copy,this.copedTooltip=null===(i=this.locale)||void 0===i?void 0:i.copied;this.cdr.markForCheck()},t.prototype.updateIcons=function(){var t=m(this.icons,2),e=t[0],n=t[1];this.copyIcon=e,this.copedIcon=n,this.cdr.markForCheck()},t}();b.decorators=[{type:o.Component,args:[{selector:"nz-text-copy",exportAs:"nzTextCopy",template:'\n <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 ',changeDetection:o.ChangeDetectionStrategy.OnPush,encapsulation:o.ViewEncapsulation.None,preserveWhitespaces:!1}]}],b.ctorParameters=function(){return[{type:o.ElementRef},{type:o.ChangeDetectorRef},{type:e.Clipboard},{type:p.NzI18nService}]},b.propDecorators={text:[{type:o.Input}],tooltips:[{type:o.Input}],icons:[{type:o.Input}],textCopy:[{type:o.Output}]};var C=function(){function t(t,e,n){this.host=t,this.cdr=e,this.i18n=n,this.editing=!1,this.destroy$=new d.Subject,this.icon="edit",this.startEditing=new o.EventEmitter,this.endEditing=new o.EventEmitter,this.nativeElement=this.host.nativeElement}return t.prototype.ngOnInit=function(){var t=this;this.i18n.localeChange.pipe(h.takeUntil(this.destroy$)).subscribe((function(){t.locale=t.i18n.getLocaleData("Text"),t.cdr.markForCheck()}))},t.prototype.ngOnDestroy=function(){this.destroy$.next(),this.destroy$.complete()},t.prototype.onClick=function(){this.beforeText=this.text,this.currentText=this.beforeText,this.editing=!0,this.startEditing.emit(),this.focusAndSetValue()},t.prototype.confirm=function(){this.editing=!1,this.endEditing.emit(this.currentText)},t.prototype.onInput=function(t){var e=t.target;this.currentText=e.value},t.prototype.onEnter=function(t){t.stopPropagation(),t.preventDefault(),this.confirm()},t.prototype.onCancel=function(){this.currentText=this.beforeText,this.confirm()},t.prototype.focusAndSetValue=function(){var t=this;setTimeout((function(){var e;(null===(e=t.textarea)||void 0===e?void 0:e.nativeElement)&&(t.textarea.nativeElement.focus(),t.textarea.nativeElement.value=t.currentText||"",t.autosizeDirective.resizeToFitContent())}))},t}();C.decorators=[{type:o.Component,args:[{selector:"nz-text-edit",exportAs:"nzTextEdit",template:'\n <button\n *ngIf="!editing"\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-container *ngIf="editing">\n <textarea\n #textarea\n nz-input\n nzAutosize\n (input)="onInput($event)"\n (blur)="confirm()"\n (keydown.esc)="onCancel()"\n (keydown.enter)="onEnter($event)"\n ></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-container>\n ',changeDetection:o.ChangeDetectionStrategy.OnPush,encapsulation:o.ViewEncapsulation.None,preserveWhitespaces:!1}]}],C.ctorParameters=function(){return[{type:o.ElementRef},{type:o.ChangeDetectorRef},{type:p.NzI18nService}]},C.propDecorators={text:[{type:o.Input}],icon:[{type:o.Input}],tooltip:[{type:o.Input}],startEditing:[{type:o.Output}],endEditing:[{type:o.Output}],textarea:[{type:o.ViewChild,args:["textarea",{static:!1}]}],autosizeDirective:[{type:o.ViewChild,args:[l.NzAutosizeDirective,{static:!1}]}]};var x=function(){function t(t,e,n,i,s,r,p,a,l){this.nzConfigService=t,this.host=e,this.cdr=n,this.viewContainerRef=i,this.renderer=s,this.platform=r,this.i18n=p,this.resizeService=l,this._nzModuleName="typography",this.nzCopyable=!1,this.nzEditable=!1,this.nzDisabled=!1,this.nzExpandable=!1,this.nzEllipsis=!1,this.nzCopyTooltips=void 0,this.nzCopyIcons=["copy","check"],this.nzEditTooltip=void 0,this.nzEditIcon="edit",this.nzEllipsisRows=1,this.nzContentChange=new o.EventEmitter,this.nzCopy=new o.EventEmitter,this.nzExpandChange=new o.EventEmitter,this.nzOnEllipsis=new o.EventEmitter,this.expandableBtnElementCache=null,this.editing=!1,this.cssEllipsis=!1,this.isEllipsis=!0,this.expanded=!1,this.ellipsisStr="...",this.viewInit=!1,this.rfaId=-1,this.destroy$=new d.Subject,this.windowResizeSubscription=d.Subscription.EMPTY,this.document=a}return Object.defineProperty(t.prototype,"hasEllipsisObservers",{get:function(){return this.nzOnEllipsis.observers.length>0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"canCssEllipsis",{get:function(){return this.nzEllipsis&&this.cssEllipsis&&!this.expanded&&!this.hasEllipsisObservers},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"copyText",{get:function(){return"string"==typeof this.nzCopyText?this.nzCopyText:this.nzContent},enumerable:!1,configurable:!0}),t.prototype.onTextCopy=function(t){this.nzCopy.emit(t)},t.prototype.onStartEditing=function(){this.editing=!0},t.prototype.onEndEditing=function(t){this.editing=!1,this.nzContentChange.emit(t),this.nzContent===t&&this.renderOnNextFrame()},t.prototype.onExpand=function(){this.isEllipsis=!1,this.expanded=!0,this.nzExpandChange.emit(),this.nzOnEllipsis.emit(!1)},t.prototype.canUseCSSEllipsis=function(){return!(this.nzEditable||this.nzCopyable||this.nzExpandable||this.nzSuffix)&&(!this.hasEllipsisObservers&&(1===this.nzEllipsisRows?z.isStyleSupport("textOverflow"):z.isStyleSupport("webkitLineClamp")))},t.prototype.renderOnNextFrame=function(){var t=this;y.cancelRequestAnimationFrame(this.rfaId),!this.viewInit||!this.nzEllipsis||this.nzEllipsisRows<0||this.expanded||!this.platform.isBrowser||(this.rfaId=y.reqAnimFrame((function(){t.syncEllipsis()})))},t.prototype.getOriginContentViewRef=function(){var t=this,e=this.viewContainerRef.createEmbeddedView(this.contentTemplate,{content:this.nzContent});return e.detectChanges(),{viewRef:e,removeView:function(){t.viewContainerRef.remove(t.viewContainerRef.indexOf(e))}}},t.prototype.syncEllipsis=function(){var t=this;if(!this.cssEllipsis){var e=this.getOriginContentViewRef(),n=e.viewRef,i=e.removeView,o=[this.textCopyRef,this.textEditRef].filter((function(t){return t&&t.nativeElement})).map((function(t){return t.nativeElement})),s=this.getExpandableBtnElement();s&&o.push(s);var r=z.measure(this.host.nativeElement,this.nzEllipsisRows,n.rootNodes,o,this.ellipsisStr,this.nzSuffix),p=r.contentNodes,a=r.text,l=r.ellipsis;i(),this.ellipsisText=a,l!==this.isEllipsis&&(this.isEllipsis=l,this.nzOnEllipsis.emit(l));for(var c=this.ellipsisContainer.nativeElement;c.firstChild;)this.renderer.removeChild(c,c.firstChild);p.forEach((function(e){t.renderer.appendChild(c,e.cloneNode(!0))})),this.cdr.markForCheck()}},t.prototype.getExpandableBtnElement=function(){if(this.nzExpandable){var t=this.locale?this.locale.expand:"",e=this.expandableBtnElementCache;if(!e||e.innerText===t){var n=this.document.createElement("a");n.className="ant-typography-expand",n.innerText=t,this.expandableBtnElementCache=n}return this.expandableBtnElementCache}return this.expandableBtnElementCache=null,null},t.prototype.renderAndSubscribeWindowResize=function(){var t=this;this.platform.isBrowser&&(this.windowResizeSubscription.unsubscribe(),this.cssEllipsis=this.canUseCSSEllipsis(),this.renderOnNextFrame(),this.windowResizeSubscription=this.resizeService.subscribe().pipe(h.takeUntil(this.destroy$)).subscribe((function(){return t.renderOnNextFrame()})))},t.prototype.ngOnInit=function(){var t=this;this.i18n.localeChange.pipe(h.takeUntil(this.destroy$)).subscribe((function(){t.locale=t.i18n.getLocaleData("Text"),t.cdr.markForCheck()}))},t.prototype.ngAfterViewInit=function(){this.viewInit=!0,this.renderAndSubscribeWindowResize()},t.prototype.ngOnChanges=function(t){var e=t.nzCopyable,n=t.nzEditable,i=t.nzExpandable,o=t.nzEllipsis,s=t.nzContent,r=t.nzEllipsisRows,p=t.nzSuffix;(e||n||i||o||s||r||p)&&this.nzEllipsis&&(this.expanded?this.windowResizeSubscription.unsubscribe():this.renderAndSubscribeWindowResize())},t.prototype.ngOnDestroy=function(){this.destroy$.next(),this.destroy$.complete(),this.expandableBtnElementCache=null,this.windowResizeSubscription.unsubscribe()},t}();x.decorators=[{type:o.Component,args:[{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 ",exportAs:"nzTypography",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 || (!nzExpandable && nzEllipsisRows === 1 && !hasEllipsisObservers) || canCssEllipsis || (nzSuffix && expanded);\n else jsEllipsis\n "\n >\n <ng-template [ngTemplateOutlet]="contentTemplate" [ngTemplateOutletContext]="{ content: nzContent }"></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()">{{ locale?.expand }}</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 ',changeDetection:o.ChangeDetectionStrategy.OnPush,encapsulation:o.ViewEncapsulation.None,preserveWhitespaces:!1,host:{"[class.ant-typography]":"!editing","[class.ant-typography-edit-content]":"editing","[class.ant-typography-secondary]":'nzType === "secondary"',"[class.ant-typography-warning]":'nzType === "warning"',"[class.ant-typography-danger]":'nzType === "danger"',"[class.ant-typography-success]":'nzType === "success"',"[class.ant-typography-disabled]":"nzDisabled","[class.ant-typography-ellipsis]":"nzEllipsis && !expanded","[class.ant-typography-ellipsis-single-line]":"canCssEllipsis && nzEllipsisRows === 1","[class.ant-typography-ellipsis-multiple-line]":"canCssEllipsis && nzEllipsisRows > 1","[style.-webkit-line-clamp]":"(canCssEllipsis && nzEllipsisRows > 1) ? nzEllipsisRows : null"}}]}],x.ctorParameters=function(){return[{type:u.NzConfigService},{type:o.ElementRef},{type:o.ChangeDetectorRef},{type:o.ViewContainerRef},{type:o.Renderer2},{type:n.Platform},{type:p.NzI18nService},{type:void 0,decorators:[{type:o.Inject,args:[i.DOCUMENT]}]},{type:g.NzResizeService}]},x.propDecorators={nzCopyable:[{type:o.Input}],nzEditable:[{type:o.Input}],nzDisabled:[{type:o.Input}],nzExpandable:[{type:o.Input}],nzEllipsis:[{type:o.Input}],nzCopyTooltips:[{type:o.Input}],nzCopyIcons:[{type:o.Input}],nzEditTooltip:[{type:o.Input}],nzEditIcon:[{type:o.Input}],nzContent:[{type:o.Input}],nzEllipsisRows:[{type:o.Input}],nzType:[{type:o.Input}],nzCopyText:[{type:o.Input}],nzSuffix:[{type:o.Input}],nzContentChange:[{type:o.Output}],nzCopy:[{type:o.Output}],nzExpandChange:[{type:o.Output}],nzOnEllipsis:[{type:o.Output}],textEditRef:[{type:o.ViewChild,args:[C,{static:!1}]}],textCopyRef:[{type:o.ViewChild,args:[b,{static:!1}]}],ellipsisContainer:[{type:o.ViewChild,args:["ellipsisContainer",{static:!1}]}],expandableBtn:[{type:o.ViewChild,args:["expandable",{static:!1}]}],contentTemplate:[{type:o.ViewChild,args:["contentTemplate",{static:!1}]}]},f([z.InputBoolean(),E("design:type",Object)],x.prototype,"nzCopyable",void 0),f([z.InputBoolean(),E("design:type",Object)],x.prototype,"nzEditable",void 0),f([z.InputBoolean(),E("design:type",Object)],x.prototype,"nzDisabled",void 0),f([z.InputBoolean(),E("design:type",Object)],x.prototype,"nzExpandable",void 0),f([z.InputBoolean(),E("design:type",Object)],x.prototype,"nzEllipsis",void 0),f([u.WithConfig(),E("design:type",Object)],x.prototype,"nzCopyTooltips",void 0),f([u.WithConfig(),E("design:type",Array)],x.prototype,"nzCopyIcons",void 0),f([u.WithConfig(),E("design:type",Object)],x.prototype,"nzEditTooltip",void 0),f([u.WithConfig(),E("design:type",Object)],x.prototype,"nzEditIcon",void 0),f([u.WithConfig(),z.InputNumber(),E("design:type",Number)],x.prototype,"nzEllipsisRows",void 0);var v=function(){};v.decorators=[{type:o.NgModule,args:[{imports:[i.CommonModule,a.NzIconModule,c.NzToolTipModule,l.NzInputModule,p.NzI18nModule,r.NzTransButtonModule,e.ClipboardModule,s.NzOutletModule],exports:[x,b,C,n.PlatformModule],declarations:[x,b,C]}]}],t.NzTextCopyComponent=b,t.NzTextEditComponent=C,t.NzTypographyComponent=x,t.NzTypographyModule=v,Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=ng-zorro-antd-typography.umd.min.js.map