af-connect-components 0.0.4 → 0.0.5

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 (28) hide show
  1. package/esm2020/lib/af-connect-components.module.mjs +32 -5
  2. package/esm2020/lib/af-connect-footer/af-connect-footer.component.mjs +147 -17
  3. package/esm2020/lib/af-connect-products-carousel/af-connect-products-carousel.component.mjs +47 -0
  4. package/esm2020/lib/af-connect-products-carousel/defaultConfig.mjs +27 -0
  5. package/esm2020/lib/af-connect-products-carousel/image-card/image-card.component.mjs +27 -0
  6. package/esm2020/lib/expandable/expandable-arrow/expandable-arrow.component.mjs +3 -3
  7. package/esm2020/lib/faq/faq/faq.component.mjs +23 -0
  8. package/esm2020/lib/faq/faq-item/faq-item.component.mjs +17 -0
  9. package/esm2020/lib/faq/faqItem.mjs +2 -0
  10. package/esm2020/lib/faq/image-fallback/image-fallback.component.mjs +74 -0
  11. package/esm2020/public-api.mjs +5 -1
  12. package/esm2020/shared/pipes/get-initials.mjs +4 -1
  13. package/fesm2015/af-connect-components.mjs +373 -25
  14. package/fesm2015/af-connect-components.mjs.map +1 -1
  15. package/fesm2020/af-connect-components.mjs +373 -25
  16. package/fesm2020/af-connect-components.mjs.map +1 -1
  17. package/lib/af-connect-components.module.d.ts +8 -3
  18. package/lib/af-connect-footer/af-connect-footer.component.d.ts +130 -0
  19. package/lib/af-connect-products-carousel/af-connect-products-carousel.component.d.ts +32 -0
  20. package/lib/af-connect-products-carousel/defaultConfig.d.ts +6 -0
  21. package/lib/af-connect-products-carousel/image-card/image-card.component.d.ts +13 -0
  22. package/lib/faq/faq/faq.component.d.ts +9 -0
  23. package/lib/faq/faq-item/faq-item.component.d.ts +7 -0
  24. package/lib/faq/faqItem.d.ts +7 -0
  25. package/lib/faq/image-fallback/image-fallback.component.d.ts +18 -0
  26. package/package.json +1 -1
  27. package/public-api.d.ts +4 -0
  28. package/shared/pipes/get-initials.d.ts +1 -1
@@ -1,12 +1,13 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Component, ChangeDetectionStrategy, Host, Optional, Input, Pipe, EventEmitter, Output, HostListener, NgModule } from '@angular/core';
3
- import { map, BehaviorSubject, take } from 'rxjs';
2
+ import { Injectable, Component, ChangeDetectionStrategy, Host, Optional, Input, Pipe, EventEmitter, Output, HostListener, Directive, ContentChild, NgModule } from '@angular/core';
3
+ import { map, BehaviorSubject, take, fromEvent } from 'rxjs';
4
4
  import * as i1 from '@angular/cdk/layout';
5
5
  import * as i2 from '@angular/common';
6
6
  import { CommonModule } from '@angular/common';
7
7
  import { trigger, state, style, transition, animate } from '@angular/animations';
8
8
  import * as i2$1 from '@angular/material/icon';
9
9
  import { MatIconModule } from '@angular/material/icon';
10
+ import { first } from 'rxjs/operators';
10
11
 
11
12
  class AfConnectComponentsService {
12
13
  constructor() { }
@@ -102,7 +103,7 @@ class ExpandableArrowComponent {
102
103
  ngOnInit() { }
103
104
  }
104
105
  ExpandableArrowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ExpandableArrowComponent, deps: [{ token: ExpandableWrapperComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
105
- ExpandableArrowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ExpandableArrowComponent, selector: "afc-expandable-arrow", ngImport: i0, template: "<span class=\"expandable-arrow\" #arrow>\r\n <mat-icon [@expandableArrow]=\"(wrapper && wrapper.isExpanded$ | async) === true ? 'expanded' : 'collapsed'\">\r\n arrow_forward_ios\r\n </mat-icon>\r\n</span>\r\n", styles: [".mat-icon{width:18px;height:18px}.material-icons{font-size:18px}.expandable-arrow{color:#fff;opacity:70%}\n"], dependencies: [{ kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [trigger('expandableArrow', [
106
+ ExpandableArrowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ExpandableArrowComponent, selector: "afc-expandable-arrow", ngImport: i0, template: "<span class=\"expandable-arrow\" #arrow>\r\n <mat-icon [@expandableArrow]=\"(wrapper && wrapper.isExpanded$ | async) === true ? 'expanded' : 'collapsed'\">\r\n arrow_forward_ios\r\n </mat-icon>\r\n</span>\r\n", styles: [".mat-icon{width:18px;height:18px}.material-icons{font-size:18px}.expandable-arrow{color:#fff;opacity:70%}:host(.faq-arrow) .expandable-arrow{color:#124e57;opacity:100%}:host(.faq-arrow) .mat-icon{width:19px;height:19px}:host(.faq-arrow) .material-icons{font-size:19px}@media (max-width: 1024px){:host(.faq-arrow) .mat-icon{width:16px;height:16px}:host(.faq-arrow) .material-icons{font-size:16px}}\n"], dependencies: [{ kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [trigger('expandableArrow', [
106
107
  state('collapsed', style({ transform: 'rotate(0)' })),
107
108
  state('expanded', style({ transform: 'rotate(90deg)' })),
108
109
  transition('expanded <=> collapsed', animate('265ms ease-out')),
@@ -115,7 +116,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
115
116
  state('expanded', style({ transform: 'rotate(90deg)' })),
116
117
  transition('expanded <=> collapsed', animate('265ms ease-out')),
117
118
  transition('collapsed <=> expanded', animate('265ms ease-in'))
118
- ])], template: "<span class=\"expandable-arrow\" #arrow>\r\n <mat-icon [@expandableArrow]=\"(wrapper && wrapper.isExpanded$ | async) === true ? 'expanded' : 'collapsed'\">\r\n arrow_forward_ios\r\n </mat-icon>\r\n</span>\r\n", styles: [".mat-icon{width:18px;height:18px}.material-icons{font-size:18px}.expandable-arrow{color:#fff;opacity:70%}\n"] }]
119
+ ])], template: "<span class=\"expandable-arrow\" #arrow>\r\n <mat-icon [@expandableArrow]=\"(wrapper && wrapper.isExpanded$ | async) === true ? 'expanded' : 'collapsed'\">\r\n arrow_forward_ios\r\n </mat-icon>\r\n</span>\r\n", styles: [".mat-icon{width:18px;height:18px}.material-icons{font-size:18px}.expandable-arrow{color:#fff;opacity:70%}:host(.faq-arrow) .expandable-arrow{color:#124e57;opacity:100%}:host(.faq-arrow) .mat-icon{width:19px;height:19px}:host(.faq-arrow) .material-icons{font-size:19px}@media (max-width: 1024px){:host(.faq-arrow) .mat-icon{width:16px;height:16px}:host(.faq-arrow) .material-icons{font-size:16px}}\n"] }]
119
120
  }], ctorParameters: function () {
120
121
  return [{ type: ExpandableWrapperComponent, decorators: [{
121
122
  type: Host
@@ -136,6 +137,136 @@ class AfConnectFooterComponent {
136
137
  }
137
138
 
138
139
  Passing the exampleTestConfig will replace only the banner. Everything else will be loaded from the default config.
140
+
141
+
142
+ defaultConfig: FooterConfig = {
143
+ sections: [
144
+ {
145
+ title: 'COMPANY',
146
+ sectionItems: [
147
+ {
148
+ title: 'Investor relations',
149
+ link: 'https://investors.alexforbes.com/'
150
+ },
151
+ {
152
+ title: 'Careers',
153
+ link: 'https://www.alexforbes.com/za/en/about/careers.html'
154
+ },
155
+ {
156
+ title: 'Procurement',
157
+ link: 'https://www.alexforbes.com/za/en/about/procurement.html'
158
+ },
159
+ {
160
+ title: 'Risk & Compliance',
161
+ link: 'https://www.alexanderforbesinvestments.co.za/about-us/risk-and-compliance'
162
+ },
163
+ ]
164
+ },
165
+ {
166
+ title: 'PREVIOUS SITES',
167
+ sectionItems: [
168
+ {
169
+ title: 'Group Website',
170
+ link: 'https://za.alexforbes.com/home#Grow'
171
+ },
172
+ {
173
+ title: 'Investments',
174
+ link: 'https://investments.alexforbes.com/home#Risk-Led'
175
+ },
176
+ {
177
+ title: 'Botswana',
178
+ link: 'https://botswana.alexforbes.com/home'
179
+ },
180
+ {
181
+ title: 'Namibia',
182
+ link: 'https://namibia.alexforbes.com/home'
183
+ },
184
+ {
185
+ title: 'Jersey',
186
+ link: 'https://offshore.alexforbes.com/home'
187
+ },
188
+ ]
189
+ },
190
+ {
191
+ title: 'RESOURCES',
192
+ sectionItems: [
193
+ {
194
+ title: 'Business directory',
195
+ link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'
196
+ },
197
+ {
198
+ title: 'Compliments',
199
+ link: 'https://www.alexforbes.com/za/en/contact/compliments.html'
200
+ },
201
+ {
202
+ title: 'Complaints',
203
+ link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'
204
+ },
205
+ {
206
+ title: 'Report fraud',
207
+ link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'
208
+ },
209
+ {
210
+ title: 'Unclaimed benefits',
211
+ link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'
212
+ },
213
+ ]
214
+ },
215
+ ],
216
+ address: [
217
+ {
218
+ title: 'Head Office',
219
+ sectionItems: [
220
+ {
221
+ title: 'Contact information',
222
+ },
223
+ {
224
+ title: 'Email : info@alexforbes.com',
225
+ },
226
+ {
227
+ title: 'Telephone : +27 11 269 0000',
228
+ },
229
+ {
230
+ title: 'Fax : +27 11 263 0149',
231
+ },
232
+ ]
233
+ },
234
+ {
235
+ title: '',
236
+ sectionItems: [
237
+ {
238
+ title: 'Address',
239
+ },
240
+ {
241
+ title: 'Alexforbes',
242
+ },
243
+ {
244
+ title: '115 West Street',
245
+ },
246
+ {
247
+ title: 'Sandton, 2196',
248
+ },
249
+ ]
250
+ },
251
+ ],
252
+ bannerTitle: 'Copyright 2022 Alexander Forbes Group Holdings Limited. Legal terms | Privacy policy | PAIA manual',
253
+ instagram: {
254
+ link: 'https://www.instagram.com/alexforbesofficial',
255
+ isHidden: false,
256
+ },
257
+ linkedIn: {
258
+ link: 'https://www.linkedin.com/company/alexforbesofficial',
259
+ isHidden: false,
260
+ },
261
+ facebook: {
262
+ link: 'https://www.facebook.com/alexforbesofficial/',
263
+ isHidden: false,
264
+ },
265
+ twitter: {
266
+ link: 'https://twitter.com/alexforbes',
267
+ isHidden: false,
268
+ }
269
+ }
139
270
  */
140
271
  this.defaultConfig = {
141
272
  sections: [
@@ -144,19 +275,19 @@ class AfConnectFooterComponent {
144
275
  sectionItems: [
145
276
  {
146
277
  title: 'Investor relations',
147
- link: ''
278
+ link: 'https://investors.alexforbes.com/'
148
279
  },
149
280
  {
150
281
  title: 'Careers',
151
- link: ''
282
+ link: 'https://www.alexforbes.com/za/en/about/careers.html'
152
283
  },
153
284
  {
154
285
  title: 'Procurement',
155
- link: ''
286
+ link: 'https://www.alexforbes.com/za/en/about/procurement.html'
156
287
  },
157
288
  {
158
289
  title: 'Risk & Compliance',
159
- link: ''
290
+ link: 'https://www.alexanderforbesinvestments.co.za/about-us/risk-and-compliance'
160
291
  },
161
292
  ]
162
293
  },
@@ -165,23 +296,23 @@ class AfConnectFooterComponent {
165
296
  sectionItems: [
166
297
  {
167
298
  title: 'Group Website',
168
- link: ''
299
+ link: 'https://za.alexforbes.com/home#Grow'
169
300
  },
170
301
  {
171
302
  title: 'Investments',
172
- link: ''
303
+ link: 'https://investments.alexforbes.com/home#Risk-Led'
173
304
  },
174
305
  {
175
306
  title: 'Botswana',
176
- link: ''
307
+ link: 'https://botswana.alexforbes.com/home'
177
308
  },
178
309
  {
179
310
  title: 'Namibia',
180
- link: ''
311
+ link: 'https://namibia.alexforbes.com/home'
181
312
  },
182
313
  {
183
314
  title: 'Jersey',
184
- link: ''
315
+ link: 'https://offshore.alexforbes.com/home'
185
316
  },
186
317
  ]
187
318
  },
@@ -190,23 +321,23 @@ class AfConnectFooterComponent {
190
321
  sectionItems: [
191
322
  {
192
323
  title: 'Business directory',
193
- link: ''
324
+ link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'
194
325
  },
195
326
  {
196
327
  title: 'Compliments',
197
- link: ''
328
+ link: 'https://www.alexforbes.com/za/en/contact/compliments.html'
198
329
  },
199
330
  {
200
331
  title: 'Complaints',
201
- link: ''
332
+ link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'
202
333
  },
203
334
  {
204
335
  title: 'Report fraud',
205
- link: ''
336
+ link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'
206
337
  },
207
338
  {
208
339
  title: 'Unclaimed benefits',
209
- link: ''
340
+ link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'
210
341
  },
211
342
  ]
212
343
  },
@@ -277,10 +408,10 @@ class AfConnectFooterComponent {
277
408
  }
278
409
  }
279
410
  AfConnectFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectFooterComponent, deps: [{ token: BreakpointLibService }], target: i0.ɵɵFactoryTarget.Component });
280
- AfConnectFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: AfConnectFooterComponent, selector: "lib-af-connect-footer", inputs: { config: "config" }, ngImport: i0, template: "\r\n<div *ngIf=\"breakpointService.isMobile$ | async\" class=\"footer-container\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a class=\"section-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" class=\"sections-container address-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <a class=\"section-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!(breakpointService.isMobile$ | async)\" class=\"footer-container\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <afc-expandable-arrow></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a class=\"section-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" [ngClass]=\"[\r\n address.title ? 'sections-container address-container' : '']\">\r\n <afc-expandable-wrapper *ngIf=\"address.title\">\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <afc-expandable-arrow></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <a class=\"section-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n <a class=\"section-link\">{{getMobileAddress}}</a>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n</div>\r\n\r\n<div class=\"bottom-banner\">\r\n {{config?.bannerTitle ? config?.bannerTitle : defaultConfig.bannerTitle}}\r\n \r\n <div class=\"social-container\">\r\n <a *ngIf=\"!config?.instagram?.isHidden\" class=\"image-container\" [href]=\"config?.instagram?.link ? config?.instagram?.link : defaultConfig.instagram?.link\"> \r\n <svg id=\"Group_888\" data-name=\"Group 888\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"15.676\" viewBox=\"0 0 15.618 15.676\">\r\n <path id=\"Path_8\" data-name=\"Path 8\" d=\"M21.327,13.4c1.039.037,2.115.037,3.154.074a5.31,5.31,0,0,1,2.6.668,3.937,3.937,0,0,1,1.892,2.746,21.051,21.051,0,0,1,.186,2.152c.037,1.558,0,3.117,0,4.675a7.553,7.553,0,0,1-.3,2.412,3.931,3.931,0,0,1-3.154,2.746,14.046,14.046,0,0,1-2.152.186c-1.559.037-3.08,0-4.638,0a7.553,7.553,0,0,1-2.412-.3,3.931,3.931,0,0,1-2.746-3.154,14.046,14.046,0,0,1-.186-2.152c-.037-1.558,0-3.117,0-4.675a7.553,7.553,0,0,1,.3-2.412,3.931,3.931,0,0,1,3.154-2.746,14.047,14.047,0,0,1,2.152-.186c.705-.037,1.41-.037,2.152-.037Zm6.42,7.681h0c-.037-.631-.037-1.225-.037-1.855a14.347,14.347,0,0,0-.111-1.781,2.653,2.653,0,0,0-2.226-2.486,9.8,9.8,0,0,0-2.078-.148c-1.336-.037-2.635-.037-3.97,0a11.414,11.414,0,0,0-1.967.148,2.616,2.616,0,0,0-2.226,1.93A5.813,5.813,0,0,0,14.945,18c-.037,1.41-.037,2.82-.037,4.23,0,.891.037,1.818.111,2.709a2.587,2.587,0,0,0,2.264,2.486,12.746,12.746,0,0,0,2.078.148c1.3.037,2.6,0,3.933,0a14.348,14.348,0,0,0,1.781-.111A2.594,2.594,0,0,0,26.6,26.87a2.848,2.848,0,0,0,1.039-2.264C27.71,23.493,27.71,22.306,27.747,21.081Z\" transform=\"translate(-13.556 -13.4)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_9\" data-name=\"Path 9\" d=\"M31.715,27.708a4.008,4.008,0,1,1-3.97-4.008A3.991,3.991,0,0,1,31.715,27.708Zm-4.008,2.6a2.6,2.6,0,1,0-2.6-2.6A2.581,2.581,0,0,0,27.708,30.3Z\" transform=\"translate(-19.936 -19.878)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_10\" data-name=\"Path 10\" d=\"M45.052,21.628a.951.951,0,0,1-.928.965.946.946,0,1,1,.928-.965Z\" transform=\"translate(-32.196 -17.991)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.linkedIn?.isHidden\" class=\"image-container\" [href]=\"config?.linkedIn?.link ? config?.linkedIn?.link : defaultConfig.linkedIn?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"14.902\" viewBox=\"0 0 15.618 14.902\">\r\n <path id=\"Path_7\" data-name=\"Path 7\" d=\"M32.818,24.635V30.4H29.45V25.014c0-1.347-.463-2.273-1.684-2.273a1.868,1.868,0,0,0-1.726,1.221,2.278,2.278,0,0,0-.126.8V30.4H22.546s.042-9.135,0-10.061h3.368v1.431a.041.041,0,0,1-.042.042h.042v-.042a3.363,3.363,0,0,1,3.031-1.684c2.189,0,3.873,1.473,3.873,4.546ZM19.094,15.5A1.753,1.753,0,0,0,17.2,17.226a1.716,1.716,0,0,0,1.852,1.726h.042a1.729,1.729,0,0,0,1.894-1.726A1.777,1.777,0,0,0,19.094,15.5ZM17.368,30.4h3.326V20.341H17.368Zm0,0\" transform=\"translate(-17.2 -15.5)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.facebook?.isHidden\" class=\"image-container\" [href]=\"config?.facebook?.link ? config?.facebook?.link : defaultConfig.facebook?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0 0 7.235 15.618\">\r\n <path id=\"Path_13\" data-name=\"Path 13\" d=\"M31.967,21.909H29.785v7.809H26.531V21.909H25V19.153h1.531v-1.8A3.032,3.032,0,0,1,29.785,14.1H32.2v2.68H30.474a.679.679,0,0,0-.689.766v1.608h2.45Zm0,0\" transform=\"translate(-25 -14.1)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.twitter?.isHidden\" class=\"image-container\" [href]=\"config?.twitter?.link ? config?.twitter?.link : defaultConfig.twitter?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"12.715\" viewBox=\"0 0 15.618 12.715\">\r\n <path id=\"Path_6\" data-name=\"Path 6\" d=\"M28.818,18.707a6.2,6.2,0,0,1-1.837.514,3.165,3.165,0,0,0,1.4-1.764,6.762,6.762,0,0,1-2.021.772A3.248,3.248,0,0,0,24,17.2a3.2,3.2,0,0,0-3.2,3.2,4.524,4.524,0,0,0,.073.735,9.094,9.094,0,0,1-6.615-3.344,3.053,3.053,0,0,0-.441,1.617,3.213,3.213,0,0,0,1.433,2.683,2.946,2.946,0,0,1-1.47-.4v.037a3.231,3.231,0,0,0,2.572,3.16,3.132,3.132,0,0,1-.845.11,2.857,2.857,0,0,1-.588-.073,3.211,3.211,0,0,0,3.013,2.242,6.477,6.477,0,0,1-3.969,1.36,5.427,5.427,0,0,1-.772-.037A9.128,9.128,0,0,0,27.238,20.8v-.4a6.874,6.874,0,0,0,1.58-1.69Zm0,0\" transform=\"translate(-13.2 -17.2)\" fill=\"#f1f2f5\"/>\r\n </svg> \r\n </a>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [":host{z-index:1000}.footer-container{font-family:Hero New SemiBold;background:#15808D;min-height:200px;position:relative;padding:3% 5% 2% 5.3%;z-index:1000;display:grid;grid-column-gap:4rem;grid-row-gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(190px,auto))}@media (min-width: 769px) and (max-width: 1023px){.footer-container{grid-column-gap:2rem}}@media (min-width: 1024px) and (max-width: 1200px){.footer-container{grid-column-gap:2rem}}@media (max-width: 768px){.footer-container{grid-column-gap:0px;grid-row-gap:0px;display:flex;flex-wrap:wrap;flex-direction:column;padding:0rem 1rem}}.sections-container,.sections-container__mobile{display:flex;flex-wrap:wrap;justify-content:flex-start;flex-direction:column;gap:.5rem}@media (max-width: 768px){.sections-container,.sections-container__mobile{gap:20px;border-bottom:1px solid white}}@media (max-width: 768px){.sections-container__mobile{padding-bottom:20px}}.sections-container .section-title,.sections-container__mobile .section-title{font-size:1.25rem;font-family:Hero New Bold;margin:0 0 12px;color:#f1f2f5}@media (max-width: 768px){.sections-container .section-title,.sections-container__mobile .section-title{margin:0;font-size:1.125rem}}.sections-container:last-of-type,.sections-container__mobile:last-of-type{border-bottom:none}.sections-container:nth-last-of-type(2),.sections-container__mobile:nth-last-of-type(2){border-bottom:none}.section-link{font-family:Hero New;color:#fff;text-decoration:none;opacity:70%}@media (max-width: 768px){.section-link{font-size:.875rem}}.bottom-banner{color:#f1f2f5;background:#124E57;border:1px solid #707070;padding:2% 5%;display:flex;justify-content:space-between;align-items:center;max-height:120px;position:relative;z-index:1001}@media (max-width: 768px){.bottom-banner{flex-direction:column;justify-content:center;text-align:center;gap:11px;align-items:center;font-size:.6875rem;padding:16px 8px;line-height:22px}}.social-container{display:flex;gap:40px;margin-left:4%}@media (max-width: 768px){.social-container{gap:35px;margin-left:0%}}.image-container{cursor:pointer;display:flex;justify-content:center;align-items:center;width:18px;height:18px}img{height:16px;width:16px}.section-link{cursor:pointer}.address-title{min-height:28px}.address-container a:first-of-type{opacity:100%}.title-container{display:flex;justify-content:space-between;align-items:center;cursor:pointer}@media (max-width: 768px){.title-container{padding-top:16px;padding-bottom:16px;width:100%}}.margin-div{width:100%;height:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ExpandableContainerComponent, selector: "afc-expandable-container" }, { kind: "component", type: ExpandableArrowComponent, selector: "afc-expandable-arrow" }, { kind: "component", type: ExpandableWrapperComponent, selector: "afc-expandable-wrapper" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
411
+ AfConnectFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: AfConnectFooterComponent, selector: "lib-af-connect-footer", inputs: { config: "config" }, ngImport: i0, template: "\r\n<div *ngIf=\"breakpointService.isMobile$ | async\" class=\"footer-container\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a class=\"section-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" class=\"sections-container address-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link address-link\">{{link.title}}</span>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!(breakpointService.isMobile$ | async)\" class=\"footer-container\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <afc-expandable-arrow></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a class=\"section-link address-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" [ngClass]=\"[\r\n address.title ? 'sections-container address-container' : '']\">\r\n <afc-expandable-wrapper *ngIf=\"address.title\">\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <afc-expandable-arrow></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link\">{{link.title}}</span>\r\n </ng-container>\r\n <span class=\"section-link address-link\">{{getMobileAddress}}</span>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n</div>\r\n\r\n<div class=\"bottom-banner\">\r\n {{config?.bannerTitle ? config?.bannerTitle : defaultConfig.bannerTitle}}\r\n \r\n <div class=\"social-container\">\r\n <a *ngIf=\"!config?.instagram?.isHidden\" class=\"image-container\" [href]=\"config?.instagram?.link ? config?.instagram?.link : defaultConfig.instagram?.link\"> \r\n <svg id=\"Group_888\" data-name=\"Group 888\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"15.676\" viewBox=\"0 0 15.618 15.676\">\r\n <path id=\"Path_8\" data-name=\"Path 8\" d=\"M21.327,13.4c1.039.037,2.115.037,3.154.074a5.31,5.31,0,0,1,2.6.668,3.937,3.937,0,0,1,1.892,2.746,21.051,21.051,0,0,1,.186,2.152c.037,1.558,0,3.117,0,4.675a7.553,7.553,0,0,1-.3,2.412,3.931,3.931,0,0,1-3.154,2.746,14.046,14.046,0,0,1-2.152.186c-1.559.037-3.08,0-4.638,0a7.553,7.553,0,0,1-2.412-.3,3.931,3.931,0,0,1-2.746-3.154,14.046,14.046,0,0,1-.186-2.152c-.037-1.558,0-3.117,0-4.675a7.553,7.553,0,0,1,.3-2.412,3.931,3.931,0,0,1,3.154-2.746,14.047,14.047,0,0,1,2.152-.186c.705-.037,1.41-.037,2.152-.037Zm6.42,7.681h0c-.037-.631-.037-1.225-.037-1.855a14.347,14.347,0,0,0-.111-1.781,2.653,2.653,0,0,0-2.226-2.486,9.8,9.8,0,0,0-2.078-.148c-1.336-.037-2.635-.037-3.97,0a11.414,11.414,0,0,0-1.967.148,2.616,2.616,0,0,0-2.226,1.93A5.813,5.813,0,0,0,14.945,18c-.037,1.41-.037,2.82-.037,4.23,0,.891.037,1.818.111,2.709a2.587,2.587,0,0,0,2.264,2.486,12.746,12.746,0,0,0,2.078.148c1.3.037,2.6,0,3.933,0a14.348,14.348,0,0,0,1.781-.111A2.594,2.594,0,0,0,26.6,26.87a2.848,2.848,0,0,0,1.039-2.264C27.71,23.493,27.71,22.306,27.747,21.081Z\" transform=\"translate(-13.556 -13.4)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_9\" data-name=\"Path 9\" d=\"M31.715,27.708a4.008,4.008,0,1,1-3.97-4.008A3.991,3.991,0,0,1,31.715,27.708Zm-4.008,2.6a2.6,2.6,0,1,0-2.6-2.6A2.581,2.581,0,0,0,27.708,30.3Z\" transform=\"translate(-19.936 -19.878)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_10\" data-name=\"Path 10\" d=\"M45.052,21.628a.951.951,0,0,1-.928.965.946.946,0,1,1,.928-.965Z\" transform=\"translate(-32.196 -17.991)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.linkedIn?.isHidden\" class=\"image-container\" [href]=\"config?.linkedIn?.link ? config?.linkedIn?.link : defaultConfig.linkedIn?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"14.902\" viewBox=\"0 0 15.618 14.902\">\r\n <path id=\"Path_7\" data-name=\"Path 7\" d=\"M32.818,24.635V30.4H29.45V25.014c0-1.347-.463-2.273-1.684-2.273a1.868,1.868,0,0,0-1.726,1.221,2.278,2.278,0,0,0-.126.8V30.4H22.546s.042-9.135,0-10.061h3.368v1.431a.041.041,0,0,1-.042.042h.042v-.042a3.363,3.363,0,0,1,3.031-1.684c2.189,0,3.873,1.473,3.873,4.546ZM19.094,15.5A1.753,1.753,0,0,0,17.2,17.226a1.716,1.716,0,0,0,1.852,1.726h.042a1.729,1.729,0,0,0,1.894-1.726A1.777,1.777,0,0,0,19.094,15.5ZM17.368,30.4h3.326V20.341H17.368Zm0,0\" transform=\"translate(-17.2 -15.5)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.facebook?.isHidden\" class=\"image-container\" [href]=\"config?.facebook?.link ? config?.facebook?.link : defaultConfig.facebook?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0 0 7.235 15.618\">\r\n <path id=\"Path_13\" data-name=\"Path 13\" d=\"M31.967,21.909H29.785v7.809H26.531V21.909H25V19.153h1.531v-1.8A3.032,3.032,0,0,1,29.785,14.1H32.2v2.68H30.474a.679.679,0,0,0-.689.766v1.608h2.45Zm0,0\" transform=\"translate(-25 -14.1)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.twitter?.isHidden\" class=\"image-container\" [href]=\"config?.twitter?.link ? config?.twitter?.link : defaultConfig.twitter?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"12.715\" viewBox=\"0 0 15.618 12.715\">\r\n <path id=\"Path_6\" data-name=\"Path 6\" d=\"M28.818,18.707a6.2,6.2,0,0,1-1.837.514,3.165,3.165,0,0,0,1.4-1.764,6.762,6.762,0,0,1-2.021.772A3.248,3.248,0,0,0,24,17.2a3.2,3.2,0,0,0-3.2,3.2,4.524,4.524,0,0,0,.073.735,9.094,9.094,0,0,1-6.615-3.344,3.053,3.053,0,0,0-.441,1.617,3.213,3.213,0,0,0,1.433,2.683,2.946,2.946,0,0,1-1.47-.4v.037a3.231,3.231,0,0,0,2.572,3.16,3.132,3.132,0,0,1-.845.11,2.857,2.857,0,0,1-.588-.073,3.211,3.211,0,0,0,3.013,2.242,6.477,6.477,0,0,1-3.969,1.36,5.427,5.427,0,0,1-.772-.037A9.128,9.128,0,0,0,27.238,20.8v-.4a6.874,6.874,0,0,0,1.58-1.69Zm0,0\" transform=\"translate(-13.2 -17.2)\" fill=\"#f1f2f5\"/>\r\n </svg> \r\n </a>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [":host{z-index:1000}.footer-container{font-family:Hero New SemiBold;background:#15808D;min-height:200px;position:relative;padding:3% 5% 2% 5.3%;z-index:1000;display:grid;grid-column-gap:4rem;grid-row-gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(190px,auto))}@media (min-width: 769px) and (max-width: 1023px){.footer-container{grid-column-gap:2rem}}@media (min-width: 1024px) and (max-width: 1200px){.footer-container{grid-column-gap:2rem}}@media (max-width: 768px){.footer-container{grid-column-gap:0px;grid-row-gap:0px;display:flex;flex-wrap:wrap;flex-direction:column;padding:0rem 1rem}}.sections-container,.sections-container__mobile{display:flex;flex-wrap:wrap;justify-content:flex-start;flex-direction:column;gap:.5rem}@media (max-width: 768px){.sections-container,.sections-container__mobile{gap:20px;border-bottom:1px solid white}}@media (max-width: 768px){.sections-container__mobile{padding-bottom:20px}}.sections-container .section-title,.sections-container__mobile .section-title{font-size:1.25rem;font-family:Hero New Bold;margin:0 0 12px;color:#f1f2f5}@media (max-width: 768px){.sections-container .section-title,.sections-container__mobile .section-title{margin:0;font-size:1.125rem}}.sections-container:last-of-type,.sections-container__mobile:last-of-type{border-bottom:none}.sections-container:nth-last-of-type(2),.sections-container__mobile:nth-last-of-type(2){border-bottom:none}.section-link{font-family:Hero New;color:#fff;text-decoration:none;opacity:70%}.section-link.address-link{cursor:initial}@media (max-width: 768px){.section-link{font-size:.875rem}}@media (hover: hover){.section-link:hover{opacity:100%}}.bottom-banner{color:#f1f2f5;background:#124E57;border:1px solid #707070;padding:2% 5%;display:flex;justify-content:space-between;align-items:center;max-height:120px;position:relative;z-index:1001}@media (max-width: 768px){.bottom-banner{flex-direction:column;justify-content:center;text-align:center;gap:11px;align-items:center;font-size:.6875rem;padding:16px 8px;line-height:22px}}.social-container{display:flex;gap:40px;margin-left:4%}@media (max-width: 768px){.social-container{gap:35px;margin-left:0%}}.image-container{cursor:pointer;display:flex;justify-content:center;align-items:center;width:18px;height:18px}img{height:16px;width:16px}.section-link{cursor:pointer}.address-title{min-height:28px}.address-container a:first-of-type{opacity:100%}.title-container{display:flex;justify-content:space-between;align-items:center;cursor:pointer}@media (max-width: 768px){.title-container{padding-top:16px;padding-bottom:16px;width:100%}}.margin-div{width:100%;height:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ExpandableContainerComponent, selector: "afc-expandable-container" }, { kind: "component", type: ExpandableArrowComponent, selector: "afc-expandable-arrow" }, { kind: "component", type: ExpandableWrapperComponent, selector: "afc-expandable-wrapper" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
281
412
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectFooterComponent, decorators: [{
282
413
  type: Component,
283
- args: [{ selector: 'lib-af-connect-footer', template: "\r\n<div *ngIf=\"breakpointService.isMobile$ | async\" class=\"footer-container\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a class=\"section-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" class=\"sections-container address-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <a class=\"section-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!(breakpointService.isMobile$ | async)\" class=\"footer-container\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <afc-expandable-arrow></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a class=\"section-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" [ngClass]=\"[\r\n address.title ? 'sections-container address-container' : '']\">\r\n <afc-expandable-wrapper *ngIf=\"address.title\">\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <afc-expandable-arrow></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <a class=\"section-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n <a class=\"section-link\">{{getMobileAddress}}</a>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n</div>\r\n\r\n<div class=\"bottom-banner\">\r\n {{config?.bannerTitle ? config?.bannerTitle : defaultConfig.bannerTitle}}\r\n \r\n <div class=\"social-container\">\r\n <a *ngIf=\"!config?.instagram?.isHidden\" class=\"image-container\" [href]=\"config?.instagram?.link ? config?.instagram?.link : defaultConfig.instagram?.link\"> \r\n <svg id=\"Group_888\" data-name=\"Group 888\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"15.676\" viewBox=\"0 0 15.618 15.676\">\r\n <path id=\"Path_8\" data-name=\"Path 8\" d=\"M21.327,13.4c1.039.037,2.115.037,3.154.074a5.31,5.31,0,0,1,2.6.668,3.937,3.937,0,0,1,1.892,2.746,21.051,21.051,0,0,1,.186,2.152c.037,1.558,0,3.117,0,4.675a7.553,7.553,0,0,1-.3,2.412,3.931,3.931,0,0,1-3.154,2.746,14.046,14.046,0,0,1-2.152.186c-1.559.037-3.08,0-4.638,0a7.553,7.553,0,0,1-2.412-.3,3.931,3.931,0,0,1-2.746-3.154,14.046,14.046,0,0,1-.186-2.152c-.037-1.558,0-3.117,0-4.675a7.553,7.553,0,0,1,.3-2.412,3.931,3.931,0,0,1,3.154-2.746,14.047,14.047,0,0,1,2.152-.186c.705-.037,1.41-.037,2.152-.037Zm6.42,7.681h0c-.037-.631-.037-1.225-.037-1.855a14.347,14.347,0,0,0-.111-1.781,2.653,2.653,0,0,0-2.226-2.486,9.8,9.8,0,0,0-2.078-.148c-1.336-.037-2.635-.037-3.97,0a11.414,11.414,0,0,0-1.967.148,2.616,2.616,0,0,0-2.226,1.93A5.813,5.813,0,0,0,14.945,18c-.037,1.41-.037,2.82-.037,4.23,0,.891.037,1.818.111,2.709a2.587,2.587,0,0,0,2.264,2.486,12.746,12.746,0,0,0,2.078.148c1.3.037,2.6,0,3.933,0a14.348,14.348,0,0,0,1.781-.111A2.594,2.594,0,0,0,26.6,26.87a2.848,2.848,0,0,0,1.039-2.264C27.71,23.493,27.71,22.306,27.747,21.081Z\" transform=\"translate(-13.556 -13.4)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_9\" data-name=\"Path 9\" d=\"M31.715,27.708a4.008,4.008,0,1,1-3.97-4.008A3.991,3.991,0,0,1,31.715,27.708Zm-4.008,2.6a2.6,2.6,0,1,0-2.6-2.6A2.581,2.581,0,0,0,27.708,30.3Z\" transform=\"translate(-19.936 -19.878)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_10\" data-name=\"Path 10\" d=\"M45.052,21.628a.951.951,0,0,1-.928.965.946.946,0,1,1,.928-.965Z\" transform=\"translate(-32.196 -17.991)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.linkedIn?.isHidden\" class=\"image-container\" [href]=\"config?.linkedIn?.link ? config?.linkedIn?.link : defaultConfig.linkedIn?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"14.902\" viewBox=\"0 0 15.618 14.902\">\r\n <path id=\"Path_7\" data-name=\"Path 7\" d=\"M32.818,24.635V30.4H29.45V25.014c0-1.347-.463-2.273-1.684-2.273a1.868,1.868,0,0,0-1.726,1.221,2.278,2.278,0,0,0-.126.8V30.4H22.546s.042-9.135,0-10.061h3.368v1.431a.041.041,0,0,1-.042.042h.042v-.042a3.363,3.363,0,0,1,3.031-1.684c2.189,0,3.873,1.473,3.873,4.546ZM19.094,15.5A1.753,1.753,0,0,0,17.2,17.226a1.716,1.716,0,0,0,1.852,1.726h.042a1.729,1.729,0,0,0,1.894-1.726A1.777,1.777,0,0,0,19.094,15.5ZM17.368,30.4h3.326V20.341H17.368Zm0,0\" transform=\"translate(-17.2 -15.5)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.facebook?.isHidden\" class=\"image-container\" [href]=\"config?.facebook?.link ? config?.facebook?.link : defaultConfig.facebook?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0 0 7.235 15.618\">\r\n <path id=\"Path_13\" data-name=\"Path 13\" d=\"M31.967,21.909H29.785v7.809H26.531V21.909H25V19.153h1.531v-1.8A3.032,3.032,0,0,1,29.785,14.1H32.2v2.68H30.474a.679.679,0,0,0-.689.766v1.608h2.45Zm0,0\" transform=\"translate(-25 -14.1)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.twitter?.isHidden\" class=\"image-container\" [href]=\"config?.twitter?.link ? config?.twitter?.link : defaultConfig.twitter?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"12.715\" viewBox=\"0 0 15.618 12.715\">\r\n <path id=\"Path_6\" data-name=\"Path 6\" d=\"M28.818,18.707a6.2,6.2,0,0,1-1.837.514,3.165,3.165,0,0,0,1.4-1.764,6.762,6.762,0,0,1-2.021.772A3.248,3.248,0,0,0,24,17.2a3.2,3.2,0,0,0-3.2,3.2,4.524,4.524,0,0,0,.073.735,9.094,9.094,0,0,1-6.615-3.344,3.053,3.053,0,0,0-.441,1.617,3.213,3.213,0,0,0,1.433,2.683,2.946,2.946,0,0,1-1.47-.4v.037a3.231,3.231,0,0,0,2.572,3.16,3.132,3.132,0,0,1-.845.11,2.857,2.857,0,0,1-.588-.073,3.211,3.211,0,0,0,3.013,2.242,6.477,6.477,0,0,1-3.969,1.36,5.427,5.427,0,0,1-.772-.037A9.128,9.128,0,0,0,27.238,20.8v-.4a6.874,6.874,0,0,0,1.58-1.69Zm0,0\" transform=\"translate(-13.2 -17.2)\" fill=\"#f1f2f5\"/>\r\n </svg> \r\n </a>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [":host{z-index:1000}.footer-container{font-family:Hero New SemiBold;background:#15808D;min-height:200px;position:relative;padding:3% 5% 2% 5.3%;z-index:1000;display:grid;grid-column-gap:4rem;grid-row-gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(190px,auto))}@media (min-width: 769px) and (max-width: 1023px){.footer-container{grid-column-gap:2rem}}@media (min-width: 1024px) and (max-width: 1200px){.footer-container{grid-column-gap:2rem}}@media (max-width: 768px){.footer-container{grid-column-gap:0px;grid-row-gap:0px;display:flex;flex-wrap:wrap;flex-direction:column;padding:0rem 1rem}}.sections-container,.sections-container__mobile{display:flex;flex-wrap:wrap;justify-content:flex-start;flex-direction:column;gap:.5rem}@media (max-width: 768px){.sections-container,.sections-container__mobile{gap:20px;border-bottom:1px solid white}}@media (max-width: 768px){.sections-container__mobile{padding-bottom:20px}}.sections-container .section-title,.sections-container__mobile .section-title{font-size:1.25rem;font-family:Hero New Bold;margin:0 0 12px;color:#f1f2f5}@media (max-width: 768px){.sections-container .section-title,.sections-container__mobile .section-title{margin:0;font-size:1.125rem}}.sections-container:last-of-type,.sections-container__mobile:last-of-type{border-bottom:none}.sections-container:nth-last-of-type(2),.sections-container__mobile:nth-last-of-type(2){border-bottom:none}.section-link{font-family:Hero New;color:#fff;text-decoration:none;opacity:70%}@media (max-width: 768px){.section-link{font-size:.875rem}}.bottom-banner{color:#f1f2f5;background:#124E57;border:1px solid #707070;padding:2% 5%;display:flex;justify-content:space-between;align-items:center;max-height:120px;position:relative;z-index:1001}@media (max-width: 768px){.bottom-banner{flex-direction:column;justify-content:center;text-align:center;gap:11px;align-items:center;font-size:.6875rem;padding:16px 8px;line-height:22px}}.social-container{display:flex;gap:40px;margin-left:4%}@media (max-width: 768px){.social-container{gap:35px;margin-left:0%}}.image-container{cursor:pointer;display:flex;justify-content:center;align-items:center;width:18px;height:18px}img{height:16px;width:16px}.section-link{cursor:pointer}.address-title{min-height:28px}.address-container a:first-of-type{opacity:100%}.title-container{display:flex;justify-content:space-between;align-items:center;cursor:pointer}@media (max-width: 768px){.title-container{padding-top:16px;padding-bottom:16px;width:100%}}.margin-div{width:100%;height:20px}\n"] }]
414
+ args: [{ selector: 'lib-af-connect-footer', template: "\r\n<div *ngIf=\"breakpointService.isMobile$ | async\" class=\"footer-container\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a class=\"section-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" class=\"sections-container address-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link address-link\">{{link.title}}</span>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"!(breakpointService.isMobile$ | async)\" class=\"footer-container\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <afc-expandable-arrow></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a class=\"section-link address-link\" [href]=\"link.link\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" [ngClass]=\"[\r\n address.title ? 'sections-container address-container' : '']\">\r\n <afc-expandable-wrapper *ngIf=\"address.title\">\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <afc-expandable-arrow></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link\">{{link.title}}</span>\r\n </ng-container>\r\n <span class=\"section-link address-link\">{{getMobileAddress}}</span>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n</div>\r\n\r\n<div class=\"bottom-banner\">\r\n {{config?.bannerTitle ? config?.bannerTitle : defaultConfig.bannerTitle}}\r\n \r\n <div class=\"social-container\">\r\n <a *ngIf=\"!config?.instagram?.isHidden\" class=\"image-container\" [href]=\"config?.instagram?.link ? config?.instagram?.link : defaultConfig.instagram?.link\"> \r\n <svg id=\"Group_888\" data-name=\"Group 888\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"15.676\" viewBox=\"0 0 15.618 15.676\">\r\n <path id=\"Path_8\" data-name=\"Path 8\" d=\"M21.327,13.4c1.039.037,2.115.037,3.154.074a5.31,5.31,0,0,1,2.6.668,3.937,3.937,0,0,1,1.892,2.746,21.051,21.051,0,0,1,.186,2.152c.037,1.558,0,3.117,0,4.675a7.553,7.553,0,0,1-.3,2.412,3.931,3.931,0,0,1-3.154,2.746,14.046,14.046,0,0,1-2.152.186c-1.559.037-3.08,0-4.638,0a7.553,7.553,0,0,1-2.412-.3,3.931,3.931,0,0,1-2.746-3.154,14.046,14.046,0,0,1-.186-2.152c-.037-1.558,0-3.117,0-4.675a7.553,7.553,0,0,1,.3-2.412,3.931,3.931,0,0,1,3.154-2.746,14.047,14.047,0,0,1,2.152-.186c.705-.037,1.41-.037,2.152-.037Zm6.42,7.681h0c-.037-.631-.037-1.225-.037-1.855a14.347,14.347,0,0,0-.111-1.781,2.653,2.653,0,0,0-2.226-2.486,9.8,9.8,0,0,0-2.078-.148c-1.336-.037-2.635-.037-3.97,0a11.414,11.414,0,0,0-1.967.148,2.616,2.616,0,0,0-2.226,1.93A5.813,5.813,0,0,0,14.945,18c-.037,1.41-.037,2.82-.037,4.23,0,.891.037,1.818.111,2.709a2.587,2.587,0,0,0,2.264,2.486,12.746,12.746,0,0,0,2.078.148c1.3.037,2.6,0,3.933,0a14.348,14.348,0,0,0,1.781-.111A2.594,2.594,0,0,0,26.6,26.87a2.848,2.848,0,0,0,1.039-2.264C27.71,23.493,27.71,22.306,27.747,21.081Z\" transform=\"translate(-13.556 -13.4)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_9\" data-name=\"Path 9\" d=\"M31.715,27.708a4.008,4.008,0,1,1-3.97-4.008A3.991,3.991,0,0,1,31.715,27.708Zm-4.008,2.6a2.6,2.6,0,1,0-2.6-2.6A2.581,2.581,0,0,0,27.708,30.3Z\" transform=\"translate(-19.936 -19.878)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_10\" data-name=\"Path 10\" d=\"M45.052,21.628a.951.951,0,0,1-.928.965.946.946,0,1,1,.928-.965Z\" transform=\"translate(-32.196 -17.991)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.linkedIn?.isHidden\" class=\"image-container\" [href]=\"config?.linkedIn?.link ? config?.linkedIn?.link : defaultConfig.linkedIn?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"14.902\" viewBox=\"0 0 15.618 14.902\">\r\n <path id=\"Path_7\" data-name=\"Path 7\" d=\"M32.818,24.635V30.4H29.45V25.014c0-1.347-.463-2.273-1.684-2.273a1.868,1.868,0,0,0-1.726,1.221,2.278,2.278,0,0,0-.126.8V30.4H22.546s.042-9.135,0-10.061h3.368v1.431a.041.041,0,0,1-.042.042h.042v-.042a3.363,3.363,0,0,1,3.031-1.684c2.189,0,3.873,1.473,3.873,4.546ZM19.094,15.5A1.753,1.753,0,0,0,17.2,17.226a1.716,1.716,0,0,0,1.852,1.726h.042a1.729,1.729,0,0,0,1.894-1.726A1.777,1.777,0,0,0,19.094,15.5ZM17.368,30.4h3.326V20.341H17.368Zm0,0\" transform=\"translate(-17.2 -15.5)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.facebook?.isHidden\" class=\"image-container\" [href]=\"config?.facebook?.link ? config?.facebook?.link : defaultConfig.facebook?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0 0 7.235 15.618\">\r\n <path id=\"Path_13\" data-name=\"Path 13\" d=\"M31.967,21.909H29.785v7.809H26.531V21.909H25V19.153h1.531v-1.8A3.032,3.032,0,0,1,29.785,14.1H32.2v2.68H30.474a.679.679,0,0,0-.689.766v1.608h2.45Zm0,0\" transform=\"translate(-25 -14.1)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.twitter?.isHidden\" class=\"image-container\" [href]=\"config?.twitter?.link ? config?.twitter?.link : defaultConfig.twitter?.link\"> \r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"12.715\" viewBox=\"0 0 15.618 12.715\">\r\n <path id=\"Path_6\" data-name=\"Path 6\" d=\"M28.818,18.707a6.2,6.2,0,0,1-1.837.514,3.165,3.165,0,0,0,1.4-1.764,6.762,6.762,0,0,1-2.021.772A3.248,3.248,0,0,0,24,17.2a3.2,3.2,0,0,0-3.2,3.2,4.524,4.524,0,0,0,.073.735,9.094,9.094,0,0,1-6.615-3.344,3.053,3.053,0,0,0-.441,1.617,3.213,3.213,0,0,0,1.433,2.683,2.946,2.946,0,0,1-1.47-.4v.037a3.231,3.231,0,0,0,2.572,3.16,3.132,3.132,0,0,1-.845.11,2.857,2.857,0,0,1-.588-.073,3.211,3.211,0,0,0,3.013,2.242,6.477,6.477,0,0,1-3.969,1.36,5.427,5.427,0,0,1-.772-.037A9.128,9.128,0,0,0,27.238,20.8v-.4a6.874,6.874,0,0,0,1.58-1.69Zm0,0\" transform=\"translate(-13.2 -17.2)\" fill=\"#f1f2f5\"/>\r\n </svg> \r\n </a>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [":host{z-index:1000}.footer-container{font-family:Hero New SemiBold;background:#15808D;min-height:200px;position:relative;padding:3% 5% 2% 5.3%;z-index:1000;display:grid;grid-column-gap:4rem;grid-row-gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(190px,auto))}@media (min-width: 769px) and (max-width: 1023px){.footer-container{grid-column-gap:2rem}}@media (min-width: 1024px) and (max-width: 1200px){.footer-container{grid-column-gap:2rem}}@media (max-width: 768px){.footer-container{grid-column-gap:0px;grid-row-gap:0px;display:flex;flex-wrap:wrap;flex-direction:column;padding:0rem 1rem}}.sections-container,.sections-container__mobile{display:flex;flex-wrap:wrap;justify-content:flex-start;flex-direction:column;gap:.5rem}@media (max-width: 768px){.sections-container,.sections-container__mobile{gap:20px;border-bottom:1px solid white}}@media (max-width: 768px){.sections-container__mobile{padding-bottom:20px}}.sections-container .section-title,.sections-container__mobile .section-title{font-size:1.25rem;font-family:Hero New Bold;margin:0 0 12px;color:#f1f2f5}@media (max-width: 768px){.sections-container .section-title,.sections-container__mobile .section-title{margin:0;font-size:1.125rem}}.sections-container:last-of-type,.sections-container__mobile:last-of-type{border-bottom:none}.sections-container:nth-last-of-type(2),.sections-container__mobile:nth-last-of-type(2){border-bottom:none}.section-link{font-family:Hero New;color:#fff;text-decoration:none;opacity:70%}.section-link.address-link{cursor:initial}@media (max-width: 768px){.section-link{font-size:.875rem}}@media (hover: hover){.section-link:hover{opacity:100%}}.bottom-banner{color:#f1f2f5;background:#124E57;border:1px solid #707070;padding:2% 5%;display:flex;justify-content:space-between;align-items:center;max-height:120px;position:relative;z-index:1001}@media (max-width: 768px){.bottom-banner{flex-direction:column;justify-content:center;text-align:center;gap:11px;align-items:center;font-size:.6875rem;padding:16px 8px;line-height:22px}}.social-container{display:flex;gap:40px;margin-left:4%}@media (max-width: 768px){.social-container{gap:35px;margin-left:0%}}.image-container{cursor:pointer;display:flex;justify-content:center;align-items:center;width:18px;height:18px}img{height:16px;width:16px}.section-link{cursor:pointer}.address-title{min-height:28px}.address-container a:first-of-type{opacity:100%}.title-container{display:flex;justify-content:space-between;align-items:center;cursor:pointer}@media (max-width: 768px){.title-container{padding-top:16px;padding-bottom:16px;width:100%}}.margin-div{width:100%;height:20px}\n"] }]
284
415
  }], ctorParameters: function () { return [{ type: BreakpointLibService }]; }, propDecorators: { config: [{
285
416
  type: Input
286
417
  }] } });
@@ -290,6 +421,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
290
421
  */
291
422
  class GetinItialsPipe {
292
423
  transform(value) {
424
+ if (!value) {
425
+ return '';
426
+ }
293
427
  return value.split(' ').map(word => word.charAt(0)).join('').slice(0, 2);
294
428
  }
295
429
  }
@@ -367,6 +501,198 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
367
501
  type: Output
368
502
  }] } });
369
503
 
504
+ class FaqItemComponent {
505
+ }
506
+ FaqItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FaqItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
507
+ FaqItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: FaqItemComponent, selector: "lib-faq-item", inputs: { faqItem: "faqItem" }, ngImport: i0, template: "<div class=\"item-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{faqItem.title}}\r\n </h2>\r\n <afc-expandable-arrow ngClass=\"faq-arrow\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"expanded-info\">\r\n {{faqItem.description}}\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n</div>", styles: [".item-container{border:1px solid #124E57;border-radius:5px}.title-container{padding:clamp(1rem,4%,27px);display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:none}@media (max-width: 1024px){.title-container{padding:clamp(1rem,2.2%,27px)}}.expanded-info{padding:0rem clamp(1rem,4%,27px) clamp(1rem,4%,27px) clamp(1rem,4%,27px);color:#707070;font-family:Hero New;font-size:1rem}@media (max-width: 1024px){.expanded-info{padding:0rem clamp(1rem,2.2%,27px) clamp(1rem,2.2%,27px) clamp(1rem,2.2%,27px);font-size:.875rem}}@media (max-width: 768px){.expanded-info{margin:0;font-size:.75rem}}.section-title{margin:0;font-size:1.25rem;font-family:Hero New SemiBold;color:#124e57}@media (max-width: 1024px){.section-title{font-size:1rem}}@media (max-width: 768px){.section-title{margin:0;font-size:.875rem}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: ExpandableContainerComponent, selector: "afc-expandable-container" }, { kind: "component", type: ExpandableArrowComponent, selector: "afc-expandable-arrow" }, { kind: "component", type: ExpandableWrapperComponent, selector: "afc-expandable-wrapper" }] });
508
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FaqItemComponent, decorators: [{
509
+ type: Component,
510
+ args: [{ selector: 'lib-faq-item', template: "<div class=\"item-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{faqItem.title}}\r\n </h2>\r\n <afc-expandable-arrow ngClass=\"faq-arrow\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"expanded-info\">\r\n {{faqItem.description}}\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n</div>", styles: [".item-container{border:1px solid #124E57;border-radius:5px}.title-container{padding:clamp(1rem,4%,27px);display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:none}@media (max-width: 1024px){.title-container{padding:clamp(1rem,2.2%,27px)}}.expanded-info{padding:0rem clamp(1rem,4%,27px) clamp(1rem,4%,27px) clamp(1rem,4%,27px);color:#707070;font-family:Hero New;font-size:1rem}@media (max-width: 1024px){.expanded-info{padding:0rem clamp(1rem,2.2%,27px) clamp(1rem,2.2%,27px) clamp(1rem,2.2%,27px);font-size:.875rem}}@media (max-width: 768px){.expanded-info{margin:0;font-size:.75rem}}.section-title{margin:0;font-size:1.25rem;font-family:Hero New SemiBold;color:#124e57}@media (max-width: 1024px){.section-title{font-size:1rem}}@media (max-width: 768px){.section-title{margin:0;font-size:.875rem}}\n"] }]
511
+ }], propDecorators: { faqItem: [{
512
+ type: Input
513
+ }] } });
514
+
515
+ class ImageWithFallbackDirective {
516
+ constructor(el) {
517
+ this.el = el;
518
+ }
519
+ }
520
+ ImageWithFallbackDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ImageWithFallbackDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
521
+ ImageWithFallbackDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.0", type: ImageWithFallbackDirective, selector: "[imgWithFallback]", ngImport: i0 });
522
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ImageWithFallbackDirective, decorators: [{
523
+ type: Directive,
524
+ args: [{ selector: '[imgWithFallback]' }]
525
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; } });
526
+ var ImageState;
527
+ (function (ImageState) {
528
+ ImageState["loading"] = "loading";
529
+ ImageState["error"] = "error";
530
+ ImageState["loaded"] = "loaded";
531
+ })(ImageState || (ImageState = {}));
532
+ class ImageWithFallbackComponent {
533
+ constructor() {
534
+ this.state = ImageState.loading;
535
+ }
536
+ get loaded() {
537
+ return this.state === ImageState.loaded;
538
+ }
539
+ get loading() {
540
+ return this.state === ImageState.loading;
541
+ }
542
+ get error() {
543
+ return this.state === ImageState.error;
544
+ }
545
+ ngAfterContentInit() {
546
+ fromEvent(this.image.el.nativeElement, 'load')
547
+ .pipe(first())
548
+ .subscribe(() => this.state = ImageState.loaded);
549
+ fromEvent(this.image.el.nativeElement, 'error')
550
+ .pipe(first())
551
+ .subscribe(() => this.state = ImageState.error);
552
+ }
553
+ }
554
+ ImageWithFallbackComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ImageWithFallbackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
555
+ ImageWithFallbackComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ImageWithFallbackComponent, selector: "img-with-fallback", queries: [{ propertyName: "image", first: true, predicate: ImageWithFallbackDirective, descendants: true }], ngImport: i0, template: `
556
+ <ng-container *ngIf="loaded">
557
+ <ng-content select="[imgWithFallback]" [style.visibility]="loaded"></ng-content>
558
+ </ng-container>
559
+ <div *ngIf="loading">
560
+ <ng-content select=".loading"></ng-content>
561
+ </div>
562
+ <div *ngIf="error">
563
+ <ng-content select=".error"></ng-content>
564
+ </div>
565
+ `, isInline: true, dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ImageWithFallbackComponent, decorators: [{
567
+ type: Component,
568
+ args: [{ selector: 'img-with-fallback', template: `
569
+ <ng-container *ngIf="loaded">
570
+ <ng-content select="[imgWithFallback]" [style.visibility]="loaded"></ng-content>
571
+ </ng-container>
572
+ <div *ngIf="loading">
573
+ <ng-content select=".loading"></ng-content>
574
+ </div>
575
+ <div *ngIf="error">
576
+ <ng-content select=".error"></ng-content>
577
+ </div>
578
+ ` }]
579
+ }], propDecorators: { image: [{
580
+ type: ContentChild,
581
+ args: [ImageWithFallbackDirective]
582
+ }] } });
583
+
584
+ class FaqComponent {
585
+ constructor() {
586
+ this.faqItems = [];
587
+ }
588
+ }
589
+ FaqComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FaqComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
590
+ FaqComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: FaqComponent, selector: "lib-faq", inputs: { faqItems: "faqItems", fallBackImageSrc: "fallBackImageSrc", imageSrc: "imageSrc" }, ngImport: i0, template: "<div class=\"faq-container\">\r\n <div class=\"item-container\">\r\n <ng-container *ngFor=\"let item of faqItems\">\r\n <lib-faq-item [faqItem]=\"item\"></lib-faq-item>\r\n </ng-container>\r\n </div>\r\n <div class=\"image-container\">\r\n <img-with-fallback>\r\n <img imgWithFallback class=\"faq-image\" [src]=\"imageSrc\">\r\n <img class=\"error faq-image\" [src]=\"fallBackImageSrc\">\r\n </img-with-fallback>\r\n </div>\r\n</div>\r\n", styles: [".item-container{display:flex;flex-direction:column;gap:15px;max-width:55%;min-width:40%}@media (max-width: 1351px){.item-container{min-width:100%}}@media (max-width: 1024px){.item-container{gap:10px}}.image-container{max-width:45%;margin-right:5%}@media (max-width: 1351px){.image-container{display:none}}.faq-image{width:370px;height:370px}.faq-container{gap:2rem;display:flex;flex-wrap:wrap;justify-content:space-between}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: FaqItemComponent, selector: "lib-faq-item", inputs: ["faqItem"] }, { kind: "directive", type: ImageWithFallbackDirective, selector: "[imgWithFallback]" }, { kind: "component", type: ImageWithFallbackComponent, selector: "img-with-fallback" }] });
591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: FaqComponent, decorators: [{
592
+ type: Component,
593
+ args: [{ selector: 'lib-faq', template: "<div class=\"faq-container\">\r\n <div class=\"item-container\">\r\n <ng-container *ngFor=\"let item of faqItems\">\r\n <lib-faq-item [faqItem]=\"item\"></lib-faq-item>\r\n </ng-container>\r\n </div>\r\n <div class=\"image-container\">\r\n <img-with-fallback>\r\n <img imgWithFallback class=\"faq-image\" [src]=\"imageSrc\">\r\n <img class=\"error faq-image\" [src]=\"fallBackImageSrc\">\r\n </img-with-fallback>\r\n </div>\r\n</div>\r\n", styles: [".item-container{display:flex;flex-direction:column;gap:15px;max-width:55%;min-width:40%}@media (max-width: 1351px){.item-container{min-width:100%}}@media (max-width: 1024px){.item-container{gap:10px}}.image-container{max-width:45%;margin-right:5%}@media (max-width: 1351px){.image-container{display:none}}.faq-image{width:370px;height:370px}.faq-container{gap:2rem;display:flex;flex-wrap:wrap;justify-content:space-between}\n"] }]
594
+ }], propDecorators: { faqItems: [{
595
+ type: Input
596
+ }], fallBackImageSrc: [{
597
+ type: Input
598
+ }], imageSrc: [{
599
+ type: Input
600
+ }] } });
601
+
602
+ const defaultConfig = [
603
+ {
604
+ imageSrc: 'http://172.26.4.42:4503/content/dam/afbr/common/images-website/products/af-connect/mmm-carousel.jpg',
605
+ title: 'My Money Matters',
606
+ content: 'Get the most out of your money. Explore ways to make your money and savings work for you with our tools.',
607
+ readMore: 'https://mymoneymatters.alexforbes.com/'
608
+ },
609
+ {
610
+ imageSrc: 'http://172.26.4.42:4503/content/dam/afbr/common/images-website/products/af-connect/AF-Rewards-carousel.jpg',
611
+ title: 'My Rewards',
612
+ content: 'Exclusive savings from big brands.',
613
+ readMore: 'https://rewards.alexforbes.com/landingpage'
614
+ },
615
+ {
616
+ imageSrc: 'http://172.26.4.42:4503/content/dam/afbr/common/images-website/products/af-connect/Unit-trusts-carousel.jpg',
617
+ title: 'Unit Trusts',
618
+ content: 'Invest from as little as R500.00 a month to up to R30 000.00 up front toward a personal goal.',
619
+ readMore: 'https://www.alexforbes.com/za/en/individual/investing-for-a-goal.html'
620
+ },
621
+ {
622
+ imageSrc: 'http://172.26.4.42:4503/content/dam/afbr/common/images-website/products/af-connect/AF-Plus-carousel.jpg',
623
+ title: 'AF+',
624
+ content: 'Guided by expert advisers and fulfilled by trusted partners, making it easy to solve life’s financial challenges with confidence.',
625
+ readMore: 'https://plus.alexforbes.com/'
626
+ },
627
+ ];
628
+
629
+ class ImageCardComponent {
630
+ constructor() {
631
+ this.title = '';
632
+ this.content = '';
633
+ }
634
+ ngOnInit() { }
635
+ openReadMore() {
636
+ window.open(this.readMoreLink, '_blank');
637
+ }
638
+ }
639
+ ImageCardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ImageCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
640
+ ImageCardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ImageCardComponent, selector: "af-connect-image-card", inputs: { src: "src", title: "title", content: "content", readMoreLink: "readMoreLink" }, ngImport: i0, template: "<img [src]=\"src\" />\r\n<div class=\"info-container\">\r\n <span class=\"info-container__title\">{{ title }}</span>\r\n <span class=\"info-container__content\">{{ content }}</span>\r\n</div>\r\n<button class=\"button-read-more\" (click)=\"openReadMore()\">Read more</button>\r\n", styles: [":host{width:325px;border-radius:5px;box-shadow:5px 5px 10px #00000029;background:#FAFBFC}@media (max-width: 768px){:host{width:295px;display:flex;position:relative;align-items:center;border:1px solid #124E57;box-shadow:0 -5px 10px #455b6314}}.info-container{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:1rem;height:8rem;border-radius:5px}.info-container__title{font-size:16px;font-family:Hero New Bold;color:#124e57}@media (max-width: 768px){.info-container__title{font-size:14px;padding-top:1rem}}.info-container__content{font-size:12px;line-height:20px;color:#78849e}@media (max-width: 768px){.info-container__content{font-size:11px;line-height:1rem}}@media (max-width: 768px){.info-container{gap:5px;padding:0 0 0 6rem;width:20rem;height:9rem;place-content:start}}img{width:325px;border-radius:5px 5px 0 0}@media (max-width: 768px){img{width:120px;height:120px;position:absolute;left:-2rem;border-radius:5px}}.button-read-more{background:none;color:inherit;border:none;margin:0;padding:0;cursor:pointer;outline:inherit;font-size:12px;color:#ff521c;font-size:14px;font-family:Hero New Bold;position:relative;bottom:1rem;left:1rem}@media (max-width: 768px){.button-read-more{position:absolute;bottom:1rem;left:6rem;font-size:11px}}\n"] });
641
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ImageCardComponent, decorators: [{
642
+ type: Component,
643
+ args: [{ selector: 'af-connect-image-card', template: "<img [src]=\"src\" />\r\n<div class=\"info-container\">\r\n <span class=\"info-container__title\">{{ title }}</span>\r\n <span class=\"info-container__content\">{{ content }}</span>\r\n</div>\r\n<button class=\"button-read-more\" (click)=\"openReadMore()\">Read more</button>\r\n", styles: [":host{width:325px;border-radius:5px;box-shadow:5px 5px 10px #00000029;background:#FAFBFC}@media (max-width: 768px){:host{width:295px;display:flex;position:relative;align-items:center;border:1px solid #124E57;box-shadow:0 -5px 10px #455b6314}}.info-container{display:flex;flex-direction:column;align-items:flex-start;padding:1rem;gap:1rem;height:8rem;border-radius:5px}.info-container__title{font-size:16px;font-family:Hero New Bold;color:#124e57}@media (max-width: 768px){.info-container__title{font-size:14px;padding-top:1rem}}.info-container__content{font-size:12px;line-height:20px;color:#78849e}@media (max-width: 768px){.info-container__content{font-size:11px;line-height:1rem}}@media (max-width: 768px){.info-container{gap:5px;padding:0 0 0 6rem;width:20rem;height:9rem;place-content:start}}img{width:325px;border-radius:5px 5px 0 0}@media (max-width: 768px){img{width:120px;height:120px;position:absolute;left:-2rem;border-radius:5px}}.button-read-more{background:none;color:inherit;border:none;margin:0;padding:0;cursor:pointer;outline:inherit;font-size:12px;color:#ff521c;font-size:14px;font-family:Hero New Bold;position:relative;bottom:1rem;left:1rem}@media (max-width: 768px){.button-read-more{position:absolute;bottom:1rem;left:6rem;font-size:11px}}\n"] }]
644
+ }], ctorParameters: function () { return []; }, propDecorators: { src: [{
645
+ type: Input
646
+ }], title: [{
647
+ type: Input
648
+ }], content: [{
649
+ type: Input
650
+ }], readMoreLink: [{
651
+ type: Input
652
+ }] } });
653
+
654
+ class AfConnectProductsCarouselComponent {
655
+ constructor(elementRef) {
656
+ this.elementRef = elementRef;
657
+ this.defaultConfig = defaultConfig;
658
+ this.isDown = false;
659
+ }
660
+ ngOnInit() { }
661
+ ngAfterViewInit() {
662
+ this.slider = this.elementRef.nativeElement.querySelector('.holder');
663
+ }
664
+ mousedown(e) {
665
+ this.isDown = true;
666
+ this.slider.classList.add('active');
667
+ this.startX = e.pageX - this.slider.offsetLeft;
668
+ this.scrollLeft = this.slider.scrollLeft;
669
+ }
670
+ mouseleave() {
671
+ this.isDown = false;
672
+ this.slider.classList.remove('active');
673
+ }
674
+ mouseup() {
675
+ this.isDown = false;
676
+ this.slider.classList.remove('active');
677
+ }
678
+ mousemove(e) {
679
+ if (!this.isDown)
680
+ return;
681
+ e.preventDefault();
682
+ const offset = e.pageX - this.slider.offsetLeft;
683
+ const walk = (offset - this.startX) * 2;
684
+ this.slider.scrollLeft = this.scrollLeft - walk;
685
+ }
686
+ }
687
+ AfConnectProductsCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectProductsCarouselComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
688
+ AfConnectProductsCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: AfConnectProductsCarouselComponent, selector: "lib-af-connect-products-carousel", inputs: { config: "config" }, ngImport: i0, template: "<div\r\n class=\"holder\"\r\n (mousedown)=\"mousedown($event)\"\r\n (mouseleave)=\"mouseleave()\"\r\n (mouseup)=\"mouseup()\"\r\n (mousemove)=\"mousemove($event)\"\r\n>\r\n <ng-container *ngFor=\"let card of config || defaultConfig\">\r\n <af-connect-image-card\r\n [src]=\"card.imageSrc\"\r\n [title]=\"card.title\"\r\n [content]=\"card.content\"\r\n [readMoreLink]=\"card.readMore\"\r\n ></af-connect-image-card>\r\n </ng-container>\r\n</div>\r\n", styles: [":host{display:flex}@media (max-width: 768px){:host{padding:0}}.holder{display:flex;padding:0 1rem 1rem 0;flex-direction:row;gap:1.5rem;flex-wrap:nowrap;overflow-x:scroll}.holder.active{cursor:grabbing;cursor:-webkit-grabbing}@media (max-width: 768px){.holder{gap:3rem;padding:0 1.25rem 0 2.5rem}}.holder::-webkit-scrollbar{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: ImageCardComponent, selector: "af-connect-image-card", inputs: ["src", "title", "content", "readMoreLink"] }] });
689
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectProductsCarouselComponent, decorators: [{
690
+ type: Component,
691
+ args: [{ selector: 'lib-af-connect-products-carousel', template: "<div\r\n class=\"holder\"\r\n (mousedown)=\"mousedown($event)\"\r\n (mouseleave)=\"mouseleave()\"\r\n (mouseup)=\"mouseup()\"\r\n (mousemove)=\"mousemove($event)\"\r\n>\r\n <ng-container *ngFor=\"let card of config || defaultConfig\">\r\n <af-connect-image-card\r\n [src]=\"card.imageSrc\"\r\n [title]=\"card.title\"\r\n [content]=\"card.content\"\r\n [readMoreLink]=\"card.readMore\"\r\n ></af-connect-image-card>\r\n </ng-container>\r\n</div>\r\n", styles: [":host{display:flex}@media (max-width: 768px){:host{padding:0}}.holder{display:flex;padding:0 1rem 1rem 0;flex-direction:row;gap:1.5rem;flex-wrap:nowrap;overflow-x:scroll}.holder.active{cursor:grabbing;cursor:-webkit-grabbing}@media (max-width: 768px){.holder{gap:3rem;padding:0 1.25rem 0 2.5rem}}.holder::-webkit-scrollbar{display:none}\n"] }]
692
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { config: [{
693
+ type: Input
694
+ }] } });
695
+
370
696
  class AfConnectComponentsModule {
371
697
  }
372
698
  AfConnectComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
@@ -377,10 +703,21 @@ AfConnectComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0
377
703
  GetinItialsPipe,
378
704
  ExpandableContainerComponent,
379
705
  ExpandableArrowComponent,
380
- ExpandableWrapperComponent], imports: [MatIconModule,
706
+ ExpandableWrapperComponent,
707
+ FaqComponent,
708
+ FaqItemComponent,
709
+ ImageWithFallbackDirective,
710
+ ImageWithFallbackComponent,
711
+ AfConnectProductsCarouselComponent,
712
+ ImageCardComponent], imports: [MatIconModule,
381
713
  CommonModule], exports: [AfConnectComponentsComponent,
382
714
  AfConnectHeaderComponent,
383
- AfConnectFooterComponent] });
715
+ AfConnectFooterComponent,
716
+ FaqComponent,
717
+ FaqItemComponent,
718
+ ImageWithFallbackDirective,
719
+ ImageWithFallbackComponent,
720
+ AfConnectProductsCarouselComponent] });
384
721
  AfConnectComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsModule, providers: [BreakpointLibService], imports: [MatIconModule,
385
722
  CommonModule] });
386
723
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsModule, decorators: [{
@@ -394,7 +731,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
394
731
  GetinItialsPipe,
395
732
  ExpandableContainerComponent,
396
733
  ExpandableArrowComponent,
397
- ExpandableWrapperComponent
734
+ ExpandableWrapperComponent,
735
+ FaqComponent,
736
+ FaqItemComponent,
737
+ ImageWithFallbackDirective,
738
+ ImageWithFallbackComponent,
739
+ AfConnectProductsCarouselComponent,
740
+ ImageCardComponent
398
741
  ],
399
742
  imports: [
400
743
  MatIconModule,
@@ -404,7 +747,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
404
747
  exports: [
405
748
  AfConnectComponentsComponent,
406
749
  AfConnectHeaderComponent,
407
- AfConnectFooterComponent
750
+ AfConnectFooterComponent,
751
+ FaqComponent,
752
+ FaqItemComponent,
753
+ ImageWithFallbackDirective,
754
+ ImageWithFallbackComponent,
755
+ AfConnectProductsCarouselComponent
408
756
  ]
409
757
  }]
410
758
  }] });
@@ -417,5 +765,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImpor
417
765
  * Generated bundle index. Do not edit.
418
766
  */
419
767
 
420
- export { AfConnectComponentsComponent, AfConnectComponentsModule, AfConnectComponentsService, AfConnectFooterComponent, AfConnectHeaderComponent };
768
+ export { AfConnectComponentsComponent, AfConnectComponentsModule, AfConnectComponentsService, AfConnectFooterComponent, AfConnectHeaderComponent, AfConnectProductsCarouselComponent, FaqComponent, FaqItemComponent, ImageWithFallbackComponent, ImageWithFallbackDirective };
421
769
  //# sourceMappingURL=af-connect-components.mjs.map