@vaadin/context-menu 22.0.0-rc1 → 23.0.0-alpha2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/context-menu",
3
- "version": "22.0.0-rc1",
3
+ "version": "23.0.0-alpha2",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -35,19 +35,19 @@
35
35
  "@open-wc/dedupe-mixin": "^1.3.0",
36
36
  "@polymer/iron-media-query": "^3.0.0",
37
37
  "@polymer/polymer": "^3.0.0",
38
- "@vaadin/component-base": "22.0.0-rc1",
39
- "@vaadin/item": "22.0.0-rc1",
40
- "@vaadin/list-box": "22.0.0-rc1",
41
- "@vaadin/vaadin-lumo-styles": "22.0.0-rc1",
42
- "@vaadin/vaadin-material-styles": "22.0.0-rc1",
43
- "@vaadin/vaadin-overlay": "22.0.0-rc1",
44
- "@vaadin/vaadin-themable-mixin": "22.0.0-rc1"
38
+ "@vaadin/component-base": "23.0.0-alpha2",
39
+ "@vaadin/item": "23.0.0-alpha2",
40
+ "@vaadin/list-box": "23.0.0-alpha2",
41
+ "@vaadin/vaadin-lumo-styles": "23.0.0-alpha2",
42
+ "@vaadin/vaadin-material-styles": "23.0.0-alpha2",
43
+ "@vaadin/vaadin-overlay": "23.0.0-alpha2",
44
+ "@vaadin/vaadin-themable-mixin": "23.0.0-alpha2"
45
45
  },
46
46
  "devDependencies": {
47
47
  "@esm-bundle/chai": "^4.3.4",
48
- "@vaadin/polymer-legacy-adapter": "22.0.0-rc1",
48
+ "@vaadin/polymer-legacy-adapter": "23.0.0-alpha2",
49
49
  "@vaadin/testing-helpers": "^0.3.2",
50
50
  "sinon": "^9.2.1"
51
51
  },
52
- "gitHead": "7b6f44bcd2c0fd415028ace666feeb0fedb1d540"
52
+ "gitHead": "070f586dead02ca41b66717820c647f48bf1665f"
53
53
  }
@@ -3,7 +3,6 @@
3
3
  * Copyright (c) 2021 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { GestureEventListeners } from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
7
6
  import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
8
7
  import { ThemePropertyMixin } from '@vaadin/vaadin-themable-mixin/vaadin-theme-property-mixin.js';
9
8
  import { ContextMenuItem, ItemsMixin } from './vaadin-contextmenu-items-mixin.js';
@@ -224,7 +223,7 @@ export interface ContextMenuEventMap extends HTMLElementEventMap, ContextMenuCus
224
223
  * @fires {CustomEvent} opened-changed - Fired when the `opened` property changes.
225
224
  * @fires {CustomEvent} item-selected - Fired when an item is selected when the context menu is populated using the `items` API.
226
225
  */
227
- declare class ContextMenu extends ElementMixin(ThemePropertyMixin(ItemsMixin(GestureEventListeners(HTMLElement)))) {
226
+ declare class ContextMenu extends ElementMixin(ThemePropertyMixin(ItemsMixin(HTMLElement))) {
228
227
  /**
229
228
  * CSS selector that can be used to target any child element
230
229
  * of the context menu to listen for `openOn` events.
@@ -6,10 +6,9 @@
6
6
  import './vaadin-contextmenu-event.js';
7
7
  import './vaadin-device-detector.js';
8
8
  import './vaadin-context-menu-overlay.js';
9
- import { GestureEventListeners } from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
10
- import { addListener, gestures, removeListener } from '@polymer/polymer/lib/utils/gestures.js';
11
9
  import { html, PolymerElement } from '@polymer/polymer/polymer-element.js';
12
10
  import { ElementMixin } from '@vaadin/component-base/src/element-mixin.js';
11
+ import { addListener, gestures, removeListener } from '@vaadin/component-base/src/gestures.js';
13
12
  import { processTemplates } from '@vaadin/component-base/src/templates.js';
14
13
  import { ThemePropertyMixin } from '@vaadin/vaadin-themable-mixin/vaadin-theme-property-mixin.js';
15
14
  import { ItemsMixin } from './vaadin-contextmenu-items-mixin.js';
@@ -199,9 +198,8 @@ import { ItemsMixin } from './vaadin-contextmenu-items-mixin.js';
199
198
  * @mixes ElementMixin
200
199
  * @mixes ThemePropertyMixin
201
200
  * @mixes ItemsMixin
202
- * @mixes GestureEventListeners
203
201
  */
204
- class ContextMenu extends ElementMixin(ThemePropertyMixin(ItemsMixin(GestureEventListeners(PolymerElement)))) {
202
+ class ContextMenu extends ElementMixin(ThemePropertyMixin(ItemsMixin(PolymerElement))) {
205
203
  static get template() {
206
204
  return html`
207
205
  <style>
@@ -489,9 +487,8 @@ class ContextMenu extends ElementMixin(ThemePropertyMixin(ItemsMixin(GestureEven
489
487
  return Array.prototype.filter.call(targets, (el) => {
490
488
  return e.composedPath().indexOf(el) > -1;
491
489
  })[0];
492
- } else {
493
- return e.target;
494
490
  }
491
+ return e.target;
495
492
  }
496
493
 
497
494
  /**
@@ -574,7 +571,7 @@ class ContextMenu extends ElementMixin(ThemePropertyMixin(ItemsMixin(GestureEven
574
571
  // in the `vaadin-overlay-change` which guarantees that overlay is ready.
575
572
  // The valus represent an anchor position on the page where the contextmenu
576
573
  // event took place.
577
- let x = this.__x;
574
+ const x = this.__x;
578
575
  const y = this.__y;
579
576
 
580
577
  // Select one overlay corner and move to the event x/y position.
@@ -591,15 +588,13 @@ class ContextMenu extends ElementMixin(ThemePropertyMixin(ItemsMixin(GestureEven
591
588
  style.right = Math.max(0, wdthVport - x) + 'px';
592
589
  this._setEndAligned(overlay);
593
590
  }
591
+ } else if (x > wdthVport / 2 || x > xMin) {
592
+ // Menu is displayed in the right side of the anchor
593
+ style.right = Math.max(0, wdthVport - x) + 'px';
594
594
  } else {
595
595
  // Menu is displayed in the left side of the anchor
596
- if (x > wdthVport / 2 || x > xMin) {
597
- style.right = Math.max(0, wdthVport - x) + 'px';
598
- } else {
599
- // Menu is displayed in the left side of the anchor
600
- style.left = x + 'px';
601
- this._setEndAligned(overlay);
602
- }
596
+ style.left = x + 'px';
597
+ this._setEndAligned(overlay);
603
598
  }
604
599
 
605
600
  if (y < hghtVport / 2 || y < yMax) {
@@ -636,10 +631,9 @@ class ContextMenu extends ElementMixin(ThemePropertyMixin(ItemsMixin(GestureEven
636
631
  // Native keyboard event
637
632
  const rect = event.target.getBoundingClientRect();
638
633
  return coord === 'x' ? rect.left : rect.top + rect.height;
639
- } else {
640
- // Native mouse or touch event
641
- return position;
642
634
  }
635
+ // Native mouse or touch event
636
+ return position;
643
637
  }
644
638
  }
645
639
 
@@ -3,8 +3,8 @@
3
3
  * Copyright (c) 2021 Vaadin Ltd.
4
4
  * This program is available under Apache License Version 2.0, available at https://vaadin.com/license/
5
5
  */
6
- import { prevent, register } from '@polymer/polymer/lib/utils/gestures.js';
7
6
  import { isIOS } from '@vaadin/component-base/src/browser-utils.js';
7
+ import { prevent, register } from '@vaadin/component-base/src/gestures.js';
8
8
 
9
9
  register({
10
10
  name: 'vaadin-contextmenu',
@@ -90,7 +90,8 @@ registerStyles(
90
90
  registerStyles(
91
91
  'vaadin-context-menu-item',
92
92
  css`
93
- :host {
93
+ /* :hover needed to workaround https://github.com/vaadin/web-components/issues/3133 */
94
+ :host(:hover) {
94
95
  user-select: none;
95
96
  -ms-user-select: none;
96
97
  -webkit-user-select: none;