@fundamental-ngx/core 0.33.0-rc.91 → 0.33.0-rc.93
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/action-bar/package.json +1 -1
- package/action-sheet/package.json +1 -1
- package/alert/package.json +1 -1
- package/avatar/package.json +1 -1
- package/avatar-group/package.json +1 -1
- package/bar/package.json +1 -1
- package/breadcrumb/package.json +1 -1
- package/bundles/fundamental-ngx-core-menu.umd.js +7 -3
- package/bundles/fundamental-ngx-core-menu.umd.js.map +1 -1
- package/bundles/fundamental-ngx-core-split-button.umd.js +8 -0
- package/bundles/fundamental-ngx-core-split-button.umd.js.map +1 -1
- package/busy-indicator/package.json +1 -1
- package/button/package.json +1 -1
- package/calendar/package.json +1 -1
- package/card/package.json +1 -1
- package/carousel/package.json +1 -1
- package/checkbox/package.json +1 -1
- package/combobox/package.json +1 -1
- package/date-picker/package.json +1 -1
- package/datetime/package.json +1 -1
- package/datetime-picker/package.json +1 -1
- package/dialog/package.json +1 -1
- package/dynamic-page/package.json +1 -1
- package/dynamic-side-content/package.json +1 -1
- package/esm2015/menu/directives/menu-interactive.directive.js +3 -1
- package/esm2015/menu/directives/menu-interactive.directive.js.map +1 -1
- package/esm2015/menu/directives/menu-interactive.directive.metadata.json +1 -1
- package/esm2015/menu/menu-item/menu-item.component.js +4 -2
- package/esm2015/menu/menu-item/menu-item.component.js.map +1 -1
- package/esm2015/menu/menu-item/menu-item.component.metadata.json +1 -1
- package/esm2015/split-button/split-button.component.js +10 -2
- package/esm2015/split-button/split-button.component.js.map +1 -1
- package/esm2015/split-button/split-button.component.metadata.json +1 -1
- package/facets/package.json +1 -1
- package/feed-input/package.json +1 -1
- package/feed-list-item/package.json +1 -1
- package/fesm2015/fundamental-ngx-core-menu.js +7 -3
- package/fesm2015/fundamental-ngx-core-menu.js.map +1 -1
- package/fesm2015/fundamental-ngx-core-split-button.js +10 -2
- package/fesm2015/fundamental-ngx-core-split-button.js.map +1 -1
- package/file-uploader/package.json +1 -1
- package/fixed-card-layout/package.json +1 -1
- package/flexible-column-layout/package.json +1 -1
- package/form/package.json +1 -1
- package/formatted-text/package.json +1 -1
- package/grid-list/package.json +1 -1
- package/icon/package.json +1 -1
- package/illustrated-message/package.json +1 -1
- package/infinite-scroll/package.json +1 -1
- package/info-label/package.json +1 -1
- package/inline-help/package.json +1 -1
- package/input-group/package.json +1 -1
- package/layout-grid/package.json +1 -1
- package/layout-panel/package.json +1 -1
- package/link/package.json +1 -1
- package/list/package.json +1 -1
- package/menu/bundles/fundamental-ngx-core-menu.umd.js +7 -3
- package/menu/bundles/fundamental-ngx-core-menu.umd.js.map +1 -1
- package/menu/directives/menu-interactive.directive.d.ts +2 -0
- package/menu/esm2015/directives/menu-interactive.directive.js +3 -1
- package/menu/esm2015/directives/menu-interactive.directive.js.map +1 -1
- package/menu/esm2015/directives/menu-interactive.directive.metadata.json +1 -1
- package/menu/esm2015/menu-item/menu-item.component.js +4 -2
- package/menu/esm2015/menu-item/menu-item.component.js.map +1 -1
- package/menu/esm2015/menu-item/menu-item.component.metadata.json +1 -1
- package/menu/fesm2015/fundamental-ngx-core-menu.js +7 -3
- package/menu/fesm2015/fundamental-ngx-core-menu.js.map +1 -1
- package/menu/fundamental-ngx-core-menu.metadata.json +1 -1
- package/menu/menu-item/menu-item.component.d.ts +1 -1
- package/menu/package.json +1 -1
- package/message-box/package.json +1 -1
- package/message-strip/package.json +1 -1
- package/message-toast/package.json +1 -1
- package/micro-process-flow/package.json +1 -1
- package/mobile-mode/package.json +1 -1
- package/multi-input/package.json +1 -1
- package/nested-list/package.json +1 -1
- package/notification/package.json +1 -1
- package/object-identifier/package.json +1 -1
- package/object-marker/package.json +1 -1
- package/object-number/package.json +1 -1
- package/object-status/package.json +1 -1
- package/package.json +1 -1
- package/pagination/package.json +1 -1
- package/panel/package.json +1 -1
- package/popover/package.json +1 -1
- package/product-switch/package.json +1 -1
- package/quick-view/package.json +1 -1
- package/radio/package.json +1 -1
- package/rating-indicator/package.json +1 -1
- package/resizable-card-layout/package.json +1 -1
- package/scroll-spy/package.json +1 -1
- package/segmented-button/package.json +1 -1
- package/select/package.json +1 -1
- package/shared/package.json +1 -1
- package/shellbar/package.json +1 -1
- package/side-navigation/package.json +1 -1
- package/slider/package.json +1 -1
- package/split-button/bundles/fundamental-ngx-core-split-button.umd.js +8 -0
- package/split-button/bundles/fundamental-ngx-core-split-button.umd.js.map +1 -1
- package/split-button/esm2015/split-button.component.js +10 -2
- package/split-button/esm2015/split-button.component.js.map +1 -1
- package/split-button/esm2015/split-button.component.metadata.json +1 -1
- package/split-button/fesm2015/fundamental-ngx-core-split-button.js +10 -2
- package/split-button/fesm2015/fundamental-ngx-core-split-button.js.map +1 -1
- package/split-button/fundamental-ngx-core-split-button.metadata.json +1 -1
- package/split-button/package.json +1 -1
- package/split-button/split-button.component.d.ts +4 -2
- package/splitter/package.json +1 -1
- package/status-indicator/package.json +1 -1
- package/step-input/package.json +1 -1
- package/switch/package.json +1 -1
- package/table/package.json +1 -1
- package/tabs/package.json +1 -1
- package/text/package.json +1 -1
- package/tile/package.json +1 -1
- package/time/package.json +1 -1
- package/time-picker/package.json +1 -1
- package/timeline/package.json +1 -1
- package/title/package.json +1 -1
- package/token/package.json +1 -1
- package/toolbar/package.json +1 -1
- package/tree/package.json +1 -1
- package/upload-collection/package.json +1 -1
- package/utils/package.json +1 -1
- package/vertical-navigation/package.json +1 -1
- package/wizard/package.json +1 -1
package/action-bar/package.json
CHANGED
package/alert/package.json
CHANGED
package/avatar/package.json
CHANGED
package/bar/package.json
CHANGED
package/breadcrumb/package.json
CHANGED
|
@@ -53,10 +53,12 @@
|
|
|
53
53
|
this.ariaHaspopup = false;
|
|
54
54
|
/** @hidden */
|
|
55
55
|
this.fdMenuLinkClass = true;
|
|
56
|
+
/** @hidden */
|
|
57
|
+
this._fromSplitButton = false;
|
|
56
58
|
}
|
|
57
59
|
/** @hidden */
|
|
58
60
|
MenuInteractiveDirective.prototype.setSelected = function (isSelected) {
|
|
59
|
-
this.selected = isSelected && this.ariaHaspopup;
|
|
61
|
+
this.selected = isSelected && (this.ariaHaspopup || this._fromSplitButton);
|
|
60
62
|
};
|
|
61
63
|
/** @hidden */
|
|
62
64
|
MenuInteractiveDirective.prototype.setDisabled = function (isDisabled) {
|
|
@@ -707,10 +709,12 @@
|
|
|
707
709
|
}
|
|
708
710
|
};
|
|
709
711
|
/** @hidden Sets menu item as selected/unselected based on isSelected flag */
|
|
710
|
-
MenuItemComponent.prototype.setSelected = function (isSelected) {
|
|
712
|
+
MenuItemComponent.prototype.setSelected = function (isSelected, fromSplit) {
|
|
711
713
|
this.menuInteractive.setSelected(isSelected);
|
|
712
714
|
this.submenuVisible = isSelected && !!this.submenu;
|
|
713
|
-
|
|
715
|
+
if (!fromSplit) {
|
|
716
|
+
this.onSelect.emit();
|
|
717
|
+
}
|
|
714
718
|
this._changeDetectorRef.markForCheck();
|
|
715
719
|
};
|
|
716
720
|
/** @hidden Creates click listener on menu item interactive element */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-menu.umd.js","sources":["../../../../libs/core/src/lib/menu/directives/menu-title.directive.ts","../../../../libs/core/src/lib/menu/directives/menu-interactive.directive.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/core/src/lib/menu/services/menu.service.ts","../../../../libs/core/src/lib/menu/menu-item/menu-item.component.ts","../../../../libs/core/src/lib/menu/directives/menu-shortcut.directive.ts","../../../../libs/core/src/lib/menu/directives/menu-trigger.directive.ts","../../../../libs/core/src/lib/menu/directives/menu-addon.directive.ts","../../../../libs/core/src/lib/menu/menu-separator/menu-separator.component.ts","../../../../libs/core/src/lib/menu/menu.interface.ts","../../../../libs/core/src/lib/menu/menu-mobile/menu-mobile.component.ts","../../../../libs/core/src/lib/menu/menu-mobile/menu-mobile.module.ts","../../../../libs/core/src/lib/menu/menu.component.ts","../../../../libs/core/src/lib/menu/menu.module.ts","../../../../libs/core/src/lib/menu/default-menu-item.class.ts","../../../../libs/core/src/lib/menu/menu-keyboard.service.ts","../../../../libs/core/src/lib/menu/fundamental-ngx-core-menu.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding } from '@angular/core';\n\n/**\n * The directive that represents the menu title.\n */\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[fd-menu-title]'\n})\nexport class MenuTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-menu__title')\n fdMenuTitleClass = true;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** Returns element title text */\n get title(): string {\n return this._elementRef.nativeElement.textContent;\n }\n}\n","import { Directive, ElementRef, HostBinding } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[fd-menu-interactive]',\n host: {\n role: 'menuitem'\n }\n})\nexport class MenuInteractiveDirective {\n /** @hidden */\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** @hidden */\n @HostBinding('class.is-disabled')\n disabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-controls')\n ariaControls: string = null;\n\n /** @hidden */\n @HostBinding('class.is-selected')\n @HostBinding('attr.aria-expanded')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n ariaHaspopup = false;\n\n /** @hidden */\n @HostBinding('class.fd-menu__link')\n readonly fdMenuLinkClass: boolean = true;\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {}\n\n /** @hidden */\n setSelected(isSelected: boolean): void {\n this.selected = isSelected && this.ariaHaspopup;\n }\n\n /** @hidden */\n setDisabled(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.tabindex = isDisabled ? -1 : 0;\n }\n\n /** @hidden */\n setSubmenu(hasSubmenu: boolean, itemId?: string): void {\n this.ariaHaspopup = hasSubmenu;\n this.ariaControls = hasSubmenu ? itemId || this.ariaControls : null;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ElementRef, Injectable, Renderer2 } from '@angular/core';\nimport { MenuItemComponent } from '../menu-item/menu-item.component';\nimport { MenuComponent } from '../menu.component';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { DOWN_ARROW, ENTER, ESCAPE, LEFT_ARROW, RIGHT_ARROW, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\n\ninterface MenuNode {\n item: MenuItemComponent;\n parent: MenuNode;\n children: MenuNode[];\n}\n\ntype MenuMap = Map<MenuItemComponent, MenuNode>;\n\n@Injectable()\nexport class MenuService {\n /** Map of menu items to menu nodes */\n menuMap: MenuMap;\n\n /** Currently focused node */\n focusedNode: MenuNode;\n\n /** Collection of active menu nodes */\n activeNodePath: MenuNode[] = [];\n\n /** Collection of active menu nodes */\n private _isMobileMode: Subject<boolean> = new Subject();\n\n /** @hidden */\n private _menu: MenuComponent;\n\n /** @hidden */\n private _destroyKeyboardHandlerListener: () => void;\n\n constructor(private _renderer: Renderer2) {}\n\n /** Reference to menu component */\n get menu(): MenuComponent {\n return this._menu;\n }\n\n /** Returns menu mode observable */\n get isMobileMode(): Observable<boolean> {\n return this._isMobileMode.asObservable().pipe(distinctUntilChanged());\n }\n\n /** Sets menu mode */\n setMenuMode(value: boolean): void {\n this._isMobileMode.next(value);\n }\n\n /** Sets given menu item as focused */\n setFocused(menuItem: MenuItemComponent): void {\n this.focusedNode = this.menuMap.get(menuItem);\n this.focusedNode.item.focus();\n }\n\n /** Sets state of a given menu item\n * @param isActive - Whether should be set as active or inactive*/\n setActive(isActive: boolean, menuItem: MenuItemComponent): void {\n if (isActive && menuItem.disabled) {\n return;\n }\n\n if (isActive) {\n this._addToActivePath(menuItem);\n } else {\n this._removeFromActivePath(menuItem);\n }\n this._emitActivePath();\n }\n\n /** Initializes menu service based on given Menu Component */\n setMenuRoot(menu: MenuComponent): void {\n this._menu = menu;\n this.menuMap = this._buildMenuMap(this._menu);\n }\n\n /** Clears Active Node Path and resets Focused Node */\n resetMenuState(): void {\n this._clearActivePath();\n this.focusedNode = null;\n this._emitActivePath();\n }\n\n /** - Updates the structure of the menu\n * - Validates Active Node Path\n * - Validates Focused Node */\n rebuildMenu(): void {\n this.menuMap = this._buildMenuMap(this._menu);\n\n const deadNode = this.activeNodePath.find((node) => !this.menuMap.has(node.item));\n if (deadNode) {\n this.setActive(false, deadNode.item);\n }\n\n const invalidFocusedElement = this.focusedNode && !this.menuMap.get(this.focusedNode.item);\n if (invalidFocusedElement) {\n this.focusedNode =\n this.activeNodePath[this.activeNodePath.length - 1] || this.menuMap.get(null).children[0];\n }\n }\n\n /** Adds Menu keyboard support */\n addKeyboardSupport(elementRef: ElementRef): void {\n this.removeKeyboardSupport();\n this._setKeyboardSupport(elementRef);\n }\n\n /** Removes Menu keyboard support */\n removeKeyboardSupport(): void {\n if (this._destroyKeyboardHandlerListener) {\n this._destroyKeyboardHandlerListener();\n }\n }\n\n onDestroy(): void {\n this.removeKeyboardSupport();\n }\n\n /** @hidden Returns siblings of given node */\n private _nodeSiblings(node: MenuNode): MenuNode[] {\n return node.parent ? node.parent.children : this.menuMap.get(null).children;\n }\n\n /** @hidden Adds given element to the Active Node Path and setts as active*/\n private _addToActivePath(menuItem: MenuItemComponent): void {\n const menuNode = this.menuMap.get(menuItem);\n this._removeActiveSibling(menuItem);\n this.activeNodePath.push(menuNode);\n menuNode.item.setSelected(true);\n }\n\n /** @hidden Removes given element and all its successors from the Active Node Path and setts as inactive*/\n private _removeFromActivePath(menuItem: MenuItemComponent): void {\n const menuNode = this.menuMap.get(menuItem);\n const pathIndex = this.activeNodePath.findIndex((i) => i.item === menuNode.item);\n\n if (pathIndex !== -1) {\n this.activeNodePath\n .splice(pathIndex)\n .forEach((removedActiveNode) => removedActiveNode.item.setSelected(false));\n }\n }\n\n /** @hidden Removes all elements from the Active Node Path and sets them as closed */\n private _clearActivePath(): void {\n if (this.activeNodePath.length) {\n this._removeFromActivePath(this.activeNodePath[0].item);\n }\n }\n\n /** @hidden\n * - Builds Menu Nodes based on Menu Items\n * - Creates Map of the Menu Nodes */\n private _buildMenuMap(menu: MenuComponent): MenuMap {\n function buildNode(menuItem: MenuItemComponent): MenuNode {\n return {\n item: menuItem,\n parent: null,\n children: menuItem.submenu\n ? menuItem.submenu.menuItems.toArray().map((subMenuItem) => buildNode(subMenuItem))\n : []\n };\n }\n\n function setParents(node: MenuNode, parent: MenuNode): void {\n node.parent = parent;\n node.children.forEach((childNode) => setParents(childNode, node));\n }\n\n function toMap(node: MenuNode, map = new Map() as MenuMap): MenuMap {\n map.set(node.item, node);\n node.children.forEach((childNode) => toMap(childNode, map));\n return map;\n }\n\n const menuTree: MenuNode = {\n item: null,\n parent: null,\n children: menu.menuItems.toArray().map((item) => buildNode(item))\n };\n\n setParents(menuTree, null);\n\n return toMap(menuTree);\n }\n\n /** @hidden Removes active sibling of a given menu item from the Active Path */\n private _removeActiveSibling(menuItem: MenuItemComponent): void {\n const menuNode = this.menuMap.get(menuItem);\n const children = menuNode.parent.children.map((i) => i.item);\n const activeSibling = this.activeNodePath.find((i) => children.includes(i.item));\n const activeParentIndex = this.activeNodePath.indexOf(menuNode.parent);\n\n if (activeSibling) {\n this._removeFromActivePath(activeParentIndex !== -1 ? activeSibling.item : this.activeNodePath[0].item);\n }\n }\n\n /** @hidden Adds keyboard support */\n private _setKeyboardSupport(elementRef: ElementRef): void {\n this._destroyKeyboardHandlerListener = this._renderer.listen(\n elementRef.nativeElement,\n 'keydown',\n (event: KeyboardEvent) => this._handleKey(event)\n );\n }\n\n private _handleKey(event: KeyboardEvent): void {\n const focusRight = (node) => setTimeout(() => this.setFocused(node.children[0].item));\n let matched = true;\n\n if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n if (this.focusedNode.children.length) {\n this.setActive(true, this.focusedNode.item);\n focusRight(this.focusedNode);\n }\n } else if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n if (this.focusedNode.parent.item) {\n this.setActive(false, this.focusedNode.parent.item);\n this.setFocused(this.focusedNode.parent.item);\n }\n } else if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n const closest = this._closestEnabled(this.focusedNode, 'down');\n if (closest) {\n this.setFocused(closest.item);\n }\n } else if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n const closest = this._closestEnabled(this.focusedNode, 'up');\n if (closest) {\n this.setFocused(closest.item);\n }\n } else if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\n const focusedNode = this.focusedNode;\n this.setActive(true, focusedNode.item);\n focusedNode.item.click();\n if (focusedNode.children.length) {\n focusRight(focusedNode);\n }\n } else if (KeyUtil.isKeyCode(event, ESCAPE) && this.menu.closeOnEscapeKey) {\n this.menu.close();\n } else {\n matched = false;\n }\n\n if (matched) {\n event.preventDefault();\n }\n }\n\n /** @hidden Emits an array of active menu items */\n private _emitActivePath(): void {\n this.menu.activePath.emit(this.activeNodePath.map((node) => node.item));\n }\n\n /** @hidden Depending on direction returns closest enabled sibling of given node */\n private _closestEnabled(node: MenuNode, direction: 'up' | 'down'): MenuNode | null {\n const siblings = direction === 'up' ? [...this._nodeSiblings(node)].reverse() : this._nodeSiblings(node);\n\n const startIndex = siblings.indexOf(node) + 1;\n\n for (let i = startIndex; i < siblings.length; i++) {\n if (!siblings[i].item.disabled) {\n return siblings[i];\n }\n }\n\n return null;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { MenuTitleDirective } from '../directives/menu-title.directive';\nimport { DefaultMenuItem } from '../default-menu-item.class';\nimport { MenuInteractiveDirective } from '../directives/menu-interactive.directive';\nimport { MenuService } from '../services/menu.service';\nimport { defer, fromEvent, Observable, Subscription, timer } from 'rxjs';\nimport { filter, sample, switchMap, takeUntil } from 'rxjs/operators';\n\nlet menuUniqueId = 0;\n\nexport interface BaseSubmenu {\n templateRef: TemplateRef<any>;\n menuItems: QueryList<any>;\n menuService: MenuService;\n ariaLabel: string;\n ariaLabelledby: string;\n}\n\nexport const SUBMENU = new InjectionToken<BaseSubmenu>('Submenu component dependency');\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'li[fd-menu-item]',\n exportAs: 'fd-menu-item',\n templateUrl: './menu-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'attr.role': 'presentation',\n '[class.fd-menu__item]': 'true'\n }\n})\nexport class MenuItemComponent implements DefaultMenuItem, OnChanges, AfterContentInit, OnDestroy {\n /** Set the Menu Item as disabled/enabled */\n @Input()\n disabled = false;\n\n /** Menu Item id attribute value */\n @Input()\n itemId = `fd-menu-item-${menuUniqueId++}`;\n\n /** Reference to sub-menu component */\n @Input()\n submenu: BaseSubmenu | undefined;\n\n /** Emitted when the menu item is selected. */\n @Output()\n onSelect: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden Reference to the Menu Item title */\n @ContentChild(MenuTitleDirective)\n menuItemTitle: MenuTitleDirective;\n\n /** @hidden Reference to the Menu Item interactive element */\n @ContentChild(MenuInteractiveDirective)\n menuInteractive: MenuInteractiveDirective;\n\n /** @hidden Whether sub-menu is currently visible*/\n submenuVisible = false;\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n private _hoverSubscriptions: Subscription = new Subscription();\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef,\n @Optional() public menuService: MenuService | null,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(SUBMENU) private _submenu: BaseSubmenu | null\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setMenuService();\n this._initialiseItemState();\n this._listenOnMenuLinkClick();\n this._listenOnOuterFocus();\n this._listenOnMenuMode();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['disabled'] && !changes['disabled'].firstChange) {\n this.menuInteractive.setDisabled(this.disabled);\n }\n if (changes['submenu'] && !changes['submenu'].firstChange) {\n this.menuInteractive.setSubmenu(!!this.submenu, this.submenu ? this.itemId : null);\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this._hoverSubscriptions.unsubscribe();\n }\n\n /** Whether menu item has popup (desktop mode) */\n get hasPopup(): boolean {\n return this.submenu && (!this.menuService?.menu || !this.menuService?.menu.mobile);\n }\n\n /** Focuses Menu Item interactive element */\n focus(): void {\n if (this.menuInteractive) {\n this.menuInteractive.elementRef.nativeElement.focus();\n }\n }\n\n /** Clicks Menu Item interactive element */\n click(): void {\n if (this.menuInteractive) {\n this.menuInteractive.elementRef.nativeElement.click();\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** @hidden Sets menu item as selected/unselected based on isSelected flag */\n setSelected(isSelected: boolean): void {\n this.menuInteractive.setSelected(isSelected);\n this.submenuVisible = isSelected && !!this.submenu;\n this.onSelect.emit();\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden Creates click listener on menu item interactive element */\n private _listenOnMenuLinkClick(): void {\n this._subscriptions.add(\n fromEvent(this.menuInteractive.elementRef.nativeElement, 'click').subscribe(() =>\n this.menuService?.setActive(true, this)\n )\n );\n }\n\n /** @hidden Creates hover listeners for activating/deactivating menu item */\n private _listenOnMenuLinkHover(): Subscription {\n const hoverSubscriptions: Subscription = new Subscription();\n\n const mouseEnter$: Observable<MouseEvent> = fromEvent(\n this.menuInteractive.elementRef.nativeElement,\n 'mouseenter'\n );\n const mouseLeave$: Observable<MouseEvent> = fromEvent(\n this.menuInteractive.elementRef.nativeElement,\n 'mouseleave'\n );\n\n // Set focus on hover\n hoverSubscriptions.add(mouseEnter$.subscribe(() => this.menuService?.setFocused(this)));\n\n const timerFactory$ = defer(() => {\n return timer(this.menuService ? this.menuService.menu.openOnHoverTime : 0).pipe(takeUntil(mouseLeave$));\n });\n\n const timeTrigger$ = mouseEnter$.pipe(switchMap(() => timerFactory$));\n\n // Set active on long hover\n hoverSubscriptions.add(\n mouseEnter$\n .pipe(\n filter(() => !!this.submenu),\n sample(timeTrigger$)\n )\n .subscribe(() => this.menuService?.setActive(true, this))\n );\n\n return hoverSubscriptions;\n }\n\n /** @hidden Initializes menu link state based on item initial state */\n private _initialiseItemState(): void {\n this.menuInteractive.setSubmenu(!!this.submenu, this.itemId);\n this.menuInteractive.setDisabled(this.disabled);\n }\n\n /** @hidden Checks for Menu Service dependency and passes it if further */\n private _setMenuService(): void {\n this.menuService = this.menuService || this._submenu?.menuService;\n if (this.submenu) {\n this.submenu.menuService = this.menuService;\n }\n }\n\n /** @hidden Listen on menu mode and set proper mode listeners */\n private _listenOnMenuMode(): void {\n this.menuService?.isMobileMode.subscribe((isMobile) => {\n this._hoverSubscriptions.unsubscribe();\n if (!isMobile) {\n this._hoverSubscriptions = this._listenOnMenuLinkHover();\n }\n });\n }\n\n /** @hidden Updates focused menu item on outer focus */\n private _listenOnOuterFocus(): void {\n this._subscriptions.add(\n fromEvent(this.menuInteractive.elementRef.nativeElement, 'focus')\n .pipe(\n filter(() => !!this.menuService),\n filter(() => this.menuService.focusedNode !== this.menuService.menuMap.get(this))\n )\n .subscribe(() => this.menuService.setFocused(this))\n );\n }\n}\n\n@Component({\n selector: 'fd-submenu',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: SUBMENU, useExisting: SubmenuComponent }],\n exportAs: 'fdSubmenu'\n})\nexport class SubmenuComponent implements BaseSubmenu {\n /** Aria-label for navigation */\n @Input()\n ariaLabel: string = null;\n\n /** Aria-Labelledby for element describing navigation */\n @Input()\n ariaLabelledby: string = null;\n\n /** @hidden Reference to template with Submenu items */\n @ViewChild(TemplateRef) templateRef: TemplateRef<any>;\n\n /** @hidden Reference to Submenu MenuItems */\n @ContentChildren(MenuItemComponent) menuItems: QueryList<MenuItemComponent>;\n\n /** @hidden Reference to MenuService used by MenuItems */\n menuService: MenuService;\n}\n","import { AfterViewInit, Directive, ElementRef, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { MenuItemComponent } from '../menu-item/menu-item.component';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[fd-menu-shortcut]'\n})\nexport class MenuShortcutDirective implements AfterViewInit, OnDestroy {\n /** Hide shortcuts in mobile mode */\n @Input()\n hideOnMobile = true;\n\n /** @hidden */\n @HostBinding('class.fd-menu__shortcut')\n readonly fdMenuShortcutClass: boolean = true;\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n constructor(private _menuItem: MenuItemComponent, private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._hideOnMobile();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n private _hideOnMobile(): void {\n this._subscriptions.add(\n this._menuItem.menuService.isMobileMode.pipe(filter(() => this.hideOnMobile)).subscribe((isMobile) => {\n if (isMobile) {\n this._elementRef.nativeElement.style.display = 'none';\n } else {\n this._elementRef.nativeElement.style.display = null;\n }\n })\n );\n }\n}\n","import { Directive, ElementRef, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { MenuComponent } from '../menu.component';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\n@Directive({\n selector: '[fdMenuTrigger]'\n})\nexport class MenuTriggerDirective implements OnDestroy {\n /** Set reference to Menu Component */\n @Input('fdMenuTrigger')\n set menu(menu: MenuComponent) {\n if (menu) {\n menu.trigger = this._elementRef;\n this._listenOnExpanded(menu);\n }\n this._setAriaAttributes(menu);\n }\n\n @HostBinding('attr.aria-haspopup')\n ariaHasPopup: boolean;\n\n @HostBinding('attr.aria-controls')\n ariaControls: string;\n\n @HostBinding('attr.aria-expanded')\n ariaExpanded: boolean;\n\n /** @hidden */\n private _isExpandedSubscription: Subscription;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._unsubscribeExpandedListener();\n }\n\n /** @hidden */\n private _listenOnExpanded(menu: MenuComponent): void {\n this._unsubscribeExpandedListener();\n if (menu) {\n this._isExpandedSubscription = menu.isOpenChange\n .pipe(startWith(menu.isOpen))\n .subscribe((isOpen) => (this.ariaExpanded = isOpen));\n }\n }\n\n /** @hidden */\n private _setAriaAttributes(menu: MenuComponent): void {\n this.ariaHasPopup = !!menu;\n this.ariaControls = menu ? menu.id : null;\n }\n\n /** @hidden */\n private _unsubscribeExpandedListener(): void {\n if (this._isExpandedSubscription) {\n this._isExpandedSubscription.unsubscribe();\n }\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'fd-menu-addon',\n template: `\n <fd-icon [glyph]=\"glyph\" *ngIf=\"glyph\" role=\"presentation\"></fd-icon>\n <ng-content></ng-content>\n `\n})\nexport class MenuAddonDirective {\n /** Whether addon is used before or after text */\n @Input('position') set setAddonPosition(position: 'before' | 'after') {\n this.fdAddonBeforeClass = position === 'before';\n this.fdAddonAfterClass = position === 'after';\n }\n\n /** The icon name to display. See the icon page for the list of icons\n * here: https://sap.github.io/fundamental-ngx/icon\n * */\n @Input()\n glyph: string;\n\n /** Whether is used as submenu indicator */\n @Input()\n @HostBinding('class.fd-menu__addon-after--submenu')\n submenuIndicator = false;\n\n /** Sets Aria hidden attribute */\n @Input()\n @HostBinding('attr.aria-hidden')\n ariaHidden = true;\n\n /** @hidden */\n @HostBinding('class.fd-menu__addon-after')\n fdAddonAfterClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-menu__addon-before')\n fdAddonBeforeClass = false;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-menu-separator',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MenuSeparatorComponent {\n /** @hidden */\n @HostBinding('class.fd-menu__separator')\n readonly fdMenuSeparatorClass: boolean = true;\n}\n","import { EventEmitter, InjectionToken } from '@angular/core';\nimport { DialogConfig } from '@fundamental-ngx/core/dialog';\nimport { MenuItemComponent } from './menu-item/menu-item.component';\nimport { MobileMode } from '@fundamental-ngx/core/mobile-mode';\n\nexport const MENU_COMPONENT = new InjectionToken<string[]>('MenuInterface');\n\n/**\n * Menu Interface to have typing and avoid circular dependency between\n * MenuComponent <==> MenuMobileComponent\n */\nexport interface MenuInterface extends MobileMode {\n activePath: EventEmitter<MenuItemComponent[]>;\n dialogConfig: DialogConfig;\n isOpenChange: EventEmitter<boolean>;\n\n close(): void;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DialogService } from '@fundamental-ngx/core/dialog';\nimport { Observable, of } from 'rxjs';\nimport { MenuService } from '../services/menu.service';\nimport { MenuItemComponent } from '../menu-item/menu-item.component';\nimport { map, startWith, takeUntil } from 'rxjs/operators';\nimport { RtlService } from '@fundamental-ngx/core/utils';\nimport { MENU_COMPONENT, MenuInterface } from '../menu.interface';\nimport {\n MOBILE_MODE_CONFIG,\n MobileModeBase,\n MobileModeControl,\n MobileModeConfigToken\n} from '@fundamental-ngx/core/mobile-mode';\n\n@Component({\n selector: 'fd-menu-mobile',\n templateUrl: './menu-mobile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class MenuMobileComponent extends MobileModeBase<MenuInterface> implements OnInit, OnDestroy {\n /** @hidden */\n @ViewChild('dialogTemplate') dialogTemplate: TemplateRef<any>;\n\n /** Current menu title */\n title: string;\n\n /** Whether current menu level is submenu */\n isSubmenu: boolean;\n\n /** @hidden External content */\n childContent: TemplateRef<any> = undefined;\n\n /** @hidden Currently rendered menu view */\n view: TemplateRef<any>;\n\n /** @hidden Navigation icon name based on RTL */\n navigationIcon$: Observable<string>;\n\n constructor(\n elementRef: ElementRef,\n dialogService: DialogService,\n private _menuService: MenuService,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() private _rtlService: RtlService,\n @Inject(MENU_COMPONENT) menuComponent: MenuInterface,\n @Optional() @Inject(MOBILE_MODE_CONFIG) mobileModes: MobileModeConfigToken[]\n ) {\n super(elementRef, dialogService, menuComponent, MobileModeControl.MENU, mobileModes);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._listenOnActivePathChange();\n this._listenOnMenuOpenChange();\n this._listenOnTextDirection();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n super.onDestroy();\n }\n\n /** Closes the Dialog and Menu component */\n close(): void {\n this.dialogRef.close();\n this._component.close();\n }\n\n /** Navigate back to parent level of submenu */\n backToParentLevel(): void {\n this._menuService.setActive(\n false,\n this._menuService.activeNodePath[this._menuService.activeNodePath.length - 1].item\n );\n }\n\n /** @hidden Opens the Dialog */\n private _openDialog(): void {\n this.dialogRef = this._dialogService.open(this.dialogTemplate, {\n mobile: true,\n verticalPadding: false,\n ...this.dialogConfig,\n escKeyCloseable: false,\n backdropClickCloseable: false,\n container: this._elementRef.nativeElement\n });\n }\n\n /** @hidden Listens on Active Path changes and updates mobile view */\n private _listenOnActivePathChange(): void {\n const initialItemPath: MenuItemComponent[] = this._menuService.activeNodePath.map((node) => node.item);\n this._component.activePath\n .pipe(takeUntil(this._onDestroy$), startWith(initialItemPath))\n .subscribe((items) => this._setMenuView(items));\n }\n\n /** @hidden Sets menu view, title and isSubmenu flag */\n private _setMenuView(items: MenuItemComponent[]): void {\n const lastItem: MenuItemComponent = items[items.length - 1];\n this.isSubmenu = !!items.length;\n this.title = this._getDialogTitle(lastItem);\n this.view = this._getMenuView(lastItem);\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden Opens/closes the Dialog based on Menu isOpenChange events */\n private _listenOnMenuOpenChange(): void {\n this._component.isOpenChange\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((isOpen) => (isOpen ? this._openDialog() : this.dialogRef.close()));\n }\n\n /** @hidden Sets navigation arrow depending on text direction */\n private _listenOnTextDirection(): void {\n this.navigationIcon$ = this._rtlService\n ? this._rtlService.rtl.pipe(map((isRtl) => (isRtl ? 'navigation-right-arrow' : 'navigation-left-arrow')))\n : of('navigation-left-arrow');\n }\n\n /** @hidden Returns dialog title */\n private _getDialogTitle(menuItem: MenuItemComponent): string {\n if (this.isSubmenu) {\n return menuItem.menuItemTitle ? menuItem.menuItemTitle.title : '';\n }\n\n return this.mobileConfig.title || '';\n }\n\n /** @hidden Returns dialog content view */\n private _getMenuView(menuItem: MenuItemComponent): TemplateRef<any> {\n if (this.isSubmenu) {\n return menuItem.submenu ? menuItem.submenu.templateRef : this.view;\n }\n return this.childContent;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MenuMobileComponent } from './menu-mobile.component';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\n@NgModule({\n declarations: [MenuMobileComponent],\n imports: [CommonModule, DialogModule, ButtonModule],\n exports: [MenuMobileComponent],\n entryComponents: [MenuMobileComponent]\n})\nexport class MenuMobileModule {}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ContentDensityService, DynamicComponentService } from '@fundamental-ngx/core/utils';\nimport { DialogConfig } from '@fundamental-ngx/core/dialog';\nimport { MobileModeConfig } from '@fundamental-ngx/core/mobile-mode';\nimport { BasePopoverClass, PopoverService } from '@fundamental-ngx/core/popover';\n\nimport { MenuMobileComponent } from './menu-mobile/menu-mobile.component';\nimport { MenuMobileModule } from './menu-mobile/menu-mobile.module';\nimport { MenuService } from './services/menu.service';\nimport { MENU_COMPONENT, MenuInterface } from './menu.interface';\nimport { MenuItemComponent } from './menu-item/menu-item.component';\n\nlet menuUniqueId = 0;\n\n/**\n * The component that represents a menu.\n */\n@Component({\n selector: 'fd-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MenuService, PopoverService]\n})\nexport class MenuComponent\n extends BasePopoverClass\n implements MenuInterface, AfterContentInit, AfterViewInit, OnDestroy, OnInit\n{\n /** Set menu in mobile mode */\n @Input('mobile')\n set setMobileMode(value: boolean) {\n this.mobile = value;\n this._menuService.setMenuMode(this.mobile);\n }\n\n /** Whether the popover is disabled. */\n @Input()\n disabled = false;\n\n /** Display menu in compact mode */\n @Input()\n compact?: boolean;\n\n /** Whether the popover should be focusTrapped. */\n @Input()\n focusTrapped = true;\n\n /** Open submenu on hover after given milliseconds */\n @Input()\n openOnHoverTime = 0;\n\n /** Display menu without integrated popover */\n @Input()\n mobileConfig: MobileModeConfig = { cancelButtonText: 'Cancel' };\n\n /** Aria-label for navigation */\n @Input()\n ariaLabel: string = null;\n\n /** Aria-Labelledby for element describing navigation */\n @Input()\n ariaLabelledby: string = null;\n\n /** Id of the control. */\n @Input()\n id = `fd-menu-${menuUniqueId++}`;\n\n /** Emits array of active menu items */\n @Output()\n readonly activePath: EventEmitter<MenuItemComponent[]> = new EventEmitter<MenuItemComponent[]>();\n\n /** @hidden Emits event when the menu is opened/closed */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden Reference to the menu root template */\n @ViewChild('menuRootTemplate')\n menuRootTemplate: TemplateRef<any>;\n\n /** @hidden Reference to all menu Items */\n @ContentChildren(MenuItemComponent, { descendants: true })\n menuItems: QueryList<MenuItemComponent>;\n\n /** Whether use menu in mobile mode */\n mobile = false;\n\n /** @hidden Whether Popover with the menu is opened */\n isOpen = false;\n\n /** @hidden Reference to external menu trigger */\n private _externalTrigger: ElementRef;\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n private _mobileModeComponentRef: ComponentRef<MenuMobileComponent>;\n\n /** @hidden */\n private _clickEventListener: Function;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n @Optional() public readonly dialogConfig: DialogConfig,\n private readonly _rendered: Renderer2,\n private readonly _menuService: MenuService,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private readonly _popoverService: PopoverService,\n private readonly _injector: Injector,\n private readonly _viewContainerRef: ViewContainerRef,\n @Optional() private readonly _contentDensityService: ContentDensityService,\n @Optional() private readonly _dynamicComponentService: DynamicComponentService\n ) {\n super();\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._contentDensityListener.subscribe((density) => {\n this.compact = density !== 'cozy';\n })\n );\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._menuService.setMenuRoot(this);\n this._listenOnMenuItemsChange();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._menuService.setMenuMode(this.mobile);\n this._setupView();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._destroyMobileComponent();\n this._destroyEventListeners();\n this._menuService.onDestroy();\n this._subscriptions.unsubscribe();\n this._popoverService.onDestroy();\n }\n\n get trigger(): ElementRef {\n return this._externalTrigger;\n }\n\n set trigger(trigger: ElementRef) {\n this._externalTrigger = trigger;\n this._popoverService.initialise(this._externalTrigger);\n this._destroyEventListeners();\n this._listenOnTriggerRefClicks();\n }\n\n /** Opens the menu */\n open(): void {\n this.isOpen = true;\n this._popoverService.open();\n this.isOpenChange.emit(this.isOpen);\n this._changeDetectorRef.markForCheck();\n }\n\n /** Closes the menu */\n close(): void {\n this.isOpen = false;\n this._popoverService.close();\n this._menuService.resetMenuState();\n this.isOpenChange.emit(this.isOpen);\n this._focusTrigger();\n this._changeDetectorRef.markForCheck();\n }\n\n /** Toggles menu open/close state */\n toggle(): void {\n this.isOpen ? this.close() : this.open();\n }\n\n /** Method called to refresh position of opened popover */\n refreshPosition(): void {\n this._popoverService.refreshPosition();\n }\n\n /** @hidden Select and instantiate menu view mode */\n private _setupView(): void {\n if (this.mobile) {\n this._setupMobileMode();\n } else {\n this._setupPopoverService();\n }\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n private _setupPopoverService(): void {\n this._subscriptions.add(\n this._popoverService._onLoad.subscribe((elementRef) => this._manageKeyboardSupport(elementRef))\n );\n\n this._popoverService.templateContent = this.menuRootTemplate;\n this._popoverService.initialise(this._externalTrigger, this);\n }\n\n /** @hidden */\n private _manageKeyboardSupport(elementRef: ElementRef): void {\n this._menuService.addKeyboardSupport(elementRef);\n }\n\n /** @hidden Open Menu in mobile mode */\n private async _setupMobileMode(): Promise<void> {\n const injector = Injector.create({\n providers: [{ provide: MENU_COMPONENT, useValue: this }],\n parent: this._injector\n });\n\n this._mobileModeComponentRef = await this._dynamicComponentService.createDynamicModule(\n this.menuRootTemplate,\n MenuMobileModule,\n MenuMobileComponent,\n this._viewContainerRef,\n injector\n );\n\n this._listenOnTriggerRefClicks();\n }\n\n /** @hidden Listen on menu items change and rebuild menu */\n private _listenOnMenuItemsChange(): void {\n this._subscriptions.add(this.menuItems.changes.subscribe(() => this._menuService.rebuildMenu()));\n this.menuItems.forEach((m) => {\n if (m.submenu && m.submenu.menuItems) {\n this._subscriptions.add(m.submenu.menuItems.changes.subscribe(() => this._menuService.rebuildMenu()));\n }\n });\n }\n\n /**\n * @hidden\n * This is going to be removed in feature, on dialog and dynamic service component refactor\n */\n private _listenOnTriggerRefClicks(): void {\n this._destroyEventListeners();\n if (this.trigger && this.mobile) {\n this._clickEventListener = this._rendered.listen(this.trigger.nativeElement, 'click', () => this.toggle());\n }\n }\n\n /**\n * @hidden\n * This is going to be removed in feature, on dialog and dynamic service component refactor\n */\n private _destroyEventListeners(): void {\n if (this._clickEventListener) {\n this._clickEventListener();\n this._clickEventListener = null;\n }\n }\n\n /** @hidden */\n private _destroyMobileComponent(): void {\n if (this._mobileModeComponentRef) {\n this._mobileModeComponentRef.destroy();\n }\n }\n\n /** @hidden */\n private _focusTrigger(): void {\n if (this.focusTrapped && this.trigger) {\n this.trigger.nativeElement.focus();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MenuComponent } from './menu.component';\nimport { MenuTitleDirective } from './directives/menu-title.directive';\nimport { MenuInteractiveDirective } from './directives/menu-interactive.directive';\nimport { MenuSeparatorComponent } from './menu-separator/menu-separator.component';\nimport { MenuAddonDirective } from './directives/menu-addon.directive';\nimport { MenuItemComponent, SubmenuComponent } from './menu-item/menu-item.component';\nimport { MenuShortcutDirective } from './directives/menu-shortcut.directive';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { MenuTriggerDirective } from './directives/menu-trigger.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { InitialFocusModule } from '@fundamental-ngx/core/utils';\n\n@NgModule({\n imports: [CommonModule, PopoverModule, IconModule, InitialFocusModule],\n declarations: [\n MenuComponent,\n MenuItemComponent,\n MenuAddonDirective,\n MenuSeparatorComponent,\n MenuShortcutDirective,\n MenuInteractiveDirective,\n MenuTitleDirective,\n SubmenuComponent,\n MenuTriggerDirective\n ],\n exports: [\n MenuComponent,\n MenuItemComponent,\n SubmenuComponent,\n MenuSeparatorComponent,\n MenuShortcutDirective,\n MenuInteractiveDirective,\n MenuTitleDirective,\n MenuAddonDirective,\n MenuTriggerDirective\n ]\n})\nexport class MenuModule {}\n","export abstract class DefaultMenuItem {\n abstract focus(): void;\n abstract click(): void;\n}\n","import { Subject } from 'rxjs';\nimport { Injectable, Output } from '@angular/core';\nimport { DefaultMenuItem } from './default-menu-item.class';\nimport { ListItemComponent } from '@fundamental-ngx/core/list';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { DOWN_ARROW, ENTER, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\n\n@Injectable()\nexport class MenuKeyboardService {\n /** Event emitted when an item link is clicked.*/\n @Output()\n public readonly itemClicked: Subject<number> = new Subject<number>();\n\n /** Whether user wants to remove keyboard handling */\n disableKeydownHandling = false;\n\n /** Function that is supposed to be called, when focus escape before list */\n focusEscapeBeforeList: Function;\n\n /** Function that is supposed to be called, when focus escape after list */\n focusEscapeAfterList: Function;\n\n /** Function that should be called every time, keydown event is used on some menu item,\n * it provides whole functionality for handling\n * ArrowDown - focus, ArrowUp - focus, Space bar - simulate click, Enter key - simulate click.\n * @param event KeyboardEvent\n * @param index index of items starts from 0\n * @param menuItems array of menu item directives\n * */\n keyDownHandler(event: KeyboardEvent, index: number, menuItems: DefaultMenuItem[] | ListItemComponent[]): void {\n if (this.disableKeydownHandling) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n if (menuItems.length > index + 1) {\n menuItems[index + 1].focus();\n } else {\n if (this.focusEscapeAfterList) {\n this.focusEscapeAfterList();\n } else {\n menuItems[0].focus();\n }\n }\n event.preventDefault();\n } else if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n if (index > 0) {\n menuItems[index - 1].focus();\n } else {\n if (this.focusEscapeBeforeList) {\n this.focusEscapeBeforeList();\n } else {\n menuItems[menuItems.length - 1].focus();\n }\n }\n event.preventDefault();\n } else if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\n if (menuItems[index]) {\n menuItems[index].click();\n event.preventDefault();\n }\n }\n }\n}\n",null],"names":["Directive","ElementRef","HostBinding","Subject","distinctUntilChanged","KeyUtil","RIGHT_ARROW","LEFT_ARROW","DOWN_ARROW","UP_ARROW","SPACE","ENTER","ESCAPE","Injectable","Renderer2","menuUniqueId","InjectionToken","EventEmitter","Subscription","fromEvent","defer","timer","takeUntil","switchMap","filter","sample","Component","ChangeDetectionStrategy","ViewEncapsulation","Optional","ChangeDetectorRef","Inject","Input","Output","ContentChild","ViewChild","TemplateRef","ContentChildren","startWith","MobileModeControl","map","of","MobileModeBase","DialogService","RtlService","MOBILE_MODE_CONFIG","NgModule","CommonModule","DialogModule","ButtonModule","Injector","BasePopoverClass","PopoverService","DialogConfig","ViewContainerRef","ContentDensityService","DynamicComponentService","PopoverModule","IconModule","InitialFocusModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-menu.umd.js","sources":["../../../../libs/core/src/lib/menu/directives/menu-title.directive.ts","../../../../libs/core/src/lib/menu/directives/menu-interactive.directive.ts","../../../../node_modules/tslib/tslib.es6.js","../../../../libs/core/src/lib/menu/services/menu.service.ts","../../../../libs/core/src/lib/menu/menu-item/menu-item.component.ts","../../../../libs/core/src/lib/menu/directives/menu-shortcut.directive.ts","../../../../libs/core/src/lib/menu/directives/menu-trigger.directive.ts","../../../../libs/core/src/lib/menu/directives/menu-addon.directive.ts","../../../../libs/core/src/lib/menu/menu-separator/menu-separator.component.ts","../../../../libs/core/src/lib/menu/menu.interface.ts","../../../../libs/core/src/lib/menu/menu-mobile/menu-mobile.component.ts","../../../../libs/core/src/lib/menu/menu-mobile/menu-mobile.module.ts","../../../../libs/core/src/lib/menu/menu.component.ts","../../../../libs/core/src/lib/menu/menu.module.ts","../../../../libs/core/src/lib/menu/default-menu-item.class.ts","../../../../libs/core/src/lib/menu/menu-keyboard.service.ts","../../../../libs/core/src/lib/menu/fundamental-ngx-core-menu.ts"],"sourcesContent":["import { Directive, ElementRef, HostBinding } from '@angular/core';\n\n/**\n * The directive that represents the menu title.\n */\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[fd-menu-title]'\n})\nexport class MenuTitleDirective {\n /** @hidden */\n @HostBinding('class.fd-menu__title')\n fdMenuTitleClass = true;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** Returns element title text */\n get title(): string {\n return this._elementRef.nativeElement.textContent;\n }\n}\n","import { Directive, ElementRef, HostBinding } from '@angular/core';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[fd-menu-interactive]',\n host: {\n role: 'menuitem'\n }\n})\nexport class MenuInteractiveDirective {\n /** @hidden */\n @HostBinding('attr.tabindex')\n tabindex = 0;\n\n /** @hidden */\n @HostBinding('class.is-disabled')\n disabled = false;\n\n /** @hidden */\n @HostBinding('attr.aria-controls')\n ariaControls: string = null;\n\n /** @hidden */\n @HostBinding('class.is-selected')\n @HostBinding('attr.aria-expanded')\n selected = false;\n\n /** @hidden */\n @HostBinding('attr.aria-haspopup')\n ariaHaspopup = false;\n\n /** @hidden */\n @HostBinding('class.fd-menu__link')\n readonly fdMenuLinkClass: boolean = true;\n\n /** @hidden */\n _fromSplitButton = false;\n\n /** @hidden */\n constructor(public elementRef: ElementRef) {}\n\n /** @hidden */\n setSelected(isSelected: boolean): void {\n this.selected = isSelected && (this.ariaHaspopup || this._fromSplitButton);\n }\n\n /** @hidden */\n setDisabled(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this.tabindex = isDisabled ? -1 : 0;\n }\n\n /** @hidden */\n setSubmenu(hasSubmenu: boolean, itemId?: string): void {\n this.ariaHaspopup = hasSubmenu;\n this.ariaControls = hasSubmenu ? itemId || this.ariaControls : null;\n }\n}\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { ElementRef, Injectable, Renderer2 } from '@angular/core';\nimport { MenuItemComponent } from '../menu-item/menu-item.component';\nimport { MenuComponent } from '../menu.component';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { Observable, Subject } from 'rxjs';\nimport { distinctUntilChanged } from 'rxjs/operators';\nimport { DOWN_ARROW, ENTER, ESCAPE, LEFT_ARROW, RIGHT_ARROW, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\n\ninterface MenuNode {\n item: MenuItemComponent;\n parent: MenuNode;\n children: MenuNode[];\n}\n\ntype MenuMap = Map<MenuItemComponent, MenuNode>;\n\n@Injectable()\nexport class MenuService {\n /** Map of menu items to menu nodes */\n menuMap: MenuMap;\n\n /** Currently focused node */\n focusedNode: MenuNode;\n\n /** Collection of active menu nodes */\n activeNodePath: MenuNode[] = [];\n\n /** Collection of active menu nodes */\n private _isMobileMode: Subject<boolean> = new Subject();\n\n /** @hidden */\n private _menu: MenuComponent;\n\n /** @hidden */\n private _destroyKeyboardHandlerListener: () => void;\n\n constructor(private _renderer: Renderer2) {}\n\n /** Reference to menu component */\n get menu(): MenuComponent {\n return this._menu;\n }\n\n /** Returns menu mode observable */\n get isMobileMode(): Observable<boolean> {\n return this._isMobileMode.asObservable().pipe(distinctUntilChanged());\n }\n\n /** Sets menu mode */\n setMenuMode(value: boolean): void {\n this._isMobileMode.next(value);\n }\n\n /** Sets given menu item as focused */\n setFocused(menuItem: MenuItemComponent): void {\n this.focusedNode = this.menuMap.get(menuItem);\n this.focusedNode.item.focus();\n }\n\n /** Sets state of a given menu item\n * @param isActive - Whether should be set as active or inactive*/\n setActive(isActive: boolean, menuItem: MenuItemComponent): void {\n if (isActive && menuItem.disabled) {\n return;\n }\n\n if (isActive) {\n this._addToActivePath(menuItem);\n } else {\n this._removeFromActivePath(menuItem);\n }\n this._emitActivePath();\n }\n\n /** Initializes menu service based on given Menu Component */\n setMenuRoot(menu: MenuComponent): void {\n this._menu = menu;\n this.menuMap = this._buildMenuMap(this._menu);\n }\n\n /** Clears Active Node Path and resets Focused Node */\n resetMenuState(): void {\n this._clearActivePath();\n this.focusedNode = null;\n this._emitActivePath();\n }\n\n /** - Updates the structure of the menu\n * - Validates Active Node Path\n * - Validates Focused Node */\n rebuildMenu(): void {\n this.menuMap = this._buildMenuMap(this._menu);\n\n const deadNode = this.activeNodePath.find((node) => !this.menuMap.has(node.item));\n if (deadNode) {\n this.setActive(false, deadNode.item);\n }\n\n const invalidFocusedElement = this.focusedNode && !this.menuMap.get(this.focusedNode.item);\n if (invalidFocusedElement) {\n this.focusedNode =\n this.activeNodePath[this.activeNodePath.length - 1] || this.menuMap.get(null).children[0];\n }\n }\n\n /** Adds Menu keyboard support */\n addKeyboardSupport(elementRef: ElementRef): void {\n this.removeKeyboardSupport();\n this._setKeyboardSupport(elementRef);\n }\n\n /** Removes Menu keyboard support */\n removeKeyboardSupport(): void {\n if (this._destroyKeyboardHandlerListener) {\n this._destroyKeyboardHandlerListener();\n }\n }\n\n onDestroy(): void {\n this.removeKeyboardSupport();\n }\n\n /** @hidden Returns siblings of given node */\n private _nodeSiblings(node: MenuNode): MenuNode[] {\n return node.parent ? node.parent.children : this.menuMap.get(null).children;\n }\n\n /** @hidden Adds given element to the Active Node Path and setts as active*/\n private _addToActivePath(menuItem: MenuItemComponent): void {\n const menuNode = this.menuMap.get(menuItem);\n this._removeActiveSibling(menuItem);\n this.activeNodePath.push(menuNode);\n menuNode.item.setSelected(true);\n }\n\n /** @hidden Removes given element and all its successors from the Active Node Path and setts as inactive*/\n private _removeFromActivePath(menuItem: MenuItemComponent): void {\n const menuNode = this.menuMap.get(menuItem);\n const pathIndex = this.activeNodePath.findIndex((i) => i.item === menuNode.item);\n\n if (pathIndex !== -1) {\n this.activeNodePath\n .splice(pathIndex)\n .forEach((removedActiveNode) => removedActiveNode.item.setSelected(false));\n }\n }\n\n /** @hidden Removes all elements from the Active Node Path and sets them as closed */\n private _clearActivePath(): void {\n if (this.activeNodePath.length) {\n this._removeFromActivePath(this.activeNodePath[0].item);\n }\n }\n\n /** @hidden\n * - Builds Menu Nodes based on Menu Items\n * - Creates Map of the Menu Nodes */\n private _buildMenuMap(menu: MenuComponent): MenuMap {\n function buildNode(menuItem: MenuItemComponent): MenuNode {\n return {\n item: menuItem,\n parent: null,\n children: menuItem.submenu\n ? menuItem.submenu.menuItems.toArray().map((subMenuItem) => buildNode(subMenuItem))\n : []\n };\n }\n\n function setParents(node: MenuNode, parent: MenuNode): void {\n node.parent = parent;\n node.children.forEach((childNode) => setParents(childNode, node));\n }\n\n function toMap(node: MenuNode, map = new Map() as MenuMap): MenuMap {\n map.set(node.item, node);\n node.children.forEach((childNode) => toMap(childNode, map));\n return map;\n }\n\n const menuTree: MenuNode = {\n item: null,\n parent: null,\n children: menu.menuItems.toArray().map((item) => buildNode(item))\n };\n\n setParents(menuTree, null);\n\n return toMap(menuTree);\n }\n\n /** @hidden Removes active sibling of a given menu item from the Active Path */\n private _removeActiveSibling(menuItem: MenuItemComponent): void {\n const menuNode = this.menuMap.get(menuItem);\n const children = menuNode.parent.children.map((i) => i.item);\n const activeSibling = this.activeNodePath.find((i) => children.includes(i.item));\n const activeParentIndex = this.activeNodePath.indexOf(menuNode.parent);\n\n if (activeSibling) {\n this._removeFromActivePath(activeParentIndex !== -1 ? activeSibling.item : this.activeNodePath[0].item);\n }\n }\n\n /** @hidden Adds keyboard support */\n private _setKeyboardSupport(elementRef: ElementRef): void {\n this._destroyKeyboardHandlerListener = this._renderer.listen(\n elementRef.nativeElement,\n 'keydown',\n (event: KeyboardEvent) => this._handleKey(event)\n );\n }\n\n private _handleKey(event: KeyboardEvent): void {\n const focusRight = (node) => setTimeout(() => this.setFocused(node.children[0].item));\n let matched = true;\n\n if (KeyUtil.isKeyCode(event, RIGHT_ARROW)) {\n if (this.focusedNode.children.length) {\n this.setActive(true, this.focusedNode.item);\n focusRight(this.focusedNode);\n }\n } else if (KeyUtil.isKeyCode(event, LEFT_ARROW)) {\n if (this.focusedNode.parent.item) {\n this.setActive(false, this.focusedNode.parent.item);\n this.setFocused(this.focusedNode.parent.item);\n }\n } else if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n const closest = this._closestEnabled(this.focusedNode, 'down');\n if (closest) {\n this.setFocused(closest.item);\n }\n } else if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n const closest = this._closestEnabled(this.focusedNode, 'up');\n if (closest) {\n this.setFocused(closest.item);\n }\n } else if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\n const focusedNode = this.focusedNode;\n this.setActive(true, focusedNode.item);\n focusedNode.item.click();\n if (focusedNode.children.length) {\n focusRight(focusedNode);\n }\n } else if (KeyUtil.isKeyCode(event, ESCAPE) && this.menu.closeOnEscapeKey) {\n this.menu.close();\n } else {\n matched = false;\n }\n\n if (matched) {\n event.preventDefault();\n }\n }\n\n /** @hidden Emits an array of active menu items */\n private _emitActivePath(): void {\n this.menu.activePath.emit(this.activeNodePath.map((node) => node.item));\n }\n\n /** @hidden Depending on direction returns closest enabled sibling of given node */\n private _closestEnabled(node: MenuNode, direction: 'up' | 'down'): MenuNode | null {\n const siblings = direction === 'up' ? [...this._nodeSiblings(node)].reverse() : this._nodeSiblings(node);\n\n const startIndex = siblings.indexOf(node) + 1;\n\n for (let i = startIndex; i < siblings.length; i++) {\n if (!siblings[i].item.disabled) {\n return siblings[i];\n }\n }\n\n return null;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n Optional,\n Output,\n QueryList,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { MenuTitleDirective } from '../directives/menu-title.directive';\nimport { DefaultMenuItem } from '../default-menu-item.class';\nimport { MenuInteractiveDirective } from '../directives/menu-interactive.directive';\nimport { MenuService } from '../services/menu.service';\nimport { defer, fromEvent, Observable, Subscription, timer } from 'rxjs';\nimport { filter, sample, switchMap, takeUntil } from 'rxjs/operators';\n\nlet menuUniqueId = 0;\n\nexport interface BaseSubmenu {\n templateRef: TemplateRef<any>;\n menuItems: QueryList<any>;\n menuService: MenuService;\n ariaLabel: string;\n ariaLabelledby: string;\n}\n\nexport const SUBMENU = new InjectionToken<BaseSubmenu>('Submenu component dependency');\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'li[fd-menu-item]',\n exportAs: 'fd-menu-item',\n templateUrl: './menu-item.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'attr.role': 'presentation',\n '[class.fd-menu__item]': 'true'\n }\n})\nexport class MenuItemComponent implements DefaultMenuItem, OnChanges, AfterContentInit, OnDestroy {\n /** Set the Menu Item as disabled/enabled */\n @Input()\n disabled = false;\n\n /** Menu Item id attribute value */\n @Input()\n itemId = `fd-menu-item-${menuUniqueId++}`;\n\n /** Reference to sub-menu component */\n @Input()\n submenu: BaseSubmenu | undefined;\n\n /** Emitted when the menu item is selected. */\n @Output()\n onSelect: EventEmitter<void> = new EventEmitter<void>();\n\n /** @hidden Reference to the Menu Item title */\n @ContentChild(MenuTitleDirective)\n menuItemTitle: MenuTitleDirective;\n\n /** @hidden Reference to the Menu Item interactive element */\n @ContentChild(MenuInteractiveDirective)\n menuInteractive: MenuInteractiveDirective;\n\n /** @hidden Whether sub-menu is currently visible*/\n submenuVisible = false;\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n private _hoverSubscriptions: Subscription = new Subscription();\n\n /** @hidden */\n constructor(\n public elementRef: ElementRef,\n @Optional() public menuService: MenuService | null,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(SUBMENU) private _submenu: BaseSubmenu | null\n ) {}\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._setMenuService();\n this._initialiseItemState();\n this._listenOnMenuLinkClick();\n this._listenOnOuterFocus();\n this._listenOnMenuMode();\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['disabled'] && !changes['disabled'].firstChange) {\n this.menuInteractive.setDisabled(this.disabled);\n }\n if (changes['submenu'] && !changes['submenu'].firstChange) {\n this.menuInteractive.setSubmenu(!!this.submenu, this.submenu ? this.itemId : null);\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n this._hoverSubscriptions.unsubscribe();\n }\n\n /** Whether menu item has popup (desktop mode) */\n get hasPopup(): boolean {\n return this.submenu && (!this.menuService?.menu || !this.menuService?.menu.mobile);\n }\n\n /** Focuses Menu Item interactive element */\n focus(): void {\n if (this.menuInteractive) {\n this.menuInteractive.elementRef.nativeElement.focus();\n }\n }\n\n /** Clicks Menu Item interactive element */\n click(): void {\n if (this.menuInteractive) {\n this.menuInteractive.elementRef.nativeElement.click();\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** @hidden Sets menu item as selected/unselected based on isSelected flag */\n setSelected(isSelected: boolean, fromSplit?: boolean): void {\n this.menuInteractive.setSelected(isSelected);\n this.submenuVisible = isSelected && !!this.submenu;\n if (!fromSplit) {\n this.onSelect.emit();\n }\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden Creates click listener on menu item interactive element */\n private _listenOnMenuLinkClick(): void {\n this._subscriptions.add(\n fromEvent(this.menuInteractive.elementRef.nativeElement, 'click').subscribe(() =>\n this.menuService?.setActive(true, this)\n )\n );\n }\n\n /** @hidden Creates hover listeners for activating/deactivating menu item */\n private _listenOnMenuLinkHover(): Subscription {\n const hoverSubscriptions: Subscription = new Subscription();\n\n const mouseEnter$: Observable<MouseEvent> = fromEvent(\n this.menuInteractive.elementRef.nativeElement,\n 'mouseenter'\n );\n const mouseLeave$: Observable<MouseEvent> = fromEvent(\n this.menuInteractive.elementRef.nativeElement,\n 'mouseleave'\n );\n\n // Set focus on hover\n hoverSubscriptions.add(mouseEnter$.subscribe(() => this.menuService?.setFocused(this)));\n\n const timerFactory$ = defer(() => {\n return timer(this.menuService ? this.menuService.menu.openOnHoverTime : 0).pipe(takeUntil(mouseLeave$));\n });\n\n const timeTrigger$ = mouseEnter$.pipe(switchMap(() => timerFactory$));\n\n // Set active on long hover\n hoverSubscriptions.add(\n mouseEnter$\n .pipe(\n filter(() => !!this.submenu),\n sample(timeTrigger$)\n )\n .subscribe(() => this.menuService?.setActive(true, this))\n );\n\n return hoverSubscriptions;\n }\n\n /** @hidden Initializes menu link state based on item initial state */\n private _initialiseItemState(): void {\n this.menuInteractive.setSubmenu(!!this.submenu, this.itemId);\n this.menuInteractive.setDisabled(this.disabled);\n }\n\n /** @hidden Checks for Menu Service dependency and passes it if further */\n private _setMenuService(): void {\n this.menuService = this.menuService || this._submenu?.menuService;\n if (this.submenu) {\n this.submenu.menuService = this.menuService;\n }\n }\n\n /** @hidden Listen on menu mode and set proper mode listeners */\n private _listenOnMenuMode(): void {\n this.menuService?.isMobileMode.subscribe((isMobile) => {\n this._hoverSubscriptions.unsubscribe();\n if (!isMobile) {\n this._hoverSubscriptions = this._listenOnMenuLinkHover();\n }\n });\n }\n\n /** @hidden Updates focused menu item on outer focus */\n private _listenOnOuterFocus(): void {\n this._subscriptions.add(\n fromEvent(this.menuInteractive.elementRef.nativeElement, 'focus')\n .pipe(\n filter(() => !!this.menuService),\n filter(() => this.menuService.focusedNode !== this.menuService.menuMap.get(this))\n )\n .subscribe(() => this.menuService.setFocused(this))\n );\n }\n}\n\n@Component({\n selector: 'fd-submenu',\n template: `\n <ng-template>\n <ng-content></ng-content>\n </ng-template>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: SUBMENU, useExisting: SubmenuComponent }],\n exportAs: 'fdSubmenu'\n})\nexport class SubmenuComponent implements BaseSubmenu {\n /** Aria-label for navigation */\n @Input()\n ariaLabel: string = null;\n\n /** Aria-Labelledby for element describing navigation */\n @Input()\n ariaLabelledby: string = null;\n\n /** @hidden Reference to template with Submenu items */\n @ViewChild(TemplateRef) templateRef: TemplateRef<any>;\n\n /** @hidden Reference to Submenu MenuItems */\n @ContentChildren(MenuItemComponent) menuItems: QueryList<MenuItemComponent>;\n\n /** @hidden Reference to MenuService used by MenuItems */\n menuService: MenuService;\n}\n","import { AfterViewInit, Directive, ElementRef, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { MenuItemComponent } from '../menu-item/menu-item.component';\nimport { Subscription } from 'rxjs';\nimport { filter } from 'rxjs/operators';\n\n@Directive({\n // tslint:disable-next-line:directive-selector\n selector: '[fd-menu-shortcut]'\n})\nexport class MenuShortcutDirective implements AfterViewInit, OnDestroy {\n /** Hide shortcuts in mobile mode */\n @Input()\n hideOnMobile = true;\n\n /** @hidden */\n @HostBinding('class.fd-menu__shortcut')\n readonly fdMenuShortcutClass: boolean = true;\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n constructor(private _menuItem: MenuItemComponent, private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._hideOnMobile();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n private _hideOnMobile(): void {\n this._subscriptions.add(\n this._menuItem.menuService.isMobileMode.pipe(filter(() => this.hideOnMobile)).subscribe((isMobile) => {\n if (isMobile) {\n this._elementRef.nativeElement.style.display = 'none';\n } else {\n this._elementRef.nativeElement.style.display = null;\n }\n })\n );\n }\n}\n","import { Directive, ElementRef, HostBinding, Input, OnDestroy } from '@angular/core';\nimport { MenuComponent } from '../menu.component';\nimport { Subscription } from 'rxjs';\nimport { startWith } from 'rxjs/operators';\n\n@Directive({\n selector: '[fdMenuTrigger]'\n})\nexport class MenuTriggerDirective implements OnDestroy {\n /** Set reference to Menu Component */\n @Input('fdMenuTrigger')\n set menu(menu: MenuComponent) {\n if (menu) {\n menu.trigger = this._elementRef;\n this._listenOnExpanded(menu);\n }\n this._setAriaAttributes(menu);\n }\n\n @HostBinding('attr.aria-haspopup')\n ariaHasPopup: boolean;\n\n @HostBinding('attr.aria-controls')\n ariaControls: string;\n\n @HostBinding('attr.aria-expanded')\n ariaExpanded: boolean;\n\n /** @hidden */\n private _isExpandedSubscription: Subscription;\n\n /** @hidden */\n constructor(private _elementRef: ElementRef) {}\n\n /** @hidden */\n ngOnDestroy(): void {\n this._unsubscribeExpandedListener();\n }\n\n /** @hidden */\n private _listenOnExpanded(menu: MenuComponent): void {\n this._unsubscribeExpandedListener();\n if (menu) {\n this._isExpandedSubscription = menu.isOpenChange\n .pipe(startWith(menu.isOpen))\n .subscribe((isOpen) => (this.ariaExpanded = isOpen));\n }\n }\n\n /** @hidden */\n private _setAriaAttributes(menu: MenuComponent): void {\n this.ariaHasPopup = !!menu;\n this.ariaControls = menu ? menu.id : null;\n }\n\n /** @hidden */\n private _unsubscribeExpandedListener(): void {\n if (this._isExpandedSubscription) {\n this._isExpandedSubscription.unsubscribe();\n }\n }\n}\n","import { Component, HostBinding, Input } from '@angular/core';\n\n@Component({\n // tslint:disable-next-line:component-selector\n selector: 'fd-menu-addon',\n template: `\n <fd-icon [glyph]=\"glyph\" *ngIf=\"glyph\" role=\"presentation\"></fd-icon>\n <ng-content></ng-content>\n `\n})\nexport class MenuAddonDirective {\n /** Whether addon is used before or after text */\n @Input('position') set setAddonPosition(position: 'before' | 'after') {\n this.fdAddonBeforeClass = position === 'before';\n this.fdAddonAfterClass = position === 'after';\n }\n\n /** The icon name to display. See the icon page for the list of icons\n * here: https://sap.github.io/fundamental-ngx/icon\n * */\n @Input()\n glyph: string;\n\n /** Whether is used as submenu indicator */\n @Input()\n @HostBinding('class.fd-menu__addon-after--submenu')\n submenuIndicator = false;\n\n /** Sets Aria hidden attribute */\n @Input()\n @HostBinding('attr.aria-hidden')\n ariaHidden = true;\n\n /** @hidden */\n @HostBinding('class.fd-menu__addon-after')\n fdAddonAfterClass = true;\n\n /** @hidden */\n @HostBinding('class.fd-menu__addon-before')\n fdAddonBeforeClass = false;\n}\n","import { ChangeDetectionStrategy, Component, HostBinding, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'fd-menu-separator',\n template: '',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class MenuSeparatorComponent {\n /** @hidden */\n @HostBinding('class.fd-menu__separator')\n readonly fdMenuSeparatorClass: boolean = true;\n}\n","import { EventEmitter, InjectionToken } from '@angular/core';\nimport { DialogConfig } from '@fundamental-ngx/core/dialog';\nimport { MenuItemComponent } from './menu-item/menu-item.component';\nimport { MobileMode } from '@fundamental-ngx/core/mobile-mode';\n\nexport const MENU_COMPONENT = new InjectionToken<string[]>('MenuInterface');\n\n/**\n * Menu Interface to have typing and avoid circular dependency between\n * MenuComponent <==> MenuMobileComponent\n */\nexport interface MenuInterface extends MobileMode {\n activePath: EventEmitter<MenuItemComponent[]>;\n dialogConfig: DialogConfig;\n isOpenChange: EventEmitter<boolean>;\n\n close(): void;\n}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n OnDestroy,\n OnInit,\n Optional,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { DialogService } from '@fundamental-ngx/core/dialog';\nimport { Observable, of } from 'rxjs';\nimport { MenuService } from '../services/menu.service';\nimport { MenuItemComponent } from '../menu-item/menu-item.component';\nimport { map, startWith, takeUntil } from 'rxjs/operators';\nimport { RtlService } from '@fundamental-ngx/core/utils';\nimport { MENU_COMPONENT, MenuInterface } from '../menu.interface';\nimport {\n MOBILE_MODE_CONFIG,\n MobileModeBase,\n MobileModeControl,\n MobileModeConfigToken\n} from '@fundamental-ngx/core/mobile-mode';\n\n@Component({\n selector: 'fd-menu-mobile',\n templateUrl: './menu-mobile.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n})\nexport class MenuMobileComponent extends MobileModeBase<MenuInterface> implements OnInit, OnDestroy {\n /** @hidden */\n @ViewChild('dialogTemplate') dialogTemplate: TemplateRef<any>;\n\n /** Current menu title */\n title: string;\n\n /** Whether current menu level is submenu */\n isSubmenu: boolean;\n\n /** @hidden External content */\n childContent: TemplateRef<any> = undefined;\n\n /** @hidden Currently rendered menu view */\n view: TemplateRef<any>;\n\n /** @hidden Navigation icon name based on RTL */\n navigationIcon$: Observable<string>;\n\n constructor(\n elementRef: ElementRef,\n dialogService: DialogService,\n private _menuService: MenuService,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() private _rtlService: RtlService,\n @Inject(MENU_COMPONENT) menuComponent: MenuInterface,\n @Optional() @Inject(MOBILE_MODE_CONFIG) mobileModes: MobileModeConfigToken[]\n ) {\n super(elementRef, dialogService, menuComponent, MobileModeControl.MENU, mobileModes);\n }\n\n /** @hidden */\n ngOnInit(): void {\n this._listenOnActivePathChange();\n this._listenOnMenuOpenChange();\n this._listenOnTextDirection();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n super.onDestroy();\n }\n\n /** Closes the Dialog and Menu component */\n close(): void {\n this.dialogRef.close();\n this._component.close();\n }\n\n /** Navigate back to parent level of submenu */\n backToParentLevel(): void {\n this._menuService.setActive(\n false,\n this._menuService.activeNodePath[this._menuService.activeNodePath.length - 1].item\n );\n }\n\n /** @hidden Opens the Dialog */\n private _openDialog(): void {\n this.dialogRef = this._dialogService.open(this.dialogTemplate, {\n mobile: true,\n verticalPadding: false,\n ...this.dialogConfig,\n escKeyCloseable: false,\n backdropClickCloseable: false,\n container: this._elementRef.nativeElement\n });\n }\n\n /** @hidden Listens on Active Path changes and updates mobile view */\n private _listenOnActivePathChange(): void {\n const initialItemPath: MenuItemComponent[] = this._menuService.activeNodePath.map((node) => node.item);\n this._component.activePath\n .pipe(takeUntil(this._onDestroy$), startWith(initialItemPath))\n .subscribe((items) => this._setMenuView(items));\n }\n\n /** @hidden Sets menu view, title and isSubmenu flag */\n private _setMenuView(items: MenuItemComponent[]): void {\n const lastItem: MenuItemComponent = items[items.length - 1];\n this.isSubmenu = !!items.length;\n this.title = this._getDialogTitle(lastItem);\n this.view = this._getMenuView(lastItem);\n this._changeDetectorRef.markForCheck();\n }\n\n /** @hidden Opens/closes the Dialog based on Menu isOpenChange events */\n private _listenOnMenuOpenChange(): void {\n this._component.isOpenChange\n .pipe(takeUntil(this._onDestroy$))\n .subscribe((isOpen) => (isOpen ? this._openDialog() : this.dialogRef.close()));\n }\n\n /** @hidden Sets navigation arrow depending on text direction */\n private _listenOnTextDirection(): void {\n this.navigationIcon$ = this._rtlService\n ? this._rtlService.rtl.pipe(map((isRtl) => (isRtl ? 'navigation-right-arrow' : 'navigation-left-arrow')))\n : of('navigation-left-arrow');\n }\n\n /** @hidden Returns dialog title */\n private _getDialogTitle(menuItem: MenuItemComponent): string {\n if (this.isSubmenu) {\n return menuItem.menuItemTitle ? menuItem.menuItemTitle.title : '';\n }\n\n return this.mobileConfig.title || '';\n }\n\n /** @hidden Returns dialog content view */\n private _getMenuView(menuItem: MenuItemComponent): TemplateRef<any> {\n if (this.isSubmenu) {\n return menuItem.submenu ? menuItem.submenu.templateRef : this.view;\n }\n return this.childContent;\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MenuMobileComponent } from './menu-mobile.component';\nimport { DialogModule } from '@fundamental-ngx/core/dialog';\nimport { ButtonModule } from '@fundamental-ngx/core/button';\n\n@NgModule({\n declarations: [MenuMobileComponent],\n imports: [CommonModule, DialogModule, ButtonModule],\n exports: [MenuMobileComponent],\n entryComponents: [MenuMobileComponent]\n})\nexport class MenuMobileModule {}\n","import {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ComponentRef,\n ContentChildren,\n ElementRef,\n EventEmitter,\n Injector,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n Renderer2,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\n\nimport { ContentDensityService, DynamicComponentService } from '@fundamental-ngx/core/utils';\nimport { DialogConfig } from '@fundamental-ngx/core/dialog';\nimport { MobileModeConfig } from '@fundamental-ngx/core/mobile-mode';\nimport { BasePopoverClass, PopoverService } from '@fundamental-ngx/core/popover';\n\nimport { MenuMobileComponent } from './menu-mobile/menu-mobile.component';\nimport { MenuMobileModule } from './menu-mobile/menu-mobile.module';\nimport { MenuService } from './services/menu.service';\nimport { MENU_COMPONENT, MenuInterface } from './menu.interface';\nimport { MenuItemComponent } from './menu-item/menu-item.component';\n\nlet menuUniqueId = 0;\n\n/**\n * The component that represents a menu.\n */\n@Component({\n selector: 'fd-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['menu.component.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MenuService, PopoverService]\n})\nexport class MenuComponent\n extends BasePopoverClass\n implements MenuInterface, AfterContentInit, AfterViewInit, OnDestroy, OnInit\n{\n /** Set menu in mobile mode */\n @Input('mobile')\n set setMobileMode(value: boolean) {\n this.mobile = value;\n this._menuService.setMenuMode(this.mobile);\n }\n\n /** Whether the popover is disabled. */\n @Input()\n disabled = false;\n\n /** Display menu in compact mode */\n @Input()\n compact?: boolean;\n\n /** Whether the popover should be focusTrapped. */\n @Input()\n focusTrapped = true;\n\n /** Open submenu on hover after given milliseconds */\n @Input()\n openOnHoverTime = 0;\n\n /** Display menu without integrated popover */\n @Input()\n mobileConfig: MobileModeConfig = { cancelButtonText: 'Cancel' };\n\n /** Aria-label for navigation */\n @Input()\n ariaLabel: string = null;\n\n /** Aria-Labelledby for element describing navigation */\n @Input()\n ariaLabelledby: string = null;\n\n /** Id of the control. */\n @Input()\n id = `fd-menu-${menuUniqueId++}`;\n\n /** Emits array of active menu items */\n @Output()\n readonly activePath: EventEmitter<MenuItemComponent[]> = new EventEmitter<MenuItemComponent[]>();\n\n /** @hidden Emits event when the menu is opened/closed */\n @Output()\n isOpenChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n /** @hidden Reference to the menu root template */\n @ViewChild('menuRootTemplate')\n menuRootTemplate: TemplateRef<any>;\n\n /** @hidden Reference to all menu Items */\n @ContentChildren(MenuItemComponent, { descendants: true })\n menuItems: QueryList<MenuItemComponent>;\n\n /** Whether use menu in mobile mode */\n mobile = false;\n\n /** @hidden Whether Popover with the menu is opened */\n isOpen = false;\n\n /** @hidden Reference to external menu trigger */\n private _externalTrigger: ElementRef;\n\n /** @hidden */\n private _subscriptions: Subscription = new Subscription();\n\n /** @hidden */\n private _mobileModeComponentRef: ComponentRef<MenuMobileComponent>;\n\n /** @hidden */\n private _clickEventListener: Function;\n\n /** @hidden */\n constructor(\n public readonly elementRef: ElementRef,\n @Optional() public readonly dialogConfig: DialogConfig,\n private readonly _rendered: Renderer2,\n private readonly _menuService: MenuService,\n private readonly _changeDetectorRef: ChangeDetectorRef,\n private readonly _popoverService: PopoverService,\n private readonly _injector: Injector,\n private readonly _viewContainerRef: ViewContainerRef,\n @Optional() private readonly _contentDensityService: ContentDensityService,\n @Optional() private readonly _dynamicComponentService: DynamicComponentService\n ) {\n super();\n }\n\n /** @hidden */\n ngOnInit(): void {\n if (this.compact === undefined && this._contentDensityService) {\n this._subscriptions.add(\n this._contentDensityService._contentDensityListener.subscribe((density) => {\n this.compact = density !== 'cozy';\n })\n );\n }\n }\n\n /** @hidden */\n ngAfterContentInit(): void {\n this._menuService.setMenuRoot(this);\n this._listenOnMenuItemsChange();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this._menuService.setMenuMode(this.mobile);\n this._setupView();\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._destroyMobileComponent();\n this._destroyEventListeners();\n this._menuService.onDestroy();\n this._subscriptions.unsubscribe();\n this._popoverService.onDestroy();\n }\n\n get trigger(): ElementRef {\n return this._externalTrigger;\n }\n\n set trigger(trigger: ElementRef) {\n this._externalTrigger = trigger;\n this._popoverService.initialise(this._externalTrigger);\n this._destroyEventListeners();\n this._listenOnTriggerRefClicks();\n }\n\n /** Opens the menu */\n open(): void {\n this.isOpen = true;\n this._popoverService.open();\n this.isOpenChange.emit(this.isOpen);\n this._changeDetectorRef.markForCheck();\n }\n\n /** Closes the menu */\n close(): void {\n this.isOpen = false;\n this._popoverService.close();\n this._menuService.resetMenuState();\n this.isOpenChange.emit(this.isOpen);\n this._focusTrigger();\n this._changeDetectorRef.markForCheck();\n }\n\n /** Toggles menu open/close state */\n toggle(): void {\n this.isOpen ? this.close() : this.open();\n }\n\n /** Method called to refresh position of opened popover */\n refreshPosition(): void {\n this._popoverService.refreshPosition();\n }\n\n /** @hidden Select and instantiate menu view mode */\n private _setupView(): void {\n if (this.mobile) {\n this._setupMobileMode();\n } else {\n this._setupPopoverService();\n }\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n private _setupPopoverService(): void {\n this._subscriptions.add(\n this._popoverService._onLoad.subscribe((elementRef) => this._manageKeyboardSupport(elementRef))\n );\n\n this._popoverService.templateContent = this.menuRootTemplate;\n this._popoverService.initialise(this._externalTrigger, this);\n }\n\n /** @hidden */\n private _manageKeyboardSupport(elementRef: ElementRef): void {\n this._menuService.addKeyboardSupport(elementRef);\n }\n\n /** @hidden Open Menu in mobile mode */\n private async _setupMobileMode(): Promise<void> {\n const injector = Injector.create({\n providers: [{ provide: MENU_COMPONENT, useValue: this }],\n parent: this._injector\n });\n\n this._mobileModeComponentRef = await this._dynamicComponentService.createDynamicModule(\n this.menuRootTemplate,\n MenuMobileModule,\n MenuMobileComponent,\n this._viewContainerRef,\n injector\n );\n\n this._listenOnTriggerRefClicks();\n }\n\n /** @hidden Listen on menu items change and rebuild menu */\n private _listenOnMenuItemsChange(): void {\n this._subscriptions.add(this.menuItems.changes.subscribe(() => this._menuService.rebuildMenu()));\n this.menuItems.forEach((m) => {\n if (m.submenu && m.submenu.menuItems) {\n this._subscriptions.add(m.submenu.menuItems.changes.subscribe(() => this._menuService.rebuildMenu()));\n }\n });\n }\n\n /**\n * @hidden\n * This is going to be removed in feature, on dialog and dynamic service component refactor\n */\n private _listenOnTriggerRefClicks(): void {\n this._destroyEventListeners();\n if (this.trigger && this.mobile) {\n this._clickEventListener = this._rendered.listen(this.trigger.nativeElement, 'click', () => this.toggle());\n }\n }\n\n /**\n * @hidden\n * This is going to be removed in feature, on dialog and dynamic service component refactor\n */\n private _destroyEventListeners(): void {\n if (this._clickEventListener) {\n this._clickEventListener();\n this._clickEventListener = null;\n }\n }\n\n /** @hidden */\n private _destroyMobileComponent(): void {\n if (this._mobileModeComponentRef) {\n this._mobileModeComponentRef.destroy();\n }\n }\n\n /** @hidden */\n private _focusTrigger(): void {\n if (this.focusTrapped && this.trigger) {\n this.trigger.nativeElement.focus();\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { MenuComponent } from './menu.component';\nimport { MenuTitleDirective } from './directives/menu-title.directive';\nimport { MenuInteractiveDirective } from './directives/menu-interactive.directive';\nimport { MenuSeparatorComponent } from './menu-separator/menu-separator.component';\nimport { MenuAddonDirective } from './directives/menu-addon.directive';\nimport { MenuItemComponent, SubmenuComponent } from './menu-item/menu-item.component';\nimport { MenuShortcutDirective } from './directives/menu-shortcut.directive';\nimport { PopoverModule } from '@fundamental-ngx/core/popover';\nimport { MenuTriggerDirective } from './directives/menu-trigger.directive';\nimport { IconModule } from '@fundamental-ngx/core/icon';\nimport { InitialFocusModule } from '@fundamental-ngx/core/utils';\n\n@NgModule({\n imports: [CommonModule, PopoverModule, IconModule, InitialFocusModule],\n declarations: [\n MenuComponent,\n MenuItemComponent,\n MenuAddonDirective,\n MenuSeparatorComponent,\n MenuShortcutDirective,\n MenuInteractiveDirective,\n MenuTitleDirective,\n SubmenuComponent,\n MenuTriggerDirective\n ],\n exports: [\n MenuComponent,\n MenuItemComponent,\n SubmenuComponent,\n MenuSeparatorComponent,\n MenuShortcutDirective,\n MenuInteractiveDirective,\n MenuTitleDirective,\n MenuAddonDirective,\n MenuTriggerDirective\n ]\n})\nexport class MenuModule {}\n","export abstract class DefaultMenuItem {\n abstract focus(): void;\n abstract click(): void;\n}\n","import { Subject } from 'rxjs';\nimport { Injectable, Output } from '@angular/core';\nimport { DefaultMenuItem } from './default-menu-item.class';\nimport { ListItemComponent } from '@fundamental-ngx/core/list';\nimport { KeyUtil } from '@fundamental-ngx/core/utils';\nimport { DOWN_ARROW, ENTER, SPACE, UP_ARROW } from '@angular/cdk/keycodes';\n\n@Injectable()\nexport class MenuKeyboardService {\n /** Event emitted when an item link is clicked.*/\n @Output()\n public readonly itemClicked: Subject<number> = new Subject<number>();\n\n /** Whether user wants to remove keyboard handling */\n disableKeydownHandling = false;\n\n /** Function that is supposed to be called, when focus escape before list */\n focusEscapeBeforeList: Function;\n\n /** Function that is supposed to be called, when focus escape after list */\n focusEscapeAfterList: Function;\n\n /** Function that should be called every time, keydown event is used on some menu item,\n * it provides whole functionality for handling\n * ArrowDown - focus, ArrowUp - focus, Space bar - simulate click, Enter key - simulate click.\n * @param event KeyboardEvent\n * @param index index of items starts from 0\n * @param menuItems array of menu item directives\n * */\n keyDownHandler(event: KeyboardEvent, index: number, menuItems: DefaultMenuItem[] | ListItemComponent[]): void {\n if (this.disableKeydownHandling) {\n return;\n }\n\n if (KeyUtil.isKeyCode(event, DOWN_ARROW)) {\n if (menuItems.length > index + 1) {\n menuItems[index + 1].focus();\n } else {\n if (this.focusEscapeAfterList) {\n this.focusEscapeAfterList();\n } else {\n menuItems[0].focus();\n }\n }\n event.preventDefault();\n } else if (KeyUtil.isKeyCode(event, UP_ARROW)) {\n if (index > 0) {\n menuItems[index - 1].focus();\n } else {\n if (this.focusEscapeBeforeList) {\n this.focusEscapeBeforeList();\n } else {\n menuItems[menuItems.length - 1].focus();\n }\n }\n event.preventDefault();\n } else if (KeyUtil.isKeyCode(event, [SPACE, ENTER])) {\n if (menuItems[index]) {\n menuItems[index].click();\n event.preventDefault();\n }\n }\n }\n}\n",null],"names":["Directive","ElementRef","HostBinding","Subject","distinctUntilChanged","KeyUtil","RIGHT_ARROW","LEFT_ARROW","DOWN_ARROW","UP_ARROW","SPACE","ENTER","ESCAPE","Injectable","Renderer2","menuUniqueId","InjectionToken","EventEmitter","Subscription","fromEvent","defer","timer","takeUntil","switchMap","filter","sample","Component","ChangeDetectionStrategy","ViewEncapsulation","Optional","ChangeDetectorRef","Inject","Input","Output","ContentChild","ViewChild","TemplateRef","ContentChildren","startWith","MobileModeControl","map","of","MobileModeBase","DialogService","RtlService","MOBILE_MODE_CONFIG","NgModule","CommonModule","DialogModule","ButtonModule","Injector","BasePopoverClass","PopoverService","DialogConfig","ViewContainerRef","ContentDensityService","DynamicComponentService","PopoverModule","IconModule","InitialFocusModule"],"mappings":"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"}
|