@domternal/extension-block-menu 0.7.1 → 0.7.2

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.cjs CHANGED
@@ -117,6 +117,11 @@ function createFloatingMenuPlugin(options) {
117
117
  cleanupFloating = null;
118
118
  element.removeAttribute("data-show");
119
119
  };
120
+ const clearTriggeredFlag = (view) => {
121
+ if (!requireExplicitTrigger) return;
122
+ const triggered = pluginKey.getState(view.state)?.triggered ?? false;
123
+ if (triggered) view.dispatch(view.state.tr.setMeta(FLOATING_MENU_META, "hide"));
124
+ };
120
125
  const focusFirstItem = () => {
121
126
  const first = element.querySelector('[data-floating-menu-item]:not([aria-disabled="true"])') ?? element.querySelector('button, [tabindex]:not([tabindex="-1"])');
122
127
  if (!first) return false;
@@ -166,12 +171,7 @@ function createFloatingMenuPlugin(options) {
166
171
  }
167
172
  const dismiss = () => {
168
173
  hideMenu();
169
- if (requireExplicitTrigger) {
170
- const triggered = pluginKey.getState(editor.view.state)?.triggered ?? false;
171
- if (triggered) {
172
- editor.view.dispatch(editor.view.state.tr.setMeta(FLOATING_MENU_META, "hide"));
173
- }
174
- }
174
+ clearTriggeredFlag(editor.view);
175
175
  };
176
176
  const onFocus = () => {
177
177
  if (isVisibleNow(editor.view)) updatePosition(editor.view);
@@ -204,12 +204,7 @@ function createFloatingMenuPlugin(options) {
204
204
  if (isVisibleNow(view)) updatePosition(view);
205
205
  else {
206
206
  hideMenu();
207
- if (requireExplicitTrigger) {
208
- const triggered = pluginKey.getState(view.state)?.triggered ?? false;
209
- if (triggered) {
210
- view.dispatch(view.state.tr.setMeta(FLOATING_MENU_META, "hide"));
211
- }
212
- }
207
+ clearTriggeredFlag(view);
213
208
  }
214
209
  },
215
210
  destroy: () => {
@@ -1821,11 +1816,9 @@ function createBlockContextMenuPlugin(options) {
1821
1816
  editorEl.dispatchEvent(new Event("dm:dismiss-overlays", { bubbles: false }));
1822
1817
  root.setAttribute("data-show", "");
1823
1818
  lockScroll();
1824
- {
1825
- const tr = editor.view.state.tr.setMeta(pluginKey, { activeBlockPos: detail.blockPos });
1826
- tr.setMeta("addToHistory", false);
1827
- editor.view.dispatch(tr);
1828
- }
1819
+ const openTr = editor.view.state.tr.setMeta(pluginKey, { activeBlockPos: detail.blockPos });
1820
+ openTr.setMeta("addToHistory", false);
1821
+ editor.view.dispatch(openTr);
1829
1822
  cleanupFloating?.();
1830
1823
  let anchorEl = detail.anchorElement;
1831
1824
  const bubbleMenuRef = anchorEl.closest(".dm-bubble-menu");