slate-angular 19.4.0-next.1 → 20.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.
Files changed (54) hide show
  1. package/fesm2022/slate-angular.mjs +32 -34
  2. package/fesm2022/slate-angular.mjs.map +1 -1
  3. package/index.d.ts +767 -3
  4. package/package.json +1 -1
  5. package/components/block-card/block-card.component.d.ts +0 -15
  6. package/components/children/children-outlet.component.d.ts +0 -9
  7. package/components/editable/editable.component.d.ts +0 -104
  8. package/components/element.flavour.d.ts +0 -7
  9. package/components/leaf/leaf.flavour.d.ts +0 -8
  10. package/components/string/string-render.d.ts +0 -39
  11. package/components/string/string.component.d.ts +0 -9
  12. package/components/text/default-text.flavour.d.ts +0 -12
  13. package/custom-event/BeforeInputEventPlugin.d.ts +0 -38
  14. package/custom-event/DOMTopLevelEventTypes.d.ts +0 -12
  15. package/custom-event/FallbackCompositionState.d.ts +0 -10
  16. package/custom-event/before-input-polyfill.d.ts +0 -5
  17. package/module.d.ts +0 -11
  18. package/plugins/angular-editor.d.ts +0 -103
  19. package/plugins/with-angular.d.ts +0 -3
  20. package/plugins/with-dom.d.ts +0 -68
  21. package/public-api.d.ts +0 -14
  22. package/types/clipboard.d.ts +0 -8
  23. package/types/error.d.ts +0 -17
  24. package/types/feature.d.ts +0 -4
  25. package/types/index.d.ts +0 -5
  26. package/types/view.d.ts +0 -6
  27. package/utils/block-card.d.ts +0 -10
  28. package/utils/clipboard/clipboard.d.ts +0 -13
  29. package/utils/clipboard/common.d.ts +0 -8
  30. package/utils/clipboard/data-transfer.d.ts +0 -5
  31. package/utils/clipboard/index.d.ts +0 -4
  32. package/utils/clipboard/navigator-clipboard.d.ts +0 -4
  33. package/utils/dom.d.ts +0 -19
  34. package/utils/environment.d.ts +0 -13
  35. package/utils/global-normalize.d.ts +0 -5
  36. package/utils/hotkeys.d.ts +0 -32
  37. package/utils/index.d.ts +0 -10
  38. package/utils/range-list.d.ts +0 -10
  39. package/utils/restore-dom.d.ts +0 -2
  40. package/utils/throttle.d.ts +0 -2
  41. package/utils/view.d.ts +0 -5
  42. package/utils/weak-maps.d.ts +0 -12
  43. package/view/base.d.ts +0 -95
  44. package/view/context-change.d.ts +0 -8
  45. package/view/context.d.ts +0 -53
  46. package/view/flavour/base.d.ts +0 -19
  47. package/view/flavour/element.d.ts +0 -27
  48. package/view/flavour/index.d.ts +0 -5
  49. package/view/flavour/leaf.d.ts +0 -17
  50. package/view/flavour/ref.d.ts +0 -5
  51. package/view/flavour/text.d.ts +0 -16
  52. package/view/render/leaves-render.d.ts +0 -21
  53. package/view/render/list-render.d.ts +0 -38
  54. package/view/render/utils.d.ts +0 -11
package/index.d.ts CHANGED
@@ -1,5 +1,769 @@
1
+ import * as slate_dom from 'slate-dom';
2
+ import { DOMEditor, DOMNode, DOMElement, DOMPoint, DOMRange, DOMStaticRange, DOMSelection, DOMText } from 'slate-dom';
3
+ import * as slate from 'slate';
4
+ import { Descendant, Range as Range$1, Node, Editor, NodeEntry, Point, Element as Element$1, Path, Text, LeafPosition, Ancestor, BaseRange } from 'slate';
5
+ import * as i0 from '@angular/core';
6
+ import { Injector, ViewContainerRef, TemplateRef, OnInit, ElementRef, OnChanges, OnDestroy, AfterViewChecked, DoCheck, Renderer2, ChangeDetectorRef, NgZone, SimpleChanges } from '@angular/core';
7
+ import * as i1 from '@angular/common';
8
+
9
+ declare enum SlateErrorCode {
10
+ ToNativeSelectionError = 2100,
11
+ ToSlateSelectionError = 2101,
12
+ OnDOMBeforeInputError = 2102,
13
+ OnSyntheticBeforeInputError = 2103,
14
+ OnDOMKeydownError = 2104,
15
+ GetStartPointError = 2105,
16
+ NotFoundPreviousRootNodeError = 3100,
17
+ InvalidValueError = 4100
18
+ }
19
+ interface SlateError {
20
+ code?: SlateErrorCode | number;
21
+ name?: string;
22
+ nativeError?: Error;
23
+ data?: Descendant[];
24
+ }
25
+
26
+ interface CustomDOMEditor extends DOMEditor {
27
+ hasEditableTarget: (editor: CustomDOMEditor, target: EventTarget | null) => target is DOMNode;
28
+ hasRange: (editor: CustomDOMEditor, range: Range$1) => boolean;
29
+ hasSelectableTarget: (editor: CustomDOMEditor, target: EventTarget | null) => boolean;
30
+ hasTarget: (editor: CustomDOMEditor, target: EventTarget | null) => target is DOMNode;
31
+ insertData: (data: DataTransfer) => void;
32
+ insertFragmentData: (data: DataTransfer) => boolean;
33
+ insertTextData: (data: DataTransfer) => boolean;
34
+ isTargetInsideNonReadonlyVoid: (editor: CustomDOMEditor, target: EventTarget | null) => boolean;
35
+ setFragmentData: (data: DataTransfer, originEvent?: 'drag' | 'copy' | 'cut') => void;
36
+ }
37
+ declare const CustomDOMEditor: {
38
+ isNodeInEditor(editor: CustomDOMEditor, node: Node): boolean;
39
+ isLeafInEditor(editor: CustomDOMEditor, leafNode: DOMElement): boolean;
40
+ /**
41
+ * Check if the editor is hanging right.
42
+ */
43
+ isBlockHangingRight(editor: Editor): boolean;
44
+ isBlockCardLeftCursor(editor: Editor): boolean;
45
+ isBlockCardRightCursor(editor: Editor): boolean;
46
+ getCardCursorNode(editor: AngularEditor, blockCardNode: Node, options: {
47
+ direction: "left" | "right" | "center";
48
+ }): ChildNode;
49
+ toSlateCardEntry(editor: AngularEditor, node: DOMNode): NodeEntry;
50
+ androidPendingDiffs: (editor: Editor) => slate_dom.TextDiff[] | undefined;
51
+ androidScheduleFlush: (editor: Editor) => void;
52
+ blur: (editor: DOMEditor) => void;
53
+ deselect: (editor: DOMEditor) => void;
54
+ findDocumentOrShadowRoot: (editor: DOMEditor) => Document | ShadowRoot;
55
+ findEventRange: (editor: DOMEditor, event: any) => Range$1;
56
+ findKey: (editor: DOMEditor, node: Node) => slate_dom.Key;
57
+ findPath: (editor: DOMEditor, node: Node) => slate.Path;
58
+ focus: (editor: DOMEditor, options?: {
59
+ retries: number;
60
+ }) => void;
61
+ getWindow: (editor: DOMEditor) => Window;
62
+ hasDOMNode: (editor: DOMEditor, target: DOMNode, options?: {
63
+ editable?: boolean;
64
+ }) => boolean;
65
+ hasEditableTarget: (editor: DOMEditor, target: EventTarget | null) => target is DOMNode;
66
+ hasRange: (editor: DOMEditor, range: Range$1) => boolean;
67
+ hasSelectableTarget: (editor: DOMEditor, target: EventTarget | null) => boolean;
68
+ hasTarget: (editor: DOMEditor, target: EventTarget | null) => target is DOMNode;
69
+ insertData: (editor: DOMEditor, data: DataTransfer) => void;
70
+ insertFragmentData: (editor: DOMEditor, data: DataTransfer) => boolean;
71
+ insertTextData: (editor: DOMEditor, data: DataTransfer) => boolean;
72
+ isComposing: (editor: DOMEditor) => boolean;
73
+ isFocused: (editor: DOMEditor) => boolean;
74
+ isReadOnly: (editor: DOMEditor) => boolean;
75
+ isTargetInsideNonReadonlyVoid: (editor: DOMEditor, target: EventTarget | null) => boolean;
76
+ setFragmentData: (editor: DOMEditor, data: DataTransfer, originEvent?: "drag" | "copy" | "cut") => void;
77
+ toDOMNode: (editor: DOMEditor, node: Node) => HTMLElement;
78
+ toDOMPoint: (editor: DOMEditor, point: Point) => DOMPoint;
79
+ toDOMRange: (editor: DOMEditor, range: Range$1) => DOMRange;
80
+ toSlateNode: (editor: DOMEditor, domNode: DOMNode) => Node;
81
+ toSlatePoint: <T extends boolean>(editor: DOMEditor, domPoint: DOMPoint, options: {
82
+ exactMatch: boolean;
83
+ suppressThrow: T;
84
+ searchDirection?: "forward" | "backward";
85
+ }) => T extends true ? Point | null : Point;
86
+ toSlateRange: <T extends boolean>(editor: DOMEditor, domRange: DOMRange | DOMStaticRange | DOMSelection, options: {
87
+ exactMatch: boolean;
88
+ suppressThrow: T;
89
+ }) => T extends true ? Range$1 | null : Range$1;
90
+ };
91
+
92
+ interface ClipboardData {
93
+ files?: File[];
94
+ elements?: Element$1[];
95
+ text?: string;
96
+ html?: string;
97
+ }
98
+ type OriginEvent = 'drag' | 'copy' | 'cut';
99
+
1
100
  /**
2
- * Generated bundle index. Do not edit.
101
+ * An Angular and DOM-specific version of the `Editor` interface.
3
102
  */
4
- /// <amd-module name="slate-angular" />
5
- export * from './public-api';
103
+ interface AngularEditor extends CustomDOMEditor {
104
+ deleteCutData: () => void;
105
+ onKeydown: (event: KeyboardEvent) => void;
106
+ onClick: (event: MouseEvent) => void;
107
+ injector: Injector;
108
+ isBlockCard: (node: Node) => boolean;
109
+ isExpanded: (node: Element$1) => boolean;
110
+ onError: (errorData: SlateError) => void;
111
+ customInsertFragmentData: (data: DataTransfer, clipboardData: ClipboardData | null) => Promise<boolean>;
112
+ customInsertTextData: (data: DataTransfer) => Promise<boolean>;
113
+ }
114
+ declare const AngularEditor: {
115
+ /**
116
+ * handle editor error.
117
+ */
118
+ onError(errorData: SlateError): void;
119
+ /**
120
+ * onKeydown hook.
121
+ */
122
+ onKeydown(editor: AngularEditor, data: KeyboardEvent): void;
123
+ /**
124
+ * onClick hook.
125
+ */
126
+ onClick(editor: AngularEditor, data: MouseEvent): void;
127
+ deleteCutData(editor: AngularEditor): void;
128
+ isLeafBlock(editor: AngularEditor, node: Node): boolean;
129
+ /**
130
+ * move native selection to card-left or card-right
131
+ * @param editor
132
+ * @param blockCardNode
133
+ * @param options
134
+ */
135
+ moveBlockCard(editor: AngularEditor, blockCardNode: Node, options: {
136
+ direction: "left" | "right";
137
+ }): void;
138
+ /**
139
+ * move slate selection to card-left or card-right
140
+ * @param editor
141
+ * @param path
142
+ * @param options
143
+ */
144
+ moveBlockCardCursor(editor: AngularEditor, path: Path, options: {
145
+ direction: "left" | "right";
146
+ }): void;
147
+ focus: (editor: any, options?: {
148
+ retries: number;
149
+ }) => void;
150
+ isNodeInEditor(editor: CustomDOMEditor, node: Node): boolean;
151
+ isLeafInEditor(editor: CustomDOMEditor, leafNode: globalThis.Element): boolean;
152
+ isBlockHangingRight(editor: Editor): boolean;
153
+ isBlockCardLeftCursor(editor: Editor): boolean;
154
+ isBlockCardRightCursor(editor: Editor): boolean;
155
+ getCardCursorNode(editor: AngularEditor, blockCardNode: Node, options: {
156
+ direction: "left" | "right" | "center";
157
+ }): ChildNode;
158
+ toSlateCardEntry(editor: AngularEditor, node: globalThis.Node): slate.NodeEntry;
159
+ androidPendingDiffs: (editor: Editor) => slate_dom.TextDiff[] | undefined;
160
+ androidScheduleFlush: (editor: Editor) => void;
161
+ blur: (editor: DOMEditor) => void;
162
+ deselect: (editor: DOMEditor) => void;
163
+ findDocumentOrShadowRoot: (editor: DOMEditor) => Document | ShadowRoot;
164
+ findEventRange: (editor: DOMEditor, event: any) => slate.Range;
165
+ findKey: (editor: DOMEditor, node: Node) => slate_dom.Key;
166
+ findPath: (editor: DOMEditor, node: Node) => Path;
167
+ getWindow: (editor: DOMEditor) => Window;
168
+ hasDOMNode: (editor: DOMEditor, target: globalThis.Node, options?: {
169
+ editable?: boolean;
170
+ }) => boolean;
171
+ hasEditableTarget: (editor: DOMEditor, target: EventTarget | null) => target is globalThis.Node;
172
+ hasRange: (editor: DOMEditor, range: slate.Range) => boolean;
173
+ hasSelectableTarget: (editor: DOMEditor, target: EventTarget | null) => boolean;
174
+ hasTarget: (editor: DOMEditor, target: EventTarget | null) => target is globalThis.Node;
175
+ insertData: (editor: DOMEditor, data: DataTransfer) => void;
176
+ insertFragmentData: (editor: DOMEditor, data: DataTransfer) => boolean;
177
+ insertTextData: (editor: DOMEditor, data: DataTransfer) => boolean;
178
+ isComposing: (editor: DOMEditor) => boolean;
179
+ isFocused: (editor: DOMEditor) => boolean;
180
+ isReadOnly: (editor: DOMEditor) => boolean;
181
+ isTargetInsideNonReadonlyVoid: (editor: DOMEditor, target: EventTarget | null) => boolean;
182
+ setFragmentData: (editor: DOMEditor, data: DataTransfer, originEvent?: "drag" | "copy" | "cut") => void;
183
+ toDOMNode: (editor: DOMEditor, node: Node) => HTMLElement;
184
+ toDOMPoint: (editor: DOMEditor, point: slate.Point) => slate_dom.DOMPoint;
185
+ toDOMRange: (editor: DOMEditor, range: slate.Range) => Range;
186
+ toSlateNode: (editor: DOMEditor, domNode: globalThis.Node) => Node;
187
+ toSlatePoint: <T extends boolean>(editor: DOMEditor, domPoint: slate_dom.DOMPoint, options: {
188
+ exactMatch: boolean;
189
+ suppressThrow: T;
190
+ searchDirection?: "forward" | "backward";
191
+ }) => T extends true ? slate.Point | null : slate.Point;
192
+ toSlateRange: <T extends boolean>(editor: DOMEditor, domRange: Range | StaticRange | Selection, options: {
193
+ exactMatch: boolean;
194
+ suppressThrow: T;
195
+ }) => T extends true ? slate.Range | null : slate.Range;
196
+ };
197
+
198
+ declare const withAngular: <T extends Editor>(editor: T, clipboardFormatKey?: string) => T & AngularEditor;
199
+
200
+ declare abstract class BaseFlavour<T = SlateTextContext | SlateLeafContext | SlateElementContext, K extends AngularEditor = AngularEditor> {
201
+ static isFlavour: boolean;
202
+ initialized: boolean;
203
+ protected _context: T;
204
+ viewContainerRef: ViewContainerRef;
205
+ set context(value: T);
206
+ get context(): T;
207
+ viewContext: SlateViewContext<K>;
208
+ get editor(): K;
209
+ nativeElement: HTMLElement;
210
+ abstract onContextChange(): any;
211
+ abstract onInit(): any;
212
+ abstract onDestroy(): any;
213
+ abstract render(): any;
214
+ abstract rerender(): any;
215
+ }
216
+
217
+ interface ComponentType<T> {
218
+ new (...args: any[]): T;
219
+ }
220
+ type ViewType = TemplateRef<any> | ComponentType<any> | BaseFlavour;
221
+
222
+ interface SlateViewContext<T extends AngularEditor = AngularEditor> {
223
+ editor: T;
224
+ trackBy: (element: Element$1) => any;
225
+ renderElement?: (element: Element$1) => ViewType;
226
+ renderLeaf?: (text: Text) => ViewType;
227
+ renderText?: (text: Text) => ViewType;
228
+ isStrictDecorate: boolean;
229
+ }
230
+ interface SlateChildrenContext {
231
+ parent: Ancestor;
232
+ selection: Range$1;
233
+ decorations: Range$1[];
234
+ decorate: (entry: NodeEntry) => Range$1[];
235
+ readonly: boolean;
236
+ }
237
+ interface SlateElementContext<T extends Element$1 = Element$1> {
238
+ element: T;
239
+ selection: Range$1 | null;
240
+ decorations: Range$1[];
241
+ attributes: SlateElementAttributes;
242
+ contentEditable?: boolean;
243
+ decorate: (entry: NodeEntry) => Range$1[];
244
+ readonly: boolean;
245
+ }
246
+ interface SlateTextContext<T extends Text = Text> {
247
+ text: T;
248
+ decorations: Range$1[];
249
+ isLast: boolean;
250
+ parent: Element$1;
251
+ }
252
+ interface SlateLeafContext {
253
+ leaf: Text;
254
+ leafPosition?: LeafPosition;
255
+ text: Text;
256
+ parent: Element$1;
257
+ isLast: boolean;
258
+ index: number;
259
+ }
260
+ interface SlateElementAttributes {
261
+ 'data-slate-node': 'element';
262
+ 'data-slate-void'?: boolean;
263
+ 'data-slate-inline'?: boolean;
264
+ 'data-slate-key'?: string;
265
+ dir?: 'rtl';
266
+ }
267
+ interface SlateStringContext {
268
+ text: string;
269
+ elementStringLength: number;
270
+ type: 'string' | 'lineBreakEmptyString';
271
+ }
272
+
273
+ interface SlatePlaceholder extends BaseRange {
274
+ placeholder: string;
275
+ }
276
+
277
+ declare class SlateBlockCard implements OnInit {
278
+ private elementRef;
279
+ centerContainer: ElementRef;
280
+ centerRootNodes: HTMLElement[];
281
+ get nativeElement(): any;
282
+ get centerContainerElement(): HTMLElement;
283
+ constructor(elementRef: ElementRef);
284
+ ngOnInit(): void;
285
+ append(): void;
286
+ initializeCenter(rootNodes: HTMLElement[]): void;
287
+ static ɵfac: i0.ɵɵFactoryDeclaration<SlateBlockCard, never>;
288
+ static ɵcmp: i0.ɵɵComponentDeclaration<SlateBlockCard, "slate-block-card, [slateBlockCard]", never, {}, {}, never, never, true, never>;
289
+ }
290
+
291
+ declare class FlavourRef {
292
+ instance: BaseFlavour;
293
+ destroy(): void;
294
+ }
295
+
296
+ declare class ListRender {
297
+ private viewContext;
298
+ private viewContainerRef;
299
+ private getOutletParent;
300
+ private getOutletElement;
301
+ private children;
302
+ private views;
303
+ private blockCards;
304
+ private contexts;
305
+ private viewTypes;
306
+ private differ;
307
+ initialized: boolean;
308
+ constructor(viewContext: SlateViewContext, viewContainerRef: ViewContainerRef, getOutletParent: () => HTMLElement, getOutletElement: () => HTMLElement | null);
309
+ initialize(children: Descendant[], parent: Ancestor, childrenContext: SlateChildrenContext): void;
310
+ update(children: Descendant[], parent: Ancestor, childrenContext: SlateChildrenContext): void;
311
+ destroy(): void;
312
+ }
313
+
314
+ declare class SlateEditable implements OnInit, OnChanges, OnDestroy, AfterViewChecked, DoCheck {
315
+ elementRef: ElementRef;
316
+ renderer2: Renderer2;
317
+ cdr: ChangeDetectorRef;
318
+ private ngZone;
319
+ private injector;
320
+ viewContext: SlateViewContext;
321
+ context: SlateChildrenContext;
322
+ private destroy$;
323
+ isComposing: boolean;
324
+ isDraggingInternally: boolean;
325
+ isUpdatingSelection: boolean;
326
+ latestElement: DOMElement | null;
327
+ protected manualListeners: (() => void)[];
328
+ private initialized;
329
+ private onTouchedCallback;
330
+ private onChangeCallback;
331
+ editor: AngularEditor;
332
+ renderElement: (element: Element$1) => ViewType | null;
333
+ renderLeaf: (text: Text) => ViewType | null;
334
+ renderText: (text: Text) => ViewType | null;
335
+ decorate: (entry: NodeEntry) => Range$1[];
336
+ placeholderDecorate: (editor: Editor) => SlatePlaceholder[];
337
+ scrollSelectionIntoView: (editor: AngularEditor, domRange: DOMRange) => void;
338
+ isStrictDecorate: boolean;
339
+ trackBy: (node: Element$1) => any;
340
+ readonly: boolean;
341
+ placeholder: string;
342
+ beforeInput: (event: Event) => void;
343
+ blur: (event: Event) => void;
344
+ click: (event: MouseEvent) => void;
345
+ compositionEnd: (event: CompositionEvent) => void;
346
+ compositionUpdate: (event: CompositionEvent) => void;
347
+ compositionStart: (event: CompositionEvent) => void;
348
+ copy: (event: ClipboardEvent) => void;
349
+ cut: (event: ClipboardEvent) => void;
350
+ dragOver: (event: DragEvent) => void;
351
+ dragStart: (event: DragEvent) => void;
352
+ dragEnd: (event: DragEvent) => void;
353
+ drop: (event: DragEvent) => void;
354
+ focus: (event: Event) => void;
355
+ keydown: (event: KeyboardEvent) => void;
356
+ paste: (event: ClipboardEvent) => void;
357
+ spellCheck: boolean;
358
+ autoCorrect: boolean;
359
+ autoCapitalize: boolean;
360
+ dataSlateEditor: boolean;
361
+ dataSlateNode: string;
362
+ dataGramm: boolean;
363
+ get hasBeforeInputSupport(): boolean;
364
+ viewContainerRef: ViewContainerRef;
365
+ getOutletParent: () => any;
366
+ listRender: ListRender;
367
+ constructor(elementRef: ElementRef, renderer2: Renderer2, cdr: ChangeDetectorRef, ngZone: NgZone, injector: Injector);
368
+ ngOnInit(): void;
369
+ ngOnChanges(simpleChanges: SimpleChanges): void;
370
+ registerOnChange(fn: any): void;
371
+ registerOnTouched(fn: any): void;
372
+ writeValue(value: Element$1[]): void;
373
+ initialize(): void;
374
+ toNativeSelection(): void;
375
+ onChange(): void;
376
+ ngAfterViewChecked(): void;
377
+ ngDoCheck(): void;
378
+ forceRender(): void;
379
+ render(): void;
380
+ updateContext(): boolean;
381
+ initializeContext(): void;
382
+ initializeViewContext(): void;
383
+ composePlaceholderDecorate(editor: Editor): SlatePlaceholder[];
384
+ generateDecorations(): slate.BaseRange[];
385
+ private addEventListener;
386
+ private toSlateSelection;
387
+ private onDOMBeforeInput;
388
+ private onDOMBlur;
389
+ private onDOMClick;
390
+ private onDOMCompositionStart;
391
+ private onDOMCompositionUpdate;
392
+ private onDOMCompositionEnd;
393
+ private onDOMCopy;
394
+ private onDOMCut;
395
+ private onDOMDragOver;
396
+ private onDOMDragStart;
397
+ private onDOMDrop;
398
+ private onDOMDragEnd;
399
+ private onDOMFocus;
400
+ private onDOMKeydown;
401
+ private onDOMPaste;
402
+ private onFallbackBeforeInput;
403
+ private isDOMEventHandled;
404
+ ngOnDestroy(): void;
405
+ static ɵfac: i0.ɵɵFactoryDeclaration<SlateEditable, never>;
406
+ static ɵcmp: i0.ɵɵComponentDeclaration<SlateEditable, "slate-editable", never, { "editor": { "alias": "editor"; "required": false; }; "renderElement": { "alias": "renderElement"; "required": false; }; "renderLeaf": { "alias": "renderLeaf"; "required": false; }; "renderText": { "alias": "renderText"; "required": false; }; "decorate": { "alias": "decorate"; "required": false; }; "placeholderDecorate": { "alias": "placeholderDecorate"; "required": false; }; "scrollSelectionIntoView": { "alias": "scrollSelectionIntoView"; "required": false; }; "isStrictDecorate": { "alias": "isStrictDecorate"; "required": false; }; "trackBy": { "alias": "trackBy"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "beforeInput": { "alias": "beforeInput"; "required": false; }; "blur": { "alias": "blur"; "required": false; }; "click": { "alias": "click"; "required": false; }; "compositionEnd": { "alias": "compositionEnd"; "required": false; }; "compositionUpdate": { "alias": "compositionUpdate"; "required": false; }; "compositionStart": { "alias": "compositionStart"; "required": false; }; "copy": { "alias": "copy"; "required": false; }; "cut": { "alias": "cut"; "required": false; }; "dragOver": { "alias": "dragOver"; "required": false; }; "dragStart": { "alias": "dragStart"; "required": false; }; "dragEnd": { "alias": "dragEnd"; "required": false; }; "drop": { "alias": "drop"; "required": false; }; "focus": { "alias": "focus"; "required": false; }; "keydown": { "alias": "keydown"; "required": false; }; "paste": { "alias": "paste"; "required": false; }; "spellCheck": { "alias": "spellCheck"; "required": false; }; "autoCorrect": { "alias": "autoCorrect"; "required": false; }; "autoCapitalize": { "alias": "autoCapitalize"; "required": false; }; }, {}, never, never, true, never>;
407
+ }
408
+ declare const defaultScrollSelectionIntoView: (editor: AngularEditor, domRange: DOMRange) => void;
409
+
410
+ declare class SlateChildrenOutlet {
411
+ private elementRef;
412
+ constructor(elementRef: ElementRef<HTMLElement>);
413
+ getNativeElement(): HTMLElement;
414
+ static ɵfac: i0.ɵɵFactoryDeclaration<SlateChildrenOutlet, never>;
415
+ static ɵcmp: i0.ɵɵComponentDeclaration<SlateChildrenOutlet, "slate-children-outlet", never, {}, {}, never, never, true, never>;
416
+ }
417
+
418
+ declare class LeavesRender {
419
+ private viewContext;
420
+ private viewContainerRef;
421
+ private getOutletParent;
422
+ private getOutletElement;
423
+ private decoratedLeaves;
424
+ private views;
425
+ private contexts;
426
+ private viewTypes;
427
+ private differ;
428
+ constructor(viewContext: SlateViewContext, viewContainerRef: ViewContainerRef, getOutletParent: () => HTMLElement, getOutletElement: () => HTMLElement);
429
+ initialize(context: SlateTextContext): void;
430
+ update(context: SlateTextContext): void;
431
+ private getLeaves;
432
+ }
433
+
434
+ declare abstract class BaseTextFlavour<T extends Text = Text> extends BaseFlavour<SlateTextContext<T>> {
435
+ get text(): T;
436
+ leavesRender: LeavesRender;
437
+ getOutletParent: () => HTMLElement;
438
+ getOutletElement: () => HTMLElement | null;
439
+ onInit(): void;
440
+ updateWeakMap(): void;
441
+ onDestroy(): void;
442
+ onContextChange(): void;
443
+ abstract render(): any;
444
+ abstract rerender(): any;
445
+ }
446
+
447
+ declare class DefaultTextFlavour extends BaseTextFlavour {
448
+ render(): void;
449
+ rerender(): void;
450
+ }
451
+ declare class VoidTextFlavour extends BaseTextFlavour {
452
+ render(): void;
453
+ rerender(): void;
454
+ }
455
+ declare const createText: (text: string) => {
456
+ nativeElement: HTMLSpanElement;
457
+ };
458
+
459
+ declare class SlateString {
460
+ context: SlateLeafContext;
461
+ viewContext: SlateViewContext;
462
+ ngOnInit(): void;
463
+ static ɵfac: i0.ɵɵFactoryDeclaration<SlateString, never>;
464
+ static ɵcmp: i0.ɵɵComponentDeclaration<SlateString, "span[slateString]", never, { "context": { "alias": "context"; "required": false; }; "viewContext": { "alias": "viewContext"; "required": false; }; }, {}, never, never, true, never>;
465
+ }
466
+
467
+ declare class SlateModule {
468
+ static ɵfac: i0.ɵɵFactoryDeclaration<SlateModule, never>;
469
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SlateModule, never, [typeof i1.CommonModule, typeof SlateEditable, typeof SlateBlockCard, typeof SlateChildrenOutlet, typeof SlateString], [typeof SlateEditable, typeof SlateChildrenOutlet, typeof SlateString]>;
470
+ static ɵinj: i0.ɵɵInjectorDeclaration<SlateModule>;
471
+ }
472
+
473
+ declare enum StringType {
474
+ 'normalString' = "normalString",
475
+ 'lineBreakEmptyString' = "lineBreakEmptyString",
476
+ 'normalEmptyText' = "normalEmptyText",
477
+ 'compatibleString' = "compatibleString",
478
+ 'voidString' = "voidString"
479
+ }
480
+ declare class SlateStringRender {
481
+ context: SlateLeafContext;
482
+ viewContext: SlateViewContext;
483
+ nativeElement: HTMLElement;
484
+ constructor(context: SlateLeafContext, viewContext: SlateViewContext);
485
+ type: StringType;
486
+ isEmptyText(): boolean;
487
+ isCompatibleString(): boolean;
488
+ isVoid(): boolean;
489
+ get leaf(): Text;
490
+ isLineBreakEmptyString(): boolean;
491
+ createStringNode(type: StringType): HTMLElement;
492
+ render(): HTMLElement;
493
+ getType(): StringType;
494
+ update(context: SlateLeafContext, viewContext: SlateViewContext): void;
495
+ getElementStringLength(): number;
496
+ }
497
+
498
+ /**
499
+ * base class for template
500
+ */
501
+ interface BaseEmbeddedView<T, K extends AngularEditor = AngularEditor> {
502
+ context: T;
503
+ viewContext: SlateViewContext<K>;
504
+ }
505
+ /**
506
+ * base class for custom element component or text component
507
+ */
508
+ declare abstract class BaseComponent<T = SlateTextContext | SlateLeafContext | SlateElementContext, K extends AngularEditor = AngularEditor> {
509
+ initialized: boolean;
510
+ protected _context: T;
511
+ set context(value: T);
512
+ get context(): T;
513
+ viewContext: SlateViewContext<K>;
514
+ get editor(): K;
515
+ get nativeElement(): HTMLElement;
516
+ elementRef: ElementRef<any>;
517
+ cdr: ChangeDetectorRef;
518
+ abstract onContextChange(): any;
519
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseComponent<any, any>, never>;
520
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseComponent<any, any>, never, never, { "context": { "alias": "context"; "required": false; }; "viewContext": { "alias": "viewContext"; "required": false; }; }, {}, never, never, true, never>;
521
+ }
522
+ /**
523
+ * base class for custom element component
524
+ */
525
+ declare class BaseElementComponent<T extends Element$1 = Element$1, K extends AngularEditor = AngularEditor> extends BaseComponent<SlateElementContext<T>, K> implements OnInit, OnDestroy {
526
+ viewContainerRef: ViewContainerRef;
527
+ childrenContext: SlateChildrenContext;
528
+ childrenOutletInstance?: SlateChildrenOutlet;
529
+ get element(): T;
530
+ get selection(): Range$1;
531
+ get decorations(): Range$1[];
532
+ get children(): Descendant[];
533
+ get isCollapsed(): boolean;
534
+ get isCollapsedAndNonReadonly(): boolean;
535
+ get readonly(): boolean;
536
+ getOutletParent: () => any;
537
+ getOutletElement: () => HTMLElement;
538
+ listRender: ListRender;
539
+ ngOnInit(): void;
540
+ afterViewInit(): void;
541
+ updateWeakMap(): void;
542
+ ngOnDestroy(): void;
543
+ onContextChange(): void;
544
+ updateChildrenView(): void;
545
+ getChildrenContext(): SlateChildrenContext;
546
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseElementComponent<any, any>, never>;
547
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseElementComponent<any, any>, never, never, {}, {}, never, never, true, never>;
548
+ }
549
+ /**
550
+ * base class for custom text component
551
+ */
552
+ declare class BaseTextComponent<T extends Text = Text> extends BaseComponent<SlateTextContext<T>> implements OnInit, OnDestroy {
553
+ viewContainerRef: ViewContainerRef;
554
+ get text(): T;
555
+ leavesRender: LeavesRender;
556
+ childrenOutletInstance?: SlateChildrenOutlet;
557
+ getOutletParent: () => any;
558
+ getOutletElement: () => HTMLElement;
559
+ ngOnInit(): void;
560
+ updateWeakMap(): void;
561
+ ngOnDestroy(): void;
562
+ onContextChange(): void;
563
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseTextComponent<any>, never>;
564
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseTextComponent<any>, never, never, {}, {}, never, never, true, never>;
565
+ }
566
+ /**
567
+ * base class for custom leaf component
568
+ */
569
+ declare class BaseLeafComponent extends BaseComponent<SlateLeafContext> implements OnInit {
570
+ placeholderElement: HTMLSpanElement;
571
+ stringRender: SlateStringRender | null;
572
+ isSlateLeaf: boolean;
573
+ get text(): Text;
574
+ get leaf(): Text;
575
+ ngOnInit(): void;
576
+ onContextChange(): void;
577
+ renderPlaceholder(): void;
578
+ createPlaceholder(): void;
579
+ updatePlaceholder(): void;
580
+ destroyPlaceholder(): void;
581
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseLeafComponent, never>;
582
+ static ɵdir: i0.ɵɵDirectiveDeclaration<BaseLeafComponent, never, never, {}, {}, never, never, true, never>;
583
+ }
584
+
585
+ declare abstract class BaseElementFlavour<T extends Element$1 = Element$1, K extends AngularEditor = AngularEditor> extends BaseFlavour<SlateElementContext<T>, K> {
586
+ childrenContext: SlateChildrenContext;
587
+ get element(): T;
588
+ get selection(): Range$1;
589
+ get decorations(): Range$1[];
590
+ get children(): Descendant[];
591
+ get isCollapsed(): boolean;
592
+ get isCollapsedAndNonReadonly(): boolean;
593
+ get readonly(): boolean;
594
+ getOutletParent: () => HTMLElement;
595
+ getOutletElement: () => HTMLElement | null;
596
+ listRender: ListRender;
597
+ onInit(): void;
598
+ afterViewInit(): void;
599
+ updateWeakMap(): void;
600
+ onDestroy(): void;
601
+ onContextChange(): void;
602
+ updateChildrenView(): void;
603
+ getChildrenContext(): SlateChildrenContext;
604
+ abstract render(): void;
605
+ abstract rerender(): void;
606
+ }
607
+
608
+ declare abstract class BaseLeafFlavour extends BaseFlavour<SlateLeafContext> {
609
+ placeholderElement: HTMLSpanElement;
610
+ get text(): Text;
611
+ get leaf(): Text;
612
+ onInit(): void;
613
+ onContextChange(): void;
614
+ renderPlaceholder(): void;
615
+ createPlaceholder(): void;
616
+ updatePlaceholder(): void;
617
+ destroyPlaceholder(): void;
618
+ onDestroy(): void;
619
+ abstract render(): any;
620
+ abstract rerender(): any;
621
+ }
622
+
623
+ interface BeforeContextChange<T> {
624
+ beforeContextChange: (value: T) => void;
625
+ }
626
+ interface AfterContextChange {
627
+ afterContextChange: () => void;
628
+ }
629
+ declare function hasBeforeContextChange<T>(value: any): value is BeforeContextChange<T>;
630
+ declare function hasAfterContextChange<T>(value: any): value is AfterContextChange;
631
+
632
+ /**
633
+ * Symbols.
634
+ */
635
+ declare const PLACEHOLDER_SYMBOL: string;
636
+ /**
637
+ * Weak map for associating the html element with the component.
638
+ */
639
+ declare const ELEMENT_TO_COMPONENT: WeakMap<Node, BaseElementComponent | BaseFlavour>;
640
+ declare const EDITOR_TO_AFTER_VIEW_INIT_QUEUE: WeakMap<Editor, (() => void)[]>;
641
+
642
+ /**
643
+ * Hotkeys.
644
+ */
645
+ declare const hotkeys: {
646
+ isBold: (event: KeyboardEvent) => boolean;
647
+ isCompose: (event: KeyboardEvent) => boolean;
648
+ isMoveBackward: (event: KeyboardEvent) => boolean;
649
+ isMoveForward: (event: KeyboardEvent) => boolean;
650
+ isMoveUp: (event: KeyboardEvent) => boolean;
651
+ isMoveDown: (event: KeyboardEvent) => boolean;
652
+ isDeleteBackward: (event: KeyboardEvent) => boolean;
653
+ isDeleteForward: (event: KeyboardEvent) => boolean;
654
+ isDeleteLineBackward: (event: KeyboardEvent) => boolean;
655
+ isDeleteLineForward: (event: KeyboardEvent) => boolean;
656
+ isDeleteWordBackward: (event: KeyboardEvent) => boolean;
657
+ isDeleteWordForward: (event: KeyboardEvent) => boolean;
658
+ isExtendBackward: (event: KeyboardEvent) => boolean;
659
+ isExtendForward: (event: KeyboardEvent) => boolean;
660
+ isExtendLineBackward: (event: KeyboardEvent) => boolean;
661
+ isExtendLineForward: (event: KeyboardEvent) => boolean;
662
+ isItalic: (event: KeyboardEvent) => boolean;
663
+ isMoveLineBackward: (event: KeyboardEvent) => boolean;
664
+ isMoveLineForward: (event: KeyboardEvent) => boolean;
665
+ isMoveWordBackward: (event: KeyboardEvent) => boolean;
666
+ isMoveWordForward: (event: KeyboardEvent) => boolean;
667
+ isRedo: (event: KeyboardEvent) => boolean;
668
+ isSplitBlock: (event: KeyboardEvent) => boolean;
669
+ isTransposeCharacter: (event: KeyboardEvent) => boolean;
670
+ isUndo: (event: KeyboardEvent) => boolean;
671
+ };
672
+
673
+ declare function isTemplateRef<C>(value: ViewType): value is TemplateRef<C>;
674
+ declare function isComponentType<T>(value: ViewType): value is ComponentType<T>;
675
+ declare function isFlavourType<T>(value: ViewType): value is ComponentType<T>;
676
+
677
+ declare const IS_IOS: boolean;
678
+ declare const IS_APPLE: boolean;
679
+ declare const IS_ANDROID: boolean;
680
+ declare const IS_FIREFOX: boolean;
681
+ declare const IS_SAFARI: boolean;
682
+ declare const IS_EDGE_LEGACY: boolean;
683
+ declare const IS_CHROME: boolean;
684
+ declare const IS_CHROME_LEGACY: boolean;
685
+ declare const IS_FIREFOX_LEGACY: boolean;
686
+ declare const IS_QQBROWSER: boolean;
687
+ declare const IS_UC_MOBILE: boolean;
688
+ declare const IS_WECHATBROWSER: boolean;
689
+ declare const HAS_BEFORE_INPUT_SUPPORT: boolean;
690
+
691
+ declare const shallowCompare: (obj1: {}, obj2: {}) => boolean;
692
+ /**
693
+ * Check if a list of decorator ranges are equal to another.
694
+ *
695
+ * PERF: this requires the two lists to also have the ranges inside them in the
696
+ * same order, but this is an okay constraint for us since decorations are
697
+ * kept in order, and the odd case where they aren't is okay to re-render for.
698
+ */
699
+ declare const isDecoratorRangeListEqual: (list: Range$1[], another: Range$1[]) => boolean;
700
+
701
+ declare const FAKE_LEFT_BLOCK_CARD_OFFSET = -1;
702
+ declare const FAKE_RIGHT_BLOCK_CARD_OFFSET = -2;
703
+ declare function hasBlockCardWithNode(node: DOMNode): boolean;
704
+ declare function hasBlockCard(selection: DOMSelection): boolean;
705
+ declare function getCardTargetAttribute(node: DOMNode): any;
706
+ declare function isCardLeft(node: DOMNode): boolean;
707
+ declare function isCardLeftByTargetAttr(targetAttr: any): boolean;
708
+ declare function isCardRightByTargetAttr(targetAttr: any): boolean;
709
+ declare function isCardCenterByTargetAttr(targetAttr: any): boolean;
710
+
711
+ declare const isValid: (value: Descendant) => any;
712
+ declare const check: (document: Element$1[]) => boolean;
713
+ declare function normalize(document: Element$1[]): slate.BaseElement[];
714
+
715
+ declare const createThrottleRAF: () => (fn: () => void) => void;
716
+ type ThrottleRAF = (fn: () => void) => void;
717
+
718
+ declare const buildHTMLText: (wrapper: HTMLElement, attach: HTMLElement, data: Element$1[]) => string;
719
+ declare const getClipboardFromHTMLText: (html: string) => ClipboardData;
720
+ declare const createClipboardData: (html: string, elements: Element$1[], text: string, files: File[]) => ClipboardData;
721
+ declare const getClipboardData: (dataTransfer?: DataTransfer) => Promise<ClipboardData>;
722
+ /**
723
+ * @param wrapper get wrapper.innerHTML string which will be written in clipboard
724
+ * @param attach attach must be child element of wrapper which will be attached json data
725
+ * @returns void
726
+ */
727
+ declare const setClipboardData: (clipboardData: ClipboardData, wrapper: HTMLElement, attach: HTMLElement, dataTransfer?: Pick<DataTransfer, "getData" | "setData">) => Promise<void>;
728
+ declare const fallbackCopyText: (text: string) => Promise<void>;
729
+
730
+ declare const setDataTransferClipboard: (dataTransfer: Pick<DataTransfer, "getData" | "setData"> | null, htmlText: string) => void;
731
+ declare const setDataTransferClipboardText: (data: Pick<DataTransfer, "getData" | "setData"> | null, text: string) => void;
732
+ declare const getDataTransferClipboard: (data: Pick<DataTransfer, "getData" | "setData"> | null) => ClipboardData;
733
+ declare const getDataTransferClipboardText: (data: Pick<DataTransfer, "getData" | "setData"> | null) => ClipboardData;
734
+
735
+ declare const setNavigatorClipboard: (htmlText: string, data: Element$1[], text?: string) => Promise<void>;
736
+ declare const getNavigatorClipboard: () => Promise<ClipboardData>;
737
+
738
+ declare const isClipboardReadSupported: () => boolean;
739
+ declare const isClipboardWriteSupported: () => boolean;
740
+ declare const isClipboardWriteTextSupported: () => boolean;
741
+ declare const isClipboardFile: (item: ClipboardItem) => string;
742
+ declare const isInvalidTable: (nodes?: Element[]) => boolean;
743
+ declare const stripHtml: (html: string) => string;
744
+ declare const blobAsString: (blob: Blob) => Promise<string>;
745
+ declare const completeTable: (fragment: DocumentFragment) => DocumentFragment;
746
+
747
+ declare const SlateFragmentAttributeKey = "data-slate-angular-fragment";
748
+ declare const getSlateFragmentAttribute: (htmlData: string) => string | void;
749
+ /**
750
+ * Check if a DOM node is an element node.
751
+ */
752
+ declare const isDOMText: (value: any) => value is DOMText;
753
+ /**
754
+ * Get a plaintext representation of the content of a node, accounting for block
755
+ * elements which get a newline appended.
756
+ *
757
+ * The domNode must be attached to the DOM.
758
+ */
759
+ declare const getPlainText: (domNode: DOMNode) => string;
760
+ /**
761
+ * Get the dom selection from Shadow Root if possible, otherwise from the document
762
+ */
763
+ declare const getSelection: (root: Document | ShadowRoot) => Selection | null;
764
+ declare const getContentHeight: (element: Element) => number;
765
+
766
+ type SafeAny = any;
767
+
768
+ export { AngularEditor, BaseComponent, BaseElementComponent, BaseElementFlavour, BaseFlavour, BaseLeafComponent, BaseLeafFlavour, BaseTextComponent, BaseTextFlavour, DefaultTextFlavour, EDITOR_TO_AFTER_VIEW_INIT_QUEUE, ELEMENT_TO_COMPONENT, FAKE_LEFT_BLOCK_CARD_OFFSET, FAKE_RIGHT_BLOCK_CARD_OFFSET, FlavourRef, HAS_BEFORE_INPUT_SUPPORT, IS_ANDROID, IS_APPLE, IS_CHROME, IS_CHROME_LEGACY, IS_EDGE_LEGACY, IS_FIREFOX, IS_FIREFOX_LEGACY, IS_IOS, IS_QQBROWSER, IS_SAFARI, IS_UC_MOBILE, IS_WECHATBROWSER, PLACEHOLDER_SYMBOL, SlateChildrenOutlet, SlateEditable, SlateErrorCode, SlateFragmentAttributeKey, SlateModule, SlateString, VoidTextFlavour, blobAsString, buildHTMLText, check, completeTable, createClipboardData, createText, createThrottleRAF, defaultScrollSelectionIntoView, fallbackCopyText, getCardTargetAttribute, getClipboardData, getClipboardFromHTMLText, getContentHeight, getDataTransferClipboard, getDataTransferClipboardText, getNavigatorClipboard, getPlainText, getSelection, getSlateFragmentAttribute, hasAfterContextChange, hasBeforeContextChange, hasBlockCard, hasBlockCardWithNode, hotkeys, isCardCenterByTargetAttr, isCardLeft, isCardLeftByTargetAttr, isCardRightByTargetAttr, isClipboardFile, isClipboardReadSupported, isClipboardWriteSupported, isClipboardWriteTextSupported, isComponentType, isDOMText, isDecoratorRangeListEqual, isFlavourType, isInvalidTable, isTemplateRef, isValid, normalize, setClipboardData, setDataTransferClipboard, setDataTransferClipboardText, setNavigatorClipboard, shallowCompare, stripHtml, withAngular };
769
+ export type { AfterContextChange, BaseEmbeddedView, BeforeContextChange, ClipboardData, ComponentType, OriginEvent, SafeAny, SlateChildrenContext, SlateElementAttributes, SlateElementContext, SlateError, SlateLeafContext, SlatePlaceholder, SlateStringContext, SlateTextContext, SlateViewContext, ThrottleRAF, ViewType };