UNPKG

@ng-doc/app

Version:

<!-- PROJECT LOGO --> <br /> <div align="center"> <a href="https://github.com/ng-doc/ng-doc"> <img src="https://ng-doc.com/assets/images/ng-doc.svg?raw=true" alt="Logo" height="150px"> </a>

68 lines (64 loc) 3.65 kB
import { Clipboard } from '@angular/cdk/clipboard'; import * as i0 from '@angular/core'; import { inject, ViewChild, Input, ChangeDetectionStrategy, Component } from '@angular/core'; import { NgDocButtonIconComponent, NgDocTooltipDirective, NgDocSmoothResizeComponent } from '@ng-doc/ui-kit'; class NgDocCopyButtonComponent { constructor() { this.tooltipText = ''; this.clipboard = inject(Clipboard); } copy() { this.clipboard.copy(this.text); this.tooltip.show(); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: NgDocCopyButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.3", type: NgDocCopyButtonComponent, isStandalone: true, selector: "ng-doc-copy-button", inputs: { text: "text" }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: NgDocTooltipDirective, descendants: true, static: true }], ngImport: i0, template: ` <button ng-doc-button-icon [rounded]="false" (click)="copy(); tooltipText = 'Copied!'" [ngDocTooltip]="tooltipContent" (mouseenter)="tooltipText = 'Copy to clipboard'"> <ng-template #tooltipContent> <ng-doc-smooth-resize [trigger]="tooltipText"> {{ tooltipText }} </ng-doc-smooth-resize> </ng-template> <ng-content></ng-content> </button> `, isInline: true, dependencies: [{ kind: "component", type: NgDocButtonIconComponent, selector: "button[ng-doc-button-icon], a[ng-doc-button-icon], button[ng-doc-button-icon-raised], a[ng-doc-button-icon-raised], button[ng-doc-button-icon-transparent], a[ng-doc-button-icon-transparent]", inputs: ["size", "rounded"] }, { kind: "directive", type: NgDocTooltipDirective, selector: "[ngDocTooltip]", inputs: ["ngDocTooltip", "delay", "displayOrigin", "pointerOrigin", "positions", "canOpen", "panelClass", "minHeight", "maxHeight", "height", "minWidth", "maxWidth", "width"], outputs: ["beforeOpen", "afterOpen", "beforeClose", "afterClose"], exportAs: ["ngDocTooltip"] }, { kind: "component", type: NgDocSmoothResizeComponent, selector: "ng-doc-smooth-resize", inputs: ["trigger", "animateOpacity"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.3", ngImport: i0, type: NgDocCopyButtonComponent, decorators: [{ type: Component, args: [{ selector: 'ng-doc-copy-button', imports: [NgDocButtonIconComponent, NgDocTooltipDirective, NgDocSmoothResizeComponent], template: ` <button ng-doc-button-icon [rounded]="false" (click)="copy(); tooltipText = 'Copied!'" [ngDocTooltip]="tooltipContent" (mouseenter)="tooltipText = 'Copy to clipboard'"> <ng-template #tooltipContent> <ng-doc-smooth-resize [trigger]="tooltipText"> {{ tooltipText }} </ng-doc-smooth-resize> </ng-template> <ng-content></ng-content> </button> `, changeDetection: ChangeDetectionStrategy.OnPush, }] }], propDecorators: { text: [{ type: Input, args: [{ required: true }] }], tooltip: [{ type: ViewChild, args: [NgDocTooltipDirective, { static: true }] }] } }); /** * Generated bundle index. Do not edit. */ export { NgDocCopyButtonComponent }; //# sourceMappingURL=ng-doc-app-components-copy-button.mjs.map