@lvce-editor/menu-worker 2.2.0 → 3.0.0

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.
@@ -2936,10 +2936,7 @@ const focusIndex = async (menu, index) => {
2936
2936
  }
2937
2937
  const oldFocusedIndex = menu.focusedIndex;
2938
2938
  menu.focusedIndex = index;
2939
- return {
2940
- commands: [/* Menu.focusIndex */'Menu.focusIndex', /* level */menu.level, /* oldFocusedIndex */oldFocusedIndex, /* newFocusedIndex */index],
2941
- menus: getAll()
2942
- };
2939
+ await invoke$3('Menu.focusIndex', /* level */menu.level, /* oldFocusedIndex */oldFocusedIndex, /* newFocusedIndex */index);
2943
2940
  };
2944
2941
 
2945
2942
  const getCurrentMenu = () => {
@@ -3120,17 +3117,18 @@ const handleContextMenu = state => {
3120
3117
  const hideSubMenus = async level => {
3121
3118
  if (level < getCount()) {
3122
3119
  set$1(getAll().slice(0, level + 1));
3123
- return {
3124
- commands: [/* Menu.hideSubMenu */'Menu.hideSubMenu', /* level */level + 1],
3125
- menus: getAll()
3126
- };
3120
+ await invoke$3('Menu.hideSubMenu', /* level */level + 1);
3127
3121
  }
3128
3122
  };
3129
3123
 
3130
- /* eslint-disable @typescript-eslint/no-implied-eval */
3131
3124
  const MENU_DELAY_TRIANGLE = 300;
3132
- const resolveAfterTimeout = fn => {
3133
- setTimeout(fn, MENU_DELAY_TRIANGLE);
3125
+ const resolveAfterTimeout = async () => {
3126
+ const {
3127
+ resolve,
3128
+ promise
3129
+ } = Promise.withResolvers();
3130
+ setTimeout(resolve, MENU_DELAY_TRIANGLE);
3131
+ await promise;
3134
3132
  };
3135
3133
 
3136
3134
  const showSubMenuAtEnter = async (level, index, enterX, enterY) => {
@@ -3153,10 +3151,7 @@ const showSubMenuAtEnter = async (level, index, enterX, enterY) => {
3153
3151
  const height = getMenuHeight(subMenuItems);
3154
3152
  const visible = getVisible(subMenu.items, -1, false, subMenu.level);
3155
3153
  const dom = getMenuVirtualDom(visible).slice(1);
3156
- return {
3157
- commands: [/* Menu.showMenu */'Menu.showMenu', /* x */subMenu.x, /* y */subMenu.y, /* width */width, /* height */height, /* items */subMenu.items, /* level */subMenu.level, /* parentIndex */index, /* dom */dom],
3158
- menus: getAll()
3159
- };
3154
+ await invoke$3(/* Menu.showMenu */'Menu.showMenu', /* x */subMenu.x, /* y */subMenu.y, /* width */width, /* height */height, /* items */subMenu.items, /* level */subMenu.level, /* parentIndex */index, /* dom */dom);
3160
3155
  };
3161
3156
  const showSubMenu = async (level, index) => {
3162
3157
  return showSubMenuAtEnter(level, index, -1, -1);
@@ -3176,7 +3171,7 @@ const handleMouseEnter = async (level, index, enterX, enterY, enterTimeStamp) =>
3176
3171
  const subMenuEnterX = subMenu.enterX;
3177
3172
  // TODO should check for triangle position here
3178
3173
  if (enterX >= subMenuEnterX) {
3179
- await new Promise(resolveAfterTimeout);
3174
+ await resolveAfterTimeout();
3180
3175
  if (getLatestTimestamp() !== enterTimeStamp) {
3181
3176
  return;
3182
3177
  }
@@ -3185,7 +3180,7 @@ const handleMouseEnter = async (level, index, enterX, enterY, enterTimeStamp) =>
3185
3180
  const item = menu.items[index];
3186
3181
  await focusIndex(menu, index);
3187
3182
  switch (item.flags) {
3188
- case /* SubMenu */4:
3183
+ case SubMenu:
3189
3184
  await showSubMenuAtEnter(menu.level, index, enterX, enterY);
3190
3185
  break;
3191
3186
  default:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lvce-editor/menu-worker",
3
- "version": "2.2.0",
3
+ "version": "3.0.0",
4
4
  "description": "Menu Worker",
5
5
  "repository": {
6
6
  "type": "git",