@flogeez/angular-tiptap-editor 2.3.0 → 3.0.0
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 -0
- package/README.md +135 -93
- package/fesm2022/flogeez-angular-tiptap-editor.mjs +992 -840
- package/fesm2022/flogeez-angular-tiptap-editor.mjs.map +1 -1
- package/index.d.ts +303 -263
- package/package.json +13 -21
package/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as _flogeez_angular_tiptap_editor from '@flogeez/angular-tiptap-editor';
|
|
2
|
-
import { Editor, Node as Node$1, Mark, Extension, EditorOptions, JSONContent, NodeConfig } from '@tiptap/core';
|
|
3
2
|
import * as _angular_core from '@angular/core';
|
|
4
|
-
import { AfterViewInit, OnDestroy, ElementRef,
|
|
3
|
+
import { Injector, Type, AfterViewInit, OnDestroy, ElementRef, EnvironmentProviders, InjectionToken, Signal } from '@angular/core';
|
|
4
|
+
import { Editor, NodeConfig, Extension, Node as Node$2, Mark, EditorOptions, JSONContent } from '@tiptap/core';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
6
|
+
import { Node as Node$1 } from '@tiptap/pm/model';
|
|
6
7
|
import { ControlValueAccessor } from '@angular/forms';
|
|
7
|
-
import { Node as Node$2 } from '@tiptap/pm/model';
|
|
8
8
|
import { Decoration, EditorView, NodeView } from '@tiptap/pm/view';
|
|
9
9
|
|
|
10
10
|
type SupportedLocale = "en" | "fr" | (string & {});
|
|
@@ -784,6 +784,147 @@ declare const ATE_CELL_BUBBLE_MENU_KEYS: readonly ["mergeCells", "splitCell"];
|
|
|
784
784
|
type AteCellBubbleMenuKey = (typeof ATE_CELL_BUBBLE_MENU_KEYS)[number];
|
|
785
785
|
type AteCellBubbleMenuConfig = Partial<Record<AteCellBubbleMenuKey, boolean>>;
|
|
786
786
|
|
|
787
|
+
/**
|
|
788
|
+
* Common options for rendering any Angular component as a TipTap NodeView
|
|
789
|
+
*/
|
|
790
|
+
interface AteComponentRenderOptions {
|
|
791
|
+
/**
|
|
792
|
+
* Angular injector to use for creating the component
|
|
793
|
+
*/
|
|
794
|
+
injector: Injector;
|
|
795
|
+
/**
|
|
796
|
+
* Additional inputs to pass to the component
|
|
797
|
+
*/
|
|
798
|
+
inputs?: Record<string, unknown>;
|
|
799
|
+
/**
|
|
800
|
+
* Custom wrapper element tag (default: 'div')
|
|
801
|
+
*/
|
|
802
|
+
wrapperTag?: string;
|
|
803
|
+
/**
|
|
804
|
+
* CSS classes to add to the wrapper element
|
|
805
|
+
*/
|
|
806
|
+
wrapperClass?: string;
|
|
807
|
+
/**
|
|
808
|
+
* Whether the node should be treated as an atom (not editable)
|
|
809
|
+
* Default: true
|
|
810
|
+
*/
|
|
811
|
+
atom?: boolean;
|
|
812
|
+
/**
|
|
813
|
+
* Enables editable content for <ng-content>.
|
|
814
|
+
* If true, TipTap will treat the component's content as editable.
|
|
815
|
+
* @default false
|
|
816
|
+
*/
|
|
817
|
+
editableContent?: boolean;
|
|
818
|
+
/**
|
|
819
|
+
* Optional CSS selector to target an internal element of the component as the editable area.
|
|
820
|
+
*/
|
|
821
|
+
contentSelector?: string;
|
|
822
|
+
/**
|
|
823
|
+
* Type of content allowed in the editable area.
|
|
824
|
+
*/
|
|
825
|
+
contentMode?: "block" | "inline";
|
|
826
|
+
/**
|
|
827
|
+
* Whether to ignore mutations in the component's DOM.
|
|
828
|
+
* If true, TipTap won't try to sync changes from the component's DOM back to the editor state.
|
|
829
|
+
* @default true
|
|
830
|
+
*/
|
|
831
|
+
ignoreMutation?: boolean | ((mutation: MutationRecord | {
|
|
832
|
+
type: "selection";
|
|
833
|
+
target: Node;
|
|
834
|
+
}) => boolean);
|
|
835
|
+
/**
|
|
836
|
+
* Callback called when an Output event is emitted by the component.
|
|
837
|
+
*/
|
|
838
|
+
onOutput?: (outputName: string, value: unknown) => void;
|
|
839
|
+
/**
|
|
840
|
+
* Callback called when the node is updated.
|
|
841
|
+
*/
|
|
842
|
+
onUpdate?: (node: Node$1) => void;
|
|
843
|
+
/**
|
|
844
|
+
* Callback called when the component is destroyed.
|
|
845
|
+
*/
|
|
846
|
+
onDestroy?: () => void;
|
|
847
|
+
}
|
|
848
|
+
/**
|
|
849
|
+
* Unified configuration for registering an Angular component as an interactive 'Angular Node'.
|
|
850
|
+
* This provides high-level options to map Angular component logic (inputs, outputs, lifestyle)
|
|
851
|
+
* directly to TipTap's document structure.
|
|
852
|
+
*/
|
|
853
|
+
interface RegisterAngularComponentOptions<T = unknown> {
|
|
854
|
+
/**
|
|
855
|
+
* The Angular component to register
|
|
856
|
+
*/
|
|
857
|
+
component: Type<T>;
|
|
858
|
+
/**
|
|
859
|
+
* Unique name for the TipTap node
|
|
860
|
+
*/
|
|
861
|
+
name?: string;
|
|
862
|
+
/**
|
|
863
|
+
* Default inputs (for standard components)
|
|
864
|
+
*/
|
|
865
|
+
defaultInputs?: Record<string, unknown>;
|
|
866
|
+
/**
|
|
867
|
+
* TipTap attributes (for TipTap-aware components)
|
|
868
|
+
*/
|
|
869
|
+
attributes?: Record<string, {
|
|
870
|
+
default?: unknown;
|
|
871
|
+
parseHTML?: (element: HTMLElement) => unknown;
|
|
872
|
+
renderHTML?: (attributes: Record<string, unknown>) => Record<string, unknown> | null;
|
|
873
|
+
}>;
|
|
874
|
+
/**
|
|
875
|
+
* CSS selector for the editable area inside the component
|
|
876
|
+
*/
|
|
877
|
+
contentSelector?: string;
|
|
878
|
+
/**
|
|
879
|
+
* Content mode for the editable area
|
|
880
|
+
*/
|
|
881
|
+
contentMode?: "block" | "inline";
|
|
882
|
+
/**
|
|
883
|
+
* Enable editable content via <ng-content> or contentSelector
|
|
884
|
+
* @default false
|
|
885
|
+
*/
|
|
886
|
+
editableContent?: boolean;
|
|
887
|
+
/**
|
|
888
|
+
* Node group (block or inline)
|
|
889
|
+
* @default 'block'
|
|
890
|
+
*/
|
|
891
|
+
group?: "block" | "inline";
|
|
892
|
+
/**
|
|
893
|
+
* Is the node draggable?
|
|
894
|
+
* @default true
|
|
895
|
+
*/
|
|
896
|
+
draggable?: boolean;
|
|
897
|
+
/**
|
|
898
|
+
* Whether to ignore mutations in the component's DOM.
|
|
899
|
+
* @default true
|
|
900
|
+
*/
|
|
901
|
+
ignoreMutation?: boolean | ((mutation: MutationRecord | {
|
|
902
|
+
type: "selection";
|
|
903
|
+
target: Node;
|
|
904
|
+
}) => boolean);
|
|
905
|
+
/**
|
|
906
|
+
* Custom HTML attributes for the wrapper
|
|
907
|
+
*/
|
|
908
|
+
HTMLAttributes?: Record<string, unknown>;
|
|
909
|
+
/**
|
|
910
|
+
* Custom parseHTML rules
|
|
911
|
+
*/
|
|
912
|
+
parseHTML?: NodeConfig["parseHTML"];
|
|
913
|
+
/**
|
|
914
|
+
* Custom renderHTML function
|
|
915
|
+
*/
|
|
916
|
+
renderHTML?: NodeConfig["renderHTML"];
|
|
917
|
+
/**
|
|
918
|
+
* Callback called when an Output event is emitted by the component.
|
|
919
|
+
*/
|
|
920
|
+
onOutput?: (outputName: string, value: unknown) => void;
|
|
921
|
+
}
|
|
922
|
+
|
|
923
|
+
/**
|
|
924
|
+
* Type representing an Angular component that can be registered as an editor node.
|
|
925
|
+
* Can be a direct Component class or a full registration options object.
|
|
926
|
+
*/
|
|
927
|
+
type AteAngularNode = Type<unknown> | RegisterAngularComponentOptions<unknown>;
|
|
787
928
|
/**
|
|
788
929
|
* Global configuration interface for Angular Tiptap Editor.
|
|
789
930
|
* Uses a flat structure for common settings and objects for complex configurations.
|
|
@@ -793,18 +934,18 @@ interface AteEditorConfig {
|
|
|
793
934
|
theme?: "light" | "dark" | "auto";
|
|
794
935
|
/** Display mode: classic or seamless (no borders/background) */
|
|
795
936
|
mode?: "classic" | "seamless";
|
|
796
|
-
/** Editor height (e.g., '300px', 'auto') */
|
|
797
|
-
height?: string;
|
|
937
|
+
/** Editor height (e.g., '300px', 300, 'auto') */
|
|
938
|
+
height?: string | number;
|
|
798
939
|
/** Focus position on initialization */
|
|
799
940
|
autofocus?: "start" | "end" | "all" | boolean | number;
|
|
800
941
|
/** Placeholder text displayed when the editor is empty */
|
|
801
942
|
placeholder?: string;
|
|
802
943
|
/** Initial editing state (if false, the editor is read-only) */
|
|
803
944
|
editable?: boolean;
|
|
804
|
-
/** Minimum editor height (e.g., '200px') */
|
|
805
|
-
minHeight?: string;
|
|
806
|
-
/** Maximum editor height (e.g., '500px') */
|
|
807
|
-
maxHeight?: string;
|
|
945
|
+
/** Minimum editor height (e.g., '200px', 200) */
|
|
946
|
+
minHeight?: string | number;
|
|
947
|
+
/** Maximum editor height (e.g., '500px', 500) */
|
|
948
|
+
maxHeight?: string | number;
|
|
808
949
|
/** If true, the editor takes 100% of the parent container's height */
|
|
809
950
|
fillContainer?: boolean;
|
|
810
951
|
/** Disabled state (often used with forms) */
|
|
@@ -853,6 +994,22 @@ interface AteEditorConfig {
|
|
|
853
994
|
floatingToolbar?: boolean;
|
|
854
995
|
/** Technical configuration for image uploads */
|
|
855
996
|
imageUpload?: AteImageUploadConfig;
|
|
997
|
+
/**
|
|
998
|
+
* List of Angular components to automatically register as interactive editor nodes.
|
|
999
|
+
* This is the preferred way to extend the editor with custom Angular logic.
|
|
1000
|
+
*/
|
|
1001
|
+
angularNodes?: AteAngularNode[];
|
|
1002
|
+
/** Standard TipTap extensions (Nodes, Marks, or Plugins) */
|
|
1003
|
+
tiptapExtensions?: (Extension | Node$2 | Mark)[];
|
|
1004
|
+
/** Raw TipTap editor options (e.g., enableInputRules, injectCSS, etc.) */
|
|
1005
|
+
tiptapOptions?: Partial<EditorOptions>;
|
|
1006
|
+
/** Reactive state calculators to extend the editor's live state */
|
|
1007
|
+
stateCalculators?: AteStateCalculator[];
|
|
1008
|
+
/**
|
|
1009
|
+
* Fully custom slash commands configuration.
|
|
1010
|
+
* When provided, it replaces the default groups based on toolbar toggles.
|
|
1011
|
+
*/
|
|
1012
|
+
customSlashCommands?: AteCustomSlashCommands;
|
|
856
1013
|
}
|
|
857
1014
|
|
|
858
1015
|
/**
|
|
@@ -867,48 +1024,56 @@ declare class AteNoopValueAccessorDirective implements ControlValueAccessor {
|
|
|
867
1024
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AteNoopValueAccessorDirective, never, never, {}, {}, never, never, true, never>;
|
|
868
1025
|
}
|
|
869
1026
|
|
|
1027
|
+
/**
|
|
1028
|
+
* The main rich-text editor component for Angular.
|
|
1029
|
+
*
|
|
1030
|
+
* Powered by Tiptap and built with a native Signal-based architecture, it provides
|
|
1031
|
+
* a seamless, high-performance editing experience. Supports automatic registration
|
|
1032
|
+
* of Angular components as interactive nodes ('Angular Nodes'), full Reactive Forms
|
|
1033
|
+
* integration, and extensive customization via the AteEditorConfig.
|
|
1034
|
+
*/
|
|
870
1035
|
declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
871
1036
|
/** Configuration globale de l'éditeur */
|
|
872
1037
|
config: _angular_core.InputSignal<AteEditorConfig>;
|
|
873
1038
|
content: _angular_core.InputSignal<string>;
|
|
874
|
-
placeholder: _angular_core.InputSignal<string>;
|
|
875
|
-
editable: _angular_core.InputSignal<boolean>;
|
|
876
|
-
disabled: _angular_core.InputSignal<boolean>;
|
|
877
|
-
minHeight: _angular_core.InputSignal<number>;
|
|
878
|
-
height: _angular_core.InputSignal<number | undefined>;
|
|
879
|
-
maxHeight: _angular_core.InputSignal<number | undefined>;
|
|
880
|
-
fillContainer: _angular_core.InputSignal<boolean>;
|
|
881
|
-
showToolbar: _angular_core.InputSignal<boolean>;
|
|
882
|
-
showFooter: _angular_core.InputSignal<boolean>;
|
|
883
|
-
showCharacterCount: _angular_core.InputSignal<boolean>;
|
|
884
|
-
showWordCount: _angular_core.InputSignal<boolean>;
|
|
1039
|
+
placeholder: _angular_core.InputSignal<string | undefined>;
|
|
1040
|
+
editable: _angular_core.InputSignal<boolean | undefined>;
|
|
1041
|
+
disabled: _angular_core.InputSignal<boolean | undefined>;
|
|
1042
|
+
minHeight: _angular_core.InputSignal<string | number | undefined>;
|
|
1043
|
+
height: _angular_core.InputSignal<string | number | undefined>;
|
|
1044
|
+
maxHeight: _angular_core.InputSignal<string | number | undefined>;
|
|
1045
|
+
fillContainer: _angular_core.InputSignal<boolean | undefined>;
|
|
1046
|
+
showToolbar: _angular_core.InputSignal<boolean | undefined>;
|
|
1047
|
+
showFooter: _angular_core.InputSignal<boolean | undefined>;
|
|
1048
|
+
showCharacterCount: _angular_core.InputSignal<boolean | undefined>;
|
|
1049
|
+
showWordCount: _angular_core.InputSignal<boolean | undefined>;
|
|
885
1050
|
maxCharacters: _angular_core.InputSignal<number | undefined>;
|
|
886
|
-
enableOfficePaste: _angular_core.InputSignal<boolean>;
|
|
887
|
-
enableSlashCommands: _angular_core.InputSignal<boolean>;
|
|
888
|
-
slashCommands: _angular_core.InputSignal<AteSlashCommandsConfig>;
|
|
1051
|
+
enableOfficePaste: _angular_core.InputSignal<boolean | undefined>;
|
|
1052
|
+
enableSlashCommands: _angular_core.InputSignal<boolean | undefined>;
|
|
1053
|
+
slashCommands: _angular_core.InputSignal<AteSlashCommandsConfig | undefined>;
|
|
889
1054
|
customSlashCommands: _angular_core.InputSignal<AteCustomSlashCommands | undefined>;
|
|
890
1055
|
locale: _angular_core.InputSignal<SupportedLocale | undefined>;
|
|
891
|
-
autofocus: _angular_core.InputSignal<number | boolean | "start" | "end" | "all">;
|
|
892
|
-
seamless: _angular_core.InputSignal<boolean>;
|
|
893
|
-
floatingToolbar: _angular_core.InputSignal<boolean>;
|
|
894
|
-
showEditToggle: _angular_core.InputSignal<boolean>;
|
|
895
|
-
spellcheck: _angular_core.InputSignal<boolean>;
|
|
896
|
-
tiptapExtensions: _angular_core.InputSignal<(
|
|
897
|
-
tiptapOptions: _angular_core.InputSignal<Partial<EditorOptions
|
|
898
|
-
showBubbleMenu: _angular_core.InputSignal<boolean>;
|
|
899
|
-
bubbleMenu: _angular_core.InputSignal<Partial<AteBubbleMenuConfig
|
|
900
|
-
showImageBubbleMenu: _angular_core.InputSignal<boolean>;
|
|
901
|
-
imageBubbleMenu: _angular_core.InputSignal<Partial<Partial<Record<"separator" | "changeImage" | "resizeSmall" | "resizeMedium" | "resizeLarge" | "resizeOriginal" | "deleteImage", boolean
|
|
902
|
-
toolbar: _angular_core.InputSignal<Partial<AteToolbarConfig
|
|
903
|
-
showTableBubbleMenu: _angular_core.InputSignal<boolean>;
|
|
904
|
-
tableBubbleMenu: _angular_core.InputSignal<Partial<Partial<Record<"addColumnBefore" | "addColumnAfter" | "deleteColumn" | "addRowBefore" | "addRowAfter" | "deleteRow" | "deleteTable" | "toggleHeaderColumn" | "toggleHeaderRow" | "separator", boolean
|
|
905
|
-
showCellBubbleMenu: _angular_core.InputSignal<boolean>;
|
|
906
|
-
cellBubbleMenu: _angular_core.InputSignal<Partial<Partial<Record<"mergeCells" | "splitCell", boolean
|
|
1056
|
+
autofocus: _angular_core.InputSignal<number | boolean | "start" | "end" | "all" | undefined>;
|
|
1057
|
+
seamless: _angular_core.InputSignal<boolean | undefined>;
|
|
1058
|
+
floatingToolbar: _angular_core.InputSignal<boolean | undefined>;
|
|
1059
|
+
showEditToggle: _angular_core.InputSignal<boolean | undefined>;
|
|
1060
|
+
spellcheck: _angular_core.InputSignal<boolean | undefined>;
|
|
1061
|
+
tiptapExtensions: _angular_core.InputSignal<(Mark<any, any> | Node$2<any, any> | Extension<any, any>)[] | undefined>;
|
|
1062
|
+
tiptapOptions: _angular_core.InputSignal<Partial<EditorOptions> | undefined>;
|
|
1063
|
+
showBubbleMenu: _angular_core.InputSignal<boolean | undefined>;
|
|
1064
|
+
bubbleMenu: _angular_core.InputSignal<Partial<AteBubbleMenuConfig> | undefined>;
|
|
1065
|
+
showImageBubbleMenu: _angular_core.InputSignal<boolean | undefined>;
|
|
1066
|
+
imageBubbleMenu: _angular_core.InputSignal<Partial<Partial<Record<"separator" | "changeImage" | "resizeSmall" | "resizeMedium" | "resizeLarge" | "resizeOriginal" | "deleteImage", boolean>>> | undefined>;
|
|
1067
|
+
toolbar: _angular_core.InputSignal<Partial<AteToolbarConfig> | undefined>;
|
|
1068
|
+
showTableBubbleMenu: _angular_core.InputSignal<boolean | undefined>;
|
|
1069
|
+
tableBubbleMenu: _angular_core.InputSignal<Partial<Partial<Record<"addColumnBefore" | "addColumnAfter" | "deleteColumn" | "addRowBefore" | "addRowAfter" | "deleteRow" | "deleteTable" | "toggleHeaderColumn" | "toggleHeaderRow" | "separator", boolean>>> | undefined>;
|
|
1070
|
+
showCellBubbleMenu: _angular_core.InputSignal<boolean | undefined>;
|
|
1071
|
+
cellBubbleMenu: _angular_core.InputSignal<Partial<Partial<Record<"mergeCells" | "splitCell", boolean>>> | undefined>;
|
|
907
1072
|
/**
|
|
908
1073
|
* Additionnal state calculators to extend the reactive editor state.
|
|
909
1074
|
*/
|
|
910
|
-
stateCalculators: _angular_core.InputSignal<AteStateCalculator[]>;
|
|
911
|
-
imageUpload: _angular_core.InputSignal<Partial<AteImageUploadOptions
|
|
1075
|
+
stateCalculators: _angular_core.InputSignal<AteStateCalculator[] | undefined>;
|
|
1076
|
+
imageUpload: _angular_core.InputSignal<Partial<AteImageUploadOptions> | undefined>;
|
|
912
1077
|
/**
|
|
913
1078
|
* Custom handler for image uploads.
|
|
914
1079
|
* When provided, images will be processed through this handler instead of being converted to base64.
|
|
@@ -960,56 +1125,56 @@ declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
|
960
1125
|
readonly editorFullyInitialized: _angular_core.Signal<boolean>;
|
|
961
1126
|
private _isFormControlDisabled;
|
|
962
1127
|
readonly isFormControlDisabled: _angular_core.Signal<boolean>;
|
|
963
|
-
readonly mergedDisabled: _angular_core.Signal<
|
|
1128
|
+
readonly mergedDisabled: _angular_core.Signal<any>;
|
|
964
1129
|
isEditorReady: _angular_core.Signal<boolean>;
|
|
965
1130
|
readonly finalSeamless: _angular_core.Signal<boolean>;
|
|
966
|
-
readonly finalEditable: _angular_core.Signal<
|
|
967
|
-
readonly finalPlaceholder: _angular_core.Signal<
|
|
968
|
-
readonly finalFillContainer: _angular_core.Signal<
|
|
969
|
-
readonly finalShowFooter: _angular_core.Signal<
|
|
970
|
-
readonly finalShowEditToggle: _angular_core.Signal<
|
|
971
|
-
readonly finalHeight: _angular_core.Signal<
|
|
972
|
-
readonly finalMinHeight: _angular_core.Signal<
|
|
973
|
-
readonly finalMaxHeight: _angular_core.Signal<
|
|
974
|
-
readonly finalSpellcheck: _angular_core.Signal<
|
|
975
|
-
readonly finalEnableOfficePaste: _angular_core.Signal<
|
|
976
|
-
readonly finalShowToolbar: _angular_core.Signal<
|
|
977
|
-
readonly finalToolbarConfig: _angular_core.Signal<
|
|
978
|
-
readonly finalFloatingToolbar: _angular_core.Signal<
|
|
979
|
-
readonly finalShowBubbleMenu: _angular_core.Signal<
|
|
980
|
-
readonly finalBubbleMenuConfig: _angular_core.Signal<
|
|
981
|
-
readonly finalShowImageBubbleMenu: _angular_core.Signal<
|
|
982
|
-
readonly finalImageBubbleMenuConfig: _angular_core.Signal<
|
|
983
|
-
readonly finalShowTableBubbleMenu: _angular_core.Signal<
|
|
984
|
-
readonly finalTableBubbleMenuConfig: _angular_core.Signal<
|
|
985
|
-
readonly finalShowCellBubbleMenu: _angular_core.Signal<
|
|
986
|
-
readonly finalCellBubbleMenuConfig: _angular_core.Signal<
|
|
987
|
-
readonly finalEnableSlashCommands: _angular_core.Signal<
|
|
988
|
-
readonly finalSlashCommandsConfig: _angular_core.Signal<
|
|
989
|
-
readonly finalAutofocus: _angular_core.Signal<
|
|
990
|
-
readonly finalMaxCharacters: _angular_core.Signal<
|
|
991
|
-
readonly finalShowCharacterCount: _angular_core.Signal<
|
|
992
|
-
readonly finalShowWordCount: _angular_core.Signal<
|
|
1131
|
+
readonly finalEditable: _angular_core.Signal<any>;
|
|
1132
|
+
readonly finalPlaceholder: _angular_core.Signal<any>;
|
|
1133
|
+
readonly finalFillContainer: _angular_core.Signal<any>;
|
|
1134
|
+
readonly finalShowFooter: _angular_core.Signal<any>;
|
|
1135
|
+
readonly finalShowEditToggle: _angular_core.Signal<any>;
|
|
1136
|
+
readonly finalHeight: _angular_core.Signal<any>;
|
|
1137
|
+
readonly finalMinHeight: _angular_core.Signal<any>;
|
|
1138
|
+
readonly finalMaxHeight: _angular_core.Signal<any>;
|
|
1139
|
+
readonly finalSpellcheck: _angular_core.Signal<any>;
|
|
1140
|
+
readonly finalEnableOfficePaste: _angular_core.Signal<any>;
|
|
1141
|
+
readonly finalShowToolbar: _angular_core.Signal<any>;
|
|
1142
|
+
readonly finalToolbarConfig: _angular_core.Signal<any>;
|
|
1143
|
+
readonly finalFloatingToolbar: _angular_core.Signal<any>;
|
|
1144
|
+
readonly finalShowBubbleMenu: _angular_core.Signal<any>;
|
|
1145
|
+
readonly finalBubbleMenuConfig: _angular_core.Signal<any>;
|
|
1146
|
+
readonly finalShowImageBubbleMenu: _angular_core.Signal<any>;
|
|
1147
|
+
readonly finalImageBubbleMenuConfig: _angular_core.Signal<any>;
|
|
1148
|
+
readonly finalShowTableBubbleMenu: _angular_core.Signal<any>;
|
|
1149
|
+
readonly finalTableBubbleMenuConfig: _angular_core.Signal<any>;
|
|
1150
|
+
readonly finalShowCellBubbleMenu: _angular_core.Signal<any>;
|
|
1151
|
+
readonly finalCellBubbleMenuConfig: _angular_core.Signal<any>;
|
|
1152
|
+
readonly finalEnableSlashCommands: _angular_core.Signal<any>;
|
|
1153
|
+
readonly finalSlashCommandsConfig: _angular_core.Signal<any>;
|
|
1154
|
+
readonly finalAutofocus: _angular_core.Signal<any>;
|
|
1155
|
+
readonly finalMaxCharacters: _angular_core.Signal<any>;
|
|
1156
|
+
readonly finalShowCharacterCount: _angular_core.Signal<any>;
|
|
1157
|
+
readonly finalShowWordCount: _angular_core.Signal<any>;
|
|
993
1158
|
readonly finalLocale: _angular_core.Signal<SupportedLocale>;
|
|
994
|
-
readonly
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
allowedTypes: string[];
|
|
1001
|
-
enableDragDrop: boolean;
|
|
1002
|
-
showPreview: boolean;
|
|
1003
|
-
multiple: boolean;
|
|
1004
|
-
compressImages: boolean;
|
|
1005
|
-
}>;
|
|
1006
|
-
readonly finalImageUploadHandler: _angular_core.Signal<AteImageUploadHandler | undefined>;
|
|
1159
|
+
readonly finalTiptapExtensions: _angular_core.Signal<any>;
|
|
1160
|
+
readonly finalTiptapOptions: _angular_core.Signal<any>;
|
|
1161
|
+
readonly finalStateCalculators: _angular_core.Signal<any>;
|
|
1162
|
+
readonly finalAngularNodesConfig: _angular_core.Signal<any>;
|
|
1163
|
+
readonly finalImageUploadConfig: _angular_core.Signal<any>;
|
|
1164
|
+
readonly finalImageUploadHandler: _angular_core.Signal<any>;
|
|
1007
1165
|
readonly currentTranslations: _angular_core.Signal<_flogeez_angular_tiptap_editor.AteTranslations>;
|
|
1008
1166
|
private _destroyRef;
|
|
1009
1167
|
private ngControl;
|
|
1010
1168
|
readonly i18nService: AteI18nService;
|
|
1011
1169
|
readonly editorCommandsService: AteEditorCommandsService;
|
|
1012
|
-
readonly editorState: _angular_core.Signal<_flogeez_angular_tiptap_editor.
|
|
1170
|
+
readonly editorState: _angular_core.Signal<_flogeez_angular_tiptap_editor.AteEditorStateSnapshot>;
|
|
1171
|
+
private injector;
|
|
1172
|
+
private globalConfig;
|
|
1173
|
+
/**
|
|
1174
|
+
* Final merged configuration.
|
|
1175
|
+
* Priority: Input [config] > Global config via provideAteEditor()
|
|
1176
|
+
*/
|
|
1177
|
+
readonly effectiveConfig: _angular_core.Signal<any>;
|
|
1013
1178
|
constructor();
|
|
1014
1179
|
ngAfterViewInit(): void;
|
|
1015
1180
|
ngOnDestroy(): void;
|
|
@@ -1033,6 +1198,26 @@ declare class AngularTiptapEditorComponent implements AfterViewInit, OnDestroy {
|
|
|
1033
1198
|
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: {}; }]>;
|
|
1034
1199
|
}
|
|
1035
1200
|
|
|
1201
|
+
/**
|
|
1202
|
+
* Provides the necessary configuration and initialization for the Angular TipTap Editor.
|
|
1203
|
+
* This should be called in your app.config.ts (for standalone) or main.ts.
|
|
1204
|
+
*
|
|
1205
|
+
* This provider is essential for 'Angular Nodes' to work correctly, as it captures the
|
|
1206
|
+
* root Injector required to instantiate custom Angular components within the editor.
|
|
1207
|
+
* @example
|
|
1208
|
+
* ```ts
|
|
1209
|
+
* bootstrapApplication(AppComponent, {
|
|
1210
|
+
* providers: [
|
|
1211
|
+
* provideAteEditor({
|
|
1212
|
+
* theme: 'dark',
|
|
1213
|
+
* mode: 'seamless'
|
|
1214
|
+
* })
|
|
1215
|
+
* ]
|
|
1216
|
+
* });
|
|
1217
|
+
* ```
|
|
1218
|
+
*/
|
|
1219
|
+
declare function provideAteEditor(config?: AteEditorConfig): EnvironmentProviders;
|
|
1220
|
+
|
|
1036
1221
|
declare class AteImageService {
|
|
1037
1222
|
/** Signals for image state */
|
|
1038
1223
|
selectedImage: _angular_core.WritableSignal<AteImageData | null>;
|
|
@@ -1229,13 +1414,27 @@ declare const ATE_DEFAULT_BUBBLE_MENU_CONFIG: AteBubbleMenuConfig;
|
|
|
1229
1414
|
declare const ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG: AteImageBubbleMenuConfig;
|
|
1230
1415
|
declare const ATE_DEFAULT_TABLE_MENU_CONFIG: AteTableBubbleMenuConfig;
|
|
1231
1416
|
declare const ATE_DEFAULT_CELL_MENU_CONFIG: AteCellBubbleMenuConfig;
|
|
1417
|
+
/**
|
|
1418
|
+
* Ultimate default configuration for the Angular Tiptap Editor.
|
|
1419
|
+
* This serves as the 'Level 4' fallback in the configuration hierarchy:
|
|
1420
|
+
* 1. Component Inputs (Le Roi)
|
|
1421
|
+
* 2. Component [config] (Le Prince)
|
|
1422
|
+
* 3. Global provideAteEditor() (Le Duc)
|
|
1423
|
+
* 4. ATE_DEFAULT_CONFIG (Le Peuple)
|
|
1424
|
+
*/
|
|
1425
|
+
declare const ATE_DEFAULT_CONFIG: any;
|
|
1426
|
+
|
|
1427
|
+
/**
|
|
1428
|
+
* Injection Token for global editor configuration.
|
|
1429
|
+
*/
|
|
1430
|
+
declare const ATE_GLOBAL_CONFIG: InjectionToken<AteEditorConfig>;
|
|
1232
1431
|
|
|
1233
1432
|
/**
|
|
1234
1433
|
* Props that are injected into Angular NodeView components
|
|
1235
1434
|
*/
|
|
1236
1435
|
interface AteAngularNodeViewProps {
|
|
1237
1436
|
editor: Editor;
|
|
1238
|
-
node: Node$
|
|
1437
|
+
node: Node$1;
|
|
1239
1438
|
decorations: readonly Decoration[];
|
|
1240
1439
|
selected: boolean;
|
|
1241
1440
|
extension: unknown;
|
|
@@ -1244,9 +1443,10 @@ interface AteAngularNodeViewProps {
|
|
|
1244
1443
|
deleteNode: () => void;
|
|
1245
1444
|
}
|
|
1246
1445
|
/**
|
|
1247
|
-
* Base abstract class for Angular
|
|
1446
|
+
* Base abstract class for custom 'Angular Nodes'.
|
|
1248
1447
|
*
|
|
1249
|
-
* Extend this class in your custom components to
|
|
1448
|
+
* Extend this class in your custom components to automatically receive TipTap editor
|
|
1449
|
+
* properties (node attributes, selection state, etc.) as reactive Signals.
|
|
1250
1450
|
*
|
|
1251
1451
|
* @example
|
|
1252
1452
|
* ```typescript
|
|
@@ -1274,7 +1474,7 @@ declare abstract class AteAngularNodeView {
|
|
|
1274
1474
|
/**
|
|
1275
1475
|
* The ProseMirror node
|
|
1276
1476
|
*/
|
|
1277
|
-
node: Signal<Node$
|
|
1477
|
+
node: Signal<Node$1>;
|
|
1278
1478
|
/**
|
|
1279
1479
|
* Decorations applied to this node
|
|
1280
1480
|
*/
|
|
@@ -1321,7 +1521,7 @@ declare abstract class AteAngularNodeView {
|
|
|
1321
1521
|
*
|
|
1322
1522
|
* @internal
|
|
1323
1523
|
*/
|
|
1324
|
-
_updateNodeView(node: Node$
|
|
1524
|
+
_updateNodeView(node: Node$1, decorations: readonly Decoration[]): void;
|
|
1325
1525
|
/**
|
|
1326
1526
|
* Internal method to update the selection state.
|
|
1327
1527
|
* This is called by the AngularNodeViewRenderer.
|
|
@@ -1340,140 +1540,6 @@ declare abstract class AteAngularNodeView {
|
|
|
1340
1540
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AteAngularNodeView, never, never, {}, {}, never, never, true, never>;
|
|
1341
1541
|
}
|
|
1342
1542
|
|
|
1343
|
-
/**
|
|
1344
|
-
* Common options for rendering any Angular component as a TipTap NodeView
|
|
1345
|
-
*/
|
|
1346
|
-
interface AteComponentRenderOptions {
|
|
1347
|
-
/**
|
|
1348
|
-
* Angular injector to use for creating the component
|
|
1349
|
-
*/
|
|
1350
|
-
injector: Injector;
|
|
1351
|
-
/**
|
|
1352
|
-
* Additional inputs to pass to the component
|
|
1353
|
-
*/
|
|
1354
|
-
inputs?: Record<string, unknown>;
|
|
1355
|
-
/**
|
|
1356
|
-
* Custom wrapper element tag (default: 'div')
|
|
1357
|
-
*/
|
|
1358
|
-
wrapperTag?: string;
|
|
1359
|
-
/**
|
|
1360
|
-
* CSS classes to add to the wrapper element
|
|
1361
|
-
*/
|
|
1362
|
-
wrapperClass?: string;
|
|
1363
|
-
/**
|
|
1364
|
-
* Whether the node should be treated as an atom (not editable)
|
|
1365
|
-
* Default: true
|
|
1366
|
-
*/
|
|
1367
|
-
atom?: boolean;
|
|
1368
|
-
/**
|
|
1369
|
-
* Enables editable content for <ng-content>.
|
|
1370
|
-
* If true, TipTap will treat the component's content as editable.
|
|
1371
|
-
* @default false
|
|
1372
|
-
*/
|
|
1373
|
-
editableContent?: boolean;
|
|
1374
|
-
/**
|
|
1375
|
-
* Optional CSS selector to target an internal element of the component as the editable area.
|
|
1376
|
-
*/
|
|
1377
|
-
contentSelector?: string;
|
|
1378
|
-
/**
|
|
1379
|
-
* Type of content allowed in the editable area.
|
|
1380
|
-
*/
|
|
1381
|
-
contentMode?: "block" | "inline";
|
|
1382
|
-
/**
|
|
1383
|
-
* Whether to ignore mutations in the component's DOM.
|
|
1384
|
-
* If true, TipTap won't try to sync changes from the component's DOM back to the editor state.
|
|
1385
|
-
* @default true
|
|
1386
|
-
*/
|
|
1387
|
-
ignoreMutation?: boolean | ((mutation: MutationRecord | {
|
|
1388
|
-
type: "selection";
|
|
1389
|
-
target: Node;
|
|
1390
|
-
}) => boolean);
|
|
1391
|
-
/**
|
|
1392
|
-
* Callback called when an Output event is emitted by the component.
|
|
1393
|
-
*/
|
|
1394
|
-
onOutput?: (outputName: string, value: unknown) => void;
|
|
1395
|
-
/**
|
|
1396
|
-
* Callback called when the node is updated.
|
|
1397
|
-
*/
|
|
1398
|
-
onUpdate?: (node: Node$2) => void;
|
|
1399
|
-
/**
|
|
1400
|
-
* Callback called when the component is destroyed.
|
|
1401
|
-
*/
|
|
1402
|
-
onDestroy?: () => void;
|
|
1403
|
-
}
|
|
1404
|
-
/**
|
|
1405
|
-
* Unified configuration for registering ANY Angular component.
|
|
1406
|
-
*/
|
|
1407
|
-
interface RegisterAngularComponentOptions<T = unknown> {
|
|
1408
|
-
/**
|
|
1409
|
-
* The Angular component to register
|
|
1410
|
-
*/
|
|
1411
|
-
component: Type<T>;
|
|
1412
|
-
/**
|
|
1413
|
-
* Unique name for the TipTap node
|
|
1414
|
-
*/
|
|
1415
|
-
name?: string;
|
|
1416
|
-
/**
|
|
1417
|
-
* Default inputs (for standard components)
|
|
1418
|
-
*/
|
|
1419
|
-
defaultInputs?: Record<string, unknown>;
|
|
1420
|
-
/**
|
|
1421
|
-
* TipTap attributes (for TipTap-aware components)
|
|
1422
|
-
*/
|
|
1423
|
-
attributes?: Record<string, {
|
|
1424
|
-
default?: unknown;
|
|
1425
|
-
parseHTML?: (element: HTMLElement) => unknown;
|
|
1426
|
-
renderHTML?: (attributes: Record<string, unknown>) => Record<string, unknown> | null;
|
|
1427
|
-
}>;
|
|
1428
|
-
/**
|
|
1429
|
-
* CSS selector for the editable area inside the component
|
|
1430
|
-
*/
|
|
1431
|
-
contentSelector?: string;
|
|
1432
|
-
/**
|
|
1433
|
-
* Content mode for the editable area
|
|
1434
|
-
*/
|
|
1435
|
-
contentMode?: "block" | "inline";
|
|
1436
|
-
/**
|
|
1437
|
-
* Enable editable content via <ng-content> or contentSelector
|
|
1438
|
-
* @default false
|
|
1439
|
-
*/
|
|
1440
|
-
editableContent?: boolean;
|
|
1441
|
-
/**
|
|
1442
|
-
* Node group (block or inline)
|
|
1443
|
-
* @default 'block'
|
|
1444
|
-
*/
|
|
1445
|
-
group?: "block" | "inline";
|
|
1446
|
-
/**
|
|
1447
|
-
* Is the node draggable?
|
|
1448
|
-
* @default true
|
|
1449
|
-
*/
|
|
1450
|
-
draggable?: boolean;
|
|
1451
|
-
/**
|
|
1452
|
-
* Whether to ignore mutations in the component's DOM.
|
|
1453
|
-
* @default true
|
|
1454
|
-
*/
|
|
1455
|
-
ignoreMutation?: boolean | ((mutation: MutationRecord | {
|
|
1456
|
-
type: "selection";
|
|
1457
|
-
target: Node;
|
|
1458
|
-
}) => boolean);
|
|
1459
|
-
/**
|
|
1460
|
-
* Custom HTML attributes for the wrapper
|
|
1461
|
-
*/
|
|
1462
|
-
HTMLAttributes?: Record<string, unknown>;
|
|
1463
|
-
/**
|
|
1464
|
-
* Custom parseHTML rules
|
|
1465
|
-
*/
|
|
1466
|
-
parseHTML?: NodeConfig["parseHTML"];
|
|
1467
|
-
/**
|
|
1468
|
-
* Custom renderHTML function
|
|
1469
|
-
*/
|
|
1470
|
-
renderHTML?: NodeConfig["renderHTML"];
|
|
1471
|
-
/**
|
|
1472
|
-
* Callback called when an Output event is emitted by the component.
|
|
1473
|
-
*/
|
|
1474
|
-
onOutput?: (outputName: string, value: unknown) => void;
|
|
1475
|
-
}
|
|
1476
|
-
|
|
1477
1543
|
/**
|
|
1478
1544
|
* Universal Renderer for Angular Components as TipTap NodeViews.
|
|
1479
1545
|
*
|
|
@@ -1485,7 +1551,7 @@ interface RegisterAngularComponentOptions<T = unknown> {
|
|
|
1485
1551
|
* - Unified lifecycle and event management
|
|
1486
1552
|
*/
|
|
1487
1553
|
declare function AteNodeViewRenderer<T>(component: Type<T>, options: AteComponentRenderOptions): (props: {
|
|
1488
|
-
node: Node$
|
|
1554
|
+
node: Node$1;
|
|
1489
1555
|
view: EditorView;
|
|
1490
1556
|
getPos: () => number | undefined;
|
|
1491
1557
|
decorations: readonly Decoration[];
|
|
@@ -1499,7 +1565,7 @@ declare function AteNodeViewRenderer<T>(component: Type<T>, options: AteComponen
|
|
|
1499
1565
|
*
|
|
1500
1566
|
* @internal
|
|
1501
1567
|
*/
|
|
1502
|
-
declare function createAngularComponentExtension<T = unknown>(injector: Injector, options: RegisterAngularComponentOptions<T>): Node$
|
|
1568
|
+
declare function createAngularComponentExtension<T = unknown>(injector: Injector, options: RegisterAngularComponentOptions<T>): Node$2;
|
|
1503
1569
|
|
|
1504
1570
|
/**
|
|
1505
1571
|
* Registers ANY Angular component as a TipTap node extension.
|
|
@@ -1514,51 +1580,25 @@ declare function createAngularComponentExtension<T = unknown>(injector: Injector
|
|
|
1514
1580
|
* Allows using any existing Angular component. Its `@Input()` properties are automatically
|
|
1515
1581
|
* synchronized with TipTap node attributes.
|
|
1516
1582
|
*
|
|
1517
|
-
* @param
|
|
1518
|
-
* @param
|
|
1583
|
+
* @param injectorOrOptions - The Angular Injector OR the configuration options
|
|
1584
|
+
* @param maybeOptions - Configuration options (if the first param was an injector)
|
|
1519
1585
|
* @returns A TipTap Node extension ready to be used
|
|
1520
1586
|
*
|
|
1521
1587
|
* @example
|
|
1522
1588
|
* ```typescript
|
|
1523
|
-
*
|
|
1589
|
+
* // Modern way (requires provideAteEditor())
|
|
1590
|
+
* registerAngularComponent({
|
|
1524
1591
|
* component: MyComponent,
|
|
1525
|
-
* name: 'myComponent'
|
|
1526
|
-
*
|
|
1592
|
+
* name: 'myComponent'
|
|
1593
|
+
* });
|
|
1594
|
+
*
|
|
1595
|
+
* // Classic way
|
|
1596
|
+
* registerAngularComponent(injector, {
|
|
1597
|
+
* component: MyComponent
|
|
1527
1598
|
* });
|
|
1528
1599
|
* ```
|
|
1529
1600
|
*/
|
|
1530
|
-
declare function registerAngularComponent<T = unknown>(
|
|
1531
|
-
|
|
1532
|
-
/** @deprecated Renamed to `ATE_INITIAL_EDITOR_STATE`. This alias will be removed in v3.0.0. */
|
|
1533
|
-
declare const INITIAL_EDITOR_STATE: AteEditorStateSnapshot;
|
|
1534
|
-
|
|
1535
|
-
/** @deprecated Renamed to `ATE_SLASH_COMMAND_KEYS`. This alias will be removed in v3.0.0. */
|
|
1536
|
-
declare const SLASH_COMMAND_KEYS: readonly ["heading1", "heading2", "heading3", "bulletList", "orderedList", "blockquote", "code", "image", "horizontalRule", "table"];
|
|
1537
|
-
/** @deprecated Renamed to `ATE_DEFAULT_SLASH_COMMANDS_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1538
|
-
declare const DEFAULT_SLASH_COMMANDS_CONFIG: AteSlashCommandsConfig;
|
|
1539
|
-
|
|
1540
|
-
/** @deprecated Renamed to `AteDiscoveryCalculator`. This alias will be removed in v3.0.0. */
|
|
1541
|
-
declare const DiscoveryCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1542
|
-
/** @deprecated Renamed to `AteImageCalculator`. This alias will be removed in v3.0.0. */
|
|
1543
|
-
declare const ImageCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1544
|
-
/** @deprecated Renamed to `AteMarksCalculator`. This alias will be removed in v3.0.0. */
|
|
1545
|
-
declare const MarksCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1546
|
-
/** @deprecated Renamed to `AteSelectionCalculator`. This alias will be removed in v3.0.0. */
|
|
1547
|
-
declare const SelectionCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1548
|
-
/** @deprecated Renamed to `AteStructureCalculator`. This alias will be removed in v3.0.0. */
|
|
1549
|
-
declare const StructureCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1550
|
-
/** @deprecated Renamed to `AteTableCalculator`. This alias will be removed in v3.0.0. */
|
|
1551
|
-
declare const TableCalculator: _flogeez_angular_tiptap_editor.AteStateCalculator;
|
|
1552
|
-
/** @deprecated Renamed to `ATE_DEFAULT_TOOLBAR_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1553
|
-
declare const DEFAULT_TOOLBAR_CONFIG: AteToolbarConfig;
|
|
1554
|
-
/** @deprecated Renamed to `ATE_DEFAULT_BUBBLE_MENU_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1555
|
-
declare const DEFAULT_BUBBLE_MENU_CONFIG: AteBubbleMenuConfig;
|
|
1556
|
-
/** @deprecated Renamed to `ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1557
|
-
declare const DEFAULT_IMAGE_BUBBLE_MENU_CONFIG: Partial<Record<"separator" | "changeImage" | "resizeSmall" | "resizeMedium" | "resizeLarge" | "resizeOriginal" | "deleteImage", boolean>>;
|
|
1558
|
-
/** @deprecated Renamed to `ATE_DEFAULT_TABLE_MENU_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1559
|
-
declare const DEFAULT_TABLE_MENU_CONFIG: Partial<Record<"addColumnBefore" | "addColumnAfter" | "deleteColumn" | "addRowBefore" | "addRowAfter" | "deleteRow" | "deleteTable" | "toggleHeaderColumn" | "toggleHeaderRow" | "separator", boolean>>;
|
|
1560
|
-
/** @deprecated Renamed to `ATE_DEFAULT_CELL_MENU_CONFIG`. This alias will be removed in v3.0.0. */
|
|
1561
|
-
declare const DEFAULT_CELL_MENU_CONFIG: Partial<Record<"mergeCells" | "splitCell", boolean>>;
|
|
1601
|
+
declare function registerAngularComponent<T = unknown>(injectorOrOptions: Injector | RegisterAngularComponentOptions<T>, maybeOptions?: RegisterAngularComponentOptions<T>): Node$2;
|
|
1562
1602
|
|
|
1563
|
-
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, AteAngularNodeView, AteColorPickerService, AteDiscoveryCalculator, AteEditorCommandsService, AteI18nService, AteImageCalculator, AteImageService, AteLinkService, AteMarksCalculator, AteNodeViewRenderer, AteNoopValueAccessorDirective, AteSelectionCalculator, AteStructureCalculator, AteTableCalculator,
|
|
1564
|
-
export type {
|
|
1603
|
+
export { ATE_BUBBLE_MENU_KEYS, ATE_CELL_BUBBLE_MENU_KEYS, ATE_DEFAULT_BUBBLE_MENU_CONFIG, ATE_DEFAULT_CELL_MENU_CONFIG, ATE_DEFAULT_CONFIG, ATE_DEFAULT_IMAGE_BUBBLE_MENU_CONFIG, ATE_DEFAULT_SLASH_COMMANDS_CONFIG, ATE_DEFAULT_TABLE_MENU_CONFIG, ATE_DEFAULT_TOOLBAR_CONFIG, ATE_GLOBAL_CONFIG, ATE_IMAGE_BUBBLE_MENU_KEYS, ATE_INITIAL_EDITOR_STATE, ATE_SLASH_COMMAND_KEYS, ATE_TABLE_BUBBLE_MENU_KEYS, ATE_TOOLBAR_KEYS, AngularTiptapEditorComponent, AteAngularNodeView, AteColorPickerService, AteDiscoveryCalculator, AteEditorCommandsService, AteI18nService, AteImageCalculator, AteImageService, AteLinkService, AteMarksCalculator, AteNodeViewRenderer, AteNoopValueAccessorDirective, AteSelectionCalculator, AteStructureCalculator, AteTableCalculator, createAngularComponentExtension, createDefaultSlashCommands, filterSlashCommands, provideAteEditor, registerAngularComponent };
|
|
1604
|
+
export type { AteAngularNode, AteBubbleMenuConfig, AteBubbleMenuKey, AteCellBubbleMenuConfig, AteCellBubbleMenuKey, AteColorEditMode, AteColorPickerSelection, AteComponentRenderOptions, AteCustomBubbleMenuItem, AteCustomSlashCommands, AteCustomToolbarItem, AteEditorConfig, AteEditorStateSnapshot, AteImageBubbleMenuConfig, AteImageBubbleMenuKey, AteImageData, AteImageUploadConfig, AteImageUploadContext, AteImageUploadHandler, AteImageUploadHandlerResult, AteImageUploadOptions, AteImageUploadResult, AteResizeOptions, AteSlashCommandItem, AteSlashCommandKey, AteSlashCommandsConfig, AteStateCalculator, AteTableBubbleMenuConfig, AteTableBubbleMenuKey, AteToolbarConfig, AteToolbarKey, AteTranslations, RegisterAngularComponentOptions, SupportedLocale };
|