@syncfusion/ej2-richtexteditor 26.2.4 → 26.2.7

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.
@@ -5435,7 +5435,6 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
5435
5435
  if (this.parent.showTooltip && args.type === 'toolbar') {
5436
5436
  this.tooltip = new Tooltip({
5437
5437
  target: '#' + this.parent.getID() + '_toolbar_wrapper [title]',
5438
- container: this.toolbarPanel,
5439
5438
  showTipPointer: true,
5440
5439
  openDelay: 400,
5441
5440
  opensOn: 'Hover',
@@ -5447,6 +5446,11 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
5447
5446
  this.tooltip.appendTo(args.target.parentElement);
5448
5447
  }
5449
5448
  };
5449
+ ToolbarRenderer.prototype.tooltipBeforeOpen = function (args) {
5450
+ if (args.element) {
5451
+ args.element.setAttribute('data-rte-id', this.parent.getID());
5452
+ }
5453
+ };
5450
5454
  /**
5451
5455
  * renderDropDownButton method
5452
5456
  *
@@ -5992,6 +5996,13 @@ var ToolbarRenderer = /** @__PURE__ @class */ (function () {
5992
5996
  }
5993
5997
  if (this.tooltip && !this.tooltip.isDestroyed) {
5994
5998
  this.tooltip.destroy();
5999
+ var tooltipElements = document.querySelectorAll('[data-rte-id="' + this.parent.getID() + '"]');
6000
+ for (var i = 0; i < tooltipElements.length; i++) {
6001
+ var tooltipEle = tooltipElements[i];
6002
+ if (this.parent.getID() === tooltipEle.getAttribute('data-rte-id')) {
6003
+ detach(tooltipEle);
6004
+ }
6005
+ }
5995
6006
  }
5996
6007
  this.unWireEvent();
5997
6008
  this.mode = null;
@@ -16649,7 +16660,6 @@ var BaseQuickToolbar = /** @__PURE__ @class */ (function () {
16649
16660
  _this.tooltip = new Tooltip({
16650
16661
  target: '#' + _this.element.id + ' [title]',
16651
16662
  openDelay: 400,
16652
- container: _this.parent.rootContainer,
16653
16663
  showTipPointer: true,
16654
16664
  beforeRender: _this.tooltipBeforeRender.bind(_this),
16655
16665
  windowCollision: true,
@@ -21978,12 +21988,12 @@ var Lists = /** @__PURE__ @class */ (function () {
21978
21988
  var commonAncestor = range.commonAncestorContainer;
21979
21989
  var startEle = range.startContainer;
21980
21990
  var endEle = range.endContainer;
21981
- var startNode = startEle.nodeType === 3 ? startEle.parentElement : startEle;
21982
- var endNode = endEle.nodeType === 3 ? endEle.parentElement : endEle;
21991
+ var startNode = startEle.nodeType === 3 ? this.domNode.blockParentNode(startEle) : startEle;
21992
+ var endNode = endEle.nodeType === 3 ? this.domNode.blockParentNode(endEle) : endEle;
21983
21993
  if ((commonAncestor.nodeName === 'UL' || commonAncestor.nodeName === 'OL') && startNode !== endNode
21984
21994
  && (!isNullOrUndefined(closest(startNode, 'ul')) || !isNullOrUndefined(closest(startNode, 'ol')))
21985
21995
  && (!isNullOrUndefined(closest(endNode, 'ul')) || !isNullOrUndefined(closest(endNode, 'ol')))
21986
- && (commonAncestor.lastElementChild === closest(endNode, 'li')) && !range.collapsed) {
21996
+ && ((commonAncestor.lastElementChild === closest(endNode, 'li') && commonAncestor.lastChild !== endNode)) && !range.collapsed) {
21987
21997
  detach(commonAncestor);
21988
21998
  }
21989
21999
  this.removeList(range, e);
@@ -30906,6 +30916,13 @@ var HtmlEditor = /** @__PURE__ @class */ (function () {
30906
30916
  var isRootParent = false;
30907
30917
  if (restrictKeys.indexOf(args.keyCode) < 0 && !args.shiftKey && !args.ctrlKey && !args.altKey && !isEmptyNode) {
30908
30918
  pointer = range.startOffset;
30919
+ var container = range.startContainer;
30920
+ // Check if the container is a text node and contains a zero-width space
30921
+ if (container.nodeType === Node.TEXT_NODE && container.nodeValue.includes("\u200B")) {
30922
+ var beforeZeroWidthSpace = container.splitText(container.nodeValue.indexOf("\u200B"));
30923
+ beforeZeroWidthSpace.splitText(1); // The zero-width space is at the beginning of this node
30924
+ beforeZeroWidthSpace.parentNode.removeChild(beforeZeroWidthSpace);
30925
+ }
30909
30926
  // eslint-disable-next-line @typescript-eslint/no-unused-expressions
30910
30927
  range.startContainer.nodeName === '#text' ? range.startContainer.parentElement !== this.parent.inputElement ? range.startContainer.parentElement.classList.add('currentStartMark')
30911
30928
  : isRootParent = true : range.startContainer.classList.add('currentStartMark');