UNPKG

ng-zorro-antd

Version:

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

16 lines (14 loc) 18.9 kB
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@angular/cdk/bidi"),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/bidi","@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.bidi,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,f){"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 E(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 b(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 C=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 h.Subject,this.icons=["copy","check"],this.textCopy=new s.EventEmitter}return t.prototype.ngOnInit=function(){var t=this;this.i18n.localeChange.pipe(u.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}();C.decorators=[{type:s.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:s.ChangeDetectionStrategy.OnPush,encapsulation:s.ViewEncapsulation.None,preserveWhitespaces:!1}]}],C.ctorParameters=function(){return[{type:s.ElementRef},{type:s.ChangeDetectorRef},{type:n.Clipboard},{type:a.NzI18nService}]},C.propDecorators={text:[{type:s.Input}],tooltips:[{type:s.Input}],icons:[{type:s.Input}],textCopy:[{type:s.Output}]};var x=function(){function t(t,e,n,i){this.zone=t,this.host=e,this.cdr=n,this.i18n=i,this.editing=!1,this.destroy$=new h.Subject,this.icon="edit",this.startEditing=new s.EventEmitter,this.endEditing=new s.EventEmitter(!0),this.nativeElement=this.host.nativeElement}return t.prototype.ngOnInit=function(){var t=this;this.i18n.localeChange.pipe(u.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;this.zone.onStable.pipe(u.take(1),u.takeUntil(this.destroy$)).subscribe((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.cdr.markForCheck())}))},t}();x.decorators=[{type:s.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:s.ChangeDetectionStrategy.OnPush,encapsulation:s.ViewEncapsulation.None,preserveWhitespaces:!1}]}],x.ctorParameters=function(){return[{type:s.NgZone},{type:s.ElementRef},{type:s.ChangeDetectorRef},{type:a.NzI18nService}]},x.propDecorators={text:[{type:s.Input}],icon:[{type:s.Input}],tooltip:[{type:s.Input}],startEditing:[{type:s.Output}],endEditing:[{type:s.Output}],textarea:[{type:s.ViewChild,args:["textarea",{static:!1}]}],autosizeDirective:[{type:s.ViewChild,args:[c.NzAutosizeDirective,{static:!1}]}]};var v=function(){function t(t,e,n,i,o,r,p,a,l,c){this.nzConfigService=t,this.host=e,this.cdr=n,this.viewContainerRef=i,this.renderer=o,this.platform=r,this.i18n=p,this.resizeService=l,this.directionality=c,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 s.EventEmitter,this.nzCopy=new s.EventEmitter,this.nzExpandChange=new s.EventEmitter,this.nzOnEllipsis=new s.EventEmitter,this.expandableBtnElementCache=null,this.editing=!1,this.cssEllipsis=!1,this.isEllipsis=!0,this.expanded=!1,this.ellipsisStr="...",this.dir="ltr",this.viewInit=!1,this.rfaId=-1,this.destroy$=new h.Subject,this.windowResizeSubscription=h.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,"hasOperationsWithEllipsis",{get:function(){return(this.nzCopyable||this.nzEditable||this.nzExpandable)&&this.nzEllipsis},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(),this.cdr.markForCheck()},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?f.isStyleSupport("textOverflow"):f.isStyleSupport("webkitLineClamp")))},t.prototype.renderOnNextFrame=function(){var t=this;g.cancelRequestAnimationFrame(this.rfaId),!this.viewInit||!this.nzEllipsis||this.nzEllipsisRows<0||this.expanded||!this.platform.isBrowser||(this.rfaId=g.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=f.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(u.takeUntil(this.destroy$)).subscribe((function(){return t.renderOnNextFrame()})))},t.prototype.ngOnInit=function(){var t,e=this;this.i18n.localeChange.pipe(u.takeUntil(this.destroy$)).subscribe((function(){e.locale=e.i18n.getLocaleData("Text"),e.cdr.markForCheck()})),null===(t=this.directionality.change)||void 0===t||t.pipe(u.takeUntil(this.destroy$)).subscribe((function(t){e.dir=t,e.cdr.detectChanges()})),this.dir=this.directionality.value},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}();v.decorators=[{type:s.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 ||\n (!hasOperationsWithEllipsis && nzEllipsisRows === 1 && !hasEllipsisObservers) ||\n canCssEllipsis ||\n (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:s.ChangeDetectionStrategy.OnPush,encapsulation:s.ViewEncapsulation.None,preserveWhitespaces:!1,host:{"[class.ant-typography]":"!editing","[class.ant-typography-rtl]":'dir === "rtl"',"[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"}}]}],v.ctorParameters=function(){return[{type:y.NzConfigService},{type:s.ElementRef},{type:s.ChangeDetectorRef},{type:s.ViewContainerRef},{type:s.Renderer2},{type:i.Platform},{type:a.NzI18nService},{type:void 0,decorators:[{type:s.Inject,args:[o.DOCUMENT]}]},{type:z.NzResizeService},{type:e.Directionality,decorators:[{type:s.Optional}]}]},v.propDecorators={nzCopyable:[{type:s.Input}],nzEditable:[{type:s.Input}],nzDisabled:[{type:s.Input}],nzExpandable:[{type:s.Input}],nzEllipsis:[{type:s.Input}],nzCopyTooltips:[{type:s.Input}],nzCopyIcons:[{type:s.Input}],nzEditTooltip:[{type:s.Input}],nzEditIcon:[{type:s.Input}],nzContent:[{type:s.Input}],nzEllipsisRows:[{type:s.Input}],nzType:[{type:s.Input}],nzCopyText:[{type:s.Input}],nzSuffix:[{type:s.Input}],nzContentChange:[{type:s.Output}],nzCopy:[{type:s.Output}],nzExpandChange:[{type:s.Output}],nzOnEllipsis:[{type:s.Output}],textEditRef:[{type:s.ViewChild,args:[x,{static:!1}]}],textCopyRef:[{type:s.ViewChild,args:[C,{static:!1}]}],ellipsisContainer:[{type:s.ViewChild,args:["ellipsisContainer",{static:!1}]}],expandableBtn:[{type:s.ViewChild,args:["expandable",{static:!1}]}],contentTemplate:[{type:s.ViewChild,args:["contentTemplate",{static:!1}]}]},E([f.InputBoolean(),b("design:type",Object)],v.prototype,"nzCopyable",void 0),E([f.InputBoolean(),b("design:type",Object)],v.prototype,"nzEditable",void 0),E([f.InputBoolean(),b("design:type",Object)],v.prototype,"nzDisabled",void 0),E([f.InputBoolean(),b("design:type",Object)],v.prototype,"nzExpandable",void 0),E([f.InputBoolean(),b("design:type",Object)],v.prototype,"nzEllipsis",void 0),E([y.WithConfig(),b("design:type",Object)],v.prototype,"nzCopyTooltips",void 0),E([y.WithConfig(),b("design:type",Array)],v.prototype,"nzCopyIcons",void 0),E([y.WithConfig(),b("design:type",Object)],v.prototype,"nzEditTooltip",void 0),E([y.WithConfig(),b("design:type",Object)],v.prototype,"nzEditIcon",void 0),E([y.WithConfig(),f.InputNumber(),b("design:type",Number)],v.prototype,"nzEllipsisRows",void 0);var T=function(){};T.decorators=[{type:s.NgModule,args:[{imports:[e.BidiModule,o.CommonModule,l.NzIconModule,d.NzToolTipModule,c.NzInputModule,a.NzI18nModule,p.NzTransButtonModule,n.ClipboardModule,r.NzOutletModule],exports:[v,C,x,i.PlatformModule],declarations:[v,C,x]}]}],t.NzTextCopyComponent=C,t.NzTextEditComponent=x,t.NzTypographyComponent=v,t.NzTypographyModule=T,Object.defineProperty(t,"__esModule",{value:!0})})); //# sourceMappingURL=ng-zorro-antd-typography.umd.min.js.map