@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,2 +1,2 @@
1
- import{r as e,h as a}from"./p-DI7b0bCy.js";const o=":host{display:block}.swatch{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;border:1px solid #ece6f5;background:white}.color-preview{width:100%;height:120px;flex-shrink:0}.size-large .color-preview{height:140px}.color-info{padding:16px;display:flex;flex-direction:column;gap:4px}.color-name{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:16px;font-weight:500;color:#14343B}.color-value{font-family:'Helvetica', 'Inter', monospace, system-ui, sans-serif;font-size:14px;color:#708380}";const s=class{constructor(a){e(this,a);this.size="default"}render(){return a("div",{key:"57a141b5af5c538c5cf842a61173dd391a91d59b",class:{swatch:true,[`size-${this.size}`]:true},part:"base"},a("div",{key:"505252d9fbfb36df24f1907cd5a30278e55bf268",class:"color-preview",part:"preview",style:{backgroundColor:this.color}}),a("div",{key:"095621914872670c129c23825aa012bbba4e33bb",class:"color-info",part:"info"},a("div",{key:"86b6164f0aed4a938a8faa210651bbc6746dd4f2",class:"color-name",part:"name"},this.name),a("div",{key:"1d533780d3756b119ae36a6e8fa0c2b6b3acb7b4",class:"color-value",part:"value"},this.color)))}};s.style=o;export{s as af_color_swatch};
2
- //# sourceMappingURL=p-f8ac0120.entry.js.map
1
+ import{r as e,h as a}from"./p-BmU_CFQ4.js";const o=":host{display:block}.swatch{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;border:1px solid #ece6f5;background:white}.color-preview{width:100%;height:120px;flex-shrink:0}.size-large .color-preview{height:140px}.color-info{padding:16px;display:flex;flex-direction:column;gap:4px}.color-name{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:16px;font-weight:500;color:#14343B}.color-value{font-family:'Helvetica', 'Inter', monospace, system-ui, sans-serif;font-size:14px;color:#708380}";const s=class{constructor(a){e(this,a);this.size="default"}render(){return a("div",{key:"57a141b5af5c538c5cf842a61173dd391a91d59b",class:{swatch:true,[`size-${this.size}`]:true},part:"base"},a("div",{key:"505252d9fbfb36df24f1907cd5a30278e55bf268",class:"color-preview",part:"preview",style:{backgroundColor:this.color}}),a("div",{key:"095621914872670c129c23825aa012bbba4e33bb",class:"color-info",part:"info"},a("div",{key:"86b6164f0aed4a938a8faa210651bbc6746dd4f2",class:"color-name",part:"name"},this.name),a("div",{key:"1d533780d3756b119ae36a6e8fa0c2b6b3acb7b4",class:"color-value",part:"value"},this.color)))}};s.style=o;export{s as af_color_swatch};
2
+ //# sourceMappingURL=p-e5af21c2.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,H as r}from"./p-BmU_CFQ4.js";const a=":host{display:inline-flex;align-items:center;justify-content:center;line-height:1;user-select:none;flex-shrink:0}.badge{display:inline-flex;align-items:center;justify-content:center;font-family:var(--af-font-family-sans, 'NeuSans', Arial, sans-serif);font-weight:500}.badge.variant-inCircle{border-radius:50%;background-color:var(--af-color-brand-soft-clay, #B09670);color:var(--af-color-brand-inkwell, #14343B)}.badge.variant-outlined{background-color:transparent;color:var(--af-color-brand-mist-green, #C6D5D1)}";const i=class{constructor(t){e(this,t);this.number=1;this.variant="inCircle";this.size=48}render(){const e=this.variant==="inCircle";const a=e?this.size*.4:this.size*.8;const i={width:`${this.size}px`,height:`${this.size}px`,fontSize:`${a}px`};return t(r,{key:"8b3d22147d452da450899cb2853957d601d321cb",role:"img","aria-label":`Number ${this.number}${e?" badge":""}`},t("span",{key:"de26b2d9ad6139ecb2ebe764020577f9887ececf",class:{badge:true,[`variant-${this.variant}`]:true},style:i},this.number))}};i.style=a;export{i as af_number_badge};
2
+ //# sourceMappingURL=p-e5d9913c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["registerInstance","h","Host","afNumberBadgeCss","AfNumberBadge","constructor","hostRef","this","number","variant","size","render","isInCircle","fontSize","badgeStyle","width","height","key","role","class","badge","style"],"sources":["0"],"mappings":"YAAcA,OAAkBC,OAAQC,MAAY,kBAEpD,MAAMC,EAAmB,ogBAEzB,MAAMC,EAAgB,MAClB,WAAAC,CAAYC,GACRN,EAAiBO,KAAMD,GAIvBC,KAAKC,OAAS,EAMdD,KAAKE,QAAU,WAIfF,KAAKG,KAAO,EAChB,CACA,MAAAC,GACI,MAAMC,EAAaL,KAAKE,UAAY,WACpC,MAAMI,EAAWD,EAAaL,KAAKG,KAAO,GAAMH,KAAKG,KAAO,GAC5D,MAAMI,EAAa,CACfC,MAAO,GAAGR,KAAKG,SACfM,OAAQ,GAAGT,KAAKG,SAChBG,SAAU,GAAGA,OAEjB,OAAQZ,EAAEC,EAAM,CAAEe,IAAK,2CAA4CC,KAAM,MAAO,aAAc,UAAUX,KAAKC,SAASI,EAAa,SAAW,MAAQX,EAAE,OAAQ,CAAEgB,IAAK,2CAA4CE,MAAO,CAClNC,MAAS,KACT,CAAC,WAAWb,KAAKE,WAAY,MAC9BY,MAAOP,GAAcP,KAAKC,QACrC,GAEJJ,EAAciB,MAAQlB,SAEbC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,H as t}from"./p-BmU_CFQ4.js";const i=":host{display:block}.nav-menu{display:flex;flex-direction:column;gap:16px;align-items:flex-start;min-height:1px;min-width:1px}.nav-menu.breakpoint-desktop{padding:0;flex:1 0 0;align-self:stretch}.nav-menu.breakpoint-desktop.has-border{border-right:1px solid var(--colour-background-border-subtle, #e8eeed);padding-right:32px;padding-top:16px}.nav-menu.breakpoint-mobile{padding:32px 12px;width:100%;border-bottom:1px solid var(--colour-background-border-subtle, #e8eeed)}.menu-header{display:flex;gap:16px;align-items:center;width:100%}.menu-heading{margin:0;font-family:var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);font-weight:var(--font-weight-book, 500);font-size:20px;line-height:1.2;letter-spacing:-0.4px;color:var(--colour-typography-heading-secondary, #8a7049);flex:1 0 0;min-height:1px;min-width:1px}.nav-menu.breakpoint-mobile .menu-heading{line-height:1.1}.menu-items{display:flex;flex-direction:column;align-items:flex-start;width:100%}.nav-menu.breakpoint-mobile .menu-items{padding-left:24px}::slotted(af-nav-item){width:100%}.nav-menu.card-style{background:var(--colour-background-level-1, #e8eeed);border-radius:var(--radii-card-level-1, 32px);padding:40px}.nav-menu.card-style.breakpoint-desktop{flex:1 0 0;align-self:stretch}";const n=class{constructor(a){e(this,a);this.breakpoint="desktop";this.showBorder=false;this.cardStyle=false}render(){const e={"nav-menu":true,[`breakpoint-${this.breakpoint}`]:true,"has-border":this.showBorder,"card-style":this.cardStyle};return a(t,{key:"25d24de982df9e0bb085023f15a0ccc99dd68987"},a("div",{key:"c473e5e58df5a6300bc9f7087b4ed98126d2c178",class:e},this.heading&&a("div",{key:"6f080b0dd068463bde77f72a0b07dace7af4a248",class:"menu-header"},a("h3",{key:"77f1ac6ecb8c877dc6d3b6bb0e1a37617f322175",class:"menu-heading"},this.heading)),a("div",{key:"f8cf91ec5aa5b31e8171d98a7c7e5c4e1e977f5e",class:"menu-items"},a("slot",{key:"d7bd3a85725fc817c2d9110cc315d5b57837c636"}))))}};n.style=i;export{n as af_nav_menu};
2
+ //# sourceMappingURL=p-ea06c83b.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["registerInstance","h","Host","afNavMenuCss","AfNavMenu","constructor","hostRef","this","breakpoint","showBorder","cardStyle","render","classes","key","class","heading","style"],"sources":["0"],"mappings":"YAAcA,OAAkBC,OAAQC,MAAY,kBAEpD,MAAMC,EAAe,yvCAErB,MAAMC,EAAY,MACd,WAAAC,CAAYC,GACRN,EAAiBO,KAAMD,GAMvBC,KAAKC,WAAa,UAMlBD,KAAKE,WAAa,MAKlBF,KAAKG,UAAY,KACrB,CACA,MAAAC,GACI,MAAMC,EAAU,CACZ,WAAY,KACZ,CAAC,cAAcL,KAAKC,cAAe,KACnC,aAAcD,KAAKE,WACnB,aAAcF,KAAKG,WAEvB,OAAQT,EAAEC,EAAM,CAAEW,IAAK,4CAA8CZ,EAAE,MAAO,CAAEY,IAAK,2CAA4CC,MAAOF,GAAWL,KAAKQ,SAAYd,EAAE,MAAO,CAAEY,IAAK,2CAA4CC,MAAO,eAAiBb,EAAE,KAAM,CAAEY,IAAK,2CAA4CC,MAAO,gBAAkBP,KAAKQ,UAAYd,EAAE,MAAO,CAAEY,IAAK,2CAA4CC,MAAO,cAAgBb,EAAE,OAAQ,CAAEY,IAAK,+CACrc,GAEJT,EAAUY,MAAQb,SAETC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r,h as a,H as t}from"./p-BmU_CFQ4.js";const o=':host{display:inline-block}:host([variant="secondary"]){color:var(--af-button-secondary-icon, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}:host([variant="primary"]){color:var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343B))}:host([variant="tertiary"]){color:var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343B))}.icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:all 0.2s ease;border:1px solid transparent;box-sizing:border-box;flex-shrink:0;text-decoration:none;padding:0}.size-large{width:72px;height:72px;padding:24px}.size-large .icon{width:24px;height:24px}.size-medium{width:48px;height:48px;padding:12px}.size-medium .icon{width:24px;height:24px}.size-small{width:36px;height:36px;padding:8px}.size-small .icon{width:20px;height:20px}.icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.icon ::slotted(*){width:100%;height:100%;color:inherit}.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #A6FFFB));border-color:var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343B));color:var(--af-button-primary-text, var(--colour-brand-inkwell, #14343B))}.variant-primary:hover:not(.disabled){background:var(--af-button-primary-bg-hover, #95e6e2)}.variant-primary:active:not(.disabled){background:var(--af-button-primary-bg-hover, #95e6e2)}.variant-secondary{background:var(--af-button-secondary-bg, transparent);border-color:var(--af-button-secondary-stroke, currentColor);color:var(--af-button-secondary-text, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}.variant-secondary:hover:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1))}.variant-secondary:active:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1))}.variant-tertiary{background:transparent;border-color:transparent;color:var(--af-button-tertiary-text, var(--colour-brand-inkwell, #14343B))}.variant-tertiary:hover:not(.disabled){opacity:0.8}.variant-tertiary:active:not(.disabled){opacity:0.6}.disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}button.icon-button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}button.icon-button.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #A6FFFB));border:1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343B))}button.icon-button.variant-secondary{background:var(--af-button-secondary-bg, transparent);border:1px solid var(--af-button-secondary-stroke, currentColor);color:var(--af-button-secondary-text, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}button.icon-button.variant-tertiary{background:transparent;border:1px solid transparent}';const n=class{constructor(a){r(this,a);this.variant="primary";this.size="medium";this.disabled=false;this.type="button"}render(){const r={"icon-button":true,[`variant-${this.variant}`]:true,[`size-${this.size}`]:true,disabled:this.disabled};const o=a("span",{class:"icon"},a("slot",null));if(this.href&&!this.disabled){return a(t,null,a("a",{href:this.href,class:r,"aria-label":this.ariaLabel},o))}return a(t,null,a("button",{type:this.type,disabled:this.disabled,class:r,"aria-label":this.ariaLabel},o))}};n.style=o;export{n as af_icon_button};
2
+ //# sourceMappingURL=p-f45b0060.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerInstance","h","Host","afIconButtonCss","AfIconButton","constructor","hostRef","this","variant","size","disabled","type","render","classes","content","class","href","ariaLabel","style"],"sources":["0"],"mappings":"OAAcA,OAAkBC,OAAQC,MAAY,kBAEpD,MAAMC,EAAkB,yhFAExB,MAAMC,EAAe,MACjB,WAAAC,CAAYC,GACRN,EAAiBO,KAAMD,GAIvBC,KAAKC,QAAU,UAIfD,KAAKE,KAAO,SAIZF,KAAKG,SAAW,MAIhBH,KAAKI,KAAO,QAChB,CACA,MAAAC,GACI,MAAMC,EAAU,CACZ,cAAe,KACf,CAAC,WAAWN,KAAKC,WAAY,KAC7B,CAAC,QAAQD,KAAKE,QAAS,KACvBC,SAAYH,KAAKG,UAErB,MAAMI,EAAWb,EAAE,OAAQ,CAAEc,MAAO,QAAUd,EAAE,OAAQ,OACxD,GAAIM,KAAKS,OAAST,KAAKG,SAAU,CAC7B,OAAQT,EAAEC,EAAM,KAAMD,EAAE,IAAK,CAAEe,KAAMT,KAAKS,KAAMD,MAAOF,EAAS,aAAcN,KAAKU,WAAaH,GACpG,CACA,OAAQb,EAAEC,EAAM,KAAMD,EAAE,SAAU,CAAEU,KAAMJ,KAAKI,KAAMD,SAAUH,KAAKG,SAAUK,MAAOF,EAAS,aAAcN,KAAKU,WAAaH,GAClI,GAEJV,EAAac,MAAQf,SAEZC","ignoreList":[]}
1
+ {"version":3,"names":["registerInstance","h","Host","afIconButtonCss","AfIconButton","constructor","hostRef","this","variant","size","disabled","type","render","classes","content","class","href","ariaLabel","style"],"sources":["0"],"mappings":"OAAcA,OAAkBC,OAAQC,MAAY,kBAEpD,MAAMC,EAAkB,izFAExB,MAAMC,EAAe,MACjB,WAAAC,CAAYC,GACRN,EAAiBO,KAAMD,GAOvBC,KAAKC,QAAU,UAIfD,KAAKE,KAAO,SAIZF,KAAKG,SAAW,MAIhBH,KAAKI,KAAO,QAChB,CACA,MAAAC,GACI,MAAMC,EAAU,CACZ,cAAe,KACf,CAAC,WAAWN,KAAKC,WAAY,KAC7B,CAAC,QAAQD,KAAKE,QAAS,KACvBC,SAAYH,KAAKG,UAErB,MAAMI,EAAWb,EAAE,OAAQ,CAAEc,MAAO,QAAUd,EAAE,OAAQ,OACxD,GAAIM,KAAKS,OAAST,KAAKG,SAAU,CAC7B,OAAQT,EAAEC,EAAM,KAAMD,EAAE,IAAK,CAAEe,KAAMT,KAAKS,KAAMD,MAAOF,EAAS,aAAcN,KAAKU,WAAaH,GACpG,CACA,OAAQb,EAAEC,EAAM,KAAMD,EAAE,SAAU,CAAEU,KAAMJ,KAAKI,KAAMD,SAAUH,KAAKG,SAAUK,MAAOF,EAAS,aAAcN,KAAKU,WAAaH,GAClI,GAEJV,EAAac,MAAQf,SAEZC","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DfEVhbS6.js');
3
+ var index = require('./index-ybEiHT0b.js');
4
4
 
5
- const afAspectRatioCss = ":host{display:block;width:100%}.aspect-ratio-container{width:100%;position:relative;overflow:hidden}.aspect-ratio-container ::slotted(*){width:100%;height:100%;object-fit:cover}";
5
+ const afAspectRatioCss = ":host{display:block;width:100%}.aspect-ratio-container{width:100%;position:relative;overflow:hidden}.aspect-ratio-container ::slotted(*){position:absolute;inset:0;width:100%;height:100%;object-fit:cover}";
6
6
 
7
7
  const AfAspectRatio = class {
8
8
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"version":3,"file":"af-aspect-ratio.entry.cjs.js","sources":["src/components/af-aspect-ratio/af-aspect-ratio.css?tag=af-aspect-ratio&encapsulation=shadow","src/components/af-aspect-ratio/af-aspect-ratio.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.aspect-ratio-container {\n width: 100%;\n position: relative;\n overflow: hidden;\n}\n\n/* Ensure slotted content fills the container */\n.aspect-ratio-container ::slotted(*) {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * A container component that maintains a fixed aspect ratio for its content.\n * Useful for images, videos, or any content that needs to maintain specific proportions.\n */\n@Component({\n tag: 'af-aspect-ratio',\n styleUrl: 'af-aspect-ratio.css',\n shadow: true\n})\nexport class AfAspectRatio {\n /**\n * The aspect ratio to maintain. Can be:\n * - A predefined ratio: '1:1', '16:9', '4:3', 'golden-portrait', 'golden-landscape', 'a4-portrait', 'a4-landscape', 'letter-portrait', 'letter-landscape', etc.\n * - A custom ratio in format 'width / height': '16 / 9', '4 / 3', '1.618 / 1', etc.\n *\n * @example\n * <af-aspect-ratio ratio=\"16:9\">Content</af-aspect-ratio>\n * <af-aspect-ratio ratio=\"1.618 / 1\">Content</af-aspect-ratio>\n */\n @Prop() ratio: string = '1:1';\n\n private getRatioValue(): string {\n // Map common ratio shortcuts to actual CSS aspect-ratio values\n const ratioMap: { [key: string]: string } = {\n // Common ratios\n '1:1': '1 / 1',\n '1:2': '1 / 2',\n '2:1': '2 / 1',\n '2:3': '2 / 3',\n '3:1': '3 / 1',\n '3:2': '3 / 2',\n '3:4': '3 / 4',\n '4:1': '4 / 1',\n '4:3': '4 / 3',\n '4:5': '4 / 5',\n '5:2': '5 / 2',\n '5:4': '5 / 4',\n '8:3': '8 / 3',\n '8:5': '8 / 5',\n // Screen ratios\n '9:8': '9 / 8',\n '9:16': '9 / 16',\n '9:21': '9 / 21',\n '10:16': '10 / 16',\n '14:3': '14 / 3',\n '16:5': '16 / 5',\n '16:9': '16 / 9',\n '16:10': '16 / 10',\n '21:9': '21 / 9',\n '32:9': '32 / 9',\n // Golden ratio variants\n 'golden-portrait': '1 / 1.618',\n 'golden-landscape': '1.618 / 1',\n 'golden-portrait-half': '1 / 0.809',\n 'golden-landscape-half': '0.809 / 1',\n // Paper sizes - A4\n 'a4-portrait': '1 / 1.414',\n 'a4-landscape': '1.414 / 1',\n 'a4-portrait-half': '1 / 0.707',\n 'a4-landscape-half': '0.707 / 1',\n // Paper sizes - Letter\n 'letter-portrait': '1 / 1.294',\n 'letter-landscape': '1.294 / 1',\n 'letter-portrait-half': '1 / 0.647',\n 'letter-landscape-half': '0.647 / 1',\n // Special\n '6:7': '6 / 7'\n };\n\n // If it's a predefined ratio, return the mapped value\n if (ratioMap[this.ratio]) {\n return ratioMap[this.ratio];\n }\n\n // Otherwise, assume it's a custom ratio already in the correct format\n return this.ratio;\n }\n\n render() {\n const ratioValue = this.getRatioValue();\n\n return (\n <div\n class=\"aspect-ratio-container\"\n style={{ aspectRatio: ratioValue }}\n >\n <slot></slot>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,mLAAmL;;MCW/L,aAAa,GAAA,MAAA;AAL1B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;;;;;;;AAQG;AACK,QAAA,IAAK,CAAA,KAAA,GAAW,KAAK;AAuE9B;IArES,aAAa,GAAA;;AAEnB,QAAA,MAAM,QAAQ,GAA8B;;AAE1C,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;;AAEd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;;AAEhB,YAAA,iBAAiB,EAAE,WAAW;AAC9B,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,sBAAsB,EAAE,WAAW;AACnC,YAAA,uBAAuB,EAAE,WAAW;;AAEpC,YAAA,aAAa,EAAE,WAAW;AAC1B,YAAA,cAAc,EAAE,WAAW;AAC3B,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,mBAAmB,EAAE,WAAW;;AAEhC,YAAA,iBAAiB,EAAE,WAAW;AAC9B,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,sBAAsB,EAAE,WAAW;AACnC,YAAA,uBAAuB,EAAE,WAAW;;AAEpC,YAAA,KAAK,EAAE;SACR;;AAGD,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;;QAI7B,OAAO,IAAI,CAAC,KAAK;;IAGnB,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;AAEvC,QAAA,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAA,EAElCA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;;;"}
1
+ {"version":3,"file":"af-aspect-ratio.entry.cjs.js","sources":["src/components/af-aspect-ratio/af-aspect-ratio.css?tag=af-aspect-ratio&encapsulation=shadow","src/components/af-aspect-ratio/af-aspect-ratio.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.aspect-ratio-container {\n width: 100%;\n position: relative;\n overflow: hidden;\n}\n\n/* Ensure slotted content fills the container */\n.aspect-ratio-container ::slotted(*) {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * A container component that maintains a fixed aspect ratio for its content.\n * Useful for images, videos, or any content that needs to maintain specific proportions.\n */\n@Component({\n tag: 'af-aspect-ratio',\n styleUrl: 'af-aspect-ratio.css',\n shadow: true\n})\nexport class AfAspectRatio {\n /**\n * The aspect ratio to maintain. Can be:\n * - A predefined ratio: '1:1', '16:9', '4:3', 'golden-portrait', 'golden-landscape', 'a4-portrait', 'a4-landscape', 'letter-portrait', 'letter-landscape', etc.\n * - A custom ratio in format 'width / height': '16 / 9', '4 / 3', '1.618 / 1', etc.\n *\n * @example\n * <af-aspect-ratio ratio=\"16:9\">Content</af-aspect-ratio>\n * <af-aspect-ratio ratio=\"1.618 / 1\">Content</af-aspect-ratio>\n */\n @Prop() ratio: string = '1:1';\n\n private getRatioValue(): string {\n // Map common ratio shortcuts to actual CSS aspect-ratio values\n const ratioMap: { [key: string]: string } = {\n // Common ratios\n '1:1': '1 / 1',\n '1:2': '1 / 2',\n '2:1': '2 / 1',\n '2:3': '2 / 3',\n '3:1': '3 / 1',\n '3:2': '3 / 2',\n '3:4': '3 / 4',\n '4:1': '4 / 1',\n '4:3': '4 / 3',\n '4:5': '4 / 5',\n '5:2': '5 / 2',\n '5:4': '5 / 4',\n '8:3': '8 / 3',\n '8:5': '8 / 5',\n // Screen ratios\n '9:8': '9 / 8',\n '9:16': '9 / 16',\n '9:21': '9 / 21',\n '10:16': '10 / 16',\n '14:3': '14 / 3',\n '16:5': '16 / 5',\n '16:9': '16 / 9',\n '16:10': '16 / 10',\n '21:9': '21 / 9',\n '32:9': '32 / 9',\n // Golden ratio variants\n 'golden-portrait': '1 / 1.618',\n 'golden-landscape': '1.618 / 1',\n 'golden-portrait-half': '1 / 0.809',\n 'golden-landscape-half': '0.809 / 1',\n // Paper sizes - A4\n 'a4-portrait': '1 / 1.414',\n 'a4-landscape': '1.414 / 1',\n 'a4-portrait-half': '1 / 0.707',\n 'a4-landscape-half': '0.707 / 1',\n // Paper sizes - Letter\n 'letter-portrait': '1 / 1.294',\n 'letter-landscape': '1.294 / 1',\n 'letter-portrait-half': '1 / 0.647',\n 'letter-landscape-half': '0.647 / 1',\n // Special\n '6:7': '6 / 7'\n };\n\n // If it's a predefined ratio, return the mapped value\n if (ratioMap[this.ratio]) {\n return ratioMap[this.ratio];\n }\n\n // Otherwise, assume it's a custom ratio already in the correct format\n return this.ratio;\n }\n\n render() {\n const ratioValue = this.getRatioValue();\n\n return (\n <div\n class=\"aspect-ratio-container\"\n style={{ aspectRatio: ratioValue }}\n >\n <slot></slot>\n </div>\n );\n }\n}\n"],"names":["h"],"mappings":";;;;AAAA,MAAM,gBAAgB,GAAG,6MAA6M;;MCWzN,aAAa,GAAA,MAAA;AAL1B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;;;;;;;AAQG;AACK,QAAA,IAAK,CAAA,KAAA,GAAW,KAAK;AAuE9B;IArES,aAAa,GAAA;;AAEnB,QAAA,MAAM,QAAQ,GAA8B;;AAE1C,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,KAAK,EAAE,OAAO;;AAEd,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,MAAM,EAAE,QAAQ;;AAEhB,YAAA,iBAAiB,EAAE,WAAW;AAC9B,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,sBAAsB,EAAE,WAAW;AACnC,YAAA,uBAAuB,EAAE,WAAW;;AAEpC,YAAA,aAAa,EAAE,WAAW;AAC1B,YAAA,cAAc,EAAE,WAAW;AAC3B,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,mBAAmB,EAAE,WAAW;;AAEhC,YAAA,iBAAiB,EAAE,WAAW;AAC9B,YAAA,kBAAkB,EAAE,WAAW;AAC/B,YAAA,sBAAsB,EAAE,WAAW;AACnC,YAAA,uBAAuB,EAAE,WAAW;;AAEpC,YAAA,KAAK,EAAE;SACR;;AAGD,QAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;;;QAI7B,OAAO,IAAI,CAAC,KAAK;;IAGnB,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE;AAEvC,QAAA,QACEA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,wBAAwB,EAC9B,KAAK,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,EAAA,EAElCA,OAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DfEVhbS6.js');
3
+ var index = require('./index-ybEiHT0b.js');
4
4
 
5
5
  const afButtonGroupCss = ":host{display:inline-block}.button-group{display:inline-flex;align-items:center;box-sizing:border-box}.direction-horizontal{flex-direction:row}.direction-vertical{flex-direction:column}::slotted(*){flex-shrink:0}";
6
6
 
@@ -21,7 +21,7 @@ const AfButtonGroup = class {
21
21
  'button-group': true,
22
22
  [`direction-${this.direction}`]: true
23
23
  };
24
- return (index.h(index.Host, { key: '5f8f8c8acd7b401c9e217a05200dfca367691723' }, index.h("div", { key: 'b4d14e81177523a584a961e0f20b6e7be101a8e3', class: classes, style: { gap: this.gap } }, index.h("slot", { key: '68cb3173bcf193eb877d66b1588500882aa52a63' }))));
24
+ return (index.h(index.Host, { key: '28faa5610144730bd66361b304167a0fb64be5d5' }, index.h("div", { key: 'a4bcc27d77f421dff083f5cccfe261be34a9b8f1', class: classes, style: { gap: this.gap } }, index.h("slot", { key: '365862ea727b18cfa0a96f0b99d9fb338c0be91a' }))));
25
25
  }
26
26
  };
27
27
  AfButtonGroup.style = afButtonGroupCss;
@@ -1,18 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DfEVhbS6.js');
3
+ var index = require('./index-ybEiHT0b.js');
4
4
 
5
- const afButtonCss = ":host{display:inline-block}.button{display:inline-flex;align-items:center;justify-content:center;gap:0;border-radius:9999px;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:500;text-decoration:none;cursor:pointer;transition:all 0.2s ease;border:1px solid transparent;box-sizing:border-box;white-space:nowrap}.size-default{padding:12px 24px;font-size:17px;line-height:20px}.size-small{padding:8px 16px;font-size:14px;line-height:16px}.icon-left:empty,.icon-right:empty{display:none}.icon-left,.icon-right{display:flex;align-items:center;justify-content:center;flex-shrink:0}.size-default .icon-left,.size-default .icon-right{width:24px;height:24px}.size-small .icon-left,.size-small .icon-right{width:20px;height:20px}.label{flex:0 1 auto;display:flex;align-items:center;justify-content:center;height:24px}.size-default .label{padding:0 12px;height:24px}.size-small .label{padding:0 8px;height:20px}.variant-primary{background:var(--colour-brand-ice, #A6FFFB);border-color:var(--colour-brand-inkwell, #14343B);color:var(--colour-brand-inkwell, #14343B)}.variant-primary:hover:not(.disabled){background:#8FEBE3;transform:translateY(-1px);box-shadow:0 2px 8px rgba(20, 52, 59, 0.15)}.variant-primary:active:not(.disabled){background:#7FE2D4;transform:translateY(0)}.variant-secondary{background:var(--colour-brand-white, #FFFFFF);border-color:var(--colour-brand-inkwell, #14343B);color:var(--colour-brand-inkwell, #14343B)}.variant-secondary:hover:not(.disabled){background:#F6FAF9;transform:translateY(-1px);box-shadow:0 2px 8px rgba(20, 52, 59, 0.15)}.variant-secondary:active:not(.disabled){background:#E8F1EF;transform:translateY(0)}.variant-outline{background:transparent;border-color:var(--colour-brand-inkwell, #14343B);color:var(--colour-brand-inkwell, #14343B)}.variant-outline:hover:not(.disabled){background:rgba(20, 52, 59, 0.04);transform:translateY(-1px)}.variant-outline:active:not(.disabled){background:rgba(20, 52, 59, 0.08);transform:translateY(0)}.variant-ghost{background:transparent;border-color:transparent;color:var(--colour-brand-inkwell, #14343B);padding-left:0;padding-right:0}.variant-ghost:hover:not(.disabled){text-decoration:underline}.variant-ghost:active:not(.disabled){opacity:0.7}.disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}button.button{background:none;border:none;font:inherit;color:inherit;cursor:pointer}button.button.variant-primary{background:var(--colour-brand-ice, #A6FFFB);border:1px solid var(--colour-brand-inkwell, #14343B)}button.button.variant-secondary{background:var(--colour-brand-white, #FFFFFF);border:1px solid var(--colour-brand-inkwell, #14343B)}button.button.variant-outline{background:transparent;border:1px solid var(--colour-brand-inkwell, #14343B)}button.button.variant-ghost{background:transparent;border:1px solid transparent}";
5
+ const afButtonCss = ":host{display:inline-block}:host([variant=\"primary\"]){color:var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343B))}:host([variant=\"secondary\"]){color:var(--af-button-secondary-icon, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}:host([variant=\"tertiary\"]){color:var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343B))}:host([full-width]),:host(.full-width){display:block;width:100%}:host([full-width]) .button,:host(.full-width) .button{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:0;border-radius:9999px;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:500;text-decoration:none;cursor:pointer;transition:all 0.2s ease;border:1px solid transparent;box-sizing:border-box;white-space:nowrap;width:var(--af-button-width, auto)}.size-default{padding:12px 24px;font-size:17px;line-height:20px}.size-small{padding:8px 16px;font-size:14px;line-height:16px}.icon-left,.icon-right{display:none;align-items:center;justify-content:center;flex-shrink:0}.icon-left.has-content,.icon-right.has-content{display:flex}.size-default .icon-left,.size-default .icon-right{width:24px;height:24px}.size-small .icon-left,.size-small .icon-right{width:20px;height:20px}.size-default .icon-left.has-content{margin-right:12px}.size-default .icon-right.has-content{margin-left:12px}.size-small .icon-left.has-content{margin-right:8px}.size-small .icon-right.has-content{margin-left:8px}.label{flex:0 1 auto;display:flex;align-items:center;justify-content:center}.size-default .label{height:24px}.size-small .label{height:20px}.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));border-color:var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));color:var(--af-button-primary-text, var(--colour-brand-inkwell, #14343b))}.variant-primary .icon-left,.variant-primary .icon-right{color:var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343b))}.variant-primary:hover:not(.disabled){background:var(--af-button-primary-bg-hover, #95E6E2);border-color:var(--af-button-primary-stroke, #14343B)}.variant-primary:focus:not(.disabled),.variant-primary:focus-visible:not(.disabled){background:var(--af-button-primary-bg, #A6FFFB);border-color:var(--af-button-primary-stroke, #14343B);box-shadow:0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-primary-stroke, #14343B);outline:none}.variant-primary:active:not(.disabled){background:var(--af-button-primary-bg-hover, #95E6E2)}.variant-secondary{background:var(--af-button-secondary-bg, transparent);border-color:var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));color:var(--af-button-secondary-text, var(--colour-brand-inkwell, #14343b))}.variant-secondary .icon-left,.variant-secondary .icon-right{color:var(--af-button-secondary-icon, var(--colour-brand-inkwell, #14343b))}.variant-secondary:hover:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));border-color:var(--af-button-secondary-stroke, currentColor)}.variant-secondary:focus:not(.disabled),.variant-secondary:focus-visible:not(.disabled){background:var(--af-background-base, #FFF);border-color:var(--af-button-secondary-stroke, currentColor);box-shadow:0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-secondary-stroke, currentColor);outline:none}.variant-secondary:active:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1))}.variant-tertiary{background:transparent;border-color:transparent;border-radius:0;color:var(--af-button-tertiary-text, var(--colour-brand-inkwell, #14343b));padding-left:0;padding-right:0}.variant-tertiary .label{border-bottom:2px solid var(--af-button-tertiary-stroke, var(--colour-brand-soft-clay, #B09670))}.variant-tertiary .icon-left,.variant-tertiary .icon-right{color:var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343b))}.variant-tertiary:hover:not(.disabled){opacity:0.8}.variant-tertiary:focus:not(.disabled),.variant-tertiary:focus-visible:not(.disabled){outline:none}.variant-tertiary:focus-visible:not(.disabled) .label{box-shadow:0 4px 0 0 var(--af-button-tertiary-stroke, var(--colour-brand-soft-clay, #B09670))}.variant-tertiary:active:not(.disabled){opacity:0.6}.disabled{cursor:not-allowed;pointer-events:none}.variant-primary.disabled{border:1px solid var(--af-button-primary-stroke, #14343B);background:var(--af-button-primary-bg, #A6FFFB);opacity:0.6}.variant-secondary.disabled{border:1px solid var(--af-button-secondary-stroke, currentColor);opacity:0.6}.variant-tertiary.disabled{opacity:0.6}button.button{font:inherit;cursor:pointer}button.button.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));border:1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b))}button.button.variant-secondary{background:var(--af-button-secondary-bg, transparent);border:1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b))}button.button.variant-tertiary{background:transparent;border:none}a.button{text-decoration:none;color:inherit}a.button.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));border:1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b))}a.button.variant-secondary{background:var(--af-button-secondary-bg, transparent);border:1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b))}a.button.variant-tertiary{background:transparent;border:none}";
6
6
 
7
7
  const AfButton = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
10
  /**
11
- * The visual variant of the button
11
+ * The visual variant of the button.
12
+ * - `primary` - Main CTA with filled background (use sparingly, 1-2 per view)
13
+ * - `secondary` - Supporting action with outlined style
14
+ * - `tertiary` - Subtle text-link style with underline
12
15
  */
13
16
  this.variant = 'primary';
14
17
  /**
15
- * The size of the button
18
+ * The size of the button.
19
+ * - `default` - Standard size for primary CTAs
20
+ * - `small` - Compact size for inline or secondary contexts
16
21
  */
17
22
  this.size = 'default';
18
23
  /**
@@ -23,24 +28,32 @@ const AfButton = class {
23
28
  * Button type (when not using href)
24
29
  */
25
30
  this.type = 'button';
26
- /**
27
- * Use on dark backgrounds for better contrast
28
- */
29
- this.darkBackground = false;
31
+ this.hasIconLeft = false;
32
+ this.hasIconRight = false;
33
+ this.handleSlotChange = (slotName) => (event) => {
34
+ const slot = event.target;
35
+ const hasContent = slot.assignedNodes().length > 0;
36
+ if (slotName === 'icon-left') {
37
+ this.hasIconLeft = hasContent;
38
+ }
39
+ else {
40
+ this.hasIconRight = hasContent;
41
+ }
42
+ };
30
43
  }
31
44
  render() {
32
45
  const classes = {
33
46
  'button': true,
34
47
  [`variant-${this.variant}`]: true,
35
48
  [`size-${this.size}`]: true,
36
- 'disabled': this.disabled,
37
- 'on-dark': this.darkBackground
49
+ 'disabled': this.disabled
38
50
  };
39
51
  const content = [
40
- index.h("span", { class: "icon-left" }, index.h("slot", { name: "icon-left" })),
52
+ index.h("span", { class: { 'icon-left': true, 'has-content': this.hasIconLeft } }, index.h("slot", { name: "icon-left", onSlotchange: this.handleSlotChange('icon-left') })),
41
53
  index.h("span", { class: "label" }, index.h("slot", null)),
42
- index.h("span", { class: "icon-right" }, index.h("slot", { name: "icon-right" }))
54
+ index.h("span", { class: { 'icon-right': true, 'has-content': this.hasIconRight } }, index.h("slot", { name: "icon-right", onSlotchange: this.handleSlotChange('icon-right') }))
43
55
  ];
56
+ // Render as anchor if href is provided (and not disabled)
44
57
  if (this.href && !this.disabled) {
45
58
  return (index.h(index.Host, null, index.h("a", { href: this.href, class: classes }, content)));
46
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"af-button.entry.cjs.js","sources":["src/components/af-button/af-button.css?tag=af-button&encapsulation=shadow","src/components/af-button/af-button.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0;\n border-radius: 9999px;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n box-sizing: border-box;\n white-space: nowrap;\n}\n\n/* Size variants */\n.size-default {\n padding: 12px 24px;\n font-size: 17px;\n line-height: 20px;\n}\n\n.size-small {\n padding: 8px 16px;\n font-size: 14px;\n line-height: 16px;\n}\n\n/* Icon slots */\n.icon-left:empty,\n.icon-right:empty {\n display: none;\n}\n\n.icon-left,\n.icon-right {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.size-default .icon-left,\n.size-default .icon-right {\n width: 24px;\n height: 24px;\n}\n\n.size-small .icon-left,\n.size-small .icon-right {\n width: 20px;\n height: 20px;\n}\n\n/* Label has additional padding on each side */\n.label {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n height: 24px;\n}\n\n.size-default .label {\n padding: 0 12px;\n height: 24px;\n}\n\n.size-small .label {\n padding: 0 8px;\n height: 20px;\n}\n\n/* Primary variant (ice) */\n.variant-primary {\n background: var(--colour-brand-ice, #A6FFFB);\n border-color: var(--colour-brand-inkwell, #14343B);\n color: var(--colour-brand-inkwell, #14343B);\n}\n\n.variant-primary:hover:not(.disabled) {\n background: #8FEBE3;\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(20, 52, 59, 0.15);\n}\n\n.variant-primary:active:not(.disabled) {\n background: #7FE2D4;\n transform: translateY(0);\n}\n\n/* Secondary variant (white) */\n.variant-secondary {\n background: var(--colour-brand-white, #FFFFFF);\n border-color: var(--colour-brand-inkwell, #14343B);\n color: var(--colour-brand-inkwell, #14343B);\n}\n\n.variant-secondary:hover:not(.disabled) {\n background: #F6FAF9;\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(20, 52, 59, 0.15);\n}\n\n.variant-secondary:active:not(.disabled) {\n background: #E8F1EF;\n transform: translateY(0);\n}\n\n/* Outline variant */\n.variant-outline {\n background: transparent;\n border-color: var(--colour-brand-inkwell, #14343B);\n color: var(--colour-brand-inkwell, #14343B);\n}\n\n.variant-outline:hover:not(.disabled) {\n background: rgba(20, 52, 59, 0.04);\n transform: translateY(-1px);\n}\n\n.variant-outline:active:not(.disabled) {\n background: rgba(20, 52, 59, 0.08);\n transform: translateY(0);\n}\n\n/* Ghost variant (text only) */\n.variant-ghost {\n background: transparent;\n border-color: transparent;\n color: var(--colour-brand-inkwell, #14343B);\n padding-left: 0;\n padding-right: 0;\n}\n\n.variant-ghost:hover:not(.disabled) {\n text-decoration: underline;\n}\n\n.variant-ghost:active:not(.disabled) {\n opacity: 0.7;\n}\n\n/* Disabled state */\n.disabled {\n opacity: 0.4;\n cursor: not-allowed;\n pointer-events: none;\n}\n\n/* Remove default button styles */\nbutton.button {\n background: none;\n border: none;\n font: inherit;\n color: inherit;\n cursor: pointer;\n}\n\nbutton.button.variant-primary {\n background: var(--colour-brand-ice, #A6FFFB);\n border: 1px solid var(--colour-brand-inkwell, #14343B);\n}\n\nbutton.button.variant-secondary {\n background: var(--colour-brand-white, #FFFFFF);\n border: 1px solid var(--colour-brand-inkwell, #14343B);\n}\n\nbutton.button.variant-outline {\n background: transparent;\n border: 1px solid var(--colour-brand-inkwell, #14343B);\n}\n\nbutton.button.variant-ghost {\n background: transparent;\n border: 1px solid transparent;\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n@Component({\n tag: 'af-button',\n styleUrl: 'af-button.css',\n shadow: true\n})\nexport class AfButton {\n /**\n * The visual variant of the button\n */\n @Prop() variant: 'primary' | 'secondary' | 'outline' | 'ghost' = 'primary';\n\n /**\n * The size of the button\n */\n @Prop() size: 'default' | 'small' = 'default';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Optional href to render as a link\n */\n @Prop() href?: string;\n\n /**\n * Button type (when not using href)\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n \n /**\n * Use on dark backgrounds for better contrast\n */\n @Prop() darkBackground: boolean = false;\n\n render() {\n const classes = {\n 'button': true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n 'disabled': this.disabled,\n 'on-dark': this.darkBackground\n };\n\n const content = [\n <span class=\"icon-left\">\n <slot name=\"icon-left\"></slot>\n </span>,\n <span class=\"label\">\n <slot></slot>\n </span>,\n <span class=\"icon-right\">\n <slot name=\"icon-right\"></slot>\n </span>\n ];\n\n if (this.href && !this.disabled) {\n return (\n <Host>\n <a href={this.href} class={classes}>\n {content}\n </a>\n </Host>\n );\n }\n\n return (\n <Host>\n <button type={this.type} disabled={this.disabled} class={classes}>\n {content}\n </button>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,WAAW,GAAG,ixFAAixF;;MCOxxF,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAkD,SAAS;AAE1E;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAwB,SAAS;AAE7C;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAOjC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAkC,QAAQ;AAEtD;;AAEG;AACK,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK;AAyCxC;IAvCC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AACjC,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;YAC3B,UAAU,EAAE,IAAI,CAAC,QAAQ;YACzB,SAAS,EAAE,IAAI,CAAC;SACjB;AAED,QAAA,MAAM,OAAO,GAAG;AACd,YAAAA,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,WAAW,EAAA,EACrBA,OAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,WAAW,EAAA,CAAQ,CACzB;AACP,YAAAA,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EACjBA,OAAA,CAAA,MAAA,EAAA,IAAA,CAAa,CACR;AACP,YAAAA,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACtBA,OAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,YAAY,EAAA,CAAQ;SAElC;QAED,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,QACEA,QAACC,UAAI,EAAA,IAAA,EACHD,OAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAC/B,EAAA,OAAO,CACN,CACC;;AAIX,QAAA,QACEA,QAACC,UAAI,EAAA,IAAA,EACHD,OAAQ,CAAA,QAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAA,EAC7D,OAAO,CACD,CACJ;;;;;;;"}
1
+ {"version":3,"file":"af-button.entry.cjs.js","sources":["src/components/af-button/af-button.css?tag=af-button&encapsulation=shadow","src/components/af-button/af-button.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n/* Set color on host for slotted content (icons) inheritance */\n:host([variant=\"primary\"]) {\n color: var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343B));\n}\n\n:host([variant=\"secondary\"]) {\n color: var(--af-button-secondary-icon, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)));\n}\n\n:host([variant=\"tertiary\"]) {\n color: var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343B));\n}\n\n/* Full-width mode - when host is display: block */\n:host([full-width]),\n:host(.full-width) {\n display: block;\n width: 100%;\n}\n\n:host([full-width]) .button,\n:host(.full-width) .button {\n width: 100%;\n}\n\n.button {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n gap: 0;\n border-radius: 9999px;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 500;\n text-decoration: none;\n cursor: pointer;\n transition: all 0.2s ease;\n border: 1px solid transparent;\n box-sizing: border-box;\n white-space: nowrap;\n /* Allow width to be controlled from outside via CSS custom property */\n width: var(--af-button-width, auto);\n}\n\n/* Size variants */\n.size-default {\n padding: 12px 24px;\n font-size: 17px;\n line-height: 20px;\n}\n\n.size-small {\n padding: 8px 16px;\n font-size: 14px;\n line-height: 16px;\n}\n\n/* Icon slots - only show when they have slotted content */\n.icon-left,\n.icon-right {\n display: none;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n}\n\n.icon-left.has-content,\n.icon-right.has-content {\n display: flex;\n}\n\n.size-default .icon-left,\n.size-default .icon-right {\n width: 24px;\n height: 24px;\n}\n\n.size-small .icon-left,\n.size-small .icon-right {\n width: 20px;\n height: 20px;\n}\n\n/* Add spacing between icon and label only when icon is present */\n.size-default .icon-left.has-content {\n margin-right: 12px;\n}\n\n.size-default .icon-right.has-content {\n margin-left: 12px;\n}\n\n.size-small .icon-left.has-content {\n margin-right: 8px;\n}\n\n.size-small .icon-right.has-content {\n margin-left: 8px;\n}\n\n/* Label styling */\n.label {\n flex: 0 1 auto;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.size-default .label {\n height: 24px;\n}\n\n.size-small .label {\n height: 20px;\n}\n\n/* ==========================================================================\n Primary Button\n Filled background with ice color, inkwell text\n ========================================================================== */\n\n.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border-color: var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n color: var(--af-button-primary-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-primary .icon-left,\n.variant-primary .icon-right {\n color: var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-primary:hover:not(.disabled) {\n background: var(--af-button-primary-bg-hover, #95E6E2);\n border-color: var(--af-button-primary-stroke, #14343B);\n}\n\n.variant-primary:focus:not(.disabled),\n.variant-primary:focus-visible:not(.disabled) {\n background: var(--af-button-primary-bg, #A6FFFB);\n border-color: var(--af-button-primary-stroke, #14343B);\n box-shadow: 0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-primary-stroke, #14343B);\n outline: none;\n}\n\n.variant-primary:active:not(.disabled) {\n background: var(--af-button-primary-bg-hover, #95E6E2);\n}\n\n/* ==========================================================================\n Secondary Button\n Transparent background with visible border\n ========================================================================== */\n\n.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border-color: var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n color: var(--af-button-secondary-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-secondary .icon-left,\n.variant-secondary .icon-right {\n color: var(--af-button-secondary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-secondary:hover:not(.disabled) {\n background: var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));\n border-color: var(--af-button-secondary-stroke, currentColor);\n}\n\n.variant-secondary:focus:not(.disabled),\n.variant-secondary:focus-visible:not(.disabled) {\n background: var(--af-background-base, #FFF);\n border-color: var(--af-button-secondary-stroke, currentColor);\n box-shadow: 0 0 0 4px var(--af-background-base, #FFF), 0 0 0 5px var(--af-button-secondary-stroke, currentColor);\n outline: none;\n}\n\n.variant-secondary:active:not(.disabled) {\n background: var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1));\n}\n\n/* ==========================================================================\n Tertiary Button\n Text-only link style with underline, no border or background\n ========================================================================== */\n\n.variant-tertiary {\n background: transparent;\n border-color: transparent;\n border-radius: 0;\n color: var(--af-button-tertiary-text, var(--colour-brand-inkwell, #14343b));\n padding-left: 0;\n padding-right: 0;\n}\n\n.variant-tertiary .label {\n border-bottom: 2px solid var(--af-button-tertiary-stroke, var(--colour-brand-soft-clay, #B09670));\n}\n\n.variant-tertiary .icon-left,\n.variant-tertiary .icon-right {\n color: var(--af-button-tertiary-icon, var(--colour-brand-inkwell, #14343b));\n}\n\n.variant-tertiary:hover:not(.disabled) {\n opacity: 0.8;\n}\n\n.variant-tertiary:focus:not(.disabled),\n.variant-tertiary:focus-visible:not(.disabled) {\n outline: none;\n}\n\n.variant-tertiary:focus-visible:not(.disabled) .label {\n box-shadow: 0 4px 0 0 var(--af-button-tertiary-stroke, var(--colour-brand-soft-clay, #B09670));\n}\n\n.variant-tertiary:active:not(.disabled) {\n opacity: 0.6;\n}\n\n/* ==========================================================================\n Disabled states\n ========================================================================== */\n\n.disabled {\n cursor: not-allowed;\n pointer-events: none;\n}\n\n.variant-primary.disabled {\n border: 1px solid var(--af-button-primary-stroke, #14343B);\n background: var(--af-button-primary-bg, #A6FFFB);\n opacity: 0.6;\n}\n\n.variant-secondary.disabled {\n border: 1px solid var(--af-button-secondary-stroke, currentColor);\n opacity: 0.6;\n}\n\n.variant-tertiary.disabled {\n opacity: 0.6;\n}\n\n/* ==========================================================================\n Reset button element styles\n ========================================================================== */\n\nbutton.button {\n font: inherit;\n cursor: pointer;\n}\n\nbutton.button.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border: 1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\nbutton.button.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border: 1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\nbutton.button.variant-tertiary {\n background: transparent;\n border: none;\n}\n\n/* ==========================================================================\n Reset anchor element styles (when using href prop)\n ========================================================================== */\n\na.button {\n text-decoration: none;\n color: inherit;\n}\n\na.button.variant-primary {\n background: var(--af-button-primary-bg, var(--colour-brand-ice, #a6fffb));\n border: 1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\na.button.variant-secondary {\n background: var(--af-button-secondary-bg, transparent);\n border: 1px solid var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\na.button.variant-tertiary {\n background: transparent;\n border: none;\n}\n","import { Component, h, Prop, Host, State } from '@stencil/core';\n\n/**\n * Button component that inherits colors from theme context.\n * Colors are determined by the parent theme (af-section, af-hero-section, etc.)\n * via CSS custom properties.\n * \n * @slot - Button label text\n * @slot icon-left - Icon displayed before the label\n * @slot icon-right - Icon displayed after the label\n */\n@Component({\n tag: 'af-button',\n styleUrl: 'af-button.css',\n shadow: true\n})\nexport class AfButton {\n /**\n * The visual variant of the button.\n * - `primary` - Main CTA with filled background (use sparingly, 1-2 per view)\n * - `secondary` - Supporting action with outlined style\n * - `tertiary` - Subtle text-link style with underline\n */\n @Prop({ reflect: true }) variant: 'primary' | 'secondary' | 'tertiary' = 'primary';\n\n /**\n * The size of the button.\n * - `default` - Standard size for primary CTAs\n * - `small` - Compact size for inline or secondary contexts\n */\n @Prop() size: 'default' | 'small' = 'default';\n\n /**\n * Whether the button is disabled\n */\n @Prop() disabled: boolean = false;\n\n /**\n * Button type (when not using href)\n */\n @Prop() type: 'button' | 'submit' | 'reset' = 'button';\n\n /**\n * Optional href to render as a link instead of a button\n */\n @Prop() href?: string;\n\n @State() hasIconLeft: boolean = false;\n @State() hasIconRight: boolean = false;\n\n private handleSlotChange = (slotName: 'icon-left' | 'icon-right') => (event: Event) => {\n const slot = event.target as HTMLSlotElement;\n const hasContent = slot.assignedNodes().length > 0;\n if (slotName === 'icon-left') {\n this.hasIconLeft = hasContent;\n } else {\n this.hasIconRight = hasContent;\n }\n };\n\n render() {\n const classes = {\n 'button': true,\n [`variant-${this.variant}`]: true,\n [`size-${this.size}`]: true,\n 'disabled': this.disabled\n };\n\n const content = [\n <span class={{ 'icon-left': true, 'has-content': this.hasIconLeft }}>\n <slot name=\"icon-left\" onSlotchange={this.handleSlotChange('icon-left')}></slot>\n </span>,\n <span class=\"label\">\n <slot></slot>\n </span>,\n <span class={{ 'icon-right': true, 'has-content': this.hasIconRight }}>\n <slot name=\"icon-right\" onSlotchange={this.handleSlotChange('icon-right')}></slot>\n </span>\n ];\n\n // Render as anchor if href is provided (and not disabled)\n if (this.href && !this.disabled) {\n return (\n <Host>\n <a href={this.href} class={classes}>\n {content}\n </a>\n </Host>\n );\n }\n\n return (\n <Host>\n <button type={this.type} disabled={this.disabled} class={classes}>\n {content}\n </button>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,WAAW,GAAG,k9KAAk9K;;MCgBz9K,QAAQ,GAAA,MAAA;AALrB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;;;;AAKG;AACsB,QAAA,IAAO,CAAA,OAAA,GAAyC,SAAS;AAElF;;;;AAIG;AACK,QAAA,IAAI,CAAA,IAAA,GAAwB,SAAS;AAE7C;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAEjC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAkC,QAAQ;AAO7C,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAC5B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK;QAE9B,IAAgB,CAAA,gBAAA,GAAG,CAAC,QAAoC,KAAK,CAAC,KAAY,KAAI;AACpF,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC;AAClD,YAAA,IAAI,QAAQ,KAAK,WAAW,EAAE;AAC5B,gBAAA,IAAI,CAAC,WAAW,GAAG,UAAU;;iBACxB;AACL,gBAAA,IAAI,CAAC,YAAY,GAAG,UAAU;;AAElC,SAAC;AAyCF;IAvCC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AACjC,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;YAC3B,UAAU,EAAE,IAAI,CAAC;SAClB;AAED,QAAA,MAAM,OAAO,GAAG;AACd,YAAAA,OAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,WAAW,EAAE,EAAA,EACjEA,OAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,WAAW,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAS,CAC3E;AACP,YAAAA,OAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EACjBA,OAAA,CAAA,MAAA,EAAA,IAAA,CAAa,CACR;AACP,YAAAA,OAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,EAAA,EACnEA,OAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,YAAY,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAS;SAErF;;QAGD,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,QACEA,QAACC,UAAI,EAAA,IAAA,EACHD,OAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAC/B,EAAA,OAAO,CACN,CACC;;AAIX,QAAA,QACEA,QAACC,UAAI,EAAA,IAAA,EACHD,OAAQ,CAAA,QAAA,EAAA,EAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAA,EAC7D,OAAO,CACD,CACJ;;;;;;;"}
@@ -1,21 +1,31 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DfEVhbS6.js');
3
+ var index = require('./index-ybEiHT0b.js');
4
4
 
5
- const afCardCss = ".sc-af-card-h{display:block;width:100%;min-height:400px}.card.sc-af-card{background:var(--colour-background-level-1, #e8eeed);border-radius:var(--border-radius-card-level-1, 32px);overflow:hidden;position:relative;display:flex;flex-direction:column;min-height:400px;height:100%;box-sizing:border-box}.card--with-image.sc-af-card{background:var(--colour-brand-inkwell, #14343b);min-height:480px}.card__background.sc-af-card{position:absolute;inset:0;pointer-events:none;z-index:0}.card__background-image.sc-af-card{width:100%;height:100%;object-fit:cover;object-position:center}.card__content.sc-af-card{position:relative;padding:40px;display:flex;flex-direction:column;gap:24px;flex:1;box-sizing:border-box;z-index:1}.card__content.sc-af-card-s>img,.card__content .sc-af-card-s>img{width:100%;height:auto;min-height:200px;margin-top:auto;object-fit:cover;object-position:top center}.card__content.sc-af-card-s>af-heading,.card__content .sc-af-card-s>af-heading{margin-bottom:0}.card__content.sc-af-card-s>af-text,.card__content .sc-af-card-s>af-text{line-height:1.44}.card__content--overlay.sc-af-card{backdrop-filter:blur(2px);background:linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);padding:32px;padding-top:200px;justify-content:flex-end;--colour-typography-heading-primary:#ffffff;--colour-typography-heading-secondary:#ffffff;--colour-typography-body-default:#ffffff;--colour-typography-body-dark:#ffffff;color:#ffffff}.card__content--overlay.sc-af-card *.sc-af-card{color:#ffffff !important}.card.sc-af-card:not(.card--with-image):not(.card--dark-overlay) af-heading.sc-af-card,.card.sc-af-card:not(.card--with-image):not(.card--dark-overlay) af-text.sc-af-card{--colour-typography-heading-primary:var(--colour-brand-inkwell, #14343B);--colour-typography-body-default:#2B484F}.card--custom-bg.sc-af-card:not(.card--dark-overlay) af-heading.sc-af-card,.card--custom-bg.sc-af-card:not(.card--dark-overlay) af-text.sc-af-card{--colour-typography-heading-primary:var(--colour-brand-inkwell, #14343B);--colour-typography-body-default:#2B484F}";
5
+ const afCardCss = ".sc-af-card-h{display:block;width:100%}[stretch].sc-af-card-h{display:flex;flex-direction:column;height:100%}[stretch].sc-af-card-h .card.sc-af-card{flex:1 1 auto}[stretch].sc-af-card-h .card__content.sc-af-card{flex:1 1 auto}.card.sc-af-card{border-radius:var(--border-radius-card-level-1, 32px);overflow:hidden;position:relative;display:flex;flex-direction:column;box-sizing:border-box}.card.theme-white.sc-af-card{background-color:var(--colour-brand-white, #ffffff);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-mistgreen-200, #e8eeed)}.card.theme-white-ivory.sc-af-card{background-color:var(--colour-brand-ivory-paper, #fff9ee);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-ivory-200, #ffefcc)}.card.theme-inkwell.sc-af-card{background-color:var(--colour-brand-inkwell, #14343b);--af-typography-heading-primary:var(--colour-brand-mist-green, #c6d5d1);--af-typography-body-default:var(--colour-inkwell-100, #d0d6d8);--af-background-level-1:var(--colour-inkwell-450, #203e45);--af-button-secondary-text:var(--colour-brand-white, #ffffff);--af-button-secondary-stroke:var(--colour-brand-white, #ffffff);--af-button-tertiary-text:var(--colour-brand-white, #ffffff);--af-button-tertiary-icon:var(--colour-brand-white, #ffffff)}.card.theme-mist-green.sc-af-card{background-color:var(--colour-brand-mist-green, #c6d5d1);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-mistgreen-300, #dde6e3)}.card.theme-soft-clay.sc-af-card{background-color:var(--colour-softclay-400, #c0ab8d);--af-typography-heading-primary:var(--colour-brand-inkwell, #14343b);--af-typography-heading-secondary:var(--colour-brand-ivory-paper, #fff9ee);--af-typography-body-default:var(--colour-inkwell-400, #2b484f);--af-background-level-1:var(--colour-softclay-500, #b09670)}.card__content.sc-af-card{position:relative;padding:var(--af-card-padding, 40px);display:flex;flex-direction:column;gap:var(--af-card-gap, 24px);flex:1;box-sizing:border-box;z-index:1}.card__content.sc-af-card-s>af-heading,.card__content .sc-af-card-s>af-heading{margin-bottom:0}.card__content.sc-af-card-s>af-text,.card__content .sc-af-card-s>af-text{line-height:1.44}";
6
6
 
7
7
  const AfCard = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
10
  /**
11
- * Whether to apply a dark gradient overlay (for cards with background images)
11
+ * Theme - sets background color and provides theme context to children.
12
+ * Defaults to 'mist-green' if not specified.
12
13
  */
13
- this.darkOverlay = false;
14
+ this.theme = 'mist-green';
15
+ /**
16
+ * When true, the card stretches to fill its container height.
17
+ * Use this when the card is in a flex/grid container and needs to
18
+ * participate in equal-height layouts. The card's content will use
19
+ * flexbox to distribute space between children.
20
+ */
21
+ this.stretch = false;
14
22
  }
15
23
  render() {
16
- const hasBackgroundImage = !!this.backgroundImage;
17
- const cardStyle = this.backgroundColor ? { backgroundColor: this.backgroundColor } : undefined;
18
- return (index.h(index.Host, { key: '2c3c0b6d1889074ae78b2b1f9646dc23829a0e9a' }, index.h("div", { key: '7e1ef884a203ae17e1ad417ac688f59b9acb6932', class: `card ${hasBackgroundImage ? 'card--with-image' : ''} ${this.darkOverlay ? 'card--dark-overlay' : ''} ${this.backgroundColor ? 'card--custom-bg' : ''}`, style: cardStyle }, hasBackgroundImage && (index.h("div", { key: '4fb3cea588d42345690df68738b725a6debacc55', class: "card__background" }, index.h("img", { key: '0dde30e250c7cb117993e3ccbeab8f108278ae89', src: this.backgroundImage, alt: "", class: "card__background-image" }))), index.h("div", { key: 'f604c04997720f4804d148f103f9c4a69b1ec0aa', class: `card__content ${hasBackgroundImage ? 'card__content--overlay' : ''}` }, index.h("slot", { key: 'a7668f98c4c8fd10b5581eac69f2a31aecbc3732' })))));
24
+ const classes = {
25
+ 'card': true,
26
+ [`theme-${this.theme}`]: true
27
+ };
28
+ return (index.h(index.Host, { key: '6cca6ca308005443face72876637fafb9db98d8e' }, index.h("div", { key: 'c78b8297fdf5e12159e62f6f142cda2663315a21', class: classes }, index.h("div", { key: 'e18adbc09fcd0ed80f4decd30ebc8a5334ce86ad', class: "card__content" }, index.h("slot", { key: '312f6852573f1a550e8a67aa6e84a87cde3aaf43' })))));
19
29
  }
20
30
  };
21
31
  AfCard.style = afCardCss;
@@ -1 +1 @@
1
- {"version":3,"file":"af-card.entry.cjs.js","sources":["src/components/af-card/af-card.css?tag=af-card&encapsulation=scoped","src/components/af-card/af-card.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n min-height: 400px;\n}\n\n.card {\n background: var(--colour-background-level-1, #e8eeed);\n border-radius: var(--border-radius-card-level-1, 32px);\n overflow: hidden;\n position: relative;\n display: flex;\n flex-direction: column;\n min-height: 400px;\n height: 100%;\n box-sizing: border-box;\n}\n\n.card--with-image {\n background: var(--colour-brand-inkwell, #14343b);\n min-height: 480px;\n}\n\n.card__background {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 0;\n}\n\n.card__background-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n\n.card__content {\n position: relative;\n padding: 40px;\n display: flex;\n flex-direction: column;\n gap: 24px;\n flex: 1;\n box-sizing: border-box;\n z-index: 1;\n}\n\n/* Image styling within cards */\n.card__content ::slotted(img) {\n width: 100%;\n height: auto;\n min-height: 200px;\n margin-top: auto;\n object-fit: cover;\n object-position: top center;\n}\n\n/* Heading spacing within cards */\n.card__content ::slotted(af-heading) {\n margin-bottom: 0;\n}\n\n/* Text line-height within cards */\n.card__content ::slotted(af-text) {\n line-height: 1.44;\n}\n\n.card__content--overlay {\n backdrop-filter: blur(2px);\n background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\n padding: 32px;\n padding-top: 200px;\n justify-content: flex-end;\n \n /* Set CSS custom properties for text color that child components can use */\n --colour-typography-heading-primary: #ffffff;\n --colour-typography-heading-secondary: #ffffff;\n --colour-typography-body-default: #ffffff;\n --colour-typography-body-dark: #ffffff;\n color: #ffffff;\n}\n\n/* Force white text in overlay cards using both direct styling and custom properties */\n.card__content--overlay * {\n color: #ffffff !important;\n}\n\n/* Dark text for regular cards (light backgrounds) */\n.card:not(.card--with-image):not(.card--dark-overlay) af-heading,\n.card:not(.card--with-image):not(.card--dark-overlay) af-text {\n --colour-typography-heading-primary: var(--colour-brand-inkwell, #14343B);\n --colour-typography-body-default: #2B484F;\n}\n\n/* Dark text for custom background color cards (unless they have dark overlay) */\n.card--custom-bg:not(.card--dark-overlay) af-heading,\n.card--custom-bg:not(.card--dark-overlay) af-text {\n --colour-typography-heading-primary: var(--colour-brand-inkwell, #14343B);\n --colour-typography-body-default: #2B484F;\n}\n\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'af-card',\n styleUrl: 'af-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfCard {\n /**\n * Background image URL for the card\n */\n @Prop() backgroundImage?: string;\n\n /**\n * Background color for the card (CSS color value)\n */\n @Prop() backgroundColor?: string;\n\n /**\n * Whether to apply a dark gradient overlay (for cards with background images)\n */\n @Prop() darkOverlay: boolean = false;\n\n render() {\n const hasBackgroundImage = !!this.backgroundImage;\n const cardStyle = this.backgroundColor ? { backgroundColor: this.backgroundColor } : undefined;\n\n return (\n <Host>\n <div \n class={`card ${hasBackgroundImage ? 'card--with-image' : ''} ${this.darkOverlay ? 'card--dark-overlay' : ''} ${this.backgroundColor ? 'card--custom-bg' : ''}`}\n style={cardStyle}\n >\n {hasBackgroundImage && (\n <div class=\"card__background\">\n <img src={this.backgroundImage} alt=\"\" class=\"card__background-image\" />\n </div>\n )}\n <div class={`card__content ${hasBackgroundImage ? 'card__content--overlay' : ''}`}>\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,SAAS,GAAG,qhEAAqhE;;MCQ1hE,MAAM,GAAA,MAAA;AANnB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAiBE;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK;AAwBrC;IAtBC,MAAM,GAAA;AACJ,QAAA,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe;AACjD,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,SAAS;AAE9F,QAAA,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAE,QAAQ,kBAAkB,GAAG,kBAAkB,GAAG,EAAE,IAAI,IAAI,CAAC,WAAW,GAAG,oBAAoB,GAAG,EAAE,CAAI,CAAA,EAAA,IAAI,CAAC,eAAe,GAAG,iBAAiB,GAAG,EAAE,CAAA,CAAE,EAC9J,KAAK,EAAE,SAAS,EAAA,EAEf,kBAAkB,KACjBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,kBAAkB,EAAA,EAC3BA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAC,EAAE,EAAC,KAAK,EAAC,wBAAwB,EAAA,CAAG,CACpE,CACP,EACDA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAiB,cAAA,EAAA,kBAAkB,GAAG,wBAAwB,GAAG,EAAE,CAAE,CAAA,EAAA,EAC/EA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACF,CACD;;;;;;;"}
1
+ {"version":3,"file":"af-card.entry.cjs.js","sources":["src/components/af-card/af-card.css?tag=af-card&encapsulation=scoped","src/components/af-card/af-card.tsx"],"sourcesContent":["/* Theme CSS custom properties follow the global token structure from @affinda/tokens */\n\n:host {\n display: block;\n width: 100%;\n}\n\n/* ==========================================================================\n Stretch Mode\n \n When stretch attribute is present, the card fills its container height\n and uses flexbox to distribute space between children. This enables\n equal-height cards in grid/flex layouts.\n ========================================================================== */\n\n:host([stretch]) {\n display: flex;\n flex-direction: column;\n height: 100%;\n}\n\n:host([stretch]) .card {\n flex: 1 1 auto;\n}\n\n:host([stretch]) .card__content {\n flex: 1 1 auto;\n}\n\n/* ==========================================================================\n Base Card Styles\n ========================================================================== */\n\n.card {\n border-radius: var(--border-radius-card-level-1, 32px);\n overflow: hidden;\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n}\n\n/* ==========================================================================\n Theme Variants\n \n Background colors from Figma tokens:\n - white: #ffffff (Colour/Brand/White)\n - white-ivory: #fff9ee (Colour/Brand/Ivory-Paper)\n - inkwell: #14343b (Colour/Brand/Inkwell)\n - mist-green: #c6d5d1 (Colour/Brand/Mist-Green)\n - soft-clay: #c0ab8d (Colour/Softclay/400)\n ========================================================================== */\n\n/* WHITE THEME */\n.card.theme-white {\n background-color: var(--colour-brand-white, #ffffff);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-mistgreen-200, #e8eeed);\n}\n\n/* WHITE-IVORY THEME */\n.card.theme-white-ivory {\n background-color: var(--colour-brand-ivory-paper, #fff9ee);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-ivory-200, #ffefcc);\n}\n\n/* INKWELL THEME (Dark) */\n.card.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343b);\n \n /* Typography - light colors on dark background */\n --af-typography-heading-primary: var(--colour-brand-mist-green, #c6d5d1);\n --af-typography-body-default: var(--colour-inkwell-100, #d0d6d8);\n --af-background-level-1: var(--colour-inkwell-450, #203e45);\n \n /* Button variants for dark theme */\n --af-button-secondary-text: var(--colour-brand-white, #ffffff);\n --af-button-secondary-stroke: var(--colour-brand-white, #ffffff);\n --af-button-tertiary-text: var(--colour-brand-white, #ffffff);\n --af-button-tertiary-icon: var(--colour-brand-white, #ffffff);\n}\n\n/* MIST-GREEN THEME */\n.card.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #c6d5d1);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-mistgreen-300, #dde6e3);\n}\n\n/* SOFT-CLAY THEME */\n.card.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n \n /* Typography */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-ivory-paper, #fff9ee);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-background-level-1: var(--colour-softclay-500, #b09670);\n}\n\n/* ==========================================================================\n Card Content\n ========================================================================== */\n\n.card__content {\n position: relative;\n padding: var(--af-card-padding, 40px);\n display: flex;\n flex-direction: column;\n gap: var(--af-card-gap, 24px);\n flex: 1;\n box-sizing: border-box;\n z-index: 1;\n}\n\n/* Heading spacing within cards */\n.card__content ::slotted(af-heading) {\n margin-bottom: 0;\n}\n\n/* Text line-height within cards */\n.card__content ::slotted(af-text) {\n line-height: 1.44;\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Card atom component - a themed container with consistent styling.\n * Provides theme context to children via CSS custom properties.\n * \n * This is a base building block used by molecule components like\n * af-feature-card and af-illustrated-card.\n */\n@Component({\n tag: 'af-card',\n styleUrl: 'af-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfCard {\n /**\n * Theme - sets background color and provides theme context to children.\n * Defaults to 'mist-green' if not specified.\n */\n @Prop() theme?: 'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay' = 'mist-green';\n\n /**\n * When true, the card stretches to fill its container height.\n * Use this when the card is in a flex/grid container and needs to\n * participate in equal-height layouts. The card's content will use\n * flexbox to distribute space between children.\n */\n @Prop({ reflect: true }) stretch: boolean = false;\n\n render() {\n const classes = {\n 'card': true,\n [`theme-${this.theme}`]: true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"card__content\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,SAAS,GAAG,o7EAAo7E;;MCez7E,MAAM,GAAA,MAAA;AANnB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAOE;;;AAGG;AACK,QAAA,IAAK,CAAA,KAAA,GAAsE,YAAY;AAE/F;;;;;AAKG;AACsB,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AAkBlD;IAhBC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,CAAC,SAAS,IAAI,CAAC,KAAK,CAAE,CAAA,GAAG;SAC1B;QAED,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EACjBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACxBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACF,CACD;;;;;;;"}
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ var index = require('./index-ybEiHT0b.js');
4
+
5
+ const afCheckboxCss = ":host{display:inline-block}.checkbox{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;line-height:20px;color:var(--buttons-ghost-text, var(--colour-brand-inkwell, #14343b));user-select:none}.checkbox.disabled{cursor:not-allowed;opacity:0.5}.input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.control{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border-radius:var(--radii-checkbox, 4px);border:1px solid var(--forms-control-stroke, #d0d6d8);background:var(--forms-control-bg-default, #ffffff);transition:all 0.15s ease;box-sizing:border-box}.control.checked{background:var(--forms-control-bg-active, var(--colour-brand-inkwell, #14343b));border-color:var(--forms-control-bg-active, var(--colour-brand-inkwell, #14343b))}.control.disabled{background:var(--forms-control-bg-default-disabled, #e8ebeb);border-color:var(--forms-control-stroke-disabled, #d0d6d8)}.control.checked.disabled{background:var(--forms-control-bg-active-disabled, #708380);border-color:var(--forms-control-bg-active-disabled, #708380)}.checkbox:not(.disabled):hover .control{border-color:var(--forms-control-stroke-hover, var(--colour-brand-inkwell, #14343b))}.input:focus-visible+.control{box-shadow:0 0 0 4px var(--background-base, #ffffff), 0 0 0 5px var(--buttons-secondary-stroke, #14343b);outline:none}.icon{width:16px;height:16px;color:#ffffff}.label{display:flex;align-items:center;min-height:24px}.label:empty{display:none}";
6
+
7
+ const AfCheckbox = class {
8
+ constructor(hostRef) {
9
+ index.registerInstance(this, hostRef);
10
+ this.afChange = index.createEvent(this, "afChange");
11
+ /**
12
+ * Whether the checkbox is checked
13
+ */
14
+ this.checked = false;
15
+ /**
16
+ * Whether the checkbox is in an indeterminate state
17
+ */
18
+ this.indeterminate = false;
19
+ /**
20
+ * Whether the checkbox is disabled
21
+ */
22
+ this.disabled = false;
23
+ this.handleChange = () => {
24
+ if (this.disabled)
25
+ return;
26
+ this.checked = !this.checked;
27
+ this.afChange.emit({ checked: this.checked });
28
+ };
29
+ }
30
+ componentDidLoad() {
31
+ if (this.inputEl) {
32
+ this.inputEl.indeterminate = this.indeterminate;
33
+ }
34
+ }
35
+ componentDidUpdate() {
36
+ if (this.inputEl) {
37
+ this.inputEl.indeterminate = this.indeterminate;
38
+ }
39
+ }
40
+ render() {
41
+ const checkboxClasses = {
42
+ 'checkbox': true,
43
+ 'checked': this.checked,
44
+ 'indeterminate': this.indeterminate,
45
+ 'disabled': this.disabled
46
+ };
47
+ const controlClasses = {
48
+ 'control': true,
49
+ 'checked': this.checked || this.indeterminate,
50
+ 'disabled': this.disabled
51
+ };
52
+ return (index.h(index.Host, { key: '704dbd9106798984fcbd46e56f8a9baca515bdbf' }, index.h("label", { key: '81ca6ce4e7a75eb371670a3dda2020e2b0b964fa', class: checkboxClasses }, index.h("input", { key: 'eb1b53e57dcbdb642d27980059e193d91ecfe926', type: "checkbox", class: "input", ref: (el) => this.inputEl = el ?? undefined, checked: this.checked, disabled: this.disabled, name: this.name, value: this.value, onChange: this.handleChange }), index.h("span", { key: 'de52fa18c14faf38a40aff2a5d99c679efabcfa3', class: controlClasses }, this.checked && !this.indeterminate && (index.h("svg", { key: '4e8d59f891090221798d9aae19156ccf51d1b297', class: "icon", viewBox: "0 0 16 16", fill: "none" }, index.h("path", { key: 'c53cce8b04e2c4c5e08744bc184add29a3e808b5', d: "M13.5 4L6 11.5L2.5 8", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round", "stroke-linejoin": "round" }))), this.indeterminate && (index.h("svg", { key: '420a6222b098df08f66a84e3f92734f7d9a7fc43', class: "icon", viewBox: "0 0 16 16", fill: "none" }, index.h("path", { key: '8ff3b3d01c6db33f2eb753caea38f0a1feeab717', d: "M3 8H13", stroke: "currentColor", "stroke-width": "2", "stroke-linecap": "round" })))), index.h("span", { key: '9513888140fbe087a71ef79b4c80a66f6a8e49ec', class: "label" }, index.h("slot", { key: '4fd9ddb4b6e25ded5f806ad7682a553fba119671' })))));
53
+ }
54
+ };
55
+ AfCheckbox.style = afCheckboxCss;
56
+
57
+ exports.af_checkbox = AfCheckbox;
58
+ //# sourceMappingURL=af-checkbox.entry.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"af-checkbox.entry.cjs.js","sources":["src/components/af-checkbox/af-checkbox.css?tag=af-checkbox&encapsulation=shadow","src/components/af-checkbox/af-checkbox.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.checkbox {\n display: inline-flex;\n align-items: center;\n gap: 12px;\n cursor: pointer;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n line-height: 20px;\n color: var(--buttons-ghost-text, var(--colour-brand-inkwell, #14343b));\n user-select: none;\n}\n\n.checkbox.disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* Hidden native input */\n.input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Custom checkbox control */\n.control {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n border-radius: var(--radii-checkbox, 4px);\n border: 1px solid var(--forms-control-stroke, #d0d6d8);\n background: var(--forms-control-bg-default, #ffffff);\n transition: all 0.15s ease;\n box-sizing: border-box;\n}\n\n/* Checked/indeterminate state */\n.control.checked {\n background: var(--forms-control-bg-active, var(--colour-brand-inkwell, #14343b));\n border-color: var(--forms-control-bg-active, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Disabled state */\n.control.disabled {\n background: var(--forms-control-bg-default-disabled, #e8ebeb);\n border-color: var(--forms-control-stroke-disabled, #d0d6d8);\n}\n\n.control.checked.disabled {\n background: var(--forms-control-bg-active-disabled, #708380);\n border-color: var(--forms-control-bg-active-disabled, #708380);\n}\n\n/* Hover state */\n.checkbox:not(.disabled):hover .control {\n border-color: var(--forms-control-stroke-hover, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Focus state */\n.input:focus-visible + .control {\n box-shadow: 0 0 0 4px var(--background-base, #ffffff), 0 0 0 5px var(--buttons-secondary-stroke, #14343b);\n outline: none;\n}\n\n/* Icon styling */\n.icon {\n width: 16px;\n height: 16px;\n color: #ffffff;\n}\n\n/* Label styling */\n.label {\n display: flex;\n align-items: center;\n min-height: 24px;\n}\n\n/* Empty label - hide if no content */\n.label:empty {\n display: none;\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter } from '@stencil/core';\n\n/**\n * Checkbox component for selecting multiple options.\n * Supports checked, unchecked, and indeterminate states.\n * \n * @slot - Checkbox label text\n */\n@Component({\n tag: 'af-checkbox',\n styleUrl: 'af-checkbox.css',\n shadow: true\n})\nexport class AfCheckbox {\n /**\n * Whether the checkbox is checked\n */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /**\n * Whether the checkbox is in an indeterminate state\n */\n @Prop({ reflect: true }) indeterminate: boolean = false;\n\n /**\n * Whether the checkbox is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The name of the checkbox for form submission\n */\n @Prop() name?: string;\n\n /**\n * The value of the checkbox for form submission\n */\n @Prop() value?: string;\n\n /**\n * Emitted when the checkbox checked state changes\n */\n @Event() afChange!: EventEmitter<{ checked: boolean }>;\n\n private inputEl?: HTMLInputElement;\n\n private handleChange = () => {\n if (this.disabled) return;\n this.checked = !this.checked;\n this.afChange.emit({ checked: this.checked });\n };\n\n componentDidLoad() {\n if (this.inputEl) {\n this.inputEl.indeterminate = this.indeterminate;\n }\n }\n\n componentDidUpdate() {\n if (this.inputEl) {\n this.inputEl.indeterminate = this.indeterminate;\n }\n }\n\n render() {\n const checkboxClasses = {\n 'checkbox': true,\n 'checked': this.checked,\n 'indeterminate': this.indeterminate,\n 'disabled': this.disabled\n };\n\n const controlClasses = {\n 'control': true,\n 'checked': this.checked || this.indeterminate,\n 'disabled': this.disabled\n };\n\n return (\n <Host>\n <label class={checkboxClasses}>\n <input\n type=\"checkbox\"\n class=\"input\"\n ref={(el) => this.inputEl = el ?? undefined}\n checked={this.checked}\n disabled={this.disabled}\n name={this.name}\n value={this.value}\n onChange={this.handleChange}\n />\n <span class={controlClasses}>\n {this.checked && !this.indeterminate && (\n <svg class=\"icon\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path \n d=\"M13.5 4L6 11.5L2.5 8\" \n stroke=\"currentColor\" \n stroke-width=\"2\" \n stroke-linecap=\"round\" \n stroke-linejoin=\"round\"\n />\n </svg>\n )}\n {this.indeterminate && (\n <svg class=\"icon\" viewBox=\"0 0 16 16\" fill=\"none\">\n <path \n d=\"M3 8H13\" \n stroke=\"currentColor\" \n stroke-width=\"2\" \n stroke-linecap=\"round\"\n />\n </svg>\n )}\n </span>\n <span class=\"label\">\n <slot></slot>\n </span>\n </label>\n </Host>\n );\n }\n}\n\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,aAAa,GAAG,4lDAA4lD;;MCarmD,UAAU,GAAA,MAAA;AALvB,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAME;;AAEG;AACqC,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AAEhE;;AAEG;AACsB,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK;AAEvD;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAmB1C,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;YAC1B,IAAI,IAAI,CAAC,QAAQ;gBAAE;AACnB,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;AAC5B,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;AAC/C,SAAC;AAuEF;IArEC,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;;;IAInD,kBAAkB,GAAA;AAChB,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa;;;IAInD,MAAM,GAAA;AACJ,QAAA,MAAM,eAAe,GAAG;AACtB,YAAA,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,eAAe,EAAE,IAAI,CAAC,aAAa;YACnC,UAAU,EAAE,IAAI,CAAC;SAClB;AAED,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,aAAa;YAC7C,UAAU,EAAE,IAAI,CAAC;SAClB;AAED,QAAA,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAO,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,eAAe,EAAA,EAC3BA,OACE,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,UAAU,EACf,KAAK,EAAC,OAAO,EACb,GAAG,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,IAAI,SAAS,EAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,CAAA,EACFA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,cAAc,EAAA,EACxB,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,KAClCA,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EAC/CA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,CAAC,EAAC,sBAAsB,EACxB,MAAM,EAAC,cAAc,EACR,cAAA,EAAA,GAAG,oBACD,OAAO,EAAA,iBAAA,EACN,OAAO,EAAA,CACvB,CACE,CACP,EACA,IAAI,CAAC,aAAa,KACjBA,kEAAK,KAAK,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EAC/CA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,CAAC,EAAC,SAAS,EACX,MAAM,EAAC,cAAc,EACR,cAAA,EAAA,GAAG,EACD,gBAAA,EAAA,OAAO,EACtB,CAAA,CACE,CACP,CACI,EACPA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EACjBA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACR,CACD,CACH;;;;;;;"}
@@ -1,19 +1,17 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DfEVhbS6.js');
3
+ var index = require('./index-ybEiHT0b.js');
4
4
 
5
- const afClientCarouselCss = ":host{display:block;width:100%;background-color:var(--colour-brand-inkwell, #14343B)}.client-carousel{padding:48px 80px;display:flex;flex-direction:column;gap:40px;align-items:center}.headline{text-align:center;padding:24px 220px}.headline h3{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:500;font-size:34px;line-height:1;letter-spacing:-0.68px;color:var(--colour-brand-mist-green, #C6D5D1);margin:0}.carousel-container{display:flex;flex-direction:column;gap:16px;width:100%;overflow:hidden}.carousel-row{display:flex;width:100%;overflow:hidden;position:relative}.logo-track{display:flex;gap:16px;animation-timing-function:linear;animation-iteration-count:infinite}.scroll-left .logo-track{animation-name:scroll-left;animation-duration:40s}.scroll-right .logo-track{animation-name:scroll-right;animation-duration:40s}@keyframes scroll-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes scroll-right{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}::slotted(*){flex-shrink:0}@media (max-width: 1024px){.client-carousel{padding:32px 40px}.headline{padding:16px 40px}}@media (max-width: 767px){.client-carousel{padding:24px 16px}.headline{padding:16px}.headline h3{font-size:25px}}";
5
+ const afClientCarouselCss = ":host{display:block;width:100%}.client-carousel{padding:48px 0;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.carousel-container{display:flex;flex-direction:column;gap:var(--space-4, 16px);width:100%;overflow:hidden}.carousel-row{display:flex;width:100%;overflow:hidden;position:relative}.logo-track{display:flex;gap:var(--space-4, 16px);animation-timing-function:linear;animation-iteration-count:infinite}.scroll-left .logo-track{animation-name:scroll-left;animation-duration:40s}.scroll-right .logo-track{animation-name:scroll-right;animation-duration:40s}:host(:hover) .logo-track{animation-play-state:paused}@keyframes scroll-left{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes scroll-right{0%{transform:translateX(-50%)}100%{transform:translateX(0)}}::slotted(*){display:flex;flex-shrink:0;gap:var(--space-4, 16px);align-items:center}:host(.theme-inkwell),.client-carousel.theme-inkwell{background-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-well-bg:var(--colour-background-level1-dark, #203e45);--af-carousel-logo-color:white;--af-carousel-logo-filter:brightness(0) invert(1)}:host(.theme-white),.client-carousel.theme-white{background-color:var(--colour-brand-white, #FFFFFF);--af-carousel-logo-well-bg:var(--colour-background-level1, #e8eeed);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}:host(.theme-mist-green),.client-carousel.theme-mist-green{background-color:var(--colour-brand-mist-green, #C6D5D1);--af-carousel-logo-well-bg:var(--colour-mistgreen-300, #dde6e3);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}:host(.theme-soft-clay),.client-carousel.theme-soft-clay{background-color:var(--colour-softclay-400, #c0ab8d);--af-carousel-logo-well-bg:var(--colour-softclay-200, #d5c5b0);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}:host(.theme-white-ivory),.client-carousel.theme-white-ivory{background-color:var(--colour-brand-ivory-paper, #fff9ee);--af-carousel-logo-well-bg:var(--colour-softclay-100, #f2eadc);--af-carousel-logo-color:var(--colour-brand-inkwell, #14343B);--af-carousel-logo-filter:none}@media (max-width: 1024px){.client-carousel{padding:32px 0}}@media (max-width: 767px){.client-carousel{padding:24px 0}.carousel-container{gap:var(--space-3, 12px)}.logo-track{gap:var(--space-3, 12px)}::slotted(*){gap:var(--space-3, 12px)}}";
6
6
 
7
7
  const AfClientCarousel = class {
8
8
  constructor(hostRef) {
9
9
  index.registerInstance(this, hostRef);
10
- /** Show headline above carousel */
11
- this.showHeadline = false;
12
- /** Headline text */
13
- this.headlineText = "Trusted by some of the world's leading organisations";
10
+ /** Theme - sets background color and provides theme context to children */
11
+ this.theme = 'inkwell';
14
12
  }
15
13
  render() {
16
- return (index.h(index.Host, { key: '6ee5a4e472cb082ac68cb58c00bf5b1d686dd489' }, index.h("div", { key: 'dc030f69bfbb55ce999f0b2f1d8a47095d75ac59', class: "client-carousel" }, this.showHeadline && (index.h("div", { key: 'd8d7fdbd47e65cc5a3a8e10d88f7425f91d0459e', class: "headline" }, index.h("slot", { key: '3773f567bfd3de6058cd1088ba2c781cf510e63b', name: "headline" }, index.h("h3", { key: 'fdcab6ce99a2c477bf1e336f13f7994637b8436d' }, this.headlineText)))), index.h("div", { key: '30429a27f88e490051a4623195421e00a34f4db4', class: "carousel-container" }, index.h("div", { key: 'de187b8265b84cb3d8f22540ec283bb8b3603aa8', class: "carousel-row scroll-left" }, index.h("div", { key: 'd2da7c79388f53425cba20429204fea148030aa5', class: "logo-track" }, index.h("slot", { key: 'b4ddb6250d5893290ed40a2c765d0f0bf0a378e6', name: "row-1" }), index.h("slot", { key: 'ccb91ed748f2e51a1d0f2d63d676f7e2558ec2ef', name: "row-1" }))), index.h("div", { key: 'f6a99654384b070bf91e9ea1ebc57de304f2671f', class: "carousel-row scroll-right" }, index.h("div", { key: '8e31a13039f2e2df33eb7ec67f738d71d49d931f', class: "logo-track" }, index.h("slot", { key: '2ffeff2da8ddd4c0faefaf59fc1a45972de26943', name: "row-2" }), index.h("slot", { key: '2121dc84af370a41290a432e50f3c10f6b3d4b4c', name: "row-2" })))))));
14
+ return (index.h(index.Host, { key: '5b422b47406a2ce622a2c67f88f9da6933812768', class: `theme-${this.theme}` }, index.h("div", { key: '830bbbd027dcd61d282c80d8ec2edf8cbabef1d1', class: `client-carousel theme-${this.theme}` }, index.h("div", { key: 'e8746e1860a94eba0d8136dce2c3aa81986eedb2', class: "carousel-container" }, index.h("div", { key: '13e17fd9ae7a4959997f342c93e6bf44091b31a2', class: "carousel-row scroll-left" }, index.h("div", { key: '9c9f813b95406aa35b7b44bfc081079af520d836', class: "logo-track" }, index.h("slot", { key: 'ea952977509633ac91113591865af83ca3cb5ba9', name: "row-1" }), index.h("slot", { key: '7c838999d4e97f46b5855f62a2f6bee42617c18d', name: "row-1" }))), index.h("div", { key: '2e30703c86f4d6dad64d9233568996926b9ce4a6', class: "carousel-row scroll-right" }, index.h("div", { key: 'df2eb879096a421a3702c77e9db2c6416adfe393', class: "logo-track" }, index.h("slot", { key: '031fdc0c8fb9f69e8f3ae3eff10f7c7e72dca9db', name: "row-2" }), index.h("slot", { key: 'e48f4d94ab9707d143329e443ec8cee4da66cb9a', name: "row-2" })))))));
17
15
  }
18
16
  };
19
17
  AfClientCarousel.style = afClientCarouselCss;
@@ -1 +1 @@
1
- {"version":3,"file":"af-client-carousel.entry.cjs.js","sources":["src/components/af-client-carousel/af-client-carousel.css?tag=af-client-carousel&encapsulation=shadow","src/components/af-client-carousel/af-client-carousel.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n background-color: var(--colour-brand-inkwell, #14343B);\n}\n\n.client-carousel {\n padding: 48px 80px;\n display: flex;\n flex-direction: column;\n gap: 40px;\n align-items: center;\n}\n\n.headline {\n text-align: center;\n padding: 24px 220px;\n}\n\n.headline h3 {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 500;\n font-size: 34px;\n line-height: 1;\n letter-spacing: -0.68px;\n color: var(--colour-brand-mist-green, #C6D5D1);\n margin: 0;\n}\n\n.carousel-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-row {\n display: flex;\n width: 100%;\n overflow: hidden;\n position: relative;\n}\n\n.logo-track {\n display: flex;\n gap: 16px;\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n}\n\n/* Scroll left animation */\n.scroll-left .logo-track {\n animation-name: scroll-left;\n animation-duration: 40s;\n}\n\n/* Scroll right animation */\n.scroll-right .logo-track {\n animation-name: scroll-right;\n animation-duration: 40s;\n}\n\n@keyframes scroll-left {\n 0% {\n transform: translateX(0);\n }\n 100% {\n transform: translateX(-50%);\n }\n}\n\n@keyframes scroll-right {\n 0% {\n transform: translateX(-50%);\n }\n 100% {\n transform: translateX(0);\n }\n}\n\n/* Ensure slotted logos maintain their styling */\n::slotted(*) {\n flex-shrink: 0;\n}\n\n/* Tablet adjustments */\n@media (max-width: 1024px) {\n .client-carousel {\n padding: 32px 40px;\n }\n \n .headline {\n padding: 16px 40px;\n }\n}\n\n/* Mobile adjustments */\n@media (max-width: 767px) {\n .client-carousel {\n padding: 24px 16px;\n }\n \n .headline {\n padding: 16px;\n }\n \n .headline h3 {\n font-size: 25px;\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Infinite scrolling carousel for client logos\n */\n@Component({\n tag: 'af-client-carousel',\n styleUrl: 'af-client-carousel.css',\n shadow: true,\n})\nexport class AfClientCarousel {\n /** Show headline above carousel */\n @Prop() showHeadline: boolean = false;\n \n /** Headline text */\n @Prop() headlineText: string = \"Trusted by some of the world's leading organisations\";\n\n render() {\n return (\n <Host>\n <div class=\"client-carousel\">\n {this.showHeadline && (\n <div class=\"headline\">\n <slot name=\"headline\">\n <h3>{this.headlineText}</h3>\n </slot>\n </div>\n )}\n \n <div class=\"carousel-container\">\n {/* Top row - scrolls left */}\n <div class=\"carousel-row scroll-left\">\n <div class=\"logo-track\">\n <slot name=\"row-1\"></slot>\n <slot name=\"row-1\"></slot>\n </div>\n </div>\n \n {/* Bottom row - scrolls right */}\n <div class=\"carousel-row scroll-right\">\n <div class=\"logo-track\">\n <slot name=\"row-2\"></slot>\n <slot name=\"row-2\"></slot>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,mBAAmB,GAAG,guCAAguC;;MCU/uC,gBAAgB,GAAA,MAAA;AAL7B,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAOU,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK;;AAG7B,QAAA,IAAY,CAAA,YAAA,GAAW,sDAAsD;AAmCtF;IAjCC,MAAM,GAAA;QACJ,QACEA,QAACC,UAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACHD,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EACzB,IAAI,CAAC,YAAY,KAChBA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,UAAU,EAAA,EACnBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,UAAU,EAAA,EACnBA,OAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAK,IAAI,CAAC,YAAY,CAAM,CACvB,CACH,CACP,EAEDA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAE7BA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACnCA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAQ,CAAA,EAC1BA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,CACF,EAGNA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAA,EACpCA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAQ,CAAA,EAC1BA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAQ,CAAA,CACtB,CACF,CACF,CACF,CACD;;;;;;;"}
1
+ {"version":3,"file":"af-client-carousel.entry.cjs.js","sources":["src/components/af-client-carousel/af-client-carousel.css?tag=af-client-carousel&encapsulation=shadow","src/components/af-client-carousel/af-client-carousel.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.client-carousel {\n padding: 48px 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-container {\n display: flex;\n flex-direction: column;\n gap: var(--space-4, 16px);\n width: 100%;\n overflow: hidden;\n}\n\n.carousel-row {\n display: flex;\n width: 100%;\n overflow: hidden;\n position: relative;\n}\n\n.logo-track {\n display: flex;\n gap: var(--space-4, 16px);\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n}\n\n/* Scroll left animation */\n.scroll-left .logo-track {\n animation-name: scroll-left;\n animation-duration: 40s;\n}\n\n/* Scroll right animation */\n.scroll-right .logo-track {\n animation-name: scroll-right;\n animation-duration: 40s;\n}\n\n/* Pause animation on hover */\n:host(:hover) .logo-track {\n animation-play-state: paused;\n}\n\n@keyframes scroll-left {\n 0% {\n transform: translateX(0);\n }\n 100% {\n transform: translateX(-50%);\n }\n}\n\n@keyframes scroll-right {\n 0% {\n transform: translateX(-50%);\n }\n 100% {\n transform: translateX(0);\n }\n}\n\n/* Style slotted container divs as flex rows with proper gap */\n::slotted(*) {\n display: flex;\n flex-shrink: 0;\n gap: var(--space-4, 16px);\n align-items: center;\n}\n\n/* ==========================================================================\n Theme Variants\n ========================================================================== */\n\n/* INKWELL THEME (Default) */\n:host(.theme-inkwell),\n.client-carousel.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343B);\n --af-carousel-logo-well-bg: var(--colour-background-level1-dark, #203e45);\n --af-carousel-logo-color: white;\n --af-carousel-logo-filter: brightness(0) invert(1);\n}\n\n/* WHITE THEME */\n:host(.theme-white),\n.client-carousel.theme-white {\n background-color: var(--colour-brand-white, #FFFFFF);\n --af-carousel-logo-well-bg: var(--colour-background-level1, #e8eeed);\n --af-carousel-logo-color: var(--colour-brand-inkwell, #14343B);\n --af-carousel-logo-filter: none;\n}\n\n/* MIST-GREEN THEME */\n:host(.theme-mist-green),\n.client-carousel.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #C6D5D1);\n --af-carousel-logo-well-bg: var(--colour-mistgreen-300, #dde6e3);\n --af-carousel-logo-color: var(--colour-brand-inkwell, #14343B);\n --af-carousel-logo-filter: none;\n}\n\n/* SOFT-CLAY THEME */\n:host(.theme-soft-clay),\n.client-carousel.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n --af-carousel-logo-well-bg: var(--colour-softclay-200, #d5c5b0);\n --af-carousel-logo-color: var(--colour-brand-inkwell, #14343B);\n --af-carousel-logo-filter: none;\n}\n\n/* WHITE-IVORY THEME */\n:host(.theme-white-ivory),\n.client-carousel.theme-white-ivory {\n background-color: var(--colour-brand-ivory-paper, #fff9ee);\n --af-carousel-logo-well-bg: var(--colour-softclay-100, #f2eadc);\n --af-carousel-logo-color: var(--colour-brand-inkwell, #14343B);\n --af-carousel-logo-filter: none;\n}\n\n/* ==========================================================================\n Responsive Adjustments\n ========================================================================== */\n\n/* Tablet adjustments */\n@media (max-width: 1024px) {\n .client-carousel {\n padding: 32px 0;\n }\n}\n\n/* Mobile adjustments */\n@media (max-width: 767px) {\n .client-carousel {\n padding: 24px 0;\n }\n \n .carousel-container {\n gap: var(--space-3, 12px);\n }\n \n .logo-track {\n gap: var(--space-3, 12px);\n }\n \n ::slotted(*) {\n gap: var(--space-3, 12px);\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Theme = 'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory';\n\n/**\n * Infinite scrolling carousel for client logos.\n * \n * This is a section-level component that spans full width.\n * It supports theming via the `theme` prop.\n * \n * For headlines, use a separate TypographyLockup or Heading component above this carousel.\n */\n@Component({\n tag: 'af-client-carousel',\n styleUrl: 'af-client-carousel.css',\n shadow: true,\n})\nexport class AfClientCarousel {\n /** Theme - sets background color and provides theme context to children */\n @Prop() theme: Theme = 'inkwell';\n\n render() {\n return (\n <Host class={`theme-${this.theme}`}>\n <div class={`client-carousel theme-${this.theme}`}>\n <div class=\"carousel-container\">\n {/* Top row - scrolls left */}\n <div class=\"carousel-row scroll-left\">\n <div class=\"logo-track\">\n <slot name=\"row-1\"></slot>\n <slot name=\"row-1\"></slot>\n </div>\n </div>\n \n {/* Bottom row - scrolls right */}\n <div class=\"carousel-row scroll-right\">\n <div class=\"logo-track\">\n <slot name=\"row-2\"></slot>\n <slot name=\"row-2\"></slot>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":["h","Host"],"mappings":";;;;AAAA,MAAM,mBAAmB,GAAG,46EAA46E;;MCiB37E,gBAAgB,GAAA,MAAA;AAL7B,IAAA,WAAA,CAAA,OAAA,EAAA;;;AAOU,QAAA,IAAK,CAAA,KAAA,GAAU,SAAS;AA2BjC;IAzBC,MAAM,GAAA;AACJ,QAAA,QACEA,OAAC,CAAAC,UAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,CAAS,MAAA,EAAA,IAAI,CAAC,KAAK,CAAA,CAAE,EAAA,EAChCD,OAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,sBAAA,EAAyB,IAAI,CAAC,KAAK,CAAE,CAAA,EAAA,EAC/CA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAE7BA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACnCA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAQ,CAAA,EAC1BA,OAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,CACF,EAGNA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAA,EACpCA,OAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrBA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAQ,CAAA,EAC1BA,OAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAQ,CAAA,CACtB,CACF,CACF,CACF,CACD;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DfEVhbS6.js');
3
+ var index = require('./index-ybEiHT0b.js');
4
4
 
5
5
  const afColorSwatchCss = ":host{display:block}.swatch{display:flex;flex-direction:column;border-radius:8px;overflow:hidden;border:1px solid #ece6f5;background:white}.color-preview{width:100%;height:120px;flex-shrink:0}.size-large .color-preview{height:140px}.color-info{padding:16px;display:flex;flex-direction:column;gap:4px}.color-name{font-family:'NeuSans', 'Inter', system-ui, sans-serif;font-size:16px;font-weight:500;color:#14343B}.color-value{font-family:'Helvetica', 'Inter', monospace, system-ui, sans-serif;font-size:14px;color:#708380}";
6
6
 
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DfEVhbS6.js');
3
+ var index = require('./index-ybEiHT0b.js');
4
4
 
5
5
  const afContactItemCss = ".sc-af-contact-item-h{display:block}.contact-item.sc-af-contact-item{display:flex;flex-direction:column;gap:4px}.contact-item__label.sc-af-contact-item{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0}.contact-item__value.sc-af-contact-item{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);margin:0}";
6
6
 
@@ -13,7 +13,7 @@ const AfContactItem = class {
13
13
  this.value = '';
14
14
  }
15
15
  render() {
16
- return (index.h(index.Host, { key: 'd7028d8cf36ac49af112610cb75183bf6abf13a3' }, index.h("div", { key: '810bf1b96babcb480cd2aa2ba367646b9c4cc88a', class: "contact-item" }, this.label && (index.h("h5", { key: '1dabbf6e3c53d537645b3db0593f5653f9ca5f2b', class: "contact-item__label" }, this.label)), this.value && (index.h("p", { key: '73ab6e021d479b54f6341a9fa2fac5bb09e57d8d', class: "contact-item__value" }, this.value)), index.h("slot", { key: '787187f21f16576b62638aed8ddcc4dd38f0ac21' }))));
16
+ return (index.h(index.Host, { key: 'fab41abebbb385d54aac14e620e18e713b97b8fb' }, index.h("div", { key: '66935eed5340e987276e8487acea6fd1858a4333', class: "contact-item" }, this.label && (index.h("h5", { key: '97113a9f95f873b03c54e22f87662eda97df06fc', class: "contact-item__label" }, this.label)), this.value && (index.h("p", { key: 'd45cdfc1dc08d2dc6f8232f04c21a345fb54fc5b', class: "contact-item__value" }, this.value)), index.h("slot", { key: 'e128fb4d7e006e371e54b98e2a3d817c47664642' }))));
17
17
  }
18
18
  };
19
19
  AfContactItem.style = afContactItemCss;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-DfEVhbS6.js');
3
+ var index = require('./index-ybEiHT0b.js');
4
4
 
5
5
  const afContainerCss = ":host{display:block;width:100%}.container{width:100%;margin-left:auto;margin-right:auto;box-sizing:border-box;padding-left:16px;padding-right:16px}@media (min-width: 375px){.container{padding-left:20px;padding-right:20px}}@media (min-width: 768px){.container{padding-left:32px;padding-right:32px}.max-width-medium{max-width:768px}}@media (min-width: 1024px){.container{padding-left:64px;padding-right:64px}.max-width-large{max-width:1024px}.max-width-medium{max-width:768px}}@media (min-width: 1440px){.container{padding-left:80px;padding-right:80px}.max-width-xlarge{max-width:1440px}.max-width-large{max-width:1024px}.max-width-medium{max-width:768px}}.max-width-fluid{max-width:none}";
6
6