@ngrdt/menu 0.0.17 → 0.0.18
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 +160 -160
- package/fesm2022/ngrdt-menu.mjs +324 -357
- package/fesm2022/ngrdt-menu.mjs.map +1 -1
- package/index.d.ts +335 -4
- package/package.json +1 -3
- package/esm2022/index.mjs +0 -5
- package/esm2022/lib/menu/rdt-menu.component.mjs +0 -93
- package/esm2022/lib/menu-bar/rdt-menu-bar.component.mjs +0 -58
- package/esm2022/lib/menu-base/rdt-menu-base.component.mjs +0 -458
- package/esm2022/lib/menu-overlay/rdt-menu-overlay.component.mjs +0 -597
- package/esm2022/lib/models.mjs +0 -15
- package/esm2022/lib/private-models.mjs +0 -73
- package/esm2022/lib/rdt-menu.module.mjs +0 -41
- package/esm2022/lib/utils.mjs +0 -79
- package/esm2022/ngrdt-menu.mjs +0 -5
- package/lib/menu/rdt-menu.component.d.ts +0 -23
- package/lib/menu-bar/rdt-menu-bar.component.d.ts +0 -18
- package/lib/menu-base/rdt-menu-base.component.d.ts +0 -103
- package/lib/menu-overlay/rdt-menu-overlay.component.d.ts +0 -85
- package/lib/models.d.ts +0 -35
- package/lib/private-models.d.ts +0 -53
- package/lib/rdt-menu.module.d.ts +0 -14
- package/lib/utils.d.ts +0 -36
package/esm2022/lib/models.mjs
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export var RdtMenuShortcutMode;
|
|
3
|
-
(function (RdtMenuShortcutMode) {
|
|
4
|
-
RdtMenuShortcutMode["FOCUS_ITEM"] = "focus-item";
|
|
5
|
-
RdtMenuShortcutMode["OPEN_SUBMENU"] = "open-submenu";
|
|
6
|
-
})(RdtMenuShortcutMode || (RdtMenuShortcutMode = {}));
|
|
7
|
-
export const RDT_MENU_MARGIN_TOP_PROPERTY_NAME = '--rdt-menu-margin-top';
|
|
8
|
-
export const RDT_MENU_MARGIN_BOTTOM_PROPERTY_NAME = '--rdt-menu-margin-bottom';
|
|
9
|
-
export const RDT_MENU_MARGIN_LEFT_PROPERTY_NAME = '--rdt-menu-margin-left';
|
|
10
|
-
export const RDT_MENU_MARGIN_RIGHT_PROPERTY_NAME = '--rdt-menu-margin-right';
|
|
11
|
-
export const DEFAULT_MENU_HORIZONTAL_DIR = 'left';
|
|
12
|
-
export const DEFAULT_MENU_VERTICAL_DIR = 'down';
|
|
13
|
-
export const RDT_MENU_HORIZONTAL_DIR_PROVIDER = new InjectionToken('RDT_MENU_HORIZONTAL_DIR');
|
|
14
|
-
export const RDT_MENU_VERTICAL_DIR_PROVIDER = new InjectionToken('RDT_MENU_VERTICAL_DIR');
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQG5ncmR0L21lbnUvc3JjL2xpYi9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQTRCL0MsTUFBTSxDQUFOLElBQVksbUJBR1g7QUFIRCxXQUFZLG1CQUFtQjtJQUM3QixnREFBeUIsQ0FBQTtJQUN6QixvREFBNkIsQ0FBQTtBQUMvQixDQUFDLEVBSFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQUc5QjtBQUVELE1BQU0sQ0FBQyxNQUFNLGlDQUFpQyxHQUFHLHVCQUF1QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLDBCQUEwQixDQUFDO0FBQy9FLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLHdCQUF3QixDQUFDO0FBQzNFLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLHlCQUF5QixDQUFDO0FBRTdFLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLE1BQU0sQ0FBQztBQUNsRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxNQUFNLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQzNDLElBQUksY0FBYyxDQUF5Qix5QkFBeUIsQ0FBQyxDQUFDO0FBQ3hFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUN6QyxJQUFJLGNBQWMsQ0FBdUIsdUJBQXVCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJkdFJvdXRlIH0gZnJvbSAnQG5ncmR0L3JvdXRlcic7XHJcbmltcG9ydCB7IFJkdE1lbnVJdGVtQmFzZSB9IGZyb20gJy4vcHJpdmF0ZS1tb2RlbHMnO1xyXG5pbXBvcnQge1xyXG4gIFJkdEhvcml6b250YWxEaXJlY3Rpb24sXHJcbiAgUmR0VmVydGljYWxEaXJlY3Rpb24sXHJcbiAgV2luZG93T3BlblRhcmdldFR5cGUsXHJcbn0gZnJvbSAnQG5ncmR0L3V0aWxzJztcclxuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmR0TWVudUl0ZW1XaXRoUm91dGUgZXh0ZW5kcyBSZHRNZW51SXRlbUJhc2Uge1xyXG4gIGl0ZW1zPzogbmV2ZXI7XHJcbiAgcm91dGVyTGluaz86IFJkdFJvdXRlO1xyXG4gIGV4dGVybmFsTGluaz86IG5ldmVyO1xyXG4gIHRhcmdldD86IG5ldmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJkdE1lbnVJdGVtV2l0aExpbmsgZXh0ZW5kcyBSZHRNZW51SXRlbUJhc2Uge1xyXG4gIGl0ZW1zPzogbmV2ZXI7XHJcbiAgZXh0ZXJuYWxMaW5rOiBzdHJpbmc7XHJcbiAgcm91dGVyTGluaz86IG5ldmVyO1xyXG4gIHRhcmdldD86IFdpbmRvd09wZW5UYXJnZXRUeXBlO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJkdE1lbnVJdGVtV2l0aENoaWxkcmVuIGV4dGVuZHMgUmR0TWVudUl0ZW1CYXNlIHtcclxuICBpdGVtczogUmR0TWVudUl0ZW1bXTtcclxuICByb3V0ZXJMaW5rPzogbmV2ZXI7XHJcbiAgZXh0ZXJuYWxMaW5rPzogbmV2ZXI7XHJcbiAgdGFyZ2V0PzogV2luZG93T3BlblRhcmdldFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFJkdE1lbnVJdGVtID1cclxuICB8IFJkdE1lbnVJdGVtV2l0aENoaWxkcmVuXHJcbiAgfCBSZHRNZW51SXRlbVdpdGhSb3V0ZVxyXG4gIHwgUmR0TWVudUl0ZW1XaXRoTGluaztcclxuXHJcbmV4cG9ydCBlbnVtIFJkdE1lbnVTaG9ydGN1dE1vZGUge1xyXG4gIEZPQ1VTX0lURU0gPSAnZm9jdXMtaXRlbScsXHJcbiAgT1BFTl9TVUJNRU5VID0gJ29wZW4tc3VibWVudScsXHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBSRFRfTUVOVV9NQVJHSU5fVE9QX1BST1BFUlRZX05BTUUgPSAnLS1yZHQtbWVudS1tYXJnaW4tdG9wJztcclxuZXhwb3J0IGNvbnN0IFJEVF9NRU5VX01BUkdJTl9CT1RUT01fUFJPUEVSVFlfTkFNRSA9ICctLXJkdC1tZW51LW1hcmdpbi1ib3R0b20nO1xyXG5leHBvcnQgY29uc3QgUkRUX01FTlVfTUFSR0lOX0xFRlRfUFJPUEVSVFlfTkFNRSA9ICctLXJkdC1tZW51LW1hcmdpbi1sZWZ0JztcclxuZXhwb3J0IGNvbnN0IFJEVF9NRU5VX01BUkdJTl9SSUdIVF9QUk9QRVJUWV9OQU1FID0gJy0tcmR0LW1lbnUtbWFyZ2luLXJpZ2h0JztcclxuXHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX01FTlVfSE9SSVpPTlRBTF9ESVIgPSAnbGVmdCc7XHJcbmV4cG9ydCBjb25zdCBERUZBVUxUX01FTlVfVkVSVElDQUxfRElSID0gJ2Rvd24nO1xyXG5cclxuZXhwb3J0IGNvbnN0IFJEVF9NRU5VX0hPUklaT05UQUxfRElSX1BST1ZJREVSID1cclxuICBuZXcgSW5qZWN0aW9uVG9rZW48UmR0SG9yaXpvbnRhbERpcmVjdGlvbj4oJ1JEVF9NRU5VX0hPUklaT05UQUxfRElSJyk7XHJcbmV4cG9ydCBjb25zdCBSRFRfTUVOVV9WRVJUSUNBTF9ESVJfUFJPVklERVIgPVxyXG4gIG5ldyBJbmplY3Rpb25Ub2tlbjxSZHRWZXJ0aWNhbERpcmVjdGlvbj4oJ1JEVF9NRU5VX1ZFUlRJQ0FMX0RJUicpO1xyXG4iXX0=
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { RdtStringUtils } from '@ngrdt/utils';
|
|
2
|
-
export function parseMenuItems(items, injector, prefix = '') {
|
|
3
|
-
return items
|
|
4
|
-
.map((item) => {
|
|
5
|
-
let newPrefix;
|
|
6
|
-
if (item.dataTestId) {
|
|
7
|
-
newPrefix = item.dataTestId;
|
|
8
|
-
}
|
|
9
|
-
else if (prefix) {
|
|
10
|
-
newPrefix = RdtStringUtils.getDataTestId(item.label, prefix);
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
newPrefix = RdtStringUtils.getDataTestId(item.label);
|
|
14
|
-
}
|
|
15
|
-
const newDataTestId = RdtStringUtils.getDataTestId(newPrefix, null, 'menu-item');
|
|
16
|
-
const res = {
|
|
17
|
-
label: item.label,
|
|
18
|
-
icon: item.icon,
|
|
19
|
-
shortcut: item.shortcut,
|
|
20
|
-
command: item.command,
|
|
21
|
-
visible: item.visible,
|
|
22
|
-
queryParams: item.queryParams,
|
|
23
|
-
requiredParent: item.requiredParent,
|
|
24
|
-
dataTestId: newDataTestId,
|
|
25
|
-
};
|
|
26
|
-
if (item.items) {
|
|
27
|
-
const childrenRes = res;
|
|
28
|
-
const parsedChildren = parseMenuItems(item.items, injector, newPrefix);
|
|
29
|
-
if (parsedChildren.length > 0) {
|
|
30
|
-
childrenRes.items = parsedChildren;
|
|
31
|
-
}
|
|
32
|
-
return childrenRes;
|
|
33
|
-
}
|
|
34
|
-
else if (item.routerLink) {
|
|
35
|
-
const linkRes = res;
|
|
36
|
-
linkRes.target = item.target ?? '_self';
|
|
37
|
-
if (item.routerLink) {
|
|
38
|
-
linkRes.routerLink = [item.routerLink.createAbsoluteUrl()];
|
|
39
|
-
if (!res.visible && item.routerLink.hasCanBeEnteredGuard) {
|
|
40
|
-
const canBeEntered = item.routerLink.canBeEntered.bind(item.routerLink);
|
|
41
|
-
linkRes.visible = () => canBeEntered(injector);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return linkRes;
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
const linkRes = res;
|
|
48
|
-
if (item.externalLink) {
|
|
49
|
-
if (item.queryParams) {
|
|
50
|
-
linkRes.externalLink = RdtStringUtils.appendQueryParams(item.externalLink, item.queryParams);
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
linkRes.externalLink = item.externalLink;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
linkRes.target = item.target ?? '_blank';
|
|
57
|
-
return linkRes;
|
|
58
|
-
}
|
|
59
|
-
})
|
|
60
|
-
.filter((item) => !item.visible || item.visible())
|
|
61
|
-
.filter((item) => item.externalLink ||
|
|
62
|
-
item['routerLink'] ||
|
|
63
|
-
item.command ||
|
|
64
|
-
(item['items']?.length ?? 0) > 0);
|
|
65
|
-
}
|
|
66
|
-
export var RdtMenuExpandSource;
|
|
67
|
-
(function (RdtMenuExpandSource) {
|
|
68
|
-
RdtMenuExpandSource[RdtMenuExpandSource["Click"] = 0] = "Click";
|
|
69
|
-
RdtMenuExpandSource[RdtMenuExpandSource["Hover"] = 1] = "Hover";
|
|
70
|
-
RdtMenuExpandSource[RdtMenuExpandSource["Shortcut"] = 2] = "Shortcut";
|
|
71
|
-
RdtMenuExpandSource[RdtMenuExpandSource["Focus"] = 3] = "Focus";
|
|
72
|
-
})(RdtMenuExpandSource || (RdtMenuExpandSource = {}));
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpdmF0ZS1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9AbmdyZHQvbWVudS9zcmMvbGliL3ByaXZhdGUtbW9kZWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxjQUFjLEVBQXdCLE1BQU0sY0FBYyxDQUFDO0FBbURwRSxNQUFNLFVBQVUsY0FBYyxDQUM1QixLQUFvQixFQUNwQixRQUFrQixFQUNsQixNQUFNLEdBQUcsRUFBRTtJQUVYLE9BQU8sS0FBSztTQUNULEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1osSUFBSSxTQUFpQixDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLFNBQVMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzlCLENBQUM7YUFBTSxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ2xCLFNBQVMsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDL0QsQ0FBQzthQUFNLENBQUM7WUFDTixTQUFTLEdBQUcsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELE1BQU0sYUFBYSxHQUFHLGNBQWMsQ0FBQyxhQUFhLENBQ2hELFNBQVMsRUFDVCxJQUFJLEVBQ0osV0FBVyxDQUNaLENBQUM7UUFDRixNQUFNLEdBQUcsR0FBMEI7WUFDakMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO1lBQ2pCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsVUFBVSxFQUFFLGFBQWE7U0FDMUIsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxXQUFXLEdBQUcsR0FBb0MsQ0FBQztZQUN6RCxNQUFNLGNBQWMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDdkUsSUFBSSxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUM5QixXQUFXLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQztZQUNyQyxDQUFDO1lBQ0QsT0FBTyxXQUFXLENBQUM7UUFDckIsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQzNCLE1BQU0sT0FBTyxHQUFHLEdBQWlDLENBQUM7WUFDbEQsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxJQUFJLE9BQU8sQ0FBQztZQUN4QyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDcEIsT0FBTyxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixFQUFFLENBQUM7b0JBQ3pELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDcEQsSUFBSSxDQUFDLFVBQVUsQ0FDaEIsQ0FBQztvQkFDRixPQUFPLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDakQsQ0FBQztZQUNILENBQUM7WUFDRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sT0FBTyxHQUFHLEdBQWdDLENBQUM7WUFDakQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO29CQUNyQixPQUFPLENBQUMsWUFBWSxHQUFHLGNBQWMsQ0FBQyxpQkFBaUIsQ0FDckQsSUFBSSxDQUFDLFlBQVksRUFDakIsSUFBSSxDQUFDLFdBQVcsQ0FDakIsQ0FBQztnQkFDSixDQUFDO3FCQUFNLENBQUM7b0JBQ04sT0FBTyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUMzQyxDQUFDO1lBQ0gsQ0FBQztZQUNELE9BQU8sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxRQUFRLENBQUM7WUFDekMsT0FBTyxPQUFPLENBQUM7UUFDakIsQ0FBQztJQUNILENBQUMsQ0FBQztTQUNELE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUNqRCxNQUFNLENBQ0wsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUNQLElBQUksQ0FBQyxZQUFZO1FBQ2pCLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDbEIsSUFBSSxDQUFDLE9BQU87UUFDWixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUNuQyxDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sQ0FBTixJQUFZLG1CQUtYO0FBTEQsV0FBWSxtQkFBbUI7SUFDN0IsK0RBQUssQ0FBQTtJQUNMLCtEQUFLLENBQUE7SUFDTCxxRUFBUSxDQUFBO0lBQ1IsK0RBQUssQ0FBQTtBQUNQLENBQUMsRUFMVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSzlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUmR0Um91dGUgfSBmcm9tICdAbmdyZHQvcm91dGVyJztcclxuaW1wb3J0IHsgUmR0U2hvcnRjdXQgfSBmcm9tICdAbmdyZHQvc2hvcnRjdXRzJztcclxuaW1wb3J0IHsgUmR0U3RyaW5nVXRpbHMsIFdpbmRvd09wZW5UYXJnZXRUeXBlIH0gZnJvbSAnQG5ncmR0L3V0aWxzJztcclxuaW1wb3J0IHsgUmR0TWVudUl0ZW0gfSBmcm9tICcuL21vZGVscyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFJkdE1lbnVJdGVtQmFzZTxUSWNvbiA9IHN0cmluZz4ge1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgaWNvbj86IFRJY29uO1xyXG4gIHNob3J0Y3V0PzogUmR0U2hvcnRjdXQ7XHJcbiAgY29tbWFuZD86ICgpID0+IHZvaWQ7XHJcbiAgdmlzaWJsZT86ICgpID0+IGJvb2xlYW47XHJcbiAgcXVlcnlQYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xyXG4gIHJlcXVpcmVkUGFyZW50PzogUmR0Um91dGU7XHJcbiAgZGF0YVRlc3RJZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQYXJzZWRSZHRNZW51SXRlbUJhc2U8VEljb24gPSBzdHJpbmc+XHJcbiAgZXh0ZW5kcyBSZHRNZW51SXRlbUJhc2U8VEljb24+IHtcclxuICBkYXRhVGVzdElkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkUmR0TWVudUl0ZW1XaXRoQ2hpbGRyZW48VEljb24gPSBzdHJpbmc+XHJcbiAgZXh0ZW5kcyBQYXJzZWRSZHRNZW51SXRlbUJhc2U8VEljb24+IHtcclxuICBpdGVtczogUGFyc2VkUmR0TWVudUl0ZW1bXTtcclxuICByb3V0ZXJMaW5rPzogbmV2ZXI7XHJcbiAgZXh0ZXJuYWxMaW5rPzogbmV2ZXI7XHJcbiAgaWNvbj86IG5ldmVyO1xyXG4gIHRhcmdldD86IG5ldmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZFJkdE1lbnVJdGVtV2l0aFJvdXRlPFRJY29uID0gc3RyaW5nPlxyXG4gIGV4dGVuZHMgUGFyc2VkUmR0TWVudUl0ZW1CYXNlPFRJY29uPiB7XHJcbiAgaXRlbXM/OiBuZXZlcjtcclxuICByb3V0ZXJMaW5rPzogc3RyaW5nW107XHJcbiAgZXh0ZXJuYWxMaW5rPzogbmV2ZXI7XHJcbiAgaWNvbj86IFRJY29uO1xyXG4gIHRhcmdldDogV2luZG93T3BlblRhcmdldFR5cGU7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGFyc2VkUmR0TWVudUl0ZW1XaXRoTGluazxUSWNvbiA9IHN0cmluZz5cclxuICBleHRlbmRzIFBhcnNlZFJkdE1lbnVJdGVtQmFzZTxUSWNvbj4ge1xyXG4gIGl0ZW1zPzogbmV2ZXI7XHJcbiAgcm91dGVyTGluaz86IG5ldmVyO1xyXG4gIGV4dGVybmFsTGluaz86IHN0cmluZztcclxuICBpY29uPzogVEljb247XHJcbiAgdGFyZ2V0OiBXaW5kb3dPcGVuVGFyZ2V0VHlwZTtcclxufVxyXG5cclxuZXhwb3J0IHR5cGUgUGFyc2VkUmR0TWVudUl0ZW0gPVxyXG4gIHwgUGFyc2VkUmR0TWVudUl0ZW1XaXRoUm91dGVcclxuICB8IFBhcnNlZFJkdE1lbnVJdGVtV2l0aENoaWxkcmVuXHJcbiAgfCBQYXJzZWRSZHRNZW51SXRlbVdpdGhMaW5rO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlTWVudUl0ZW1zKFxyXG4gIGl0ZW1zOiBSZHRNZW51SXRlbVtdLFxyXG4gIGluamVjdG9yOiBJbmplY3RvcixcclxuICBwcmVmaXggPSAnJ1xyXG4pOiBQYXJzZWRSZHRNZW51SXRlbVtdIHtcclxuICByZXR1cm4gaXRlbXNcclxuICAgIC5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IG5ld1ByZWZpeDogc3RyaW5nO1xyXG4gICAgICBpZiAoaXRlbS5kYXRhVGVzdElkKSB7XHJcbiAgICAgICAgbmV3UHJlZml4ID0gaXRlbS5kYXRhVGVzdElkO1xyXG4gICAgICB9IGVsc2UgaWYgKHByZWZpeCkge1xyXG4gICAgICAgIG5ld1ByZWZpeCA9IFJkdFN0cmluZ1V0aWxzLmdldERhdGFUZXN0SWQoaXRlbS5sYWJlbCwgcHJlZml4KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXdQcmVmaXggPSBSZHRTdHJpbmdVdGlscy5nZXREYXRhVGVzdElkKGl0ZW0ubGFiZWwpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG5ld0RhdGFUZXN0SWQgPSBSZHRTdHJpbmdVdGlscy5nZXREYXRhVGVzdElkKFxyXG4gICAgICAgIG5ld1ByZWZpeCxcclxuICAgICAgICBudWxsLFxyXG4gICAgICAgICdtZW51LWl0ZW0nXHJcbiAgICAgICk7XHJcbiAgICAgIGNvbnN0IHJlczogUGFyc2VkUmR0TWVudUl0ZW1CYXNlID0ge1xyXG4gICAgICAgIGxhYmVsOiBpdGVtLmxhYmVsLFxyXG4gICAgICAgIGljb246IGl0ZW0uaWNvbixcclxuICAgICAgICBzaG9ydGN1dDogaXRlbS5zaG9ydGN1dCxcclxuICAgICAgICBjb21tYW5kOiBpdGVtLmNvbW1hbmQsXHJcbiAgICAgICAgdmlzaWJsZTogaXRlbS52aXNpYmxlLFxyXG4gICAgICAgIHF1ZXJ5UGFyYW1zOiBpdGVtLnF1ZXJ5UGFyYW1zLFxyXG4gICAgICAgIHJlcXVpcmVkUGFyZW50OiBpdGVtLnJlcXVpcmVkUGFyZW50LFxyXG4gICAgICAgIGRhdGFUZXN0SWQ6IG5ld0RhdGFUZXN0SWQsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChpdGVtLml0ZW1zKSB7XHJcbiAgICAgICAgY29uc3QgY2hpbGRyZW5SZXMgPSByZXMgYXMgUGFyc2VkUmR0TWVudUl0ZW1XaXRoQ2hpbGRyZW47XHJcbiAgICAgICAgY29uc3QgcGFyc2VkQ2hpbGRyZW4gPSBwYXJzZU1lbnVJdGVtcyhpdGVtLml0ZW1zLCBpbmplY3RvciwgbmV3UHJlZml4KTtcclxuICAgICAgICBpZiAocGFyc2VkQ2hpbGRyZW4ubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgY2hpbGRyZW5SZXMuaXRlbXMgPSBwYXJzZWRDaGlsZHJlbjtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGNoaWxkcmVuUmVzO1xyXG4gICAgICB9IGVsc2UgaWYgKGl0ZW0ucm91dGVyTGluaykge1xyXG4gICAgICAgIGNvbnN0IGxpbmtSZXMgPSByZXMgYXMgUGFyc2VkUmR0TWVudUl0ZW1XaXRoUm91dGU7XHJcbiAgICAgICAgbGlua1Jlcy50YXJnZXQgPSBpdGVtLnRhcmdldCA/PyAnX3NlbGYnO1xyXG4gICAgICAgIGlmIChpdGVtLnJvdXRlckxpbmspIHtcclxuICAgICAgICAgIGxpbmtSZXMucm91dGVyTGluayA9IFtpdGVtLnJvdXRlckxpbmsuY3JlYXRlQWJzb2x1dGVVcmwoKV07XHJcbiAgICAgICAgICBpZiAoIXJlcy52aXNpYmxlICYmIGl0ZW0ucm91dGVyTGluay5oYXNDYW5CZUVudGVyZWRHdWFyZCkge1xyXG4gICAgICAgICAgICBjb25zdCBjYW5CZUVudGVyZWQgPSBpdGVtLnJvdXRlckxpbmsuY2FuQmVFbnRlcmVkLmJpbmQoXHJcbiAgICAgICAgICAgICAgaXRlbS5yb3V0ZXJMaW5rXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGxpbmtSZXMudmlzaWJsZSA9ICgpID0+IGNhbkJlRW50ZXJlZChpbmplY3Rvcik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBsaW5rUmVzO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGNvbnN0IGxpbmtSZXMgPSByZXMgYXMgUGFyc2VkUmR0TWVudUl0ZW1XaXRoTGluaztcclxuICAgICAgICBpZiAoaXRlbS5leHRlcm5hbExpbmspIHtcclxuICAgICAgICAgIGlmIChpdGVtLnF1ZXJ5UGFyYW1zKSB7XHJcbiAgICAgICAgICAgIGxpbmtSZXMuZXh0ZXJuYWxMaW5rID0gUmR0U3RyaW5nVXRpbHMuYXBwZW5kUXVlcnlQYXJhbXMoXHJcbiAgICAgICAgICAgICAgaXRlbS5leHRlcm5hbExpbmssXHJcbiAgICAgICAgICAgICAgaXRlbS5xdWVyeVBhcmFtc1xyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgbGlua1Jlcy5leHRlcm5hbExpbmsgPSBpdGVtLmV4dGVybmFsTGluaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGlua1Jlcy50YXJnZXQgPSBpdGVtLnRhcmdldCA/PyAnX2JsYW5rJztcclxuICAgICAgICByZXR1cm4gbGlua1JlcztcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIC5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLnZpc2libGUgfHwgaXRlbS52aXNpYmxlKCkpXHJcbiAgICAuZmlsdGVyKFxyXG4gICAgICAoaXRlbSkgPT5cclxuICAgICAgICBpdGVtLmV4dGVybmFsTGluayB8fFxyXG4gICAgICAgIGl0ZW1bJ3JvdXRlckxpbmsnXSB8fFxyXG4gICAgICAgIGl0ZW0uY29tbWFuZCB8fFxyXG4gICAgICAgIChpdGVtWydpdGVtcyddPy5sZW5ndGggPz8gMCkgPiAwXHJcbiAgICApO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBSZHRNZW51RXhwYW5kU291cmNlIHtcclxuICBDbGljayxcclxuICBIb3ZlcixcclxuICBTaG9ydGN1dCxcclxuICBGb2N1cyxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZHRNZW51RXhwYW5kZWRDaGlsZCB7XHJcbiAgaXRlbTogUGFyc2VkUmR0TWVudUl0ZW07XHJcbiAgc3JjOiBSZHRNZW51RXhwYW5kU291cmNlO1xyXG59XHJcbiJdfQ==
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { RouterModule } from '@angular/router';
|
|
4
|
-
import { RdtButtonOutletDirective } from '@ngrdt/button';
|
|
5
|
-
import { RdtAnyRouteActiveDirective } from '@ngrdt/router';
|
|
6
|
-
import { RdtKeyListenerDirective } from '@ngrdt/shortcuts';
|
|
7
|
-
import { RdtMenuBarComponent } from './menu-bar/rdt-menu-bar.component';
|
|
8
|
-
import { RdtMenuOverlayComponent } from './menu-overlay/rdt-menu-overlay.component';
|
|
9
|
-
import { RdtMenuComponent } from './menu/rdt-menu.component';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export class RdtMenuModule {
|
|
12
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
13
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: RdtMenuModule, declarations: [RdtMenuOverlayComponent,
|
|
14
|
-
RdtMenuComponent,
|
|
15
|
-
RdtMenuBarComponent], imports: [CommonModule,
|
|
16
|
-
RouterModule,
|
|
17
|
-
RdtAnyRouteActiveDirective,
|
|
18
|
-
RdtKeyListenerDirective,
|
|
19
|
-
RdtButtonOutletDirective], exports: [RdtMenuComponent, RdtMenuBarComponent] });
|
|
20
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtMenuModule, imports: [CommonModule,
|
|
21
|
-
RouterModule] });
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RdtMenuModule, decorators: [{
|
|
24
|
-
type: NgModule,
|
|
25
|
-
args: [{
|
|
26
|
-
imports: [
|
|
27
|
-
CommonModule,
|
|
28
|
-
RouterModule,
|
|
29
|
-
RdtAnyRouteActiveDirective,
|
|
30
|
-
RdtKeyListenerDirective,
|
|
31
|
-
RdtButtonOutletDirective,
|
|
32
|
-
],
|
|
33
|
-
declarations: [
|
|
34
|
-
RdtMenuOverlayComponent,
|
|
35
|
-
RdtMenuComponent,
|
|
36
|
-
RdtMenuBarComponent,
|
|
37
|
-
],
|
|
38
|
-
exports: [RdtMenuComponent, RdtMenuBarComponent],
|
|
39
|
-
}]
|
|
40
|
-
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmR0LW1lbnUubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vQG5ncmR0L21lbnUvc3JjL2xpYi9yZHQtbWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7O0FBaUI3RCxNQUFNLE9BQU8sYUFBYTt1R0FBYixhQUFhO3dHQUFiLGFBQWEsaUJBTnRCLHVCQUF1QjtZQUN2QixnQkFBZ0I7WUFDaEIsbUJBQW1CLGFBVG5CLFlBQVk7WUFDWixZQUFZO1lBQ1osMEJBQTBCO1lBQzFCLHVCQUF1QjtZQUN2Qix3QkFBd0IsYUFPaEIsZ0JBQWdCLEVBQUUsbUJBQW1CO3dHQUVwQyxhQUFhLFlBYnRCLFlBQVk7WUFDWixZQUFZOzsyRkFZSCxhQUFhO2tCQWZ6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFlBQVk7d0JBQ1osMEJBQTBCO3dCQUMxQix1QkFBdUI7d0JBQ3ZCLHdCQUF3QjtxQkFDekI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHVCQUF1Qjt3QkFDdkIsZ0JBQWdCO3dCQUNoQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFDLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDO2lCQUNqRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFJkdEJ1dHRvbk91dGxldERpcmVjdGl2ZSB9IGZyb20gJ0BuZ3JkdC9idXR0b24nO1xyXG5pbXBvcnQgeyBSZHRBbnlSb3V0ZUFjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJ0BuZ3JkdC9yb3V0ZXInO1xyXG5pbXBvcnQgeyBSZHRLZXlMaXN0ZW5lckRpcmVjdGl2ZSB9IGZyb20gJ0BuZ3JkdC9zaG9ydGN1dHMnO1xyXG5pbXBvcnQgeyBSZHRNZW51QmFyQ29tcG9uZW50IH0gZnJvbSAnLi9tZW51LWJhci9yZHQtbWVudS1iYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUmR0TWVudU92ZXJsYXlDb21wb25lbnQgfSBmcm9tICcuL21lbnUtb3ZlcmxheS9yZHQtbWVudS1vdmVybGF5LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFJkdE1lbnVDb21wb25lbnQgfSBmcm9tICcuL21lbnUvcmR0LW1lbnUuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gICAgUmR0QW55Um91dGVBY3RpdmVEaXJlY3RpdmUsXHJcbiAgICBSZHRLZXlMaXN0ZW5lckRpcmVjdGl2ZSxcclxuICAgIFJkdEJ1dHRvbk91dGxldERpcmVjdGl2ZSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgUmR0TWVudU92ZXJsYXlDb21wb25lbnQsXHJcbiAgICBSZHRNZW51Q29tcG9uZW50LFxyXG4gICAgUmR0TWVudUJhckNvbXBvbmVudCxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtSZHRNZW51Q29tcG9uZW50LCBSZHRNZW51QmFyQ29tcG9uZW50XSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJkdE1lbnVNb2R1bGUge31cclxuIl19
|
package/esm2022/lib/utils.mjs
DELETED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
export const INVISIBLE_CLASS = 'invisible';
|
|
2
|
-
export const FOCUS_VISIBLE = 'focus-visible';
|
|
3
|
-
function getChildRoutesMapRec(item, map) {
|
|
4
|
-
let childRoutes;
|
|
5
|
-
if (menuItemHasChildren(item)) {
|
|
6
|
-
childRoutes = item.items.map((child) => getChildRoutesMapRec(child, map));
|
|
7
|
-
}
|
|
8
|
-
else {
|
|
9
|
-
childRoutes = [];
|
|
10
|
-
}
|
|
11
|
-
let res;
|
|
12
|
-
if (menuItemHasRoute(item) && item.routerLink) {
|
|
13
|
-
res = [item.routerLink].concat(...childRoutes);
|
|
14
|
-
}
|
|
15
|
-
else {
|
|
16
|
-
res = [].concat(...childRoutes);
|
|
17
|
-
}
|
|
18
|
-
map.set(item, res);
|
|
19
|
-
return res;
|
|
20
|
-
}
|
|
21
|
-
export function getChildRoutesMap(items) {
|
|
22
|
-
const map = new Map();
|
|
23
|
-
items.forEach((item) => getChildRoutesMapRec(item, map));
|
|
24
|
-
return map;
|
|
25
|
-
}
|
|
26
|
-
export function findNextItemWithPrefix(items, itemIndex, prefix) {
|
|
27
|
-
const len = items.length;
|
|
28
|
-
prefix = prefix.toLocaleLowerCase();
|
|
29
|
-
for (let i = (itemIndex + 1) % len; i !== itemIndex; i = (i + 1) % len) {
|
|
30
|
-
const label = items[i].label.toLocaleLowerCase();
|
|
31
|
-
if (label.startsWith(prefix)) {
|
|
32
|
-
return i;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return null;
|
|
36
|
-
}
|
|
37
|
-
export function menuItemHasChildren(item) {
|
|
38
|
-
return 'items' in item;
|
|
39
|
-
}
|
|
40
|
-
export function menuItemHasRoute(item) {
|
|
41
|
-
return 'routerLink' in item;
|
|
42
|
-
}
|
|
43
|
-
function getMenuItemsShortcutsRec(item, currentPath, res) {
|
|
44
|
-
const path = [...currentPath, item];
|
|
45
|
-
if (item.shortcut) {
|
|
46
|
-
res.push({
|
|
47
|
-
path: path,
|
|
48
|
-
shortcut: item.shortcut,
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
if (menuItemHasChildren(item)) {
|
|
52
|
-
item.items.forEach((child) => getMenuItemsShortcutsRec(child, path, res));
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
export function getMenuItemsShortcuts(items) {
|
|
56
|
-
const res = [];
|
|
57
|
-
const initialPath = [];
|
|
58
|
-
items.forEach((item) => getMenuItemsShortcutsRec(item, initialPath, res));
|
|
59
|
-
return res;
|
|
60
|
-
}
|
|
61
|
-
export function areHorDirsEqual(a, b) {
|
|
62
|
-
if (!a) {
|
|
63
|
-
return !b;
|
|
64
|
-
}
|
|
65
|
-
if (!b) {
|
|
66
|
-
return !a;
|
|
67
|
-
}
|
|
68
|
-
return a.dir === b.dir && a.left === b.left;
|
|
69
|
-
}
|
|
70
|
-
export function areVertDirsEqual(a, b) {
|
|
71
|
-
if (!a) {
|
|
72
|
-
return !b;
|
|
73
|
-
}
|
|
74
|
-
if (!b) {
|
|
75
|
-
return !a;
|
|
76
|
-
}
|
|
77
|
-
return a.dir === b.dir && a.top === b.top;
|
|
78
|
-
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9AbmdyZHQvbWVudS9zcmMvbGliL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGVBQWUsQ0FBQztBQWdDN0MsU0FBUyxvQkFBb0IsQ0FDM0IsSUFBdUIsRUFDdkIsR0FBdUM7SUFFdkMsSUFBSSxXQUF5QixDQUFDO0lBRTlCLElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUM5QixXQUFXLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLG9CQUFvQixDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVFLENBQUM7U0FBTSxDQUFDO1FBQ04sV0FBVyxHQUFHLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsSUFBSSxHQUFlLENBQUM7SUFFcEIsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDOUMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLFdBQVcsQ0FBQyxDQUFDO0lBQ2pELENBQUM7U0FBTSxDQUFDO1FBQ04sR0FBRyxHQUFJLEVBQWlCLENBQUMsTUFBTSxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNELEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVELE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxLQUEwQjtJQUMxRCxNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBaUMsQ0FBQztJQUVyRCxLQUFL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QUFDLEVBQUUsQ0FBQztRQUNQLE9BQU8sQ0FBQyxDQUFDLENBQUM7SUFDWixDQUFDO0lBQ0QsT0FBTyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO0FBQzVDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZHRTaG9ydGN1dCB9IGZyb20gJ0BuZ3JkdC9zaG9ydGN1dHMnO1xyXG5pbXBvcnQge1xyXG4gIE51bGxhYmxlLFxyXG4gIFJkdEhvcml6b250YWxEaXJlY3Rpb24sXHJcbiAgUmR0VmVydGljYWxEaXJlY3Rpb24sXHJcbn0gZnJvbSAnQG5ncmR0L3V0aWxzJztcclxuaW1wb3J0IHtcclxuICBQYXJzZWRSZHRNZW51SXRlbSxcclxuICBQYXJzZWRSZHRNZW51SXRlbVdpdGhDaGlsZHJlbixcclxuICBQYXJzZWRSZHRNZW51SXRlbVdpdGhSb3V0ZSxcclxufSBmcm9tICcuL3ByaXZhdGUtbW9kZWxzJztcclxuXHJcbmV4cG9ydCBjb25zdCBJTlZJU0lCTEVfQ0xBU1MgPSAnaW52aXNpYmxlJztcclxuZXhwb3J0IGNvbnN0IEZPQ1VTX1ZJU0lCTEUgPSAnZm9jdXMtdmlzaWJsZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNpemUge1xyXG4gIHdpZHRoOiBudW1iZXI7XHJcbiAgaGVpZ2h0OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVmVydE9mZnNldCB7XHJcbiAgdG9wOiBudW1iZXI7XHJcbiAgYm90dG9tOiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSG9yT2Zmc2V0IHtcclxuICBsZWZ0OiBudW1iZXI7XHJcbiAgcmlnaHQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWZXJ0RGlyV2l0aE9mZnNldCB7XHJcbiAgZGlyOiBSZHRWZXJ0aWNhbERpcmVjdGlvbjtcclxuICB0b3A6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBIb3JEaXJXaXRoT2Zmc2V0IHtcclxuICBkaXI6IFJkdEhvcml6b250YWxEaXJlY3Rpb247XHJcbiAgbGVmdDogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBhcnNlZFJkdE1lbnVJdGVtV2l0aFNob3J0Y3V0IHtcclxuICBwYXRoOiBQYXJzZWRSZHRNZW51SXRlbVtdO1xyXG4gIHNob3J0Y3V0OiBSZHRTaG9ydGN1dDtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0Q2hpbGRSb3V0ZXNNYXBSZWMoXHJcbiAgaXRlbTogUGFyc2VkUmR0TWVudUl0ZW0sXHJcbiAgbWFwOiBNYXA8UGFyc2VkUmR0TWVudUl0ZW0sIHN0cmluZ1tdW10+XHJcbik6IHN0cmluZ1tdW10ge1xyXG4gIGxldCBjaGlsZFJvdXRlczogc3RyaW5nW11bXVtdO1xyXG5cclxuICBpZiAobWVudUl0ZW1IYXNDaGlsZHJlbihpdGVtKSkge1xyXG4gICAgY2hpbGRSb3V0ZXMgPSBpdGVtLml0ZW1zLm1hcCgoY2hpbGQpID0+IGdldENoaWxkUm91dGVzTWFwUmVjKGNoaWxkLCBtYXApKTtcclxuICB9IGVsc2Uge1xyXG4gICAgY2hpbGRSb3V0ZXMgPSBbXTtcclxuICB9XHJcblxyXG4gIGxldCByZXM6IHN0cmluZ1tdW107XHJcblxyXG4gIGlmIChtZW51SXRlbUhhc1JvdXRlKGl0ZW0pICYmIGl0ZW0ucm91dGVyTGluaykge1xyXG4gICAgcmVzID0gW2l0ZW0ucm91dGVyTGlua10uY29uY2F0KC4uLmNoaWxkUm91dGVzKTtcclxuICB9IGVsc2Uge1xyXG4gICAgcmVzID0gKFtdIGFzIHN0cmluZ1tdW10pLmNvbmNhdCguLi5jaGlsZFJvdXRlcyk7XHJcbiAgfVxyXG4gIG1hcC5zZXQoaXRlbSwgcmVzKTtcclxuICByZXR1cm4gcmVzO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2hpbGRSb3V0ZXNNYXAoaXRlbXM6IFBhcnNlZFJkdE1lbnVJdGVtW10pIHtcclxuICBjb25zdCBtYXAgPSBuZXcgTWFwPFBhcnNlZFJkdE1lbnVJdGVtLCBzdHJpbmdbXVtdPigpO1xyXG5cclxuICBpdGVtcy5mb3JFYWNoKChpdGVtKSA9PiBnZXRDaGlsZFJvdXRlc01hcFJlYyhpdGVtLCBtYXApKTtcclxuICByZXR1cm4gbWFwO1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZmluZE5leHRJdGVtV2l0aFByZWZpeChcclxuICBpdGVtczogUGFyc2VkUmR0TWVudUl0ZW1bXSxcclxuICBpdGVtSW5kZXg6IG51bWJlcixcclxuICBwcmVmaXg6IHN0cmluZ1xyXG4pIHtcclxuICBjb25zdCBsZW4gPSBpdGVtcy5sZW5ndGg7XHJcbiAgcHJlZml4ID0gcHJlZml4LnRvTG9jYWxlTG93ZXJDYXNlKCk7XHJcbiAgZm9yIChsZXQgaSA9IChpdGVtSW5kZXggKyAxKSAlIGxlbjsgaSAhPT0gaXRlbUluZGV4OyBpID0gKGkgKyAxKSAlIGxlbikge1xyXG4gICAgY29uc3QgbGFiZWwgPSBpdGVtc1tpXS5sYWJlbC50b0xvY2FsZUxvd2VyQ2FzZSgpO1xyXG4gICAgaWYgKGxhYmVsLnN0YXJ0c1dpdGgocHJlZml4KSkge1xyXG4gICAgICByZXR1cm4gaTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIG51bGw7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtZW51SXRlbUhhc0NoaWxkcmVuKFxyXG4gIGl0ZW06IFBhcnNlZFJkdE1lbnVJdGVtXHJcbik6IGl0ZW0gaXMgUGFyc2VkUmR0TWVudUl0ZW1XaXRoQ2hpbGRyZW4ge1xyXG4gIHJldHVybiAnaXRlbXMnIGluIGl0ZW07XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBtZW51SXRlbUhhc1JvdXRlKFxyXG4gIGl0ZW06IFBhcnNlZFJkdE1lbnVJdGVtXHJcbik6IGl0ZW0gaXMgUGFyc2VkUmR0TWVudUl0ZW1XaXRoUm91dGUge1xyXG4gIHJldHVybiAncm91dGVyTGluaycgaW4gaXRlbTtcclxufVxyXG5cclxuZnVuY3Rpb24gZ2V0TWVudUl0ZW1zU2hvcnRjdXRzUmVjKFxyXG4gIGl0ZW06IFBhcnNlZFJkdE1lbnVJdGVtLFxyXG4gIGN1cnJlbnRQYXRoOiBQYXJzZWRSZHRNZW51SXRlbVtdLFxyXG4gIHJlczogUGFyc2VkUmR0TWVudUl0ZW1XaXRoU2hvcnRjdXRbXVxyXG4pIHtcclxuICBjb25zdCBwYXRoID0gWy4uLmN1cnJlbnRQYXRoLCBpdGVtXTtcclxuICBpZiAoaXRlbS5zaG9ydGN1dCkge1xyXG4gICAgcmVzLnB1c2goe1xyXG4gICAgICBwYXRoOiBwYXRoLFxyXG4gICAgICBzaG9ydGN1dDogaXRlbS5zaG9ydGN1dCxcclxuICAgIH0pO1xyXG4gIH1cclxuICBpZiAobWVudUl0ZW1IYXNDaGlsZHJlbihpdGVtKSkge1xyXG4gICAgaXRlbS5pdGVtcy5mb3JFYWNoKChjaGlsZCkgPT4gZ2V0TWVudUl0ZW1zU2hvcnRjdXRzUmVjKGNoaWxkLCBwYXRoLCByZXMpKTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRNZW51SXRlbXNTaG9ydGN1dHMoaXRlbXM6IFBhcnNlZFJkdE1lbnVJdGVtW10pIHtcclxuICBjb25zdCByZXM6IFBhcnNlZFJkdE1lbnVJdGVtV2l0aFNob3J0Y3V0W10gPSBbXTtcclxuICBjb25zdCBpbml0aWFsUGF0aDogUGFyc2VkUmR0TWVudUl0ZW1bXSA9IFtdO1xyXG4gIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IGdldE1lbnVJdGVtc1Nob3J0Y3V0c1JlYyhpdGVtLCBpbml0aWFsUGF0aCwgcmVzKSk7XHJcbiAgcmV0dXJuIHJlcztcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGFyZUhvckRpcnNFcXVhbChcclxuICBhOiBOdWxsYWJsZTxIb3JEaXJXaXRoT2Zmc2V0PixcclxuICBiOiBOdWxsYWJsZTxIb3JEaXJXaXRoT2Zmc2V0PlxyXG4pIHtcclxuICBpZiAoIWEpIHtcclxuICAgIHJldHVybiAhYjtcclxuICB9XHJcbiAgaWYgKCFiKSB7XHJcbiAgICByZXR1cm4gIWE7XHJcbiAgfVxyXG4gIHJldHVybiBhLmRpciA9PT0gYi5kaXIgJiYgYS5sZWZ0ID09PSBiLmxlZnQ7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBhcmVWZXJ0RGlyc0VxdWFsKFxyXG4gIGE6IE51bGxhYmxlPFZlcnREaXJXaXRoT2Zmc2V0PixcclxuICBiOiBOdWxsYWJsZTxWZXJ0RGlyV2l0aE9mZnNldD5cclxuKSB7XHJcbiAgaWYgKCFhKSB7XHJcbiAgICByZXR1cm4gIWI7XHJcbiAgfVxyXG4gIGlmICghYikge1xyXG4gICAgcmV0dXJuICFhO1xyXG4gIH1cclxuICByZXR1cm4gYS5kaXIgPT09IGIuZGlyICYmIGEudG9wID09PSBiLnRvcDtcclxufVxyXG4iXX0=
|
package/esm2022/ngrdt-menu.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyZHQtbWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL0BuZ3JkdC9tZW51L3NyYy9uZ3JkdC1tZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { DoCheck, ElementRef, OnInit, QueryList } from '@angular/core';
|
|
2
|
-
import { RdtButtonBaseInt } from '@ngrdt/button';
|
|
3
|
-
import { RdtMenuBaseComponent } from '../menu-base/rdt-menu-base.component';
|
|
4
|
-
import { RdtMenuItem } from '../models';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class RdtMenuComponent extends RdtMenuBaseComponent implements OnInit, DoCheck {
|
|
7
|
-
protected readonly buttonClass: import("@angular/core").Type<RdtButtonBaseInt<string>>;
|
|
8
|
-
trigger: RdtButtonBaseInt;
|
|
9
|
-
dataTestId: string;
|
|
10
|
-
get items(): RdtMenuItem[];
|
|
11
|
-
set items(value: RdtMenuItem[]);
|
|
12
|
-
private _items;
|
|
13
|
-
protected readonly focusableElements: QueryList<ElementRef<HTMLElement>>;
|
|
14
|
-
get buttonContainer(): HTMLElement | undefined;
|
|
15
|
-
get parsedItem(): import("../private-models").ParsedRdtMenuItem;
|
|
16
|
-
get anchorElement(): HTMLElement | null;
|
|
17
|
-
ngOnInit(): void;
|
|
18
|
-
ngDoCheck(): void;
|
|
19
|
-
toggle(): void;
|
|
20
|
-
private listenPointerOver;
|
|
21
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RdtMenuComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RdtMenuComponent, "rdt-menu", never, { "trigger": { "alias": "trigger"; "required": true; }; "dataTestId": { "alias": "dataTestId"; "required": false; }; "items": { "alias": "items"; "required": true; }; }, {}, never, never, false, never>;
|
|
23
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { ElementRef } from '@angular/core';
|
|
2
|
-
import { RdtMenuBaseComponent } from '../menu-base/rdt-menu-base.component';
|
|
3
|
-
import { RdtMenuItem } from '../models';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class RdtMenuBarComponent extends RdtMenuBaseComponent {
|
|
6
|
-
buttonContainerRef?: ElementRef<HTMLElement>;
|
|
7
|
-
get buttonContainer(): HTMLElement | undefined;
|
|
8
|
-
get items(): RdtMenuItem[];
|
|
9
|
-
set items(value: RdtMenuItem[]);
|
|
10
|
-
private _items;
|
|
11
|
-
headerHeight: number;
|
|
12
|
-
footerHeight: number;
|
|
13
|
-
private roleAttr;
|
|
14
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RdtMenuBarComponent, never>;
|
|
15
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RdtMenuBarComponent, "rdt-menu-bar", never, { "items": { "alias": "items"; "required": false; }; "headerHeight": { "alias": "headerHeight"; "required": false; }; "footerHeight": { "alias": "footerHeight"; "required": false; }; }, {}, never, never, false, never>;
|
|
16
|
-
static ngAcceptInputType_headerHeight: unknown;
|
|
17
|
-
static ngAcceptInputType_footerHeight: unknown;
|
|
18
|
-
}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit, ChangeDetectorRef, DestroyRef, ElementRef, EnvironmentInjector, OnChanges, OnInit, QueryList, Renderer2, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { Router } from '@angular/router';
|
|
3
|
-
import { RdtRoute, RdtRouterService } from '@ngrdt/router';
|
|
4
|
-
import { RdtShortcut, RdtShortcutService } from '@ngrdt/shortcuts';
|
|
5
|
-
import { RdtHorizontalDirection, RdtVerticalDirection } from '@ngrdt/utils';
|
|
6
|
-
import { Subscription } from 'rxjs';
|
|
7
|
-
import { RdtMenuOverlayComponent } from '../menu-overlay/rdt-menu-overlay.component';
|
|
8
|
-
import { ParsedRdtMenuItem, RdtMenuExpandedChild, RdtMenuExpandSource } from '../private-models';
|
|
9
|
-
import { ParsedRdtMenuItemWithShortcut, Size } from '../utils';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
export declare abstract class RdtMenuBaseComponent implements OnInit, OnChanges, AfterViewInit {
|
|
12
|
-
preferredVerticalDir: RdtVerticalDirection;
|
|
13
|
-
preferredHorizontalDir: RdtHorizontalDirection;
|
|
14
|
-
shortcutMode: 'focus-item' | 'open-submenu';
|
|
15
|
-
closeOnFocusOut: boolean;
|
|
16
|
-
openOnHover: boolean;
|
|
17
|
-
hitboxMargin: number;
|
|
18
|
-
readonly cd: ChangeDetectorRef;
|
|
19
|
-
readonly destroyRef: DestroyRef;
|
|
20
|
-
protected readonly rdtRouter: RdtRouterService;
|
|
21
|
-
protected readonly elRef: ElementRef<HTMLElement>;
|
|
22
|
-
protected readonly document: Document;
|
|
23
|
-
protected readonly renderer: Renderer2;
|
|
24
|
-
protected readonly router: Router;
|
|
25
|
-
protected readonly shortcutService: RdtShortcutService;
|
|
26
|
-
protected readonly injector: EnvironmentInjector;
|
|
27
|
-
protected children: QueryList<RdtMenuOverlayComponent>;
|
|
28
|
-
protected focusableElements: QueryList<ElementRef<HTMLElement>>;
|
|
29
|
-
abstract get buttonContainer(): HTMLElement | undefined;
|
|
30
|
-
classes: string;
|
|
31
|
-
expandedChild: RdtMenuExpandedChild | null;
|
|
32
|
-
protected autofocusSubmenuItem: 'first' | 'last' | null;
|
|
33
|
-
protected parsedItems: ParsedRdtMenuItem[];
|
|
34
|
-
get clientSize(): Size;
|
|
35
|
-
private _clientSize;
|
|
36
|
-
get bodyMargin(): {
|
|
37
|
-
top: number;
|
|
38
|
-
bottom: number;
|
|
39
|
-
left: number;
|
|
40
|
-
right: number;
|
|
41
|
-
};
|
|
42
|
-
private _bodyMargin;
|
|
43
|
-
get buttonContainerRect(): DOMRect | undefined;
|
|
44
|
-
private _buttonContainerRect?;
|
|
45
|
-
protected allParsedItems: ParsedRdtMenuItem[];
|
|
46
|
-
protected childRoutesMap: Map<ParsedRdtMenuItem, string[][]>;
|
|
47
|
-
protected shortcutSub: Subscription;
|
|
48
|
-
protected shortcutMap: Record<string, ParsedRdtMenuItem[]>;
|
|
49
|
-
readonly keyActions: {
|
|
50
|
-
[x: string]: (index: number) => void;
|
|
51
|
-
};
|
|
52
|
-
getChildRoutes(item: ParsedRdtMenuItem): string[][];
|
|
53
|
-
ngOnInit(): void;
|
|
54
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
55
|
-
ngAfterViewInit(): void;
|
|
56
|
-
recalculateChildren(): void;
|
|
57
|
-
closeSubmenus(focusExpanded?: boolean): void;
|
|
58
|
-
protected onItemClick(item: ParsedRdtMenuItem): void;
|
|
59
|
-
protected onItemPointerEnter(item: ParsedRdtMenuItem): void;
|
|
60
|
-
protected onKeyDown(itemIndex: number, event: KeyboardEvent): void;
|
|
61
|
-
protected invokeItemClick(item: ParsedRdtMenuItem): void;
|
|
62
|
-
protected filterItems(): void;
|
|
63
|
-
protected filterRec(items: ParsedRdtMenuItem[], current: {
|
|
64
|
-
route: RdtRoute;
|
|
65
|
-
params: Record<string, any>;
|
|
66
|
-
}): ParsedRdtMenuItem[];
|
|
67
|
-
protected invokeItemClickByIndex(itemIndex: number): void;
|
|
68
|
-
protected openSubmenu(itemIndex: number, visibleFocus: 'first' | 'last', src: RdtMenuExpandSource): void;
|
|
69
|
-
protected focusItem(item: number | ParsedRdtMenuItem): void;
|
|
70
|
-
protected focusNextItem(itemIndex: number): void;
|
|
71
|
-
protected focusPrevItem(itemIndex: number): void;
|
|
72
|
-
protected blurAllFocusable(): void;
|
|
73
|
-
protected focusFocusable(itemIndex: number): void;
|
|
74
|
-
protected onPointerMove(event: PointerEvent): void;
|
|
75
|
-
protected checkActiveElement(event: FocusEvent): void;
|
|
76
|
-
protected onDocumentClick(event: PointerEvent): void;
|
|
77
|
-
protected measure(): void;
|
|
78
|
-
protected readMargin(): void;
|
|
79
|
-
protected measureClientSize(): void;
|
|
80
|
-
protected measureButtonContainer(): void;
|
|
81
|
-
protected listenWindowResize(): void;
|
|
82
|
-
protected listenShortcuts(): void;
|
|
83
|
-
protected getShortcutMap(itemsWithShortcuts: ParsedRdtMenuItemWithShortcut[]): Record<string, ParsedRdtMenuItem[]>;
|
|
84
|
-
protected onShortcut(shortcut: RdtShortcut): void;
|
|
85
|
-
protected activateItemRecursively(path: ParsedRdtMenuItem[], src: RdtMenuExpandSource): void;
|
|
86
|
-
isPointerInsideHitbox(hitbox: DOMRect, event: PointerEvent): boolean;
|
|
87
|
-
getHitboxes(): {
|
|
88
|
-
rect: DOMRect;
|
|
89
|
-
fixed: boolean;
|
|
90
|
-
close: () => void;
|
|
91
|
-
}[];
|
|
92
|
-
getOpenMenuBoundingBoxes(): {
|
|
93
|
-
rect: DOMRect;
|
|
94
|
-
fixed: boolean;
|
|
95
|
-
close: () => void;
|
|
96
|
-
}[];
|
|
97
|
-
private getOpenMenuBoundingBoxesRec;
|
|
98
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RdtMenuBaseComponent, never>;
|
|
99
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<RdtMenuBaseComponent, never, never, { "preferredVerticalDir": { "alias": "preferredVerticalDir"; "required": false; }; "preferredHorizontalDir": { "alias": "preferredHorizontalDir"; "required": false; }; "shortcutMode": { "alias": "shortcutMode"; "required": false; }; "closeOnFocusOut": { "alias": "closeOnFocusOut"; "required": false; }; "openOnHover": { "alias": "openOnHover"; "required": false; }; "hitboxMargin": { "alias": "hitboxMargin"; "required": false; }; }, {}, never, never, false, never>;
|
|
100
|
-
static ngAcceptInputType_closeOnFocusOut: unknown;
|
|
101
|
-
static ngAcceptInputType_openOnHover: unknown;
|
|
102
|
-
static ngAcceptInputType_hitboxMargin: unknown;
|
|
103
|
-
}
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit, DestroyRef, ElementRef, OnChanges, OnInit, QueryList, SimpleChanges } from '@angular/core';
|
|
2
|
-
import { RdtHorizontalDirection, RdtVerticalDirection } from '@ngrdt/utils';
|
|
3
|
-
import { ParsedRdtMenuItem, ParsedRdtMenuItemWithChildren, RdtMenuExpandSource } from '../private-models';
|
|
4
|
-
import { HorDirWithOffset, VertDirWithOffset } from '../utils';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class RdtMenuOverlayComponent implements OnInit, OnChanges, AfterViewInit {
|
|
7
|
-
readonly elRef: ElementRef<HTMLElement>;
|
|
8
|
-
readonly destroyRef: DestroyRef;
|
|
9
|
-
private readonly renderer;
|
|
10
|
-
private readonly topLevelMenu;
|
|
11
|
-
private readonly parentMenu;
|
|
12
|
-
private readonly cd;
|
|
13
|
-
private readonly router;
|
|
14
|
-
private readonly document;
|
|
15
|
-
private readonly shortcutService;
|
|
16
|
-
readonly children: QueryList<RdtMenuOverlayComponent>;
|
|
17
|
-
private focusableElements;
|
|
18
|
-
private menuItemContainer;
|
|
19
|
-
item: ParsedRdtMenuItemWithChildren;
|
|
20
|
-
level: number;
|
|
21
|
-
preferredHorizontalDir: RdtHorizontalDirection;
|
|
22
|
-
preferredVerticalDir: RdtVerticalDirection;
|
|
23
|
-
expanded: boolean;
|
|
24
|
-
autofocusItem: 'first' | 'last' | null;
|
|
25
|
-
anchorElement?: HTMLElement;
|
|
26
|
-
private roleAttr;
|
|
27
|
-
private tabindexAttr;
|
|
28
|
-
get zIndex(): number;
|
|
29
|
-
get isRootLevel(): boolean;
|
|
30
|
-
private _box;
|
|
31
|
-
get box(): DOMRect;
|
|
32
|
-
private _anchorBox;
|
|
33
|
-
private _containerPadding;
|
|
34
|
-
private _viewWasInit;
|
|
35
|
-
protected verticalDir: VertDirWithOffset | null;
|
|
36
|
-
protected horizontalDir: HorDirWithOffset | null;
|
|
37
|
-
protected expandedChild: {
|
|
38
|
-
item: ParsedRdtMenuItem;
|
|
39
|
-
src: RdtMenuExpandSource;
|
|
40
|
-
} | null;
|
|
41
|
-
protected autofocusSubmenuItem: 'first' | 'last' | null;
|
|
42
|
-
readonly keyActions: {
|
|
43
|
-
[x: string]: (index: number) => void;
|
|
44
|
-
};
|
|
45
|
-
get selfExpandSrc(): RdtMenuExpandSource | undefined;
|
|
46
|
-
ngOnInit(): void;
|
|
47
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
48
|
-
ngAfterViewInit(): void;
|
|
49
|
-
private getMinOffsetLeft;
|
|
50
|
-
private getMaxOffsetLeft;
|
|
51
|
-
private getMinOffsetTop;
|
|
52
|
-
private getMaxOffsetTop;
|
|
53
|
-
recalculatePosition(preferredHorizontalDir: RdtHorizontalDirection, preferredVerticalDir: RdtVerticalDirection): void;
|
|
54
|
-
onItemPointerEnter(item: ParsedRdtMenuItem): void;
|
|
55
|
-
onItemClick(item: ParsedRdtMenuItem): void;
|
|
56
|
-
invokeItemClick(item: ParsedRdtMenuItem): void;
|
|
57
|
-
getChildRoutes(item: ParsedRdtMenuItem): string[][];
|
|
58
|
-
closeSubmenus(focusExpanded?: boolean): void;
|
|
59
|
-
focusItemRecursively(path: ParsedRdtMenuItem[]): void;
|
|
60
|
-
private expandAndGetChild;
|
|
61
|
-
protected onKeyDown(itemIndex: number, event: KeyboardEvent): void;
|
|
62
|
-
private onTabKeyPress;
|
|
63
|
-
private invokeItemClickByIndex;
|
|
64
|
-
private focusItem;
|
|
65
|
-
private blurAllFocusable;
|
|
66
|
-
private focusFocusable;
|
|
67
|
-
private focusNextItem;
|
|
68
|
-
private focusPrevItem;
|
|
69
|
-
private openSubmenu;
|
|
70
|
-
closeSelf(focusExpanded?: boolean): void;
|
|
71
|
-
private checkActiveElement;
|
|
72
|
-
private getRealHorizontalDir;
|
|
73
|
-
private getNarrowScreenHorizontalDir;
|
|
74
|
-
private getRealVerticalDir;
|
|
75
|
-
private measureBoundingRect;
|
|
76
|
-
private measureContainerPadding;
|
|
77
|
-
private recalculateChildren;
|
|
78
|
-
private setClasses;
|
|
79
|
-
private setClass;
|
|
80
|
-
private removeClass;
|
|
81
|
-
private setOffset;
|
|
82
|
-
private listenTabKeyPress;
|
|
83
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RdtMenuOverlayComponent, never>;
|
|
84
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<RdtMenuOverlayComponent, "rdt-menu-overlay", never, { "item": { "alias": "item"; "required": false; }; "level": { "alias": "level"; "required": false; }; "preferredHorizontalDir": { "alias": "preferredHorizontalDir"; "required": false; }; "preferredVerticalDir": { "alias": "preferredVerticalDir"; "required": false; }; "expanded": { "alias": "expanded"; "required": false; }; "autofocusItem": { "alias": "autofocusItem"; "required": false; }; "anchorElement": { "alias": "anchorElement"; "required": false; }; }, {}, never, never, false, never>;
|
|
85
|
-
}
|
package/lib/models.d.ts
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { RdtRoute } from '@ngrdt/router';
|
|
2
|
-
import { RdtMenuItemBase } from './private-models';
|
|
3
|
-
import { RdtHorizontalDirection, RdtVerticalDirection, WindowOpenTargetType } from '@ngrdt/utils';
|
|
4
|
-
import { InjectionToken } from '@angular/core';
|
|
5
|
-
export interface RdtMenuItemWithRoute extends RdtMenuItemBase {
|
|
6
|
-
items?: never;
|
|
7
|
-
routerLink?: RdtRoute;
|
|
8
|
-
externalLink?: never;
|
|
9
|
-
target?: never;
|
|
10
|
-
}
|
|
11
|
-
export interface RdtMenuItemWithLink extends RdtMenuItemBase {
|
|
12
|
-
items?: never;
|
|
13
|
-
externalLink: string;
|
|
14
|
-
routerLink?: never;
|
|
15
|
-
target?: WindowOpenTargetType;
|
|
16
|
-
}
|
|
17
|
-
export interface RdtMenuItemWithChildren extends RdtMenuItemBase {
|
|
18
|
-
items: RdtMenuItem[];
|
|
19
|
-
routerLink?: never;
|
|
20
|
-
externalLink?: never;
|
|
21
|
-
target?: WindowOpenTargetType;
|
|
22
|
-
}
|
|
23
|
-
export type RdtMenuItem = RdtMenuItemWithChildren | RdtMenuItemWithRoute | RdtMenuItemWithLink;
|
|
24
|
-
export declare enum RdtMenuShortcutMode {
|
|
25
|
-
FOCUS_ITEM = "focus-item",
|
|
26
|
-
OPEN_SUBMENU = "open-submenu"
|
|
27
|
-
}
|
|
28
|
-
export declare const RDT_MENU_MARGIN_TOP_PROPERTY_NAME = "--rdt-menu-margin-top";
|
|
29
|
-
export declare const RDT_MENU_MARGIN_BOTTOM_PROPERTY_NAME = "--rdt-menu-margin-bottom";
|
|
30
|
-
export declare const RDT_MENU_MARGIN_LEFT_PROPERTY_NAME = "--rdt-menu-margin-left";
|
|
31
|
-
export declare const RDT_MENU_MARGIN_RIGHT_PROPERTY_NAME = "--rdt-menu-margin-right";
|
|
32
|
-
export declare const DEFAULT_MENU_HORIZONTAL_DIR = "left";
|
|
33
|
-
export declare const DEFAULT_MENU_VERTICAL_DIR = "down";
|
|
34
|
-
export declare const RDT_MENU_HORIZONTAL_DIR_PROVIDER: InjectionToken<RdtHorizontalDirection>;
|
|
35
|
-
export declare const RDT_MENU_VERTICAL_DIR_PROVIDER: InjectionToken<RdtVerticalDirection>;
|
package/lib/private-models.d.ts
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { Injector } from '@angular/core';
|
|
2
|
-
import { RdtRoute } from '@ngrdt/router';
|
|
3
|
-
import { RdtShortcut } from '@ngrdt/shortcuts';
|
|
4
|
-
import { WindowOpenTargetType } from '@ngrdt/utils';
|
|
5
|
-
import { RdtMenuItem } from './models';
|
|
6
|
-
export interface RdtMenuItemBase<TIcon = string> {
|
|
7
|
-
label: string;
|
|
8
|
-
icon?: TIcon;
|
|
9
|
-
shortcut?: RdtShortcut;
|
|
10
|
-
command?: () => void;
|
|
11
|
-
visible?: () => boolean;
|
|
12
|
-
queryParams?: {
|
|
13
|
-
[key: string]: any;
|
|
14
|
-
};
|
|
15
|
-
requiredParent?: RdtRoute;
|
|
16
|
-
dataTestId?: string;
|
|
17
|
-
}
|
|
18
|
-
export interface ParsedRdtMenuItemBase<TIcon = string> extends RdtMenuItemBase<TIcon> {
|
|
19
|
-
dataTestId: string;
|
|
20
|
-
}
|
|
21
|
-
export interface ParsedRdtMenuItemWithChildren<TIcon = string> extends ParsedRdtMenuItemBase<TIcon> {
|
|
22
|
-
items: ParsedRdtMenuItem[];
|
|
23
|
-
routerLink?: never;
|
|
24
|
-
externalLink?: never;
|
|
25
|
-
icon?: never;
|
|
26
|
-
target?: never;
|
|
27
|
-
}
|
|
28
|
-
export interface ParsedRdtMenuItemWithRoute<TIcon = string> extends ParsedRdtMenuItemBase<TIcon> {
|
|
29
|
-
items?: never;
|
|
30
|
-
routerLink?: string[];
|
|
31
|
-
externalLink?: never;
|
|
32
|
-
icon?: TIcon;
|
|
33
|
-
target: WindowOpenTargetType;
|
|
34
|
-
}
|
|
35
|
-
export interface ParsedRdtMenuItemWithLink<TIcon = string> extends ParsedRdtMenuItemBase<TIcon> {
|
|
36
|
-
items?: never;
|
|
37
|
-
routerLink?: never;
|
|
38
|
-
externalLink?: string;
|
|
39
|
-
icon?: TIcon;
|
|
40
|
-
target: WindowOpenTargetType;
|
|
41
|
-
}
|
|
42
|
-
export type ParsedRdtMenuItem = ParsedRdtMenuItemWithRoute | ParsedRdtMenuItemWithChildren | ParsedRdtMenuItemWithLink;
|
|
43
|
-
export declare function parseMenuItems(items: RdtMenuItem[], injector: Injector, prefix?: string): ParsedRdtMenuItem[];
|
|
44
|
-
export declare enum RdtMenuExpandSource {
|
|
45
|
-
Click = 0,
|
|
46
|
-
Hover = 1,
|
|
47
|
-
Shortcut = 2,
|
|
48
|
-
Focus = 3
|
|
49
|
-
}
|
|
50
|
-
export interface RdtMenuExpandedChild {
|
|
51
|
-
item: ParsedRdtMenuItem;
|
|
52
|
-
src: RdtMenuExpandSource;
|
|
53
|
-
}
|
package/lib/rdt-menu.module.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./menu-overlay/rdt-menu-overlay.component";
|
|
3
|
-
import * as i2 from "./menu/rdt-menu.component";
|
|
4
|
-
import * as i3 from "./menu-bar/rdt-menu-bar.component";
|
|
5
|
-
import * as i4 from "@angular/common";
|
|
6
|
-
import * as i5 from "@angular/router";
|
|
7
|
-
import * as i6 from "@ngrdt/router";
|
|
8
|
-
import * as i7 from "@ngrdt/shortcuts";
|
|
9
|
-
import * as i8 from "@ngrdt/button";
|
|
10
|
-
export declare class RdtMenuModule {
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<RdtMenuModule, never>;
|
|
12
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<RdtMenuModule, [typeof i1.RdtMenuOverlayComponent, typeof i2.RdtMenuComponent, typeof i3.RdtMenuBarComponent], [typeof i4.CommonModule, typeof i5.RouterModule, typeof i6.RdtAnyRouteActiveDirective, typeof i7.RdtKeyListenerDirective, typeof i8.RdtButtonOutletDirective], [typeof i2.RdtMenuComponent, typeof i3.RdtMenuBarComponent]>;
|
|
13
|
-
static ɵinj: i0.ɵɵInjectorDeclaration<RdtMenuModule>;
|
|
14
|
-
}
|
package/lib/utils.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { RdtShortcut } from '@ngrdt/shortcuts';
|
|
2
|
-
import { Nullable, RdtHorizontalDirection, RdtVerticalDirection } from '@ngrdt/utils';
|
|
3
|
-
import { ParsedRdtMenuItem, ParsedRdtMenuItemWithChildren, ParsedRdtMenuItemWithRoute } from './private-models';
|
|
4
|
-
export declare const INVISIBLE_CLASS = "invisible";
|
|
5
|
-
export declare const FOCUS_VISIBLE = "focus-visible";
|
|
6
|
-
export interface Size {
|
|
7
|
-
width: number;
|
|
8
|
-
height: number;
|
|
9
|
-
}
|
|
10
|
-
export interface VertOffset {
|
|
11
|
-
top: number;
|
|
12
|
-
bottom: number;
|
|
13
|
-
}
|
|
14
|
-
export interface HorOffset {
|
|
15
|
-
left: number;
|
|
16
|
-
right: number;
|
|
17
|
-
}
|
|
18
|
-
export interface VertDirWithOffset {
|
|
19
|
-
dir: RdtVerticalDirection;
|
|
20
|
-
top: number;
|
|
21
|
-
}
|
|
22
|
-
export interface HorDirWithOffset {
|
|
23
|
-
dir: RdtHorizontalDirection;
|
|
24
|
-
left: number;
|
|
25
|
-
}
|
|
26
|
-
export interface ParsedRdtMenuItemWithShortcut {
|
|
27
|
-
path: ParsedRdtMenuItem[];
|
|
28
|
-
shortcut: RdtShortcut;
|
|
29
|
-
}
|
|
30
|
-
export declare function getChildRoutesMap(items: ParsedRdtMenuItem[]): Map<ParsedRdtMenuItem, string[][]>;
|
|
31
|
-
export declare function findNextItemWithPrefix(items: ParsedRdtMenuItem[], itemIndex: number, prefix: string): number | null;
|
|
32
|
-
export declare function menuItemHasChildren(item: ParsedRdtMenuItem): item is ParsedRdtMenuItemWithChildren;
|
|
33
|
-
export declare function menuItemHasRoute(item: ParsedRdtMenuItem): item is ParsedRdtMenuItemWithRoute;
|
|
34
|
-
export declare function getMenuItemsShortcuts(items: ParsedRdtMenuItem[]): ParsedRdtMenuItemWithShortcut[];
|
|
35
|
-
export declare function areHorDirsEqual(a: Nullable<HorDirWithOffset>, b: Nullable<HorDirWithOffset>): boolean;
|
|
36
|
-
export declare function areVertDirsEqual(a: Nullable<VertDirWithOffset>, b: Nullable<VertDirWithOffset>): boolean;
|