af-connect-components 0.0.0-watch

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 (163) hide show
  1. package/README.md +24 -0
  2. package/esm2022/af-connect-components.mjs +5 -0
  3. package/esm2022/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.mjs +22 -0
  4. package/esm2022/lib/af-connect-button/af-connect-button.component.mjs +47 -0
  5. package/esm2022/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.mjs +33 -0
  6. package/esm2022/lib/af-connect-card/af-connect-card.component.mjs +17 -0
  7. package/esm2022/lib/af-connect-chart/af-connect-chart.component.mjs +11 -0
  8. package/esm2022/lib/af-connect-chip/af-connect-chip.component.mjs +23 -0
  9. package/esm2022/lib/af-connect-components.component.mjs +19 -0
  10. package/esm2022/lib/af-connect-components.module.mjs +255 -0
  11. package/esm2022/lib/af-connect-components.service.mjs +14 -0
  12. package/esm2022/lib/af-connect-content/af-connect-content.component.mjs +14 -0
  13. package/esm2022/lib/af-connect-datepicker/af-connect-datepicker.component.mjs +11 -0
  14. package/esm2022/lib/af-connect-error/af-connect-error.component.mjs +26 -0
  15. package/esm2022/lib/af-connect-footer/af-connect-footer.component.mjs +100 -0
  16. package/esm2022/lib/af-connect-footer/af-connect-footer.data.mjs +444 -0
  17. package/esm2022/lib/af-connect-form-group/af-connect-form-group.component.mjs +11 -0
  18. package/esm2022/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.mjs +21 -0
  19. package/esm2022/lib/af-connect-header/af-connect-header.component.mjs +95 -0
  20. package/esm2022/lib/af-connect-inline-error/af-connect-inline-error.component.mjs +29 -0
  21. package/esm2022/lib/af-connect-input/af-connect-input.component.mjs +92 -0
  22. package/esm2022/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.mjs +18 -0
  23. package/esm2022/lib/af-connect-modal/af-connect-modal.component.mjs +101 -0
  24. package/esm2022/lib/af-connect-no-content/af-connect-no-content.component.mjs +26 -0
  25. package/esm2022/lib/af-connect-notification/af-connect-notification.component.mjs +15 -0
  26. package/esm2022/lib/af-connect-products-carousel/af-connect-products-carousel.component.mjs +47 -0
  27. package/esm2022/lib/af-connect-products-carousel/defaultConfig.mjs +27 -0
  28. package/esm2022/lib/af-connect-products-carousel/image-card/image-card.component.mjs +27 -0
  29. package/esm2022/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.mjs +124 -0
  30. package/esm2022/lib/af-connect-progress-bar/af-connect-progress-bar.component.mjs +45 -0
  31. package/esm2022/lib/af-connect-radio-button/af-connect-radio-button.component.mjs +99 -0
  32. package/esm2022/lib/af-connect-radio-group/af-connect-radio-group.component.mjs +114 -0
  33. package/esm2022/lib/af-connect-savings-banner/af-connect-savings-banner.component.mjs +17 -0
  34. package/esm2022/lib/af-connect-section/af-connect-section.component.mjs +14 -0
  35. package/esm2022/lib/af-connect-section-header/af-connect-section-header.component.mjs +35 -0
  36. package/esm2022/lib/af-connect-select/af-connect-select.component.mjs +11 -0
  37. package/esm2022/lib/af-connect-solutions-product/af-connect-solutions-product.component.mjs +34 -0
  38. package/esm2022/lib/af-connect-solutions-product/af-connect-solutions-product.data.mjs +72 -0
  39. package/esm2022/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.component.mjs +45 -0
  40. package/esm2022/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.data.mjs +220 -0
  41. package/esm2022/lib/af-connect-svg-button/af-connect-svg-button.component.mjs +27 -0
  42. package/esm2022/lib/af-connect-tab/af-connect-tab.component.mjs +20 -0
  43. package/esm2022/lib/af-connect-table/af-connect-table.component.mjs +11 -0
  44. package/esm2022/lib/af-connect-tabs/af-connect-tabs.component.mjs +87 -0
  45. package/esm2022/lib/af-connect-toaster-message/af-connect-toaster-message.component.mjs +33 -0
  46. package/esm2022/lib/af-connect-toggle-button/af-connect-toggle-button.component.mjs +133 -0
  47. package/esm2022/lib/af-connect-tooltip/af-connect-tooltip.component.mjs +48 -0
  48. package/esm2022/lib/af-connect-tooltip/types.mjs +2 -0
  49. package/esm2022/lib/constants/animation.constants.mjs +121 -0
  50. package/esm2022/lib/constants/base.constants.mjs +10 -0
  51. package/esm2022/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.mjs +23 -0
  52. package/esm2022/lib/expandable/expandable-arrow/expandable-arrow.component.mjs +54 -0
  53. package/esm2022/lib/expandable/expandable-container/expandable-container.component.mjs +29 -0
  54. package/esm2022/lib/faq/faq/faq.component.mjs +21 -0
  55. package/esm2022/lib/faq/faq-item/faq-item.component.mjs +16 -0
  56. package/esm2022/lib/faq/faqItem.mjs +2 -0
  57. package/esm2022/lib/faq/image-fallback/image-fallback.component.mjs +74 -0
  58. package/esm2022/lib/models/notification-response.model.mjs +2 -0
  59. package/esm2022/lib/models/radio.model.mjs +2 -0
  60. package/esm2022/lib/models/url-config.mjs +2 -0
  61. package/esm2022/lib/pipes/safe-html.pipe.mjs +20 -0
  62. package/esm2022/lib/services/breakpoint.service.mjs +17 -0
  63. package/esm2022/lib/utilities/number.util.mjs +4 -0
  64. package/esm2022/public-api.mjs +47 -0
  65. package/esm2022/shared/pipes/get-initials.mjs +20 -0
  66. package/fesm2022/af-connect-components.mjs +2925 -0
  67. package/fesm2022/af-connect-components.mjs.map +1 -0
  68. package/index.d.ts +5 -0
  69. package/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.d.ts +10 -0
  70. package/lib/af-connect-button/af-connect-button.component.d.ts +21 -0
  71. package/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.d.ts +14 -0
  72. package/lib/af-connect-card/af-connect-card.component.d.ts +8 -0
  73. package/lib/af-connect-chart/af-connect-chart.component.d.ts +5 -0
  74. package/lib/af-connect-chip/af-connect-chip.component.d.ts +12 -0
  75. package/lib/af-connect-components.component.d.ts +5 -0
  76. package/lib/af-connect-components.module.d.ts +55 -0
  77. package/lib/af-connect-components.service.d.ts +6 -0
  78. package/lib/af-connect-content/af-connect-content.component.d.ts +8 -0
  79. package/lib/af-connect-datepicker/af-connect-datepicker.component.d.ts +5 -0
  80. package/lib/af-connect-error/af-connect-error.component.d.ts +12 -0
  81. package/lib/af-connect-footer/af-connect-footer.component.d.ts +31 -0
  82. package/lib/af-connect-footer/af-connect-footer.data.d.ts +140 -0
  83. package/lib/af-connect-form-group/af-connect-form-group.component.d.ts +5 -0
  84. package/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.d.ts +10 -0
  85. package/lib/af-connect-header/af-connect-header.component.d.ts +36 -0
  86. package/lib/af-connect-inline-error/af-connect-inline-error.component.d.ts +13 -0
  87. package/lib/af-connect-input/af-connect-input.component.d.ts +36 -0
  88. package/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.d.ts +8 -0
  89. package/lib/af-connect-modal/af-connect-modal.component.d.ts +46 -0
  90. package/lib/af-connect-no-content/af-connect-no-content.component.d.ts +12 -0
  91. package/lib/af-connect-notification/af-connect-notification.component.d.ts +8 -0
  92. package/lib/af-connect-products-carousel/af-connect-products-carousel.component.d.ts +32 -0
  93. package/lib/af-connect-products-carousel/defaultConfig.d.ts +6 -0
  94. package/lib/af-connect-products-carousel/image-card/image-card.component.d.ts +13 -0
  95. package/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.d.ts +50 -0
  96. package/lib/af-connect-progress-bar/af-connect-progress-bar.component.d.ts +18 -0
  97. package/lib/af-connect-radio-button/af-connect-radio-button.component.d.ts +34 -0
  98. package/lib/af-connect-radio-group/af-connect-radio-group.component.d.ts +35 -0
  99. package/lib/af-connect-savings-banner/af-connect-savings-banner.component.d.ts +7 -0
  100. package/lib/af-connect-section/af-connect-section.component.d.ts +8 -0
  101. package/lib/af-connect-section-header/af-connect-section-header.component.d.ts +15 -0
  102. package/lib/af-connect-select/af-connect-select.component.d.ts +5 -0
  103. package/lib/af-connect-solutions-product/af-connect-solutions-product.component.d.ts +15 -0
  104. package/lib/af-connect-solutions-product/af-connect-solutions-product.data.d.ts +17 -0
  105. package/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.component.d.ts +18 -0
  106. package/lib/af-connect-solutions-product-v2/af-connect-solutions-product-v2.data.d.ts +3 -0
  107. package/lib/af-connect-svg-button/af-connect-svg-button.component.d.ts +14 -0
  108. package/lib/af-connect-tab/af-connect-tab.component.d.ts +9 -0
  109. package/lib/af-connect-table/af-connect-table.component.d.ts +5 -0
  110. package/lib/af-connect-tabs/af-connect-tabs.component.d.ts +25 -0
  111. package/lib/af-connect-toaster-message/af-connect-toaster-message.component.d.ts +13 -0
  112. package/lib/af-connect-toggle-button/af-connect-toggle-button.component.d.ts +37 -0
  113. package/lib/af-connect-tooltip/af-connect-tooltip.component.d.ts +16 -0
  114. package/lib/af-connect-tooltip/types.d.ts +1 -0
  115. package/lib/constants/animation.constants.d.ts +13 -0
  116. package/lib/constants/base.constants.d.ts +10 -0
  117. package/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.d.ts +8 -0
  118. package/lib/expandable/expandable-arrow/expandable-arrow.component.d.ts +21 -0
  119. package/lib/expandable/expandable-container/expandable-container.component.d.ts +8 -0
  120. package/lib/faq/faq/faq.component.d.ts +9 -0
  121. package/lib/faq/faq-item/faq-item.component.d.ts +7 -0
  122. package/lib/faq/faqItem.d.ts +7 -0
  123. package/lib/faq/image-fallback/image-fallback.component.d.ts +18 -0
  124. package/lib/models/notification-response.model.d.ts +17 -0
  125. package/lib/models/radio.model.d.ts +3 -0
  126. package/lib/models/url-config.d.ts +5 -0
  127. package/lib/pipes/safe-html.pipe.d.ts +10 -0
  128. package/lib/services/breakpoint.service.d.ts +10 -0
  129. package/lib/utilities/number.util.d.ts +1 -0
  130. package/package.json +26 -0
  131. package/public-api.d.ts +43 -0
  132. package/shared/pipes/get-initials.d.ts +10 -0
  133. package/src/assets/icons/basket-blue.svg +37 -0
  134. package/src/assets/icons/checkmark-teal.svg +11 -0
  135. package/src/assets/icons/chevron-right-rounded.svg +1 -0
  136. package/src/assets/icons/devices-blue.svg +17 -0
  137. package/src/assets/icons/document-clock-blue.svg +68 -0
  138. package/src/assets/icons/hourglass-blue.svg +42 -0
  139. package/src/assets/icons/phone-text-bubbles-blue.svg +677 -0
  140. package/src/assets/icons/price-tag-blue.svg +61 -0
  141. package/src/assets/icons/shield-blue.svg +35 -0
  142. package/src/assets/icons/travel-blue.svg +415 -0
  143. package/src/assets/images/AF-Plus-carousel.jpg +0 -0
  144. package/src/assets/images/AF-Rewards-carousel.jpg +0 -0
  145. package/src/assets/images/FAQ_image.png +0 -0
  146. package/src/assets/images/Unit-trusts-carousel.jpg +0 -0
  147. package/src/assets/images/mmm-carousel.jpg +0 -0
  148. package/src/assets/images/nam_s4u_broadwalk.png +0 -0
  149. package/src/assets/images/nam_s4u_pier.png +0 -0
  150. package/src/assets/images/nam_s4u_sunset_tree.png +0 -0
  151. package/src/assets/images/solutions-advice.jpg +0 -0
  152. package/src/assets/images/solutions-afplus-mobile.jpg +0 -0
  153. package/src/assets/images/solutions-afplus-v2.jpg +0 -0
  154. package/src/assets/images/solutions-afplus.jpg +0 -0
  155. package/src/assets/images/solutions-invest-mobile.jpg +0 -0
  156. package/src/assets/images/solutions-invest.jpg +0 -0
  157. package/src/assets/images/solutions-mmm-mobile.jpg +0 -0
  158. package/src/assets/images/solutions-mmm-v2.jpg +0 -0
  159. package/src/assets/images/solutions-mmm.jpg +0 -0
  160. package/src/assets/images/solutions-rewards.png +0 -0
  161. package/src/assets/images/solutions-taxtim.jpg +0 -0
  162. package/src/assets/images/solutions-welltec.jpg +0 -0
  163. package/src/assets/images/solutions-will.jpg +0 -0
@@ -0,0 +1,72 @@
1
+ export const data = {
2
+ 'invest': {
3
+ imgWeb: 'solutions-invest.jpg',
4
+ imgMobile: 'solutions-invest-mobile.jpg',
5
+ heading: 'Start investing today',
6
+ subheading: 'A smarter, simpler way to invest and grow your wealth over time.',
7
+ description: 'Consolidate your existing ones with our award-winning digital platform—designed to make investing easy and seamless for you',
8
+ ctaTitle: 'Explore',
9
+ ctaLink: 'https://invest.alexforbes.com/za/en/invest/',
10
+ labels: [
11
+ {
12
+ img: 'document-clock-blue.svg',
13
+ text: 'Apply without paperwork'
14
+ },
15
+ {
16
+ img: 'phone-text-bubbles-blue.svg',
17
+ text: 'Get online Digital-advice'
18
+ },
19
+ {
20
+ img: 'devices-blue.svg',
21
+ text: 'Access your statements'
22
+ },
23
+ ]
24
+ },
25
+ 'myMoneyMatters': {
26
+ imgWeb: 'solutions-mmm.jpg',
27
+ imgMobile: 'solutions-mmm-mobile.jpg',
28
+ heading: 'My money matters',
29
+ subheading: 'Get the most out of your money',
30
+ description: 'Are you starting a new job, leaving a job, retiring soon, or just trying to achieve your financial goals? My Money Matters Toolkit provided guided decision journeys for important financial moments during people’ working lives and beyond.',
31
+ ctaTitle: 'Explore',
32
+ ctaLink: 'https://mymoneymatters.alexforbes.com/',
33
+ labels: [
34
+ {
35
+ img: 'devices-blue.svg',
36
+ text: 'My Money Matters toolkit'
37
+ },
38
+ {
39
+ img: 'shield-blue.svg',
40
+ text: 'Investing for a goal'
41
+ },
42
+ {
43
+ img: 'hourglass-blue.svg',
44
+ text: 'Save for retirement'
45
+ },
46
+ ]
47
+ },
48
+ 'afplus': {
49
+ imgWeb: 'solutions-afplus.jpg',
50
+ imgMobile: 'solutions-afplus-mobile.jpg',
51
+ heading: 'A F +',
52
+ subheading: 'Financial decisions with confidence',
53
+ description: 'AF+ is a new digital platform that connects you to expertly chosen financial solutions to help you make decisions with ease and confidence. Reduce your financial stress and focus on what matters Consolidate debt and negotiate affordable payment terms to you.',
54
+ ctaTitle: 'Explore',
55
+ ctaLink: 'https://plus.alexforbes.com/?utm_source=afwebsite&utm_campaign=AFWebsite&utm_medium=Web&utm_term=Explore&utm_content=Explore%20AF%2B%20solutions',
56
+ labels: [
57
+ {
58
+ img: 'price-tag-blue.svg',
59
+ text: 'Retailer discounts'
60
+ },
61
+ {
62
+ img: 'travel-blue.svg',
63
+ text: 'Travel and lifestyle'
64
+ },
65
+ {
66
+ img: 'basket-blue.svg',
67
+ text: 'Benefits'
68
+ },
69
+ ]
70
+ },
71
+ };
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1zb2x1dGlvbnMtcHJvZHVjdC5kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1zb2x1dGlvbnMtcHJvZHVjdC9hZi1jb25uZWN0LXNvbHV0aW9ucy1wcm9kdWN0LmRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBLE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBb0Q7SUFDbkUsUUFBUSxFQUFFO1FBQ1IsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixTQUFTLEVBQUUsNkJBQTZCO1FBQ3hDLE9BQU8sRUFBRSx1QkFBdUI7UUFDaEMsVUFBVSxFQUFFLGtFQUFrRTtRQUM5RSxXQUFXLEVBQUUsNkhBQTZIO1FBQzFJLFFBQVEsRUFBRSxTQUFTO1FBQ25CLE9BQU8sRUFBRSw2Q0FBNkM7UUFDdEQsTUFBTSxFQUFFO1lBQ047Z0JBQ0UsR0FBRyxFQUFFLHlCQUF5QjtnQkFDOUIsSUFBSSxFQUFFLHlCQUF5QjthQUNoQztZQUNEO2dCQUNFLEdBQUcsRUFBRSw2QkFBNkI7Z0JBQ2xDLElBQUksRUFBRSwyQkFBMkI7YUFDbEM7WUFDRDtnQkFDRSxHQUFHLEVBQUUsa0JBQWtCO2dCQUN2QixJQUFJLEVBQUUsd0JBQXdCO2FBQy9CO1NBQ0Y7S0FDRjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsU0FBUyxFQUFFLDBCQUEwQjtRQUNyQyxPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLFVBQVUsRUFBRSxnQ0FBZ0M7UUFDNUMsV0FBVyxFQUFFLCtPQUErTztRQUM1UCxRQUFRLEVBQUUsU0FBUztRQUNuQixPQUFPLEVBQUUsd0NBQXdDO1FBQ2pELE1BQU0sRUFBRTtZQUNOO2dCQUNFLEdBQUcsRUFBRSxrQkFBa0I7Z0JBQ3ZCLElBQUksRUFBRSwwQkFBMEI7YUFDakM7WUFDRDtnQkFDRSxHQUFHLEVBQUUsaUJBQWlCO2dCQUN0QixJQUFJLEVBQUUsc0JBQXNCO2FBQzdCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLG9CQUFvQjtnQkFDekIsSUFBSSxFQUFFLHFCQUFxQjthQUM1QjtTQUNGO0tBQ0Y7SUFDRCxRQUFRLEVBQUU7UUFDUixNQUFNLEVBQUUsc0JBQXNCO1FBQzlCLFNBQVMsRUFBRSw2QkFBNkI7UUFDeEMsT0FBTyxFQUFFLE9BQU87UUFDaEIsVUFBVSxFQUFFLHFDQUFxQztRQUNqRCxXQUFXLEVBQUUsb1FBQW9RO1FBQ2pSLFFBQVEsRUFBRSxTQUFTO1FBQ25CLE9BQU8sRUFBRSxrSkFBa0o7UUFDM0osTUFBTSxFQUFFO1lBQ047Z0JBQ0UsR0FBRyxFQUFFLG9CQUFvQjtnQkFDekIsSUFBSSxFQUFFLG9CQUFvQjthQUMzQjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxpQkFBaUI7Z0JBQ3RCLElBQUksRUFBRSxzQkFBc0I7YUFDN0I7WUFDRDtnQkFDRSxHQUFHLEVBQUUsaUJBQWlCO2dCQUN0QixJQUFJLEVBQUUsVUFBVTthQUNqQjtTQUNGO0tBQ0Y7Q0FDRixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgU29sdXRpb25zUHJvZHVjdCA9ICdpbnZlc3QnIHwgJ215TW9uZXlNYXR0ZXJzJyB8ICdhZnBsdXMnO1xyXG5leHBvcnQgaW50ZXJmYWNlIFNvbHVjdGlvbnNQcm9kdWN0RGF0YSB7XHJcbiAgaW1nV2ViOiBzdHJpbmc7XHJcbiAgaW1nTW9iaWxlOiBzdHJpbmc7XHJcbiAgaGVhZGluZzogc3RyaW5nO1xyXG4gIHN1YmhlYWRpbmc6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIGN0YVRpdGxlOiBzdHJpbmc7XHJcbiAgY3RhTGluazogc3RyaW5nO1xyXG4gIGxhYmVsczoge1xyXG4gICAgaW1nPzogc3RyaW5nO1xyXG4gICAgdGV4dDogc3RyaW5nO1xyXG4gIH1bXSxcclxuICBib3R0b21DdGFUaXRsZT86IHN0cmluZztcclxuICBib3R0b21DdGFMaW5rPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgY29uc3QgZGF0YTogUmVjb3JkPFNvbHV0aW9uc1Byb2R1Y3QsIFNvbHVjdGlvbnNQcm9kdWN0RGF0YT4gPSB7XHJcbiAgJ2ludmVzdCc6IHtcclxuICAgIGltZ1dlYjogJ3NvbHV0aW9ucy1pbnZlc3QuanBnJyxcclxuICAgIGltZ01vYmlsZTogJ3NvbHV0aW9ucy1pbnZlc3QtbW9iaWxlLmpwZycsXHJcbiAgICBoZWFkaW5nOiAnU3RhcnQgaW52ZXN0aW5nIHRvZGF5JyxcclxuICAgIHN1YmhlYWRpbmc6ICdBIHNtYXJ0ZXIsIHNpbXBsZXIgd2F5IHRvIGludmVzdCBhbmQgZ3JvdyB5b3VyIHdlYWx0aCBvdmVyIHRpbWUuJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnQ29uc29saWRhdGUgeW91ciBleGlzdGluZyBvbmVzIHdpdGggb3VyIGF3YXJkLXdpbm5pbmcgZGlnaXRhbCBwbGF0Zm9ybeKAlGRlc2lnbmVkIHRvIG1ha2UgaW52ZXN0aW5nIGVhc3kgYW5kIHNlYW1sZXNzIGZvciB5b3UnLFxyXG4gICAgY3RhVGl0bGU6ICdFeHBsb3JlJyxcclxuICAgIGN0YUxpbms6ICdodHRwczovL2ludmVzdC5hbGV4Zm9yYmVzLmNvbS96YS9lbi9pbnZlc3QvJyxcclxuICAgIGxhYmVsczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgaW1nOiAnZG9jdW1lbnQtY2xvY2stYmx1ZS5zdmcnLFxyXG4gICAgICAgIHRleHQ6ICdBcHBseSB3aXRob3V0IHBhcGVyd29yaydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltZzogJ3Bob25lLXRleHQtYnViYmxlcy1ibHVlLnN2ZycsXHJcbiAgICAgICAgdGV4dDogJ0dldCBvbmxpbmUgRGlnaXRhbC1hZHZpY2UnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWc6ICdkZXZpY2VzLWJsdWUuc3ZnJyxcclxuICAgICAgICB0ZXh0OiAnQWNjZXNzIHlvdXIgc3RhdGVtZW50cydcclxuICAgICAgfSxcclxuICAgIF1cclxuICB9LFxyXG4gICdteU1vbmV5TWF0dGVycyc6IHtcclxuICAgIGltZ1dlYjogJ3NvbHV0aW9ucy1tbW0uanBnJyxcclxuICAgIGltZ01vYmlsZTogJ3NvbHV0aW9ucy1tbW0tbW9iaWxlLmpwZycsXHJcbiAgICBoZWFkaW5nOiAnTXkgbW9uZXkgbWF0dGVycycsXHJcbiAgICBzdWJoZWFkaW5nOiAnR2V0IHRoZSBtb3N0IG91dCBvZiB5b3VyIG1vbmV5JyxcclxuICAgIGRlc2NyaXB0aW9uOiAnQXJlIHlvdSBzdGFydGluZyBhIG5ldyBqb2IsIGxlYXZpbmcgYSBqb2IsIHJldGlyaW5nIHNvb24sIG9yIGp1c3QgdHJ5aW5nIHRvIGFjaGlldmUgeW91ciBmaW5hbmNpYWwgZ29hbHM/IE15IE1vbmV5IE1hdHRlcnMgVG9vbGtpdCBwcm92aWRlZCBndWlkZWQgZGVjaXNpb24gam91cm5leXMgZm9yIGltcG9ydGFudCBmaW5hbmNpYWwgbW9tZW50cyBkdXJpbmcgcGVvcGxl4oCZIHdvcmtpbmcgbGl2ZXMgYW5kIGJleW9uZC4nLFxyXG4gICAgY3RhVGl0bGU6ICdFeHBsb3JlJyxcclxuICAgIGN0YUxpbms6ICdodHRwczovL215bW9uZXltYXR0ZXJzLmFsZXhmb3JiZXMuY29tLycsXHJcbiAgICBsYWJlbHM6IFtcclxuICAgICAge1xyXG4gICAgICAgIGltZzogJ2RldmljZXMtYmx1ZS5zdmcnLFxyXG4gICAgICAgIHRleHQ6ICdNeSBNb25leSBNYXR0ZXJzIHRvb2xraXQnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWc6ICdzaGllbGQtYmx1ZS5zdmcnLFxyXG4gICAgICAgIHRleHQ6ICdJbnZlc3RpbmcgZm9yIGEgZ29hbCdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltZzogJ2hvdXJnbGFzcy1ibHVlLnN2ZycsXHJcbiAgICAgICAgdGV4dDogJ1NhdmUgZm9yIHJldGlyZW1lbnQnXHJcbiAgICAgIH0sXHJcbiAgICBdXHJcbiAgfSxcclxuICAnYWZwbHVzJzoge1xyXG4gICAgaW1nV2ViOiAnc29sdXRpb25zLWFmcGx1cy5qcGcnLFxyXG4gICAgaW1nTW9iaWxlOiAnc29sdXRpb25zLWFmcGx1cy1tb2JpbGUuanBnJyxcclxuICAgIGhlYWRpbmc6ICdBIEYgKycsXHJcbiAgICBzdWJoZWFkaW5nOiAnRmluYW5jaWFsIGRlY2lzaW9ucyB3aXRoIGNvbmZpZGVuY2UnLFxyXG4gICAgZGVzY3JpcHRpb246ICdBRisgaXMgYSBuZXcgZGlnaXRhbCBwbGF0Zm9ybSB0aGF0IGNvbm5lY3RzIHlvdSB0byBleHBlcnRseSBjaG9zZW4gZmluYW5jaWFsIHNvbHV0aW9ucyB0byBoZWxwIHlvdSBtYWtlIGRlY2lzaW9ucyB3aXRoIGVhc2UgYW5kIGNvbmZpZGVuY2UuIFJlZHVjZSB5b3VyIGZpbmFuY2lhbCBzdHJlc3MgYW5kIGZvY3VzIG9uIHdoYXQgbWF0dGVycyBDb25zb2xpZGF0ZSBkZWJ0IGFuZCBuZWdvdGlhdGUgYWZmb3JkYWJsZSBwYXltZW50IHRlcm1zIHRvIHlvdS4nLFxyXG4gICAgY3RhVGl0bGU6ICdFeHBsb3JlJyxcclxuICAgIGN0YUxpbms6ICdodHRwczovL3BsdXMuYWxleGZvcmJlcy5jb20vP3V0bV9zb3VyY2U9YWZ3ZWJzaXRlJnV0bV9jYW1wYWlnbj1BRldlYnNpdGUmdXRtX21lZGl1bT1XZWImdXRtX3Rlcm09RXhwbG9yZSZ1dG1fY29udGVudD1FeHBsb3JlJTIwQUYlMkIlMjBzb2x1dGlvbnMnLFxyXG4gICAgbGFiZWxzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBpbWc6ICdwcmljZS10YWctYmx1ZS5zdmcnLFxyXG4gICAgICAgIHRleHQ6ICdSZXRhaWxlciBkaXNjb3VudHMnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBpbWc6ICd0cmF2ZWwtYmx1ZS5zdmcnLFxyXG4gICAgICAgIHRleHQ6ICdUcmF2ZWwgYW5kIGxpZmVzdHlsZSdcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltZzogJ2Jhc2tldC1ibHVlLnN2ZycsXHJcbiAgICAgICAgdGV4dDogJ0JlbmVmaXRzJ1xyXG4gICAgICB9LFxyXG4gICAgXVxyXG4gIH0sXHJcbn1cclxuIl19
@@ -0,0 +1,45 @@
1
+ import { Component, computed, EventEmitter, input, Input, Output } from '@angular/core';
2
+ import { data } from './af-connect-solutions-product-v2.data';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "../pipes/safe-html.pipe";
6
+ export class AfConnectSolutionsProductV2Component {
7
+ constructor() {
8
+ this._variant = 'afplus';
9
+ this.taxTimPromoCodeEffectiveFrom = input(new Date('2027-06-30T22:00:00Z')); // accounting for timezone offset
10
+ this.taxTimPromoCodeListItem = computed(() => {
11
+ const currentDate = new Date();
12
+ return currentDate < this.taxTimPromoCodeEffectiveFrom()
13
+ ? 'Save 30% with your exclusive early bird code - <strong style="color:#15808D;">ALEXFORBES30</strong>'
14
+ : 'Use code <strong style="color:#15808D;">ALEXFORBES25</strong> and save 25% today';
15
+ });
16
+ this.navigateToProduct = new EventEmitter();
17
+ this.linkClick = new EventEmitter();
18
+ }
19
+ get variant() {
20
+ return this._variant;
21
+ }
22
+ set variant(value) {
23
+ this._variant = value;
24
+ this.content = data[value];
25
+ }
26
+ onClick() {
27
+ this.navigateToProduct.emit();
28
+ }
29
+ onLinkClick() {
30
+ this.linkClick.emit(this._variant);
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectSolutionsProductV2Component, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: AfConnectSolutionsProductV2Component, selector: "lib-af-connect-solutions-product-v2", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: false, isRequired: false, transformFunction: null }, taxTimPromoCodeEffectiveFrom: { classPropertyName: "taxTimPromoCodeEffectiveFrom", publicName: "taxTimPromoCodeEffectiveFrom", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { navigateToProduct: "navigateToProduct", linkClick: "linkClick" }, ngImport: i0, template: "<section [ngClass]=\"['product', variant]\">\r\n <div class=\"product__img-wrapper\">\r\n <img class=\"product__img\" [src]=\"'/assets/images/' + content.imgWeb\">\r\n </div>\r\n <div class=\"product__content\">\r\n <div class=\"product__floating-header\">\r\n <h3 class=\"product__heading\">{{ content.heading }}</h3>\r\n <div class=\"product__floating-header-inner\" [class.no-text]=\"!content.subheading\">\r\n @if (variant !== 'taxTim') {\r\n <span class=\"product__description\">{{ content.subheading }}</span>\r\n }\r\n @else {\r\n <img src=\"https://media.taxtim.com/images/taxtim_logo_footer.svg\" alt=\"TaxTim\" width=\"104px\">\r\n }\r\n <a *ngIf=\"content.ctaLink; else anchorTemplate \" class=\"product__link\" (click)=\"onLinkClick()\" [href]=\"content.ctaLink\" target=\"_blank\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n </div>\r\n </div>\r\n <ul class=\"product__list\">\r\n @if (content.description) {\r\n <p class=\"product__free-text\">\r\n {{ content.description }}\r\n </p>\r\n }\r\n @for (label of content.labels; track $index) {\r\n <li class=\"product__list-item\">\r\n @if (label.img) {\r\n <img [src]=\"'/assets/icons/' + label.img\" width=\"40px\">\r\n }\r\n @else {\r\n <img [src]=\"'/assets/icons/checkmark-teal.svg'\" alt=\"checkmark\" width=\"32\" height=\"32\">\r\n }\r\n <span [innerHTML]=\"label.text | safeHtml\"></span>\r\n </li>\r\n }\r\n @if (variant === 'taxTim') {\r\n <li class=\"product__list-item\">\r\n <img [src]=\"'/assets/icons/checkmark-teal.svg'\" alt=\"checkmark\" width=\"32\" height=\"32\">\r\n <span [innerHTML]=\"taxTimPromoCodeListItem() | safeHtml\"></span>\r\n </li>\r\n }\r\n </ul>\r\n @if (content.bottomCtaTitle && content.bottomCtaLink) {\r\n <div class=\"product__bottom-cta\">\r\n <span >\r\n {{ content.bottomCtaTitle }}\r\n </span>\r\n <a class=\"product__link\" (click)=\"onLinkClick()\" [href]=\"content.bottomCtaLink\" target=\"_blank\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n\r\n<ng-template #anchorTemplate>\r\n <a class=\"product__link\" href=\"javascript:void(0)\" (click)=\"onClick()\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n</ng-template>", styles: [":host{display:block}.product{height:100%;background-color:#ddebee;color:#061426;min-width:332px;max-width:388px;border-bottom-left-radius:5px;border-bottom-right-radius:5px}@media (max-width: 1024px){.product{min-width:auto;width:312px}}.product__img-wrapper{aspect-ratio:194/137}.product__img-wrapper .product__img{display:block;width:100%;height:100%;object-fit:cover}.product__content{margin-top:-128px;padding:36px;position:relative;z-index:1}.product__content .product__floating-header{border-radius:10px;color:#fff;padding:18px 24px;margin-bottom:24px;container:floating-header/inline-size}@media (max-width: 1024px){.product__content .product__floating-header{margin-bottom:18px;padding:16px}}.product__content .product__floating-header .product__floating-header-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}.product__content .product__floating-header .product__floating-header-inner.no-text{margin-top:-1.8rem}@media (max-width: 1024px){.product__content .product__floating-header .product__floating-header-inner.no-text{margin-top:-1rem}}.product__content .product__floating-header .product__heading{margin-block:0 6px;font-size:28px;font-family:var(--standard-font-family-hero-new-semibold)}@container floating-header (width < 264px){.product__content .product__floating-header .product__heading{font-size:26px}}@container floating-header (width < 248px){.product__content .product__floating-header .product__heading{font-size:24px}}@container floating-header (width < 232px){.product__content .product__floating-header .product__heading{font-size:22px}}.product__content .product__floating-header .product__description{font-family:var(--standard-font-family-hero-new-semibold);max-width:180px}.product__content .product__floating-header .product__link{text-decoration:none;color:#fff}.product__content .product__floating-header .product__link img{display:block;width:42px;height:42px}@media (max-width: 1024px){.product__content .product__floating-header .product__link img{width:32px;height:32px}}.product__content .product__list{padding:0;margin:0;list-style:none}.product__content .product__list .product__list-item{display:flex;align-items:center;gap:16px}.product__content .product__list .product__list-item img{width:32px;height:32px}.product__content .product__list .product__list-item:not(:last-child){margin-bottom:28px}@media (max-width: 1024px){.product__content .product__list .product__list-item:not(:last-child){margin-bottom:14px}}@media (max-width: 1024px){.product__content{padding:26px}}.product.afplus .product__floating-header,.product.namEducation .product__floating-header{background-color:#124e57}.product.afplus .product__content .product__list .product__list-item img,.product.namEducation .product__content .product__list .product__list-item img{width:40px;height:40px}@media (max-width: 1024px){.product.afplus .product__content .product__list .product__list-item img,.product.namEducation .product__content .product__list .product__list-item img{width:32px;height:32px}}.product.myMoneyMatters .product__floating-header,.product.namDebt .product__floating-header{background-color:#ff531d}.product.myMoneyMatters .product__content,.product.namDebt .product__content{padding-bottom:25px}.product.myMoneyMatters .product__content .product__list .product__list-item:not(:last-child),.product.namDebt .product__content .product__list .product__list-item:not(:last-child){margin-bottom:16px}@media (max-width: 1024px){.product.myMoneyMatters .product__content .product__list .product__list-item:not(:last-child),.product.namDebt .product__content .product__list .product__list-item:not(:last-child){margin-bottom:14px}}.product.myMoneyMatters .product__free-text,.product.namDebt .product__free-text{margin-block:0 17px}@media (max-width: 1024px){.product.myMoneyMatters .product__free-text,.product.namDebt .product__free-text{margin-bottom:10px}}.product.advice .product__floating-header,.product.namJobs .product__floating-header,.product.will .product__floating-header,.product.education .product__floating-header{background-color:#f69521}.product.taxTim .product__floating-header{background-color:#124e57}.product.taxTim .product__floating-header h3.product__heading{min-height:78.25px}@container floating-header (width < 264px){.product.taxTim .product__floating-header h3.product__heading{min-height:72.75px}}@container floating-header (width < 248px){.product.taxTim .product__floating-header h3.product__heading{min-height:67.25px}}@container floating-header (width < 232px){.product.taxTim .product__floating-header h3.product__heading{min-height:60px}}.product.taxTim .product__content .product__list .product__list-item:not(:last-child){margin-bottom:16px}@media (max-width: 1024px){.product.taxTim .product__content .product__list .product__list-item:not(:last-child){margin-bottom:14px}}.product.wellTec .product__floating-header{background-color:#ff531d}.product.will h3.product__heading{white-space:nowrap}.product.rewards .product__floating-header{background-color:#f69521}.product.invest .product__floating-header{background-color:#f15a22}.product__bottom-cta{display:flex;align-items:center;margin-top:1.75rem;gap:1rem}@media (max-width: 1024px){.product__bottom-cta{margin-top:18px}}.product__bottom-cta span{color:#ff531d;font-weight:600}.product__bottom-cta a{display:block-inline;height:auto;width:1.5rem;background:var(--primary-orange-mobile-color);border-radius:50%;overflow:hidden}.product__bottom-cta a>img{display:block;width:1.5rem;height:1.5rem;transform:scale(1.5)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.SafeHtmlPipe, name: "safeHtml" }] }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectSolutionsProductV2Component, decorators: [{
36
+ type: Component,
37
+ args: [{ selector: 'lib-af-connect-solutions-product-v2', template: "<section [ngClass]=\"['product', variant]\">\r\n <div class=\"product__img-wrapper\">\r\n <img class=\"product__img\" [src]=\"'/assets/images/' + content.imgWeb\">\r\n </div>\r\n <div class=\"product__content\">\r\n <div class=\"product__floating-header\">\r\n <h3 class=\"product__heading\">{{ content.heading }}</h3>\r\n <div class=\"product__floating-header-inner\" [class.no-text]=\"!content.subheading\">\r\n @if (variant !== 'taxTim') {\r\n <span class=\"product__description\">{{ content.subheading }}</span>\r\n }\r\n @else {\r\n <img src=\"https://media.taxtim.com/images/taxtim_logo_footer.svg\" alt=\"TaxTim\" width=\"104px\">\r\n }\r\n <a *ngIf=\"content.ctaLink; else anchorTemplate \" class=\"product__link\" (click)=\"onLinkClick()\" [href]=\"content.ctaLink\" target=\"_blank\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n </div>\r\n </div>\r\n <ul class=\"product__list\">\r\n @if (content.description) {\r\n <p class=\"product__free-text\">\r\n {{ content.description }}\r\n </p>\r\n }\r\n @for (label of content.labels; track $index) {\r\n <li class=\"product__list-item\">\r\n @if (label.img) {\r\n <img [src]=\"'/assets/icons/' + label.img\" width=\"40px\">\r\n }\r\n @else {\r\n <img [src]=\"'/assets/icons/checkmark-teal.svg'\" alt=\"checkmark\" width=\"32\" height=\"32\">\r\n }\r\n <span [innerHTML]=\"label.text | safeHtml\"></span>\r\n </li>\r\n }\r\n @if (variant === 'taxTim') {\r\n <li class=\"product__list-item\">\r\n <img [src]=\"'/assets/icons/checkmark-teal.svg'\" alt=\"checkmark\" width=\"32\" height=\"32\">\r\n <span [innerHTML]=\"taxTimPromoCodeListItem() | safeHtml\"></span>\r\n </li>\r\n }\r\n </ul>\r\n @if (content.bottomCtaTitle && content.bottomCtaLink) {\r\n <div class=\"product__bottom-cta\">\r\n <span >\r\n {{ content.bottomCtaTitle }}\r\n </span>\r\n <a class=\"product__link\" (click)=\"onLinkClick()\" [href]=\"content.bottomCtaLink\" target=\"_blank\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n </div>\r\n }\r\n </div>\r\n</section>\r\n\r\n<ng-template #anchorTemplate>\r\n <a class=\"product__link\" href=\"javascript:void(0)\" (click)=\"onClick()\">\r\n <img [src]=\"'/assets/icons/chevron-right-rounded.svg'\" alt=\"chevron\">\r\n </a>\r\n</ng-template>", styles: [":host{display:block}.product{height:100%;background-color:#ddebee;color:#061426;min-width:332px;max-width:388px;border-bottom-left-radius:5px;border-bottom-right-radius:5px}@media (max-width: 1024px){.product{min-width:auto;width:312px}}.product__img-wrapper{aspect-ratio:194/137}.product__img-wrapper .product__img{display:block;width:100%;height:100%;object-fit:cover}.product__content{margin-top:-128px;padding:36px;position:relative;z-index:1}.product__content .product__floating-header{border-radius:10px;color:#fff;padding:18px 24px;margin-bottom:24px;container:floating-header/inline-size}@media (max-width: 1024px){.product__content .product__floating-header{margin-bottom:18px;padding:16px}}.product__content .product__floating-header .product__floating-header-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}.product__content .product__floating-header .product__floating-header-inner.no-text{margin-top:-1.8rem}@media (max-width: 1024px){.product__content .product__floating-header .product__floating-header-inner.no-text{margin-top:-1rem}}.product__content .product__floating-header .product__heading{margin-block:0 6px;font-size:28px;font-family:var(--standard-font-family-hero-new-semibold)}@container floating-header (width < 264px){.product__content .product__floating-header .product__heading{font-size:26px}}@container floating-header (width < 248px){.product__content .product__floating-header .product__heading{font-size:24px}}@container floating-header (width < 232px){.product__content .product__floating-header .product__heading{font-size:22px}}.product__content .product__floating-header .product__description{font-family:var(--standard-font-family-hero-new-semibold);max-width:180px}.product__content .product__floating-header .product__link{text-decoration:none;color:#fff}.product__content .product__floating-header .product__link img{display:block;width:42px;height:42px}@media (max-width: 1024px){.product__content .product__floating-header .product__link img{width:32px;height:32px}}.product__content .product__list{padding:0;margin:0;list-style:none}.product__content .product__list .product__list-item{display:flex;align-items:center;gap:16px}.product__content .product__list .product__list-item img{width:32px;height:32px}.product__content .product__list .product__list-item:not(:last-child){margin-bottom:28px}@media (max-width: 1024px){.product__content .product__list .product__list-item:not(:last-child){margin-bottom:14px}}@media (max-width: 1024px){.product__content{padding:26px}}.product.afplus .product__floating-header,.product.namEducation .product__floating-header{background-color:#124e57}.product.afplus .product__content .product__list .product__list-item img,.product.namEducation .product__content .product__list .product__list-item img{width:40px;height:40px}@media (max-width: 1024px){.product.afplus .product__content .product__list .product__list-item img,.product.namEducation .product__content .product__list .product__list-item img{width:32px;height:32px}}.product.myMoneyMatters .product__floating-header,.product.namDebt .product__floating-header{background-color:#ff531d}.product.myMoneyMatters .product__content,.product.namDebt .product__content{padding-bottom:25px}.product.myMoneyMatters .product__content .product__list .product__list-item:not(:last-child),.product.namDebt .product__content .product__list .product__list-item:not(:last-child){margin-bottom:16px}@media (max-width: 1024px){.product.myMoneyMatters .product__content .product__list .product__list-item:not(:last-child),.product.namDebt .product__content .product__list .product__list-item:not(:last-child){margin-bottom:14px}}.product.myMoneyMatters .product__free-text,.product.namDebt .product__free-text{margin-block:0 17px}@media (max-width: 1024px){.product.myMoneyMatters .product__free-text,.product.namDebt .product__free-text{margin-bottom:10px}}.product.advice .product__floating-header,.product.namJobs .product__floating-header,.product.will .product__floating-header,.product.education .product__floating-header{background-color:#f69521}.product.taxTim .product__floating-header{background-color:#124e57}.product.taxTim .product__floating-header h3.product__heading{min-height:78.25px}@container floating-header (width < 264px){.product.taxTim .product__floating-header h3.product__heading{min-height:72.75px}}@container floating-header (width < 248px){.product.taxTim .product__floating-header h3.product__heading{min-height:67.25px}}@container floating-header (width < 232px){.product.taxTim .product__floating-header h3.product__heading{min-height:60px}}.product.taxTim .product__content .product__list .product__list-item:not(:last-child){margin-bottom:16px}@media (max-width: 1024px){.product.taxTim .product__content .product__list .product__list-item:not(:last-child){margin-bottom:14px}}.product.wellTec .product__floating-header{background-color:#ff531d}.product.will h3.product__heading{white-space:nowrap}.product.rewards .product__floating-header{background-color:#f69521}.product.invest .product__floating-header{background-color:#f15a22}.product__bottom-cta{display:flex;align-items:center;margin-top:1.75rem;gap:1rem}@media (max-width: 1024px){.product__bottom-cta{margin-top:18px}}.product__bottom-cta span{color:#ff531d;font-weight:600}.product__bottom-cta a{display:block-inline;height:auto;width:1.5rem;background:var(--primary-orange-mobile-color);border-radius:50%;overflow:hidden}.product__bottom-cta a>img{display:block;width:1.5rem;height:1.5rem;transform:scale(1.5)}\n"] }]
38
+ }], propDecorators: { variant: [{
39
+ type: Input
40
+ }], navigateToProduct: [{
41
+ type: Output
42
+ }], linkClick: [{
43
+ type: Output
44
+ }] } });
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1zb2x1dGlvbnMtcHJvZHVjdC12Mi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZi1jb25uZWN0LWNvbXBvbmVudHMvc3JjL2xpYi9hZi1jb25uZWN0LXNvbHV0aW9ucy1wcm9kdWN0LXYyL2FmLWNvbm5lY3Qtc29sdXRpb25zLXByb2R1Y3QtdjIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1zb2x1dGlvbnMtcHJvZHVjdC12Mi9hZi1jb25uZWN0LXNvbHV0aW9ucy1wcm9kdWN0LXYyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsSUFBSSxFQUFzQixNQUFNLHdDQUF3QyxDQUFDOzs7O0FBUWxGLE1BQU0sT0FBTyxvQ0FBb0M7SUFMakQ7UUFNVSxhQUFRLEdBQXVCLFFBQVEsQ0FBQztRQVdoRCxpQ0FBNEIsR0FBRyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLENBQUMsaUNBQWlDO1FBQ3pHLDRCQUF1QixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUUvQixPQUFPLFdBQVcsR0FBRyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7Z0JBQ3RELENBQUMsQ0FBQyxxR0FBcUc7Z0JBQ3ZHLENBQUMsQ0FBQyxrRkFBa0YsQ0FBQztRQUN6RixDQUFDLENBQUMsQ0FBQztRQUdILHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFN0MsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7S0FVeEM7SUEvQkMsSUFDSSxPQUFPO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUF5QjtRQUNuQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBa0JELE9BQU87UUFDTCxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUNELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQzsrR0FqQ1Usb0NBQW9DO21HQUFwQyxvQ0FBb0MsZ2VDVGpELDZpRkE0RGM7OzRGRG5ERCxvQ0FBb0M7a0JBTGhELFNBQVM7K0JBQ0UscUNBQXFDOzhCQVEzQyxPQUFPO3NCQURWLEtBQUs7Z0JBbUJOLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFHUCxTQUFTO3NCQURSLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGNvbXB1dGVkLCBFdmVudEVtaXR0ZXIsIGlucHV0LCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGRhdGEsIFNvbHV0aW9uc1Byb2R1Y3RWMiB9IGZyb20gJy4vYWYtY29ubmVjdC1zb2x1dGlvbnMtcHJvZHVjdC12Mi5kYXRhJztcclxuaW1wb3J0IHsgU29sdWN0aW9uc1Byb2R1Y3REYXRhIGFzIFNvbHV0aW9uc1Byb2R1Y3REZXRhaWxzIH0gZnJvbSAnLi4vYWYtY29ubmVjdC1zb2x1dGlvbnMtcHJvZHVjdC9hZi1jb25uZWN0LXNvbHV0aW9ucy1wcm9kdWN0LmRhdGEnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWYtY29ubmVjdC1zb2x1dGlvbnMtcHJvZHVjdC12MicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FmLWNvbm5lY3Qtc29sdXRpb25zLXByb2R1Y3QtdjIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9hZi1jb25uZWN0LXNvbHV0aW9ucy1wcm9kdWN0LXYyLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQWZDb25uZWN0U29sdXRpb25zUHJvZHVjdFYyQ29tcG9uZW50IHtcclxuICBwcml2YXRlIF92YXJpYW50OiBTb2x1dGlvbnNQcm9kdWN0VjIgPSAnYWZwbHVzJztcclxuICBcclxuICBASW5wdXQoKVxyXG4gIGdldCB2YXJpYW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhcmlhbnQ7XHJcbiAgfVxyXG4gIHNldCB2YXJpYW50KHZhbHVlOiBTb2x1dGlvbnNQcm9kdWN0VjIpIHtcclxuICAgIHRoaXMuX3ZhcmlhbnQgPSB2YWx1ZTtcclxuICAgIHRoaXMuY29udGVudCA9IGRhdGFbdmFsdWVdO1xyXG4gIH1cclxuICBcclxuICB0YXhUaW1Qcm9tb0NvZGVFZmZlY3RpdmVGcm9tID0gaW5wdXQobmV3IERhdGUoJzIwMjctMDYtMzBUMjI6MDA6MDBaJykpOyAvLyBhY2NvdW50aW5nIGZvciB0aW1lem9uZSBvZmZzZXRcclxuICB0YXhUaW1Qcm9tb0NvZGVMaXN0SXRlbSA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICByZXR1cm4gY3VycmVudERhdGUgPCB0aGlzLnRheFRpbVByb21vQ29kZUVmZmVjdGl2ZUZyb20oKVxyXG4gICAgICA/ICdTYXZlIDMwJSB3aXRoIHlvdXIgZXhjbHVzaXZlIGVhcmx5IGJpcmQgY29kZSAtIDxzdHJvbmcgc3R5bGU9XCJjb2xvcjojMTU4MDhEO1wiPkFMRVhGT1JCRVMzMDwvc3Ryb25nPidcclxuICAgICAgOiAnVXNlIGNvZGUgPHN0cm9uZyBzdHlsZT1cImNvbG9yOiMxNTgwOEQ7XCI+QUxFWEZPUkJFUzI1PC9zdHJvbmc+IGFuZCBzYXZlIDI1JSB0b2RheSc7XHJcbiAgfSk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG5hdmlnYXRlVG9Qcm9kdWN0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKVxyXG4gIGxpbmtDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBjb250ZW50OiBQYXJ0aWFsPFNvbHV0aW9uc1Byb2R1Y3REZXRhaWxzPjtcclxuXHJcbiAgb25DbGljaygpIHtcclxuICAgIHRoaXMubmF2aWdhdGVUb1Byb2R1Y3QuZW1pdCgpO1xyXG4gIH1cclxuICBvbkxpbmtDbGljaygpIHtcclxuICAgIHRoaXMubGlua0NsaWNrLmVtaXQodGhpcy5fdmFyaWFudCk7XHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uIFtuZ0NsYXNzXT1cIlsncHJvZHVjdCcsIHZhcmlhbnRdXCI+XHJcbiAgPGRpdiBjbGFzcz1cInByb2R1Y3RfX2ltZy13cmFwcGVyXCI+XHJcbiAgICA8aW1nIGNsYXNzPVwicHJvZHVjdF9faW1nXCIgW3NyY109XCInL2Fzc2V0cy9pbWFnZXMvJyArIGNvbnRlbnQuaW1nV2ViXCI+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInByb2R1Y3RfX2NvbnRlbnRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0X19mbG9hdGluZy1oZWFkZXJcIj5cclxuICAgICAgPGgzIGNsYXNzPVwicHJvZHVjdF9faGVhZGluZ1wiPnt7IGNvbnRlbnQuaGVhZGluZyB9fTwvaDM+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0X19mbG9hdGluZy1oZWFkZXItaW5uZXJcIiBbY2xhc3Mubm8tdGV4dF09XCIhY29udGVudC5zdWJoZWFkaW5nXCI+XHJcbiAgICAgICAgQGlmICh2YXJpYW50ICE9PSAndGF4VGltJykge1xyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJwcm9kdWN0X19kZXNjcmlwdGlvblwiPnt7IGNvbnRlbnQuc3ViaGVhZGluZyAgfX08L3NwYW4+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9tZWRpYS50YXh0aW0uY29tL2ltYWdlcy90YXh0aW1fbG9nb19mb290ZXIuc3ZnXCIgYWx0PVwiVGF4VGltXCIgd2lkdGg9XCIxMDRweFwiPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8YSAqbmdJZj1cImNvbnRlbnQuY3RhTGluazsgZWxzZSBhbmNob3JUZW1wbGF0ZSBcIiBjbGFzcz1cInByb2R1Y3RfX2xpbmtcIiAoY2xpY2spPVwib25MaW5rQ2xpY2soKVwiIFtocmVmXT1cImNvbnRlbnQuY3RhTGlua1wiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgICAgPGltZyBbc3JjXT1cIicvYXNzZXRzL2ljb25zL2NoZXZyb24tcmlnaHQtcm91bmRlZC5zdmcnXCIgYWx0PVwiY2hldnJvblwiPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDx1bCBjbGFzcz1cInByb2R1Y3RfX2xpc3RcIj5cclxuICAgICAgQGlmIChjb250ZW50LmRlc2NyaXB0aW9uKSB7XHJcbiAgICAgIDxwIGNsYXNzPVwicHJvZHVjdF9fZnJlZS10ZXh0XCI+XHJcbiAgICAgICAge3sgY29udGVudC5kZXNjcmlwdGlvbiB9fVxyXG4gICAgICA8L3A+XHJcbiAgICAgIH1cclxuICAgICAgQGZvciAobGFiZWwgb2YgY29udGVudC5sYWJlbHM7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICA8bGkgY2xhc3M9XCJwcm9kdWN0X19saXN0LWl0ZW1cIj5cclxuICAgICAgICBAaWYgKGxhYmVsLmltZykge1xyXG4gICAgICAgIDxpbWcgW3NyY109XCInL2Fzc2V0cy9pY29ucy8nICsgbGFiZWwuaW1nXCIgd2lkdGg9XCI0MHB4XCI+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBlbHNlIHtcclxuICAgICAgICA8aW1nIFtzcmNdPVwiJy9hc3NldHMvaWNvbnMvY2hlY2ttYXJrLXRlYWwuc3ZnJ1wiIGFsdD1cImNoZWNrbWFya1wiIHdpZHRoPVwiMzJcIiBoZWlnaHQ9XCIzMlwiPlxyXG4gICAgICAgIH1cclxuICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImxhYmVsLnRleHQgfCBzYWZlSHRtbFwiPjwvc3Bhbj5cclxuICAgICAgPC9saT5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHZhcmlhbnQgPT09ICd0YXhUaW0nKSB7XHJcbiAgICAgIDxsaSBjbGFzcz1cInByb2R1Y3RfX2xpc3QtaXRlbVwiPlxyXG4gICAgICAgIDxpbWcgW3NyY109XCInL2Fzc2V0cy9pY29ucy9jaGVja21hcmstdGVhbC5zdmcnXCIgYWx0PVwiY2hlY2ttYXJrXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjMyXCI+XHJcbiAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJ0YXhUaW1Qcm9tb0NvZGVMaXN0SXRlbSgpIHwgc2FmZUh0bWxcIj48L3NwYW4+XHJcbiAgICAgIDwvbGk+XHJcbiAgICAgIH1cclxuICAgIDwvdWw+XHJcbiAgICBAaWYgKGNvbnRlbnQuYm90dG9tQ3RhVGl0bGUgJiYgY29udGVudC5ib3R0b21DdGFMaW5rKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9kdWN0X19ib3R0b20tY3RhXCI+XHJcbiAgICAgICAgPHNwYW4gPlxyXG4gICAgICAgIHt7IGNvbnRlbnQuYm90dG9tQ3RhVGl0bGUgfX1cclxuICAgICAgPC9zcGFuPlxyXG4gICAgICA8YSBjbGFzcz1cInByb2R1Y3RfX2xpbmtcIiAoY2xpY2spPVwib25MaW5rQ2xpY2soKVwiIFtocmVmXT1cImNvbnRlbnQuYm90dG9tQ3RhTGlua1wiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgICAgPGltZyBbc3JjXT1cIicvYXNzZXRzL2ljb25zL2NoZXZyb24tcmlnaHQtcm91bmRlZC5zdmcnXCIgYWx0PVwiY2hldnJvblwiPlxyXG4gICAgICAgIDwvYT5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjYW5jaG9yVGVtcGxhdGU+XHJcbiAgPGEgY2xhc3M9XCJwcm9kdWN0X19saW5rXCIgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiIChjbGljayk9XCJvbkNsaWNrKClcIj5cclxuICAgIDxpbWcgW3NyY109XCInL2Fzc2V0cy9pY29ucy9jaGV2cm9uLXJpZ2h0LXJvdW5kZWQuc3ZnJ1wiIGFsdD1cImNoZXZyb25cIj5cclxuICA8L2E+XHJcbjwvbmctdGVtcGxhdGU+Il19
@@ -0,0 +1,220 @@
1
+ export const data = {
2
+ 'afplus': {
3
+ heading: 'A F +',
4
+ imgWeb: 'solutions-afplus-v2.jpg',
5
+ subheading: 'Financial decisions with confidence',
6
+ ctaLink: 'https://plus.alexforbes.com/?utm_source=afwebsite&utm_campaign=AFWebsite&utm_medium=Web&utm_term=Explore&utm_content=Explore%20AF%2B%20solutions',
7
+ labels: [
8
+ {
9
+ img: 'price-tag-blue.svg',
10
+ text: 'Retailer discounts'
11
+ },
12
+ {
13
+ img: 'travel-blue.svg',
14
+ text: 'Travel and lifestyle'
15
+ },
16
+ {
17
+ img: 'basket-blue.svg',
18
+ text: 'Benefits'
19
+ },
20
+ ]
21
+ },
22
+ 'myMoneyMatters': {
23
+ heading: 'My money matters',
24
+ imgWeb: 'solutions-mmm-v2.jpg',
25
+ subheading: 'Get the most out of your money',
26
+ description: 'Explore My Money Matters Toolkit',
27
+ ctaLink: 'https://mymoneymatters.alexforbes.com/',
28
+ labels: [
29
+ {
30
+ text: 'Saving for emergencies'
31
+ },
32
+ {
33
+ text: 'Choose the right medical aid for your budget'
34
+ },
35
+ {
36
+ text: 'Avoid stress and manage your debt'
37
+ }
38
+ ]
39
+ },
40
+ 'advice': {
41
+ heading: 'Expert advice',
42
+ imgWeb: 'solutions-advice.jpg',
43
+ subheading: 'Plan your future with expert advice',
44
+ ctaLink: 'https://advice.alexforbes.com/index.html',
45
+ labels: [
46
+ {
47
+ text: 'Build a holistic financial plan'
48
+ },
49
+ {
50
+ text: 'Save for meaningful life goals'
51
+ },
52
+ {
53
+ text: 'Partner with your own financial adviser'
54
+ }
55
+ ]
56
+ },
57
+ 'namEducation': {
58
+ heading: 'Member Education Matters',
59
+ imgWeb: 'nam_s4u_pier.png',
60
+ description: 'Key financial topics to help you make informed decisions.',
61
+ labels: [
62
+ {
63
+ text: 'Understand retirement savings and benefit options'
64
+ },
65
+ {
66
+ text: 'Learn how to manage debt and improve financial wellness'
67
+ },
68
+ {
69
+ text: 'Get guidance on insurance and financial protection'
70
+ }
71
+ ]
72
+ },
73
+ 'namDebt': {
74
+ heading: 'Managing Debt Wisely',
75
+ imgWeb: 'nam_s4u_sunset_tree.png',
76
+ description: 'Simple ways to reduce dept and improve your finances.',
77
+ labels: [
78
+ {
79
+ text: 'Understand your credit score and overall debt risk'
80
+ },
81
+ {
82
+ text: 'Pay more toward high-interest debt to reduce it faster'
83
+ },
84
+ {
85
+ text: 'Create a repayment plan and review it regularly'
86
+ }
87
+ ]
88
+ },
89
+ 'namJobs': {
90
+ heading: 'Changing Jobs?',
91
+ imgWeb: 'nam_s4u_broadwalk.png',
92
+ subheading: 'Keep your retirement savings invested',
93
+ description: 'Maintain emergency savings and adequate insurance.',
94
+ labels: [
95
+ {
96
+ text: 'Contribute as much as possible'
97
+ },
98
+ {
99
+ text: 'Manage debt wisely'
100
+ },
101
+ {
102
+ text: 'Consult a financial adviser for guidance'
103
+ }
104
+ ]
105
+ },
106
+ 'taxTim': {
107
+ imgWeb: 'solutions-taxtim.jpg',
108
+ heading: 'Tax made easy',
109
+ description: 'Simplified tax filing, exclusive value for Alexforbes members.',
110
+ ctaLink: 'https://www.taxtim.com/za/get-started?210',
111
+ labels: [
112
+ {
113
+ text: 'Guided digital help with your tax return'
114
+ },
115
+ {
116
+ text: 'Smart prompts ensure accuracy and completeness of your return'
117
+ },
118
+ {
119
+ text: 'Seamless integration with SARS eFilling for direct submission'
120
+ },
121
+ // {
122
+ // text: 'Use code <strong style="color:#15808D;">ALEXFORBES25</strong> and save 25% today'
123
+ // }
124
+ ]
125
+ },
126
+ 'wellTec': {
127
+ heading: 'Take control of your debt',
128
+ imgWeb: 'solutions-welltec.jpg',
129
+ description: 'In partnership with Welltec, we make debt management simple.',
130
+ ctaLink: 'https://welltec.co.za',
131
+ labels: [
132
+ {
133
+ text: 'Get a free credit report and improve your credit profile'
134
+ },
135
+ {
136
+ text: 'Reduce what you owe through negotiated settlement discounts'
137
+ },
138
+ {
139
+ text: 'Consolidate multiple debts into one simple, manageable repayment'
140
+ },
141
+ {
142
+ text: 'Start your journey to financial health today'
143
+ }
144
+ ]
145
+ },
146
+ 'will': {
147
+ heading: 'Will and Testament',
148
+ imgWeb: 'solutions-will.jpg',
149
+ subheading: 'Don’t leave your family in a really awkward position',
150
+ description: 'Have a will written - Alexforbes can help you with.',
151
+ labels: [
152
+ {
153
+ text: 'Drafting of local and international wills'
154
+ },
155
+ {
156
+ text: 'Executorships and administration of deceased estates'
157
+ },
158
+ {
159
+ text: 'Formation and administration of charitable trusts, inter vivo trusts and testamentary trusts'
160
+ }
161
+ ]
162
+ },
163
+ 'education': {
164
+ heading: 'Member education matters',
165
+ imgWeb: 'solutions-will.jpg',
166
+ description: 'Key financial topics to help you make informed decisions.',
167
+ ctaLink: 'https://mymoneymatters.alexforbes.com/',
168
+ labels: [
169
+ {
170
+ text: 'Understand retirement savings and benefit options'
171
+ },
172
+ {
173
+ text: 'Learn how to manage debt and improve financial wellness'
174
+ },
175
+ {
176
+ text: 'Get guidance on insurance and financial protection'
177
+ }
178
+ ]
179
+ },
180
+ 'rewards': {
181
+ heading: 'AF Rewards – save on loved brands',
182
+ imgWeb: 'solutions-rewards.png',
183
+ description: 'Exclusive discounts and lifestyle benefits from leading brands, all in one place.',
184
+ ctaLink: 'https://rewards.alexforbes.com/landingpage',
185
+ labels: [
186
+ {
187
+ text: 'Airtime & data deals – stay connected on discounted airtime/data deals'
188
+ },
189
+ {
190
+ text: 'Supermarket savings on groceries and household essentials'
191
+ },
192
+ {
193
+ text: 'Travel deals – discounted rates on holiday deals'
194
+ },
195
+ {
196
+ text: 'Wellness benefits – wellbeing vouchers at discounted rates'
197
+ }
198
+ ]
199
+ },
200
+ 'invest': {
201
+ heading: 'Start investing today',
202
+ description: 'A smarter, simpler way to invest and grow your wealth over time.',
203
+ imgWeb: 'solutions-invest.jpg',
204
+ ctaLink: 'https://online.invest.alexforbes.com/Advice/ProductSelection',
205
+ labels: [
206
+ {
207
+ text: 'Consolidate your existing investment with our award winning digital platform'
208
+ },
209
+ {
210
+ text: 'Apply without paperwork'
211
+ },
212
+ {
213
+ text: 'Get online Digital-advice'
214
+ }
215
+ ],
216
+ bottomCtaTitle: 'Get a free quote now',
217
+ bottomCtaLink: 'https://online.invest.alexforbes.com/Advice/ProductSelection'
218
+ }
219
+ };
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1zb2x1dGlvbnMtcHJvZHVjdC12Mi5kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1zb2x1dGlvbnMtcHJvZHVjdC12Mi9hZi1jb25uZWN0LXNvbHV0aW9ucy1wcm9kdWN0LXYyLmRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsTUFBTSxDQUFDLE1BQU0sSUFBSSxHQUErRDtJQUM5RSxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsT0FBTztRQUNoQixNQUFNLEVBQUUseUJBQXlCO1FBQ2pDLFVBQVUsRUFBRSxxQ0FBcUM7UUFDakQsT0FBTyxFQUFFLGtKQUFrSjtRQUMzSixNQUFNLEVBQUU7WUFDTjtnQkFDRSxHQUFHLEVBQUUsb0JBQW9CO2dCQUN6QixJQUFJLEVBQUUsb0JBQW9CO2FBQzNCO1lBQ0Q7Z0JBQ0UsR0FBRyxFQUFFLGlCQUFpQjtnQkFDdEIsSUFBSSxFQUFFLHNCQUFzQjthQUM3QjtZQUNEO2dCQUNFLEdBQUcsRUFBRSxpQkFBaUI7Z0JBQ3RCLElBQUksRUFBRSxVQUFVO2FBQ2pCO1NBQ0Y7S0FDRjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixVQUFVLEVBQUUsZ0NBQWdDO1FBQzVDLFdBQVcsRUFBRSxrQ0FBa0M7UUFDL0MsT0FBTyxFQUFFLHdDQUF3QztRQUNqRCxNQUFNLEVBQUU7WUFDTjtnQkFDRSxJQUFJLEVBQUUsd0JBQXdCO2FBQy9CO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLDhDQUE4QzthQUNyRDtZQUNEO2dCQUNFLElBQUksRUFBRSxtQ0FBbUM7YUFDMUM7U0FDRjtLQUNGO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLGVBQWU7UUFDeEIsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixV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LG9EQUFvRDthQUMzRDtTQUNGO0tBQ0Y7SUFDRCxTQUFTLEVBQUU7UUFDVCxPQUFPLEVBQUUsbUNBQW1DO1FBQzVDLE1BQU0sRUFBRSx1QkFBdUI7UUFDL0IsV0FBVyxFQUFFLG1GQUFtRjtRQUNoRyxPQUFPLEVBQUUsNENBQTRDO1FBQ3JELE1BQU0sRUFBQztZQUNMO2dCQUNFLElBQUksRUFBRSx3RUFBd0U7YUFDL0U7WUFDRDtnQkFDRSxJQUFJLEVBQUUsMkRBQTJEO2FBQ2xFO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLGtEQUFrRDthQUN6RDtZQUNEO2dCQUNFLElBQUksRUFBRSw0REFBNEQ7YUFDbkU7U0FDRjtLQUNGO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsT0FBTyxFQUFFLHVCQUF1QjtRQUNoQyxXQUFXLEVBQUUsa0VBQWtFO1FBQy9FLE1BQU0sRUFBRSxzQkFBc0I7UUFDOUIsT0FBTyxFQUFFLDhEQUE4RDtRQUN2RSxNQUFNLEVBQUM7WUFDTDtnQkFDRSxJQUFJLEVBQUUsOEVBQThFO2FBQ3JGO1lBQ0Q7Z0JBQ0UsSUFBSSxFQUFFLHlCQUF5QjthQUNoQztZQUNEO2dCQUNFLElBQUksRUFBRSwyQkFBMkI7YUFDbEM7U0FDRjtRQUNELGNBQWMsRUFBRSxzQkFBc0I7UUFDdEMsYUFBYSxFQUFFLDhEQUE4RDtLQUM5RTtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTb2x1Y3Rpb25zUHJvZHVjdERhdGEgfSBmcm9tICcuLi9hZi1jb25uZWN0LXNvbHV0aW9ucy1wcm9kdWN0L2FmLWNvbm5lY3Qtc29sdXRpb25zLXByb2R1Y3QuZGF0YSc7XHJcblxyXG5leHBvcnQgdHlwZSBTb2x1dGlvbnNQcm9kdWN0VjIgPSAnbXlNb25leU1hdHRlcnMnIHwgJ2FmcGx1cycgfCAnYWR2aWNlJyB8ICduYW1FZHVjYXRpb24nIHwgJ25hbURlYnQnIHwgJ25hbUpvYnMnIHwgJ3RheFRpbScgfCAnd2VsbFRlYycgfCAnd2lsbCcgfCAnZWR1Y2F0aW9uJyB8ICdyZXdhcmRzJyB8ICdpbnZlc3QnO1xyXG5cclxuZXhwb3J0IGNvbnN0IGRhdGE6IFJlY29yZDxTb2x1dGlvbnNQcm9kdWN0VjIsIFBhcnRpYWw8U29sdWN0aW9uc1Byb2R1Y3REYXRhPj4gPSB7XHJcbiAgJ2FmcGx1cyc6IHtcclxuICAgIGhlYWRpbmc6ICdBIEYgKycsXHJcbiAgICBpbWdXZWI6ICdzb2x1dGlvbnMtYWZwbHVzLXYyLmpwZycsXHJcbiAgICBzdWJoZWFkaW5nOiAnRmluYW5jaWFsIGRlY2lzaW9ucyB3aXRoIGNvbmZpZGVuY2UnLFxyXG4gICAgY3RhTGluazogJ2h0dHBzOi8vcGx1cy5hbGV4Zm9yYmVzLmNvbS8/dXRtX3NvdXJjZT1hZndlYnNpdGUmdXRtX2NhbXBhaWduPUFGV2Vic2l0ZSZ1dG1fbWVkaXVtPVdlYiZ1dG1fdGVybT1FeHBsb3JlJnV0bV9jb250ZW50PUV4cGxvcmUlMjBBRiUyQiUyMHNvbHV0aW9ucycsXHJcbiAgICBsYWJlbHM6IFtcclxuICAgICAge1xyXG4gICAgICAgIGltZzogJ3ByaWNlLXRhZy1ibHVlLnN2ZycsXHJcbiAgICAgICAgdGV4dDogJ1JldGFpbGVyIGRpc2NvdW50cydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGltZzogJ3RyYXZlbC1ibHVlLnN2ZycsXHJcbiAgICAgICAgdGV4dDogJ1RyYXZlbCBhbmQgbGlmZXN0eWxlJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgaW1nOiAnYmFza2V0LWJsdWUuc3ZnJyxcclxuICAgICAgICB0ZXh0OiAnQmVuZWZpdHMnXHJcbiAgICAgIH0sXHJcbiAgICBdXHJcbiAgfSxcclxuICAnbXlNb25leU1hdHRlcnMnOiB7XHJcbiAgICBoZWFkaW5nOiAnTXkgbW9uZXkgbWF0dGVycycsXHJcbiAgICBpbWdXZWI6ICdzb2x1dGlvbnMtbW1tLXYyLmpwZycsXHJcbiAgICBzdWJoZWFkaW5nOiAnR2V0IHRoZSBtb3N0IG91dCBvZiB5b3VyIG1vbmV5JyxcclxuICAgIGRlc2NyaXB0aW9uOiAnRXhwbG9yZSBNeSBNb25leSBNYXR0ZXJzIFRvb2xraXQnLFxyXG4gICAgY3RhTGluazogJ2h0dHBzOi8vbXltb25leW1hdHRlcnMuYWxleGZvcmJlcy5jb20vJyxcclxuICAgIGxhYmVsczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1NhdmluZyBmb3IgZW1lcmdlbmNpZXMnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnQ2hvb3NlIHRoZSByaWdodCBtZWRpY2FsIGFpZCBmb3IgeW91ciBidWRnZXQnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnQXZvaWQgc3RyZXNzIGFuZCBtYW5hZ2UgeW91ciBkZWJ0J1xyXG4gICAgICB9XHJcbiAgICBdXHJcbiAgfSxcclxuICAnYWR2aWNlJzoge1xyXG4gICAgaGVhZGluZzogJ0V4cGVydCBhZHZpY2UnLFxyXG4gICAgaW1nV2ViOiAnc29sdXRpb25zLWFkdmljZS5qcGcnLFxyXG4gICAgc3ViaGVhZGluZzogJ1BsYW4geW91ciBmdXR1cmUgd2l0aCBleHBlcnQgYWR2aWNlJyxcclxuICAgIGN0YUxpbms6ICdodHRwczovL2FkdmljZS5hbGV4Zm9yYmVzLmNvbS9pbmRleC5odG1sJyxcclxuICAgIGxhYmVsczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0J1aWxkIGEgaG9saXN0aWMgZmluYW5jaWFsIHBsYW4nXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnU2F2ZSBmb3IgbWVhbmluZ2Z1bCBsaWZlIGdvYWxzJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1BhcnRuZXIgd2l0aCB5b3VyIG93biBmaW5hbmNpYWwgYWR2aXNlcidcclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH0sXHJcbiAgJ25hbUVkdWNhdGlvbic6IHtcclxuICAgIGhlYWRpbmc6ICdNZW1iZXIgRWR1Y2F0aW9uIE1hdHRlcnMnLFxyXG4gICAgaW1nV2ViOiAnbmFtX3M0dV9waWVyLnBuZycsXHJcbiAgICBkZXNjcmlwdGlvbjogJ0tleSBmaW5hbmNpYWwgdG9waWNzIHRvIGhlbHAgeW91IG1ha2UgaW5mb3JtZWQgZGVjaXNpb25zLicsXHJcbiAgICBsYWJlbHM6IFtcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdVbmRlcnN0YW5kIHJldGlyZW1lbnQgc2F2aW5ncyBhbmQgYmVuZWZpdCBvcHRpb25zJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0xlYXJuIGhvdyB0byBtYW5hZ2UgZGVidCBhbmQgaW1wcm92ZSBmaW5hbmNpYWwgd2VsbG5lc3MnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnR2V0IGd1aWRhbmNlIG9uIGluc3VyYW5jZSBhbmQgZmluYW5jaWFsIHByb3RlY3Rpb24nXHJcbiAgICAgIH1cclxuICAgIF1cclxuICB9LFxyXG4gICduYW1EZWJ0Jzoge1xyXG4gICAgaGVhZGluZzogJ01hbmFnaW5nIERlYnQgV2lzZWx5JyxcclxuICAgIGltZ1dlYjogJ25hbV9zNHVfc3Vuc2V0X3RyZWUucG5nJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnU2ltcGxlIHdheXMgdG8gcmVkdWNlIGRlcHQgYW5kIGltcHJvdmUgeW91ciBmaW5hbmNlcy4nLFxyXG4gICAgbGFiZWxzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnVW5kZXJzdGFuZCB5b3VyIGNyZWRpdCBzY29yZSBhbmQgb3ZlcmFsbCBkZWJ0IHJpc2snXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnUGF5IG1vcmUgdG93YXJkIGhpZ2gtaW50ZXJlc3QgZGVidCB0byByZWR1Y2UgaXQgZmFzdGVyJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0NyZWF0ZSBhIHJlcGF5bWVudCBwbGFuIGFuZCByZXZpZXcgaXQgcmVndWxhcmx5J1xyXG4gICAgICB9XHJcbiAgICBdXHJcbiAgfSxcclxuICAnbmFtSm9icyc6IHtcclxuICAgIGhlYWRpbmc6ICdDaGFuZ2luZyBKb2JzPycsXHJcbiAgICBpbWdXZWI6ICduYW1fczR1X2Jyb2Fkd2Fsay5wbmcnLFxyXG4gICAgc3ViaGVhZGluZzogJ0tlZXAgeW91ciByZXRpcmVtZW50IHNhdmluZ3MgaW52ZXN0ZWQnLFxyXG4gICAgZGVzY3JpcHRpb246ICdNYWludGFpbiBlbWVyZ2VuY3kgc2F2aW5ncyBhbmQgYWRlcXVhdGUgaW5zdXJhbmNlLicsXHJcbiAgICBsYWJlbHM6IFtcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdDb250cmlidXRlIGFzIG11Y2ggYXMgcG9zc2libGUnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnTWFuYWdlIGRlYnQgd2lzZWx5J1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0NvbnN1bHQgYSBmaW5hbmNpYWwgYWR2aXNlciBmb3IgZ3VpZGFuY2UnXHJcbiAgICAgIH1cclxuICAgIF1cclxuICB9LFxyXG4gICd0YXhUaW0nOiB7XHJcbiAgICBpbWdXZWI6ICdzb2x1dGlvbnMtdGF4dGltLmpwZycsXHJcbiAgICBoZWFkaW5nOiAnVGF4IG1hZGUgZWFzeScsXHJcbiAgICBkZXNjcmlwdGlvbjogJ1NpbXBsaWZpZWQgdGF4IGZpbGluZywgZXhjbHVzaXZlIHZhbHVlIGZvciBBbGV4Zm9yYmVzIG1lbWJlcnMuJyxcclxuICAgIGN0YUxpbms6ICdodHRwczovL3d3dy50YXh0aW0uY29tL3phL2dldC1zdGFydGVkPzIxMCcsXHJcbiAgICBsYWJlbHM6IFtcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdHdWlkZWQgZGlnaXRhbCBoZWxwIHdpdGggeW91ciB0YXggcmV0dXJuJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1NtYXJ0IHByb21wdHMgZW5zdXJlIGFjY3VyYWN5IGFuZCBjb21wbGV0ZW5lc3Mgb2YgeW91ciByZXR1cm4nXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnU2VhbWxlc3MgaW50ZWdyYXRpb24gd2l0aCBTQVJTIGVGaWxsaW5nIGZvciBkaXJlY3Qgc3VibWlzc2lvbidcclxuICAgICAgfSxcclxuICAgICAgLy8ge1xyXG4gICAgICAvLyAgIHRleHQ6ICdVc2UgY29kZSA8c3Ryb25nIHN0eWxlPVwiY29sb3I6IzE1ODA4RDtcIj5BTEVYRk9SQkVTMjU8L3N0cm9uZz4gYW5kIHNhdmUgMjUlIHRvZGF5J1xyXG4gICAgICAvLyB9XHJcbiAgICBdXHJcbiAgfSxcclxuICAnd2VsbFRlYyc6IHtcclxuICAgIGhlYWRpbmc6ICdUYWtlIGNvbnRyb2wgb2YgeW91ciBkZWJ0JyxcclxuICAgIGltZ1dlYjogJ3NvbHV0aW9ucy13ZWxsdGVjLmpwZycsXHJcbiAgICBkZXNjcmlwdGlvbjogJ0luIHBhcnRuZXJzaGlwIHdpdGggV2VsbHRlYywgd2UgbWFrZSBkZWJ0IG1hbmFnZW1lbnQgc2ltcGxlLicsXHJcbiAgICBjdGFMaW5rOiAnaHR0cHM6Ly93ZWxsdGVjLmNvLnphJyxcclxuICAgIGxhYmVsczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0dldCBhIGZyZWUgY3JlZGl0IHJlcG9ydCBhbmQgaW1wcm92ZSB5b3VyIGNyZWRpdCBwcm9maWxlJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1JlZHVjZSB3aGF0IHlvdSBvd2UgdGhyb3VnaCBuZWdvdGlhdGVkIHNldHRsZW1lbnQgZGlzY291bnRzJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0NvbnNvbGlkYXRlIG11bHRpcGxlIGRlYnRzIGludG8gb25lIHNpbXBsZSwgbWFuYWdlYWJsZSByZXBheW1lbnQnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnU3RhcnQgeW91ciBqb3VybmV5IHRvIGZpbmFuY2lhbCBoZWFsdGggdG9kYXknXHJcbiAgICAgIH1cclxuICAgIF1cclxuICB9LFxyXG4gICd3aWxsJzoge1xyXG4gICAgaGVhZGluZzogJ1dpbGwgYW5kIFRlc3RhbWVudCcsXHJcbiAgICBpbWdXZWI6ICdzb2x1dGlvbnMtd2lsbC5qcGcnLFxyXG4gICAgc3ViaGVhZGluZzogJ0RvbuKAmXQgbGVhdmUgeW91ciBmYW1pbHkgaW4gYSByZWFsbHkgYXdrd2FyZCBwb3NpdGlvbicsXHJcbiAgICBkZXNjcmlwdGlvbjogJ0hhdmUgYSB3aWxsIHdyaXR0ZW4gLSBBbGV4Zm9yYmVzIGNhbiBoZWxwIHlvdSB3aXRoLicsXHJcbiAgICBsYWJlbHM6IFtcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdEcmFmdGluZyBvZiBsb2NhbCBhbmQgaW50ZXJuYXRpb25hbCB3aWxscydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdFeGVjdXRvcnNoaXBzIGFuZCBhZG1pbmlzdHJhdGlvbiBvZiBkZWNlYXNlZCBlc3RhdGVzJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0Zvcm1hdGlvbiBhbmQgYWRtaW5pc3RyYXRpb24gb2YgY2hhcml0YWJsZSB0cnVzdHMsIGludGVyIHZpdm8gdHJ1c3RzIGFuZCB0ZXN0YW1lbnRhcnkgdHJ1c3RzJ1xyXG4gICAgICB9XHJcbiAgICBdXHJcbiAgfSxcclxuICAnZWR1Y2F0aW9uJzoge1xyXG4gICAgaGVhZGluZzogJ01lbWJlciBlZHVjYXRpb24gbWF0dGVycycsXHJcbiAgICBpbWdXZWI6ICdzb2x1dGlvbnMtd2lsbC5qcGcnLFxyXG4gICAgZGVzY3JpcHRpb246ICdLZXkgZmluYW5jaWFsIHRvcGljcyB0byBoZWxwIHlvdSBtYWtlIGluZm9ybWVkIGRlY2lzaW9ucy4nLFxyXG4gICAgY3RhTGluazogJ2h0dHBzOi8vbXltb25leW1hdHRlcnMuYWxleGZvcmJlcy5jb20vJyxcclxuICAgIGxhYmVsczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1VuZGVyc3RhbmQgcmV0aXJlbWVudCBzYXZpbmdzIGFuZCBiZW5lZml0IG9wdGlvbnMnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnTGVhcm4gaG93IHRvIG1hbmFnZSBkZWJ0IGFuZCBpbXByb3ZlIGZpbmFuY2lhbCB3ZWxsbmVzcydcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdHZXQgZ3VpZGFuY2Ugb24gaW5zdXJhbmNlIGFuZCBmaW5hbmNpYWwgcHJvdGVjdGlvbidcclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH0sXHJcbiAgJ3Jld2FyZHMnIDp7XHJcbiAgICBoZWFkaW5nOiAnQUYgUmV3YXJkcyDigJMgc2F2ZSBvbiBsb3ZlZCBicmFuZHMnLFxyXG4gICAgaW1nV2ViOiAnc29sdXRpb25zLXJld2FyZHMucG5nJyxcclxuICAgIGRlc2NyaXB0aW9uOiAnRXhjbHVzaXZlIGRpc2NvdW50cyBhbmQgbGlmZXN0eWxlIGJlbmVmaXRzIGZyb20gbGVhZGluZyBicmFuZHMsIGFsbCBpbiBvbmUgcGxhY2UuJyxcclxuICAgIGN0YUxpbms6ICdodHRwczovL3Jld2FyZHMuYWxleGZvcmJlcy5jb20vbGFuZGluZ3BhZ2UnLFxyXG4gICAgbGFiZWxzOltcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdBaXJ0aW1lICYgZGF0YSBkZWFscyDigJMgc3RheSBjb25uZWN0ZWQgb24gZGlzY291bnRlZCBhaXJ0aW1lL2RhdGEgZGVhbHMnXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0ZXh0OiAnU3VwZXJtYXJrZXQgc2F2aW5ncyBvbiBncm9jZXJpZXMgYW5kIGhvdXNlaG9sZCBlc3NlbnRpYWxzJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1RyYXZlbCBkZWFscyDigJMgZGlzY291bnRlZCByYXRlcyBvbiBob2xpZGF5IGRlYWxzJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ1dlbGxuZXNzIGJlbmVmaXRzIOKAkyB3ZWxsYmVpbmcgdm91Y2hlcnMgYXQgZGlzY291bnRlZCByYXRlcydcclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH0sXHJcbiAgJ2ludmVzdCcgOntcclxuICAgIGhlYWRpbmc6ICdTdGFydCBpbnZlc3RpbmcgdG9kYXknLFxyXG4gICAgZGVzY3JpcHRpb246ICdBIHNtYXJ0ZXIsIHNpbXBsZXIgd2F5IHRvIGludmVzdCBhbmQgZ3JvdyB5b3VyIHdlYWx0aCBvdmVyIHRpbWUuJyxcclxuICAgIGltZ1dlYjogJ3NvbHV0aW9ucy1pbnZlc3QuanBnJyxcclxuICAgIGN0YUxpbms6ICdodHRwczovL29ubGluZS5pbnZlc3QuYWxleGZvcmJlcy5jb20vQWR2aWNlL1Byb2R1Y3RTZWxlY3Rpb24nLFxyXG4gICAgbGFiZWxzOltcclxuICAgICAge1xyXG4gICAgICAgIHRleHQ6ICdDb25zb2xpZGF0ZSB5b3VyIGV4aXN0aW5nIGludmVzdG1lbnQgd2l0aCBvdXIgYXdhcmQgd2lubmluZyBkaWdpdGFsIHBsYXRmb3JtJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0FwcGx5IHdpdGhvdXQgcGFwZXJ3b3JrJ1xyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGV4dDogJ0dldCBvbmxpbmUgRGlnaXRhbC1hZHZpY2UnXHJcbiAgICAgIH1cclxuICAgIF0sXHJcbiAgICBib3R0b21DdGFUaXRsZTogJ0dldCBhIGZyZWUgcXVvdGUgbm93JyxcclxuICAgIGJvdHRvbUN0YUxpbms6ICdodHRwczovL29ubGluZS5pbnZlc3QuYWxleGZvcmJlcy5jb20vQWR2aWNlL1Byb2R1Y3RTZWxlY3Rpb24nXHJcbiAgfVxyXG59OyJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/common";
4
+ export class AfConnectSvgButtonComponent {
5
+ constructor() {
6
+ this.size = 'none';
7
+ this.clickBtn = new EventEmitter();
8
+ }
9
+ ngOnInit() { }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectSvgButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AfConnectSvgButtonComponent, selector: "lib-af-connect-svg-button", inputs: { src: "src", emitValue: "emitValue", customSize: "customSize", size: "size" }, outputs: { clickBtn: "clickBtn" }, ngImport: i0, template: "<img\r\n [class]=\"['svg', size]\"\r\n [ngStyle]=\"{ width: customSize, height: customSize }\"\r\n (click)=\"this.clickBtn.emit(emitValue)\"\r\n [src]=\"src\"\r\n/>\r\n", styles: [":host{display:flex;justify-content:center;align-items:center}img{background:none;border:none;padding:0;cursor:pointer}.svg.small{width:14px;height:14px}.svg.medium{width:30px;height:30px}@media (max-width: 768px){.svg.medium{width:20px;height:20px}}.svg.large{width:42px;height:42px}@media (max-width: 1024px){.svg.large.large{width:32px;height:32px}}@media (max-width: 1024px){:host(.external-info) img{width:14px;height:14px}}@media (max-width: 1024px){:host(.external-investments) img{width:16px;height:16px}}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectSvgButtonComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'lib-af-connect-svg-button', template: "<img\r\n [class]=\"['svg', size]\"\r\n [ngStyle]=\"{ width: customSize, height: customSize }\"\r\n (click)=\"this.clickBtn.emit(emitValue)\"\r\n [src]=\"src\"\r\n/>\r\n", styles: [":host{display:flex;justify-content:center;align-items:center}img{background:none;border:none;padding:0;cursor:pointer}.svg.small{width:14px;height:14px}.svg.medium{width:30px;height:30px}@media (max-width: 768px){.svg.medium{width:20px;height:20px}}.svg.large{width:42px;height:42px}@media (max-width: 1024px){.svg.large.large{width:32px;height:32px}}@media (max-width: 1024px){:host(.external-info) img{width:14px;height:14px}}@media (max-width: 1024px){:host(.external-investments) img{width:16px;height:16px}}\n"] }]
16
+ }], ctorParameters: () => [], propDecorators: { src: [{
17
+ type: Input
18
+ }], emitValue: [{
19
+ type: Input
20
+ }], customSize: [{
21
+ type: Input
22
+ }], size: [{
23
+ type: Input
24
+ }], clickBtn: [{
25
+ type: Output
26
+ }] } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1zdmctYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FmLWNvbm5lY3QtY29tcG9uZW50cy9zcmMvbGliL2FmLWNvbm5lY3Qtc3ZnLWJ1dHRvbi9hZi1jb25uZWN0LXN2Zy1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1zdmctYnV0dG9uL2FmLWNvbm5lY3Qtc3ZnLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFRL0UsTUFBTSxPQUFPLDJCQUEyQjtJQU90QztRQUhTLFNBQUksR0FBMEMsTUFBTSxDQUFDO1FBRXBELGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBaUIsQ0FBQztJQUN4QyxDQUFDO0lBRWhCLFFBQVEsS0FBVSxDQUFDOytHQVRSLDJCQUEyQjttR0FBM0IsMkJBQTJCLDRMQ1J4Qyw4S0FNQTs7NEZERWEsMkJBQTJCO2tCQUx2QyxTQUFTOytCQUNFLDJCQUEyQjt3REFLNUIsR0FBRztzQkFBWCxLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBRUksUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRW1pdFZhbHVlIH0gZnJvbSAnLi4vY29uc3RhbnRzL2Jhc2UuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFmLWNvbm5lY3Qtc3ZnLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FmLWNvbm5lY3Qtc3ZnLWJ1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWYtY29ubmVjdC1zdmctYnV0dG9uLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFmQ29ubmVjdFN2Z0J1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgc3JjOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZW1pdFZhbHVlOiBFbWl0VmFsdWU7XHJcbiAgQElucHV0KCkgY3VzdG9tU2l6ZTogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNpemU6ICdsYXJnZScgfCAnbWVkaXVtJyB8ICdzbWFsbCcgfCAnbm9uZScgPSAnbm9uZSc7XHJcblxyXG4gIEBPdXRwdXQoKSBjbGlja0J0biA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge31cclxufVxyXG4iLCI8aW1nXHJcbiAgW2NsYXNzXT1cIlsnc3ZnJywgc2l6ZV1cIlxyXG4gIFtuZ1N0eWxlXT1cInsgd2lkdGg6IGN1c3RvbVNpemUsIGhlaWdodDogY3VzdG9tU2l6ZSB9XCJcclxuICAoY2xpY2spPVwidGhpcy5jbGlja0J0bi5lbWl0KGVtaXRWYWx1ZSlcIlxyXG4gIFtzcmNdPVwic3JjXCJcclxuLz5cclxuIl19
@@ -0,0 +1,20 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AfConnectTabComponent {
4
+ constructor() {
5
+ this.isActive = false;
6
+ }
7
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectTabComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
8
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AfConnectTabComponent, selector: "lib-af-connect-tab", inputs: { label: "label", isActive: "isActive", tabButtons: "tabButtons" }, ngImport: i0, template: "<div [hidden]=\"!isActive\">\r\n <ng-content></ng-content>\r\n </div>\r\n ", styles: [""] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectTabComponent, decorators: [{
11
+ type: Component,
12
+ args: [{ selector: 'lib-af-connect-tab', template: "<div [hidden]=\"!isActive\">\r\n <ng-content></ng-content>\r\n </div>\r\n " }]
13
+ }], propDecorators: { label: [{
14
+ type: Input
15
+ }], isActive: [{
16
+ type: Input
17
+ }], tabButtons: [{
18
+ type: Input
19
+ }] } });
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC10YWIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC10YWIvYWYtY29ubmVjdC10YWIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC10YWIvYWYtY29ubmVjdC10YWIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWUsTUFBTSxlQUFlLENBQUM7O0FBTTlELE1BQU0sT0FBTyxxQkFBcUI7SUFMbEM7UUFPVyxhQUFRLEdBQVksS0FBSyxDQUFDO0tBRXBDOytHQUpZLHFCQUFxQjttR0FBckIscUJBQXFCLHNJQ05sQyxpRkFHRTs7NEZER1cscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLG9CQUFvQjs4QkFLckIsS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFmLWNvbm5lY3QtdGFiJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWYtY29ubmVjdC10YWIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FmLWNvbm5lY3QtdGFiLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFmQ29ubmVjdFRhYkNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZztcclxuICBASW5wdXQoKSBpc0FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRhYkJ1dHRvbnM6IFRlbXBsYXRlUmVmPGFueT47XHJcbn1cclxuIiwiPGRpdiBbaGlkZGVuXT1cIiFpc0FjdGl2ZVwiPlxyXG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gIDwvZGl2PlxyXG4gICJdfQ==
@@ -0,0 +1,11 @@
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AfConnectTableComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AfConnectTableComponent, selector: "lib-af-connect-table", ngImport: i0, template: "<p>af-connect-table works!</p>\r\n", styles: [""] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectTableComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'lib-af-connect-table', template: "<p>af-connect-table works!</p>\r\n" }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZi1jb25uZWN0LWNvbXBvbmVudHMvc3JjL2xpYi9hZi1jb25uZWN0LXRhYmxlL2FmLWNvbm5lY3QtdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC10YWJsZS9hZi1jb25uZWN0LXRhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjttR0FBdkIsdUJBQXVCLDREQ1BwQyxvQ0FDQTs7NEZETWEsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWYtY29ubmVjdC10YWJsZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FmLWNvbm5lY3QtdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FmLWNvbm5lY3QtdGFibGUuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWZDb25uZWN0VGFibGVDb21wb25lbnQge1xyXG5cclxufVxyXG4iLCI8cD5hZi1jb25uZWN0LXRhYmxlIHdvcmtzITwvcD5cclxuIl19
@@ -0,0 +1,87 @@
1
+ import { Component, ContentChildren, ElementRef, ViewChild, ViewChildren, Output, EventEmitter, Input, ChangeDetectionStrategy } from '@angular/core';
2
+ import { debounceTime, fromEvent, Subscription } from 'rxjs';
3
+ import { AfConnectTabComponent } from '../af-connect-tab/af-connect-tab.component';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@angular/common";
6
+ export class AfConnectTabsComponent {
7
+ constructor(cdr) {
8
+ this.cdr = cdr;
9
+ this.subs = new Subscription();
10
+ this.activeTabSelected = new EventEmitter();
11
+ }
12
+ ngOnDestroy() {
13
+ this.subs.unsubscribe();
14
+ }
15
+ ngOnInit() {
16
+ this.subs.add(fromEvent(window, 'resize')
17
+ .pipe(debounceTime(50))
18
+ .subscribe(() => {
19
+ this.triggerSlider(this.activeTabIndex);
20
+ }));
21
+ }
22
+ ngAfterContentChecked() {
23
+ if (!this.selectedTabIndex) {
24
+ const activeTab = this.tabs.find((tab) => tab.isActive);
25
+ if (!activeTab) {
26
+ const firstTab = this.tabs.first;
27
+ firstTab.isActive = true;
28
+ this.activeTabIndex = 0;
29
+ this.activeTabSelected.emit(0);
30
+ }
31
+ }
32
+ else {
33
+ this.setActiveLabel();
34
+ }
35
+ }
36
+ ngAfterViewChecked() {
37
+ if (!this.activeTabIndex) {
38
+ this.triggerSlider(0);
39
+ }
40
+ }
41
+ get activeTab() {
42
+ return this.tabs.find((tab) => tab.isActive) || this.tabs.first;
43
+ }
44
+ activateTab(selectedTab, index) {
45
+ this.tabs.forEach((tab) => {
46
+ tab.isActive = tab === selectedTab;
47
+ });
48
+ this.activeTabIndex = index;
49
+ this.triggerSlider(index);
50
+ this.activeTabSelected.emit(index);
51
+ }
52
+ triggerSlider(i) {
53
+ const activeTabRef = this.tabsRefs.get(i);
54
+ this.slider.nativeElement.style.left = `${activeTabRef?.nativeElement.offsetLeft}px`;
55
+ this.slider.nativeElement.style.width = `${activeTabRef?.nativeElement.offsetWidth}px`;
56
+ }
57
+ setActiveLabel() {
58
+ this.tabs.find((tab, i) => {
59
+ const foundTab = i === this.selectedTabIndex;
60
+ if (foundTab) {
61
+ this.activeTabIndex = i;
62
+ tab.isActive = true;
63
+ }
64
+ return foundTab;
65
+ });
66
+ }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectTabsComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
68
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AfConnectTabsComponent, selector: "lib-af-connect-tabs", inputs: { selectedTabIndex: "selectedTabIndex" }, outputs: { activeTabSelected: "activeTabSelected" }, queries: [{ propertyName: "tabs", predicate: AfConnectTabComponent }], viewQueries: [{ propertyName: "slider", first: true, predicate: ["slider"], descendants: true, read: ElementRef }, { propertyName: "tabsRefs", predicate: ["tab"], descendants: true, read: ElementRef }], ngImport: i0, template: "<nav class=\"tabs-nav\">\r\n <ul class=\"nav-list\">\r\n <li #tab *ngFor=\"let tab of tabs; let i = index\" class=\"nav-item\" [class.active]=\"tab.isActive\">\r\n <button class=\"nav-button\" (click)=\"activateTab(tab, i)\">\r\n {{ tab.label }}\r\n </button>\r\n </li>\r\n <span #slider class=\"slider\"></span>\r\n </ul>\r\n <div class=\"nav-action-buttons\">\r\n <ng-container [ngTemplateOutlet]=\"activeTab.tabButtons\"></ng-container>\r\n </div>\r\n </nav>\r\n <ng-content></ng-content>\r\n ", styles: [":host{width:100%}.tabs-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;border-bottom:1px solid var(--primary-dark-teal-color)}@media (max-width: 768px){.tabs-nav{flex-direction:column;margin-bottom:.625rem;border:none}}.nav-list{display:flex;position:relative;margin:0;padding:0;list-style-type:none}.nav-list .slider{position:absolute;bottom:0;border-top-width:1px;border-color:var(--primary-dark-teal-color);border-top-style:solid;transition-property:left,width;transition-duration:.25s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.nav-list{margin-right:auto;justify-content:space-between;width:80%;max-width:320px;border-bottom:1px solid var(--light-grey-color)}.nav-list .nav-item .nav-button{padding-inline:1.25rem}.nav-list .slider{border-color:var(--primary-orange-mobile-color)}}.nav-item{position:relative}.nav-item:first-child .nav-button{padding-right:1.75rem}.nav-item:not(:first-child) .nav-button{padding-inline:1.75rem}.nav-item.active .nav-button{color:var(--primary-dark-teal-color);text-shadow:0px 0px 1px var(--primary-dark-teal-color)}@media (max-width: 768px){.nav-item.active .nav-button{text-shadow:none}}.nav-button{display:block;background:none;border:none;height:100%;padding:1.5rem 0;font-family:var(--standard-font-family-hero-new);font-size:1rem;color:var(--secondary-space-color);cursor:pointer}@media (max-width: 768px){.nav-button{padding-block:.375rem;font-size:.875rem;font-family:var(--standard-font-family-hero-new-semibold);color:var(--primary-dark-teal-color)}}.nav-action-buttons{display:flex;justify-content:flex-end;gap:1rem;min-width:25%}@media (max-width: 768px){.nav-action-buttons{align-self:flex-end;padding-top:1.125rem;max-width:100px;min-width:auto}}@media (max-width: 1024px){.nav-action-buttons{max-width:200px}}:host(.mobile-claim-info-tabs) .nav-list{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectTabsComponent, decorators: [{
71
+ type: Component,
72
+ args: [{ selector: 'lib-af-connect-tabs', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav class=\"tabs-nav\">\r\n <ul class=\"nav-list\">\r\n <li #tab *ngFor=\"let tab of tabs; let i = index\" class=\"nav-item\" [class.active]=\"tab.isActive\">\r\n <button class=\"nav-button\" (click)=\"activateTab(tab, i)\">\r\n {{ tab.label }}\r\n </button>\r\n </li>\r\n <span #slider class=\"slider\"></span>\r\n </ul>\r\n <div class=\"nav-action-buttons\">\r\n <ng-container [ngTemplateOutlet]=\"activeTab.tabButtons\"></ng-container>\r\n </div>\r\n </nav>\r\n <ng-content></ng-content>\r\n ", styles: [":host{width:100%}.tabs-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.75rem;border-bottom:1px solid var(--primary-dark-teal-color)}@media (max-width: 768px){.tabs-nav{flex-direction:column;margin-bottom:.625rem;border:none}}.nav-list{display:flex;position:relative;margin:0;padding:0;list-style-type:none}.nav-list .slider{position:absolute;bottom:0;border-top-width:1px;border-color:var(--primary-dark-teal-color);border-top-style:solid;transition-property:left,width;transition-duration:.25s;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.nav-list{margin-right:auto;justify-content:space-between;width:80%;max-width:320px;border-bottom:1px solid var(--light-grey-color)}.nav-list .nav-item .nav-button{padding-inline:1.25rem}.nav-list .slider{border-color:var(--primary-orange-mobile-color)}}.nav-item{position:relative}.nav-item:first-child .nav-button{padding-right:1.75rem}.nav-item:not(:first-child) .nav-button{padding-inline:1.75rem}.nav-item.active .nav-button{color:var(--primary-dark-teal-color);text-shadow:0px 0px 1px var(--primary-dark-teal-color)}@media (max-width: 768px){.nav-item.active .nav-button{text-shadow:none}}.nav-button{display:block;background:none;border:none;height:100%;padding:1.5rem 0;font-family:var(--standard-font-family-hero-new);font-size:1rem;color:var(--secondary-space-color);cursor:pointer}@media (max-width: 768px){.nav-button{padding-block:.375rem;font-size:.875rem;font-family:var(--standard-font-family-hero-new-semibold);color:var(--primary-dark-teal-color)}}.nav-action-buttons{display:flex;justify-content:flex-end;gap:1rem;min-width:25%}@media (max-width: 768px){.nav-action-buttons{align-self:flex-end;padding-top:1.125rem;max-width:100px;min-width:auto}}@media (max-width: 1024px){.nav-action-buttons{max-width:200px}}:host(.mobile-claim-info-tabs) .nav-list{width:100%}\n"] }]
73
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { tabs: [{
74
+ type: ContentChildren,
75
+ args: [AfConnectTabComponent]
76
+ }], slider: [{
77
+ type: ViewChild,
78
+ args: ['slider', { read: ElementRef }]
79
+ }], tabsRefs: [{
80
+ type: ViewChildren,
81
+ args: ['tab', { read: ElementRef }]
82
+ }], selectedTabIndex: [{
83
+ type: Input
84
+ }], activeTabSelected: [{
85
+ type: Output
86
+ }] } });
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC10YWJzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FmLWNvbm5lY3QtY29tcG9uZW50cy9zcmMvbGliL2FmLWNvbm5lY3QtdGFicy9hZi1jb25uZWN0LXRhYnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC10YWJzL2FmLWNvbm5lY3QtdGFicy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULGVBQWUsRUFDZixVQUFVLEVBRVYsU0FBUyxFQUNULFlBQVksRUFFWixNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCx1QkFBdUIsRUFFeEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDOzs7QUFRbkYsTUFBTSxPQUFPLHNCQUFzQjtJQU9qQyxZQUFtQixHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUZsQyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU12QixzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBSmIsQ0FBQztJQU03QyxXQUFXO1FBQ1QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUNYLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO2FBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7YUFDdEIsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElB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TTtzRkFHUCxJQUFJO3NCQUEzQyxlQUFlO3VCQUFDLHFCQUFxQjtnQkFDSyxNQUFNO3NCQUFoRCxTQUFTO3VCQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQ0UsUUFBUTtzQkFBbEQsWUFBWTt1QkFBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFO2dCQU1oQyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBRUksaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ29udGVudENoaWxkcmVuLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgUXVlcnlMaXN0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgZGVib3VuY2VUaW1lLCBmcm9tRXZlbnQsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBBZkNvbm5lY3RUYWJDb21wb25lbnQgfSBmcm9tICcuLi9hZi1jb25uZWN0LXRhYi9hZi1jb25uZWN0LXRhYi5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYWYtY29ubmVjdC10YWJzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWYtY29ubmVjdC10YWJzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZi1jb25uZWN0LXRhYnMuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQWZDb25uZWN0VGFic0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgQENvbnRlbnRDaGlsZHJlbihBZkNvbm5lY3RUYWJDb21wb25lbnQpIHRhYnM6IFF1ZXJ5TGlzdDxBZkNvbm5lY3RUYWJDb21wb25lbnQ+O1xyXG4gIEBWaWV3Q2hpbGQoJ3NsaWRlcicsIHsgcmVhZDogRWxlbWVudFJlZiB9KSBzbGlkZXI6IEVsZW1lbnRSZWY8SFRNTFNwYW5FbGVtZW50PjtcclxuICBAVmlld0NoaWxkcmVuKCd0YWInLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSkgdGFic1JlZnM6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxMSUVsZW1lbnQ+PjtcclxuICBwdWJsaWMgYWN0aXZlVGFiSW5kZXg6IG51bWJlcjtcclxuICBwdWJsaWMgc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XHJcblxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkVGFiSW5kZXg6IG51bWJlcjtcclxuXHJcbiAgQE91dHB1dCgpIGFjdGl2ZVRhYlNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3Vicy5hZGQoXHJcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdyZXNpemUnKVxyXG4gICAgICAgIC5waXBlKGRlYm91bmNlVGltZSg1MCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRyaWdnZXJTbGlkZXIodGhpcy5hY3RpdmVUYWJJbmRleCk7XHJcbiAgICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudENoZWNrZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuc2VsZWN0ZWRUYWJJbmRleCkge1xyXG4gICAgICBjb25zdCBhY3RpdmVUYWIgPSB0aGlzLnRhYnMuZmluZCgodGFiKSA9PiB0YWIuaXNBY3RpdmUpO1xyXG4gICAgICBpZiAoIWFjdGl2ZVRhYikge1xyXG4gICAgICAgIGNvbnN0IGZpcnN0VGFiID0gdGhpcy50YWJzLmZpcnN0O1xyXG4gICAgICAgIGZpcnN0VGFiLmlzQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gMDtcclxuICAgICAgICB0aGlzLmFjdGl2ZVRhYlNlbGVjdGVkLmVtaXQoMCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2V0QWN0aXZlTGFiZWwoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3Q2hlY2tlZCgpIHtcclxuICAgIGlmICghdGhpcy5hY3RpdmVUYWJJbmRleCkge1xyXG4gICAgICB0aGlzLnRyaWdnZXJTbGlkZXIoMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgYWN0aXZlVGFiKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudGFicy5maW5kKCh0YWIpID0+IHRhYi5pc0FjdGl2ZSkgfHwgdGhpcy50YWJzLmZpcnN0O1xyXG4gIH1cclxuXHJcbiAgYWN0aXZhdGVUYWIoc2VsZWN0ZWRUYWI6IEFmQ29ubmVjdFRhYkNvbXBvbmVudCwgaW5kZXg6IG51bWJlcikge1xyXG4gICAgdGhpcy50YWJzLmZvckVhY2goKHRhYikgPT4ge1xyXG4gICAgICB0YWIuaXNBY3RpdmUgPSB0YWIgPT09IHNlbGVjdGVkVGFiO1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gaW5kZXg7XHJcbiAgICB0aGlzLnRyaWdnZXJTbGlkZXIoaW5kZXgpO1xyXG4gICAgdGhpcy5hY3RpdmVUYWJTZWxlY3RlZC5lbWl0KGluZGV4KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdHJpZ2dlclNsaWRlcihpOiBudW1iZXIpIHtcclxuICAgIGNvbnN0IGFjdGl2ZVRhYlJlZiA9IHRoaXMudGFic1JlZnMuZ2V0KGkpO1xyXG4gICAgdGhpcy5zbGlkZXIubmF0aXZlRWxlbWVudC5zdHlsZS5sZWZ0ID0gYCR7YWN0aXZlVGFiUmVmPy5uYXRpdmVFbGVtZW50Lm9mZnNldExlZnR9cHhgO1xyXG4gICAgdGhpcy5zbGlkZXIubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IGAke2FjdGl2ZVRhYlJlZj8ubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aH1weGA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEFjdGl2ZUxhYmVsKCkge1xyXG4gICAgdGhpcy50YWJzLmZpbmQoKHRhYiwgaSkgPT4ge1xyXG4gICAgICBjb25zdCBmb3VuZFRhYiA9IGkgPT09IHRoaXMuc2VsZWN0ZWRUYWJJbmRleDtcclxuICAgICAgaWYgKGZvdW5kVGFiKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IGk7XHJcbiAgICAgICAgdGFiLmlzQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZm91bmRUYWI7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPG5hdiBjbGFzcz1cInRhYnMtbmF2XCI+XHJcbiAgICA8dWwgY2xhc3M9XCJuYXYtbGlzdFwiPlxyXG4gICAgICA8bGkgI3RhYiAqbmdGb3I9XCJsZXQgdGFiIG9mIHRhYnM7IGxldCBpID0gaW5kZXhcIiBjbGFzcz1cIm5hdi1pdGVtXCIgW2NsYXNzLmFjdGl2ZV09XCJ0YWIuaXNBY3RpdmVcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwibmF2LWJ1dHRvblwiIChjbGljayk9XCJhY3RpdmF0ZVRhYih0YWIsIGkpXCI+XHJcbiAgICAgICAgICB7eyB0YWIubGFiZWwgfX1cclxuICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgPC9saT5cclxuICAgICAgPHNwYW4gI3NsaWRlciBjbGFzcz1cInNsaWRlclwiPjwvc3Bhbj5cclxuICAgIDwvdWw+XHJcbiAgICA8ZGl2IGNsYXNzPVwibmF2LWFjdGlvbi1idXR0b25zXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYWN0aXZlVGFiLnRhYkJ1dHRvbnNcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmF2PlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAiXX0=