1 | import { CommonModule } from '@angular/common';
|
2 | import { Component, ChangeDetectionStrategy, EventEmitter, Input, Output, ViewChild, ElementRef, ChangeDetectorRef, HostBinding, HostListener, NgModule } from '@angular/core';
|
3 | import { FormGroup, FormControl, ReactiveFormsModule } from '@angular/forms';
|
4 | import { SpinButtonComponent, BMATSpinButtonModule } from '@bmat/spin-button';
|
5 | import { trigger, state, style, transition, animate } from '@angular/animations';
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | class BMBmatMenuIconComponent {
|
12 | constructor() {
|
13 | this.currentYear = new Date().getFullYear();
|
14 | }
|
15 | }
|
16 | BMBmatMenuIconComponent.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 |
|
27 |
|
28 |
|
29 |
|
30 |
|
31 |
|
32 | class BMGraphQLPaginationComponent {
|
33 | constructor() {
|
34 | this.goToPage = new EventEmitter();
|
35 | }
|
36 | |
37 |
|
38 |
|
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 |
|
50 |
|
51 |
|
52 |
|
53 | deltaPage($event, delta) {
|
54 | $event.preventDefault();
|
55 | this.goToPage.emit(this.computeValudDestination(this.currentPage + delta));
|
56 | }
|
57 | |
58 |
|
59 |
|
60 |
|
61 | goToFirst($event) {
|
62 | $event.preventDefault();
|
63 | this.goToPage.emit(1);
|
64 | }
|
65 | |
66 |
|
67 |
|
68 |
|
69 | goToLast($event) {
|
70 | $event.preventDefault();
|
71 | this.goToPage.emit(this.numberPages);
|
72 | }
|
73 | |
74 |
|
75 |
|
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 |
|
85 |
|
86 |
|
87 |
|
88 | computeValudDestination(dest) {
|
89 | return Math.min(Math.max(1, dest), this.numberPages);
|
90 | }
|
91 | }
|
92 | BMGraphQLPaginationComponent.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 | ];
|
100 | BMGraphQLPaginationComponent.propDecorators = {
|
101 | pagination: [{ type: Input }],
|
102 | goToPage: [{ type: Output }],
|
103 | _spinBtn: [{ type: ViewChild, args: [SpinButtonComponent, { static: false },] }]
|
104 | };
|
105 |
|
106 |
|
107 |
|
108 |
|
109 |
|
110 | class BMHeaderUserOptionsComponent {
|
111 | |
112 |
|
113 |
|
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 |
|
134 |
|
135 |
|
136 | documentClick($event) {
|
137 |
|
138 | let outside = true;
|
139 |
|
140 | let target = ( ($event.target));
|
141 |
|
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 = ( (target.parentNode));
|
151 | }
|
152 | if (outside) {
|
153 | this.toggleOpen();
|
154 | }
|
155 | this.changeDetectorRef.detectChanges();
|
156 | }
|
157 | |
158 |
|
159 |
|
160 | toggleOpen() {
|
161 | this.open = !this.open;
|
162 | }
|
163 | |
164 |
|
165 |
|
166 | ngOnInit() {
|
167 | if (this.userData) {
|
168 | this.languageSelector.patchValue(this.userData, { emitEvent: false });
|
169 | }
|
170 | this.languageSelector.valueChanges.subscribe(( |
171 |
|
172 |
|
173 |
|
174 | val => this.changeLanguage.emit(val)));
|
175 | }
|
176 | }
|
177 | BMHeaderUserOptionsComponent.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 |
|
198 | BMHeaderUserOptionsComponent.ctorParameters = () => [
|
199 | { type: ElementRef },
|
200 | { type: ChangeDetectorRef }
|
201 | ];
|
202 | BMHeaderUserOptionsComponent.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 |
|
215 |
|
216 |
|
217 | class BMUserDetailComponent {
|
218 | constructor() {
|
219 | this.viewProfile = new EventEmitter();
|
220 | }
|
221 | }
|
222 | BMUserDetailComponent.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 | ];
|
230 | BMUserDetailComponent.propDecorators = {
|
231 | userData: [{ type: Input }],
|
232 | viewProfile: [{ type: Output }]
|
233 | };
|
234 |
|
235 |
|
236 |
|
237 |
|
238 |
|
239 | class BMPoweredByComponent {
|
240 | constructor() {
|
241 | this.currentYear = new Date().getFullYear();
|
242 | }
|
243 | }
|
244 | BMPoweredByComponent.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> \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 |
|
255 |
|
256 |
|
257 | class BMUserPortraitComponent {
|
258 | |
259 |
|
260 |
|
261 | constructor(changeDetectorRef) {
|
262 | this.changeDetectorRef = changeDetectorRef;
|
263 | this.validSrc = false;
|
264 | }
|
265 | |
266 |
|
267 |
|
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 |
|
276 |
|
277 | () => {
|
278 | this.validSrc = true;
|
279 | this.changeDetectorRef.markForCheck();
|
280 | });
|
281 | this.avatarImg.onerror = ( |
282 |
|
283 |
|
284 | () => {
|
285 | this.validSrc = false;
|
286 | this.changeDetectorRef.markForCheck();
|
287 | });
|
288 | }
|
289 | |
290 |
|
291 |
|
292 | get src() {
|
293 | return this.srcCopy;
|
294 | }
|
295 | }
|
296 | BMUserPortraitComponent.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 |
|
305 | BMUserPortraitComponent.ctorParameters = () => [
|
306 | { type: ChangeDetectorRef }
|
307 | ];
|
308 | BMUserPortraitComponent.propDecorators = {
|
309 | src: [{ type: Input }]
|
310 | };
|
311 |
|
312 |
|
313 |
|
314 |
|
315 |
|
316 | class BMATWidgetsModule {
|
317 |
|
318 | |
319 |
|
320 |
|
321 | static forRoot() {
|
322 | return {
|
323 | ngModule: BMATWidgetsModule,
|
324 | providers: [],
|
325 | };
|
326 | }
|
327 | }
|
328 | BMATWidgetsModule.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 |
|
349 | export { BMATWidgetsModule, BMBmatMenuIconComponent, BMGraphQLPaginationComponent, BMHeaderUserOptionsComponent, BMPoweredByComponent, BMPoweredByComponent as ɵa, BMUserDetailComponent as ɵb, BMUserPortraitComponent as ɵc };
|
350 |
|