af-connect-components 0.0.1

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/README.md +24 -0
  2. package/esm2020/af-connect-components.mjs +5 -0
  3. package/esm2020/lib/af-connect-components.component.mjs +19 -0
  4. package/esm2020/lib/af-connect-components.module.mjs +49 -0
  5. package/esm2020/lib/af-connect-components.service.mjs +14 -0
  6. package/esm2020/lib/af-connect-footer/af-connect-footer.component.mjs +167 -0
  7. package/esm2020/lib/af-connect-header/af-connect-header.component.mjs +11 -0
  8. package/esm2020/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.mjs +23 -0
  9. package/esm2020/lib/expandable/expandable-arrow/expandable-arrow.component.mjs +33 -0
  10. package/esm2020/lib/expandable/expandable-container/expandable-container.component.mjs +29 -0
  11. package/esm2020/lib/services/breakpoint.service.mjs +16 -0
  12. package/esm2020/public-api.mjs +9 -0
  13. package/fesm2015/af-connect-components.mjs +344 -0
  14. package/fesm2015/af-connect-components.mjs.map +1 -0
  15. package/fesm2020/af-connect-components.mjs +339 -0
  16. package/fesm2020/af-connect-components.mjs.map +1 -0
  17. package/index.d.ts +5 -0
  18. package/lib/af-connect-components.component.d.ts +5 -0
  19. package/lib/af-connect-components.module.d.ts +14 -0
  20. package/lib/af-connect-components.service.d.ts +6 -0
  21. package/lib/af-connect-footer/af-connect-footer.component.d.ts +41 -0
  22. package/lib/af-connect-header/af-connect-header.component.d.ts +5 -0
  23. package/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.d.ts +8 -0
  24. package/lib/expandable/expandable-arrow/expandable-arrow.component.d.ts +10 -0
  25. package/lib/expandable/expandable-container/expandable-container.component.d.ts +8 -0
  26. package/lib/services/breakpoint.service.d.ts +9 -0
  27. package/package.json +32 -0
  28. package/public-api.d.ts +5 -0
@@ -0,0 +1,344 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable, Component, ChangeDetectionStrategy, Host, Optional, Input, NgModule } from '@angular/core';
3
+ import { map, BehaviorSubject, take } from 'rxjs';
4
+ import * as i1 from '@angular/cdk/layout';
5
+ import * as i2 from '@angular/common';
6
+ import { CommonModule } from '@angular/common';
7
+ import { trigger, state, style, transition, animate } from '@angular/animations';
8
+ import * as i2$1 from '@angular/material/icon';
9
+ import { MatIconModule } from '@angular/material/icon';
10
+
11
+ class AfConnectComponentsService {
12
+ constructor() { }
13
+ }
14
+ AfConnectComponentsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
15
+ AfConnectComponentsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsService, providedIn: 'root' });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsService, decorators: [{
17
+ type: Injectable,
18
+ args: [{
19
+ providedIn: 'root'
20
+ }]
21
+ }], ctorParameters: function () { return []; } });
22
+
23
+ class AfConnectComponentsComponent {
24
+ }
25
+ AfConnectComponentsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
26
+ AfConnectComponentsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: AfConnectComponentsComponent, selector: "lib-af-connect-components", ngImport: i0, template: `
27
+ <p>
28
+ af-connect-components works!
29
+ </p>
30
+ `, isInline: true });
31
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsComponent, decorators: [{
32
+ type: Component,
33
+ args: [{ selector: 'lib-af-connect-components', template: `
34
+ <p>
35
+ af-connect-components works!
36
+ </p>
37
+ ` }]
38
+ }] });
39
+
40
+ class BreakpointLibService {
41
+ constructor(responsive) {
42
+ this.responsive = responsive;
43
+ this.isMobile$ = this.responsive.observe(['(max-width: 768px)']).pipe(map((result) => !result.matches));
44
+ }
45
+ }
46
+ BreakpointLibService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BreakpointLibService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
47
+ BreakpointLibService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BreakpointLibService });
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: BreakpointLibService, decorators: [{
49
+ type: Injectable
50
+ }], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; } });
51
+
52
+ class ExpandableWrapperComponent {
53
+ constructor() {
54
+ this.isExpanded$ = new BehaviorSubject(null);
55
+ }
56
+ toggleIsExpanded() {
57
+ this.isExpanded$
58
+ .pipe(take(1))
59
+ .subscribe((current) => {
60
+ this.isExpanded$.next(!current);
61
+ })
62
+ .unsubscribe();
63
+ }
64
+ }
65
+ ExpandableWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ExpandableWrapperComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
66
+ ExpandableWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ExpandableWrapperComponent, selector: "afc-expandable-wrapper", ngImport: i0, template: "<div class=\"expandable-wrapper\" (click)=\"toggleIsExpanded()\">\r\n <ng-content select=\"[triggerable]\"></ng-content>\r\n</div>\r\n<ng-content></ng-content>\r\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ExpandableWrapperComponent, decorators: [{
68
+ type: Component,
69
+ args: [{ selector: 'afc-expandable-wrapper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"expandable-wrapper\" (click)=\"toggleIsExpanded()\">\r\n <ng-content select=\"[triggerable]\"></ng-content>\r\n</div>\r\n<ng-content></ng-content>\r\n" }]
70
+ }] });
71
+
72
+ class ExpandableContainerComponent {
73
+ constructor(wrapper) {
74
+ this.wrapper = wrapper;
75
+ }
76
+ }
77
+ ExpandableContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ExpandableContainerComponent, deps: [{ token: ExpandableWrapperComponent, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component });
78
+ ExpandableContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: ExpandableContainerComponent, selector: "afc-expandable-container", ngImport: i0, template: "<div [@expandContainer]=\"(wrapper.isExpanded$ | async) ? 'expanded' : 'collapsed'\">\r\n <ng-content></ng-content>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "pipe", type: i2.AsyncPipe, name: "async" }], animations: [trigger('expandContainer', [
79
+ state('collapsed', style({ height: '0px', minHeight: '0', visibility: 'hidden', border: 'none', overflow: 'hidden' })),
80
+ state('expanded', style({ height: '*' })),
81
+ transition('expanded <=> collapsed', animate('265ms cubic-bezier(0.4, 0.0, 0.2, 1)'))
82
+ ])], changeDetection: i0.ChangeDetectionStrategy.OnPush });
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ExpandableContainerComponent, decorators: [{
84
+ type: Component,
85
+ args: [{ selector: 'afc-expandable-container', changeDetection: ChangeDetectionStrategy.OnPush, animations: [trigger('expandContainer', [
86
+ state('collapsed', style({ height: '0px', minHeight: '0', visibility: 'hidden', border: 'none', overflow: 'hidden' })),
87
+ state('expanded', style({ height: '*' })),
88
+ transition('expanded <=> collapsed', animate('265ms cubic-bezier(0.4, 0.0, 0.2, 1)'))
89
+ ])], template: "<div [@expandContainer]=\"(wrapper.isExpanded$ | async) ? 'expanded' : 'collapsed'\">\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
90
+ }], ctorParameters: function () {
91
+ return [{ type: ExpandableWrapperComponent, decorators: [{
92
+ type: Host
93
+ }, {
94
+ type: Optional
95
+ }] }];
96
+ } });
97
+
98
+ class ExpandableArrowComponent {
99
+ constructor(wrapper) {
100
+ this.wrapper = wrapper;
101
+ }
102
+ ngOnInit() { }
103
+ }
104
+ 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
+ state('collapsed', style({ transform: 'rotate(0)' })),
107
+ state('expanded', style({ transform: 'rotate(90deg)' })),
108
+ transition('expanded <=> collapsed', animate('265ms ease-out')),
109
+ transition('collapsed <=> expanded', animate('265ms ease-in'))
110
+ ])], changeDetection: i0.ChangeDetectionStrategy.OnPush });
111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: ExpandableArrowComponent, decorators: [{
112
+ type: Component,
113
+ args: [{ selector: 'afc-expandable-arrow', changeDetection: ChangeDetectionStrategy.OnPush, animations: [trigger('expandableArrow', [
114
+ state('collapsed', style({ transform: 'rotate(0)' })),
115
+ state('expanded', style({ transform: 'rotate(90deg)' })),
116
+ transition('expanded <=> collapsed', animate('265ms ease-out')),
117
+ 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
+ }], ctorParameters: function () {
120
+ return [{ type: ExpandableWrapperComponent, decorators: [{
121
+ type: Host
122
+ }, {
123
+ type: Optional
124
+ }] }];
125
+ } });
126
+
127
+ class AfConnectFooterComponent {
128
+ constructor(breakpointService) {
129
+ this.breakpointService = breakpointService;
130
+ this.config = undefined;
131
+ /**
132
+ Footer component for AF Angular Websites. A config object can be passed to change data partially or fully.
133
+
134
+ public exampleTestConfig: FooterConfig = {
135
+ bannerTitle: 'test'
136
+ }
137
+
138
+ Passing the exampleTestConfig will replace only the banner. Everything else will be loaded from the default config.
139
+ */
140
+ this.defaultConfig = {
141
+ sections: [
142
+ {
143
+ title: 'COMPANY',
144
+ sectionItems: [
145
+ {
146
+ title: 'Investor relations',
147
+ link: ''
148
+ },
149
+ {
150
+ title: 'Careers',
151
+ link: ''
152
+ },
153
+ {
154
+ title: 'Procurement',
155
+ link: ''
156
+ },
157
+ {
158
+ title: 'Risk & Compliance',
159
+ link: ''
160
+ },
161
+ ]
162
+ },
163
+ {
164
+ title: 'PREVIOUS SITES',
165
+ sectionItems: [
166
+ {
167
+ title: 'Group Website',
168
+ link: ''
169
+ },
170
+ {
171
+ title: 'Investments',
172
+ link: ''
173
+ },
174
+ {
175
+ title: 'Botswana',
176
+ link: ''
177
+ },
178
+ {
179
+ title: 'Namibia',
180
+ link: ''
181
+ },
182
+ {
183
+ title: 'Jersey',
184
+ link: ''
185
+ },
186
+ ]
187
+ },
188
+ {
189
+ title: 'RESOURCES',
190
+ sectionItems: [
191
+ {
192
+ title: 'Business directory',
193
+ link: ''
194
+ },
195
+ {
196
+ title: 'Compliments',
197
+ link: ''
198
+ },
199
+ {
200
+ title: 'Complaints',
201
+ link: ''
202
+ },
203
+ {
204
+ title: 'Report fraud',
205
+ link: ''
206
+ },
207
+ {
208
+ title: 'Unclaimed benefits',
209
+ link: ''
210
+ },
211
+ ]
212
+ },
213
+ ],
214
+ address: [
215
+ {
216
+ title: 'Head Office',
217
+ sectionItems: [
218
+ {
219
+ title: 'Contact information',
220
+ },
221
+ {
222
+ title: 'Email : info@alexforbes.com',
223
+ },
224
+ {
225
+ title: 'Telephone : +27 11 269 0000',
226
+ },
227
+ {
228
+ title: 'Fax : +27 11 263 0149',
229
+ },
230
+ ]
231
+ },
232
+ {
233
+ title: '',
234
+ sectionItems: [
235
+ {
236
+ title: 'Address',
237
+ },
238
+ {
239
+ title: 'Alexforbes',
240
+ },
241
+ {
242
+ title: '115 West Street',
243
+ },
244
+ {
245
+ title: 'Sandton, 2196',
246
+ },
247
+ ]
248
+ },
249
+ ],
250
+ bannerTitle: 'Copyright 2022 Alexander Forbes Group Holdings Limited. Legal terms | Privacy policy | PAIA manual',
251
+ instagram: {
252
+ link: 'https://www.instagram.com/alexforbesofficial',
253
+ isHidden: false,
254
+ },
255
+ linkedIn: {
256
+ link: 'https://www.linkedin.com/company/alexforbesofficial',
257
+ isHidden: false,
258
+ },
259
+ facebook: {
260
+ link: 'https://www.facebook.com/alexforbesofficial/',
261
+ isHidden: false,
262
+ },
263
+ twitter: {
264
+ link: 'https://twitter.com/alexforbes',
265
+ isHidden: false,
266
+ }
267
+ };
268
+ }
269
+ get getMobileAddress() {
270
+ var _a, _b;
271
+ const config = this.config ? this.config : this.defaultConfig;
272
+ const addressData = (_b = (_a = config === null || config === void 0 ? void 0 : config.address) === null || _a === void 0 ? void 0 : _a.find(address => !address.title)) === null || _b === void 0 ? void 0 : _b.sectionItems;
273
+ const titleString = addressData === null || addressData === void 0 ? void 0 : addressData.reduce((prev, curr, i) => {
274
+ return `${prev}${i === 0 ? '' : ''}${i === 1 ? ' : ' : ''}${i > 1 ? ',' : ''} ${curr.title}`;
275
+ }, '');
276
+ return titleString || '';
277
+ }
278
+ }
279
+ 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 \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 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{border-bottom:0px;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}}.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}@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}@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
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectFooterComponent, decorators: [{
282
+ 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 \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 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{border-bottom:0px;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}}.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}@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}@media (max-width: 768px){.title-container{padding-top:16px;padding-bottom:16px;width:100%}}.margin-div{width:100%;height:20px}\n"] }]
284
+ }], ctorParameters: function () { return [{ type: BreakpointLibService }]; }, propDecorators: { config: [{
285
+ type: Input
286
+ }] } });
287
+
288
+ class AfConnectHeaderComponent {
289
+ }
290
+ AfConnectHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
291
+ AfConnectHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: AfConnectHeaderComponent, selector: "lib-af-connect-header", ngImport: i0, template: "<p>IT WORKS AF_CONNECT</p>\r\n", styles: [""] });
292
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectHeaderComponent, decorators: [{
293
+ type: Component,
294
+ args: [{ selector: 'lib-af-connect-header', template: "<p>IT WORKS AF_CONNECT</p>\r\n" }]
295
+ }] });
296
+
297
+ class AfConnectComponentsModule {
298
+ }
299
+ AfConnectComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
300
+ AfConnectComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsModule, declarations: [AfConnectComponentsComponent,
301
+ AfConnectHeaderComponent,
302
+ AfConnectFooterComponent,
303
+ ExpandableContainerComponent,
304
+ ExpandableArrowComponent,
305
+ ExpandableWrapperComponent], imports: [MatIconModule,
306
+ CommonModule], exports: [AfConnectComponentsComponent,
307
+ AfConnectHeaderComponent,
308
+ AfConnectFooterComponent] });
309
+ AfConnectComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsModule, providers: [BreakpointLibService], imports: [MatIconModule,
310
+ CommonModule] });
311
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectComponentsModule, decorators: [{
312
+ type: NgModule,
313
+ args: [{
314
+ declarations: [
315
+ AfConnectComponentsComponent,
316
+ AfConnectHeaderComponent,
317
+ AfConnectFooterComponent,
318
+ ExpandableContainerComponent,
319
+ ExpandableArrowComponent,
320
+ ExpandableWrapperComponent,
321
+ ],
322
+ imports: [
323
+ MatIconModule,
324
+ CommonModule
325
+ ],
326
+ providers: [BreakpointLibService],
327
+ exports: [
328
+ AfConnectComponentsComponent,
329
+ AfConnectHeaderComponent,
330
+ AfConnectFooterComponent
331
+ ]
332
+ }]
333
+ }] });
334
+
335
+ /*
336
+ * Public API Surface of af-connect-components
337
+ */
338
+
339
+ /**
340
+ * Generated bundle index. Do not edit.
341
+ */
342
+
343
+ export { AfConnectComponentsComponent, AfConnectComponentsModule, AfConnectComponentsService, AfConnectFooterComponent, AfConnectHeaderComponent };
344
+ //# sourceMappingURL=af-connect-components.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"af-connect-components.mjs","sources":["../../../projects/af-connect-components/src/lib/af-connect-components.service.ts","../../../projects/af-connect-components/src/lib/af-connect-components.component.ts","../../../projects/af-connect-components/src/lib/services/breakpoint.service.ts","../../../projects/af-connect-components/src/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.ts","../../../projects/af-connect-components/src/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.html","../../../projects/af-connect-components/src/lib/expandable/expandable-container/expandable-container.component.ts","../../../projects/af-connect-components/src/lib/expandable/expandable-container/expandable-container.component.html","../../../projects/af-connect-components/src/lib/expandable/expandable-arrow/expandable-arrow.component.ts","../../../projects/af-connect-components/src/lib/expandable/expandable-arrow/expandable-arrow.component.html","../../../projects/af-connect-components/src/lib/af-connect-footer/af-connect-footer.component.ts","../../../projects/af-connect-components/src/lib/af-connect-footer/af-connect-footer.component.html","../../../projects/af-connect-components/src/lib/af-connect-header/af-connect-header.component.ts","../../../projects/af-connect-components/src/lib/af-connect-header/af-connect-header.component.html","../../../projects/af-connect-components/src/lib/af-connect-components.module.ts","../../../projects/af-connect-components/src/public-api.ts","../../../projects/af-connect-components/src/af-connect-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AfConnectComponentsService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-components',\r\n template: `\r\n <p>\r\n af-connect-components works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class AfConnectComponentsComponent {\r\n\r\n}\r\n","import { BreakpointObserver } from '@angular/cdk/layout';\r\nimport { Injectable } from '@angular/core';\r\nimport { map } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class BreakpointLibService {\r\n constructor(private responsive: BreakpointObserver) { }\r\n\r\n public isMobile$ = this.responsive.observe(['(max-width: 768px)']).pipe(map((result) => !result.matches));\r\n}\r\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\r\nimport { BehaviorSubject, take } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'afc-expandable-wrapper',\r\n templateUrl: './afc-expandable-wrapper.component.html',\r\n styleUrls: ['./afc-expandable-wrapper.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class ExpandableWrapperComponent {\r\n public isExpanded$ = new BehaviorSubject<boolean | null>(null);\r\n\r\n toggleIsExpanded() {\r\n this.isExpanded$\r\n .pipe(take(1))\r\n .subscribe((current) => {\r\n this.isExpanded$.next(!current);\r\n })\r\n .unsubscribe();\r\n }\r\n}\r\n","<div class=\"expandable-wrapper\" (click)=\"toggleIsExpanded()\">\r\n <ng-content select=\"[triggerable]\"></ng-content>\r\n</div>\r\n<ng-content></ng-content>\r\n","import { ChangeDetectionStrategy, Component, Host, Optional } from '@angular/core';\r\nimport { animate, style, transition, trigger, state } from '@angular/animations';\r\nimport { ExpandableWrapperComponent } from '../afc-expandable-wrapper/afc-expandable-wrapper.component';\r\n\r\n@Component({\r\n selector: 'afc-expandable-container',\r\n templateUrl: './expandable-container.component.html',\r\n styleUrls: ['./expandable-container.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [trigger('expandContainer', [\r\n state(\r\n 'collapsed',\r\n style({ height: '0px', minHeight: '0', visibility: 'hidden', border: 'none', overflow: 'hidden' })\r\n ),\r\n state('expanded', style({ height: '*' })),\r\n transition('expanded <=> collapsed', animate('265ms cubic-bezier(0.4, 0.0, 0.2, 1)'))\r\n ])]\r\n})\r\nexport class ExpandableContainerComponent {\r\n constructor(@Host() @Optional() public wrapper: ExpandableWrapperComponent) { }\r\n}\r\n","<div [@expandContainer]=\"(wrapper.isExpanded$ | async) ? 'expanded' : 'collapsed'\">\r\n <ng-content></ng-content>\r\n</div>\r\n","import { animate, style, transition, trigger, state } from '@angular/animations';\r\nimport { ChangeDetectionStrategy, Component, ElementRef, Host, HostListener, Input, OnInit, Optional, ViewChild } from '@angular/core';\r\nimport { ExpandableWrapperComponent } from '../afc-expandable-wrapper/afc-expandable-wrapper.component';\r\n\r\n@Component({\r\n selector: 'afc-expandable-arrow',\r\n templateUrl: './expandable-arrow.component.html',\r\n styleUrls: ['./expandable-arrow.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n animations: [trigger('expandableArrow', [\r\n state('collapsed', style({ transform: 'rotate(0)' })),\r\n state('expanded', style({ transform: 'rotate(90deg)' })),\r\n transition('expanded <=> collapsed', animate('265ms ease-out')),\r\n transition('collapsed <=> expanded', animate('265ms ease-in'))\r\n ])]\r\n})\r\nexport class ExpandableArrowComponent implements OnInit {\r\n constructor(@Host() @Optional() public wrapper: ExpandableWrapperComponent) { }\r\n\r\n ngOnInit(): void { }\r\n}\r\n","<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","import { Component, Input } from '@angular/core';\r\nimport { BreakpointLibService } from '../services/breakpoint.service';\r\n\r\nexport interface SocialLink {\r\n link: string,\r\n isHidden?: boolean;\r\n}\r\n\r\nexport interface SectionItem {\r\n title: string,\r\n link?: string;\r\n}\r\n\r\nexport interface Section {\r\n title?: string,\r\n sectionItems: SectionItem[];\r\n}\r\n\r\n\r\nexport interface FooterConfig {\r\n bannerTitle?: string | undefined,\r\n instagram?: SocialLink,\r\n linkedIn?: SocialLink,\r\n facebook?: SocialLink,\r\n twitter?: SocialLink,\r\n sections?: Section[],\r\n address?: Section[],\r\n}\r\n\r\n@Component({\r\n selector: 'lib-af-connect-footer',\r\n templateUrl: './af-connect-footer.component.html',\r\n styleUrls: ['./af-connect-footer.component.scss']\r\n})\r\nexport class AfConnectFooterComponent {\r\n\r\n constructor(public breakpointService: BreakpointLibService) { }\r\n\r\n @Input()\r\n config: FooterConfig | undefined = undefined;\r\n\r\n public get getMobileAddress(): string {\r\n const config = this.config ? this.config : this.defaultConfig;\r\n const addressData: SectionItem[] | undefined = config?.address?.find(address => !address.title)?.sectionItems\r\n const titleString = addressData?.reduce((prev: string, curr: SectionItem, i) => {\r\n return `${prev}${i === 0 ? '' : ''}${i === 1 ? ' : ' : ''}${i > 1 ? ',' : ''} ${curr.title}`;\r\n }, '');\r\n return titleString || '';\r\n }\r\n\r\n /**\r\n Footer component for AF Angular Websites. A config object can be passed to change data partially or fully.\r\n\r\n public exampleTestConfig: FooterConfig = {\r\n bannerTitle: 'test'\r\n }\r\n\r\n Passing the exampleTestConfig will replace only the banner. Everything else will be loaded from the default config.\r\n */\r\n\r\n\r\n public defaultConfig: FooterConfig = {\r\n sections: [\r\n {\r\n title: 'COMPANY',\r\n sectionItems: [\r\n {\r\n title: 'Investor relations',\r\n link: ''\r\n },\r\n {\r\n title: 'Careers',\r\n link: ''\r\n },\r\n {\r\n title: 'Procurement',\r\n link: ''\r\n },\r\n {\r\n title: 'Risk & Compliance',\r\n link: ''\r\n },\r\n ]\r\n },\r\n {\r\n title: 'PREVIOUS SITES',\r\n sectionItems: [\r\n {\r\n title: 'Group Website',\r\n link: ''\r\n },\r\n {\r\n title: 'Investments',\r\n link: ''\r\n },\r\n {\r\n title: 'Botswana',\r\n link: ''\r\n },\r\n {\r\n title: 'Namibia',\r\n link: ''\r\n },\r\n {\r\n title: 'Jersey',\r\n link: ''\r\n },\r\n ]\r\n },\r\n {\r\n title: 'RESOURCES',\r\n sectionItems: [\r\n {\r\n title: 'Business directory',\r\n link: ''\r\n },\r\n {\r\n title: 'Compliments',\r\n link: ''\r\n },\r\n {\r\n title: 'Complaints',\r\n link: ''\r\n },\r\n {\r\n title: 'Report fraud',\r\n link: ''\r\n },\r\n {\r\n title: 'Unclaimed benefits',\r\n link: ''\r\n },\r\n ]\r\n },\r\n ],\r\n address: [\r\n {\r\n title: 'Head Office',\r\n sectionItems: [\r\n {\r\n title: 'Contact information',\r\n },\r\n {\r\n title: 'Email : info@alexforbes.com',\r\n },\r\n {\r\n title: 'Telephone : +27 11 269 0000',\r\n },\r\n {\r\n title: 'Fax : +27 11 263 0149',\r\n },\r\n ]\r\n },\r\n {\r\n title: '',\r\n sectionItems: [\r\n {\r\n title: 'Address',\r\n },\r\n {\r\n title: 'Alexforbes',\r\n },\r\n {\r\n title: '115 West Street',\r\n },\r\n {\r\n title: 'Sandton, 2196',\r\n },\r\n ]\r\n },\r\n ],\r\n bannerTitle: 'Copyright 2022 Alexander Forbes Group Holdings Limited. Legal terms | Privacy policy | PAIA manual',\r\n instagram: {\r\n link: 'https://www.instagram.com/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n linkedIn: {\r\n link: 'https://www.linkedin.com/company/alexforbesofficial',\r\n isHidden: false,\r\n },\r\n facebook: {\r\n link: 'https://www.facebook.com/alexforbesofficial/',\r\n isHidden: false,\r\n },\r\n twitter: {\r\n link: 'https://twitter.com/alexforbes',\r\n isHidden: false,\r\n }\r\n }\r\n}\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 <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 \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","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-af-connect-header',\r\n templateUrl: './af-connect-header.component.html',\r\n styleUrls: ['./af-connect-header.component.css']\r\n})\r\nexport class AfConnectHeaderComponent {\r\n\r\n}\r\n","<p>IT WORKS AF_CONNECT</p>\r\n","import { NgModule } from '@angular/core';\r\nimport { AfConnectComponentsComponent } from './af-connect-components.component';\r\nimport { AfConnectFooterComponent } from './af-connect-footer/af-connect-footer.component';\r\nimport { AfConnectHeaderComponent } from './af-connect-header/af-connect-header.component';\r\nimport { ExpandableWrapperComponent } from './expandable/afc-expandable-wrapper/afc-expandable-wrapper.component';\r\nimport { ExpandableArrowComponent } from './expandable/expandable-arrow/expandable-arrow.component';\r\nimport { ExpandableContainerComponent } from './expandable/expandable-container/expandable-container.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { CommonModule } from '@angular/common';\r\nimport { BreakpointLibService } from './services/breakpoint.service';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AfConnectComponentsComponent,\r\n AfConnectHeaderComponent,\r\n AfConnectFooterComponent,\r\n ExpandableContainerComponent,\r\n ExpandableArrowComponent,\r\n ExpandableWrapperComponent,\r\n\r\n ],\r\n imports: [\r\n MatIconModule,\r\n CommonModule\r\n ],\r\n providers: [BreakpointLibService],\r\n exports: [\r\n AfConnectComponentsComponent,\r\n AfConnectHeaderComponent,\r\n AfConnectFooterComponent\r\n ]\r\n})\r\nexport class AfConnectComponentsModule { }\r\n","/*\r\n * Public API Surface of af-connect-components\r\n */\r\n\r\nexport * from './lib/af-connect-components.service';\r\nexport * from './lib/af-connect-components.component';\r\nexport * from './lib/af-connect-components.module';\r\nexport * from './lib/af-connect-footer/af-connect-footer.component';\r\n\r\nexport * from './lib/af-connect-header/af-connect-header.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.ExpandableWrapperComponent","i2","i3","i1.BreakpointLibService","i3.ExpandableContainerComponent","i4.ExpandableArrowComponent","i5.ExpandableWrapperComponent"],"mappings":"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"}