@progress/kendo-angular-menu 21.4.0-develop.1 → 21.4.0-develop.3
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/esm2022/context-menu/context-menu.component.mjs +7 -2
- package/esm2022/menu-base.mjs +8 -1
- package/esm2022/menu.component.mjs +3 -1
- package/esm2022/package-metadata.mjs +2 -2
- package/esm2022/rendering/list.component.mjs +30 -11
- package/esm2022/rendering/popup-settings.mjs +12 -4
- package/fesm2022/progress-kendo-angular-menu.mjs +59 -19
- package/menu-base.d.ts +7 -1
- package/package.json +7 -7
- package/rendering/list.component.d.ts +7 -3
- package/rendering/popup-settings.d.ts +22 -0
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { Component, Input, ContentChild, ViewChild, EventEmitter, Output, NgZone, Renderer2, TemplateRef, ViewContainerRef, forwardRef } from '@angular/core';
|
|
6
6
|
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
7
7
|
import { PopupService, POPUP_CONTAINER } from '@progress/kendo-angular-popup';
|
|
8
|
-
import { hasObservers, Keys, isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
8
|
+
import { hasObservers, Keys, isDocumentAvailable, parseCSSClassNames } from '@progress/kendo-angular-common';
|
|
9
9
|
import { MenuBase } from '../menu-base';
|
|
10
10
|
import { ContextMenuPopupEvent } from './context-menu-popup-event';
|
|
11
11
|
import { ContextMenuService } from './context-menu.service';
|
|
@@ -18,6 +18,7 @@ import { ContextMenuTargetContainerDirective } from './context-menu-target-conta
|
|
|
18
18
|
import { TARGET_CLASS } from './context-menu-target.directive';
|
|
19
19
|
import { bodyFactory } from '../utils';
|
|
20
20
|
import { MenuComponent } from '../menu.component';
|
|
21
|
+
import { DEFAULT_MARGIN } from '../rendering/popup-settings';
|
|
21
22
|
import * as i0 from "@angular/core";
|
|
22
23
|
import * as i1 from "@progress/kendo-angular-popup";
|
|
23
24
|
import * as i2 from "./context-menu.service";
|
|
@@ -332,6 +333,7 @@ export class ContextMenuComponent extends MenuBase {
|
|
|
332
333
|
});
|
|
333
334
|
}
|
|
334
335
|
createPopup(options) {
|
|
336
|
+
const customClasses = this.popupSettings?.popupClass ? parseCSSClassNames(this.popupSettings.popupClass) : [];
|
|
335
337
|
this.popupRef = this.popupService.open(Object.assign({
|
|
336
338
|
animate: defined(this.popupAnimate) ? this.popupAnimate : true,
|
|
337
339
|
appendTo: this.appendTo,
|
|
@@ -339,7 +341,8 @@ export class ContextMenuComponent extends MenuBase {
|
|
|
339
341
|
popupAlign: this.popupAlign || DEFAULT_POPUP_ALIGN,
|
|
340
342
|
anchorAlign: this.anchorAlign || DEFAULT_ANCHOR_ALIGN,
|
|
341
343
|
content: this.contentTemplate ? this.contentTemplate.templateRef : this.defaultContentTemplate,
|
|
342
|
-
popupClass: 'k-menu-popup',
|
|
344
|
+
popupClass: ['k-menu-popup', ...customClasses],
|
|
345
|
+
margin: this.popupSettings?.margin ?? DEFAULT_MARGIN,
|
|
343
346
|
positionMode: 'absolute'
|
|
344
347
|
}, options));
|
|
345
348
|
const element = this.popupRef.popupElement;
|
|
@@ -431,6 +434,7 @@ export class ContextMenuComponent extends MenuBase {
|
|
|
431
434
|
[openOnClick]="openOnClick"
|
|
432
435
|
[hoverDelay]="hoverDelay"
|
|
433
436
|
[animate]="animate"
|
|
437
|
+
[popupSettings]="popupSettings"
|
|
434
438
|
[menuItemTemplate]="itemTemplate.first?.templateRef"
|
|
435
439
|
[menuItemLinkTemplate]="itemLinkTemplate.first?.templateRef"
|
|
436
440
|
></kendo-menu>
|
|
@@ -473,6 +477,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
473
477
|
[openOnClick]="openOnClick"
|
|
474
478
|
[hoverDelay]="hoverDelay"
|
|
475
479
|
[animate]="animate"
|
|
480
|
+
[popupSettings]="popupSettings"
|
|
476
481
|
[menuItemTemplate]="itemTemplate.first?.templateRef"
|
|
477
482
|
[menuItemLinkTemplate]="itemLinkTemplate.first?.templateRef"
|
|
478
483
|
></kendo-menu>
|
package/esm2022/menu-base.mjs
CHANGED
|
@@ -45,6 +45,11 @@ export class MenuBase {
|
|
|
45
45
|
*
|
|
46
46
|
*/
|
|
47
47
|
size = 'medium';
|
|
48
|
+
/**
|
|
49
|
+
* Configures the popup settings for the Menu items.
|
|
50
|
+
* Allows customization of the popup class and margin.
|
|
51
|
+
*/
|
|
52
|
+
popupSettings;
|
|
48
53
|
/**
|
|
49
54
|
* @hidden
|
|
50
55
|
*/
|
|
@@ -64,7 +69,7 @@ export class MenuBase {
|
|
|
64
69
|
return this.items || (this.children ? this.children.toArray() : []);
|
|
65
70
|
}
|
|
66
71
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
67
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MenuBase, selector: "kendo-menu-base", inputs: { items: "items", vertical: "vertical", openOnClick: "openOnClick", hoverDelay: "hoverDelay", animate: "animate", size: "size" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
|
|
72
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MenuBase, selector: "kendo-menu-base", inputs: { items: "items", vertical: "vertical", openOnClick: "openOnClick", hoverDelay: "hoverDelay", animate: "animate", size: "size", popupSettings: "popupSettings" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
|
|
68
73
|
}
|
|
69
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuBase, decorators: [{
|
|
70
75
|
type: Component,
|
|
@@ -84,6 +89,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
84
89
|
type: Input
|
|
85
90
|
}], size: [{
|
|
86
91
|
type: Input
|
|
92
|
+
}], popupSettings: [{
|
|
93
|
+
type: Input
|
|
87
94
|
}], itemTemplate: [{
|
|
88
95
|
type: ContentChildren,
|
|
89
96
|
args: [ItemTemplateDirective]
|
|
@@ -242,9 +242,10 @@ export class MenuComponent extends MenuBase {
|
|
|
242
242
|
[size]="size" [vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"
|
|
243
243
|
[itemTemplate]="itemTemplate.first?.templateRef || menuItemTemplate"
|
|
244
244
|
[itemLinkTemplate]="itemLinkTemplate.first?.templateRef || menuItemLinkTemplate"
|
|
245
|
+
[popupSettings]="popupSettings"
|
|
245
246
|
[ngClass]="menuClasses">
|
|
246
247
|
</ul>
|
|
247
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
248
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
248
249
|
}
|
|
249
250
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuComponent, decorators: [{
|
|
250
251
|
type: Component,
|
|
@@ -274,6 +275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
274
275
|
[size]="size" [vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"
|
|
275
276
|
[itemTemplate]="itemTemplate.first?.templateRef || menuItemTemplate"
|
|
276
277
|
[itemLinkTemplate]="itemLinkTemplate.first?.templateRef || menuItemLinkTemplate"
|
|
278
|
+
[popupSettings]="popupSettings"
|
|
277
279
|
[ngClass]="menuClasses">
|
|
278
280
|
</ul>
|
|
279
281
|
`,
|
|
@@ -10,7 +10,7 @@ export const packageMetadata = {
|
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCode: 'KENDOUIANGULAR',
|
|
12
12
|
productCodes: ['KENDOUIANGULAR'],
|
|
13
|
-
publishDate:
|
|
14
|
-
version: '21.4.0-develop.
|
|
13
|
+
publishDate: 1765793550,
|
|
14
|
+
version: '21.4.0-develop.3',
|
|
15
15
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
16
16
|
};
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import { Component, ElementRef, Input, NgZone, Optional, Renderer2, TemplateRef, ViewContainerRef, forwardRef } from '@angular/core';
|
|
6
6
|
import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
|
|
7
7
|
import { ChangeDetectorRef, HostBinding, ViewChild } from '@angular/core';
|
|
8
|
-
import { isDocumentAvailable } from '@progress/kendo-angular-common';
|
|
8
|
+
import { isDocumentAvailable, isPresent, parseCSSClassNames } from '@progress/kendo-angular-common';
|
|
9
9
|
import { POPUP_CONTAINER, PopupService } from '@progress/kendo-angular-popup';
|
|
10
10
|
import { IconWrapperComponent } from '@progress/kendo-angular-icons';
|
|
11
11
|
import { ContextMenuService } from '../context-menu/context-menu.service';
|
|
@@ -16,7 +16,7 @@ import { HoverService } from '../services/hover.service';
|
|
|
16
16
|
import { ItemsService } from '../services/items.service';
|
|
17
17
|
import { NavigationService } from '../services/navigation.service';
|
|
18
18
|
import { bodyFactory, getFontIcon, getSizeClass, getSVGIcon } from '../utils';
|
|
19
|
-
import { POPUP_SETTINGS, POPUP_SETTINGS_RTL } from './popup-settings';
|
|
19
|
+
import { DEFAULT_MARGIN, POPUP_SETTINGS, POPUP_SETTINGS_RTL } from './popup-settings';
|
|
20
20
|
import * as i0 from "@angular/core";
|
|
21
21
|
import * as i1 from "../services/items.service";
|
|
22
22
|
import * as i2 from "../services/hover.service";
|
|
@@ -47,6 +47,7 @@ export class ListComponent {
|
|
|
47
47
|
openOnClick;
|
|
48
48
|
itemTemplate;
|
|
49
49
|
itemLinkTemplate;
|
|
50
|
+
popupSettings;
|
|
50
51
|
domSubscriptions;
|
|
51
52
|
constructor(itemsService, hover, actions, navigation, renderer, ngZone, element) {
|
|
52
53
|
this.itemsService = itemsService;
|
|
@@ -196,7 +197,7 @@ export class ListComponent {
|
|
|
196
197
|
this.actions.execute();
|
|
197
198
|
}
|
|
198
199
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListComponent, deps: [{ token: i1.ItemsService }, { token: i2.HoverService }, { token: i3.ActionsService }, { token: i4.NavigationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
199
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListComponent, isStandalone: true, selector: "[kendoMenuList]", inputs: { appendTo: "appendTo", items: "items", level: "level", index: "index", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate" }, ngImport: i0, template: "\n @for (item of items; track item; let idx = $index) {\n @if (!item.separator) {\n <li\n kendoMenuItem\n [appendTo]=\"appendTo\"\n [item]=\"item\"\n [level]=\"level\"\n [size]=\"size\"\n [vertical]=\"vertical\"\n [animate]=\"animate\"\n [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate\"\n [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\"\n [siblingIndex]=\"idx\"\n [attr.data-kendo-menu-index]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\"\n [class.k-last]=\"idx === items.length - 1\"\n [class.k-disabled]=\"item.disabled\"></li>\n }\n @if (item.separator) {\n <li\n class=\"k-separator k-item\"\n [ngClass]=\"item.cssClass\"\n aria-hidden=\"true\"\n [ngStyle]=\"item.cssStyle\">\n \n </li>\n }\n }\n ", isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(() => ItemComponent), selector: "[kendoMenuItem]", inputs: ["appendTo", "item", "level", "index", "siblingIndex", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
200
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListComponent, isStandalone: true, selector: "[kendoMenuList]", inputs: { appendTo: "appendTo", items: "items", level: "level", index: "index", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate", popupSettings: "popupSettings" }, ngImport: i0, template: "\n @for (item of items; track item; let idx = $index) {\n @if (!item.separator) {\n <li\n kendoMenuItem\n [appendTo]=\"appendTo\"\n [item]=\"item\"\n [level]=\"level\"\n [size]=\"size\"\n [vertical]=\"vertical\"\n [animate]=\"animate\"\n [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate\"\n [popupSettings]=\"popupSettings\"\n [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\"\n [siblingIndex]=\"idx\"\n [attr.data-kendo-menu-index]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\"\n [class.k-last]=\"idx === items.length - 1\"\n [class.k-disabled]=\"item.disabled\"></li>\n }\n @if (item.separator) {\n <li\n class=\"k-separator k-item\"\n [ngClass]=\"item.cssClass\"\n aria-hidden=\"true\"\n [ngStyle]=\"item.cssStyle\">\n \n </li>\n }\n }\n ", isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(() => ItemComponent), selector: "[kendoMenuItem]", inputs: ["appendTo", "item", "level", "index", "siblingIndex", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
200
201
|
}
|
|
201
202
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListComponent, decorators: [{
|
|
202
203
|
type: Component,
|
|
@@ -216,6 +217,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
216
217
|
[rtl]="rtl"
|
|
217
218
|
[itemTemplate]="itemTemplate"
|
|
218
219
|
[itemLinkTemplate]="itemLinkTemplate"
|
|
220
|
+
[popupSettings]="popupSettings"
|
|
219
221
|
[openOnClick]="openOnClick"
|
|
220
222
|
[index]="hierarchyIndex(idx)"
|
|
221
223
|
[siblingIndex]="idx"
|
|
@@ -264,6 +266,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
264
266
|
type: Input
|
|
265
267
|
}], itemLinkTemplate: [{
|
|
266
268
|
type: Input
|
|
269
|
+
}], popupSettings: [{
|
|
270
|
+
type: Input
|
|
267
271
|
}] } });
|
|
268
272
|
/**
|
|
269
273
|
* @hidden
|
|
@@ -301,6 +305,7 @@ export class ItemComponent {
|
|
|
301
305
|
openOnClick = false;
|
|
302
306
|
itemTemplate;
|
|
303
307
|
itemLinkTemplate;
|
|
308
|
+
popupSettings;
|
|
304
309
|
link;
|
|
305
310
|
popupTemplate;
|
|
306
311
|
get disabled() {
|
|
@@ -312,7 +317,7 @@ export class ItemComponent {
|
|
|
312
317
|
get label() {
|
|
313
318
|
return this.item.text ? this.item.text : null;
|
|
314
319
|
}
|
|
315
|
-
get
|
|
320
|
+
get defaultPopupSettings() {
|
|
316
321
|
const settings = this.rtl ? POPUP_SETTINGS_RTL : POPUP_SETTINGS;
|
|
317
322
|
return this.horizontal ? settings.horizontal : settings.vertical;
|
|
318
323
|
}
|
|
@@ -421,7 +426,7 @@ export class ItemComponent {
|
|
|
421
426
|
}
|
|
422
427
|
open() {
|
|
423
428
|
if (!this.destroyed && this.hasContent && !this.opened) {
|
|
424
|
-
const popupSettings = this.
|
|
429
|
+
const popupSettings = this.getMergedPopupSettings();
|
|
425
430
|
const animate = this.animate ? Object.assign({}, this.animate, {
|
|
426
431
|
direction: popupSettings.animate
|
|
427
432
|
}) : false;
|
|
@@ -434,10 +439,8 @@ export class ItemComponent {
|
|
|
434
439
|
anchor: this.element,
|
|
435
440
|
positionMode: 'absolute',
|
|
436
441
|
content: this.popupTemplate,
|
|
437
|
-
popupClass:
|
|
438
|
-
|
|
439
|
-
'k-menu-popup': true
|
|
440
|
-
},
|
|
442
|
+
popupClass: popupSettings.popupClass,
|
|
443
|
+
margin: popupSettings.margin,
|
|
441
444
|
animate: animate
|
|
442
445
|
});
|
|
443
446
|
this.setAttribute('aria-expanded', 'true');
|
|
@@ -474,8 +477,20 @@ export class ItemComponent {
|
|
|
474
477
|
setAttribute(name, value) {
|
|
475
478
|
this.renderer.setAttribute(this.element.nativeElement, name, value);
|
|
476
479
|
}
|
|
480
|
+
getMergedPopupSettings() {
|
|
481
|
+
if (!isPresent(this.popupSettings)) {
|
|
482
|
+
return this.defaultPopupSettings;
|
|
483
|
+
}
|
|
484
|
+
const defaultSettings = this.defaultPopupSettings;
|
|
485
|
+
const customClasses = this.popupSettings.popupClass ? parseCSSClassNames(this.popupSettings.popupClass) : [];
|
|
486
|
+
return {
|
|
487
|
+
...defaultSettings,
|
|
488
|
+
popupClass: customClasses.length ? [...defaultSettings.popupClass, ...customClasses] : defaultSettings.popupClass,
|
|
489
|
+
margin: this.popupSettings.margin ?? DEFAULT_MARGIN
|
|
490
|
+
};
|
|
491
|
+
}
|
|
477
492
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ItemComponent, deps: [{ token: i1.ItemsService }, { token: i4.NavigationService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i5.PopupService }, { token: i0.ElementRef }, { token: i6.ContextMenuService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
478
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ItemComponent, isStandalone: true, selector: "[kendoMenuItem]", inputs: { appendTo: "appendTo", item: "item", level: "level", index: "index", siblingIndex: "siblingIndex", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate" }, host: { properties: { "attr.aria-disabled": "this.disabled", "attr.aria-haspopup": "this.hasPopup", "attr.aria-label": "this.label" } }, providers: [PopupService, {
|
|
493
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ItemComponent, isStandalone: true, selector: "[kendoMenuItem]", inputs: { appendTo: "appendTo", item: "item", level: "level", index: "index", siblingIndex: "siblingIndex", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate", popupSettings: "popupSettings" }, host: { properties: { "attr.aria-disabled": "this.disabled", "attr.aria-haspopup": "this.hasPopup", "attr.aria-label": "this.label" } }, providers: [PopupService, {
|
|
479
494
|
provide: POPUP_CONTAINER,
|
|
480
495
|
useFactory: bodyFactory
|
|
481
496
|
}], viewQueries: [{ propertyName: "link", first: true, predicate: ["link"], descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }], ngImport: i0, template: `
|
|
@@ -520,6 +535,7 @@ export class ItemComponent {
|
|
|
520
535
|
[index]="index"
|
|
521
536
|
[itemTemplate]="itemTemplate"
|
|
522
537
|
[itemLinkTemplate]="itemLinkTemplate"
|
|
538
|
+
[popupSettings]="popupSettings"
|
|
523
539
|
[ngClass]="menuListClasses"
|
|
524
540
|
role="menu">
|
|
525
541
|
</ul>
|
|
@@ -540,7 +556,7 @@ export class ItemComponent {
|
|
|
540
556
|
<kendo-icon-wrapper [name]="fontIcon(horizontal, rtl)" [svgIcon]="SVGIcon(horizontal, rtl)" class="k-menu-expand-arrow" aria-hidden="true"></kendo-icon-wrapper>
|
|
541
557
|
}
|
|
542
558
|
</ng-template>
|
|
543
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
559
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
544
560
|
}
|
|
545
561
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ItemComponent, decorators: [{
|
|
546
562
|
type: Component,
|
|
@@ -592,6 +608,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
592
608
|
[index]="index"
|
|
593
609
|
[itemTemplate]="itemTemplate"
|
|
594
610
|
[itemLinkTemplate]="itemLinkTemplate"
|
|
611
|
+
[popupSettings]="popupSettings"
|
|
595
612
|
[ngClass]="menuListClasses"
|
|
596
613
|
role="menu">
|
|
597
614
|
</ul>
|
|
@@ -642,6 +659,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
642
659
|
type: Input
|
|
643
660
|
}], itemLinkTemplate: [{
|
|
644
661
|
type: Input
|
|
662
|
+
}], popupSettings: [{
|
|
663
|
+
type: Input
|
|
645
664
|
}], link: [{
|
|
646
665
|
type: ViewChild,
|
|
647
666
|
args: ['link', { static: false }]
|
|
@@ -18,6 +18,10 @@ const HORIZONTAL_COLLISION = {
|
|
|
18
18
|
vertical: 'fit',
|
|
19
19
|
horizontal: 'flip'
|
|
20
20
|
};
|
|
21
|
+
/**
|
|
22
|
+
* @hidden
|
|
23
|
+
*/
|
|
24
|
+
export const DEFAULT_MARGIN = { horizontal: 0, vertical: 0 };
|
|
21
25
|
/**
|
|
22
26
|
* @hidden
|
|
23
27
|
*/
|
|
@@ -29,7 +33,8 @@ export const POPUP_SETTINGS_RTL = {
|
|
|
29
33
|
},
|
|
30
34
|
popup: POPUP_ALIGN_RTL,
|
|
31
35
|
collision: VERTICAL_COLLISION,
|
|
32
|
-
animate: 'down'
|
|
36
|
+
animate: 'down',
|
|
37
|
+
popupClass: ['k-rtl', 'k-menu-popup']
|
|
33
38
|
},
|
|
34
39
|
horizontal: {
|
|
35
40
|
anchor: {
|
|
@@ -38,7 +43,8 @@ export const POPUP_SETTINGS_RTL = {
|
|
|
38
43
|
},
|
|
39
44
|
popup: POPUP_ALIGN_RTL,
|
|
40
45
|
collision: HORIZONTAL_COLLISION,
|
|
41
|
-
animate: 'left'
|
|
46
|
+
animate: 'left',
|
|
47
|
+
popupClass: ['k-rtl', 'k-menu-popup']
|
|
42
48
|
}
|
|
43
49
|
};
|
|
44
50
|
/**
|
|
@@ -52,7 +58,8 @@ export const POPUP_SETTINGS = {
|
|
|
52
58
|
},
|
|
53
59
|
popup: POPUP_ALIGN,
|
|
54
60
|
collision: VERTICAL_COLLISION,
|
|
55
|
-
animate: 'down'
|
|
61
|
+
animate: 'down',
|
|
62
|
+
popupClass: ['k-menu-popup']
|
|
56
63
|
},
|
|
57
64
|
horizontal: {
|
|
58
65
|
anchor: {
|
|
@@ -61,6 +68,7 @@ export const POPUP_SETTINGS = {
|
|
|
61
68
|
},
|
|
62
69
|
popup: POPUP_ALIGN,
|
|
63
70
|
collision: HORIZONTAL_COLLISION,
|
|
64
|
-
animate: 'right'
|
|
71
|
+
animate: 'right',
|
|
72
|
+
popupClass: ['k-menu-popup']
|
|
65
73
|
}
|
|
66
74
|
};
|
|
@@ -8,7 +8,7 @@ import { NgClass, NgStyle, NgTemplateOutlet } from '@angular/common';
|
|
|
8
8
|
import * as i3 from '@progress/kendo-angular-l10n';
|
|
9
9
|
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
10
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
|
-
import { PreventableEvent as PreventableEvent$1, hasObservers, Keys, normalizeKeys, isDocumentAvailable, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
11
|
+
import { PreventableEvent as PreventableEvent$1, hasObservers, Keys, normalizeKeys, isDocumentAvailable, isPresent, parseCSSClassNames, ResizeBatchService } from '@progress/kendo-angular-common';
|
|
12
12
|
import { caretAltLeftIcon, caretAltRightIcon, caretAltDownIcon } from '@progress/kendo-svg-icons';
|
|
13
13
|
import * as i5 from '@progress/kendo-angular-popup';
|
|
14
14
|
import { PopupService, POPUP_CONTAINER } from '@progress/kendo-angular-popup';
|
|
@@ -22,8 +22,8 @@ const packageMetadata = {
|
|
|
22
22
|
productName: 'Kendo UI for Angular',
|
|
23
23
|
productCode: 'KENDOUIANGULAR',
|
|
24
24
|
productCodes: ['KENDOUIANGULAR'],
|
|
25
|
-
publishDate:
|
|
26
|
-
version: '21.4.0-develop.
|
|
25
|
+
publishDate: 1765793550,
|
|
26
|
+
version: '21.4.0-develop.3',
|
|
27
27
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
28
28
|
};
|
|
29
29
|
|
|
@@ -1171,6 +1171,11 @@ class MenuBase {
|
|
|
1171
1171
|
*
|
|
1172
1172
|
*/
|
|
1173
1173
|
size = 'medium';
|
|
1174
|
+
/**
|
|
1175
|
+
* Configures the popup settings for the Menu items.
|
|
1176
|
+
* Allows customization of the popup class and margin.
|
|
1177
|
+
*/
|
|
1178
|
+
popupSettings;
|
|
1174
1179
|
/**
|
|
1175
1180
|
* @hidden
|
|
1176
1181
|
*/
|
|
@@ -1190,7 +1195,7 @@ class MenuBase {
|
|
|
1190
1195
|
return this.items || (this.children ? this.children.toArray() : []);
|
|
1191
1196
|
}
|
|
1192
1197
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1193
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MenuBase, selector: "kendo-menu-base", inputs: { items: "items", vertical: "vertical", openOnClick: "openOnClick", hoverDelay: "hoverDelay", animate: "animate", size: "size" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
|
|
1198
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MenuBase, selector: "kendo-menu-base", inputs: { items: "items", vertical: "vertical", openOnClick: "openOnClick", hoverDelay: "hoverDelay", animate: "animate", size: "size", popupSettings: "popupSettings" }, queries: [{ propertyName: "itemTemplate", predicate: ItemTemplateDirective }, { propertyName: "itemLinkTemplate", predicate: ItemLinkTemplateDirective }, { propertyName: "children", predicate: MenuItemComponent }], ngImport: i0, template: ``, isInline: true });
|
|
1194
1199
|
}
|
|
1195
1200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuBase, decorators: [{
|
|
1196
1201
|
type: Component,
|
|
@@ -1210,6 +1215,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1210
1215
|
type: Input
|
|
1211
1216
|
}], size: [{
|
|
1212
1217
|
type: Input
|
|
1218
|
+
}], popupSettings: [{
|
|
1219
|
+
type: Input
|
|
1213
1220
|
}], itemTemplate: [{
|
|
1214
1221
|
type: ContentChildren,
|
|
1215
1222
|
args: [ItemTemplateDirective]
|
|
@@ -1283,6 +1290,10 @@ const HORIZONTAL_COLLISION = {
|
|
|
1283
1290
|
vertical: 'fit',
|
|
1284
1291
|
horizontal: 'flip'
|
|
1285
1292
|
};
|
|
1293
|
+
/**
|
|
1294
|
+
* @hidden
|
|
1295
|
+
*/
|
|
1296
|
+
const DEFAULT_MARGIN = { horizontal: 0, vertical: 0 };
|
|
1286
1297
|
/**
|
|
1287
1298
|
* @hidden
|
|
1288
1299
|
*/
|
|
@@ -1294,7 +1305,8 @@ const POPUP_SETTINGS_RTL = {
|
|
|
1294
1305
|
},
|
|
1295
1306
|
popup: POPUP_ALIGN_RTL,
|
|
1296
1307
|
collision: VERTICAL_COLLISION,
|
|
1297
|
-
animate: 'down'
|
|
1308
|
+
animate: 'down',
|
|
1309
|
+
popupClass: ['k-rtl', 'k-menu-popup']
|
|
1298
1310
|
},
|
|
1299
1311
|
horizontal: {
|
|
1300
1312
|
anchor: {
|
|
@@ -1303,7 +1315,8 @@ const POPUP_SETTINGS_RTL = {
|
|
|
1303
1315
|
},
|
|
1304
1316
|
popup: POPUP_ALIGN_RTL,
|
|
1305
1317
|
collision: HORIZONTAL_COLLISION,
|
|
1306
|
-
animate: 'left'
|
|
1318
|
+
animate: 'left',
|
|
1319
|
+
popupClass: ['k-rtl', 'k-menu-popup']
|
|
1307
1320
|
}
|
|
1308
1321
|
};
|
|
1309
1322
|
/**
|
|
@@ -1317,7 +1330,8 @@ const POPUP_SETTINGS = {
|
|
|
1317
1330
|
},
|
|
1318
1331
|
popup: POPUP_ALIGN,
|
|
1319
1332
|
collision: VERTICAL_COLLISION,
|
|
1320
|
-
animate: 'down'
|
|
1333
|
+
animate: 'down',
|
|
1334
|
+
popupClass: ['k-menu-popup']
|
|
1321
1335
|
},
|
|
1322
1336
|
horizontal: {
|
|
1323
1337
|
anchor: {
|
|
@@ -1326,7 +1340,8 @@ const POPUP_SETTINGS = {
|
|
|
1326
1340
|
},
|
|
1327
1341
|
popup: POPUP_ALIGN,
|
|
1328
1342
|
collision: HORIZONTAL_COLLISION,
|
|
1329
|
-
animate: 'right'
|
|
1343
|
+
animate: 'right',
|
|
1344
|
+
popupClass: ['k-menu-popup']
|
|
1330
1345
|
}
|
|
1331
1346
|
};
|
|
1332
1347
|
|
|
@@ -1353,6 +1368,7 @@ class ListComponent {
|
|
|
1353
1368
|
openOnClick;
|
|
1354
1369
|
itemTemplate;
|
|
1355
1370
|
itemLinkTemplate;
|
|
1371
|
+
popupSettings;
|
|
1356
1372
|
domSubscriptions;
|
|
1357
1373
|
constructor(itemsService, hover, actions, navigation, renderer, ngZone, element) {
|
|
1358
1374
|
this.itemsService = itemsService;
|
|
@@ -1502,7 +1518,7 @@ class ListComponent {
|
|
|
1502
1518
|
this.actions.execute();
|
|
1503
1519
|
}
|
|
1504
1520
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListComponent, deps: [{ token: ItemsService }, { token: HoverService }, { token: ActionsService }, { token: NavigationService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1505
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListComponent, isStandalone: true, selector: "[kendoMenuList]", inputs: { appendTo: "appendTo", items: "items", level: "level", index: "index", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate" }, ngImport: i0, template: "\n @for (item of items; track item; let idx = $index) {\n @if (!item.separator) {\n <li\n kendoMenuItem\n [appendTo]=\"appendTo\"\n [item]=\"item\"\n [level]=\"level\"\n [size]=\"size\"\n [vertical]=\"vertical\"\n [animate]=\"animate\"\n [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate\"\n [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\"\n [siblingIndex]=\"idx\"\n [attr.data-kendo-menu-index]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\"\n [class.k-last]=\"idx === items.length - 1\"\n [class.k-disabled]=\"item.disabled\"></li>\n }\n @if (item.separator) {\n <li\n class=\"k-separator k-item\"\n [ngClass]=\"item.cssClass\"\n aria-hidden=\"true\"\n [ngStyle]=\"item.cssStyle\">\n \n </li>\n }\n }\n ", isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(() => ItemComponent), selector: "[kendoMenuItem]", inputs: ["appendTo", "item", "level", "index", "siblingIndex", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
1521
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ListComponent, isStandalone: true, selector: "[kendoMenuList]", inputs: { appendTo: "appendTo", items: "items", level: "level", index: "index", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate", popupSettings: "popupSettings" }, ngImport: i0, template: "\n @for (item of items; track item; let idx = $index) {\n @if (!item.separator) {\n <li\n kendoMenuItem\n [appendTo]=\"appendTo\"\n [item]=\"item\"\n [level]=\"level\"\n [size]=\"size\"\n [vertical]=\"vertical\"\n [animate]=\"animate\"\n [rtl]=\"rtl\"\n [itemTemplate]=\"itemTemplate\"\n [itemLinkTemplate]=\"itemLinkTemplate\"\n [popupSettings]=\"popupSettings\"\n [openOnClick]=\"openOnClick\"\n [index]=\"hierarchyIndex(idx)\"\n [siblingIndex]=\"idx\"\n [attr.data-kendo-menu-index]=\"hierarchyIndex(idx)\"\n [ngClass]=\"item.cssClass\"\n [ngStyle]=\"item.cssStyle\"\n role=\"menuitem\"\n class=\"k-item k-menu-item\"\n [class.k-first]=\"idx === 0\"\n [class.k-last]=\"idx === items.length - 1\"\n [class.k-disabled]=\"item.disabled\"></li>\n }\n @if (item.separator) {\n <li\n class=\"k-separator k-item\"\n [ngClass]=\"item.cssClass\"\n aria-hidden=\"true\"\n [ngStyle]=\"item.cssStyle\">\n \n </li>\n }\n }\n ", isInline: true, dependencies: [{ kind: "component", type: i0.forwardRef(() => ItemComponent), selector: "[kendoMenuItem]", inputs: ["appendTo", "item", "level", "index", "siblingIndex", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings"] }, { kind: "directive", type: i0.forwardRef(() => NgClass), selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i0.forwardRef(() => NgStyle), selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
1506
1522
|
}
|
|
1507
1523
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ListComponent, decorators: [{
|
|
1508
1524
|
type: Component,
|
|
@@ -1522,6 +1538,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1522
1538
|
[rtl]="rtl"
|
|
1523
1539
|
[itemTemplate]="itemTemplate"
|
|
1524
1540
|
[itemLinkTemplate]="itemLinkTemplate"
|
|
1541
|
+
[popupSettings]="popupSettings"
|
|
1525
1542
|
[openOnClick]="openOnClick"
|
|
1526
1543
|
[index]="hierarchyIndex(idx)"
|
|
1527
1544
|
[siblingIndex]="idx"
|
|
@@ -1570,6 +1587,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1570
1587
|
type: Input
|
|
1571
1588
|
}], itemLinkTemplate: [{
|
|
1572
1589
|
type: Input
|
|
1590
|
+
}], popupSettings: [{
|
|
1591
|
+
type: Input
|
|
1573
1592
|
}] } });
|
|
1574
1593
|
/**
|
|
1575
1594
|
* @hidden
|
|
@@ -1607,6 +1626,7 @@ class ItemComponent {
|
|
|
1607
1626
|
openOnClick = false;
|
|
1608
1627
|
itemTemplate;
|
|
1609
1628
|
itemLinkTemplate;
|
|
1629
|
+
popupSettings;
|
|
1610
1630
|
link;
|
|
1611
1631
|
popupTemplate;
|
|
1612
1632
|
get disabled() {
|
|
@@ -1618,7 +1638,7 @@ class ItemComponent {
|
|
|
1618
1638
|
get label() {
|
|
1619
1639
|
return this.item.text ? this.item.text : null;
|
|
1620
1640
|
}
|
|
1621
|
-
get
|
|
1641
|
+
get defaultPopupSettings() {
|
|
1622
1642
|
const settings = this.rtl ? POPUP_SETTINGS_RTL : POPUP_SETTINGS;
|
|
1623
1643
|
return this.horizontal ? settings.horizontal : settings.vertical;
|
|
1624
1644
|
}
|
|
@@ -1727,7 +1747,7 @@ class ItemComponent {
|
|
|
1727
1747
|
}
|
|
1728
1748
|
open() {
|
|
1729
1749
|
if (!this.destroyed && this.hasContent && !this.opened) {
|
|
1730
|
-
const popupSettings = this.
|
|
1750
|
+
const popupSettings = this.getMergedPopupSettings();
|
|
1731
1751
|
const animate = this.animate ? Object.assign({}, this.animate, {
|
|
1732
1752
|
direction: popupSettings.animate
|
|
1733
1753
|
}) : false;
|
|
@@ -1740,10 +1760,8 @@ class ItemComponent {
|
|
|
1740
1760
|
anchor: this.element,
|
|
1741
1761
|
positionMode: 'absolute',
|
|
1742
1762
|
content: this.popupTemplate,
|
|
1743
|
-
popupClass:
|
|
1744
|
-
|
|
1745
|
-
'k-menu-popup': true
|
|
1746
|
-
},
|
|
1763
|
+
popupClass: popupSettings.popupClass,
|
|
1764
|
+
margin: popupSettings.margin,
|
|
1747
1765
|
animate: animate
|
|
1748
1766
|
});
|
|
1749
1767
|
this.setAttribute('aria-expanded', 'true');
|
|
@@ -1780,8 +1798,20 @@ class ItemComponent {
|
|
|
1780
1798
|
setAttribute(name, value) {
|
|
1781
1799
|
this.renderer.setAttribute(this.element.nativeElement, name, value);
|
|
1782
1800
|
}
|
|
1801
|
+
getMergedPopupSettings() {
|
|
1802
|
+
if (!isPresent(this.popupSettings)) {
|
|
1803
|
+
return this.defaultPopupSettings;
|
|
1804
|
+
}
|
|
1805
|
+
const defaultSettings = this.defaultPopupSettings;
|
|
1806
|
+
const customClasses = this.popupSettings.popupClass ? parseCSSClassNames(this.popupSettings.popupClass) : [];
|
|
1807
|
+
return {
|
|
1808
|
+
...defaultSettings,
|
|
1809
|
+
popupClass: customClasses.length ? [...defaultSettings.popupClass, ...customClasses] : defaultSettings.popupClass,
|
|
1810
|
+
margin: this.popupSettings.margin ?? DEFAULT_MARGIN
|
|
1811
|
+
};
|
|
1812
|
+
}
|
|
1783
1813
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ItemComponent, deps: [{ token: ItemsService }, { token: NavigationService }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }, { token: i5.PopupService }, { token: i0.ElementRef }, { token: ContextMenuService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
1784
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ItemComponent, isStandalone: true, selector: "[kendoMenuItem]", inputs: { appendTo: "appendTo", item: "item", level: "level", index: "index", siblingIndex: "siblingIndex", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate" }, host: { properties: { "attr.aria-disabled": "this.disabled", "attr.aria-haspopup": "this.hasPopup", "attr.aria-label": "this.label" } }, providers: [PopupService, {
|
|
1814
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: ItemComponent, isStandalone: true, selector: "[kendoMenuItem]", inputs: { appendTo: "appendTo", item: "item", level: "level", index: "index", siblingIndex: "siblingIndex", animate: "animate", size: "size", vertical: "vertical", rtl: "rtl", openOnClick: "openOnClick", itemTemplate: "itemTemplate", itemLinkTemplate: "itemLinkTemplate", popupSettings: "popupSettings" }, host: { properties: { "attr.aria-disabled": "this.disabled", "attr.aria-haspopup": "this.hasPopup", "attr.aria-label": "this.label" } }, providers: [PopupService, {
|
|
1785
1815
|
provide: POPUP_CONTAINER,
|
|
1786
1816
|
useFactory: bodyFactory
|
|
1787
1817
|
}], viewQueries: [{ propertyName: "link", first: true, predicate: ["link"], descendants: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }], ngImport: i0, template: `
|
|
@@ -1826,6 +1856,7 @@ class ItemComponent {
|
|
|
1826
1856
|
[index]="index"
|
|
1827
1857
|
[itemTemplate]="itemTemplate"
|
|
1828
1858
|
[itemLinkTemplate]="itemLinkTemplate"
|
|
1859
|
+
[popupSettings]="popupSettings"
|
|
1829
1860
|
[ngClass]="menuListClasses"
|
|
1830
1861
|
role="menu">
|
|
1831
1862
|
</ul>
|
|
@@ -1846,7 +1877,7 @@ class ItemComponent {
|
|
|
1846
1877
|
<kendo-icon-wrapper [name]="fontIcon(horizontal, rtl)" [svgIcon]="SVGIcon(horizontal, rtl)" class="k-menu-expand-arrow" aria-hidden="true"></kendo-icon-wrapper>
|
|
1847
1878
|
}
|
|
1848
1879
|
</ng-template>
|
|
1849
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
1880
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
|
|
1850
1881
|
}
|
|
1851
1882
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ItemComponent, decorators: [{
|
|
1852
1883
|
type: Component,
|
|
@@ -1898,6 +1929,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1898
1929
|
[index]="index"
|
|
1899
1930
|
[itemTemplate]="itemTemplate"
|
|
1900
1931
|
[itemLinkTemplate]="itemLinkTemplate"
|
|
1932
|
+
[popupSettings]="popupSettings"
|
|
1901
1933
|
[ngClass]="menuListClasses"
|
|
1902
1934
|
role="menu">
|
|
1903
1935
|
</ul>
|
|
@@ -1948,6 +1980,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
1948
1980
|
type: Input
|
|
1949
1981
|
}], itemLinkTemplate: [{
|
|
1950
1982
|
type: Input
|
|
1983
|
+
}], popupSettings: [{
|
|
1984
|
+
type: Input
|
|
1951
1985
|
}], link: [{
|
|
1952
1986
|
type: ViewChild,
|
|
1953
1987
|
args: ['link', { static: false }]
|
|
@@ -2182,9 +2216,10 @@ class MenuComponent extends MenuBase {
|
|
|
2182
2216
|
[size]="size" [vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"
|
|
2183
2217
|
[itemTemplate]="itemTemplate.first?.templateRef || menuItemTemplate"
|
|
2184
2218
|
[itemLinkTemplate]="itemLinkTemplate.first?.templateRef || menuItemLinkTemplate"
|
|
2219
|
+
[popupSettings]="popupSettings"
|
|
2185
2220
|
[ngClass]="menuClasses">
|
|
2186
2221
|
</ul>
|
|
2187
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
2222
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ListComponent, selector: "[kendoMenuList]", inputs: ["appendTo", "items", "level", "index", "animate", "size", "vertical", "rtl", "openOnClick", "itemTemplate", "itemLinkTemplate", "popupSettings"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
2188
2223
|
}
|
|
2189
2224
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MenuComponent, decorators: [{
|
|
2190
2225
|
type: Component,
|
|
@@ -2214,6 +2249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
2214
2249
|
[size]="size" [vertical]="vertical" [rtl]="rtl" [animate]="animate" [openOnClick]="openOnClick"
|
|
2215
2250
|
[itemTemplate]="itemTemplate.first?.templateRef || menuItemTemplate"
|
|
2216
2251
|
[itemLinkTemplate]="itemLinkTemplate.first?.templateRef || menuItemLinkTemplate"
|
|
2252
|
+
[popupSettings]="popupSettings"
|
|
2217
2253
|
[ngClass]="menuClasses">
|
|
2218
2254
|
</ul>
|
|
2219
2255
|
`,
|
|
@@ -3244,6 +3280,7 @@ class ContextMenuComponent extends MenuBase {
|
|
|
3244
3280
|
});
|
|
3245
3281
|
}
|
|
3246
3282
|
createPopup(options) {
|
|
3283
|
+
const customClasses = this.popupSettings?.popupClass ? parseCSSClassNames(this.popupSettings.popupClass) : [];
|
|
3247
3284
|
this.popupRef = this.popupService.open(Object.assign({
|
|
3248
3285
|
animate: defined(this.popupAnimate) ? this.popupAnimate : true,
|
|
3249
3286
|
appendTo: this.appendTo,
|
|
@@ -3251,7 +3288,8 @@ class ContextMenuComponent extends MenuBase {
|
|
|
3251
3288
|
popupAlign: this.popupAlign || DEFAULT_POPUP_ALIGN,
|
|
3252
3289
|
anchorAlign: this.anchorAlign || DEFAULT_ANCHOR_ALIGN,
|
|
3253
3290
|
content: this.contentTemplate ? this.contentTemplate.templateRef : this.defaultContentTemplate,
|
|
3254
|
-
popupClass: 'k-menu-popup',
|
|
3291
|
+
popupClass: ['k-menu-popup', ...customClasses],
|
|
3292
|
+
margin: this.popupSettings?.margin ?? DEFAULT_MARGIN,
|
|
3255
3293
|
positionMode: 'absolute'
|
|
3256
3294
|
}, options));
|
|
3257
3295
|
const element = this.popupRef.popupElement;
|
|
@@ -3343,6 +3381,7 @@ class ContextMenuComponent extends MenuBase {
|
|
|
3343
3381
|
[openOnClick]="openOnClick"
|
|
3344
3382
|
[hoverDelay]="hoverDelay"
|
|
3345
3383
|
[animate]="animate"
|
|
3384
|
+
[popupSettings]="popupSettings"
|
|
3346
3385
|
[menuItemTemplate]="itemTemplate.first?.templateRef"
|
|
3347
3386
|
[menuItemLinkTemplate]="itemLinkTemplate.first?.templateRef"
|
|
3348
3387
|
></kendo-menu>
|
|
@@ -3385,6 +3424,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
3385
3424
|
[openOnClick]="openOnClick"
|
|
3386
3425
|
[hoverDelay]="hoverDelay"
|
|
3387
3426
|
[animate]="animate"
|
|
3427
|
+
[popupSettings]="popupSettings"
|
|
3388
3428
|
[menuItemTemplate]="itemTemplate.first?.templateRef"
|
|
3389
3429
|
[menuItemLinkTemplate]="itemLinkTemplate.first?.templateRef"
|
|
3390
3430
|
></kendo-menu>
|
package/menu-base.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ import { OpenOnClickSettings } from './open-on-click-settings';
|
|
|
9
9
|
import { ItemTemplateDirective } from './templates/item-template.directive';
|
|
10
10
|
import { ItemLinkTemplateDirective } from './templates/item-link-template.directive';
|
|
11
11
|
import { MenuSize } from './size';
|
|
12
|
+
import { PopupSettings } from './rendering/popup-settings';
|
|
12
13
|
import * as i0 from "@angular/core";
|
|
13
14
|
/**
|
|
14
15
|
* @hidden
|
|
@@ -48,6 +49,11 @@ export declare class MenuBase {
|
|
|
48
49
|
*
|
|
49
50
|
*/
|
|
50
51
|
size: MenuSize;
|
|
52
|
+
/**
|
|
53
|
+
* Configures the popup settings for the Menu items.
|
|
54
|
+
* Allows customization of the popup class and margin.
|
|
55
|
+
*/
|
|
56
|
+
popupSettings: PopupSettings;
|
|
51
57
|
/**
|
|
52
58
|
* @hidden
|
|
53
59
|
*/
|
|
@@ -65,5 +71,5 @@ export declare class MenuBase {
|
|
|
65
71
|
*/
|
|
66
72
|
get rootItems(): any[];
|
|
67
73
|
static ɵfac: i0.ɵɵFactoryDeclaration<MenuBase, never>;
|
|
68
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MenuBase, "kendo-menu-base", never, { "items": { "alias": "items"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; "hoverDelay": { "alias": "hoverDelay"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, ["itemTemplate", "itemLinkTemplate", "children"], never, false, never>;
|
|
74
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MenuBase, "kendo-menu-base", never, { "items": { "alias": "items"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; "hoverDelay": { "alias": "hoverDelay"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "size": { "alias": "size"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; }, {}, ["itemTemplate", "itemLinkTemplate", "children"], never, false, never>;
|
|
69
75
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-menu",
|
|
3
|
-
"version": "21.4.0-develop.
|
|
3
|
+
"version": "21.4.0-develop.3",
|
|
4
4
|
"description": "Kendo UI Angular Menu component",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"package": {
|
|
20
20
|
"productName": "Kendo UI for Angular",
|
|
21
21
|
"productCode": "KENDOUIANGULAR",
|
|
22
|
-
"publishDate":
|
|
22
|
+
"publishDate": 1765793550,
|
|
23
23
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
24
24
|
}
|
|
25
25
|
},
|
|
@@ -29,15 +29,15 @@
|
|
|
29
29
|
"@angular/core": "18 - 21",
|
|
30
30
|
"@angular/platform-browser": "18 - 21",
|
|
31
31
|
"@progress/kendo-licensing": "^1.7.0",
|
|
32
|
-
"@progress/kendo-angular-common": "21.4.0-develop.
|
|
33
|
-
"@progress/kendo-angular-l10n": "21.4.0-develop.
|
|
34
|
-
"@progress/kendo-angular-icons": "21.4.0-develop.
|
|
35
|
-
"@progress/kendo-angular-popup": "21.4.0-develop.
|
|
32
|
+
"@progress/kendo-angular-common": "21.4.0-develop.3",
|
|
33
|
+
"@progress/kendo-angular-l10n": "21.4.0-develop.3",
|
|
34
|
+
"@progress/kendo-angular-icons": "21.4.0-develop.3",
|
|
35
|
+
"@progress/kendo-angular-popup": "21.4.0-develop.3",
|
|
36
36
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"tslib": "^2.3.1",
|
|
40
|
-
"@progress/kendo-angular-schematics": "21.4.0-develop.
|
|
40
|
+
"@progress/kendo-angular-schematics": "21.4.0-develop.3"
|
|
41
41
|
},
|
|
42
42
|
"schematics": "./schematics/collection.json",
|
|
43
43
|
"module": "fesm2022/progress-kendo-angular-menu.mjs",
|
|
@@ -12,6 +12,7 @@ import { ActionsService } from '../services/actions.service';
|
|
|
12
12
|
import { HoverService } from '../services/hover.service';
|
|
13
13
|
import { ItemsService } from '../services/items.service';
|
|
14
14
|
import { NavigationService } from '../services/navigation.service';
|
|
15
|
+
import { PopupSettings } from './popup-settings';
|
|
15
16
|
import * as i0 from "@angular/core";
|
|
16
17
|
/**
|
|
17
18
|
* @hidden
|
|
@@ -35,6 +36,7 @@ export declare class ListComponent implements OnInit, OnDestroy {
|
|
|
35
36
|
openOnClick: any;
|
|
36
37
|
itemTemplate: TemplateRef<any>;
|
|
37
38
|
itemLinkTemplate: TemplateRef<any>;
|
|
39
|
+
popupSettings: PopupSettings;
|
|
38
40
|
private domSubscriptions;
|
|
39
41
|
constructor(itemsService: ItemsService, hover: HoverService, actions: ActionsService, navigation: NavigationService, renderer: Renderer2, ngZone: NgZone, element: ElementRef);
|
|
40
42
|
hierarchyIndex(index: number): string;
|
|
@@ -46,7 +48,7 @@ export declare class ListComponent implements OnInit, OnDestroy {
|
|
|
46
48
|
private nodeItem;
|
|
47
49
|
private clickHandler;
|
|
48
50
|
static ɵfac: i0.ɵɵFactoryDeclaration<ListComponent, never>;
|
|
49
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "[kendoMenuList]", never, { "appendTo": { "alias": "appendTo"; "required": false; }; "items": { "alias": "items"; "required": false; }; "level": { "alias": "level"; "required": false; }; "index": { "alias": "index"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "size": { "alias": "size"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "rtl": { "alias": "rtl"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "itemLinkTemplate": { "alias": "itemLinkTemplate"; "required": false; }; }, {}, never, never, true, never>;
|
|
51
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ListComponent, "[kendoMenuList]", never, { "appendTo": { "alias": "appendTo"; "required": false; }; "items": { "alias": "items"; "required": false; }; "level": { "alias": "level"; "required": false; }; "index": { "alias": "index"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "size": { "alias": "size"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "rtl": { "alias": "rtl"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "itemLinkTemplate": { "alias": "itemLinkTemplate"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; }, {}, never, never, true, never>;
|
|
50
52
|
}
|
|
51
53
|
/**
|
|
52
54
|
* @hidden
|
|
@@ -72,12 +74,13 @@ export declare class ItemComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
72
74
|
openOnClick: boolean;
|
|
73
75
|
itemTemplate: TemplateRef<any>;
|
|
74
76
|
itemLinkTemplate: TemplateRef<any>;
|
|
77
|
+
popupSettings: PopupSettings;
|
|
75
78
|
link: ElementRef;
|
|
76
79
|
popupTemplate: TemplateRef<any>;
|
|
77
80
|
get disabled(): boolean;
|
|
78
81
|
get hasPopup(): boolean;
|
|
79
82
|
get label(): boolean;
|
|
80
|
-
get
|
|
83
|
+
get defaultPopupSettings(): any;
|
|
81
84
|
get horizontal(): boolean;
|
|
82
85
|
get hasLink(): boolean;
|
|
83
86
|
get linkTemplate(): TemplateRef<any>;
|
|
@@ -115,6 +118,7 @@ export declare class ItemComponent implements OnInit, AfterViewInit, OnDestroy {
|
|
|
115
118
|
close(): void;
|
|
116
119
|
navigate(): void;
|
|
117
120
|
private setAttribute;
|
|
121
|
+
private getMergedPopupSettings;
|
|
118
122
|
static ɵfac: i0.ɵɵFactoryDeclaration<ItemComponent, [null, null, null, null, null, null, { optional: true; }]>;
|
|
119
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ItemComponent, "[kendoMenuItem]", never, { "appendTo": { "alias": "appendTo"; "required": false; }; "item": { "alias": "item"; "required": false; }; "level": { "alias": "level"; "required": false; }; "index": { "alias": "index"; "required": false; }; "siblingIndex": { "alias": "siblingIndex"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "size": { "alias": "size"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "rtl": { "alias": "rtl"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "itemLinkTemplate": { "alias": "itemLinkTemplate"; "required": false; }; }, {}, never, never, true, never>;
|
|
123
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ItemComponent, "[kendoMenuItem]", never, { "appendTo": { "alias": "appendTo"; "required": false; }; "item": { "alias": "item"; "required": false; }; "level": { "alias": "level"; "required": false; }; "index": { "alias": "index"; "required": false; }; "siblingIndex": { "alias": "siblingIndex"; "required": false; }; "animate": { "alias": "animate"; "required": false; }; "size": { "alias": "size"; "required": false; }; "vertical": { "alias": "vertical"; "required": false; }; "rtl": { "alias": "rtl"; "required": false; }; "openOnClick": { "alias": "openOnClick"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "itemLinkTemplate": { "alias": "itemLinkTemplate"; "required": false; }; "popupSettings": { "alias": "popupSettings"; "required": false; }; }, {}, never, never, true, never>;
|
|
120
124
|
}
|
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
* Copyright © 2025 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Margin } from "@progress/kendo-angular-popup";
|
|
6
|
+
/**
|
|
7
|
+
* @hidden
|
|
8
|
+
*/
|
|
9
|
+
export declare const DEFAULT_MARGIN: Margin;
|
|
5
10
|
/**
|
|
6
11
|
* @hidden
|
|
7
12
|
*/
|
|
@@ -17,6 +22,7 @@ export declare const POPUP_SETTINGS_RTL: {
|
|
|
17
22
|
horizontal: string;
|
|
18
23
|
};
|
|
19
24
|
animate: string;
|
|
25
|
+
popupClass: string[];
|
|
20
26
|
};
|
|
21
27
|
horizontal: {
|
|
22
28
|
anchor: {
|
|
@@ -29,6 +35,7 @@ export declare const POPUP_SETTINGS_RTL: {
|
|
|
29
35
|
horizontal: string;
|
|
30
36
|
};
|
|
31
37
|
animate: string;
|
|
38
|
+
popupClass: string[];
|
|
32
39
|
};
|
|
33
40
|
};
|
|
34
41
|
/**
|
|
@@ -46,6 +53,7 @@ export declare const POPUP_SETTINGS: {
|
|
|
46
53
|
horizontal: string;
|
|
47
54
|
};
|
|
48
55
|
animate: string;
|
|
56
|
+
popupClass: string[];
|
|
49
57
|
};
|
|
50
58
|
horizontal: {
|
|
51
59
|
anchor: {
|
|
@@ -58,5 +66,19 @@ export declare const POPUP_SETTINGS: {
|
|
|
58
66
|
horizontal: string;
|
|
59
67
|
};
|
|
60
68
|
animate: string;
|
|
69
|
+
popupClass: string[];
|
|
61
70
|
};
|
|
62
71
|
};
|
|
72
|
+
/**
|
|
73
|
+
* Settings for the Menu and ContextMenu popups.
|
|
74
|
+
*/
|
|
75
|
+
export interface PopupSettings {
|
|
76
|
+
/**
|
|
77
|
+
* The CSS class that will be applied to the popup container.
|
|
78
|
+
*/
|
|
79
|
+
popupClass?: string | string[] | object | Set<string>;
|
|
80
|
+
/**
|
|
81
|
+
* The margin of the popup container.
|
|
82
|
+
*/
|
|
83
|
+
margin?: Margin;
|
|
84
|
+
}
|