@vaadin/context-menu 23.0.8 → 23.0.11
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 +10 -10
- package/src/vaadin-context-menu-overlay.js +4 -4
- package/src/vaadin-context-menu.d.ts +3 -3
- package/src/vaadin-context-menu.js +14 -14
- package/src/vaadin-contextmenu-event.js +4 -4
- package/src/vaadin-contextmenu-items-mixin.js +6 -6
- package/theme/lumo/vaadin-context-menu-styles.js +3 -3
- package/theme/lumo/vaadin-context-menu.js +1 -0
- package/theme/material/vaadin-context-menu-styles.js +3 -3
- package/theme/material/vaadin-context-menu.js +1 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vaadin/context-menu",
|
|
3
|
-
"version": "23.0.
|
|
3
|
+
"version": "23.0.11",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -35,19 +35,19 @@
|
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@open-wc/dedupe-mixin": "^1.3.0",
|
|
37
37
|
"@polymer/polymer": "^3.0.0",
|
|
38
|
-
"@vaadin/component-base": "^23.0.
|
|
39
|
-
"@vaadin/item": "^23.0.
|
|
40
|
-
"@vaadin/list-box": "^23.0.
|
|
41
|
-
"@vaadin/vaadin-lumo-styles": "^23.0.
|
|
42
|
-
"@vaadin/vaadin-material-styles": "^23.0.
|
|
43
|
-
"@vaadin/vaadin-overlay": "^23.0.
|
|
44
|
-
"@vaadin/vaadin-themable-mixin": "^23.0.
|
|
38
|
+
"@vaadin/component-base": "^23.0.11",
|
|
39
|
+
"@vaadin/item": "^23.0.11",
|
|
40
|
+
"@vaadin/list-box": "^23.0.11",
|
|
41
|
+
"@vaadin/vaadin-lumo-styles": "^23.0.11",
|
|
42
|
+
"@vaadin/vaadin-material-styles": "^23.0.11",
|
|
43
|
+
"@vaadin/vaadin-overlay": "^23.0.11",
|
|
44
|
+
"@vaadin/vaadin-themable-mixin": "^23.0.11"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
47
|
"@esm-bundle/chai": "^4.3.4",
|
|
48
|
-
"@vaadin/polymer-legacy-adapter": "^23.0.
|
|
48
|
+
"@vaadin/polymer-legacy-adapter": "^23.0.11",
|
|
49
49
|
"@vaadin/testing-helpers": "^0.3.2",
|
|
50
50
|
"sinon": "^9.2.1"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "10838304fe6f5c98b838ec3a90bdcf49cbf4650b"
|
|
53
53
|
}
|
|
@@ -28,7 +28,7 @@ registerStyles(
|
|
|
28
28
|
background-color: #fff;
|
|
29
29
|
}
|
|
30
30
|
`,
|
|
31
|
-
{ moduleId: 'vaadin-context-menu-overlay-styles' }
|
|
31
|
+
{ moduleId: 'vaadin-context-menu-overlay-styles' },
|
|
32
32
|
);
|
|
33
33
|
|
|
34
34
|
/**
|
|
@@ -49,8 +49,8 @@ class ContextMenuOverlay extends PositionMixin(OverlayElement) {
|
|
|
49
49
|
*/
|
|
50
50
|
parentOverlay: {
|
|
51
51
|
type: Object,
|
|
52
|
-
readOnly: true
|
|
53
|
-
}
|
|
52
|
+
readOnly: true,
|
|
53
|
+
},
|
|
54
54
|
};
|
|
55
55
|
}
|
|
56
56
|
|
|
@@ -102,7 +102,7 @@ class ContextMenuOverlay extends PositionMixin(OverlayElement) {
|
|
|
102
102
|
return {
|
|
103
103
|
xMax: overlayRect.right - contentRect.width,
|
|
104
104
|
xMin: overlayRect.left + contentRect.width,
|
|
105
|
-
yMax
|
|
105
|
+
yMax,
|
|
106
106
|
};
|
|
107
107
|
}
|
|
108
108
|
|
|
@@ -17,7 +17,7 @@ export interface ContextMenuRendererContext {
|
|
|
17
17
|
export type ContextMenuRenderer = (
|
|
18
18
|
root: HTMLElement,
|
|
19
19
|
contextMenu?: ContextMenu,
|
|
20
|
-
context?: ContextMenuRendererContext
|
|
20
|
+
context?: ContextMenuRendererContext,
|
|
21
21
|
) => void;
|
|
22
22
|
|
|
23
23
|
/**
|
|
@@ -289,13 +289,13 @@ declare class ContextMenu extends ElementMixin(ThemePropertyMixin(ItemsMixin(HTM
|
|
|
289
289
|
addEventListener<K extends keyof ContextMenuEventMap>(
|
|
290
290
|
type: K,
|
|
291
291
|
listener: (this: ContextMenu, ev: ContextMenuEventMap[K]) => void,
|
|
292
|
-
options?: boolean | AddEventListenerOptions
|
|
292
|
+
options?: boolean | AddEventListenerOptions,
|
|
293
293
|
): void;
|
|
294
294
|
|
|
295
295
|
removeEventListener<K extends keyof ContextMenuEventMap>(
|
|
296
296
|
type: K,
|
|
297
297
|
listener: (this: ContextMenu, ev: ContextMenuEventMap[K]) => void,
|
|
298
|
-
options?: boolean | EventListenerOptions
|
|
298
|
+
options?: boolean | EventListenerOptions,
|
|
299
299
|
): void;
|
|
300
300
|
}
|
|
301
301
|
|
|
@@ -241,7 +241,7 @@ class ContextMenu extends ControllerMixin(ElementMixin(ThemePropertyMixin(ItemsM
|
|
|
241
241
|
* of the context menu to listen for `openOn` events.
|
|
242
242
|
*/
|
|
243
243
|
selector: {
|
|
244
|
-
type: String
|
|
244
|
+
type: String,
|
|
245
245
|
},
|
|
246
246
|
|
|
247
247
|
/**
|
|
@@ -252,7 +252,7 @@ class ContextMenu extends ControllerMixin(ElementMixin(ThemePropertyMixin(ItemsM
|
|
|
252
252
|
type: Boolean,
|
|
253
253
|
value: false,
|
|
254
254
|
notify: true,
|
|
255
|
-
readOnly: true
|
|
255
|
+
readOnly: true,
|
|
256
256
|
},
|
|
257
257
|
|
|
258
258
|
/**
|
|
@@ -262,7 +262,7 @@ class ContextMenu extends ControllerMixin(ElementMixin(ThemePropertyMixin(ItemsM
|
|
|
262
262
|
*/
|
|
263
263
|
openOn: {
|
|
264
264
|
type: String,
|
|
265
|
-
value: 'vaadin-contextmenu'
|
|
265
|
+
value: 'vaadin-contextmenu',
|
|
266
266
|
},
|
|
267
267
|
|
|
268
268
|
/**
|
|
@@ -276,7 +276,7 @@ class ContextMenu extends ControllerMixin(ElementMixin(ThemePropertyMixin(ItemsM
|
|
|
276
276
|
type: Object,
|
|
277
277
|
value: function () {
|
|
278
278
|
return this;
|
|
279
|
-
}
|
|
279
|
+
},
|
|
280
280
|
},
|
|
281
281
|
|
|
282
282
|
/**
|
|
@@ -287,7 +287,7 @@ class ContextMenu extends ControllerMixin(ElementMixin(ThemePropertyMixin(ItemsM
|
|
|
287
287
|
closeOn: {
|
|
288
288
|
type: String,
|
|
289
289
|
value: 'click',
|
|
290
|
-
observer: '_closeOnChanged'
|
|
290
|
+
observer: '_closeOnChanged',
|
|
291
291
|
},
|
|
292
292
|
|
|
293
293
|
/**
|
|
@@ -302,7 +302,7 @@ class ContextMenu extends ControllerMixin(ElementMixin(ThemePropertyMixin(ItemsM
|
|
|
302
302
|
* @type {ContextMenuRenderer | undefined}
|
|
303
303
|
*/
|
|
304
304
|
renderer: {
|
|
305
|
-
type: Function
|
|
305
|
+
type: Function,
|
|
306
306
|
},
|
|
307
307
|
|
|
308
308
|
/** @private */
|
|
@@ -316,25 +316,25 @@ class ContextMenu extends ControllerMixin(ElementMixin(ThemePropertyMixin(ItemsM
|
|
|
316
316
|
|
|
317
317
|
/** @private */
|
|
318
318
|
_phone: {
|
|
319
|
-
type: Boolean
|
|
319
|
+
type: Boolean,
|
|
320
320
|
},
|
|
321
321
|
|
|
322
322
|
/** @private */
|
|
323
323
|
_touch: {
|
|
324
324
|
type: Boolean,
|
|
325
|
-
value: isTouch
|
|
325
|
+
value: isTouch,
|
|
326
326
|
},
|
|
327
327
|
|
|
328
328
|
/** @private */
|
|
329
329
|
_wide: {
|
|
330
|
-
type: Boolean
|
|
330
|
+
type: Boolean,
|
|
331
331
|
},
|
|
332
332
|
|
|
333
333
|
/** @private */
|
|
334
334
|
_wideMediaQuery: {
|
|
335
335
|
type: String,
|
|
336
|
-
value: '(min-device-width: 750px)'
|
|
337
|
-
}
|
|
336
|
+
value: '(min-device-width: 750px)',
|
|
337
|
+
},
|
|
338
338
|
};
|
|
339
339
|
}
|
|
340
340
|
|
|
@@ -343,7 +343,7 @@ class ContextMenu extends ControllerMixin(ElementMixin(ThemePropertyMixin(ItemsM
|
|
|
343
343
|
'_openedChanged(opened)',
|
|
344
344
|
'_targetOrOpenOnChanged(listenOn, openOn)',
|
|
345
345
|
'_rendererChanged(renderer, items)',
|
|
346
|
-
'_touchOrWideChanged(_touch, _wide)'
|
|
346
|
+
'_touchOrWideChanged(_touch, _wide)',
|
|
347
347
|
];
|
|
348
348
|
}
|
|
349
349
|
|
|
@@ -377,7 +377,7 @@ class ContextMenu extends ControllerMixin(ElementMixin(ThemePropertyMixin(ItemsM
|
|
|
377
377
|
this.addController(
|
|
378
378
|
new MediaQueryController(this._wideMediaQuery, (matches) => {
|
|
379
379
|
this._wide = matches;
|
|
380
|
-
})
|
|
380
|
+
}),
|
|
381
381
|
);
|
|
382
382
|
|
|
383
383
|
processTemplates(this);
|
|
@@ -535,7 +535,7 @@ class ContextMenu extends ControllerMixin(ElementMixin(ThemePropertyMixin(ItemsM
|
|
|
535
535
|
if (e && !this.opened) {
|
|
536
536
|
this._context = {
|
|
537
537
|
detail: e.detail,
|
|
538
|
-
target: this._contextTarget(e)
|
|
538
|
+
target: this._contextTarget(e),
|
|
539
539
|
};
|
|
540
540
|
|
|
541
541
|
if (this._context.target) {
|
|
@@ -11,13 +11,13 @@ register({
|
|
|
11
11
|
deps: ['touchstart', 'touchmove', 'touchend', 'contextmenu'],
|
|
12
12
|
flow: {
|
|
13
13
|
start: ['touchstart', 'contextmenu'],
|
|
14
|
-
end: ['contextmenu']
|
|
14
|
+
end: ['contextmenu'],
|
|
15
15
|
},
|
|
16
16
|
|
|
17
17
|
emits: ['vaadin-contextmenu'],
|
|
18
18
|
|
|
19
19
|
info: {
|
|
20
|
-
sourceEvent: null
|
|
20
|
+
sourceEvent: null,
|
|
21
21
|
},
|
|
22
22
|
|
|
23
23
|
reset: function () {
|
|
@@ -38,7 +38,7 @@ register({
|
|
|
38
38
|
this.info.sourceEvent = e;
|
|
39
39
|
this.info.touchStartCoords = {
|
|
40
40
|
x: e.changedTouches[0].clientX,
|
|
41
|
-
y: e.changedTouches[0].clientY
|
|
41
|
+
y: e.changedTouches[0].clientY,
|
|
42
42
|
};
|
|
43
43
|
|
|
44
44
|
// After timeout event is already retargeted to the parent element in case there is one.
|
|
@@ -97,5 +97,5 @@ register({
|
|
|
97
97
|
if (ev.defaultPrevented && sourceEvent && sourceEvent.preventDefault) {
|
|
98
98
|
sourceEvent.preventDefault();
|
|
99
99
|
}
|
|
100
|
-
}
|
|
100
|
+
},
|
|
101
101
|
});
|
|
@@ -95,7 +95,7 @@ export const ItemsMixin = (superClass) =>
|
|
|
95
95
|
* ----------------|----------------|----------------
|
|
96
96
|
* `:host` | expanded | Expanded parent item
|
|
97
97
|
*/
|
|
98
|
-
items: Array
|
|
98
|
+
items: Array,
|
|
99
99
|
};
|
|
100
100
|
}
|
|
101
101
|
|
|
@@ -178,9 +178,9 @@ export const ItemsMixin = (superClass) =>
|
|
|
178
178
|
itemElement.dispatchEvent(
|
|
179
179
|
new CustomEvent('opensubmenu', {
|
|
180
180
|
detail: {
|
|
181
|
-
children: itemElement._item.children
|
|
182
|
-
}
|
|
183
|
-
})
|
|
181
|
+
children: itemElement._item.children,
|
|
182
|
+
},
|
|
183
|
+
}),
|
|
184
184
|
);
|
|
185
185
|
}
|
|
186
186
|
|
|
@@ -326,7 +326,7 @@ export const ItemsMixin = (superClass) =>
|
|
|
326
326
|
if ((!isRTL && e.keyCode === 37) || (isRTL && e.keyCode === 39)) {
|
|
327
327
|
menu.close();
|
|
328
328
|
menu.listenOn.focus();
|
|
329
|
-
} else if (e.
|
|
329
|
+
} else if (e.key === 'Escape' || e.key === 'Tab') {
|
|
330
330
|
menu.dispatchEvent(new CustomEvent('close-all-menus'));
|
|
331
331
|
}
|
|
332
332
|
});
|
|
@@ -334,7 +334,7 @@ export const ItemsMixin = (superClass) =>
|
|
|
334
334
|
requestAnimationFrame(() => (this.__openListenerActive = true));
|
|
335
335
|
const openSubMenu = (
|
|
336
336
|
e,
|
|
337
|
-
itemElement = e.composedPath().filter((e) => e.localName === 'vaadin-context-menu-item')[0]
|
|
337
|
+
itemElement = e.composedPath().filter((e) => e.localName === 'vaadin-context-menu-item')[0],
|
|
338
338
|
) => {
|
|
339
339
|
// Delay enabling the mouseover listener to avoid it from triggering on parent menu open
|
|
340
340
|
if (!this.__openListenerActive) {
|
|
@@ -31,7 +31,7 @@ const contextMenuOverlay = css`
|
|
|
31
31
|
`;
|
|
32
32
|
|
|
33
33
|
registerStyles('vaadin-context-menu-overlay', [menuOverlay, contextMenuOverlay], {
|
|
34
|
-
moduleId: 'lumo-context-menu-overlay'
|
|
34
|
+
moduleId: 'lumo-context-menu-overlay',
|
|
35
35
|
});
|
|
36
36
|
|
|
37
37
|
registerStyles(
|
|
@@ -84,7 +84,7 @@ registerStyles(
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
`,
|
|
87
|
-
{ moduleId: 'lumo-context-menu-list-box' }
|
|
87
|
+
{ moduleId: 'lumo-context-menu-list-box' },
|
|
88
88
|
);
|
|
89
89
|
|
|
90
90
|
registerStyles(
|
|
@@ -124,5 +124,5 @@ registerStyles(
|
|
|
124
124
|
padding-right: var(--lumo-space-m);
|
|
125
125
|
}
|
|
126
126
|
`,
|
|
127
|
-
{ moduleId: 'lumo-context-menu-item' }
|
|
127
|
+
{ moduleId: 'lumo-context-menu-item' },
|
|
128
128
|
);
|
|
@@ -12,7 +12,7 @@ const contextMenuOverlay = css`
|
|
|
12
12
|
`;
|
|
13
13
|
|
|
14
14
|
registerStyles('vaadin-context-menu-overlay', [menuOverlay, contextMenuOverlay], {
|
|
15
|
-
moduleId: 'material-context-menu-overlay'
|
|
15
|
+
moduleId: 'material-context-menu-overlay',
|
|
16
16
|
});
|
|
17
17
|
|
|
18
18
|
registerStyles(
|
|
@@ -44,7 +44,7 @@ registerStyles(
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
`,
|
|
47
|
-
{ moduleId: 'material-context-menu-list-box' }
|
|
47
|
+
{ moduleId: 'material-context-menu-list-box' },
|
|
48
48
|
);
|
|
49
49
|
|
|
50
50
|
registerStyles(
|
|
@@ -79,5 +79,5 @@ registerStyles(
|
|
|
79
79
|
background-color: var(--material-secondary-background-color);
|
|
80
80
|
}
|
|
81
81
|
`,
|
|
82
|
-
{ moduleId: 'material-context-menu-item' }
|
|
82
|
+
{ moduleId: 'material-context-menu-item' },
|
|
83
83
|
);
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import './vaadin-context-menu-styles.js';
|
|
2
2
|
import '@vaadin/item/theme/material/vaadin-item.js';
|
|
3
3
|
import '@vaadin/list-box/theme/material/vaadin-list-box.js';
|
|
4
|
+
import '@vaadin/vaadin-overlay/theme/material/vaadin-overlay.js';
|
|
4
5
|
import '../../src/vaadin-context-menu.js';
|