UNPKG

ngx-tiptap-editor

Version:

[![Build and Publish](https://github.com/HuiiBuh/ngx-tiptap-editor/actions/workflows/publish.yml/badge.svg)](https://github.com/HuiiBuh/ngx-tiptap-editor/actions/workflows/publish.yml) [![Deploy to Github Pages](https://github.com/HuiiBuh/ngx-tiptap-edito

46 lines 7.87 kB
import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core'; import { BaseControl, ButtonBaseControl } from './base-control'; import * as i0 from "@angular/core"; import * as i1 from "../../services/tiptap-event.service"; import * as i2 from "../../services/tiptap-extension.service"; import * as i3 from "@angular/common"; // @dynamic export class ControlLinkComponent extends ButtonBaseControl { constructor(eventService, extensionService) { super(); this.eventService = eventService; this.extensionService = extensionService; this.updateEvent = 'selectionUpdate'; } onEditorReady(editor) { this.linkExtension = this.extensionService.getExtension('link'); } async can() { return this.linkExtension.can(); } async openLinkDialog() { return this.linkExtension.openCreateLinkDialog(); } isActive() { return this.linkExtension.isActive(); } } ControlLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ControlLinkComponent, deps: [{ token: i1.TiptapEventService }, { token: i2.TiptapExtensionService }], target: i0.ɵɵFactoryTarget.Component }); ControlLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.1", type: ControlLinkComponent, selector: "tip-control-link", providers: [{ provide: BaseControl, useExisting: forwardRef(() => ControlLinkComponent) }], usesInheritance: true, ngImport: i0, template: ` <button class="tip-control-button" type="button" (click)="openLinkDialog()" disabled #button> <div class="content-wrapper" #ref> <ng-content></ng-content> </div> <i *ngIf="ref.childNodes.length === 0" class="material-icons">link</i> </button>`, isInline: true, styles: [":host-context{display:contents}.tip-control-button{display:inline-flex;align-items:center;justify-content:center;padding:1px calc(var(--tip-header-padding) / 2);cursor:pointer;color:var(--tip-text-color);border:none;background-color:transparent;-webkit-tap-highlight-color:transparent}@media (pointer: fine){.tip-control-button:hover,.tip-control-button:focus{color:var(--tip-active-color)}}.tip-control-button[disabled]{cursor:default;color:var(--tip-disabled-color)}.content-wrapper{display:contents}.tip-active{color:var(--tip-active-color)}\n"], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: ControlLinkComponent, decorators: [{ type: Component, args: [{ selector: 'tip-control-link', template: ` <button class="tip-control-button" type="button" (click)="openLinkDialog()" disabled #button> <div class="content-wrapper" #ref> <ng-content></ng-content> </div> <i *ngIf="ref.childNodes.length === 0" class="material-icons">link</i> </button>`, changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: BaseControl, useExisting: forwardRef(() => ControlLinkComponent) }], styles: [":host-context{display:contents}.tip-control-button{display:inline-flex;align-items:center;justify-content:center;padding:1px calc(var(--tip-header-padding) / 2);cursor:pointer;color:var(--tip-text-color);border:none;background-color:transparent;-webkit-tap-highlight-color:transparent}@media (pointer: fine){.tip-control-button:hover,.tip-control-button:focus{color:var(--tip-active-color)}}.tip-control-button[disabled]{cursor:default;color:var(--tip-disabled-color)}.content-wrapper{display:contents}.tip-active{color:var(--tip-active-color)}\n"] }] }], ctorParameters: function () { return [{ type: i1.TiptapEventService }, { type: i2.TiptapExtensionService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbC1saW5rLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10aXB0YXAtZWRpdG9yL3NyYy9saWIvY29tcG9uZW50cy9jb250cm9scy9jb250cm9sLWxpbmsuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFhLE1BQU0sZUFBZSxDQUFDO0FBTTFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFFaEUsV0FBVztBQWNYLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxpQkFBaUI7SUFJekQsWUFDWSxZQUFnQyxFQUNsQyxnQkFBd0M7UUFFaEQsS0FBSyxFQUFFLENBQUM7UUFIRSxpQkFBWSxHQUFaLFlBQVksQ0FBb0I7UUFDbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQUx4QyxnQkFBVyxHQUFHLGlCQUFnQyxDQUFDO0lBUXpELENBQUM7SUFFTSxhQUFhLENBQUMsTUFBYztRQUNqQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUF1QixDQUFDO0lBQ3hGLENBQUM7SUFFTSxLQUFLLENBQUMsR0FBRztRQUNkLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRU0sS0FBSyxDQUFDLGNBQWM7UUFDekIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDbkQsQ0FBQztJQUVTLFFBQVE7UUFDaEIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7O2lIQXpCVSxvQkFBb0I7cUdBQXBCLG9CQUFvQiwyQ0FGcEIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFDLENBQUMsaURBUjlFOzs7Ozs7Y0FNRTsyRkFJRCxvQkFBb0I7a0JBYmhDLFNBQVM7K0JBQ0Usa0JBQWtCLFlBRWxCOzs7Ozs7Y0FNRSxtQkFDSyx1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsRUFBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHFCQUFxQixDQUFDLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRWRpdG9yIH0gZnJvbSAnQHRpcHRhcC9jb3JlJztcbmltcG9ydCB7IE5neExpbmsgfSBmcm9tICcuLi8uLi9leHRlbnNpb25zL2N1c3RvbS9uZ3gtbGluayc7XG5pbXBvcnQgeyBFZGl0b3JFdmVudCB9IGZyb20gJy4uLy4uL21vZGVscy90eXBlcyc7XG5pbXBvcnQgeyBUaXB0YXBFdmVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aXB0YXAtZXZlbnQuc2VydmljZSc7XG5pbXBvcnQgeyBUaXB0YXBFeHRlbnNpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlwdGFwLWV4dGVuc2lvbi5zZXJ2aWNlJztcbmltcG9ydCB7IEJhc2VDb250cm9sLCBCdXR0b25CYXNlQ29udHJvbCB9IGZyb20gJy4vYmFzZS1jb250cm9sJztcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RpcC1jb250cm9sLWxpbmsnLFxuICBzdHlsZVVybHM6IFsnLi4vLi4vLi4vLi4vX2NvbnRyb2xzLnNjc3MnXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8YnV0dG9uIGNsYXNzPVwidGlwLWNvbnRyb2wtYnV0dG9uXCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuTGlua0RpYWxvZygpXCIgZGlzYWJsZWQgI2J1dHRvbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50LXdyYXBwZXJcIiAjcmVmPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxpICpuZ0lmPVwicmVmLmNoaWxkTm9kZXMubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmxpbms8L2k+XG4gICAgPC9idXR0b24+YCxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW3twcm92aWRlOiBCYXNlQ29udHJvbCwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQ29udHJvbExpbmtDb21wb25lbnQpfV0sXG59KVxuZXhwb3J0IGNsYXNzIENvbnRyb2xMaW5rQ29tcG9uZW50IGV4dGVuZHMgQnV0dG9uQmFzZUNvbnRyb2wgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcm90ZWN0ZWQgdXBkYXRlRXZlbnQgPSAnc2VsZWN0aW9uVXBkYXRlJyBhcyBFZGl0b3JFdmVudDtcbiAgcHJpdmF0ZSBsaW5rRXh0ZW5zaW9uITogTmd4TGluaztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgZXZlbnRTZXJ2aWNlOiBUaXB0YXBFdmVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBleHRlbnNpb25TZXJ2aWNlOiBUaXB0YXBFeHRlbnNpb25TZXJ2aWNlLFxuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHVibGljIG9uRWRpdG9yUmVhZHkoZWRpdG9yOiBFZGl0b3IpOiB2b2lkIHtcbiAgICB0aGlzLmxpbmtFeHRlbnNpb24gPSB0aGlzLmV4dGVuc2lvblNlcnZpY2UuZ2V0RXh0ZW5zaW9uKCdsaW5rJykgYXMgdW5rbm93biBhcyBOZ3hMaW5rO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNhbigpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5saW5rRXh0ZW5zaW9uLmNhbigpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIG9wZW5MaW5rRGlhbG9nKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmxpbmtFeHRlbnNpb24ub3BlbkNyZWF0ZUxpbmtEaWFsb2coKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0FjdGl2ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5saW5rRXh0ZW5zaW9uLmlzQWN0aXZlKCk7XG4gIH1cbn1cbiJdfQ==