@mozaic-ds/angular 0.24.0-beta.3 → 0.24.0-beta.4

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 (42) hide show
  1. package/adeo/assets/tokens/adeo/css/_variables.scss +50 -200
  2. package/adeo/assets/tokens/adeo/js/tokens.js +575 -575
  3. package/adeo/assets/tokens/adeo/js/tokensObject.js +12457 -9652
  4. package/adeo/assets/tokens/adeo/scss/_tokens.scss +240 -239
  5. package/adeo/components/header/header.component.d.ts +18 -7
  6. package/adeo/components/header/header.module.d.ts +2 -1
  7. package/adeo/components/header/index.d.ts +1 -0
  8. package/adeo/components/kpi/public-api.d.ts +1 -0
  9. package/adeo/components/public-api.d.ts +1 -1
  10. package/adeo/esm2020/components/header/header.component.mjs +89 -23
  11. package/adeo/esm2020/components/header/header.module.mjs +5 -4
  12. package/adeo/esm2020/components/header/index.mjs +2 -1
  13. package/adeo/esm2020/components/kpi/public-api.mjs +2 -0
  14. package/adeo/esm2020/components/public-api.mjs +2 -2
  15. package/adeo/fesm2015/mozaic-ds-angular.mjs +92 -32
  16. package/adeo/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  17. package/adeo/fesm2020/mozaic-ds-angular.mjs +91 -31
  18. package/adeo/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  19. package/adeo/package.json +1 -1
  20. package/assets/tokens/adeo/css/_variables.scss +50 -200
  21. package/assets/tokens/adeo/js/tokens.js +575 -575
  22. package/assets/tokens/adeo/js/tokensObject.js +12457 -9652
  23. package/assets/tokens/adeo/scss/_tokens.scss +240 -239
  24. package/components/header/header.component.d.ts +18 -7
  25. package/components/header/header.module.d.ts +2 -1
  26. package/components/header/index.d.ts +1 -0
  27. package/components/kpi/public-api.d.ts +1 -0
  28. package/components/public-api.d.ts +1 -1
  29. package/esm2020/components/header/header.component.mjs +89 -23
  30. package/esm2020/components/header/header.module.mjs +5 -4
  31. package/esm2020/components/header/index.mjs +2 -1
  32. package/esm2020/components/kpi/public-api.mjs +2 -0
  33. package/esm2020/components/public-api.mjs +2 -2
  34. package/fesm2015/mozaic-ds-angular.mjs +92 -32
  35. package/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  36. package/fesm2020/mozaic-ds-angular.mjs +91 -31
  37. package/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  38. package/package.json +1 -1
  39. package/adeo/components/header/header-animation.d.ts +0 -1
  40. package/adeo/esm2020/components/header/header-animation.mjs +0 -7
  41. package/components/header/header-animation.d.ts +0 -1
  42. package/esm2020/components/header/header-animation.mjs +0 -7
@@ -4,8 +4,8 @@ import * as i1 from '@angular/common';
4
4
  import { CommonModule, DOCUMENT } from '@angular/common';
5
5
  import * as i2 from '@angular/forms';
6
6
  import { NG_VALUE_ACCESSOR, FormsModule, NgControl, FormControlName, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';
7
- import { fromEvent, shareReplay, BehaviorSubject, Subject, startWith, map, of, tap, catchError, throwError, finalize, first, debounceTime, filter, switchMap, takeUntil, merge, combineLatest, delay as delay$1, throttleTime, pairwise, distinctUntilChanged, share } from 'rxjs';
8
- import { trigger, transition, group, query, style, animate, state } from '@angular/animations';
7
+ import { fromEvent, shareReplay, BehaviorSubject, Subject, startWith, map, of, tap, catchError, throwError, finalize, first, debounceTime, filter, switchMap, takeUntil, merge, combineLatest, delay as delay$1, pairwise } from 'rxjs';
8
+ import { trigger, transition, group, query, style, animate } from '@angular/animations';
9
9
  import { delay } from 'rxjs/operators';
10
10
  import * as i1$1 from '@angular/common/http';
11
11
  import * as i1$2 from '@angular/router';
@@ -4081,15 +4081,10 @@ var Direction;
4081
4081
  Direction["Down"] = "Down";
4082
4082
  })(Direction || (Direction = {}));
4083
4083
 
4084
- const headerAnimation = trigger('widthGrow', [
4085
- state('closed', style({ opacity: 0, transform: 'translateY(-100%)' })),
4086
- state('open', style({ opacity: 1, transform: 'translateY(0)' })),
4087
- transition('* => *', animate('300ms ease-in')),
4088
- ]);
4089
-
4090
4084
  class HeaderComponent {
4091
- constructor(cdRef) {
4085
+ constructor(cdRef, elementRef) {
4092
4086
  this.cdRef = cdRef;
4087
+ this.elementRef = elementRef;
4093
4088
  this.title = '';
4094
4089
  this.subtitle = '';
4095
4090
  this.badgeType = 'information';
@@ -4098,32 +4093,86 @@ class HeaderComponent {
4098
4093
  this.showShadow = true;
4099
4094
  this.sticky = false;
4100
4095
  this.animate = false;
4101
- this.showParent = true;
4102
- this.state = 'open';
4096
+ this.showBack = false;
4097
+ this.backButtonLabel = 'Back';
4098
+ this.backEvent = new EventEmitter();
4099
+ this.directionChangeEvent = new EventEmitter();
4100
+ this.direction = Direction.Up;
4101
+ this.showTabs = true;
4102
+ this.showBreadcrumb = true;
4103
4103
  }
4104
4104
  ngAfterViewInit() {
4105
- var _a, _b;
4106
- if (((_a = this.parentRef) === null || _a === void 0 ? void 0 : _a.nativeElement.children) &&
4107
- ((_b = this.parentRef) === null || _b === void 0 ? void 0 : _b.nativeElement.children.length) === 0) {
4108
- this.showParent = false;
4105
+ var _a, _b, _c, _d;
4106
+ if (this.tabsRef == null ||
4107
+ (((_a = this.tabsRef) === null || _a === void 0 ? void 0 : _a.nativeElement.children) && ((_b = this.tabsRef) === null || _b === void 0 ? void 0 : _b.nativeElement.children.length) === 0)) {
4108
+ this.showTabs = false;
4109
4109
  }
4110
- if (this.animate && this.sticky) {
4111
- fromEvent(window, 'scroll')
4112
- .pipe(throttleTime(50), map(() => window.pageYOffset), pairwise(), map(([y1, y2]) => (y2 < y1 ? Direction.Up : Direction.Down)), distinctUntilChanged(), share())
4113
- .subscribe((x) => {
4114
- this.state === 'closed' ? (this.state = 'open') : (this.state = 'closed');
4115
- this.cdRef.detectChanges();
4116
- });
4110
+ if (this.breadcrumbRef == null ||
4111
+ (((_c = this.breadcrumbRef) === null || _c === void 0 ? void 0 : _c.nativeElement.children) &&
4112
+ ((_d = this.breadcrumbRef) === null || _d === void 0 ? void 0 : _d.nativeElement.children.length) === 0)) {
4113
+ this.showBreadcrumb = false;
4117
4114
  }
4115
+ this.scroll();
4118
4116
  this.cdRef.detectChanges();
4119
4117
  }
4118
+ onParentScroll(parentElement) {
4119
+ let lastScrollTop = parentElement.scrollTop || 0;
4120
+ const handleScroll = () => {
4121
+ const currentScrollTop = parentElement.scrollTop || 0;
4122
+ if (currentScrollTop > lastScrollTop) {
4123
+ this.direction = Direction.Down;
4124
+ }
4125
+ else {
4126
+ this.direction = Direction.Up;
4127
+ }
4128
+ this.directionChangeEvent.emit(this.direction);
4129
+ lastScrollTop = currentScrollTop;
4130
+ this.cdRef.detectChanges();
4131
+ };
4132
+ parentElement.addEventListener('scroll', handleScroll);
4133
+ }
4134
+ scroll() {
4135
+ if (this.animate && this.sticky) {
4136
+ const parentElement = this.findParentWithScroll(this.elementRef.nativeElement);
4137
+ if (parentElement) {
4138
+ this.onParentScroll(parentElement);
4139
+ }
4140
+ else {
4141
+ fromEvent(window, 'scroll')
4142
+ .pipe(map(() => window.scrollY), pairwise(), map(([y1, y2]) => {
4143
+ return y2 < y1 ? Direction.Up : Direction.Down;
4144
+ }))
4145
+ .subscribe((direction) => {
4146
+ this.direction = direction;
4147
+ this.directionChangeEvent.emit(this.direction);
4148
+ this.cdRef.detectChanges();
4149
+ });
4150
+ }
4151
+ }
4152
+ }
4153
+ findParentWithScroll(element) {
4154
+ if (element.parentElement) {
4155
+ const parent = element.parentElement;
4156
+ const hasOverflow = window.getComputedStyle(parent).overflow;
4157
+ if (hasOverflow === 'auto' || hasOverflow === 'scroll') {
4158
+ return parent;
4159
+ }
4160
+ else {
4161
+ return this.findParentWithScroll(parent);
4162
+ }
4163
+ }
4164
+ return null;
4165
+ }
4166
+ back() {
4167
+ this.backEvent.emit(true);
4168
+ }
4120
4169
  }
4121
- HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
4122
- HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: HeaderComponent, selector: "moz-header", inputs: { title: "title", subtitle: "subtitle", badgeType: "badgeType", badgeContent: "badgeContent", size: "size", showShadow: "showShadow", sticky: "sticky", animate: "animate" }, viewQueries: [{ propertyName: "parentRef", first: true, predicate: ["parentRef"], descendants: true }], ngImport: i0, template: "<div\n class=\"mc-header\"\n [ngClass]=\"[showShadow ? 'mc-header--shadow' : '', sticky ? 'mc-header--sticky' : '']\"\n [@widthGrow]=\"state\"\n>\n <div class=\"mc-header__container\">\n <ng-container ngProjectAs=\"'moz-breadcrumb'\">\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n </ng-container>\n <div class=\"mc-header__actions\">\n <div class=\"mc-header__icons\">\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n <div class=\"mc-header__selector\">\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div class=\"mc-header__content-aside\">\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #parentRef *ngIf=\"showParent\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:600;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.4375rem;line-height:1.3913043478}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BadgeComponent, selector: "[moz-badge]", inputs: ["type"] }], animations: [headerAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4170
+ HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
4171
+ HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: HeaderComponent, selector: "moz-header", inputs: { title: "title", subtitle: "subtitle", badgeType: "badgeType", badgeContent: "badgeContent", size: "size", showShadow: "showShadow", sticky: "sticky", animate: "animate", showBack: "showBack", backButtonLabel: "backButtonLabel" }, outputs: { backEvent: "backEvent", directionChangeEvent: "directionChangeEvent" }, viewQueries: [{ propertyName: "tabsRef", first: true, predicate: ["tabsRef"], descendants: true }, { propertyName: "breadcrumbRef", first: true, predicate: ["breadcrumbRef"], descendants: true }], ngImport: i0, template: "<div\n class=\"mc-header\"\n [ngClass]=\"[\n showShadow ? 'mc-header--shadow' : '',\n sticky ? 'mc-header--sticky' : '',\n animate ? 'mc-header--animate' : '',\n animate ? (direction === 'Up' ? 'mc-header--up' : 'mc-header--down') : ''\n ]\"\n>\n <div class=\"mc-header__container\">\n <ng-container ngProjectAs=\"'moz-breadcrumb'\" #breadcrumbRef *ngIf=\"showBreadcrumb && !showBack\">\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n </ng-container>\n <div class=\"mc-header__actions\">\n <div class=\"mc-header__icons\">\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n <div class=\"mc-header__selector\">\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:600;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.4375rem;line-height:1.3913043478}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: BadgeComponent, selector: "[moz-badge]", inputs: ["type"] }, { kind: "component", type: IconComponent, selector: "moz-icon", inputs: ["iconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4123
4172
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderComponent, decorators: [{
4124
4173
  type: Component,
4125
- args: [{ selector: 'moz-header', changeDetection: ChangeDetectionStrategy.OnPush, animations: [headerAnimation], template: "<div\n class=\"mc-header\"\n [ngClass]=\"[showShadow ? 'mc-header--shadow' : '', sticky ? 'mc-header--sticky' : '']\"\n [@widthGrow]=\"state\"\n>\n <div class=\"mc-header__container\">\n <ng-container ngProjectAs=\"'moz-breadcrumb'\">\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n </ng-container>\n <div class=\"mc-header__actions\">\n <div class=\"mc-header__icons\">\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n <div class=\"mc-header__selector\">\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div class=\"mc-header__content-aside\">\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #parentRef *ngIf=\"showParent\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:600;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.4375rem;line-height:1.3913043478}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}\n"] }]
4126
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { title: [{
4174
+ args: [{ selector: 'moz-header', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"mc-header\"\n [ngClass]=\"[\n showShadow ? 'mc-header--shadow' : '',\n sticky ? 'mc-header--sticky' : '',\n animate ? 'mc-header--animate' : '',\n animate ? (direction === 'Up' ? 'mc-header--up' : 'mc-header--down') : ''\n ]\"\n>\n <div class=\"mc-header__container\">\n <ng-container ngProjectAs=\"'moz-breadcrumb'\" #breadcrumbRef *ngIf=\"showBreadcrumb && !showBack\">\n <ng-content select=\"moz-breadcrumb\"></ng-content>\n </ng-container>\n <div class=\"mc-header__actions\">\n <div class=\"mc-header__icons\">\n <ng-content select=\"[icons]\"></ng-content>\n </div>\n <div class=\"mc-header__selector\">\n <ng-content select=\"[selector]\"></ng-content>\n </div>\n </div>\n <div class=\"mc-header__content\">\n <div class=\"mc-header__content-main\">\n <button\n class=\"mc-header__back\"\n type=\"button\"\n *ngIf=\"showBack && !showBreadcrumb\"\n (click)=\"back()\"\n >\n <moz-icon iconName=\"Navigation_Arrow_Back_24px\"></moz-icon>\n <span class=\"mc-header__back-label\">{{ backButtonLabel }}</span>\n </button>\n <h1 class=\"mc-header__title mc-header__title--{{ size }}\">{{ title }}</h1>\n </div>\n <div\n class=\"mc-header__content-aside\"\n [ngClass]=\"[showBack && !showBreadcrumb ? 'can-navigate' : '']\"\n >\n <span class=\"mc-header__subtitle\" *ngIf=\"subtitle\">{{ subtitle }}</span>\n <div *ngIf=\"badgeContent\" moz-badge [type]=\"badgeType || 'information'\">\n {{ badgeContent }}\n </div>\n </div>\n </div>\n </div>\n <div class=\"mc-header__tabs mc-divider-top mc-divider-top--light\" #tabsRef *ngIf=\"showTabs\">\n <ng-container ngProjectAs=\"'moz-tabs'\">\n <ng-content select=\"moz-tabs\"></ng-content>\n </ng-container>\n </div>\n</div>\n", styles: [".mc-divider{position:relative}.mc-divider-top{border-top:1px solid #666666}.mc-divider-top--lightest{border-top-color:#fff}.mc-divider-top--light{border-top-color:#b3b3b3}.mc-divider-top--dark{border-top-color:#000}.mc-divider-top--m{border-top-width:.25rem}.mc-divider-top--l{border-top-width:.5rem}.mc-divider-right{border-right:1px solid #666666}.mc-divider-right--lightest{border-right-color:#fff}.mc-divider-right--light{border-right-color:#b3b3b3}.mc-divider-right--dark{border-right-color:#000}.mc-divider-right--m{border-right-width:.25rem}.mc-divider-right--l{border-right-width:.5rem}.mc-divider-bottom{border-bottom:1px solid #666666}.mc-divider-bottom--lightest{border-bottom-color:#fff}.mc-divider-bottom--light{border-bottom-color:#b3b3b3}.mc-divider-bottom--dark{border-bottom-color:#000}.mc-divider-bottom--m{border-bottom-width:.25rem}.mc-divider-bottom--l{border-bottom-width:.5rem}.mc-divider-left{border-left:1px solid #666666}.mc-divider-left--lightest{border-left-color:#fff}.mc-divider-left--light{border-left-color:#b3b3b3}.mc-divider-left--dark{border-left-color:#000}.mc-divider-left--m{border-left-width:.25rem}.mc-divider-left--l{border-left-width:.5rem}.mc-header{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;z-index:5}.mc-header__container{padding:.5rem 2rem 1rem;display:grid}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__container{padding-left:3rem;padding-right:3rem}}.mc-header__breadcrumb{grid-column:1;grid-row:auto}.mc-header__content{color:#000;grid-column:1;grid-row:auto;padding-top:.5rem}.mc-header__content-main{display:flex;align-items:center;gap:1rem}.mc-header__content-main:not(:only-child){margin-bottom:.25rem}.mc-header__content-aside{display:flex;align-items:flex-start;flex-direction:column;gap:.5rem;padding-bottom:.5rem}.mc-header__content-aside.can-navigate{padding-left:3rem}@media screen and (min-width: 1024px){.mc-header__content-aside{align-items:center;flex-direction:row;gap:1rem;padding-bottom:0}}.mc-header__back{margin:0;box-shadow:none;text-decoration:none;outline:none;border:none;cursor:pointer;padding:0;align-items:center;background-color:transparent;justify-content:center;color:currentColor;display:flex;height:2rem;width:2rem}.mc-header__back-icon{color:#333;height:1.5rem;width:1.5rem}.mc-header__back-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mc-header__title{font-size:1.75rem;line-height:1.2857142857;font-weight:600;margin-top:0;margin-bottom:0}.mc-header__title--s{font-size:1.4375rem;line-height:1.3913043478}.mc-header__title--l{font-size:2.125rem;line-height:1.2941176471}.mc-header__title--xl{font-size:2.5625rem;line-height:1.3658536585}.mc-header__subtitle{font-size:1rem;line-height:1.375}.mc-header__actions,.mc-header__icons{display:flex;gap:1.5rem}.mc-header__actions{align-items:flex-end;align-self:flex-start;grid-column:1;grid-row:1;justify-self:end;margin-bottom:.5rem;min-height:2.5rem}@media screen and (min-width: 1024px){.mc-header__actions{grid-column:2;grid-row:1;margin-bottom:0}}.mc-header__selector:not(:only-child){padding-left:1.5625rem;position:relative}.mc-header__selector:not(:only-child):before{background:#b3b3b3;content:\"\";display:block;width:1px;height:100%;position:absolute;top:50%;transform:translateY(-50%);left:0}.mc-header__tabs{padding-left:2rem;padding-right:2rem}@media (min-width: 1024px) and (max-width: 1279px){.mc-header__tabs{padding-left:3rem;padding-right:3rem}}.mc-header--shadow{box-shadow:0 1px 5px #19191933}.mc-header--animate{left:0;position:absolute;right:0;transition:transform ease-out .4s}.mc-header--sticky{position:sticky;top:0}.mc-header--up{transform:translateY(0)}.mc-header--down{transform:translateY(calc(-100% - 5px))}\n"] }]
4175
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { title: [{
4127
4176
  type: Input
4128
4177
  }], subtitle: [{
4129
4178
  type: Input
@@ -4139,21 +4188,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
4139
4188
  type: Input
4140
4189
  }], animate: [{
4141
4190
  type: Input
4142
- }], parentRef: [{
4191
+ }], showBack: [{
4192
+ type: Input
4193
+ }], backButtonLabel: [{
4194
+ type: Input
4195
+ }], backEvent: [{
4196
+ type: Output
4197
+ }], directionChangeEvent: [{
4198
+ type: Output
4199
+ }], tabsRef: [{
4143
4200
  type: ViewChild,
4144
- args: ['parentRef']
4201
+ args: ['tabsRef']
4202
+ }], breadcrumbRef: [{
4203
+ type: ViewChild,
4204
+ args: ['breadcrumbRef']
4145
4205
  }] } });
4146
4206
 
4147
4207
  class HeaderModule {
4148
4208
  }
4149
4209
  HeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4150
- HeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, declarations: [HeaderComponent], imports: [CommonModule, BadgeModule], exports: [HeaderComponent] });
4151
- HeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, imports: [CommonModule, BadgeModule] });
4210
+ HeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, declarations: [HeaderComponent], imports: [CommonModule, BadgeModule, IconModule], exports: [HeaderComponent] });
4211
+ HeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, imports: [CommonModule, BadgeModule, IconModule] });
4152
4212
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, decorators: [{
4153
4213
  type: NgModule,
4154
4214
  args: [{
4155
4215
  declarations: [HeaderComponent],
4156
- imports: [CommonModule, BadgeModule],
4216
+ imports: [CommonModule, BadgeModule, IconModule],
4157
4217
  exports: [HeaderComponent],
4158
4218
  }]
4159
4219
  }] });
@@ -4636,5 +4696,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
4636
4696
  * Generated bundle index. Do not edit.
4637
4697
  */
4638
4698
 
4639
- export { AutocompleteComponent, AutocompleteModule, BadgeComponent, BadgeModule, BreadcrumbComponent, BreadcrumbModule, BuiltItMenuComponent, BuiltItMenuModule, ButtonComponent, ButtonModule, CHECKBOX_CONTROL_VALUE_ACCESSOR, CardComponent, CardModule, CheckboxComponent, CheckboxModule, DIALOG_CONFIG, DIALOG_DATA, DIALOG_REF, DialogComponent, DialogModule, DialogService, DropdownComponent, DropdownModule, FieldComponent, FieldErrorComponent, FieldModule, FileUploaderComponent, FileUploaderModule, HeaderComponent, HeaderModule, HeadingComponent, HeadingModule, IconComponent, IconModule, IconService, InputIconDirective, KpiComponent, KpiIcon, KpiModule, LAYER_CONFIG, LAYER_DATA, LAYER_REF, LayerComponent, LayerModule, LayerService, LinkComponent, LinkModule, ListboxComponent, ListboxModule, LoaderComponent, LoaderModule, LoaderService, MOZ_INPUT_ICON, MozDatatableCaptionComponent, MozDatatableComponent, MozDatatableContentCellComponent, MozDatatableFooterComponent, MozDatatableHeaderCellComponent, MozDatatableManagementComponent, MozDatatableManagementContentComponent, MozDatatableManagementModule, MozDatatableModule, MozDatatableRowExpansionContentComponent, MozDatatableSelectionComponent, MozDatatableSortDirective, MozDragNDropDirective, NOTIFICATION_CONFIG, NotificationComponent, NotificationConfigFactory, NotificationContainerComponent, NotificationFooterComponent, NotificationMessageComponent, NotificationModule, NotificationService, NotificationTitleComponent, PAGINATION_CONTROL_VALUE_ACCESSOR, PaginationComponent, PaginationModule, PhoneNumberComponent, PhoneNumberModule, ProgressBarComponent, ProgressBarModule, QuantitySelectorComponent, QuantitySelectorModule, SelectComponent, SelectModule, StepComponent, StepperComponent, StepperModule, TOGGLE_CONTROL_VALUE_ACCESSOR, TabComponent, TabsComponent, TabsModule, TagComponent, TagModule, TaglistComponent, TaglistLayerContentComponent, TaglistModule, TextAreaComponent, TextAreaModule, TextInputComponent, TextInputModule, ToggleComponent, ToggleModule, TooltipComponent, TooltipDirective, TooltipModule, UploadedFilesComponent, castBooleanProperty, generateId, getRandomNumber, overwriteStyle };
4699
+ export { AutocompleteComponent, AutocompleteModule, BadgeComponent, BadgeModule, BreadcrumbComponent, BreadcrumbModule, BuiltItMenuComponent, BuiltItMenuModule, ButtonComponent, ButtonModule, CHECKBOX_CONTROL_VALUE_ACCESSOR, CardComponent, CardModule, CheckboxComponent, CheckboxModule, DIALOG_CONFIG, DIALOG_DATA, DIALOG_REF, DialogComponent, DialogModule, DialogService, Direction, DropdownComponent, DropdownModule, FieldComponent, FieldErrorComponent, FieldModule, FileUploaderComponent, FileUploaderModule, HeaderComponent, HeaderModule, HeadingComponent, HeadingModule, IconComponent, IconModule, IconService, InputIconDirective, KpiComponent, KpiIcon, KpiModule, LAYER_CONFIG, LAYER_DATA, LAYER_REF, LayerComponent, LayerModule, LayerService, LinkComponent, LinkModule, ListboxComponent, ListboxModule, LoaderComponent, LoaderModule, LoaderService, MOZ_INPUT_ICON, MozDatatableCaptionComponent, MozDatatableComponent, MozDatatableContentCellComponent, MozDatatableFooterComponent, MozDatatableHeaderCellComponent, MozDatatableManagementComponent, MozDatatableManagementContentComponent, MozDatatableManagementModule, MozDatatableModule, MozDatatableRowExpansionContentComponent, MozDatatableSelectionComponent, MozDatatableSortDirective, MozDragNDropDirective, NOTIFICATION_CONFIG, NotificationComponent, NotificationConfigFactory, NotificationContainerComponent, NotificationFooterComponent, NotificationMessageComponent, NotificationModule, NotificationService, NotificationTitleComponent, PAGINATION_CONTROL_VALUE_ACCESSOR, PaginationComponent, PaginationModule, PhoneNumberComponent, PhoneNumberModule, ProgressBarComponent, ProgressBarModule, QuantitySelectorComponent, QuantitySelectorModule, SelectComponent, SelectModule, StepComponent, StepperComponent, StepperModule, TOGGLE_CONTROL_VALUE_ACCESSOR, TabComponent, TabsComponent, TabsModule, TagComponent, TagModule, TaglistComponent, TaglistLayerContentComponent, TaglistModule, TextAreaComponent, TextAreaModule, TextInputComponent, TextInputModule, ToggleComponent, ToggleModule, TooltipComponent, TooltipDirective, TooltipModule, UploadedFilesComponent, castBooleanProperty, generateId, getRandomNumber, overwriteStyle };
4640
4700
  //# sourceMappingURL=mozaic-ds-angular.mjs.map