@eui/ecl 19.3.1-snapshot-1750864122845 → 19.3.1-snapshot-1750931067902

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.
Files changed (43) hide show
  1. package/components/ecl-link/ecl-link.directive.d.ts +3 -0
  2. package/components/ecl-link/ecl-link.directive.d.ts.map +1 -1
  3. package/components/ecl-mega-menu/directives/ecl-mega-menu-container.directive.d.ts +3 -0
  4. package/components/ecl-mega-menu/directives/ecl-mega-menu-container.directive.d.ts.map +1 -1
  5. package/components/ecl-mega-menu/directives/ecl-mega-menu-featured-list.directive.d.ts +7 -0
  6. package/components/ecl-mega-menu/directives/ecl-mega-menu-featured-list.directive.d.ts.map +1 -1
  7. package/components/ecl-mega-menu/directives/ecl-mega-menu-featured-picture.directive.d.ts +6 -0
  8. package/components/ecl-mega-menu/directives/ecl-mega-menu-featured-picture.directive.d.ts.map +1 -1
  9. package/components/ecl-mega-menu/directives/ecl-mega-menu-list.directive.d.ts +13 -0
  10. package/components/ecl-mega-menu/directives/ecl-mega-menu-list.directive.d.ts.map +1 -1
  11. package/components/ecl-mega-menu/ecl-mega-menu-featured/ecl-mega-menu-featured.component.d.ts +7 -0
  12. package/components/ecl-mega-menu/ecl-mega-menu-featured/ecl-mega-menu-featured.component.d.ts.map +1 -1
  13. package/components/ecl-mega-menu/ecl-mega-menu-info/ecl-mega-menu-info.component.d.ts +22 -0
  14. package/components/ecl-mega-menu/ecl-mega-menu-info/ecl-mega-menu-info.component.d.ts.map +1 -1
  15. package/components/ecl-mega-menu/ecl-mega-menu-item/ecl-mega-menu-item.component.d.ts +43 -0
  16. package/components/ecl-mega-menu/ecl-mega-menu-item/ecl-mega-menu-item.component.d.ts.map +1 -1
  17. package/components/ecl-mega-menu/ecl-mega-menu-subitem/ecl-mega-menu-subitem.component.d.ts +45 -0
  18. package/components/ecl-mega-menu/ecl-mega-menu-subitem/ecl-mega-menu-subitem.component.d.ts.map +1 -1
  19. package/components/ecl-mega-menu/ecl-mega-menu.component.d.ts +39 -0
  20. package/components/ecl-mega-menu/ecl-mega-menu.component.d.ts.map +1 -1
  21. package/components/ecl-mega-menu/services/ecl-mega-menu-data.service.d.ts +3 -0
  22. package/components/ecl-mega-menu/services/ecl-mega-menu-data.service.d.ts.map +1 -1
  23. package/docs/components/EclMegaMenuComponent.html +81 -0
  24. package/docs/components/EclMegaMenuFeaturedComponent.html +13 -0
  25. package/docs/components/EclMegaMenuInfoComponent.html +60 -0
  26. package/docs/components/EclMegaMenuItemComponent.html +88 -0
  27. package/docs/components/EclMegaMenuSubitemComponent.html +79 -0
  28. package/docs/dependencies.html +2 -2
  29. package/docs/directives/EclLinkDirective.html +1 -1
  30. package/docs/directives/EclMegaMenuContainerDirective.html +7 -0
  31. package/docs/directives/EclMegaMenuFeaturedImageDirective.html +7 -0
  32. package/docs/directives/EclMegaMenuFeaturedListDirective.html +7 -0
  33. package/docs/directives/EclMegaMenuFeaturedListItemDirective.html +8 -0
  34. package/docs/directives/EclMegaMenuFeaturedPictureDirective.html +7 -0
  35. package/docs/directives/EclMegaMenuListDirective.html +7 -0
  36. package/docs/directives/EclMegaMenuSpacerDirective.html +7 -0
  37. package/docs/directives/EclMegaMenuSublistDirective.html +16 -0
  38. package/docs/injectables/EclMegaMenuDataService.html +2 -0
  39. package/docs/js/search/search_index.js +2 -2
  40. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  41. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +139 -1
  42. package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
  43. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-link.mjs","sources":["../../components/ecl-link/ecl-link.directive.ts","../../components/ecl-link/ecl-link-label.directive.ts","../../components/ecl-link/ecl-link.module.ts","../../components/ecl-link/eui-ecl-components-ecl-link.ts"],"sourcesContent":["import { Directive, HostBinding, Input, forwardRef, ContentChildren, QueryList, booleanAttribute, ElementRef, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * 'eclLink' directive is used to add some styling to the defalt HTML anchor component. In order to comply with ECL standards.\n */\n@Directive({\n selector: '[eclLink]',\n standalone: false,\n})\nexport class EclLinkDirective extends ECLBaseDirective implements AfterContentInit {\n\n /**\n * Adds speific ECL classes to the <a> component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link'), this.variant ? `ecl-link--${this.variant}` : ''].join(' ').trim();\n }\n /**\n * Adds class for styling if the link has icon.\n */\n @HostBinding('class.ecl-link--icon')\n get hasIcon(): boolean {\n return this.eclIconComponents && this.eclIconComponents.length > 0;\n }\n\n @HostBinding('class.ecl-link--no-visited')\n get isLinkNoVisited(): boolean {\n return this.isNoVisited;\n }\n\n /**\n * Property to style the component as 'inverted' (with dark background).\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--inverted') isInverted = false;\n /**\n * Property to style the component if it consist only of an icon.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--icon-only') isIconOnly = false;\n @Input({ transform: booleanAttribute }) isNoVisited: boolean;\n /**\n * With 'varian' property user can add some more specific styling to the <a> component.\n */\n @Input() variant: 'standalone' | 'cta' | 'primary' | 'secondary';\n\n @ContentChildren(forwardRef(() => EclIconComponent), { descendants: true }) eclIconComponents: QueryList<EclIconComponent>;\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n // Add additional class to the child icon, if any.\n if (this.eclIconComponents) {\n setTimeout(() => {\n this.eclIconComponents.forEach((icn) => {\n icn.baseDirective.class = icn.baseDirective.class ? icn.baseDirective.class + ' ecl-link__icon' : 'ecl-link__icon';\n });\n });\n }\n }\n\n /**\n * Calls the native focus() method of the default HTML element.\n */\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n\n /**\n * Calls the native click() method of the default HTML element.\n */\n onClick(): void {\n this.el.nativeElement.click();\n }\n\n /**\n * Calls the native blur() method of the default HTML element.\n */\n onBlur(): void {\n this.el.nativeElement.blur();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclLinkLabel]',\n standalone: false,\n})\nexport class EclLinkLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link__label')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclIndicator]',\n standalone: false,\n})\nexport class EclIndicatorDirective {\n @HostBinding('class.ecl-indicator') hasClass = true;\n}\n\n@Directive({\n selector: '[eclLinkIconContainer]',\n standalone: false,\n})\nexport class EclLinkIconContainerDirective {\n @HostBinding('class.ecl-link__icon-container') hasClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLinkDirective } from './ecl-link.directive';\nimport { EclIndicatorDirective, EclLinkIconContainerDirective, EclLinkLabelDirective } from './ecl-link-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLinkDirective, EclLinkLabelDirective, EclIndicatorDirective, EclLinkIconContainerDirective],\n declarations: [EclLinkDirective, EclLinkLabelDirective, EclIndicatorDirective, EclLinkIconContainerDirective],\n})\nexport class EclLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-link.mjs","sources":["../../components/ecl-link/ecl-link.directive.ts","../../components/ecl-link/ecl-link-label.directive.ts","../../components/ecl-link/ecl-link.module.ts","../../components/ecl-link/eui-ecl-components-ecl-link.ts"],"sourcesContent":["import { Directive, HostBinding, Input, forwardRef, ContentChildren, QueryList, booleanAttribute, ElementRef, AfterContentInit } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n/**\n * 'eclLink' directive is used to add some styling to the defalt HTML anchor component. In order to comply with ECL standards.\n */\n@Directive({\n selector: '[eclLink]',\n standalone: false,\n})\nexport class EclLinkDirective extends ECLBaseDirective implements AfterContentInit {\n\n /**\n * Adds speific ECL classes to the <a> component.\n */\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link'), this.variant ? `ecl-link--${this.variant}` : ''].join(' ').trim();\n }\n /**\n * Adds class for styling if the link has icon.\n */\n @HostBinding('class.ecl-link--icon')\n get hasIcon(): boolean {\n return this.eclIconComponents && this.eclIconComponents.length > 0;\n }\n\n @HostBinding('class.ecl-link--no-visited')\n get isLinkNoVisited(): boolean {\n return this.isNoVisited;\n }\n\n /**\n * Property to style the component as 'inverted' (with dark background).\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--inverted') isInverted = false;\n /**\n * Property to style the component if it consist only of an icon.\n */\n @Input({ transform: booleanAttribute }) @HostBinding('class.ecl-link--icon-only') isIconOnly = false;\n /**\n * @deprecated - will be removed in v20. Deprecated on ECL side.\n */\n @Input({ transform: booleanAttribute }) isNoVisited: boolean;\n /**\n * With 'varian' property user can add some more specific styling to the <a> component.\n */\n @Input() variant: 'standalone' | 'cta' | 'primary' | 'secondary';\n\n @ContentChildren(forwardRef(() => EclIconComponent), { descendants: true }) eclIconComponents: QueryList<EclIconComponent>;\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n // Add additional class to the child icon, if any.\n if (this.eclIconComponents) {\n setTimeout(() => {\n this.eclIconComponents.forEach((icn) => {\n icn.baseDirective.class = icn.baseDirective.class ? icn.baseDirective.class + ' ecl-link__icon' : 'ecl-link__icon';\n });\n });\n }\n }\n\n /**\n * Calls the native focus() method of the default HTML element.\n */\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n\n /**\n * Calls the native click() method of the default HTML element.\n */\n onClick(): void {\n this.el.nativeElement.click();\n }\n\n /**\n * Calls the native blur() method of the default HTML element.\n */\n onBlur(): void {\n this.el.nativeElement.blur();\n }\n}\n","import { Directive, HostBinding } from '@angular/core';\n\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclLinkLabel]',\n standalone: false,\n})\nexport class EclLinkLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-link__label')].join(' ').trim();\n }\n}\n\n@Directive({\n selector: '[eclIndicator]',\n standalone: false,\n})\nexport class EclIndicatorDirective {\n @HostBinding('class.ecl-indicator') hasClass = true;\n}\n\n@Directive({\n selector: '[eclLinkIconContainer]',\n standalone: false,\n})\nexport class EclLinkIconContainerDirective {\n @HostBinding('class.ecl-link__icon-container') hasClass = true;\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclLinkDirective } from './ecl-link.directive';\nimport { EclIndicatorDirective, EclLinkIconContainerDirective, EclLinkLabelDirective } from './ecl-link-label.directive';\n\n@NgModule({\n imports: [CommonModule],\n exports: [EclLinkDirective, EclLinkLabelDirective, EclIndicatorDirective, EclLinkIconContainerDirective],\n declarations: [EclLinkDirective, EclLinkLabelDirective, EclIndicatorDirective, EclLinkIconContainerDirective],\n})\nexport class EclLinkModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -19,6 +19,9 @@ import { ECLBaseDirective, KeyCode, ECLClickOutsideDirective } from '@eui/ecl/co
19
19
  import { Subject, takeUntil } from 'rxjs';
20
20
  import * as i3$1 from '@eui/ecl/shared';
21
21
 
22
+ /**
23
+ * Directive that adds specific class to the mega-menu container.
24
+ */
22
25
  class EclMegaMenuContainerDirective extends ECLBaseDirective {
23
26
  constructor() {
24
27
  super(...arguments);
@@ -39,6 +42,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
39
42
  args: ['class.ecl']
40
43
  }] } });
41
44
 
45
+ /**
46
+ * Directive that adds specific class to the mega-menu featured list.
47
+ */
42
48
  class EclMegaMenuFeaturedListDirective extends ECLBaseDirective {
43
49
  constructor() {
44
50
  super(...arguments);
@@ -57,6 +63,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
57
63
  type: HostBinding,
58
64
  args: ['class.ecl-mega-menu__featured-list']
59
65
  }] } });
66
+ /**
67
+ * Directive that adds specific class to a mega-menu featured list item.
68
+ * Also has method that returns item height.
69
+ */
60
70
  class EclMegaMenuFeaturedListItemDirective extends ECLBaseDirective {
61
71
  constructor(el) {
62
72
  super();
@@ -80,6 +90,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
80
90
  args: ['class.ecl-mega-menu__featured-list__item']
81
91
  }] } });
82
92
 
93
+ /**
94
+ * Directive that adds specific class to the mega-menu featured picture.
95
+ */
83
96
  class EclMegaMenuFeaturedPictureDirective extends ECLBaseDirective {
84
97
  get cssClasses() {
85
98
  return [super.getCssClasses('ecl-picture ecl-mega-menu__featured-picture')].join(' ').trim();
@@ -97,6 +110,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
97
110
  type: HostBinding,
98
111
  args: ['class']
99
112
  }] } });
113
+ /**
114
+ * Directive that adds specific class to the mega-menu featured image.
115
+ */
100
116
  class EclMegaMenuFeaturedImageDirective extends ECLBaseDirective {
101
117
  constructor() {
102
118
  super(...arguments);
@@ -116,6 +132,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
116
132
  args: ['class.ecl-mega-menu__featured-image']
117
133
  }] } });
118
134
 
135
+ /**
136
+ * This component represents the featured items panel.
137
+ */
119
138
  class EclMegaMenuFeaturedComponent extends ECLBaseDirective {
120
139
  constructor(el) {
121
140
  super();
@@ -123,6 +142,10 @@ class EclMegaMenuFeaturedComponent extends ECLBaseDirective {
123
142
  this.cmpClass = true;
124
143
  this.eclMegaMenuFeaturedStyleHeight = null;
125
144
  }
145
+ /**
146
+ * Calculates and returns the height of the component. The total height of all the list items.
147
+ * @returns the height of the component
148
+ */
126
149
  getEclMegaMenuFeaturedHeight() {
127
150
  let result = 0;
128
151
  this.listItems.forEach(it => result += it.getEclMegaMenuFeaturedItemHeight());
@@ -160,6 +183,9 @@ class EclMegaMenuDataService {
160
183
  this.eclSubItemClicked$ = this.eclSubItemClicked.asObservable();
161
184
  this.eclSubItemEscape$ = this.eclSubItemEscape.asObservable();
162
185
  }
186
+ /**
187
+ * Used to synchronize size of the info panel and sublist.
188
+ */
163
189
  updateEclMegaMenuInfoSize(value) {
164
190
  this.eclMegaMenuInfoBottomYSubject.next(value);
165
191
  }
@@ -201,6 +227,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
201
227
  args: [{ providedIn: 'root' }]
202
228
  }], ctorParameters: () => [{ type: i0.RendererFactory2 }] });
203
229
 
230
+ /**
231
+ * This component represents a sub-item in the mega-menu component. Applies styling and functionality.
232
+ */
204
233
  class EclMegaMenuSubitemComponent extends ECLBaseDirective {
205
234
  get cssClasses() {
206
235
  return [
@@ -221,6 +250,9 @@ class EclMegaMenuSubitemComponent extends ECLBaseDirective {
221
250
  this.eclMegaMenuService = eclMegaMenuService;
222
251
  this.isExpanded = false;
223
252
  this.label = '';
253
+ /**
254
+ * If the link redirects to external page. Adds an 'external' icon.
255
+ */
224
256
  this.isExternal = false;
225
257
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
226
258
  this.routerLink = null;
@@ -228,11 +260,17 @@ class EclMegaMenuSubitemComponent extends ECLBaseDirective {
228
260
  this.queryParamsHandling = null;
229
261
  this.href = '';
230
262
  this.target = '';
263
+ /**
264
+ * Used for the 'View all' link.
265
+ */
231
266
  this.isSeeAll = false;
232
267
  this.megaMenuSubItemClicked = new EventEmitter();
233
268
  this.megaMenuSubItemKeydown = new EventEmitter();
234
269
  this.isCurrent = false;
235
270
  this.isMobileBreakpoint = false;
271
+ /**
272
+ * Used to set the height of the second level subitems container.
273
+ */
236
274
  this.level2StyleHeight = null;
237
275
  this.destroy$ = new Subject();
238
276
  this.isParentLink = false;
@@ -247,6 +285,9 @@ class EclMegaMenuSubitemComponent extends ECLBaseDirective {
247
285
  get hasChildren() {
248
286
  return !!this.submenu;
249
287
  }
288
+ /**
289
+ * Sets focus on either link or button element.
290
+ */
250
291
  onFocus() {
251
292
  if (this.subMenuItemLink) {
252
293
  this.subMenuItemLink.onFocus();
@@ -264,6 +305,9 @@ class EclMegaMenuSubitemComponent extends ECLBaseDirective {
264
305
  getMegaMenuSubItemHeight() {
265
306
  return this.el.nativeElement.getBoundingClientRect().height;
266
307
  }
308
+ /**
309
+ * Show or hide the subitems.
310
+ */
267
311
  onButtonClick() {
268
312
  this.isCurrent = !this.isCurrent;
269
313
  this.isExpanded = !this.isExpanded;
@@ -275,6 +319,9 @@ class EclMegaMenuSubitemComponent extends ECLBaseDirective {
275
319
  }
276
320
  this.megaMenuSubItemClicked.emit();
277
321
  }
322
+ /**
323
+ * If link is clicked -> emit event and close all opened menus and submenus.
324
+ */
278
325
  onLinkClick() {
279
326
  this.eclMegaMenuDataService.eclSubItemClick(this);
280
327
  this.megaMenuSubItemClicked.emit();
@@ -380,6 +427,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
380
427
  args: ['style.display']
381
428
  }] } });
382
429
 
430
+ /**
431
+ * Directive that adds specific class to the mega-menu list.
432
+ */
383
433
  class EclMegaMenuListDirective extends ECLBaseDirective {
384
434
  constructor() {
385
435
  super(...arguments);
@@ -398,6 +448,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
398
448
  type: HostBinding,
399
449
  args: ['class.ecl-mega-menu__list']
400
450
  }] } });
451
+ /**
452
+ * Directive that adds specific class to the mega-menu spacer.
453
+ */
401
454
  class EclMegaMenuSpacerDirective extends ECLBaseDirective {
402
455
  constructor() {
403
456
  super(...arguments);
@@ -416,6 +469,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
416
469
  type: HostBinding,
417
470
  args: ['class.ecl-mega-menu__spacer']
418
471
  }] } });
472
+ /**
473
+ * Directive that adds specific classes and functionality to the mega-menu sublist.
474
+ */
419
475
  class EclMegaMenuSublistDirective extends ECLBaseDirective {
420
476
  constructor(el, cdkBreakpointObserver, differs) {
421
477
  super();
@@ -433,6 +489,7 @@ class EclMegaMenuSublistDirective extends ECLBaseDirective {
433
489
  });
434
490
  }
435
491
  ngDoCheck() {
492
+ // When a new item is added -> subscribe to item's events.
436
493
  const diff = this.differ.diff(this.submenuItems);
437
494
  if (diff) {
438
495
  diff.forEachItem((item) => {
@@ -444,8 +501,13 @@ class EclMegaMenuSublistDirective extends ECLBaseDirective {
444
501
  this.destroy$.next(true);
445
502
  this.destroy$.unsubscribe();
446
503
  }
504
+ /**
505
+ * When parent mega-menu item is clicked.
506
+ * @param isExpanded - 'true', if parent item is expanded, 'false' if item is collapsed.
507
+ */
447
508
  onParentMegaMenuItemClick(isExpanded) {
448
509
  if (isExpanded) {
510
+ // If mega-menu item is expanded -> find the first mega-menu list child (i.e. sub item) and expand it's children.
449
511
  if (!this.isMobileBreakpoint) {
450
512
  const itemWithChildren = this.submenuItems.find(item => item.hasChildren);
451
513
  itemWithChildren?.onSubMenuItemExpand();
@@ -543,7 +605,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
543
605
  args: [forwardRef(() => EclMegaMenuSubitemComponent)]
544
606
  }] } });
545
607
 
608
+ /**
609
+ * Component for displaying some custom information for the current menu item.
610
+ */
546
611
  class EclMegaMenuInfoComponent extends ECLBaseDirective {
612
+ /**
613
+ * Applies custom styles for info component.
614
+ */
547
615
  get cssClasses() {
548
616
  return [
549
617
  super.getCssClasses('ecl-mega-menu__info'),
@@ -556,18 +624,33 @@ class EclMegaMenuInfoComponent extends ECLBaseDirective {
556
624
  super();
557
625
  this.el = el;
558
626
  this.eclMegaMenuDataService = eclMegaMenuDataService;
627
+ /**
628
+ * Sets the height of the component.
629
+ */
559
630
  this.eclMegaMenuInfoStyleHeight = null;
631
+ /**
632
+ * Sets the opacity of the component.
633
+ */
560
634
  this.eclMegaMenuInfoStyleOpacity = null;
561
635
  }
562
636
  ngAfterViewInit() {
637
+ // Sets class of the sub link, if any.
563
638
  if (this.linkItem) {
564
639
  setTimeout(() => this.linkItem.class = 'ecl-mega-menu__info-link');
565
640
  }
641
+ // Emits the bottom value of the element. Needed to calculate the size of the sublist. (for the same parent menu item)
566
642
  this.publishSize();
567
643
  }
644
+ /**
645
+ * Used to calculate the height of the parent element.
646
+ * @returns the height of the component.
647
+ */
568
648
  getInfoPanelScrollHeight() {
569
649
  return this.el.nativeElement.scrollHeight;
570
650
  }
651
+ /**
652
+ * Used to calulate the size of the info panel.
653
+ */
571
654
  publishSize() {
572
655
  const bottomY = this.el.nativeElement.getBoundingClientRect().bottom;
573
656
  this.eclMegaMenuDataService.updateEclMegaMenuInfoSize(bottomY);
@@ -594,7 +677,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
594
677
  args: [forwardRef(() => EclLinkDirective)]
595
678
  }] } });
596
679
 
680
+ /**
681
+ * This component represents a mega menu item. Adds functionality and styling, according to ECL standards.
682
+ */
597
683
  class EclMegaMenuItemComponent extends ECLBaseDirective {
684
+ /**
685
+ * Returns current menu item classes, depending on item's state (it's properties' values).
686
+ */
598
687
  get cssClasses() {
599
688
  return [
600
689
  super.getCssClasses('ecl-mega-menu__item'),
@@ -656,6 +745,9 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
656
745
  get hasContainer() {
657
746
  return !!this.eclMegaMenuContainer;
658
747
  }
748
+ /**
749
+ * Set the focus on the sub element - link or button.
750
+ */
659
751
  onFocus() {
660
752
  if (this.menuLink) {
661
753
  this.menuLink.onFocus();
@@ -664,6 +756,9 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
664
756
  this.menuBtn.onFocus();
665
757
  }
666
758
  }
759
+ /**
760
+ * On resize - calculate the size of the dropdown and wrapper (if item is expanded).
761
+ */
667
762
  onResize() {
668
763
  setTimeout(() => {
669
764
  if (this.isExpanded) {
@@ -672,6 +767,9 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
672
767
  }
673
768
  });
674
769
  }
770
+ /**
771
+ * Manage styling and functionality for children and siblings, when item is clicked.
772
+ */
675
773
  onMegaMenuItemClick() {
676
774
  if (this.hasChildren) {
677
775
  this.isCurrent = !this.isCurrent;
@@ -695,6 +793,9 @@ class EclMegaMenuItemComponent extends ECLBaseDirective {
695
793
  }
696
794
  this.megaMenuItemClicked.emit();
697
795
  }
796
+ /**
797
+ * Manage styling and functionality when item is collapsed.
798
+ */
698
799
  onMegaMenuItemCollapse() {
699
800
  this.isCurrent = false;
700
801
  this.isExpanded = false;
@@ -896,6 +997,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
896
997
  args: ['window:resize']
897
998
  }] } });
898
999
 
1000
+ /**
1001
+ * The 'eclMegaMenu' is an advanced navigation component designed for complex sites with deep hierarchies.
1002
+ * It can provide descriptive text for first level items, accommodate up to three levels of navigation,
1003
+ * and additionally allows a featured column that can be used to either promote parent-page specific or site-wide pages,
1004
+ * hidden deep into the lower levels of the hierarchy.
1005
+ */
899
1006
  class EclMegaMenuComponent extends ECLBaseDirective {
900
1007
  get cssClasses() {
901
1008
  return [
@@ -918,13 +1025,37 @@ class EclMegaMenuComponent extends ECLBaseDirective {
918
1025
  this.el = el;
919
1026
  this.renderer = renderer;
920
1027
  this.isExpanded = false;
1028
+ /**
1029
+ * The 'role' attribute of the component is set to 'navigation'. should not be changed.
1030
+ */
921
1031
  this.role = 'navigation';
1032
+ /**
1033
+ * The event that is emitted, when a menu item is selected.
1034
+ */
922
1035
  this.megaMenuItemSelect = new EventEmitter();
1036
+ /**
1037
+ * If the menu is in mobile mode.
1038
+ */
923
1039
  this.isMobileBreakpoint = false;
1040
+ /**
1041
+ * If the menu is expanded in mobile mode.
1042
+ */
924
1043
  this.isMobileExpanded = false;
1044
+ /**
1045
+ * When a menu item is expanded and has only one panel (one sub-level).
1046
+ */
925
1047
  this.isOnePanel = false;
926
- this.isOpenMobile = false; //used for mobile only
1048
+ /**
1049
+ * If the menu is open, when in mobile mode.
1050
+ */
1051
+ this.isOpenMobile = false; // used for mobile only
1052
+ /**
1053
+ * Used in mobile mode - when the start panel is open (i.e. the hamburger button is clicked).
1054
+ */
927
1055
  this.isStartPanel = false;
1056
+ /**
1057
+ * If a menu item is expanded and has two panels/levels displayed.
1058
+ */
928
1059
  this.isTwoPanels = false;
929
1060
  this.destroy$ = new Subject();
930
1061
  this.isRtl = false;
@@ -938,6 +1069,7 @@ class EclMegaMenuComponent extends ECLBaseDirective {
938
1069
  });
939
1070
  }
940
1071
  ngDoCheck() {
1072
+ // For each added menu item - subscribe to item events.
941
1073
  const diff = this.differ.diff(this.menuItems);
942
1074
  if (diff) {
943
1075
  diff.forEachItem((item) => {
@@ -949,6 +1081,9 @@ class EclMegaMenuComponent extends ECLBaseDirective {
949
1081
  this.destroy$.next(true);
950
1082
  this.destroy$.unsubscribe();
951
1083
  }
1084
+ /**
1085
+ * When clicking outside the menu - close any expanded item.
1086
+ */
952
1087
  onClickOutsideMegaMenu() {
953
1088
  if (this.isExpanded) {
954
1089
  this.closeMenuAndAnyOpenSubMenu();
@@ -984,6 +1119,9 @@ class EclMegaMenuComponent extends ECLBaseDirective {
984
1119
  }
985
1120
  this.isOpenMobile = false;
986
1121
  }
1122
+ /**
1123
+ * Used for mobile menu - when user clicks on 'Back' button. Returns to the previous state.
1124
+ */
987
1125
  onMegaMenuBack() {
988
1126
  if (this.isOnePanel) {
989
1127
  this.onMegaMenuBackToStartPanel();