@eui/ecl 15.0.0-next.17 → 15.0.0-next.19

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 (65) hide show
  1. package/assets/i18n-ecl/bg.json +4 -0
  2. package/assets/i18n-ecl/cs.json +4 -0
  3. package/assets/i18n-ecl/da.json +4 -0
  4. package/assets/i18n-ecl/de.json +4 -0
  5. package/assets/i18n-ecl/el.json +4 -0
  6. package/assets/i18n-ecl/en.json +4 -0
  7. package/assets/i18n-ecl/es.json +4 -0
  8. package/assets/i18n-ecl/et.json +4 -0
  9. package/assets/i18n-ecl/fi.json +4 -0
  10. package/assets/i18n-ecl/fr.json +4 -0
  11. package/assets/i18n-ecl/ga.json +4 -0
  12. package/assets/i18n-ecl/hr.json +4 -0
  13. package/assets/i18n-ecl/hu.json +4 -0
  14. package/assets/i18n-ecl/it.json +4 -0
  15. package/assets/i18n-ecl/lt.json +4 -0
  16. package/assets/i18n-ecl/lv.json +4 -0
  17. package/assets/i18n-ecl/mt.json +4 -0
  18. package/assets/i18n-ecl/nl.json +4 -0
  19. package/assets/i18n-ecl/pl.json +4 -0
  20. package/assets/i18n-ecl/pt.json +4 -0
  21. package/assets/i18n-ecl/ro.json +4 -0
  22. package/assets/i18n-ecl/sk.json +4 -0
  23. package/assets/i18n-ecl/sl.json +4 -0
  24. package/assets/i18n-ecl/sv.json +4 -0
  25. package/docs/classes/EclLanguageService.html +255 -0
  26. package/docs/components/EclAppComponent.html +81 -25
  27. package/docs/components/EclMultiselectComponent.html +13 -1
  28. package/docs/components/EclNewsTickerComponent.html +1 -1
  29. package/docs/components/EclNewsTickerItemComponent.html +0 -67
  30. package/docs/components/EclPaginationItemComponent.html +1 -1
  31. package/docs/dependencies.html +2 -2
  32. package/docs/directives/EclDatePickerDirective.html +13 -1
  33. package/docs/injectables/EclDefaultLanguageService.html +303 -0
  34. package/docs/interfaces/EclLanguage.html +45 -0
  35. package/docs/js/search/search_index.js +2 -2
  36. package/esm2020/lib/components/ecl-app/ecl-app.component.mjs +18 -28
  37. package/esm2020/lib/components/ecl-date-picker/ecl-date-picker.directive.mjs +15 -7
  38. package/esm2020/lib/components/ecl-multiselect/ecl-multiselect.component.mjs +20 -8
  39. package/esm2020/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.mjs +2 -6
  40. package/esm2020/lib/components/ecl-news-ticker/ecl-news-ticker.component.mjs +13 -3
  41. package/esm2020/lib/components/ecl-pagination/ecl-pagination-item.component.mjs +3 -3
  42. package/esm2020/lib/model/ecl-language.model.mjs +1 -1
  43. package/esm2020/lib/services/ecl-default-language.service.mjs +45 -9
  44. package/esm2020/lib/services/ecl-language.service.mjs +1 -1
  45. package/fesm2015/eui-ecl.mjs +102 -54
  46. package/fesm2015/eui-ecl.mjs.map +1 -1
  47. package/fesm2020/eui-ecl.mjs +99 -51
  48. package/fesm2020/eui-ecl.mjs.map +1 -1
  49. package/lib/components/ecl-app/ecl-app.component.d.ts +3 -6
  50. package/lib/components/ecl-app/ecl-app.component.d.ts.map +1 -1
  51. package/lib/components/ecl-date-picker/ecl-date-picker.directive.d.ts +3 -1
  52. package/lib/components/ecl-date-picker/ecl-date-picker.directive.d.ts.map +1 -1
  53. package/lib/components/ecl-multiselect/ecl-multiselect.component.d.ts +6 -2
  54. package/lib/components/ecl-multiselect/ecl-multiselect.component.d.ts.map +1 -1
  55. package/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.d.ts +0 -1
  56. package/lib/components/ecl-news-ticker/ecl-news-ticker-item.component.d.ts.map +1 -1
  57. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts +1 -0
  58. package/lib/components/ecl-news-ticker/ecl-news-ticker.component.d.ts.map +1 -1
  59. package/lib/model/ecl-language.model.d.ts +1 -0
  60. package/lib/model/ecl-language.model.d.ts.map +1 -1
  61. package/lib/services/ecl-default-language.service.d.ts +14 -1
  62. package/lib/services/ecl-default-language.service.d.ts.map +1 -1
  63. package/lib/services/ecl-language.service.d.ts +6 -0
  64. package/lib/services/ecl-language.service.d.ts.map +1 -1
  65. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Directive, Input, HostBinding, Component, ViewChild, EventEmitter, ChangeDetectionStrategy, Output, NgModule, ContentChildren, forwardRef, HostListener, Injectable, Optional, Self, ContentChild, Inject, ViewEncapsulation, ElementRef } from '@angular/core';
2
+ import { Directive, Input, HostBinding, Component, ViewChild, EventEmitter, ChangeDetectionStrategy, Output, NgModule, ContentChildren, forwardRef, HostListener, Injectable, Optional, Inject, Self, ContentChild, ViewEncapsulation, ElementRef } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { CommonModule, formatDate } from '@angular/common';
5
5
  import * as i2 from '@ngx-translate/core';
@@ -543,6 +543,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
543
543
  }] } });
544
544
 
545
545
  class EclDefaultLanguageService {
546
+ constructor(config, i18nService) {
547
+ this.config = config;
548
+ this.i18nService = i18nService;
549
+ this.currentLanguage$ = new Subject();
550
+ this.FALLBACK_LANGUAGE = { code: 'en', label: 'English' };
551
+ this.handleActiveLanguageChangeState();
552
+ }
553
+ getCurrentLanguage() {
554
+ return this.currentLanguage;
555
+ }
556
+ updateCurrentLanguage(lang) {
557
+ this.i18nService.updateState({
558
+ activeLang: lang.code
559
+ });
560
+ }
561
+ getConfiguredLanguages() {
562
+ var _a, _b, _c;
563
+ const languages = ((_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.i18n) === null || _b === void 0 ? void 0 : _b.i18nService) === null || _c === void 0 ? void 0 : _c.languages) || [];
564
+ return languages.map((code) => this.getLanguageByCode(code));
565
+ }
546
566
  getEULanguageCodes() {
547
567
  return [
548
568
  'bg', 'cs', 'da', 'de', 'et', 'el', 'en', 'es',
@@ -565,6 +585,9 @@ class EclDefaultLanguageService {
565
585
  isEuLanguage(code) {
566
586
  return this.getEULanguageCodes().includes(code);
567
587
  }
588
+ isRtlLanguage(code) {
589
+ return this.getLanguageByCode(code).isRtl;
590
+ }
568
591
  getAllLanguages() {
569
592
  return [
570
593
  { code: 'ab', label: 'аҧсуа' },
@@ -573,7 +596,7 @@ class EclDefaultLanguageService {
573
596
  { code: 'ak', label: 'Akan' },
574
597
  { code: 'sq', label: 'Shqip' },
575
598
  { code: 'am', label: 'አማርኛ' },
576
- { code: 'ar', label: 'العربية' },
599
+ { code: 'ar', label: 'العربية', isRtl: true },
577
600
  { code: 'an', label: 'Aragonés' },
578
601
  { code: 'hy', label: 'Հայերեն' },
579
602
  { code: 'as', label: 'অসমীয়া' },
@@ -623,7 +646,7 @@ class EclDefaultLanguageService {
623
646
  { code: 'gu', label: 'ગુજરાતી' },
624
647
  { code: 'ht', label: 'Kreyòl ayisyen' },
625
648
  { code: 'ha', label: 'Hausa, هَوُسَ' },
626
- { code: 'he', label: 'עברית' },
649
+ { code: 'he', label: 'עברית', isRtl: true },
627
650
  { code: 'hz', label: 'Otjiherero' },
628
651
  { code: 'hi', label: 'हिन्दी, हिंदी' },
629
652
  { code: 'ho', label: 'Hiri Motu' },
@@ -652,7 +675,7 @@ class EclDefaultLanguageService {
652
675
  { code: 'kv', label: 'коми кыв' },
653
676
  { code: 'kg', label: 'KiKongo' },
654
677
  { code: 'ko', label: '한국어 (韓國語), 조선말 (朝鮮語)' },
655
- { code: 'ku', label: 'Kurdî, كوردی‎' },
678
+ { code: 'ku', label: 'Kurdî, كوردی‎', isRtl: true },
656
679
  { code: 'kj', label: 'Kuanyama' },
657
680
  { code: 'la', label: 'latine' },
658
681
  { code: 'lb', label: 'Lëtzebuergesch' },
@@ -691,7 +714,7 @@ class EclDefaultLanguageService {
691
714
  { code: 'os', label: 'ирон æвзаг' },
692
715
  { code: 'pa', label: 'ਪੰਜਾਬੀ, پنجابی‎' },
693
716
  { code: 'pi', label: 'पाऴि' },
694
- { code: 'fa', label: 'فارسی' },
717
+ { code: 'fa', label: 'فارسی', isRtl: true },
695
718
  { code: 'pl', label: 'polski' },
696
719
  { code: 'ps', label: 'پښتو' },
697
720
  { code: 'pt', label: 'Português' },
@@ -736,7 +759,7 @@ class EclDefaultLanguageService {
736
759
  { code: 'ty', label: 'Reo Tahiti' },
737
760
  { code: 'ug', label: 'Uyƣurqə, ئۇيغۇرچە‎' },
738
761
  { code: 'uk', label: 'українська' },
739
- { code: 'ur', label: 'اردو' },
762
+ { code: 'ur', label: 'اردو', isRtl: true },
740
763
  { code: 'uz', label: 'zbek, Ўзбек, أۇزبېك‎' },
741
764
  { code: 've', label: 'Tshivenḓa' },
742
765
  { code: 'vi', label: 'Tiếng Việt' },
@@ -751,13 +774,26 @@ class EclDefaultLanguageService {
751
774
  { code: 'za', label: 'Saɯ cueŋƅ, Saw cuengh' }
752
775
  ];
753
776
  }
777
+ handleActiveLanguageChangeState() {
778
+ this.i18nService.getState().subscribe(state => {
779
+ this.currentLanguage = this.getLanguageByCode(state.activeLang) || this.FALLBACK_LANGUAGE;
780
+ this.currentLanguage$.next(this.currentLanguage);
781
+ });
782
+ }
754
783
  }
755
- /** @nocollapse */ EclDefaultLanguageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclDefaultLanguageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
784
+ /** @nocollapse */ EclDefaultLanguageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclDefaultLanguageService, deps: [{ token: GLOBAL_CONFIG_TOKEN, optional: true }, { token: i2$1.I18nService }], target: i0.ɵɵFactoryTarget.Injectable });
756
785
  /** @nocollapse */ EclDefaultLanguageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclDefaultLanguageService, providedIn: 'root' });
757
786
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclDefaultLanguageService, decorators: [{
758
787
  type: Injectable,
759
788
  args: [{ providedIn: 'root' }]
760
- }] });
789
+ }], ctorParameters: function () {
790
+ return [{ type: undefined, decorators: [{
791
+ type: Optional
792
+ }, {
793
+ type: Inject,
794
+ args: [GLOBAL_CONFIG_TOKEN]
795
+ }] }, { type: i2$1.I18nService }];
796
+ } });
761
797
 
762
798
  class EclLanguageService {
763
799
  }
@@ -2653,16 +2689,14 @@ class EclAppLanguageDismissEvent extends EclBaseEvent {
2653
2689
  }
2654
2690
  }
2655
2691
  class EclAppComponent extends ECLBaseDirective {
2656
- constructor(config, eclLanguageService, i18nService, cd) {
2692
+ constructor(eclLanguageService, cd) {
2657
2693
  super();
2658
- this.config = config;
2659
2694
  this.eclLanguageService = eclLanguageService;
2660
- this.i18nService = i18nService;
2661
2695
  this.cd = cd;
2696
+ this.textDirection = 'ltr';
2662
2697
  this.languageDismiss = new EventEmitter();
2663
2698
  this.languages = [];
2664
2699
  this.destroy$ = new Subject();
2665
- this.FALLBACK_LANGUAGE = { code: 'en', label: 'English' };
2666
2700
  }
2667
2701
  ngAfterViewInit() {
2668
2702
  this.handleAppLanguagesState();
@@ -2675,14 +2709,11 @@ class EclAppComponent extends ECLBaseDirective {
2675
2709
  this.destroy$.unsubscribe();
2676
2710
  }
2677
2711
  handleAppLanguagesState() {
2678
- var _a, _b, _c;
2679
- const languages = ((_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.i18n) === null || _b === void 0 ? void 0 : _b.i18nService) === null || _c === void 0 ? void 0 : _c.languages) || [];
2680
- this.languages = languages.map((code) => this.eclLanguageService.getLanguageByCode(code));
2712
+ this.languages = this.eclLanguageService.getConfiguredLanguages();
2681
2713
  this.cd.detectChanges();
2682
2714
  }
2683
2715
  handleActiveLanguageChangeState() {
2684
- this.i18nService.getState().subscribe(state => {
2685
- const lang = this.eclLanguageService.getLanguageByCode(state.activeLang) || this.FALLBACK_LANGUAGE;
2716
+ this.eclLanguageService.currentLanguage$.subscribe(lang => {
2686
2717
  this.syncLanguageDataWithUI(lang);
2687
2718
  this.hideLanguageListUI();
2688
2719
  });
@@ -2700,11 +2731,8 @@ class EclAppComponent extends ECLBaseDirective {
2700
2731
  this.languageDismiss.next(new EclAppLanguageDismissEvent());
2701
2732
  });
2702
2733
  this.eclLanguageList.languageSelected.pipe(takeUntil(this.destroy$)).subscribe((evt) => {
2703
- const lang = evt.language;
2704
- this.i18nService.updateState({
2705
- activeLang: lang.code
2706
- });
2707
- this.languageDismiss.next(new EclAppLanguageDismissEvent(lang));
2734
+ this.eclLanguageService.updateCurrentLanguage(evt.language);
2735
+ this.languageDismiss.next(new EclAppLanguageDismissEvent(evt.language));
2708
2736
  this.cd.detectChanges();
2709
2737
  });
2710
2738
  }
@@ -2724,21 +2752,18 @@ class EclAppComponent extends ECLBaseDirective {
2724
2752
  this.eclSiteHeader.eclLanguageComponent.languageLabel = lang.label;
2725
2753
  }
2726
2754
  this.eclLanguageList.selectedLanguageCode = lang.code;
2755
+ this.textDirection = lang.isRtl ? 'rtl' : 'ltr';
2727
2756
  }
2728
2757
  }
2729
- /** @nocollapse */ EclAppComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclAppComponent, deps: [{ token: GLOBAL_CONFIG_TOKEN, optional: true }, { token: EclLanguageService }, { token: i2$1.I18nService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2730
- /** @nocollapse */ EclAppComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EclAppComponent, selector: "ecl-app", outputs: { languageDismiss: "languageDismiss" }, queries: [{ propertyName: "eclSiteHeader", first: true, predicate: EclSiteHeaderComponent, descendants: true }], viewQueries: [{ propertyName: "eclLanguageList", first: true, predicate: EclLanguageListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n\n<ecl-language-list \n [isHidden]=\"true\"\n [isOverlay]=\"true\">\n <ecl-language-list-item \n *ngFor=\"let lang of languages\" \n [languageCode]=\"lang.code\" \n [languageLabel]=\"lang.label\">\n </ecl-language-list-item>\n</ecl-language-list>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: EclLanguageListComponent, selector: "ecl-language-list", inputs: ["isOverlay", "selectedLanguageCode", "isHidden"], outputs: ["languageSelected", "close"] }, { kind: "component", type: EclLanguageListItemComponent, selector: "ecl-language-list-item", inputs: ["isActive", "languageCode", "languageLabel"], outputs: ["itemClick"] }] });
2758
+ /** @nocollapse */ EclAppComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclAppComponent, deps: [{ token: EclLanguageService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
2759
+ /** @nocollapse */ EclAppComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EclAppComponent, selector: "ecl-app", outputs: { languageDismiss: "languageDismiss" }, host: { properties: { "attr.dir": "this.textDirection" } }, queries: [{ propertyName: "eclSiteHeader", first: true, predicate: EclSiteHeaderComponent, descendants: true }], viewQueries: [{ propertyName: "eclLanguageList", first: true, predicate: EclLanguageListComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n\n<ecl-language-list \n [isHidden]=\"true\"\n [isOverlay]=\"true\">\n <ecl-language-list-item \n *ngFor=\"let lang of languages\" \n [languageCode]=\"lang.code\" \n [languageLabel]=\"lang.label\">\n </ecl-language-list-item>\n</ecl-language-list>", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: EclLanguageListComponent, selector: "ecl-language-list", inputs: ["isOverlay", "selectedLanguageCode", "isHidden"], outputs: ["languageSelected", "close"] }, { kind: "component", type: EclLanguageListItemComponent, selector: "ecl-language-list-item", inputs: ["isActive", "languageCode", "languageLabel"], outputs: ["itemClick"] }] });
2731
2760
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclAppComponent, decorators: [{
2732
2761
  type: Component,
2733
2762
  args: [{ selector: 'ecl-app', template: "<ng-content></ng-content>\n\n<ecl-language-list \n [isHidden]=\"true\"\n [isOverlay]=\"true\">\n <ecl-language-list-item \n *ngFor=\"let lang of languages\" \n [languageCode]=\"lang.code\" \n [languageLabel]=\"lang.label\">\n </ecl-language-list-item>\n</ecl-language-list>" }]
2734
- }], ctorParameters: function () {
2735
- return [{ type: undefined, decorators: [{
2736
- type: Optional
2737
- }, {
2738
- type: Inject,
2739
- args: [GLOBAL_CONFIG_TOKEN]
2740
- }] }, { type: EclLanguageService }, { type: i2$1.I18nService }, { type: i0.ChangeDetectorRef }];
2741
- }, propDecorators: { eclSiteHeader: [{
2763
+ }], ctorParameters: function () { return [{ type: EclLanguageService }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { textDirection: [{
2764
+ type: HostBinding,
2765
+ args: ['attr.dir']
2766
+ }], eclSiteHeader: [{
2742
2767
  type: ContentChild,
2743
2768
  args: [EclSiteHeaderComponent]
2744
2769
  }], eclLanguageList: [{
@@ -5035,11 +5060,12 @@ const ECL_DATE_PICKER_VALUE_ACCESSOR = {
5035
5060
  };
5036
5061
  const noop = () => { };
5037
5062
  class EclDatePickerDirective extends ECLBaseDirective {
5038
- constructor(el, viewContainerRef, translateService) {
5063
+ constructor(el, viewContainerRef, translateService, eclLanguageService) {
5039
5064
  super();
5040
5065
  this.el = el;
5041
5066
  this.viewContainerRef = viewContainerRef;
5042
5067
  this.translateService = translateService;
5068
+ this.eclLanguageService = eclLanguageService;
5043
5069
  this.yearRange = 40;
5044
5070
  this.format = 'DD-MM-YYYY';
5045
5071
  this.type = 'text';
@@ -5090,6 +5116,8 @@ class EclDatePickerDirective extends ECLBaseDirective {
5090
5116
  initPikaday() {
5091
5117
  const i18nKey = 'ecl.date-picker.PIKADAY';
5092
5118
  let i18nTranslation = this.translateService.instant(i18nKey);
5119
+ const isRtl = this.eclLanguageService.getCurrentLanguage().isRtl;
5120
+ const position = isRtl ? 'bottom right' : 'bottom left';
5093
5121
  if (!i18nTranslation || i18nTranslation === i18nKey) {
5094
5122
  i18nTranslation = pikadayDefaultI18n;
5095
5123
  }
@@ -5100,16 +5128,20 @@ class EclDatePickerDirective extends ECLBaseDirective {
5100
5128
  yearRange: this.yearRange,
5101
5129
  reposition: false,
5102
5130
  i18n: i18nTranslation,
5131
+ isRtl: isRtl,
5132
+ position: position,
5103
5133
  showDaysInNextAndPreviousMonths: true,
5104
5134
  enableSelectionDaysInNextAndPreviousMonths: true,
5105
5135
  onSelect: this.onSelectDate.bind(this),
5106
5136
  onOpen() {
5107
- // Fix picker size that exceeds vw on mobile
5137
+ // Extend picker size on mobile
5108
5138
  const vw = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0);
5109
5139
  const elRect = this.el.getBoundingClientRect();
5110
- if (elRect.width >= vw) {
5140
+ const pickerMargin = isRtl ? vw - elRect.right : elRect.left;
5141
+ if (vw < 768) {
5111
5142
  this.el.style.width = 'auto';
5112
- this.el.style.right = `${elRect.left}px`;
5143
+ this.el.style.left = `${pickerMargin}px`;
5144
+ this.el.style.right = `${pickerMargin}px`;
5113
5145
  }
5114
5146
  },
5115
5147
  });
@@ -5155,7 +5187,7 @@ class EclDatePickerDirective extends ECLBaseDirective {
5155
5187
  return eclIconComponent.location.nativeElement;
5156
5188
  }
5157
5189
  }
5158
- /** @nocollapse */ EclDatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclDatePickerDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Directive });
5190
+ /** @nocollapse */ EclDatePickerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclDatePickerDirective, deps: [{ token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i2.TranslateService }, { token: EclLanguageService }], target: i0.ɵɵFactoryTarget.Directive });
5159
5191
  /** @nocollapse */ EclDatePickerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EclDatePickerDirective, selector: "input[eclDatePicker]", inputs: { yearRange: "yearRange", format: "format" }, outputs: { datePicked: "datePicked" }, host: { listeners: { "click": "onClick()", "blur": "onBlur()" }, properties: { "attr.type": "this.type", "class": "this.cssClasses", "attr.disabled": "this.isDisabled" } }, providers: [ECL_DATE_PICKER_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 });
5160
5192
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclDatePickerDirective, decorators: [{
5161
5193
  type: Directive,
@@ -5163,7 +5195,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
5163
5195
  selector: 'input[eclDatePicker]',
5164
5196
  providers: [ECL_DATE_PICKER_VALUE_ACCESSOR]
5165
5197
  }]
5166
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i2.TranslateService }]; }, propDecorators: { yearRange: [{
5198
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i2.TranslateService }, { type: EclLanguageService }]; }, propDecorators: { yearRange: [{
5167
5199
  type: Input
5168
5200
  }], format: [{
5169
5201
  type: Input
@@ -8258,12 +8290,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
8258
8290
  }] } });
8259
8291
 
8260
8292
  class EclMultiselectComponent extends ECLBaseDirective {
8261
- constructor(ngControl, el, viewContainerRef, differs) {
8293
+ constructor(ngControl, el, viewContainerRef, differs, translate) {
8262
8294
  super();
8263
8295
  this.ngControl = ngControl;
8264
8296
  this.el = el;
8265
8297
  this.viewContainerRef = viewContainerRef;
8266
8298
  this.differs = differs;
8299
+ this.translate = translate;
8267
8300
  this.isInvalid = false;
8268
8301
  this._disabled = false;
8269
8302
  this.eclSize = 'm';
@@ -8313,6 +8346,7 @@ class EclMultiselectComponent extends ECLBaseDirective {
8313
8346
  this.createHtmlElements();
8314
8347
  this.buildMultiselectDropdown(false);
8315
8348
  }
8349
+ this.handleTranslations();
8316
8350
  }
8317
8351
  ngDoCheck() {
8318
8352
  this.multiselectContainer.classList.toggle('ecl-select__container--disabled', this.disabled);
@@ -8539,8 +8573,8 @@ class EclMultiselectComponent extends ECLBaseDirective {
8539
8573
  this.selectAll();
8540
8574
  };
8541
8575
  checkboxDiv.appendChild(this.checkboxSelectAll);
8542
- const checkboxLabel = this.createCheckboxLabel('Select all', 'select-multiple-all' + idStr.substring(idStr.lastIndexOf('.') + 1));
8543
- checkboxDiv.appendChild(checkboxLabel);
8576
+ this.checkboxLabel = this.createCheckboxLabel('Select all', 'select-multiple-all' + idStr.substring(idStr.lastIndexOf('.') + 1));
8577
+ checkboxDiv.appendChild(this.checkboxLabel);
8544
8578
  return checkboxDiv;
8545
8579
  }
8546
8580
  createOptionsWrapper() {
@@ -8582,14 +8616,14 @@ class EclMultiselectComponent extends ECLBaseDirective {
8582
8616
  selectIconContainer.classList.add('ecl-select__icon');
8583
8617
  return selectIconContainer;
8584
8618
  }
8585
- searchOptions(keyword) {
8619
+ searchOptions(keyword = '') {
8586
8620
  if (keyword === '') {
8587
8621
  this.multiSelectOptions.forEach(item => {
8588
8622
  item.style.display = 'flex';
8589
8623
  });
8590
8624
  }
8591
8625
  this.multiSelectOptions.forEach((item, cnt) => {
8592
- if (item.textContent.toLowerCase().indexOf(keyword) < 0) {
8626
+ if (item.textContent.toLowerCase().indexOf(keyword.toLowerCase()) < 0) {
8593
8627
  item.style.display = 'none';
8594
8628
  }
8595
8629
  });
@@ -8605,8 +8639,17 @@ class EclMultiselectComponent extends ECLBaseDirective {
8605
8639
  this.selectedValues = [];
8606
8640
  this.multiSelectInput.value = null;
8607
8641
  }
8642
+ handleTranslations() {
8643
+ this.translate
8644
+ .stream('ecl.multiselect.SELECT-ALL')
8645
+ .pipe(takeUntil$1(this.destroy$)).subscribe((translation) => {
8646
+ if (this.checkboxLabel) {
8647
+ this.checkboxLabel.textContent = translation;
8648
+ }
8649
+ });
8650
+ }
8608
8651
  }
8609
- /** @nocollapse */ EclMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclMultiselectComponent, deps: [{ token: i1$1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
8652
+ /** @nocollapse */ EclMultiselectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclMultiselectComponent, deps: [{ token: i1$1.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.IterableDiffers }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component });
8610
8653
  /** @nocollapse */ EclMultiselectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EclMultiselectComponent, selector: "select[eclMultiselect]", inputs: { isInvalid: "isInvalid", eclPlaceholder: "eclPlaceholder", disabled: "disabled", eclSize: "eclSize" }, outputs: { eclChange: "eclChange" }, host: { listeners: { "document:click": "onKeyUp($event)" }, properties: { "attr.disabled": "this.disabled", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclOptionItems", predicate: EclMultiselectOptionDirective }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>" });
8611
8654
  __decorate([
8612
8655
  coerceBoolean
@@ -8619,7 +8662,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
8619
8662
  type: Optional
8620
8663
  }, {
8621
8664
  type: Self
8622
- }] }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.IterableDiffers }];
8665
+ }] }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.IterableDiffers }, { type: i2.TranslateService }];
8623
8666
  }, propDecorators: { eclOptionItems: [{
8624
8667
  type: ContentChildren,
8625
8668
  args: [EclMultiselectOptionDirective]
@@ -8796,7 +8839,6 @@ class EclNewsTickerItemComponent extends ECLBaseDirective {
8796
8839
  super();
8797
8840
  this.el = el;
8798
8841
  this.ariaHidden = true;
8799
- this.tabindex = '-1';
8800
8842
  this.role = 'listitem';
8801
8843
  }
8802
8844
  get cssClasses() {
@@ -8811,7 +8853,7 @@ class EclNewsTickerItemComponent extends ECLBaseDirective {
8811
8853
  }
8812
8854
  }
8813
8855
  /** @nocollapse */ EclNewsTickerItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclNewsTickerItemComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
8814
- /** @nocollapse */ EclNewsTickerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EclNewsTickerItemComponent, selector: "ecl-news-ticker-item", host: { properties: { "class": "this.cssClasses", "attr.aria-hidden": "this.ariaHidden", "attr.tabindex": "this.tabindex", "attr.role": "this.role" } }, queries: [{ propertyName: "eclLink", first: true, predicate: EclLinkDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" });
8856
+ /** @nocollapse */ EclNewsTickerItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EclNewsTickerItemComponent, selector: "ecl-news-ticker-item", host: { properties: { "class": "this.cssClasses", "attr.aria-hidden": "this.ariaHidden", "attr.role": "this.role" } }, queries: [{ propertyName: "eclLink", first: true, predicate: EclLinkDirective, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n" });
8815
8857
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclNewsTickerItemComponent, decorators: [{
8816
8858
  type: Component,
8817
8859
  args: [{ selector: 'ecl-news-ticker-item', template: "<ng-content></ng-content>\n" }]
@@ -8824,9 +8866,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4",
8824
8866
  }], ariaHidden: [{
8825
8867
  type: HostBinding,
8826
8868
  args: ['attr.aria-hidden']
8827
- }], tabindex: [{
8828
- type: HostBinding,
8829
- args: ['attr.tabindex']
8830
8869
  }], role: [{
8831
8870
  type: HostBinding,
8832
8871
  args: ['attr.role']
@@ -8926,6 +8965,7 @@ class EclNewsTickerComponent extends ECLBaseDirective {
8926
8965
  this._contentHeight = newHeight;
8927
8966
  this.transitionDuration = withTransition ? 0.4 : 0;
8928
8967
  this.slidesTransform = `translate3d(0px, -${newOffset}px, 0px)`;
8968
+ this.setCurrentSlide(item);
8929
8969
  }
8930
8970
  }
8931
8971
  initContainer() {
@@ -8977,15 +9017,23 @@ class EclNewsTickerComponent extends ECLBaseDirective {
8977
9017
  getAllItemsArray() {
8978
9018
  return [...[this.firstHiddenItem], ...this.newsTickerItems.toArray(), ...[this.lastHiddenItem]];
8979
9019
  }
9020
+ setCurrentSlide(currentItem) {
9021
+ this.newsTickerItems.forEach(item => {
9022
+ item.ariaHidden = true;
9023
+ if (item === currentItem) {
9024
+ item.ariaHidden = false;
9025
+ }
9026
+ });
9027
+ }
8980
9028
  }
8981
9029
  /** @nocollapse */ EclNewsTickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclNewsTickerComponent, deps: [{ token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
8982
- /** @nocollapse */ EclNewsTickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EclNewsTickerComponent, selector: "ecl-news-ticker", outputs: { itemSwitch: "itemSwitch" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "newsTickerItems", predicate: EclNewsTickerItemComponent }], viewQueries: [{ propertyName: "firstHiddenItem", first: true, predicate: ["firstHiddenItem"], descendants: true }, { propertyName: "lastHiddenItem", first: true, predicate: ["lastHiddenItem"], descendants: true }, { propertyName: "slidesContainer", first: true, predicate: ["slidesContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n #slidesContainer >\n <ecl-news-ticker-item #firstHiddenItem></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n<ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n<div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\">{{ itemIndex }}</span> of {{ itemsCount }}\n</div>\n<div class=\"ecl-news-ticker__controls\">\n <button eclButton\n variant=\"primary\"\n tabindex=\"-1\"\n class=\"ecl-news-ticker__prev\"\n (click)=\"onPrevious()\">\n <ecl-icon icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-270\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n tabindex=\"-1\"\n class=\"ecl-news-ticker__toggle\"\n (click)=\"togglePlay()\">\n <ecl-icon [icon]=\"playing ? 'pause' : 'play'\"\n size=\"m\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n tabindex=\"-1\"\n class=\"ecl-news-ticker__next\"\n (click)=\"onNext()\">\n <ecl-icon icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-90\">\n </ecl-icon>\n </button>\n</div>\n", dependencies: [{ kind: "component", type: EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["variant", "containerStyleClass"] }, { kind: "component", type: EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "component", type: EclNewsTickerItemComponent, selector: "ecl-news-ticker-item" }] });
9030
+ /** @nocollapse */ EclNewsTickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EclNewsTickerComponent, selector: "ecl-news-ticker", outputs: { itemSwitch: "itemSwitch" }, host: { listeners: { "window:resize": "onResize($event)" }, properties: { "class": "this.cssClasses" } }, queries: [{ propertyName: "newsTickerItems", predicate: EclNewsTickerItemComponent }], viewQueries: [{ propertyName: "firstHiddenItem", first: true, predicate: ["firstHiddenItem"], descendants: true }, { propertyName: "lastHiddenItem", first: true, predicate: ["lastHiddenItem"], descendants: true }, { propertyName: "slidesContainer", first: true, predicate: ["slidesContainer"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n #slidesContainer >\n <ecl-news-ticker-item #firstHiddenItem></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n<ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n<div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span> \n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n</div>\n<div class=\"ecl-news-ticker__controls\">\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__prev\"\n (click)=\"onPrevious()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PREV-NEWS' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-270\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__toggle\"\n (click)=\"togglePlay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon [icon]=\"playing ? 'pause' : 'play'\" size=\"m\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__next\"\n (click)=\"onNext()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.NEXT-NEWS' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-90\">\n </ecl-icon>\n </button>\n</div>\n", dependencies: [{ kind: "component", type: EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["variant", "containerStyleClass"] }, { kind: "component", type: EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "component", type: EclNewsTickerItemComponent, selector: "ecl-news-ticker-item" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
8983
9031
  __decorate([
8984
9032
  coerceElement
8985
9033
  ], EclNewsTickerComponent.prototype, "slidesContainer", void 0);
8986
9034
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclNewsTickerComponent, decorators: [{
8987
9035
  type: Component,
8988
- args: [{ selector: 'ecl-news-ticker', template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n #slidesContainer >\n <ecl-news-ticker-item #firstHiddenItem></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n<ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n<div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\">{{ itemIndex }}</span> of {{ itemsCount }}\n</div>\n<div class=\"ecl-news-ticker__controls\">\n <button eclButton\n variant=\"primary\"\n tabindex=\"-1\"\n class=\"ecl-news-ticker__prev\"\n (click)=\"onPrevious()\">\n <ecl-icon icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-270\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n tabindex=\"-1\"\n class=\"ecl-news-ticker__toggle\"\n (click)=\"togglePlay()\">\n <ecl-icon [icon]=\"playing ? 'pause' : 'play'\"\n size=\"m\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n tabindex=\"-1\"\n class=\"ecl-news-ticker__next\"\n (click)=\"onNext()\">\n <ecl-icon icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-90\">\n </ecl-icon>\n </button>\n</div>\n" }]
9036
+ args: [{ selector: 'ecl-news-ticker', template: "<div class=\"ecl-news-ticker__container\"\n [style.height.px]=\"containerHeight\">\n <div class=\"ecl-news-ticker__content\"\n [style.height.px]=\"contentHeight\">\n <ul class=\"ecl-news-ticker__slides\"\n [style.transition-duration.s]=\"transitionDuration\"\n [style.transform]=\"slidesTransform\"\n #slidesContainer >\n <ecl-news-ticker-item #firstHiddenItem></ecl-news-ticker-item>\n <ng-content></ng-content>\n <ecl-news-ticker-item #lastHiddenItem></ecl-news-ticker-item>\n </ul>\n </div>\n</div>\n<ecl-icon icon=\"information\"\n size=\"m\"\n class=\"ecl-news-ticker__icon\"></ecl-icon>\n<div class=\"ecl-news-ticker__counter\">\n <span class=\"ecl-news-ticker__counter--current\"> {{ itemIndex }}</span> \n {{ 'ecl.common.OF' | translate }}\n <span class=\"ecl-news-ticker__counter--max\">{{ itemsCount }}</span>\n</div>\n<div class=\"ecl-news-ticker__controls\">\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__prev\"\n (click)=\"onPrevious()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.PREV-NEWS' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-270\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__toggle\"\n (click)=\"togglePlay()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.AUTO-PLAY' | translate }}\n </span>\n <ecl-icon [icon]=\"playing ? 'pause' : 'play'\" size=\"m\"></ecl-icon>\n </button>\n <button eclButton\n variant=\"primary\"\n class=\"ecl-news-ticker__next\"\n (click)=\"onNext()\">\n <span class=\"ecl-u-sr-only\">\n {{ 'ecl.news-ticker.NEXT-NEWS' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\"\n size=\"m\"\n transform=\"rotate-90\">\n </ecl-icon>\n </button>\n</div>\n" }]
8989
9037
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }]; }, propDecorators: { itemSwitch: [{
8990
9038
  type: Output
8991
9039
  }], newsTickerItems: [{
@@ -10067,7 +10115,7 @@ class EclPaginationItemComponent extends ECLBaseDirective {
10067
10115
  }
10068
10116
  }
10069
10117
  /** @nocollapse */ EclPaginationItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclPaginationItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
10070
- /** @nocollapse */ EclPaginationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EclPaginationItemComponent, selector: "ecl-pagination-item", inputs: { label: "label", ariaLabel: "ariaLabel", isCurrent: "isCurrent", isNext: "isNext", isPrevious: "isPrevious", href: "href" }, outputs: { pageClick: "pageClick" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"!isCurrent\"\n eclLink\n (click)=\"onPageClick($event)\"\n variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate:{ pageNumber: label} }}\"\n [href]=\"href\"\n class=\"ecl-pagination__link\">\n <ng-container *ngIf=\"isPrevious\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n </ng-container>\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n <ng-container *ngIf=\"isNext\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n </ng-container>\n</a>\n\n<ng-container *ngIf=\"isCurrent\">\n <span class=\"ecl-pagination__text ecl-pagination__text--summary\"\n attr.aria-label=\"{{ ariaLabel || 'ecl.pagination.PAGE' | translate:{ pageNumber: label} }}\"\n aria-current=\"true\">\n {{ label }}\n </span>\n <span class=\"ecl-pagination__text ecl-pagination__text--full\"\n aria-current=\"true\">\n {{ 'ecl.pagination.PAGE' | translate:{ pageNumber: label} }}\n </span>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "directive", type: EclLinkDirective, selector: "[eclLink]", inputs: ["variant", "isNegative", "isNoVisited"] }, { kind: "directive", type: EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
10118
+ /** @nocollapse */ EclPaginationItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0-next.4", type: EclPaginationItemComponent, selector: "ecl-pagination-item", inputs: { label: "label", ariaLabel: "ariaLabel", isCurrent: "isCurrent", isNext: "isNext", isPrevious: "isPrevious", href: "href" }, outputs: { pageClick: "pageClick" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"!isCurrent\"\n eclLink\n (click)=\"onPageClick($event)\"\n variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate:{ pageNumber: label} }}\"\n [href]=\"href\"\n class=\"ecl-pagination__link\">\n <ng-container *ngIf=\"isPrevious\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n </ng-container>\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n <ng-container *ngIf=\"isNext\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n </ng-container>\n</a>\n\n<ng-container *ngIf=\"isCurrent\">\n <span class=\"ecl-pagination__text ecl-pagination__text--summary\"\n aria-current=\"true\">\n {{ label }}\n </span>\n <span class=\"ecl-pagination__text ecl-pagination__text--full\"\n aria-current=\"true\">\n {{ 'ecl.pagination.PAGE' | translate:{ pageNumber: label} }}\n </span>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "isInverted", "ariaHidden", "focusable"] }, { kind: "directive", type: EclLinkDirective, selector: "[eclLink]", inputs: ["variant", "isNegative", "isNoVisited"] }, { kind: "directive", type: EclLinkLabelDirective, selector: "[eclLinkLabel]" }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
10071
10119
  __decorate([
10072
10120
  coerceBoolean
10073
10121
  ], EclPaginationItemComponent.prototype, "isCurrent", void 0);
@@ -10079,7 +10127,7 @@ __decorate([
10079
10127
  ], EclPaginationItemComponent.prototype, "isPrevious", void 0);
10080
10128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0-next.4", ngImport: i0, type: EclPaginationItemComponent, decorators: [{
10081
10129
  type: Component,
10082
- args: [{ selector: 'ecl-pagination-item', template: "<a *ngIf=\"!isCurrent\"\n eclLink\n (click)=\"onPageClick($event)\"\n variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate:{ pageNumber: label} }}\"\n [href]=\"href\"\n class=\"ecl-pagination__link\">\n <ng-container *ngIf=\"isPrevious\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n </ng-container>\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n <ng-container *ngIf=\"isNext\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n </ng-container>\n</a>\n\n<ng-container *ngIf=\"isCurrent\">\n <span class=\"ecl-pagination__text ecl-pagination__text--summary\"\n attr.aria-label=\"{{ ariaLabel || 'ecl.pagination.PAGE' | translate:{ pageNumber: label} }}\"\n aria-current=\"true\">\n {{ label }}\n </span>\n <span class=\"ecl-pagination__text ecl-pagination__text--full\"\n aria-current=\"true\">\n {{ 'ecl.pagination.PAGE' | translate:{ pageNumber: label} }}\n </span>\n</ng-container>\n" }]
10130
+ args: [{ selector: 'ecl-pagination-item', template: "<a *ngIf=\"!isCurrent\"\n eclLink\n (click)=\"onPageClick($event)\"\n variant=\"standalone\"\n attr.aria-label=\"{{ ariaLabel || geti18nPageAriaLabelKey() | translate:{ pageNumber: label} }}\"\n [href]=\"href\"\n class=\"ecl-pagination__link\">\n <ng-container *ngIf=\"isPrevious\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-270\"></ecl-icon>\n </ng-container>\n <span eclLinkLabel>{{ label || geti18nPageLabelKey() | translate }}</span>\n <ng-container *ngIf=\"isNext\">\n <ecl-icon icon=\"corner-arrow\" size=\"xs\" transform=\"rotate-90\"></ecl-icon>\n </ng-container>\n</a>\n\n<ng-container *ngIf=\"isCurrent\">\n <span class=\"ecl-pagination__text ecl-pagination__text--summary\"\n aria-current=\"true\">\n {{ label }}\n </span>\n <span class=\"ecl-pagination__text ecl-pagination__text--full\"\n aria-current=\"true\">\n {{ 'ecl.pagination.PAGE' | translate:{ pageNumber: label} }}\n </span>\n</ng-container>\n" }]
10083
10131
  }], propDecorators: { cssClasses: [{
10084
10132
  type: HostBinding,
10085
10133
  args: ['class']