UNPKG

25.3 kBJavaScriptView Raw
1import { CommonModule } from '@angular/common';
2import { Component, ChangeDetectionStrategy, EventEmitter, Input, Output, ViewChild, ElementRef, ChangeDetectorRef, HostBinding, HostListener, NgModule } from '@angular/core';
3import { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
4import { SpinButtonComponent, BMATSpinButtonModule } from '@bmat/spin-button';
5import { trigger, state, style, transition, animate } from '@angular/animations';
6
7/**
8 * @fileoverview added by tsickle
9 * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
10 */
11class BMBmatMenuIconComponent {
12 constructor() {
13 this.currentYear = new Date().getFullYear();
14 }
15}
16BMBmatMenuIconComponent.decorators = [
17 { type: Component, args: [{
18 selector: 'bm-menu-icon',
19 template: "<div class=\"bm-menu-icon__container\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" class=\"bm-menu-icon-graphic\" viewBox=\"0 0 189.69 176.42\">\n <g id=\"Layer_2\" data-name=\"Layer 2\">\n <g id=\"Layer_1-2\" data-name=\"Layer 1\">\n <path class=\"bm-menu-icon-graphic__icon__path\" d=\"M87.46 9.11a61.84 61.84 0 0 0-57 38.24c-.82 2-1.94 3.48-4.29 3.58-3.13.13-5.1-1.84-4.79-4.95a9.33 9.33 0 0 1 .85-2.84c10.12-22.38 27-36.58 51.16-41.63 30-6.29 60.28 7.45 75.9 34.88a69.11 69.11 0 0 1 8.56 27.68 70.22 70.22 0 0 1-4.55 32.56c-.76 2-2 3.2-4.23 3.27-3 .1-4.92-1.81-4.71-4.8a10 10 0 0 1 .66-2.64 61.13 61.13 0 0 0 3.92-22A60.27 60.27 0 0 0 135.17 32a60.7 60.7 0 0 0-38-22c-3.17-.54-6.48-.61-9.71-.89z\"/>\n <path class=\"bm-menu-icon-graphic__icon__path\" d=\"M83.88 28.24c-16.26-.28-35 14.38-38.55 36.06a41.5 41.5 0 0 0 4.74 26.79 27.81 27.81 0 0 1 1.37 2.66 4.45 4.45 0 0 1-1.91 5.62 4.86 4.86 0 0 1-5.72-.86 6.77 6.77 0 0 1-.81-1.23c-4.56-7.93-7.43-16.43-7.32-25.62.25-20.51 9.29-36.09 27.1-46.33a48.62 48.62 0 0 1 28.32-6.21 51.85 51.85 0 0 1 47.2 42c2.4 12.75.14 24.63-6.16 35.86-1.05 1.88-2.4 3.12-4.74 3a4.41 4.41 0 0 1-4-6 21.63 21.63 0 0 1 1.34-2.67 41.36 41.36 0 0 0 5.14-24.3 41.85 41.85 0 0 0-14.66-28.41C107.31 31.74 98 28.31 83.88 28.24z\"/>\n <path class=\"bm-menu-icon-graphic__icon__path\" d=\"M87.42 103.46a32.7 32.7 0 1 1 32.8-32.59 32.47 32.47 0 0 1-32.8 32.59zM111 70.71a23.55 23.55 0 1 0-23.64 23.6A23.46 23.46 0 0 0 111 70.71z\"/>\n <path class=\"bm-menu-icon-graphic__icon_text\" d=\"M105.5 175.34v-24.75a24.5 24.5 0 0 0-.44-4.7 6.91 6.91 0 0 0-6-5.91c-3.57-.58-6.85.08-9.13 3.22a11.12 11.12 0 0 0-2.19 6.8c.05 7.5 0 15 0 22.5v2.88h-9.83v-2.73c0-7.67.06-15.33 0-23a16.15 16.15 0 0 0-.91-4.84 6.86 6.86 0 0 0-6.07-4.87c-3.37-.41-6.3.5-8.4 3.31a11.89 11.89 0 0 0-2.37 7.47c.06 7.25 0 14.5 0 21.75v2.9h-9.7v-44h9.37l.57 2.7c8.69-5.94 18.07-4.19 24.08 2.57.46-.43.91-.88 1.39-1.3 5.65-4.94 12.12-6.1 19.12-3.74 6.24 2.1 10.24 8.22 10.34 15.65.12 8.91 0 17.83 0 26.74 0 .4-.07.8-.12 1.38zM9.57 120.31v15.11a2 2 0 0 0 1.14-.46c11.38-9.48 29.19-3.29 32.8 11.51 2.11 8.65.95 16.71-5.33 23.51a20.55 20.55 0 0 1-26.65 2.76c-.46-.33-.9-.69-1.74-1.32-.09 1.54-.15 2.81-.2 3.83L0 175.3v-53.44m34.69 31.71a47.44 47.44 0 0 0-1.37-6 11.93 11.93 0 0 0-16.84-6.43c-7.76 4.07-9.55 15.12-3.54 21.89a12.38 12.38 0 0 0 16.49 1.83c3.68-2.79 4.88-6.8 5.26-11.29zm120.61-18.09l.2-4h9.64v43.28h-9.57l-.32-3.49c-.53.35-.87.54-1.17.78-9.87 8.06-24.94 4.38-30.83-7.1-4.27-8.33-3.36-20.46 3.13-27.64a20.79 20.79 0 0 1 27.2-3.19c.42.38.91.74 1.72 1.36zm-24.77 18h.13c.05.83.07 1.66.17 2.49a12.23 12.23 0 0 0 22.8 5.07 14.86 14.86 0 0 0-1.52-17.19 12.05 12.05 0 0 0-12.23-3.79c-4.63 1-7.45 4.18-8.6 8.74-.39 1.53-.51 3.11-.75 4.67zm59.02 13.45v8.64c-5.48 1.69-11.62.08-14.39-4.07a20.87 20.87 0 0 1-2.24-5.73 12.6 12.6 0 0 1-.22-3.48v-40.43l9.73-1.62v11h7.27v9.12h-7c-.07 1-.16 1.77-.17 2.56v18.48c0 4.2 1.3 5.48 5.54 5.5z\"/>\n </g>\n </g>\n </svg>\n</div>",
20 changeDetection: ChangeDetectionStrategy.OnPush,
21 styles: [".bm-menu-icon__container{color:var(--secondary-color,#bcbcbc);display:block;text-align:center;width:4.4em}.bm-menu-icon-graphic{display:inline-block;height:3em;width:3em}.bm-menu-icon-graphic__icon__path,.bm-menu-icon-graphic__icon_text{fill:#f8f8f8}"]
22 }] }
23];
24
25/**
26 * @fileoverview added by tsickle
27 * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
28 */
29/**
30 * Angular Component. Displays controls of pagination in tables
31 */
32class BMGraphQLPaginationComponent {
33 constructor() {
34 this.goToPage = new EventEmitter();
35 }
36 /**
37 * @param {?} v
38 * @return {?}
39 */
40 set pagination(v) {
41 if (v) {
42 this.currentPage = 1 + Math.floor(v.start / v.limit);
43 this.numberPages = Math.ceil(v.total / v.limit);
44 this.isFirst = v.start === 0;
45 this.isLast = v.length + v.start >= v.total;
46 }
47 }
48 /**
49 * @param {?} $event
50 * @param {?} delta
51 * @return {?}
52 */
53 deltaPage($event, delta) {
54 $event.preventDefault();
55 this.goToPage.emit(this.computeValudDestination(this.currentPage + delta));
56 }
57 /**
58 * @param {?} $event
59 * @return {?}
60 */
61 goToFirst($event) {
62 $event.preventDefault();
63 this.goToPage.emit(1);
64 }
65 /**
66 * @param {?} $event
67 * @return {?}
68 */
69 goToLast($event) {
70 $event.preventDefault();
71 this.goToPage.emit(this.numberPages);
72 }
73 /**
74 * @param {?} $event
75 * @return {?}
76 */
77 submit($event) {
78 $event.preventDefault();
79 if (this._spinBtn && Number.isInteger(this._spinBtn.value)) {
80 this.goToPage.emit(this.computeValudDestination(this._spinBtn.value));
81 }
82 }
83 /**
84 * @private
85 * @param {?} dest
86 * @return {?}
87 */
88 computeValudDestination(dest) {
89 return Math.min(Math.max(1, dest), this.numberPages);
90 }
91}
92BMGraphQLPaginationComponent.decorators = [
93 { type: Component, args: [{
94 selector: 'bm-graphql-pagination',
95 template: "<nav *ngIf=\"numberPages > 1\">\n <button class=\"bm-graphql-pagination__button\" aria-label=\"Go to the first page\" i18n-aria-label (click)=\"goToFirst($event)\"\n [disabled]=\"isFirst\">\n <svg aria-hidden=\"true\" data-prefix=\"fas\" data-icon=\"angle-double-left\" class=\"bm-graphql-pagination__icon bm-graphql-pagination__icon--double\"\n role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\">\n <path fill=\"currentColor\" d=\"M20.2 247.5L167 99.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17L85.3 256l118.5 119.7c4.7 4.7 4.7 12.3 0 17L184 412.5c-4.7 4.7-12.3 4.7-17 0l-146.8-148c-4.7-4.7-4.7-12.3 0-17zm160 17l146.8 148c4.7 4.7 12.3 4.7 17 0l19.8-19.8c4.7-4.7 4.7-12.3 0-17L245.3 256l118.5-119.7c4.7-4.7 4.7-12.3 0-17L344 99.5c-4.7-4.7-12.3-4.7-17 0l-146.8 148c-4.7 4.7-4.7 12.3 0 17z\"></path>\n </svg>\n </button>\n <button class=\"bm-graphql-pagination__button bm-graphql-pagination__button--middle\" (click)=\"deltaPage($event, -1)\"\n aria-label=\"Go to previous page\" i18n-aria-label [disabled]=\"isFirst\">\n <svg aria-hidden=\"true\" data-prefix=\"fas\" data-icon=\"angle-left\" class=\"bm-graphql-pagination__icon\" role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 192 512\">\n <path fill=\"currentColor\" d=\"M4.2 247.5L151 99.5c4.7-4.7 12.3-4.7 17 0l19.8 19.8c4.7 4.7 4.7 12.3 0 17L69.3 256l118.5 119.7c4.7 4.7 4.7 12.3 0 17L168 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 264.5c-4.7-4.7-4.7-12.3 0-17z\"></path>\n </svg>\n </button>\n <bm-spin-button [min]=\"1\" [max]=\"numberPages\" [step]=\"1\" [value]=\"currentPage\"></bm-spin-button>\n <button type=\"submit\" class=\"bm-graphql-pagination__button bm-graphql-pagination--submit bm-graphql-pagination__button--middle\" i18n (click)=\"submit($event)\">Go</button>\n <span i18n style=\"margin-left: 0.25em;\">of</span>\n {{numberPages}}\n <button class=\"bm-graphql-pagination__button bm-graphql-pagination__button--middle\" (click)=\"deltaPage($event, 1)\"\n [disabled]=\"isLast\" aria-label=\"Go to next page\" i18n-aria-label>\n <svg aria-hidden=\"true\" data-prefix=\"fas\" data-icon=\"angle-right\" class=\"bm-graphql-pagination__icon\" role=\"img\"\n xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 192 512\">\n <path fill=\"currentColor\" d=\"M187.8 264.5L41 412.5c-4.7 4.7-12.3 4.7-17 0L4.2 392.7c-4.7-4.7-4.7-12.3 0-17L122.7 256 4.2 136.3c-4.7-4.7-4.7-12.3 0-17L24 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17z\"></path>\n </svg></button>\n <button class=\"bm-graphql-pagination__button\" (click)=\"goToLast($event)\" aria-label=\"Go to the last page\"\n i18n-aria-labe [disabled]=\"isLast\">\n <svg aria-hidden=\"true\" data-prefix=\"fas\" data-icon=\"angle-double-right\" class=\"bm-graphql-pagination__icon bm-graphql-pagination__icon--double\"\n role=\"img\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\">\n <path fill=\"currentColor\" d=\"M363.8 264.5L217 412.5c-4.7 4.7-12.3 4.7-17 0l-19.8-19.8c-4.7-4.7-4.7-12.3 0-17L298.7 256 180.2 136.3c-4.7-4.7-4.7-12.3 0-17L200 99.5c4.7-4.7 12.3-4.7 17 0l146.8 148c4.7 4.7 4.7 12.3 0 17zm-160-17L57 99.5c-4.7-4.7-12.3-4.7-17 0l-19.8 19.8c-4.7 4.7-4.7 12.3 0 17L138.7 256 20.2 375.7c-4.7 4.7-4.7 12.3 0 17L40 412.5c4.7 4.7 12.3 4.7 17 0l146.8-148c4.7-4.7 4.7-12.3 0-17z\"></path>\n </svg></button>\n</nav>",
96 changeDetection: ChangeDetectionStrategy.OnPush,
97 styles: [":host(){display:inline-block}.bm-graphql-pagination__button{border:1px solid #dadada;border-radius:3px;background-color:#fff;color:#3e71ad;cursor:pointer;display:inline-block;height:1.7em;width:1.7em;padding:0;text-align:center}.bm-graphql-pagination__button:disabled{opacity:.3}.bm-graphql-pagination__button:focus:not(:disabled),.bm-graphql-pagination__button:hover:not(:disabled){background-color:#3e71ad;border-color:#3e71ad;color:#fff}.bm-graphql-pagination__button--middle,.bm-graphql-pagination__button--submit{margin:0 .25em}.bm-graphql-pagination__input{padding:6px 0 6px 16px}.bm-graphql-pagination__icon{display:inline-block;font-size:inherit;height:1em;vertical-align:-.125em;width:.5em;stroke-width:.9}.bm-graphql-pagination__icon--double{width:.875em}"]
98 }] }
99];
100BMGraphQLPaginationComponent.propDecorators = {
101 pagination: [{ type: Input }],
102 goToPage: [{ type: Output }],
103 _spinBtn: [{ type: ViewChild, args: [SpinButtonComponent, { static: false },] }]
104};
105
106/**
107 * @fileoverview added by tsickle
108 * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
109 */
110class BMHeaderUserOptionsComponent {
111 /**
112 * @param {?} elementRef
113 * @param {?} changeDetectorRef
114 */
115 constructor(elementRef, changeDetectorRef) {
116 this.elementRef = elementRef;
117 this.changeDetectorRef = changeDetectorRef;
118 this.ariaHaspopup = true;
119 this.open = false;
120 this.userData = {
121 name: 'Admin',
122 email: 'johnsmit@bmat.com',
123 selectedLanguage: 'en',
124 };
125 this.viewProfile = new EventEmitter();
126 this.changeLanguage = new EventEmitter();
127 this.logOut = new EventEmitter();
128 this.languageSelector = new FormGroup({
129 selectedLanguage: new FormControl(),
130 });
131 }
132 /**
133 * @param {?} $event
134 * @return {?}
135 */
136 documentClick($event) {
137 /** @type {?} */
138 let outside = true;
139 /** @type {?} */
140 let target = (/** @type {?} */ ($event.target));
141 /** @type {?} */
142 const container = this.elementRef.nativeElement;
143 if (!this.open) {
144 return;
145 }
146 while (target !== document.body && outside) {
147 if (target === container) {
148 outside = false;
149 }
150 target = (/** @type {?} */ (target.parentNode));
151 }
152 if (outside) {
153 this.toggleOpen();
154 }
155 this.changeDetectorRef.detectChanges();
156 }
157 /**
158 * @return {?}
159 */
160 toggleOpen() {
161 this.open = !this.open;
162 }
163 /**
164 * @return {?}
165 */
166 ngOnInit() {
167 if (this.userData) {
168 this.languageSelector.patchValue(this.userData, { emitEvent: false });
169 }
170 this.languageSelector.valueChanges.subscribe((/**
171 * @param {?} val
172 * @return {?}
173 */
174 val => this.changeLanguage.emit(val)));
175 }
176}
177BMHeaderUserOptionsComponent.decorators = [
178 { type: Component, args: [{
179 selector: 'bm-header-user-options',
180 template: "<button\n #toggleContainer\n class=\"bm-header-toggle\"\n tabindex=\"0\"\n (click)=\"toggleOpen()\"\n aria-label=\"Toggle user profile\"\n i18n-aria-label\n>\n <bm-user-portrait [src]=\"userData?.avatarSrc\"></bm-user-portrait>\n <span class=\"bm-header-user-name\">{{ userData?.name }}</span>\n <i class=\"fas fa-sort-down\"></i>\n</button>\n<div *ngIf=\"open\" class=\"bm-header-user-data-container\" [@flyInOut]=\"'in'\">\n <svg\n class=\"bm-header-user-caret-box\"\n viewBox=\"0 0 100 50\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <polygon points=\"0,50 50,0 100,50\" />\n </svg>\n <div class=\"bm-header-user-data\">\n <bm-user-portrait class=\"x2\" [src]=\"userData?.avatarSrc\"></bm-user-portrait>\n <bm-user-profile-detail\n [userData]=\"userData\"\n (viewProfile)=\"viewProfile.emit()\"\n ></bm-user-profile-detail>\n <ng-content></ng-content>\n <div class=\"bm-header-user-log-out\">\n <button\n class=\"bm-button bm-button--primary-inverse\"\n style=\"border: 0\"\n i18n\n (click)=\"logOut.emit()\"\n >\n <i class=\"fas fa-sign-out-alt fa-2x\"></i>Sign out\n </button>\n </div>\n </div>\n</div>\n",
181 changeDetection: ChangeDetectionStrategy.OnPush,
182 animations: [
183 trigger('flyInOut', [
184 state('in', style({ transform: 'translateX(0)' })),
185 transition('void => *', [
186 style({ transform: 'translateX(100%)' }),
187 animate(100),
188 ]),
189 transition('* => void', [
190 animate(100, style({ transform: 'translateX(100%)' })),
191 ]),
192 ]),
193 ],
194 styles: [":host{font-size:large;position:relative}:host .bm-header-toggle{text-align:right;color:#fff;background:0 0;border:0;font-size:.815rem}.bm-header-user-name{padding:0 .5em;vertical-align:middle}.bm-header-user-avatar{display:inline-block;width:2em;height:2em}.bm-header-user-avatar *{display:inline-block;font-size:2em;vertical-align:middle}.bm-header-caret{text-align:right}.bm-header-user-data-container{position:absolute;right:-16px;z-index:1000;top:calc(48px - .5em);width:30rem;max-width:100vw;background-color:transparent}.bm-header-user-data{background-color:#fff;box-shadow:0 0 10px 0 rgba(143,143,143,.5);border-radius:2px;width:100%;height:100%;box-sizing:border-box;padding:1em;display:flex;flex-wrap:wrap;justify-content:flex-start}.bm-header-user-data bm-user-portrait{width:4em;color:#000}.bm-header-user-data bm-user-profile-detail{flex:1 1;color:#000;padding:0 1em}svg.bm-header-user-caret-box{display:block;width:1em;height:.5em;margin-left:auto;margin-right:1em}svg.bm-header-user-caret-box polygon{fill:#fff}bm-header-profile-languages{flex:1 1 100%}.bm-header-user-log-out{flex:1 1 100%;text-align:center;border-top:1px solid var(--secondary-color,#bcbcbc);margin-top:.5em;padding-top:.5em}.bm-header-user-log-out *{vertical-align:middle}"]
195 }] }
196];
197/** @nocollapse */
198BMHeaderUserOptionsComponent.ctorParameters = () => [
199 { type: ElementRef },
200 { type: ChangeDetectorRef }
201];
202BMHeaderUserOptionsComponent.propDecorators = {
203 ariaHaspopup: [{ type: HostBinding, args: ['attr.aria-haspopup',] }],
204 open: [{ type: HostBinding, args: ['attr.aria-pressed',] }],
205 toggleContainer: [{ type: ViewChild, args: ['toggleContainer', { static: true },] }],
206 userData: [{ type: Input }],
207 viewProfile: [{ type: Output }],
208 changeLanguage: [{ type: Output }],
209 logOut: [{ type: Output }],
210 documentClick: [{ type: HostListener, args: ['document:click', ['$event'],] }]
211};
212
213/**
214 * @fileoverview added by tsickle
215 * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
216 */
217class BMUserDetailComponent {
218 constructor() {
219 this.viewProfile = new EventEmitter();
220 }
221}
222BMUserDetailComponent.decorators = [
223 { type: Component, args: [{
224 selector: 'bm-user-profile-detail',
225 template: "<h3>{{userData?.name}}</h3>\n<p class=\"email\">{{userData?.email}}</p>\n<p class=\"button-container\">\n <button class=\"bm-button bm-button--primary bm-header-view-profile\" (click)=\"viewProfile.emit()\">View profile</button>\n</p>",
226 changeDetection: ChangeDetectionStrategy.OnPush,
227 styles: [":host{display:inline-block;width:22em;max-width:90%;flex:1 1 0}:host .email{color:var(--header-background-color,#3e71ad);font-size:80%}:host .button-container{margin-top:1em}h3,p{margin:0}"]
228 }] }
229];
230BMUserDetailComponent.propDecorators = {
231 userData: [{ type: Input }],
232 viewProfile: [{ type: Output }]
233};
234
235/**
236 * @fileoverview added by tsickle
237 * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
238 */
239class BMPoweredByComponent {
240 constructor() {
241 this.currentYear = new Date().getFullYear();
242 }
243}
244BMPoweredByComponent.decorators = [
245 { type: Component, args: [{
246 selector: 'bm-powered-by',
247 template: "<div class=\"bm-pw-logo-container\">\n <div i18n class=\"bm-pw-lema-container\">Powered by</div>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 189.69 176.42\">\n <defs>\n <style>\n .cls-1 {\n fill: #c03f5c\n }\n\n .cls-2 {\n fill: #fff\n }\n </style>\n </defs>\n <g id=\"Layer_2\" data-name=\"Layer 2\">\n <g id=\"Layer_1-2\" data-name=\"Layer 1\">\n <path class=\"cls-1\" d=\"M87.46 9.11a61.84 61.84 0 0 0-57 38.24c-.82 2-1.94 3.48-4.29 3.58-3.13.13-5.1-1.84-4.79-4.95a9.33 9.33 0 0 1 .85-2.84c10.12-22.38 27-36.58 51.16-41.63 30-6.29 60.28 7.45 75.9 34.88a69.11 69.11 0 0 1 8.56 27.68 70.22 70.22 0 0 1-4.55 32.56c-.76 2-2 3.2-4.23 3.27-3 .1-4.92-1.81-4.71-4.8a10 10 0 0 1 .66-2.64 61.13 61.13 0 0 0 3.92-22A60.27 60.27 0 0 0 135.17 32a60.7 60.7 0 0 0-38-22c-3.17-.54-6.48-.61-9.71-.89z\"\n />\n <path class=\"cls-1\" d=\"M83.88 28.24c-16.26-.28-35 14.38-38.55 36.06a41.5 41.5 0 0 0 4.74 26.79 27.81 27.81 0 0 1 1.37 2.66 4.45 4.45 0 0 1-1.91 5.62 4.86 4.86 0 0 1-5.72-.86 6.77 6.77 0 0 1-.81-1.23c-4.56-7.93-7.43-16.43-7.32-25.62.25-20.51 9.29-36.09 27.1-46.33a48.62 48.62 0 0 1 28.32-6.21 51.85 51.85 0 0 1 47.2 42c2.4 12.75.14 24.63-6.16 35.86-1.05 1.88-2.4 3.12-4.74 3a4.41 4.41 0 0 1-4-6 21.63 21.63 0 0 1 1.34-2.67 41.36 41.36 0 0 0 5.14-24.3 41.85 41.85 0 0 0-14.66-28.41C107.31 31.74 98 28.31 83.88 28.24z\"\n />\n <path class=\"cls-1\" d=\"M87.42 103.46a32.7 32.7 0 1 1 32.8-32.59 32.47 32.47 0 0 1-32.8 32.59zM111 70.71a23.55 23.55 0 1 0-23.64 23.6A23.46 23.46 0 0 0 111 70.71z\"\n />\n <path class=\"cls-2\" d=\"M105.5 175.34v-24.75a24.5 24.5 0 0 0-.44-4.7 6.91 6.91 0 0 0-6-5.91c-3.57-.58-6.85.08-9.13 3.22a11.12 11.12 0 0 0-2.19 6.8c.05 7.5 0 15 0 22.5v2.88h-9.83v-2.73c0-7.67.06-15.33 0-23a16.15 16.15 0 0 0-.91-4.84 6.86 6.86 0 0 0-6.07-4.87c-3.37-.41-6.3.5-8.4 3.31a11.89 11.89 0 0 0-2.37 7.47c.06 7.25 0 14.5 0 21.75v2.9h-9.7v-44h9.37l.57 2.7c8.69-5.94 18.07-4.19 24.08 2.57.46-.43.91-.88 1.39-1.3 5.65-4.94 12.12-6.1 19.12-3.74 6.24 2.1 10.24 8.22 10.34 15.65.12 8.91 0 17.83 0 26.74 0 .4-.07.8-.12 1.38zM9.57 120.31v15.11a2 2 0 0 0 1.14-.46c11.38-9.48 29.19-3.29 32.8 11.51 2.11 8.65.95 16.71-5.33 23.51a20.55 20.55 0 0 1-26.65 2.76c-.46-.33-.9-.69-1.74-1.32-.09 1.54-.15 2.81-.2 3.83L0 175.3v-53.44m34.69 31.71a47.44 47.44 0 0 0-1.37-6 11.93 11.93 0 0 0-16.84-6.43c-7.76 4.07-9.55 15.12-3.54 21.89a12.38 12.38 0 0 0 16.49 1.83c3.68-2.79 4.88-6.8 5.26-11.29zm120.61-18.09l.2-4h9.64v43.28h-9.57l-.32-3.49c-.53.35-.87.54-1.17.78-9.87 8.06-24.94 4.38-30.83-7.1-4.27-8.33-3.36-20.46 3.13-27.64a20.79 20.79 0 0 1 27.2-3.19c.42.38.91.74 1.72 1.36zm-24.77 18h.13c.05.83.07 1.66.17 2.49a12.23 12.23 0 0 0 22.8 5.07 14.86 14.86 0 0 0-1.52-17.19 12.05 12.05 0 0 0-12.23-3.79c-4.63 1-7.45 4.18-8.6 8.74-.39 1.53-.51 3.11-.75 4.67zm59.02 13.45v8.64c-5.48 1.69-11.62.08-14.39-4.07a20.87 20.87 0 0 1-2.24-5.73 12.6 12.6 0 0 1-.22-3.48v-40.43l9.73-1.62v11h7.27v9.12h-7c-.07 1-.16 1.77-.17 2.56v18.48c0 4.2 1.3 5.48 5.54 5.5z\"\n />\n </g>\n </g>\n </svg>\n</div>\n<div class=\"bm-pw-all-rights-notice\">\n <span>{{currentYear}}</span>&nbsp;\n <span i18n>All rights reserved.</span>\n</div>",
248 changeDetection: ChangeDetectionStrategy.OnPush,
249 styles: [":host{text-align:center;padding:0 .5em}*{vertical-align:middle;font-size:inherit}.bm-pw-logo-container{font-size:smaller;color:var(--secondary-color,#bcbcbc);display:flex;align-items:center;justify-content:center}.bm-pw-logo-container .bm-pw-lema-container{padding:0 .5em}.bm-pw-logo-container svg{width:4em;height:4em}.bm-pw-all-rights-notice{font-size:x-small}:host([collapse]) .bm-pw-all-rights-notice,:host([collapse]) .bm-pw-lema-container{display:none}"]
250 }] }
251];
252
253/**
254 * @fileoverview added by tsickle
255 * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
256 */
257class BMUserPortraitComponent {
258 /**
259 * @param {?} changeDetectorRef
260 */
261 constructor(changeDetectorRef) {
262 this.changeDetectorRef = changeDetectorRef;
263 this.validSrc = false;
264 }
265 /**
266 * @param {?} v
267 * @return {?}
268 */
269 set src(v) {
270 this.srcCopy = v;
271 this.validSrc = false;
272 this.avatarImg = new Image(100, 100);
273 this.avatarImg.src = this.srcCopy;
274 this.avatarImg.onload = (/**
275 * @return {?}
276 */
277 () => {
278 this.validSrc = true;
279 this.changeDetectorRef.markForCheck();
280 });
281 this.avatarImg.onerror = (/**
282 * @return {?}
283 */
284 () => {
285 this.validSrc = false;
286 this.changeDetectorRef.markForCheck();
287 });
288 }
289 /**
290 * @return {?}
291 */
292 get src() {
293 return this.srcCopy;
294 }
295}
296BMUserPortraitComponent.decorators = [
297 { type: Component, args: [{
298 selector: 'bm-user-portrait',
299 template: "<ng-template #iconFiller>\n <i class=\"bm-user-avatar bm-icon-customer\" aria-hidden=\"true\"></i>\n</ng-template>\n<img *ngIf=\"validSrc; else iconFiller;\" class=\"bm-user-avatar\" [src]=\"src\" alt=\"User Avatar\" i18n-alt />",
300 changeDetection: ChangeDetectionStrategy.OnPush,
301 styles: [":host{display:inline-block}:host *{vertical-align:middle}i.bm-user-avatar{font-size:2em}img.bm-user-avatar{width:2em;height:2em;border-radius:50%}:host(.x2) i.bm-user-avatar{font-size:4em}:host(.x2) img.bm-user-avatar{width:4em;height:4em;border-radius:50%}:host(.x3) i.bm-user-avatar{font-size:6em}:host(.x3) img.bm-user-avatar{width:6em;height:6em;border-radius:50%}"]
302 }] }
303];
304/** @nocollapse */
305BMUserPortraitComponent.ctorParameters = () => [
306 { type: ChangeDetectorRef }
307];
308BMUserPortraitComponent.propDecorators = {
309 src: [{ type: Input }]
310};
311
312/**
313 * @fileoverview added by tsickle
314 * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
315 */
316class BMATWidgetsModule {
317 // tslint:disable-next-line:function-name
318 /**
319 * @return {?}
320 */
321 static forRoot() {
322 return {
323 ngModule: BMATWidgetsModule,
324 providers: [],
325 };
326 }
327}
328BMATWidgetsModule.decorators = [
329 { type: NgModule, args: [{
330 imports: [BMATSpinButtonModule, CommonModule, ReactiveFormsModule],
331 declarations: [
332 BMBmatMenuIconComponent,
333 BMGraphQLPaginationComponent,
334 BMHeaderUserOptionsComponent,
335 BMPoweredByComponent,
336 BMUserDetailComponent,
337 BMUserPortraitComponent,
338 ],
339 exports: [
340 BMBmatMenuIconComponent,
341 BMGraphQLPaginationComponent,
342 BMHeaderUserOptionsComponent,
343 BMPoweredByComponent,
344 ],
345 providers: [],
346 },] }
347];
348
349export { BMATWidgetsModule, BMBmatMenuIconComponent, BMGraphQLPaginationComponent, BMHeaderUserOptionsComponent, BMPoweredByComponent, BMPoweredByComponent as ɵa, BMUserDetailComponent as ɵb, BMUserPortraitComponent as ɵc };
350//# sourceMappingURL=bmat-angular-widgets.js.map