slate-angular 20.2.19 → 20.2.21
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/fesm2022/slate-angular.mjs +126 -65
- package/fesm2022/slate-angular.mjs.map +1 -1
- package/index.d.ts +14 -4
- package/package.json +1 -1
- package/styles/index.scss +0 -1
|
@@ -1149,7 +1149,7 @@ const buildHeightsAndAccumulatedHeights = (editor, visibleStates) => {
|
|
|
1149
1149
|
}
|
|
1150
1150
|
return { heights, accumulatedHeights };
|
|
1151
1151
|
};
|
|
1152
|
-
const
|
|
1152
|
+
const calculateAccumulatedTopHeight = (editor, startIndex, visibleStates) => {
|
|
1153
1153
|
const { accumulatedHeights } = buildHeightsAndAccumulatedHeights(editor, visibleStates);
|
|
1154
1154
|
const virtualTopHeight = roundTo(accumulatedHeights[startIndex] ?? 0, 1);
|
|
1155
1155
|
return virtualTopHeight;
|
|
@@ -2975,23 +2975,22 @@ const createText = (text) => {
|
|
|
2975
2975
|
|
|
2976
2976
|
const PRE_RENDERING_ELEMENT_ON_TOP_CLASS = 'pre-rendering-element-on-top';
|
|
2977
2977
|
const setPreRenderingElementStyle = (editor, rootNode, isClear = false) => {
|
|
2978
|
-
if (isClear) {
|
|
2979
|
-
|
|
2980
|
-
|
|
2981
|
-
|
|
2982
|
-
|
|
2983
|
-
|
|
2984
|
-
}
|
|
2985
|
-
const preRenderingWidth = EDITOR_TO_ROOT_NODE_WIDTH.get(editor) ?? 0;
|
|
2986
|
-
rootNode.style.top = '-100%';
|
|
2987
|
-
if (preRenderingWidth) {
|
|
2988
|
-
|
|
2989
|
-
}
|
|
2990
|
-
|
|
2991
|
-
|
|
2992
|
-
|
|
2993
|
-
rootNode.
|
|
2994
|
-
rootNode.classList.add(PRE_RENDERING_ELEMENT_ON_TOP_CLASS);
|
|
2978
|
+
// if (isClear) {
|
|
2979
|
+
// rootNode.style.top = '';
|
|
2980
|
+
// rootNode.style.width = '';
|
|
2981
|
+
// rootNode.style.position = '';
|
|
2982
|
+
// rootNode.classList.remove(PRE_RENDERING_ELEMENT_ON_TOP_CLASS);
|
|
2983
|
+
// return;
|
|
2984
|
+
// }
|
|
2985
|
+
// const preRenderingWidth = EDITOR_TO_ROOT_NODE_WIDTH.get(editor) ?? 0;
|
|
2986
|
+
// rootNode.style.top = '-100%';
|
|
2987
|
+
// if (preRenderingWidth) {
|
|
2988
|
+
// rootNode.style.width = `${preRenderingWidth}px`;
|
|
2989
|
+
// } else {
|
|
2990
|
+
// rootNode.style.width = '100%';
|
|
2991
|
+
// }
|
|
2992
|
+
// rootNode.style.position = 'absolute';
|
|
2993
|
+
// rootNode.classList.add(PRE_RENDERING_ELEMENT_ON_TOP_CLASS);
|
|
2995
2994
|
};
|
|
2996
2995
|
const updatePreRenderingElementWidth = (editor) => {
|
|
2997
2996
|
const editorDom = AngularEditor.toDOMNode(editor, editor);
|
|
@@ -3020,6 +3019,7 @@ class ListRender {
|
|
|
3020
3019
|
this.differ = null;
|
|
3021
3020
|
this.initialized = false;
|
|
3022
3021
|
this.preRenderingHTMLElement = [];
|
|
3022
|
+
this.virtualTopHeightElement = null;
|
|
3023
3023
|
}
|
|
3024
3024
|
initialize(children, parent, childrenContext, preRenderingCount = 0, childrenIndics) {
|
|
3025
3025
|
this.initialized = true;
|
|
@@ -3065,21 +3065,28 @@ class ListRender {
|
|
|
3065
3065
|
const outletParent = this.getOutletParent();
|
|
3066
3066
|
if (this.preRenderingHTMLElement.length > 0) {
|
|
3067
3067
|
const preRenderingElement = [...this.preRenderingHTMLElement];
|
|
3068
|
+
let previousRootNode = this.virtualTopHeightElement;
|
|
3068
3069
|
preRenderingElement.forEach((rootNodes, index) => {
|
|
3069
|
-
const slateElement = this.children[index];
|
|
3070
|
-
if (slateElement && children.indexOf(slateElement) >= 0) {
|
|
3071
|
-
|
|
3072
|
-
|
|
3073
|
-
|
|
3074
|
-
|
|
3075
|
-
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
else {
|
|
3079
|
-
if (isDebug) {
|
|
3080
|
-
debugLog('log', 'preRenderingHTMLElement index: ', this.viewContext.editor.children.indexOf(this.children[index]), 'do not clear since it would be removed soon');
|
|
3081
|
-
}
|
|
3070
|
+
// const slateElement = this.children[index];
|
|
3071
|
+
// if (slateElement && children.indexOf(slateElement) >= 0) {
|
|
3072
|
+
rootNodes.forEach(rootNode => {
|
|
3073
|
+
setPreRenderingElementStyle(this.viewContext.editor, rootNode, true);
|
|
3074
|
+
previousRootNode.insertAdjacentElement('afterend', rootNode);
|
|
3075
|
+
previousRootNode = rootNode;
|
|
3076
|
+
});
|
|
3077
|
+
if (isDebug) {
|
|
3078
|
+
debugLog('log', 'preRenderingHTMLElement index: ', this.viewContext.editor.children.indexOf(this.children[index]), 'is clear true');
|
|
3082
3079
|
}
|
|
3080
|
+
// } else {
|
|
3081
|
+
// if (isDebug) {
|
|
3082
|
+
// debugLog(
|
|
3083
|
+
// 'log',
|
|
3084
|
+
// 'preRenderingHTMLElement index: ',
|
|
3085
|
+
// this.viewContext.editor.children.indexOf(this.children[index]),
|
|
3086
|
+
// 'do not clear since it would be removed soon'
|
|
3087
|
+
// );
|
|
3088
|
+
// }
|
|
3089
|
+
// }
|
|
3083
3090
|
});
|
|
3084
3091
|
this.preRenderingHTMLElement = [];
|
|
3085
3092
|
}
|
|
@@ -3194,6 +3201,10 @@ class ListRender {
|
|
|
3194
3201
|
setPreRenderingElementStyle(this.viewContext.editor, rootNode);
|
|
3195
3202
|
});
|
|
3196
3203
|
this.preRenderingHTMLElement.push(rootNodes);
|
|
3204
|
+
if (!this.virtualTopHeightElement) {
|
|
3205
|
+
this.virtualTopHeightElement = rootNodes[0].parentElement.querySelector(`.${VIRTUAL_TOP_HEIGHT_CLASS_NAME}`);
|
|
3206
|
+
}
|
|
3207
|
+
this.virtualTopHeightElement.append(...rootNodes);
|
|
3197
3208
|
if (isDebug) {
|
|
3198
3209
|
debugLog('log', 'preRenderingHTMLElement index: ', this.viewContext.editor.children.indexOf(children[i]));
|
|
3199
3210
|
}
|
|
@@ -3366,6 +3377,8 @@ function executeAfterViewInit(editor) {
|
|
|
3366
3377
|
|
|
3367
3378
|
// not correctly clipboardData on beforeinput
|
|
3368
3379
|
const forceOnDOMPaste = IS_SAFARI;
|
|
3380
|
+
class RemeasureConfig {
|
|
3381
|
+
}
|
|
3369
3382
|
class SlateEditable {
|
|
3370
3383
|
set virtualScroll(config) {
|
|
3371
3384
|
this.virtualScrollConfig = config;
|
|
@@ -3428,7 +3441,7 @@ class SlateEditable {
|
|
|
3428
3441
|
this.inViewportChildren = [];
|
|
3429
3442
|
this.inViewportIndics = [];
|
|
3430
3443
|
this.keyHeightMap = new Map();
|
|
3431
|
-
this.
|
|
3444
|
+
this.indicsOfNeedRemeasured$ = new Subject();
|
|
3432
3445
|
this.virtualScrollInitialized = false;
|
|
3433
3446
|
}
|
|
3434
3447
|
ngOnInit() {
|
|
@@ -3499,12 +3512,12 @@ class SlateEditable {
|
|
|
3499
3512
|
this.listRender.initialize(childrenForRender, this.editor, this.context, 0, virtualView.inViewportIndics);
|
|
3500
3513
|
}
|
|
3501
3514
|
else {
|
|
3502
|
-
const { preRenderingCount, childrenWithPreRendering, childrenWithPreRenderingIndics } = this.
|
|
3515
|
+
const { preRenderingCount, childrenWithPreRendering, childrenWithPreRenderingIndics } = this.appendPreRenderingToViewport(visibleStates);
|
|
3503
3516
|
this.listRender.update(childrenWithPreRendering, this.editor, this.context, preRenderingCount, childrenWithPreRenderingIndics);
|
|
3504
3517
|
}
|
|
3505
3518
|
const remeasureIndics = this.getChangedIndics(previousInViewportChildren);
|
|
3506
3519
|
if (remeasureIndics.length) {
|
|
3507
|
-
this.
|
|
3520
|
+
this.indicsOfNeedRemeasured$.next({ indics: remeasureIndics, tryUpdateViewport: true });
|
|
3508
3521
|
}
|
|
3509
3522
|
}
|
|
3510
3523
|
else {
|
|
@@ -3597,20 +3610,22 @@ class SlateEditable {
|
|
|
3597
3610
|
this.editorScrollContainerResizeObserver.observe(this.virtualScrollConfig.scrollContainer);
|
|
3598
3611
|
}
|
|
3599
3612
|
let pendingRemeasureIndics = [];
|
|
3600
|
-
this.
|
|
3613
|
+
this.indicsOfNeedRemeasured$
|
|
3601
3614
|
.pipe(tap((previousValue) => {
|
|
3602
|
-
previousValue.forEach((index) => {
|
|
3615
|
+
previousValue.indics.forEach((index) => {
|
|
3603
3616
|
if (!pendingRemeasureIndics.includes(index)) {
|
|
3604
3617
|
pendingRemeasureIndics.push(index);
|
|
3605
3618
|
}
|
|
3606
3619
|
});
|
|
3607
3620
|
}), debounceTime(500), filter(() => pendingRemeasureIndics.length > 0))
|
|
3608
|
-
.subscribe(() => {
|
|
3621
|
+
.subscribe((previousValue) => {
|
|
3609
3622
|
const changed = measureHeightByIndics(this.editor, pendingRemeasureIndics, true);
|
|
3610
3623
|
if (changed) {
|
|
3611
|
-
|
|
3612
|
-
|
|
3613
|
-
|
|
3624
|
+
if (previousValue.tryUpdateViewport) {
|
|
3625
|
+
this.tryUpdateVirtualViewport();
|
|
3626
|
+
if (isDebug) {
|
|
3627
|
+
debugLog('log', 'exist pendingRemeasureIndics: ', pendingRemeasureIndics, 'will try to update virtual viewport');
|
|
3628
|
+
}
|
|
3614
3629
|
}
|
|
3615
3630
|
}
|
|
3616
3631
|
pendingRemeasureIndics = [];
|
|
@@ -3641,7 +3656,7 @@ class SlateEditable {
|
|
|
3641
3656
|
}
|
|
3642
3657
|
return parseFloat(this.virtualTopHeightElement.style.height.replace('px', ''));
|
|
3643
3658
|
}
|
|
3644
|
-
|
|
3659
|
+
appendPreRenderingToViewport(visibleStates) {
|
|
3645
3660
|
let preRenderingCount = 0;
|
|
3646
3661
|
const childrenWithPreRendering = [...this.inViewportChildren];
|
|
3647
3662
|
const childrenWithPreRenderingIndics = [...this.inViewportIndics];
|
|
@@ -3666,20 +3681,41 @@ class SlateEditable {
|
|
|
3666
3681
|
}
|
|
3667
3682
|
return { preRenderingCount, childrenWithPreRendering, childrenWithPreRenderingIndics };
|
|
3668
3683
|
}
|
|
3684
|
+
calculateIndicsStartAndEndBySelection() {
|
|
3685
|
+
if (!this.editor.selection || Range.isCollapsed(this.editor.selection)) {
|
|
3686
|
+
return;
|
|
3687
|
+
}
|
|
3688
|
+
const isBackward = Range.isBackward(this.editor.selection);
|
|
3689
|
+
const anchorIndex = this.editor.selection.anchor.path[0];
|
|
3690
|
+
const focusIndex = this.editor.selection.focus.path[0];
|
|
3691
|
+
let minStartIndex = anchorIndex;
|
|
3692
|
+
let minEndIndex = focusIndex;
|
|
3693
|
+
if (isBackward) {
|
|
3694
|
+
minStartIndex = focusIndex;
|
|
3695
|
+
minEndIndex = anchorIndex;
|
|
3696
|
+
}
|
|
3697
|
+
if (minStartIndex < this.inViewportIndics[0]) {
|
|
3698
|
+
minStartIndex = this.inViewportIndics[0];
|
|
3699
|
+
}
|
|
3700
|
+
if (minEndIndex > this.inViewportIndics[this.inViewportIndics.length - 1]) {
|
|
3701
|
+
minEndIndex = this.inViewportIndics[this.inViewportIndics.length - 1];
|
|
3702
|
+
}
|
|
3703
|
+
return { minStartIndex, minEndIndex };
|
|
3704
|
+
}
|
|
3669
3705
|
tryUpdateVirtualViewport() {
|
|
3670
3706
|
if (isDebug) {
|
|
3671
3707
|
debugLog('log', 'tryUpdateVirtualViewport');
|
|
3672
3708
|
}
|
|
3673
3709
|
const isFromScrollTo = EDITOR_TO_IS_FROM_SCROLL_TO.get(this.editor);
|
|
3674
3710
|
if (this.inViewportIndics.length > 0 && !isFromScrollTo) {
|
|
3675
|
-
const
|
|
3711
|
+
const realTopHeight = this.getActualVirtualTopHeight();
|
|
3676
3712
|
const visibleStates = this.editor.getAllVisibleStates();
|
|
3677
|
-
const
|
|
3678
|
-
if (
|
|
3713
|
+
const accumulateTopHeigh = calculateAccumulatedTopHeight(this.editor, this.inViewportIndics[0], visibleStates);
|
|
3714
|
+
if (realTopHeight !== accumulateTopHeigh) {
|
|
3679
3715
|
if (isDebug) {
|
|
3680
|
-
debugLog('log', 'update top height since dirty state,增加高度: ',
|
|
3716
|
+
debugLog('log', 'update top height since dirty state,增加高度: ', accumulateTopHeigh - realTopHeight);
|
|
3681
3717
|
}
|
|
3682
|
-
this.setVirtualSpaceHeight(
|
|
3718
|
+
this.setVirtualSpaceHeight(accumulateTopHeigh);
|
|
3683
3719
|
return;
|
|
3684
3720
|
}
|
|
3685
3721
|
}
|
|
@@ -3702,7 +3738,7 @@ class SlateEditable {
|
|
|
3702
3738
|
if (diff.isDifferent) {
|
|
3703
3739
|
this.applyVirtualView(virtualView);
|
|
3704
3740
|
if (this.listRender.initialized) {
|
|
3705
|
-
const { preRenderingCount, childrenWithPreRendering, childrenWithPreRenderingIndics } = this.
|
|
3741
|
+
const { preRenderingCount, childrenWithPreRendering, childrenWithPreRenderingIndics } = this.appendPreRenderingToViewport(visibleStates);
|
|
3706
3742
|
this.listRender.update(childrenWithPreRendering, this.editor, this.context, preRenderingCount, childrenWithPreRenderingIndics);
|
|
3707
3743
|
if (diff.needAddOnTop && !isFromScrollTo) {
|
|
3708
3744
|
const remeasureAddedIndics = diff.changedIndexesOfTop;
|
|
@@ -3760,10 +3796,13 @@ class SlateEditable {
|
|
|
3760
3796
|
endPosition = startPosition + viewportHeight - (businessTop - scrollTop);
|
|
3761
3797
|
}
|
|
3762
3798
|
let accumulatedOffset = 0;
|
|
3763
|
-
|
|
3764
|
-
const visible = [];
|
|
3799
|
+
const inViewportChildren = [];
|
|
3765
3800
|
const inViewportIndics = [];
|
|
3766
|
-
|
|
3801
|
+
const indicsBySelection = this.calculateIndicsStartAndEndBySelection();
|
|
3802
|
+
if (isDebug) {
|
|
3803
|
+
debugLog('log', 'indicsBySelection: ', indicsBySelection);
|
|
3804
|
+
}
|
|
3805
|
+
for (let i = 0; i < elementLength; i++) {
|
|
3767
3806
|
const currentHeight = heights[i];
|
|
3768
3807
|
const nextOffset = accumulatedOffset + currentHeight;
|
|
3769
3808
|
const isVisible = visibleStates[i];
|
|
@@ -3771,20 +3810,30 @@ class SlateEditable {
|
|
|
3771
3810
|
accumulatedOffset = nextOffset;
|
|
3772
3811
|
continue;
|
|
3773
3812
|
}
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
|
|
3777
|
-
|
|
3778
|
-
|
|
3779
|
-
|
|
3813
|
+
if ((indicsBySelection && i > indicsBySelection.minEndIndex && accumulatedOffset >= endPosition) ||
|
|
3814
|
+
(!indicsBySelection && accumulatedOffset >= endPosition)) {
|
|
3815
|
+
break;
|
|
3816
|
+
}
|
|
3817
|
+
if ((indicsBySelection && i < indicsBySelection.minStartIndex && nextOffset <= startPosition) ||
|
|
3818
|
+
(!indicsBySelection && nextOffset <= startPosition)) {
|
|
3819
|
+
accumulatedOffset = nextOffset;
|
|
3820
|
+
continue;
|
|
3780
3821
|
}
|
|
3822
|
+
inViewportChildren.push(children[i]);
|
|
3823
|
+
inViewportIndics.push(i);
|
|
3781
3824
|
accumulatedOffset = nextOffset;
|
|
3782
3825
|
}
|
|
3783
|
-
|
|
3784
|
-
|
|
3826
|
+
if (inViewportIndics.length === 0) {
|
|
3827
|
+
inViewportChildren.push(...children);
|
|
3828
|
+
inViewportIndics.push(...Array.from({ length: elementLength }, (_, i) => i));
|
|
3829
|
+
}
|
|
3830
|
+
const inViewportStartIndex = inViewportIndics[0];
|
|
3831
|
+
const inViewportEndIndex = inViewportIndics[inViewportIndics.length - 1];
|
|
3832
|
+
const top = accumulatedHeights[inViewportStartIndex];
|
|
3833
|
+
// todo: toggleHeight: toggleHeight 逻辑需要优化
|
|
3785
3834
|
const bottom = totalHeight - accumulatedHeights[inViewportEndIndex + 1];
|
|
3786
3835
|
return {
|
|
3787
|
-
inViewportChildren
|
|
3836
|
+
inViewportChildren,
|
|
3788
3837
|
inViewportIndics,
|
|
3789
3838
|
top,
|
|
3790
3839
|
bottom,
|
|
@@ -4179,11 +4228,11 @@ class SlateEditable {
|
|
|
4179
4228
|
}
|
|
4180
4229
|
this.applyVirtualView(virtualView);
|
|
4181
4230
|
}
|
|
4182
|
-
const { preRenderingCount, childrenWithPreRendering, childrenWithPreRenderingIndics } = this.
|
|
4231
|
+
const { preRenderingCount, childrenWithPreRendering, childrenWithPreRenderingIndics } = this.appendPreRenderingToViewport(visibleStates);
|
|
4183
4232
|
this.listRender.update(childrenWithPreRendering, this.editor, this.context, preRenderingCount, childrenWithPreRenderingIndics);
|
|
4184
4233
|
const remeasureIndics = this.getChangedIndics(previousInViewportChildren);
|
|
4185
4234
|
if (remeasureIndics.length) {
|
|
4186
|
-
this.
|
|
4235
|
+
this.indicsOfNeedRemeasured$.next({ indics: remeasureIndics, tryUpdateViewport: true });
|
|
4187
4236
|
}
|
|
4188
4237
|
}
|
|
4189
4238
|
updateContext() {
|
|
@@ -4536,7 +4585,9 @@ class SlateEditable {
|
|
|
4536
4585
|
this.forceRender();
|
|
4537
4586
|
}
|
|
4538
4587
|
}
|
|
4539
|
-
if (AngularEditor.hasEditableTarget(this.editor, event.target) &&
|
|
4588
|
+
if (AngularEditor.hasEditableTarget(this.editor, event.target) &&
|
|
4589
|
+
!isSelectionInsideVoid(this.editor) &&
|
|
4590
|
+
!this.isDOMEventHandled(event, this.compositionStart)) {
|
|
4540
4591
|
this.isComposing = true;
|
|
4541
4592
|
}
|
|
4542
4593
|
this.render();
|
|
@@ -4548,7 +4599,9 @@ class SlateEditable {
|
|
|
4548
4599
|
if (!event.data && !Range.isCollapsed(this.editor.selection)) {
|
|
4549
4600
|
Transforms.delete(this.editor);
|
|
4550
4601
|
}
|
|
4551
|
-
if (AngularEditor.hasEditableTarget(this.editor, event.target) &&
|
|
4602
|
+
if (AngularEditor.hasEditableTarget(this.editor, event.target) &&
|
|
4603
|
+
!isSelectionInsideVoid(this.editor) &&
|
|
4604
|
+
!this.isDOMEventHandled(event, this.compositionEnd)) {
|
|
4552
4605
|
// COMPAT: In Chrome/Firefox, `beforeinput` events for compositions
|
|
4553
4606
|
// aren't correct and never fire the "insertFromComposition"
|
|
4554
4607
|
// type that we need. So instead, insert whenever a composition
|
|
@@ -4558,7 +4611,7 @@ class SlateEditable {
|
|
|
4558
4611
|
Editor.insertText(this.editor, event.data);
|
|
4559
4612
|
}
|
|
4560
4613
|
// COMPAT: In Firefox 87.0 CompositionEnd fire twice
|
|
4561
|
-
// so we need avoid repeat
|
|
4614
|
+
// so we need avoid repeat insertText by isComposing === true,
|
|
4562
4615
|
this.isComposing = false;
|
|
4563
4616
|
}
|
|
4564
4617
|
this.render();
|
|
@@ -5077,6 +5130,14 @@ const isTargetInsideVoid = (editor, target) => {
|
|
|
5077
5130
|
catch (error) { }
|
|
5078
5131
|
return slateNode && Element.isElement(slateNode) && Editor.isVoid(editor, slateNode);
|
|
5079
5132
|
};
|
|
5133
|
+
const isSelectionInsideVoid = (editor) => {
|
|
5134
|
+
const selection = editor.selection;
|
|
5135
|
+
if (selection && Range.isCollapsed(selection)) {
|
|
5136
|
+
const currentNode = Node.parent(editor, selection.anchor.path);
|
|
5137
|
+
return Element.isElement(currentNode) && Editor.isVoid(editor, currentNode);
|
|
5138
|
+
}
|
|
5139
|
+
return false;
|
|
5140
|
+
};
|
|
5080
5141
|
const hasStringTarget = (domSelection) => {
|
|
5081
5142
|
return ((domSelection.anchorNode.parentElement.hasAttribute('data-slate-string') ||
|
|
5082
5143
|
domSelection.anchorNode.parentElement.hasAttribute('data-slate-zero-width')) &&
|
|
@@ -5459,5 +5520,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
5459
5520
|
* Generated bundle index. Do not edit.
|
|
5460
5521
|
*/
|
|
5461
5522
|
|
|
5462
|
-
export { AngularEditor, BaseComponent, BaseElementComponent, BaseElementFlavour, BaseFlavour, BaseLeafComponent, BaseLeafFlavour, BaseTextComponent, BaseTextFlavour, BlockCardRef, DEFAULT_ELEMENT_HEIGHT, DefaultTextFlavour, EDITOR_TO_AFTER_VIEW_INIT_QUEUE, EDITOR_TO_BUSINESS_TOP, EDITOR_TO_IS_FROM_SCROLL_TO, EDITOR_TO_ROOT_NODE_WIDTH, EDITOR_TO_VIEWPORT_HEIGHT, EDITOR_TO_VIRTUAL_SCROLL_CONFIG, EDITOR_TO_VIRTUAL_SCROLL_SELECTION, ELEMENT_KEY_TO_HEIGHTS, 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, SLATE_BLOCK_CARD_CLASS_NAME, SLATE_DEBUG_KEY, SLATE_DEBUG_KEY_SCROLL_TOP, SlateBlockCard, SlateChildrenOutlet, SlateEditable, SlateErrorCode, SlateFragmentAttributeKey, SlateModule, SlateString, VIRTUAL_BOTTOM_HEIGHT_CLASS_NAME, VIRTUAL_CENTER_OUTLET_CLASS_NAME, VIRTUAL_SCROLL_DEFAULT_BLOCK_HEIGHT, VIRTUAL_TOP_HEIGHT_CLASS_NAME, VoidTextFlavour, blobAsString, buildHTMLText, buildHeightsAndAccumulatedHeights, cacheHeightByElement, calcBusinessTop, calcHeightByElement,
|
|
5523
|
+
export { AngularEditor, BaseComponent, BaseElementComponent, BaseElementFlavour, BaseFlavour, BaseLeafComponent, BaseLeafFlavour, BaseTextComponent, BaseTextFlavour, BlockCardRef, DEFAULT_ELEMENT_HEIGHT, DefaultTextFlavour, EDITOR_TO_AFTER_VIEW_INIT_QUEUE, EDITOR_TO_BUSINESS_TOP, EDITOR_TO_IS_FROM_SCROLL_TO, EDITOR_TO_ROOT_NODE_WIDTH, EDITOR_TO_VIEWPORT_HEIGHT, EDITOR_TO_VIRTUAL_SCROLL_CONFIG, EDITOR_TO_VIRTUAL_SCROLL_SELECTION, ELEMENT_KEY_TO_HEIGHTS, 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, SLATE_BLOCK_CARD_CLASS_NAME, SLATE_DEBUG_KEY, SLATE_DEBUG_KEY_SCROLL_TOP, SlateBlockCard, SlateChildrenOutlet, SlateEditable, SlateErrorCode, SlateFragmentAttributeKey, SlateModule, SlateString, VIRTUAL_BOTTOM_HEIGHT_CLASS_NAME, VIRTUAL_CENTER_OUTLET_CLASS_NAME, VIRTUAL_SCROLL_DEFAULT_BLOCK_HEIGHT, VIRTUAL_TOP_HEIGHT_CLASS_NAME, VoidTextFlavour, blobAsString, buildHTMLText, buildHeightsAndAccumulatedHeights, cacheHeightByElement, calcBusinessTop, calcHeightByElement, calculateAccumulatedTopHeight, check, clearMinHeightByElement, completeTable, createClipboardData, createText, createThrottleRAF, debugLog, defaultScrollSelectionIntoView, fallbackCopyText, getBlockCardByNativeElement, getBusinessTop, getCachedHeightByElement, getCardTargetAttribute, getClipboardData, getClipboardFromHTMLText, getContentHeight, getDataTransferClipboard, getDataTransferClipboardText, getNavigatorClipboard, getPlainText, getScrollContainer, getSelection, getSlateFragmentAttribute, getViewportHeight, getZeroTextNode, hasAfterContextChange, hasBeforeContextChange, hasBlockCard, hasBlockCardWithNode, hotkeys, isCardCenterByTargetAttr, isCardLeft, isCardLeftByTargetAttr, isCardRightByTargetAttr, isClipboardFile, isClipboardReadSupported, isClipboardWriteSupported, isClipboardWriteTextSupported, isComponentType, isDOMText, isDebug, isDebugScrollTop, isDecoratorRangeListEqual, isFlavourType, isInvalidTable, isSelectionInsideVoid, isTemplateRef, isValid, isValidNumber, measureHeightByIndics, normalize, roundTo, scrollToElement, setClipboardData, setDataTransferClipboard, setDataTransferClipboardText, setMinHeightByElement, setNavigatorClipboard, shallowCompare, stripHtml, withAngular };
|
|
5463
5524
|
//# sourceMappingURL=slate-angular.mjs.map
|