@affinda/wc 0.0.14 → 0.0.16

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 (767) hide show
  1. package/dist/affinda/af-aspect-ratio.entry.esm.js.map +1 -1
  2. package/dist/affinda/af-button.entry.esm.js.map +1 -1
  3. package/dist/affinda/af-card.entry.esm.js.map +1 -1
  4. package/dist/affinda/af-checkbox.entry.esm.js.map +1 -0
  5. package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -1
  6. package/dist/affinda/af-feature-accordion.entry.esm.js.map +1 -1
  7. package/dist/affinda/af-feature-card.entry.esm.js.map +1 -0
  8. package/dist/affinda/af-feature-grid.entry.esm.js.map +1 -0
  9. package/dist/affinda/af-fieldset.entry.esm.js.map +1 -0
  10. package/dist/affinda/af-footer.entry.esm.js.map +1 -1
  11. package/dist/affinda/af-grid-callout.entry.esm.js.map +1 -0
  12. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
  13. package/dist/affinda/af-hero-section.entry.esm.js.map +1 -1
  14. package/dist/affinda/af-icon-box.entry.esm.js.map +1 -0
  15. package/dist/affinda/af-icon-button.entry.esm.js.map +1 -1
  16. package/dist/affinda/af-icon-text.entry.esm.js.map +1 -0
  17. package/dist/affinda/af-icon.entry.esm.js.map +1 -0
  18. package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -0
  19. package/dist/affinda/af-image.entry.esm.js.map +1 -0
  20. package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -0
  21. package/dist/affinda/af-input.entry.esm.js.map +1 -0
  22. package/dist/affinda/af-logo-well.entry.esm.js.map +1 -1
  23. package/dist/affinda/af-nav-card.entry.esm.js.map +1 -0
  24. package/dist/affinda/af-nav-menu-nest.entry.esm.js.map +1 -0
  25. package/dist/affinda/af-nav-menu.entry.esm.js.map +1 -0
  26. package/dist/affinda/af-number-badge.entry.esm.js.map +1 -0
  27. package/dist/affinda/af-progress-line.entry.esm.js.map +1 -0
  28. package/dist/affinda/af-radio.entry.esm.js.map +1 -0
  29. package/dist/affinda/af-section.entry.esm.js.map +1 -1
  30. package/dist/affinda/af-split-section.entry.esm.js.map +1 -0
  31. package/dist/affinda/af-switch.entry.esm.js.map +1 -0
  32. package/dist/affinda/af-tab-bar.entry.esm.js.map +1 -0
  33. package/dist/affinda/af-tab.entry.esm.js.map +1 -0
  34. package/dist/affinda/af-tag.entry.esm.js.map +1 -0
  35. package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +1 -1
  36. package/dist/affinda/af-testimonial-stat.entry.esm.js.map +1 -1
  37. package/dist/affinda/af-testimonial.entry.esm.js.map +1 -1
  38. package/dist/affinda/af-text-image-nest.entry.esm.js.map +1 -0
  39. package/dist/affinda/af-text-image.entry.esm.js.map +1 -0
  40. package/dist/affinda/af-textarea.entry.esm.js.map +1 -0
  41. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
  42. package/dist/affinda/af-video-container.entry.esm.js.map +1 -0
  43. package/dist/affinda/affinda.css +1 -1
  44. package/dist/affinda/affinda.esm.js +1 -1
  45. package/dist/affinda/index.esm.js +1 -1
  46. package/dist/affinda/index.esm.js.map +1 -1
  47. package/dist/affinda/p-0cd160a4.entry.js +2 -0
  48. package/dist/affinda/p-0cd160a4.entry.js.map +1 -0
  49. package/dist/affinda/p-10801ee1.entry.js +2 -0
  50. package/dist/affinda/p-10801ee1.entry.js.map +1 -0
  51. package/dist/affinda/p-1d65fd18.entry.js +2 -0
  52. package/dist/affinda/p-1d65fd18.entry.js.map +1 -0
  53. package/dist/affinda/p-1d9e532f.entry.js +2 -0
  54. package/dist/affinda/p-231ba1d0.entry.js +2 -0
  55. package/dist/affinda/p-231ba1d0.entry.js.map +1 -0
  56. package/dist/affinda/p-2b4dc22c.entry.js +2 -0
  57. package/dist/affinda/p-2b4dc22c.entry.js.map +1 -0
  58. package/dist/affinda/{p-a49dc8ac.entry.js → p-31d4c1a4.entry.js} +2 -2
  59. package/dist/affinda/p-3d3c9f62.entry.js +2 -0
  60. package/dist/affinda/p-3d3c9f62.entry.js.map +1 -0
  61. package/dist/affinda/p-3f691578.entry.js +2 -0
  62. package/dist/affinda/p-3f691578.entry.js.map +1 -0
  63. package/dist/affinda/p-425253ee.entry.js +2 -0
  64. package/dist/affinda/{p-52f7ea33.entry.js.map → p-425253ee.entry.js.map} +1 -1
  65. package/dist/affinda/p-44b25840.entry.js +2 -0
  66. package/dist/affinda/p-44b25840.entry.js.map +1 -0
  67. package/dist/affinda/p-45e1923c.entry.js +2 -0
  68. package/dist/affinda/p-45e1923c.entry.js.map +1 -0
  69. package/dist/affinda/p-52ab3bf0.entry.js +2 -0
  70. package/dist/affinda/p-52ab3bf0.entry.js.map +1 -0
  71. package/dist/affinda/p-53ae16fe.entry.js +2 -0
  72. package/dist/affinda/p-53b5149d.entry.js +2 -0
  73. package/dist/affinda/p-53b5149d.entry.js.map +1 -0
  74. package/dist/affinda/p-57713942.entry.js +2 -0
  75. package/dist/affinda/p-57713942.entry.js.map +1 -0
  76. package/dist/affinda/p-5bbf2c8c.entry.js +2 -0
  77. package/dist/affinda/p-5bbf2c8c.entry.js.map +1 -0
  78. package/dist/affinda/p-697bf0b7.entry.js +2 -0
  79. package/dist/affinda/p-697bf0b7.entry.js.map +1 -0
  80. package/dist/affinda/p-6b2d0ff4.entry.js +2 -0
  81. package/dist/affinda/p-6b2d0ff4.entry.js.map +1 -0
  82. package/dist/affinda/p-71144002.entry.js +2 -0
  83. package/dist/affinda/p-71144002.entry.js.map +1 -0
  84. package/dist/affinda/{p-dec4c4d5.entry.js → p-72f02343.entry.js} +2 -2
  85. package/dist/affinda/p-77bf8a81.entry.js +2 -0
  86. package/dist/affinda/p-77bf8a81.entry.js.map +1 -0
  87. package/dist/affinda/p-7f20fbe0.entry.js +2 -0
  88. package/dist/affinda/p-7f20fbe0.entry.js.map +1 -0
  89. package/dist/affinda/p-81571029.entry.js +2 -0
  90. package/dist/affinda/p-81571029.entry.js.map +1 -0
  91. package/dist/affinda/p-85a78bcf.entry.js +2 -0
  92. package/dist/affinda/p-85a78bcf.entry.js.map +1 -0
  93. package/dist/affinda/p-861f4f57.entry.js +2 -0
  94. package/dist/affinda/p-861f4f57.entry.js.map +1 -0
  95. package/dist/affinda/p-864778d0.entry.js +2 -0
  96. package/dist/affinda/p-864778d0.entry.js.map +1 -0
  97. package/dist/affinda/p-8ea22b5d.entry.js +2 -0
  98. package/dist/affinda/p-8ea22b5d.entry.js.map +1 -0
  99. package/dist/affinda/{p-97f9f774.entry.js → p-96eac3af.entry.js} +2 -2
  100. package/dist/affinda/p-98901734.entry.js +2 -0
  101. package/dist/affinda/p-98901734.entry.js.map +1 -0
  102. package/dist/affinda/p-9f470d8b.entry.js +2 -0
  103. package/dist/affinda/p-9f470d8b.entry.js.map +1 -0
  104. package/dist/affinda/p-BmU_CFQ4.js +3 -0
  105. package/dist/affinda/p-BmU_CFQ4.js.map +1 -0
  106. package/dist/affinda/p-a36abb83.entry.js +2 -0
  107. package/dist/affinda/{p-bf4543ff.entry.js.map → p-a36abb83.entry.js.map} +1 -1
  108. package/dist/affinda/p-a4e4eb4d.entry.js +2 -0
  109. package/dist/affinda/{p-d3b2ab0e.entry.js.map → p-a4e4eb4d.entry.js.map} +1 -1
  110. package/dist/affinda/p-a6365e94.entry.js +2 -0
  111. package/dist/affinda/p-a6365e94.entry.js.map +1 -0
  112. package/dist/affinda/p-aaa28806.entry.js +2 -0
  113. package/dist/affinda/p-aaa28806.entry.js.map +1 -0
  114. package/dist/affinda/p-acbbe39a.entry.js +2 -0
  115. package/dist/affinda/{p-ce89c4f1.entry.js.map → p-acbbe39a.entry.js.map} +1 -1
  116. package/dist/affinda/p-b17735c9.entry.js +2 -0
  117. package/dist/affinda/p-b17735c9.entry.js.map +1 -0
  118. package/dist/affinda/p-b3b0ed0c.entry.js +2 -0
  119. package/dist/affinda/p-b3b0ed0c.entry.js.map +1 -0
  120. package/dist/affinda/p-be049760.entry.js +2 -0
  121. package/dist/affinda/p-be049760.entry.js.map +1 -0
  122. package/dist/affinda/p-c0ee2420.entry.js +2 -0
  123. package/dist/affinda/p-c0ee2420.entry.js.map +1 -0
  124. package/dist/affinda/{p-3a9646e6.entry.js → p-c11088fa.entry.js} +2 -2
  125. package/dist/affinda/p-c298b370.entry.js +2 -0
  126. package/dist/affinda/p-c298b370.entry.js.map +1 -0
  127. package/dist/affinda/p-c3e31251.entry.js +2 -0
  128. package/dist/affinda/p-c3e31251.entry.js.map +1 -0
  129. package/dist/affinda/p-ce3356f1.entry.js +2 -0
  130. package/dist/affinda/p-ce3356f1.entry.js.map +1 -0
  131. package/dist/affinda/p-df148383.entry.js +2 -0
  132. package/dist/affinda/{p-07990b1f.entry.js.map → p-df148383.entry.js.map} +1 -1
  133. package/dist/affinda/{p-f8ac0120.entry.js → p-e5af21c2.entry.js} +2 -2
  134. package/dist/affinda/p-e5d9913c.entry.js +2 -0
  135. package/dist/affinda/p-e5d9913c.entry.js.map +1 -0
  136. package/dist/affinda/p-ea06c83b.entry.js +2 -0
  137. package/dist/affinda/p-ea06c83b.entry.js.map +1 -0
  138. package/dist/affinda/p-f45b0060.entry.js +2 -0
  139. package/dist/affinda/{p-050f98cd.entry.js.map → p-f45b0060.entry.js.map} +1 -1
  140. package/dist/cjs/af-aspect-ratio.cjs.entry.js +2 -2
  141. package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +1 -1
  142. package/dist/cjs/af-button-group.cjs.entry.js +2 -2
  143. package/dist/cjs/af-button.cjs.entry.js +25 -12
  144. package/dist/cjs/af-button.entry.cjs.js.map +1 -1
  145. package/dist/cjs/af-card.cjs.entry.js +17 -7
  146. package/dist/cjs/af-card.entry.cjs.js.map +1 -1
  147. package/dist/cjs/af-checkbox.cjs.entry.js +58 -0
  148. package/dist/cjs/af-checkbox.entry.cjs.js.map +1 -0
  149. package/dist/cjs/af-client-carousel.cjs.entry.js +5 -7
  150. package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
  151. package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
  152. package/dist/cjs/af-contact-item.cjs.entry.js +2 -2
  153. package/dist/cjs/af-container.cjs.entry.js +1 -1
  154. package/dist/cjs/af-feature-accordion.cjs.entry.js +4 -4
  155. package/dist/cjs/af-feature-accordion.entry.cjs.js.map +1 -1
  156. package/dist/cjs/af-feature-card.cjs.entry.js +59 -0
  157. package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -0
  158. package/dist/cjs/af-feature-grid.cjs.entry.js +93 -0
  159. package/dist/cjs/af-feature-grid.entry.cjs.js.map +1 -0
  160. package/dist/cjs/af-fieldset.cjs.entry.js +37 -0
  161. package/dist/cjs/af-fieldset.entry.cjs.js.map +1 -0
  162. package/dist/cjs/af-footer-column.cjs.entry.js +2 -2
  163. package/dist/cjs/af-footer-link.cjs.entry.js +2 -2
  164. package/dist/cjs/af-footer.cjs.entry.js +3 -3
  165. package/dist/cjs/af-footer.entry.cjs.js.map +1 -1
  166. package/dist/cjs/af-grid-callout.cjs.entry.js +51 -0
  167. package/dist/cjs/af-grid-callout.entry.cjs.js.map +1 -0
  168. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
  169. package/dist/cjs/af-heading_5.cjs.entry.js +69 -20
  170. package/dist/cjs/af-hero-section.cjs.entry.js +11 -5
  171. package/dist/cjs/af-hero-section.entry.cjs.js.map +1 -1
  172. package/dist/cjs/af-icon-box.cjs.entry.js +30 -0
  173. package/dist/cjs/af-icon-box.entry.cjs.js.map +1 -0
  174. package/dist/cjs/af-icon-button.cjs.entry.js +6 -3
  175. package/dist/cjs/af-icon-button.entry.cjs.js.map +1 -1
  176. package/dist/cjs/af-icon-text.cjs.entry.js +36 -0
  177. package/dist/cjs/af-icon-text.entry.cjs.js.map +1 -0
  178. package/dist/cjs/af-icon.cjs.entry.js +352 -0
  179. package/dist/cjs/af-icon.entry.cjs.js.map +1 -0
  180. package/dist/cjs/af-illustrated-card.cjs.entry.js +36 -0
  181. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -0
  182. package/dist/cjs/af-image.cjs.entry.js +18 -0
  183. package/dist/cjs/af-image.entry.cjs.js.map +1 -0
  184. package/dist/cjs/af-in-page-banner.cjs.entry.js +47 -0
  185. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -0
  186. package/dist/cjs/af-input.cjs.entry.js +104 -0
  187. package/dist/cjs/af-input.entry.cjs.js.map +1 -0
  188. package/dist/cjs/af-logo-well.cjs.entry.js +3 -3
  189. package/dist/cjs/af-logo-well.entry.cjs.js.map +1 -1
  190. package/dist/cjs/af-nav-card.cjs.entry.js +37 -0
  191. package/dist/cjs/af-nav-card.entry.cjs.js.map +1 -0
  192. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +43 -0
  193. package/dist/cjs/af-nav-menu-nest.entry.cjs.js.map +1 -0
  194. package/dist/cjs/af-nav-menu.cjs.entry.js +41 -0
  195. package/dist/cjs/af-nav-menu.entry.cjs.js.map +1 -0
  196. package/dist/cjs/af-number-badge.cjs.entry.js +42 -0
  197. package/dist/cjs/af-number-badge.entry.cjs.js.map +1 -0
  198. package/dist/cjs/af-progress-line.cjs.entry.js +33 -0
  199. package/dist/cjs/af-progress-line.entry.cjs.js.map +1 -0
  200. package/dist/cjs/af-radio.cjs.entry.js +43 -0
  201. package/dist/cjs/af-radio.entry.cjs.js.map +1 -0
  202. package/dist/cjs/af-section.cjs.entry.js +6 -6
  203. package/dist/cjs/af-section.entry.cjs.js.map +1 -1
  204. package/dist/cjs/af-social-link.cjs.entry.js +2 -2
  205. package/dist/cjs/af-split-section.cjs.entry.js +41 -0
  206. package/dist/cjs/af-split-section.entry.cjs.js.map +1 -0
  207. package/dist/cjs/af-switch.cjs.entry.js +48 -0
  208. package/dist/cjs/af-switch.entry.cjs.js.map +1 -0
  209. package/dist/cjs/af-tab-bar.cjs.entry.js +88 -0
  210. package/dist/cjs/af-tab-bar.entry.cjs.js.map +1 -0
  211. package/dist/cjs/af-tab.cjs.entry.js +64 -0
  212. package/dist/cjs/af-tab.entry.cjs.js.map +1 -0
  213. package/dist/cjs/af-tag.cjs.entry.js +37 -0
  214. package/dist/cjs/af-tag.entry.cjs.js.map +1 -0
  215. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +27 -15
  216. package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +1 -1
  217. package/dist/cjs/af-testimonial-stat.cjs.entry.js +3 -3
  218. package/dist/cjs/af-testimonial-stat.entry.cjs.js.map +1 -1
  219. package/dist/cjs/af-testimonial.cjs.entry.js +27 -3
  220. package/dist/cjs/af-testimonial.entry.cjs.js.map +1 -1
  221. package/dist/cjs/af-text-image-nest.cjs.entry.js +30 -0
  222. package/dist/cjs/af-text-image-nest.entry.cjs.js.map +1 -0
  223. package/dist/cjs/af-text-image.cjs.entry.js +63 -0
  224. package/dist/cjs/af-text-image.entry.cjs.js.map +1 -0
  225. package/dist/cjs/af-textarea.cjs.entry.js +93 -0
  226. package/dist/cjs/af-textarea.entry.cjs.js.map +1 -0
  227. package/dist/cjs/af-typography-lockup.cjs.entry.js +7 -7
  228. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
  229. package/dist/cjs/af-video-container.cjs.entry.js +35 -0
  230. package/dist/cjs/af-video-container.entry.cjs.js.map +1 -0
  231. package/dist/cjs/affinda.cjs.js +2 -2
  232. package/dist/cjs/{index-DfEVhbS6.js → index-ybEiHT0b.js} +130 -6
  233. package/dist/cjs/index-ybEiHT0b.js.map +1 -0
  234. package/dist/cjs/index.cjs.js +23 -1
  235. package/dist/cjs/index.cjs.js.map +1 -1
  236. package/dist/cjs/loader.cjs.js +2 -2
  237. package/dist/collection/assets/backgrounds/wave-overlay-inkwell.svg +3 -0
  238. package/dist/collection/assets/backgrounds/wave-overlay-mist-green.svg +3 -0
  239. package/dist/collection/assets/backgrounds/wave-overlay-soft-clay.svg +3 -0
  240. package/dist/collection/assets/backgrounds/wave-overlay-white-ivory.svg +3 -0
  241. package/dist/collection/assets/logo-affinda.svg +19 -0
  242. package/dist/collection/collection-manifest.json +28 -2
  243. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.css +2 -0
  244. package/dist/collection/components/af-button/af-button.css +177 -64
  245. package/dist/collection/components/af-button/af-button.js +50 -42
  246. package/dist/collection/components/af-button/af-button.js.map +1 -1
  247. package/dist/collection/components/af-button-group/af-button-group.js +1 -1
  248. package/dist/collection/components/af-card/af-card.css +96 -64
  249. package/dist/collection/components/af-card/af-card.js +32 -33
  250. package/dist/collection/components/af-card/af-card.js.map +1 -1
  251. package/dist/collection/components/af-checkbox/af-checkbox.css +96 -0
  252. package/dist/collection/components/af-checkbox/af-checkbox.js +186 -0
  253. package/dist/collection/components/af-checkbox/af-checkbox.js.map +1 -0
  254. package/dist/collection/components/af-client-carousel/af-client-carousel.css +77 -32
  255. package/dist/collection/components/af-client-carousel/af-client-carousel.js +21 -33
  256. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
  257. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  258. package/dist/collection/components/af-feature-accordion/af-feature-accordion.css +21 -35
  259. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +15 -5
  260. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js.map +1 -1
  261. package/dist/collection/components/af-feature-card/af-feature-card.css +219 -0
  262. package/dist/collection/components/af-feature-card/af-feature-card.js +199 -0
  263. package/dist/collection/components/af-feature-card/af-feature-card.js.map +1 -0
  264. package/dist/collection/components/af-feature-grid/af-feature-grid.css +119 -0
  265. package/dist/collection/components/af-feature-grid/af-feature-grid.js +156 -0
  266. package/dist/collection/components/af-feature-grid/af-feature-grid.js.map +1 -0
  267. package/dist/collection/components/af-fieldset/af-fieldset.css +61 -0
  268. package/dist/collection/components/af-fieldset/af-fieldset.js +109 -0
  269. package/dist/collection/components/af-fieldset/af-fieldset.js.map +1 -0
  270. package/dist/collection/components/af-footer/af-footer.css +1 -1
  271. package/dist/collection/components/af-footer/af-footer.js +1 -1
  272. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  273. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  274. package/dist/collection/components/af-grid-callout/af-grid-callout.css +191 -0
  275. package/dist/collection/components/af-grid-callout/af-grid-callout.js +191 -0
  276. package/dist/collection/components/af-grid-callout/af-grid-callout.js.map +1 -0
  277. package/dist/collection/components/af-heading/af-heading.css +25 -33
  278. package/dist/collection/components/af-heading/af-heading.js +8 -26
  279. package/dist/collection/components/af-heading/af-heading.js.map +1 -1
  280. package/dist/collection/components/af-hero-section/af-hero-section.css +118 -12
  281. package/dist/collection/components/af-hero-section/af-hero-section.js +102 -10
  282. package/dist/collection/components/af-hero-section/af-hero-section.js.map +1 -1
  283. package/dist/collection/components/af-icon/af-icon.css +28 -0
  284. package/dist/collection/components/af-icon/af-icon.js +116 -0
  285. package/dist/collection/components/af-icon/af-icon.js.map +1 -0
  286. package/dist/collection/components/af-icon-box/af-icon-box.css +36 -0
  287. package/dist/collection/components/af-icon-box/af-icon-box.js +97 -0
  288. package/dist/collection/components/af-icon-box/af-icon-box.js.map +1 -0
  289. package/dist/collection/components/af-icon-button/af-icon-button.css +42 -54
  290. package/dist/collection/components/af-icon-button/af-icon-button.js +8 -5
  291. package/dist/collection/components/af-icon-button/af-icon-button.js.map +1 -1
  292. package/dist/collection/components/af-icon-text/af-icon-text.css +43 -0
  293. package/dist/collection/components/af-icon-text/af-icon-text.js +150 -0
  294. package/dist/collection/components/af-icon-text/af-icon-text.js.map +1 -0
  295. package/dist/collection/components/af-illustrated-card/af-illustrated-card.css +99 -0
  296. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +115 -0
  297. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -0
  298. package/dist/collection/components/af-image/af-image.css +27 -0
  299. package/dist/collection/components/af-image/af-image.js +65 -0
  300. package/dist/collection/components/af-image/af-image.js.map +1 -0
  301. package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +379 -0
  302. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +266 -0
  303. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -0
  304. package/dist/collection/components/af-input/af-input.css +246 -0
  305. package/dist/collection/components/af-input/af-input.js +527 -0
  306. package/dist/collection/components/af-input/af-input.js.map +1 -0
  307. package/dist/collection/components/af-logo/af-logo.css +4 -3
  308. package/dist/collection/components/af-logo/af-logo.js +1 -1
  309. package/dist/collection/components/af-logo/af-logo.js.map +1 -1
  310. package/dist/collection/components/af-logo-well/af-logo-well.css +15 -4
  311. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  312. package/dist/collection/components/af-nav-card/af-nav-card.css +70 -0
  313. package/dist/collection/components/af-nav-card/af-nav-card.js +138 -0
  314. package/dist/collection/components/af-nav-card/af-nav-card.js.map +1 -0
  315. package/dist/collection/components/af-nav-item/af-nav-item.css +161 -28
  316. package/dist/collection/components/af-nav-item/af-nav-item.js +27 -0
  317. package/dist/collection/components/af-nav-item/af-nav-item.js.map +1 -1
  318. package/dist/collection/components/af-nav-menu/af-nav-menu.css +91 -0
  319. package/dist/collection/components/af-nav-menu/af-nav-menu.js +131 -0
  320. package/dist/collection/components/af-nav-menu/af-nav-menu.js.map +1 -0
  321. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.css +79 -0
  322. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +129 -0
  323. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js.map +1 -0
  324. package/dist/collection/components/af-navbar/af-navbar.css +91 -8
  325. package/dist/collection/components/af-navbar/af-navbar.js +113 -3
  326. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
  327. package/dist/collection/components/af-number-badge/af-number-badge.css +30 -0
  328. package/dist/collection/components/af-number-badge/af-number-badge.js +131 -0
  329. package/dist/collection/components/af-number-badge/af-number-badge.js.map +1 -0
  330. package/dist/collection/components/af-progress-line/af-progress-line.css +44 -0
  331. package/dist/collection/components/af-progress-line/af-progress-line.js +86 -0
  332. package/dist/collection/components/af-progress-line/af-progress-line.js.map +1 -0
  333. package/dist/collection/components/af-radio/af-radio.css +97 -0
  334. package/dist/collection/components/af-radio/af-radio.js +150 -0
  335. package/dist/collection/components/af-radio/af-radio.js.map +1 -0
  336. package/dist/collection/components/af-section/af-section.css +230 -24
  337. package/dist/collection/components/af-section/af-section.js +11 -10
  338. package/dist/collection/components/af-section/af-section.js.map +1 -1
  339. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  340. package/dist/collection/components/af-split-section/af-split-section.css +46 -0
  341. package/dist/collection/components/af-split-section/af-split-section.js +145 -0
  342. package/dist/collection/components/af-split-section/af-split-section.js.map +1 -0
  343. package/dist/collection/components/af-switch/af-switch.css +104 -0
  344. package/dist/collection/components/af-switch/af-switch.js +155 -0
  345. package/dist/collection/components/af-switch/af-switch.js.map +1 -0
  346. package/dist/collection/components/af-tab/af-tab.css +182 -0
  347. package/dist/collection/components/af-tab/af-tab.js +251 -0
  348. package/dist/collection/components/af-tab/af-tab.js.map +1 -0
  349. package/dist/collection/components/af-tab-bar/af-tab-bar.css +87 -0
  350. package/dist/collection/components/af-tab-bar/af-tab-bar.js +171 -0
  351. package/dist/collection/components/af-tab-bar/af-tab-bar.js.map +1 -0
  352. package/dist/collection/components/af-tag/af-tag.css +92 -0
  353. package/dist/collection/components/af-tag/af-tag.js +126 -0
  354. package/dist/collection/components/af-tag/af-tag.js.map +1 -0
  355. package/dist/collection/components/af-testimonial/af-testimonial.css +30 -46
  356. package/dist/collection/components/af-testimonial/af-testimonial.js +118 -1
  357. package/dist/collection/components/af-testimonial/af-testimonial.js.map +1 -1
  358. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.css +6 -66
  359. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +48 -13
  360. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +1 -1
  361. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.css +9 -16
  362. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  363. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js.map +1 -1
  364. package/dist/collection/components/af-text/af-text.css +13 -36
  365. package/dist/collection/components/af-text/af-text.js +10 -28
  366. package/dist/collection/components/af-text/af-text.js.map +1 -1
  367. package/dist/collection/components/af-text-image/af-text-image.css +228 -0
  368. package/dist/collection/components/af-text-image/af-text-image.js +173 -0
  369. package/dist/collection/components/af-text-image/af-text-image.js.map +1 -0
  370. package/dist/collection/components/af-text-image-nest/af-text-image-nest.css +110 -0
  371. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +71 -0
  372. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js.map +1 -0
  373. package/dist/collection/components/af-textarea/af-textarea.css +175 -0
  374. package/dist/collection/components/af-textarea/af-textarea.js +443 -0
  375. package/dist/collection/components/af-textarea/af-textarea.js.map +1 -0
  376. package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +126 -40
  377. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +5 -5
  378. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
  379. package/dist/collection/components/af-video-container/af-video-container.css +102 -0
  380. package/dist/collection/components/af-video-container/af-video-container.js +142 -0
  381. package/dist/collection/components/af-video-container/af-video-container.js.map +1 -0
  382. package/dist/collection/components.js +11 -0
  383. package/dist/collection/components.js.map +1 -1
  384. package/dist/components/af-aspect-ratio.js +1 -1
  385. package/dist/components/af-button-group.js +1 -1
  386. package/dist/components/af-button.js +1 -1
  387. package/dist/components/af-card.js +1 -39
  388. package/dist/components/af-card.js.map +1 -1
  389. package/dist/components/{af-cta-section.d.ts → af-checkbox.d.ts} +4 -4
  390. package/dist/components/af-checkbox.js +9 -0
  391. package/dist/components/af-checkbox.js.map +1 -0
  392. package/dist/components/af-client-carousel.js +6 -9
  393. package/dist/components/af-client-carousel.js.map +1 -1
  394. package/dist/components/af-color-swatch.js +1 -1
  395. package/dist/components/af-contact-item.js +2 -2
  396. package/dist/components/af-container.js +1 -1
  397. package/dist/components/af-feature-accordion.js +4 -4
  398. package/dist/components/af-feature-accordion.js.map +1 -1
  399. package/dist/components/af-feature-card.d.ts +11 -0
  400. package/dist/components/af-feature-card.js +9 -0
  401. package/dist/components/af-feature-card.js.map +1 -0
  402. package/dist/components/af-feature-grid.d.ts +11 -0
  403. package/dist/components/af-feature-grid.js +124 -0
  404. package/dist/components/af-feature-grid.js.map +1 -0
  405. package/dist/components/af-fieldset.d.ts +11 -0
  406. package/dist/components/af-fieldset.js +9 -0
  407. package/dist/components/af-fieldset.js.map +1 -0
  408. package/dist/components/af-footer-column.js +2 -2
  409. package/dist/components/af-footer-link.js +2 -2
  410. package/dist/components/af-footer.js +3 -3
  411. package/dist/components/af-footer.js.map +1 -1
  412. package/dist/components/af-grid-callout.d.ts +11 -0
  413. package/dist/components/af-grid-callout.js +82 -0
  414. package/dist/components/af-grid-callout.js.map +1 -0
  415. package/dist/components/af-heading.js +1 -1
  416. package/dist/components/af-hero-section.js +25 -9
  417. package/dist/components/af-hero-section.js.map +1 -1
  418. package/dist/components/af-icon-box.d.ts +11 -0
  419. package/dist/components/af-icon-box.js +9 -0
  420. package/dist/components/af-icon-box.js.map +1 -0
  421. package/dist/components/af-icon-button.js +1 -1
  422. package/dist/components/af-icon-text.d.ts +11 -0
  423. package/dist/components/af-icon-text.js +78 -0
  424. package/dist/components/af-icon-text.js.map +1 -0
  425. package/dist/components/af-icon.d.ts +11 -0
  426. package/dist/components/af-icon.js +9 -0
  427. package/dist/components/af-icon.js.map +1 -0
  428. package/dist/components/af-illustrated-card.d.ts +11 -0
  429. package/dist/components/af-illustrated-card.js +9 -0
  430. package/dist/components/af-illustrated-card.js.map +1 -0
  431. package/dist/components/af-image.d.ts +11 -0
  432. package/dist/components/af-image.js +9 -0
  433. package/dist/components/af-image.js.map +1 -0
  434. package/dist/components/af-in-page-banner.d.ts +11 -0
  435. package/dist/components/af-in-page-banner.js +82 -0
  436. package/dist/components/af-in-page-banner.js.map +1 -0
  437. package/dist/components/af-input.d.ts +11 -0
  438. package/dist/components/af-input.js +9 -0
  439. package/dist/components/af-input.js.map +1 -0
  440. package/dist/components/af-logo-well.js +3 -3
  441. package/dist/components/af-logo-well.js.map +1 -1
  442. package/dist/components/af-logo.js +1 -1
  443. package/dist/components/af-nav-card.d.ts +11 -0
  444. package/dist/components/af-nav-card.js +63 -0
  445. package/dist/components/af-nav-card.js.map +1 -0
  446. package/dist/components/af-nav-item.js +1 -1
  447. package/dist/components/af-nav-menu-nest.d.ts +11 -0
  448. package/dist/components/af-nav-menu-nest.js +67 -0
  449. package/dist/components/af-nav-menu-nest.js.map +1 -0
  450. package/dist/components/af-nav-menu.d.ts +11 -0
  451. package/dist/components/af-nav-menu.js +66 -0
  452. package/dist/components/af-nav-menu.js.map +1 -0
  453. package/dist/components/af-navbar.js +1 -1
  454. package/dist/components/af-number-badge.d.ts +11 -0
  455. package/dist/components/af-number-badge.js +66 -0
  456. package/dist/components/af-number-badge.js.map +1 -0
  457. package/dist/components/af-progress-line.d.ts +11 -0
  458. package/dist/components/af-progress-line.js +9 -0
  459. package/dist/components/af-progress-line.js.map +1 -0
  460. package/dist/components/af-radio.d.ts +11 -0
  461. package/dist/components/af-radio.js +9 -0
  462. package/dist/components/af-radio.js.map +1 -0
  463. package/dist/components/af-section.js +8 -8
  464. package/dist/components/af-section.js.map +1 -1
  465. package/dist/components/af-social-link.js +2 -2
  466. package/dist/components/af-split-section.d.ts +11 -0
  467. package/dist/components/af-split-section.js +71 -0
  468. package/dist/components/af-split-section.js.map +1 -0
  469. package/dist/components/af-switch.d.ts +11 -0
  470. package/dist/components/af-switch.js +9 -0
  471. package/dist/components/af-switch.js.map +1 -0
  472. package/dist/components/af-tab-bar.d.ts +11 -0
  473. package/dist/components/af-tab-bar.js +9 -0
  474. package/dist/components/af-tab-bar.js.map +1 -0
  475. package/dist/components/af-tab.d.ts +11 -0
  476. package/dist/components/af-tab.js +9 -0
  477. package/dist/components/af-tab.js.map +1 -0
  478. package/dist/components/af-tag.d.ts +11 -0
  479. package/dist/components/af-tag.js +9 -0
  480. package/dist/components/af-tag.js.map +1 -0
  481. package/dist/components/af-testimonial-carousel.js +35 -17
  482. package/dist/components/af-testimonial-carousel.js.map +1 -1
  483. package/dist/components/af-testimonial-stat.js +16 -4
  484. package/dist/components/af-testimonial-stat.js.map +1 -1
  485. package/dist/components/af-testimonial.js +56 -5
  486. package/dist/components/af-testimonial.js.map +1 -1
  487. package/dist/components/af-text-image-nest.d.ts +11 -0
  488. package/dist/components/af-text-image-nest.js +51 -0
  489. package/dist/components/af-text-image-nest.js.map +1 -0
  490. package/dist/components/af-text-image.d.ts +11 -0
  491. package/dist/components/af-text-image.js +94 -0
  492. package/dist/components/af-text-image.js.map +1 -0
  493. package/dist/components/af-text.js +1 -1
  494. package/dist/components/af-textarea.d.ts +11 -0
  495. package/dist/components/af-textarea.js +9 -0
  496. package/dist/components/af-textarea.js.map +1 -0
  497. package/dist/components/af-typography-lockup.js +1 -1
  498. package/dist/components/af-video-container.d.ts +11 -0
  499. package/dist/components/af-video-container.js +70 -0
  500. package/dist/components/af-video-container.js.map +1 -0
  501. package/dist/components/index.js +24 -13
  502. package/dist/components/index.js.map +1 -1
  503. package/dist/components/{p-BBivIwbE.js → p-6uEhsUaO.js} +3 -3
  504. package/dist/components/{p-BBivIwbE.js.map → p-6uEhsUaO.js.map} +1 -1
  505. package/dist/components/{p-PLXzXWgX.js → p-BHKA-yEm.js} +4 -4
  506. package/dist/components/p-BHKA-yEm.js.map +1 -0
  507. package/dist/components/p-BMp8QbY-.js +68 -0
  508. package/dist/components/p-BMp8QbY-.js.map +1 -0
  509. package/dist/components/p-BRN73McC.js +59 -0
  510. package/dist/components/p-BRN73McC.js.map +1 -0
  511. package/dist/components/p-BRsO61_R.js +58 -0
  512. package/dist/components/p-BRsO61_R.js.map +1 -0
  513. package/dist/components/p-BXZ7aJQf.js +372 -0
  514. package/dist/components/p-BXZ7aJQf.js.map +1 -0
  515. package/dist/components/p-Bh4YP9vE.js +74 -0
  516. package/dist/components/p-Bh4YP9vE.js.map +1 -0
  517. package/dist/components/p-Br0VERLB.js +81 -0
  518. package/dist/components/p-Br0VERLB.js.map +1 -0
  519. package/dist/components/{p-7a3XpKXs.js → p-ByHIHg3l.js} +4 -4
  520. package/dist/components/{p-7a3XpKXs.js.map → p-ByHIHg3l.js.map} +1 -1
  521. package/dist/components/p-C0f6y_zg.js +94 -0
  522. package/dist/components/p-C0f6y_zg.js.map +1 -0
  523. package/dist/components/p-CCAq3Zj6.js +68 -0
  524. package/dist/components/p-CCAq3Zj6.js.map +1 -0
  525. package/dist/components/p-CZyCImor.js +127 -0
  526. package/dist/components/p-CZyCImor.js.map +1 -0
  527. package/dist/components/p-C_M8AOaj.js +65 -0
  528. package/dist/components/p-C_M8AOaj.js.map +1 -0
  529. package/dist/components/p-Cqp0DdgH.js +58 -0
  530. package/dist/components/p-Cqp0DdgH.js.map +1 -0
  531. package/dist/components/{p-Dt4Fpr3O.js → p-CxngDK-N.js} +122 -8
  532. package/dist/components/p-CxngDK-N.js.map +1 -0
  533. package/dist/components/{p-BkEmrXbw.js → p-D3UZ60qM.js} +3 -3
  534. package/dist/components/{p-BkEmrXbw.js.map → p-D3UZ60qM.js.map} +1 -1
  535. package/dist/components/p-D99aXp3U.js +35 -0
  536. package/dist/components/p-D99aXp3U.js.map +1 -0
  537. package/dist/components/p-DBnL9UHx.js +91 -0
  538. package/dist/components/p-DBnL9UHx.js.map +1 -0
  539. package/dist/components/p-DOkvrcIE.js +50 -0
  540. package/dist/components/p-DOkvrcIE.js.map +1 -0
  541. package/dist/components/p-DW5DrJlQ.js +70 -0
  542. package/dist/components/p-DW5DrJlQ.js.map +1 -0
  543. package/dist/components/p-DZ-qivXD.js +55 -0
  544. package/dist/components/p-DZ-qivXD.js.map +1 -0
  545. package/dist/components/p-DhdRcSve.js +89 -0
  546. package/dist/components/p-DhdRcSve.js.map +1 -0
  547. package/dist/components/p-Dvi1lz3x.js +53 -0
  548. package/dist/components/p-Dvi1lz3x.js.map +1 -0
  549. package/dist/components/p-DzkSL2bi.js +141 -0
  550. package/dist/components/p-DzkSL2bi.js.map +1 -0
  551. package/dist/components/p-JepBVz99.js +71 -0
  552. package/dist/components/p-JepBVz99.js.map +1 -0
  553. package/dist/components/p-_bQXTXUb.js +98 -0
  554. package/dist/components/p-_bQXTXUb.js.map +1 -0
  555. package/dist/components/p-l95vl6T1.js +108 -0
  556. package/dist/components/p-l95vl6T1.js.map +1 -0
  557. package/dist/components/p-wwnR-hlX.js +52 -0
  558. package/dist/components/p-wwnR-hlX.js.map +1 -0
  559. package/dist/components/p-xDRMXxWJ.js +37 -0
  560. package/dist/components/p-xDRMXxWJ.js.map +1 -0
  561. package/dist/esm/af-aspect-ratio.entry.js +2 -2
  562. package/dist/esm/af-aspect-ratio.entry.js.map +1 -1
  563. package/dist/esm/af-button-group.entry.js +2 -2
  564. package/dist/esm/af-button.entry.js +25 -12
  565. package/dist/esm/af-button.entry.js.map +1 -1
  566. package/dist/esm/af-card.entry.js +17 -7
  567. package/dist/esm/af-card.entry.js.map +1 -1
  568. package/dist/esm/af-checkbox.entry.js +56 -0
  569. package/dist/esm/af-checkbox.entry.js.map +1 -0
  570. package/dist/esm/af-client-carousel.entry.js +5 -7
  571. package/dist/esm/af-client-carousel.entry.js.map +1 -1
  572. package/dist/esm/af-color-swatch.entry.js +1 -1
  573. package/dist/esm/af-contact-item.entry.js +2 -2
  574. package/dist/esm/af-container.entry.js +1 -1
  575. package/dist/esm/af-feature-accordion.entry.js +4 -4
  576. package/dist/esm/af-feature-accordion.entry.js.map +1 -1
  577. package/dist/esm/af-feature-card.entry.js +57 -0
  578. package/dist/esm/af-feature-card.entry.js.map +1 -0
  579. package/dist/esm/af-feature-grid.entry.js +91 -0
  580. package/dist/esm/af-feature-grid.entry.js.map +1 -0
  581. package/dist/esm/af-fieldset.entry.js +35 -0
  582. package/dist/esm/af-fieldset.entry.js.map +1 -0
  583. package/dist/esm/af-footer-column.entry.js +2 -2
  584. package/dist/esm/af-footer-link.entry.js +2 -2
  585. package/dist/esm/af-footer.entry.js +3 -3
  586. package/dist/esm/af-footer.entry.js.map +1 -1
  587. package/dist/esm/af-grid-callout.entry.js +49 -0
  588. package/dist/esm/af-grid-callout.entry.js.map +1 -0
  589. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
  590. package/dist/esm/af-heading_5.entry.js +69 -20
  591. package/dist/esm/af-hero-section.entry.js +11 -5
  592. package/dist/esm/af-hero-section.entry.js.map +1 -1
  593. package/dist/esm/af-icon-box.entry.js +28 -0
  594. package/dist/esm/af-icon-box.entry.js.map +1 -0
  595. package/dist/esm/af-icon-button.entry.js +6 -3
  596. package/dist/esm/af-icon-button.entry.js.map +1 -1
  597. package/dist/esm/af-icon-text.entry.js +34 -0
  598. package/dist/esm/af-icon-text.entry.js.map +1 -0
  599. package/dist/esm/af-icon.entry.js +349 -0
  600. package/dist/esm/af-icon.entry.js.map +1 -0
  601. package/dist/esm/af-illustrated-card.entry.js +34 -0
  602. package/dist/esm/af-illustrated-card.entry.js.map +1 -0
  603. package/dist/esm/af-image.entry.js +16 -0
  604. package/dist/esm/af-image.entry.js.map +1 -0
  605. package/dist/esm/af-in-page-banner.entry.js +45 -0
  606. package/dist/esm/af-in-page-banner.entry.js.map +1 -0
  607. package/dist/esm/af-input.entry.js +102 -0
  608. package/dist/esm/af-input.entry.js.map +1 -0
  609. package/dist/esm/af-logo-well.entry.js +3 -3
  610. package/dist/esm/af-logo-well.entry.js.map +1 -1
  611. package/dist/esm/af-nav-card.entry.js +35 -0
  612. package/dist/esm/af-nav-card.entry.js.map +1 -0
  613. package/dist/esm/af-nav-menu-nest.entry.js +41 -0
  614. package/dist/esm/af-nav-menu-nest.entry.js.map +1 -0
  615. package/dist/esm/af-nav-menu.entry.js +39 -0
  616. package/dist/esm/af-nav-menu.entry.js.map +1 -0
  617. package/dist/esm/af-number-badge.entry.js +40 -0
  618. package/dist/esm/af-number-badge.entry.js.map +1 -0
  619. package/dist/esm/af-progress-line.entry.js +31 -0
  620. package/dist/esm/af-progress-line.entry.js.map +1 -0
  621. package/dist/esm/af-radio.entry.js +41 -0
  622. package/dist/esm/af-radio.entry.js.map +1 -0
  623. package/dist/esm/af-section.entry.js +6 -6
  624. package/dist/esm/af-section.entry.js.map +1 -1
  625. package/dist/esm/af-social-link.entry.js +2 -2
  626. package/dist/esm/af-split-section.entry.js +39 -0
  627. package/dist/esm/af-split-section.entry.js.map +1 -0
  628. package/dist/esm/af-switch.entry.js +46 -0
  629. package/dist/esm/af-switch.entry.js.map +1 -0
  630. package/dist/esm/af-tab-bar.entry.js +86 -0
  631. package/dist/esm/af-tab-bar.entry.js.map +1 -0
  632. package/dist/esm/af-tab.entry.js +62 -0
  633. package/dist/esm/af-tab.entry.js.map +1 -0
  634. package/dist/esm/af-tag.entry.js +35 -0
  635. package/dist/esm/af-tag.entry.js.map +1 -0
  636. package/dist/esm/af-testimonial-carousel.entry.js +27 -15
  637. package/dist/esm/af-testimonial-carousel.entry.js.map +1 -1
  638. package/dist/esm/af-testimonial-stat.entry.js +3 -3
  639. package/dist/esm/af-testimonial-stat.entry.js.map +1 -1
  640. package/dist/esm/af-testimonial.entry.js +27 -3
  641. package/dist/esm/af-testimonial.entry.js.map +1 -1
  642. package/dist/esm/af-text-image-nest.entry.js +28 -0
  643. package/dist/esm/af-text-image-nest.entry.js.map +1 -0
  644. package/dist/esm/af-text-image.entry.js +61 -0
  645. package/dist/esm/af-text-image.entry.js.map +1 -0
  646. package/dist/esm/af-textarea.entry.js +91 -0
  647. package/dist/esm/af-textarea.entry.js.map +1 -0
  648. package/dist/esm/af-typography-lockup.entry.js +7 -7
  649. package/dist/esm/af-typography-lockup.entry.js.map +1 -1
  650. package/dist/esm/af-video-container.entry.js +33 -0
  651. package/dist/esm/af-video-container.entry.js.map +1 -0
  652. package/dist/esm/affinda.js +3 -3
  653. package/dist/esm/{index-DI7b0bCy.js → index-BmU_CFQ4.js} +130 -7
  654. package/dist/esm/index-BmU_CFQ4.js.map +1 -0
  655. package/dist/esm/index.js +12 -1
  656. package/dist/esm/index.js.map +1 -1
  657. package/dist/esm/loader.js +3 -3
  658. package/dist/types/components/af-button/af-button.d.ts +22 -9
  659. package/dist/types/components/af-card/af-card.d.ts +15 -8
  660. package/dist/types/components/af-checkbox/af-checkbox.d.ts +40 -0
  661. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +10 -5
  662. package/dist/types/components/af-feature-accordion/af-feature-accordion.d.ts +13 -3
  663. package/dist/types/components/af-feature-card/af-feature-card.d.ts +49 -0
  664. package/dist/types/components/af-feature-grid/af-feature-grid.d.ts +32 -0
  665. package/dist/types/components/af-fieldset/af-fieldset.d.ts +23 -0
  666. package/dist/types/components/af-grid-callout/af-grid-callout.d.ts +57 -0
  667. package/dist/types/components/af-heading/af-heading.d.ts +5 -2
  668. package/dist/types/components/af-hero-section/af-hero-section.d.ts +18 -3
  669. package/dist/types/components/af-icon/af-icon.d.ts +28 -0
  670. package/dist/types/components/af-icon-box/af-icon-box.d.ts +27 -0
  671. package/dist/types/components/af-icon-button/af-icon-button.d.ts +5 -2
  672. package/dist/types/components/af-icon-text/af-icon-text.d.ts +44 -0
  673. package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +28 -0
  674. package/dist/types/components/af-image/af-image.d.ts +15 -0
  675. package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +56 -0
  676. package/dist/types/components/af-input/af-input.d.ts +110 -0
  677. package/dist/types/components/af-nav-card/af-nav-card.d.ts +34 -0
  678. package/dist/types/components/af-nav-item/af-nav-item.d.ts +6 -0
  679. package/dist/types/components/af-nav-menu/af-nav-menu.d.ts +28 -0
  680. package/dist/types/components/af-nav-menu-nest/af-nav-menu-nest.d.ts +42 -0
  681. package/dist/types/components/af-navbar/af-navbar.d.ts +31 -1
  682. package/dist/types/components/af-number-badge/af-number-badge.d.ts +29 -0
  683. package/dist/types/components/af-progress-line/af-progress-line.d.ts +18 -0
  684. package/dist/types/components/af-radio/af-radio.d.ts +33 -0
  685. package/dist/types/components/af-section/af-section.d.ts +4 -3
  686. package/dist/types/components/af-split-section/af-split-section.d.ts +20 -0
  687. package/dist/types/components/af-switch/af-switch.d.ts +32 -0
  688. package/dist/types/components/af-tab/af-tab.d.ts +61 -0
  689. package/dist/types/components/af-tab-bar/af-tab-bar.d.ts +43 -0
  690. package/dist/types/components/af-tag/af-tag.d.ts +33 -0
  691. package/dist/types/components/af-testimonial/af-testimonial.d.ts +23 -0
  692. package/dist/types/components/af-testimonial-carousel/af-testimonial-carousel.d.ts +17 -0
  693. package/dist/types/components/af-text/af-text.d.ts +6 -3
  694. package/dist/types/components/af-text-image/af-text-image.d.ts +30 -0
  695. package/dist/types/components/af-text-image-nest/af-text-image-nest.d.ts +21 -0
  696. package/dist/types/components/af-textarea/af-textarea.d.ts +92 -0
  697. package/dist/types/components/af-video-container/af-video-container.d.ts +45 -0
  698. package/dist/types/components.d.ts +3414 -638
  699. package/package.json +7 -6
  700. package/dist/affinda/af-cta-section.entry.esm.js.map +0 -1
  701. package/dist/affinda/p-050f98cd.entry.js +0 -2
  702. package/dist/affinda/p-07990b1f.entry.js +0 -2
  703. package/dist/affinda/p-4a39ddec.entry.js +0 -2
  704. package/dist/affinda/p-4a39ddec.entry.js.map +0 -1
  705. package/dist/affinda/p-52f7ea33.entry.js +0 -2
  706. package/dist/affinda/p-924e6def.entry.js +0 -2
  707. package/dist/affinda/p-924e6def.entry.js.map +0 -1
  708. package/dist/affinda/p-954963fa.entry.js +0 -2
  709. package/dist/affinda/p-954963fa.entry.js.map +0 -1
  710. package/dist/affinda/p-DI7b0bCy.js +0 -3
  711. package/dist/affinda/p-DI7b0bCy.js.map +0 -1
  712. package/dist/affinda/p-ac7efb48.entry.js +0 -2
  713. package/dist/affinda/p-ac7efb48.entry.js.map +0 -1
  714. package/dist/affinda/p-b67bbaf7.entry.js +0 -2
  715. package/dist/affinda/p-b67bbaf7.entry.js.map +0 -1
  716. package/dist/affinda/p-b6885a9a.entry.js +0 -2
  717. package/dist/affinda/p-b6885a9a.entry.js.map +0 -1
  718. package/dist/affinda/p-b7c63852.entry.js +0 -2
  719. package/dist/affinda/p-b7c63852.entry.js.map +0 -1
  720. package/dist/affinda/p-b7efbfff.entry.js +0 -2
  721. package/dist/affinda/p-b7efbfff.entry.js.map +0 -1
  722. package/dist/affinda/p-bf4543ff.entry.js +0 -2
  723. package/dist/affinda/p-c2b6199e.entry.js +0 -2
  724. package/dist/affinda/p-c2b6199e.entry.js.map +0 -1
  725. package/dist/affinda/p-c5aba33f.entry.js +0 -2
  726. package/dist/affinda/p-ce89c4f1.entry.js +0 -2
  727. package/dist/affinda/p-d3b2ab0e.entry.js +0 -2
  728. package/dist/affinda/p-de52b175.entry.js +0 -2
  729. package/dist/affinda/p-e367e42b.entry.js +0 -2
  730. package/dist/affinda/p-e367e42b.entry.js.map +0 -1
  731. package/dist/cjs/af-cta-section.cjs.entry.js +0 -32
  732. package/dist/cjs/af-cta-section.entry.cjs.js.map +0 -1
  733. package/dist/cjs/index-DfEVhbS6.js.map +0 -1
  734. package/dist/collection/components/af-cta-section/af-cta-section.css +0 -175
  735. package/dist/collection/components/af-cta-section/af-cta-section.js +0 -183
  736. package/dist/collection/components/af-cta-section/af-cta-section.js.map +0 -1
  737. package/dist/components/af-cta-section.js +0 -59
  738. package/dist/components/af-cta-section.js.map +0 -1
  739. package/dist/components/p-BKGrl8ua.js +0 -77
  740. package/dist/components/p-BKGrl8ua.js.map +0 -1
  741. package/dist/components/p-BTEblSAo.js +0 -63
  742. package/dist/components/p-BTEblSAo.js.map +0 -1
  743. package/dist/components/p-BekWfVfB.js +0 -66
  744. package/dist/components/p-BekWfVfB.js.map +0 -1
  745. package/dist/components/p-Bg7dSc4D.js +0 -54
  746. package/dist/components/p-Bg7dSc4D.js.map +0 -1
  747. package/dist/components/p-D4s4u7tL.js +0 -35
  748. package/dist/components/p-D4s4u7tL.js.map +0 -1
  749. package/dist/components/p-DqOwXTsH.js +0 -68
  750. package/dist/components/p-DqOwXTsH.js.map +0 -1
  751. package/dist/components/p-Dt4Fpr3O.js.map +0 -1
  752. package/dist/components/p-PLXzXWgX.js.map +0 -1
  753. package/dist/components/p-Thu9mUEn.js +0 -41
  754. package/dist/components/p-Thu9mUEn.js.map +0 -1
  755. package/dist/components/p-emB0l5gm.js +0 -68
  756. package/dist/components/p-emB0l5gm.js.map +0 -1
  757. package/dist/esm/af-cta-section.entry.js +0 -30
  758. package/dist/esm/af-cta-section.entry.js.map +0 -1
  759. package/dist/esm/index-DI7b0bCy.js.map +0 -1
  760. package/dist/types/components/af-cta-section/af-cta-section.d.ts +0 -21
  761. /package/dist/affinda/{p-de52b175.entry.js.map → p-1d9e532f.entry.js.map} +0 -0
  762. /package/dist/affinda/{p-a49dc8ac.entry.js.map → p-31d4c1a4.entry.js.map} +0 -0
  763. /package/dist/affinda/{p-c5aba33f.entry.js.map → p-53ae16fe.entry.js.map} +0 -0
  764. /package/dist/affinda/{p-dec4c4d5.entry.js.map → p-72f02343.entry.js.map} +0 -0
  765. /package/dist/affinda/{p-97f9f774.entry.js.map → p-96eac3af.entry.js.map} +0 -0
  766. /package/dist/affinda/{p-3a9646e6.entry.js.map → p-c11088fa.entry.js.map} +0 -0
  767. /package/dist/affinda/{p-f8ac0120.entry.js.map → p-e5af21c2.entry.js.map} +0 -0
@@ -1,7 +1,31 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  export class AfTestimonial {
3
+ constructor() {
4
+ /**
5
+ * Whether to show built-in navigation buttons (used when in a carousel)
6
+ */
7
+ this.showNavigation = false;
8
+ /**
9
+ * Whether the previous button is enabled
10
+ */
11
+ this.hasPrev = false;
12
+ /**
13
+ * Whether the next button is enabled
14
+ */
15
+ this.hasNext = false;
16
+ this.handlePrev = () => {
17
+ this.navPrev.emit();
18
+ };
19
+ this.handleNext = () => {
20
+ this.navNext.emit();
21
+ };
22
+ }
3
23
  render() {
4
- return (h(Host, { key: '7bdb327659469eb993ce82c64a34ea8e481bb8f6' }, h("div", { key: 'd77a77df9c5b22bcb47eb6375be61295d6698369', class: "testimonial-card" }, h("div", { key: '5f8c7ff73a4c5448d8c5c76f2d123db901fc8421', class: "testimonial-image" }, this.backgroundImage && (h("img", { key: 'b9f0799c3268bb3c63a43b5f214db4e6acb68b42', src: this.backgroundImage, alt: "", class: "testimonial-bg-image" })), this.logoImage && (h("div", { key: '10cda2c94aed491e1bfc7baada22053491c54de2', class: "testimonial-logo" }, h("img", { key: 'f1bbdc345f2e3e30741f530d3661eb3b23efde59', src: this.logoImage, alt: "Company logo" })))), h("div", { key: '5600096adcd04345b9da9f0dd6c9ba8983849316', class: "testimonial-content" }, h("div", { key: 'fc4a60a32b643725e1af77caca488ae65b8763bf', class: "testimonial-quote-section" }, h("div", { key: '2acf1b8c192535fb544fe9b5b511cbe2cd453f90', class: "testimonial-quote-icon" }, h("slot", { key: '1be45989e94b215c9b4275fffa432cacfe70d39b', name: "quote-icon" }, h("svg", { key: '55750e232791947ba95c47aa3e1e3e101101aff2', width: "48", height: "48", viewBox: "0 0 48 48", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '6bfaf884c17bd2bb19ed16b5f34b158718a40af8', d: "M10.5 25.5C10.5 23.0147 12.5147 21 15 21H18C18.8284 21 19.5 20.3284 19.5 19.5V15C19.5 12.5147 17.4853 10.5 15 10.5H10.5C6.35786 10.5 3 13.8579 3 18V33C3 35.4853 5.01472 37.5 7.5 37.5H15C17.4853 37.5 19.5 35.4853 19.5 33V25.5C19.5 23.0147 17.4853 21 15 21H10.5ZM33 25.5C33 23.0147 35.0147 21 37.5 21H40.5C41.3284 21 42 20.3284 42 19.5V15C42 12.5147 39.9853 10.5 37.5 10.5H33C28.8579 10.5 25.5 13.8579 25.5 18V33C25.5 35.4853 27.5147 37.5 30 37.5H37.5C39.9853 37.5 42 35.4853 42 33V25.5C42 23.0147 39.9853 21 37.5 21H33Z", fill: "currentColor" })))), h("p", { key: 'a38744d52c048966225f1dd903930a6f8a7a8481', class: "testimonial-text" }, this.quote), h("p", { key: '25a74f0335453a12d564e13519ea19f363411e7c', class: "testimonial-attribution" }, this.attribution)), h("div", { key: 'e3aad02ebaad4b2c602f2dbe5d71a0d9ba10400a', class: "testimonial-stats" }, h("slot", { key: 'fd85f2fea87ac47c3cd9fb569b28fb6d7ba7a78b', name: "stats" })), h("div", { key: '884b677f364afa23e620f563ba6da1ec55e0e542', class: "testimonial-footer" }, h("div", { key: '52f6d8e1d45d8dd984b80389fecd7b264e73954d', class: "testimonial-nav" }, h("slot", { key: '311a754277fb388948a11fd238aabdaa06f63566', name: "navigation" })), this.readMoreLink && (h("a", { key: 'b2c37a562983aed6db7bda821952e5fadb0ee817', href: this.readMoreLink, class: "testimonial-cta" }, h("span", { key: '5aab117fc370fdc46c2217331566f8ffa8582ab5' }, "Read full story"), h("svg", { key: '17e2107ba8cc97e3870603dc080eaa85fe7272e1', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: '4c2c8a8c3060e0724eeeea6683c3874958a0fb27', d: "M5 12H19M19 12L12 5M19 12L12 19", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" })))))))));
24
+ return (h(Host, { key: 'aa2ad6cdbcba23aac44ba04c80928c0f83a50903' }, h("div", { key: 'e9417c5451eb5c7118760b8b06b97a3debbb49af', class: "testimonial-card" }, h("div", { key: '14f69eda1e3a21202014d9ff92fb7898d4cd6250', class: "testimonial-image" }, this.backgroundImage && (h("img", { key: '6447edb4eb0e7d1dd05432038f717820b6053cae', src: this.backgroundImage, alt: "", class: "testimonial-bg-image" })), this.logoImage && (h("div", { key: 'd052c5613090c21d7eeed60dba77bcb3dbfbc21a', class: "testimonial-logo" }, h("img", { key: 'f8be04a27d969dffd59cf9bad3bd9bbc9ddeb1d3', src: this.logoImage, alt: "Company logo" })))), h("div", { key: '25d578ea0f78abacdd42bf9edbcf925680069da5', class: "testimonial-content" }, h("div", { key: '92458d4319c9f311bbcb296a6422f63b5c90aae6', class: "testimonial-quote-section" }, h("div", { key: '9f0e3dd17d27211afb49b8257ce896bd63490825', class: "testimonial-quote-icon" }, h("slot", { key: 'fee068be75df3e19436cca1e340ac7b4abdc9b6a', name: "quote-icon" }, h("af-icon", { key: '54416234954357aaaf49864515b87017f45aa09d', name: "quote", size: 48 }))), h("af-text", { key: '3a15866eb88613a956bfcbf107a9da0d51d59526', variant: "xlarge", class: "testimonial-text" }, this.quote), h("af-text", { key: '6c9a0dd1c16bbd8c76ca364bea329c2bf8ee0425', variant: "xlarge", class: "testimonial-attribution" }, this.attribution)), h("div", { key: '866aeb8fa8338d23354d5f4b7be63c5d9c0eaacb', class: "testimonial-stats" }, h("slot", { key: 'f7b559060fb9f9bbba39c2a67c23204d7cbf8bdd', name: "stats" })), h("div", { key: 'b19ad4b37a3ba6c85846732f991870e8312ef1d5', class: "testimonial-footer" }, h("div", { key: 'b1f64564c4dbd14347e32d782874be699d0745b0', class: "testimonial-nav" }, this.showNavigation ? (
25
+ // Render built-in navigation buttons
26
+ h("div", { class: "testimonial-nav-buttons" }, h("af-icon-button", { variant: "secondary", disabled: !this.hasPrev, onClick: this.handlePrev, ariaLabel: "Previous testimonial" }, h("af-icon", { name: "arrow-left", size: 24 })), h("af-icon-button", { variant: "secondary", disabled: !this.hasNext, onClick: this.handleNext, ariaLabel: "Next testimonial" }, h("af-icon", { name: "arrow-right", size: 24 })))) : (
27
+ // Allow custom navigation via slot
28
+ h("slot", { name: "navigation" }))), this.readMoreLink && (h("af-button", { key: '41adc9217b698b1df0f6075f5aa4ee0c2683632f', variant: "secondary", href: this.readMoreLink }, "Read full story", h("af-icon", { key: '3cec7eb5a8514427a257cc6f228e1e5bde2cc713', slot: "icon-right", name: "arrow-right", size: 24 }))))))));
5
29
  }
6
30
  static get is() { return "af-testimonial"; }
7
31
  static get encapsulation() { return "scoped"; }
@@ -111,8 +135,101 @@ export class AfTestimonial {
111
135
  "setter": false,
112
136
  "reflect": false,
113
137
  "attribute": "read-more-link"
138
+ },
139
+ "showNavigation": {
140
+ "type": "boolean",
141
+ "mutable": true,
142
+ "complexType": {
143
+ "original": "boolean",
144
+ "resolved": "boolean",
145
+ "references": {}
146
+ },
147
+ "required": false,
148
+ "optional": false,
149
+ "docs": {
150
+ "tags": [],
151
+ "text": "Whether to show built-in navigation buttons (used when in a carousel)"
152
+ },
153
+ "getter": false,
154
+ "setter": false,
155
+ "reflect": false,
156
+ "attribute": "show-navigation",
157
+ "defaultValue": "false"
158
+ },
159
+ "hasPrev": {
160
+ "type": "boolean",
161
+ "mutable": true,
162
+ "complexType": {
163
+ "original": "boolean",
164
+ "resolved": "boolean",
165
+ "references": {}
166
+ },
167
+ "required": false,
168
+ "optional": false,
169
+ "docs": {
170
+ "tags": [],
171
+ "text": "Whether the previous button is enabled"
172
+ },
173
+ "getter": false,
174
+ "setter": false,
175
+ "reflect": false,
176
+ "attribute": "has-prev",
177
+ "defaultValue": "false"
178
+ },
179
+ "hasNext": {
180
+ "type": "boolean",
181
+ "mutable": true,
182
+ "complexType": {
183
+ "original": "boolean",
184
+ "resolved": "boolean",
185
+ "references": {}
186
+ },
187
+ "required": false,
188
+ "optional": false,
189
+ "docs": {
190
+ "tags": [],
191
+ "text": "Whether the next button is enabled"
192
+ },
193
+ "getter": false,
194
+ "setter": false,
195
+ "reflect": false,
196
+ "attribute": "has-next",
197
+ "defaultValue": "false"
114
198
  }
115
199
  };
116
200
  }
201
+ static get events() {
202
+ return [{
203
+ "method": "navPrev",
204
+ "name": "navPrev",
205
+ "bubbles": true,
206
+ "cancelable": true,
207
+ "composed": true,
208
+ "docs": {
209
+ "tags": [],
210
+ "text": "Emitted when the previous button is clicked"
211
+ },
212
+ "complexType": {
213
+ "original": "void",
214
+ "resolved": "void",
215
+ "references": {}
216
+ }
217
+ }, {
218
+ "method": "navNext",
219
+ "name": "navNext",
220
+ "bubbles": true,
221
+ "cancelable": true,
222
+ "composed": true,
223
+ "docs": {
224
+ "tags": [],
225
+ "text": "Emitted when the next button is clicked"
226
+ },
227
+ "complexType": {
228
+ "original": "void",
229
+ "resolved": "void",
230
+ "references": {}
231
+ }
232
+ }];
233
+ }
117
234
  }
118
235
  //# sourceMappingURL=af-testimonial.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"af-testimonial.js","sourceRoot":"","sources":["../../../src/components/af-testimonial/af-testimonial.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQzD,MAAM,OAAO,aAAa;IA0BxB,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,kBAAkB;gBAE3B,4DAAK,KAAK,EAAC,mBAAmB;oBAC3B,IAAI,CAAC,eAAe,IAAI,CACvB,4DAAK,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,sBAAsB,GAAG,CACvE;oBACA,IAAI,CAAC,SAAS,IAAI,CACjB,4DAAK,KAAK,EAAC,kBAAkB;wBAC3B,4DAAK,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAC,cAAc,GAAG,CAC3C,CACP,CACG;gBAGN,4DAAK,KAAK,EAAC,qBAAqB;oBAC9B,4DAAK,KAAK,EAAC,2BAA2B;wBAEpC,4DAAK,KAAK,EAAC,wBAAwB;4BACjC,6DAAM,IAAI,EAAC,YAAY;gCACrB,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;oCAC5F,6DAAM,CAAC,EAAC,wgBAAwgB,EAAC,IAAI,EAAC,cAAc,GAAE,CACliB,CACD,CACH;wBAEN,0DAAG,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,KAAK,CAAK;wBAC5C,0DAAG,KAAK,EAAC,yBAAyB,IAAE,IAAI,CAAC,WAAW,CAAK,CACrD;oBAGN,4DAAK,KAAK,EAAC,mBAAmB;wBAC5B,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB;oBAGN,4DAAK,KAAK,EAAC,oBAAoB;wBAC7B,4DAAK,KAAK,EAAC,iBAAiB;4BAC1B,6DAAM,IAAI,EAAC,YAAY,GAAQ,CAC3B;wBACL,IAAI,CAAC,YAAY,IAAI,CACpB,0DAAG,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAC,iBAAiB;4BACjD,iFAA4B;4BAC5B,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;gCACzD,6DAAM,CAAC,EAAC,iCAAiC,EAAC,MAAM,EAAC,cAAc,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CAC7H,CACJ,CACL,CACG,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'af-testimonial',\n styleUrl: 'af-testimonial.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonial {\n /**\n * Background image URL for the testimonial card\n */\n @Prop() backgroundImage?: string;\n\n /**\n * Company logo URL\n */\n @Prop() logoImage?: string;\n\n /**\n * Testimonial quote text\n */\n @Prop() quote!: string;\n\n /**\n * Attribution text (e.g., \"– Nathaniel Barrs, CTO, PSC Insurance\")\n */\n @Prop() attribution!: string;\n\n /**\n * Link to full case study\n */\n @Prop() readMoreLink?: string;\n\n render() {\n return (\n <Host>\n <div class=\"testimonial-card\">\n {/* Image side */}\n <div class=\"testimonial-image\">\n {this.backgroundImage && (\n <img src={this.backgroundImage} alt=\"\" class=\"testimonial-bg-image\" />\n )}\n {this.logoImage && (\n <div class=\"testimonial-logo\">\n <img src={this.logoImage} alt=\"Company logo\" />\n </div>\n )}\n </div>\n\n {/* Content side */}\n <div class=\"testimonial-content\">\n <div class=\"testimonial-quote-section\">\n {/* Quote icon - using slot for flexibility */}\n <div class=\"testimonial-quote-icon\">\n <slot name=\"quote-icon\">\n <svg width=\"48\" height=\"48\" viewBox=\"0 0 48 48\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M10.5 25.5C10.5 23.0147 12.5147 21 15 21H18C18.8284 21 19.5 20.3284 19.5 19.5V15C19.5 12.5147 17.4853 10.5 15 10.5H10.5C6.35786 10.5 3 13.8579 3 18V33C3 35.4853 5.01472 37.5 7.5 37.5H15C17.4853 37.5 19.5 35.4853 19.5 33V25.5C19.5 23.0147 17.4853 21 15 21H10.5ZM33 25.5C33 23.0147 35.0147 21 37.5 21H40.5C41.3284 21 42 20.3284 42 19.5V15C42 12.5147 39.9853 10.5 37.5 10.5H33C28.8579 10.5 25.5 13.8579 25.5 18V33C25.5 35.4853 27.5147 37.5 30 37.5H37.5C39.9853 37.5 42 35.4853 42 33V25.5C42 23.0147 39.9853 21 37.5 21H33Z\" fill=\"currentColor\"/>\n </svg>\n </slot>\n </div>\n\n <p class=\"testimonial-text\">{this.quote}</p>\n <p class=\"testimonial-attribution\">{this.attribution}</p>\n </div>\n\n {/* Statistics slot */}\n <div class=\"testimonial-stats\">\n <slot name=\"stats\"></slot>\n </div>\n\n {/* Footer with navigation and CTA */}\n <div class=\"testimonial-footer\">\n <div class=\"testimonial-nav\">\n <slot name=\"navigation\"></slot>\n </div>\n {this.readMoreLink && (\n <a href={this.readMoreLink} class=\"testimonial-cta\">\n <span>Read full story</span>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M5 12H19M19 12L12 5M19 12L12 19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </a>\n )}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n\n"]}
1
+ {"version":3,"file":"af-testimonial.js","sourceRoot":"","sources":["../../../src/components/af-testimonial/af-testimonial.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAQ9E,MAAM,OAAO,aAAa;IAN1B;QAgCE;;WAEG;QACsB,mBAAc,GAAY,KAAK,CAAC;QAEzD;;WAEG;QACsB,YAAO,GAAY,KAAK,CAAC;QAElD;;WAEG;QACsB,YAAO,GAAY,KAAK,CAAC;QAY1C,eAAU,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;QAEM,eAAU,GAAG,GAAG,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC,CAAC;KA+EH;IA7EC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,kBAAkB;gBAE3B,4DAAK,KAAK,EAAC,mBAAmB;oBAC3B,IAAI,CAAC,eAAe,IAAI,CACvB,4DAAK,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,sBAAsB,GAAG,CACvE;oBACA,IAAI,CAAC,SAAS,IAAI,CACjB,4DAAK,KAAK,EAAC,kBAAkB;wBAC3B,4DAAK,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,EAAC,cAAc,GAAG,CAC3C,CACP,CACG;gBAGN,4DAAK,KAAK,EAAC,qBAAqB;oBAC9B,4DAAK,KAAK,EAAC,2BAA2B;wBAEpC,4DAAK,KAAK,EAAC,wBAAwB;4BACjC,6DAAM,IAAI,EAAC,YAAY;gCACrB,gEAAS,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,EAAE,GAAI,CAC7B,CACH;wBAGN,gEAAS,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,KAAK,CAAW;wBAEzE,gEAAS,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,yBAAyB,IAAE,IAAI,CAAC,WAAW,CAAW,CAClF;oBAGN,4DAAK,KAAK,EAAC,mBAAmB;wBAC5B,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB;oBAGN,4DAAK,KAAK,EAAC,oBAAoB;wBAC7B,4DAAK,KAAK,EAAC,iBAAiB,IACzB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;wBACrB,qCAAqC;wBACrC,WAAK,KAAK,EAAC,yBAAyB;4BAClC,sBACE,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,EACvB,OAAO,EAAE,IAAI,CAAC,UAAU,EACxB,SAAS,EAAC,sBAAsB;gCAEhC,eAAS,IAAI,EAAC,YAAY,EAAC,IAAI,EAAE,EAAE,GAAI,CACxB;4BACjB,sBACE,OAAO,EAAC,WAAW,EACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,EACvB,OAAO,EAAE,IAAI,CAAC,UAAU,EACxB,SAAS,EAAC,kBAAkB;gCAE5B,eAAS,IAAI,EAAC,aAAa,EAAC,IAAI,EAAE,EAAE,GAAI,CACzB,CACb,CACP,CAAC,CAAC,CAAC;wBACF,mCAAmC;wBACnC,YAAM,IAAI,EAAC,YAAY,GAAQ,CAChC,CACG;wBACL,IAAI,CAAC,YAAY,IAAI,CACpB,kEAAW,OAAO,EAAC,WAAW,EAAC,IAAI,EAAE,IAAI,CAAC,YAAY;;4BAEpD,gEAAS,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,aAAa,EAAC,IAAI,EAAE,EAAE,GAAI,CAChD,CACb,CACG,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'af-testimonial',\n styleUrl: 'af-testimonial.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonial {\n /**\n * Background image URL for the testimonial card\n */\n @Prop() backgroundImage?: string;\n\n /**\n * Company logo URL\n */\n @Prop() logoImage?: string;\n\n /**\n * Testimonial quote text\n */\n @Prop() quote!: string;\n\n /**\n * Attribution text (e.g., \"– Nathaniel Barrs, CTO, PSC Insurance\")\n */\n @Prop() attribution!: string;\n\n /**\n * Link to full case study\n */\n @Prop() readMoreLink?: string;\n\n /**\n * Whether to show built-in navigation buttons (used when in a carousel)\n */\n @Prop({ mutable: true }) showNavigation: boolean = false;\n\n /**\n * Whether the previous button is enabled\n */\n @Prop({ mutable: true }) hasPrev: boolean = false;\n\n /**\n * Whether the next button is enabled\n */\n @Prop({ mutable: true }) hasNext: boolean = false;\n\n /**\n * Emitted when the previous button is clicked\n */\n @Event() navPrev!: EventEmitter<void>;\n\n /**\n * Emitted when the next button is clicked\n */\n @Event() navNext!: EventEmitter<void>;\n\n private handlePrev = () => {\n this.navPrev.emit();\n };\n\n private handleNext = () => {\n this.navNext.emit();\n };\n\n render() {\n return (\n <Host>\n <div class=\"testimonial-card\">\n {/* Image side */}\n <div class=\"testimonial-image\">\n {this.backgroundImage && (\n <img src={this.backgroundImage} alt=\"\" class=\"testimonial-bg-image\" />\n )}\n {this.logoImage && (\n <div class=\"testimonial-logo\">\n <img src={this.logoImage} alt=\"Company logo\" />\n </div>\n )}\n </div>\n\n {/* Content side */}\n <div class=\"testimonial-content\">\n <div class=\"testimonial-quote-section\">\n {/* Quote icon - using af-icon atom with slot for flexibility */}\n <div class=\"testimonial-quote-icon\">\n <slot name=\"quote-icon\">\n <af-icon name=\"quote\" size={48} />\n </slot>\n </div>\n\n {/* Quote text - using af-text atom for proper theming */}\n <af-text variant=\"xlarge\" class=\"testimonial-text\">{this.quote}</af-text>\n {/* Attribution - using af-text atom with dark variant styling */}\n <af-text variant=\"xlarge\" class=\"testimonial-attribution\">{this.attribution}</af-text>\n </div>\n\n {/* Statistics slot */}\n <div class=\"testimonial-stats\">\n <slot name=\"stats\"></slot>\n </div>\n\n {/* Footer with navigation and CTA */}\n <div class=\"testimonial-footer\">\n <div class=\"testimonial-nav\">\n {this.showNavigation ? (\n // Render built-in navigation buttons\n <div class=\"testimonial-nav-buttons\">\n <af-icon-button\n variant=\"secondary\"\n disabled={!this.hasPrev}\n onClick={this.handlePrev}\n ariaLabel=\"Previous testimonial\"\n >\n <af-icon name=\"arrow-left\" size={24} />\n </af-icon-button>\n <af-icon-button\n variant=\"secondary\"\n disabled={!this.hasNext}\n onClick={this.handleNext}\n ariaLabel=\"Next testimonial\"\n >\n <af-icon name=\"arrow-right\" size={24} />\n </af-icon-button>\n </div>\n ) : (\n // Allow custom navigation via slot\n <slot name=\"navigation\"></slot>\n )}\n </div>\n {this.readMoreLink && (\n <af-button variant=\"secondary\" href={this.readMoreLink}>\n Read full story\n <af-icon slot=\"icon-right\" name=\"arrow-right\" size={24} />\n </af-button>\n )}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n\n"]}
@@ -1,12 +1,12 @@
1
1
  :host {
2
2
  display: block;
3
3
  width: 100%;
4
- overflow: hidden;
5
4
  }
6
5
 
7
6
  .testimonial-carousel {
8
7
  position: relative;
9
8
  width: 100%;
9
+ overflow: hidden;
10
10
  }
11
11
 
12
12
  .testimonial-slides {
@@ -24,74 +24,14 @@
24
24
  transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out;
25
25
  }
26
26
 
27
- /* Progress indicator */
27
+ /* Progress indicator - wraps af-progress-line atom */
28
+ /* Per Figma: centered below the card with horizontal padding */
28
29
  .testimonial-progress {
29
- display: flex;
30
- gap: 12px;
31
- justify-content: center;
32
30
  margin-top: 32px;
33
- padding: 0 220px;
34
- }
35
-
36
- .progress-dot {
37
- width: 100%;
38
31
  max-width: 840px;
39
- height: 3px;
40
- background: var(--colour-background-border-default, #d1ddda);
41
- border-radius: 2px;
42
- cursor: pointer;
43
- transition: background 0.3s ease;
44
- position: relative;
45
- overflow: hidden;
46
- }
47
-
48
- .progress-dot.active {
49
- background: var(--colour-background-border-active, #8a7049);
50
- }
51
-
52
- .progress-dot:hover:not(.active) {
53
- background: var(--colour-background-border-default, #c1cdc9);
32
+ margin-left: auto;
33
+ margin-right: auto;
54
34
  }
55
35
 
56
- /* Navigation buttons - positioned bottom left of content area (not on image) */
57
- .carousel-navigation {
58
- position: absolute;
59
- bottom: 48px;
60
- left: 50%;
61
- margin-left: 48px;
62
- display: flex;
63
- gap: 12px;
64
- align-items: center;
65
- z-index: 10;
66
- }
67
-
68
- .nav-button {
69
- width: 48px;
70
- height: 48px;
71
- border-radius: 50%;
72
- border: 1px solid var(--colour-brand-inkwell, #14343b);
73
- background: transparent;
74
- display: flex;
75
- align-items: center;
76
- justify-content: center;
77
- cursor: pointer;
78
- transition: all 0.2s ease;
79
- color: var(--colour-brand-inkwell, #14343b);
80
- }
81
-
82
- .nav-button:hover:not(:disabled) {
83
- background: rgba(255, 255, 255, 0.1);
84
- transform: translateY(-2px);
85
- }
86
-
87
- .nav-button:disabled {
88
- opacity: 0.4;
89
- cursor: not-allowed;
90
- border-color: var(--colour-brand-inkwell, #14343b);
91
- }
92
-
93
- .nav-button svg {
94
- width: 24px;
95
- height: 24px;
96
- }
36
+ /* Navigation is now rendered inside each testimonial's footer via props */
97
37
 
@@ -1,4 +1,12 @@
1
1
  import { h, Host } from "@stencil/core";
2
+ /**
3
+ * TestimonialCarousel - Carousel for displaying multiple customer testimonials.
4
+ *
5
+ * Handles navigation between testimonials with progress indicator.
6
+ * Wrap in Section/Container for proper page layout and theming.
7
+ *
8
+ * @slot - Testimonial components to display in the carousel
9
+ */
2
10
  export class AfTestimonialCarousel {
3
11
  constructor() {
4
12
  this.currentIndex = 0;
@@ -42,12 +50,20 @@ export class AfTestimonialCarousel {
42
50
  this.observer.disconnect();
43
51
  }
44
52
  }
53
+ /**
54
+ * Listen for navigation events from testimonials
55
+ */
56
+ handleNavPrev() {
57
+ this.goToPrevious();
58
+ }
59
+ handleNavNext() {
60
+ this.goToNext();
61
+ }
45
62
  detectTestimonials() {
46
63
  const newTestimonials = Array.from(this.host.querySelectorAll('af-testimonial'));
47
64
  if (newTestimonials.length !== this.testimonials.length) {
48
65
  this.testimonials = newTestimonials;
49
66
  this.testimonialCount = newTestimonials.length;
50
- console.log('Found testimonials:', this.testimonials.length);
51
67
  if (this.testimonials.length > 0) {
52
68
  this.currentIndex = 0;
53
69
  this.updateVisibleTestimonial();
@@ -55,26 +71,30 @@ export class AfTestimonialCarousel {
55
71
  }
56
72
  }
57
73
  updateVisibleTestimonial() {
74
+ const hasPrev = this.currentIndex > 0;
75
+ const hasNext = this.currentIndex < this.testimonialCount - 1;
76
+ const showNav = this.testimonialCount > 1;
58
77
  this.testimonials.forEach((testimonial, index) => {
59
78
  const offset = (index - this.currentIndex) * 100;
60
79
  testimonial.style.transform = `translateX(${offset}%)`;
61
80
  testimonial.style.opacity = index === this.currentIndex ? '1' : '0';
62
81
  testimonial.style.pointerEvents = index === this.currentIndex ? 'auto' : 'none';
82
+ // Set navigation props on testimonials (directly on the element for Stencil)
83
+ testimonial.showNavigation = showNav;
84
+ testimonial.hasPrev = hasPrev;
85
+ testimonial.hasNext = hasNext;
63
86
  });
64
87
  }
88
+ /**
89
+ * Calculate progress value (0 to 1) based on current position
90
+ */
91
+ getProgress() {
92
+ if (this.testimonialCount <= 1)
93
+ return 0;
94
+ return (this.currentIndex + 1) / this.testimonialCount;
95
+ }
65
96
  render() {
66
- const hasPrev = this.currentIndex > 0;
67
- const hasNext = this.currentIndex < this.testimonialCount - 1;
68
- return (h(Host, { key: '5ddb7b62b4dca675ea90181301f3f99a2c87e378' }, h("div", { key: '1dd1ecba6b72b87fb12dfba34a67ead22e217b95', class: "testimonial-carousel" }, h("div", { key: '56a4cdb617d4224705e1bd6b7effc262fbc84fe3', class: "testimonial-slides" }, h("slot", { key: '4d6fb07f99fb69d6d752db05370ed8646525b1fd' })), this.testimonialCount > 1 && (h("div", { key: '251b1dc1ad3388ba5da3b8efea0a6cc533dd30ed', class: "testimonial-progress" }, Array.from({ length: this.testimonialCount }).map((_, index) => (h("div", { class: `progress-dot ${index === this.currentIndex ? 'active' : ''}`, onClick: () => {
69
- if (!this.isAnimating && index !== this.currentIndex) {
70
- this.isAnimating = true;
71
- this.currentIndex = index;
72
- this.updateVisibleTestimonial();
73
- setTimeout(() => {
74
- this.isAnimating = false;
75
- }, 500);
76
- }
77
- } }))))), this.testimonialCount > 1 && (h("div", { key: '12023b28f4ad3c95ac16c81ec2f508d39f27a153', class: "carousel-navigation" }, h("button", { key: 'f10bb543acd01bc911d757deae625c2730f980e2', class: "nav-button prev", disabled: !hasPrev, onClick: this.goToPrevious, "aria-label": "Previous testimonial" }, h("svg", { key: '6dcfef878052ab902b5530949e36fc4ac5936927', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: '586a9aabdb26109ddbea5907a051123b3c99dc6c', d: "M19 12H5M5 12L12 19M5 12L12 5", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("button", { key: '5f3bd4fe55b664dd47ec0b2c7790a29c31997b06', class: "nav-button next", disabled: !hasNext, onClick: this.goToNext, "aria-label": "Next testimonial" }, h("svg", { key: '3e0da3374959da6d7d205b7c30403872a115d111', width: "24", height: "24", viewBox: "0 0 24 24", fill: "none" }, h("path", { key: '440f42623c1f6d7e1ae74c8db66b52196f491b3e', d: "M5 12H19M19 12L12 5M19 12L12 19", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))))))));
97
+ return (h(Host, { key: '57b9644d20de065d6274f35f0aeac5e525a7f994' }, h("div", { key: '69033a6db2cb6242abd737ec98a841109a88d443', class: "testimonial-carousel" }, h("div", { key: 'b94d5bbd634eb445737afe8c0dc8f5795be50b4c', class: "testimonial-slides" }, h("slot", { key: 'a8481aaeeb8b818aa9d0ae0eeff5c30b33288acd' })), this.testimonialCount > 1 && (h("div", { key: '496d86deca071afeacb0d8eb4c273eefa592430e', class: "testimonial-progress" }, h("af-progress-line", { key: 'bb9c74ab68bb2dc247556e81ec07e39b7934e5ee', progress: this.getProgress() }))))));
78
98
  }
79
99
  static get is() { return "af-testimonial-carousel"; }
80
100
  static get encapsulation() { return "scoped"; }
@@ -96,5 +116,20 @@ export class AfTestimonialCarousel {
96
116
  };
97
117
  }
98
118
  static get elementRef() { return "host"; }
119
+ static get listeners() {
120
+ return [{
121
+ "name": "navPrev",
122
+ "method": "handleNavPrev",
123
+ "target": undefined,
124
+ "capture": false,
125
+ "passive": false
126
+ }, {
127
+ "name": "navNext",
128
+ "method": "handleNavNext",
129
+ "target": undefined,
130
+ "capture": false,
131
+ "passive": false
132
+ }];
133
+ }
99
134
  }
100
135
  //# sourceMappingURL=af-testimonial-carousel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"af-testimonial-carousel.js","sourceRoot":"","sources":["../../../src/components/af-testimonial-carousel/af-testimonial-carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAQnE,MAAM,OAAO,qBAAqB;IANlC;QAQW,iBAAY,GAAW,CAAC,CAAC;QACzB,gBAAW,GAAY,KAAK,CAAC;QAC7B,qBAAgB,GAAW,CAAC,CAAC;QAE9B,iBAAY,GAAkB,EAAE,CAAC;QA+CjC,iBAAY,GAAG,GAAG,EAAE;YAC1B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC;gBAAE,OAAO;YAExD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAEhC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC;QAEM,aAAQ,GAAG,GAAG,EAAE;YACtB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,gBAAgB,GAAG,CAAC;gBAAE,OAAO;YAE/E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;YAC1C,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAEhC,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;QACV,CAAC,CAAC;KA+DH;IAjIC,gBAAgB;QACd,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE1B,iEAAiE;QACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YAC/B,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAEO,kBAAkB;QACxB,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAkB,CAAC;QAElG,IAAI,eAAe,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACxD,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC;YACpC,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC;YAC/C,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAE7D,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;gBACtB,IAAI,CAAC,wBAAwB,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;IAEO,wBAAwB;QAC9B,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,EAAE,EAAE;YAC/C,MAAM,MAAM,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC;YACjD,WAAW,CAAC,KAAK,CAAC,SAAS,GAAG,cAAc,MAAM,IAAI,CAAC;YACvD,WAAW,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACpE,WAAW,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAClF,CAAC,CAAC,CAAC;IACL,CAAC;IA0BD,MAAM;QACJ,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAE9D,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAC,sBAAsB;gBAC/B,4DAAK,KAAK,EAAC,oBAAoB;oBAC7B,8DAAa,CACT;gBAGL,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAC5B,4DAAK,KAAK,EAAC,sBAAsB,IAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAC/D,WACE,KAAK,EAAE,gBAAgB,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EACpE,OAAO,EAAE,GAAG,EAAE;wBACZ,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,KAAK,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;4BACrD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;4BACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;4BAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;4BAChC,UAAU,CAAC,GAAG,EAAE;gCACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;4BAC3B,CAAC,EAAE,GAAG,CAAC,CAAC;wBACV,CAAC;oBACH,CAAC,GACD,CACH,CAAC,CACE,CACP;gBAGA,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAC5B,4DAAK,KAAK,EAAC,qBAAqB;oBAC9B,+DACE,KAAK,EAAC,iBAAiB,EACvB,QAAQ,EAAE,CAAC,OAAO,EAClB,OAAO,EAAE,IAAI,CAAC,YAAY,gBACf,sBAAsB;wBAEjC,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;4BACzD,6DAAM,CAAC,EAAC,+BAA+B,EAAC,MAAM,EAAC,cAAc,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CAC3H,CACC;oBACT,+DACE,KAAK,EAAC,iBAAiB,EACvB,QAAQ,EAAE,CAAC,OAAO,EAClB,OAAO,EAAE,IAAI,CAAC,QAAQ,gBACX,kBAAkB;wBAE7B,4DAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;4BACzD,6DAAM,CAAC,EAAC,iCAAiC,EAAC,MAAM,EAAC,cAAc,kBAAc,GAAG,oBAAgB,OAAO,qBAAiB,OAAO,GAAE,CAC7H,CACC,CACL,CACP,CACG,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, State, h, Host, Element } from '@stencil/core';\n\n@Component({\n tag: 'af-testimonial-carousel',\n styleUrl: 'af-testimonial-carousel.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonialCarousel {\n @Element() host!: HTMLElement;\n @State() currentIndex: number = 0;\n @State() isAnimating: boolean = false;\n @State() testimonialCount: number = 0;\n\n private testimonials: HTMLElement[] = [];\n private observer: MutationObserver | undefined;\n\n componentDidLoad() {\n this.detectTestimonials();\n \n // Watch for testimonials being added (for React async rendering)\n this.observer = new MutationObserver(() => {\n this.detectTestimonials();\n });\n \n this.observer.observe(this.host, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n private detectTestimonials() {\n const newTestimonials = Array.from(this.host.querySelectorAll('af-testimonial')) as HTMLElement[];\n \n if (newTestimonials.length !== this.testimonials.length) {\n this.testimonials = newTestimonials;\n this.testimonialCount = newTestimonials.length;\n console.log('Found testimonials:', this.testimonials.length);\n \n if (this.testimonials.length > 0) {\n this.currentIndex = 0;\n this.updateVisibleTestimonial();\n }\n }\n }\n\n private updateVisibleTestimonial() {\n this.testimonials.forEach((testimonial, index) => {\n const offset = (index - this.currentIndex) * 100;\n testimonial.style.transform = `translateX(${offset}%)`;\n testimonial.style.opacity = index === this.currentIndex ? '1' : '0';\n testimonial.style.pointerEvents = index === this.currentIndex ? 'auto' : 'none';\n });\n }\n\n private goToPrevious = () => {\n if (this.isAnimating || this.currentIndex === 0) return;\n \n this.isAnimating = true;\n this.currentIndex = this.currentIndex - 1;\n this.updateVisibleTestimonial();\n \n setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n };\n\n private goToNext = () => {\n if (this.isAnimating || this.currentIndex >= this.testimonialCount - 1) return;\n \n this.isAnimating = true;\n this.currentIndex = this.currentIndex + 1;\n this.updateVisibleTestimonial();\n \n setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n };\n\n render() {\n const hasPrev = this.currentIndex > 0;\n const hasNext = this.currentIndex < this.testimonialCount - 1;\n\n return (\n <Host>\n <div class=\"testimonial-carousel\">\n <div class=\"testimonial-slides\">\n <slot></slot>\n </div>\n \n {/* Progress indicator */}\n {this.testimonialCount > 1 && (\n <div class=\"testimonial-progress\">\n {Array.from({ length: this.testimonialCount }).map((_, index) => (\n <div \n class={`progress-dot ${index === this.currentIndex ? 'active' : ''}`}\n onClick={() => {\n if (!this.isAnimating && index !== this.currentIndex) {\n this.isAnimating = true;\n this.currentIndex = index;\n this.updateVisibleTestimonial();\n setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n }\n }}\n />\n ))}\n </div>\n )}\n\n {/* Navigation buttons */}\n {this.testimonialCount > 1 && (\n <div class=\"carousel-navigation\">\n <button \n class=\"nav-button prev\" \n disabled={!hasPrev}\n onClick={this.goToPrevious}\n aria-label=\"Previous testimonial\"\n >\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M19 12H5M5 12L12 19M5 12L12 5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n <button \n class=\"nav-button next\" \n disabled={!hasNext}\n onClick={this.goToNext}\n aria-label=\"Next testimonial\"\n >\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n <path d=\"M5 12H19M19 12L12 5M19 12L12 19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n\n"]}
1
+ {"version":3,"file":"af-testimonial-carousel.js","sourceRoot":"","sources":["../../../src/components/af-testimonial-carousel/af-testimonial-carousel.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, State, h, Host, Element, Listen } from '@stencil/core';\n\n/**\n * TestimonialCarousel - Carousel for displaying multiple customer testimonials.\n * \n * Handles navigation between testimonials with progress indicator.\n * Wrap in Section/Container for proper page layout and theming.\n * \n * @slot - Testimonial components to display in the carousel\n */\n@Component({\n tag: 'af-testimonial-carousel',\n styleUrl: 'af-testimonial-carousel.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonialCarousel {\n @Element() host!: HTMLElement;\n @State() currentIndex: number = 0;\n @State() isAnimating: boolean = false;\n @State() testimonialCount: number = 0;\n\n private testimonials: HTMLElement[] = [];\n private observer: MutationObserver | undefined;\n\n componentDidLoad() {\n this.detectTestimonials();\n \n // Watch for testimonials being added (for React async rendering)\n this.observer = new MutationObserver(() => {\n this.detectTestimonials();\n });\n \n this.observer.observe(this.host, {\n childList: true,\n subtree: true\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n /**\n * Listen for navigation events from testimonials\n */\n @Listen('navPrev')\n handleNavPrev() {\n this.goToPrevious();\n }\n\n @Listen('navNext')\n handleNavNext() {\n this.goToNext();\n }\n\n private detectTestimonials() {\n const newTestimonials = Array.from(this.host.querySelectorAll('af-testimonial')) as HTMLElement[];\n \n if (newTestimonials.length !== this.testimonials.length) {\n this.testimonials = newTestimonials;\n this.testimonialCount = newTestimonials.length;\n \n if (this.testimonials.length > 0) {\n this.currentIndex = 0;\n this.updateVisibleTestimonial();\n }\n }\n }\n\n private updateVisibleTestimonial() {\n const hasPrev = this.currentIndex > 0;\n const hasNext = this.currentIndex < this.testimonialCount - 1;\n const showNav = this.testimonialCount > 1;\n\n this.testimonials.forEach((testimonial, index) => {\n const offset = (index - this.currentIndex) * 100;\n testimonial.style.transform = `translateX(${offset}%)`;\n testimonial.style.opacity = index === this.currentIndex ? '1' : '0';\n testimonial.style.pointerEvents = index === this.currentIndex ? 'auto' : 'none';\n \n // Set navigation props on testimonials (directly on the element for Stencil)\n (testimonial as any).showNavigation = showNav;\n (testimonial as any).hasPrev = hasPrev;\n (testimonial as any).hasNext = hasNext;\n });\n }\n\n private goToPrevious = () => {\n if (this.isAnimating || this.currentIndex === 0) return;\n \n this.isAnimating = true;\n this.currentIndex = this.currentIndex - 1;\n this.updateVisibleTestimonial();\n \n setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n };\n\n private goToNext = () => {\n if (this.isAnimating || this.currentIndex >= this.testimonialCount - 1) return;\n \n this.isAnimating = true;\n this.currentIndex = this.currentIndex + 1;\n this.updateVisibleTestimonial();\n \n setTimeout(() => {\n this.isAnimating = false;\n }, 500);\n };\n\n /**\n * Calculate progress value (0 to 1) based on current position\n */\n private getProgress(): number {\n if (this.testimonialCount <= 1) return 0;\n return (this.currentIndex + 1) / this.testimonialCount;\n }\n\n render() {\n return (\n <Host>\n <div class=\"testimonial-carousel\">\n <div class=\"testimonial-slides\">\n <slot></slot>\n </div>\n \n {/* Progress indicator using af-progress-line atom */}\n {this.testimonialCount > 1 && (\n <div class=\"testimonial-progress\">\n <af-progress-line progress={this.getProgress()} />\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n\n"]}
@@ -11,31 +11,24 @@
11
11
  }
12
12
 
13
13
  .stat--accent {
14
- border-left: 2px solid var(--colour-background-border-active, #8a7049);
14
+ /* Themed active/accent border color */
15
+ border-left: 2px solid var(--af-background-border-active, var(--colour-softclay-800, #8a7049));
15
16
  padding-left: 16px;
16
17
  min-height: 76px;
17
18
  justify-content: center;
18
19
  }
19
20
 
21
+ /* Stat value - override af-heading to use secondary color */
20
22
  .stat-value {
21
- font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;
22
- font-size: 44px;
23
- font-weight: 400;
24
- line-height: 1;
23
+ /* Override the heading color to use secondary (gold/ochre) instead of primary */
24
+ --af-typography-heading-primary: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #b09670));
25
25
  letter-spacing: -0.88px;
26
- color: var(--colour-typography-heading-secondary, #8a7049);
27
- margin: 0;
26
+ white-space: nowrap;
28
27
  }
29
28
 
29
+ /* Description - override af-text to use body-dark for emphasis */
30
30
  .stat-description {
31
- font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;
32
- font-size: 16px;
33
- font-weight: 400;
34
- line-height: 24px;
35
- color: var(--colour-typography-body-dark, #14343b);
36
- margin: 0;
31
+ --af-typography-body-default: var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343b));
37
32
  overflow: hidden;
38
33
  text-overflow: ellipsis;
39
- }
40
-
41
-
34
+ }
@@ -7,7 +7,7 @@ export class AfTestimonialStat {
7
7
  this.accentBorder = false;
8
8
  }
9
9
  render() {
10
- return (h(Host, { key: '8f221081ab89cc0f37a3b1d2585f58c5889b053e' }, h("div", { key: '2df78950a8dc36a6f093ff0b22a64cd9d7f15e97', class: `stat ${this.accentBorder ? 'stat--accent' : ''}` }, h("p", { key: 'e81b31e9c4626a4aee54794307681cefd37e62b9', class: "stat-value" }, this.value), h("p", { key: 'aed7ac399263efba79ac1fbdd81780761979b729', class: "stat-description" }, this.description))));
10
+ return (h(Host, { key: 'e3dc86a0d0368680dc03ab1a7260ccabd48def13' }, h("div", { key: '97cefaa49ab9fad117d3c541d9b58461ad216566', class: `stat ${this.accentBorder ? 'stat--accent' : ''}` }, h("af-heading", { key: '49c03e5fe9c7ddbb31bb8d8a686cffa44517c176', level: 2, class: "stat-value" }, this.value), h("af-text", { key: '3b931281953a7d23d0bdfb540d48635576f84e1d', 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"; }
@@ -1 +1 @@
1
- {"version":3,"file":"af-testimonial-stat.js","sourceRoot":"","sources":["../../../src/components/af-testimonial-stat/af-testimonial-stat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQzD,MAAM,OAAO,iBAAiB;IAN9B;QAiBE;;WAEG;QACK,iBAAY,GAAY,KAAK,CAAC;KAYvC;IAVC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,QAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC3D,0DAAG,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAK;gBACtC,0DAAG,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,WAAW,CAAK,CAC9C,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'af-testimonial-stat',\n styleUrl: 'af-testimonial-stat.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonialStat {\n /**\n * The statistic value (e.g., \"95%\", \"10×\", \"120,000\")\n */\n @Prop() value!: string;\n\n /**\n * Description text for the statistic\n */\n @Prop() description!: string;\n\n /**\n * Whether to show left accent border\n */\n @Prop() accentBorder: boolean = false;\n\n render() {\n return (\n <Host>\n <div class={`stat ${this.accentBorder ? 'stat--accent' : ''}`}>\n <p class=\"stat-value\">{this.value}</p>\n <p class=\"stat-description\">{this.description}</p>\n </div>\n </Host>\n );\n }\n}\n\n\n"]}
1
+ {"version":3,"file":"af-testimonial-stat.js","sourceRoot":"","sources":["../../../src/components/af-testimonial-stat/af-testimonial-stat.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAQzD,MAAM,OAAO,iBAAiB;IAN9B;QAiBE;;WAEG;QACK,iBAAY,GAAY,KAAK,CAAC;KAcvC;IAZC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,4DAAK,KAAK,EAAE,QAAQ,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE;gBAE3D,mEAAY,KAAK,EAAE,CAAC,EAAE,KAAK,EAAC,YAAY,IAAE,IAAI,CAAC,KAAK,CAAc;gBAElE,gEAAS,OAAO,EAAC,QAAQ,EAAC,KAAK,EAAC,kBAAkB,IAAE,IAAI,CAAC,WAAW,CAAW,CAC3E,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'af-testimonial-stat',\n styleUrl: 'af-testimonial-stat.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonialStat {\n /**\n * The statistic value (e.g., \"95%\", \"10×\", \"120,000\")\n */\n @Prop() value!: string;\n\n /**\n * Description text for the statistic\n */\n @Prop() description!: string;\n\n /**\n * Whether to show left accent border\n */\n @Prop() accentBorder: boolean = false;\n\n render() {\n return (\n <Host>\n <div class={`stat ${this.accentBorder ? 'stat--accent' : ''}`}>\n {/* Stat value uses secondary heading color via CSS override */}\n <af-heading level={2} class=\"stat-value\">{this.value}</af-heading>\n {/* Description uses af-text for proper theming */}\n <af-text variant=\"medium\" class=\"stat-description\">{this.description}</af-text>\n </div>\n </Host>\n );\n }\n}\n\n\n"]}
@@ -5,10 +5,11 @@
5
5
  .text {
6
6
  margin: 0;
7
7
  padding: 0;
8
- font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;
9
- font-weight: 400;
10
- color: var(--colour-typography-body-default, #14343b);
11
- letter-spacing: 0;
8
+ font-family: var(--typography-bodyfont, 'NeuSans', Arial, sans-serif);
9
+ font-weight: var(--font-weight-regular, 400);
10
+ /* Inherit color from theme context via CSS custom property */
11
+ color: var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));
12
+ letter-spacing: var(--letter-spacing-body, 0);
12
13
  }
13
14
 
14
15
  /* Alignment */
@@ -24,47 +25,23 @@
24
25
  text-align: right;
25
26
  }
26
27
 
27
- /* Theme variants */
28
- .theme-dark {
29
- color: var(--colour-brand-mist-green, #C6D5D1);
30
- }
31
-
32
- .theme-light {
33
- color: var(--colour-typography-body-default, #14343b);
34
- }
35
-
36
28
  /* Body variants */
37
29
  .variant-xlarge {
38
- font-size: 22px;
39
- line-height: 28px;
30
+ font-size: var(--font-size-body-xlarge, 22px);
31
+ line-height: var(--line-height-body-xlarge, 28px);
40
32
  }
41
33
 
42
34
  .variant-large {
43
- font-size: 18px;
44
- line-height: 26px;
35
+ font-size: var(--font-size-body-large, 18px);
36
+ line-height: var(--line-height-body-large, 26px);
45
37
  }
46
38
 
47
39
  .variant-medium {
48
- font-size: 16px;
49
- line-height: 24px;
40
+ font-size: var(--font-size-body-medium, 16px);
41
+ line-height: var(--line-height-body-medium, 24px);
50
42
  }
51
43
 
52
44
  .variant-small {
53
- font-size: 14px;
54
- line-height: 20px;
55
- }
56
-
57
- /* Label variants - use NeuSans Book */
58
- .variant-label-button {
59
- font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;
60
- font-weight: 500;
61
- font-size: 17px;
62
- line-height: 20px;
63
- }
64
-
65
- .variant-label-tag {
66
- font-family: 'NeuSans', 'Inter', 'Segoe UI', system-ui, sans-serif;
67
- font-weight: 500;
68
- font-size: 14px;
69
- line-height: 1;
45
+ font-size: var(--font-size-body-small, 14px);
46
+ line-height: var(--line-height-body-small, 20px);
70
47
  }
@@ -1,4 +1,9 @@
1
1
  import { h } from "@stencil/core";
2
+ /**
3
+ * Text/body component that inherits color from theme context.
4
+ * Color is determined by the parent theme (af-section, af-hero-section, etc.)
5
+ * via CSS custom properties.
6
+ */
2
7
  export class AfText {
3
8
  constructor() {
4
9
  /** Text variant */
@@ -7,17 +12,14 @@ export class AfText {
7
12
  this.align = 'left';
8
13
  /** Semantic element to render */
9
14
  this.as = 'p';
10
- /** Theme for dark backgrounds */
11
- this.theme = 'light';
12
15
  }
13
16
  render() {
14
17
  const Tag = this.as;
15
- return (h(Tag, { key: 'd24094cc876bf871972eb35651c2c145d135722f', class: {
18
+ return (h(Tag, { key: '824ada09e3f1b9eff027c758087e8369f4de5daa', class: {
16
19
  'text': true,
17
20
  [`variant-${this.variant}`]: true,
18
- [`align-${this.align}`]: true,
19
- [`theme-${this.theme}`]: true
20
- }, part: "base" }, h("slot", { key: 'bb1f690d3b11f76d926da7bc7655fbce9df9973c' })));
21
+ [`align-${this.align}`]: true
22
+ }, part: "base" }, h("slot", { key: '3c9762436be40ed4920db1dea3a38561e275848e' })));
21
23
  }
22
24
  static get is() { return "af-text"; }
23
25
  static get encapsulation() { return "shadow"; }
@@ -37,8 +39,8 @@ export class AfText {
37
39
  "type": "string",
38
40
  "mutable": false,
39
41
  "complexType": {
40
- "original": "'xlarge' | 'large' | 'medium' | 'small' | 'label-button' | 'label-tag'",
41
- "resolved": "\"label-button\" | \"label-tag\" | \"large\" | \"medium\" | \"small\" | \"xlarge\"",
42
+ "original": "'xlarge' | 'large' | 'medium' | 'small'",
43
+ "resolved": "\"large\" | \"medium\" | \"small\" | \"xlarge\"",
42
44
  "references": {}
43
45
  },
44
46
  "required": false,
@@ -92,26 +94,6 @@ export class AfText {
92
94
  "reflect": false,
93
95
  "attribute": "as",
94
96
  "defaultValue": "'p'"
95
- },
96
- "theme": {
97
- "type": "string",
98
- "mutable": false,
99
- "complexType": {
100
- "original": "'light' | 'dark'",
101
- "resolved": "\"dark\" | \"light\"",
102
- "references": {}
103
- },
104
- "required": false,
105
- "optional": false,
106
- "docs": {
107
- "tags": [],
108
- "text": "Theme for dark backgrounds"
109
- },
110
- "getter": false,
111
- "setter": false,
112
- "reflect": false,
113
- "attribute": "theme",
114
- "defaultValue": "'light'"
115
97
  }
116
98
  };
117
99
  }
@@ -1 +1 @@
1
- {"version":3,"file":"af-text.js","sourceRoot":"","sources":["../../../src/components/af-text/af-text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOnD,MAAM,OAAO,MAAM;IALnB;QAME,mBAAmB;QACX,YAAO,GAA2E,QAAQ,CAAC;QAEnG,uBAAuB;QACf,UAAK,GAAgC,MAAM,CAAC;QAEpD,iCAAiC;QACzB,OAAE,GAAmC,GAAG,CAAC;QAEjD,iCAAiC;QACzB,UAAK,GAAqB,OAAO,CAAC;KAmB3C;IAjBC,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,EAAS,CAAC;QAE3B,OAAO,CACL,EAAC,GAAG,qDACF,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;gBACZ,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;gBACjC,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;gBAC7B,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;aAC9B,EACD,IAAI,EAAC,MAAM;YAEX,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'af-text',\n styleUrl: 'af-text.css',\n shadow: true\n})\nexport class AfText {\n /** Text variant */\n @Prop() variant: 'xlarge' | 'large' | 'medium' | 'small' | 'label-button' | 'label-tag' = 'medium';\n\n /** Visual alignment */\n @Prop() align: 'left' | 'center' | 'right' = 'left';\n\n /** Semantic element to render */\n @Prop() as: 'p' | 'span' | 'div' | 'label' = 'p';\n \n /** Theme for dark backgrounds */\n @Prop() theme: 'light' | 'dark' = 'light';\n\n render() {\n const Tag = this.as as any;\n\n return (\n <Tag\n class={{\n 'text': true,\n [`variant-${this.variant}`]: true,\n [`align-${this.align}`]: true,\n [`theme-${this.theme}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"af-text.js","sourceRoot":"","sources":["../../../src/components/af-text/af-text.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEnD;;;;GAIG;AAMH,MAAM,OAAO,MAAM;IALnB;QAME,mBAAmB;QACX,YAAO,GAA4C,QAAQ,CAAC;QAEpE,uBAAuB;QACf,UAAK,GAAgC,MAAM,CAAC;QAEpD,iCAAiC;QACzB,OAAE,GAAmC,GAAG,CAAC;KAkBlD;IAhBC,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,EAAS,CAAC;QAE3B,OAAO,CACL,EAAC,GAAG,qDACF,KAAK,EAAE;gBACL,MAAM,EAAE,IAAI;gBACZ,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI;gBACjC,CAAC,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI;aAC9B,EACD,IAAI,EAAC,MAAM;YAEX,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Text/body component that inherits color from theme context.\n * Color is determined by the parent theme (af-section, af-hero-section, etc.)\n * via CSS custom properties.\n */\n@Component({\n tag: 'af-text',\n styleUrl: 'af-text.css',\n shadow: true\n})\nexport class AfText {\n /** Text variant */\n @Prop() variant: 'xlarge' | 'large' | 'medium' | 'small' = 'medium';\n\n /** Visual alignment */\n @Prop() align: 'left' | 'center' | 'right' = 'left';\n\n /** Semantic element to render */\n @Prop() as: 'p' | 'span' | 'div' | 'label' = 'p';\n\n render() {\n const Tag = this.as as any;\n\n return (\n <Tag\n class={{\n 'text': true,\n [`variant-${this.variant}`]: true,\n [`align-${this.align}`]: true\n }}\n part=\"base\"\n >\n <slot />\n </Tag>\n );\n }\n}\n"]}