@affinda/wc 0.0.28 → 0.2.0

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 (661) hide show
  1. package/dist/affinda/af-card.entry.esm.js.map +1 -1
  2. package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -1
  3. package/dist/affinda/af-divider.entry.esm.js.map +1 -1
  4. package/dist/affinda/af-feature-accordion.entry.esm.js.map +1 -1
  5. package/dist/affinda/af-feature-card.entry.esm.js.map +1 -1
  6. package/dist/affinda/af-footer.entry.esm.js.map +1 -1
  7. package/dist/affinda/af-grid.entry.esm.js.map +1 -1
  8. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
  9. package/dist/affinda/af-hero.entry.esm.js.map +1 -0
  10. package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -1
  11. package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -1
  12. package/dist/affinda/af-inline.entry.esm.js.map +1 -1
  13. package/dist/affinda/af-numbered-stepper-item.entry.esm.js.map +1 -0
  14. package/dist/affinda/af-numbered-stepper.entry.esm.js.map +1 -0
  15. package/dist/affinda/af-paperclip-decoration.entry.esm.js.map +1 -0
  16. package/dist/affinda/af-section.entry.esm.js.map +1 -1
  17. package/dist/affinda/af-split-section.entry.esm.js.map +1 -1
  18. package/dist/affinda/af-stack.entry.esm.js.map +1 -1
  19. package/dist/affinda/af-stat.entry.esm.js.map +1 -0
  20. package/dist/affinda/af-stats-row.entry.esm.js.map +1 -0
  21. package/dist/affinda/af-theme-override.entry.esm.js.map +1 -1
  22. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
  23. package/dist/affinda/affinda.css +1 -1
  24. package/dist/affinda/affinda.esm.js +1 -1
  25. package/dist/affinda/index.esm.js +1 -1
  26. package/dist/affinda/index.esm.js.map +1 -1
  27. package/dist/affinda/p-068ac2fb.entry.js +2 -0
  28. package/dist/affinda/{p-b14c1a4b.entry.js.map → p-068ac2fb.entry.js.map} +1 -1
  29. package/dist/affinda/{p-9bb5202e.entry.js → p-09dfcd40.entry.js} +2 -2
  30. package/dist/affinda/p-0acadf6f.entry.js +2 -0
  31. package/dist/affinda/p-0acadf6f.entry.js.map +1 -0
  32. package/dist/affinda/{p-6eca2722.entry.js → p-15f0bd34.entry.js} +2 -2
  33. package/dist/affinda/{p-97ac8f5f.entry.js → p-1b4b0c88.entry.js} +2 -2
  34. package/dist/affinda/{p-2c655ae2.entry.js → p-1c96856a.entry.js} +2 -2
  35. package/dist/affinda/p-2237e652.entry.js +2 -0
  36. package/dist/affinda/{p-5e5d16dd.entry.js.map → p-2237e652.entry.js.map} +1 -1
  37. package/dist/affinda/{p-4cbdf940.entry.js → p-24e74c10.entry.js} +2 -2
  38. package/dist/affinda/p-2526604b.entry.js +2 -0
  39. package/dist/affinda/p-2526604b.entry.js.map +1 -0
  40. package/dist/affinda/{p-bf941fa7.entry.js → p-256970e3.entry.js} +2 -2
  41. package/dist/affinda/p-32d62fbb.entry.js +2 -0
  42. package/dist/affinda/{p-af3f6e16.entry.js → p-342b08e5.entry.js} +2 -2
  43. package/dist/affinda/{p-102e8b8c.entry.js → p-35607741.entry.js} +2 -2
  44. package/dist/affinda/{p-c7ba4e7f.entry.js → p-364ffa25.entry.js} +2 -2
  45. package/dist/affinda/{p-e9f8ef54.entry.js → p-365a75e2.entry.js} +2 -2
  46. package/dist/affinda/p-3ed408f6.entry.js +2 -0
  47. package/dist/affinda/{p-80c96efd.entry.js → p-4058a1eb.entry.js} +2 -2
  48. package/dist/affinda/{p-159fe9b1.entry.js → p-41bbb218.entry.js} +2 -2
  49. package/dist/affinda/p-436673bb.entry.js +2 -0
  50. package/dist/affinda/p-436673bb.entry.js.map +1 -0
  51. package/dist/affinda/{p-f9b6d1c6.entry.js → p-43f40921.entry.js} +2 -2
  52. package/dist/affinda/p-44d960ca.entry.js +2 -0
  53. package/dist/affinda/{p-da999c10.entry.js.map → p-44d960ca.entry.js.map} +1 -1
  54. package/dist/affinda/{p-0f3267ea.entry.js → p-4a355b69.entry.js} +2 -2
  55. package/dist/affinda/p-4a9b192b.entry.js +2 -0
  56. package/dist/affinda/{p-d60d1943.entry.js.map → p-4a9b192b.entry.js.map} +1 -1
  57. package/dist/affinda/{p-3ecf43aa.entry.js → p-4b2c0698.entry.js} +2 -2
  58. package/dist/affinda/p-4eeeb8a1.entry.js +2 -0
  59. package/dist/affinda/{p-cc22a8da.entry.js.map → p-4eeeb8a1.entry.js.map} +1 -1
  60. package/dist/affinda/{p-12652bf5.entry.js → p-4f59b554.entry.js} +2 -2
  61. package/dist/affinda/{p-4e8bd716.entry.js → p-5c163c5b.entry.js} +2 -2
  62. package/dist/affinda/{p-8d9d0cb3.entry.js → p-5e5e7d75.entry.js} +2 -2
  63. package/dist/affinda/{p-648e2d76.entry.js → p-61a6b43d.entry.js} +2 -2
  64. package/dist/affinda/p-631d141c.entry.js +2 -0
  65. package/dist/affinda/p-631d141c.entry.js.map +1 -0
  66. package/dist/affinda/p-6475796d.entry.js +2 -0
  67. package/dist/affinda/{p-50590601.entry.js.map → p-6475796d.entry.js.map} +1 -1
  68. package/dist/affinda/p-6756aa66.entry.js +2 -0
  69. package/dist/affinda/{p-432c7bfc.entry.js → p-6c33fee6.entry.js} +2 -2
  70. package/dist/affinda/p-6e181b2b.entry.js +2 -0
  71. package/dist/affinda/{p-816deae3.entry.js → p-6ea474a3.entry.js} +2 -2
  72. package/dist/affinda/{p-ef41e743.entry.js → p-7111051c.entry.js} +2 -2
  73. package/dist/affinda/{p-23aa03dc.entry.js → p-76cb736d.entry.js} +2 -2
  74. package/dist/affinda/{p-e78112d9.entry.js → p-7867c2ff.entry.js} +2 -2
  75. package/dist/affinda/p-7d3cdda1.entry.js +2 -0
  76. package/dist/affinda/p-7d3cdda1.entry.js.map +1 -0
  77. package/dist/affinda/{p-11e7ddf3.entry.js → p-827f3050.entry.js} +2 -2
  78. package/dist/affinda/{p-77ed47d5.entry.js → p-83bb96cc.entry.js} +2 -2
  79. package/dist/affinda/p-85cc55bb.entry.js +2 -0
  80. package/dist/affinda/p-85cc55bb.entry.js.map +1 -0
  81. package/dist/affinda/{p-5e444a9a.entry.js → p-862a2509.entry.js} +2 -2
  82. package/dist/affinda/{p-7238fc21.entry.js → p-86f6dfdc.entry.js} +2 -2
  83. package/dist/affinda/{p-e0163836.entry.js → p-90ef7baa.entry.js} +2 -2
  84. package/dist/affinda/{p-ab0b621e.entry.js → p-9480f00d.entry.js} +2 -2
  85. package/dist/affinda/{p-3ca3e4dc.entry.js → p-95d4696a.entry.js} +2 -2
  86. package/dist/affinda/{p-892f9bc3.entry.js → p-9aed7039.entry.js} +2 -2
  87. package/dist/affinda/{p-bfc17d0c.entry.js → p-9c1e9bd8.entry.js} +2 -2
  88. package/dist/affinda/{p-be45f85c.entry.js → p-9ce0adc2.entry.js} +2 -2
  89. package/dist/affinda/{p-8da30e7a.entry.js → p-9eba91fd.entry.js} +2 -2
  90. package/dist/affinda/{p-aa5c6cc0.entry.js → p-9f3e7116.entry.js} +2 -2
  91. package/dist/affinda/p-MwnBSqEY.js +3 -0
  92. package/dist/affinda/p-MwnBSqEY.js.map +1 -0
  93. package/dist/affinda/{p-636045e8.entry.js → p-a02d6192.entry.js} +2 -2
  94. package/dist/affinda/p-a1e80460.entry.js +2 -0
  95. package/dist/affinda/{p-6bb831c5.entry.js.map → p-a1e80460.entry.js.map} +1 -1
  96. package/dist/affinda/{p-2140698f.entry.js → p-a25d3257.entry.js} +2 -2
  97. package/dist/affinda/{p-401fc5b1.entry.js → p-a7a8f18c.entry.js} +2 -2
  98. package/dist/affinda/{p-a4d39bdd.entry.js → p-a8d75eb1.entry.js} +2 -2
  99. package/dist/affinda/{p-a3865306.entry.js → p-ae430873.entry.js} +2 -2
  100. package/dist/affinda/p-b39eea31.entry.js +2 -0
  101. package/dist/affinda/{p-570283f6.entry.js.map → p-b39eea31.entry.js.map} +1 -1
  102. package/dist/affinda/{p-2aa112c2.entry.js → p-b9ec0e75.entry.js} +2 -2
  103. package/dist/affinda/{p-2aa112c2.entry.js.map → p-b9ec0e75.entry.js.map} +1 -1
  104. package/dist/affinda/{p-5ab389c6.entry.js → p-bbfc9df6.entry.js} +2 -2
  105. package/dist/affinda/{p-a002c784.entry.js → p-bed7d9a1.entry.js} +2 -2
  106. package/dist/affinda/p-d7d82986.entry.js +2 -0
  107. package/dist/affinda/{p-07f9580c.entry.js.map → p-d7d82986.entry.js.map} +1 -1
  108. package/dist/affinda/p-dabd389a.entry.js +2 -0
  109. package/dist/affinda/p-dabd389a.entry.js.map +1 -0
  110. package/dist/affinda/{p-eb96f29b.entry.js → p-dcc89b4c.entry.js} +2 -2
  111. package/dist/affinda/{p-1dff35bf.entry.js → p-de75cb4f.entry.js} +2 -2
  112. package/dist/affinda/{p-7b7d9c6a.entry.js → p-e07e27f1.entry.js} +2 -2
  113. package/dist/affinda/{p-8f6884c8.entry.js → p-eeda78ea.entry.js} +2 -2
  114. package/dist/affinda/{p-d54abc45.entry.js → p-f19cb091.entry.js} +2 -2
  115. package/dist/cjs/af-accordion-item.cjs.entry.js +2 -2
  116. package/dist/cjs/af-accordion.cjs.entry.js +2 -2
  117. package/dist/cjs/af-aspect-ratio.cjs.entry.js +1 -1
  118. package/dist/cjs/af-button-group.cjs.entry.js +1 -1
  119. package/dist/cjs/af-button.cjs.entry.js +1 -1
  120. package/dist/cjs/af-card.cjs.entry.js +3 -3
  121. package/dist/cjs/af-card.entry.cjs.js.map +1 -1
  122. package/dist/cjs/af-center.cjs.entry.js +2 -2
  123. package/dist/cjs/af-checkbox.cjs.entry.js +1 -1
  124. package/dist/cjs/af-client-carousel.cjs.entry.js +21 -6
  125. package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
  126. package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
  127. package/dist/cjs/af-contact-item.cjs.entry.js +2 -2
  128. package/dist/cjs/af-container.cjs.entry.js +1 -1
  129. package/dist/cjs/af-divider.cjs.entry.js +2 -2
  130. package/dist/cjs/af-divider.entry.cjs.js.map +1 -1
  131. package/dist/cjs/af-feature-accordion.cjs.entry.js +4 -4
  132. package/dist/cjs/af-feature-accordion.entry.cjs.js.map +1 -1
  133. package/dist/cjs/af-feature-card.cjs.entry.js +1 -1
  134. package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -1
  135. package/dist/cjs/af-feature-grid.cjs.entry.js +2 -2
  136. package/dist/cjs/af-fieldset.cjs.entry.js +1 -1
  137. package/dist/cjs/af-footer-column.cjs.entry.js +2 -2
  138. package/dist/cjs/af-footer-link.cjs.entry.js +2 -2
  139. package/dist/cjs/af-footer.cjs.entry.js +3 -3
  140. package/dist/cjs/af-footer.entry.cjs.js.map +1 -1
  141. package/dist/cjs/af-grid-callout.cjs.entry.js +1 -1
  142. package/dist/cjs/af-grid.cjs.entry.js +3 -3
  143. package/dist/cjs/af-grid.entry.cjs.js.map +1 -1
  144. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
  145. package/dist/cjs/af-heading_5.cjs.entry.js +3 -3
  146. package/dist/cjs/af-hero.cjs.entry.js +94 -0
  147. package/dist/cjs/af-hero.entry.cjs.js.map +1 -0
  148. package/dist/cjs/af-icon-box.cjs.entry.js +2 -2
  149. package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
  150. package/dist/cjs/af-icon-text.cjs.entry.js +2 -2
  151. package/dist/cjs/af-icon.cjs.entry.js +1 -1
  152. package/dist/cjs/af-illustrated-card.cjs.entry.js +3 -3
  153. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -1
  154. package/dist/cjs/af-image.cjs.entry.js +2 -2
  155. package/dist/cjs/af-in-page-banner.cjs.entry.js +3 -3
  156. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -1
  157. package/dist/cjs/af-inline.cjs.entry.js +2 -2
  158. package/dist/cjs/af-inline.entry.cjs.js.map +1 -1
  159. package/dist/cjs/af-input.cjs.entry.js +1 -1
  160. package/dist/cjs/af-logo-well.cjs.entry.js +2 -2
  161. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +3 -3
  162. package/dist/cjs/af-nav-accordion.cjs.entry.js +2 -2
  163. package/dist/cjs/af-nav-card.cjs.entry.js +1 -1
  164. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +2 -2
  165. package/dist/cjs/af-nav-menu.cjs.entry.js +2 -2
  166. package/dist/cjs/af-number-badge.cjs.entry.js +2 -2
  167. package/dist/cjs/af-numbered-stepper-item.cjs.entry.js +25 -0
  168. package/dist/cjs/af-numbered-stepper-item.entry.cjs.js.map +1 -0
  169. package/dist/cjs/af-numbered-stepper.cjs.entry.js +36 -0
  170. package/dist/cjs/af-numbered-stepper.entry.cjs.js.map +1 -0
  171. package/dist/cjs/af-paperclip-decoration.cjs.entry.js +39 -0
  172. package/dist/cjs/af-paperclip-decoration.entry.cjs.js.map +1 -0
  173. package/dist/cjs/af-progress-line.cjs.entry.js +3 -3
  174. package/dist/cjs/af-radio.cjs.entry.js +1 -1
  175. package/dist/cjs/af-section.cjs.entry.js +3 -3
  176. package/dist/cjs/af-section.entry.cjs.js.map +1 -1
  177. package/dist/cjs/af-show.cjs.entry.js +2 -2
  178. package/dist/cjs/af-social-link.cjs.entry.js +2 -2
  179. package/dist/cjs/af-spacer.cjs.entry.js +2 -2
  180. package/dist/cjs/af-split-section.cjs.entry.js +3 -3
  181. package/dist/cjs/af-split-section.entry.cjs.js.map +1 -1
  182. package/dist/cjs/af-stack.cjs.entry.js +2 -2
  183. package/dist/cjs/af-stack.entry.cjs.js.map +1 -1
  184. package/dist/cjs/af-stat.cjs.entry.js +18 -0
  185. package/dist/cjs/af-stat.entry.cjs.js.map +1 -0
  186. package/dist/cjs/af-stats-row.cjs.entry.js +18 -0
  187. package/dist/cjs/af-stats-row.entry.cjs.js.map +1 -0
  188. package/dist/cjs/af-stepper-step.cjs.entry.js +2 -2
  189. package/dist/cjs/af-stepper.cjs.entry.js +2 -2
  190. package/dist/cjs/af-switch.cjs.entry.js +1 -1
  191. package/dist/cjs/af-tab-bar.cjs.entry.js +1 -1
  192. package/dist/cjs/af-tab.cjs.entry.js +1 -1
  193. package/dist/cjs/af-tag.cjs.entry.js +1 -1
  194. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +2 -2
  195. package/dist/cjs/af-testimonial-stat.cjs.entry.js +2 -2
  196. package/dist/cjs/af-testimonial.cjs.entry.js +3 -3
  197. package/dist/cjs/af-text-image-nest.cjs.entry.js +2 -2
  198. package/dist/cjs/af-text-image.cjs.entry.js +1 -1
  199. package/dist/cjs/af-textarea.cjs.entry.js +1 -1
  200. package/dist/cjs/af-theme-override.cjs.entry.js +2 -2
  201. package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -1
  202. package/dist/cjs/af-typography-lockup.cjs.entry.js +11 -5
  203. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
  204. package/dist/cjs/af-video-container.cjs.entry.js +2 -2
  205. package/dist/cjs/af-visually-hidden.cjs.entry.js +2 -2
  206. package/dist/cjs/affinda.cjs.js +2 -2
  207. package/dist/cjs/{index-CcvVbx1D.js → index-BzZA0USq.js} +3 -3
  208. package/dist/cjs/index-BzZA0USq.js.map +1 -0
  209. package/dist/cjs/index.cjs.js +3 -1
  210. package/dist/cjs/index.cjs.js.map +1 -1
  211. package/dist/cjs/loader.cjs.js +2 -2
  212. package/dist/collection/collection-manifest.json +6 -0
  213. package/dist/collection/components/af-accordion/af-accordion.js +1 -1
  214. package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -1
  215. package/dist/collection/components/af-card/af-card.css +4 -1
  216. package/dist/collection/components/af-card/af-card.js +9 -3
  217. package/dist/collection/components/af-card/af-card.js.map +1 -1
  218. package/dist/collection/components/af-center/af-center.js +1 -1
  219. package/dist/collection/components/af-client-carousel/af-client-carousel.css +36 -0
  220. package/dist/collection/components/af-client-carousel/af-client-carousel.js +61 -16
  221. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
  222. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  223. package/dist/collection/components/af-divider/af-divider.js +1 -1
  224. package/dist/collection/components/af-divider/af-divider.js.map +1 -1
  225. package/dist/collection/components/af-feature-accordion/af-feature-accordion.css +27 -5
  226. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
  227. package/dist/collection/components/af-feature-card/af-feature-card.js +8 -2
  228. package/dist/collection/components/af-feature-card/af-feature-card.js.map +1 -1
  229. package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
  230. package/dist/collection/components/af-footer/af-footer.css +5 -2
  231. package/dist/collection/components/af-footer/af-footer.js +1 -1
  232. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  233. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  234. package/dist/collection/components/af-grid/af-grid.js +5 -4
  235. package/dist/collection/components/af-grid/af-grid.js.map +1 -1
  236. package/dist/collection/components/af-hero/af-hero.css +282 -0
  237. package/dist/collection/components/af-hero/af-hero.js +314 -0
  238. package/dist/collection/components/af-hero/af-hero.js.map +1 -0
  239. package/dist/collection/components/af-icon-box/af-icon-box.js +1 -1
  240. package/dist/collection/components/af-icon-text/af-icon-text.js +1 -1
  241. package/dist/collection/components/af-illustrated-card/af-illustrated-card.css +5 -1
  242. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +9 -3
  243. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -1
  244. package/dist/collection/components/af-image/af-image.js +1 -1
  245. package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +6 -4
  246. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +7 -6
  247. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -1
  248. package/dist/collection/components/af-inline/af-inline.js +4 -3
  249. package/dist/collection/components/af-inline/af-inline.js.map +1 -1
  250. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  251. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -1
  252. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -2
  253. package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -1
  254. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -1
  255. package/dist/collection/components/af-navbar/af-navbar.css +4 -1
  256. package/dist/collection/components/af-navbar/af-navbar.js +10 -4
  257. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
  258. package/dist/collection/components/af-number-badge/af-number-badge.js +1 -1
  259. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.css +30 -0
  260. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js +92 -0
  261. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js.map +1 -0
  262. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.css +113 -0
  263. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js +66 -0
  264. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js.map +1 -0
  265. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.css +11 -0
  266. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +152 -0
  267. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js.map +1 -0
  268. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
  269. package/dist/collection/components/af-section/af-section.js +18 -6
  270. package/dist/collection/components/af-section/af-section.js.map +1 -1
  271. package/dist/collection/components/af-show/af-show.js +1 -1
  272. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  273. package/dist/collection/components/af-spacer/af-spacer.js +1 -1
  274. package/dist/collection/components/af-split-section/af-split-section.js +16 -8
  275. package/dist/collection/components/af-split-section/af-split-section.js.map +1 -1
  276. package/dist/collection/components/af-stack/af-stack.js +4 -3
  277. package/dist/collection/components/af-stack/af-stack.js.map +1 -1
  278. package/dist/collection/components/af-stat/af-stat.css +25 -0
  279. package/dist/collection/components/af-stat/af-stat.js +69 -0
  280. package/dist/collection/components/af-stat/af-stat.js.map +1 -0
  281. package/dist/collection/components/af-stats-row/af-stats-row.css +32 -0
  282. package/dist/collection/components/af-stats-row/af-stats-row.js +33 -0
  283. package/dist/collection/components/af-stats-row/af-stats-row.js.map +1 -0
  284. package/dist/collection/components/af-stepper/af-stepper.js +1 -1
  285. package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -1
  286. package/dist/collection/components/af-testimonial/af-testimonial.js +2 -2
  287. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
  288. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  289. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
  290. package/dist/collection/components/af-theme-override/af-theme-override.js +9 -3
  291. package/dist/collection/components/af-theme-override/af-theme-override.js.map +1 -1
  292. package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +36 -12
  293. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +27 -9
  294. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
  295. package/dist/collection/components/af-video-container/af-video-container.js +1 -1
  296. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
  297. package/dist/collection/components.js +1 -0
  298. package/dist/collection/components.js.map +1 -1
  299. package/dist/collection/types.js +2 -0
  300. package/dist/collection/types.js.map +1 -0
  301. package/dist/components/af-accordion-item.js +2 -2
  302. package/dist/components/af-accordion.js +2 -2
  303. package/dist/components/af-aspect-ratio.js +1 -1
  304. package/dist/components/af-button-group.js +1 -1
  305. package/dist/components/af-button.js +1 -1
  306. package/dist/components/af-card.js +1 -1
  307. package/dist/components/af-center.js +2 -2
  308. package/dist/components/af-checkbox.js +1 -1
  309. package/dist/components/af-client-carousel.js +23 -7
  310. package/dist/components/af-client-carousel.js.map +1 -1
  311. package/dist/components/af-color-swatch.js +1 -1
  312. package/dist/components/af-contact-item.js +2 -2
  313. package/dist/components/af-container.js +1 -1
  314. package/dist/components/af-divider.js +2 -2
  315. package/dist/components/af-divider.js.map +1 -1
  316. package/dist/components/af-feature-accordion.js +4 -4
  317. package/dist/components/af-feature-accordion.js.map +1 -1
  318. package/dist/components/af-feature-card.js +1 -1
  319. package/dist/components/af-feature-grid.js +3 -3
  320. package/dist/components/af-fieldset.js +1 -1
  321. package/dist/components/af-footer-column.js +2 -2
  322. package/dist/components/af-footer-link.js +2 -2
  323. package/dist/components/af-footer.js +3 -3
  324. package/dist/components/af-footer.js.map +1 -1
  325. package/dist/components/af-grid-callout.js +2 -2
  326. package/dist/components/af-grid.js +3 -3
  327. package/dist/components/af-grid.js.map +1 -1
  328. package/dist/components/af-heading.js +1 -1
  329. package/dist/components/af-hero.d.ts +11 -0
  330. package/dist/components/af-hero.js +9 -0
  331. package/dist/components/af-hero.js.map +1 -0
  332. package/dist/components/af-icon-box.js +1 -1
  333. package/dist/components/af-icon-button.js +1 -1
  334. package/dist/components/af-icon-text.js +5 -5
  335. package/dist/components/af-icon.js +1 -1
  336. package/dist/components/af-illustrated-card.js +1 -1
  337. package/dist/components/af-image.js +1 -1
  338. package/dist/components/af-in-page-banner.js +4 -4
  339. package/dist/components/af-in-page-banner.js.map +1 -1
  340. package/dist/components/af-inline.js +2 -2
  341. package/dist/components/af-inline.js.map +1 -1
  342. package/dist/components/af-input.js +1 -1
  343. package/dist/components/af-logo-well.js +2 -2
  344. package/dist/components/af-logo.js +1 -1
  345. package/dist/components/af-nav-accordion-item.js +3 -3
  346. package/dist/components/af-nav-accordion.js +2 -2
  347. package/dist/components/af-nav-card.js +1 -1
  348. package/dist/components/af-nav-item.js +1 -1
  349. package/dist/components/af-nav-menu-nest.js +2 -2
  350. package/dist/components/af-nav-menu.js +2 -2
  351. package/dist/components/af-navbar.js +1 -1
  352. package/dist/components/af-number-badge.js +1 -58
  353. package/dist/components/af-number-badge.js.map +1 -1
  354. package/dist/components/af-numbered-stepper-item.d.ts +11 -0
  355. package/dist/components/af-numbered-stepper-item.js +58 -0
  356. package/dist/components/af-numbered-stepper-item.js.map +1 -0
  357. package/dist/components/af-numbered-stepper.d.ts +11 -0
  358. package/dist/components/af-numbered-stepper.js +57 -0
  359. package/dist/components/af-numbered-stepper.js.map +1 -0
  360. package/dist/components/af-paperclip-decoration.d.ts +11 -0
  361. package/dist/components/af-paperclip-decoration.js +64 -0
  362. package/dist/components/af-paperclip-decoration.js.map +1 -0
  363. package/dist/components/af-progress-line.js +1 -1
  364. package/dist/components/af-radio.js +1 -1
  365. package/dist/components/af-section.js +1 -46
  366. package/dist/components/af-section.js.map +1 -1
  367. package/dist/components/af-show.js +2 -2
  368. package/dist/components/af-social-link.js +2 -2
  369. package/dist/components/af-spacer.js +2 -2
  370. package/dist/components/af-split-section.js +4 -4
  371. package/dist/components/af-split-section.js.map +1 -1
  372. package/dist/components/af-stack.js +2 -2
  373. package/dist/components/af-stack.js.map +1 -1
  374. package/dist/components/af-stat.d.ts +11 -0
  375. package/dist/components/af-stat.js +53 -0
  376. package/dist/components/af-stat.js.map +1 -0
  377. package/dist/components/af-stats-row.d.ts +11 -0
  378. package/dist/components/af-stats-row.js +37 -0
  379. package/dist/components/af-stats-row.js.map +1 -0
  380. package/dist/components/af-stepper-step.js +2 -2
  381. package/dist/components/af-stepper.js +2 -2
  382. package/dist/components/af-switch.js +1 -1
  383. package/dist/components/af-tab-bar.js +1 -1
  384. package/dist/components/af-tab.js +1 -1
  385. package/dist/components/af-tag.js +1 -1
  386. package/dist/components/af-testimonial-carousel.js +3 -3
  387. package/dist/components/af-testimonial-stat.js +4 -4
  388. package/dist/components/af-testimonial.js +6 -6
  389. package/dist/components/af-text-image-nest.js +2 -2
  390. package/dist/components/af-text-image.js +2 -2
  391. package/dist/components/af-text.js +1 -1
  392. package/dist/components/af-textarea.js +1 -1
  393. package/dist/components/af-theme-override.js +2 -2
  394. package/dist/components/af-theme-override.js.map +1 -1
  395. package/dist/components/af-typography-lockup.js +1 -1
  396. package/dist/components/af-video-container.js +4 -4
  397. package/dist/components/af-visually-hidden.js +2 -2
  398. package/dist/components/index.js +25 -24
  399. package/dist/components/index.js.map +1 -1
  400. package/dist/components/{p-CNuja1ax.js → p--gChEc0P.js} +3 -3
  401. package/dist/components/{p-CNuja1ax.js.map → p--gChEc0P.js.map} +1 -1
  402. package/dist/components/{p-TfjpcU9q.js → p-3Gzh4deR.js} +7 -7
  403. package/dist/components/p-3Gzh4deR.js.map +1 -0
  404. package/dist/components/{p-DCu8UsJv.js → p-BRDu9zN1.js} +3 -3
  405. package/dist/components/{p-DCu8UsJv.js.map → p-BRDu9zN1.js.map} +1 -1
  406. package/dist/components/{p-CSsp_M05.js → p-BROLmNeM.js} +3 -3
  407. package/dist/components/{p-CSsp_M05.js.map → p-BROLmNeM.js.map} +1 -1
  408. package/dist/components/{p-Dz4dEIxw.js → p-BT13eL0Y.js} +3 -3
  409. package/dist/components/{p-Dz4dEIxw.js.map → p-BT13eL0Y.js.map} +1 -1
  410. package/dist/components/{p-DAYoQm46.js → p-BW-FxZwa.js} +3 -3
  411. package/dist/components/{p-DAYoQm46.js.map → p-BW-FxZwa.js.map} +1 -1
  412. package/dist/components/{p-DwhGQrZK.js → p-BXmiPS9x.js} +5 -5
  413. package/dist/components/{p-DwhGQrZK.js.map → p-BXmiPS9x.js.map} +1 -1
  414. package/dist/components/{p-aAVeavhK.js → p-B_OoX__z.js} +3 -3
  415. package/dist/components/{p-aAVeavhK.js.map → p-B_OoX__z.js.map} +1 -1
  416. package/dist/components/{p-C0R_vg0S.js → p-BgXXQG75.js} +3 -3
  417. package/dist/components/{p-C0R_vg0S.js.map → p-BgXXQG75.js.map} +1 -1
  418. package/dist/components/{p-DqgLTGE0.js → p-C4G6votC.js} +3 -3
  419. package/dist/components/{p-DqgLTGE0.js.map → p-C4G6votC.js.map} +1 -1
  420. package/dist/components/p-CJxqw006.js +53 -0
  421. package/dist/components/p-CJxqw006.js.map +1 -0
  422. package/dist/components/{p-CHLm_AuW.js → p-CP8rLe_C.js} +3 -3
  423. package/dist/components/{p-CHLm_AuW.js.map → p-CP8rLe_C.js.map} +1 -1
  424. package/dist/components/p-CRnEuh5f.js +136 -0
  425. package/dist/components/p-CRnEuh5f.js.map +1 -0
  426. package/dist/components/{p-Bw8fdMnn.js → p-CX0pktY8.js} +3 -3
  427. package/dist/components/{p-Bw8fdMnn.js.map → p-CX0pktY8.js.map} +1 -1
  428. package/dist/components/{p-CAUqW6Mp.js → p-CYKk6Qhi.js} +3 -3
  429. package/dist/components/{p-CAUqW6Mp.js.map → p-CYKk6Qhi.js.map} +1 -1
  430. package/dist/components/{p-N0xV1Erp.js → p-ClZAZSzR.js} +14 -8
  431. package/dist/components/p-ClZAZSzR.js.map +1 -0
  432. package/dist/components/{p-DkaLi-uL.js → p-CoL_hRAR.js} +3 -3
  433. package/dist/components/{p-DkaLi-uL.js.map → p-CoL_hRAR.js.map} +1 -1
  434. package/dist/components/{p-CB9GFAlk.js → p-D8DmhESZ.js} +3 -3
  435. package/dist/components/{p-CB9GFAlk.js.map → p-D8DmhESZ.js.map} +1 -1
  436. package/dist/components/{p-B3Yr4Hxx.js → p-DJC-C2BS.js} +3 -3
  437. package/dist/components/{p-B3Yr4Hxx.js.map → p-DJC-C2BS.js.map} +1 -1
  438. package/dist/components/{p-CqQyDZ-4.js → p-DOgb6SUj.js} +3 -3
  439. package/dist/components/p-DOgb6SUj.js.map +1 -0
  440. package/dist/components/{p-Dxa6cHAb.js → p-DbVc-b1e.js} +3 -3
  441. package/dist/components/{p-Dxa6cHAb.js.map → p-DbVc-b1e.js.map} +1 -1
  442. package/dist/components/{p-D3oGtcJ5.js → p-Dd3nOGt_.js} +3 -3
  443. package/dist/components/{p-D3oGtcJ5.js.map → p-Dd3nOGt_.js.map} +1 -1
  444. package/dist/components/{p-DRujYIJW.js → p-DqJRvNOl.js} +6 -6
  445. package/dist/components/p-DqJRvNOl.js.map +1 -0
  446. package/dist/components/{p-DGBMGvZK.js → p-Dx_UXI2a.js} +3 -3
  447. package/dist/components/{p-DGBMGvZK.js.map → p-Dx_UXI2a.js.map} +1 -1
  448. package/dist/components/{p-DENib4OL.js → p-DyZaoX4Q.js} +3 -3
  449. package/dist/components/{p-DENib4OL.js.map → p-DyZaoX4Q.js.map} +1 -1
  450. package/dist/components/{p-CKcuq0NU.js → p-LRPXnaSx.js} +4 -4
  451. package/dist/components/{p-CKcuq0NU.js.map → p-LRPXnaSx.js.map} +1 -1
  452. package/dist/components/{p-DMOGClIa.js → p-NtJ_O8-z.js} +3 -3
  453. package/dist/components/{p-DMOGClIa.js.map → p-NtJ_O8-z.js.map} +1 -1
  454. package/dist/components/p-O26uYJSV.js +51 -0
  455. package/dist/components/p-O26uYJSV.js.map +1 -0
  456. package/dist/components/p-QoDae21y.js +63 -0
  457. package/dist/components/p-QoDae21y.js.map +1 -0
  458. package/dist/components/{p-D30gSxh2.js → p-kEqwmn80.js} +3 -3
  459. package/dist/components/{p-D30gSxh2.js.map → p-kEqwmn80.js.map} +1 -1
  460. package/dist/components/{p-XrKBGe-M.js → p-mbl86-w6.js} +5 -5
  461. package/dist/components/p-mbl86-w6.js.map +1 -0
  462. package/dist/components/{p-BHAWxoQE.js → p-nA3Uvhwb.js} +5 -5
  463. package/dist/components/{p-BHAWxoQE.js.map → p-nA3Uvhwb.js.map} +1 -1
  464. package/dist/esm/af-accordion-item.entry.js +2 -2
  465. package/dist/esm/af-accordion.entry.js +2 -2
  466. package/dist/esm/af-aspect-ratio.entry.js +1 -1
  467. package/dist/esm/af-button-group.entry.js +1 -1
  468. package/dist/esm/af-button.entry.js +1 -1
  469. package/dist/esm/af-card.entry.js +3 -3
  470. package/dist/esm/af-card.entry.js.map +1 -1
  471. package/dist/esm/af-center.entry.js +2 -2
  472. package/dist/esm/af-checkbox.entry.js +1 -1
  473. package/dist/esm/af-client-carousel.entry.js +21 -6
  474. package/dist/esm/af-client-carousel.entry.js.map +1 -1
  475. package/dist/esm/af-color-swatch.entry.js +1 -1
  476. package/dist/esm/af-contact-item.entry.js +2 -2
  477. package/dist/esm/af-container.entry.js +1 -1
  478. package/dist/esm/af-divider.entry.js +2 -2
  479. package/dist/esm/af-divider.entry.js.map +1 -1
  480. package/dist/esm/af-feature-accordion.entry.js +4 -4
  481. package/dist/esm/af-feature-accordion.entry.js.map +1 -1
  482. package/dist/esm/af-feature-card.entry.js +1 -1
  483. package/dist/esm/af-feature-card.entry.js.map +1 -1
  484. package/dist/esm/af-feature-grid.entry.js +2 -2
  485. package/dist/esm/af-fieldset.entry.js +1 -1
  486. package/dist/esm/af-footer-column.entry.js +2 -2
  487. package/dist/esm/af-footer-link.entry.js +2 -2
  488. package/dist/esm/af-footer.entry.js +3 -3
  489. package/dist/esm/af-footer.entry.js.map +1 -1
  490. package/dist/esm/af-grid-callout.entry.js +1 -1
  491. package/dist/esm/af-grid.entry.js +3 -3
  492. package/dist/esm/af-grid.entry.js.map +1 -1
  493. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
  494. package/dist/esm/af-heading_5.entry.js +3 -3
  495. package/dist/esm/af-hero.entry.js +92 -0
  496. package/dist/esm/af-hero.entry.js.map +1 -0
  497. package/dist/esm/af-icon-box.entry.js +2 -2
  498. package/dist/esm/af-icon-button.entry.js +1 -1
  499. package/dist/esm/af-icon-text.entry.js +2 -2
  500. package/dist/esm/af-icon.entry.js +1 -1
  501. package/dist/esm/af-illustrated-card.entry.js +3 -3
  502. package/dist/esm/af-illustrated-card.entry.js.map +1 -1
  503. package/dist/esm/af-image.entry.js +2 -2
  504. package/dist/esm/af-in-page-banner.entry.js +3 -3
  505. package/dist/esm/af-in-page-banner.entry.js.map +1 -1
  506. package/dist/esm/af-inline.entry.js +2 -2
  507. package/dist/esm/af-inline.entry.js.map +1 -1
  508. package/dist/esm/af-input.entry.js +1 -1
  509. package/dist/esm/af-logo-well.entry.js +2 -2
  510. package/dist/esm/af-nav-accordion-item.entry.js +3 -3
  511. package/dist/esm/af-nav-accordion.entry.js +2 -2
  512. package/dist/esm/af-nav-card.entry.js +1 -1
  513. package/dist/esm/af-nav-menu-nest.entry.js +2 -2
  514. package/dist/esm/af-nav-menu.entry.js +2 -2
  515. package/dist/esm/af-number-badge.entry.js +2 -2
  516. package/dist/esm/af-numbered-stepper-item.entry.js +23 -0
  517. package/dist/esm/af-numbered-stepper-item.entry.js.map +1 -0
  518. package/dist/esm/af-numbered-stepper.entry.js +34 -0
  519. package/dist/esm/af-numbered-stepper.entry.js.map +1 -0
  520. package/dist/esm/af-paperclip-decoration.entry.js +37 -0
  521. package/dist/esm/af-paperclip-decoration.entry.js.map +1 -0
  522. package/dist/esm/af-progress-line.entry.js +3 -3
  523. package/dist/esm/af-radio.entry.js +1 -1
  524. package/dist/esm/af-section.entry.js +3 -3
  525. package/dist/esm/af-section.entry.js.map +1 -1
  526. package/dist/esm/af-show.entry.js +2 -2
  527. package/dist/esm/af-social-link.entry.js +2 -2
  528. package/dist/esm/af-spacer.entry.js +2 -2
  529. package/dist/esm/af-split-section.entry.js +3 -3
  530. package/dist/esm/af-split-section.entry.js.map +1 -1
  531. package/dist/esm/af-stack.entry.js +2 -2
  532. package/dist/esm/af-stack.entry.js.map +1 -1
  533. package/dist/esm/af-stat.entry.js +16 -0
  534. package/dist/esm/af-stat.entry.js.map +1 -0
  535. package/dist/esm/af-stats-row.entry.js +16 -0
  536. package/dist/esm/af-stats-row.entry.js.map +1 -0
  537. package/dist/esm/af-stepper-step.entry.js +2 -2
  538. package/dist/esm/af-stepper.entry.js +2 -2
  539. package/dist/esm/af-switch.entry.js +1 -1
  540. package/dist/esm/af-tab-bar.entry.js +1 -1
  541. package/dist/esm/af-tab.entry.js +1 -1
  542. package/dist/esm/af-tag.entry.js +1 -1
  543. package/dist/esm/af-testimonial-carousel.entry.js +2 -2
  544. package/dist/esm/af-testimonial-stat.entry.js +2 -2
  545. package/dist/esm/af-testimonial.entry.js +3 -3
  546. package/dist/esm/af-text-image-nest.entry.js +2 -2
  547. package/dist/esm/af-text-image.entry.js +1 -1
  548. package/dist/esm/af-textarea.entry.js +1 -1
  549. package/dist/esm/af-theme-override.entry.js +2 -2
  550. package/dist/esm/af-theme-override.entry.js.map +1 -1
  551. package/dist/esm/af-typography-lockup.entry.js +11 -5
  552. package/dist/esm/af-typography-lockup.entry.js.map +1 -1
  553. package/dist/esm/af-video-container.entry.js +2 -2
  554. package/dist/esm/af-visually-hidden.entry.js +2 -2
  555. package/dist/esm/affinda.js +3 -3
  556. package/dist/esm/{index-nb89SRN6.js → index-MwnBSqEY.js} +3 -3
  557. package/dist/esm/index-MwnBSqEY.js.map +1 -0
  558. package/dist/esm/index.js +2 -1
  559. package/dist/esm/index.js.map +1 -1
  560. package/dist/esm/loader.js +3 -3
  561. package/dist/types/components/af-card/af-card.d.ts +2 -1
  562. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +26 -13
  563. package/dist/types/components/af-divider/af-divider.d.ts +2 -1
  564. package/dist/types/components/af-feature-card/af-feature-card.d.ts +2 -1
  565. package/dist/types/components/af-grid/af-grid.d.ts +1 -1
  566. package/dist/types/components/af-hero/af-hero.d.ts +93 -0
  567. package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +2 -1
  568. package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +2 -3
  569. package/dist/types/components/af-inline/af-inline.d.ts +1 -1
  570. package/dist/types/components/af-navbar/af-navbar.d.ts +2 -1
  571. package/dist/types/components/af-numbered-stepper/af-numbered-stepper.d.ts +38 -0
  572. package/dist/types/components/af-numbered-stepper-item/af-numbered-stepper-item.d.ts +22 -0
  573. package/dist/types/components/af-paperclip-decoration/af-paperclip-decoration.d.ts +50 -0
  574. package/dist/types/components/af-section/af-section.d.ts +3 -2
  575. package/dist/types/components/af-split-section/af-split-section.d.ts +2 -3
  576. package/dist/types/components/af-stack/af-stack.d.ts +1 -1
  577. package/dist/types/components/af-stat/af-stat.d.ts +15 -0
  578. package/dist/types/components/af-stats-row/af-stats-row.d.ts +17 -0
  579. package/dist/types/components/af-theme-override/af-theme-override.d.ts +2 -1
  580. package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +12 -4
  581. package/dist/types/components.d.ts +800 -64
  582. package/dist/types/types.d.ts +57 -0
  583. package/package.json +3 -3
  584. package/dist/affinda/p-07f9580c.entry.js +0 -2
  585. package/dist/affinda/p-50590601.entry.js +0 -2
  586. package/dist/affinda/p-570283f6.entry.js +0 -2
  587. package/dist/affinda/p-5b3ff010.entry.js +0 -2
  588. package/dist/affinda/p-5e5d16dd.entry.js +0 -2
  589. package/dist/affinda/p-6bb831c5.entry.js +0 -2
  590. package/dist/affinda/p-9229defb.entry.js +0 -2
  591. package/dist/affinda/p-9229defb.entry.js.map +0 -1
  592. package/dist/affinda/p-94adb381.entry.js +0 -2
  593. package/dist/affinda/p-b14c1a4b.entry.js +0 -2
  594. package/dist/affinda/p-cc22a8da.entry.js +0 -2
  595. package/dist/affinda/p-d60d1943.entry.js +0 -2
  596. package/dist/affinda/p-d7e29257.entry.js +0 -2
  597. package/dist/affinda/p-da999c10.entry.js +0 -2
  598. package/dist/affinda/p-f9e3c2b7.entry.js +0 -2
  599. package/dist/affinda/p-nb89SRN6.js +0 -3
  600. package/dist/affinda/p-nb89SRN6.js.map +0 -1
  601. package/dist/cjs/index-CcvVbx1D.js.map +0 -1
  602. package/dist/components/p-BO4blShf.js +0 -53
  603. package/dist/components/p-BO4blShf.js.map +0 -1
  604. package/dist/components/p-CqQyDZ-4.js.map +0 -1
  605. package/dist/components/p-DRujYIJW.js.map +0 -1
  606. package/dist/components/p-N0xV1Erp.js.map +0 -1
  607. package/dist/components/p-TfjpcU9q.js.map +0 -1
  608. package/dist/components/p-XrKBGe-M.js.map +0 -1
  609. package/dist/esm/index-nb89SRN6.js.map +0 -1
  610. /package/dist/affinda/{p-9bb5202e.entry.js.map → p-09dfcd40.entry.js.map} +0 -0
  611. /package/dist/affinda/{p-6eca2722.entry.js.map → p-15f0bd34.entry.js.map} +0 -0
  612. /package/dist/affinda/{p-97ac8f5f.entry.js.map → p-1b4b0c88.entry.js.map} +0 -0
  613. /package/dist/affinda/{p-2c655ae2.entry.js.map → p-1c96856a.entry.js.map} +0 -0
  614. /package/dist/affinda/{p-4cbdf940.entry.js.map → p-24e74c10.entry.js.map} +0 -0
  615. /package/dist/affinda/{p-bf941fa7.entry.js.map → p-256970e3.entry.js.map} +0 -0
  616. /package/dist/affinda/{p-5b3ff010.entry.js.map → p-32d62fbb.entry.js.map} +0 -0
  617. /package/dist/affinda/{p-af3f6e16.entry.js.map → p-342b08e5.entry.js.map} +0 -0
  618. /package/dist/affinda/{p-102e8b8c.entry.js.map → p-35607741.entry.js.map} +0 -0
  619. /package/dist/affinda/{p-c7ba4e7f.entry.js.map → p-364ffa25.entry.js.map} +0 -0
  620. /package/dist/affinda/{p-e9f8ef54.entry.js.map → p-365a75e2.entry.js.map} +0 -0
  621. /package/dist/affinda/{p-d7e29257.entry.js.map → p-3ed408f6.entry.js.map} +0 -0
  622. /package/dist/affinda/{p-80c96efd.entry.js.map → p-4058a1eb.entry.js.map} +0 -0
  623. /package/dist/affinda/{p-159fe9b1.entry.js.map → p-41bbb218.entry.js.map} +0 -0
  624. /package/dist/affinda/{p-f9b6d1c6.entry.js.map → p-43f40921.entry.js.map} +0 -0
  625. /package/dist/affinda/{p-0f3267ea.entry.js.map → p-4a355b69.entry.js.map} +0 -0
  626. /package/dist/affinda/{p-3ecf43aa.entry.js.map → p-4b2c0698.entry.js.map} +0 -0
  627. /package/dist/affinda/{p-12652bf5.entry.js.map → p-4f59b554.entry.js.map} +0 -0
  628. /package/dist/affinda/{p-4e8bd716.entry.js.map → p-5c163c5b.entry.js.map} +0 -0
  629. /package/dist/affinda/{p-8d9d0cb3.entry.js.map → p-5e5e7d75.entry.js.map} +0 -0
  630. /package/dist/affinda/{p-648e2d76.entry.js.map → p-61a6b43d.entry.js.map} +0 -0
  631. /package/dist/affinda/{p-94adb381.entry.js.map → p-6756aa66.entry.js.map} +0 -0
  632. /package/dist/affinda/{p-432c7bfc.entry.js.map → p-6c33fee6.entry.js.map} +0 -0
  633. /package/dist/affinda/{p-f9e3c2b7.entry.js.map → p-6e181b2b.entry.js.map} +0 -0
  634. /package/dist/affinda/{p-816deae3.entry.js.map → p-6ea474a3.entry.js.map} +0 -0
  635. /package/dist/affinda/{p-ef41e743.entry.js.map → p-7111051c.entry.js.map} +0 -0
  636. /package/dist/affinda/{p-23aa03dc.entry.js.map → p-76cb736d.entry.js.map} +0 -0
  637. /package/dist/affinda/{p-e78112d9.entry.js.map → p-7867c2ff.entry.js.map} +0 -0
  638. /package/dist/affinda/{p-11e7ddf3.entry.js.map → p-827f3050.entry.js.map} +0 -0
  639. /package/dist/affinda/{p-77ed47d5.entry.js.map → p-83bb96cc.entry.js.map} +0 -0
  640. /package/dist/affinda/{p-5e444a9a.entry.js.map → p-862a2509.entry.js.map} +0 -0
  641. /package/dist/affinda/{p-7238fc21.entry.js.map → p-86f6dfdc.entry.js.map} +0 -0
  642. /package/dist/affinda/{p-e0163836.entry.js.map → p-90ef7baa.entry.js.map} +0 -0
  643. /package/dist/affinda/{p-ab0b621e.entry.js.map → p-9480f00d.entry.js.map} +0 -0
  644. /package/dist/affinda/{p-3ca3e4dc.entry.js.map → p-95d4696a.entry.js.map} +0 -0
  645. /package/dist/affinda/{p-892f9bc3.entry.js.map → p-9aed7039.entry.js.map} +0 -0
  646. /package/dist/affinda/{p-bfc17d0c.entry.js.map → p-9c1e9bd8.entry.js.map} +0 -0
  647. /package/dist/affinda/{p-be45f85c.entry.js.map → p-9ce0adc2.entry.js.map} +0 -0
  648. /package/dist/affinda/{p-8da30e7a.entry.js.map → p-9eba91fd.entry.js.map} +0 -0
  649. /package/dist/affinda/{p-aa5c6cc0.entry.js.map → p-9f3e7116.entry.js.map} +0 -0
  650. /package/dist/affinda/{p-636045e8.entry.js.map → p-a02d6192.entry.js.map} +0 -0
  651. /package/dist/affinda/{p-2140698f.entry.js.map → p-a25d3257.entry.js.map} +0 -0
  652. /package/dist/affinda/{p-401fc5b1.entry.js.map → p-a7a8f18c.entry.js.map} +0 -0
  653. /package/dist/affinda/{p-a4d39bdd.entry.js.map → p-a8d75eb1.entry.js.map} +0 -0
  654. /package/dist/affinda/{p-a3865306.entry.js.map → p-ae430873.entry.js.map} +0 -0
  655. /package/dist/affinda/{p-5ab389c6.entry.js.map → p-bbfc9df6.entry.js.map} +0 -0
  656. /package/dist/affinda/{p-a002c784.entry.js.map → p-bed7d9a1.entry.js.map} +0 -0
  657. /package/dist/affinda/{p-eb96f29b.entry.js.map → p-dcc89b4c.entry.js.map} +0 -0
  658. /package/dist/affinda/{p-1dff35bf.entry.js.map → p-de75cb4f.entry.js.map} +0 -0
  659. /package/dist/affinda/{p-7b7d9c6a.entry.js.map → p-e07e27f1.entry.js.map} +0 -0
  660. /package/dist/affinda/{p-8f6884c8.entry.js.map → p-eeda78ea.entry.js.map} +0 -0
  661. /package/dist/affinda/{p-d54abc45.entry.js.map → p-f19cb091.entry.js.map} +0 -0
@@ -94,7 +94,7 @@ export class AfTestimonialCarousel {
94
94
  return (this.currentIndex + 1) / this.testimonialCount;
95
95
  }
96
96
  render() {
97
- return (h(Host, { key: 'eb9042ba8aa89a99b81f8f6b477b50e44f6ef747' }, h("div", { key: 'aeeab184ea0954c9be173c4cc0e18b9f840cbf4d', class: "testimonial-carousel" }, h("div", { key: '57e2d480f737af4e6edad66475d3394eb7d4f6d7', class: "testimonial-slides" }, h("slot", { key: '21167cf84f89dcecbc87f2d1010f6fcf77975ca1' })), this.testimonialCount > 1 && (h("div", { key: '3c3211d3d523a4cf8f9178294f3dba4b491a82dc', class: "testimonial-progress" }, h("af-progress-line", { key: '63013ffeb317f2365d27843611e4210a4baa4984', progress: this.getProgress() }))))));
97
+ return (h(Host, { key: '4e4c2220f56d641b152b642f43d028aa290c076e' }, h("div", { key: '0df236a362b8604e7a4c9d48e477bc2ca900a520', class: "testimonial-carousel" }, h("div", { key: '0aa27d9bcdba7244dbe7649d6babab1116651080', class: "testimonial-slides" }, h("slot", { key: 'eb31599bb95f0355e51265cdd0bb3e5ca23ac2fa' })), this.testimonialCount > 1 && (h("div", { key: 'cc1314e5bdacd0610d0b848ce0cf39b43df38adb', class: "testimonial-progress" }, h("af-progress-line", { key: '4882ca8fa8b283940cf7654d4497a02e29914675', progress: this.getProgress() }))))));
98
98
  }
99
99
  static get is() { return "af-testimonial-carousel"; }
100
100
  static get encapsulation() { return "scoped"; }
@@ -7,7 +7,7 @@ export class AfTestimonialStat {
7
7
  this.accentBorder = false;
8
8
  }
9
9
  render() {
10
- return (h(Host, { key: '3854dc5e24bdfdfc96ff889f65231ed765f1cb2a' }, h("div", { key: 'bde58050e26a65197cf0d3cdb1de385c00f4ea14', class: `stat ${this.accentBorder ? 'stat--accent' : ''}` }, h("af-heading", { key: '37fc274547ef0bc7ff3c9e539f88b996c496ad52', level: 2, class: "stat-value" }, this.value), h("af-text", { key: '83519d54647b39ac39649b22f93f21039e047d63', variant: "medium", class: "stat-description" }, this.description))));
10
+ return (h(Host, { key: '555836fed68760965fadc4c2e2f159b9d303918a' }, h("div", { key: 'd98e8e344674b0260cac3e47be6434c0cc920bca', class: `stat ${this.accentBorder ? 'stat--accent' : ''}` }, h("af-heading", { key: 'c8fa22df6f81e30b5dd5c10bd7c8c74f4aa33ea3', level: 2, class: "stat-value" }, this.value), h("af-text", { key: '77421992735b6287dd061f791a0f17d16f639e5f', variant: "medium", class: "stat-description" }, this.description))));
11
11
  }
12
12
  static get is() { return "af-testimonial-stat"; }
13
13
  static get encapsulation() { return "scoped"; }
@@ -29,7 +29,7 @@ export class AfTextImageNest {
29
29
  'nest__grid': true,
30
30
  [`grid-${this.layout}`]: true,
31
31
  };
32
- return (h(Host, { key: '016ac9532a42a1494490c49dcffa488f49d1d5c8' }, h("div", { key: '38e16d51c44d69323e0b66e51449564631cc9077', class: containerClasses }, h("div", { key: 'a4c596c73303dde115357b80ece979b1a383e6a8', class: "nest__content" }, h("div", { key: '8d097e97a0cf9149fc3f775b27010d6d6d6c50e4', class: gridClasses }, h("slot", { key: '25ae554ae7f9091e503f1692115e483e552c6170' })), h("div", { key: 'e6105ef43ed3438ee6cd7edc671fc627d60ffef0', class: "nest__footer" }, h("slot", { key: 'ede8c7fa69237042eea88a7d0ed54f3551764e68', name: "buttons" }))))));
32
+ return (h(Host, { key: 'f55d86894fb1bb10f9d93cab3bc8050bfcdc7224' }, h("div", { key: '57b4ec709278e0d0c7cd4b7b30d99beb21d954ad', class: containerClasses }, h("div", { key: '62f691c6a7e3ab8b166cbb0a1a17144a7857ce7b', class: "nest__content" }, h("div", { key: '5fa9223861becb07444a67db5541bae057b65744', class: gridClasses }, h("slot", { key: 'fd29c150a6399eba74ace37bdbc7fadbc9df626b' })), h("div", { key: '4b956265f2b9ec119d0965f8cc9a323bcd37e426', class: "nest__footer" }, h("slot", { key: '934747fcb6cc7103fa894f5a74a32e32154013a4', name: "buttons" }))))));
33
33
  }
34
34
  static get is() { return "af-text-image-nest"; }
35
35
  static get encapsulation() { return "scoped"; }
@@ -18,7 +18,7 @@ export class AfThemeOverride {
18
18
  this.theme = 'white';
19
19
  }
20
20
  render() {
21
- return (h(Host, { key: '67765126b10a933cf927169cab2c88135f9b9c9d' }, h("div", { key: '00e00242c786f339f93c30005e1bbdc2eb5cdae6', class: `theme-override theme-${this.theme}` }, h("slot", { key: '19b1cfc18e8d8218a2bc0e04fb70b2e2e3a68121' }))));
21
+ return (h(Host, { key: '4bad1c421cf71e65fb64a21287a3e91ae0de171d' }, h("div", { key: '1c987ccbf6027aea445d12c87e478dfb8c248223', class: `theme-override theme-${this.theme}` }, h("slot", { key: 'c6083e7acb42da22d9fe0692fc7de501def3b33d' }))));
22
22
  }
23
23
  static get is() { return "af-theme-override"; }
24
24
  static get encapsulation() { return "scoped"; }
@@ -38,9 +38,15 @@ export class AfThemeOverride {
38
38
  "type": "string",
39
39
  "mutable": false,
40
40
  "complexType": {
41
- "original": "'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory'",
41
+ "original": "Theme",
42
42
  "resolved": "\"inkwell\" | \"mist-green\" | \"soft-clay\" | \"white\" | \"white-ivory\"",
43
- "references": {}
43
+ "references": {
44
+ "Theme": {
45
+ "location": "import",
46
+ "path": "../../types",
47
+ "id": "src/types.ts::Theme"
48
+ }
49
+ }
44
50
  },
45
51
  "required": false,
46
52
  "optional": false,
@@ -1 +1 @@
1
- {"version":3,"file":"af-theme-override.js","sourceRoot":"","sources":["../../../src/components/af-theme-override/af-theme-override.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;GASG;AAOH,MAAM,OAAO,eAAe;IAN5B;QAOE;;;WAGG;QACK,UAAK,GAAqE,OAAO,CAAC;KAW3F;IATC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,wBAAwB,IAAI,CAAC,KAAK,EAAE;gBAC9C,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Theme Override utility component.\n * Wraps content and applies an explicit theme, overriding any inherited theme\n * from parent containers like AfSection or AfCard.\n * \n * Unlike AfSection, this component does NOT apply a background color - \n * it only sets the CSS custom properties that child components consume.\n * \n * @slot - Content to be themed\n */\n@Component({\n tag: 'af-theme-override',\n styleUrl: 'af-theme-override.css',\n shadow: false,\n scoped: true,\n})\nexport class AfThemeOverride {\n /** \n * The theme to apply to child components.\n * Overrides any inherited theme from parent containers.\n */\n @Prop() theme: 'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory' = 'white';\n\n render() {\n return (\n <Host>\n <div class={`theme-override theme-${this.theme}`}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"]}
1
+ {"version":3,"file":"af-theme-override.js","sourceRoot":"","sources":["../../../src/components/af-theme-override/af-theme-override.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGzD;;;;;;;;;GASG;AAOH,MAAM,OAAO,eAAe;IAN5B;QAOE;;;WAGG;QACK,UAAK,GAAU,OAAO,CAAC;KAWhC;IATC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,wBAAwB,IAAI,CAAC,KAAK,EAAE;gBAC9C,8DAAa,CACT,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\nimport type { Theme } from '../../types';\n\n/**\n * Theme Override utility component.\n * Wraps content and applies an explicit theme, overriding any inherited theme\n * from parent containers like AfSection or AfCard.\n * \n * Unlike AfSection, this component does NOT apply a background color - \n * it only sets the CSS custom properties that child components consume.\n * \n * @slot - Content to be themed\n */\n@Component({\n tag: 'af-theme-override',\n styleUrl: 'af-theme-override.css',\n shadow: false,\n scoped: true,\n})\nexport class AfThemeOverride {\n /** \n * The theme to apply to child components.\n * Overrides any inherited theme from parent containers.\n */\n @Prop() theme: Theme = 'white';\n\n render() {\n return (\n <Host>\n <div class={`theme-override theme-${this.theme}`}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -29,16 +29,18 @@
29
29
  gap: var(--space-4, 16px);
30
30
  }
31
31
 
32
- /* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */
32
+ /* Heading 3 mobile, 4 desktop, 5 desktop, card desktop: 12px gap */
33
33
  .breakpoint-mobile.heading-3.lockup,
34
34
  .breakpoint-desktop.heading-4.lockup,
35
- .breakpoint-desktop.heading-5.lockup {
35
+ .breakpoint-desktop.heading-5.lockup,
36
+ .breakpoint-desktop.heading-card.lockup {
36
37
  gap: var(--space-3, 12px);
37
38
  }
38
39
 
39
- /* Heading 4 mobile, 5 mobile: 8px gap */
40
+ /* Heading 4 mobile, 5 mobile, card mobile: 8px gap */
40
41
  .breakpoint-mobile.heading-4.lockup,
41
- .breakpoint-mobile.heading-5.lockup {
42
+ .breakpoint-mobile.heading-5.lockup,
43
+ .breakpoint-mobile.heading-card.lockup {
42
44
  gap: var(--space-2, 8px);
43
45
  }
44
46
 
@@ -110,16 +112,18 @@
110
112
  gap: var(--space-4, 16px);
111
113
  }
112
114
 
113
- /* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */
115
+ /* Heading 3 mobile, 4 desktop, 5 desktop, card desktop: 12px gap */
114
116
  .breakpoint-mobile.heading-3 .copy,
115
117
  .breakpoint-desktop.heading-4 .copy,
116
- .breakpoint-desktop.heading-5 .copy {
118
+ .breakpoint-desktop.heading-5 .copy,
119
+ .breakpoint-desktop.heading-card .copy {
117
120
  gap: var(--space-3, 12px);
118
121
  }
119
122
 
120
- /* Heading 4 mobile, 5 mobile: 8px gap */
123
+ /* Heading 4 mobile, 5 mobile, card mobile: 8px gap */
121
124
  .breakpoint-mobile.heading-4 .copy,
122
- .breakpoint-mobile.heading-5 .copy {
125
+ .breakpoint-mobile.heading-5 .copy,
126
+ .breakpoint-mobile.heading-card .copy {
123
127
  gap: var(--space-2, 8px);
124
128
  }
125
129
 
@@ -150,18 +154,31 @@
150
154
  font-size: var(--font-size-heading-2-desktop, 44px);
151
155
  }
152
156
 
157
+ /* Explicit px line-heights (38/30/24) for heading 3/4/5 replace the
158
+ * previous ratio-based values (1.1/1.2) — renders identically within a
159
+ * pixel but exposes a predictable token consumers can reference directly. */
153
160
  .breakpoint-desktop.heading-3 .heading {
154
161
  font-size: var(--font-size-heading-3-desktop, 34px);
162
+ line-height: var(--line-height-heading-3, 38px);
155
163
  }
156
164
 
157
165
  .breakpoint-desktop.heading-4 .heading {
158
166
  font-size: var(--font-size-heading-4-desktop, 24px);
159
- line-height: var(--line-height-heading-relaxed, 1.2);
167
+ line-height: var(--line-height-heading-4, 30px);
160
168
  }
161
169
 
162
170
  .breakpoint-desktop.heading-5 .heading {
163
171
  font-size: var(--font-size-heading-5-desktop, 20px);
164
- line-height: var(--line-height-heading-relaxed, 1.2);
172
+ line-height: var(--line-height-heading-5, 24px);
173
+ }
174
+
175
+ /* Card-title scale (22/20px): retires the bespoke heading sizes on
176
+ * diff-card h3, NumberedStepper title, and expert-insights related-card h3
177
+ * on the website. Sits between heading-4 (24px) and heading-5 (20px) at
178
+ * desktop, and between heading-4 and heading-5 (both 20px→18px) at mobile. */
179
+ .breakpoint-desktop.heading-card .heading {
180
+ font-size: var(--font-size-heading-card-desktop, 22px);
181
+ line-height: var(--line-height-heading-card, 28px);
165
182
  }
166
183
 
167
184
  /* Mobile heading sizes */
@@ -187,6 +204,11 @@
187
204
  line-height: var(--line-height-heading-normal, 1.1);
188
205
  }
189
206
 
207
+ .breakpoint-mobile.heading-card .heading {
208
+ font-size: var(--font-size-heading-card-mobile, 20px);
209
+ line-height: var(--line-height-heading-card, 28px);
210
+ }
211
+
190
212
  /* Description/body text - default (body/large) */
191
213
  .description {
192
214
  font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);
@@ -215,12 +237,14 @@
215
237
  color: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #B09670));
216
238
  }
217
239
 
218
- /* Description text size variations - smaller for heading 3 mobile, 4, and 5 */
240
+ /* Description text size variations - smaller for heading 3 mobile, 4, 5, and card */
219
241
  .breakpoint-mobile.heading-3 .description,
220
242
  .breakpoint-desktop.heading-4 .description,
221
243
  .breakpoint-mobile.heading-4 .description,
222
244
  .breakpoint-desktop.heading-5 .description,
223
- .breakpoint-mobile.heading-5 .description {
245
+ .breakpoint-mobile.heading-5 .description,
246
+ .breakpoint-desktop.heading-card .description,
247
+ .breakpoint-mobile.heading-card .description {
224
248
  font-size: var(--font-size-body-medium, 16px);
225
249
  line-height: var(--line-height-body-medium, 24px);
226
250
  }
@@ -4,7 +4,7 @@ import { h, Host } from "@stencil/core";
4
4
  * consistent spacing and alignment driven by the `headingSize` prop.
5
5
  *
6
6
  * **Semantic vs visual:** `headingSize` controls ONLY the visual scale
7
- * (the lockup sets font-size via a `heading-{1..5}` class). The semantic
7
+ * (the lockup sets font-size via a `heading-{1..5|card}` class). The semantic
8
8
  * level (h1-h6) is whatever the consumer slots in as default content.
9
9
  * Keep them aligned by convention so assistive tech and search engines
10
10
  * see the right hierarchy:
@@ -14,18 +14,25 @@ import { h, Host } from "@stencil/core";
14
14
  * headingSize=3 ↔ <h3>
15
15
  * headingSize=4 ↔ <h4>
16
16
  * headingSize=5 ↔ <h5>
17
+ * headingSize="card" ↔ <h3> (card-title scale: 22/20px)
17
18
  *
18
19
  * When a design asks for a visually small H1 or a visually large H3,
19
20
  * pass the two independently — just do it deliberately, not by
20
21
  * accident. A console warning fires in dev mode if the slotted tag is
21
22
  * more than one level away from the prop.
23
+ *
24
+ * The `card` variant renders slightly larger than `5` (22/20px vs 20/18px)
25
+ * and targets card titles in dense grids (diff-card h3, NumberedStepper
26
+ * title, expert-insights related-card h3 on the marketing site). It sits
27
+ * between `4` and `5` in the type ladder.
22
28
  */
23
29
  export class AfTypographyLockup {
24
30
  constructor() {
25
31
  /**
26
- * The heading size (1-5, where 1 is largest). Controls visual scale
32
+ * The heading size (1-5, or "card"; 1 is largest). Controls visual scale
27
33
  * only — pair with a matching <h1>-<h5> slotted element for correct
28
- * document outline (see component docblock).
34
+ * document outline (see component docblock). The `card` variant sits
35
+ * between 4 and 5 at 22/20px and is meant for card titles.
29
36
  */
30
37
  this.headingSize = 2;
31
38
  /**
@@ -90,6 +97,11 @@ export class AfTypographyLockup {
90
97
  return;
91
98
  const slottedLevel = Number(heading.tagName.slice(1));
92
99
  const expected = this.headingSize;
100
+ // The `card` variant is a named scale (card-title), not a semantic level.
101
+ // Skip the numeric-proximity check entirely — convention is <h3>, but
102
+ // consumers may legitimately pair it with <h2>-<h4> depending on context.
103
+ if (expected === 'card')
104
+ return;
93
105
  if (Math.abs(slottedLevel - expected) > 1) {
94
106
  // eslint-disable-next-line no-console
95
107
  console.warn(`[af-typography-lockup] heading-size=${expected} paired with <${heading.tagName.toLowerCase()}>; ` +
@@ -126,7 +138,7 @@ export class AfTypographyLockup {
126
138
  [`align-${effectiveButtonsAlignment}`]: true
127
139
  };
128
140
  const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};
129
- return (h(Host, { key: '9b31ef730abc5e33919d32480e260937ae450529' }, h("div", { key: '95d33308deeb9c5488a89ef7161322a25b2e348f', class: containerClasses }, h("div", { key: '78cff6a371d382a9ff69d06d25180efd667958ab', class: "copy", style: copyStyle }, h("div", { key: '963e6233660bbe45084f42a70e0a1d54236c514e', class: headingClasses, part: "heading" }, h("slot", { key: 'b0b90701b673581cc08be3f79dea8068a85050ab' })), h("div", { key: 'db4b15e80e9bbe683b425e3cc8e92a2fa00774e1', class: descriptionClasses, part: "body", hidden: !this.hasDescription }, h("slot", { key: 'd581dab0571d6e400be15fa6a285d0774f5dc978', name: "description", ref: (el) => (this.descriptionSlot = el) }))), h("div", { key: 'fb160cbfc354f41eefe600f295c3d86146eb6065', class: buttonsClasses, part: "buttons", hidden: !this.hasButtons }, h("slot", { key: 'a801bbb9ac25136b0073f68ab05ae7738d6079e5', name: "buttons", ref: (el) => (this.buttonsSlot = el) })))));
141
+ return (h(Host, { key: '1c25556c2117158964c3a72c80bb0453fdd871bc' }, h("div", { key: '817f5ee187f7c9fbd2c18fe4857ced5ebb46e871', class: containerClasses }, h("div", { key: 'eefc5dc2b46cd392b658b0698de9dbab9262808b', class: "copy", style: copyStyle }, h("div", { key: '454e5991fde5bc8f8cf26c3b2942601de263b374', class: headingClasses, part: "heading" }, h("slot", { key: 'd3c76e6730ccc5eb5c0deae5ae544b844d04bf3e' })), h("div", { key: '5b4d41b67bfcd2e72ced102c53f4fc840c226e9f', class: descriptionClasses, part: "body", hidden: !this.hasDescription }, h("slot", { key: 'eb9b013dbe5462d9171c90238b90878df936e954', name: "description", ref: (el) => (this.descriptionSlot = el) }))), h("div", { key: '105bf269969148e14449ee0dda6dd83f1714df97', class: buttonsClasses, part: "buttons", hidden: !this.hasButtons }, h("slot", { key: 'bbf519061574d79fdba1639894c34d70ee662f2b', name: "buttons", ref: (el) => (this.buttonsSlot = el) })))));
130
142
  }
131
143
  static get is() { return "af-typography-lockup"; }
132
144
  static get encapsulation() { return "shadow"; }
@@ -143,18 +155,24 @@ export class AfTypographyLockup {
143
155
  static get properties() {
144
156
  return {
145
157
  "headingSize": {
146
- "type": "number",
158
+ "type": "any",
147
159
  "mutable": false,
148
160
  "complexType": {
149
- "original": "1 | 2 | 3 | 4 | 5",
150
- "resolved": "1 | 2 | 3 | 4 | 5",
151
- "references": {}
161
+ "original": "HeadingSize",
162
+ "resolved": "\"card\" | 1 | 2 | 3 | 4 | 5",
163
+ "references": {
164
+ "HeadingSize": {
165
+ "location": "import",
166
+ "path": "../../types",
167
+ "id": "src/types.ts::HeadingSize"
168
+ }
169
+ }
152
170
  },
153
171
  "required": false,
154
172
  "optional": false,
155
173
  "docs": {
156
174
  "tags": [],
157
- "text": "The heading size (1-5, where 1 is largest). Controls visual scale\nonly \u2014 pair with a matching <h1>-<h5> slotted element for correct\ndocument outline (see component docblock)."
175
+ "text": "The heading size (1-5, or \"card\"; 1 is largest). Controls visual scale\nonly \u2014 pair with a matching <h1>-<h5> slotted element for correct\ndocument outline (see component docblock). The `card` variant sits\nbetween 4 and 5 at 22/20px and is meant for card titles."
158
176
  },
159
177
  "getter": false,
160
178
  "setter": false,
@@ -1 +1 @@
1
- {"version":3,"file":"af-typography-lockup.js","sourceRoot":"","sources":["../../../src/components/af-typography-lockup/af-typography-lockup.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop, State, Host } from '@stencil/core';\n\ntype TextAlign = 'left' | 'center' | 'right' | 'justify';\n\n/**\n * Marketing-style composition of heading + description + buttons with\n * consistent spacing and alignment driven by the `headingSize` prop.\n *\n * **Semantic vs visual:** `headingSize` controls ONLY the visual scale\n * (the lockup sets font-size via a `heading-{1..5}` class). The semantic\n * level (h1-h6) is whatever the consumer slots in as default content.\n * Keep them aligned by convention so assistive tech and search engines\n * see the right hierarchy:\n *\n * headingSize=1 ↔ <h1> (or <h2> on non-top-of-page sections)\n * headingSize=2 ↔ <h2>\n * headingSize=3 ↔ <h3>\n * headingSize=4 ↔ <h4>\n * headingSize=5 ↔ <h5>\n *\n * When a design asks for a visually small H1 or a visually large H3,\n * pass the two independently — just do it deliberately, not by\n * accident. A console warning fires in dev mode if the slotted tag is\n * more than one level away from the prop.\n */\n@Component({\n tag: 'af-typography-lockup',\n styleUrl: 'af-typography-lockup.css',\n shadow: true\n})\nexport class AfTypographyLockup {\n @Element() el!: HTMLElement;\n\n /**\n * The heading size (1-5, where 1 is largest). Controls visual scale\n * only — pair with a matching <h1>-<h5> slotted element for correct\n * document outline (see component docblock).\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 2;\n\n /**\n * The breakpoint for responsive typography\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Text alignment for the entire lockup (heading and description).\n * Can be overridden individually with headingAlignment and descriptionAlignment.\n */\n @Prop() textAlignment: TextAlign = 'left';\n\n /**\n * Heading text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() headingAlignment?: TextAlign;\n\n /**\n * Description text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() descriptionAlignment?: TextAlign;\n\n /**\n * Button layout direction (horizontal or vertical stacking)\n */\n @Prop() buttonLayout: 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Buttons position alignment. Falls back to textAlignment if not specified.\n */\n @Prop() buttonsAlignment?: TextAlign;\n\n /**\n * Maximum width for the copy section (in pixels)\n */\n @Prop() maxWidth?: number;\n\n /**\n * Heading colour variant. Matches the Webflow pattern of `h1.primary` vs\n * `h1.secondary`, where \"secondary\" renders in the theme's accent/heading-\n * secondary colour (soft-clay on most themes).\n * - `primary` (default) - uses `--af-typography-heading-primary`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() headingColor: 'primary' | 'secondary' = 'primary';\n\n /**\n * Description colour variant. Same pattern as `headingColor`; useful for\n * hero-style lockups where the description is rendered in the accent colour.\n * - `default` (default) - uses `--af-typography-body-default`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() descriptionColor: 'default' | 'secondary' = 'default';\n\n /**\n * Whether the consumer passed anything into the description / buttons\n * slots. The CSS `:empty` selector can't help here — the `<slot>`\n * element itself counts as a child, so the wrapper divs would always\n * render as empty-but-visible lines of gap. Tracked on mount and on\n * any `slotchange` so wrappers collapse cleanly when there's nothing\n * to show.\n */\n @State() hasDescription: boolean = false;\n @State() hasButtons: boolean = false;\n\n private descriptionSlot?: HTMLSlotElement;\n private buttonsSlot?: HTMLSlotElement;\n\n componentDidLoad() {\n this.syncSlotState();\n this.descriptionSlot?.addEventListener('slotchange', this.syncSlotState);\n this.buttonsSlot?.addEventListener('slotchange', this.syncSlotState);\n // Dev-time check that the slotted semantic tag (h1-h6) is within one\n // level of the visual headingSize. Pairs with the class-level docblock;\n // silent in production unless the author explicitly turned on dev mode\n // via `window.__AF_STRICT_HEADINGS__`.\n if (typeof window === 'undefined') return;\n const strict = (window as unknown as { __AF_STRICT_HEADINGS__?: boolean })\n .__AF_STRICT_HEADINGS__;\n if (!strict) return;\n const heading = Array.from(this.el.children).find(\n (child) => !(child as HTMLElement).hasAttribute('slot') && /^h[1-6]$/i.test(child.tagName),\n );\n if (!heading) return;\n const slottedLevel = Number(heading.tagName.slice(1));\n const expected = this.headingSize;\n if (Math.abs(slottedLevel - expected) > 1) {\n // eslint-disable-next-line no-console\n console.warn(\n `[af-typography-lockup] heading-size=${expected} paired with <${heading.tagName.toLowerCase()}>; ` +\n `expected an <h${expected}> for document outline. Pass deliberately or align the two.`,\n );\n }\n }\n\n disconnectedCallback() {\n this.descriptionSlot?.removeEventListener('slotchange', this.syncSlotState);\n this.buttonsSlot?.removeEventListener('slotchange', this.syncSlotState);\n }\n\n private syncSlotState = () => {\n this.hasDescription = (this.descriptionSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;\n this.hasButtons = (this.buttonsSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;\n };\n\n render() {\n const effectiveHeadingAlignment = this.headingAlignment ?? this.textAlignment;\n const effectiveDescriptionAlignment = this.descriptionAlignment ?? this.textAlignment;\n const effectiveButtonsAlignment = this.buttonsAlignment ?? this.textAlignment;\n\n const containerClasses = {\n 'lockup': true,\n [`text-${this.textAlignment}`]: true,\n [`layout-${this.buttonLayout}`]: true,\n [`heading-${this.headingSize}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n const headingClasses = {\n 'heading': true,\n [`align-${effectiveHeadingAlignment}`]: true,\n [`heading-color-${this.headingColor}`]: true\n };\n\n const descriptionClasses = {\n 'description': true,\n [`align-${effectiveDescriptionAlignment}`]: true,\n [`description-color-${this.descriptionColor}`]: true\n };\n\n const buttonsClasses = {\n 'buttons': true,\n [`align-${effectiveButtonsAlignment}`]: true\n };\n\n const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};\n\n return (\n <Host>\n <div class={containerClasses}>\n <div class=\"copy\" style={copyStyle}>\n <div class={headingClasses} part=\"heading\">\n <slot></slot>\n </div>\n <div class={descriptionClasses} part=\"body\" hidden={!this.hasDescription}>\n <slot name=\"description\" ref={(el) => (this.descriptionSlot = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n <div class={buttonsClasses} part=\"buttons\" hidden={!this.hasButtons}>\n <slot name=\"buttons\" ref={(el) => (this.buttonsSlot = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"af-typography-lockup.js","sourceRoot":"","sources":["../../../src/components/af-typography-lockup/af-typography-lockup.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop, State, Host } from '@stencil/core';\nimport type { HeadingSize } from '../../types';\n\ntype TextAlign = 'left' | 'center' | 'right' | 'justify';\n\n/**\n * Marketing-style composition of heading + description + buttons with\n * consistent spacing and alignment driven by the `headingSize` prop.\n *\n * **Semantic vs visual:** `headingSize` controls ONLY the visual scale\n * (the lockup sets font-size via a `heading-{1..5|card}` class). The semantic\n * level (h1-h6) is whatever the consumer slots in as default content.\n * Keep them aligned by convention so assistive tech and search engines\n * see the right hierarchy:\n *\n * headingSize=1 ↔ <h1> (or <h2> on non-top-of-page sections)\n * headingSize=2 ↔ <h2>\n * headingSize=3 ↔ <h3>\n * headingSize=4 ↔ <h4>\n * headingSize=5 ↔ <h5>\n * headingSize=\"card\" ↔ <h3> (card-title scale: 22/20px)\n *\n * When a design asks for a visually small H1 or a visually large H3,\n * pass the two independently — just do it deliberately, not by\n * accident. A console warning fires in dev mode if the slotted tag is\n * more than one level away from the prop.\n *\n * The `card` variant renders slightly larger than `5` (22/20px vs 20/18px)\n * and targets card titles in dense grids (diff-card h3, NumberedStepper\n * title, expert-insights related-card h3 on the marketing site). It sits\n * between `4` and `5` in the type ladder.\n */\n@Component({\n tag: 'af-typography-lockup',\n styleUrl: 'af-typography-lockup.css',\n shadow: true\n})\nexport class AfTypographyLockup {\n @Element() el!: HTMLElement;\n\n /**\n * The heading size (1-5, or \"card\"; 1 is largest). Controls visual scale\n * only — pair with a matching <h1>-<h5> slotted element for correct\n * document outline (see component docblock). The `card` variant sits\n * between 4 and 5 at 22/20px and is meant for card titles.\n */\n @Prop() headingSize: HeadingSize = 2;\n\n /**\n * The breakpoint for responsive typography\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Text alignment for the entire lockup (heading and description).\n * Can be overridden individually with headingAlignment and descriptionAlignment.\n */\n @Prop() textAlignment: TextAlign = 'left';\n\n /**\n * Heading text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() headingAlignment?: TextAlign;\n\n /**\n * Description text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() descriptionAlignment?: TextAlign;\n\n /**\n * Button layout direction (horizontal or vertical stacking)\n */\n @Prop() buttonLayout: 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Buttons position alignment. Falls back to textAlignment if not specified.\n */\n @Prop() buttonsAlignment?: TextAlign;\n\n /**\n * Maximum width for the copy section (in pixels)\n */\n @Prop() maxWidth?: number;\n\n /**\n * Heading colour variant. Matches the Webflow pattern of `h1.primary` vs\n * `h1.secondary`, where \"secondary\" renders in the theme's accent/heading-\n * secondary colour (soft-clay on most themes).\n * - `primary` (default) - uses `--af-typography-heading-primary`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() headingColor: 'primary' | 'secondary' = 'primary';\n\n /**\n * Description colour variant. Same pattern as `headingColor`; useful for\n * hero-style lockups where the description is rendered in the accent colour.\n * - `default` (default) - uses `--af-typography-body-default`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() descriptionColor: 'default' | 'secondary' = 'default';\n\n /**\n * Whether the consumer passed anything into the description / buttons\n * slots. The CSS `:empty` selector can't help here — the `<slot>`\n * element itself counts as a child, so the wrapper divs would always\n * render as empty-but-visible lines of gap. Tracked on mount and on\n * any `slotchange` so wrappers collapse cleanly when there's nothing\n * to show.\n */\n @State() hasDescription: boolean = false;\n @State() hasButtons: boolean = false;\n\n private descriptionSlot?: HTMLSlotElement;\n private buttonsSlot?: HTMLSlotElement;\n\n componentDidLoad() {\n this.syncSlotState();\n this.descriptionSlot?.addEventListener('slotchange', this.syncSlotState);\n this.buttonsSlot?.addEventListener('slotchange', this.syncSlotState);\n // Dev-time check that the slotted semantic tag (h1-h6) is within one\n // level of the visual headingSize. Pairs with the class-level docblock;\n // silent in production unless the author explicitly turned on dev mode\n // via `window.__AF_STRICT_HEADINGS__`.\n if (typeof window === 'undefined') return;\n const strict = (window as unknown as { __AF_STRICT_HEADINGS__?: boolean })\n .__AF_STRICT_HEADINGS__;\n if (!strict) return;\n const heading = Array.from(this.el.children).find(\n (child) => !(child as HTMLElement).hasAttribute('slot') && /^h[1-6]$/i.test(child.tagName),\n );\n if (!heading) return;\n const slottedLevel = Number(heading.tagName.slice(1));\n const expected = this.headingSize;\n // The `card` variant is a named scale (card-title), not a semantic level.\n // Skip the numeric-proximity check entirely — convention is <h3>, but\n // consumers may legitimately pair it with <h2>-<h4> depending on context.\n if (expected === 'card') return;\n if (Math.abs(slottedLevel - expected) > 1) {\n // eslint-disable-next-line no-console\n console.warn(\n `[af-typography-lockup] heading-size=${expected} paired with <${heading.tagName.toLowerCase()}>; ` +\n `expected an <h${expected}> for document outline. Pass deliberately or align the two.`,\n );\n }\n }\n\n disconnectedCallback() {\n this.descriptionSlot?.removeEventListener('slotchange', this.syncSlotState);\n this.buttonsSlot?.removeEventListener('slotchange', this.syncSlotState);\n }\n\n private syncSlotState = () => {\n this.hasDescription = (this.descriptionSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;\n this.hasButtons = (this.buttonsSlot?.assignedNodes({ flatten: true }).length ?? 0) > 0;\n };\n\n render() {\n const effectiveHeadingAlignment = this.headingAlignment ?? this.textAlignment;\n const effectiveDescriptionAlignment = this.descriptionAlignment ?? this.textAlignment;\n const effectiveButtonsAlignment = this.buttonsAlignment ?? this.textAlignment;\n\n const containerClasses = {\n 'lockup': true,\n [`text-${this.textAlignment}`]: true,\n [`layout-${this.buttonLayout}`]: true,\n [`heading-${this.headingSize}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n const headingClasses = {\n 'heading': true,\n [`align-${effectiveHeadingAlignment}`]: true,\n [`heading-color-${this.headingColor}`]: true\n };\n\n const descriptionClasses = {\n 'description': true,\n [`align-${effectiveDescriptionAlignment}`]: true,\n [`description-color-${this.descriptionColor}`]: true\n };\n\n const buttonsClasses = {\n 'buttons': true,\n [`align-${effectiveButtonsAlignment}`]: true\n };\n\n const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};\n\n return (\n <Host>\n <div class={containerClasses}>\n <div class=\"copy\" style={copyStyle}>\n <div class={headingClasses} part=\"heading\">\n <slot></slot>\n </div>\n <div class={descriptionClasses} part=\"body\" hidden={!this.hasDescription}>\n <slot name=\"description\" ref={(el) => (this.descriptionSlot = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n <div class={buttonsClasses} part=\"buttons\" hidden={!this.hasButtons}>\n <slot name=\"buttons\" ref={(el) => (this.buttonsSlot = el as HTMLSlotElement)}></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -42,7 +42,7 @@ export class AfVideoContainer {
42
42
  };
43
43
  }
44
44
  render() {
45
- return (h(Host, { key: '805ef2cb5883f2589729c8f01a6912d9649931ed' }, h("div", { key: '0378ad7aa7ba09981fc87b8701e056cfd71c7ff2', class: "video-container" }, h("div", { key: '0d6581e16ee68472b37d1d7f5135f3ce5b6312a0', class: "video-container__top" }, h("slot", { key: '8802570242c658b176405ab1493254c4c3473d4a', name: "top" })), h("div", { key: 'ff73de6c3dc1597acbaf707dbfcb5559fde6ebdb', class: "video-container__video" }, h("af-aspect-ratio", { key: '092c02fe25891ef4436056056c1443bfe35631ab', ratio: "16:9" }, h("div", { key: '0e1def94ac6e243af93c67e13c1fb7d743eeb808', class: "video-container__thumbnail-wrapper" }, this.videoThumbnailUrl && (h("img", { key: '9437d1ee258da0548225edd8f6f38f3ac1984e66', src: this.videoThumbnailUrl, alt: this.videoAlt, class: "video-container__thumbnail", loading: "lazy" })), h("button", { key: '0269c801acca11d95e383a9d588ba07b30fa28a2', class: "video-container__play-button", onClick: this.handlePlayClick, "aria-label": "Play video", type: "button" }, h("af-icon", { key: '85ba1f8c72057d948ab6c06cdf76be075f81f9d7', name: "play", size: 24 }))))), h("div", { key: '4b50dd7066e2f0390052d0042d762f7e3d3beb1a', class: "video-container__bottom" }, h("slot", { key: 'ef00f995dc3e81e0197846d672701c829a8d61d1', name: "bottom" })))));
45
+ return (h(Host, { key: '2bef13cab427a55363cd89b0398bfb5187d33424' }, h("div", { key: 'ecd350d7cc04482a4e04fa0d22ff2b57a91374ad', class: "video-container" }, h("div", { key: 'd855f0cb2a805b9fff46008f360f8643f91e9a5e', class: "video-container__top" }, h("slot", { key: '87d02b710b110573e2ee3b177665ae6d277f1533', name: "top" })), h("div", { key: 'a9f263a746850568c487f84f889ff55ce8b68f56', class: "video-container__video" }, h("af-aspect-ratio", { key: 'f6473ffa87a633d101094bb4d34b85c9edf8d0fa', ratio: "16:9" }, h("div", { key: '042a90b134fa35101b56be745561fb729ac912d8', class: "video-container__thumbnail-wrapper" }, this.videoThumbnailUrl && (h("img", { key: '4fc0ee51ac96f79b496a16d9a43004c2fa1111a9', src: this.videoThumbnailUrl, alt: this.videoAlt, class: "video-container__thumbnail", loading: "lazy" })), h("button", { key: '1dbe720ac679b9fac1405e1d7b28ae3f7c6bf234', class: "video-container__play-button", onClick: this.handlePlayClick, "aria-label": "Play video", type: "button" }, h("af-icon", { key: '7d8db3173c20d105c7371765255a3046c9ee1b07', name: "play", size: 24 }))))), h("div", { key: 'f0da765eb52e956a8d77df2158e0e2fe984d672c', class: "video-container__bottom" }, h("slot", { key: '1cb4acc596c066f5ac1c9981d4aeab4c6a249072', name: "bottom" })))));
46
46
  }
47
47
  static get is() { return "af-video-container"; }
48
48
  static get encapsulation() { return "scoped"; }
@@ -15,7 +15,7 @@ export class AfVisuallyHidden {
15
15
  this.focusable = false;
16
16
  }
17
17
  render() {
18
- return (h(Host, { key: '9ce559b8f54328432497181c2e8c7a4136ddd67d', class: { 'focusable': this.focusable } }, h("slot", { key: '4d877b02acf7b1ab61dca5e72b4d76c37a9fc7c2' })));
18
+ return (h(Host, { key: '7d0224d1f120153733e77b38281f8f9ebe9841b8', class: { 'focusable': this.focusable } }, h("slot", { key: '3a355db9347be885ba5c1b1bf1aa89ec4c4c1e06' })));
19
19
  }
20
20
  static get is() { return "af-visually-hidden"; }
21
21
  static get encapsulation() { return "shadow"; }
@@ -21,4 +21,5 @@ export { AfTab } from './components/af-tab/af-tab';
21
21
  export { AfTabBar } from './components/af-tab-bar/af-tab-bar';
22
22
  export { AfFeatureCard } from './components/af-feature-card/af-feature-card';
23
23
  export { AfIllustratedCard } from './components/af-illustrated-card/af-illustrated-card';
24
+ export { AfHero } from './components/af-hero/af-hero';
24
25
  //# sourceMappingURL=components.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC","sourcesContent":["export { AfHeading } from './components/af-heading/af-heading';\nexport { AfText } from './components/af-text/af-text';\nexport { AfColorSwatch } from './components/af-color-swatch/af-color-swatch';\nexport { AfContainer } from './components/af-container/af-container';\nexport { AfAspectRatio } from './components/af-aspect-ratio/af-aspect-ratio';\nexport { AfNavItem } from './components/af-nav-item/af-nav-item';\nexport { AfNavbar } from './components/af-navbar/af-navbar';\nexport { AfLogo } from './components/af-logo/af-logo';\nexport { AfButton } from './components/af-button/af-button';\nexport { AfIconButton } from './components/af-icon-button/af-icon-button';\nexport { AfButtonGroup } from './components/af-button-group/af-button-group';\nexport { AfTypographyLockup } from './components/af-typography-lockup/af-typography-lockup';\nexport { AfCheckbox } from './components/af-checkbox/af-checkbox';\nexport { AfRadio } from './components/af-radio/af-radio';\nexport { AfSwitch } from './components/af-switch/af-switch';\nexport { AfFieldset } from './components/af-fieldset/af-fieldset';\nexport { AfInput } from './components/af-input/af-input';\nexport { AfTextarea } from './components/af-textarea/af-textarea';\nexport { AfTag } from './components/af-tag/af-tag';\nexport { AfTab } from './components/af-tab/af-tab';\nexport { AfTabBar } from './components/af-tab-bar/af-tab-bar';\nexport { AfFeatureCard } from './components/af-feature-card/af-feature-card';\nexport { AfIllustratedCard } from './components/af-illustrated-card/af-illustrated-card';\n"]}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,MAAM,sCAAsC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC;AAC5F,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,sCAAsC,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACzF,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC","sourcesContent":["export { AfHeading } from './components/af-heading/af-heading';\nexport { AfText } from './components/af-text/af-text';\nexport { AfColorSwatch } from './components/af-color-swatch/af-color-swatch';\nexport { AfContainer } from './components/af-container/af-container';\nexport { AfAspectRatio } from './components/af-aspect-ratio/af-aspect-ratio';\nexport { AfNavItem } from './components/af-nav-item/af-nav-item';\nexport { AfNavbar } from './components/af-navbar/af-navbar';\nexport { AfLogo } from './components/af-logo/af-logo';\nexport { AfButton } from './components/af-button/af-button';\nexport { AfIconButton } from './components/af-icon-button/af-icon-button';\nexport { AfButtonGroup } from './components/af-button-group/af-button-group';\nexport { AfTypographyLockup } from './components/af-typography-lockup/af-typography-lockup';\nexport { AfCheckbox } from './components/af-checkbox/af-checkbox';\nexport { AfRadio } from './components/af-radio/af-radio';\nexport { AfSwitch } from './components/af-switch/af-switch';\nexport { AfFieldset } from './components/af-fieldset/af-fieldset';\nexport { AfInput } from './components/af-input/af-input';\nexport { AfTextarea } from './components/af-textarea/af-textarea';\nexport { AfTag } from './components/af-tag/af-tag';\nexport { AfTab } from './components/af-tab/af-tab';\nexport { AfTabBar } from './components/af-tab-bar/af-tab-bar';\nexport { AfFeatureCard } from './components/af-feature-card/af-feature-card';\nexport { AfIllustratedCard } from './components/af-illustrated-card/af-illustrated-card';\nexport { AfHero } from './components/af-hero/af-hero';\nexport type { HeroVariant, HeroTopPad } from './components/af-hero/af-hero';\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG","sourcesContent":["/**\n * Shared prop-union types used across multiple @affinda/wc components.\n *\n * Before adding a new union here: check whether the value list is truly\n * shared across components, or whether it's specific to one. Component-\n * local unions (e.g. a 2-value `direction` prop) should stay local; only\n * lift types here when they're duplicated verbatim in 2+ places, or when\n * a semantic concept (theme, spacing scale) deserves a single source of\n * truth.\n */\n\n/**\n * Brand theme token. Drives background colour and theme-dependent child\n * styling (typography colour, button tokens, etc.) via a `theme-{name}`\n * class on the rendered wrapper.\n *\n * Canonical values: `'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory'`.\n *\n * Consumers: af-section, af-theme-override, af-feature-card,\n * af-illustrated-card, af-card, af-client-carousel, af-navbar,\n * af-in-page-banner, af-split-section.\n */\nexport type Theme =\n | 'white'\n | 'inkwell'\n | 'mist-green'\n | 'soft-clay'\n | 'white-ivory';\n\n/**\n * Gap spacing token. Maps to `--space-{n}` CSS custom properties (space\n * scale: 1=4px, 2=8px, 3=12px, 4=16px, 5=20px, 6=24px, 8=32px).\n *\n * Canonical values: `'1' | '2' | '3' | '4' | '5' | '6' | '8'`.\n *\n * Consumers: af-stack, af-grid, af-inline, af-divider (as part of its\n * `spacing` prop). Note: af-button-group uses `gap: string` (free-form\n * CSS length) and intentionally opts out of the token ladder.\n */\nexport type Gap = '1' | '2' | '3' | '4' | '5' | '6' | '8';\n\n/**\n * Section padding variant. Drives top/bottom padding via `padding-{name}`\n * classes on the rendered wrapper.\n *\n * Canonical values: `'none' | 'tight' | 'default' | 'loose'`.\n *\n * Consumers: af-section, af-split-section.\n */\nexport type Padding = 'none' | 'tight' | 'default' | 'loose';\n\n/**\n * Typography heading size. Controls ONLY the visual scale of a heading\n * lockup; the semantic level (h1-h6) is determined by the slotted tag\n * the consumer passes in. See af-typography-lockup for the full\n * semantic-vs-visual convention.\n *\n * Canonical values: `1 | 2 | 3 | 4 | 5 | 'card'`.\n *\n * - `1`-`5` map to the type ladder (1 largest, 5 smallest).\n * - `'card'` is a named card-title scale (22/20px) that sits between\n * `4` and `5`, used for card titles in dense grids.\n *\n * Consumers: af-typography-lockup.\n */\nexport type HeadingSize = 1 | 2 | 3 | 4 | 5 | 'card';\n"]}
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-CqQyDZ-4.js';
1
+ import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-DOgb6SUj.js';
2
2
 
3
3
  const afAccordionItemCss = ":host{display:block;width:100%}.accordion-item{width:100%}.trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:16px 0;background:transparent;border:none;border-bottom:1px solid var(--af-background-border-subtle, #e8eeed);cursor:pointer;font:inherit;text-align:left;color:var(--af-typography-body-dark, #14343b);transition:background-color 0.2s ease}.trigger:hover:not(:disabled){background-color:var(--af-background-base-hover, rgba(20, 52, 59, 0.02))}.trigger:focus-visible{outline:2px solid var(--af-background-border-active, #8a7049);outline-offset:-2px}.trigger:disabled{cursor:not-allowed;opacity:0.5}.trigger-content{flex:1;min-width:0}.chevron{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--af-typography-body-dark, #14343b);transition:transform 0.3s ease}.chevron.is-open{transform:rotate(180deg)}.content-wrapper{overflow:hidden;transition:max-height 0.3s ease}.content{padding:0}:host(.is-disabled) .trigger{cursor:not-allowed;opacity:0.5}:host(.is-disabled) .trigger:hover{background-color:transparent}:host(.is-open) .trigger{border-bottom-color:transparent}";
4
4
 
@@ -68,7 +68,7 @@ const AfAccordionItem$1 = /*@__PURE__*/ proxyCustomElement(class AfAccordionItem
68
68
  const contentStyle = {
69
69
  maxHeight: this.open ? `${this.contentHeight}px` : '0px'
70
70
  };
71
- return (h(Host, { key: 'f09a5fe4d1ca9e14d674c5cb255c391355fba0b9', class: { 'is-open': this.open, 'is-disabled': this.disabled } }, h("div", { key: '2e53d4c8599acd81e7a624ac130add7ea7be3c86', class: "accordion-item" }, h("button", { key: 'c3b97ff90a37ac7f582b2ba086db0faa21328dc2', class: "trigger", onClick: this.handleTriggerClick, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { key: '48446eb132a44680630f46c1bd65921a440f688a', class: "trigger-content" }, h("slot", { key: 'a47fdf5a659602a340091544587be928c226a89b', name: "trigger" })), h("div", { key: '1c938183404f982ebcfe3ba0661f57e4ecf2c006', class: { 'chevron': true, 'is-open': this.open } }, h("svg", { key: '20d3ef9eb98b0cbb2f0af2165cc911fb3ec93bd5', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { key: '7477c118131ce91b79d1c9f74174c9431ee60dca', d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: '676a89763218ddbd6daddb174a4eebecfffb6a94', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: 'fb0f8760497cf998daa0f1cd5c52c6349fb125e4', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: '300f0b749dbaf06bb44ad9b176f3d9f64c52db6e' }))))));
71
+ return (h(Host, { key: '62ba3529b8f862d5e9ec88672e9452ce2fc6fcf5', class: { 'is-open': this.open, 'is-disabled': this.disabled } }, h("div", { key: '4bb13e5c6f26d3bf9fd65fb620fb8161396fb8df', class: "accordion-item" }, h("button", { key: 'c46022e2985db411428da2798e0f225f47031af1', class: "trigger", onClick: this.handleTriggerClick, "aria-expanded": this.open ? 'true' : 'false', "aria-controls": `content-${this.itemId}`, disabled: this.disabled, type: "button" }, h("div", { key: 'b89f4babebfae4da95af856adf155308574e56a2', class: "trigger-content" }, h("slot", { key: '20ea8938675a12e2d3c71c341788abb0ceb1d236', name: "trigger" })), h("div", { key: '42414ee23bfba9bf5025a7637630a69cda22d0e3', class: { 'chevron': true, 'is-open': this.open } }, h("svg", { key: 'ed17cf43c888aba66a1b0e03b69af4ea65ed9c44', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor" }, h("path", { key: '0f095319bebcea25c313b2237c2c8bb693508efc', d: "M6 9l6 6 6-6", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("div", { key: 'e6fef8f13b9282cc148cfe7d34739a1efefdadee', id: `content-${this.itemId}`, class: "content-wrapper", style: contentStyle, "aria-hidden": !this.open ? 'true' : 'false' }, h("div", { key: '745ff6e1e9d56c2fac10fa0c39a744791ad66c92', class: "content", ref: (el) => (this.contentRef = el) }, h("slot", { key: '141ff050b84e081e9031d739b1b2015697cadff1' }))))));
72
72
  }
73
73
  get el() { return this; }
74
74
  static get watchers() { return {
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-CqQyDZ-4.js';
1
+ import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-DOgb6SUj.js';
2
2
 
3
3
  const afAccordionCss = ".sc-af-accordion-h{display:block;width:100%}.accordion.sc-af-accordion{display:flex;flex-direction:column;width:100%}.sc-af-accordion-s>af-accordion-item{display:block}.sc-af-accordion-s>af-accordion-item:last-child{--accordion-item-border:transparent}";
4
4
 
@@ -90,7 +90,7 @@ const AfAccordion$1 = /*@__PURE__*/ proxyCustomElement(class AfAccordion extends
90
90
  });
91
91
  }
92
92
  render() {
93
- return (h(Host, { key: 'e0060977dd938771a54e2941a962a58bf18b61dd', class: { [`mode-${this.mode}`]: true } }, h("div", { key: 'dacacd23dc6f116bb8c856161d1a956c0fc7d70d', class: "accordion" }, h("slot", { key: '1dcc400fc416c79f0ac1cf48893de03c46e31741' }))));
93
+ return (h(Host, { key: '9b0b627ab9e4bc82ae52adb616ee430dd6451bdc', class: { [`mode-${this.mode}`]: true } }, h("div", { key: '9941d4fea3ddfcf8f5d64883347dceda215401ba', class: "accordion" }, h("slot", { key: '00db0154b54e87b3411541c361b5dca4f91e2015' }))));
94
94
  }
95
95
  get el() { return this; }
96
96
  static get watchers() { return {
@@ -1,4 +1,4 @@
1
- import { A as AfAspectRatio$1, d as defineCustomElement$1 } from './p-DkaLi-uL.js';
1
+ import { A as AfAspectRatio$1, d as defineCustomElement$1 } from './p-CoL_hRAR.js';
2
2
 
3
3
  const AfAspectRatio = AfAspectRatio$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { A as AfButtonGroup$1, d as defineCustomElement$1 } from './p-D30gSxh2.js';
1
+ import { A as AfButtonGroup$1, d as defineCustomElement$1 } from './p-kEqwmn80.js';
2
2
 
3
3
  const AfButtonGroup = AfButtonGroup$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { A as AfButton$1, d as defineCustomElement$1 } from './p-CNuja1ax.js';
1
+ import { A as AfButton$1, d as defineCustomElement$1 } from './p--gChEc0P.js';
2
2
 
3
3
  const AfButton = AfButton$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { A as AfCard$1, d as defineCustomElement$1 } from './p-BO4blShf.js';
1
+ import { A as AfCard$1, d as defineCustomElement$1 } from './p-CJxqw006.js';
2
2
 
3
3
  const AfCard = AfCard$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,4 +1,4 @@
1
- import { p as proxyCustomElement, H, h, c as Host } from './p-CqQyDZ-4.js';
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-DOgb6SUj.js';
2
2
 
3
3
  const afCenterCss = ":host{display:flex;box-sizing:border-box}:host([hidden]){display:none}";
4
4
 
@@ -35,7 +35,7 @@ const AfCenter$1 = /*@__PURE__*/ proxyCustomElement(class AfCenter extends H {
35
35
  if (this.minHeight) {
36
36
  style.minHeight = this.minHeight;
37
37
  }
38
- return (h(Host, { key: 'fc1bcaef9b11c0c5f69e9ef95d58adf61b4f244a', style: style }, h("slot", { key: '09dc75e0a80760d56e370ad0b52231f4143549e8' })));
38
+ return (h(Host, { key: '0b93a207374e7665f06187ae2f8837f251ea1312', style: style }, h("slot", { key: 'c5d0fb0f3a37effb8e8cd466bd13d86c88958229' })));
39
39
  }
40
40
  static get style() { return afCenterCss; }
41
41
  }, [257, "af-center", {
@@ -1,4 +1,4 @@
1
- import { A as AfCheckbox$1, d as defineCustomElement$1 } from './p-Dxa6cHAb.js';
1
+ import { A as AfCheckbox$1, d as defineCustomElement$1 } from './p-DbVc-b1e.js';
2
2
 
3
3
  const AfCheckbox = AfCheckbox$1;
4
4
  const defineCustomElement = defineCustomElement$1;
@@ -1,6 +1,6 @@
1
- import { p as proxyCustomElement, H, h, c as Host } from './p-CqQyDZ-4.js';
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-DOgb6SUj.js';
2
2
 
3
- const afClientCarouselCss = ".sc-af-client-carousel-h{display:block;width:100%}.client-carousel.sc-af-client-carousel{padding:48px 0;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.carousel-container.sc-af-client-carousel{display:flex;flex-direction:column;gap:var(--space-4, 16px);width:100%;overflow:hidden}.carousel-row.sc-af-client-carousel{display:flex;width:100%;overflow:hidden;position:relative}.logo-track.sc-af-client-carousel{display:flex;gap:var(--space-4, 16px);animation-timing-function:linear;animation-iteration-count:infinite}.scroll-left.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation-name:scroll-left;animation-duration:40s}.scroll-right.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation-name:scroll-right;animation-duration:40s}.sc-af-client-carousel-h:hover .logo-track.sc-af-client-carousel{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.logo-track.sc-af-client-carousel,.scroll-left.sc-af-client-carousel .logo-track.sc-af-client-carousel,.scroll-right.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation:none;transform:translateX(0)}}@keyframes scroll-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes scroll-right{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}.logo-track.sc-af-client-carousel>*.sc-af-client-carousel{display:flex;flex-shrink:0;gap:var(--space-4, 16px);align-items:center}.theme-inkwell.sc-af-client-carousel-h,.client-carousel.theme-inkwell.sc-af-client-carousel{background-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-well-bg:var(--colour-background-level1-dark, #203e45);--af-carousel-logo-color:white;--af-carousel-logo-filter:brightness(0) invert(1)}.theme-white.sc-af-client-carousel-h,.client-carousel.theme-white.sc-af-client-carousel{background-color:var(--colour-brand-white, #FFFFFF);--af-carousel-logo-well-bg:var(--colour-background-level1, #e8eeed);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-mist-green.sc-af-client-carousel-h,.client-carousel.theme-mist-green.sc-af-client-carousel{background-color:var(--colour-brand-mist-green, #C6D5D1);--af-carousel-logo-well-bg:var(--colour-mistgreen-300, #dde6e3);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-soft-clay.sc-af-client-carousel-h,.client-carousel.theme-soft-clay.sc-af-client-carousel{background-color:var(--colour-softclay-400, #c0ab8d);--af-carousel-logo-well-bg:var(--colour-softclay-200, #d5c5b0);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-white-ivory.sc-af-client-carousel-h,.client-carousel.theme-white-ivory.sc-af-client-carousel{background-color:var(--colour-brand-ivory-paper, #fff9ee);--af-carousel-logo-well-bg:var(--colour-softclay-100, #f2eadc);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}@media (max-width: 1024px){.client-carousel.sc-af-client-carousel{padding:32px 0}}@media (max-width: 767px){.client-carousel.sc-af-client-carousel{padding:24px 0}.carousel-container.sc-af-client-carousel{gap:var(--space-3, 12px)}.logo-track.sc-af-client-carousel{gap:var(--space-3, 12px)}.sc-af-client-carousel-s>*{gap:var(--space-3, 12px)}}";
3
+ const afClientCarouselCss = ".sc-af-client-carousel-h{display:block;width:100%}.client-carousel.sc-af-client-carousel{padding:48px 0;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.carousel-container.sc-af-client-carousel{display:flex;flex-direction:column;gap:var(--space-4, 16px);width:100%;overflow:hidden}.carousel-row.sc-af-client-carousel{display:flex;width:100%;overflow:hidden;position:relative}.logo-track.sc-af-client-carousel{display:flex;gap:var(--space-4, 16px);animation-timing-function:linear;animation-iteration-count:infinite}.scroll-left.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation-name:scroll-left;animation-duration:40s}.scroll-right.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation-name:scroll-right;animation-duration:40s}.sc-af-client-carousel-h:hover .logo-track.sc-af-client-carousel{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.logo-track.sc-af-client-carousel,.scroll-left.sc-af-client-carousel .logo-track.sc-af-client-carousel,.scroll-right.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation:none;transform:translateX(0)}}.client-carousel.mode-static.sc-af-client-carousel .logo-track.sc-af-client-carousel{animation:none;justify-content:center;flex-wrap:wrap;width:100%}.client-carousel.mode-static.sc-af-client-carousel .carousel-row.sc-af-client-carousel{justify-content:center;overflow:visible}.client-carousel.mode-static.sc-af-client-carousel .carousel-container.sc-af-client-carousel{overflow:visible}.client-carousel.mode-static.sc-af-client-carousel{overflow:hidden}@keyframes scroll-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes scroll-right{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}.logo-track.sc-af-client-carousel>*.sc-af-client-carousel{display:flex;flex-shrink:0;gap:var(--space-4, 16px);align-items:center}.theme-inkwell.sc-af-client-carousel-h,.client-carousel.theme-inkwell.sc-af-client-carousel{background-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-well-bg:var(--colour-background-level1-dark, #203e45);--af-carousel-logo-color:white;--af-carousel-logo-filter:brightness(0) invert(1)}.theme-white.sc-af-client-carousel-h,.client-carousel.theme-white.sc-af-client-carousel{background-color:var(--colour-brand-white, #FFFFFF);--af-carousel-logo-well-bg:var(--colour-background-level1, #e8eeed);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-mist-green.sc-af-client-carousel-h,.client-carousel.theme-mist-green.sc-af-client-carousel{background-color:var(--colour-brand-mist-green, #C6D5D1);--af-carousel-logo-well-bg:var(--colour-mistgreen-300, #dde6e3);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-soft-clay.sc-af-client-carousel-h,.client-carousel.theme-soft-clay.sc-af-client-carousel{background-color:var(--colour-softclay-400, #c0ab8d);--af-carousel-logo-well-bg:var(--colour-softclay-200, #d5c5b0);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}.theme-white-ivory.sc-af-client-carousel-h,.client-carousel.theme-white-ivory.sc-af-client-carousel{background-color:var(--colour-brand-ivory-paper, #fff9ee);--af-carousel-logo-well-bg:var(--colour-softclay-100, #f2eadc);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}@media (max-width: 1024px){.client-carousel.sc-af-client-carousel{padding:32px 0}}@media (max-width: 767px){.client-carousel.sc-af-client-carousel{padding:24px 0}.carousel-container.sc-af-client-carousel{gap:var(--space-3, 12px)}.logo-track.sc-af-client-carousel{gap:var(--space-3, 12px)}.sc-af-client-carousel-s>*{gap:var(--space-3, 12px)}}";
4
4
 
5
5
  const AfClientCarousel$1 = /*@__PURE__*/ proxyCustomElement(class AfClientCarousel extends H {
6
6
  constructor(registerHost) {
@@ -11,16 +11,28 @@ const AfClientCarousel$1 = /*@__PURE__*/ proxyCustomElement(class AfClientCarous
11
11
  /** Theme - sets background color and provides theme context to children */
12
12
  this.theme = 'inkwell';
13
13
  /**
14
- * Number of scrolling rows.
15
- * - `1` (default) — single row scrolling left, matches the Webflow reference.
16
- * - `2` — two rows scrolling in opposite directions.
14
+ * Number of rows.
15
+ * - `1` (default) — single row, matches the Webflow reference.
16
+ * - `2` — two rows (scroll in opposite directions, or stacked when static).
17
17
  *
18
18
  * When `rows="2"`, slot `row-1` and `row-2` independently.
19
19
  * When `rows="1"`, slot the default slot (unnamed) or `row-1`.
20
20
  */
21
21
  this.rows = 1;
22
+ /**
23
+ * Layout mode.
24
+ * - `scroll` (default) — infinite animated scroll; rows fill the full
25
+ * width and are cloned for a seamless loop.
26
+ * - `static` — no animation, logos centred horizontally. Use when the
27
+ * logo set is small enough to fit on screen without scrolling.
28
+ */
29
+ this.mode = 'scroll';
22
30
  }
23
31
  componentDidLoad() {
32
+ // Static mode doesn't animate, so the clone trick isn't needed —
33
+ // skipping it avoids rendering every logo twice.
34
+ if (this.mode === 'static')
35
+ return;
24
36
  this.duplicateTrackContent(this.row1TrackRef);
25
37
  if (Number(this.rows) === 2) {
26
38
  this.duplicateTrackContent(this.row2TrackRef);
@@ -49,13 +61,17 @@ const AfClientCarousel$1 = /*@__PURE__*/ proxyCustomElement(class AfClientCarous
49
61
  }
50
62
  render() {
51
63
  const rows = Number(this.rows);
52
- return (h(Host, { key: '46f4a3c383b4f067cc74697860d437e38428a94c', class: `theme-${this.theme}` }, h("div", { key: '3a112f1ba371dee4fbea77994ff2ce5b33d85702', class: `client-carousel theme-${this.theme} rows-${rows}` }, h("div", { key: '32bf5229631e03fdae350f2224cbc7c2728b164d', class: "carousel-container" }, h("div", { key: '265e1f762ad375913bb0d308a1ab313bb75b76c0', class: "carousel-row scroll-left" }, h("div", { key: 'd92c38d3ff861cc1f422b261cf6239dd59b8dbfc', class: "logo-track", ref: (el) => (this.row1TrackRef = el) }, h("slot", { key: 'bf82ec86369fd9bb927a003108959eb7f8ede1bf', name: "row-1" }, h("slot", { key: '6845159319fb23679e7b27968dbe8f86cc7d4bd1' })))), rows === 2 && (h("div", { key: 'a0327e6d2f98e1e34c3ab7b763565b73e511d90d', class: "carousel-row scroll-right" }, h("div", { key: 'ead9bd1658eb547b23967463f84a3a9575e43ad5', class: "logo-track", ref: (el) => (this.row2TrackRef = el) }, h("slot", { key: 'f849ded863bd0ece4cca88143f45c658aa0c9e83', name: "row-2" }))))))));
64
+ // Direction classes are left on in static mode too the `.mode-static`
65
+ // CSS rule overrides `animation` to `none`, so the direction is a no-op
66
+ // visually but keeps the markup shape consistent across modes.
67
+ return (h(Host, { key: 'ca25bfa9d9ca4bcf2b9326e48c89e7f5fb0599b3', class: `theme-${this.theme} mode-${this.mode}` }, h("div", { key: 'ea36aed6990f569561dce562510f88a9a50b5653', class: `client-carousel theme-${this.theme} rows-${rows} mode-${this.mode}` }, h("div", { key: 'a96a00ea379f9908f01845e9d2e515146bc2de1e', class: "carousel-container" }, h("div", { key: '1a5d6c4298b9229ee1ef3c3cf2fd0f358e5bf0e8', class: "carousel-row scroll-left" }, h("div", { key: '825e3e9149cc95c97892bb89becc2ea3eccddde5', class: "logo-track", ref: (el) => (this.row1TrackRef = el) }, h("slot", { key: '6e03784bd1f196374f0b73bb45b54f6dc1db66a2', name: "row-1" }, h("slot", { key: 'ed18d97e06d91a10ed6914cafa488ffc59f385ff' })))), rows === 2 && (h("div", { key: '7143c9333e29ffaaf5b8bcf8d1cf905d60236a7a', class: "carousel-row scroll-right" }, h("div", { key: '8446a3dcf958b370b4cc14a27ec4bd7c0228ded2', class: "logo-track", ref: (el) => (this.row2TrackRef = el) }, h("slot", { key: '2d4de0f0697f22ac4742cebe0e20ed94b218f030', name: "row-2" }))))))));
53
68
  }
54
69
  get el() { return this; }
55
70
  static get style() { return afClientCarouselCss; }
56
71
  }, [262, "af-client-carousel", {
57
72
  "theme": [1],
58
- "rows": [2]
73
+ "rows": [2],
74
+ "mode": [1]
59
75
  }]);
60
76
  function defineCustomElement$1() {
61
77
  if (typeof customElements === "undefined") {