@eui/ecl 19.1.0-snapshot-1740051612326 → 19.1.0-snapshot-1740147515499

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 (145) hide show
  1. package/components/ecl-button/ecl-button-label.directive.d.ts +10 -0
  2. package/components/ecl-button/ecl-button-label.directive.d.ts.map +1 -1
  3. package/components/ecl-button/ecl-button.component.d.ts +4 -1
  4. package/components/ecl-button/ecl-button.component.d.ts.map +1 -1
  5. package/components/ecl-button/ecl-button.module.d.ts +1 -1
  6. package/components/ecl-inpage-navigation/ecl-inpage-navigation.component.d.ts.map +1 -1
  7. package/components/ecl-link/ecl-link-label.directive.d.ts +10 -0
  8. package/components/ecl-link/ecl-link-label.directive.d.ts.map +1 -1
  9. package/components/ecl-link/ecl-link.module.d.ts +1 -1
  10. package/components/ecl-navigation-list/ecl-navigation-list-item.component.d.ts +1 -1
  11. package/components/ecl-navigation-list/ecl-navigation-list-item.component.d.ts.map +1 -1
  12. package/docs/components/EclAccordionComponent.html +1 -1
  13. package/docs/components/EclAccordionItemComponent.html +1 -1
  14. package/docs/components/EclAppComponent.html +1 -1
  15. package/docs/components/EclBannerComponent.html +1 -1
  16. package/docs/components/EclBlockquoteComponent.html +1 -1
  17. package/docs/components/EclBreadcrumbComponent.html +1 -1
  18. package/docs/components/EclBreadcrumbSegmentComponent.html +1 -1
  19. package/docs/components/EclButtonComponent.html +57 -2
  20. package/docs/components/EclCardBodyComponent.html +1 -1
  21. package/docs/components/EclCardComponent.html +1 -1
  22. package/docs/components/EclCarouselComponent.html +1 -1
  23. package/docs/components/EclCarouselItemComponent.html +1 -1
  24. package/docs/components/EclCategoryFilterComponent.html +1 -1
  25. package/docs/components/EclCategoryFilterItemComponent.html +2 -2
  26. package/docs/components/EclCategoryFilterListComponent.html +1 -1
  27. package/docs/components/EclCheckboxHelpComponent.html +1 -1
  28. package/docs/components/EclCheckboxLabelComponent.html +1 -1
  29. package/docs/components/EclContentBlockComponent.html +1 -1
  30. package/docs/components/EclContentItemComponent.html +1 -1
  31. package/docs/components/EclDateBlockComponent.html +1 -1
  32. package/docs/components/EclDescriptionListDefinitionComponent.html +1 -1
  33. package/docs/components/EclExpandableComponent.html +1 -1
  34. package/docs/components/EclFactFiguresComponent.html +1 -1
  35. package/docs/components/EclFactFiguresDescriptionComponent.html +1 -1
  36. package/docs/components/EclFactFiguresItemComponent.html +1 -1
  37. package/docs/components/EclFactFiguresTitleComponent.html +1 -1
  38. package/docs/components/EclFactFiguresValueComponent.html +1 -1
  39. package/docs/components/EclFactFiguresViewAllComponent.html +1 -1
  40. package/docs/components/EclFeaturedComponent.html +1 -1
  41. package/docs/components/EclFeaturedItemComponent.html +1 -1
  42. package/docs/components/EclFeaturedItemDescriptionComponent.html +1 -1
  43. package/docs/components/EclFeaturedItemFooterComponent.html +1 -1
  44. package/docs/components/EclFileComponent.html +1 -1
  45. package/docs/components/EclFileItemComponent.html +1 -1
  46. package/docs/components/EclFileItemsComponent.html +1 -1
  47. package/docs/components/EclFileTaxonomyComponent.html +1 -1
  48. package/docs/components/EclFormGroupComponent.html +1 -1
  49. package/docs/components/EclFormLabelComponent.html +1 -1
  50. package/docs/components/EclGalleryComponent.html +1 -1
  51. package/docs/components/EclGalleryFooterComponent.html +1 -1
  52. package/docs/components/EclGalleryItemComponent.html +1 -1
  53. package/docs/components/EclIconComponent.html +1 -1
  54. package/docs/components/EclInpageNavigationComponent.html +1 -1
  55. package/docs/components/EclInpageNavigationItemComponent.html +1 -1
  56. package/docs/components/EclListIllustrationComponent.html +1 -1
  57. package/docs/components/EclListIllustrationItemComponent.html +1 -1
  58. package/docs/components/EclLoadingIndicatorComponent.html +1 -1
  59. package/docs/components/EclMediaContainerComponent.html +1 -1
  60. package/docs/components/EclMegaMenuComponent.html +1 -1
  61. package/docs/components/EclMegaMenuFeaturedComponent.html +1 -1
  62. package/docs/components/EclMegaMenuInfoComponent.html +1 -1
  63. package/docs/components/EclMegaMenuItemComponent.html +1 -1
  64. package/docs/components/EclMegaMenuSubitemComponent.html +1 -1
  65. package/docs/components/EclMenuComponent.html +1 -1
  66. package/docs/components/EclMenuItemComponent.html +1 -1
  67. package/docs/components/EclMenuMegaComponent.html +1 -1
  68. package/docs/components/EclMenuMegaItemComponent.html +1 -1
  69. package/docs/components/EclModalBodyComponent.html +1 -1
  70. package/docs/components/EclModalComponent.html +1 -1
  71. package/docs/components/EclModalFooterComponent.html +1 -1
  72. package/docs/components/EclModalHeaderComponent.html +1 -1
  73. package/docs/components/EclMultiselectComponent.html +1 -1
  74. package/docs/components/EclMultiselectDropdownComponent.html +1 -1
  75. package/docs/components/EclMultiselectInputComponent.html +1 -1
  76. package/docs/components/EclMultiselectOptgroupComponent.html +1 -1
  77. package/docs/components/EclMultiselectOptionComponent.html +1 -1
  78. package/docs/components/EclNavigationListComponent.html +1 -1
  79. package/docs/components/EclNavigationListItemComponent.html +2 -2
  80. package/docs/components/EclNewsTickerComponent.html +1 -1
  81. package/docs/components/EclNewsTickerItemComponent.html +1 -1
  82. package/docs/components/EclNotificationComponent.html +1 -1
  83. package/docs/components/EclPageHeaderComponent.html +1 -1
  84. package/docs/components/EclPaginationComponent.html +1 -1
  85. package/docs/components/EclPaginationItemComponent.html +1 -1
  86. package/docs/components/EclPopoverComponent.html +1 -1
  87. package/docs/components/EclRadioHelpComponent.html +1 -1
  88. package/docs/components/EclRadioLabelComponent.html +1 -1
  89. package/docs/components/EclRangeBubbleComponent.html +1 -1
  90. package/docs/components/EclRangeValueComponent.html +1 -1
  91. package/docs/components/EclRatingFieldComponent.html +1 -1
  92. package/docs/components/EclSearchFormComponent.html +1 -1
  93. package/docs/components/EclSelectContainerComponent.html +1 -1
  94. package/docs/components/EclSiteFooterComponent.html +1 -1
  95. package/docs/components/EclSiteFooterFixedContentECComponent.html +1 -1
  96. package/docs/components/EclSiteFooterFixedContentEUComponent.html +1 -1
  97. package/docs/components/EclSiteHeaderActionComponent.html +1 -1
  98. package/docs/components/EclSiteHeaderBannerTopComponent.html +1 -1
  99. package/docs/components/EclSiteHeaderComponent.html +1 -1
  100. package/docs/components/EclSiteHeaderEnvironmentComponent.html +1 -1
  101. package/docs/components/EclSiteHeaderLanguageComponent.html +1 -1
  102. package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +1 -1
  103. package/docs/components/EclSiteHeaderLoginComponent.html +1 -1
  104. package/docs/components/EclSiteHeaderNotificationComponent.html +1 -1
  105. package/docs/components/EclSiteHeaderSearchComponent.html +1 -1
  106. package/docs/components/EclSocialMediaFollowComponent.html +1 -1
  107. package/docs/components/EclSocialMediaFollowItemComponent.html +1 -1
  108. package/docs/components/EclSocialMediaShareComponent.html +1 -1
  109. package/docs/components/EclSocialMediaShareItemComponent.html +1 -1
  110. package/docs/components/EclSplashPageComponent.html +1 -1
  111. package/docs/components/EclSplashPageLanguageCategoryComponent.html +1 -1
  112. package/docs/components/EclSplashPageLanguageContainerComponent.html +1 -1
  113. package/docs/components/EclSplashPageLanguageLinkComponent.html +1 -1
  114. package/docs/components/EclStickyContainerComponent.html +1 -1
  115. package/docs/components/EclTabComponent.html +1 -1
  116. package/docs/components/EclTabLabelComponent.html +1 -1
  117. package/docs/components/EclTabMoreComponent.html +1 -1
  118. package/docs/components/EclTableSortButtonComponent.html +1 -1
  119. package/docs/components/EclTabsComponent.html +1 -1
  120. package/docs/components/EclTagComponent.html +1 -1
  121. package/docs/components/EclTimelineComponent.html +1 -1
  122. package/docs/components/EclTimelineItemComponent.html +1 -1
  123. package/docs/components/EclTimelineItemTogglerComponent.html +1 -1
  124. package/docs/dependencies.html +2 -2
  125. package/docs/directives/EclButtonIconContainerDirective.html +341 -0
  126. package/docs/directives/EclIndicatorDirective-1.html +341 -0
  127. package/docs/directives/EclIndicatorDirective.html +341 -0
  128. package/docs/directives/EclLinkIconContainerDirective.html +341 -0
  129. package/docs/index.html +1 -1
  130. package/docs/js/menu-wc.js +21 -9
  131. package/docs/js/menu-wc_es5.js +1 -1
  132. package/docs/js/search/search_index.js +2 -2
  133. package/docs/modules/EclButtonModule.html +12 -0
  134. package/docs/modules/EclLinkModule.html +9 -0
  135. package/fesm2022/eui-ecl-components-ecl-button.mjs +65 -25
  136. package/fesm2022/eui-ecl-components-ecl-button.mjs.map +1 -1
  137. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +2 -2
  138. package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
  139. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +5 -1
  140. package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
  141. package/fesm2022/eui-ecl-components-ecl-link.mjs +38 -4
  142. package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
  143. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +4 -4
  144. package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
  145. package/package.json +1 -1
@@ -123,9 +123,15 @@
123
123
  <li class="list-group-item">
124
124
  <a href="../components/EclButtonComponent.html">EclButtonComponent</a>
125
125
  </li>
126
+ <li class="list-group-item">
127
+ <a href="../directives/EclButtonIconContainerDirective.html">EclButtonIconContainerDirective</a>
128
+ </li>
126
129
  <li class="list-group-item">
127
130
  <a href="../directives/EclButtonLabelDirective.html">EclButtonLabelDirective</a>
128
131
  </li>
132
+ <li class="list-group-item">
133
+ <a href="../directives/EclIndicatorDirective.html">EclIndicatorDirective</a>
134
+ </li>
129
135
  </ul>
130
136
  </div>
131
137
  <div class="col-sm-3">
@@ -146,9 +152,15 @@
146
152
  <li class="list-group-item">
147
153
  <a href="../components/EclButtonComponent.html">EclButtonComponent</a>
148
154
  </li>
155
+ <li class="list-group-item">
156
+ <a href="../directives/EclButtonIconContainerDirective.html">EclButtonIconContainerDirective</a>
157
+ </li>
149
158
  <li class="list-group-item">
150
159
  <a href="../directives/EclButtonLabelDirective.html">EclButtonLabelDirective</a>
151
160
  </li>
161
+ <li class="list-group-item">
162
+ <a href="../directives/EclIndicatorDirective.html">EclIndicatorDirective</a>
163
+ </li>
152
164
  </ul>
153
165
  </div>
154
166
  </div>
@@ -120,9 +120,15 @@
120
120
  <h3>Declarations<a href="https://angular.io/api/core/NgModule#declarations" target="_blank" rel="noopener noreferrer"
121
121
  title="Official documentation about module declarations"><span class="icon ion-ios-information-circle-outline"></span></a></h3>
122
122
  <ul class="list-group">
123
+ <li class="list-group-item">
124
+ <a href="../directives/EclIndicatorDirective.html">EclIndicatorDirective</a>
125
+ </li>
123
126
  <li class="list-group-item">
124
127
  <a href="../directives/EclLinkDirective.html">EclLinkDirective</a>
125
128
  </li>
129
+ <li class="list-group-item">
130
+ <a href="../directives/EclLinkIconContainerDirective.html">EclLinkIconContainerDirective</a>
131
+ </li>
126
132
  <li class="list-group-item">
127
133
  <a href="../directives/EclLinkLabelDirective.html">EclLinkLabelDirective</a>
128
134
  </li>
@@ -136,6 +142,9 @@
136
142
  <li class="list-group-item">
137
143
  <a href="../directives/EclLinkDirective.html">EclLinkDirective</a>
138
144
  </li>
145
+ <li class="list-group-item">
146
+ <a href="../directives/EclLinkIconContainerDirective.html">EclLinkIconContainerDirective</a>
147
+ </li>
139
148
  <li class="list-group-item">
140
149
  <a href="../directives/EclLinkLabelDirective.html">EclLinkLabelDirective</a>
141
150
  </li>
@@ -1,10 +1,62 @@
1
1
  import * as i0 from '@angular/core';
2
- import { booleanAttribute, HostBinding, forwardRef, ContentChildren, Input, Component, Directive, NgModule } from '@angular/core';
2
+ import { HostBinding, Directive, booleanAttribute, forwardRef, ContentChild, ContentChildren, Input, Component, NgModule } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import { EclIconComponent, EclIconModule } from '@eui/ecl/components/ecl-icon';
6
6
  import { ECLBaseDirective } from '@eui/ecl/core';
7
7
 
8
+ class EclButtonLabelDirective extends ECLBaseDirective {
9
+ get cssClasses() {
10
+ return [super.getCssClasses('ecl-button__label')].join(' ').trim();
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonLabelDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.7", type: EclButtonLabelDirective, isStandalone: false, selector: "[eclButtonLabel]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonLabelDirective, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ selector: '[eclButtonLabel]',
19
+ standalone: false,
20
+ }]
21
+ }], propDecorators: { cssClasses: [{
22
+ type: HostBinding,
23
+ args: ['class']
24
+ }] } });
25
+ class EclIndicatorDirective {
26
+ constructor() {
27
+ this.hasClass = true;
28
+ }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclIndicatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.7", type: EclIndicatorDirective, isStandalone: false, selector: "[eclIndicator]", host: { properties: { "class.ecl-indicator": "this.hasClass" } }, ngImport: i0 }); }
31
+ }
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclIndicatorDirective, decorators: [{
33
+ type: Directive,
34
+ args: [{
35
+ selector: '[eclIndicator]',
36
+ standalone: false,
37
+ }]
38
+ }], propDecorators: { hasClass: [{
39
+ type: HostBinding,
40
+ args: ['class.ecl-indicator']
41
+ }] } });
42
+ class EclButtonIconContainerDirective {
43
+ constructor() {
44
+ this.hasClass = true;
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonIconContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
47
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.7", type: EclButtonIconContainerDirective, isStandalone: false, selector: "[eclButtonIconContainer]", host: { properties: { "class.ecl-button__icon-container": "this.hasClass" } }, ngImport: i0 }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonIconContainerDirective, decorators: [{
50
+ type: Directive,
51
+ args: [{
52
+ selector: '[eclButtonIconContainer]',
53
+ standalone: false,
54
+ }]
55
+ }], propDecorators: { hasClass: [{
56
+ type: HostBinding,
57
+ args: ['class.ecl-button__icon-container']
58
+ }] } });
59
+
8
60
  class EclButtonComponent extends ECLBaseDirective {
9
61
  get cssClasses() {
10
62
  return [super.getCssClasses('ecl-button'), `ecl-button--${this.variant}`,
@@ -13,6 +65,9 @@ class EclButtonComponent extends ECLBaseDirective {
13
65
  get hasIcon() {
14
66
  return this.iconComponents.length > 0;
15
67
  }
68
+ get hasIndicator() {
69
+ return !!this.indicator;
70
+ }
16
71
  constructor(el) {
17
72
  super();
18
73
  this.el = el;
@@ -32,11 +87,11 @@ class EclButtonComponent extends ECLBaseDirective {
32
87
  this.el.nativeElement.focus();
33
88
  }
34
89
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: EclButtonComponent, isStandalone: false, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: { isIconOnly: ["isIconOnly", "isIconOnly", booleanAttribute], variant: "variant", containerStyleClass: "containerStyleClass" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "iconComponents", predicate: i0.forwardRef(() => EclIconComponent) }], usesInheritance: true, ngImport: i0, template: "@if (hasIcon) {\n <span class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n}\n@else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
90
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: EclButtonComponent, isStandalone: false, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: { isIconOnly: ["isIconOnly", "isIconOnly", booleanAttribute], variant: "variant", containerStyleClass: "containerStyleClass" }, host: { properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "indicator", first: true, predicate: i0.forwardRef(() => EclIndicatorDirective), descendants: true }, { propertyName: "iconComponents", predicate: i0.forwardRef(() => EclIconComponent) }], usesInheritance: true, ngImport: i0, template: "@if (hasIcon) {\n<span class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n}\n@else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>", dependencies: [{ kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
36
91
  }
37
92
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonComponent, decorators: [{
38
93
  type: Component,
39
- args: [{ selector: 'button[eclButton], button[ecl-button], a[eclButton]', standalone: false, template: "@if (hasIcon) {\n <span class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n}\n@else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
94
+ args: [{ selector: 'button[eclButton], button[ecl-button], a[eclButton]', standalone: false, template: "@if (hasIcon) {\n<span class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n}\n@else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>" }]
40
95
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { isIconOnly: [{
41
96
  type: Input,
42
97
  args: [{ transform: booleanAttribute }]
@@ -47,40 +102,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
47
102
  }], iconComponents: [{
48
103
  type: ContentChildren,
49
104
  args: [forwardRef(() => EclIconComponent)]
105
+ }], indicator: [{
106
+ type: ContentChild,
107
+ args: [forwardRef(() => EclIndicatorDirective)]
50
108
  }], cssClasses: [{
51
109
  type: HostBinding,
52
110
  args: ['class']
53
111
  }] } });
54
112
 
55
- class EclButtonLabelDirective extends ECLBaseDirective {
56
- get cssClasses() {
57
- return [super.getCssClasses('ecl-button__label')].join(' ').trim();
58
- }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonLabelDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
60
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.7", type: EclButtonLabelDirective, isStandalone: false, selector: "[eclButtonLabel]", host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0 }); }
61
- }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonLabelDirective, decorators: [{
63
- type: Directive,
64
- args: [{
65
- selector: '[eclButtonLabel]',
66
- standalone: false,
67
- }]
68
- }], propDecorators: { cssClasses: [{
69
- type: HostBinding,
70
- args: ['class']
71
- }] } });
72
-
73
113
  class EclButtonModule {
74
114
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
75
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.7", ngImport: i0, type: EclButtonModule, declarations: [EclButtonComponent, EclButtonLabelDirective], imports: [CommonModule, EclIconModule], exports: [EclButtonComponent, EclButtonLabelDirective] }); }
115
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.7", ngImport: i0, type: EclButtonModule, declarations: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective], imports: [CommonModule, EclIconModule], exports: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective] }); }
76
116
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonModule, imports: [CommonModule, EclIconModule] }); }
77
117
  }
78
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclButtonModule, decorators: [{
79
119
  type: NgModule,
80
120
  args: [{
81
121
  imports: [CommonModule, EclIconModule],
82
- exports: [EclButtonComponent, EclButtonLabelDirective],
83
- declarations: [EclButtonComponent, EclButtonLabelDirective],
122
+ exports: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective],
123
+ declarations: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective],
84
124
  }]
85
125
  }] });
86
126
 
@@ -88,5 +128,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImpor
88
128
  * Generated bundle index. Do not edit.
89
129
  */
90
130
 
91
- export { EclButtonComponent, EclButtonLabelDirective, EclButtonModule };
131
+ export { EclButtonComponent, EclButtonIconContainerDirective, EclButtonLabelDirective, EclButtonModule, EclIndicatorDirective };
92
132
  //# sourceMappingURL=eui-ecl-components-ecl-button.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-button.mjs","sources":["../../components/ecl-button/ecl-button.component.ts","../../components/ecl-button/ecl-button.component.html","../../components/ecl-button/ecl-button-label.directive.ts","../../components/ecl-button/ecl-button.module.ts","../../components/ecl-button/eui-ecl-components-ecl-button.ts"],"sourcesContent":["import { booleanAttribute, Component, ContentChildren, ElementRef, forwardRef, HostBinding, Input, QueryList,\n AfterViewInit } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclButton], button[ecl-button], a[eclButton]',\n templateUrl: './ecl-button.component.html',\n standalone: false,\n})\nexport class EclButtonComponent extends ECLBaseDirective implements AfterViewInit {\n\n @Input({ transform: booleanAttribute }) isIconOnly = false;\n @Input() variant: 'primary' | 'secondary' | 'tertiary' | 'cta' | 'ghost' | 'ghost-inverted' = 'primary';\n @Input() containerStyleClass: string;\n\n @ContentChildren(forwardRef(() => EclIconComponent)) iconComponents: QueryList<EclIconComponent>;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button'), `ecl-button--${this.variant}`,\n this.isIconOnly ? 'ecl-button--icon-only' : ''].join(' ').trim();\n }\n\n get hasIcon(): boolean {\n return this.iconComponents.length > 0;\n }\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterViewInit(): void {\n if (this.iconComponents) {\n setTimeout(() => {\n this.iconComponents.forEach((icn) => {\n icn.baseDirective.class = 'ecl-button__icon';\n });\n });\n }\n }\n\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n}\n","@if (hasIcon) {\n <span class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n}\n@else {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclButtonLabel]',\n standalone: false,\n})\nexport class EclButtonLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button__label')].join(' ').trim();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclButtonComponent } from './ecl-button.component';\nimport { EclButtonLabelDirective } from './ecl-button-label.directive';\n\n@NgModule({\n imports: [CommonModule, EclIconModule],\n exports: [EclButtonComponent, EclButtonLabelDirective],\n declarations: [EclButtonComponent, EclButtonLabelDirective],\n})\nexport class EclButtonModule {}\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-button.mjs","sources":["../../components/ecl-button/ecl-button-label.directive.ts","../../components/ecl-button/ecl-button.component.ts","../../components/ecl-button/ecl-button.component.html","../../components/ecl-button/ecl-button.module.ts","../../components/ecl-button/eui-ecl-components-ecl-button.ts"],"sourcesContent":["import { Directive, HostBinding } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\n\n@Directive({\n selector: '[eclButtonLabel]',\n standalone: false,\n})\nexport class EclButtonLabelDirective extends ECLBaseDirective {\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button__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: '[eclButtonIconContainer]',\n standalone: false,\n})\nexport class EclButtonIconContainerDirective {\n @HostBinding('class.ecl-button__icon-container') hasClass = true;\n}\n","import { booleanAttribute, Component, ContentChildren, ElementRef, forwardRef, HostBinding, Input, QueryList,\n AfterViewInit, \n ContentChild } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclIconComponent } from '@eui/ecl/components/ecl-icon';\nimport { EclIndicatorDirective } from './ecl-button-label.directive';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'button[eclButton], button[ecl-button], a[eclButton]',\n templateUrl: './ecl-button.component.html',\n standalone: false,\n})\nexport class EclButtonComponent extends ECLBaseDirective implements AfterViewInit {\n\n @Input({ transform: booleanAttribute }) isIconOnly = false;\n @Input() variant: 'primary' | 'secondary' | 'tertiary' | 'cta' | 'ghost' | 'ghost-inverted' = 'primary';\n @Input() containerStyleClass: string;\n\n @ContentChildren(forwardRef(() => EclIconComponent)) iconComponents: QueryList<EclIconComponent>;\n @ContentChild(forwardRef(() => EclIndicatorDirective)) indicator: EclIndicatorDirective;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-button'), `ecl-button--${this.variant}`,\n this.isIconOnly ? 'ecl-button--icon-only' : ''].join(' ').trim();\n }\n\n get hasIcon(): boolean {\n return this.iconComponents.length > 0;\n }\n\n get hasIndicator(): boolean {\n return !!this.indicator;\n }\n\n constructor(public el: ElementRef) {\n super();\n }\n\n ngAfterViewInit(): void {\n if (this.iconComponents) {\n setTimeout(() => {\n this.iconComponents.forEach((icn) => {\n icn.baseDirective.class = 'ecl-button__icon';\n });\n });\n }\n }\n\n onFocus(): void {\n this.el.nativeElement.focus();\n }\n}\n","@if (hasIcon) {\n<span class=\"ecl-button__container {{ containerStyleClass }}\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</span>\n}\n@else {\n<ng-container *ngTemplateOutlet=\"content\"></ng-container>\n}\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclButtonComponent } from './ecl-button.component';\nimport { EclButtonIconContainerDirective, EclButtonLabelDirective, EclIndicatorDirective } from './ecl-button-label.directive';\n\n@NgModule({\n imports: [CommonModule, EclIconModule],\n exports: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective],\n declarations: [EclButtonComponent, EclButtonLabelDirective, EclIndicatorDirective, EclButtonIconContainerDirective],\n})\nexport class EclButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -72,11 +72,11 @@ class EclCategoryFilterItemComponent extends ECLBaseDirective {
72
72
  }
73
73
  }
74
74
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclCategoryFilterItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
75
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: EclCategoryFilterItemComponent, isStandalone: false, selector: "ecl-category-filter-item", inputs: { href: "href", id: "id" }, outputs: { itemSelect: "itemSelect" }, host: { properties: { "class.ecl-category-filter__list-item": "this.className", "attr.role": "this.role", "class.ecl-category-filter__list-item--open": "this.isAriaExpanded" } }, queries: [{ propertyName: "eclCategoryList", first: true, predicate: i0.forwardRef(() => EclCategoryFilterListComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
75
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.7", type: EclCategoryFilterItemComponent, isStandalone: false, selector: "ecl-category-filter-item", inputs: { href: "href", id: "id" }, outputs: { itemSelect: "itemSelect" }, host: { properties: { "class.ecl-category-filter__list-item": "this.className", "attr.role": "this.role", "class.ecl-category-filter__list-item--open": "this.isAriaExpanded" } }, queries: [{ propertyName: "eclCategoryList", first: true, predicate: i0.forwardRef(() => EclCategoryFilterListComponent), descendants: true }], usesInheritance: true, ngImport: i0, template: "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n @if(isRootItemWithChildren) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
76
76
  }
77
77
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.7", ngImport: i0, type: EclCategoryFilterItemComponent, decorators: [{
78
78
  type: Component,
79
- args: [{ selector: 'ecl-category-filter-item', standalone: false, template: "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
79
+ args: [{ selector: 'ecl-category-filter-item', standalone: false, template: "@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n @if(isRootItemWithChildren) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n" }]
80
80
  }], propDecorators: { href: [{
81
81
  type: Input
82
82
  }], id: [{
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-category-filter.mjs","sources":["../../components/ecl-category-filter/events/ecl-category-filter-item-select.event.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.html","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.html","../../components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.ts","../../components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.html","../../components/ecl-category-filter/ecl-category-filter.module.ts","../../components/ecl-category-filter/eui-ecl-components-ecl-category-filter.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\n\nexport class EclCategoryFilterItemSelectEvent extends EclBaseEvent {\n constructor(public item: EclCategoryFilterItem) {\n super();\n }\n}\n","import { Component, ContentChild, EventEmitter, forwardRef, HostBinding, Input, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list.component';\n\n@Component({\n selector: 'ecl-category-filter-item',\n templateUrl: './ecl-category-filter-item.component.html',\n standalone: false,\n})\nexport class EclCategoryFilterItemComponent extends ECLBaseDirective implements EclCategoryFilterItem {\n @Input() href: string;\n @Input() id: string;\n\n @Output() itemSelect = new EventEmitter<EclCategoryFilterItemSelectEvent>();\n\n @HostBinding('class.ecl-category-filter__list-item') className = true;\n @HostBinding('attr.role') role = 'listitem';\n @HostBinding('class.ecl-category-filter__list-item--open')\n get isAriaExpanded(): boolean {\n return this.hasChildren ? this.isExpanded : null;\n }\n\n isExpanded = false;\n isCurrent = false;\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n\n get level(): number {\n return this._level;\n }\n set level(value: number) {\n this._level = ++value;\n this.updateChildListLevel(this._level);\n }\n private _level: number;\n\n get levelClass(): string {\n return `ecl-category-filter__item--level-${this._level}`;\n }\n\n get hasChildren(): boolean {\n return this.eclCategoryList !== undefined;\n }\n\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryList.children;\n }\n\n get isRootItemWithChildren(): boolean {\n return this.hasChildren && this.isRootItem;\n }\n\n get isChildItemWithChildren(): boolean {\n return this.hasChildren && !this.isRootItem;\n }\n\n get isRootItem(): boolean {\n return this.level === 1;\n }\n\n onItemClick(evt: MouseEvent): void {\n this.toggleExpanded();\n this.isCurrent = true;\n this.itemSelect.next(new EclCategoryFilterItemSelectEvent(this));\n if (!this.href) {\n evt.preventDefault();\n }\n evt.stopPropagation();\n }\n\n private toggleExpanded(): void {\n this.isExpanded = !this.isExpanded;\n }\n\n private updateChildListLevel(value: number): void {\n if (this.eclCategoryList) {\n this.eclCategoryList.level = value;\n }\n }\n}\n","@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Component, ContentChildren, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-item.component';\n\n@Component({\n selector: 'ecl-category-filter-list',\n templateUrl: './ecl-category-filter-list.component.html',\n standalone: false,\n})\nexport class EclCategoryFilterListComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-category-filter__list') className = true;\n @HostBinding('attr.role') role = 'list';\n @HostBinding('attr.aria-controls') controls: string;\n\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent))\n eclCategoryFilterItems: QueryList<EclCategoryFilterItemComponent>;\n\n get level(): number {\n return this._level;\n }\n set level(value: number) {\n this._level = value;\n this.updateChildrenItemsLevel(value);\n }\n private _level: number;\n\n get hasChildren(): boolean {\n return this.eclCategoryFilterItems !== undefined && this.eclCategoryFilterItems.length > 0;\n }\n\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryFilterItems.toArray();\n }\n\n updateChildrenItemsLevel(value: number): void {\n if (this.eclCategoryFilterItems) {\n this.eclCategoryFilterItems.forEach((item) =>\n (item.level = value));\n }\n }\n}\n","<ng-content></ng-content>\n","import {\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostBinding,\n IterableDiffer,\n IterableDiffers,\n QueryList,\n Input,\n DoCheck,\n AfterContentInit,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterItemComponent } from '../ecl-category-filter-list';\nimport { EclCategoryFilterListComponent } from '../ecl-category-filter-list';\n\n@Component({\n selector: 'ecl-category-filter',\n templateUrl: './ecl-category-filter.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCategoryFilterComponent extends ECLBaseDirective implements DoCheck, AfterContentInit {\n @Input() currentItemId: string;\n\n @HostBinding('class.ecl-category-filter') className = true;\n @HostBinding('attr.role') role = 'navigation';\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'Category filter';\n\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent), { descendants: true })\n eclCategoryFilterItemsAll: QueryList<EclCategoryFilterItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclCategoryFilterItemComponent>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclCategoryFilterItemsAll);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectCategoryfilterItemEvents(item.item);\n });\n setTimeout(() => {\n this.eclCategoryList.updateChildrenItemsLevel(0);\n if (this.currentItemId !== undefined) {\n this.setPreselectedCurrentItem();\n }\n });\n }\n }\n\n ngAfterContentInit (): void {\n this.setId(this.eclCategoryList.eclCategoryFilterItems);\n\n }\n\n private setId(subList: QueryList<EclCategoryFilterItemComponent>): void {\n if (subList) {\n subList.forEach((item) => {\n if (!item.id) {\n item.id = crypto.randomUUID();\n }\n if(item.eclCategoryList) {\n item.eclCategoryList.controls = item.id;\n this.setId(item.eclCategoryList.eclCategoryFilterItems);\n }\n });\n }\n }\n\n private connectCategoryfilterItemEvents(item: EclCategoryFilterItemComponent): void {\n item.itemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemSelected(evt);\n });\n }\n\n private onItemSelected(evt: EclCategoryFilterItemSelectEvent): void {\n if (evt.item.isRootItem) {\n this.closeAllItemsButOne(evt.item);\n } else {\n this.deselectAllItemsButOne(evt.item);\n }\n }\n\n private setPreselectedCurrentItem(): void {\n const currItem = this.eclCategoryFilterItemsAll.toArray().find((item) => item.id === this.currentItemId);\n if(currItem) {\n currItem.isCurrent = true;\n if (currItem.hasChildren) {\n currItem.isExpanded = true;\n }\n this.expandParents(currItem);\n }\n }\n\n private expandParents(currItem: EclCategoryFilterItem): void {\n if (currItem.isRootItem) {\n return;\n } else {\n const parent = this.eclCategoryFilterItemsAll.find(\n (item) => item.hasChildren && item.children.find((child) => child.id === currItem.id) !== undefined,\n );\n parent.isExpanded = true;\n this.expandParents(parent);\n }\n }\n\n private closeAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isExpanded = false;\n it.isCurrent = false;\n });\n }\n\n private deselectAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isCurrent = false;\n });\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclCategoryFilterComponent } from './ecl-category-filter';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-list';\n\n@NgModule({\n imports: [EclIconModule, EclLinkModule, CommonModule, LayoutModule, TranslateModule],\n exports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n declarations: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n})\nexport class EclCategoryFilterModule {}\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-category-filter.mjs","sources":["../../components/ecl-category-filter/events/ecl-category-filter-item-select.event.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-item.component.html","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.ts","../../components/ecl-category-filter/ecl-category-filter-list/ecl-category-filter-list.component.html","../../components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.ts","../../components/ecl-category-filter/ecl-category-filter/ecl-category-filter.component.html","../../components/ecl-category-filter/ecl-category-filter.module.ts","../../components/ecl-category-filter/eui-ecl-components-ecl-category-filter.ts"],"sourcesContent":["import { EclBaseEvent } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\n\nexport class EclCategoryFilterItemSelectEvent extends EclBaseEvent {\n constructor(public item: EclCategoryFilterItem) {\n super();\n }\n}\n","import { Component, ContentChild, EventEmitter, forwardRef, HostBinding, Input, Output } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list.component';\n\n@Component({\n selector: 'ecl-category-filter-item',\n templateUrl: './ecl-category-filter-item.component.html',\n standalone: false,\n})\nexport class EclCategoryFilterItemComponent extends ECLBaseDirective implements EclCategoryFilterItem {\n @Input() href: string;\n @Input() id: string;\n\n @Output() itemSelect = new EventEmitter<EclCategoryFilterItemSelectEvent>();\n\n @HostBinding('class.ecl-category-filter__list-item') className = true;\n @HostBinding('attr.role') role = 'listitem';\n @HostBinding('class.ecl-category-filter__list-item--open')\n get isAriaExpanded(): boolean {\n return this.hasChildren ? this.isExpanded : null;\n }\n\n isExpanded = false;\n isCurrent = false;\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n\n get level(): number {\n return this._level;\n }\n set level(value: number) {\n this._level = ++value;\n this.updateChildListLevel(this._level);\n }\n private _level: number;\n\n get levelClass(): string {\n return `ecl-category-filter__item--level-${this._level}`;\n }\n\n get hasChildren(): boolean {\n return this.eclCategoryList !== undefined;\n }\n\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryList.children;\n }\n\n get isRootItemWithChildren(): boolean {\n return this.hasChildren && this.isRootItem;\n }\n\n get isChildItemWithChildren(): boolean {\n return this.hasChildren && !this.isRootItem;\n }\n\n get isRootItem(): boolean {\n return this.level === 1;\n }\n\n onItemClick(evt: MouseEvent): void {\n this.toggleExpanded();\n this.isCurrent = true;\n this.itemSelect.next(new EclCategoryFilterItemSelectEvent(this));\n if (!this.href) {\n evt.preventDefault();\n }\n evt.stopPropagation();\n }\n\n private toggleExpanded(): void {\n this.isExpanded = !this.isExpanded;\n }\n\n private updateChildListLevel(value: number): void {\n if (this.eclCategoryList) {\n this.eclCategoryList.level = value;\n }\n }\n}\n","@if (hasChildren) {\n <button\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [class.ecl-category-filter__item--current]=\"isCurrent\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n [attr.aria-expanded] = \"isExpanded\"\n [attr.aria-controls]=\"id\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n }\n @if(isRootItemWithChildren) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </button>\n} @else {\n <a\n [href]=\"href\"\n class=\"ecl-category-filter__item {{ levelClass }}\"\n [class.ecl-category-filter__item--has-children]=\"hasChildren\"\n [attr.aria-current]=\"isCurrent ? true : null\"\n (click)=\"onItemClick($event)\">\n @if(isChildItemWithChildren) {\n <ecl-icon icon=\"solid-arrow\" size=\"xs\" transform=\"rotate-90\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n @if(isRootItemWithChildren) {\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-180\" class=\"ecl-category-filter__item-icon\"> </ecl-icon>\n }\n </a>\n}\n<ng-content select=\"ecl-category-filter-list\"></ng-content>\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>\n","import { Component, ContentChildren, forwardRef, HostBinding, QueryList } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-item.component';\n\n@Component({\n selector: 'ecl-category-filter-list',\n templateUrl: './ecl-category-filter-list.component.html',\n standalone: false,\n})\nexport class EclCategoryFilterListComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-category-filter__list') className = true;\n @HostBinding('attr.role') role = 'list';\n @HostBinding('attr.aria-controls') controls: string;\n\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent))\n eclCategoryFilterItems: QueryList<EclCategoryFilterItemComponent>;\n\n get level(): number {\n return this._level;\n }\n set level(value: number) {\n this._level = value;\n this.updateChildrenItemsLevel(value);\n }\n private _level: number;\n\n get hasChildren(): boolean {\n return this.eclCategoryFilterItems !== undefined && this.eclCategoryFilterItems.length > 0;\n }\n\n get children(): EclCategoryFilterItemComponent[] {\n return this.eclCategoryFilterItems.toArray();\n }\n\n updateChildrenItemsLevel(value: number): void {\n if (this.eclCategoryFilterItems) {\n this.eclCategoryFilterItems.forEach((item) =>\n (item.level = value));\n }\n }\n}\n","<ng-content></ng-content>\n","import {\n Component,\n ContentChild,\n ContentChildren,\n forwardRef,\n HostBinding,\n IterableDiffer,\n IterableDiffers,\n QueryList,\n Input,\n DoCheck,\n AfterContentInit,\n} from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclCategoryFilterItem } from '../models/ecl-category-filter-item.model';\nimport { EclCategoryFilterItemSelectEvent } from '../events/ecl-category-filter-item-select.event';\nimport { EclCategoryFilterItemComponent } from '../ecl-category-filter-list';\nimport { EclCategoryFilterListComponent } from '../ecl-category-filter-list';\n\n@Component({\n selector: 'ecl-category-filter',\n templateUrl: './ecl-category-filter.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: block;\n }\n `,\n ],\n})\nexport class EclCategoryFilterComponent extends ECLBaseDirective implements DoCheck, AfterContentInit {\n @Input() currentItemId: string;\n\n @HostBinding('class.ecl-category-filter') className = true;\n @HostBinding('attr.role') role = 'navigation';\n @HostBinding('attr.aria-label') @Input('aria-label') ariaLabel: string | null = 'Category filter';\n\n @ContentChild(forwardRef(() => EclCategoryFilterListComponent)) eclCategoryList: EclCategoryFilterListComponent;\n @ContentChildren(forwardRef(() => EclCategoryFilterItemComponent), { descendants: true })\n eclCategoryFilterItemsAll: QueryList<EclCategoryFilterItemComponent>;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclCategoryFilterItemComponent>;\n\n constructor(private differs: IterableDiffers) {\n super();\n this.differ = this.differs.find([]).create();\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclCategoryFilterItemsAll);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectCategoryfilterItemEvents(item.item);\n });\n setTimeout(() => {\n this.eclCategoryList.updateChildrenItemsLevel(0);\n if (this.currentItemId !== undefined) {\n this.setPreselectedCurrentItem();\n }\n });\n }\n }\n\n ngAfterContentInit (): void {\n this.setId(this.eclCategoryList.eclCategoryFilterItems);\n\n }\n\n private setId(subList: QueryList<EclCategoryFilterItemComponent>): void {\n if (subList) {\n subList.forEach((item) => {\n if (!item.id) {\n item.id = crypto.randomUUID();\n }\n if(item.eclCategoryList) {\n item.eclCategoryList.controls = item.id;\n this.setId(item.eclCategoryList.eclCategoryFilterItems);\n }\n });\n }\n }\n\n private connectCategoryfilterItemEvents(item: EclCategoryFilterItemComponent): void {\n item.itemSelect.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemSelected(evt);\n });\n }\n\n private onItemSelected(evt: EclCategoryFilterItemSelectEvent): void {\n if (evt.item.isRootItem) {\n this.closeAllItemsButOne(evt.item);\n } else {\n this.deselectAllItemsButOne(evt.item);\n }\n }\n\n private setPreselectedCurrentItem(): void {\n const currItem = this.eclCategoryFilterItemsAll.toArray().find((item) => item.id === this.currentItemId);\n if(currItem) {\n currItem.isCurrent = true;\n if (currItem.hasChildren) {\n currItem.isExpanded = true;\n }\n this.expandParents(currItem);\n }\n }\n\n private expandParents(currItem: EclCategoryFilterItem): void {\n if (currItem.isRootItem) {\n return;\n } else {\n const parent = this.eclCategoryFilterItemsAll.find(\n (item) => item.hasChildren && item.children.find((child) => child.id === currItem.id) !== undefined,\n );\n parent.isExpanded = true;\n this.expandParents(parent);\n }\n }\n\n private closeAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isExpanded = false;\n it.isCurrent = false;\n });\n }\n\n private deselectAllItemsButOne(item: EclCategoryFilterItem): void {\n this.eclCategoryFilterItemsAll\n .filter((it) => it !== item)\n .forEach((it) => {\n it.isCurrent = false;\n });\n }\n}\n","<ng-content></ng-content>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { LayoutModule } from '@angular/cdk/layout';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclCategoryFilterComponent } from './ecl-category-filter';\nimport { EclCategoryFilterListComponent } from './ecl-category-filter-list';\nimport { EclCategoryFilterItemComponent } from './ecl-category-filter-list';\n\n@NgModule({\n imports: [EclIconModule, EclLinkModule, CommonModule, LayoutModule, TranslateModule],\n exports: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n declarations: [EclCategoryFilterComponent, EclCategoryFilterListComponent, EclCategoryFilterItemComponent],\n})\nexport class EclCategoryFilterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -320,9 +320,13 @@ class EclInpageNavigationComponent extends ECLBaseDirective {
320
320
  this.selectNavigationItem(item.sectionElement);
321
321
  if (item.sectionElement) {
322
322
  item.sectionElement.scrollIntoView();
323
+ if (item.sectionElement.tabIndex === -1) {
324
+ item.sectionElement.tabIndex = 0;
325
+ item.sectionElement.focus();
326
+ item.sectionElement.tabIndex = -1;
327
+ }
323
328
  }
324
329
  this.isButtonExpanded = false;
325
- item.sectionElement.focus();
326
330
  }
327
331
  onItemArrowDown(item) {
328
332
  const index = this.eclNavigationLinkItems.toArray().indexOf(item);
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-inpage-navigation.mjs","sources":["../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.html","../../components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.html","../../components/ecl-inpage-navigation/ecl-inpage-navigation.module.ts","../../components/ecl-inpage-navigation/eui-ecl-components-ecl-inpage-navigation.ts"],"sourcesContent":["import { Component, HostBinding, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\n\nexport class EclInpageNavigationItemClickEvent extends EclBaseEvent {\n constructor(public sectionElementId: string) {\n super();\n }\n}\n\n// TODO: ecl-inpage-navigation-item selector is deprecated and should be removed in v20\n@Component({\n selector: 'ecl-inpage-navigation-item, li[eclInpageNavigationItem]',\n templateUrl: './ecl-inpage-navigation-item.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclInpageNavigationItemComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-inpage-navigation__item') cmpClass = true;\n @HostBinding('attr.role') role = 'listitem';\n\n @Input() label: string;\n @Input() sectionId: string;\n @Input() @HostBinding('class.ecl-inpage-navigation__item--active') isActive: boolean;\n\n @Output() itemClick = new EventEmitter<EclInpageNavigationItemClickEvent>();\n @Output() itemArrowUp = new EventEmitter();\n @Output() itemArrowDown = new EventEmitter();\n @Output() itemTab = new EventEmitter<Event>();\n @Output() itemEnter = new EventEmitter();\n\n @ViewChild(EclLinkDirective) link: EclLinkDirective\n\n constructor(el: ElementRef) {\n super();\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-inpage-navigation-item') {\n console.warn('\"ecl-inpage-navigation-item\" selector is deprecated; use \"li[eclInpageNavigationItem]\" instead.');\n }\n }\n\n onItemClick(evt: MouseEvent): void {\n const event = new EclInpageNavigationItemClickEvent(this.sectionId);\n this.itemClick.next(event);\n\n evt.preventDefault();\n }\n\n get sectionElement(): HTMLElement {\n return document.querySelector(`#${this.sectionId}`);\n }\n\n onArrowUp(evt: Event): void {\n evt.preventDefault();\n this.itemArrowUp.emit()\n }\n\n onArrowDown(evt: Event): void {\n evt.preventDefault();\n this.itemArrowDown.emit();\n }\n\n onTab(evt: Event): void {\n this.itemTab.emit(evt);\n }\n\n onFocus(): void{\n this.link.onFocus();\n }\n\n onEnter(evt: Event): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.itemEnter.emit();\n }\n}\n","<a eclLink (click)=\"onItemClick($event)\" href=\"#\" class=\"ecl-inpage-navigation__link\"\n (keydown.arrowUp)=\"onArrowUp($event)\" (keydown.arrowDown)=\"onArrowDown($event)\" (keydown.enter)=\"onEnter($event)\"\n (keydown.tab)=\"onTab($event)\">\n {{ label }}\n</a>\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class EclInpageNavigationService {\n\n\tpublic eclInpageNavigationExpanded$: Observable<boolean>;\n\tprivate eclInpageNavigationExpanded: Subject<boolean> = new Subject<boolean>();\n\n\tconstructor() {\n this.eclInpageNavigationExpanded$ = this.eclInpageNavigationExpanded.asObservable();\n\t}\n\n eclInpageNavigationToggle(isExpanded: boolean): void {\n\t\tthis.eclInpageNavigationExpanded.next(isExpanded);\n\t}\n}\n","import { AfterContentInit, Directive, ElementRef, HostBinding, OnDestroy } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\n\n@Directive({\n selector: 'ul[eclInpageNavigationList]',\n standalone: false,\n\n})\nexport class EclInpageNavigationListDirective extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @HostBinding('class.ecl-inpage-navigation__list') hasClass = true;\n @HostBinding('class.ecl-inpage-navigation__list--visible') isVisible = false;\n @HostBinding('style.max-height.px') maxHeight = null;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private eclInpageNavigationService: EclInpageNavigationService, public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.eclInpageNavigationService.eclInpageNavigationExpanded$.pipe(takeUntil(this.destroy$)).subscribe((value: boolean) => {\n this.isVisible = value;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n","import {\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n IterableDiffer, IterableDiffers,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n afterNextRender,\n numberAttribute,\n} from '@angular/core';\nimport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclThemeService, EclRtlService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\n\nexport class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {\n constructor(public sectionId: string) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-inpage-navigation',\n templateUrl: './ecl-inpage-navigation.component.html',\n standalone: false,\n styles: [\n `\n @media (min-width: 996px) {\n .ecl-inpage-navigation__list {\n display: block !important;\n }\n }\n `,\n ],\n})\nexport class EclInpageNavigationComponent extends ECLBaseDirective implements OnInit, OnDestroy, DoCheck {\n @Input() eclTitle: string;\n @Input() marginTop: number;\n @Input() marginBottom: number;\n @Input({ transform: numberAttribute }) offsetTop: number;\n @ViewChild('togglerButton') togglerButton: ElementRef<HTMLButtonElement>;\n @ViewChild('toggleWrapper') toggleWrapper: ElementRef<HTMLDivElement>;\n /**\n * @deprecated To be removed in v20. Not needed, replaced by 'eclNavigationList'\n */\n @ViewChild('listContainer') listContainer: ElementRef<HTMLUListElement>;\n @ViewChild('navTittle') navTittle: ElementRef<HTMLDivElement>;\n @Output() sectionEnter = new EventEmitter<EclInpageNavigationSectionEnterEvent>();\n\n @ContentChildren(EclInpageNavigationItemComponent, { descendants: true }) eclNavigationLinkItems: QueryList<EclInpageNavigationItemComponent>;\n @ContentChild(EclInpageNavigationListDirective) eclNavigationList: EclInpageNavigationListDirective;\n\n isButtonExpanded = false;\n currentSectionElement: HTMLElement;\n public isRtl = false;\n public listMaxHeight: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclInpageNavigationItemComponent>;\n private isMobileBreakpoint = false;\n private MIN_DISTANCE_TOP = 10;\n private readonly ICON_SIZE_EC_THEME = 'xs';\n private readonly ICON_SIZE_EU_THEME = 's';\n private readonly TABLET_BREAKPOINT = 996;\n private intersectionObserver: IntersectionObserver;\n\n constructor(\n private eclRtlService: EclRtlService,\n public eclThemeService: EclThemeService,\n private differs: IterableDiffers,\n private scrollDispatcher: ScrollDispatcher,\n private zone: NgZone,\n private cdkBreakpointObserver: BreakpointObserver,\n private viewportRuler: ViewportRuler,\n private eclInpageNavigationService: EclInpageNavigationService,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n this.subscribeToCDKScrollEvent();\n this.observeBreakpointChanges();\n\n this.intersectionObserver = new IntersectionObserver(()=> {\n this.setListHeight();\n });\n this.intersectionObserver.observe(this.togglerButton.nativeElement);\n\n this.viewportRuler.change(300).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.zone.run(()=> {\n this.setListHeight();\n });\n });\n });\n }\n\n ngOnInit(): void {\n this.handleRtlChangeState();\n }\n\n get hasNavigationList(): boolean {\n return !!this.eclNavigationList;\n }\n\n get currentNavigationLinkItem(): EclInpageNavigationItemComponent {\n return this.eclNavigationLinkItems.find((item) => item.sectionElement === this.currentSectionElement);\n }\n\n get sizeIcon(): string {\n if (this.eclThemeService.isECTheme()) {\n return this.ICON_SIZE_EC_THEME;\n } else {\n return this.ICON_SIZE_EU_THEME;\n }\n }\n\n get hasActiveSection(): boolean {\n return !!this.currentSectionElement;\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclNavigationLinkItems);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectItemEvents(item.item);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.intersectionObserver.unobserve(this.togglerButton.nativeElement);\n }\n\n onExpandButtonClick(): void {\n this.isButtonExpanded = !this.isButtonExpanded;\n this.eclInpageNavigationService.eclInpageNavigationToggle(this.isButtonExpanded);\n }\n\n onExpandButtonKeydown(evt: Event): void {\n switch ((evt as KeyboardEvent).key) {\n case 'Tab':\n this.onExpandButtonTab(evt);\n break;\n case 'ArrowDown':\n this.onExpandButtonArrowDown(evt);\n break;\n default:\n break;\n }\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private setListHeight(): void {\n if (!this.listContainer && !this.eclNavigationList) {\n return;\n }\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let topPosition = 0;\n if (viewportWidth < this.TABLET_BREAKPOINT) {\n const toggleWrapper = this.toggleWrapper.nativeElement;\n if (toggleWrapper) {\n topPosition = toggleWrapper.getBoundingClientRect().bottom +\n parseFloat(window.getComputedStyle(toggleWrapper).marginBottom);\n }\n } else if (this.eclTitle) {\n topPosition = this.navTittle.nativeElement.getBoundingClientRect().bottom;\n } else {\n if (this.listContainer) {\n topPosition = this.listContainer.nativeElement.getBoundingClientRect().top;\n } else if (this.eclNavigationList) {\n topPosition = this.eclNavigationList.el.nativeElement.getBoundingClientRect().top;\n }\n }\n\n const availableSpace = viewportHeight - topPosition;\n if (availableSpace > 0) {\n this.listMaxHeight = availableSpace;\n if (this.eclNavigationList) {\n this.eclNavigationList.maxHeight = this.listMaxHeight;\n }\n }\n }\n\n private onExpandButtonArrowDown(evt: Event): void {\n evt.preventDefault();\n this.isButtonExpanded = true;\n this.eclNavigationLinkItems.get(0).onFocus();\n }\n\n private onExpandButtonTab(evt: Event): void {\n if ((evt as KeyboardEvent).shiftKey) {\n evt.preventDefault();\n this.eclNavigationLinkItems.get(this.eclNavigationLinkItems.length - 1).onFocus();\n }\n }\n\n private connectItemEvents(item: EclInpageNavigationItemComponent): void {\n item.itemArrowDown.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowDown(item);\n });\n\n item.itemArrowUp.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowUp(item);\n });\n\n item.itemTab.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemTab(item, evt);\n });\n\n item.itemEnter.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemEnter(item);\n });\n\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n }\n this.isButtonExpanded = false;\n });\n }\n\n private onItemEnter(item: EclInpageNavigationItemComponent): void {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n }\n this.isButtonExpanded = false;\n item.sectionElement.focus();\n }\n\n private onItemArrowDown(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== this.eclNavigationLinkItems.length - 1) {\n this.eclNavigationLinkItems.get(index + 1).onFocus();\n }\n }\n\n private onItemArrowUp(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== 0) {\n this.eclNavigationLinkItems.get(index - 1).onFocus();\n } else {\n if (this.isMobileBreakpoint && this.togglerButton) {\n this.isButtonExpanded = false;\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n\n private onItemTab(item: EclInpageNavigationItemComponent, evt: Event): void {\n if (this.isMobileBreakpoint) {\n if (!(evt as KeyboardEvent).shiftKey) {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index === this.eclNavigationLinkItems.length - 1) {\n evt.preventDefault();\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n }\n\n private subscribeToCDKScrollEvent(): void {\n this.scrollDispatcher.scrolled().pipe(takeUntil(this.destroy$)).subscribe((scrollable: CdkScrollable) => {\n this.zone.run(() => {\n const sectionElementIds = this.eclNavigationLinkItems.map((item) => item.sectionId);\n const sectionElements: Array<HTMLElement> = sectionElementIds.map((id) => document.querySelector(`#${id}`));\n this.handleNavigationLinksHighlight(sectionElements);\n this.setListHeight();\n });\n });\n }\n\n private selectNavigationItem(itemElement: HTMLElement): void {\n this.eclNavigationLinkItems.forEach((it) => {\n it.isActive = it.sectionElement === itemElement;\n });\n }\n\n private handleNavigationLinksHighlight(sectionElements: Array<HTMLElement>): void {\n const currentSectionElement: HTMLElement = this.findActiveSectionElement(sectionElements);\n if (currentSectionElement !== this.currentSectionElement) {\n this.currentSectionElement = currentSectionElement;\n this.selectNavigationItem(currentSectionElement);\n const sectionId = this.currentNavigationLinkItem ? this.currentNavigationLinkItem.sectionId : undefined;\n this.sectionEnter.next(new EclInpageNavigationSectionEnterEvent(sectionId));\n }\n }\n\n private findActiveSectionElement(sectionElements: Array<HTMLElement>): HTMLElement {\n let currentSection: HTMLElement;\n\n sectionElements.forEach((sectionElement) => {\n if (sectionElement && sectionElement.getBoundingClientRect().top <= this.MIN_DISTANCE_TOP + this.offsetTop) {\n currentSection = sectionElement;\n }\n });\n return currentSection;\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n}\n","<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"hasActiveSection\"\n [class.ecl-inpage-navigation--rtl]=\"isRtl\">\n <div #navTittle id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <div #toggleWrapper class=\"ecl-inpage-navigation__trigger-wrapper\">\n <button\n #togglerButton\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick()\"\n (keydown)=\"onExpandButtonKeydown($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"\n class=\"ecl-inpage-navigation__trigger-icon\" title=\"Show full page table of contents\"> </ecl-icon>\n </button>\n </div>\n @if (!hasNavigationList) {\n <ul #listContainer id=\"ecl-inpage-navigation-default-list\" class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\" [style.max-height.px]=\"listMaxHeight\"\n [attr.aria-expanded]=\"isButtonExpanded\">\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n </ul>\n } @else {\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n }\n </div>\n </nav>\n</ecl-sticky-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclStickyContainerModule } from '@eui/ecl/components/ecl-sticky-container';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationComponent } from './ecl-inpage-navigation.component';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\n\nconst COMPONENTS = [EclInpageNavigationComponent, EclInpageNavigationItemComponent, EclInpageNavigationListDirective];\n@NgModule({\n imports: [CommonModule, TranslateModule, EclStickyContainerModule, EclLinkModule, EclIconModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n providers: [EclInpageNavigationService],\n})\nexport class EclInpageNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EclInpageNavigationService","takeUntil","i1","i4.EclInpageNavigationService"],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-inpage-navigation.mjs","sources":["../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-item.component.html","../../components/ecl-inpage-navigation/services/ecl-inpage-navigation.service.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation-list.directive.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.ts","../../components/ecl-inpage-navigation/ecl-inpage-navigation.component.html","../../components/ecl-inpage-navigation/ecl-inpage-navigation.module.ts","../../components/ecl-inpage-navigation/eui-ecl-components-ecl-inpage-navigation.ts"],"sourcesContent":["import { Component, HostBinding, Input, Output, EventEmitter, ViewChild, ElementRef } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclLinkDirective } from '@eui/ecl/components/ecl-link';\n\nexport class EclInpageNavigationItemClickEvent extends EclBaseEvent {\n constructor(public sectionElementId: string) {\n super();\n }\n}\n\n// TODO: ecl-inpage-navigation-item selector is deprecated and should be removed in v20\n@Component({\n selector: 'ecl-inpage-navigation-item, li[eclInpageNavigationItem]',\n templateUrl: './ecl-inpage-navigation-item.component.html',\n standalone: false,\n styles: [\n `\n :host {\n display: list-item;\n }\n `,\n ],\n})\nexport class EclInpageNavigationItemComponent extends ECLBaseDirective {\n @HostBinding('class.ecl-inpage-navigation__item') cmpClass = true;\n @HostBinding('attr.role') role = 'listitem';\n\n @Input() label: string;\n @Input() sectionId: string;\n @Input() @HostBinding('class.ecl-inpage-navigation__item--active') isActive: boolean;\n\n @Output() itemClick = new EventEmitter<EclInpageNavigationItemClickEvent>();\n @Output() itemArrowUp = new EventEmitter();\n @Output() itemArrowDown = new EventEmitter();\n @Output() itemTab = new EventEmitter<Event>();\n @Output() itemEnter = new EventEmitter();\n\n @ViewChild(EclLinkDirective) link: EclLinkDirective\n\n constructor(el: ElementRef) {\n super();\n if (el.nativeElement.tagName.toLowerCase() === 'ecl-inpage-navigation-item') {\n console.warn('\"ecl-inpage-navigation-item\" selector is deprecated; use \"li[eclInpageNavigationItem]\" instead.');\n }\n }\n\n onItemClick(evt: MouseEvent): void {\n const event = new EclInpageNavigationItemClickEvent(this.sectionId);\n this.itemClick.next(event);\n\n evt.preventDefault();\n }\n\n get sectionElement(): HTMLElement {\n return document.querySelector(`#${this.sectionId}`);\n }\n\n onArrowUp(evt: Event): void {\n evt.preventDefault();\n this.itemArrowUp.emit()\n }\n\n onArrowDown(evt: Event): void {\n evt.preventDefault();\n this.itemArrowDown.emit();\n }\n\n onTab(evt: Event): void {\n this.itemTab.emit(evt);\n }\n\n onFocus(): void{\n this.link.onFocus();\n }\n\n onEnter(evt: Event): void {\n evt.preventDefault();\n evt.stopPropagation();\n this.itemEnter.emit();\n }\n}\n","<a eclLink (click)=\"onItemClick($event)\" href=\"#\" class=\"ecl-inpage-navigation__link\"\n (keydown.arrowUp)=\"onArrowUp($event)\" (keydown.arrowDown)=\"onArrowDown($event)\" (keydown.enter)=\"onEnter($event)\"\n (keydown.tab)=\"onTab($event)\">\n {{ label }}\n</a>\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\n@Injectable()\nexport class EclInpageNavigationService {\n\n\tpublic eclInpageNavigationExpanded$: Observable<boolean>;\n\tprivate eclInpageNavigationExpanded: Subject<boolean> = new Subject<boolean>();\n\n\tconstructor() {\n this.eclInpageNavigationExpanded$ = this.eclInpageNavigationExpanded.asObservable();\n\t}\n\n eclInpageNavigationToggle(isExpanded: boolean): void {\n\t\tthis.eclInpageNavigationExpanded.next(isExpanded);\n\t}\n}\n","import { AfterContentInit, Directive, ElementRef, HostBinding, OnDestroy } from '@angular/core';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\n\n@Directive({\n selector: 'ul[eclInpageNavigationList]',\n standalone: false,\n\n})\nexport class EclInpageNavigationListDirective extends ECLBaseDirective implements AfterContentInit, OnDestroy {\n @HostBinding('class.ecl-inpage-navigation__list') hasClass = true;\n @HostBinding('class.ecl-inpage-navigation__list--visible') isVisible = false;\n @HostBinding('style.max-height.px') maxHeight = null;\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n constructor(private eclInpageNavigationService: EclInpageNavigationService, public el: ElementRef) {\n super();\n }\n\n ngAfterContentInit(): void {\n this.eclInpageNavigationService.eclInpageNavigationExpanded$.pipe(takeUntil(this.destroy$)).subscribe((value: boolean) => {\n this.isVisible = value;\n });\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n}\n","import {\n Component,\n ContentChild,\n ContentChildren,\n DoCheck,\n ElementRef,\n EventEmitter,\n Input,\n IterableDiffer, IterableDiffers,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n QueryList,\n ViewChild,\n afterNextRender,\n numberAttribute,\n} from '@angular/core';\nimport { CdkScrollable, ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';\nimport { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { EclBaseEvent } from '@eui/ecl/core';\nimport { EclThemeService, EclRtlService } from '@eui/ecl/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\n\nexport class EclInpageNavigationSectionEnterEvent extends EclBaseEvent {\n constructor(public sectionId: string) {\n super();\n }\n}\n\n@Component({\n selector: 'ecl-inpage-navigation',\n templateUrl: './ecl-inpage-navigation.component.html',\n standalone: false,\n styles: [\n `\n @media (min-width: 996px) {\n .ecl-inpage-navigation__list {\n display: block !important;\n }\n }\n `,\n ],\n})\nexport class EclInpageNavigationComponent extends ECLBaseDirective implements OnInit, OnDestroy, DoCheck {\n @Input() eclTitle: string;\n @Input() marginTop: number;\n @Input() marginBottom: number;\n @Input({ transform: numberAttribute }) offsetTop: number;\n @ViewChild('togglerButton') togglerButton: ElementRef<HTMLButtonElement>;\n @ViewChild('toggleWrapper') toggleWrapper: ElementRef<HTMLDivElement>;\n /**\n * @deprecated To be removed in v20. Not needed, replaced by 'eclNavigationList'\n */\n @ViewChild('listContainer') listContainer: ElementRef<HTMLUListElement>;\n @ViewChild('navTittle') navTittle: ElementRef<HTMLDivElement>;\n @Output() sectionEnter = new EventEmitter<EclInpageNavigationSectionEnterEvent>();\n\n @ContentChildren(EclInpageNavigationItemComponent, { descendants: true }) eclNavigationLinkItems: QueryList<EclInpageNavigationItemComponent>;\n @ContentChild(EclInpageNavigationListDirective) eclNavigationList: EclInpageNavigationListDirective;\n\n isButtonExpanded = false;\n currentSectionElement: HTMLElement;\n public isRtl = false;\n public listMaxHeight: number;\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private differ: IterableDiffer<EclInpageNavigationItemComponent>;\n private isMobileBreakpoint = false;\n private MIN_DISTANCE_TOP = 10;\n private readonly ICON_SIZE_EC_THEME = 'xs';\n private readonly ICON_SIZE_EU_THEME = 's';\n private readonly TABLET_BREAKPOINT = 996;\n private intersectionObserver: IntersectionObserver;\n\n constructor(\n private eclRtlService: EclRtlService,\n public eclThemeService: EclThemeService,\n private differs: IterableDiffers,\n private scrollDispatcher: ScrollDispatcher,\n private zone: NgZone,\n private cdkBreakpointObserver: BreakpointObserver,\n private viewportRuler: ViewportRuler,\n private eclInpageNavigationService: EclInpageNavigationService,\n ) {\n super();\n this.differ = this.differs.find([]).create();\n afterNextRender(() => {\n this.subscribeToCDKScrollEvent();\n this.observeBreakpointChanges();\n\n this.intersectionObserver = new IntersectionObserver(()=> {\n this.setListHeight();\n });\n this.intersectionObserver.observe(this.togglerButton.nativeElement);\n\n this.viewportRuler.change(300).pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.zone.run(()=> {\n this.setListHeight();\n });\n });\n });\n }\n\n ngOnInit(): void {\n this.handleRtlChangeState();\n }\n\n get hasNavigationList(): boolean {\n return !!this.eclNavigationList;\n }\n\n get currentNavigationLinkItem(): EclInpageNavigationItemComponent {\n return this.eclNavigationLinkItems.find((item) => item.sectionElement === this.currentSectionElement);\n }\n\n get sizeIcon(): string {\n if (this.eclThemeService.isECTheme()) {\n return this.ICON_SIZE_EC_THEME;\n } else {\n return this.ICON_SIZE_EU_THEME;\n }\n }\n\n get hasActiveSection(): boolean {\n return !!this.currentSectionElement;\n }\n\n ngDoCheck(): void {\n const diff = this.differ.diff(this.eclNavigationLinkItems);\n if (diff) {\n diff.forEachItem((item) => {\n this.connectItemEvents(item.item);\n });\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n this.intersectionObserver.unobserve(this.togglerButton.nativeElement);\n }\n\n onExpandButtonClick(): void {\n this.isButtonExpanded = !this.isButtonExpanded;\n this.eclInpageNavigationService.eclInpageNavigationToggle(this.isButtonExpanded);\n }\n\n onExpandButtonKeydown(evt: Event): void {\n switch ((evt as KeyboardEvent).key) {\n case 'Tab':\n this.onExpandButtonTab(evt);\n break;\n case 'ArrowDown':\n this.onExpandButtonArrowDown(evt);\n break;\n default:\n break;\n }\n }\n\n private handleRtlChangeState(): void {\n this.eclRtlService.currentRtlState$.pipe(takeUntil(this.destroy$)).subscribe((rtlState) => {\n this.isRtl = rtlState;\n });\n }\n\n private setListHeight(): void {\n if (!this.listContainer && !this.eclNavigationList) {\n return;\n }\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n let topPosition = 0;\n if (viewportWidth < this.TABLET_BREAKPOINT) {\n const toggleWrapper = this.toggleWrapper.nativeElement;\n if (toggleWrapper) {\n topPosition = toggleWrapper.getBoundingClientRect().bottom +\n parseFloat(window.getComputedStyle(toggleWrapper).marginBottom);\n }\n } else if (this.eclTitle) {\n topPosition = this.navTittle.nativeElement.getBoundingClientRect().bottom;\n } else {\n if (this.listContainer) {\n topPosition = this.listContainer.nativeElement.getBoundingClientRect().top;\n } else if (this.eclNavigationList) {\n topPosition = this.eclNavigationList.el.nativeElement.getBoundingClientRect().top;\n }\n }\n\n const availableSpace = viewportHeight - topPosition;\n if (availableSpace > 0) {\n this.listMaxHeight = availableSpace;\n if (this.eclNavigationList) {\n this.eclNavigationList.maxHeight = this.listMaxHeight;\n }\n }\n }\n\n private onExpandButtonArrowDown(evt: Event): void {\n evt.preventDefault();\n this.isButtonExpanded = true;\n this.eclNavigationLinkItems.get(0).onFocus();\n }\n\n private onExpandButtonTab(evt: Event): void {\n if ((evt as KeyboardEvent).shiftKey) {\n evt.preventDefault();\n this.eclNavigationLinkItems.get(this.eclNavigationLinkItems.length - 1).onFocus();\n }\n }\n\n private connectItemEvents(item: EclInpageNavigationItemComponent): void {\n item.itemArrowDown.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowDown(item);\n });\n\n item.itemArrowUp.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemArrowUp(item);\n });\n\n item.itemTab.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.onItemTab(item, evt);\n });\n\n item.itemEnter.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.onItemEnter(item);\n });\n\n item.itemClick.pipe(takeUntil(this.destroy$)).subscribe((evt) => {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n }\n this.isButtonExpanded = false;\n });\n }\n\n private onItemEnter(item: EclInpageNavigationItemComponent): void {\n this.selectNavigationItem(item.sectionElement);\n if (item.sectionElement) {\n item.sectionElement.scrollIntoView();\n if (item.sectionElement.tabIndex === -1) {\n item.sectionElement.tabIndex = 0;\n item.sectionElement.focus();\n item.sectionElement.tabIndex = -1;\n }\n }\n this.isButtonExpanded = false;\n }\n\n private onItemArrowDown(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== this.eclNavigationLinkItems.length - 1) {\n this.eclNavigationLinkItems.get(index + 1).onFocus();\n }\n }\n\n private onItemArrowUp(item: EclInpageNavigationItemComponent): void {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index !== 0) {\n this.eclNavigationLinkItems.get(index - 1).onFocus();\n } else {\n if (this.isMobileBreakpoint && this.togglerButton) {\n this.isButtonExpanded = false;\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n\n private onItemTab(item: EclInpageNavigationItemComponent, evt: Event): void {\n if (this.isMobileBreakpoint) {\n if (!(evt as KeyboardEvent).shiftKey) {\n const index = this.eclNavigationLinkItems.toArray().indexOf(item);\n if (index === this.eclNavigationLinkItems.length - 1) {\n evt.preventDefault();\n this.togglerButton.nativeElement.focus();\n }\n }\n }\n }\n\n private subscribeToCDKScrollEvent(): void {\n this.scrollDispatcher.scrolled().pipe(takeUntil(this.destroy$)).subscribe((scrollable: CdkScrollable) => {\n this.zone.run(() => {\n const sectionElementIds = this.eclNavigationLinkItems.map((item) => item.sectionId);\n const sectionElements: Array<HTMLElement> = sectionElementIds.map((id) => document.querySelector(`#${id}`));\n this.handleNavigationLinksHighlight(sectionElements);\n this.setListHeight();\n });\n });\n }\n\n private selectNavigationItem(itemElement: HTMLElement): void {\n this.eclNavigationLinkItems.forEach((it) => {\n it.isActive = it.sectionElement === itemElement;\n });\n }\n\n private handleNavigationLinksHighlight(sectionElements: Array<HTMLElement>): void {\n const currentSectionElement: HTMLElement = this.findActiveSectionElement(sectionElements);\n if (currentSectionElement !== this.currentSectionElement) {\n this.currentSectionElement = currentSectionElement;\n this.selectNavigationItem(currentSectionElement);\n const sectionId = this.currentNavigationLinkItem ? this.currentNavigationLinkItem.sectionId : undefined;\n this.sectionEnter.next(new EclInpageNavigationSectionEnterEvent(sectionId));\n }\n }\n\n private findActiveSectionElement(sectionElements: Array<HTMLElement>): HTMLElement {\n let currentSection: HTMLElement;\n\n sectionElements.forEach((sectionElement) => {\n if (sectionElement && sectionElement.getBoundingClientRect().top <= this.MIN_DISTANCE_TOP + this.offsetTop) {\n currentSection = sectionElement;\n }\n });\n return currentSection;\n }\n\n private observeBreakpointChanges(): void {\n this.cdkBreakpointObserver\n .observe([Breakpoints.Handset, Breakpoints.Tablet, Breakpoints.Small])\n .pipe(takeUntil(this.destroy$))\n .subscribe((result) => {\n this.isMobileBreakpoint = result.matches;\n });\n }\n}\n","<ecl-sticky-container [marginTop]=\"marginTop\" [marginBottom]=\"marginBottom\">\n <nav\n aria-labelledby=\"ecl-inpage-navigation-default\"\n class=\"ecl-inpage-navigation\"\n [class.ecl-inpage-navigation--visible]=\"hasActiveSection\"\n [class.ecl-inpage-navigation--rtl]=\"isRtl\">\n <div #navTittle id=\"ecl-inpage-navigation-default\" class=\"ecl-inpage-navigation__title\">\n {{ eclTitle || 'ecl.inpage-navigation.PAGE-CONTENTS' | translate }}\n </div>\n <div class=\"ecl-inpage-navigation__body\">\n <div #toggleWrapper class=\"ecl-inpage-navigation__trigger-wrapper\">\n <button\n #togglerButton\n id=\"ecl-inpage-navigation-default-trigger\"\n type=\"button\"\n class=\"ecl-inpage-navigation__trigger\"\n aria-controls=\"ecl-inpage-navigation-list\"\n [attr.aria-expanded]=\"isButtonExpanded\"\n (click)=\"onExpandButtonClick()\"\n (keydown)=\"onExpandButtonKeydown($event)\">\n <span class=\"ecl-inpage-navigation__trigger-current\">\n {{ currentNavigationLinkItem?.label }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"\n class=\"ecl-inpage-navigation__trigger-icon\" title=\"Show full page table of contents\"> </ecl-icon>\n </button>\n </div>\n @if (!hasNavigationList) {\n <ul #listContainer id=\"ecl-inpage-navigation-default-list\" class=\"ecl-inpage-navigation__list\"\n [class.ecl-inpage-navigation__list--visible]=\"isButtonExpanded\" [style.max-height.px]=\"listMaxHeight\"\n [attr.aria-expanded]=\"isButtonExpanded\">\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n </ul>\n } @else {\n <ng-container>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </ng-container>\n }\n </div>\n </nav>\n</ecl-sticky-container>\n\n<ng-template #content>\n <ng-content></ng-content>\n</ng-template>","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { EclLinkModule } from '@eui/ecl/components/ecl-link';\nimport { EclIconModule } from '@eui/ecl/components/ecl-icon';\nimport { EclStickyContainerModule } from '@eui/ecl/components/ecl-sticky-container';\nimport { EclInpageNavigationItemComponent } from './ecl-inpage-navigation-item.component';\nimport { EclInpageNavigationComponent } from './ecl-inpage-navigation.component';\nimport { EclInpageNavigationService } from './services/ecl-inpage-navigation.service';\nimport { EclInpageNavigationListDirective } from './ecl-inpage-navigation-list.directive';\n\nconst COMPONENTS = [EclInpageNavigationComponent, EclInpageNavigationItemComponent, EclInpageNavigationListDirective];\n@NgModule({\n imports: [CommonModule, TranslateModule, EclStickyContainerModule, EclLinkModule, EclIconModule],\n exports: [...COMPONENTS],\n declarations: [...COMPONENTS],\n providers: [EclInpageNavigationService],\n})\nexport class EclInpageNavigationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EclInpageNavigationService","takeUntil","i1","i4.EclInpageNavigationService"],"mappings":"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"}