slate-angular 20.2.19 → 20.2.20
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 +16 -4
- package/fesm2022/slate-angular.mjs.map +1 -1
- package/index.d.ts +2 -1
- package/package.json +1 -1
|
@@ -4536,7 +4536,9 @@ class SlateEditable {
|
|
|
4536
4536
|
this.forceRender();
|
|
4537
4537
|
}
|
|
4538
4538
|
}
|
|
4539
|
-
if (AngularEditor.hasEditableTarget(this.editor, event.target) &&
|
|
4539
|
+
if (AngularEditor.hasEditableTarget(this.editor, event.target) &&
|
|
4540
|
+
!isSelectionInsideVoid(this.editor) &&
|
|
4541
|
+
!this.isDOMEventHandled(event, this.compositionStart)) {
|
|
4540
4542
|
this.isComposing = true;
|
|
4541
4543
|
}
|
|
4542
4544
|
this.render();
|
|
@@ -4548,7 +4550,9 @@ class SlateEditable {
|
|
|
4548
4550
|
if (!event.data && !Range.isCollapsed(this.editor.selection)) {
|
|
4549
4551
|
Transforms.delete(this.editor);
|
|
4550
4552
|
}
|
|
4551
|
-
if (AngularEditor.hasEditableTarget(this.editor, event.target) &&
|
|
4553
|
+
if (AngularEditor.hasEditableTarget(this.editor, event.target) &&
|
|
4554
|
+
!isSelectionInsideVoid(this.editor) &&
|
|
4555
|
+
!this.isDOMEventHandled(event, this.compositionEnd)) {
|
|
4552
4556
|
// COMPAT: In Chrome/Firefox, `beforeinput` events for compositions
|
|
4553
4557
|
// aren't correct and never fire the "insertFromComposition"
|
|
4554
4558
|
// type that we need. So instead, insert whenever a composition
|
|
@@ -4558,7 +4562,7 @@ class SlateEditable {
|
|
|
4558
4562
|
Editor.insertText(this.editor, event.data);
|
|
4559
4563
|
}
|
|
4560
4564
|
// COMPAT: In Firefox 87.0 CompositionEnd fire twice
|
|
4561
|
-
// so we need avoid repeat
|
|
4565
|
+
// so we need avoid repeat insertText by isComposing === true,
|
|
4562
4566
|
this.isComposing = false;
|
|
4563
4567
|
}
|
|
4564
4568
|
this.render();
|
|
@@ -5077,6 +5081,14 @@ const isTargetInsideVoid = (editor, target) => {
|
|
|
5077
5081
|
catch (error) { }
|
|
5078
5082
|
return slateNode && Element.isElement(slateNode) && Editor.isVoid(editor, slateNode);
|
|
5079
5083
|
};
|
|
5084
|
+
const isSelectionInsideVoid = (editor) => {
|
|
5085
|
+
const selection = editor.selection;
|
|
5086
|
+
if (selection && Range.isCollapsed(selection)) {
|
|
5087
|
+
const currentNode = Node.parent(editor, selection.anchor.path);
|
|
5088
|
+
return Element.isElement(currentNode) && Editor.isVoid(editor, currentNode);
|
|
5089
|
+
}
|
|
5090
|
+
return false;
|
|
5091
|
+
};
|
|
5080
5092
|
const hasStringTarget = (domSelection) => {
|
|
5081
5093
|
return ((domSelection.anchorNode.parentElement.hasAttribute('data-slate-string') ||
|
|
5082
5094
|
domSelection.anchorNode.parentElement.hasAttribute('data-slate-zero-width')) &&
|
|
@@ -5459,5 +5471,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.12", ngImpo
|
|
|
5459
5471
|
* Generated bundle index. Do not edit.
|
|
5460
5472
|
*/
|
|
5461
5473
|
|
|
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, calculateVirtualTopHeight, 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, isTemplateRef, isValid, isValidNumber, measureHeightByIndics, normalize, roundTo, scrollToElement, setClipboardData, setDataTransferClipboard, setDataTransferClipboardText, setMinHeightByElement, setNavigatorClipboard, shallowCompare, stripHtml, withAngular };
|
|
5474
|
+
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, calculateVirtualTopHeight, 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
5475
|
//# sourceMappingURL=slate-angular.mjs.map
|