@y14e/menu 1.5.7 → 1.5.8

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/README.md CHANGED
@@ -10,16 +10,16 @@ npm i @y14e/menu
10
10
 
11
11
  ```ts
12
12
  // npm
13
- import Menu from '@y14e/menu@1.5.7';
13
+ import Menu from '@y14e/menu@1.5.8';
14
14
  // with middleware
15
- import Menu, { flip, offset, shift } from '@y14e/menu@1.5.7';
15
+ import Menu, { flip, offset, shift } from '@y14e/menu@1.5.8';
16
16
 
17
17
  // CDNs
18
- import Menu from 'https://esm.sh/@y14e/menu@1.5.7';
18
+ import Menu from 'https://esm.sh/@y14e/menu@1.5.8';
19
19
  // or
20
- import Menu from 'https://cdn.jsdelivr.net/npm/@y14e/menu@1.5.7/+esm';
20
+ import Menu from 'https://cdn.jsdelivr.net/npm/@y14e/menu@1.5.8/+esm';
21
21
  // or
22
- import Menu from 'https://esm.unpkg.com/@y14e/menu@1.5.7';
22
+ import Menu from 'https://esm.unpkg.com/@y14e/menu@1.5.8';
23
23
  ```
24
24
 
25
25
  ## Usage
package/dist/index.cjs CHANGED
@@ -2947,8 +2947,7 @@ var Menu = class _Menu {
2947
2947
  break;
2948
2948
  case "ArrowLeft":
2949
2949
  case "ArrowRight":
2950
- this.#isMenubar && this.close();
2951
- this.#dispatchTriggerKeyDown(key);
2950
+ this.#isMenubar && this.#dispatchTriggerKeyDown(key);
2952
2951
  break;
2953
2952
  }
2954
2953
  };
@@ -3083,7 +3082,12 @@ var Menu = class _Menu {
3083
3082
  return this.#rootElement.contains(element) || !!this.#listElement?.contains(element);
3084
3083
  }
3085
3084
  #dispatchTriggerKeyDown(key) {
3086
- this.#getTrigger()?.dispatchEvent(new KeyboardEvent("keydown", { key }));
3085
+ const trigger = this.#getTrigger();
3086
+ if (!trigger) {
3087
+ return;
3088
+ }
3089
+ trigger.focus();
3090
+ trigger.dispatchEvent(new KeyboardEvent("keydown", { key }));
3087
3091
  }
3088
3092
  #focusTrigger() {
3089
3093
  const active = getActiveElement4();
@@ -3248,7 +3252,7 @@ function isFocusable3(element) {
3248
3252
  * WAI-ARIA compliant menu (menu button) pattern implementation in TypeScript.
3249
3253
  * Supports checkbox item, radio item, and infinitely nested menus.
3250
3254
  *
3251
- * @version 1.5.7
3255
+ * @version 1.5.8
3252
3256
  * @author Yusuke Kamiyamane
3253
3257
  * @license MIT
3254
3258
  * @copyright Copyright (c) Yusuke Kamiyamane
package/dist/index.d.cts CHANGED
@@ -6,7 +6,7 @@ export { flip, offset, shift } from '@floating-ui/dom';
6
6
  * WAI-ARIA compliant menu (menu button) pattern implementation in TypeScript.
7
7
  * Supports checkbox item, radio item, and infinitely nested menus.
8
8
  *
9
- * @version 1.5.7
9
+ * @version 1.5.8
10
10
  * @author Yusuke Kamiyamane
11
11
  * @license MIT
12
12
  * @copyright Copyright (c) Yusuke Kamiyamane
package/dist/index.d.ts CHANGED
@@ -6,7 +6,7 @@ export { flip, offset, shift } from '@floating-ui/dom';
6
6
  * WAI-ARIA compliant menu (menu button) pattern implementation in TypeScript.
7
7
  * Supports checkbox item, radio item, and infinitely nested menus.
8
8
  *
9
- * @version 1.5.7
9
+ * @version 1.5.8
10
10
  * @author Yusuke Kamiyamane
11
11
  * @license MIT
12
12
  * @copyright Copyright (c) Yusuke Kamiyamane
package/dist/index.js CHANGED
@@ -2943,8 +2943,7 @@ var Menu = class _Menu {
2943
2943
  break;
2944
2944
  case "ArrowLeft":
2945
2945
  case "ArrowRight":
2946
- this.#isMenubar && this.close();
2947
- this.#dispatchTriggerKeyDown(key);
2946
+ this.#isMenubar && this.#dispatchTriggerKeyDown(key);
2948
2947
  break;
2949
2948
  }
2950
2949
  };
@@ -3079,7 +3078,12 @@ var Menu = class _Menu {
3079
3078
  return this.#rootElement.contains(element) || !!this.#listElement?.contains(element);
3080
3079
  }
3081
3080
  #dispatchTriggerKeyDown(key) {
3082
- this.#getTrigger()?.dispatchEvent(new KeyboardEvent("keydown", { key }));
3081
+ const trigger = this.#getTrigger();
3082
+ if (!trigger) {
3083
+ return;
3084
+ }
3085
+ trigger.focus();
3086
+ trigger.dispatchEvent(new KeyboardEvent("keydown", { key }));
3083
3087
  }
3084
3088
  #focusTrigger() {
3085
3089
  const active = getActiveElement4();
@@ -3244,7 +3248,7 @@ function isFocusable3(element) {
3244
3248
  * WAI-ARIA compliant menu (menu button) pattern implementation in TypeScript.
3245
3249
  * Supports checkbox item, radio item, and infinitely nested menus.
3246
3250
  *
3247
- * @version 1.5.7
3251
+ * @version 1.5.8
3248
3252
  * @author Yusuke Kamiyamane
3249
3253
  * @license MIT
3250
3254
  * @copyright Copyright (c) Yusuke Kamiyamane
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@y14e/menu",
3
- "version": "1.5.7",
3
+ "version": "1.5.8",
4
4
  "description": "WAI-ARIA compliant menu (menu button) pattern implementation in TypeScript",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",