@lvce-editor/renderer-process 30.44.2 → 30.44.4

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.
@@ -8317,6 +8317,7 @@ const openExternal = () => {
8317
8317
  send$1('SimpleBrowser.openExternal');
8318
8318
  };
8319
8319
 
8320
+ const simpleBrowserAddressName = 'simple-browser-address';
8320
8321
  const handleInput$2 = event => {
8321
8322
  const {
8322
8323
  target
@@ -8353,10 +8354,13 @@ const handleBlur$1 = event => {
8353
8354
  relatedTarget,
8354
8355
  target
8355
8356
  } = event;
8356
- queueMicrotask(() => {
8357
+ setTimeout(() => {
8357
8358
  if (!target.isConnected) {
8358
8359
  return;
8359
8360
  }
8361
+ if (target.ownerDocument.activeElement?.getAttribute('name') === simpleBrowserAddressName) {
8362
+ return;
8363
+ }
8360
8364
  target.setSelectionRange(0, 0);
8361
8365
  if (!relatedTarget?.closest?.('.SimpleBrowserSuggestions')) {
8362
8366
  closeSuggestions();
@@ -8643,7 +8647,7 @@ const ViewletTerminals = {
8643
8647
  setTabsDom
8644
8648
  };
8645
8649
 
8646
- const isInsideTitleBarMenu = $Element => {
8650
+ const isInsideTitleBarMenu$1 = $Element => {
8647
8651
  return $Element.classList.contains('MenuItem') || $Element.classList.contains('Menu') || $Element.classList.contains('TitleBarTopLevelEntry') || $Element.classList.contains('TitleBarMenuBar');
8648
8652
  };
8649
8653
  const handleFocusOut = event => {
@@ -8651,16 +8655,16 @@ const handleFocusOut = event => {
8651
8655
  relatedTarget,
8652
8656
  target
8653
8657
  } = event;
8654
- if (relatedTarget && isInsideTitleBarMenu(relatedTarget)) {
8658
+ if (relatedTarget && isInsideTitleBarMenu$1(relatedTarget)) {
8655
8659
  return;
8656
8660
  }
8657
8661
  const uid = fromEvent(event);
8658
- if (!relatedTarget && target && isInsideTitleBarMenu(target)) {
8662
+ if (!relatedTarget && target && isInsideTitleBarMenu$1(target)) {
8659
8663
  queueMicrotask(() => {
8660
8664
  const {
8661
8665
  activeElement
8662
8666
  } = document;
8663
- if (!activeElement || !isInsideTitleBarMenu(activeElement)) {
8667
+ if (!activeElement || !isInsideTitleBarMenu$1(activeElement)) {
8664
8668
  closeMenu$1(uid);
8665
8669
  }
8666
8670
  });
@@ -8748,7 +8752,35 @@ const ViewletTitleBarMenuBarEvents = {
8748
8752
  };
8749
8753
 
8750
8754
  const activeId = 'TitleBarEntryActive';
8751
- const dispose$4 = state => {};
8755
+ const removeDocumentClickListener = state => {
8756
+ const {
8757
+ documentClickListener
8758
+ } = state;
8759
+ if (!documentClickListener) {
8760
+ return;
8761
+ }
8762
+ document.removeEventListener(Click, documentClickListener);
8763
+ state.documentClickListener = undefined;
8764
+ };
8765
+ const isInsideTitleBarMenu = target => {
8766
+ return target instanceof Element && (target.closest('.Menu') || target.closest('.TitleBarMenuBar'));
8767
+ };
8768
+ const addDocumentClickListener = (state, uid) => {
8769
+ if (state.documentClickListener) {
8770
+ return;
8771
+ }
8772
+ const documentClickListener = event => {
8773
+ if (isInsideTitleBarMenu(event.target)) {
8774
+ return;
8775
+ }
8776
+ closeMenu$1(uid);
8777
+ };
8778
+ state.documentClickListener = documentClickListener;
8779
+ document.addEventListener(Click, documentClickListener);
8780
+ };
8781
+ const dispose$4 = state => {
8782
+ removeDocumentClickListener(state);
8783
+ };
8752
8784
  const focus$2 = state => {
8753
8785
  const {
8754
8786
  $TitleBarMenuBar
@@ -8972,6 +9004,7 @@ const setMenus = (state, changes, uid) => {
8972
9004
  const {
8973
9005
  $$Menus
8974
9006
  } = state;
9007
+ const wasMenuOpen = $$Menus.length > 0;
8975
9008
  for (const change of changes) {
8976
9009
  const type = change[0];
8977
9010
  const handler = menuHandlers[type];
@@ -8979,6 +9012,12 @@ const setMenus = (state, changes, uid) => {
8979
9012
  handler($$Menus, change, uid);
8980
9013
  }
8981
9014
  }
9015
+ const isMenuOpen = $$Menus.length > 0;
9016
+ if (!wasMenuOpen && isMenuOpen) {
9017
+ addDocumentClickListener(state, uid);
9018
+ } else if (wasMenuOpen && !isMenuOpen) {
9019
+ removeDocumentClickListener(state);
9020
+ }
8982
9021
  };
8983
9022
 
8984
9023
  const ViewletTitleBarMenuBar = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/renderer-process",
3
- "version": "30.44.2",
3
+ "version": "30.44.4",
4
4
  "keywords": [
5
5
  "lvce-editor",
6
6
  "renderer-process"