@affinda/wc 0.0.7 → 0.0.8

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 (218) hide show
  1. package/dist/affinda/af-button.entry.esm.js.map +1 -1
  2. package/dist/affinda/af-card.entry.esm.js.map +1 -1
  3. package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -0
  4. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
  5. package/dist/affinda/af-hero-section.entry.esm.js.map +1 -0
  6. package/dist/affinda/af-logo-well.entry.esm.js.map +1 -0
  7. package/dist/affinda/af-section.entry.esm.js.map +1 -0
  8. package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +1 -1
  9. package/dist/affinda/affinda.css +1 -1
  10. package/dist/affinda/affinda.esm.js +1 -1
  11. package/dist/affinda/index.esm.js +1 -1
  12. package/dist/affinda/p-0c4a30a4.entry.js +2 -0
  13. package/dist/affinda/p-0c4a30a4.entry.js.map +1 -0
  14. package/dist/affinda/p-0fb55acf.entry.js +2 -0
  15. package/dist/affinda/{p-56284540.entry.js.map → p-0fb55acf.entry.js.map} +1 -1
  16. package/dist/affinda/p-10288f13.entry.js +2 -0
  17. package/dist/affinda/p-10288f13.entry.js.map +1 -0
  18. package/dist/affinda/p-13c30dd8.entry.js +2 -0
  19. package/dist/affinda/p-13c30dd8.entry.js.map +1 -0
  20. package/dist/affinda/{p-c8628633.entry.js → p-23aedaa4.entry.js} +2 -2
  21. package/dist/affinda/{p-eff7eff1.entry.js → p-39e917eb.entry.js} +2 -2
  22. package/dist/affinda/{p-16c84e60.entry.js → p-430127fa.entry.js} +2 -2
  23. package/dist/affinda/{p-43324b6d.entry.js → p-45d0f3e3.entry.js} +2 -2
  24. package/dist/affinda/p-45d0f3e3.entry.js.map +1 -0
  25. package/dist/affinda/{p-f53b4847.entry.js → p-46edc753.entry.js} +2 -2
  26. package/dist/affinda/{p-32f46944.entry.js → p-56a15842.entry.js} +2 -2
  27. package/dist/affinda/p-7c115698.entry.js +2 -0
  28. package/dist/affinda/p-7c115698.entry.js.map +1 -0
  29. package/dist/affinda/p-867c5141.entry.js +2 -0
  30. package/dist/affinda/{p-UbNmjSSX.js → p-Agei6ZJQ.js} +3 -3
  31. package/dist/affinda/p-Agei6ZJQ.js.map +1 -0
  32. package/dist/affinda/{p-750a694b.entry.js → p-d7ff9fd9.entry.js} +2 -2
  33. package/dist/affinda/{p-9e5bef28.entry.js → p-e2c40f4e.entry.js} +2 -2
  34. package/dist/affinda/{p-9e5bef28.entry.js.map → p-e2c40f4e.entry.js.map} +1 -1
  35. package/dist/affinda/p-e56182e4.entry.js +2 -0
  36. package/dist/affinda/p-e56182e4.entry.js.map +1 -0
  37. package/dist/affinda/{p-66daadde.entry.js → p-f6f2f1c4.entry.js} +2 -2
  38. package/dist/cjs/af-aspect-ratio.cjs.entry.js +1 -1
  39. package/dist/cjs/af-button-group.cjs.entry.js +2 -2
  40. package/dist/cjs/af-button.cjs.entry.js +7 -2
  41. package/dist/cjs/af-button.entry.cjs.js.map +1 -1
  42. package/dist/cjs/af-card.cjs.entry.js +3 -3
  43. package/dist/cjs/af-card.entry.cjs.js.map +1 -1
  44. package/dist/cjs/af-client-carousel.cjs.entry.js +22 -0
  45. package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -0
  46. package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
  47. package/dist/cjs/af-container.cjs.entry.js +1 -1
  48. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
  49. package/dist/cjs/af-heading_5.cjs.entry.js +22 -12
  50. package/dist/cjs/af-hero-section.cjs.entry.js +24 -0
  51. package/dist/cjs/af-hero-section.entry.cjs.js.map +1 -0
  52. package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
  53. package/dist/cjs/af-logo-well.cjs.entry.js +18 -0
  54. package/dist/cjs/af-logo-well.entry.cjs.js.map +1 -0
  55. package/dist/cjs/af-section.cjs.entry.js +25 -0
  56. package/dist/cjs/af-section.entry.cjs.js.map +1 -0
  57. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +4 -4
  58. package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +1 -1
  59. package/dist/cjs/af-testimonial-stat.cjs.entry.js +2 -2
  60. package/dist/cjs/af-testimonial.cjs.entry.js +2 -2
  61. package/dist/cjs/af-typography-lockup.cjs.entry.js +2 -2
  62. package/dist/cjs/affinda.cjs.js +2 -2
  63. package/dist/cjs/{index-CNijn8X5.js → index-D_ItFcqt.js} +3 -3
  64. package/dist/cjs/index-D_ItFcqt.js.map +1 -0
  65. package/dist/cjs/index.cjs.js +1 -1
  66. package/dist/cjs/loader.cjs.js +2 -2
  67. package/dist/collection/assets/paperclip-decoration.svg +3 -0
  68. package/dist/collection/collection-manifest.json +4 -0
  69. package/dist/collection/components/af-button/af-button.js +26 -1
  70. package/dist/collection/components/af-button/af-button.js.map +1 -1
  71. package/dist/collection/components/af-button-group/af-button-group.js +1 -1
  72. package/dist/collection/components/af-card/af-card.css +10 -7
  73. package/dist/collection/components/af-card/af-card.js +1 -1
  74. package/dist/collection/components/af-client-carousel/af-client-carousel.css +112 -0
  75. package/dist/collection/components/af-client-carousel/af-client-carousel.js +72 -0
  76. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -0
  77. package/dist/collection/components/af-heading/af-heading.css +9 -0
  78. package/dist/collection/components/af-heading/af-heading.js +26 -3
  79. package/dist/collection/components/af-heading/af-heading.js.map +1 -1
  80. package/dist/collection/components/af-hero-section/af-hero-section.css +69 -0
  81. package/dist/collection/components/af-hero-section/af-hero-section.js +94 -0
  82. package/dist/collection/components/af-hero-section/af-hero-section.js.map +1 -0
  83. package/dist/collection/components/af-logo/af-logo.js +1 -1
  84. package/dist/collection/components/af-logo-well/af-logo-well.css +27 -0
  85. package/dist/collection/components/af-logo-well/af-logo-well.js +22 -0
  86. package/dist/collection/components/af-logo-well/af-logo-well.js.map +1 -0
  87. package/dist/collection/components/af-navbar/af-navbar.css +40 -3
  88. package/dist/collection/components/af-navbar/af-navbar.js +13 -1
  89. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
  90. package/dist/collection/components/af-section/af-section.css +52 -0
  91. package/dist/collection/components/af-section/af-section.js +95 -0
  92. package/dist/collection/components/af-section/af-section.js.map +1 -0
  93. package/dist/collection/components/af-testimonial/af-testimonial.js +1 -1
  94. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.css +3 -2
  95. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +2 -2
  96. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  97. package/dist/collection/components/af-text/af-text.css +9 -0
  98. package/dist/collection/components/af-text/af-text.js +26 -3
  99. package/dist/collection/components/af-text/af-text.js.map +1 -1
  100. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +1 -1
  101. package/dist/components/af-aspect-ratio.js +1 -1
  102. package/dist/components/af-button-group.js +1 -1
  103. package/dist/components/af-button.js +1 -1
  104. package/dist/components/af-card.js +3 -3
  105. package/dist/components/af-card.js.map +1 -1
  106. package/dist/components/af-client-carousel.d.ts +11 -0
  107. package/dist/components/af-client-carousel.js +45 -0
  108. package/dist/components/af-client-carousel.js.map +1 -0
  109. package/dist/components/af-color-swatch.js +1 -1
  110. package/dist/components/af-container.js +1 -1
  111. package/dist/components/af-heading.js +1 -1
  112. package/dist/components/af-hero-section.d.ts +11 -0
  113. package/dist/components/af-hero-section.js +53 -0
  114. package/dist/components/af-hero-section.js.map +1 -0
  115. package/dist/components/af-icon-button.js +1 -1
  116. package/dist/components/af-logo-well.d.ts +11 -0
  117. package/dist/components/af-logo-well.js +38 -0
  118. package/dist/components/af-logo-well.js.map +1 -0
  119. package/dist/components/af-logo.js +1 -1
  120. package/dist/components/af-nav-item.js +1 -1
  121. package/dist/components/af-navbar.js +1 -1
  122. package/dist/components/af-section.d.ts +11 -0
  123. package/dist/components/af-section.js +54 -0
  124. package/dist/components/af-section.js.map +1 -0
  125. package/dist/components/af-testimonial-carousel.js +4 -4
  126. package/dist/components/af-testimonial-carousel.js.map +1 -1
  127. package/dist/components/af-testimonial-stat.js +2 -2
  128. package/dist/components/af-testimonial.js +2 -2
  129. package/dist/components/af-text.js +1 -1
  130. package/dist/components/af-typography-lockup.js +1 -1
  131. package/dist/components/index.js +13 -13
  132. package/dist/components/{p-Bxv9iL3G.js → p-BMl1ggbQ.js} +3 -3
  133. package/dist/components/{p-Bxv9iL3G.js.map → p-BMl1ggbQ.js.map} +1 -1
  134. package/dist/components/{p-KtmLxy7z.js → p-BSewwIfD.js} +3 -3
  135. package/dist/components/{p-KtmLxy7z.js.map → p-BSewwIfD.js.map} +1 -1
  136. package/dist/components/{p-Bdy85P7Z.js → p-BeQlNDyY.js} +4 -4
  137. package/dist/components/{p-Bdy85P7Z.js.map → p-BeQlNDyY.js.map} +1 -1
  138. package/dist/components/{p-DPooX_NW.js → p-BpXkQGDQ.js} +3 -3
  139. package/dist/components/{p-DPooX_NW.js.map → p-BpXkQGDQ.js.map} +1 -1
  140. package/dist/components/{p-C0zUdiRs.js → p-C1C1Him5.js} +12 -8
  141. package/dist/components/p-C1C1Him5.js.map +1 -0
  142. package/dist/components/{p-Cfj594pp.js → p-CUr7n62X.js} +3 -3
  143. package/dist/components/{p-Cfj594pp.js.map → p-CUr7n62X.js.map} +1 -1
  144. package/dist/components/{p-ChRDoPDm.js → p-CZlTvZAm.js} +3 -3
  145. package/dist/components/p-CZlTvZAm.js.map +1 -0
  146. package/dist/components/{p-D021PjqL.js → p-CcNomA2o.js} +11 -5
  147. package/dist/components/p-CcNomA2o.js.map +1 -0
  148. package/dist/components/p-Csie_upq.js +41 -0
  149. package/dist/components/p-Csie_upq.js.map +1 -0
  150. package/dist/components/{p-CLA_jBiH.js → p-D4NomvK5.js} +4 -4
  151. package/dist/components/{p-CLA_jBiH.js.map → p-D4NomvK5.js.map} +1 -1
  152. package/dist/components/{p-BuySFAGS.js → p-Vu-NeL7U.js} +12 -8
  153. package/dist/components/p-Vu-NeL7U.js.map +1 -0
  154. package/dist/components/{p-C4sw-kYH.js → p-sJI0-JlJ.js} +4 -4
  155. package/dist/components/{p-C4sw-kYH.js.map → p-sJI0-JlJ.js.map} +1 -1
  156. package/dist/components/{p-XAy0kGYd.js → p-tFlyM2Th.js} +3 -3
  157. package/dist/components/{p-XAy0kGYd.js.map → p-tFlyM2Th.js.map} +1 -1
  158. package/dist/esm/af-aspect-ratio.entry.js +1 -1
  159. package/dist/esm/af-button-group.entry.js +2 -2
  160. package/dist/esm/af-button.entry.js +7 -2
  161. package/dist/esm/af-button.entry.js.map +1 -1
  162. package/dist/esm/af-card.entry.js +3 -3
  163. package/dist/esm/af-card.entry.js.map +1 -1
  164. package/dist/esm/af-client-carousel.entry.js +20 -0
  165. package/dist/esm/af-client-carousel.entry.js.map +1 -0
  166. package/dist/esm/af-color-swatch.entry.js +1 -1
  167. package/dist/esm/af-container.entry.js +1 -1
  168. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
  169. package/dist/esm/af-heading_5.entry.js +22 -12
  170. package/dist/esm/af-hero-section.entry.js +22 -0
  171. package/dist/esm/af-hero-section.entry.js.map +1 -0
  172. package/dist/esm/af-icon-button.entry.js +1 -1
  173. package/dist/esm/af-logo-well.entry.js +16 -0
  174. package/dist/esm/af-logo-well.entry.js.map +1 -0
  175. package/dist/esm/af-section.entry.js +23 -0
  176. package/dist/esm/af-section.entry.js.map +1 -0
  177. package/dist/esm/af-testimonial-carousel.entry.js +4 -4
  178. package/dist/esm/af-testimonial-carousel.entry.js.map +1 -1
  179. package/dist/esm/af-testimonial-stat.entry.js +2 -2
  180. package/dist/esm/af-testimonial.entry.js +2 -2
  181. package/dist/esm/af-typography-lockup.entry.js +2 -2
  182. package/dist/esm/affinda.js +3 -3
  183. package/dist/esm/{index-UbNmjSSX.js → index-Agei6ZJQ.js} +3 -3
  184. package/dist/esm/index-Agei6ZJQ.js.map +1 -0
  185. package/dist/esm/index.js +1 -1
  186. package/dist/esm/loader.js +3 -3
  187. package/dist/types/components/af-button/af-button.d.ts +4 -0
  188. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +10 -0
  189. package/dist/types/components/af-heading/af-heading.d.ts +2 -0
  190. package/dist/types/components/af-hero-section/af-hero-section.d.ts +12 -0
  191. package/dist/types/components/af-logo-well/af-logo-well.d.ts +6 -0
  192. package/dist/types/components/af-navbar/af-navbar.d.ts +3 -0
  193. package/dist/types/components/af-section/af-section.d.ts +12 -0
  194. package/dist/types/components/af-text/af-text.d.ts +2 -0
  195. package/dist/types/components.d.ts +214 -0
  196. package/package.json +13 -9
  197. package/dist/affinda/p-43324b6d.entry.js.map +0 -1
  198. package/dist/affinda/p-56284540.entry.js +0 -2
  199. package/dist/affinda/p-9c0b3380.entry.js +0 -2
  200. package/dist/affinda/p-UbNmjSSX.js.map +0 -1
  201. package/dist/affinda/p-fedaec5a.entry.js +0 -2
  202. package/dist/affinda/p-fedaec5a.entry.js.map +0 -1
  203. package/dist/cjs/index-CNijn8X5.js.map +0 -1
  204. package/dist/components/p-BuySFAGS.js.map +0 -1
  205. package/dist/components/p-C0zUdiRs.js.map +0 -1
  206. package/dist/components/p-CJccTfm5.js +0 -35
  207. package/dist/components/p-CJccTfm5.js.map +0 -1
  208. package/dist/components/p-ChRDoPDm.js.map +0 -1
  209. package/dist/components/p-D021PjqL.js.map +0 -1
  210. package/dist/esm/index-UbNmjSSX.js.map +0 -1
  211. /package/dist/affinda/{p-c8628633.entry.js.map → p-23aedaa4.entry.js.map} +0 -0
  212. /package/dist/affinda/{p-eff7eff1.entry.js.map → p-39e917eb.entry.js.map} +0 -0
  213. /package/dist/affinda/{p-16c84e60.entry.js.map → p-430127fa.entry.js.map} +0 -0
  214. /package/dist/affinda/{p-f53b4847.entry.js.map → p-46edc753.entry.js.map} +0 -0
  215. /package/dist/affinda/{p-32f46944.entry.js.map → p-56a15842.entry.js.map} +0 -0
  216. /package/dist/affinda/{p-9c0b3380.entry.js.map → p-867c5141.entry.js.map} +0 -0
  217. /package/dist/affinda/{p-750a694b.entry.js.map → p-d7ff9fd9.entry.js.map} +0 -0
  218. /package/dist/affinda/{p-66daadde.entry.js.map → p-f6f2f1c4.entry.js.map} +0 -0
@@ -8,7 +8,7 @@ var afButton_entry = require('./af-button.cjs.entry.js');
8
8
  var afIconButton_entry = require('./af-icon-button.cjs.entry.js');
9
9
  var afButtonGroup_entry = require('./af-button-group.cjs.entry.js');
10
10
  var afTypographyLockup_entry = require('./af-typography-lockup.cjs.entry.js');
11
- require('./index-CNijn8X5.js');
11
+ require('./index-D_ItFcqt.js');
12
12
 
13
13
 
14
14
 
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CNijn8X5.js');
3
+ var index = require('./index-D_ItFcqt.js');
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await index.globalScripts();
8
- return index.bootstrapLazy([["af-heading_5.cjs",[[257,"af-heading",{"level":[1],"align":[1]}],[257,"af-logo"],[257,"af-nav-item",{"hierarchy":[1],"variant":[1],"href":[1],"active":[4]}],[257,"af-navbar"],[257,"af-text",{"variant":[1],"align":[1],"as":[1]}]]],["af-aspect-ratio.cjs",[[257,"af-aspect-ratio",{"ratio":[1]}]]],["af-button.cjs",[[257,"af-button",{"variant":[1],"size":[1],"disabled":[4],"href":[1],"type":[1]}]]],["af-button-group.cjs",[[257,"af-button-group",{"direction":[1],"gap":[1]}]]],["af-card.cjs",[[262,"af-card",{"backgroundImage":[1,"background-image"],"backgroundColor":[1,"background-color"],"darkOverlay":[4,"dark-overlay"]}]]],["af-color-swatch.cjs",[[257,"af-color-swatch",{"color":[1],"name":[1],"size":[1]}]]],["af-container.cjs",[[257,"af-container",{"maxWidth":[1,"max-width"]}]]],["af-icon-button.cjs",[[257,"af-icon-button",{"variant":[1],"size":[1],"disabled":[4],"href":[1],"type":[1],"ariaLabel":[1,"aria-label"]}]]],["af-testimonial.cjs",[[262,"af-testimonial",{"backgroundImage":[1,"background-image"],"logoImage":[1,"logo-image"],"quote":[1],"attribution":[1],"readMoreLink":[1,"read-more-link"]}]]],["af-testimonial-carousel.cjs",[[262,"af-testimonial-carousel",{"currentIndex":[32],"isAnimating":[32],"testimonialCount":[32]}]]],["af-testimonial-stat.cjs",[[258,"af-testimonial-stat",{"value":[1],"description":[1],"accentBorder":[4,"accent-border"]}]]],["af-typography-lockup.cjs",[[257,"af-typography-lockup",{"headingSize":[2,"heading-size"],"breakpoint":[1],"textAlignment":[1,"text-alignment"],"buttonAlignment":[1,"button-alignment"],"maxWidth":[2,"max-width"]}]]]], options);
8
+ return index.bootstrapLazy([["af-hero-section.cjs",[[262,"af-hero-section",{"variant":[1],"withDecoration":[4,"with-decoration"],"minHeight":[1,"min-height"]}]]],["af-section.cjs",[[262,"af-section",{"padding":[1],"background":[1],"container":[4]}]]],["af-heading_5.cjs",[[257,"af-heading",{"level":[1],"align":[1],"theme":[1]}],[257,"af-logo"],[257,"af-nav-item",{"hierarchy":[1],"variant":[1],"href":[1],"active":[4]}],[257,"af-navbar",{"mobileMenuOpen":[32]}],[257,"af-text",{"variant":[1],"align":[1],"as":[1],"theme":[1]}]]],["af-aspect-ratio.cjs",[[257,"af-aspect-ratio",{"ratio":[1]}]]],["af-button.cjs",[[257,"af-button",{"variant":[1],"size":[1],"disabled":[4],"href":[1],"type":[1],"darkBackground":[4,"dark-background"]}]]],["af-button-group.cjs",[[257,"af-button-group",{"direction":[1],"gap":[1]}]]],["af-card.cjs",[[262,"af-card",{"backgroundImage":[1,"background-image"],"backgroundColor":[1,"background-color"],"darkOverlay":[4,"dark-overlay"]}]]],["af-client-carousel.cjs",[[257,"af-client-carousel",{"showHeadline":[4,"show-headline"],"headlineText":[1,"headline-text"]}]]],["af-color-swatch.cjs",[[257,"af-color-swatch",{"color":[1],"name":[1],"size":[1]}]]],["af-icon-button.cjs",[[257,"af-icon-button",{"variant":[1],"size":[1],"disabled":[4],"href":[1],"type":[1],"ariaLabel":[1,"aria-label"]}]]],["af-logo-well.cjs",[[257,"af-logo-well"]]],["af-testimonial.cjs",[[262,"af-testimonial",{"backgroundImage":[1,"background-image"],"logoImage":[1,"logo-image"],"quote":[1],"attribution":[1],"readMoreLink":[1,"read-more-link"]}]]],["af-testimonial-carousel.cjs",[[262,"af-testimonial-carousel",{"currentIndex":[32],"isAnimating":[32],"testimonialCount":[32]}]]],["af-testimonial-stat.cjs",[[258,"af-testimonial-stat",{"value":[1],"description":[1],"accentBorder":[4,"accent-border"]}]]],["af-typography-lockup.cjs",[[257,"af-typography-lockup",{"headingSize":[2,"heading-size"],"breakpoint":[1],"textAlignment":[1,"text-alignment"],"buttonAlignment":[1,"button-alignment"],"maxWidth":[2,"max-width"]}]]],["af-container.cjs",[[257,"af-container",{"maxWidth":[1,"max-width"]}]]]], options);
9
9
  };
10
10
 
11
11
  exports.setNonce = index.setNonce;
@@ -0,0 +1,3 @@
1
+ <svg preserveAspectRatio="none" width="100%" height="100%" overflow="visible" style="display: block;" viewBox="0 0 1212 753" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path id="Vector" d="M1102.14 107.875C1031.8 37.1138 939.128 -1.47247 840.61 0.0430067H358.674L262.104 156.72H841.87C842.558 156.72 843.36 156.72 844.047 156.72C900.638 156.72 953.791 178.869 994 219.32C1035.24 260.821 1058.04 316.311 1058.04 375.647C1058.04 497.468 960.665 596.44 841.068 596.44H251.335C197.609 596.44 153.848 551.908 153.848 497.235C153.848 442.561 197.723 397.33 251.221 395.698H779.208L878.872 239.021H248.586C111.577 242.519 0 358.277 0 497.235C0 636.192 112.723 753 251.335 753H841.068C1045.55 753 1212 583.617 1212 375.531C1212 273.994 1173.05 178.985 1102.26 107.758L1102.14 107.875Z" fill="var(--fill-0, white)" fill-opacity="0.06"/>
3
+ </svg>
@@ -13,6 +13,10 @@
13
13
  "components/af-button-group/af-button-group.js",
14
14
  "components/af-typography-lockup/af-typography-lockup.js",
15
15
  "components/af-card/af-card.js",
16
+ "components/af-client-carousel/af-client-carousel.js",
17
+ "components/af-hero-section/af-hero-section.js",
18
+ "components/af-logo-well/af-logo-well.js",
19
+ "components/af-section/af-section.js",
16
20
  "components/af-testimonial/af-testimonial.js",
17
21
  "components/af-testimonial-carousel/af-testimonial-carousel.js",
18
22
  "components/af-testimonial-stat/af-testimonial-stat.js"
@@ -17,13 +17,18 @@ export class AfButton {
17
17
  * Button type (when not using href)
18
18
  */
19
19
  this.type = 'button';
20
+ /**
21
+ * Use on dark backgrounds for better contrast
22
+ */
23
+ this.darkBackground = false;
20
24
  }
21
25
  render() {
22
26
  const classes = {
23
27
  'button': true,
24
28
  [`variant-${this.variant}`]: true,
25
29
  [`size-${this.size}`]: true,
26
- 'disabled': this.disabled
30
+ 'disabled': this.disabled,
31
+ 'on-dark': this.darkBackground
27
32
  };
28
33
  const content = [
29
34
  h("span", { class: "icon-left" }, h("slot", { name: "icon-left" })),
@@ -147,6 +152,26 @@ export class AfButton {
147
152
  "reflect": false,
148
153
  "attribute": "type",
149
154
  "defaultValue": "'button'"
155
+ },
156
+ "darkBackground": {
157
+ "type": "boolean",
158
+ "mutable": false,
159
+ "complexType": {
160
+ "original": "boolean",
161
+ "resolved": "boolean",
162
+ "references": {}
163
+ },
164
+ "required": false,
165
+ "optional": false,
166
+ "docs": {
167
+ "tags": [],
168
+ "text": "Use on dark backgrounds for better contrast"
169
+ },
170
+ "getter": false,
171
+ "setter": false,
172
+ "reflect": false,
173
+ "attribute": "dark-background",
174
+ "defaultValue": "false"
150
175
  }
151
176
  };
152
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"af-button.js","sourceRoot":"","sources":["../../../src/components/af-button/af-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,QAAQ;IALrB;QAME;;WAEG;QACK,YAAO,GAAkD,SAAS,CAAC;QAE3E;;WAEG;QACK,SAAI,GAAwB,SAAS,CAAC;QAE9C;;WAEG;QACK,aAAQ,GAAY,KAAK,CAAC;QAOlC;;WAEG;QACK,SAAI,GAAkC,QAAQ,CAAC;KAwCxD;IAtCC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,IAAI;YACd,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;YACjC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;YAC3B,UAAU,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,YAAM,KAAK,EAAC,WAAW;gBACrB,YAAM,IAAI,EAAC,WAAW,GAAQ,CACzB;YACP,YAAM,KAAK,EAAC,OAAO;gBACjB,eAAa,CACR;YACP,YAAM,KAAK,EAAC,YAAY;gBACtB,YAAM,IAAI,EAAC,YAAY,GAAQ,CAC1B;SACR,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,CACL,EAAC,IAAI;gBACH,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAC/B,OAAO,CACN,CACC,CACR,CAAC;QACJ,CAAC;QAED,OAAO,CACL,EAAC,IAAI;YACH,cAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,IAC7D,OAAO,CACD,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\n\n@Component({\n tag: 'af-button',\n styleUrl: 'af-button.css',\n shadow: true\n})\nexport class AfButton {\n /**\n * The visual variant of the button\n */\n @Prop() variant: 'primary' | 'secondary' | 'outline' | 'ghost' = 'primary';\n\n /**\n * The size of the button\n */\n @Prop() size: 'default' | 'small' = 'default';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Optional href to render as a link\n */\n @Prop() href?: string;\n\n /**\n * Button type (when not using href)\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n render() {\n const classes = {\n 'button': true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n 'disabled': this.disabled\n };\n\n const content = [\n <span class=\"icon-left\">\n <slot name=\"icon-left\"></slot>\n </span>,\n <span class=\"label\">\n <slot></slot>\n </span>,\n <span class=\"icon-right\">\n <slot name=\"icon-right\"></slot>\n </span>\n ];\n\n if (this.href && !this.disabled) {\n return (\n <Host>\n <a href={this.href} class={classes}>\n {content}\n </a>\n </Host>\n );\n }\n\n return (\n <Host>\n <button type={this.type} disabled={this.disabled} class={classes}>\n {content}\n </button>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"af-button.js","sourceRoot":"","sources":["../../../src/components/af-button/af-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,QAAQ;IALrB;QAME;;WAEG;QACK,YAAO,GAAkD,SAAS,CAAC;QAE3E;;WAEG;QACK,SAAI,GAAwB,SAAS,CAAC;QAE9C;;WAEG;QACK,aAAQ,GAAY,KAAK,CAAC;QAOlC;;WAEG;QACK,SAAI,GAAkC,QAAQ,CAAC;QAEvD;;WAEG;QACK,mBAAc,GAAY,KAAK,CAAC;KAyCzC;IAvCC,MAAM;QACJ,MAAM,OAAO,GAAG;YACd,QAAQ,EAAE,IAAI;YACd,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;YACjC,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI;YAC3B,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,SAAS,EAAE,IAAI,CAAC,cAAc;SAC/B,CAAC;QAEF,MAAM,OAAO,GAAG;YACd,YAAM,KAAK,EAAC,WAAW;gBACrB,YAAM,IAAI,EAAC,WAAW,GAAQ,CACzB;YACP,YAAM,KAAK,EAAC,OAAO;gBACjB,eAAa,CACR;YACP,YAAM,KAAK,EAAC,YAAY;gBACtB,YAAM,IAAI,EAAC,YAAY,GAAQ,CAC1B;SACR,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,CACL,EAAC,IAAI;gBACH,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,IAC/B,OAAO,CACN,CACC,CACR,CAAC;QACJ,CAAC;QAED,OAAO,CACL,EAAC,IAAI;YACH,cAAQ,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,IAC7D,OAAO,CACD,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Host } from '@stencil/core';\n\n@Component({\n tag: 'af-button',\n styleUrl: 'af-button.css',\n shadow: true\n})\nexport class AfButton {\n /**\n * The visual variant of the button\n */\n @Prop() variant: 'primary' | 'secondary' | 'outline' | 'ghost' = 'primary';\n\n /**\n * The size of the button\n */\n @Prop() size: 'default' | 'small' = 'default';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Optional href to render as a link\n */\n @Prop() href?: string;\n\n /**\n * Button type (when not using href)\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n \n /**\n * Use on dark backgrounds for better contrast\n */\n @Prop() darkBackground: boolean = false;\n\n render() {\n const classes = {\n 'button': true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n 'disabled': this.disabled,\n 'on-dark': this.darkBackground\n };\n\n const content = [\n <span class=\"icon-left\">\n <slot name=\"icon-left\"></slot>\n </span>,\n <span class=\"label\">\n <slot></slot>\n </span>,\n <span class=\"icon-right\">\n <slot name=\"icon-right\"></slot>\n </span>\n ];\n\n if (this.href && !this.disabled) {\n return (\n <Host>\n <a href={this.href} class={classes}>\n {content}\n </a>\n </Host>\n );\n }\n\n return (\n <Host>\n <button type={this.type} disabled={this.disabled} class={classes}>\n {content}\n </button>\n </Host>\n );\n }\n}\n"]}
@@ -15,7 +15,7 @@ export class AfButtonGroup {
15
15
  'button-group': true,
16
16
  [`direction-${this.direction}`]: true
17
17
  };
18
- return (h(Host, { key: 'c6cab092c05c6e6b7b859c662f318067590b51e3' }, h("div", { key: '289501b3693d0eeb68c4b2f85bb3b8398ca7610b', class: classes, style: { gap: this.gap } }, h("slot", { key: 'b852bcf016846022ee0cf8d23ce5a57aa0856adf' }))));
18
+ return (h(Host, { key: '5f8f8c8acd7b401c9e217a05200dfca367691723' }, h("div", { key: 'b4d14e81177523a584a961e0f20b6e7be101a8e3', class: classes, style: { gap: this.gap } }, h("slot", { key: '68cb3173bcf193eb877d66b1588500882aa52a63' }))));
19
19
  }
20
20
  static get is() { return "af-button-group"; }
21
21
  static get encapsulation() { return "shadow"; }
@@ -86,14 +86,17 @@
86
86
  color: #ffffff !important;
87
87
  }
88
88
 
89
- /* Dark text for regular cards */
90
- .card:not(.card--with-image) .card__content {
91
- color: var(--colour-typography-heading-primary, #14343b);
89
+ /* Dark text for regular cards (light backgrounds) */
90
+ .card:not(.card--with-image):not(.card--dark-overlay) af-heading,
91
+ .card:not(.card--with-image):not(.card--dark-overlay) af-text {
92
+ --colour-typography-heading-primary: var(--colour-brand-inkwell, #14343B);
93
+ --colour-typography-body-default: #2B484F;
92
94
  }
93
95
 
94
- /* Custom background color cards with white text */
95
- .card--custom-bg .card__content {
96
- --colour-typography-heading-primary: #ffffff;
97
- --colour-typography-body-default: #ffffff;
96
+ /* Dark text for custom background color cards (unless they have dark overlay) */
97
+ .card--custom-bg:not(.card--dark-overlay) af-heading,
98
+ .card--custom-bg:not(.card--dark-overlay) af-text {
99
+ --colour-typography-heading-primary: var(--colour-brand-inkwell, #14343B);
100
+ --colour-typography-body-default: #2B484F;
98
101
  }
99
102
 
@@ -9,7 +9,7 @@ export class AfCard {
9
9
  render() {
10
10
  const hasBackgroundImage = !!this.backgroundImage;
11
11
  const cardStyle = this.backgroundColor ? { backgroundColor: this.backgroundColor } : undefined;
12
- return (h(Host, { key: '026a3f9e10d281558913cd6eb69db800da37deb4' }, h("div", { key: 'd6b43e724d5611e75ec096dad88c5373ef5c5adc', class: `card ${hasBackgroundImage ? 'card--with-image' : ''} ${this.darkOverlay ? 'card--dark-overlay' : ''} ${this.backgroundColor ? 'card--custom-bg' : ''}`, style: cardStyle }, hasBackgroundImage && (h("div", { key: 'f71753ba962411320c45f06c7c9a5c98b89883a9', class: "card__background" }, h("img", { key: '2d3b19e350ddf5a1efa1c1a9a343851e423cc275', src: this.backgroundImage, alt: "", class: "card__background-image" }))), h("div", { key: '459e00230ef7a470ee808d0d674412b18822d473', class: `card__content ${hasBackgroundImage ? 'card__content--overlay' : ''}` }, h("slot", { key: 'd2f4f261f0b2a766c912504d17f0caec96ae02c4' })))));
12
+ return (h(Host, { key: '2c3c0b6d1889074ae78b2b1f9646dc23829a0e9a' }, h("div", { key: '7e1ef884a203ae17e1ad417ac688f59b9acb6932', class: `card ${hasBackgroundImage ? 'card--with-image' : ''} ${this.darkOverlay ? 'card--dark-overlay' : ''} ${this.backgroundColor ? 'card--custom-bg' : ''}`, style: cardStyle }, hasBackgroundImage && (h("div", { key: '4fb3cea588d42345690df68738b725a6debacc55', class: "card__background" }, h("img", { key: '0dde30e250c7cb117993e3ccbeab8f108278ae89', src: this.backgroundImage, alt: "", class: "card__background-image" }))), h("div", { key: 'f604c04997720f4804d148f103f9c4a69b1ec0aa', class: `card__content ${hasBackgroundImage ? 'card__content--overlay' : ''}` }, h("slot", { key: 'a7668f98c4c8fd10b5581eac69f2a31aecbc3732' })))));
13
13
  }
14
14
  static get is() { return "af-card"; }
15
15
  static get encapsulation() { return "scoped"; }
@@ -0,0 +1,112 @@
1
+ :host {
2
+ display: block;
3
+ width: 100%;
4
+ background-color: var(--colour-brand-inkwell, #14343B);
5
+ }
6
+
7
+ .client-carousel {
8
+ padding: 48px 80px;
9
+ display: flex;
10
+ flex-direction: column;
11
+ gap: 40px;
12
+ align-items: center;
13
+ }
14
+
15
+ .headline {
16
+ text-align: center;
17
+ padding: 24px 220px;
18
+ }
19
+
20
+ .headline h3 {
21
+ font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);
22
+ font-weight: 500;
23
+ font-size: 34px;
24
+ line-height: 1;
25
+ letter-spacing: -0.68px;
26
+ color: var(--colour-brand-mist-green, #C6D5D1);
27
+ margin: 0;
28
+ }
29
+
30
+ .carousel-container {
31
+ display: flex;
32
+ flex-direction: column;
33
+ gap: 16px;
34
+ width: 100%;
35
+ overflow: hidden;
36
+ }
37
+
38
+ .carousel-row {
39
+ display: flex;
40
+ width: 100%;
41
+ overflow: hidden;
42
+ position: relative;
43
+ }
44
+
45
+ .logo-track {
46
+ display: flex;
47
+ gap: 16px;
48
+ animation-timing-function: linear;
49
+ animation-iteration-count: infinite;
50
+ }
51
+
52
+ /* Scroll left animation */
53
+ .scroll-left .logo-track {
54
+ animation-name: scroll-left;
55
+ animation-duration: 40s;
56
+ }
57
+
58
+ /* Scroll right animation */
59
+ .scroll-right .logo-track {
60
+ animation-name: scroll-right;
61
+ animation-duration: 40s;
62
+ }
63
+
64
+ @keyframes scroll-left {
65
+ 0% {
66
+ transform: translateX(0);
67
+ }
68
+ 100% {
69
+ transform: translateX(-50%);
70
+ }
71
+ }
72
+
73
+ @keyframes scroll-right {
74
+ 0% {
75
+ transform: translateX(-50%);
76
+ }
77
+ 100% {
78
+ transform: translateX(0);
79
+ }
80
+ }
81
+
82
+ /* Ensure slotted logos maintain their styling */
83
+ ::slotted(*) {
84
+ flex-shrink: 0;
85
+ }
86
+
87
+ /* Tablet adjustments */
88
+ @media (max-width: 1024px) {
89
+ .client-carousel {
90
+ padding: 32px 40px;
91
+ }
92
+
93
+ .headline {
94
+ padding: 16px 40px;
95
+ }
96
+ }
97
+
98
+ /* Mobile adjustments */
99
+ @media (max-width: 767px) {
100
+ .client-carousel {
101
+ padding: 24px 16px;
102
+ }
103
+
104
+ .headline {
105
+ padding: 16px;
106
+ }
107
+
108
+ .headline h3 {
109
+ font-size: 25px;
110
+ }
111
+ }
112
+
@@ -0,0 +1,72 @@
1
+ import { h, Host } from "@stencil/core";
2
+ /**
3
+ * Infinite scrolling carousel for client logos
4
+ */
5
+ export class AfClientCarousel {
6
+ constructor() {
7
+ /** Show headline above carousel */
8
+ this.showHeadline = false;
9
+ /** Headline text */
10
+ this.headlineText = "Trusted by some of the world's leading organisations";
11
+ }
12
+ render() {
13
+ return (h(Host, { key: '6ee5a4e472cb082ac68cb58c00bf5b1d686dd489' }, h("div", { key: 'dc030f69bfbb55ce999f0b2f1d8a47095d75ac59', class: "client-carousel" }, this.showHeadline && (h("div", { key: 'd8d7fdbd47e65cc5a3a8e10d88f7425f91d0459e', class: "headline" }, h("slot", { key: '3773f567bfd3de6058cd1088ba2c781cf510e63b', name: "headline" }, h("h3", { key: 'fdcab6ce99a2c477bf1e336f13f7994637b8436d' }, this.headlineText)))), h("div", { key: '30429a27f88e490051a4623195421e00a34f4db4', class: "carousel-container" }, h("div", { key: 'de187b8265b84cb3d8f22540ec283bb8b3603aa8', class: "carousel-row scroll-left" }, h("div", { key: 'd2da7c79388f53425cba20429204fea148030aa5', class: "logo-track" }, h("slot", { key: 'b4ddb6250d5893290ed40a2c765d0f0bf0a378e6', name: "row-1" }), h("slot", { key: 'ccb91ed748f2e51a1d0f2d63d676f7e2558ec2ef', name: "row-1" }))), h("div", { key: 'f6a99654384b070bf91e9ea1ebc57de304f2671f', class: "carousel-row scroll-right" }, h("div", { key: '8e31a13039f2e2df33eb7ec67f738d71d49d931f', class: "logo-track" }, h("slot", { key: '2ffeff2da8ddd4c0faefaf59fc1a45972de26943', name: "row-2" }), h("slot", { key: '2121dc84af370a41290a432e50f3c10f6b3d4b4c', name: "row-2" })))))));
14
+ }
15
+ static get is() { return "af-client-carousel"; }
16
+ static get encapsulation() { return "shadow"; }
17
+ static get originalStyleUrls() {
18
+ return {
19
+ "$": ["af-client-carousel.css"]
20
+ };
21
+ }
22
+ static get styleUrls() {
23
+ return {
24
+ "$": ["af-client-carousel.css"]
25
+ };
26
+ }
27
+ static get properties() {
28
+ return {
29
+ "showHeadline": {
30
+ "type": "boolean",
31
+ "mutable": false,
32
+ "complexType": {
33
+ "original": "boolean",
34
+ "resolved": "boolean",
35
+ "references": {}
36
+ },
37
+ "required": false,
38
+ "optional": false,
39
+ "docs": {
40
+ "tags": [],
41
+ "text": "Show headline above carousel"
42
+ },
43
+ "getter": false,
44
+ "setter": false,
45
+ "reflect": false,
46
+ "attribute": "show-headline",
47
+ "defaultValue": "false"
48
+ },
49
+ "headlineText": {
50
+ "type": "string",
51
+ "mutable": false,
52
+ "complexType": {
53
+ "original": "string",
54
+ "resolved": "string",
55
+ "references": {}
56
+ },
57
+ "required": false,
58
+ "optional": false,
59
+ "docs": {
60
+ "tags": [],
61
+ "text": "Headline text"
62
+ },
63
+ "getter": false,
64
+ "setter": false,
65
+ "reflect": false,
66
+ "attribute": "headline-text",
67
+ "defaultValue": "\"Trusted by some of the world's leading organisations\""
68
+ }
69
+ };
70
+ }
71
+ }
72
+ //# sourceMappingURL=af-client-carousel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"af-client-carousel.js","sourceRoot":"","sources":["../../../src/components/af-client-carousel/af-client-carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;GAEG;AAMH,MAAM,OAAO,gBAAgB;IAL7B;QAME,mCAAmC;QAC3B,iBAAY,GAAY,KAAK,CAAC;QAEtC,oBAAoB;QACZ,iBAAY,GAAW,sDAAsD,CAAC;KAmCvF;IAjCC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,iBAAiB;gBACzB,IAAI,CAAC,YAAY,IAAI,CACpB,4DAAK,KAAK,EAAC,UAAU;oBACnB,6DAAM,IAAI,EAAC,UAAU;wBACnB,6DAAK,IAAI,CAAC,YAAY,CAAM,CACvB,CACH,CACP;gBAED,4DAAK,KAAK,EAAC,oBAAoB;oBAE7B,4DAAK,KAAK,EAAC,0BAA0B;wBACnC,4DAAK,KAAK,EAAC,YAAY;4BACrB,6DAAM,IAAI,EAAC,OAAO,GAAQ;4BAC1B,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACF;oBAGN,4DAAK,KAAK,EAAC,2BAA2B;wBACpC,4DAAK,KAAK,EAAC,YAAY;4BACrB,6DAAM,IAAI,EAAC,OAAO,GAAQ;4BAC1B,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACF,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Infinite scrolling carousel for client logos\n */\n@Component({\n tag: 'af-client-carousel',\n styleUrl: 'af-client-carousel.css',\n shadow: true,\n})\nexport class AfClientCarousel {\n /** Show headline above carousel */\n @Prop() showHeadline: boolean = false;\n \n /** Headline text */\n @Prop() headlineText: string = \"Trusted by some of the world's leading organisations\";\n\n render() {\n return (\n <Host>\n <div class=\"client-carousel\">\n {this.showHeadline && (\n <div class=\"headline\">\n <slot name=\"headline\">\n <h3>{this.headlineText}</h3>\n </slot>\n </div>\n )}\n \n <div class=\"carousel-container\">\n {/* Top row - scrolls left */}\n <div class=\"carousel-row scroll-left\">\n <div class=\"logo-track\">\n <slot name=\"row-1\"></slot>\n <slot name=\"row-1\"></slot>\n </div>\n </div>\n \n {/* Bottom row - scrolls right */}\n <div class=\"carousel-row scroll-right\">\n <div class=\"logo-track\">\n <slot name=\"row-2\"></slot>\n <slot name=\"row-2\"></slot>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -24,6 +24,15 @@
24
24
  text-align: right;
25
25
  }
26
26
 
27
+ /* Theme variants */
28
+ .theme-dark {
29
+ color: var(--colour-brand-mist-green, #C6D5D1);
30
+ }
31
+
32
+ .theme-light {
33
+ color: var(--colour-typography-heading-primary, #14343b);
34
+ }
35
+
27
36
  /* Heading XL */
28
37
  .level-xl {
29
38
  font-size: 50px;
@@ -5,6 +5,8 @@ export class AfHeading {
5
5
  this.level = '1';
6
6
  /** Visual alignment */
7
7
  this.align = 'left';
8
+ /** Theme for dark backgrounds */
9
+ this.theme = 'light';
8
10
  }
9
11
  getHeadingTag() {
10
12
  // Map display levels to semantic HTML tags
@@ -20,11 +22,12 @@ export class AfHeading {
20
22
  }
21
23
  render() {
22
24
  const Tag = this.getHeadingTag();
23
- return (h(Tag, { key: '1d3f37c8d067c3c9d0ec7f10422478ab41c990b2', class: {
25
+ return (h(Tag, { key: '2cc4b5d43b85fbc8251d61e822deb22641f69683', class: {
24
26
  'heading': true,
25
27
  [`level-${this.level}`]: true,
26
- [`align-${this.align}`]: true
27
- }, part: "base" }, h("slot", { key: 'dcba9d00393f818cfceeb5eba5cc2bd874927dfd' })));
28
+ [`align-${this.align}`]: true,
29
+ [`theme-${this.theme}`]: true
30
+ }, part: "base" }, h("slot", { key: '0ac282842c61ec6c16929574a5ffd6530aab9759' })));
28
31
  }
29
32
  static get is() { return "af-heading"; }
30
33
  static get encapsulation() { return "shadow"; }
@@ -79,6 +82,26 @@ export class AfHeading {
79
82
  "reflect": false,
80
83
  "attribute": "align",
81
84
  "defaultValue": "'left'"
85
+ },
86
+ "theme": {
87
+ "type": "string",
88
+ "mutable": false,
89
+ "complexType": {
90
+ "original": "'light' | 'dark'",
91
+ "resolved": "\"dark\" | \"light\"",
92
+ "references": {}
93
+ },
94
+ "required": false,
95
+ "optional": false,
96
+ "docs": {
97
+ "tags": [],
98
+ "text": "Theme for dark backgrounds"
99
+ },
100
+ "getter": false,
101
+ "setter": false,
102
+ "reflect": false,
103
+ "attribute": "theme",
104
+ "defaultValue": "'light'"
82
105
  }
83
106
  };
84
107
  }
@@ -1 +1 @@
1
- {"version":3,"file":"af-heading.js","sourceRoot":"","sources":["../../../src/components/af-heading/af-heading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOnD,MAAM,OAAO,SAAS;IALtB;QAME,oBAAoB;QACZ,UAAK,GAAuC,GAAG,CAAC;QAExD,uBAAuB;QACf,UAAK,GAAgC,MAAM,CAAC;KA+BrD;IA7BS,aAAa;QACnB,2CAA2C;QAC3C,MAAM,MAAM,GAA2B;YACrC,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;SACV,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAS,CAAC;QAExC,OAAO,CACL,EAAC,GAAG,qDACF,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI;gBACf,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;gBAC7B,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;aAC9B,EACD,IAAI,EAAC,MAAM;YAEX,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-heading',\n styleUrl: 'af-heading.css',\n shadow: true\n})\nexport class AfHeading {\n /** Heading level */\n @Prop() level: 'xl' | '1' | '2' | '3' | '4' | '5' = '1';\n\n /** Visual alignment */\n @Prop() align: 'left' | 'center' | 'right' = 'left';\n\n private getHeadingTag() {\n // Map display levels to semantic HTML tags\n const tagMap: Record<string, string> = {\n 'xl': 'h1',\n '1': 'h1',\n '2': 'h2',\n '3': 'h3',\n '4': 'h4',\n '5': 'h5'\n };\n return tagMap[this.level] || 'h1';\n }\n\n render() {\n const Tag = this.getHeadingTag() as any;\n\n return (\n <Tag\n class={{\n 'heading': true,\n [`level-${this.level}`]: true,\n [`align-${this.align}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"af-heading.js","sourceRoot":"","sources":["../../../src/components/af-heading/af-heading.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOnD,MAAM,OAAO,SAAS;IALtB;QAME,oBAAoB;QACZ,UAAK,GAAuC,GAAG,CAAC;QAExD,uBAAuB;QACf,UAAK,GAAgC,MAAM,CAAC;QAEpD,iCAAiC;QACzB,UAAK,GAAqB,OAAO,CAAC;KAgC3C;IA9BS,aAAa;QACnB,2CAA2C;QAC3C,MAAM,MAAM,GAA2B;YACrC,IAAI,EAAE,IAAI;YACV,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;SACV,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;IACpC,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,EAAS,CAAC;QAExC,OAAO,CACL,EAAC,GAAG,qDACF,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI;gBACf,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;gBAC7B,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;gBAC7B,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;aAC9B,EACD,IAAI,EAAC,MAAM;YAEX,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-heading',\n styleUrl: 'af-heading.css',\n shadow: true\n})\nexport class AfHeading {\n /** Heading level */\n @Prop() level: 'xl' | '1' | '2' | '3' | '4' | '5' = '1';\n\n /** Visual alignment */\n @Prop() align: 'left' | 'center' | 'right' = 'left';\n \n /** Theme for dark backgrounds */\n @Prop() theme: 'light' | 'dark' = 'light';\n\n private getHeadingTag() {\n // Map display levels to semantic HTML tags\n const tagMap: Record<string, string> = {\n 'xl': 'h1',\n '1': 'h1',\n '2': 'h2',\n '3': 'h3',\n '4': 'h4',\n '5': 'h5'\n };\n return tagMap[this.level] || 'h1';\n }\n\n render() {\n const Tag = this.getHeadingTag() as any;\n\n return (\n <Tag\n class={{\n 'heading': true,\n [`level-${this.level}`]: true,\n [`align-${this.align}`]: true,\n [`theme-${this.theme}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n"]}
@@ -0,0 +1,69 @@
1
+ :host {
2
+ display: block;
3
+ width: 100%;
4
+ }
5
+
6
+ .hero-section {
7
+ width: 100%;
8
+ padding-top: calc(32px + 8px + 22px + 4rem); /* navbar top offset + navbar height + gap + content padding */
9
+ padding-bottom: 4rem;
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: center;
13
+ margin-top: 0;
14
+ position: relative;
15
+ z-index: 1;
16
+ overflow: hidden;
17
+ }
18
+
19
+ /* Light variant */
20
+ .variant-light {
21
+ background-color: var(--colour-background-white, #FFFFFF);
22
+ }
23
+
24
+ /* Dark variant */
25
+ .variant-dark {
26
+ background-color: var(--colour-brand-inkwell, #14343B);
27
+ }
28
+
29
+ /* Set theme colors on dark backgrounds */
30
+ .variant-dark af-heading,
31
+ .variant-dark af-text {
32
+ --typography-heading-primary: var(--colour-brand-mist-green, #C6D5D1);
33
+ --typography-body-default: var(--colour-brand-mist-green, #C6D5D1);
34
+ }
35
+
36
+ .hero-decoration {
37
+ position: absolute;
38
+ inset: 0;
39
+ pointer-events: none;
40
+ z-index: 0;
41
+ height: 0;
42
+ width: 0;
43
+ overflow: visible;
44
+ }
45
+
46
+ .hero-decoration ::slotted(*) {
47
+ position: absolute !important;
48
+ bottom: 208px;
49
+ right: -557px;
50
+ width: 1212px;
51
+ height: 753px;
52
+ opacity: 0.5;
53
+ }
54
+
55
+ .hero-content {
56
+ text-align: center;
57
+ max-width: 1000px;
58
+ margin: 0 auto;
59
+ position: relative;
60
+ z-index: 1;
61
+ }
62
+
63
+ /* Mobile adjustments */
64
+ @media (max-width: 768px) {
65
+ .hero-section {
66
+ padding: 2rem 1rem;
67
+ }
68
+ }
69
+
@@ -0,0 +1,94 @@
1
+ import { h, Host } from "@stencil/core";
2
+ /**
3
+ * Hero section component for marketing pages
4
+ */
5
+ export class AfHeroSection {
6
+ constructor() {
7
+ /** Hero variant */
8
+ this.variant = 'dark';
9
+ /** Show decorative paperclip */
10
+ this.withDecoration = false;
11
+ /** Minimum height */
12
+ this.minHeight = '60vh';
13
+ }
14
+ render() {
15
+ return (h(Host, { key: '85061979e5f4d2a766574cbc355e2f833160050b' }, h("div", { key: 'f0c1f36c7f5f241d5a3ce590a2eff5b5e9c6f3bc', class: `hero-section variant-${this.variant}`, style: { minHeight: this.minHeight } }, this.withDecoration && (h("div", { key: '4a680dcbb970ea9c31fdcd1d4e16ec9b43e859b6', class: "hero-decoration" }, h("slot", { key: 'f8c629d60b6fbb0627e0720967bbc5bfeecbfecd', name: "decoration" }))), h("af-container", { key: '07ed025ef1b11880896a0ca72916592f4b36dddf' }, h("div", { key: 'dbe586394c6e10ed672d12326e21832376661ed1', class: "hero-content" }, h("slot", { key: 'd3906e6fd0bdb1439df2c4e6b48e090472bcc2e5' }))))));
16
+ }
17
+ static get is() { return "af-hero-section"; }
18
+ static get encapsulation() { return "scoped"; }
19
+ static get originalStyleUrls() {
20
+ return {
21
+ "$": ["af-hero-section.css"]
22
+ };
23
+ }
24
+ static get styleUrls() {
25
+ return {
26
+ "$": ["af-hero-section.css"]
27
+ };
28
+ }
29
+ static get properties() {
30
+ return {
31
+ "variant": {
32
+ "type": "string",
33
+ "mutable": false,
34
+ "complexType": {
35
+ "original": "'light' | 'dark'",
36
+ "resolved": "\"dark\" | \"light\"",
37
+ "references": {}
38
+ },
39
+ "required": false,
40
+ "optional": false,
41
+ "docs": {
42
+ "tags": [],
43
+ "text": "Hero variant"
44
+ },
45
+ "getter": false,
46
+ "setter": false,
47
+ "reflect": false,
48
+ "attribute": "variant",
49
+ "defaultValue": "'dark'"
50
+ },
51
+ "withDecoration": {
52
+ "type": "boolean",
53
+ "mutable": false,
54
+ "complexType": {
55
+ "original": "boolean",
56
+ "resolved": "boolean",
57
+ "references": {}
58
+ },
59
+ "required": false,
60
+ "optional": false,
61
+ "docs": {
62
+ "tags": [],
63
+ "text": "Show decorative paperclip"
64
+ },
65
+ "getter": false,
66
+ "setter": false,
67
+ "reflect": false,
68
+ "attribute": "with-decoration",
69
+ "defaultValue": "false"
70
+ },
71
+ "minHeight": {
72
+ "type": "string",
73
+ "mutable": false,
74
+ "complexType": {
75
+ "original": "string",
76
+ "resolved": "string",
77
+ "references": {}
78
+ },
79
+ "required": false,
80
+ "optional": false,
81
+ "docs": {
82
+ "tags": [],
83
+ "text": "Minimum height"
84
+ },
85
+ "getter": false,
86
+ "setter": false,
87
+ "reflect": false,
88
+ "attribute": "min-height",
89
+ "defaultValue": "'60vh'"
90
+ }
91
+ };
92
+ }
93
+ }
94
+ //# sourceMappingURL=af-hero-section.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"af-hero-section.js","sourceRoot":"","sources":["../../../src/components/af-hero-section/af-hero-section.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;GAEG;AAOH,MAAM,OAAO,aAAa;IAN1B;QAOE,mBAAmB;QACX,YAAO,GAAqB,MAAM,CAAC;QAE3C,gCAAgC;QACxB,mBAAc,GAAY,KAAK,CAAC;QAExC,qBAAqB;QACb,cAAS,GAAW,MAAM,CAAC;KAoBpC;IAlBC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,wBAAwB,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;gBACrF,IAAI,CAAC,cAAc,IAAI,CACtB,4DAAK,KAAK,EAAC,iBAAiB;oBAC1B,6DAAM,IAAI,EAAC,YAAY,GAAQ,CAC3B,CACP;gBACD;oBACE,4DAAK,KAAK,EAAC,cAAc;wBACvB,8DAAa,CACT,CACO,CACX,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Hero section component for marketing pages\n */\n@Component({\n tag: 'af-hero-section',\n styleUrl: 'af-hero-section.css',\n shadow: false,\n scoped: true,\n})\nexport class AfHeroSection {\n /** Hero variant */\n @Prop() variant: 'light' | 'dark' = 'dark';\n \n /** Show decorative paperclip */\n @Prop() withDecoration: boolean = false;\n \n /** Minimum height */\n @Prop() minHeight: string = '60vh';\n\n render() {\n return (\n <Host>\n <div class={`hero-section variant-${this.variant}`} style={{ minHeight: this.minHeight }}>\n {this.withDecoration && (\n <div class=\"hero-decoration\">\n <slot name=\"decoration\"></slot>\n </div>\n )}\n <af-container>\n <div class=\"hero-content\">\n <slot></slot>\n </div>\n </af-container>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -4,7 +4,7 @@ import { h, Host } from "@stencil/core";
4
4
  */
5
5
  export class AfLogo {
6
6
  render() {
7
- return (h(Host, { key: '8a33b73d7a60054dde8a04327d94d78763552549' }, h("img", { key: '2dbf83d383508aaeff70f683866925e4fa98847d', src: "https://www.figma.com/api/mcp/asset/2cfec484-7ba9-4258-94f3-ef4d0ba1e8fe", alt: "Affinda", class: "logo-img" })));
7
+ return (h(Host, { key: '6e7a2dd46fa7143bdac4dee8d7146649ff3c7f57' }, h("img", { key: '03fb48e53218c6207927f9337851e3d39c5ca4a7', src: "https://www.figma.com/api/mcp/asset/2cfec484-7ba9-4258-94f3-ef4d0ba1e8fe", alt: "Affinda", class: "logo-img" })));
8
8
  }
9
9
  static get is() { return "af-logo"; }
10
10
  static get encapsulation() { return "shadow"; }
@@ -0,0 +1,27 @@
1
+ :host {
2
+ display: inline-block;
3
+ }
4
+
5
+ .logo-well {
6
+ background: var(--colour-tints-inkwell-600, #1A3038);
7
+ border-radius: 16px;
8
+ height: 88px;
9
+ display: flex;
10
+ align-items: center;
11
+ justify-content: center;
12
+ padding: 24px 40px;
13
+ box-sizing: border-box;
14
+ min-width: 120px;
15
+ }
16
+
17
+ ::slotted(img) {
18
+ max-height: 40px;
19
+ width: auto;
20
+ display: block;
21
+ filter: brightness(0) invert(1); /* Make logos white */
22
+ }
23
+
24
+ ::slotted(div) {
25
+ white-space: nowrap;
26
+ }
27
+