@elementor/editor-controls 3.33.0-293 → 3.33.0-295

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/dist/index.js CHANGED
@@ -5919,6 +5919,7 @@ var import_editor_props52 = require("@elementor/editor-props");
5919
5919
 
5920
5920
  // src/components/inline-editor.tsx
5921
5921
  var React99 = __toESM(require("react"));
5922
+ var import_react52 = require("react");
5922
5923
  var import_ui85 = require("@elementor/ui");
5923
5924
  var import_extension_bold = __toESM(require("@tiptap/extension-bold"));
5924
5925
  var import_extension_document = __toESM(require("@tiptap/extension-document"));
@@ -5927,10 +5928,20 @@ var import_extension_italic = __toESM(require("@tiptap/extension-italic"));
5927
5928
  var import_extension_strike = __toESM(require("@tiptap/extension-strike"));
5928
5929
  var import_extension_text = __toESM(require("@tiptap/extension-text"));
5929
5930
  var import_extension_underline = __toESM(require("@tiptap/extension-underline"));
5930
- var import_react52 = require("@tiptap/react");
5931
+ var import_react53 = require("@tiptap/react");
5932
+ var useOnUpdate = (callback, dependencies) => {
5933
+ const hasMounted = (0, import_react52.useRef)(false);
5934
+ (0, import_react52.useEffect)(() => {
5935
+ if (hasMounted.current) {
5936
+ callback();
5937
+ } else {
5938
+ hasMounted.current = true;
5939
+ }
5940
+ }, dependencies);
5941
+ };
5931
5942
  var InlineEditor = React99.forwardRef(
5932
5943
  ({ value, setValue, attributes = {}, sx }, ref) => {
5933
- const editor = (0, import_react52.useEditor)({
5944
+ const editor = (0, import_react53.useEditor)({
5934
5945
  extensions: [
5935
5946
  import_extension_document.default.extend({
5936
5947
  content: "inline*"
@@ -5951,6 +5962,15 @@ var InlineEditor = React99.forwardRef(
5951
5962
  content: value,
5952
5963
  onUpdate: ({ editor: updatedEditor }) => setValue(updatedEditor.getHTML())
5953
5964
  });
5965
+ useOnUpdate(() => {
5966
+ if (!editor) {
5967
+ return;
5968
+ }
5969
+ const currentContent = editor.getHTML();
5970
+ if (currentContent !== value) {
5971
+ editor.commands.setContent(value, { emitUpdate: false });
5972
+ }
5973
+ }, [editor, value]);
5954
5974
  return /* @__PURE__ */ React99.createElement(
5955
5975
  import_ui85.Box,
5956
5976
  {
@@ -5979,7 +5999,7 @@ var InlineEditor = React99.forwardRef(
5979
5999
  },
5980
6000
  ...attributes
5981
6001
  },
5982
- /* @__PURE__ */ React99.createElement(import_react52.EditorContent, { editor })
6002
+ /* @__PURE__ */ React99.createElement(import_react53.EditorContent, { editor })
5983
6003
  );
5984
6004
  }
5985
6005
  );
@@ -6003,7 +6023,7 @@ var ClearIconButton = ({ tooltipText, onClick, disabled, size = "tiny" }) => /*
6003
6023
 
6004
6024
  // src/components/repeater/repeater.tsx
6005
6025
  var React102 = __toESM(require("react"));
6006
- var import_react53 = require("react");
6026
+ var import_react54 = require("react");
6007
6027
  var import_icons34 = require("@elementor/icons");
6008
6028
  var import_ui87 = require("@elementor/ui");
6009
6029
  var import_i18n50 = require("@wordpress/i18n");
@@ -6023,7 +6043,7 @@ var Repeater3 = ({
6023
6043
  openItem: initialOpenItem = EMPTY_OPEN_ITEM2,
6024
6044
  isSortable = true
6025
6045
  }) => {
6026
- const [openItem, setOpenItem] = (0, import_react53.useState)(initialOpenItem);
6046
+ const [openItem, setOpenItem] = (0, import_react54.useState)(initialOpenItem);
6027
6047
  const uniqueKeys = items2.map(
6028
6048
  (item, index) => isSortable && "getId" in itemSettings ? itemSettings.getId({ item, index }) : String(index)
6029
6049
  );
@@ -6165,10 +6185,10 @@ var RepeaterItem = ({
6165
6185
  ), /* @__PURE__ */ React102.createElement(RepeaterPopover, { width: ref?.getBoundingClientRect().width, ...popoverProps, anchorEl: ref }, /* @__PURE__ */ React102.createElement(import_ui87.Box, null, children({ anchorEl: ref }))));
6166
6186
  };
6167
6187
  var usePopover = (openOnMount, onOpen) => {
6168
- const [ref, setRef] = (0, import_react53.useState)(null);
6188
+ const [ref, setRef] = (0, import_react54.useState)(null);
6169
6189
  const popoverState = (0, import_ui87.usePopupState)({ variant: "popover" });
6170
6190
  const popoverProps = (0, import_ui87.bindPopover)(popoverState);
6171
- (0, import_react53.useEffect)(() => {
6191
+ (0, import_react54.useEffect)(() => {
6172
6192
  if (openOnMount && ref) {
6173
6193
  popoverState.open(ref);
6174
6194
  onOpen?.();