@mozaic-ds/angular 0.24.0-beta.2 → 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 (110) 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/assets/tokens/bricoman/android/colors.xml +483 -0
  6. package/adeo/assets/tokens/bricoman/android/font_dimens.xml +18 -0
  7. package/adeo/assets/tokens/bricoman/css/_variables.scss +477 -0
  8. package/adeo/assets/tokens/bricoman/css/root.scss +479 -0
  9. package/adeo/assets/tokens/bricoman/ios/StyleDictionaryColor.h +491 -0
  10. package/adeo/assets/tokens/bricoman/ios/StyleDictionaryColor.m +503 -0
  11. package/adeo/assets/tokens/bricoman/ios/StyleDictionaryColor.swift +486 -0
  12. package/adeo/assets/tokens/bricoman/ios/StyleDictionarySize.h +69 -0
  13. package/adeo/assets/tokens/bricoman/ios/StyleDictionarySize.m +70 -0
  14. package/adeo/assets/tokens/bricoman/ios/StyleDictionarySize.swift +71 -0
  15. package/adeo/assets/tokens/bricoman/js/tokens.js +575 -0
  16. package/adeo/assets/tokens/bricoman/js/tokensObject.js +12444 -0
  17. package/adeo/assets/tokens/bricoman/scss/_tokens.scss +1630 -0
  18. package/adeo/components/breadcrumb/breadcrumb.component.d.ts +2 -1
  19. package/adeo/components/datatable/moz-datatable.component.d.ts +2 -0
  20. package/adeo/components/header/header.component.d.ts +33 -0
  21. package/adeo/components/header/header.module.d.ts +10 -0
  22. package/adeo/components/header/index.d.ts +3 -0
  23. package/adeo/components/header/model/header.d.ts +5 -0
  24. package/adeo/components/header/public-api.d.ts +1 -0
  25. package/adeo/components/kpi/index.d.ts +3 -0
  26. package/adeo/components/kpi/kpi.component.d.ts +14 -0
  27. package/adeo/components/kpi/kpi.module.d.ts +9 -0
  28. package/adeo/components/kpi/model/kpi.d.ts +4 -0
  29. package/adeo/components/kpi/public-api.d.ts +1 -0
  30. package/adeo/components/progress-bar/progress-bar.component.d.ts +2 -2
  31. package/adeo/components/public-api.d.ts +2 -0
  32. package/adeo/esm2020/components/autocomplete/autocomplete.component.mjs +6 -3
  33. package/adeo/esm2020/components/breadcrumb/breadcrumb.component.mjs +6 -3
  34. package/adeo/esm2020/components/datatable/components/footer/moz-datatable-footer.component.mjs +13 -3
  35. package/adeo/esm2020/components/datatable/moz-datatable.component.mjs +13 -3
  36. package/adeo/esm2020/components/dropdown/dropdown.component.mjs +6 -3
  37. package/adeo/esm2020/components/header/header.component.mjs +129 -0
  38. package/adeo/esm2020/components/header/header.module.mjs +20 -0
  39. package/adeo/esm2020/components/header/index.mjs +4 -0
  40. package/adeo/esm2020/components/header/model/header.mjs +6 -0
  41. package/adeo/esm2020/components/header/public-api.mjs +2 -0
  42. package/adeo/esm2020/components/kpi/index.mjs +4 -0
  43. package/adeo/esm2020/components/kpi/kpi.component.mjs +47 -0
  44. package/adeo/esm2020/components/kpi/kpi.module.mjs +19 -0
  45. package/adeo/esm2020/components/kpi/model/kpi.mjs +6 -0
  46. package/adeo/esm2020/components/kpi/public-api.mjs +2 -0
  47. package/adeo/esm2020/components/pagination/pagination.component.mjs +2 -2
  48. package/adeo/esm2020/components/progress-bar/progress-bar.component.mjs +6 -6
  49. package/adeo/esm2020/components/public-api.mjs +3 -1
  50. package/adeo/esm2020/components/tabs/tabs.component.mjs +3 -3
  51. package/adeo/fesm2015/mozaic-ds-angular.mjs +262 -24
  52. package/adeo/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  53. package/adeo/fesm2020/mozaic-ds-angular.mjs +253 -20
  54. package/adeo/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  55. package/adeo/package.json +1 -1
  56. package/assets/tokens/adeo/css/_variables.scss +50 -200
  57. package/assets/tokens/adeo/js/tokens.js +575 -575
  58. package/assets/tokens/adeo/js/tokensObject.js +12457 -9652
  59. package/assets/tokens/adeo/scss/_tokens.scss +240 -239
  60. package/assets/tokens/bricoman/android/colors.xml +483 -0
  61. package/assets/tokens/bricoman/android/font_dimens.xml +18 -0
  62. package/assets/tokens/bricoman/css/_variables.scss +477 -0
  63. package/assets/tokens/bricoman/css/root.scss +479 -0
  64. package/assets/tokens/bricoman/ios/StyleDictionaryColor.h +491 -0
  65. package/assets/tokens/bricoman/ios/StyleDictionaryColor.m +503 -0
  66. package/assets/tokens/bricoman/ios/StyleDictionaryColor.swift +486 -0
  67. package/assets/tokens/bricoman/ios/StyleDictionarySize.h +69 -0
  68. package/assets/tokens/bricoman/ios/StyleDictionarySize.m +70 -0
  69. package/assets/tokens/bricoman/ios/StyleDictionarySize.swift +71 -0
  70. package/assets/tokens/bricoman/js/tokens.js +575 -0
  71. package/assets/tokens/bricoman/js/tokensObject.js +12444 -0
  72. package/assets/tokens/bricoman/scss/_tokens.scss +1630 -0
  73. package/components/breadcrumb/breadcrumb.component.d.ts +2 -1
  74. package/components/datatable/moz-datatable.component.d.ts +2 -0
  75. package/components/header/header.component.d.ts +33 -0
  76. package/components/header/header.module.d.ts +10 -0
  77. package/components/header/index.d.ts +3 -0
  78. package/components/header/model/header.d.ts +5 -0
  79. package/components/header/public-api.d.ts +1 -0
  80. package/components/kpi/index.d.ts +3 -0
  81. package/components/kpi/kpi.component.d.ts +14 -0
  82. package/components/kpi/kpi.module.d.ts +9 -0
  83. package/components/kpi/model/kpi.d.ts +4 -0
  84. package/components/kpi/public-api.d.ts +1 -0
  85. package/components/progress-bar/progress-bar.component.d.ts +2 -2
  86. package/components/public-api.d.ts +2 -0
  87. package/esm2020/components/autocomplete/autocomplete.component.mjs +6 -3
  88. package/esm2020/components/breadcrumb/breadcrumb.component.mjs +6 -3
  89. package/esm2020/components/datatable/components/footer/moz-datatable-footer.component.mjs +13 -3
  90. package/esm2020/components/datatable/moz-datatable.component.mjs +13 -3
  91. package/esm2020/components/dropdown/dropdown.component.mjs +6 -3
  92. package/esm2020/components/header/header.component.mjs +129 -0
  93. package/esm2020/components/header/header.module.mjs +20 -0
  94. package/esm2020/components/header/index.mjs +4 -0
  95. package/esm2020/components/header/model/header.mjs +6 -0
  96. package/esm2020/components/header/public-api.mjs +2 -0
  97. package/esm2020/components/kpi/index.mjs +4 -0
  98. package/esm2020/components/kpi/kpi.component.mjs +47 -0
  99. package/esm2020/components/kpi/kpi.module.mjs +19 -0
  100. package/esm2020/components/kpi/model/kpi.mjs +6 -0
  101. package/esm2020/components/kpi/public-api.mjs +2 -0
  102. package/esm2020/components/pagination/pagination.component.mjs +2 -2
  103. package/esm2020/components/progress-bar/progress-bar.component.mjs +6 -6
  104. package/esm2020/components/public-api.mjs +3 -1
  105. package/esm2020/components/tabs/tabs.component.mjs +3 -3
  106. package/fesm2015/mozaic-ds-angular.mjs +262 -24
  107. package/fesm2015/mozaic-ds-angular.mjs.map +1 -1
  108. package/fesm2020/mozaic-ds-angular.mjs +253 -20
  109. package/fesm2020/mozaic-ds-angular.mjs.map +1 -1
  110. package/package.json +1 -1
@@ -0,0 +1,20 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { HeaderComponent } from './header.component';
4
+ import { BadgeModule } from '../badge/badge.module';
5
+ import { IconModule } from '../icon/icon.module';
6
+ import * as i0 from "@angular/core";
7
+ export class HeaderModule {
8
+ }
9
+ HeaderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
10
+ HeaderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, declarations: [HeaderComponent], imports: [CommonModule, BadgeModule, IconModule], exports: [HeaderComponent] });
11
+ HeaderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, imports: [CommonModule, BadgeModule, IconModule] });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: HeaderModule, decorators: [{
13
+ type: NgModule,
14
+ args: [{
15
+ declarations: [HeaderComponent],
16
+ imports: [CommonModule, BadgeModule, IconModule],
17
+ exports: [HeaderComponent],
18
+ }]
19
+ }] });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQU9qRCxNQUFNLE9BQU8sWUFBWTs7eUdBQVosWUFBWTswR0FBWixZQUFZLGlCQUpSLGVBQWUsYUFDcEIsWUFBWSxFQUFFLFdBQVcsRUFBRSxVQUFVLGFBQ3JDLGVBQWU7MEdBRWQsWUFBWSxZQUhiLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVTsyRkFHcEMsWUFBWTtrQkFMeEIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxlQUFlLENBQUM7b0JBQy9CLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDO29CQUNoRCxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUM7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2hlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgQmFkZ2VNb2R1bGUgfSBmcm9tICcuLi9iYWRnZS9iYWRnZS5tb2R1bGUnO1xuaW1wb3J0IHsgSWNvbk1vZHVsZSB9IGZyb20gJy4uL2ljb24vaWNvbi5tb2R1bGUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtIZWFkZXJDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBCYWRnZU1vZHVsZSwgSWNvbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtIZWFkZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBIZWFkZXJNb2R1bGUge31cbiJdfQ==
@@ -0,0 +1,4 @@
1
+ export * from './header.component';
2
+ export * from './header.module';
3
+ export * from './model/header';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9oZWFkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsZ0JBQWdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2hlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9oZWFkZXIubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWwvaGVhZGVyJztcbiJdfQ==
@@ -0,0 +1,6 @@
1
+ export var Direction;
2
+ (function (Direction) {
3
+ Direction["Up"] = "Up";
4
+ Direction["Down"] = "Down";
5
+ })(Direction || (Direction = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaGVhZGVyL21vZGVsL2hlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLHNCQUFTLENBQUE7SUFDVCwwQkFBYSxDQUFBO0FBQ2YsQ0FBQyxFQUhXLFNBQVMsS0FBVCxTQUFTLFFBR3BCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgdGl0bGVTaXplcyA9ICdzJyB8ICdtJyB8ICdsJyB8ICd4bCc7XG5leHBvcnQgZW51bSBEaXJlY3Rpb24ge1xuICBVcCA9ICdVcCcsXG4gIERvd24gPSAnRG93bicsXG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2hlYWRlci9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -0,0 +1,4 @@
1
+ export * from './kpi.component';
2
+ export * from './kpi.module';
3
+ export * from './model/kpi';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9rcGkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4va3BpLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2twaS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC9rcGknO1xuIl19
@@ -0,0 +1,47 @@
1
+ import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
2
+ import { KpiIcon } from './model/kpi';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../icon/icon.component";
6
+ export class KpiComponent {
7
+ constructor() {
8
+ this.value = '';
9
+ this.iconname = KpiIcon.Top;
10
+ this.iconcolor = '';
11
+ this.label = '';
12
+ this.type = '';
13
+ this.detail = '';
14
+ }
15
+ getSize() {
16
+ let size = 'small';
17
+ if (this.label && this.label.length > 0 && !this.detail) {
18
+ size = 'medium';
19
+ }
20
+ else if (this.detail && this.detail.length > 0) {
21
+ size = 'large';
22
+ }
23
+ return size;
24
+ }
25
+ labelOutsideContent() {
26
+ return this.label != null && this.label.length > 0 && this.getSize() !== 'large';
27
+ }
28
+ }
29
+ KpiComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: KpiComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
30
+ KpiComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: KpiComponent, selector: "moz-kpi", inputs: { value: "value", iconname: "iconname", iconcolor: "iconcolor", label: "label", type: "type", detail: "detail" }, ngImport: i0, template: "<div class=\"mc-kpi mc-kpi--{{ getSize() }} mc-kpi--{{ type }}\">\n <span class=\"mc-kpi__label\" *ngIf=\"labelOutsideContent()\">{{ label }}</span>\n <div class=\"mc-kpi__content\">\n <div class=\"mc-kpi__main\">\n <span class=\"mc-kpi__label\" *ngIf=\"!labelOutsideContent()\">{{ label }}</span>\n <span class=\"mc-kpi__value\">{{ value }}</span>\n </div>\n <div class=\"mc-kpi__aside\" *ngIf=\"iconname || detail\">\n <span class=\"mc-kpi__detail\" *ngIf=\"detail\">{{ detail }}</span>\n <span class=\"mc-kpi__icon\" *ngIf=\"iconname\"\n ><moz-icon [iconName]=\"iconname\" [ngStyle]=\"{ fill: iconcolor }\"></moz-icon\n ></span>\n </div>\n </div>\n</div>\n", styles: [".mc-kpi{color:var(--color-kpi-text, #005c91);display:inline-block}.mc-kpi__label{font-size:.875rem;line-height:1.2857142857;display:block}.mc-kpi__content{display:flex}.mc-kpi__main{align-items:center;display:flex;justify-content:center}.mc-kpi__value{font-size:.875rem;line-height:1.2857142857;font-weight:600}.mc-kpi__aside{align-items:center;background-color:#fff;color:#333;display:flex;justify-content:center}.mc-kpi__detail{font-size:.875rem;line-height:1.2857142857}.mc-kpi__icon{display:block;height:1rem;width:1rem}.mc-kpi--small .mc-kpi__content{gap:.5rem}.mc-kpi--small .mc-kpi__main{background-color:var(--color-kpi-background, #daeff7);border:1px solid var(--color-kpi-border, #007bb4);border-radius:4px;overflow:hidden;padding:.1875rem .4375rem}.mc-kpi--small .mc-kpi__aside{background-color:transparent}.mc-kpi--medium .mc-kpi__label{color:#000;margin-bottom:.375rem}.mc-kpi--medium .mc-kpi__content{background-color:var(--color-kpi-background, #daeff7);border:1px solid var(--color-kpi-border, #007bb4);border-radius:4px;overflow:hidden}.mc-kpi--medium .mc-kpi__main{flex-grow:1;padding:.5rem .5rem .5rem .4375rem}.mc-kpi--medium .mc-kpi__value{font-size:1rem;line-height:1.375}.mc-kpi--medium .mc-kpi__aside{padding-left:.75rem;padding-right:.6875rem}.mc-kpi--large{background-color:var(--color-kpi-background, #daeff7);border:1px solid var(--color-kpi-border, #007bb4);border-radius:4px;overflow:hidden}.mc-kpi--large .mc-kpi__content{flex-direction:column;width:100%}.mc-kpi--large .mc-kpi__main{flex-direction:column;padding:1rem .9375rem}.mc-kpi--large .mc-kpi__label{font-size:1rem;line-height:1.375}.mc-kpi--large .mc-kpi__value{font-size:2.125rem;line-height:1.2941176471}.mc-kpi--large .mc-kpi__aside{min-height:2.9375rem;padding-right:.6875rem;padding-left:.6875rem;gap:.75rem}.mc-kpi--warning{--color-kpi-background: #fdf1e8;--color-kpi-border: #c65200;--color-kpi-text: #8c3500}.mc-kpi--danger{--color-kpi-background: #fdeaea;--color-kpi-border: #c61112;--color-kpi-text: #8c0003}.mc-kpi--success{--color-kpi-background: #ebf5de;--color-kpi-border: #188803;--color-kpi-text: #006902}.mc-kpi--neutral{--color-kpi-background: #e6e6e6;--color-kpi-border: #666666;--color-kpi-text: #4d4d4d}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.IconComponent, selector: "moz-icon", inputs: ["iconName"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: KpiComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: 'moz-kpi', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"mc-kpi mc-kpi--{{ getSize() }} mc-kpi--{{ type }}\">\n <span class=\"mc-kpi__label\" *ngIf=\"labelOutsideContent()\">{{ label }}</span>\n <div class=\"mc-kpi__content\">\n <div class=\"mc-kpi__main\">\n <span class=\"mc-kpi__label\" *ngIf=\"!labelOutsideContent()\">{{ label }}</span>\n <span class=\"mc-kpi__value\">{{ value }}</span>\n </div>\n <div class=\"mc-kpi__aside\" *ngIf=\"iconname || detail\">\n <span class=\"mc-kpi__detail\" *ngIf=\"detail\">{{ detail }}</span>\n <span class=\"mc-kpi__icon\" *ngIf=\"iconname\"\n ><moz-icon [iconName]=\"iconname\" [ngStyle]=\"{ fill: iconcolor }\"></moz-icon\n ></span>\n </div>\n </div>\n</div>\n", styles: [".mc-kpi{color:var(--color-kpi-text, #005c91);display:inline-block}.mc-kpi__label{font-size:.875rem;line-height:1.2857142857;display:block}.mc-kpi__content{display:flex}.mc-kpi__main{align-items:center;display:flex;justify-content:center}.mc-kpi__value{font-size:.875rem;line-height:1.2857142857;font-weight:600}.mc-kpi__aside{align-items:center;background-color:#fff;color:#333;display:flex;justify-content:center}.mc-kpi__detail{font-size:.875rem;line-height:1.2857142857}.mc-kpi__icon{display:block;height:1rem;width:1rem}.mc-kpi--small .mc-kpi__content{gap:.5rem}.mc-kpi--small .mc-kpi__main{background-color:var(--color-kpi-background, #daeff7);border:1px solid var(--color-kpi-border, #007bb4);border-radius:4px;overflow:hidden;padding:.1875rem .4375rem}.mc-kpi--small .mc-kpi__aside{background-color:transparent}.mc-kpi--medium .mc-kpi__label{color:#000;margin-bottom:.375rem}.mc-kpi--medium .mc-kpi__content{background-color:var(--color-kpi-background, #daeff7);border:1px solid var(--color-kpi-border, #007bb4);border-radius:4px;overflow:hidden}.mc-kpi--medium .mc-kpi__main{flex-grow:1;padding:.5rem .5rem .5rem .4375rem}.mc-kpi--medium .mc-kpi__value{font-size:1rem;line-height:1.375}.mc-kpi--medium .mc-kpi__aside{padding-left:.75rem;padding-right:.6875rem}.mc-kpi--large{background-color:var(--color-kpi-background, #daeff7);border:1px solid var(--color-kpi-border, #007bb4);border-radius:4px;overflow:hidden}.mc-kpi--large .mc-kpi__content{flex-direction:column;width:100%}.mc-kpi--large .mc-kpi__main{flex-direction:column;padding:1rem .9375rem}.mc-kpi--large .mc-kpi__label{font-size:1rem;line-height:1.375}.mc-kpi--large .mc-kpi__value{font-size:2.125rem;line-height:1.2941176471}.mc-kpi--large .mc-kpi__aside{min-height:2.9375rem;padding-right:.6875rem;padding-left:.6875rem;gap:.75rem}.mc-kpi--warning{--color-kpi-background: #fdf1e8;--color-kpi-border: #c65200;--color-kpi-text: #8c3500}.mc-kpi--danger{--color-kpi-background: #fdeaea;--color-kpi-border: #c61112;--color-kpi-text: #8c0003}.mc-kpi--success{--color-kpi-background: #ebf5de;--color-kpi-border: #188803;--color-kpi-text: #006902}.mc-kpi--neutral{--color-kpi-background: #e6e6e6;--color-kpi-border: #666666;--color-kpi-text: #4d4d4d}\n"] }]
34
+ }], propDecorators: { value: [{
35
+ type: Input
36
+ }], iconname: [{
37
+ type: Input
38
+ }], iconcolor: [{
39
+ type: Input
40
+ }], label: [{
41
+ type: Input
42
+ }], type: [{
43
+ type: Input
44
+ }], detail: [{
45
+ type: Input
46
+ }] } });
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3BpLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2twaS9rcGkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMva3BpL2twaS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7O0FBUXRDLE1BQU0sT0FBTyxZQUFZO0lBTnpCO1FBT1csVUFBSyxHQUFXLEVBQUUsQ0FBQztRQUNuQixhQUFRLEdBQVksT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNoQyxjQUFTLEdBQVcsRUFBRSxDQUFDO1FBQ3ZCLFVBQUssR0FBVyxFQUFFLENBQUM7UUFDbkIsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUNsQixXQUFNLEdBQVcsRUFBRSxDQUFDO0tBZTlCO0lBYlEsT0FBTztRQUNaLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQztRQUNuQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUN2RCxJQUFJLEdBQUcsUUFBUSxDQUFDO1NBQ2pCO2FBQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUNoRCxJQUFJLEdBQUcsT0FBTyxDQUFDO1NBQ2hCO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sbUJBQW1CO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxPQUFPLENBQUM7SUFDbkYsQ0FBQzs7eUdBcEJVLFlBQVk7NkZBQVosWUFBWSx5S0NUekIsb3NCQWVBOzJGRE5hLFlBQVk7a0JBTnhCLFNBQVM7K0JBQ0UsU0FBUyxtQkFHRix1QkFBdUIsQ0FBQyxNQUFNOzhCQUd0QyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtwaUljb24gfSBmcm9tICcuL21vZGVsL2twaSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vei1rcGknLFxuICB0ZW1wbGF0ZVVybDogJy4va3BpLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4va3BpLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBLcGlDb21wb25lbnQge1xuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGljb25uYW1lOiBLcGlJY29uID0gS3BpSWNvbi5Ub3A7XG4gIEBJbnB1dCgpIGljb25jb2xvcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgdHlwZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGRldGFpbDogc3RyaW5nID0gJyc7XG5cbiAgcHVibGljIGdldFNpemUoKTogc3RyaW5nIHtcbiAgICBsZXQgc2l6ZSA9ICdzbWFsbCc7XG4gICAgaWYgKHRoaXMubGFiZWwgJiYgdGhpcy5sYWJlbC5sZW5ndGggPiAwICYmICF0aGlzLmRldGFpbCkge1xuICAgICAgc2l6ZSA9ICdtZWRpdW0nO1xuICAgIH0gZWxzZSBpZiAodGhpcy5kZXRhaWwgJiYgdGhpcy5kZXRhaWwubGVuZ3RoID4gMCkge1xuICAgICAgc2l6ZSA9ICdsYXJnZSc7XG4gICAgfVxuICAgIHJldHVybiBzaXplO1xuICB9XG5cbiAgcHVibGljIGxhYmVsT3V0c2lkZUNvbnRlbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGFiZWwgIT0gbnVsbCAmJiB0aGlzLmxhYmVsLmxlbmd0aCA+IDAgJiYgdGhpcy5nZXRTaXplKCkgIT09ICdsYXJnZSc7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJtYy1rcGkgbWMta3BpLS17eyBnZXRTaXplKCkgfX0gbWMta3BpLS17eyB0eXBlIH19XCI+XG4gIDxzcGFuIGNsYXNzPVwibWMta3BpX19sYWJlbFwiICpuZ0lmPVwibGFiZWxPdXRzaWRlQ29udGVudCgpXCI+e3sgbGFiZWwgfX08L3NwYW4+XG4gIDxkaXYgY2xhc3M9XCJtYy1rcGlfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWMta3BpX19tYWluXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cIm1jLWtwaV9fbGFiZWxcIiAqbmdJZj1cIiFsYWJlbE91dHNpZGVDb250ZW50KClcIj57eyBsYWJlbCB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWMta3BpX192YWx1ZVwiPnt7IHZhbHVlIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJtYy1rcGlfX2FzaWRlXCIgKm5nSWY9XCJpY29ubmFtZSB8fCBkZXRhaWxcIj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWMta3BpX19kZXRhaWxcIiAqbmdJZj1cImRldGFpbFwiPnt7IGRldGFpbCB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwibWMta3BpX19pY29uXCIgKm5nSWY9XCJpY29ubmFtZVwiXG4gICAgICAgID48bW96LWljb24gW2ljb25OYW1lXT1cImljb25uYW1lXCIgW25nU3R5bGVdPVwieyBmaWxsOiBpY29uY29sb3IgfVwiPjwvbW96LWljb25cbiAgICAgID48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,19 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { KpiComponent } from './kpi.component';
4
+ import { IconModule } from '../icon/icon.module';
5
+ import * as i0 from "@angular/core";
6
+ export class KpiModule {
7
+ }
8
+ KpiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: KpiModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ KpiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: KpiModule, declarations: [KpiComponent], imports: [CommonModule, IconModule], exports: [KpiComponent] });
10
+ KpiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: KpiModule, imports: [CommonModule, IconModule] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: KpiModule, decorators: [{
12
+ type: NgModule,
13
+ args: [{
14
+ declarations: [KpiComponent],
15
+ imports: [CommonModule, IconModule],
16
+ exports: [KpiComponent],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3BpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2twaS9rcGkubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBT2pELE1BQU0sT0FBTyxTQUFTOztzR0FBVCxTQUFTO3VHQUFULFNBQVMsaUJBSkwsWUFBWSxhQUNqQixZQUFZLEVBQUUsVUFBVSxhQUN4QixZQUFZO3VHQUVYLFNBQVMsWUFIVixZQUFZLEVBQUUsVUFBVTsyRkFHdkIsU0FBUztrQkFMckIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQzVCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxVQUFVLENBQUM7b0JBQ25DLE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztpQkFDeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEtwaUNvbXBvbmVudCB9IGZyb20gJy4va3BpLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJY29uTW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLm1vZHVsZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0twaUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbS3BpQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgS3BpTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,6 @@
1
+ export var KpiIcon;
2
+ (function (KpiIcon) {
3
+ KpiIcon["Top"] = "Navigation_Arrow_ArrowTopRight_16px";
4
+ KpiIcon["Bottom"] = "Navigation_Arrow_ArrowBottomRight_16px";
5
+ })(KpiIcon || (KpiIcon = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3BpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMva3BpL21vZGVsL2twaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxPQUdYO0FBSEQsV0FBWSxPQUFPO0lBQ2pCLHNEQUEyQyxDQUFBO0lBQzNDLDREQUFpRCxDQUFBO0FBQ25ELENBQUMsRUFIVyxPQUFPLEtBQVAsT0FBTyxRQUdsQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEtwaUljb24ge1xuICBUb3AgPSAnTmF2aWdhdGlvbl9BcnJvd19BcnJvd1RvcFJpZ2h0XzE2cHgnLFxuICBCb3R0b20gPSAnTmF2aWdhdGlvbl9BcnJvd19BcnJvd0JvdHRvbVJpZ2h0XzE2cHgnLFxufVxuIl19
@@ -0,0 +1,2 @@
1
+ export * from './index';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2twaS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
@@ -46,8 +46,8 @@ export class PaginationComponent {
46
46
  ngOnChanges({ numberOfPages, pageTitleMask }) {
47
47
  if (this.needRenderPages(this.viewSelect, numberOfPages?.currentValue, numberOfPages?.previousValue, pageTitleMask?.currentValue, pageTitleMask?.previousValue)) {
48
48
  this.reinitializeNumberOfPagesAtInvalidValue();
49
- this.pages = this.initializePages(this.numberOfPages);
50
49
  }
50
+ this.pages = this.initializePages(this.numberOfPages);
51
51
  this.reinitializeCurrentPageAtOverflow();
52
52
  }
53
53
  get viewSelect() {
@@ -144,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
144
144
  }], pageChangeEvent: [{
145
145
  type: Output
146
146
  }] } });
147
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQWMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBYyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCxxQkFBcUIsRUFDckIsOEJBQThCLEVBQzlCLG9CQUFvQixHQUNyQixNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFFdEIsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQVE7SUFDcEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVNGLE1BQU0sT0FBTyxtQkFBbUI7SUE0QjlCLFlBQ21CLGtCQUF1QyxFQUN2QyxFQUFxQjtRQURyQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXFCO1FBQ3ZDLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBN0IvQixrQkFBYSxHQUFHLDhCQUE4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YTtzQkFBckIsS0FBSztnQkFHSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2xvYmFsRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uU2l6ZSB9IGZyb20gJy4uL2ljb24vaWNvbi1zaXplJztcbmltcG9ydCB7IFNFTEVDVF9TSVpFLCBTZWxlY3RTaXplIH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC1zaXplJztcbmltcG9ydCB7XG4gIFBhZ2UsXG4gIFBBR0lOQVRJT05fRklSU1RfUEFHRSxcbiAgUEFHSU5BVElPTl9NSU5fTlVNQkVSX09GX1BBR0VTLFxuICBQQUdJTkFUSU9OX1BBR0VfU1RFUCxcbn0gZnJvbSAnLi9wYWdpbmF0aW9uJztcblxuZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGFnaW5hdGlvbkNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW96LXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1BBR0lOQVRJT05fQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIG51bWJlck9mUGFnZXMgPSBQQUdJTkFUSU9OX01JTl9OVU1CRVJfT0ZfUEFHRVM7XG5cbiAgQElucHV0KCkgbGlnaHQgPSBmYWxzZTtcbiAgQElucHV0KCkgcGFnZUxhYmVsID0gJ1BhZ2UnO1xuICBASW5wdXQoKSBwYWdlT2ZMYWJlbCA9ICdvZic7XG5cbiAgQElucHV0KCkgcGFnZVRpdGxlTWFzayA9IChwYWdlOiBudW1iZXIsIG51bWJlck9mUGFnZXM6IG51bWJlcikgPT5cbiAgICBgJHt0aGlzLnBhZ2VMYWJlbH0gJHtwYWdlfSAke3RoaXMucGFnZU9mTGFiZWx9ICR7bnVtYmVyT2ZQYWdlc31gO1xuXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwdWJsaWMgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuXG4gIHB1YmxpYyBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcblxuICBwdWJsaWMgY3VycmVudFBhZ2UgPSBQQUdJTkFUSU9OX0ZJUlNUX1BBR0U7XG5cbiAgcHVibGljIHBhZ2VzOiBQYWdlW10gPSBbXTtcblxuICBwdWJsaWMgcmlnaHRJY29uTmFtZSE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwdWJsaWMgbGVmdEljb25OYW1lITogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIHB1YmxpYyBzZWxlY3RTaXplOiBPYnNlcnZhYmxlPFNlbGVjdFNpemU+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc21hbGxSZXNvbHV0aW9uID0gMTAyNDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdsb2JhbEV2ZW50U2VydmljZTogR2xvYmFsRXZlbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBjb25zdCBpc1NtYWxsID0gdGhpcy5kaXNwbGF5SXNTbWFsbCgpLnBpcGUoc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KSk7XG4gICAgdGhpcy5pbml0aWFsaXplSWNvbnMoaXNTbWFsbCk7XG4gICAgdGhpcy5zZWxlY3RTaXplID0gaXNTbWFsbC5waXBlKG1hcCgoaXNTbWFsbCkgPT4gdGhpcy5jaG9vc2VTZWxlY3RTaXplKGlzU21hbGwpKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5yZWluaXRpYWxpemVOdW1iZXJPZlBhZ2VzQXRJbnZhbGlkVmFsdWUoKTtcbiAgICBpZiAodGhpcy52aWV3U2VsZWN0KSB7XG4gICAgICB0aGlzLnBhZ2VzID0gdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5udW1iZXJPZlBhZ2VzKTtcbiAgICB9XG4gICAgdGhpcy5yZWluaXRpYWxpemVDdXJyZW50UGFnZUF0T3ZlcmZsb3coKTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgbnVtYmVyT2ZQYWdlcywgcGFnZVRpdGxlTWFzayB9OiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5uZWVkUmVuZGVyUGFnZXMoXG4gICAgICAgIHRoaXMudmlld1NlbGVjdCxcbiAgICAgICAgbnVtYmVyT2ZQYWdlcz8uY3VycmVudFZhbHVlLFxuICAgICAgICBudW1iZXJPZlBhZ2VzPy5wcmV2aW91c1ZhbHVlLFxuICAgICAgICBwYWdlVGl0bGVNYXNrPy5jdXJyZW50VmFsdWUsXG4gICAgICAgIHBhZ2VUaXRsZU1hc2s/LnByZXZpb3VzVmFsdWVcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMucmVpbml0aWFsaXplTnVtYmVyT2ZQYWdlc0F0SW52YWxpZFZhbHVlKCk7XG4gICAgICB0aGlzLnBhZ2VzID0gdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5udW1iZXJPZlBhZ2VzKTtcbiAgICB9XG4gICAgdGhpcy5yZWluaXRpYWxpemVDdXJyZW50UGFnZUF0T3ZlcmZsb3coKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgdmlld1NlbGVjdCgpIHtcbiAgICByZXR1cm4gIXRoaXMubGlnaHQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzRmlyc3RQYWdlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRQYWdlIDw9IFBBR0lOQVRJT05fRklSU1RfUEFHRTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgaXNMYXN0UGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA+PSB0aGlzLm51bWJlck9mUGFnZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRpc2FibGVkU2VsZWN0KCkge1xuICAgIHJldHVybiB0aGlzLm51bWJlck9mUGFnZXMgPD0gUEFHSU5BVElPTl9NSU5fTlVNQkVSX09GX1BBR0VTO1xuICB9XG5cbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xuICAgIGlmICghdmFsdWUgfHwgdmFsdWUgPT09IHRoaXMuY3VycmVudFBhZ2UgfHwgdmFsdWUgPiB0aGlzLm51bWJlck9mUGFnZXMpIHJldHVybjtcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gdmFsdWU7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgcHVibGljIG5leHRQYWdlKCkge1xuICAgIHRoaXMud3JpdGVWYWx1ZSh0aGlzLmN1cnJlbnRQYWdlICsgUEFHSU5BVElPTl9QQUdFX1NURVApO1xuICAgIHRoaXMucGFnZUNoYW5nZUV2ZW50LmVtaXQodGhpcy5jdXJyZW50UGFnZSArIFBBR0lOQVRJT05fUEFHRV9TVEVQKTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgcHVibGljIHByZXZpb3VzUGFnZSgpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5jdXJyZW50UGFnZSAtIFBBR0lOQVRJT05fUEFHRV9TVEVQKTtcbiAgICB0aGlzLnBhZ2VDaGFuZ2VFdmVudC5lbWl0KHRoaXMuY3VycmVudFBhZ2UgLSBQQUdJTkFUSU9OX1BBR0VfU1RFUCk7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wYXJlV2l0aFBhZ2VzKHBhZ2U6IG51bWJlciwgY3VycmVudFBhZ2U/OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcGFnZSA9PT0gY3VycmVudFBhZ2U7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVQYWdlcyhudW1iZXJPZlBhZ2VzOiBudW1iZXIpOiBQYWdlW10ge1xuICAgIHJldHVybiBuZXcgQXJyYXkobnVtYmVyT2ZQYWdlcykuZmlsbChudWxsKS5tYXAoKF8sIGluZGV4KSA9PiAoe1xuICAgICAgdGl0bGU6IHRoaXMucGFnZVRpdGxlTWFzayhpbmRleCArIDEsIG51bWJlck9mUGFnZXMpLFxuICAgICAgdmFsdWU6IGluZGV4ICsgMSxcbiAgICB9KSk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVJY29ucyhpc1NtYWxsOiBPYnNlcnZhYmxlPGJvb2xlYW4+KSB7XG4gICAgY29uc3QgaWNvblNpemUgPSBpc1NtYWxsLnBpcGUoXG4gICAgICBtYXAoKGlzU21hbGwpID0+IHRoaXMuY2hvb3NlSWNvblNpemUoaXNTbWFsbCkpLFxuICAgICAgc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KVxuICAgICk7XG5cbiAgICB0aGlzLmxlZnRJY29uTmFtZSA9IGljb25TaXplLnBpcGUoXG4gICAgICBtYXAoKGljb25TaXplKSA9PiBgTmF2aWdhdGlvbl9BcnJvd19BcnJvdy0tTGVmdF8ke2ljb25TaXplfWApXG4gICAgKTtcblxuICAgIHRoaXMucmlnaHRJY29uTmFtZSA9IGljb25TaXplLnBpcGUoXG4gICAgICBtYXAoKGljb25TaXplKSA9PiBgTmF2aWdhdGlvbl9BcnJvd19BcnJvdy0tUmlnaHRfJHtpY29uU2l6ZX1gKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGRpc3BsYXlJc1NtYWxsKCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHJlc2l6ZUV2ZW50ID0gdGhpcy5nbG9iYWxFdmVudFNlcnZpY2UuZ2V0V2luZG93RXZlbnQoJ3Jlc2l6ZScpLnBpcGUoZGVib3VuY2VUaW1lKDEwMCkpO1xuICAgIGNvbnN0IGRpc3BsYXlXaWR0aCA9IHJlc2l6ZUV2ZW50LnBpcGUoXG4gICAgICBtYXAoKGV2ZW50KSA9PiAoZXZlbnQ/LnRhcmdldCBhcyBXaW5kb3cpPy5pbm5lcldpZHRoKSxcbiAgICAgIHN0YXJ0V2l0aCh0aGlzLmdsb2JhbEV2ZW50U2VydmljZS53aW5kb3cuaW5uZXJXaWR0aClcbiAgICApO1xuICAgIHJldHVybiBkaXNwbGF5V2lkdGgucGlwZShtYXAoKHdpZHRoKSA9PiB3aWR0aCA8IHRoaXMuc21hbGxSZXNvbHV0aW9uKSk7XG4gIH1cblxuICBwcml2YXRlIHJlaW5pdGlhbGl6ZUN1cnJlbnRQYWdlQXRPdmVyZmxvdygpIHtcbiAgICBpZiAodGhpcy5udW1iZXJPZlBhZ2VzIDwgdGhpcy5jdXJyZW50UGFnZSkge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKFBBR0lOQVRJT05fRklSU1RfUEFHRSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWluaXRpYWxpemVOdW1iZXJPZlBhZ2VzQXRJbnZhbGlkVmFsdWUoKSB7XG4gICAgaWYgKCF0aGlzLm51bWJlck9mUGFnZXMgfHwgdGhpcy5udW1iZXJPZlBhZ2VzIDwgUEFHSU5BVElPTl9NSU5fTlVNQkVSX09GX1BBR0VTKSB7XG4gICAgICB0aGlzLm51bWJlck9mUGFnZXMgPSBQQUdJTkFUSU9OX01JTl9OVU1CRVJfT0ZfUEFHRVM7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaG9vc2VJY29uU2l6ZShpc1NtYWxsOiBib29sZWFuKTogSWNvblNpemUge1xuICAgIHJldHVybiBpc1NtYWxsID8gSWNvblNpemUuTCA6IEljb25TaXplLk07XG4gIH1cblxuICBwcml2YXRlIGNob29zZVNlbGVjdFNpemUoaXNTbWFsbDogYm9vbGVhbik6IFNlbGVjdFNpemUge1xuICAgIHJldHVybiBpc1NtYWxsID8gU0VMRUNUX1NJWkUuTSA6IFNFTEVDVF9TSVpFLlM7XG4gIH1cblxuICBwcml2YXRlIG5lZWRSZW5kZXJQYWdlcyhcbiAgICB2aWV3U2VsZWN0OiBib29sZWFuLFxuICAgIG51bWJlck9mUGFnZXNQcmV2aW91cz86IG51bWJlcixcbiAgICBudW1iZXJPZlBhZ2VzQ3VycmVudD86IG51bWJlcixcbiAgICBwYWdlVGl0bGVNYXNrUHJldmlvdXM/OiB1bmtub3duLFxuICAgIHBhZ2VUaXRsZU1hc2tDdXJyZW50PzogdW5rbm93blxuICApOiBib29sZWFuIHtcbiAgICBjb25zdCBudW1iZXJPZlBhZ2VIYXNDaGFuZ2VzID0gbnVtYmVyT2ZQYWdlc1ByZXZpb3VzICE9PSBudW1iZXJPZlBhZ2VzQ3VycmVudDtcbiAgICBjb25zdCBtYXNrSGFzQ2hhbmdlcyA9IHBhZ2VUaXRsZU1hc2tQcmV2aW91cyAhPT0gcGFnZVRpdGxlTWFza0N1cnJlbnQ7XG4gICAgcmV0dXJuIHZpZXdTZWxlY3QgJiYgKG51bWJlck9mUGFnZUhhc0NoYW5nZXMgfHwgbWFza0hhc0NoYW5nZXMpO1xuICB9XG59XG4iLCI8bmF2IGNsYXNzPVwibWMtcGFnaW5hdGlvblwiIHJvbGU9XCJuYXZpZ2F0aW9uXCIgYXJpYS1sYWJlbD1cInBhZ2luYXRpb25cIj5cbiAgPGJ1dHRvblxuICAgIG1vei1idXR0b25cbiAgICB0aGVtZT1cIm5ldXRyYWxcIlxuICAgIGNsYXNzPVwibWMtcGFnaW5hdGlvbl9fYnV0dG9uXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNGaXJzdFBhZ2VcIlxuICAgIFtvbmx5SWNvbl09XCJ0cnVlXCJcbiAgICBbc2l6ZV09XCIoc2VsZWN0U2l6ZSB8IGFzeW5jKSFcIlxuICAgIChjbGljayk9XCJwcmV2aW91c1BhZ2UoKVwiXG4gICAgKm5nSWY9XCJsZWZ0SWNvbk5hbWUgfCBhc3luYzsgbGV0IGljb25cIlxuICA+XG4gICAgPG1vei1pY29uIFtpY29uTmFtZV09XCJpY29uXCI+PC9tb3otaWNvbj5cbiAgPC9idXR0b24+XG4gIDxkaXYgKm5nSWY9XCJ2aWV3U2VsZWN0XCI+XG4gICAgPHNlbGVjdFxuICAgICAgbW96LXNlbGVjdFxuICAgICAgW25nTW9kZWxdPVwiY3VycmVudFBhZ2VcIlxuICAgICAgKGNoYW5nZSk9XCJvbkNoYW5nZShjdXJyZW50UGFnZSk7IHRoaXMucGFnZUNoYW5nZUV2ZW50LmVtaXQodGhpcy5jdXJyZW50UGFnZSlcIlxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwid3JpdGVWYWx1ZSgkZXZlbnQpXCJcbiAgICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlV2l0aFBhZ2VzXCJcbiAgICAgIFtzaXplXT1cIihzZWxlY3RTaXplIHwgYXN5bmMpIVwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRTZWxlY3RcIlxuICAgID5cbiAgICAgIDxvcHRpb24gKm5nRm9yPVwibGV0IHBhZ2Ugb2YgcGFnZXNcIiBbbmdWYWx1ZV09XCJwYWdlLnZhbHVlXCI+e3sgcGFnZS50aXRsZSB9fTwvb3B0aW9uPlxuICAgIDwvc2VsZWN0PlxuICA8L2Rpdj5cblxuICA8YnV0dG9uXG4gICAgbW96LWJ1dHRvblxuICAgIHRoZW1lPVwibmV1dHJhbFwiXG4gICAgY2xhc3M9XCJtYy1wYWdpbmF0aW9uX19idXR0b25cIlxuICAgIFtkaXNhYmxlZF09XCJpc0xhc3RQYWdlXCJcbiAgICAoY2xpY2spPVwibmV4dFBhZ2UoKVwiXG4gICAgW3NpemVdPVwiKHNlbGVjdFNpemUgfCBhc3luYykhXCJcbiAgICBbb25seUljb25dPVwidHJ1ZVwiXG4gICAgKm5nSWY9XCJyaWdodEljb25OYW1lIHwgYXN5bmM7IGxldCBpY29uXCJcbiAgPlxuICAgIDxtb3otaWNvbiBbaWNvbk5hbWVdPVwiaWNvblwiPjwvbW96LWljb24+XG4gIDwvYnV0dG9uPlxuPC9uYXY+XG4iXX0=
147
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsS0FBSyxFQUNMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQWMsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLFdBQVcsRUFBYyxNQUFNLHVCQUF1QixDQUFDO0FBQ2hFLE9BQU8sRUFFTCxxQkFBcUIsRUFDckIsOEJBQThCLEVBQzlCLG9CQUFvQixHQUNyQixNQUFNLGNBQWMsQ0FBQzs7Ozs7Ozs7QUFFdEIsTUFBTSxDQUFDLE1BQU0saUNBQWlDLEdBQVE7SUFDcEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ1osQ0FBQztBQVNGLE1BQU0sT0FBTyxtQkFBbUI7SUE0QjlCLFlBQ21CLGtCQUF1QyxFQUN2QyxFQUFxQjtRQURyQix1QkFBa0IsR0FBbEIsa0JBQWtCLENBQXFCO1FBQ3ZDLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBN0IvQixrQkFBYSxHQUFHLDhCQUE4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YTtzQkFBckIsS0FBSztnQkFHSSxlQUFlO3NCQUF4QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIG1hcCwgT2JzZXJ2YWJsZSwgc2hhcmVSZXBsYXksIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR2xvYmFsRXZlbnRzU2VydmljZSB9IGZyb20gJy4uLy4uL2NvbW1vbic7XG5pbXBvcnQgeyBJY29uU2l6ZSB9IGZyb20gJy4uL2ljb24vaWNvbi1zaXplJztcbmltcG9ydCB7IFNFTEVDVF9TSVpFLCBTZWxlY3RTaXplIH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC1zaXplJztcbmltcG9ydCB7XG4gIFBhZ2UsXG4gIFBBR0lOQVRJT05fRklSU1RfUEFHRSxcbiAgUEFHSU5BVElPTl9NSU5fTlVNQkVSX09GX1BBR0VTLFxuICBQQUdJTkFUSU9OX1BBR0VfU1RFUCxcbn0gZnJvbSAnLi9wYWdpbmF0aW9uJztcblxuZXhwb3J0IGNvbnN0IFBBR0lOQVRJT05fQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUGFnaW5hdGlvbkNvbXBvbmVudCksXG4gIG11bHRpOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbW96LXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3BhZ2luYXRpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1BBR0lOQVRJT05fQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUl0sXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2luYXRpb25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBJbnB1dCgpIG51bWJlck9mUGFnZXMgPSBQQUdJTkFUSU9OX01JTl9OVU1CRVJfT0ZfUEFHRVM7XG5cbiAgQElucHV0KCkgbGlnaHQgPSBmYWxzZTtcbiAgQElucHV0KCkgcGFnZUxhYmVsID0gJ1BhZ2UnO1xuICBASW5wdXQoKSBwYWdlT2ZMYWJlbCA9ICdvZic7XG5cbiAgQElucHV0KCkgcGFnZVRpdGxlTWFzayA9IChwYWdlOiBudW1iZXIsIG51bWJlck9mUGFnZXM6IG51bWJlcikgPT5cbiAgICBgJHt0aGlzLnBhZ2VMYWJlbH0gJHtwYWdlfSAke3RoaXMucGFnZU9mTGFiZWx9ICR7bnVtYmVyT2ZQYWdlc31gO1xuXG4gIEBPdXRwdXQoKSBwYWdlQ2hhbmdlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcblxuICBwdWJsaWMgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuXG4gIHB1YmxpYyBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcblxuICBwdWJsaWMgY3VycmVudFBhZ2UgPSBQQUdJTkFUSU9OX0ZJUlNUX1BBR0U7XG5cbiAgcHVibGljIHBhZ2VzOiBQYWdlW10gPSBbXTtcblxuICBwdWJsaWMgcmlnaHRJY29uTmFtZSE6IE9ic2VydmFibGU8c3RyaW5nPjtcblxuICBwdWJsaWMgbGVmdEljb25OYW1lITogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gIHB1YmxpYyBzZWxlY3RTaXplOiBPYnNlcnZhYmxlPFNlbGVjdFNpemU+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc21hbGxSZXNvbHV0aW9uID0gMTAyNDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGdsb2JhbEV2ZW50U2VydmljZTogR2xvYmFsRXZlbnRzU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICApIHtcbiAgICBjb25zdCBpc1NtYWxsID0gdGhpcy5kaXNwbGF5SXNTbWFsbCgpLnBpcGUoc2hhcmVSZXBsYXkoeyByZWZDb3VudDogdHJ1ZSwgYnVmZmVyU2l6ZTogMSB9KSk7XG4gICAgdGhpcy5pbml0aWFsaXplSWNvbnMoaXNTbWFsbCk7XG4gICAgdGhpcy5zZWxlY3RTaXplID0gaXNTbWFsbC5waXBlKG1hcCgoaXNTbWFsbCkgPT4gdGhpcy5jaG9vc2VTZWxlY3RTaXplKGlzU21hbGwpKSk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5yZWluaXRpYWxpemVOdW1iZXJPZlBhZ2VzQXRJbnZhbGlkVmFsdWUoKTtcbiAgICBpZiAodGhpcy52aWV3U2VsZWN0KSB7XG4gICAgICB0aGlzLnBhZ2VzID0gdGhpcy5pbml0aWFsaXplUGFnZXModGhpcy5udW1iZXJPZlBhZ2VzKTtcbiAgICB9XG4gICAgdGhpcy5yZWluaXRpYWxpemVDdXJyZW50UGFnZUF0T3ZlcmZsb3coKTtcbiAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKHsgbnVtYmVyT2ZQYWdlcywgcGFnZVRpdGxlTWFzayB9OiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKFxuICAgICAgdGhpcy5uZWVkUmVuZGVyUGFnZXMoXG4gICAgICAgIHRoaXMudmlld1NlbGVjdCxcbiAgICAgICAgbnVtYmVyT2ZQYWdlcz8uY3VycmVudFZhbHVlLFxuICAgICAgICBudW1iZXJPZlBhZ2VzPy5wcmV2aW91c1ZhbHVlLFxuICAgICAgICBwYWdlVGl0bGVNYXNrPy5jdXJyZW50VmFsdWUsXG4gICAgICAgIHBhZ2VUaXRsZU1hc2s/LnByZXZpb3VzVmFsdWVcbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMucmVpbml0aWFsaXplTnVtYmVyT2ZQYWdlc0F0SW52YWxpZFZhbHVlKCk7XG4gICAgfVxuICAgIHRoaXMucGFnZXMgPSB0aGlzLmluaXRpYWxpemVQYWdlcyh0aGlzLm51bWJlck9mUGFnZXMpO1xuICAgIHRoaXMucmVpbml0aWFsaXplQ3VycmVudFBhZ2VBdE92ZXJmbG93KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpZXdTZWxlY3QoKSB7XG4gICAgcmV0dXJuICF0aGlzLmxpZ2h0O1xuICB9XG5cbiAgcHVibGljIGdldCBpc0ZpcnN0UGFnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50UGFnZSA8PSBQQUdJTkFUSU9OX0ZJUlNUX1BBR0U7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzTGFzdFBhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudFBhZ2UgPj0gdGhpcy5udW1iZXJPZlBhZ2VzO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNhYmxlZFNlbGVjdCgpIHtcbiAgICByZXR1cm4gdGhpcy5udW1iZXJPZlBhZ2VzIDw9IFBBR0lOQVRJT05fTUlOX05VTUJFUl9PRl9QQUdFUztcbiAgfVxuXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoIXZhbHVlIHx8IHZhbHVlID09PSB0aGlzLmN1cnJlbnRQYWdlIHx8IHZhbHVlID4gdGhpcy5udW1iZXJPZlBhZ2VzKSByZXR1cm47XG4gICAgdGhpcy5jdXJyZW50UGFnZSA9IHZhbHVlO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHB1YmxpYyBuZXh0UGFnZSgpIHtcbiAgICB0aGlzLndyaXRlVmFsdWUodGhpcy5jdXJyZW50UGFnZSArIFBBR0lOQVRJT05fUEFHRV9TVEVQKTtcbiAgICB0aGlzLnBhZ2VDaGFuZ2VFdmVudC5lbWl0KHRoaXMuY3VycmVudFBhZ2UgKyBQQUdJTkFUSU9OX1BBR0VfU1RFUCk7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBwcmV2aW91c1BhZ2UoKSB7XG4gICAgdGhpcy53cml0ZVZhbHVlKHRoaXMuY3VycmVudFBhZ2UgLSBQQUdJTkFUSU9OX1BBR0VfU1RFUCk7XG4gICAgdGhpcy5wYWdlQ2hhbmdlRXZlbnQuZW1pdCh0aGlzLmN1cnJlbnRQYWdlIC0gUEFHSU5BVElPTl9QQUdFX1NURVApO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgY29tcGFyZVdpdGhQYWdlcyhwYWdlOiBudW1iZXIsIGN1cnJlbnRQYWdlPzogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHBhZ2UgPT09IGN1cnJlbnRQYWdlO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplUGFnZXMobnVtYmVyT2ZQYWdlczogbnVtYmVyKTogUGFnZVtdIHtcbiAgICByZXR1cm4gbmV3IEFycmF5KG51bWJlck9mUGFnZXMpLmZpbGwobnVsbCkubWFwKChfLCBpbmRleCkgPT4gKHtcbiAgICAgIHRpdGxlOiB0aGlzLnBhZ2VUaXRsZU1hc2soaW5kZXggKyAxLCBudW1iZXJPZlBhZ2VzKSxcbiAgICAgIHZhbHVlOiBpbmRleCArIDEsXG4gICAgfSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0aWFsaXplSWNvbnMoaXNTbWFsbDogT2JzZXJ2YWJsZTxib29sZWFuPikge1xuICAgIGNvbnN0IGljb25TaXplID0gaXNTbWFsbC5waXBlKFxuICAgICAgbWFwKChpc1NtYWxsKSA9PiB0aGlzLmNob29zZUljb25TaXplKGlzU21hbGwpKSxcbiAgICAgIHNoYXJlUmVwbGF5KHsgcmVmQ291bnQ6IHRydWUsIGJ1ZmZlclNpemU6IDEgfSlcbiAgICApO1xuXG4gICAgdGhpcy5sZWZ0SWNvbk5hbWUgPSBpY29uU2l6ZS5waXBlKFxuICAgICAgbWFwKChpY29uU2l6ZSkgPT4gYE5hdmlnYXRpb25fQXJyb3dfQXJyb3ctLUxlZnRfJHtpY29uU2l6ZX1gKVxuICAgICk7XG5cbiAgICB0aGlzLnJpZ2h0SWNvbk5hbWUgPSBpY29uU2l6ZS5waXBlKFxuICAgICAgbWFwKChpY29uU2l6ZSkgPT4gYE5hdmlnYXRpb25fQXJyb3dfQXJyb3ctLVJpZ2h0XyR7aWNvblNpemV9YClcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBkaXNwbGF5SXNTbWFsbCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBjb25zdCByZXNpemVFdmVudCA9IHRoaXMuZ2xvYmFsRXZlbnRTZXJ2aWNlLmdldFdpbmRvd0V2ZW50KCdyZXNpemUnKS5waXBlKGRlYm91bmNlVGltZSgxMDApKTtcbiAgICBjb25zdCBkaXNwbGF5V2lkdGggPSByZXNpemVFdmVudC5waXBlKFxuICAgICAgbWFwKChldmVudCkgPT4gKGV2ZW50Py50YXJnZXQgYXMgV2luZG93KT8uaW5uZXJXaWR0aCksXG4gICAgICBzdGFydFdpdGgodGhpcy5nbG9iYWxFdmVudFNlcnZpY2Uud2luZG93LmlubmVyV2lkdGgpXG4gICAgKTtcbiAgICByZXR1cm4gZGlzcGxheVdpZHRoLnBpcGUobWFwKCh3aWR0aCkgPT4gd2lkdGggPCB0aGlzLnNtYWxsUmVzb2x1dGlvbikpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWluaXRpYWxpemVDdXJyZW50UGFnZUF0T3ZlcmZsb3coKSB7XG4gICAgaWYgKHRoaXMubnVtYmVyT2ZQYWdlcyA8IHRoaXMuY3VycmVudFBhZ2UpIHtcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShQQUdJTkFUSU9OX0ZJUlNUX1BBR0UpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVpbml0aWFsaXplTnVtYmVyT2ZQYWdlc0F0SW52YWxpZFZhbHVlKCkge1xuICAgIGlmICghdGhpcy5udW1iZXJPZlBhZ2VzIHx8IHRoaXMubnVtYmVyT2ZQYWdlcyA8IFBBR0lOQVRJT05fTUlOX05VTUJFUl9PRl9QQUdFUykge1xuICAgICAgdGhpcy5udW1iZXJPZlBhZ2VzID0gUEFHSU5BVElPTl9NSU5fTlVNQkVSX09GX1BBR0VTO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY2hvb3NlSWNvblNpemUoaXNTbWFsbDogYm9vbGVhbik6IEljb25TaXplIHtcbiAgICByZXR1cm4gaXNTbWFsbCA/IEljb25TaXplLkwgOiBJY29uU2l6ZS5NO1xuICB9XG5cbiAgcHJpdmF0ZSBjaG9vc2VTZWxlY3RTaXplKGlzU21hbGw6IGJvb2xlYW4pOiBTZWxlY3RTaXplIHtcbiAgICByZXR1cm4gaXNTbWFsbCA/IFNFTEVDVF9TSVpFLk0gOiBTRUxFQ1RfU0laRS5TO1xuICB9XG5cbiAgcHJpdmF0ZSBuZWVkUmVuZGVyUGFnZXMoXG4gICAgdmlld1NlbGVjdDogYm9vbGVhbixcbiAgICBudW1iZXJPZlBhZ2VzUHJldmlvdXM/OiBudW1iZXIsXG4gICAgbnVtYmVyT2ZQYWdlc0N1cnJlbnQ/OiBudW1iZXIsXG4gICAgcGFnZVRpdGxlTWFza1ByZXZpb3VzPzogdW5rbm93bixcbiAgICBwYWdlVGl0bGVNYXNrQ3VycmVudD86IHVua25vd25cbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbnVtYmVyT2ZQYWdlSGFzQ2hhbmdlcyA9IG51bWJlck9mUGFnZXNQcmV2aW91cyAhPT0gbnVtYmVyT2ZQYWdlc0N1cnJlbnQ7XG4gICAgY29uc3QgbWFza0hhc0NoYW5nZXMgPSBwYWdlVGl0bGVNYXNrUHJldmlvdXMgIT09IHBhZ2VUaXRsZU1hc2tDdXJyZW50O1xuICAgIHJldHVybiB2aWV3U2VsZWN0ICYmIChudW1iZXJPZlBhZ2VIYXNDaGFuZ2VzIHx8IG1hc2tIYXNDaGFuZ2VzKTtcbiAgfVxufVxuIiwiPG5hdiBjbGFzcz1cIm1jLXBhZ2luYXRpb25cIiByb2xlPVwibmF2aWdhdGlvblwiIGFyaWEtbGFiZWw9XCJwYWdpbmF0aW9uXCI+XG4gIDxidXR0b25cbiAgICBtb3otYnV0dG9uXG4gICAgdGhlbWU9XCJuZXV0cmFsXCJcbiAgICBjbGFzcz1cIm1jLXBhZ2luYXRpb25fX2J1dHRvblwiXG4gICAgW2Rpc2FibGVkXT1cImlzRmlyc3RQYWdlXCJcbiAgICBbb25seUljb25dPVwidHJ1ZVwiXG4gICAgW3NpemVdPVwiKHNlbGVjdFNpemUgfCBhc3luYykhXCJcbiAgICAoY2xpY2spPVwicHJldmlvdXNQYWdlKClcIlxuICAgICpuZ0lmPVwibGVmdEljb25OYW1lIHwgYXN5bmM7IGxldCBpY29uXCJcbiAgPlxuICAgIDxtb3otaWNvbiBbaWNvbk5hbWVdPVwiaWNvblwiPjwvbW96LWljb24+XG4gIDwvYnV0dG9uPlxuICA8ZGl2ICpuZ0lmPVwidmlld1NlbGVjdFwiPlxuICAgIDxzZWxlY3RcbiAgICAgIG1vei1zZWxlY3RcbiAgICAgIFtuZ01vZGVsXT1cImN1cnJlbnRQYWdlXCJcbiAgICAgIChjaGFuZ2UpPVwib25DaGFuZ2UoY3VycmVudFBhZ2UpOyB0aGlzLnBhZ2VDaGFuZ2VFdmVudC5lbWl0KHRoaXMuY3VycmVudFBhZ2UpXCJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIndyaXRlVmFsdWUoJGV2ZW50KVwiXG4gICAgICBbY29tcGFyZVdpdGhdPVwiY29tcGFyZVdpdGhQYWdlc1wiXG4gICAgICBbc2l6ZV09XCIoc2VsZWN0U2l6ZSB8IGFzeW5jKSFcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkU2VsZWN0XCJcbiAgICA+XG4gICAgICA8b3B0aW9uICpuZ0Zvcj1cImxldCBwYWdlIG9mIHBhZ2VzXCIgW25nVmFsdWVdPVwicGFnZS52YWx1ZVwiPnt7IHBhZ2UudGl0bGUgfX08L29wdGlvbj5cbiAgICA8L3NlbGVjdD5cbiAgPC9kaXY+XG5cbiAgPGJ1dHRvblxuICAgIG1vei1idXR0b25cbiAgICB0aGVtZT1cIm5ldXRyYWxcIlxuICAgIGNsYXNzPVwibWMtcGFnaW5hdGlvbl9fYnV0dG9uXCJcbiAgICBbZGlzYWJsZWRdPVwiaXNMYXN0UGFnZVwiXG4gICAgKGNsaWNrKT1cIm5leHRQYWdlKClcIlxuICAgIFtzaXplXT1cIihzZWxlY3RTaXplIHwgYXN5bmMpIVwiXG4gICAgW29ubHlJY29uXT1cInRydWVcIlxuICAgICpuZ0lmPVwicmlnaHRJY29uTmFtZSB8IGFzeW5jOyBsZXQgaWNvblwiXG4gID5cbiAgICA8bW96LWljb24gW2ljb25OYW1lXT1cImljb25cIj48L21vei1pY29uPlxuICA8L2J1dHRvbj5cbjwvbmF2PlxuIl19
@@ -6,7 +6,7 @@ export class ProgressBarComponent {
6
6
  this.size = 'm';
7
7
  this.theme = 'default';
8
8
  this.percent = 0;
9
- this.text = '';
9
+ this.displayPercentage = false;
10
10
  }
11
11
  get indicatorWidth() {
12
12
  return { width: `${this.percent}%` };
@@ -14,25 +14,25 @@ export class ProgressBarComponent {
14
14
  get hostCssClasses() {
15
15
  const sizeClass = `mc-progressbar--${this.size}`;
16
16
  const themeClass = `mc-progressbar--${this.theme}`;
17
- const textClass = !!this.text ? `mc-progressbar--percent` : '';
17
+ const textClass = this.displayPercentage ? `mc-progressbar--percent` : '';
18
18
  return `mc-progressbar ${sizeClass} ${themeClass} ${textClass}`;
19
19
  }
20
20
  }
21
21
  ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
22
- ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ProgressBarComponent, selector: "moz-progress-bar", inputs: { size: "size", theme: "theme", percent: "percent", text: "text" }, host: { properties: { "class": "this.hostCssClasses" } }, ngImport: i0, template: "<div\n class=\"mc-progressbar__indicator\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"percent\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [ngStyle]=\"indicatorWidth\"\n></div>\n<div *ngIf=\"text\" class=\"mc-progressbar__percentage\">{{ text }}</div>\n", styles: [".mc-progressbar{font-family:LeroyMerlin,sans-serif;align-items:center;background-color:#ccc;display:flex;height:.5rem;justify-content:center;position:relative}.mc-progressbar,.mc-progressbar__indicator{border-radius:4px;overflow:hidden}.mc-progressbar__indicator{background-color:#188803;height:100%;left:0;position:absolute;transition:width .4s ease;top:0}.mc-progressbar--static .mc-progressbar__indicator{transition:none}.mc-progressbar__percentage{font-size:.875rem;line-height:1.2857142857;font-weight:600;color:#191919;position:relative;z-index:1}.mc-progressbar--half .mc-progressbar__percentage{color:#fff}.mc-progressbar:not(.mc-progressbar--percent) .mc-progressbar__percentage{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;visibility:visible;white-space:nowrap}.mc-progressbar--xs{height:.125rem}.mc-progressbar--xs,.mc-progressbar--xs .mc-progressbar__indicator{border-radius:1px}.mc-progressbar--s{height:.25rem}.mc-progressbar--s,.mc-progressbar--s .mc-progressbar__indicator{border-radius:2px}.mc-progressbar--percent{height:1.5rem}.mc-progressbar--percent,.mc-progressbar--percent .mc-progressbar__indicator{border-radius:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
22
+ ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: ProgressBarComponent, selector: "moz-progress-bar", inputs: { size: "size", theme: "theme", percent: "percent", displayPercentage: "displayPercentage" }, host: { properties: { "class": "this.hostCssClasses" } }, ngImport: i0, template: "<div\n class=\"mc-progressbar__indicator\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"percent\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [ngStyle]=\"indicatorWidth\"\n>\n <div *ngIf=\"displayPercentage\" class=\"mc-progressbar__percentage\">{{ percent }}%</div>\n</div>\n", styles: [".mc-progressbar{font-family:LeroyMerlin,sans-serif;align-items:center;background-color:#ccc;display:flex;height:.5rem;justify-content:center;position:relative}.mc-progressbar,.mc-progressbar__indicator{border-radius:4px;overflow:hidden}.mc-progressbar__indicator{background-color:#188803;height:100%;left:0;position:absolute;transition:width .4s ease;top:0}.mc-progressbar--static .mc-progressbar__indicator{transition:none}.mc-progressbar__percentage{font-size:.875rem;line-height:1.2857142857;font-weight:600;color:#191919;position:relative;z-index:1}.mc-progressbar--half .mc-progressbar__percentage{color:#fff}.mc-progressbar:not(.mc-progressbar--percent) .mc-progressbar__percentage{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;visibility:visible;white-space:nowrap}.mc-progressbar--xs{height:.125rem}.mc-progressbar--xs,.mc-progressbar--xs .mc-progressbar__indicator{border-radius:1px}.mc-progressbar--s{height:.25rem}.mc-progressbar--s,.mc-progressbar--s .mc-progressbar__indicator{border-radius:2px}.mc-progressbar--percent{height:1.5rem}.mc-progressbar--percent,.mc-progressbar--percent .mc-progressbar__indicator{border-radius:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
23
23
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ProgressBarComponent, decorators: [{
24
24
  type: Component,
25
- args: [{ selector: 'moz-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"mc-progressbar__indicator\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"percent\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [ngStyle]=\"indicatorWidth\"\n></div>\n<div *ngIf=\"text\" class=\"mc-progressbar__percentage\">{{ text }}</div>\n", styles: [".mc-progressbar{font-family:LeroyMerlin,sans-serif;align-items:center;background-color:#ccc;display:flex;height:.5rem;justify-content:center;position:relative}.mc-progressbar,.mc-progressbar__indicator{border-radius:4px;overflow:hidden}.mc-progressbar__indicator{background-color:#188803;height:100%;left:0;position:absolute;transition:width .4s ease;top:0}.mc-progressbar--static .mc-progressbar__indicator{transition:none}.mc-progressbar__percentage{font-size:.875rem;line-height:1.2857142857;font-weight:600;color:#191919;position:relative;z-index:1}.mc-progressbar--half .mc-progressbar__percentage{color:#fff}.mc-progressbar:not(.mc-progressbar--percent) .mc-progressbar__percentage{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;visibility:visible;white-space:nowrap}.mc-progressbar--xs{height:.125rem}.mc-progressbar--xs,.mc-progressbar--xs .mc-progressbar__indicator{border-radius:1px}.mc-progressbar--s{height:.25rem}.mc-progressbar--s,.mc-progressbar--s .mc-progressbar__indicator{border-radius:2px}.mc-progressbar--percent{height:1.5rem}.mc-progressbar--percent,.mc-progressbar--percent .mc-progressbar__indicator{border-radius:12px}\n"] }]
25
+ args: [{ selector: 'moz-progress-bar', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div\n class=\"mc-progressbar__indicator\"\n role=\"progressbar\"\n [attr.aria-valuenow]=\"percent\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"\n [ngStyle]=\"indicatorWidth\"\n>\n <div *ngIf=\"displayPercentage\" class=\"mc-progressbar__percentage\">{{ percent }}%</div>\n</div>\n", styles: [".mc-progressbar{font-family:LeroyMerlin,sans-serif;align-items:center;background-color:#ccc;display:flex;height:.5rem;justify-content:center;position:relative}.mc-progressbar,.mc-progressbar__indicator{border-radius:4px;overflow:hidden}.mc-progressbar__indicator{background-color:#188803;height:100%;left:0;position:absolute;transition:width .4s ease;top:0}.mc-progressbar--static .mc-progressbar__indicator{transition:none}.mc-progressbar__percentage{font-size:.875rem;line-height:1.2857142857;font-weight:600;color:#191919;position:relative;z-index:1}.mc-progressbar--half .mc-progressbar__percentage{color:#fff}.mc-progressbar:not(.mc-progressbar--percent) .mc-progressbar__percentage{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;visibility:visible;white-space:nowrap}.mc-progressbar--xs{height:.125rem}.mc-progressbar--xs,.mc-progressbar--xs .mc-progressbar__indicator{border-radius:1px}.mc-progressbar--s{height:.25rem}.mc-progressbar--s,.mc-progressbar--s .mc-progressbar__indicator{border-radius:2px}.mc-progressbar--percent{height:1.5rem}.mc-progressbar--percent,.mc-progressbar--percent .mc-progressbar__indicator{border-radius:12px}\n"] }]
26
26
  }], propDecorators: { size: [{
27
27
  type: Input
28
28
  }], theme: [{
29
29
  type: Input
30
30
  }], percent: [{
31
31
  type: Input
32
- }], text: [{
32
+ }], displayPercentage: [{
33
33
  type: Input
34
34
  }], hostCssClasses: [{
35
35
  type: HostBinding,
36
36
  args: ['class']
37
37
  }] } });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBV3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFQakM7UUFRa0IsU0FBSSxHQUFvQixHQUFHLENBQUM7UUFFNUIsVUFBSyxHQUFxQixTQUFTLENBQUM7UUFFcEMsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUVaLFNBQUksR0FBRyxFQUFFLENBQUM7S0FhM0I7SUFYQyxJQUFXLGNBQWM7UUFDdkIsT0FBTyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUNXLGNBQWM7UUFDdkIsTUFBTSxTQUFTLEdBQUcsbUJBQW1CLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNqRCxNQUFNLFVBQVUsR0FBRyxtQkFBbUIsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ25ELE1BQU0sU0FBUyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9ELE9BQU8sa0JBQWtCLFNBQVMsSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFLENBQUM7SUFDbEUsQ0FBQzs7aUhBbkJVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLDhMQ2pCakMsK1FBU0E7MkZEUWEsb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQUdyQixJQUFJO3NCQUFuQixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRVUsT0FBTztzQkFBdEIsS0FBSztnQkFFVSxJQUFJO3NCQUFuQixLQUFLO2dCQU9LLGNBQWM7c0JBRHhCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUHJvZ3Jlc3NCYXJTaXplIH0gZnJvbSAnLi9wcm9ncmVzcy1iYXItc2l6ZSc7XG5pbXBvcnQgeyBQcm9ncmVzc0JhclRoZW1lIH0gZnJvbSAnLi9wcm9ncmVzcy1iYXItdGhlbWUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtb3otcHJvZ3Jlc3MtYmFyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWJhci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgUHJvZ3Jlc3NCYXJDb21wb25lbnQge1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZTogUHJvZ3Jlc3NCYXJTaXplID0gJ20nO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyB0aGVtZTogUHJvZ3Jlc3NCYXJUaGVtZSA9ICdkZWZhdWx0JztcblxuICBASW5wdXQoKSBwdWJsaWMgcGVyY2VudCA9IDA7XG5cbiAgQElucHV0KCkgcHVibGljIHRleHQgPSAnJztcblxuICBwdWJsaWMgZ2V0IGluZGljYXRvcldpZHRoKCkge1xuICAgIHJldHVybiB7IHdpZHRoOiBgJHt0aGlzLnBlcmNlbnR9JWAgfTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgZ2V0IGhvc3RDc3NDbGFzc2VzKCkge1xuICAgIGNvbnN0IHNpemVDbGFzcyA9IGBtYy1wcm9ncmVzc2Jhci0tJHt0aGlzLnNpemV9YDtcbiAgICBjb25zdCB0aGVtZUNsYXNzID0gYG1jLXByb2dyZXNzYmFyLS0ke3RoaXMudGhlbWV9YDtcbiAgICBjb25zdCB0ZXh0Q2xhc3MgPSAhIXRoaXMudGV4dCA/IGBtYy1wcm9ncmVzc2Jhci0tcGVyY2VudGAgOiAnJztcbiAgICByZXR1cm4gYG1jLXByb2dyZXNzYmFyICR7c2l6ZUNsYXNzfSAke3RoZW1lQ2xhc3N9ICR7dGV4dENsYXNzfWA7XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJtYy1wcm9ncmVzc2Jhcl9faW5kaWNhdG9yXCJcbiAgcm9sZT1cInByb2dyZXNzYmFyXCJcbiAgW2F0dHIuYXJpYS12YWx1ZW5vd109XCJwZXJjZW50XCJcbiAgYXJpYS12YWx1ZW1pbj1cIjBcIlxuICBhcmlhLXZhbHVlbWF4PVwiMTAwXCJcbiAgW25nU3R5bGVdPVwiaW5kaWNhdG9yV2lkdGhcIlxuPjwvZGl2PlxuPGRpdiAqbmdJZj1cInRleHRcIiBjbGFzcz1cIm1jLXByb2dyZXNzYmFyX19wZXJjZW50YWdlXCI+e3sgdGV4dCB9fTwvZGl2PlxuIl19
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3Byb2dyZXNzLWJhci9wcm9ncmVzcy1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxXQUFXLEVBQ1gsS0FBSyxFQUNMLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBV3ZCLE1BQU0sT0FBTyxvQkFBb0I7SUFQakM7UUFRa0IsU0FBSSxHQUFvQixHQUFHLENBQUM7UUFFNUIsVUFBSyxHQUFxQixTQUFTLENBQUM7UUFFcEMsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUVaLHNCQUFpQixHQUFZLEtBQUssQ0FBQztLQWFwRDtJQVhDLElBQVcsY0FBYztRQUN2QixPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ1csY0FBYztRQUN2QixNQUFNLFNBQVMsR0FBRyxtQkFBbUIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pELE1BQU0sVUFBVSxHQUFHLG1CQUFtQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkQsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzFFLE9BQU8sa0JBQWtCLFNBQVMsSUFBSSxVQUFVLElBQUksU0FBUyxFQUFFLENBQUM7SUFDbEUsQ0FBQzs7aUhBbkJVLG9CQUFvQjtxR0FBcEIsb0JBQW9CLHdOQ2pCakMsb1NBVUE7MkZET2Esb0JBQW9CO2tCQVBoQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQUdyQixJQUFJO3NCQUFuQixLQUFLO2dCQUVVLEtBQUs7c0JBQXBCLEtBQUs7Z0JBRVUsT0FBTztzQkFBdEIsS0FBSztnQkFFVSxpQkFBaUI7c0JBQWhDLEtBQUs7Z0JBT0ssY0FBYztzQkFEeEIsV0FBVzt1QkFBQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgSG9zdEJpbmRpbmcsXG4gIElucHV0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9ncmVzc0JhclNpemUgfSBmcm9tICcuL3Byb2dyZXNzLWJhci1zaXplJztcbmltcG9ydCB7IFByb2dyZXNzQmFyVGhlbWUgfSBmcm9tICcuL3Byb2dyZXNzLWJhci10aGVtZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21vei1wcm9ncmVzcy1iYXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQcm9ncmVzc0JhckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBzaXplOiBQcm9ncmVzc0JhclNpemUgPSAnbSc7XG5cbiAgQElucHV0KCkgcHVibGljIHRoZW1lOiBQcm9ncmVzc0JhclRoZW1lID0gJ2RlZmF1bHQnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBwZXJjZW50ID0gMDtcblxuICBASW5wdXQoKSBwdWJsaWMgZGlzcGxheVBlcmNlbnRhZ2U6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBwdWJsaWMgZ2V0IGluZGljYXRvcldpZHRoKCkge1xuICAgIHJldHVybiB7IHdpZHRoOiBgJHt0aGlzLnBlcmNlbnR9JWAgfTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgZ2V0IGhvc3RDc3NDbGFzc2VzKCkge1xuICAgIGNvbnN0IHNpemVDbGFzcyA9IGBtYy1wcm9ncmVzc2Jhci0tJHt0aGlzLnNpemV9YDtcbiAgICBjb25zdCB0aGVtZUNsYXNzID0gYG1jLXByb2dyZXNzYmFyLS0ke3RoaXMudGhlbWV9YDtcbiAgICBjb25zdCB0ZXh0Q2xhc3MgPSB0aGlzLmRpc3BsYXlQZXJjZW50YWdlID8gYG1jLXByb2dyZXNzYmFyLS1wZXJjZW50YCA6ICcnO1xuICAgIHJldHVybiBgbWMtcHJvZ3Jlc3NiYXIgJHtzaXplQ2xhc3N9ICR7dGhlbWVDbGFzc30gJHt0ZXh0Q2xhc3N9YDtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cIm1jLXByb2dyZXNzYmFyX19pbmRpY2F0b3JcIlxuICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxuICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInBlcmNlbnRcIlxuICBhcmlhLXZhbHVlbWluPVwiMFwiXG4gIGFyaWEtdmFsdWVtYXg9XCIxMDBcIlxuICBbbmdTdHlsZV09XCJpbmRpY2F0b3JXaWR0aFwiXG4+XG4gIDxkaXYgKm5nSWY9XCJkaXNwbGF5UGVyY2VudGFnZVwiIGNsYXNzPVwibWMtcHJvZ3Jlc3NiYXJfX3BlcmNlbnRhZ2VcIj57eyBwZXJjZW50IH19JTwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -26,9 +26,11 @@ export * from './heading/public-api';
26
26
  export * from './autocomplete/public-api';
27
27
  export * from './file-uploader/public-api';
28
28
  export * from './built-it-menu/public-api';
29
+ export * from './header/public-api';
29
30
  export * from './link/public-api';
30
31
  export * from './breadcrumb/public-api';
31
32
  export * from './quantity-selector/public-api';
32
33
  export * from './phone-number/public-api';
33
34
  export * from './card/public-api';
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2JhZGdlL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9idXR0b24vcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2NoZWNrYm94L3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpZWxkL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9pY29uL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9sYXllci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZGVyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9ub3RpZmljYXRpb24vcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24vcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3Byb2dyZXNzLWJhci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0L3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9zdGVwcGVyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90YWJzL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90YWcvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtYXJlYS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dC1pbnB1dC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdG9nZ2xlL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90b29sdGlwL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3RhZ2xpc3QvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpc3Rib3gvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2Ryb3Bkb3duL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtbWFuYWdlbWVudC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaGVhZGluZy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vYXV0b2NvbXBsZXRlL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9maWxlLXVwbG9hZGVyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9idWlsdC1pdC1tZW51L3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saW5rL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9icmVhZGNydW1iL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9xdWFudGl0eS1zZWxlY3Rvci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vcGhvbmUtbnVtYmVyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkL3B1YmxpYy1hcGknO1xuIl19
35
+ export * from './kpi/public-api';
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9iYWRnZS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vYnV0dG9uL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGlhbG9nL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9maWVsZC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaWNvbi9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5ZXIvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xvYWRlci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbm90aWZpY2F0aW9uL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9wYWdpbmF0aW9uL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1iYXIvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3NlbGVjdC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vc3RlcHBlci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdGFicy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdGFnL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90ZXh0LWFyZWEvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3RleHQtaW5wdXQvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL3RvZ2dsZS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vdG9vbHRpcC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi90YWdsaXN0L3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saXN0Ym94L3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9kcm9wZG93bi9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1hbmFnZW1lbnQvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2hlYWRpbmcvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dG9jb21wbGV0ZS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vZmlsZS11cGxvYWRlci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vYnVpbHQtaXQtbWVudS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vaGVhZGVyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saW5rL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9icmVhZGNydW1iL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9xdWFudGl0eS1zZWxlY3Rvci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vcGhvbmUtbnVtYmVyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9rcGkvcHVibGljLWFwaSc7XG4iXX0=
@@ -98,14 +98,14 @@ export class TabsComponent {
98
98
  }
99
99
  }
100
100
  TabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TabsComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.Router, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
101
- TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TabsComponent, selector: "moz-tabs", inputs: { fullWidth: "fullWidth", fullWidthCenter: "fullWidthCenter", hideShadow: "hideShadow", selectTabIndex: "selectTabIndex" }, outputs: { selectedTabChange: "selectedTabChange" }, host: { properties: { "class.mc-tabs": "true", "class.mc-tabs--full": "viewFullWidth", "class.mc-tabs--full-centered": "fullWidthCenter", "class.mc-tab--hide-shadow": "hideShadow" } }, queries: [{ propertyName: "tabs", predicate: TabComponent }], usesOnChanges: true, ngImport: i0, template: "<ng-content select=\"[moz-tab]\"></ng-content>\n", styles: ["@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-Light.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-Light.woff) format(\"woff\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-Regular.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-Regular.woff) format(\"woff\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-SemiBold.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-SemiBold.woff) format(\"woff\");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-LightItalic.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-LightItalic.woff) format(\"woff\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-Italic.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-Italic.woff) format(\"woff\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff) format(\"woff\");font-weight:600;font-style:italic;font-display:swap}.mc-tabs{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;display:inline-flex;position:relative;width:100%}.mc-tabs:after{background:#b3b3b3;content:\"\";display:block;margin:0 auto;height:1px;width:100%;bottom:0;left:0;position:absolute}@media screen and (min-width: 680px){.mc-tabs{width:auto}}.mc-tabs--no-shadow:after,.mc-tabs--no-divider:after{display:none}@media screen and (max-width: 679px){.mc-tabs:not(.mc-tabs--dropdown):before{bottom:.125rem}}.mc-tabs__nav{list-style:none;margin-left:0;padding-left:0;display:flex;margin-top:0;margin-bottom:0}@media screen and (max-width: 679px){.mc-tabs__nav{overflow:auto hidden;white-space:nowrap}}.mc-tabs__nav,.mc-tabs__select{position:relative}.mc-tabs__link,.mc-tabs__element{font-size:.875rem;line-height:1.2857142857;font-weight:600;align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;height:3.5rem;justify-content:center;outline:none;padding-left:.75rem;padding-right:.75rem;position:relative;text-decoration:none}.mc-tabs__link:before,.mc-tabs__element:before{border-radius:2px;box-shadow:0 0 0 0 transparent;content:\"\";display:block;pointer-events:none;position:absolute;inset:0;transition:box-shadow .2s ease;bottom:-.125rem;top:-.125rem}.mc-tabs__link:after,.mc-tabs__element:after{background-color:transparent;bottom:0;content:\"\";height:.25rem;left:1.5rem;position:absolute;right:1.5rem}.mc-tabs__link:hover .mc-tabs__text,.mc-tabs__element:hover .mc-tabs__text{background-color:#eeeff1}.mc-tabs__link:active,.mc-tabs__element:active{color:#4d4d4d}.mc-tabs__link:active .mc-tabs__text,.mc-tabs__element:active .mc-tabs__text{background-color:#cfd2d8}.mc-tabs__link:focus:before,.mc-tabs__element:focus:before{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-tabs__link--selected,.mc-tabs__element--selected{color:#000}.mc-tabs__link--selected:after,.mc-tabs__element--selected:after{background-color:#000}.mc-tabs__link--selected:hover,.mc-tabs__element--selected:hover,.mc-tabs__link--selected:active,.mc-tabs__element--selected:active{color:#000}.mc-tabs__link--disabled,.mc-tabs__element--disabled{cursor:not-allowed;background-color:#ccc;pointer-events:none}.mc-tabs__link--disabled,.mc-tabs__link--disabled:hover,.mc-tabs__link--disabled:focus,.mc-tabs__link--disabled:active,.mc-tabs__element--disabled,.mc-tabs__element--disabled:hover,.mc-tabs__element--disabled:focus,.mc-tabs__element--disabled:active{box-shadow:none}.mc-tabs__text{align-items:center;border-radius:.25rem;display:flex;gap:.25rem;justify-content:center;position:relative;padding:.4375rem .75rem;pointer-events:none}.mc-tabs__icon{fill:currentColor;height:1.5rem;width:1.5rem}@media screen and (min-width: 680px){.mc-tabs--full,.mc-tabs--full-centered{width:100%}}.mc-tabs--full-centered{justify-content:center}.mc-tabs--dropdown{padding:1rem;width:auto}.mc-tab--hide-shadow:before{box-shadow:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
101
+ TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: TabsComponent, selector: "moz-tabs", inputs: { fullWidth: "fullWidth", fullWidthCenter: "fullWidthCenter", hideShadow: "hideShadow", selectTabIndex: "selectTabIndex" }, outputs: { selectedTabChange: "selectedTabChange" }, host: { properties: { "class.mc-tabs": "true", "class.mc-tabs--full": "viewFullWidth", "class.mc-tabs--full-centered": "fullWidthCenter", "class.mc-tabs--no-shadow": "hideShadow" } }, queries: [{ propertyName: "tabs", predicate: TabComponent }], usesOnChanges: true, ngImport: i0, template: "<ng-content select=\"[moz-tab]\"></ng-content>\n", styles: ["@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-Light.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-Light.woff) format(\"woff\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-Regular.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-Regular.woff) format(\"woff\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-SemiBold.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-SemiBold.woff) format(\"woff\");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-LightItalic.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-LightItalic.woff) format(\"woff\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-Italic.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-Italic.woff) format(\"woff\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff) format(\"woff\");font-weight:600;font-style:italic;font-display:swap}.mc-tabs{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;display:inline-flex;position:relative;width:100%}.mc-tabs:after{background:#b3b3b3;content:\"\";display:block;margin:0 auto;height:1px;width:100%;bottom:0;left:0;position:absolute}@media screen and (min-width: 680px){.mc-tabs{width:auto}}.mc-tabs--no-shadow:after,.mc-tabs--no-divider:after{display:none}@media screen and (max-width: 679px){.mc-tabs:not(.mc-tabs--dropdown):before{bottom:.125rem}}.mc-tabs__nav{list-style:none;margin-left:0;padding-left:0;display:flex;margin-top:0;margin-bottom:0}@media screen and (max-width: 679px){.mc-tabs__nav{overflow:auto hidden;white-space:nowrap}}.mc-tabs__nav,.mc-tabs__select{position:relative}.mc-tabs__link,.mc-tabs__element{font-size:.875rem;line-height:1.2857142857;font-weight:600;align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;height:3.5rem;justify-content:center;outline:none;padding-left:.75rem;padding-right:.75rem;position:relative;text-decoration:none}.mc-tabs__link:before,.mc-tabs__element:before{border-radius:2px;box-shadow:0 0 0 0 transparent;content:\"\";display:block;pointer-events:none;position:absolute;inset:0;transition:box-shadow .2s ease;bottom:-.125rem;top:-.125rem}.mc-tabs__link:after,.mc-tabs__element:after{background-color:transparent;bottom:0;content:\"\";height:.25rem;left:1.5rem;position:absolute;right:1.5rem}.mc-tabs__link:hover .mc-tabs__text,.mc-tabs__element:hover .mc-tabs__text{background-color:#eeeff1}.mc-tabs__link:active,.mc-tabs__element:active{color:#4d4d4d}.mc-tabs__link:active .mc-tabs__text,.mc-tabs__element:active .mc-tabs__text{background-color:#cfd2d8}.mc-tabs__link:focus:before,.mc-tabs__element:focus:before{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-tabs__link--selected,.mc-tabs__element--selected{color:#000}.mc-tabs__link--selected:after,.mc-tabs__element--selected:after{background-color:#000}.mc-tabs__link--selected:hover,.mc-tabs__element--selected:hover,.mc-tabs__link--selected:active,.mc-tabs__element--selected:active{color:#000}.mc-tabs__link--disabled,.mc-tabs__element--disabled{cursor:not-allowed;background-color:#ccc;pointer-events:none}.mc-tabs__link--disabled,.mc-tabs__link--disabled:hover,.mc-tabs__link--disabled:focus,.mc-tabs__link--disabled:active,.mc-tabs__element--disabled,.mc-tabs__element--disabled:hover,.mc-tabs__element--disabled:focus,.mc-tabs__element--disabled:active{box-shadow:none}.mc-tabs__text{align-items:center;border-radius:.25rem;display:flex;gap:.25rem;justify-content:center;position:relative;padding:.4375rem .75rem;pointer-events:none}.mc-tabs__icon{fill:currentColor;height:1.5rem;width:1.5rem}@media screen and (min-width: 680px){.mc-tabs--full,.mc-tabs--full-centered{width:100%}}.mc-tabs--full-centered{justify-content:center}.mc-tabs--dropdown{padding:1rem;width:auto}.mc-tab--hide-shadow:before{box-shadow:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
102
102
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TabsComponent, decorators: [{
103
103
  type: Component,
104
104
  args: [{ selector: TABS_SELECTOR, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
105
105
  '[class.mc-tabs]': 'true',
106
106
  '[class.mc-tabs--full]': 'viewFullWidth',
107
107
  '[class.mc-tabs--full-centered]': 'fullWidthCenter',
108
- '[class.mc-tab--hide-shadow]': 'hideShadow',
108
+ '[class.mc-tabs--no-shadow]': 'hideShadow',
109
109
  }, template: "<ng-content select=\"[moz-tab]\"></ng-content>\n", styles: ["@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-Light.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-Light.woff) format(\"woff\");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-Regular.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-Regular.woff) format(\"woff\");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-SemiBold.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-SemiBold.woff) format(\"woff\");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-LightItalic.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-LightItalic.woff) format(\"woff\");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-Italic.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-Italic.woff) format(\"woff\");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:LeroyMerlin;src:url(/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff2) format(\"woff2\"),url(/fonts/LeroyMerlinSans-Web-SemiBoldItalic.woff) format(\"woff\");font-weight:600;font-style:italic;font-display:swap}.mc-tabs{font-family:LeroyMerlin,sans-serif;font-weight:400;background-color:#fff;display:inline-flex;position:relative;width:100%}.mc-tabs:after{background:#b3b3b3;content:\"\";display:block;margin:0 auto;height:1px;width:100%;bottom:0;left:0;position:absolute}@media screen and (min-width: 680px){.mc-tabs{width:auto}}.mc-tabs--no-shadow:after,.mc-tabs--no-divider:after{display:none}@media screen and (max-width: 679px){.mc-tabs:not(.mc-tabs--dropdown):before{bottom:.125rem}}.mc-tabs__nav{list-style:none;margin-left:0;padding-left:0;display:flex;margin-top:0;margin-bottom:0}@media screen and (max-width: 679px){.mc-tabs__nav{overflow:auto hidden;white-space:nowrap}}.mc-tabs__nav,.mc-tabs__select{position:relative}.mc-tabs__link,.mc-tabs__element{font-size:.875rem;line-height:1.2857142857;font-weight:600;align-items:center;background:none;border:none;color:#666;cursor:pointer;display:flex;height:3.5rem;justify-content:center;outline:none;padding-left:.75rem;padding-right:.75rem;position:relative;text-decoration:none}.mc-tabs__link:before,.mc-tabs__element:before{border-radius:2px;box-shadow:0 0 0 0 transparent;content:\"\";display:block;pointer-events:none;position:absolute;inset:0;transition:box-shadow .2s ease;bottom:-.125rem;top:-.125rem}.mc-tabs__link:after,.mc-tabs__element:after{background-color:transparent;bottom:0;content:\"\";height:.25rem;left:1.5rem;position:absolute;right:1.5rem}.mc-tabs__link:hover .mc-tabs__text,.mc-tabs__element:hover .mc-tabs__text{background-color:#eeeff1}.mc-tabs__link:active,.mc-tabs__element:active{color:#4d4d4d}.mc-tabs__link:active .mc-tabs__text,.mc-tabs__element:active .mc-tabs__text{background-color:#cfd2d8}.mc-tabs__link:focus:before,.mc-tabs__element:focus:before{box-shadow:0 0 0 .125rem #fff,0 0 0 .25rem #0b96cc}.mc-tabs__link--selected,.mc-tabs__element--selected{color:#000}.mc-tabs__link--selected:after,.mc-tabs__element--selected:after{background-color:#000}.mc-tabs__link--selected:hover,.mc-tabs__element--selected:hover,.mc-tabs__link--selected:active,.mc-tabs__element--selected:active{color:#000}.mc-tabs__link--disabled,.mc-tabs__element--disabled{cursor:not-allowed;background-color:#ccc;pointer-events:none}.mc-tabs__link--disabled,.mc-tabs__link--disabled:hover,.mc-tabs__link--disabled:focus,.mc-tabs__link--disabled:active,.mc-tabs__element--disabled,.mc-tabs__element--disabled:hover,.mc-tabs__element--disabled:focus,.mc-tabs__element--disabled:active{box-shadow:none}.mc-tabs__text{align-items:center;border-radius:.25rem;display:flex;gap:.25rem;justify-content:center;position:relative;padding:.4375rem .75rem;pointer-events:none}.mc-tabs__icon{fill:currentColor;height:1.5rem;width:1.5rem}@media screen and (min-width: 680px){.mc-tabs--full,.mc-tabs--full-centered{width:100%}}.mc-tabs--full-centered{justify-content:center}.mc-tabs--dropdown{padding:1rem;width:auto}.mc-tab--hide-shadow:before{box-shadow:none!important}\n"] }]
110
110
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.Router, decorators: [{
111
111
  type: Host
@@ -125,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
125
125
  type: ContentChildren,
126
126
  args: [TabComponent]
127
127
  }] } });
128
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osSUFBSSxFQUNKLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUdOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUNMLGFBQWEsRUFDYixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsR0FBRyxFQUNILEtBQUssRUFDTCxFQUFFLEVBQ0YsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQWUvQyxNQUFNLE9BQU8sYUFBYTtJQWlCeEIsWUFDbUIsVUFBbUMsRUFDbkMsRUFBcUIsRUFHckIsTUFBcUI7UUFKckIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFHckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXJCL0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUVwQyxzQkFB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QkFFd0IsSUFBSTtzQkFBbEMsZUFBZTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlbGF5LFxuICBmaWx0ZXIsXG4gIGZpcnN0LFxuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIG9mLFxuICBTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRBQlNfU0VMRUNUT1IsIFRBQl9TRUxFQ1RPUlMgfSBmcm9tICcuL3RhYi1zZWxlY3RvcnMnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBUQUJTX1NFTEVDVE9SLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm1jLXRhYnNdJzogJ3RydWUnLFxuICAgICdbY2xhc3MubWMtdGFicy0tZnVsbF0nOiAndmlld0Z1bGxXaWR0aCcsXG4gICAgJ1tjbGFzcy5tYy10YWJzLS1mdWxsLWNlbnRlcmVkXSc6ICdmdWxsV2lkdGhDZW50ZXInLFxuICAgICdbY2xhc3MubWMtdGFiLS1oaWRlLXNoYWRvd10nOiAnaGlkZVNoYWRvdycsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIFRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCgpIGZ1bGxXaWR0aCA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aENlbnRlciA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGhpZGVTaGFkb3cgPSBmYWxzZTtcblxuICBASW5wdXQoKSBzZWxlY3RUYWJJbmRleDogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkVGFiQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJDb21wb25lbnQ+KCk7XG5cbiAgQENvbnRlbnRDaGlsZHJlbihUYWJDb21wb25lbnQpIHRhYnM/OiBRdWVyeUxpc3Q8VGFiQ29tcG9uZW50PjtcblxuICBwcml2YXRlIGFmdGVyVmlld0luaXQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuXG4gIHByaXZhdGUgdmlld0Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBASG9zdCgpXG4gICAgQE9wdGlvbmFsKClcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyIHwgbnVsbFxuICApIHtcbiAgICB0aGlzLmluaXRCZWhhdmlvclNlbGVjdEZvclRhYigpO1xuICB9XG5cbiAgcHVibGljIGdldCB2aWV3RnVsbFdpZHRoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmZ1bGxXaWR0aCAmJiAhdGhpcy5mdWxsV2lkdGhDZW50ZXI7XG4gIH1cblxuICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuYWZ0ZXJWaWV3SW5pdC5uZXh0KHRydWUpO1xuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKHsgc2VsZWN0VGFiSW5kZXggfTogU2ltcGxlQ2hhbmdlcykge1xuICAgIGlmIChzZWxlY3RUYWJJbmRleCAmJiB0eXBlb2Ygc2VsZWN0VGFiSW5kZXguY3VycmVudFZhbHVlID09PSAnbnVtYmVyJykge1xuICAgICAgdGhpcy5zZWxlY3RUYWJBdENoYW5nZXMoc2VsZWN0VGFiSW5kZXguY3VycmVudFZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy52aWV3RGVzdHJveWVkLm5leHQodHJ1ZSk7XG4gICAgdGhpcy52aWV3RGVzdHJveWVkLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRCZWhhdmlvclNlbGVjdEZvclRhYigpIHtcbiAgICBjb25zdCBhZnRlckZ1bGxOYXZpZ2F0ZUFuZFJlbmRlciA9IHRoaXMuZ2V0QWZ0ZXJGdWxsTmF2aWdhdGVBbmRSZW5kZXJFdmVudCgpO1xuICAgIGNvbnN0IHRhYnNBZnRlck5hdmlnYXRlID0gYWZ0ZXJGdWxsTmF2aWdhdGVBbmRSZW5kZXIucGlwZShcbiAgICAgIG1hcCgoKSA9PiB0aGlzLnRhYnMpLFxuICAgICAgZmlsdGVyKEJvb2xlYW4pXG4gICAgKTtcblxuICAgIHRhYnNBZnRlck5hdmlnYXRlXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKCh0YWJzKSA9PiB0aGlzLmluaXRUYWJJbmRleCh0YWJzKSksXG4gICAgICAgIHRhcCgodGFicykgPT4gdGhpcy5pbml0Rmlyc3RTZWxlY3Rpb25UYWIodGFicykpLFxuICAgICAgICBzd2l0Y2hNYXAoKHRhYnMpID0+IHRoaXMuZ2V0QWxsVGFiRXZlbnRzKHRhYnMpKSxcbiAgICAgICAgdGFwKCh0YWIpID0+IHRoaXMuc2VsZWN0VGFiKHRoaXMudGFicyEsIHRhYikpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy52aWV3RGVzdHJveWVkKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBpbml0VGFiSW5kZXgodGFiczogUXVlcnlMaXN0PFRhYkNvbXBvbmVudD4pIHtcbiAgICB0YWJzLmZvckVhY2goKHRhYiwgaW5kZXgpID0+ICh0YWIuaW5kZXggPSBpbmRleCkpO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRGaXJzdFNlbGVjdGlvblRhYih0YWJzOiBRdWVyeUxpc3Q8VGFiQ29tcG9uZW50Pikge1xuICAgIGNvbnN0IGFjdGl2ZVRhYiA9IHRhYnMuZmluZCgodGFiKSA9PiB0YWIuaXNBY3RpdmVUYWIpO1xuICAgIGNvbnN0IHNlbGVjdFRhYkJ5SW5kZXggPVxuICAgICAgdHlwZW9mIHRoaXMuc2VsZWN0VGFiSW5kZXggPT09ICdudW1iZXInICYmIHRhYnMuZ2V0KHRoaXMuc2VsZWN0VGFiSW5kZXgpO1xuICAgIGNvbnN0IGZpcnN0U2VsZWN0ZWRUYWIgPSBzZWxlY3RUYWJCeUluZGV4IHx8IGFjdGl2ZVRhYiB8fCB0YWJzLmZpcnN0O1xuICAgIGlmIChmaXJzdFNlbGVjdGVkVGFiKSB7XG4gICAgICBmaXJzdFNlbGVjdGVkVGFiLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMudHJ5TmF2aWdhdGVUb1RhYihmaXJzdFNlbGVjdGVkVGFiKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRyeU5hdmlnYXRlVG9UYWIodGFiOiBUYWJDb21wb25lbnQpIHtcbiAgICBpZiAoIXRhYi5saW5rIHx8IHRhYi5pc0FjdGl2ZVRhYikgcmV0dXJuO1xuICAgIHRoaXMucm91dGVyPy5uYXZpZ2F0ZShbdGFiLmxpbmtdKTtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0VGFiQXRDaGFuZ2VzKHNlbGVjdFRhYkluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXdTZWxlY3RUYWIgPSB0aGlzLnRhYnM/LmdldChzZWxlY3RUYWJJbmRleCk7XG4gICAgaWYgKCFuZXdTZWxlY3RUYWIgfHwgIXRoaXMudGFicykgcmV0dXJuO1xuICAgIHRoaXMuc2VsZWN0VGFiKHRoaXMudGFicywgbmV3U2VsZWN0VGFiKTtcbiAgICB0aGlzLnRyeU5hdmlnYXRlVG9UYWIobmV3U2VsZWN0VGFiKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFiU2VsZWN0aW9uRXZlbnRzKHRhYnM6IFF1ZXJ5TGlzdDxUYWJDb21wb25lbnQ+KSB7XG4gICAgY29uc3QgaW5kZXhDbGlja2VkVGFiID0gdGhpcy5nZXRJbmRleENsaWNrZWRUYWIoKTtcbiAgICBjb25zdCBjbGlja2VkVGFiID0gaW5kZXhDbGlja2VkVGFiLnBpcGUobWFwKCh0YWJJbmRleCkgPT4gdGFicy5nZXQoK3RhYkluZGV4KSkpO1xuICAgIHJldHVybiBjbGlja2VkVGFiLnBpcGUoXG4gICAgICBmaWx0ZXIoQm9vbGVhbiksXG4gICAgICBmaWx0ZXIoKHRhYikgPT4gdGFiLmlzQXZhaWxhYmxlVGFiRm9yU2VsZWN0aW9uKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGdldFRhYkFjdGl2ZUV2ZW50cyh0YWJzOiBRdWVyeUxpc3Q8VGFiQ29tcG9uZW50Pikge1xuICAgIGNvbnN0IHRhYldpdGhMaW5rID0gdGFicy5maWx0ZXIoKHsgcm91dGVyTGlua0FjdGl2ZSB9KSA9PiAhIXJvdXRlckxpbmtBY3RpdmUpO1xuICAgIGNvbnN0IHRhYnNBY3RpdmVFdmVudCA9IHRhYldpdGhMaW5rLm1hcCgodGFiKSA9PiB7XG4gICAgICByZXR1cm4gdGFiLnJvdXRlckxpbmtBY3RpdmUhLmlzQWN0aXZlQ2hhbmdlLnBpcGUoXG4gICAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgICAgbWFwKCgpID0+IHRhYilcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbWVyZ2UoLi4udGFic0FjdGl2ZUV2ZW50KTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWZ0ZXJGdWxsTmF2aWdhdGVBbmRSZW5kZXJFdmVudCgpIHtcbiAgICBjb25zdCBldmVudE5hdmlnYXRpb25FbmQgPVxuICAgICAgdGhpcy5yb3V0ZXI/LmV2ZW50cy5waXBlKFxuICAgICAgICBmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpLFxuICAgICAgICBmaXJzdCgpXG4gICAgICApIHx8IG9mKHRydWUpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW2V2ZW50TmF2aWdhdGlvbkVuZCwgdGhpcy5hZnRlclZpZXdJbml0XSkucGlwZShkZWxheSgwKSk7XG4gIH1cblxuICBwcml2YXRlIGdldEluZGV4Q2xpY2tlZFRhYigpIHtcbiAgICByZXR1cm4gZnJvbUV2ZW50PFBvaW50ZXJFdmVudD4odGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICBtYXAoKGV2ZW50KSA9PiBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLFxuICAgICAgZmlsdGVyKHRoaXMuZmlsdGVyVGFic0VsZW1lbnQuYmluZCh0aGlzKSksXG4gICAgICBtYXAoKHRhcmdldEVsZW1lbnQpID0+IHRhcmdldEVsZW1lbnQuY2xvc2VzdChUQUJfU0VMRUNUT1JTKSksXG4gICAgICBmaWx0ZXIoKHRhYkVsZW1lbnQpOiB0YWJFbGVtZW50IGlzIEhUTUxBbmNob3JFbGVtZW50ID0+ICEhdGFiRWxlbWVudCksXG4gICAgICBtYXAoKHRhYkVsZW1lbnQpID0+IHRhYkVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0YWItaW5kZXgnKSBhcyBzdHJpbmcpXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QWxsVGFiRXZlbnRzKHRhYnM6IFF1ZXJ5TGlzdDxUYWJDb21wb25lbnQ+KSB7XG4gICAgcmV0dXJuIG1lcmdlKHRoaXMuZ2V0VGFiU2VsZWN0aW9uRXZlbnRzKHRhYnMpLCB0aGlzLmdldFRhYkFjdGl2ZUV2ZW50cyh0YWJzKSk7XG4gIH1cblxuICBwcml2YXRlIGZpbHRlclRhYnNFbGVtZW50KHsgbm9kZU5hbWUgfTogSFRNTEVsZW1lbnQpIHtcbiAgICByZXR1cm4gbm9kZU5hbWUudG9Mb3dlckNhc2UoKSAhPT0gVEFCU19TRUxFQ1RPUjtcbiAgfVxuXG4gIHByaXZhdGUgc2VsZWN0VGFiKHRhYnM6IFF1ZXJ5TGlzdDxUYWJDb21wb25lbnQ+LCBjbGlja2VkVGFiOiBUYWJDb21wb25lbnQpIHtcbiAgICB0YWJzLmZvckVhY2goKHRhYikgPT4gKHRhYi5zZWxlY3RlZCA9IHRhYiA9PT0gY2xpY2tlZFRhYikpO1xuICAgIHRoaXMuc2VsZWN0ZWRUYWJDaGFuZ2UuZW1pdChjbGlja2VkVGFiKTtcbiAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICB9XG59XG4iLCI8bmctY29udGVudCBzZWxlY3Q9XCJbbW96LXRhYl1cIj48L25nLWNvbnRlbnQ+XG4iXX0=
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFicy90YWJzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUNULGVBQWUsRUFFZixZQUFZLEVBQ1osSUFBSSxFQUNKLEtBQUssRUFHTCxRQUFRLEVBQ1IsTUFBTSxFQUdOLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUNMLGFBQWEsRUFDYixLQUFLLEVBQ0wsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsR0FBRyxFQUNILEtBQUssRUFDTCxFQUFFLEVBQ0YsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsR0FBRyxHQUNKLE1BQU0sTUFBTSxDQUFDO0FBQ2QsT0FBTyxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQWUvQyxNQUFNLE9BQU8sYUFBYTtJQWlCeEIsWUFDbUIsVUFBbUMsRUFDbkMsRUFBcUIsRUFHckIsTUFBcUI7UUFKckIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFHckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQXJCL0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLG1CQUFjLEdBQWtCLElBQUksQ0FBQztRQUVwQyxzQkFB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QkFFd0IsSUFBSTtzQkFBbEMsZUFBZTt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7XG4gIGNvbWJpbmVMYXRlc3QsXG4gIGRlbGF5LFxuICBmaWx0ZXIsXG4gIGZpcnN0LFxuICBmcm9tRXZlbnQsXG4gIG1hcCxcbiAgbWVyZ2UsXG4gIG9mLFxuICBTdWJqZWN0LFxuICBzd2l0Y2hNYXAsXG4gIHRha2VVbnRpbCxcbiAgdGFwLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRBQlNfU0VMRUNUT1IsIFRBQl9TRUxFQ1RPUlMgfSBmcm9tICcuL3RhYi1zZWxlY3RvcnMnO1xuaW1wb3J0IHsgVGFiQ29tcG9uZW50IH0gZnJvbSAnLi90YWIuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBUQUJTX1NFTEVDVE9SLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFicy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RhYnMuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLm1jLXRhYnNdJzogJ3RydWUnLFxuICAgICdbY2xhc3MubWMtdGFicy0tZnVsbF0nOiAndmlld0Z1bGxXaWR0aCcsXG4gICAgJ1tjbGFzcy5tYy10YWJzLS1mdWxsLWNlbnRlcmVkXSc6ICdmdWxsV2lkdGhDZW50ZXInLFxuICAgICdbY2xhc3MubWMtdGFicy0tbm8tc2hhZG93XSc6ICdoaWRlU2hhZG93JyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgQElucHV0KCkgZnVsbFdpZHRoID0gZmFsc2U7XG5cbiAgQElucHV0KCkgZnVsbFdpZHRoQ2VudGVyID0gZmFsc2U7XG5cbiAgQElucHV0KCkgaGlkZVNoYWRvdyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNlbGVjdFRhYkluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBAT3V0cHV0KCkgc2VsZWN0ZWRUYWJDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFRhYkNvbXBvbmVudD4oKTtcblxuICBAQ29udGVudENoaWxkcmVuKFRhYkNvbXBvbmVudCkgdGFicz86IFF1ZXJ5TGlzdDxUYWJDb21wb25lbnQ+O1xuXG4gIHByaXZhdGUgYWZ0ZXJWaWV3SW5pdCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XG5cbiAgcHJpdmF0ZSB2aWV3RGVzdHJveWVkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBIb3N0KClcbiAgICBAT3B0aW9uYWwoKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIgfCBudWxsXG4gICkge1xuICAgIHRoaXMuaW5pdEJlaGF2aW9yU2VsZWN0Rm9yVGFiKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZpZXdGdWxsV2lkdGgoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZnVsbFdpZHRoICYmICF0aGlzLmZ1bGxXaWR0aENlbnRlcjtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5hZnRlclZpZXdJbml0Lm5leHQodHJ1ZSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkNoYW5nZXMoeyBzZWxlY3RUYWJJbmRleCB9OiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKHNlbGVjdFRhYkluZGV4ICYmIHR5cGVvZiBzZWxlY3RUYWJJbmRleC5jdXJyZW50VmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgICB0aGlzLnNlbGVjdFRhYkF0Q2hhbmdlcyhzZWxlY3RUYWJJbmRleC5jdXJyZW50VmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnZpZXdEZXN0cm95ZWQubmV4dCh0cnVlKTtcbiAgICB0aGlzLnZpZXdEZXN0cm95ZWQuY29tcGxldGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEJlaGF2aW9yU2VsZWN0Rm9yVGFiKCkge1xuICAgIGNvbnN0IGFmdGVyRnVsbE5hdmlnYXRlQW5kUmVuZGVyID0gdGhpcy5nZXRBZnRlckZ1bGxOYXZpZ2F0ZUFuZFJlbmRlckV2ZW50KCk7XG4gICAgY29uc3QgdGFic0FmdGVyTmF2aWdhdGUgPSBhZnRlckZ1bGxOYXZpZ2F0ZUFuZFJlbmRlci5waXBlKFxuICAgICAgbWFwKCgpID0+IHRoaXMudGFicyksXG4gICAgICBmaWx0ZXIoQm9vbGVhbilcbiAgICApO1xuXG4gICAgdGFic0FmdGVyTmF2aWdhdGVcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoKHRhYnMpID0+IHRoaXMuaW5pdFRhYkluZGV4KHRhYnMpKSxcbiAgICAgICAgdGFwKCh0YWJzKSA9PiB0aGlzLmluaXRGaXJzdFNlbGVjdGlvblRhYih0YWJzKSksXG4gICAgICAgIHN3aXRjaE1hcCgodGFicykgPT4gdGhpcy5nZXRBbGxUYWJFdmVudHModGFicykpLFxuICAgICAgICB0YXAoKHRhYikgPT4gdGhpcy5zZWxlY3RUYWIodGhpcy50YWJzISwgdGFiKSksXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnZpZXdEZXN0cm95ZWQpXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIGluaXRUYWJJbmRleCh0YWJzOiBRdWVyeUxpc3Q8VGFiQ29tcG9uZW50Pikge1xuICAgIHRhYnMuZm9yRWFjaCgodGFiLCBpbmRleCkgPT4gKHRhYi5pbmRleCA9IGluZGV4KSk7XG4gICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdEZpcnN0U2VsZWN0aW9uVGFiKHRhYnM6IFF1ZXJ5TGlzdDxUYWJDb21wb25lbnQ+KSB7XG4gICAgY29uc3QgYWN0aXZlVGFiID0gdGFicy5maW5kKCh0YWIpID0+IHRhYi5pc0FjdGl2ZVRhYik7XG4gICAgY29uc3Qgc2VsZWN0VGFiQnlJbmRleCA9XG4gICAgICB0eXBlb2YgdGhpcy5zZWxlY3RUYWJJbmRleCA9PT0gJ251bWJlcicgJiYgdGFicy5nZXQodGhpcy5zZWxlY3RUYWJJbmRleCk7XG4gICAgY29uc3QgZmlyc3RTZWxlY3RlZFRhYiA9IHNlbGVjdFRhYkJ5SW5kZXggfHwgYWN0aXZlVGFiIHx8IHRhYnMuZmlyc3Q7XG4gICAgaWYgKGZpcnN0U2VsZWN0ZWRUYWIpIHtcbiAgICAgIGZpcnN0U2VsZWN0ZWRUYWIuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy50cnlOYXZpZ2F0ZVRvVGFiKGZpcnN0U2VsZWN0ZWRUYWIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgdHJ5TmF2aWdhdGVUb1RhYih0YWI6IFRhYkNvbXBvbmVudCkge1xuICAgIGlmICghdGFiLmxpbmsgfHwgdGFiLmlzQWN0aXZlVGFiKSByZXR1cm47XG4gICAgdGhpcy5yb3V0ZXI/Lm5hdmlnYXRlKFt0YWIubGlua10pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RUYWJBdENoYW5nZXMoc2VsZWN0VGFiSW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IG5ld1NlbGVjdFRhYiA9IHRoaXMudGFicz8uZ2V0KHNlbGVjdFRhYkluZGV4KTtcbiAgICBpZiAoIW5ld1NlbGVjdFRhYiB8fCAhdGhpcy50YWJzKSByZXR1cm47XG4gICAgdGhpcy5zZWxlY3RUYWIodGhpcy50YWJzLCBuZXdTZWxlY3RUYWIpO1xuICAgIHRoaXMudHJ5TmF2aWdhdGVUb1RhYihuZXdTZWxlY3RUYWIpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRUYWJTZWxlY3Rpb25FdmVudHModGFiczogUXVlcnlMaXN0PFRhYkNvbXBvbmVudD4pIHtcbiAgICBjb25zdCBpbmRleENsaWNrZWRUYWIgPSB0aGlzLmdldEluZGV4Q2xpY2tlZFRhYigpO1xuICAgIGNvbnN0IGNsaWNrZWRUYWIgPSBpbmRleENsaWNrZWRUYWIucGlwZShtYXAoKHRhYkluZGV4KSA9PiB0YWJzLmdldCgrdGFiSW5kZXgpKSk7XG4gICAgcmV0dXJuIGNsaWNrZWRUYWIucGlwZShcbiAgICAgIGZpbHRlcihCb29sZWFuKSxcbiAgICAgIGZpbHRlcigodGFiKSA9PiB0YWIuaXNBdmFpbGFibGVUYWJGb3JTZWxlY3Rpb24pXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VGFiQWN0aXZlRXZlbnRzKHRhYnM6IFF1ZXJ5TGlzdDxUYWJDb21wb25lbnQ+KSB7XG4gICAgY29uc3QgdGFiV2l0aExpbmsgPSB0YWJzLmZpbHRlcigoeyByb3V0ZXJMaW5rQWN0aXZlIH0pID0+ICEhcm91dGVyTGlua0FjdGl2ZSk7XG4gICAgY29uc3QgdGFic0FjdGl2ZUV2ZW50ID0gdGFiV2l0aExpbmsubWFwKCh0YWIpID0+IHtcbiAgICAgIHJldHVybiB0YWIucm91dGVyTGlua0FjdGl2ZSEuaXNBY3RpdmVDaGFuZ2UucGlwZShcbiAgICAgICAgZmlsdGVyKEJvb2xlYW4pLFxuICAgICAgICBtYXAoKCkgPT4gdGFiKVxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBtZXJnZSguLi50YWJzQWN0aXZlRXZlbnQpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBZnRlckZ1bGxOYXZpZ2F0ZUFuZFJlbmRlckV2ZW50KCkge1xuICAgIGNvbnN0IGV2ZW50TmF2aWdhdGlvbkVuZCA9XG4gICAgICB0aGlzLnJvdXRlcj8uZXZlbnRzLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksXG4gICAgICAgIGZpcnN0KClcbiAgICAgICkgfHwgb2YodHJ1ZSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbZXZlbnROYXZpZ2F0aW9uRW5kLCB0aGlzLmFmdGVyVmlld0luaXRdKS5waXBlKGRlbGF5KDApKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0SW5kZXhDbGlja2VkVGFiKCkge1xuICAgIHJldHVybiBmcm9tRXZlbnQ8UG9pbnRlckV2ZW50Pih0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJykucGlwZShcbiAgICAgIG1hcCgoZXZlbnQpID0+IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCksXG4gICAgICBmaWx0ZXIodGhpcy5maWx0ZXJUYWJzRWxlbWVudC5iaW5kKHRoaXMpKSxcbiAgICAgIG1hcCgodGFyZ2V0RWxlbWVudCkgPT4gdGFyZ2V0RWxlbWVudC5jbG9zZXN0KFRBQl9TRUxFQ1RPUlMpKSxcbiAgICAgIGZpbHRlcigodGFiRWxlbWVudCk6IHRhYkVsZW1lbnQgaXMgSFRNTEFuY2hvckVsZW1lbnQgPT4gISF0YWJFbGVtZW50KSxcbiAgICAgIG1hcCgodGFiRWxlbWVudCkgPT4gdGFiRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ3RhYi1pbmRleCcpIGFzIHN0cmluZylcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRBbGxUYWJFdmVudHModGFiczogUXVlcnlMaXN0PFRhYkNvbXBvbmVudD4pIHtcbiAgICByZXR1cm4gbWVyZ2UodGhpcy5nZXRUYWJTZWxlY3Rpb25FdmVudHModGFicyksIHRoaXMuZ2V0VGFiQWN0aXZlRXZlbnRzKHRhYnMpKTtcbiAgfVxuXG4gIHByaXZhdGUgZmlsdGVyVGFic0VsZW1lbnQoeyBub2RlTmFtZSB9OiBIVE1MRWxlbWVudCkge1xuICAgIHJldHVybiBub2RlTmFtZS50b0xvd2VyQ2FzZSgpICE9PSBUQUJTX1NFTEVDVE9SO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWxlY3RUYWIodGFiczogUXVlcnlMaXN0PFRhYkNvbXBvbmVudD4sIGNsaWNrZWRUYWI6IFRhYkNvbXBvbmVudCkge1xuICAgIHRhYnMuZm9yRWFjaCgodGFiKSA9PiAodGFiLnNlbGVjdGVkID0gdGFiID09PSBjbGlja2VkVGFiKSk7XG4gICAgdGhpcy5zZWxlY3RlZFRhYkNoYW5nZS5lbWl0KGNsaWNrZWRUYWIpO1xuICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50IHNlbGVjdD1cIlttb3otdGFiXVwiPjwvbmctY29udGVudD5cbiJdfQ==