@flogeez/angular-tiptap-editor 2.1.3 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +30 -1
- package/README.md +46 -42
- package/fesm2022/flogeez-angular-tiptap-editor.mjs +597 -477
- package/fesm2022/flogeez-angular-tiptap-editor.mjs.map +1 -1
- package/index.d.ts +195 -181
- package/package.json +1 -1
- package/src/lib/styles/{bubble-menu.global.css → ate-bubble-menu.global.css} +1 -1
- package/src/lib/styles/index.css +4 -4
package/index.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import * as _flogeez_angular_tiptap_editor from '@flogeez/angular-tiptap-editor';
|
|
2
|
+
import { Editor, Node, Mark, Extension, EditorOptions, JSONContent } from '@tiptap/core';
|
|
2
3
|
import * as _angular_core from '@angular/core';
|
|
3
4
|
import { AfterViewInit, OnDestroy, ElementRef } from '@angular/core';
|
|
4
|
-
import { Editor, Node, Mark, Extension, EditorOptions, JSONContent } from '@tiptap/core';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
6
6
|
import { ControlValueAccessor } from '@angular/forms';
|
|
7
7
|
|
|
8
8
|
type SupportedLocale = "en" | "fr" | (string & {});
|
|
9
|
-
interface
|
|
9
|
+
interface AteTranslations {
|
|
10
10
|
toolbar: {
|
|
11
11
|
bold: string;
|
|
12
12
|
italic: string;
|
|
@@ -173,14 +173,14 @@ interface TiptapTranslations {
|
|
|
173
173
|
success: string;
|
|
174
174
|
};
|
|
175
175
|
}
|
|
176
|
-
declare class
|
|
176
|
+
declare class AteI18nService {
|
|
177
177
|
private _currentLocale;
|
|
178
178
|
private _translations;
|
|
179
179
|
readonly currentLocale: _angular_core.Signal<SupportedLocale>;
|
|
180
180
|
/** All loaded translations (useful for dynamic key access) */
|
|
181
|
-
readonly allTranslations: _angular_core.Signal<Record<SupportedLocale,
|
|
182
|
-
readonly translations: _angular_core.Signal<
|
|
183
|
-
readonly t: _angular_core.Signal<
|
|
181
|
+
readonly allTranslations: _angular_core.Signal<Record<SupportedLocale, AteTranslations>>;
|
|
182
|
+
readonly translations: _angular_core.Signal<AteTranslations>;
|
|
183
|
+
readonly t: _angular_core.Signal<AteTranslations>;
|
|
184
184
|
readonly toolbar: _angular_core.Signal<{
|
|
185
185
|
bold: string;
|
|
186
186
|
italic: string;
|
|
@@ -350,11 +350,11 @@ declare class TiptapI18nService {
|
|
|
350
350
|
setLocale(locale: SupportedLocale): void;
|
|
351
351
|
autoDetectLocale(): void;
|
|
352
352
|
getSupportedLocales(): SupportedLocale[];
|
|
353
|
-
addTranslations(locale: string, translations:
|
|
353
|
+
addTranslations(locale: string, translations: AteTranslations | Partial<AteTranslations>): void;
|
|
354
354
|
private detectBrowserLanguage;
|
|
355
|
-
getToolbarTitle(key: keyof
|
|
356
|
-
getBubbleMenuTitle(key: keyof
|
|
357
|
-
getSlashCommand(key: keyof
|
|
355
|
+
getToolbarTitle(key: keyof AteTranslations["toolbar"]): string;
|
|
356
|
+
getBubbleMenuTitle(key: keyof AteTranslations["bubbleMenu"]): string;
|
|
357
|
+
getSlashCommand(key: keyof AteTranslations["slashCommands"]): {
|
|
358
358
|
title: string;
|
|
359
359
|
description: string;
|
|
360
360
|
keywords: string[];
|
|
@@ -395,25 +395,25 @@ declare class TiptapI18nService {
|
|
|
395
395
|
description: string;
|
|
396
396
|
keywords: string[];
|
|
397
397
|
};
|
|
398
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
399
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
398
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AteI18nService, never>;
|
|
399
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AteI18nService>;
|
|
400
400
|
}
|
|
401
401
|
|
|
402
|
-
interface
|
|
402
|
+
interface AteSlashCommandItem {
|
|
403
403
|
title: string;
|
|
404
404
|
description: string;
|
|
405
405
|
icon: string;
|
|
406
406
|
keywords: string[];
|
|
407
407
|
command: (editor: Editor) => void;
|
|
408
408
|
}
|
|
409
|
-
interface
|
|
410
|
-
commands?:
|
|
409
|
+
interface AteCustomSlashCommands {
|
|
410
|
+
commands?: AteSlashCommandItem[];
|
|
411
411
|
}
|
|
412
412
|
|
|
413
|
-
type
|
|
414
|
-
[K in keyof
|
|
413
|
+
type AteStateCalculator = (editor: Editor) => Partial<{
|
|
414
|
+
[K in keyof AteEditorStateSnapshot]: AteEditorStateSnapshot[K] extends object ? Partial<AteEditorStateSnapshot[K]> : AteEditorStateSnapshot[K];
|
|
415
415
|
}>;
|
|
416
|
-
interface
|
|
416
|
+
interface AteEditorStateSnapshot {
|
|
417
417
|
/** Global editor states */
|
|
418
418
|
isFocused: boolean;
|
|
419
419
|
isEditable: boolean;
|
|
@@ -517,16 +517,16 @@ interface EditorStateSnapshot {
|
|
|
517
517
|
/** Placeholder for custom extension states */
|
|
518
518
|
custom: Record<string, unknown>;
|
|
519
519
|
}
|
|
520
|
-
declare const
|
|
520
|
+
declare const ATE_INITIAL_EDITOR_STATE: AteEditorStateSnapshot;
|
|
521
521
|
|
|
522
|
-
interface
|
|
522
|
+
interface AteImageData {
|
|
523
523
|
src: string;
|
|
524
524
|
alt?: string;
|
|
525
525
|
title?: string;
|
|
526
526
|
width?: number;
|
|
527
527
|
height?: number;
|
|
528
528
|
}
|
|
529
|
-
interface
|
|
529
|
+
interface AteImageUploadResult {
|
|
530
530
|
src: string;
|
|
531
531
|
name: string;
|
|
532
532
|
size: number;
|
|
@@ -535,12 +535,12 @@ interface ImageUploadResult {
|
|
|
535
535
|
height?: number;
|
|
536
536
|
originalSize?: number;
|
|
537
537
|
}
|
|
538
|
-
interface
|
|
538
|
+
interface AteResizeOptions {
|
|
539
539
|
width?: number;
|
|
540
540
|
height?: number;
|
|
541
541
|
maintainAspectRatio?: boolean;
|
|
542
542
|
}
|
|
543
|
-
interface
|
|
543
|
+
interface AteImageUploadOptions {
|
|
544
544
|
quality?: number;
|
|
545
545
|
maxWidth?: number;
|
|
546
546
|
maxHeight?: number;
|
|
@@ -550,7 +550,7 @@ interface ImageUploadOptions {
|
|
|
550
550
|
/**
|
|
551
551
|
* Context passed to the image upload handler containing information about the image
|
|
552
552
|
*/
|
|
553
|
-
interface
|
|
553
|
+
interface AteImageUploadContext {
|
|
554
554
|
/** Original file being uploaded */
|
|
555
555
|
file: File;
|
|
556
556
|
/** Width of the processed image */
|
|
@@ -566,7 +566,7 @@ interface ImageUploadContext {
|
|
|
566
566
|
* Result expected from a custom image upload handler.
|
|
567
567
|
* Must contain at least the `src` property with the image URL.
|
|
568
568
|
*/
|
|
569
|
-
interface
|
|
569
|
+
interface AteImageUploadHandlerResult {
|
|
570
570
|
/** URL of the uploaded image (can be a remote URL or any string) */
|
|
571
571
|
src: string;
|
|
572
572
|
/** Optional custom alt text */
|
|
@@ -604,13 +604,13 @@ interface ImageUploadHandlerResult {
|
|
|
604
604
|
* };
|
|
605
605
|
* ```
|
|
606
606
|
*/
|
|
607
|
-
type
|
|
607
|
+
type AteImageUploadHandler = (context: AteImageUploadContext) => Promise<AteImageUploadHandlerResult> | Observable<AteImageUploadHandlerResult>;
|
|
608
608
|
/**
|
|
609
609
|
* Interface dedicated to image upload configuration.
|
|
610
610
|
*/
|
|
611
611
|
interface AteImageUploadConfig {
|
|
612
612
|
/** Callback function to handle upload (Promise or Observable) */
|
|
613
|
-
handler?:
|
|
613
|
+
handler?: AteImageUploadHandler;
|
|
614
614
|
/** Compression quality (0 to 1) */
|
|
615
615
|
quality?: number;
|
|
616
616
|
/** Maximum allowed width in pixels */
|
|
@@ -623,13 +623,13 @@ interface AteImageUploadConfig {
|
|
|
623
623
|
allowedTypes?: string[];
|
|
624
624
|
}
|
|
625
625
|
|
|
626
|
-
declare class
|
|
626
|
+
declare class AteEditorCommandsService {
|
|
627
627
|
private imageService;
|
|
628
628
|
private colorPickerSvc;
|
|
629
629
|
private linkSvc;
|
|
630
630
|
private readonly _editorState;
|
|
631
631
|
/** Exposed editor state as a readonly signal */
|
|
632
|
-
readonly editorState: _angular_core.Signal<
|
|
632
|
+
readonly editorState: _angular_core.Signal<AteEditorStateSnapshot>;
|
|
633
633
|
/** Signal to track when the toolbar is being hovered/interacted with */
|
|
634
634
|
private readonly _isToolbarInteracting;
|
|
635
635
|
readonly isToolbarInteracting: _angular_core.Signal<boolean>;
|
|
@@ -638,15 +638,15 @@ declare class EditorCommandsService {
|
|
|
638
638
|
readonly isUploading: _angular_core.Signal<boolean>;
|
|
639
639
|
readonly uploadProgress: _angular_core.Signal<number>;
|
|
640
640
|
readonly uploadMessage: _angular_core.Signal<string>;
|
|
641
|
-
set uploadHandler(handler:
|
|
641
|
+
set uploadHandler(handler: AteImageUploadHandler | null);
|
|
642
642
|
/** Update state (called by TiptapStateExtension) */
|
|
643
|
-
updateState(state:
|
|
643
|
+
updateState(state: AteEditorStateSnapshot): void;
|
|
644
644
|
/** Signal to toggle link edit mode from UI (Toolbar) - Immediate response */
|
|
645
645
|
readonly linkEditMode: _angular_core.Signal<boolean>;
|
|
646
646
|
/** Reference to the element that triggered the link menu (for anchoring) */
|
|
647
647
|
readonly linkMenuTrigger: _angular_core.Signal<HTMLElement | null>;
|
|
648
648
|
/** Signal to toggle color picker mode from UI (text or highlight) */
|
|
649
|
-
readonly colorEditMode: _angular_core.Signal<_flogeez_angular_tiptap_editor.
|
|
649
|
+
readonly colorEditMode: _angular_core.Signal<_flogeez_angular_tiptap_editor.AteColorEditMode | null>;
|
|
650
650
|
/** Reference to the element that triggered the color menu (for anchoring) */
|
|
651
651
|
readonly colorMenuTrigger: _angular_core.Signal<HTMLElement | null>;
|
|
652
652
|
/** Generic method to execute any command by name */
|
|
@@ -686,122 +686,101 @@ declare class EditorCommandsService {
|
|
|
686
686
|
setContent(editor: Editor, content: string, emitUpdate?: boolean): void;
|
|
687
687
|
setEditable(editor: Editor, editable: boolean): void;
|
|
688
688
|
insertContent(editor: Editor, content: string): void;
|
|
689
|
-
insertImage(editor: Editor, options?:
|
|
690
|
-
uploadImage(editor: Editor, file: File, options?:
|
|
691
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
692
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
689
|
+
insertImage(editor: Editor, options?: AteImageUploadOptions): Promise<void>;
|
|
690
|
+
uploadImage(editor: Editor, file: File, options?: AteImageUploadOptions): Promise<void>;
|
|
691
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AteEditorCommandsService, never>;
|
|
692
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AteEditorCommandsService>;
|
|
693
693
|
}
|
|
694
694
|
|
|
695
695
|
/**
|
|
696
696
|
* Clés des commandes natives dans l'ordre d'affichage
|
|
697
697
|
*/
|
|
698
|
-
declare const
|
|
699
|
-
type
|
|
698
|
+
declare const ATE_SLASH_COMMAND_KEYS: readonly ["heading1", "heading2", "heading3", "bulletList", "orderedList", "blockquote", "code", "image", "horizontalRule", "table"];
|
|
699
|
+
type AteSlashCommandKey = (typeof ATE_SLASH_COMMAND_KEYS)[number];
|
|
700
700
|
/**
|
|
701
701
|
* Configuration simplifiée pour activer/désactiver les slash commands natives.
|
|
702
702
|
* Permet aussi d'ajouter des commandes personnalisées.
|
|
703
703
|
*/
|
|
704
|
-
interface
|
|
704
|
+
interface AteSlashCommandsConfig extends Partial<Record<AteSlashCommandKey, boolean>> {
|
|
705
705
|
/**
|
|
706
706
|
* Liste de commandes supplémentaires à ajouter à la fin du menu
|
|
707
707
|
*/
|
|
708
|
-
custom?:
|
|
708
|
+
custom?: AteSlashCommandItem[];
|
|
709
709
|
}
|
|
710
710
|
/**
|
|
711
711
|
* Configuration par défaut : toutes les commandes natives sont activées
|
|
712
712
|
*/
|
|
713
|
-
declare const
|
|
713
|
+
declare const ATE_DEFAULT_SLASH_COMMANDS_CONFIG: AteSlashCommandsConfig;
|
|
714
714
|
/**
|
|
715
715
|
* Factory pour créer les commandes natives avec leurs traductions et leur logique d'exécution.
|
|
716
716
|
* Utilise les services de l'éditeur pour garantir une cohérence de comportement.
|
|
717
717
|
*/
|
|
718
|
-
declare function createDefaultSlashCommands(i18n:
|
|
718
|
+
declare function createDefaultSlashCommands(i18n: AteI18nService, commands: AteEditorCommandsService, imageOptions?: {
|
|
719
719
|
quality?: number;
|
|
720
720
|
maxWidth?: number;
|
|
721
721
|
maxHeight?: number;
|
|
722
722
|
allowedTypes?: string[];
|
|
723
|
-
}):
|
|
723
|
+
}): AteSlashCommandItem[];
|
|
724
724
|
/**
|
|
725
725
|
* Filtre et assemble les commandes selon la configuration fournie.
|
|
726
726
|
*/
|
|
727
|
-
declare function filterSlashCommands(config:
|
|
727
|
+
declare function filterSlashCommands(config: AteSlashCommandsConfig, i18n: AteI18nService, commands: AteEditorCommandsService, imageOptions?: {
|
|
728
728
|
quality?: number;
|
|
729
729
|
maxWidth?: number;
|
|
730
730
|
maxHeight?: number;
|
|
731
731
|
allowedTypes?: string[];
|
|
732
|
-
}):
|
|
732
|
+
}): AteSlashCommandItem[];
|
|
733
733
|
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
highlightPicker?: boolean;
|
|
745
|
-
heading1?: boolean;
|
|
746
|
-
heading2?: boolean;
|
|
747
|
-
heading3?: boolean;
|
|
748
|
-
bulletList?: boolean;
|
|
749
|
-
orderedList?: boolean;
|
|
750
|
-
blockquote?: boolean;
|
|
751
|
-
alignLeft?: boolean;
|
|
752
|
-
alignCenter?: boolean;
|
|
753
|
-
alignRight?: boolean;
|
|
754
|
-
alignJustify?: boolean;
|
|
755
|
-
link?: boolean;
|
|
756
|
-
image?: boolean;
|
|
757
|
-
horizontalRule?: boolean;
|
|
758
|
-
table?: boolean;
|
|
759
|
-
undo?: boolean;
|
|
760
|
-
redo?: boolean;
|
|
761
|
-
clear?: boolean;
|
|
762
|
-
textColor?: boolean;
|
|
763
|
-
separator?: boolean;
|
|
764
|
-
}
|
|
765
|
-
|
|
766
|
-
interface BubbleMenuConfig {
|
|
767
|
-
bold?: boolean;
|
|
768
|
-
italic?: boolean;
|
|
769
|
-
underline?: boolean;
|
|
770
|
-
strike?: boolean;
|
|
771
|
-
code?: boolean;
|
|
772
|
-
superscript?: boolean;
|
|
773
|
-
subscript?: boolean;
|
|
774
|
-
highlight?: boolean;
|
|
775
|
-
highlightPicker?: boolean;
|
|
776
|
-
textColor?: boolean;
|
|
777
|
-
link?: boolean;
|
|
778
|
-
separator?: boolean;
|
|
734
|
+
/**
|
|
735
|
+
* Clés des boutons de la barre d'outils native
|
|
736
|
+
*/
|
|
737
|
+
declare const ATE_TOOLBAR_KEYS: readonly ["bold", "italic", "underline", "strike", "code", "codeBlock", "superscript", "subscript", "highlight", "highlightPicker", "heading1", "heading2", "heading3", "bulletList", "orderedList", "blockquote", "alignLeft", "alignCenter", "alignRight", "alignJustify", "link", "image", "horizontalRule", "table", "undo", "redo", "clear", "textColor", "separator"];
|
|
738
|
+
type AteToolbarKey = (typeof ATE_TOOLBAR_KEYS)[number];
|
|
739
|
+
interface AteToolbarConfig extends Partial<Record<AteToolbarKey, boolean>> {
|
|
740
|
+
/**
|
|
741
|
+
* Boutons personnalisés à ajouter
|
|
742
|
+
*/
|
|
743
|
+
custom?: AteCustomToolbarItem[];
|
|
779
744
|
}
|
|
780
|
-
interface
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
resizeOriginal?: boolean;
|
|
786
|
-
deleteImage?: boolean;
|
|
787
|
-
separator?: boolean;
|
|
745
|
+
interface AteCustomToolbarItem {
|
|
746
|
+
key: string;
|
|
747
|
+
label: string;
|
|
748
|
+
icon: string;
|
|
749
|
+
command: (editor: Editor) => void | Promise<void>;
|
|
788
750
|
}
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
toggleHeaderRow?: boolean;
|
|
798
|
-
toggleHeaderColumn?: boolean;
|
|
799
|
-
separator?: boolean;
|
|
751
|
+
|
|
752
|
+
/**
|
|
753
|
+
* Clés des options du menu bulle de texte
|
|
754
|
+
*/
|
|
755
|
+
declare const ATE_BUBBLE_MENU_KEYS: readonly ["bold", "italic", "underline", "strike", "code", "superscript", "subscript", "highlight", "highlightPicker", "textColor", "link", "separator"];
|
|
756
|
+
type AteBubbleMenuKey = (typeof ATE_BUBBLE_MENU_KEYS)[number];
|
|
757
|
+
interface AteBubbleMenuConfig extends Partial<Record<AteBubbleMenuKey, boolean>> {
|
|
758
|
+
custom?: AteCustomBubbleMenuItem[];
|
|
800
759
|
}
|
|
801
|
-
interface
|
|
802
|
-
|
|
803
|
-
|
|
760
|
+
interface AteCustomBubbleMenuItem {
|
|
761
|
+
key: string;
|
|
762
|
+
label: string;
|
|
763
|
+
icon: string;
|
|
764
|
+
command: (editor: Editor) => void | Promise<void>;
|
|
804
765
|
}
|
|
766
|
+
/**
|
|
767
|
+
* Clés des options du menu bulle d'image
|
|
768
|
+
*/
|
|
769
|
+
declare const ATE_IMAGE_BUBBLE_MENU_KEYS: readonly ["changeImage", "resizeSmall", "resizeMedium", "resizeLarge", "resizeOriginal", "deleteImage", "separator"];
|
|
770
|
+
type AteImageBubbleMenuKey = (typeof ATE_IMAGE_BUBBLE_MENU_KEYS)[number];
|
|
771
|
+
type AteImageBubbleMenuConfig = Partial<Record<AteImageBubbleMenuKey, boolean>>;
|
|
772
|
+
/**
|
|
773
|
+
* Clés des options du menu de table
|
|
774
|
+
*/
|
|
775
|
+
declare const ATE_TABLE_BUBBLE_MENU_KEYS: readonly ["addRowBefore", "addRowAfter", "deleteRow", "addColumnBefore", "addColumnAfter", "deleteColumn", "deleteTable", "toggleHeaderRow", "toggleHeaderColumn", "separator"];
|
|
776
|
+
type AteTableBubbleMenuKey = (typeof ATE_TABLE_BUBBLE_MENU_KEYS)[number];
|
|
777
|
+
type AteTableBubbleMenuConfig = Partial<Record<AteTableBubbleMenuKey, boolean>>;
|
|
778
|
+
/**
|
|
779
|
+
* Clés des options du menu de cellule
|
|
780
|
+
*/
|
|
781
|
+
declare const ATE_CELL_BUBBLE_MENU_KEYS: readonly ["mergeCells", "splitCell"];
|
|
782
|
+
type AteCellBubbleMenuKey = (typeof ATE_CELL_BUBBLE_MENU_KEYS)[number];
|
|
783
|
+
type AteCellBubbleMenuConfig = Partial<Record<AteCellBubbleMenuKey, boolean>>;
|
|
805
784
|
|
|
806
785
|
/**
|
|
807
786
|
* Global configuration interface for Angular Tiptap Editor.
|
|
@@ -857,29 +836,33 @@ interface AteEditorConfig {
|
|
|
857
836
|
/** Maximum number of characters allowed */
|
|
858
837
|
maxCharacters?: number;
|
|
859
838
|
/** Detailed toolbar configuration (items, groups) */
|
|
860
|
-
toolbar?:
|
|
839
|
+
toolbar?: AteToolbarConfig;
|
|
861
840
|
/** Text context menu configuration */
|
|
862
|
-
bubbleMenu?:
|
|
841
|
+
bubbleMenu?: AteBubbleMenuConfig;
|
|
863
842
|
/** Image context menu configuration */
|
|
864
|
-
imageBubbleMenu?:
|
|
843
|
+
imageBubbleMenu?: AteImageBubbleMenuConfig;
|
|
865
844
|
/** Table context menu configuration */
|
|
866
|
-
tableBubbleMenu?:
|
|
845
|
+
tableBubbleMenu?: AteTableBubbleMenuConfig;
|
|
867
846
|
/** Cell context menu configuration */
|
|
868
|
-
cellBubbleMenu?:
|
|
847
|
+
cellBubbleMenu?: AteCellBubbleMenuConfig;
|
|
869
848
|
/** Slash commands configuration (/) */
|
|
870
|
-
slashCommands?:
|
|
849
|
+
slashCommands?: AteSlashCommandsConfig;
|
|
871
850
|
/** If true, shows the floating toolbar on focus */
|
|
872
851
|
floatingToolbar?: boolean;
|
|
873
852
|
/** Technical configuration for image uploads */
|
|
874
853
|
imageUpload?: AteImageUploadConfig;
|
|
875
854
|
}
|
|
876
855
|
|
|
877
|
-
|
|
856
|
+
/**
|
|
857
|
+
* Noop Value Accessor Directive
|
|
858
|
+
* @link https://medium.com/netanelbasal/forwarding-form-controls-to-custom-control-components-in-angular-701e8406cc55
|
|
859
|
+
*/
|
|
860
|
+
declare class AteNoopValueAccessorDirective implements ControlValueAccessor {
|
|
878
861
|
writeValue(_obj: unknown): void;
|
|
879
862
|
registerOnChange(_fn: unknown): void;
|
|
880
863
|
registerOnTouched(_fn: unknown): void;
|
|
881
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
882
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<
|
|
864
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AteNoopValueAccessorDirective, never>;
|
|
865
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AteNoopValueAccessorDirective, never, never, {}, {}, never, never, true, never>;
|
|
883
866
|
}
|
|
884
867
|
|
|
885
868
|
declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
@@ -900,8 +883,8 @@ declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
|
900
883
|
maxCharacters: _angular_core.InputSignal<number | undefined>;
|
|
901
884
|
enableOfficePaste: _angular_core.InputSignal<boolean>;
|
|
902
885
|
enableSlashCommands: _angular_core.InputSignal<boolean>;
|
|
903
|
-
slashCommands: _angular_core.InputSignal<
|
|
904
|
-
customSlashCommands: _angular_core.InputSignal<
|
|
886
|
+
slashCommands: _angular_core.InputSignal<AteSlashCommandsConfig>;
|
|
887
|
+
customSlashCommands: _angular_core.InputSignal<AteCustomSlashCommands | undefined>;
|
|
905
888
|
locale: _angular_core.InputSignal<SupportedLocale | undefined>;
|
|
906
889
|
autofocus: _angular_core.InputSignal<number | boolean | "start" | "end" | "all">;
|
|
907
890
|
seamless: _angular_core.InputSignal<boolean>;
|
|
@@ -911,19 +894,19 @@ declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
|
911
894
|
tiptapExtensions: _angular_core.InputSignal<(Node<any, any> | Mark<any, any> | Extension<any, any>)[]>;
|
|
912
895
|
tiptapOptions: _angular_core.InputSignal<Partial<EditorOptions>>;
|
|
913
896
|
showBubbleMenu: _angular_core.InputSignal<boolean>;
|
|
914
|
-
bubbleMenu: _angular_core.InputSignal<Partial<
|
|
897
|
+
bubbleMenu: _angular_core.InputSignal<Partial<AteBubbleMenuConfig>>;
|
|
915
898
|
showImageBubbleMenu: _angular_core.InputSignal<boolean>;
|
|
916
|
-
imageBubbleMenu: _angular_core.InputSignal<Partial<
|
|
917
|
-
toolbar: _angular_core.InputSignal<Partial<
|
|
899
|
+
imageBubbleMenu: _angular_core.InputSignal<Partial<Partial<Record<"separator" | "changeImage" | "resizeSmall" | "resizeMedium" | "resizeLarge" | "resizeOriginal" | "deleteImage", boolean>>>>;
|
|
900
|
+
toolbar: _angular_core.InputSignal<Partial<AteToolbarConfig>>;
|
|
918
901
|
showTableBubbleMenu: _angular_core.InputSignal<boolean>;
|
|
919
|
-
tableBubbleMenu: _angular_core.InputSignal<Partial<
|
|
902
|
+
tableBubbleMenu: _angular_core.InputSignal<Partial<Partial<Record<"addColumnBefore" | "addColumnAfter" | "deleteColumn" | "addRowBefore" | "addRowAfter" | "deleteRow" | "deleteTable" | "toggleHeaderColumn" | "toggleHeaderRow" | "separator", boolean>>>>;
|
|
920
903
|
showCellBubbleMenu: _angular_core.InputSignal<boolean>;
|
|
921
|
-
cellBubbleMenu: _angular_core.InputSignal<Partial<
|
|
904
|
+
cellBubbleMenu: _angular_core.InputSignal<Partial<Partial<Record<"mergeCells" | "splitCell", boolean>>>>;
|
|
922
905
|
/**
|
|
923
906
|
* Additionnal state calculators to extend the reactive editor state.
|
|
924
907
|
*/
|
|
925
|
-
stateCalculators: _angular_core.InputSignal<
|
|
926
|
-
imageUpload: _angular_core.InputSignal<Partial<
|
|
908
|
+
stateCalculators: _angular_core.InputSignal<AteStateCalculator[]>;
|
|
909
|
+
imageUpload: _angular_core.InputSignal<Partial<AteImageUploadOptions>>;
|
|
927
910
|
/**
|
|
928
911
|
* Custom handler for image uploads.
|
|
929
912
|
* When provided, images will be processed through this handler instead of being converted to base64.
|
|
@@ -943,7 +926,7 @@ declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
|
943
926
|
* // <angular-tiptap-editor [imageUploadHandler]="myUploadHandler" />
|
|
944
927
|
* ```
|
|
945
928
|
*/
|
|
946
|
-
imageUploadHandler: _angular_core.InputSignal<
|
|
929
|
+
imageUploadHandler: _angular_core.InputSignal<AteImageUploadHandler | undefined>;
|
|
947
930
|
contentChange: _angular_core.OutputEmitterRef<string>;
|
|
948
931
|
editorCreated: _angular_core.OutputEmitterRef<Editor>;
|
|
949
932
|
editorUpdate: _angular_core.OutputEmitterRef<{
|
|
@@ -989,18 +972,18 @@ declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
|
989
972
|
readonly finalSpellcheck: _angular_core.Signal<boolean>;
|
|
990
973
|
readonly finalEnableOfficePaste: _angular_core.Signal<boolean>;
|
|
991
974
|
readonly finalShowToolbar: _angular_core.Signal<boolean>;
|
|
992
|
-
readonly finalToolbarConfig: _angular_core.Signal<
|
|
975
|
+
readonly finalToolbarConfig: _angular_core.Signal<AteToolbarConfig>;
|
|
993
976
|
readonly finalFloatingToolbar: _angular_core.Signal<boolean>;
|
|
994
977
|
readonly finalShowBubbleMenu: _angular_core.Signal<boolean>;
|
|
995
|
-
readonly finalBubbleMenuConfig: _angular_core.Signal<
|
|
978
|
+
readonly finalBubbleMenuConfig: _angular_core.Signal<AteBubbleMenuConfig>;
|
|
996
979
|
readonly finalShowImageBubbleMenu: _angular_core.Signal<boolean>;
|
|
997
|
-
readonly finalImageBubbleMenuConfig: _angular_core.Signal<
|
|
980
|
+
readonly finalImageBubbleMenuConfig: _angular_core.Signal<Partial<Record<"separator" | "changeImage" | "resizeSmall" | "resizeMedium" | "resizeLarge" | "resizeOriginal" | "deleteImage", boolean>>>;
|
|
998
981
|
readonly finalShowTableBubbleMenu: _angular_core.Signal<boolean>;
|
|
999
|
-
readonly finalTableBubbleMenuConfig: _angular_core.Signal<
|
|
982
|
+
readonly finalTableBubbleMenuConfig: _angular_core.Signal<Partial<Record<"addColumnBefore" | "addColumnAfter" | "deleteColumn" | "addRowBefore" | "addRowAfter" | "deleteRow" | "deleteTable" | "toggleHeaderColumn" | "toggleHeaderRow" | "separator", boolean>>>;
|
|
1000
983
|
readonly finalShowCellBubbleMenu: _angular_core.Signal<boolean>;
|
|
1001
|
-
readonly finalCellBubbleMenuConfig: _angular_core.Signal<
|
|
984
|
+
readonly finalCellBubbleMenuConfig: _angular_core.Signal<Partial<Record<"mergeCells" | "splitCell", boolean>>>;
|
|
1002
985
|
readonly finalEnableSlashCommands: _angular_core.Signal<boolean>;
|
|
1003
|
-
readonly finalSlashCommandsConfig: _angular_core.Signal<
|
|
986
|
+
readonly finalSlashCommandsConfig: _angular_core.Signal<AteCustomSlashCommands>;
|
|
1004
987
|
readonly finalAutofocus: _angular_core.Signal<number | boolean | "start" | "end" | "all">;
|
|
1005
988
|
readonly finalMaxCharacters: _angular_core.Signal<number | undefined>;
|
|
1006
989
|
readonly finalShowCharacterCount: _angular_core.Signal<boolean>;
|
|
@@ -1008,7 +991,7 @@ declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
|
1008
991
|
readonly finalLocale: _angular_core.Signal<SupportedLocale>;
|
|
1009
992
|
readonly finalImageUploadConfig: _angular_core.Signal<{
|
|
1010
993
|
maxSize: number;
|
|
1011
|
-
handler?:
|
|
994
|
+
handler?: AteImageUploadHandler;
|
|
1012
995
|
quality: number;
|
|
1013
996
|
maxWidth: number;
|
|
1014
997
|
maxHeight: number;
|
|
@@ -1018,12 +1001,12 @@ declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
|
1018
1001
|
multiple: boolean;
|
|
1019
1002
|
compressImages: boolean;
|
|
1020
1003
|
}>;
|
|
1021
|
-
readonly finalImageUploadHandler: _angular_core.Signal<
|
|
1022
|
-
readonly currentTranslations: _angular_core.Signal<_flogeez_angular_tiptap_editor.
|
|
1004
|
+
readonly finalImageUploadHandler: _angular_core.Signal<AteImageUploadHandler | undefined>;
|
|
1005
|
+
readonly currentTranslations: _angular_core.Signal<_flogeez_angular_tiptap_editor.AteTranslations>;
|
|
1023
1006
|
private _destroyRef;
|
|
1024
1007
|
private ngControl;
|
|
1025
|
-
readonly i18nService:
|
|
1026
|
-
readonly editorCommandsService:
|
|
1008
|
+
readonly i18nService: AteI18nService;
|
|
1009
|
+
readonly editorCommandsService: AteEditorCommandsService;
|
|
1027
1010
|
readonly editorState: _angular_core.Signal<_flogeez_angular_tiptap_editor.EditorStateSnapshot>;
|
|
1028
1011
|
constructor();
|
|
1029
1012
|
ngAfterViewInit(): void;
|
|
@@ -1045,12 +1028,12 @@ declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
|
1045
1028
|
private setupFormControlSubscription;
|
|
1046
1029
|
onEditorClick(event: Event): void;
|
|
1047
1030
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AngularTiptapEditorComponent, never>;
|
|
1048
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AngularTiptapEditorComponent, "angular-tiptap-editor", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "fillContainer": { "alias": "fillContainer"; "required": false; "isSignal": true; }; "showToolbar": { "alias": "showToolbar"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "showCharacterCount": { "alias": "showCharacterCount"; "required": false; "isSignal": true; }; "showWordCount": { "alias": "showWordCount"; "required": false; "isSignal": true; }; "maxCharacters": { "alias": "maxCharacters"; "required": false; "isSignal": true; }; "enableOfficePaste": { "alias": "enableOfficePaste"; "required": false; "isSignal": true; }; "enableSlashCommands": { "alias": "enableSlashCommands"; "required": false; "isSignal": true; }; "slashCommands": { "alias": "slashCommands"; "required": false; "isSignal": true; }; "customSlashCommands": { "alias": "customSlashCommands"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "seamless": { "alias": "seamless"; "required": false; "isSignal": true; }; "floatingToolbar": { "alias": "floatingToolbar"; "required": false; "isSignal": true; }; "showEditToggle": { "alias": "showEditToggle"; "required": false; "isSignal": true; }; "spellcheck": { "alias": "spellcheck"; "required": false; "isSignal": true; }; "tiptapExtensions": { "alias": "tiptapExtensions"; "required": false; "isSignal": true; }; "tiptapOptions": { "alias": "tiptapOptions"; "required": false; "isSignal": true; }; "showBubbleMenu": { "alias": "showBubbleMenu"; "required": false; "isSignal": true; }; "bubbleMenu": { "alias": "bubbleMenu"; "required": false; "isSignal": true; }; "showImageBubbleMenu": { "alias": "showImageBubbleMenu"; "required": false; "isSignal": true; }; "imageBubbleMenu": { "alias": "imageBubbleMenu"; "required": false; "isSignal": true; }; "toolbar": { "alias": "toolbar"; "required": false; "isSignal": true; }; "showTableBubbleMenu": { "alias": "showTableBubbleMenu"; "required": false; "isSignal": true; }; "tableBubbleMenu": { "alias": "tableBubbleMenu"; "required": false; "isSignal": true; }; "showCellBubbleMenu": { "alias": "showCellBubbleMenu"; "required": false; "isSignal": true; }; "cellBubbleMenu": { "alias": "cellBubbleMenu"; "required": false; "isSignal": true; }; "stateCalculators": { "alias": "stateCalculators"; "required": false; "isSignal": true; }; "imageUpload": { "alias": "imageUpload"; "required": false; "isSignal": true; }; "imageUploadHandler": { "alias": "imageUploadHandler"; "required": false; "isSignal": true; }; }, { "contentChange": "contentChange"; "editorCreated": "editorCreated"; "editorUpdate": "editorUpdate"; "editorFocus": "editorFocus"; "editorBlur": "editorBlur"; "editableChange": "editableChange"; }, never, never, true, [{ directive: typeof
|
|
1031
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<AngularTiptapEditorComponent, "angular-tiptap-editor", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "editable": { "alias": "editable"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "minHeight": { "alias": "minHeight"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "maxHeight": { "alias": "maxHeight"; "required": false; "isSignal": true; }; "fillContainer": { "alias": "fillContainer"; "required": false; "isSignal": true; }; "showToolbar": { "alias": "showToolbar"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "showCharacterCount": { "alias": "showCharacterCount"; "required": false; "isSignal": true; }; "showWordCount": { "alias": "showWordCount"; "required": false; "isSignal": true; }; "maxCharacters": { "alias": "maxCharacters"; "required": false; "isSignal": true; }; "enableOfficePaste": { "alias": "enableOfficePaste"; "required": false; "isSignal": true; }; "enableSlashCommands": { "alias": "enableSlashCommands"; "required": false; "isSignal": true; }; "slashCommands": { "alias": "slashCommands"; "required": false; "isSignal": true; }; "customSlashCommands": { "alias": "customSlashCommands"; "required": false; "isSignal": true; }; "locale": { "alias": "locale"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "seamless": { "alias": "seamless"; "required": false; "isSignal": true; }; "floatingToolbar": { "alias": "floatingToolbar"; "required": false; "isSignal": true; }; "showEditToggle": { "alias": "showEditToggle"; "required": false; "isSignal": true; }; "spellcheck": { "alias": "spellcheck"; "required": false; "isSignal": true; }; "tiptapExtensions": { "alias": "tiptapExtensions"; "required": false; "isSignal": true; }; "tiptapOptions": { "alias": "tiptapOptions"; "required": false; "isSignal": true; }; "showBubbleMenu": { "alias": "showBubbleMenu"; "required": false; "isSignal": true; }; "bubbleMenu": { "alias": "bubbleMenu"; "required": false; "isSignal": true; }; "showImageBubbleMenu": { "alias": "showImageBubbleMenu"; "required": false; "isSignal": true; }; "imageBubbleMenu": { "alias": "imageBubbleMenu"; "required": false; "isSignal": true; }; "toolbar": { "alias": "toolbar"; "required": false; "isSignal": true; }; "showTableBubbleMenu": { "alias": "showTableBubbleMenu"; "required": false; "isSignal": true; }; "tableBubbleMenu": { "alias": "tableBubbleMenu"; "required": false; "isSignal": true; }; "showCellBubbleMenu": { "alias": "showCellBubbleMenu"; "required": false; "isSignal": true; }; "cellBubbleMenu": { "alias": "cellBubbleMenu"; "required": false; "isSignal": true; }; "stateCalculators": { "alias": "stateCalculators"; "required": false; "isSignal": true; }; "imageUpload": { "alias": "imageUpload"; "required": false; "isSignal": true; }; "imageUploadHandler": { "alias": "imageUploadHandler"; "required": false; "isSignal": true; }; }, { "contentChange": "contentChange"; "editorCreated": "editorCreated"; "editorUpdate": "editorUpdate"; "editorFocus": "editorFocus"; "editorBlur": "editorBlur"; "editableChange": "editableChange"; }, never, never, true, [{ directive: typeof AteNoopValueAccessorDirective; inputs: {}; outputs: {}; }]>;
|
|
1049
1032
|
}
|
|
1050
1033
|
|
|
1051
|
-
declare class
|
|
1034
|
+
declare class AteImageService {
|
|
1052
1035
|
/** Signals for image state */
|
|
1053
|
-
selectedImage: _angular_core.WritableSignal<
|
|
1036
|
+
selectedImage: _angular_core.WritableSignal<AteImageData | null>;
|
|
1054
1037
|
isImageSelected: _angular_core.Signal<boolean>;
|
|
1055
1038
|
/** Resizing state */
|
|
1056
1039
|
isResizing: _angular_core.WritableSignal<boolean>;
|
|
@@ -1064,17 +1047,17 @@ declare class ImageService {
|
|
|
1064
1047
|
* Custom upload handler.
|
|
1065
1048
|
* If set, this handler replaces the default base64 conversion.
|
|
1066
1049
|
*/
|
|
1067
|
-
uploadHandler:
|
|
1050
|
+
uploadHandler: AteImageUploadHandler | null;
|
|
1068
1051
|
private currentEditor;
|
|
1069
1052
|
/** Select and track an image from the editor */
|
|
1070
1053
|
selectImage(editor: Editor): void;
|
|
1071
1054
|
clearSelection(): void;
|
|
1072
1055
|
/** Insert a new image and ensure it's selected */
|
|
1073
|
-
insertImage(editor: Editor, imageData:
|
|
1056
|
+
insertImage(editor: Editor, imageData: AteImageData): void;
|
|
1074
1057
|
/** Update attributes of the currently active image */
|
|
1075
|
-
updateImageAttributes(editor: Editor, attributes: Partial<
|
|
1058
|
+
updateImageAttributes(editor: Editor, attributes: Partial<AteImageData>): void;
|
|
1076
1059
|
/** Resize image with optional aspect ratio maintenance */
|
|
1077
|
-
resizeImage(editor: Editor, options:
|
|
1060
|
+
resizeImage(editor: Editor, options: AteResizeOptions): void;
|
|
1078
1061
|
/** Predetermined resize helpers used by UI */
|
|
1079
1062
|
resizeImageToSmall(editor: Editor): void;
|
|
1080
1063
|
resizeImageToMedium(editor: Editor): void;
|
|
@@ -1097,35 +1080,35 @@ declare class ImageService {
|
|
|
1097
1080
|
error?: string;
|
|
1098
1081
|
};
|
|
1099
1082
|
/** Compress and process image on client side */
|
|
1100
|
-
compressImage(file: File, quality?: number, maxWidth?: number, maxHeight?: number): Promise<
|
|
1083
|
+
compressImage(file: File, quality?: number, maxWidth?: number, maxHeight?: number): Promise<AteImageUploadResult>;
|
|
1101
1084
|
/** Core upload logic with progress tracking */
|
|
1102
1085
|
private uploadImageWithProgress;
|
|
1103
1086
|
private resetUploadState;
|
|
1104
1087
|
/** Main entry point for file upload and insertion */
|
|
1105
|
-
uploadAndInsertImage(editor: Editor, file: File, options?:
|
|
1088
|
+
uploadAndInsertImage(editor: Editor, file: File, options?: AteImageUploadOptions): Promise<void>;
|
|
1106
1089
|
/** Trigger an editor transaction to force decoration update */
|
|
1107
1090
|
private forceEditorUpdate;
|
|
1108
1091
|
/** Generic helper to open file picker and process selection */
|
|
1109
1092
|
private selectFileAndProcess;
|
|
1110
1093
|
/** Select file and upload as new image */
|
|
1111
|
-
selectAndUploadImage(editor: Editor, options?:
|
|
1094
|
+
selectAndUploadImage(editor: Editor, options?: AteImageUploadOptions): Promise<void>;
|
|
1112
1095
|
/** Select file and replace currently selected image */
|
|
1113
|
-
selectAndReplaceImage(editor: Editor, options?:
|
|
1096
|
+
selectAndReplaceImage(editor: Editor, options?: AteImageUploadOptions): Promise<void>;
|
|
1114
1097
|
/** Internal helper used by replacement logic */
|
|
1115
|
-
uploadAndReplaceImage(editor: Editor, file: File, options?:
|
|
1116
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
1117
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1098
|
+
uploadAndReplaceImage(editor: Editor, file: File, options?: AteImageUploadOptions): Promise<void>;
|
|
1099
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AteImageService, never>;
|
|
1100
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AteImageService>;
|
|
1118
1101
|
}
|
|
1119
1102
|
|
|
1120
|
-
interface
|
|
1103
|
+
interface AteColorPickerSelection {
|
|
1121
1104
|
from: number;
|
|
1122
1105
|
to: number;
|
|
1123
1106
|
}
|
|
1124
|
-
type
|
|
1125
|
-
declare class
|
|
1107
|
+
type AteColorEditMode = "text" | "highlight";
|
|
1108
|
+
declare class AteColorPickerService {
|
|
1126
1109
|
private storedSelection;
|
|
1127
1110
|
/** Current edit mode: null when closed, 'text' or 'highlight' when open */
|
|
1128
|
-
readonly editMode: _angular_core.WritableSignal<
|
|
1111
|
+
readonly editMode: _angular_core.WritableSignal<AteColorEditMode | null>;
|
|
1129
1112
|
/** Reference to the element that triggered the menu (for anchoring) */
|
|
1130
1113
|
readonly menuTrigger: _angular_core.WritableSignal<HTMLElement | null>;
|
|
1131
1114
|
/** Whether the user is currently interacting with the picker UI (e.g. typing) */
|
|
@@ -1133,7 +1116,7 @@ declare class ColorPickerService {
|
|
|
1133
1116
|
/**
|
|
1134
1117
|
* Open the color picker menu in the specified mode.
|
|
1135
1118
|
*/
|
|
1136
|
-
open(mode:
|
|
1119
|
+
open(mode: AteColorEditMode, trigger?: HTMLElement): void;
|
|
1137
1120
|
/**
|
|
1138
1121
|
* Close the color picker menu.
|
|
1139
1122
|
*/
|
|
@@ -1145,7 +1128,7 @@ declare class ColorPickerService {
|
|
|
1145
1128
|
/**
|
|
1146
1129
|
* Toggle color picker from UI (extracts trigger from event).
|
|
1147
1130
|
*/
|
|
1148
|
-
toggle(editor: Editor, mode:
|
|
1131
|
+
toggle(editor: Editor, mode: AteColorEditMode, event?: Event): void;
|
|
1149
1132
|
/**
|
|
1150
1133
|
* Capture current editor selection.
|
|
1151
1134
|
*/
|
|
@@ -1153,7 +1136,7 @@ declare class ColorPickerService {
|
|
|
1153
1136
|
/**
|
|
1154
1137
|
* Get last captured selection.
|
|
1155
1138
|
*/
|
|
1156
|
-
getStoredSelection():
|
|
1139
|
+
getStoredSelection(): AteColorPickerSelection | null;
|
|
1157
1140
|
/**
|
|
1158
1141
|
* Clear captured selection.
|
|
1159
1142
|
*/
|
|
@@ -1177,11 +1160,11 @@ declare class ColorPickerService {
|
|
|
1177
1160
|
normalizeColor(color: string | null | undefined): string;
|
|
1178
1161
|
getLuminance(color: string): number;
|
|
1179
1162
|
getContrastColor(color: string): "black" | "white";
|
|
1180
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
1181
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1163
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AteColorPickerService, never>;
|
|
1164
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AteColorPickerService>;
|
|
1182
1165
|
}
|
|
1183
1166
|
|
|
1184
|
-
declare class
|
|
1167
|
+
declare class AteLinkService {
|
|
1185
1168
|
/** Whether link edit mode is active */
|
|
1186
1169
|
readonly editMode: _angular_core.WritableSignal<boolean>;
|
|
1187
1170
|
/** Reference to the element that triggered the menu (for anchoring) */
|
|
@@ -1218,8 +1201,8 @@ declare class LinkService {
|
|
|
1218
1201
|
* Remove link from the current selection.
|
|
1219
1202
|
*/
|
|
1220
1203
|
unsetLink(editor: Editor): void;
|
|
1221
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<
|
|
1222
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<
|
|
1204
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<AteLinkService, never>;
|
|
1205
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<AteLinkService>;
|
|
1223
1206
|
}
|
|
1224
1207
|
|
|
1225
1208
|
/**
|
|
@@ -1227,23 +1210,54 @@ declare class LinkService {
|
|
|
1227
1210
|
* It provides a "fallback" reactive state for any mark or node not explicitly handled
|
|
1228
1211
|
* by specialized calculators.
|
|
1229
1212
|
*/
|
|
1230
|
-
declare const
|
|
1213
|
+
declare const AteDiscoveryCalculator: AteStateCalculator;
|
|
1214
|
+
|
|
1215
|
+
declare const AteImageCalculator: AteStateCalculator;
|
|
1231
1216
|
|
|
1232
|
-
declare const
|
|
1217
|
+
declare const AteMarksCalculator: AteStateCalculator;
|
|
1233
1218
|
|
|
1234
|
-
declare const
|
|
1219
|
+
declare const AteSelectionCalculator: AteStateCalculator;
|
|
1235
1220
|
|
|
1236
|
-
declare const
|
|
1221
|
+
declare const AteStructureCalculator: AteStateCalculator;
|
|
1237
1222
|
|
|
1238
|
-
declare const
|
|
1223
|
+
declare const AteTableCalculator: AteStateCalculator;
|
|
1239
1224
|
|
|
1240
|
-
declare const
|
|
1225
|
+
declare const ATE_DEFAULT_TOOLBAR_CONFIG: AteToolbarConfig;
|
|
1226
|
+
declare const ATE_DEFAULT_BUBBLE_MENU_CONFIG: AteBubbleMenuConfig;
|
|
1227
|
+
declare const ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG: AteImageBubbleMenuConfig;
|
|
1228
|
+
declare const ATE_DEFAULT_TABLE_MENU_CONFIG: AteTableBubbleMenuConfig;
|
|
1229
|
+
declare const ATE_DEFAULT_CELL_MENU_CONFIG: AteCellBubbleMenuConfig;
|
|
1230
|
+
|
|
1231
|
+
/** @deprecated Renamed to `ATE_INITIAL_EDITOR_STATE`. This alias will be removed in v3.0.0. */
|
|
1232
|
+
declare const INITIAL_EDITOR_STATE: AteEditorStateSnapshot;
|
|
1233
|
+
|
|
1234
|
+
/** @deprecated Renamed to `ATE_SLASH_COMMAND_KEYS`. This alias will be removed in v3.0.0. */
|
|
1235
|
+
declare const SLASH_COMMAND_KEYS: readonly ["heading1", "heading2", "heading3", "bulletList", "orderedList", "blockquote", "code", "image", "horizontalRule", "table"];
|
|
1236
|
+
/** @deprecated Renamed to `ATE_DEFAULT_SLASH_COMMANDS_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1237
|
+
declare const DEFAULT_SLASH_COMMANDS_CONFIG: AteSlashCommandsConfig;
|
|
1241
1238
|
|
|
1242
|
-
|
|
1243
|
-
declare const
|
|
1244
|
-
|
|
1245
|
-
declare const
|
|
1246
|
-
|
|
1239
|
+
/** @deprecated Renamed to `AteDiscoveryCalculator`. This alias will be removed in v3.0.0. */
|
|
1240
|
+
declare const DiscoveryCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1241
|
+
/** @deprecated Renamed to `AteImageCalculator`. This alias will be removed in v3.0.0. */
|
|
1242
|
+
declare const ImageCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1243
|
+
/** @deprecated Renamed to `AteMarksCalculator`. This alias will be removed in v3.0.0. */
|
|
1244
|
+
declare const MarksCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1245
|
+
/** @deprecated Renamed to `AteSelectionCalculator`. This alias will be removed in v3.0.0. */
|
|
1246
|
+
declare const SelectionCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1247
|
+
/** @deprecated Renamed to `AteStructureCalculator`. This alias will be removed in v3.0.0. */
|
|
1248
|
+
declare const StructureCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1249
|
+
/** @deprecated Renamed to `AteTableCalculator`. This alias will be removed in v3.0.0. */
|
|
1250
|
+
declare const TableCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1251
|
+
/** @deprecated Renamed to `ATE_DEFAULT_TOOLBAR_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1252
|
+
declare const DEFAULT_TOOLBAR_CONFIG: AteToolbarConfig;
|
|
1253
|
+
/** @deprecated Renamed to `ATE_DEFAULT_BUBBLE_MENU_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1254
|
+
declare const DEFAULT_BUBBLE_MENU_CONFIG: AteBubbleMenuConfig;
|
|
1255
|
+
/** @deprecated Renamed to `ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1256
|
+
declare const DEFAULT_IMAGE_BUBBLE_MENU_CONFIG: Partial<Record<"separator" | "changeImage" | "resizeSmall" | "resizeMedium" | "resizeLarge" | "resizeOriginal" | "deleteImage", boolean>>;
|
|
1257
|
+
/** @deprecated Renamed to `ATE_DEFAULT_TABLE_MENU_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1258
|
+
declare const DEFAULT_TABLE_MENU_CONFIG: Partial<Record<"addColumnBefore" | "addColumnAfter" | "deleteColumn" | "addRowBefore" | "addRowAfter" | "deleteRow" | "deleteTable" | "toggleHeaderColumn" | "toggleHeaderRow" | "separator", boolean>>;
|
|
1259
|
+
/** @deprecated Renamed to `ATE_DEFAULT_CELL_MENU_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1260
|
+
declare const DEFAULT_CELL_MENU_CONFIG: Partial<Record<"mergeCells" | "splitCell", boolean>>;
|
|
1247
1261
|
|
|
1248
|
-
export { AngularTiptapEditorComponent, ColorPickerService, DEFAULT_BUBBLE_MENU_CONFIG, DEFAULT_CELL_MENU_CONFIG, DEFAULT_IMAGE_BUBBLE_MENU_CONFIG, DEFAULT_SLASH_COMMANDS_CONFIG, DEFAULT_TABLE_MENU_CONFIG, DEFAULT_TOOLBAR_CONFIG, DiscoveryCalculator, EditorCommandsService, INITIAL_EDITOR_STATE, ImageCalculator, ImageService, LinkService, MarksCalculator,
|
|
1249
|
-
export type { AteEditorConfig, AteImageUploadConfig,
|
|
1262
|
+
export { ATE_BUBBLE_MENU_KEYS, ATE_CELL_BUBBLE_MENU_KEYS, ATE_DEFAULT_BUBBLE_MENU_CONFIG, ATE_DEFAULT_CELL_MENU_CONFIG, ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG, ATE_DEFAULT_SLASH_COMMANDS_CONFIG, ATE_DEFAULT_TABLE_MENU_CONFIG, ATE_DEFAULT_TOOLBAR_CONFIG, ATE_IMAGE_BUBBLE_MENU_KEYS, ATE_INITIAL_EDITOR_STATE, ATE_SLASH_COMMAND_KEYS, ATE_TABLE_BUBBLE_MENU_KEYS, ATE_TOOLBAR_KEYS, AngularTiptapEditorComponent, AteColorPickerService, AteDiscoveryCalculator, AteEditorCommandsService, AteI18nService, AteImageCalculator, AteImageService, AteLinkService, AteMarksCalculator, AteNoopValueAccessorDirective, AteSelectionCalculator, AteStructureCalculator, AteTableCalculator, AteColorPickerService as ColorPickerService, DEFAULT_BUBBLE_MENU_CONFIG, DEFAULT_CELL_MENU_CONFIG, DEFAULT_IMAGE_BUBBLE_MENU_CONFIG, DEFAULT_SLASH_COMMANDS_CONFIG, DEFAULT_TABLE_MENU_CONFIG, DEFAULT_TOOLBAR_CONFIG, DiscoveryCalculator, AteEditorCommandsService as EditorCommandsService, INITIAL_EDITOR_STATE, ImageCalculator, AteImageService as ImageService, AteLinkService as LinkService, MarksCalculator, SLASH_COMMAND_KEYS, SelectionCalculator, StructureCalculator, TableCalculator, AteI18nService as TiptapI18nService, createDefaultSlashCommands, filterSlashCommands };
|
|
1263
|
+
export type { AteBubbleMenuConfig, AteBubbleMenuKey, AteCellBubbleMenuConfig, AteCellBubbleMenuKey, AteColorEditMode, AteColorPickerSelection, AteCustomBubbleMenuItem, AteCustomSlashCommands, AteCustomToolbarItem, AteEditorConfig, AteEditorStateSnapshot, AteImageBubbleMenuConfig, AteImageBubbleMenuKey, AteImageData, AteImageUploadConfig, AteImageUploadContext, AteImageUploadHandler, AteImageUploadHandlerResult, AteImageUploadOptions, AteImageUploadResult, AteResizeOptions, AteSlashCommandItem, AteSlashCommandKey, AteSlashCommandsConfig, AteStateCalculator, AteTableBubbleMenuConfig, AteTableBubbleMenuKey, AteToolbarConfig, AteToolbarKey, AteTranslations, AteBubbleMenuConfig as BubbleMenuConfig, AteCellBubbleMenuConfig as CellBubbleMenuConfig, AteCustomSlashCommands as CustomSlashCommands, AteEditorConfig as EditorConfig, AteEditorStateSnapshot as EditorStateSnapshot, AteImageBubbleMenuConfig as ImageBubbleMenuConfig, AteImageData as ImageData, AteImageUploadHandler as ImageUploadHandler, AteImageUploadOptions as ImageUploadOptions, AteImageUploadResult as ImageUploadResult, AteResizeOptions as ResizeOptions, AteSlashCommandItem as SlashCommandItem, AteSlashCommandKey as SlashCommandKey, AteSlashCommandsConfig as SlashCommandsConfig, SupportedLocale, AteTableBubbleMenuConfig as TableBubbleMenuConfig, AteToolbarConfig as ToolbarConfig };
|