@affinda/wc 0.6.1 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1171) hide show
  1. package/dist/affinda/affinda.css +1 -1
  2. package/dist/affinda/affinda.esm.js +1 -2
  3. package/dist/affinda/index.esm.js +1 -2
  4. package/dist/affinda/p-05d875bb.entry.js +1 -0
  5. package/dist/affinda/p-081cd3df.entry.js +1 -0
  6. package/dist/affinda/p-0d3d06b6.entry.js +1 -0
  7. package/dist/affinda/p-10b6c551.entry.js +1 -0
  8. package/dist/affinda/p-1564dfd4.entry.js +1 -0
  9. package/dist/affinda/p-18084b61.entry.js +1 -0
  10. package/dist/affinda/p-1d58ae25.entry.js +1 -0
  11. package/dist/affinda/p-2638bf29.entry.js +1 -0
  12. package/dist/affinda/p-28974116.entry.js +1 -0
  13. package/dist/affinda/p-2c901a65.entry.js +1 -0
  14. package/dist/affinda/p-2c9d323d.entry.js +1 -0
  15. package/dist/affinda/p-2ce3bf6f.entry.js +1 -0
  16. package/dist/affinda/p-30a0eab7.entry.js +1 -0
  17. package/dist/affinda/p-320ddbd6.entry.js +1 -0
  18. package/dist/affinda/p-328fdb1f.entry.js +1 -0
  19. package/dist/affinda/p-36998ce7.entry.js +1 -0
  20. package/dist/affinda/p-38824135.entry.js +1 -0
  21. package/dist/affinda/p-3d866c04.entry.js +1 -0
  22. package/dist/affinda/p-3e66cf51.entry.js +1 -0
  23. package/dist/affinda/p-40f2eeab.entry.js +1 -0
  24. package/dist/affinda/p-454b9537.entry.js +1 -0
  25. package/dist/affinda/p-46134d54.entry.js +1 -0
  26. package/dist/affinda/p-489a913a.entry.js +1 -0
  27. package/dist/affinda/p-49c814e6.entry.js +1 -0
  28. package/dist/affinda/p-4a71b0ba.entry.js +1 -0
  29. package/dist/affinda/p-4fa3183a.entry.js +1 -0
  30. package/dist/affinda/p-500e9086.entry.js +1 -0
  31. package/dist/affinda/p-51287827.entry.js +1 -0
  32. package/dist/affinda/p-54a3213d.entry.js +1 -0
  33. package/dist/affinda/p-64177b96.entry.js +1 -0
  34. package/dist/affinda/p-6507e36d.entry.js +1 -0
  35. package/dist/affinda/p-663c91e9.entry.js +1 -0
  36. package/dist/affinda/p-75797b4b.entry.js +1 -0
  37. package/dist/affinda/p-75fe2855.entry.js +1 -0
  38. package/dist/affinda/p-7a4f3f0a.entry.js +1 -0
  39. package/dist/affinda/p-7cd9fb74.entry.js +1 -0
  40. package/dist/affinda/p-85610cb5.entry.js +1 -0
  41. package/dist/affinda/p-8695a652.entry.js +1 -0
  42. package/dist/affinda/{p-47d2f72b.entry.js → p-8a3e9703.entry.js} +1 -2
  43. package/dist/affinda/p-91aafa8f.entry.js +1 -0
  44. package/dist/affinda/p-93605689.entry.js +1 -0
  45. package/dist/affinda/p-98c29d8a.entry.js +1 -0
  46. package/dist/affinda/p-9a7d92d1.entry.js +1 -0
  47. package/dist/affinda/p-9c70fd89.entry.js +1 -0
  48. package/dist/affinda/p-9daf664e.entry.js +1 -0
  49. package/dist/affinda/p-9eb99154.entry.js +1 -0
  50. package/dist/affinda/p-9f09f792.entry.js +1 -0
  51. package/dist/affinda/p-BSPfXvdg.js +1 -0
  52. package/dist/affinda/p-BjfY9fsk.js +2 -0
  53. package/dist/affinda/p-DEGKc9o3.js +1 -0
  54. package/dist/affinda/p-a0db87cb.entry.js +1 -0
  55. package/dist/affinda/p-a0f2cc59.entry.js +1 -0
  56. package/dist/affinda/p-a45d3a9e.entry.js +1 -0
  57. package/dist/affinda/p-a695894c.entry.js +1 -0
  58. package/dist/affinda/p-a82cfef6.entry.js +1 -0
  59. package/dist/affinda/p-a8e0bcfc.entry.js +1 -0
  60. package/dist/affinda/p-ac5fa6a0.entry.js +1 -0
  61. package/dist/affinda/p-ae0e7349.entry.js +1 -0
  62. package/dist/affinda/p-b0256538.entry.js +1 -0
  63. package/dist/affinda/p-b04be1ae.entry.js +1 -0
  64. package/dist/affinda/p-b225d686.entry.js +1 -0
  65. package/dist/affinda/p-b7047436.entry.js +1 -0
  66. package/dist/affinda/p-b82d958e.entry.js +1 -0
  67. package/dist/affinda/p-bb16eb85.entry.js +1 -0
  68. package/dist/affinda/p-c434500a.entry.js +1 -0
  69. package/dist/affinda/p-c511caae.entry.js +1 -0
  70. package/dist/affinda/p-cce0d195.entry.js +1 -0
  71. package/dist/affinda/p-cd28e405.entry.js +1 -0
  72. package/dist/affinda/p-cd592f7e.entry.js +1 -0
  73. package/dist/affinda/p-d5dc7de2.entry.js +1 -0
  74. package/dist/affinda/p-d5e5280c.entry.js +1 -0
  75. package/dist/affinda/p-db7b9094.entry.js +1 -0
  76. package/dist/affinda/p-dce64220.entry.js +1 -0
  77. package/dist/affinda/p-dd1e0ab5.entry.js +1 -0
  78. package/dist/affinda/p-de523c4d.entry.js +1 -0
  79. package/dist/affinda/p-def60ae7.entry.js +1 -0
  80. package/dist/affinda/p-e053f2ca.entry.js +1 -0
  81. package/dist/affinda/p-e2f7c1bf.entry.js +1 -0
  82. package/dist/affinda/p-e30ecdb4.entry.js +1 -0
  83. package/dist/affinda/p-e3e6fb93.entry.js +1 -0
  84. package/dist/affinda/p-e6688b1d.entry.js +1 -0
  85. package/dist/affinda/p-e7d68b1c.entry.js +1 -0
  86. package/dist/affinda/p-e897361e.entry.js +1 -0
  87. package/dist/affinda/p-ef57e1a7.entry.js +1 -0
  88. package/dist/affinda/p-f6ebe718.entry.js +1 -0
  89. package/dist/affinda/p-f7120b2b.entry.js +1 -0
  90. package/dist/affinda/{p-bc59dc0e.entry.js → p-f8ccfbf2.entry.js} +1 -2
  91. package/dist/affinda/p-fae810e5.entry.js +1 -0
  92. package/dist/affinda/p-fce3ed61.entry.js +1 -0
  93. package/dist/affinda/p-feb5ff84.entry.js +1 -0
  94. package/dist/cjs/a11y-D7P8rpD_.js +359 -0
  95. package/dist/cjs/af-accordion-item.cjs.entry.js +6 -5
  96. package/dist/cjs/af-accordion.cjs.entry.js +6 -5
  97. package/dist/cjs/af-action-item.cjs.entry.js +54 -0
  98. package/dist/cjs/af-action-list.cjs.entry.js +37 -0
  99. package/dist/cjs/af-area-chart.cjs.entry.js +272 -0
  100. package/dist/cjs/af-aspect-ratio.cjs.entry.js +3 -4
  101. package/dist/cjs/af-bar-chart.cjs.entry.js +345 -0
  102. package/dist/cjs/af-button-group.cjs.entry.js +3 -4
  103. package/dist/cjs/af-button.cjs.entry.js +5 -5
  104. package/dist/cjs/af-callout.cjs.entry.js +66 -0
  105. package/dist/cjs/af-card.cjs.entry.js +4 -5
  106. package/dist/cjs/af-center.cjs.entry.js +4 -5
  107. package/dist/cjs/af-chart-legend.cjs.entry.js +123 -0
  108. package/dist/cjs/af-chart-section.cjs.entry.js +33 -0
  109. package/dist/cjs/af-chart-tooltip.cjs.entry.js +81 -0
  110. package/dist/cjs/af-checkbox.cjs.entry.js +3 -4
  111. package/dist/cjs/af-client-carousel.cjs.entry.js +46 -11
  112. package/dist/cjs/af-color-swatch.cjs.entry.js +3 -4
  113. package/dist/cjs/af-contact-item.cjs.entry.js +4 -5
  114. package/dist/cjs/af-container.cjs.entry.js +3 -4
  115. package/dist/cjs/af-divider.cjs.entry.js +4 -5
  116. package/dist/cjs/af-feature-accordion.cjs.entry.js +62 -8
  117. package/dist/cjs/af-feature-card.cjs.entry.js +3 -4
  118. package/dist/cjs/af-feature-grid.cjs.entry.js +7 -6
  119. package/dist/cjs/af-fieldset.cjs.entry.js +3 -4
  120. package/dist/cjs/af-footer-column.cjs.entry.js +4 -5
  121. package/dist/cjs/af-footer-link.cjs.entry.js +4 -5
  122. package/dist/cjs/af-footer.cjs.entry.js +4 -5
  123. package/dist/cjs/af-grid-callout.cjs.entry.js +3 -4
  124. package/dist/cjs/af-grid.cjs.entry.js +5 -6
  125. package/dist/cjs/af-heading_5.cjs.entry.js +30 -20
  126. package/dist/cjs/af-hero.cjs.entry.js +3 -4
  127. package/dist/cjs/af-icon-box.cjs.entry.js +4 -5
  128. package/dist/cjs/af-icon-button.cjs.entry.js +3 -4
  129. package/dist/cjs/af-icon-text.cjs.entry.js +4 -5
  130. package/dist/cjs/af-icon.cjs.entry.js +3 -4
  131. package/dist/cjs/af-illustrated-card.cjs.entry.js +4 -5
  132. package/dist/cjs/af-image.cjs.entry.js +30 -12
  133. package/dist/cjs/af-in-page-banner.cjs.entry.js +4 -5
  134. package/dist/cjs/af-inline.cjs.entry.js +4 -5
  135. package/dist/cjs/af-input.cjs.entry.js +3 -4
  136. package/dist/cjs/af-line-chart.cjs.entry.js +257 -0
  137. package/dist/cjs/af-logo-mark.cjs.entry.js +27 -0
  138. package/dist/cjs/af-logo-well.cjs.entry.js +4 -5
  139. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +8 -7
  140. package/dist/cjs/af-nav-accordion.cjs.entry.js +4 -5
  141. package/dist/cjs/af-nav-card.cjs.entry.js +3 -4
  142. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +5 -6
  143. package/dist/cjs/af-nav-menu.cjs.entry.js +4 -5
  144. package/dist/cjs/af-next-step-item.cjs.entry.js +33 -0
  145. package/dist/cjs/af-next-steps.cjs.entry.js +40 -0
  146. package/dist/cjs/af-number-badge.cjs.entry.js +5 -6
  147. package/dist/cjs/af-numbered-stepper-item.cjs.entry.js +4 -5
  148. package/dist/cjs/af-numbered-stepper.cjs.entry.js +4 -5
  149. package/dist/cjs/af-paperclip-decoration.cjs.entry.js +4 -5
  150. package/dist/cjs/af-pie-chart.cjs.entry.js +153 -0
  151. package/dist/cjs/af-progress-line.cjs.entry.js +5 -6
  152. package/dist/cjs/af-proposal-footer.cjs.entry.js +36 -0
  153. package/dist/cjs/af-proposal-header.cjs.entry.js +30 -0
  154. package/dist/cjs/af-radio.cjs.entry.js +3 -4
  155. package/dist/cjs/af-section.cjs.entry.js +5 -6
  156. package/dist/cjs/af-show.cjs.entry.js +4 -5
  157. package/dist/cjs/af-social-link.cjs.entry.js +5 -6
  158. package/dist/cjs/af-spacer.cjs.entry.js +4 -5
  159. package/dist/cjs/af-split-section.cjs.entry.js +5 -6
  160. package/dist/cjs/af-stack.cjs.entry.js +4 -5
  161. package/dist/cjs/af-stat.cjs.entry.js +6 -5
  162. package/dist/cjs/af-stats-row.cjs.entry.js +4 -5
  163. package/dist/cjs/af-stepper-step.cjs.entry.js +4 -5
  164. package/dist/cjs/af-stepper.cjs.entry.js +4 -5
  165. package/dist/cjs/af-switch.cjs.entry.js +3 -4
  166. package/dist/cjs/af-tab-bar.cjs.entry.js +3 -4
  167. package/dist/cjs/af-tab.cjs.entry.js +3 -4
  168. package/dist/cjs/af-table.cjs.entry.js +159 -0
  169. package/dist/cjs/af-tag.cjs.entry.js +3 -4
  170. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +75 -22
  171. package/dist/cjs/af-testimonial-stat.cjs.entry.js +9 -5
  172. package/dist/cjs/af-testimonial.cjs.entry.js +5 -6
  173. package/dist/cjs/af-text-image-nest.cjs.entry.js +4 -5
  174. package/dist/cjs/af-text-image.cjs.entry.js +3 -4
  175. package/dist/cjs/af-textarea.cjs.entry.js +3 -4
  176. package/dist/cjs/af-theme-override.cjs.entry.js +4 -5
  177. package/dist/cjs/af-timeline-item.cjs.entry.js +72 -0
  178. package/dist/cjs/af-timeline.cjs.entry.js +222 -0
  179. package/dist/cjs/af-typography-lockup.cjs.entry.js +11 -7
  180. package/dist/cjs/af-video-container.cjs.entry.js +4 -5
  181. package/dist/cjs/af-visually-hidden.cjs.entry.js +4 -5
  182. package/dist/cjs/affinda.cjs.js +3 -4
  183. package/dist/cjs/{index-BuJz1C1M.js → index-BcMwIg4j.js} +596 -378
  184. package/dist/cjs/index.cjs.js +21 -22
  185. package/dist/cjs/loader.cjs.js +2 -3
  186. package/dist/cjs/scales-DjlIMmiW.js +195 -0
  187. package/dist/collection/collection-manifest.json +21 -2
  188. package/dist/collection/components/af-accordion/af-accordion.js +0 -1
  189. package/dist/collection/components/af-accordion-item/af-accordion-item.js +0 -1
  190. package/dist/collection/components/af-action-item/af-action-item.css +186 -0
  191. package/dist/collection/components/af-action-item/af-action-item.js +183 -0
  192. package/dist/collection/components/af-action-list/af-action-list.css +100 -0
  193. package/dist/collection/components/af-action-list/af-action-list.js +97 -0
  194. package/dist/collection/components/af-area-chart/af-area-chart.css +191 -0
  195. package/dist/collection/components/af-area-chart/af-area-chart.js +631 -0
  196. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js +0 -1
  197. package/dist/collection/components/af-bar-chart/af-bar-chart.css +245 -0
  198. package/dist/collection/components/af-bar-chart/af-bar-chart.js +664 -0
  199. package/dist/collection/components/af-button/af-button.js +2 -2
  200. package/dist/collection/components/af-button-group/af-button-group.css +23 -0
  201. package/dist/collection/components/af-button-group/af-button-group.js +0 -1
  202. package/dist/collection/components/af-callout/af-callout.css +290 -0
  203. package/dist/collection/components/af-callout/af-callout.js +188 -0
  204. package/dist/collection/components/af-card/af-card.js +3 -3
  205. package/dist/collection/components/af-center/af-center.js +1 -2
  206. package/dist/collection/components/af-chart-legend/af-chart-legend.css +132 -0
  207. package/dist/collection/components/af-chart-legend/af-chart-legend.js +332 -0
  208. package/dist/collection/components/af-chart-section/af-chart-section.css +113 -0
  209. package/dist/collection/components/af-chart-section/af-chart-section.js +150 -0
  210. package/dist/collection/components/af-chart-tooltip/af-chart-tooltip.css +155 -0
  211. package/dist/collection/components/af-chart-tooltip/af-chart-tooltip.js +286 -0
  212. package/dist/collection/components/af-checkbox/af-checkbox.js +0 -1
  213. package/dist/collection/components/af-client-carousel/af-client-carousel.css +9 -2
  214. package/dist/collection/components/af-client-carousel/af-client-carousel.js +54 -9
  215. package/dist/collection/components/af-color-swatch/af-color-swatch.js +0 -1
  216. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -2
  217. package/dist/collection/components/af-container/af-container.js +0 -1
  218. package/dist/collection/components/af-divider/af-divider.js +1 -2
  219. package/dist/collection/components/af-feature-accordion/af-feature-accordion.css +151 -25
  220. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +78 -5
  221. package/dist/collection/components/af-feature-card/af-feature-card.js +2 -2
  222. package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -2
  223. package/dist/collection/components/af-fieldset/af-fieldset.js +0 -1
  224. package/dist/collection/components/af-footer/af-footer.js +1 -2
  225. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -2
  226. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -2
  227. package/dist/collection/components/af-grid/af-grid.js +4 -4
  228. package/dist/collection/components/af-grid-callout/af-grid-callout.js +0 -1
  229. package/dist/collection/components/af-heading/af-heading.js +0 -1
  230. package/dist/collection/components/af-hero/af-hero.js +2 -3
  231. package/dist/collection/components/af-icon/af-icon.js +4 -4
  232. package/dist/collection/components/af-icon-box/af-icon-box.js +4 -4
  233. package/dist/collection/components/af-icon-button/af-icon-button.js +0 -1
  234. package/dist/collection/components/af-icon-text/af-icon-text.js +4 -4
  235. package/dist/collection/components/af-illustrated-card/af-illustrated-card.css +1 -0
  236. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +3 -3
  237. package/dist/collection/components/af-image/af-image.css +103 -10
  238. package/dist/collection/components/af-image/af-image.js +73 -14
  239. package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +10 -0
  240. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +3 -3
  241. package/dist/collection/components/af-inline/af-inline.js +3 -3
  242. package/dist/collection/components/af-input/af-input.js +0 -1
  243. package/dist/collection/components/af-line-chart/af-line-chart.css +255 -0
  244. package/dist/collection/components/af-line-chart/af-line-chart.js +618 -0
  245. package/dist/collection/components/af-logo/af-logo.js +0 -1
  246. package/dist/collection/components/af-logo-mark/af-logo-mark.css +9 -0
  247. package/dist/collection/components/af-logo-mark/af-logo-mark.js +86 -0
  248. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -2
  249. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -2
  250. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.css +9 -10
  251. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -3
  252. package/dist/collection/components/af-nav-card/af-nav-card.js +0 -1
  253. package/dist/collection/components/af-nav-item/af-nav-item.css +19 -24
  254. package/dist/collection/components/af-nav-item/af-nav-item.js +0 -1
  255. package/dist/collection/components/af-nav-menu/af-nav-menu.css +7 -6
  256. package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -2
  257. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.css +1 -1
  258. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +3 -4
  259. package/dist/collection/components/af-navbar/af-navbar.css +47 -9
  260. package/dist/collection/components/af-navbar/af-navbar.js +21 -10
  261. package/dist/collection/components/af-next-step-item/af-next-step-item.css +137 -0
  262. package/dist/collection/components/af-next-step-item/af-next-step-item.js +122 -0
  263. package/dist/collection/components/af-next-steps/af-next-steps.css +27 -0
  264. package/dist/collection/components/af-next-steps/af-next-steps.js +89 -0
  265. package/dist/collection/components/af-number-badge/af-number-badge.js +4 -5
  266. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js +1 -2
  267. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.css +51 -7
  268. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js +1 -2
  269. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +1 -2
  270. package/dist/collection/components/af-pie-chart/af-pie-chart.css +234 -0
  271. package/dist/collection/components/af-pie-chart/af-pie-chart.js +385 -0
  272. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -3
  273. package/dist/collection/components/af-proposal-footer/af-proposal-footer.css +27 -0
  274. package/dist/collection/components/af-proposal-footer/af-proposal-footer.js +118 -0
  275. package/dist/collection/components/af-proposal-header/af-proposal-header.css +131 -0
  276. package/dist/collection/components/af-proposal-header/af-proposal-header.js +178 -0
  277. package/dist/collection/components/af-radio/af-radio.js +0 -1
  278. package/dist/collection/components/af-section/af-section.css +57 -0
  279. package/dist/collection/components/af-section/af-section.js +6 -5
  280. package/dist/collection/components/af-show/af-show.js +1 -2
  281. package/dist/collection/components/af-social-link/af-social-link.js +2 -3
  282. package/dist/collection/components/af-spacer/af-spacer.js +1 -2
  283. package/dist/collection/components/af-split-section/af-split-section.js +8 -6
  284. package/dist/collection/components/af-stack/af-stack.js +3 -3
  285. package/dist/collection/components/af-stat/af-stat.css +5 -4
  286. package/dist/collection/components/af-stat/af-stat.js +25 -2
  287. package/dist/collection/components/af-stats-row/af-stats-row.css +8 -22
  288. package/dist/collection/components/af-stats-row/af-stats-row.js +1 -2
  289. package/dist/collection/components/af-stepper/af-stepper.js +1 -2
  290. package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -2
  291. package/dist/collection/components/af-switch/af-switch.js +0 -1
  292. package/dist/collection/components/af-tab/af-tab.js +1 -2
  293. package/dist/collection/components/af-tab-bar/af-tab-bar.js +2 -3
  294. package/dist/collection/components/af-table/af-table.css +295 -0
  295. package/dist/collection/components/af-table/af-table.js +295 -0
  296. package/dist/collection/components/af-tag/af-tag.js +2 -3
  297. package/dist/collection/components/af-testimonial/af-testimonial.css +82 -8
  298. package/dist/collection/components/af-testimonial/af-testimonial.js +78 -3
  299. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.css +40 -5
  300. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +72 -19
  301. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.css +62 -3
  302. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +6 -2
  303. package/dist/collection/components/af-text/af-text.js +0 -1
  304. package/dist/collection/components/af-text-image/af-text-image.js +0 -1
  305. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -2
  306. package/dist/collection/components/af-textarea/af-textarea.js +0 -1
  307. package/dist/collection/components/af-theme-override/af-theme-override.js +3 -3
  308. package/dist/collection/components/af-timeline/af-timeline.css +260 -0
  309. package/dist/collection/components/af-timeline/af-timeline.js +380 -0
  310. package/dist/collection/components/af-timeline-item/af-timeline-item.css +301 -0
  311. package/dist/collection/components/af-timeline-item/af-timeline-item.js +265 -0
  312. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +10 -5
  313. package/dist/collection/components/af-video-container/af-video-container.js +1 -2
  314. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -2
  315. package/dist/collection/components.js +0 -1
  316. package/dist/collection/index.js +0 -1
  317. package/dist/collection/types.js +0 -1
  318. package/dist/collection/utils/charts/a11y.js +191 -0
  319. package/dist/collection/utils/charts/generators.js +227 -0
  320. package/dist/collection/utils/charts/index.js +10 -0
  321. package/dist/collection/utils/charts/scales.js +189 -0
  322. package/dist/collection/utils/charts/types.js +12 -0
  323. package/dist/components/af-accordion-item.js +1 -107
  324. package/dist/components/af-accordion.js +1 -128
  325. package/dist/components/af-action-item.d.ts +11 -0
  326. package/dist/components/af-action-item.js +1 -0
  327. package/dist/components/af-action-list.d.ts +11 -0
  328. package/dist/components/af-action-list.js +1 -0
  329. package/dist/components/af-area-chart.d.ts +11 -0
  330. package/dist/components/af-area-chart.js +1 -0
  331. package/dist/components/af-aspect-ratio.js +1 -9
  332. package/dist/components/af-bar-chart.d.ts +11 -0
  333. package/dist/components/af-bar-chart.js +1 -0
  334. package/dist/components/af-button-group.js +1 -9
  335. package/dist/components/af-button.js +1 -9
  336. package/dist/components/af-callout.d.ts +11 -0
  337. package/dist/components/af-callout.js +1 -0
  338. package/dist/components/af-card.js +1 -9
  339. package/dist/components/af-center.js +1 -66
  340. package/dist/components/af-chart-legend.d.ts +11 -0
  341. package/dist/components/af-chart-legend.js +1 -0
  342. package/dist/components/af-chart-section.d.ts +11 -0
  343. package/dist/components/af-chart-section.js +1 -0
  344. package/dist/components/af-chart-tooltip.d.ts +11 -0
  345. package/dist/components/af-chart-tooltip.js +1 -0
  346. package/dist/components/af-checkbox.js +1 -9
  347. package/dist/components/af-client-carousel.js +1 -96
  348. package/dist/components/af-color-swatch.js +1 -9
  349. package/dist/components/af-contact-item.js +1 -44
  350. package/dist/components/af-container.js +1 -9
  351. package/dist/components/af-divider.js +1 -66
  352. package/dist/components/af-feature-accordion.js +1 -136
  353. package/dist/components/af-feature-card.js +1 -9
  354. package/dist/components/af-feature-grid.js +1 -124
  355. package/dist/components/af-fieldset.js +1 -9
  356. package/dist/components/af-footer-column.js +1 -41
  357. package/dist/components/af-footer-link.js +1 -44
  358. package/dist/components/af-footer.js +1 -53
  359. package/dist/components/af-grid-callout.js +1 -82
  360. package/dist/components/af-grid.js +1 -71
  361. package/dist/components/af-heading.js +1 -9
  362. package/dist/components/af-hero.js +1 -9
  363. package/dist/components/af-icon-box.js +1 -9
  364. package/dist/components/af-icon-button.js +1 -9
  365. package/dist/components/af-icon-text.js +1 -78
  366. package/dist/components/af-icon.js +1 -9
  367. package/dist/components/af-illustrated-card.js +1 -9
  368. package/dist/components/af-image.js +1 -9
  369. package/dist/components/af-in-page-banner.js +1 -82
  370. package/dist/components/af-inline.js +1 -83
  371. package/dist/components/af-input.js +1 -9
  372. package/dist/components/af-line-chart.d.ts +11 -0
  373. package/dist/components/af-line-chart.js +1 -0
  374. package/dist/components/af-logo-mark.d.ts +11 -0
  375. package/dist/components/af-logo-mark.js +1 -0
  376. package/dist/components/af-logo-well.js +1 -38
  377. package/dist/components/af-logo.js +1 -9
  378. package/dist/components/af-nav-accordion-item.js +1 -133
  379. package/dist/components/af-nav-accordion.js +1 -106
  380. package/dist/components/af-nav-card.js +1 -62
  381. package/dist/components/af-nav-item.js +1 -9
  382. package/dist/components/af-nav-menu-nest.js +1 -67
  383. package/dist/components/af-nav-menu.js +1 -65
  384. package/dist/components/af-navbar.js +1 -9
  385. package/dist/components/af-next-step-item.d.ts +11 -0
  386. package/dist/components/af-next-step-item.js +1 -0
  387. package/dist/components/af-next-steps.d.ts +11 -0
  388. package/dist/components/af-next-steps.js +1 -0
  389. package/dist/components/af-number-badge.js +1 -9
  390. package/dist/components/af-numbered-stepper-item.js +1 -58
  391. package/dist/components/af-numbered-stepper.js +1 -57
  392. package/dist/components/af-paperclip-decoration.js +1 -68
  393. package/dist/components/af-pie-chart.d.ts +11 -0
  394. package/dist/components/af-pie-chart.js +1 -0
  395. package/dist/components/af-progress-line.js +1 -9
  396. package/dist/components/af-proposal-footer.d.ts +11 -0
  397. package/dist/components/af-proposal-footer.js +1 -0
  398. package/dist/components/af-proposal-header.d.ts +11 -0
  399. package/dist/components/af-proposal-header.js +1 -0
  400. package/dist/components/af-radio.js +1 -9
  401. package/dist/components/af-section.js +1 -9
  402. package/dist/components/af-show.js +1 -46
  403. package/dist/components/af-social-link.js +1 -63
  404. package/dist/components/af-spacer.js +1 -69
  405. package/dist/components/af-split-section.js +1 -71
  406. package/dist/components/af-stack.js +1 -90
  407. package/dist/components/af-stat.js +1 -53
  408. package/dist/components/af-stats-row.js +1 -37
  409. package/dist/components/af-stepper-step.js +1 -44
  410. package/dist/components/af-stepper.js +1 -55
  411. package/dist/components/af-switch.js +1 -9
  412. package/dist/components/af-tab-bar.js +1 -9
  413. package/dist/components/af-tab.js +1 -9
  414. package/dist/components/af-table.d.ts +11 -0
  415. package/dist/components/af-table.js +1 -0
  416. package/dist/components/af-tag.js +1 -9
  417. package/dist/components/af-testimonial-carousel.js +1 -131
  418. package/dist/components/af-testimonial-stat.js +1 -57
  419. package/dist/components/af-testimonial.js +1 -88
  420. package/dist/components/af-text-image-nest.js +1 -51
  421. package/dist/components/af-text-image.js +1 -95
  422. package/dist/components/af-text.js +1 -9
  423. package/dist/components/af-textarea.js +1 -9
  424. package/dist/components/af-theme-override.js +1 -44
  425. package/dist/components/af-timeline-item.d.ts +11 -0
  426. package/dist/components/af-timeline-item.js +1 -0
  427. package/dist/components/af-timeline.d.ts +11 -0
  428. package/dist/components/af-timeline.js +1 -0
  429. package/dist/components/af-typography-lockup.js +1 -9
  430. package/dist/components/af-video-container.js +1 -70
  431. package/dist/components/af-visually-hidden.js +1 -45
  432. package/dist/components/index.d.ts +2 -0
  433. package/dist/components/index.js +1 -28
  434. package/dist/components/p-B6QLLKoY.js +1 -0
  435. package/dist/components/p-B9kn8bdv.js +1 -0
  436. package/dist/components/p-BAtqI56c.js +1 -0
  437. package/dist/components/p-BG8SGO9l.js +1 -0
  438. package/dist/components/p-BLUTekMF.js +1 -0
  439. package/dist/components/p-BSPfXvdg.js +1 -0
  440. package/dist/components/p-BY0PJL6j.js +1 -0
  441. package/dist/components/p-Be8v3CCM.js +1 -0
  442. package/dist/components/p-BkjX8JFj.js +1 -0
  443. package/dist/components/p-BnBr2-r-.js +1 -0
  444. package/dist/components/p-BofEd4yd.js +1 -0
  445. package/dist/components/p-C-g76Z9X.js +1 -0
  446. package/dist/components/p-C7rwjYr_.js +1 -0
  447. package/dist/components/p-CDl4Zk3-.js +1 -0
  448. package/dist/components/p-CEtIziSr.js +1 -0
  449. package/dist/components/p-CIaSTJo3.js +1 -0
  450. package/dist/components/p-Cdi63dq-.js +1 -0
  451. package/dist/components/p-ClOQFY2W.js +1 -0
  452. package/dist/components/p-CnKT-ePd.js +1 -0
  453. package/dist/components/p-Co9EDn2t.js +1 -0
  454. package/dist/components/p-Cye028UF.js +1 -0
  455. package/dist/components/p-D1moXdEA.js +1 -0
  456. package/dist/components/p-D6fHOYRF.js +1 -0
  457. package/dist/components/p-DEGKc9o3.js +1 -0
  458. package/dist/components/p-D_G6S5Se.js +1 -0
  459. package/dist/components/p-DhEHGrIu.js +1 -0
  460. package/dist/components/p-DifZ2dRU.js +1 -0
  461. package/dist/components/p-Dm7U4iyS.js +1 -0
  462. package/dist/components/p-DoMy-66y.js +1 -0
  463. package/dist/components/p-Dq8b9JgN.js +1 -0
  464. package/dist/components/p-XmBr9yw_.js +1 -0
  465. package/dist/components/p-Zzc36937.js +1 -0
  466. package/dist/components/p-bNBu9AML.js +1 -0
  467. package/dist/components/p-bknhsVLn.js +1 -0
  468. package/dist/components/p-mmJGfmyi.js +1 -0
  469. package/dist/components/p-t4S1PTqg.js +1 -0
  470. package/dist/esm/a11y-DEGKc9o3.js +346 -0
  471. package/dist/esm/af-accordion-item.entry.js +6 -5
  472. package/dist/esm/af-accordion.entry.js +6 -5
  473. package/dist/esm/af-action-item.entry.js +52 -0
  474. package/dist/esm/af-action-list.entry.js +35 -0
  475. package/dist/esm/af-area-chart.entry.js +270 -0
  476. package/dist/esm/af-aspect-ratio.entry.js +3 -4
  477. package/dist/esm/af-bar-chart.entry.js +343 -0
  478. package/dist/esm/af-button-group.entry.js +3 -4
  479. package/dist/esm/af-button.entry.js +5 -5
  480. package/dist/esm/af-callout.entry.js +64 -0
  481. package/dist/esm/af-card.entry.js +4 -5
  482. package/dist/esm/af-center.entry.js +4 -5
  483. package/dist/esm/af-chart-legend.entry.js +121 -0
  484. package/dist/esm/af-chart-section.entry.js +31 -0
  485. package/dist/esm/af-chart-tooltip.entry.js +79 -0
  486. package/dist/esm/af-checkbox.entry.js +3 -4
  487. package/dist/esm/af-client-carousel.entry.js +46 -11
  488. package/dist/esm/af-color-swatch.entry.js +3 -4
  489. package/dist/esm/af-contact-item.entry.js +4 -5
  490. package/dist/esm/af-container.entry.js +3 -4
  491. package/dist/esm/af-divider.entry.js +4 -5
  492. package/dist/esm/af-feature-accordion.entry.js +62 -8
  493. package/dist/esm/af-feature-card.entry.js +3 -4
  494. package/dist/esm/af-feature-grid.entry.js +7 -6
  495. package/dist/esm/af-fieldset.entry.js +3 -4
  496. package/dist/esm/af-footer-column.entry.js +4 -5
  497. package/dist/esm/af-footer-link.entry.js +4 -5
  498. package/dist/esm/af-footer.entry.js +4 -5
  499. package/dist/esm/af-grid-callout.entry.js +3 -4
  500. package/dist/esm/af-grid.entry.js +5 -6
  501. package/dist/esm/af-heading_5.entry.js +30 -20
  502. package/dist/esm/af-hero.entry.js +3 -4
  503. package/dist/esm/af-icon-box.entry.js +4 -5
  504. package/dist/esm/af-icon-button.entry.js +3 -4
  505. package/dist/esm/af-icon-text.entry.js +4 -5
  506. package/dist/esm/af-icon.entry.js +3 -4
  507. package/dist/esm/af-illustrated-card.entry.js +4 -5
  508. package/dist/esm/af-image.entry.js +30 -12
  509. package/dist/esm/af-in-page-banner.entry.js +4 -5
  510. package/dist/esm/af-inline.entry.js +4 -5
  511. package/dist/esm/af-input.entry.js +3 -4
  512. package/dist/esm/af-line-chart.entry.js +255 -0
  513. package/dist/esm/af-logo-mark.entry.js +25 -0
  514. package/dist/esm/af-logo-well.entry.js +4 -5
  515. package/dist/esm/af-nav-accordion-item.entry.js +8 -7
  516. package/dist/esm/af-nav-accordion.entry.js +4 -5
  517. package/dist/esm/af-nav-card.entry.js +3 -4
  518. package/dist/esm/af-nav-menu-nest.entry.js +5 -6
  519. package/dist/esm/af-nav-menu.entry.js +4 -5
  520. package/dist/esm/af-next-step-item.entry.js +31 -0
  521. package/dist/esm/af-next-steps.entry.js +38 -0
  522. package/dist/esm/af-number-badge.entry.js +5 -6
  523. package/dist/esm/af-numbered-stepper-item.entry.js +4 -5
  524. package/dist/esm/af-numbered-stepper.entry.js +4 -5
  525. package/dist/esm/af-paperclip-decoration.entry.js +4 -5
  526. package/dist/esm/af-pie-chart.entry.js +151 -0
  527. package/dist/esm/af-progress-line.entry.js +5 -6
  528. package/dist/esm/af-proposal-footer.entry.js +34 -0
  529. package/dist/esm/af-proposal-header.entry.js +28 -0
  530. package/dist/esm/af-radio.entry.js +3 -4
  531. package/dist/esm/af-section.entry.js +5 -6
  532. package/dist/esm/af-show.entry.js +4 -5
  533. package/dist/esm/af-social-link.entry.js +5 -6
  534. package/dist/esm/af-spacer.entry.js +4 -5
  535. package/dist/esm/af-split-section.entry.js +5 -6
  536. package/dist/esm/af-stack.entry.js +4 -5
  537. package/dist/esm/af-stat.entry.js +6 -5
  538. package/dist/esm/af-stats-row.entry.js +4 -5
  539. package/dist/esm/af-stepper-step.entry.js +4 -5
  540. package/dist/esm/af-stepper.entry.js +4 -5
  541. package/dist/esm/af-switch.entry.js +3 -4
  542. package/dist/esm/af-tab-bar.entry.js +3 -4
  543. package/dist/esm/af-tab.entry.js +3 -4
  544. package/dist/esm/af-table.entry.js +157 -0
  545. package/dist/esm/af-tag.entry.js +3 -4
  546. package/dist/esm/af-testimonial-carousel.entry.js +75 -22
  547. package/dist/esm/af-testimonial-stat.entry.js +9 -5
  548. package/dist/esm/af-testimonial.entry.js +5 -6
  549. package/dist/esm/af-text-image-nest.entry.js +4 -5
  550. package/dist/esm/af-text-image.entry.js +3 -4
  551. package/dist/esm/af-textarea.entry.js +3 -4
  552. package/dist/esm/af-theme-override.entry.js +4 -5
  553. package/dist/esm/af-timeline-item.entry.js +70 -0
  554. package/dist/esm/af-timeline.entry.js +220 -0
  555. package/dist/esm/af-typography-lockup.entry.js +11 -7
  556. package/dist/esm/af-video-container.entry.js +4 -5
  557. package/dist/esm/af-visually-hidden.entry.js +4 -5
  558. package/dist/esm/affinda.js +4 -5
  559. package/dist/esm/{index-CYq0zyKH.js → index-BjfY9fsk.js} +596 -378
  560. package/dist/esm/index.js +2 -3
  561. package/dist/esm/loader.js +3 -4
  562. package/dist/esm/scales-BSPfXvdg.js +188 -0
  563. package/dist/hydrate/index.d.ts +12 -0
  564. package/dist/hydrate/index.js +9919 -2463
  565. package/dist/hydrate/index.mjs +9918 -2464
  566. package/dist/types/components/af-action-item/af-action-item.d.ts +44 -0
  567. package/dist/types/components/af-action-list/af-action-list.d.ts +31 -0
  568. package/dist/types/components/af-area-chart/af-area-chart.d.ts +107 -0
  569. package/dist/types/components/af-bar-chart/af-bar-chart.d.ts +105 -0
  570. package/dist/types/components/af-callout/af-callout.d.ts +48 -0
  571. package/dist/types/components/af-chart-legend/af-chart-legend.d.ts +84 -0
  572. package/dist/types/components/af-chart-section/af-chart-section.d.ts +37 -0
  573. package/dist/types/components/af-chart-tooltip/af-chart-tooltip.d.ts +87 -0
  574. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +5 -0
  575. package/dist/types/components/af-feature-accordion/af-feature-accordion.d.ts +10 -0
  576. package/dist/types/components/af-icon/af-icon.d.ts +1 -1
  577. package/dist/types/components/af-icon-box/af-icon-box.d.ts +1 -1
  578. package/dist/types/components/af-icon-text/af-icon-text.d.ts +1 -1
  579. package/dist/types/components/af-image/af-image.d.ts +28 -9
  580. package/dist/types/components/af-line-chart/af-line-chart.d.ts +111 -0
  581. package/dist/types/components/af-logo-mark/af-logo-mark.d.ts +25 -0
  582. package/dist/types/components/af-navbar/af-navbar.d.ts +3 -1
  583. package/dist/types/components/af-next-step-item/af-next-step-item.d.ts +31 -0
  584. package/dist/types/components/af-next-steps/af-next-steps.d.ts +33 -0
  585. package/dist/types/components/af-pie-chart/af-pie-chart.d.ts +77 -0
  586. package/dist/types/components/af-proposal-footer/af-proposal-footer.d.ts +25 -0
  587. package/dist/types/components/af-proposal-header/af-proposal-header.d.ts +36 -0
  588. package/dist/types/components/af-stat/af-stat.d.ts +2 -0
  589. package/dist/types/components/af-table/af-table.d.ts +77 -0
  590. package/dist/types/components/af-testimonial/af-testimonial.d.ts +8 -0
  591. package/dist/types/components/af-testimonial-carousel/af-testimonial-carousel.d.ts +11 -2
  592. package/dist/types/components/af-timeline/af-timeline.d.ts +86 -0
  593. package/dist/types/components/af-timeline-item/af-timeline-item.d.ts +59 -0
  594. package/dist/types/components.d.ts +3464 -298
  595. package/dist/types/stencil-public-runtime.d.ts +110 -6
  596. package/dist/types/utils/charts/a11y.d.ts +43 -0
  597. package/dist/types/utils/charts/generators.d.ts +92 -0
  598. package/dist/types/utils/charts/index.d.ts +10 -0
  599. package/dist/types/utils/charts/scales.d.ts +80 -0
  600. package/dist/types/utils/charts/types.d.ts +79 -0
  601. package/package.json +24 -20
  602. package/dist/affinda/af-accordion-item.entry.esm.js.map +0 -1
  603. package/dist/affinda/af-accordion.entry.esm.js.map +0 -1
  604. package/dist/affinda/af-aspect-ratio.entry.esm.js.map +0 -1
  605. package/dist/affinda/af-button-group.entry.esm.js.map +0 -1
  606. package/dist/affinda/af-button.entry.esm.js.map +0 -1
  607. package/dist/affinda/af-card.entry.esm.js.map +0 -1
  608. package/dist/affinda/af-center.entry.esm.js.map +0 -1
  609. package/dist/affinda/af-checkbox.entry.esm.js.map +0 -1
  610. package/dist/affinda/af-client-carousel.entry.esm.js.map +0 -1
  611. package/dist/affinda/af-color-swatch.entry.esm.js.map +0 -1
  612. package/dist/affinda/af-contact-item.entry.esm.js.map +0 -1
  613. package/dist/affinda/af-container.entry.esm.js.map +0 -1
  614. package/dist/affinda/af-divider.entry.esm.js.map +0 -1
  615. package/dist/affinda/af-feature-accordion.entry.esm.js.map +0 -1
  616. package/dist/affinda/af-feature-card.entry.esm.js.map +0 -1
  617. package/dist/affinda/af-feature-grid.entry.esm.js.map +0 -1
  618. package/dist/affinda/af-fieldset.entry.esm.js.map +0 -1
  619. package/dist/affinda/af-footer-column.entry.esm.js.map +0 -1
  620. package/dist/affinda/af-footer-link.entry.esm.js.map +0 -1
  621. package/dist/affinda/af-footer.entry.esm.js.map +0 -1
  622. package/dist/affinda/af-grid-callout.entry.esm.js.map +0 -1
  623. package/dist/affinda/af-grid.entry.esm.js.map +0 -1
  624. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +0 -1
  625. package/dist/affinda/af-hero.entry.esm.js.map +0 -1
  626. package/dist/affinda/af-icon-box.entry.esm.js.map +0 -1
  627. package/dist/affinda/af-icon-button.entry.esm.js.map +0 -1
  628. package/dist/affinda/af-icon-text.entry.esm.js.map +0 -1
  629. package/dist/affinda/af-icon.entry.esm.js.map +0 -1
  630. package/dist/affinda/af-illustrated-card.entry.esm.js.map +0 -1
  631. package/dist/affinda/af-image.entry.esm.js.map +0 -1
  632. package/dist/affinda/af-in-page-banner.entry.esm.js.map +0 -1
  633. package/dist/affinda/af-inline.entry.esm.js.map +0 -1
  634. package/dist/affinda/af-input.entry.esm.js.map +0 -1
  635. package/dist/affinda/af-logo-well.entry.esm.js.map +0 -1
  636. package/dist/affinda/af-nav-accordion-item.entry.esm.js.map +0 -1
  637. package/dist/affinda/af-nav-accordion.entry.esm.js.map +0 -1
  638. package/dist/affinda/af-nav-card.entry.esm.js.map +0 -1
  639. package/dist/affinda/af-nav-menu-nest.entry.esm.js.map +0 -1
  640. package/dist/affinda/af-nav-menu.entry.esm.js.map +0 -1
  641. package/dist/affinda/af-number-badge.entry.esm.js.map +0 -1
  642. package/dist/affinda/af-numbered-stepper-item.entry.esm.js.map +0 -1
  643. package/dist/affinda/af-numbered-stepper.entry.esm.js.map +0 -1
  644. package/dist/affinda/af-paperclip-decoration.entry.esm.js.map +0 -1
  645. package/dist/affinda/af-progress-line.entry.esm.js.map +0 -1
  646. package/dist/affinda/af-radio.entry.esm.js.map +0 -1
  647. package/dist/affinda/af-section.entry.esm.js.map +0 -1
  648. package/dist/affinda/af-show.entry.esm.js.map +0 -1
  649. package/dist/affinda/af-social-link.entry.esm.js.map +0 -1
  650. package/dist/affinda/af-spacer.entry.esm.js.map +0 -1
  651. package/dist/affinda/af-split-section.entry.esm.js.map +0 -1
  652. package/dist/affinda/af-stack.entry.esm.js.map +0 -1
  653. package/dist/affinda/af-stat.entry.esm.js.map +0 -1
  654. package/dist/affinda/af-stats-row.entry.esm.js.map +0 -1
  655. package/dist/affinda/af-stepper-step.entry.esm.js.map +0 -1
  656. package/dist/affinda/af-stepper.entry.esm.js.map +0 -1
  657. package/dist/affinda/af-switch.entry.esm.js.map +0 -1
  658. package/dist/affinda/af-tab-bar.entry.esm.js.map +0 -1
  659. package/dist/affinda/af-tab.entry.esm.js.map +0 -1
  660. package/dist/affinda/af-tag.entry.esm.js.map +0 -1
  661. package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +0 -1
  662. package/dist/affinda/af-testimonial-stat.entry.esm.js.map +0 -1
  663. package/dist/affinda/af-testimonial.entry.esm.js.map +0 -1
  664. package/dist/affinda/af-text-image-nest.entry.esm.js.map +0 -1
  665. package/dist/affinda/af-text-image.entry.esm.js.map +0 -1
  666. package/dist/affinda/af-textarea.entry.esm.js.map +0 -1
  667. package/dist/affinda/af-theme-override.entry.esm.js.map +0 -1
  668. package/dist/affinda/af-typography-lockup.entry.esm.js.map +0 -1
  669. package/dist/affinda/af-video-container.entry.esm.js.map +0 -1
  670. package/dist/affinda/af-visually-hidden.entry.esm.js.map +0 -1
  671. package/dist/affinda/affinda.esm.js.map +0 -1
  672. package/dist/affinda/index.esm.js.map +0 -1
  673. package/dist/affinda/loader.esm.js.map +0 -1
  674. package/dist/affinda/p-01b848e9.entry.js +0 -2
  675. package/dist/affinda/p-01b848e9.entry.js.map +0 -1
  676. package/dist/affinda/p-025851ca.entry.js +0 -2
  677. package/dist/affinda/p-025851ca.entry.js.map +0 -1
  678. package/dist/affinda/p-0c7d81d0.entry.js +0 -2
  679. package/dist/affinda/p-0c7d81d0.entry.js.map +0 -1
  680. package/dist/affinda/p-0cbb1cb2.entry.js +0 -2
  681. package/dist/affinda/p-0cbb1cb2.entry.js.map +0 -1
  682. package/dist/affinda/p-11d41c9a.entry.js +0 -2
  683. package/dist/affinda/p-11d41c9a.entry.js.map +0 -1
  684. package/dist/affinda/p-1554f3d7.entry.js +0 -2
  685. package/dist/affinda/p-1554f3d7.entry.js.map +0 -1
  686. package/dist/affinda/p-160997b3.entry.js +0 -2
  687. package/dist/affinda/p-160997b3.entry.js.map +0 -1
  688. package/dist/affinda/p-1c19e94c.entry.js +0 -2
  689. package/dist/affinda/p-1c19e94c.entry.js.map +0 -1
  690. package/dist/affinda/p-1c922fff.entry.js +0 -2
  691. package/dist/affinda/p-1c922fff.entry.js.map +0 -1
  692. package/dist/affinda/p-1e59a051.entry.js +0 -2
  693. package/dist/affinda/p-1e59a051.entry.js.map +0 -1
  694. package/dist/affinda/p-20faf28d.entry.js +0 -2
  695. package/dist/affinda/p-20faf28d.entry.js.map +0 -1
  696. package/dist/affinda/p-223b2e70.entry.js +0 -2
  697. package/dist/affinda/p-223b2e70.entry.js.map +0 -1
  698. package/dist/affinda/p-2315cb6b.entry.js +0 -2
  699. package/dist/affinda/p-2315cb6b.entry.js.map +0 -1
  700. package/dist/affinda/p-2716cdc4.entry.js +0 -2
  701. package/dist/affinda/p-2716cdc4.entry.js.map +0 -1
  702. package/dist/affinda/p-296a6ece.entry.js +0 -2
  703. package/dist/affinda/p-296a6ece.entry.js.map +0 -1
  704. package/dist/affinda/p-2e67fb0d.entry.js +0 -2
  705. package/dist/affinda/p-2e67fb0d.entry.js.map +0 -1
  706. package/dist/affinda/p-319b51c7.entry.js +0 -2
  707. package/dist/affinda/p-319b51c7.entry.js.map +0 -1
  708. package/dist/affinda/p-31d96ddc.entry.js +0 -2
  709. package/dist/affinda/p-31d96ddc.entry.js.map +0 -1
  710. package/dist/affinda/p-39a40e6a.entry.js +0 -2
  711. package/dist/affinda/p-39a40e6a.entry.js.map +0 -1
  712. package/dist/affinda/p-3df90209.entry.js +0 -2
  713. package/dist/affinda/p-3df90209.entry.js.map +0 -1
  714. package/dist/affinda/p-3ed2eb32.entry.js +0 -2
  715. package/dist/affinda/p-3ed2eb32.entry.js.map +0 -1
  716. package/dist/affinda/p-3fb33478.entry.js +0 -2
  717. package/dist/affinda/p-3fb33478.entry.js.map +0 -1
  718. package/dist/affinda/p-47d2f72b.entry.js.map +0 -1
  719. package/dist/affinda/p-5e966aa6.entry.js +0 -2
  720. package/dist/affinda/p-5e966aa6.entry.js.map +0 -1
  721. package/dist/affinda/p-5fdb4aad.entry.js +0 -2
  722. package/dist/affinda/p-5fdb4aad.entry.js.map +0 -1
  723. package/dist/affinda/p-604399ed.entry.js +0 -2
  724. package/dist/affinda/p-604399ed.entry.js.map +0 -1
  725. package/dist/affinda/p-6525d4fe.entry.js +0 -2
  726. package/dist/affinda/p-6525d4fe.entry.js.map +0 -1
  727. package/dist/affinda/p-653bca57.entry.js +0 -2
  728. package/dist/affinda/p-653bca57.entry.js.map +0 -1
  729. package/dist/affinda/p-6c4137dc.entry.js +0 -2
  730. package/dist/affinda/p-6c4137dc.entry.js.map +0 -1
  731. package/dist/affinda/p-761f06ae.entry.js +0 -2
  732. package/dist/affinda/p-761f06ae.entry.js.map +0 -1
  733. package/dist/affinda/p-764601e6.entry.js +0 -2
  734. package/dist/affinda/p-764601e6.entry.js.map +0 -1
  735. package/dist/affinda/p-765883e7.entry.js +0 -2
  736. package/dist/affinda/p-765883e7.entry.js.map +0 -1
  737. package/dist/affinda/p-7b60b684.entry.js +0 -2
  738. package/dist/affinda/p-7b60b684.entry.js.map +0 -1
  739. package/dist/affinda/p-805148d0.entry.js +0 -2
  740. package/dist/affinda/p-805148d0.entry.js.map +0 -1
  741. package/dist/affinda/p-8eb57e35.entry.js +0 -2
  742. package/dist/affinda/p-8eb57e35.entry.js.map +0 -1
  743. package/dist/affinda/p-90e9e29c.entry.js +0 -2
  744. package/dist/affinda/p-90e9e29c.entry.js.map +0 -1
  745. package/dist/affinda/p-92c61bad.entry.js +0 -2
  746. package/dist/affinda/p-92c61bad.entry.js.map +0 -1
  747. package/dist/affinda/p-94119fa2.entry.js +0 -2
  748. package/dist/affinda/p-94119fa2.entry.js.map +0 -1
  749. package/dist/affinda/p-99b37588.entry.js +0 -2
  750. package/dist/affinda/p-99b37588.entry.js.map +0 -1
  751. package/dist/affinda/p-9c470a88.entry.js +0 -2
  752. package/dist/affinda/p-9c470a88.entry.js.map +0 -1
  753. package/dist/affinda/p-9c8d18a3.entry.js +0 -2
  754. package/dist/affinda/p-9c8d18a3.entry.js.map +0 -1
  755. package/dist/affinda/p-9d85f685.entry.js +0 -2
  756. package/dist/affinda/p-9d85f685.entry.js.map +0 -1
  757. package/dist/affinda/p-CYq0zyKH.js +0 -3
  758. package/dist/affinda/p-CYq0zyKH.js.map +0 -1
  759. package/dist/affinda/p-aa0cb70d.entry.js +0 -2
  760. package/dist/affinda/p-aa0cb70d.entry.js.map +0 -1
  761. package/dist/affinda/p-aabe4d24.entry.js +0 -2
  762. package/dist/affinda/p-aabe4d24.entry.js.map +0 -1
  763. package/dist/affinda/p-ae27e9da.entry.js +0 -2
  764. package/dist/affinda/p-ae27e9da.entry.js.map +0 -1
  765. package/dist/affinda/p-bc3d2bb4.entry.js +0 -2
  766. package/dist/affinda/p-bc3d2bb4.entry.js.map +0 -1
  767. package/dist/affinda/p-bc59dc0e.entry.js.map +0 -1
  768. package/dist/affinda/p-c6aa66f3.entry.js +0 -2
  769. package/dist/affinda/p-c6aa66f3.entry.js.map +0 -1
  770. package/dist/affinda/p-c87e5b29.entry.js +0 -2
  771. package/dist/affinda/p-c87e5b29.entry.js.map +0 -1
  772. package/dist/affinda/p-cd8cfa7f.entry.js +0 -2
  773. package/dist/affinda/p-cd8cfa7f.entry.js.map +0 -1
  774. package/dist/affinda/p-da247ea4.entry.js +0 -2
  775. package/dist/affinda/p-da247ea4.entry.js.map +0 -1
  776. package/dist/affinda/p-dd30a9b8.entry.js +0 -2
  777. package/dist/affinda/p-dd30a9b8.entry.js.map +0 -1
  778. package/dist/affinda/p-e10c03b6.entry.js +0 -2
  779. package/dist/affinda/p-e10c03b6.entry.js.map +0 -1
  780. package/dist/affinda/p-e2667603.entry.js +0 -2
  781. package/dist/affinda/p-e2667603.entry.js.map +0 -1
  782. package/dist/affinda/p-e678100f.entry.js +0 -2
  783. package/dist/affinda/p-e678100f.entry.js.map +0 -1
  784. package/dist/affinda/p-e8a91b15.entry.js +0 -2
  785. package/dist/affinda/p-e8a91b15.entry.js.map +0 -1
  786. package/dist/affinda/p-e9527b93.entry.js +0 -2
  787. package/dist/affinda/p-e9527b93.entry.js.map +0 -1
  788. package/dist/affinda/p-eb611fb5.entry.js +0 -2
  789. package/dist/affinda/p-eb611fb5.entry.js.map +0 -1
  790. package/dist/affinda/p-edb426e6.entry.js +0 -2
  791. package/dist/affinda/p-edb426e6.entry.js.map +0 -1
  792. package/dist/affinda/p-f38688c6.entry.js +0 -2
  793. package/dist/affinda/p-f38688c6.entry.js.map +0 -1
  794. package/dist/affinda/p-f47d0d2d.entry.js +0 -2
  795. package/dist/affinda/p-f47d0d2d.entry.js.map +0 -1
  796. package/dist/affinda/p-f49b41f9.entry.js +0 -2
  797. package/dist/affinda/p-f49b41f9.entry.js.map +0 -1
  798. package/dist/affinda/p-f5744d56.entry.js +0 -2
  799. package/dist/affinda/p-f5744d56.entry.js.map +0 -1
  800. package/dist/affinda/p-f6e1750e.entry.js +0 -2
  801. package/dist/affinda/p-f6e1750e.entry.js.map +0 -1
  802. package/dist/affinda/p-fad2d40b.entry.js +0 -2
  803. package/dist/affinda/p-fad2d40b.entry.js.map +0 -1
  804. package/dist/affinda/p-fc19f53c.entry.js +0 -2
  805. package/dist/affinda/p-fc19f53c.entry.js.map +0 -1
  806. package/dist/affinda/p-fd39a1c2.entry.js +0 -2
  807. package/dist/affinda/p-fd39a1c2.entry.js.map +0 -1
  808. package/dist/affinda/p-fe09a283.entry.js +0 -2
  809. package/dist/affinda/p-fe09a283.entry.js.map +0 -1
  810. package/dist/affinda/p-fee9359c.entry.js +0 -2
  811. package/dist/affinda/p-fee9359c.entry.js.map +0 -1
  812. package/dist/cjs/af-accordion-item.entry.cjs.js.map +0 -1
  813. package/dist/cjs/af-accordion.entry.cjs.js.map +0 -1
  814. package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +0 -1
  815. package/dist/cjs/af-button-group.entry.cjs.js.map +0 -1
  816. package/dist/cjs/af-button.entry.cjs.js.map +0 -1
  817. package/dist/cjs/af-card.entry.cjs.js.map +0 -1
  818. package/dist/cjs/af-center.entry.cjs.js.map +0 -1
  819. package/dist/cjs/af-checkbox.entry.cjs.js.map +0 -1
  820. package/dist/cjs/af-client-carousel.entry.cjs.js.map +0 -1
  821. package/dist/cjs/af-color-swatch.entry.cjs.js.map +0 -1
  822. package/dist/cjs/af-contact-item.entry.cjs.js.map +0 -1
  823. package/dist/cjs/af-container.entry.cjs.js.map +0 -1
  824. package/dist/cjs/af-divider.entry.cjs.js.map +0 -1
  825. package/dist/cjs/af-feature-accordion.entry.cjs.js.map +0 -1
  826. package/dist/cjs/af-feature-card.entry.cjs.js.map +0 -1
  827. package/dist/cjs/af-feature-grid.entry.cjs.js.map +0 -1
  828. package/dist/cjs/af-fieldset.entry.cjs.js.map +0 -1
  829. package/dist/cjs/af-footer-column.entry.cjs.js.map +0 -1
  830. package/dist/cjs/af-footer-link.entry.cjs.js.map +0 -1
  831. package/dist/cjs/af-footer.entry.cjs.js.map +0 -1
  832. package/dist/cjs/af-grid-callout.entry.cjs.js.map +0 -1
  833. package/dist/cjs/af-grid.entry.cjs.js.map +0 -1
  834. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +0 -1
  835. package/dist/cjs/af-hero.entry.cjs.js.map +0 -1
  836. package/dist/cjs/af-icon-box.entry.cjs.js.map +0 -1
  837. package/dist/cjs/af-icon-button.entry.cjs.js.map +0 -1
  838. package/dist/cjs/af-icon-text.entry.cjs.js.map +0 -1
  839. package/dist/cjs/af-icon.entry.cjs.js.map +0 -1
  840. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +0 -1
  841. package/dist/cjs/af-image.entry.cjs.js.map +0 -1
  842. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +0 -1
  843. package/dist/cjs/af-inline.entry.cjs.js.map +0 -1
  844. package/dist/cjs/af-input.entry.cjs.js.map +0 -1
  845. package/dist/cjs/af-logo-well.entry.cjs.js.map +0 -1
  846. package/dist/cjs/af-nav-accordion-item.entry.cjs.js.map +0 -1
  847. package/dist/cjs/af-nav-accordion.entry.cjs.js.map +0 -1
  848. package/dist/cjs/af-nav-card.entry.cjs.js.map +0 -1
  849. package/dist/cjs/af-nav-menu-nest.entry.cjs.js.map +0 -1
  850. package/dist/cjs/af-nav-menu.entry.cjs.js.map +0 -1
  851. package/dist/cjs/af-number-badge.entry.cjs.js.map +0 -1
  852. package/dist/cjs/af-numbered-stepper-item.entry.cjs.js.map +0 -1
  853. package/dist/cjs/af-numbered-stepper.entry.cjs.js.map +0 -1
  854. package/dist/cjs/af-paperclip-decoration.entry.cjs.js.map +0 -1
  855. package/dist/cjs/af-progress-line.entry.cjs.js.map +0 -1
  856. package/dist/cjs/af-radio.entry.cjs.js.map +0 -1
  857. package/dist/cjs/af-section.entry.cjs.js.map +0 -1
  858. package/dist/cjs/af-show.entry.cjs.js.map +0 -1
  859. package/dist/cjs/af-social-link.entry.cjs.js.map +0 -1
  860. package/dist/cjs/af-spacer.entry.cjs.js.map +0 -1
  861. package/dist/cjs/af-split-section.entry.cjs.js.map +0 -1
  862. package/dist/cjs/af-stack.entry.cjs.js.map +0 -1
  863. package/dist/cjs/af-stat.entry.cjs.js.map +0 -1
  864. package/dist/cjs/af-stats-row.entry.cjs.js.map +0 -1
  865. package/dist/cjs/af-stepper-step.entry.cjs.js.map +0 -1
  866. package/dist/cjs/af-stepper.entry.cjs.js.map +0 -1
  867. package/dist/cjs/af-switch.entry.cjs.js.map +0 -1
  868. package/dist/cjs/af-tab-bar.entry.cjs.js.map +0 -1
  869. package/dist/cjs/af-tab.entry.cjs.js.map +0 -1
  870. package/dist/cjs/af-tag.entry.cjs.js.map +0 -1
  871. package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +0 -1
  872. package/dist/cjs/af-testimonial-stat.entry.cjs.js.map +0 -1
  873. package/dist/cjs/af-testimonial.entry.cjs.js.map +0 -1
  874. package/dist/cjs/af-text-image-nest.entry.cjs.js.map +0 -1
  875. package/dist/cjs/af-text-image.entry.cjs.js.map +0 -1
  876. package/dist/cjs/af-textarea.entry.cjs.js.map +0 -1
  877. package/dist/cjs/af-theme-override.entry.cjs.js.map +0 -1
  878. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +0 -1
  879. package/dist/cjs/af-video-container.entry.cjs.js.map +0 -1
  880. package/dist/cjs/af-visually-hidden.entry.cjs.js.map +0 -1
  881. package/dist/cjs/affinda.cjs.js.map +0 -1
  882. package/dist/cjs/index-BuJz1C1M.js.map +0 -1
  883. package/dist/cjs/index.cjs.js.map +0 -1
  884. package/dist/cjs/loader.cjs.js.map +0 -1
  885. package/dist/collection/components/af-accordion/af-accordion.js.map +0 -1
  886. package/dist/collection/components/af-accordion-item/af-accordion-item.js.map +0 -1
  887. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.js.map +0 -1
  888. package/dist/collection/components/af-button/af-button.js.map +0 -1
  889. package/dist/collection/components/af-button-group/af-button-group.js.map +0 -1
  890. package/dist/collection/components/af-card/af-card.js.map +0 -1
  891. package/dist/collection/components/af-center/af-center.js.map +0 -1
  892. package/dist/collection/components/af-checkbox/af-checkbox.js.map +0 -1
  893. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +0 -1
  894. package/dist/collection/components/af-color-swatch/af-color-swatch.js.map +0 -1
  895. package/dist/collection/components/af-contact-item/af-contact-item.js.map +0 -1
  896. package/dist/collection/components/af-container/af-container.js.map +0 -1
  897. package/dist/collection/components/af-divider/af-divider.js.map +0 -1
  898. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js.map +0 -1
  899. package/dist/collection/components/af-feature-card/af-feature-card.js.map +0 -1
  900. package/dist/collection/components/af-feature-grid/af-feature-grid.js.map +0 -1
  901. package/dist/collection/components/af-fieldset/af-fieldset.js.map +0 -1
  902. package/dist/collection/components/af-footer/af-footer.js.map +0 -1
  903. package/dist/collection/components/af-footer-column/af-footer-column.js.map +0 -1
  904. package/dist/collection/components/af-footer-link/af-footer-link.js.map +0 -1
  905. package/dist/collection/components/af-grid/af-grid.js.map +0 -1
  906. package/dist/collection/components/af-grid-callout/af-grid-callout.js.map +0 -1
  907. package/dist/collection/components/af-heading/af-heading.js.map +0 -1
  908. package/dist/collection/components/af-hero/af-hero.js.map +0 -1
  909. package/dist/collection/components/af-icon/af-icon.js.map +0 -1
  910. package/dist/collection/components/af-icon-box/af-icon-box.js.map +0 -1
  911. package/dist/collection/components/af-icon-button/af-icon-button.js.map +0 -1
  912. package/dist/collection/components/af-icon-text/af-icon-text.js.map +0 -1
  913. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +0 -1
  914. package/dist/collection/components/af-image/af-image.js.map +0 -1
  915. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +0 -1
  916. package/dist/collection/components/af-inline/af-inline.js.map +0 -1
  917. package/dist/collection/components/af-input/af-input.js.map +0 -1
  918. package/dist/collection/components/af-logo/af-logo.js.map +0 -1
  919. package/dist/collection/components/af-logo-well/af-logo-well.js.map +0 -1
  920. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js.map +0 -1
  921. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js.map +0 -1
  922. package/dist/collection/components/af-nav-card/af-nav-card.js.map +0 -1
  923. package/dist/collection/components/af-nav-item/af-nav-item.js.map +0 -1
  924. package/dist/collection/components/af-nav-menu/af-nav-menu.js.map +0 -1
  925. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js.map +0 -1
  926. package/dist/collection/components/af-navbar/af-navbar.js.map +0 -1
  927. package/dist/collection/components/af-number-badge/af-number-badge.js.map +0 -1
  928. package/dist/collection/components/af-numbered-stepper/af-numbered-stepper.js.map +0 -1
  929. package/dist/collection/components/af-numbered-stepper-item/af-numbered-stepper-item.js.map +0 -1
  930. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js.map +0 -1
  931. package/dist/collection/components/af-progress-line/af-progress-line.js.map +0 -1
  932. package/dist/collection/components/af-radio/af-radio.js.map +0 -1
  933. package/dist/collection/components/af-section/af-section.js.map +0 -1
  934. package/dist/collection/components/af-show/af-show.js.map +0 -1
  935. package/dist/collection/components/af-social-link/af-social-link.js.map +0 -1
  936. package/dist/collection/components/af-spacer/af-spacer.js.map +0 -1
  937. package/dist/collection/components/af-split-section/af-split-section.js.map +0 -1
  938. package/dist/collection/components/af-stack/af-stack.js.map +0 -1
  939. package/dist/collection/components/af-stat/af-stat.js.map +0 -1
  940. package/dist/collection/components/af-stats-row/af-stats-row.js.map +0 -1
  941. package/dist/collection/components/af-stepper/af-stepper.js.map +0 -1
  942. package/dist/collection/components/af-stepper-step/af-stepper-step.js.map +0 -1
  943. package/dist/collection/components/af-switch/af-switch.js.map +0 -1
  944. package/dist/collection/components/af-tab/af-tab.js.map +0 -1
  945. package/dist/collection/components/af-tab-bar/af-tab-bar.js.map +0 -1
  946. package/dist/collection/components/af-tag/af-tag.js.map +0 -1
  947. package/dist/collection/components/af-testimonial/af-testimonial.js.map +0 -1
  948. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +0 -1
  949. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js.map +0 -1
  950. package/dist/collection/components/af-text/af-text.js.map +0 -1
  951. package/dist/collection/components/af-text-image/af-text-image.js.map +0 -1
  952. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js.map +0 -1
  953. package/dist/collection/components/af-textarea/af-textarea.js.map +0 -1
  954. package/dist/collection/components/af-theme-override/af-theme-override.js.map +0 -1
  955. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +0 -1
  956. package/dist/collection/components/af-video-container/af-video-container.js.map +0 -1
  957. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js.map +0 -1
  958. package/dist/collection/components.js.map +0 -1
  959. package/dist/collection/index.js.map +0 -1
  960. package/dist/collection/types.js.map +0 -1
  961. package/dist/components/af-accordion-item.js.map +0 -1
  962. package/dist/components/af-accordion.js.map +0 -1
  963. package/dist/components/af-aspect-ratio.js.map +0 -1
  964. package/dist/components/af-button-group.js.map +0 -1
  965. package/dist/components/af-button.js.map +0 -1
  966. package/dist/components/af-card.js.map +0 -1
  967. package/dist/components/af-center.js.map +0 -1
  968. package/dist/components/af-checkbox.js.map +0 -1
  969. package/dist/components/af-client-carousel.js.map +0 -1
  970. package/dist/components/af-color-swatch.js.map +0 -1
  971. package/dist/components/af-contact-item.js.map +0 -1
  972. package/dist/components/af-container.js.map +0 -1
  973. package/dist/components/af-divider.js.map +0 -1
  974. package/dist/components/af-feature-accordion.js.map +0 -1
  975. package/dist/components/af-feature-card.js.map +0 -1
  976. package/dist/components/af-feature-grid.js.map +0 -1
  977. package/dist/components/af-fieldset.js.map +0 -1
  978. package/dist/components/af-footer-column.js.map +0 -1
  979. package/dist/components/af-footer-link.js.map +0 -1
  980. package/dist/components/af-footer.js.map +0 -1
  981. package/dist/components/af-grid-callout.js.map +0 -1
  982. package/dist/components/af-grid.js.map +0 -1
  983. package/dist/components/af-heading.js.map +0 -1
  984. package/dist/components/af-hero.js.map +0 -1
  985. package/dist/components/af-icon-box.js.map +0 -1
  986. package/dist/components/af-icon-button.js.map +0 -1
  987. package/dist/components/af-icon-text.js.map +0 -1
  988. package/dist/components/af-icon.js.map +0 -1
  989. package/dist/components/af-illustrated-card.js.map +0 -1
  990. package/dist/components/af-image.js.map +0 -1
  991. package/dist/components/af-in-page-banner.js.map +0 -1
  992. package/dist/components/af-inline.js.map +0 -1
  993. package/dist/components/af-input.js.map +0 -1
  994. package/dist/components/af-logo-well.js.map +0 -1
  995. package/dist/components/af-logo.js.map +0 -1
  996. package/dist/components/af-nav-accordion-item.js.map +0 -1
  997. package/dist/components/af-nav-accordion.js.map +0 -1
  998. package/dist/components/af-nav-card.js.map +0 -1
  999. package/dist/components/af-nav-item.js.map +0 -1
  1000. package/dist/components/af-nav-menu-nest.js.map +0 -1
  1001. package/dist/components/af-nav-menu.js.map +0 -1
  1002. package/dist/components/af-navbar.js.map +0 -1
  1003. package/dist/components/af-number-badge.js.map +0 -1
  1004. package/dist/components/af-numbered-stepper-item.js.map +0 -1
  1005. package/dist/components/af-numbered-stepper.js.map +0 -1
  1006. package/dist/components/af-paperclip-decoration.js.map +0 -1
  1007. package/dist/components/af-progress-line.js.map +0 -1
  1008. package/dist/components/af-radio.js.map +0 -1
  1009. package/dist/components/af-section.js.map +0 -1
  1010. package/dist/components/af-show.js.map +0 -1
  1011. package/dist/components/af-social-link.js.map +0 -1
  1012. package/dist/components/af-spacer.js.map +0 -1
  1013. package/dist/components/af-split-section.js.map +0 -1
  1014. package/dist/components/af-stack.js.map +0 -1
  1015. package/dist/components/af-stat.js.map +0 -1
  1016. package/dist/components/af-stats-row.js.map +0 -1
  1017. package/dist/components/af-stepper-step.js.map +0 -1
  1018. package/dist/components/af-stepper.js.map +0 -1
  1019. package/dist/components/af-switch.js.map +0 -1
  1020. package/dist/components/af-tab-bar.js.map +0 -1
  1021. package/dist/components/af-tab.js.map +0 -1
  1022. package/dist/components/af-tag.js.map +0 -1
  1023. package/dist/components/af-testimonial-carousel.js.map +0 -1
  1024. package/dist/components/af-testimonial-stat.js.map +0 -1
  1025. package/dist/components/af-testimonial.js.map +0 -1
  1026. package/dist/components/af-text-image-nest.js.map +0 -1
  1027. package/dist/components/af-text-image.js.map +0 -1
  1028. package/dist/components/af-text.js.map +0 -1
  1029. package/dist/components/af-textarea.js.map +0 -1
  1030. package/dist/components/af-theme-override.js.map +0 -1
  1031. package/dist/components/af-typography-lockup.js.map +0 -1
  1032. package/dist/components/af-video-container.js.map +0 -1
  1033. package/dist/components/af-visually-hidden.js.map +0 -1
  1034. package/dist/components/index.js.map +0 -1
  1035. package/dist/components/p-B4bimVSM.js +0 -57
  1036. package/dist/components/p-B4bimVSM.js.map +0 -1
  1037. package/dist/components/p-B7J9U9if.js +0 -81
  1038. package/dist/components/p-B7J9U9if.js.map +0 -1
  1039. package/dist/components/p-BExjo6P2.js +0 -196
  1040. package/dist/components/p-BExjo6P2.js.map +0 -1
  1041. package/dist/components/p-B_r5b4JI.js +0 -70
  1042. package/dist/components/p-B_r5b4JI.js.map +0 -1
  1043. package/dist/components/p-BgQvXXuB.js +0 -108
  1044. package/dist/components/p-BgQvXXuB.js.map +0 -1
  1045. package/dist/components/p-BiSEOBg5.js +0 -48
  1046. package/dist/components/p-BiSEOBg5.js.map +0 -1
  1047. package/dist/components/p-BipyebXl.js +0 -50
  1048. package/dist/components/p-BipyebXl.js.map +0 -1
  1049. package/dist/components/p-Btpdr0Bi.js +0 -2416
  1050. package/dist/components/p-Btpdr0Bi.js.map +0 -1
  1051. package/dist/components/p-BwowgpiS.js +0 -52
  1052. package/dist/components/p-BwowgpiS.js.map +0 -1
  1053. package/dist/components/p-C05qWmXd.js +0 -59
  1054. package/dist/components/p-C05qWmXd.js.map +0 -1
  1055. package/dist/components/p-C1nX4HkM.js +0 -48
  1056. package/dist/components/p-C1nX4HkM.js.map +0 -1
  1057. package/dist/components/p-C8HmyE5-.js +0 -71
  1058. package/dist/components/p-C8HmyE5-.js.map +0 -1
  1059. package/dist/components/p-CMatO7AD.js +0 -372
  1060. package/dist/components/p-CMatO7AD.js.map +0 -1
  1061. package/dist/components/p-CNPKZ3ct.js +0 -55
  1062. package/dist/components/p-CNPKZ3ct.js.map +0 -1
  1063. package/dist/components/p-CSejCgwa.js +0 -89
  1064. package/dist/components/p-CSejCgwa.js.map +0 -1
  1065. package/dist/components/p-CTVS7dJ6.js +0 -62
  1066. package/dist/components/p-CTVS7dJ6.js.map +0 -1
  1067. package/dist/components/p-CeWN48Eq.js +0 -92
  1068. package/dist/components/p-CeWN48Eq.js.map +0 -1
  1069. package/dist/components/p-CixFE5Cu.js +0 -140
  1070. package/dist/components/p-CixFE5Cu.js.map +0 -1
  1071. package/dist/components/p-CkaL7yIW.js +0 -157
  1072. package/dist/components/p-CkaL7yIW.js.map +0 -1
  1073. package/dist/components/p-D5-m35gX.js +0 -44
  1074. package/dist/components/p-D5-m35gX.js.map +0 -1
  1075. package/dist/components/p-DMXuAjLo.js +0 -93
  1076. package/dist/components/p-DMXuAjLo.js.map +0 -1
  1077. package/dist/components/p-DPgWkfHr.js +0 -68
  1078. package/dist/components/p-DPgWkfHr.js.map +0 -1
  1079. package/dist/components/p-Dacy0GsN.js +0 -162
  1080. package/dist/components/p-Dacy0GsN.js.map +0 -1
  1081. package/dist/components/p-DrEl4PxE.js +0 -102
  1082. package/dist/components/p-DrEl4PxE.js.map +0 -1
  1083. package/dist/components/p-DrXw6vxx.js +0 -74
  1084. package/dist/components/p-DrXw6vxx.js.map +0 -1
  1085. package/dist/components/p-DxYqml-M.js +0 -94
  1086. package/dist/components/p-DxYqml-M.js.map +0 -1
  1087. package/dist/components/p-FV14KcoH.js +0 -45
  1088. package/dist/components/p-FV14KcoH.js.map +0 -1
  1089. package/dist/components/p-SGoxmRPn.js +0 -136
  1090. package/dist/components/p-SGoxmRPn.js.map +0 -1
  1091. package/dist/components/p-XmT5SQOF.js +0 -35
  1092. package/dist/components/p-XmT5SQOF.js.map +0 -1
  1093. package/dist/components/p-fLdNRQwR.js +0 -63
  1094. package/dist/components/p-fLdNRQwR.js.map +0 -1
  1095. package/dist/components/p-joRNg4Kk.js +0 -58
  1096. package/dist/components/p-joRNg4Kk.js.map +0 -1
  1097. package/dist/components/p-sIePTJnR.js +0 -51
  1098. package/dist/components/p-sIePTJnR.js.map +0 -1
  1099. package/dist/esm/af-accordion-item.entry.js.map +0 -1
  1100. package/dist/esm/af-accordion.entry.js.map +0 -1
  1101. package/dist/esm/af-aspect-ratio.entry.js.map +0 -1
  1102. package/dist/esm/af-button-group.entry.js.map +0 -1
  1103. package/dist/esm/af-button.entry.js.map +0 -1
  1104. package/dist/esm/af-card.entry.js.map +0 -1
  1105. package/dist/esm/af-center.entry.js.map +0 -1
  1106. package/dist/esm/af-checkbox.entry.js.map +0 -1
  1107. package/dist/esm/af-client-carousel.entry.js.map +0 -1
  1108. package/dist/esm/af-color-swatch.entry.js.map +0 -1
  1109. package/dist/esm/af-contact-item.entry.js.map +0 -1
  1110. package/dist/esm/af-container.entry.js.map +0 -1
  1111. package/dist/esm/af-divider.entry.js.map +0 -1
  1112. package/dist/esm/af-feature-accordion.entry.js.map +0 -1
  1113. package/dist/esm/af-feature-card.entry.js.map +0 -1
  1114. package/dist/esm/af-feature-grid.entry.js.map +0 -1
  1115. package/dist/esm/af-fieldset.entry.js.map +0 -1
  1116. package/dist/esm/af-footer-column.entry.js.map +0 -1
  1117. package/dist/esm/af-footer-link.entry.js.map +0 -1
  1118. package/dist/esm/af-footer.entry.js.map +0 -1
  1119. package/dist/esm/af-grid-callout.entry.js.map +0 -1
  1120. package/dist/esm/af-grid.entry.js.map +0 -1
  1121. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +0 -1
  1122. package/dist/esm/af-hero.entry.js.map +0 -1
  1123. package/dist/esm/af-icon-box.entry.js.map +0 -1
  1124. package/dist/esm/af-icon-button.entry.js.map +0 -1
  1125. package/dist/esm/af-icon-text.entry.js.map +0 -1
  1126. package/dist/esm/af-icon.entry.js.map +0 -1
  1127. package/dist/esm/af-illustrated-card.entry.js.map +0 -1
  1128. package/dist/esm/af-image.entry.js.map +0 -1
  1129. package/dist/esm/af-in-page-banner.entry.js.map +0 -1
  1130. package/dist/esm/af-inline.entry.js.map +0 -1
  1131. package/dist/esm/af-input.entry.js.map +0 -1
  1132. package/dist/esm/af-logo-well.entry.js.map +0 -1
  1133. package/dist/esm/af-nav-accordion-item.entry.js.map +0 -1
  1134. package/dist/esm/af-nav-accordion.entry.js.map +0 -1
  1135. package/dist/esm/af-nav-card.entry.js.map +0 -1
  1136. package/dist/esm/af-nav-menu-nest.entry.js.map +0 -1
  1137. package/dist/esm/af-nav-menu.entry.js.map +0 -1
  1138. package/dist/esm/af-number-badge.entry.js.map +0 -1
  1139. package/dist/esm/af-numbered-stepper-item.entry.js.map +0 -1
  1140. package/dist/esm/af-numbered-stepper.entry.js.map +0 -1
  1141. package/dist/esm/af-paperclip-decoration.entry.js.map +0 -1
  1142. package/dist/esm/af-progress-line.entry.js.map +0 -1
  1143. package/dist/esm/af-radio.entry.js.map +0 -1
  1144. package/dist/esm/af-section.entry.js.map +0 -1
  1145. package/dist/esm/af-show.entry.js.map +0 -1
  1146. package/dist/esm/af-social-link.entry.js.map +0 -1
  1147. package/dist/esm/af-spacer.entry.js.map +0 -1
  1148. package/dist/esm/af-split-section.entry.js.map +0 -1
  1149. package/dist/esm/af-stack.entry.js.map +0 -1
  1150. package/dist/esm/af-stat.entry.js.map +0 -1
  1151. package/dist/esm/af-stats-row.entry.js.map +0 -1
  1152. package/dist/esm/af-stepper-step.entry.js.map +0 -1
  1153. package/dist/esm/af-stepper.entry.js.map +0 -1
  1154. package/dist/esm/af-switch.entry.js.map +0 -1
  1155. package/dist/esm/af-tab-bar.entry.js.map +0 -1
  1156. package/dist/esm/af-tab.entry.js.map +0 -1
  1157. package/dist/esm/af-tag.entry.js.map +0 -1
  1158. package/dist/esm/af-testimonial-carousel.entry.js.map +0 -1
  1159. package/dist/esm/af-testimonial-stat.entry.js.map +0 -1
  1160. package/dist/esm/af-testimonial.entry.js.map +0 -1
  1161. package/dist/esm/af-text-image-nest.entry.js.map +0 -1
  1162. package/dist/esm/af-text-image.entry.js.map +0 -1
  1163. package/dist/esm/af-textarea.entry.js.map +0 -1
  1164. package/dist/esm/af-theme-override.entry.js.map +0 -1
  1165. package/dist/esm/af-typography-lockup.entry.js.map +0 -1
  1166. package/dist/esm/af-video-container.entry.js.map +0 -1
  1167. package/dist/esm/af-visually-hidden.entry.js.map +0 -1
  1168. package/dist/esm/affinda.js.map +0 -1
  1169. package/dist/esm/index-CYq0zyKH.js.map +0 -1
  1170. package/dist/esm/index.js.map +0 -1
  1171. package/dist/esm/loader.js.map +0 -1
@@ -1 +0,0 @@
1
- {"file":"af-aspect-ratio.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-button-group.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-button.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-card.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-center.js","mappings":";;AAAA,MAAM,WAAW,GAAG,wEAAwE;;MCe/EA,UAAQ,iBAAAC,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;AALrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;;;;AAKG;AACK,QAAA,IAAI,CAAA,IAAA,GAAS,MAAM;AAE3B;;;AAGG;AACK,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK;AA+BhC;IAvBC,MAAM,GAAA;AACJ,QAAA,MAAM,KAAK,GAA2B;YACpC,OAAO,EAAE,IAAI,CAAC,MAAM,GAAG,aAAa,GAAG,MAAM;SAC9C;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACtD,YAAA,KAAK,CAAC,cAAc,GAAG,QAAQ;;AAGjC,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;AACpD,YAAA,KAAK,CAAC,UAAU,GAAG,QAAQ;;AAG7B,QAAA,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS;;QAGlC,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,KAAK,EAAA,EAChB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfCenter","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-center/af-center.css?tag=af-center&encapsulation=shadow","src/components/af-center/af-center.tsx"],"sourcesContent":[":host {\n display: flex;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Axis = 'horizontal' | 'vertical' | 'both';\n\n/**\n * Center layout component for quickly centering content.\n * Supports horizontal, vertical, or both axes.\n *\n * @slot - Content to center\n */\n@Component({\n tag: 'af-center',\n styleUrl: 'af-center.css',\n shadow: true,\n})\nexport class AfCenter {\n /**\n * Which axis to center on.\n * - 'horizontal': Center horizontally (justify-content: center)\n * - 'vertical': Center vertically (align-items: center)\n * - 'both': Center on both axes\n */\n @Prop() axis: Axis = 'both';\n\n /**\n * Use inline-flex instead of flex.\n * Useful when the center container should only take up as much space as needed.\n */\n @Prop() inline: boolean = false;\n\n /**\n * Set a minimum height. Useful for vertical centering in a viewport.\n * Accepts any valid CSS value (e.g., '100vh', '400px').\n */\n @Prop() minHeight?: string;\n\n render() {\n const style: Record<string, string> = {\n display: this.inline ? 'inline-flex' : 'flex',\n };\n\n if (this.axis === 'horizontal' || this.axis === 'both') {\n style.justifyContent = 'center';\n }\n\n if (this.axis === 'vertical' || this.axis === 'both') {\n style.alignItems = 'center';\n }\n\n if (this.minHeight) {\n style.minHeight = this.minHeight;\n }\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-checkbox.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-client-carousel.js","mappings":";;AAAA,MAAM,mBAAmB,GAAG,8qHAA8qH;;MCmC7rHA,kBAAgB,iBAAAC,kBAAA,CAAA,MAAA,gBAAA,SAAAC,CAAA,CAAA;AAT7B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAaU,QAAA,IAAK,CAAA,KAAA,GAAU,SAAS;AAEhC;;;;;;;AAOG;AACK,QAAA,IAAI,CAAA,IAAA,GAAU,CAAC;AAEvB;;;;;;AAMG;AACK,QAAA,IAAI,CAAA,IAAA,GAAS,QAAQ;AAmE9B;IA9DC,gBAAgB,GAAA;;;AAGd,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE;AAC5B,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC;QAC7C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;AAC3B,YAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC;;;AAIjD;;;;;;;;;AASG;AACK,IAAA,qBAAqB,CAAC,KAA8B,EAAA;AAC1D,QAAA,IAAI,CAAC,KAAK;YAAE;QACZ,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CACjD,CAAC,KAAK,KAAK,CAAE,KAAqB,CAAC,YAAY,CAAC,qBAAqB,CAAC,CACvE;AACD,QAAA,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAI;YACvB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAgB;AAC/C,YAAA,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,CAAC;AAC7C,YAAA,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC;AACzC,YAAA,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC;AAC1B,SAAC,CAAC;;IAGJ,MAAM,GAAA;QACJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;;;QAI9B,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,CAAA,MAAA,EAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,CAAA,CAAE,EAAA,EAClD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAyB,sBAAA,EAAA,IAAI,CAAC,KAAK,CAAA,MAAA,EAAS,IAAI,CAAS,MAAA,EAAA,IAAI,CAAC,IAAI,CAAA,CAAE,EAAA,EAC9E,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAC7B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,0BAA0B,EAAA,EACnC,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EAAA,EAC3D,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAA,EAChB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR,CACH,CACF,EAEL,IAAI,KAAK,CAAC,KACT,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAA,EACpC,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EAAA,EAC3D,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,OAAO,EAAQ,CAAA,CACtB,CACF,CACP,CACG,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfClientCarousel","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-client-carousel/af-client-carousel.css?tag=af-client-carousel&encapsulation=scoped","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/* Respect reduced motion: stop the infinite scroll and hold at a\n * stable frame so logos remain visible instead of being offscreen. */\n@media (prefers-reduced-motion: reduce) {\n .logo-track,\n .scroll-left .logo-track,\n .scroll-right .logo-track {\n animation: none;\n transform: translateX(0);\n }\n}\n\n/* ==========================================================================\n Static Mode\n ==========================================================================\n Non-animated, centred row. Used when the logo set is small enough to\n fit on screen without scrolling (the former website LogoPillRow use\n case). The clone-for-seamless-loop is skipped in TSX, so each logo\n appears exactly once here. */\n.client-carousel.mode-static .logo-track {\n animation: none;\n /* The track is what we centre — the .carousel-row is full-width so\n * it can host the overflow cue in scroll mode; in static mode we\n * centre its child track instead of fighting the row's flex default. */\n justify-content: center;\n /* Let the track grow only as wide as its content so justify-content\n * on the parent row can actually centre it horizontally. */\n flex-wrap: wrap;\n width: 100%;\n}\n\n.client-carousel.mode-static .carousel-row {\n justify-content: center;\n /* Static rows have no scrolling motion to mask, so allow the row to\n * expand content-naturally instead of clipping at viewport edges. */\n overflow: visible;\n}\n\n.client-carousel.mode-static .carousel-container {\n /* Match the row's no-clip behaviour so wrapped logos stay visible. */\n overflow: visible;\n}\n\n.client-carousel.mode-static {\n /* Keep horizontal bleed contained for consistency with scroll mode. */\n overflow: hidden;\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 children (originals projected through the slot) and\n * JS-appended clones as flex rows. In scoped mode Stencil keeps all\n * this in light DOM, so a direct-descendant selector covers both. */\n.logo-track > * {\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/* ≤ tablet */\n@media (max-width: 1024px) {\n .client-carousel {\n padding: 32px 0;\n }\n}\n\n/* Mobile adjustments */\n/* ≤ mobile */\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, Element, h, Host, Prop } from '@stencil/core';\nimport type { Theme } from '../../types';\n\ntype Mode = 'scroll' | 'static';\n\n/**\n * Full-width row of client logos, either infinite-scrolling (default)\n * or a centred static row.\n *\n * This is a section-level component that spans full width.\n * Renders one or two rows; single row matches the Webflow reference,\n * two rows is the denser variant. When `mode=\"scroll\"` (default) rows\n * animate in opposite directions; when `mode=\"static\"` rows are centred\n * and the animation is disabled.\n *\n * For headlines, use a separate TypographyLockup or Heading component\n * above this carousel.\n *\n * **Seamless loop (scroll mode only):** the CSS animation translates\n * the track from 0% to -50% (or vice versa), which only looks continuous\n * if the track holds two identical copies of the content end-to-end.\n * Shadow DOM slots can only project content once, so we clone the\n * slotted nodes in `componentDidLoad` and append the copies to the track.\n * Static mode skips the clone — nothing is animating, so duplicating\n * the logos would just render them twice.\n */\n@Component({\n tag: 'af-client-carousel',\n styleUrl: 'af-client-carousel.css',\n // Scoped (not shadow) so that cloned nodes inherit the consumer's\n // external CSS (e.g. Astro-scoped `.logo-pill` on the SiteHeader\n // carousel). Shadow DOM would seal the clones off from outer styles.\n shadow: false,\n scoped: true,\n})\nexport class AfClientCarousel {\n @Element() el!: HTMLElement;\n\n /** Theme - sets background color and provides theme context to children */\n @Prop() theme: Theme = 'inkwell';\n\n /**\n * Number of rows.\n * - `1` (default) — single row, matches the Webflow reference.\n * - `2` — two rows (scroll in opposite directions, or stacked when static).\n *\n * When `rows=\"2\"`, slot `row-1` and `row-2` independently.\n * When `rows=\"1\"`, slot the default slot (unnamed) or `row-1`.\n */\n @Prop() rows: 1 | 2 = 1;\n\n /**\n * Layout mode.\n * - `scroll` (default) — infinite animated scroll; rows fill the full\n * width and are cloned for a seamless loop.\n * - `static` — no animation, logos centred horizontally. Use when the\n * logo set is small enough to fit on screen without scrolling.\n */\n @Prop() mode: Mode = 'scroll';\n\n private row1TrackRef?: HTMLElement;\n private row2TrackRef?: HTMLElement;\n\n componentDidLoad() {\n // Static mode doesn't animate, so the clone trick isn't needed —\n // skipping it avoids rendering every logo twice.\n if (this.mode === 'static') return;\n this.duplicateTrackContent(this.row1TrackRef);\n if (Number(this.rows) === 2) {\n this.duplicateTrackContent(this.row2TrackRef);\n }\n }\n\n /**\n * Append clones of every existing track child into the track so the\n * -50% translate animation loops seamlessly. Marks clones with\n * `aria-hidden` and `data-carousel-clone` so assistive tech ignores\n * them and we can skip them when re-duplicating.\n *\n * In scoped mode, slotted content is moved into the track as regular\n * children (there's no `<slot>` element to read from), so we just\n * iterate direct children that aren't themselves prior clones.\n */\n private duplicateTrackContent(track: HTMLElement | undefined) {\n if (!track) return;\n const originals = Array.from(track.children).filter(\n (child) => !(child as HTMLElement).hasAttribute('data-carousel-clone'),\n );\n originals.forEach((el) => {\n const clone = el.cloneNode(true) as HTMLElement;\n clone.setAttribute('data-carousel-clone', '');\n clone.setAttribute('aria-hidden', 'true');\n track.appendChild(clone);\n });\n }\n\n render() {\n const rows = Number(this.rows);\n // Direction classes are left on in static mode too — the `.mode-static`\n // CSS rule overrides `animation` to `none`, so the direction is a no-op\n // visually but keeps the markup shape consistent across modes.\n return (\n <Host class={`theme-${this.theme} mode-${this.mode}`}>\n <div class={`client-carousel theme-${this.theme} rows-${rows} mode-${this.mode}`}>\n <div class=\"carousel-container\">\n <div class=\"carousel-row scroll-left\">\n <div class=\"logo-track\" ref={(el) => (this.row1TrackRef = el)}>\n <slot name=\"row-1\">\n <slot></slot>\n </slot>\n </div>\n </div>\n\n {rows === 2 && (\n <div class=\"carousel-row scroll-right\">\n <div class=\"logo-track\" ref={(el) => (this.row2TrackRef = el)}>\n <slot name=\"row-2\"></slot>\n </div>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-color-swatch.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-contact-item.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,oeAAoe;;MCYhfA,eAAa,iBAAAC,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAN1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAQU,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE;;AAGlB,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE;AAiB3B;IAfC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACtB,IAAI,CAAC,KAAK,KACT,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAM,CAClD,EACA,IAAI,CAAC,KAAK,KACT,CAAG,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAE,EAAA,IAAI,CAAC,KAAK,CAAK,CAChD,EACD,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfContactItem","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-contact-item/af-contact-item.css?tag=af-contact-item&encapsulation=scoped","src/components/af-contact-item/af-contact-item.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.contact-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.contact-item__label {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n}\n\n.contact-item__value {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Contact item component for footer\n * Displays a label and value pair (e.g., \"Sales enquiries\" / \"contact@example.com\")\n */\n@Component({\n tag: 'af-contact-item',\n styleUrl: 'af-contact-item.css',\n shadow: false,\n scoped: true,\n})\nexport class AfContactItem {\n /** Contact label (e.g., \"Sales enquiries\") */\n @Prop() label: string = '';\n\n /** Contact value (e.g., email address) */\n @Prop() value: string = '';\n\n render() {\n return (\n <Host>\n <div class=\"contact-item\">\n {this.label && (\n <h5 class=\"contact-item__label\">{this.label}</h5>\n )}\n {this.value && (\n <p class=\"contact-item__value\">{this.value}</p>\n )}\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-container.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-divider.js","mappings":";;AAAA,MAAM,YAAY,GAAG,oWAAoW;;MCe5WA,WAAS,iBAAAC,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;AALtB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAgB,YAAY;AAE/C;;;;AAIG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,GAAG;AA6B/B;IA3BC,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,KAAK,UAAU;AAClD,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,KAAK,MAAM,GAAG,GAAG,GAAG,CAAA,YAAA,EAAe,IAAI,CAAC,OAAO,GAAG;QAEnF,MAAM,KAAK,GAA2B;AACpC,cAAE;AACE,gBAAA,UAAU,EAAE,YAAY;AACxB,gBAAA,WAAW,EAAE,YAAY;AAC1B;AACH,cAAE;AACE,gBAAA,SAAS,EAAE,YAAY;AACvB,gBAAA,YAAY,EAAE,YAAY;aAC3B;QAEL,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;AACL,gBAAA,SAAS,EAAE,IAAI;gBACf,qBAAqB,EAAE,CAAC,UAAU;AAClC,gBAAA,mBAAmB,EAAE,UAAU;AAChC,aAAA,EACD,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,WAAW,EAAA,kBAAA,EACE,IAAI,CAAC,WAAW,EAAA,CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfDivider","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-divider/af-divider.css?tag=af-divider&encapsulation=shadow","src/components/af-divider/af-divider.tsx"],"sourcesContent":[":host {\n box-sizing: border-box;\n flex-shrink: 0;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host(.divider--horizontal) {\n display: block;\n width: 100%;\n height: 1px;\n background-color: var(--colour-tints-inkwell-100, #d4d4d4);\n}\n\n:host(.divider--vertical) {\n display: inline-block;\n width: 1px;\n height: 100%;\n min-height: 1em;\n background-color: var(--colour-tints-inkwell-100, #d4d4d4);\n align-self: stretch;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type { Gap } from '../../types';\n\ntype Orientation = 'horizontal' | 'vertical';\ntype Spacing = Gap | 'none';\n\n/**\n * Divider component for visual separation between content.\n * Supports horizontal and vertical orientations with theme-aware styling.\n */\n@Component({\n tag: 'af-divider',\n styleUrl: 'af-divider.css',\n shadow: true,\n})\nexport class AfDivider {\n /**\n * Orientation of the divider.\n */\n @Prop() orientation: Orientation = 'horizontal';\n\n /**\n * Spacing (margin) around the divider using space tokens.\n * For horizontal: margin-top and margin-bottom\n * For vertical: margin-left and margin-right\n */\n @Prop() spacing: Spacing = '4';\n\n render() {\n const isVertical = this.orientation === 'vertical';\n const spacingValue = this.spacing === 'none' ? '0' : `var(--space-${this.spacing})`;\n\n const style: Record<string, string> = isVertical\n ? {\n marginLeft: spacingValue,\n marginRight: spacingValue,\n }\n : {\n marginTop: spacingValue,\n marginBottom: spacingValue,\n };\n\n return (\n <Host\n class={{\n 'divider': true,\n 'divider--horizontal': !isVertical,\n 'divider--vertical': isVertical,\n }}\n style={style}\n role=\"separator\"\n aria-orientation={this.orientation}\n ></Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-feature-accordion.js","mappings":"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","names":["AfFeatureAccordion","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-feature-accordion/af-feature-accordion.css?tag=af-feature-accordion&encapsulation=scoped","src/components/af-feature-accordion/af-feature-accordion.tsx"],"sourcesContent":["/*\n * af-feature-accordion\n * ---------------------------------------------------------------------------\n * Themable CSS custom properties (safe to override from consumers):\n *\n * --af-accent-progress Colour of the per-item timer/progress bar.\n * Defaults to --colour-softclay-600 (brand\n * soft-clay). Override to retheme the accent.\n * --af-feature-accordion-image-pad\n * Padding around the accompanying image\n * inside its rounded container. Defaults to\n * 40px — tune for tighter or looser rhythm.\n *\n * The component also inherits the following theme tokens from its parent\n * <af-section> (or any ancestor setting them):\n *\n * --af-typography-heading-primary heading colour\n * --af-typography-body-default body colour\n * --af-background-border-default rule/divider colour\n * --af-background-level-1 image-container background\n */\n\n:host {\n display: block;\n width: 100%;\n}\n\n.feature-accordion {\n /* Inherits theme from parent Section via CSS custom properties */\n padding: 0 24px;\n\n /* Internal custom properties that inherit from parent Section's theme */\n --_heading-color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));\n --_body-color: var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));\n --_border-color: var(--af-background-border-default, rgba(20, 52, 59, 0.12));\n}\n\n.feature-accordion__heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 400;\n font-size: clamp(36px, 5vw, 52px);\n line-height: 1.05;\n letter-spacing: -0.025em;\n color: var(--_heading-color);\n margin: 0 0 56px 0;\n}\n\n.feature-accordion__content {\n display: flex;\n gap: 48px;\n}\n\n/* Accordion List */\n.feature-accordion__list {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 0;\n}\n\n/* Accordion Item */\n.accordion-item {\n border-bottom: 1px solid var(--_border-color);\n}\n\n.accordion-item:first-child {\n border-top: 1px solid var(--_border-color);\n}\n\n.accordion-item__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n padding: 24px 0;\n background: none;\n border: none;\n cursor: pointer;\n text-align: left;\n gap: 16px;\n}\n\n.accordion-item__header:hover .accordion-item__title {\n color: var(--_heading-color);\n}\n\n.accordion-item__title {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 500;\n font-size: 22px;\n line-height: 1.25;\n color: var(--_heading-color);\n margin: 0;\n flex: 1;\n transition: color 0.2s ease;\n}\n\n/* Collapsed items have lighter text */\n.accordion-item:not(.accordion-item--expanded) .accordion-item__title {\n opacity: 0.7;\n}\n\n.accordion-item__icon {\n flex-shrink: 0;\n width: 24px;\n height: 24px;\n color: var(--_heading-color);\n transition:\n transform var(--motion-duration-base, 200ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1)),\n opacity var(--motion-duration-base, 200ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1));\n}\n\n.accordion-item__icon svg {\n display: block;\n width: 100%;\n height: 100%;\n overflow: visible;\n}\n\n/* Plus → minus morph: vertical bar collapses and the whole icon rotates\n 45° when expanding, giving a single, fluid gesture. */\n.accordion-item__icon-bar {\n transition:\n transform var(--motion-duration-base, 200ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1)),\n opacity var(--motion-duration-fast, 150ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1));\n transform-origin: 12px 12px;\n}\n\n.accordion-item--expanded .accordion-item__icon-bar--vert {\n transform: scaleY(0);\n opacity: 0;\n}\n\n.accordion-item:not(.accordion-item--expanded) .accordion-item__icon {\n opacity: 0.5;\n}\n\n.accordion-item__content {\n overflow: hidden;\n transition:\n max-height var(--motion-duration-slow, 300ms) var(--motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1)),\n opacity var(--motion-duration-slow, 300ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .accordion-item__icon,\n .accordion-item__icon-bar,\n .accordion-item__content,\n .accordion-item__title {\n transition-duration: 0.01ms;\n }\n}\n\n.accordion-item__description {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 400;\n font-size: 17px;\n line-height: 1.6;\n color: var(--_body-color);\n margin: 0 0 20px 0;\n padding-right: 40px;\n opacity: 0.85;\n}\n\n/* Timer track - the progress bar at the bottom of expanded items */\n.accordion-item__timer-track {\n height: 3px;\n background-color: var(--_border-color);\n border-radius: 2px;\n margin-bottom: 8px;\n overflow: hidden;\n display: flex;\n justify-content: flex-start;\n}\n\n.accordion-item__timer-progress {\n height: 100%;\n background-color: var(--af-accent-progress, var(--colour-softclay-600, #9e8765));\n border-radius: 2px;\n transition: width 0.05s linear;\n}\n\n/* Image Container - stretches full height to align with accordion */\n.feature-accordion__image-container {\n display: flex;\n align-items: center;\n justify-content: center;\n /* Flows from parent Section's theme; mist-green fallback for unthemed use */\n background-color: var(--af-background-level-1, var(--colour-mistgreen-300, #dde6e3));\n border-radius: 20px;\n overflow: hidden;\n flex: 1;\n min-width: 0;\n}\n\n.feature-accordion__image-wrapper {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n padding: var(--af-feature-accordion-image-pad, 40px);\n}\n\n.feature-accordion__image {\n max-width: 100%;\n max-height: 100%;\n width: auto;\n height: auto;\n object-fit: contain;\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);\n}\n\n.feature-accordion__image-placeholder {\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Tablet */\n/* ≤ tablet */\n@media (max-width: 1024px) {\n .feature-accordion__content {\n gap: 32px;\n }\n\n .feature-accordion__heading {\n margin-bottom: 40px;\n }\n\n .accordion-item__title {\n font-size: 20px;\n }\n}\n\n/* Mobile */\n/* mobile-only */\n@media (max-width: 768px) {\n .feature-accordion__content {\n flex-direction: column;\n gap: 32px;\n }\n\n .feature-accordion__image-container {\n order: -1;\n min-height: 280px;\n flex: none;\n }\n\n .feature-accordion__list {\n flex: none;\n }\n\n .accordion-item__title {\n font-size: 18px;\n }\n\n .accordion-item__description {\n font-size: 15px;\n padding-right: 0;\n }\n}\n","import { Component, h, Host, Prop, State, Element, Watch } from '@stencil/core';\n\nexport interface FeatureAccordionItem {\n title: string;\n description: string;\n imageUrl?: string;\n imageAlt?: string;\n}\n\n/**\n * Feature accordion component with expandable items and accompanying image.\n * Used for showcasing product features with visual examples.\n * Features auto-cycling through items with a progress timer.\n * \n * **Must be wrapped in a Section component** to inherit theme styling.\n * The component automatically adapts colors based on the parent Section's theme.\n * \n * @example\n * ```tsx\n * <Section theme=\"inkwell\">\n * <FeatureAccordion heading=\"Features\" items={...} />\n * </Section>\n * ```\n */\n@Component({\n tag: 'af-feature-accordion',\n styleUrl: 'af-feature-accordion.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFeatureAccordion {\n @Element() el!: HTMLElement;\n\n /** Section heading */\n @Prop() heading: string = 'Give AI agents your paperwork';\n\n /** JSON string of accordion items */\n @Prop() items: string = '[]';\n\n /** Auto-cycle interval in milliseconds (default: 6000ms = 6 seconds) */\n @Prop() cycleInterval: number = 6000;\n\n /** Whether auto-cycling is enabled */\n @Prop() autoCycle: boolean = true;\n\n /** Currently expanded item index */\n @State() expandedIndex: number = 0;\n\n /** Progress of current timer (0-100) */\n @State() timerProgress: number = 100;\n\n private progressTimer: number | null = null;\n private progressStartTime: number = 0;\n\n componentDidLoad() {\n if (this.autoCycle) {\n this.startCycling();\n }\n }\n\n disconnectedCallback() {\n this.stopCycling();\n }\n\n @Watch('autoCycle')\n handleAutoCycleChange(newValue: boolean) {\n if (newValue) {\n this.startCycling();\n } else {\n this.stopCycling();\n }\n }\n\n private getItems(): FeatureAccordionItem[] {\n try {\n return JSON.parse(this.items);\n } catch {\n return [];\n }\n }\n\n private startCycling() {\n this.stopCycling();\n this.progressStartTime = Date.now();\n this.timerProgress = 100;\n \n // Progress animation frame\n const updateProgress = () => {\n const elapsed = Date.now() - this.progressStartTime;\n const remaining = this.cycleInterval - elapsed;\n \n if (remaining <= 0) {\n this.moveToNextItem();\n } else {\n this.timerProgress = (remaining / this.cycleInterval) * 100;\n this.progressTimer = requestAnimationFrame(updateProgress);\n }\n };\n \n this.progressTimer = requestAnimationFrame(updateProgress);\n }\n\n private stopCycling() {\n if (this.progressTimer) {\n cancelAnimationFrame(this.progressTimer);\n this.progressTimer = null;\n }\n }\n\n private moveToNextItem() {\n const items = this.getItems();\n if (items.length === 0) return;\n \n this.expandedIndex = (this.expandedIndex + 1) % items.length;\n // Restart the cycling timer for the new item\n this.startCycling();\n }\n\n private handleItemClick(index: number) {\n // Reset timer when user clicks\n this.expandedIndex = index;\n // Restart the cycling timer for the clicked item\n if (this.autoCycle) {\n this.startCycling();\n }\n }\n\n render() {\n const items = this.getItems();\n const currentItem = items[this.expandedIndex];\n\n return (\n <Host>\n <div class=\"feature-accordion\">\n <div class=\"feature-accordion__container\">\n <h2 class=\"feature-accordion__heading\">{this.heading}</h2>\n \n <div class=\"feature-accordion__content\">\n {/* Left side - Accordion */}\n <div class=\"feature-accordion__list\">\n {items.map((item, index) => (\n <div \n class={{\n 'accordion-item': true,\n 'accordion-item--expanded': this.expandedIndex === index\n }}\n key={index}\n >\n <button\n class=\"accordion-item__header\"\n onClick={() => this.handleItemClick(index)}\n aria-expanded={this.expandedIndex === index ? 'true' : 'false'}\n >\n <h4 class=\"accordion-item__title\">{item.title}</h4>\n {/* Plus → minus: a single SVG with two strokes, the\n vertical one rotated-out to zero when expanded. This\n gives a fluid morph instead of swapping SVGs mid-\n animation. */}\n <span class=\"accordion-item__icon\" aria-hidden=\"true\">\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path class=\"accordion-item__icon-bar\" d=\"M5 12H19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n <path class=\"accordion-item__icon-bar accordion-item__icon-bar--vert\" d=\"M12 5V19\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n </span>\n </button>\n <div \n class=\"accordion-item__content\"\n style={{ \n maxHeight: this.expandedIndex === index ? '200px' : '0',\n opacity: this.expandedIndex === index ? '1' : '0'\n }}\n >\n <p class=\"accordion-item__description\">{item.description}</p>\n {this.expandedIndex === index && this.autoCycle && (\n <div class=\"accordion-item__timer-track\">\n <div \n class=\"accordion-item__timer-progress\"\n style={{ width: `${this.timerProgress}%` }}\n ></div>\n </div>\n )}\n </div>\n </div>\n ))}\n </div>\n\n {/* Right side - Image */}\n <div class=\"feature-accordion__image-container\">\n <div class=\"feature-accordion__image-wrapper\">\n {currentItem?.imageUrl && (\n <img \n src={currentItem.imageUrl} \n alt={currentItem.imageAlt || currentItem.title}\n class=\"feature-accordion__image\"\n />\n )}\n {!currentItem?.imageUrl && (\n <div class=\"feature-accordion__image-placeholder\">\n <slot name=\"image\"></slot>\n </div>\n )}\n </div>\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-feature-card.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-feature-grid.js","mappings":"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","names":["AfFeatureGrid","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-feature-grid/af-feature-grid.css?tag=af-feature-grid&encapsulation=scoped","src/components/af-feature-grid/af-feature-grid.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* ==========================================================================\n Base Feature Grid Styles\n ========================================================================== */\n\n.feature-grid {\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100%;\n}\n\n/* ==========================================================================\n Cards Container - CSS Grid Layout\n ========================================================================== */\n\n.feature-grid__cards {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 24px;\n width: 100%;\n max-width: 1440px;\n align-items: stretch;\n}\n\n/* Ensure feature cards fill their grid cells */\n.feature-grid__cards>af-feature-card {\n height: 100%;\n}\n\n/* Column variants */\n.feature-grid--cols-3 .feature-grid__cards {\n grid-template-columns: repeat(3, 1fr);\n}\n\n.feature-grid--cols-2 .feature-grid__cards {\n grid-template-columns: repeat(2, 1fr);\n}\n\n.feature-grid--cols-1 .feature-grid__cards {\n grid-template-columns: 1fr;\n}\n\n/* ==========================================================================\n Progress Line (scroll mode indicator)\n ========================================================================== */\n\n.feature-grid__progress {\n display: none;\n width: 100%;\n margin-top: 16px;\n}\n\n/* ==========================================================================\n Mobile Responsive Styles (max-width: 767px)\n ========================================================================== */\n\n/* ≤ mobile */\n@media (max-width: 767px) {\n .feature-grid__cards {\n gap: 16px;\n }\n\n /* Mobile List Mode - single column stack */\n .feature-grid--mobile-list .feature-grid__cards {\n grid-template-columns: 1fr;\n gap: 20px;\n }\n\n /* Mobile Grid Mode - keep 2 columns */\n .feature-grid--mobile-grid .feature-grid__cards {\n grid-template-columns: repeat(2, 1fr);\n }\n\n /* Mobile Scroll Mode - horizontal scroll */\n .feature-grid--mobile-scroll .feature-grid__cards {\n display: flex;\n flex-wrap: nowrap;\n overflow-x: auto;\n overflow-y: hidden;\n scroll-snap-type: x mandatory;\n -webkit-overflow-scrolling: touch;\n gap: 16px;\n padding-bottom: 8px;\n scrollbar-width: none;\n -ms-overflow-style: none;\n }\n\n .feature-grid--mobile-scroll .feature-grid__cards::-webkit-scrollbar {\n display: none;\n }\n\n .feature-grid--mobile-scroll .feature-grid__cards>af-feature-card {\n flex: 0 0 280px;\n scroll-snap-align: start;\n }\n\n .feature-grid--mobile-scroll .feature-grid__progress {\n display: block;\n }\n}\n\n/* ==========================================================================\n Tablet breakpoint (768px - 1023px)\n ========================================================================== */\n\n/* ≥ mobile and ≤ tablet */\n@media (min-width: 768px) and (max-width: 1023px) {\n .feature-grid__cards {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .feature-grid--cols-3 .feature-grid__cards,\n .feature-grid--cols-4 .feature-grid__cards {\n grid-template-columns: repeat(2, 1fr);\n }\n}","import { Component, Prop, State, h, Host, Element, Watch } from '@stencil/core';\n\n/**\n * Feature Grid component - CSS Grid container for feature cards.\n *\n * Desktop: Configurable columns (1-4)\n * Mobile: List (stacked), horizontal scroll, or 2-column grid\n *\n * @slot - Feature card components (af-feature-card)\n */\n@Component({\n tag: 'af-feature-grid',\n styleUrl: 'af-feature-grid.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFeatureGrid {\n @Element() host!: HTMLElement;\n\n /**\n * Number of columns on desktop (1-4).\n */\n @Prop() columns: 1 | 2 | 3 | 4 = 4;\n\n /**\n * Mobile layout behavior.\n * - 'list': Vertical stack (1 column)\n * - 'scroll': Horizontal scroll with progress indicator\n * - 'grid': Maintain 2-column grid on mobile\n */\n @Prop() mobileLayout: 'list' | 'scroll' | 'grid' = 'list';\n\n @State() scrollProgress: number = 0;\n\n private scrollContainer: HTMLElement | undefined;\n private observer: MutationObserver | undefined;\n private resizeObserver: ResizeObserver | undefined;\n\n componentDidLoad() {\n this.setupScrollListener();\n\n // Watch for cards being added (for React async rendering)\n this.observer = new MutationObserver(() => {\n this.setupScrollListener();\n });\n\n this.observer.observe(this.host, {\n childList: true,\n subtree: true,\n });\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n @Watch('mobileLayout')\n onMobileLayoutChange() {\n this.setupScrollListener();\n }\n\n private setupScrollListener() {\n if (this.scrollContainer) {\n this.scrollContainer.removeEventListener('scroll', this.handleScroll);\n }\n\n requestAnimationFrame(() => {\n this.scrollContainer = this.host.querySelector('.feature-grid__cards') as HTMLElement;\n\n if (this.scrollContainer && this.mobileLayout === 'scroll') {\n this.scrollContainer.addEventListener('scroll', this.handleScroll, { passive: true });\n this.handleScroll();\n\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n this.resizeObserver = new ResizeObserver(() => {\n this.handleScroll();\n });\n this.resizeObserver.observe(this.scrollContainer);\n }\n });\n }\n\n private handleScroll = () => {\n if (!this.scrollContainer) return;\n\n const { scrollLeft, scrollWidth, clientWidth } = this.scrollContainer;\n const maxScroll = scrollWidth - clientWidth;\n\n if (maxScroll > 0) {\n this.scrollProgress = scrollLeft / maxScroll;\n } else {\n this.scrollProgress = 0;\n }\n };\n\n render() {\n const gridClasses = {\n 'feature-grid': true,\n [`feature-grid--cols-${this.columns}`]: true,\n [`feature-grid--mobile-${this.mobileLayout}`]: true,\n };\n\n const showProgressLine = this.mobileLayout === 'scroll';\n\n return (\n <Host>\n <div class={gridClasses}>\n <div class=\"feature-grid__cards\">\n <slot></slot>\n </div>\n\n {showProgressLine && (\n <div class=\"feature-grid__progress\">\n <af-progress-line progress={this.scrollProgress} />\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-fieldset.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-footer-column.js","mappings":";;AAAA,MAAM,iBAAiB,GAAG,8iBAA8iB;;MCY3jBA,gBAAc,iBAAAC,kBAAA,CAAA,MAAA,cAAA,SAAAC,CAAA,CAAA;AAN3B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAQU,QAAA,IAAO,CAAA,OAAA,GAAW,EAAE;AAgB7B;IAdC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACvB,IAAI,CAAC,OAAO,KACX,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,wBAAwB,EAAE,EAAA,IAAI,CAAC,OAAO,CAAM,CACvD,EACD,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qBAAqB,EAAA,EAC7B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACV,CACD,CACD;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfFooterColumn","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-footer-column/af-footer-column.css?tag=af-footer-column&encapsulation=scoped","src/components/af-footer-column/af-footer-column.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.footer-column {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer-column__heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n text-transform: none;\n}\n\n.footer-column__list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.footer-column__list ::slotted(li) {\n margin: 0;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer navigation column component\n * Used within af-footer to create navigation link groups\n */\n@Component({\n tag: 'af-footer-column',\n styleUrl: 'af-footer-column.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooterColumn {\n /** Column heading */\n @Prop() heading: string = '';\n\n render() {\n return (\n <Host>\n <div class=\"footer-column\">\n {this.heading && (\n <h5 class=\"footer-column__heading\">{this.heading}</h5>\n )}\n <ul class=\"footer-column__list\">\n <slot></slot>\n </ul>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-footer-link.js","mappings":";;AAAA,MAAM,eAAe,GAAG,ifAAif;;MCY5fA,cAAY,iBAAAC,kBAAA,CAAA,MAAA,YAAA,SAAAC,CAAA,CAAA;AANzB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAQU,QAAA,IAAI,CAAA,IAAA,GAAW,GAAG;;AAGlB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAuBlC;IArBC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACE,CAAA,CAAA,GAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,aAAa,EACnB,MAAM,EAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,GAAG,SAAS,EAC5C,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,qBAAqB,GAAG,SAAS,EAAA,EAEtD,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACZ,IAAI,CAAC,QAAQ,KACZ,4DAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAA,EAC5F,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAC,EAAC,qFAAqF,EAAC,MAAM,EAAC,cAAc,kBAAc,KAAK,EAAA,gBAAA,EAAgB,OAAO,EAAiB,iBAAA,EAAA,OAAO,GAAE,CACnL,CACP,CACC,CACD,CACA;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfFooterLink","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-footer-link/af-footer-link.css?tag=af-footer-link&encapsulation=scoped","src/components/af-footer-link/af-footer-link.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\nli {\n margin: 0;\n list-style: none;\n}\n\n.footer-link {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: none;\n transition: color 0.2s ease;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.footer-link:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n}\n\n.footer-link__external-icon {\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer link component\n * Styled link for use in footer navigation columns\n */\n@Component({\n tag: 'af-footer-link',\n styleUrl: 'af-footer-link.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooterLink {\n /** Link URL */\n @Prop() href: string = '#';\n\n /** Whether this is an external link (opens in new tab) */\n @Prop() external: boolean = false;\n\n render() {\n return (\n <Host>\n <li>\n <a \n href={this.href} \n class=\"footer-link\"\n target={this.external ? '_blank' : undefined}\n rel={this.external ? 'noopener noreferrer' : undefined}\n >\n <slot></slot>\n {this.external && (\n <svg class=\"footer-link__external-icon\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\n <path d=\"M10 6.5v3a1 1 0 0 1-1 1H2.5a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1h3M7.5 1.5h3v3M5.5 6.5l5-5\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n )}\n </a>\n </li>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-footer.js","mappings":"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","names":["AfFooter","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-footer/af-footer.css?tag=af-footer&encapsulation=scoped","src/components/af-footer/af-footer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.footer {\n background-color: var(--colour-brand-inkwell, #14343b);\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n padding: 120px 0 0; /* Extra padding at top for overlapping cards */\n}\n\n.footer__container {\n max-width: 1280px;\n margin: 0 auto;\n padding: 0 24px;\n}\n\n/* Top section layout */\n.footer__top {\n display: grid;\n grid-template-columns: 380px 1fr;\n gap: 48px;\n padding-bottom: 48px;\n}\n\n/* Brand column (left side) */\n.footer__brand {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__brand-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 32px;\n}\n\n.footer__logo {\n margin-bottom: 24px;\n}\n\n.footer__logo svg,\n.footer__logo img {\n height: 32px;\n width: auto;\n}\n\n.footer__social {\n display: flex;\n gap: 12px;\n}\n\n.footer__social-link {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 48px;\n height: 48px;\n border: 1px solid rgba(198, 213, 209, 0.3);\n border-radius: 50%;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n transition: all 0.2s ease;\n}\n\n.footer__social-link:hover {\n background-color: rgba(198, 213, 209, 0.1);\n border-color: rgba(198, 213, 209, 0.5);\n}\n\n.footer__contact-card {\n background-color: rgba(198, 213, 209, 0.08);\n border-radius: 16px;\n padding: 24px 32px;\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.footer__contact-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.footer__contact-label {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n}\n\n.footer__contact-value {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n/* Navigation section (right side) */\n.footer__nav {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n}\n\n.footer__nav-columns {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 32px;\n}\n\n.footer__nav-column {\n display: flex;\n flex-direction: column;\n gap: 16px;\n}\n\n.footer__nav-heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 600;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n margin: 0;\n text-transform: none;\n}\n\n.footer__nav-list {\n list-style: none;\n margin: 0;\n padding: 0;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.footer__nav-list li {\n margin: 0;\n}\n\n.footer__nav-list a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n font-weight: 400;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: none;\n transition: color 0.2s ease;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n}\n\n.footer__nav-list a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n}\n\n.footer__external-icon {\n opacity: 0.7;\n flex-shrink: 0;\n}\n\n/* Status indicator */\n.footer__status {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 32px;\n padding-top: 24px;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n}\n\n.footer__status-dot {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n flex-shrink: 0;\n}\n\n.footer__status-dot--operational {\n /* Affinda-palette green — tuned to sit comfortably against the inkwell\n * footer backdrop without the candy-bright Tailwind default. */\n background-color: var(--status-ok, #3E8F6E);\n}\n\n.footer__status-dot--issue {\n /* Affinda-palette red — darkened toward soft-clay to match brand tone. */\n background-color: var(--status-issue, #B94A3B);\n}\n\n.footer__status-text {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n}\n\n.footer__status-link {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: underline;\n text-underline-offset: 2px;\n margin-left: 8px;\n}\n\n.footer__status-link:hover {\n text-decoration: none;\n}\n\n/* Bottom section */\n.footer__bottom {\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-wrap: wrap;\n gap: 24px;\n padding: 24px 0;\n border-top: 1px solid rgba(198, 213, 209, 0.1);\n background-color: rgba(198, 213, 209, 0.05);\n margin: 0 -24px;\n /* Honour iOS safe-area insets so the copyright strip doesn't sit under the\n home indicator (bottom) or under landscape edge cutouts (left/right). */\n padding-left: calc(24px + env(safe-area-inset-left));\n padding-right: calc(24px + env(safe-area-inset-right));\n padding-bottom: max(24px, env(safe-area-inset-bottom));\n}\n\n.footer__copyright {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n margin: 0;\n}\n\n.footer__legal {\n display: flex;\n gap: 24px;\n}\n\n.footer__legal a {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n color: rgba(198, 213, 209, 0.7);\n text-decoration: underline;\n text-underline-offset: 2px;\n}\n\n.footer__legal a:hover {\n color: var(--colour-tints-mistGreen-200, #C6D5D1);\n text-decoration: none;\n}\n\n.footer__badges {\n display: flex;\n gap: 16px;\n align-items: center;\n}\n\n.footer__badge {\n width: 48px;\n height: 48px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.footer__badge svg {\n width: 100%;\n height: 100%;\n}\n\n/* Responsive styles */\n/* ≤ tablet */\n@media (max-width: 1024px) {\n .footer__top {\n grid-template-columns: 1fr;\n gap: 48px;\n }\n\n .footer__brand {\n flex-direction: row;\n gap: 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n flex: 1;\n }\n}\n\n/* mobile-only */\n@media (max-width: 768px) {\n .footer {\n padding: 48px 0 0;\n }\n\n .footer__top {\n gap: 32px;\n }\n\n .footer__brand {\n flex-direction: column;\n }\n\n .footer__nav-columns {\n grid-template-columns: repeat(2, 1fr);\n gap: 32px;\n }\n\n .footer__bottom {\n flex-direction: column;\n align-items: flex-start;\n gap: 16px;\n }\n\n .footer__legal {\n flex-wrap: wrap;\n gap: 16px;\n }\n}\n\n/* ≤ small */\n@media (max-width: 480px) {\n .footer__container {\n padding: 0 16px;\n }\n\n .footer__brand-card,\n .footer__contact-card {\n padding: 24px;\n }\n\n .footer__nav-columns {\n grid-template-columns: 1fr;\n gap: 24px;\n }\n\n .footer__bottom {\n margin: 0 -16px;\n padding-left: calc(16px + env(safe-area-inset-left));\n padding-right: calc(16px + env(safe-area-inset-right));\n /* padding-bottom inherits from base rule with max(24px, safe-area-inset-bottom) */\n }\n\n .footer__badges {\n width: 100%;\n justify-content: flex-start;\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Footer component for marketing pages\n * Provides a flexible, slot-based layout for footer content\n * All content is passed via slots - no hardcoded links or content\n */\n@Component({\n tag: 'af-footer',\n styleUrl: 'af-footer.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFooter {\n /** Copyright text (e.g., \"© 2025 Company Name. All rights reserved.\") */\n @Prop() copyrightText: string = '';\n\n /** Status message text */\n @Prop() statusText: string = '';\n\n /** Status page URL */\n @Prop() statusUrl: string = '';\n\n /** Whether systems are operational (shows green/red indicator) */\n @Prop() systemsOperational: boolean = true;\n\n /** Whether to show the status indicator */\n @Prop() showStatus: boolean = true;\n\n render() {\n return (\n <Host>\n <footer class=\"footer\">\n <div class=\"footer__container\">\n {/* Top section */}\n <div class=\"footer__top\">\n {/* Left column - Brand area */}\n <div class=\"footer__brand\">\n <div class=\"footer__brand-card\">\n <div class=\"footer__logo\">\n <slot name=\"logo\"></slot>\n </div>\n <div class=\"footer__social\">\n <slot name=\"social\"></slot>\n </div>\n </div>\n\n <div class=\"footer__contact-card\">\n <slot name=\"contact\"></slot>\n </div>\n </div>\n\n {/* Right section - Navigation columns */}\n <div class=\"footer__nav\">\n <div class=\"footer__nav-columns\">\n <slot name=\"nav\"></slot>\n </div>\n\n {/* Status indicator */}\n {this.showStatus && (\n <div class=\"footer__status\">\n <span class={`footer__status-dot ${this.systemsOperational ? 'footer__status-dot--operational' : 'footer__status-dot--issue'}`}></span>\n <span class=\"footer__status-text\">\n {this.statusText}\n </span>\n {this.statusUrl && (\n <a href={this.statusUrl} target=\"_blank\" rel=\"noopener noreferrer\" class=\"footer__status-link\">\n Learn more\n </a>\n )}\n </div>\n )}\n </div>\n </div>\n\n {/* Bottom section */}\n <div class=\"footer__bottom\">\n {this.copyrightText && (\n <p class=\"footer__copyright\">{this.copyrightText}</p>\n )}\n \n <div class=\"footer__legal\">\n <slot name=\"legal\"></slot>\n </div>\n\n <div class=\"footer__badges\">\n <slot name=\"badges\"></slot>\n </div>\n </div>\n </div>\n </footer>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-grid-callout.js","mappings":";;;AAAA,MAAM,gBAAgB,GAAG,wrGAAwrG;;MC0CpsGA,eAAa,iBAAAC,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAN1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAYE;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE;AAE7B;;AAEG;AACK,QAAA,IAAa,CAAA,aAAA,GAAqB,MAAM;AAEhD;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAc,CAAC;AAE9B;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAsB,CAAC;AAiE3C;IA/DC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ;AAEhC,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,cAAc,EAAE,IAAI;AACpB,YAAA,yBAAyB,EAAE,QAAQ;YACnC,wBAAwB,EAAE,CAAC,QAAQ;AACnC,YAAA,CAAC,uBAAuB,IAAI,CAAC,aAAa,CAAE,CAAA,GAAG,QAAQ;SACxD;AAED,QAAA,MAAM,WAAW,GAAG;AAClB,YAAA,qBAAqB,EAAE,IAAI;AAC3B,YAAA,CAAC,6BAA6B,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;SACpD;QAED,MAAM,WAAW,GAAG,MAAK;AACvB,YAAA,IAAI,CAAC,QAAQ;AAAE,gBAAA,OAAO,IAAI;AAE1B,YAAA,QACE,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,+BAA+B,EAAA,EACxC,CAAA,CAAA,KAAA,EAAA,EACE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,GAAG,EAAE,IAAI,CAAC,QAAQ,EAClB,KAAK,EAAC,qBAAqB,EAC3B,CAAA,CACE;AAEV,SAAC;QAED,MAAM,aAAa,GAAG,OACpB,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,uBAAuB,EAAA,EAChC,CAAA,CAAA,sBAAA,EAAA,EACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAC,MAAM,EACpB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAC,uBAAuB,EAAA,EAE7B,CAAa,CAAA,MAAA,EAAA,IAAA,CAAA,EACb,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,aAAa,EAAA,EACtB,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,aAAa,EAAA,CAAQ,CAC3B,CACc,EAEvB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,WAAW,EAAA,EACrB,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,OAAO,EAAA,CAAQ,CACtB,EAEN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,mBAAmB,EAAA,EAC5B,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,KAAK,GAAQ,CACpB,CACF,CACP;AAED,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,gBAAgB,EAAA,EACzB,IAAI,CAAC,aAAa,KAAK,MAAM,IAAI,WAAW,EAAE,EAC9C,aAAa,EAAE,EACf,IAAI,CAAC,aAAa,KAAK,OAAO,IAAI,WAAW,EAAE,CAC5C,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfGridCallout","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-grid-callout/af-grid-callout.css?tag=af-grid-callout&encapsulation=scoped","src/components/af-grid-callout/af-grid-callout.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.grid-callout {\n display: flex;\n width: 100%;\n gap: 40px;\n align-items: stretch;\n}\n\n/* ==========================================================================\n Image Container - Pill shape with rounded right edge\n ========================================================================== */\n\n.grid-callout__image-container {\n flex: 0 0 auto;\n width: 45%;\n min-height: 400px;\n position: relative;\n overflow: hidden;\n}\n\n/* Left position - rounded on right side */\n.grid-callout--image-left .grid-callout__image-container {\n border-radius: 0 4000px 4000px 0;\n margin-left: calc(-1 * var(--container-padding, 80px));\n}\n\n/* Right position - rounded on left side */\n.grid-callout--image-right .grid-callout__image-container {\n border-radius: 4000px 0 0 4000px;\n margin-right: calc(-1 * var(--container-padding, 80px));\n}\n\n.grid-callout__image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n/* ==========================================================================\n Content Area\n ========================================================================== */\n\n.grid-callout__content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 48px;\n padding: 40px 0;\n}\n\n/* Add left padding when image is on left */\n.grid-callout--image-left .grid-callout__content {\n padding-left: 40px;\n}\n\n/* Add right padding when image is on right */\n.grid-callout--image-right .grid-callout__content {\n padding-right: 40px;\n}\n\n/* No image layout - full width content */\n.grid-callout--no-image {\n flex-direction: column;\n}\n\n.grid-callout--no-image .grid-callout__content {\n padding: 0;\n}\n\n.grid-callout__heading {\n max-width: 840px;\n}\n\n/* ==========================================================================\n Items Grid\n ========================================================================== */\n\n.grid-callout__items {\n display: grid;\n gap: 40px;\n width: 100%;\n}\n\n.grid-callout__items--cols-2 {\n grid-template-columns: repeat(2, 1fr);\n}\n\n.grid-callout__items--cols-3 {\n grid-template-columns: repeat(3, 1fr);\n}\n\n.grid-callout__items--cols-4 {\n grid-template-columns: repeat(4, 1fr);\n}\n\n/* ==========================================================================\n CTA Area\n ========================================================================== */\n\n.grid-callout__cta {\n display: flex;\n gap: 12px;\n flex-wrap: wrap;\n}\n\n.grid-callout__cta:empty {\n display: none;\n}\n\n/* ==========================================================================\n Responsive - Tablet\n ========================================================================== */\n\n/* ≤ tablet */\n@media (max-width: 1024px) {\n .grid-callout {\n gap: 32px;\n }\n\n .grid-callout__image-container {\n width: 40%;\n }\n\n .grid-callout__content {\n gap: 40px;\n }\n\n .grid-callout__items--cols-3,\n .grid-callout__items--cols-4 {\n grid-template-columns: repeat(2, 1fr);\n }\n\n .grid-callout__items {\n gap: 32px;\n }\n}\n\n/* ==========================================================================\n Responsive - Mobile\n ========================================================================== */\n\n/* mobile-only */\n@media (max-width: 768px) {\n .grid-callout {\n flex-direction: column;\n gap: 32px;\n }\n\n .grid-callout__image-container {\n width: calc(100% + 2 * var(--container-padding, 20px));\n min-height: 280px;\n margin-left: calc(-1 * var(--container-padding, 20px));\n margin-right: calc(-1 * var(--container-padding, 20px));\n border-radius: 0;\n }\n\n /* Reset rounded corners on mobile */\n .grid-callout--image-left .grid-callout__image-container,\n .grid-callout--image-right .grid-callout__image-container {\n border-radius: 0;\n margin-left: calc(-1 * var(--container-padding, 20px));\n margin-right: calc(-1 * var(--container-padding, 20px));\n }\n\n .grid-callout__content {\n padding: 0;\n gap: 32px;\n }\n\n .grid-callout--image-left .grid-callout__content,\n .grid-callout--image-right .grid-callout__content {\n padding-left: 0;\n padding-right: 0;\n }\n\n .grid-callout__items {\n grid-template-columns: 1fr;\n gap: 32px;\n }\n\n .grid-callout__items--cols-2,\n .grid-callout__items--cols-3,\n .grid-callout__items--cols-4 {\n grid-template-columns: 1fr;\n }\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * GridCallout organism - a marketing section combining an optional pill-shaped image \n * with a grid of IconText feature items.\n * \n * Composes:\n * - Pill-shaped image container (optional)\n * - Heading via af-typography-lockup\n * - Grid of af-icon-text items\n * - Optional CTA button\n * \n * Inherits theme colors from parent af-section via CSS custom properties.\n * \n * @slot - Main heading text\n * @slot description - Optional description/subheading text\n * @slot items - IconText components for the feature grid\n * @slot cta - CTA button(s) at the bottom\n * \n * @example\n * ```html\n * <af-section theme=\"mist-green\">\n * <af-grid-callout image-src=\"/team.jpg\" image-alt=\"Team photo\">\n * Affinda blends AI and engineering\n * <span slot=\"description\">Optional description text.</span>\n * \n * <af-icon-text slot=\"items\" icon=\"settings\">\n * Feature One\n * <span slot=\"description\">Feature description.</span>\n * </af-icon-text>\n * \n * <af-button slot=\"cta\" variant=\"primary\">Learn more</af-button>\n * </af-grid-callout>\n * </af-section>\n * ```\n */\n@Component({\n tag: 'af-grid-callout',\n styleUrl: 'af-grid-callout.css',\n shadow: false,\n scoped: true,\n})\nexport class AfGridCallout {\n /**\n * Image source URL for the pill-shaped image\n */\n @Prop() imageSrc?: string;\n\n /**\n * Alt text for the image (required for accessibility when imageSrc is provided)\n */\n @Prop() imageAlt: string = '';\n\n /**\n * Position of the image relative to the content\n */\n @Prop() imagePosition: 'left' | 'right' = 'left';\n\n /**\n * Number of columns for the IconText grid on desktop\n */\n @Prop() columns: 2 | 3 | 4 = 2;\n\n /**\n * Heading size for the main title\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 2;\n\n render() {\n const hasImage = !!this.imageSrc;\n \n const containerClasses = {\n 'grid-callout': true,\n 'grid-callout--has-image': hasImage,\n 'grid-callout--no-image': !hasImage,\n [`grid-callout--image-${this.imagePosition}`]: hasImage,\n };\n\n const gridClasses = {\n 'grid-callout__items': true,\n [`grid-callout__items--cols-${this.columns}`]: true,\n };\n\n const renderImage = () => {\n if (!hasImage) return null;\n \n return (\n <div class=\"grid-callout__image-container\">\n <img \n src={this.imageSrc} \n alt={this.imageAlt}\n class=\"grid-callout__image\"\n />\n </div>\n );\n };\n\n const renderContent = () => (\n <div class=\"grid-callout__content\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n class=\"grid-callout__heading\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"description\"></slot>\n </span>\n </af-typography-lockup>\n\n <div class={gridClasses}>\n <slot name=\"items\"></slot>\n </div>\n\n <div class=\"grid-callout__cta\">\n <slot name=\"cta\"></slot>\n </div>\n </div>\n );\n\n return (\n <Host>\n <div class={containerClasses}>\n {this.imagePosition === 'left' && renderImage()}\n {renderContent()}\n {this.imagePosition === 'right' && renderImage()}\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-grid.js","mappings":";;AAAA,MAAM,SAAS,GAAG,udAAud;;MCiB5dA,QAAM,iBAAAC,kBAAA,CAAA,MAAA,MAAA,SAAAC,CAAA,CAAA;AALnB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,CAAC;AAiB5B;;;AAGG;AACK,QAAA,IAAG,CAAA,GAAA,GAAQ,GAAG;AAEtB;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAU,SAAS;AA2BjC;IAzBC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAA0B;AACtC,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,OAAO,EAAE,SAAS;SACnB;QAED,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;AACL,gBAAA,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;gBACtC,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;AAC3D,gBAAA,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC;AAC7E,gBAAA,mBAAmB,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;AACpF,gBAAA,YAAY,EAAE,CAAA,YAAA,EAAe,IAAI,CAAC,GAAG,CAAG,CAAA,CAAA;AACxC,gBAAA,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AACX,aAAA,EAAA,EAE3B,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,MAAM,EAAA,EACf,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfGrid","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-grid/af-grid.css?tag=af-grid&encapsulation=shadow","src/components/af-grid/af-grid.tsx"],"sourcesContent":[":host {\n display: block;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n.grid {\n display: grid;\n grid-template-columns: repeat(var(--grid-columns), 1fr);\n gap: var(--grid-gap);\n align-items: var(--grid-align);\n}\n\n/* ≤ tablet */\n/* Large breakpoint: 1024px and below */\n@media (max-width: 1024px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-lg), 1fr);\n }\n}\n\n/* mobile-only */\n/* Medium breakpoint: 768px and below */\n@media (max-width: 768px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-md), 1fr);\n }\n}\n\n/* ≤ small */\n/* Small breakpoint: 480px and below */\n@media (max-width: 480px) {\n .grid {\n grid-template-columns: repeat(var(--grid-columns-sm), 1fr);\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type { Gap } from '../../types';\n\ntype Columns = 1 | 2 | 3 | 4 | 5 | 6 | 12;\ntype Align = 'start' | 'center' | 'end' | 'stretch';\n\n/**\n * Generic CSS Grid component for flexible column layouts.\n * Supports responsive column counts at different breakpoints.\n *\n * @slot - Grid items\n */\n@Component({\n tag: 'af-grid',\n styleUrl: 'af-grid.css',\n shadow: true,\n})\nexport class AfGrid {\n /**\n * Number of columns at the default (largest) breakpoint.\n */\n @Prop() columns: Columns = 3;\n\n /**\n * Number of columns at the large breakpoint (1024px and below).\n */\n @Prop() columnsLg?: Columns;\n\n /**\n * Number of columns at the medium breakpoint (768px and below).\n */\n @Prop() columnsMd?: Columns;\n\n /**\n * Number of columns at the small breakpoint (375px and below).\n */\n @Prop() columnsSm?: Columns;\n\n /**\n * Gap between grid items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '4';\n\n /**\n * Align items within their grid cells.\n */\n @Prop() align: Align = 'stretch';\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'start',\n center: 'center',\n end: 'end',\n stretch: 'stretch',\n };\n\n return (\n <Host\n style={{\n '--grid-columns': String(this.columns),\n '--grid-columns-lg': String(this.columnsLg ?? this.columns),\n '--grid-columns-md': String(this.columnsMd ?? this.columnsLg ?? this.columns),\n '--grid-columns-sm': String(this.columnsSm ?? this.columnsMd ?? this.columnsLg ?? 1),\n '--grid-gap': `var(--space-${this.gap})`,\n '--grid-align': alignMap[this.align],\n } as Record<string, string>}\n >\n <div class=\"grid\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-heading.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-hero.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-icon-box.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-icon-button.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-icon-text.js","mappings":";;;;;AAAA,MAAM,aAAa,GAAG,yeAAye;;MC+BlfA,YAAU,iBAAAC,kBAAA,CAAA,MAAA,UAAA,SAAAC,CAAA,CAAA;AANvB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAYE;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAsB,CAAC;AAE1C;;;;AAIG;AACK,QAAA,IAAW,CAAA,WAAA,GAA8B,UAAU;AAE3D;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAkC,SAAS;AAmC5D;IAjCC,MAAM,GAAA;AACJ,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,WAAW,EAAE,IAAI;AACjB,YAAA,CAAC,cAAc,IAAI,CAAC,WAAW,CAAE,CAAA,GAAG,IAAI;SACzC;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,gBAAgB,EAAA,EAC1B,CAAA,CAAA,aAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,QAAQ,EACnB,KAAK,EAAC,iBAAiB,EACV,CAAA,EAEf,CAAA,CAAA,sBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAC,MAAM,EACpB,eAAe,EAAC,UAAU,EAC1B,KAAK,EAAC,mBAAmB,EAAA,EAEzB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACb,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,aAAa,EAAA,EACtB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,aAAa,EAAA,CAAQ,CAC3B,EACP,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,EAClB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,CAAQ,CACvB,CACc,CACnB,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfIconText","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-icon-text/af-icon-text.css?tag=af-icon-text&encapsulation=scoped","src/components/af-icon-text/af-icon-text.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.icon-text {\n display: flex;\n width: 100%;\n}\n\n/* Vertical orientation - icon above text */\n.icon-text--vertical {\n flex-direction: column;\n gap: 24px;\n align-items: flex-start;\n}\n\n/* Horizontal orientation - icon beside text */\n.icon-text--horizontal {\n flex-direction: row;\n gap: 20px;\n align-items: flex-start;\n}\n\n.icon-text__icon {\n flex-shrink: 0;\n}\n\n.icon-text__lockup {\n flex: 1;\n min-width: 0;\n}\n\n/* Mobile adjustments */\n/* mobile-only */\n@media (max-width: 768px) {\n .icon-text--vertical {\n gap: 20px;\n }\n\n .icon-text--horizontal {\n gap: 16px;\n }\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\nimport type { IconName } from '@affinda/icons';\n\n/**\n * IconText molecule - combines an IconBox with a TypographyLockup for feature items.\n * \n * Composes:\n * - af-icon-box: Themed icon container\n * - af-typography-lockup: Heading, description, and button slots\n * \n * Inherits theme colors from parent Section via CSS custom properties.\n * \n * @slot - Heading text content (passed to TypographyLockup)\n * @slot description - Body/description text\n * @slot buttons - Action buttons (typically ghost style)\n * \n * @example\n * ```html\n * <af-icon-text icon=\"settings\" heading-size=\"4\">\n * Feature Heading\n * <span slot=\"description\">Feature description text.</span>\n * <af-button slot=\"buttons\" variant=\"ghost\">Learn more</af-button>\n * </af-icon-text>\n * ```\n */\n@Component({\n tag: 'af-icon-text',\n styleUrl: 'af-icon-text.css',\n shadow: false,\n scoped: true,\n})\nexport class AfIconText {\n /**\n * The icon name to display in the IconBox\n */\n @Prop() icon!: IconName;\n\n /**\n * Heading size for the typography lockup (1-5, where 1 is largest)\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 4;\n\n /**\n * Layout orientation\n * - 'vertical': Icon above text (default, used in grid layouts)\n * - 'horizontal': Icon beside text (used in compact layouts)\n */\n @Prop() orientation: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * Size of the icon box\n */\n @Prop() iconSize: 'small' | 'default' | 'large' = 'default';\n\n render() {\n const containerClasses = {\n 'icon-text': true,\n [`icon-text--${this.orientation}`]: true,\n };\n\n return (\n <Host>\n <div class={containerClasses}>\n <af-icon-box \n icon={this.icon} \n size={this.iconSize}\n class=\"icon-text__icon\"\n ></af-icon-box>\n \n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n class=\"icon-text__lockup\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"description\"></slot>\n </span>\n <span slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-icon.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-illustrated-card.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-image.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-in-page-banner.js","mappings":"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","names":["AfInPageBanner","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-in-page-banner/af-in-page-banner.css?tag=af-in-page-banner&encapsulation=scoped","src/components/af-in-page-banner/af-in-page-banner.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* ==========================================================================\n Banner Container\n\n Design specs from Figma:\n - Desktop: max-width 1280px, gap 40px, left padding 40px, right padding 148px\n - Border radius: radius-lg (20px) — aligned with af-card across the token ladder\n - Content padding vertical: 48px (margins/margin TB tight)\n ========================================================================== */\n\n.banner {\n position: relative;\n display: flex;\n align-items: center;\n gap: 40px;\n padding-left: 40px;\n padding-right: 148px;\n padding-top: 0;\n padding-bottom: 0;\n border-radius: var(--radius-lg, 20px);\n overflow: hidden;\n max-width: 1280px;\n width: 100%;\n}\n\n/* ==========================================================================\n Theme Variants - Background Colors\n \n Colors from Figma:\n - mist-green: #c6d5d1 (background/base)\n - inkwell: #14343b (Colour/Brand/Inkwell)\n - soft-clay: #c0ab8d (softclay-400)\n - white-ivory: #fff9ee (background/ivory-paper)\n ========================================================================== */\n\n.banner.theme-mist-green {\n background-color: var(--colour-brand-mist-green, #c6d5d1);\n \n /* Typography */\n --banner-heading-color: var(--colour-brand-inkwell, #14343b);\n --banner-body-color: var(--colour-inkwell-400, #2b484f);\n \n /* Buttons - ice primary, inkwell secondary */\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n}\n\n.banner.theme-inkwell {\n background-color: var(--colour-brand-inkwell, #14343b);\n \n /* Typography - light colors on dark background */\n --banner-heading-color: var(--colour-brand-mist-green, #c6d5d1);\n --banner-body-color: var(--colour-inkwell-100, #d0d6d8);\n \n /* Buttons - ice primary, white secondary */\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-text: var(--colour-brand-white, #ffffff);\n --af-button-secondary-stroke: var(--colour-brand-white, #ffffff);\n}\n\n.banner.theme-soft-clay {\n background-color: var(--colour-softclay-400, #c0ab8d);\n \n /* Typography */\n --banner-heading-color: var(--colour-brand-inkwell, #14343b);\n --banner-body-color: var(--colour-inkwell-450, #203e45);\n \n /* Buttons */\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n}\n\n.banner.theme-white-ivory {\n background-color: var(--colour-brand-ivory-paper, #fff9ee);\n \n /* Typography */\n --banner-heading-color: var(--colour-brand-inkwell, #14343b);\n --banner-body-color: var(--colour-inkwell-400, #2b484f);\n \n /* Buttons */\n --af-button-primary-bg: var(--colour-brand-ice, #a6fffb);\n --af-button-primary-bg-hover: var(--colour-ice-600, #95e6e2);\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-stroke: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n Decorative Wave Overlay\n \n Figma specs:\n - Position: bottom -17.41px, right -156px\n - Size: 521px x 323px\n - Fill colors per theme\n ========================================================================== */\n\n.banner__wave-overlay {\n position: absolute;\n bottom: -17px;\n right: -156px;\n width: 521px;\n height: 323px;\n pointer-events: none;\n z-index: 0;\n}\n\n.banner__wave-svg {\n width: 100%;\n height: 100%;\n}\n\n/* ==========================================================================\n Theme-specific Wave Colors\n The SVG uses currentColor, so we set color on the overlay container.\n ========================================================================== */\n\n.banner.theme-mist-green .banner__wave-overlay {\n color: #d1ddda;\n}\n\n.banner.theme-inkwell .banner__wave-overlay {\n color: rgba(255, 255, 255, 0.06);\n}\n\n.banner.theme-soft-clay .banner__wave-overlay {\n color: rgba(20, 52, 59, 0.06);\n}\n\n.banner.theme-white-ivory .banner__wave-overlay {\n color: rgba(20, 52, 59, 0.04);\n}\n\n/* ==========================================================================\n Illustration Area\n \n Figma specs:\n - Desktop: max 360px x 360px, aspect ratio preserved\n - Mobile: 212px x 212px, positioned absolute top-right\n ========================================================================== */\n\n.banner__illustration {\n position: relative;\n z-index: 1;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 288px;\n height: 288px;\n max-width: 288px;\n max-height: 288px;\n aspect-ratio: 1;\n}\n\n.banner__illustration-img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n/* Allow slotted content to fill the illustration area */\n.banner__illustration ::slotted(*) {\n width: 100%;\n height: 100%;\n object-fit: contain;\n}\n\n/* ==========================================================================\n Content Area (Typography Lockup)\n \n Figma specs:\n - Vertical padding: 48px (margins/margin TB tight)\n - Gap between copy and buttons: 40px\n - Gap between heading and description: 16px\n - Max-width for copy: 840px\n ========================================================================== */\n\n.banner__content {\n position: relative;\n z-index: 1;\n flex: 1 1 0;\n min-width: 0;\n min-height: 0;\n display: flex;\n flex-direction: column;\n gap: 40px;\n padding-top: 38px;\n padding-bottom: 38px;\n padding-right: 0;\n padding-left: 0;\n}\n\n.banner__copy {\n display: flex;\n flex-direction: column;\n gap: 16px;\n max-width: 840px;\n width: 100%;\n white-space: normal;\n}\n\n/* ==========================================================================\n Heading\n \n Figma specs:\n - Desktop: 44px, line-height 1, letter-spacing -0.88px (-2%)\n - Mobile: 32px, line-height 1, letter-spacing -0.64px (-2%)\n - Font: Typography/primaryFont (NeuSans), weight: Typography/headingWeight (500)\n ========================================================================== */\n\n.banner__heading {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--typography-headingweight, 500);\n font-size: 44px;\n line-height: 1;\n letter-spacing: -0.88px;\n color: var(--banner-heading-color, var(--colour-brand-inkwell, #14343b));\n margin: 0;\n white-space: normal;\n}\n\n/* ==========================================================================\n Description\n \n Figma specs:\n - Font size: 18px\n - Line height: 26px\n - Font: Typography/primaryFont, weight: Typography/bodyWeight (400)\n - Color: typography/body-default #2b484f (or theme variant)\n ========================================================================== */\n\n.banner__description {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--typography-bodyweight, 400);\n font-size: 18px;\n line-height: 26px;\n color: var(--banner-body-color, var(--colour-inkwell-400, #2b484f));\n margin: 0;\n white-space: normal;\n}\n\n/* ==========================================================================\n Button Group\n \n Figma specs:\n - Desktop: horizontal, gap 12px\n - Mobile: vertical, full-width buttons, gap 12px\n - Button padding: 24px horizontal, 12px vertical\n - Button border-radius: 9999px (radii/button)\n ========================================================================== */\n\n.banner__buttons {\n display: flex;\n flex-direction: row;\n gap: 24px;\n align-items: flex-start;\n}\n\n/* ==========================================================================\n Mobile Responsive Styles (≤768px)\n \n Figma mobile specs:\n - Width: 100%\n - Border radius: 24px\n - Padding top: 224px (space for illustration)\n - Content padding: pb 48px, pt 16px, px 28px\n - Content min-height: 320px\n - Illustration: 212px x 212px, positioned at top: 12px, centered horizontally\n ========================================================================== */\n\n/* mobile-only */\n@media (max-width: 768px) {\n .banner {\n flex-direction: column;\n align-items: stretch;\n padding: 224px 0 0 0;\n /* Mobile keeps the same 20px corner as desktop — simpler after the\n * token ladder consolidation. */\n border-radius: var(--radius-lg, 20px);\n max-width: 100%;\n min-height: auto;\n }\n\n /* Wave overlay hidden on mobile */\n .banner__wave-overlay {\n display: none;\n }\n\n /* Illustration positioned at top-right on mobile */\n .banner__illustration {\n position: absolute;\n top: 12px;\n left: auto;\n right: 0;\n transform: none;\n width: 212px;\n height: 212px;\n max-width: 280px;\n max-height: 280px;\n }\n\n /* Content takes full width with min-height */\n .banner__content {\n width: 100%;\n min-height: 320px;\n padding: 16px 28px 48px 28px;\n gap: 40px;\n flex: none;\n }\n\n /* Ensure copy section doesn't constrain width on mobile */\n .banner__copy {\n max-width: 100%;\n }\n\n /* Mobile heading size */\n .banner__heading {\n font-size: 32px;\n letter-spacing: -0.64px;\n }\n\n /* Buttons stack vertically on mobile, full width */\n .banner__buttons {\n flex-direction: column;\n align-items: stretch;\n gap: 12px;\n width: 100%;\n }\n\n /* Ensure af-button takes full width on mobile */\n .banner__buttons {\n --af-button-width: 100%;\n }\n\n .banner__buttons af-button {\n display: block;\n width: 100%;\n }\n}\n\n/* ==========================================================================\n Small Mobile (≤480px)\n ========================================================================== */\n\n/* ≤ small */\n@media (max-width: 480px) {\n .banner {\n padding-top: 200px;\n }\n\n .banner__illustration {\n /* Keep right-aligned, just adjust size */\n right: 0;\n width: 180px;\n height: 180px;\n }\n\n .banner__content {\n padding: 16px 20px 36px 20px;\n min-height: 280px;\n }\n\n .banner__heading {\n font-size: 28px;\n letter-spacing: -0.56px;\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type { Theme } from '../../types';\n\n/**\n * In-page banner component for call-to-action content.\n * \n * A banner card with illustration, heading, description, and action buttons.\n * Typically placed inside a neutral (white) Section to show off its themed background.\n * \n * The component has its own theme prop to control its background color and styling.\n * \n * **Illustration Usage:**\n * Use `illustrationUrl` to pass an illustration image URL. For theme-matched illustrations,\n * use `getIllustrationUrlByScene()` from `@affinda/illustrations` in your consuming app:\n * \n * ```tsx\n * import { getIllustrationUrlByScene } from '@affinda/illustrations';\n * \n * <InPageBanner\n * theme=\"inkwell\"\n * illustrationUrl={getIllustrationUrlByScene('automate', 'inkwell')}\n * ...\n * />\n * ```\n * \n * Alternatively, use the `illustration` slot for completely custom content.\n *\n * **Slot-based composition (preferred for rich content):**\n * - `heading` — heading markup (overrides the `heading` prop when provided).\n * - `description` — description markup (overrides the `description` prop).\n * - `buttons` — custom button group (overrides the primary/secondary button\n * props; use when you need ghost variants, more than two buttons, or\n * per-button icons).\n * - `illustration` — custom illustration markup.\n *\n * The string props remain supported for simple cases.\n */\n@Component({\n tag: 'af-in-page-banner',\n styleUrl: 'af-in-page-banner.css',\n shadow: false,\n scoped: true,\n})\nexport class AfInPageBanner {\n /** Theme - sets the banner background color and typography colors */\n @Prop() theme: Theme = 'mist-green';\n\n /** Banner heading */\n @Prop() heading: string = '';\n\n /** Banner description */\n @Prop() description: string = '';\n\n /** Primary button text */\n @Prop() primaryButtonText: string = '';\n\n /** Primary button URL */\n @Prop() primaryButtonUrl: string = '#';\n\n /** Secondary button text (optional - if empty, button won't show) */\n @Prop() secondaryButtonText: string = '';\n\n /** Secondary button URL */\n @Prop() secondaryButtonUrl: string = '#';\n\n /** \n * Illustration URL. For theme-matched illustrations, use getIllustrationUrlByScene() \n * from @affinda/illustrations in your app code.\n */\n @Prop() illustrationUrl: string = '';\n\n /** Whether to show the decorative wave overlay */\n @Prop() showWaveDecoration: boolean = true;\n\n /**\n * Renders the decorative wave SVG overlay.\n * Uses the Affinda brand \"infinity loop\" wave pattern.\n * Fill color is controlled via CSS custom properties per theme.\n */\n private renderWaveOverlay() {\n return (\n <div class=\"banner__wave-overlay\" aria-hidden=\"true\">\n <svg \n viewBox=\"0 0 521 323\" \n fill=\"none\" \n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"banner__wave-svg\"\n >\n <path \n d=\"M473.775 46.273C443.539 15.92 403.701 -0.631616 361.351 0.0184478H154.183L112.67 67.225H361.893C362.189 67.225 362.533 67.225 362.829 67.225C387.155 67.225 410.004 76.7259 427.289 94.0776C445.017 111.879 454.816 135.682 454.816 161.134C454.816 213.389 412.959 255.843 361.548 255.843H108.041C84.9457 255.843 66.1345 236.742 66.1345 213.289C66.1345 189.837 84.9949 170.435 107.992 169.735H334.957L377.799 102.528H106.859C47.9636 104.029 0 153.683 0 213.289C0 272.895 48.456 323 108.041 323H361.548C449.449 323 521 250.343 521 161.084C521 117.53 504.257 76.7759 473.824 46.2229L473.775 46.273Z\" \n fill=\"currentColor\"\n />\n </svg>\n </div>\n );\n }\n\n render() {\n return (\n <Host>\n <div class={`banner theme-${this.theme}`}>\n {/* Decorative wave overlay */}\n {this.showWaveDecoration && this.renderWaveOverlay()}\n\n {/* Illustration area */}\n <div class=\"banner__illustration\">\n {this.illustrationUrl ? (\n <img \n src={this.illustrationUrl} \n alt=\"\" \n class=\"banner__illustration-img\" \n loading=\"lazy\"\n />\n ) : (\n <slot name=\"illustration\"></slot>\n )}\n </div>\n\n {/* Content area — slots take precedence over string props. */}\n <div class=\"banner__content\">\n <div class=\"banner__copy\">\n <h2 class=\"banner__heading\">\n <slot name=\"heading\">{this.heading}</slot>\n </h2>\n <div class=\"banner__description\">\n <slot name=\"description\">{this.description}</slot>\n </div>\n </div>\n\n <div class=\"banner__buttons\">\n <slot name=\"buttons\">\n {this.primaryButtonText && (\n <af-button href={this.primaryButtonUrl} variant=\"primary\">\n {this.primaryButtonText}\n </af-button>\n )}\n {this.secondaryButtonText && (\n <af-button href={this.secondaryButtonUrl} variant=\"secondary\">\n {this.secondaryButtonText}\n </af-button>\n )}\n </slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-inline.js","mappings":";;AAAA,MAAM,WAAW,GAAG,+EAA+E;;MCiBtFA,UAAQ,iBAAAC,kBAAA,CAAA,MAAA,QAAA,SAAAC,CAAA,CAAA;AALrB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;;AAGG;AACK,QAAA,IAAG,CAAA,GAAA,GAAQ,GAAG;AAEtB;;AAEG;AACK,QAAA,IAAK,CAAA,KAAA,GAAU,QAAQ;AAE/B;;AAEG;AACK,QAAA,IAAO,CAAA,OAAA,GAAY,OAAO;AAElC;;AAEG;AACK,QAAA,IAAI,CAAA,IAAA,GAAY,IAAI;AAmC7B;IAjCC,MAAM,GAAA;AACJ,QAAA,MAAM,QAAQ,GAA0B;AACtC,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,QAAQ,EAAE,UAAU;SACrB;AAED,QAAA,MAAM,UAAU,GAA4B;AAC1C,YAAA,KAAK,EAAE,YAAY;AACnB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,UAAU;AACf,YAAA,OAAO,EAAE,eAAe;AACxB,YAAA,MAAM,EAAE,cAAc;AACtB,YAAA,MAAM,EAAE,cAAc;SACvB;AAED,QAAA,MAAM,KAAK,GAAG;AACZ,YAAA,OAAO,EAAE,aAAa;AACtB,YAAA,aAAa,EAAE,KAAK;AACpB,YAAA,GAAG,EAAE,CAAA,YAAA,EAAe,IAAI,CAAC,GAAG,CAAG,CAAA,CAAA;AAC/B,YAAA,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAChC,YAAA,cAAc,EAAE,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;YACxC,QAAQ,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,QAAQ;SACd;QAE3B,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,KAAK,EAAA,EAChB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfInline","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-inline/af-inline.css?tag=af-inline&encapsulation=shadow","src/components/af-inline/af-inline.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n box-sizing: border-box;\n}\n\n:host([hidden]) {\n display: none;\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport type { Gap } from '../../types';\n\ntype Align = 'start' | 'center' | 'end' | 'stretch' | 'baseline';\ntype Justify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n\n/**\n * Inline layout component for horizontal inline-flex layouts with gap and optional wrapping.\n * Ideal for button groups, tags, pills, and other inline elements.\n *\n * @slot - Content to layout inline\n */\n@Component({\n tag: 'af-inline',\n styleUrl: 'af-inline.css',\n shadow: true,\n})\nexport class AfInline {\n /**\n * Gap between items using space tokens (1-8).\n * Maps to --space-1 through --space-8 (4px to 32px).\n */\n @Prop() gap: Gap = '2';\n\n /**\n * Align items on the cross axis.\n */\n @Prop() align: Align = 'center';\n\n /**\n * Justify content on the main axis.\n */\n @Prop() justify: Justify = 'start';\n\n /**\n * Whether items should wrap to the next line when they overflow.\n */\n @Prop() wrap: boolean = true;\n\n render() {\n const alignMap: Record<Align, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n stretch: 'stretch',\n baseline: 'baseline',\n };\n\n const justifyMap: Record<Justify, string> = {\n start: 'flex-start',\n center: 'center',\n end: 'flex-end',\n between: 'space-between',\n around: 'space-around',\n evenly: 'space-evenly',\n };\n\n const style = {\n display: 'inline-flex',\n flexDirection: 'row',\n gap: `var(--space-${this.gap})`,\n alignItems: alignMap[this.align],\n justifyContent: justifyMap[this.justify],\n flexWrap: this.wrap ? 'wrap' : 'nowrap',\n } as Record<string, string>;\n\n return (\n <Host style={style}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-input.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-logo-well.js","mappings":";;AAAA,MAAM,aAAa,GAAG,02BAA02B;;MCUn3BA,YAAU,iBAAAC,kBAAA,CAAA,MAAA,UAAA,SAAAC,CAAA,CAAA;;;;;;;;IACrB,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,WAAW,EAAA,EACpB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;;;;;;;;;;;;;;;;","names":["AfLogoWell","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-logo-well/af-logo-well.css?tag=af-logo-well&encapsulation=shadow","src/components/af-logo-well/af-logo-well.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.logo-well {\n /* Use theme variable from parent carousel, or fall back to dark theme default */\n background: var(--af-carousel-logo-well-bg, var(--colour-background-level1-dark, #203e45));\n border-radius: var(--radius-logo-well-desktop, 16px);\n height: 72px;\n width: 184px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 20px 32px;\n box-sizing: border-box;\n}\n\n::slotted(img) {\n max-height: 32px;\n max-width: 120px;\n width: auto;\n height: auto;\n display: block;\n object-fit: contain;\n /* Use logo filter from parent theme, default to white logos for dark backgrounds */\n filter: var(--af-carousel-logo-filter, brightness(0) invert(1));\n}\n\n::slotted(svg) {\n max-height: 32px;\n max-width: 120px;\n width: auto;\n height: auto;\n display: block;\n /* SVG color inherits from parent */\n color: var(--af-carousel-logo-color, white);\n}\n\n::slotted(div) {\n white-space: nowrap;\n color: var(--af-carousel-logo-color, white);\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: 600;\n font-size: 16px;\n}\n\n/* Mobile adjustments */\n/* ≤ mobile */\n@media (max-width: 767px) {\n .logo-well {\n border-radius: var(--radius-logo-well-mobile, 12px);\n padding: 20px 24px;\n }\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * A rounded container for displaying client logos\n */\n@Component({\n tag: 'af-logo-well',\n styleUrl: 'af-logo-well.css',\n shadow: true,\n})\nexport class AfLogoWell {\n render() {\n return (\n <Host>\n <div class=\"logo-well\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-logo.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-nav-accordion-item.js","mappings":";;AAAA,MAAM,qBAAqB,GAAG,8kGAA8kG;;MCe/lGA,oBAAkB,iBAAAC,kBAAA,CAAA,MAAA,kBAAA,SAAAC,CAAA,CAAA;AAN/B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAmBE;;AAEG;AACqC,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK;AAE7D;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAQlD;;AAEG;AACsB,QAAA,IAAU,CAAA,UAAA,GAAyB,QAAQ;AAO3D,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC;AACzB,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK;AAC/B,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AA+C5B,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAC,KAAiB,KAAI;;AAEjD,YAAA,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb;;YAEF,KAAK,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,MAAM,EAAE;AACf,SAAC;AAEO,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,KAAoB,KAAI;AAC/C,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC9D,KAAK,CAAC,cAAc,EAAE;gBACtB,IAAI,CAAC,MAAM,EAAE;;AAEjB,SAAC;AAEO,QAAA,IAAA,CAAA,gBAAgB,GAAG,CAAC,KAAY,KAAI;AAC1C,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,MAAyB;YAC5C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,GAAG,CAAC;AACvD,SAAC;AAyFF;AAtJC,IAAA,gBAAgB,CAAC,QAAiB,EAAA;QAChC,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,cAAc,EAAE;;;AAIzB;;;;;;AAMG;IACH,iBAAiB,GAAA;AACf,QAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CACjD,CAAC,KAAK,KAAK,CAAE,KAAqB,CAAC,YAAY,CAAC,MAAM,CAAC,CACxD;;IAGH,gBAAgB,GAAA;AACd,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,cAAc,EAAE;;;AAIzB;;AAEG;AAEH,IAAA,MAAM,MAAM,GAAA;QACV,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;AAChC,YAAA,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI;AACtB,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;;;IAItE,cAAc,GAAA;AACpB,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY;;;IAyBrD,MAAM,GAAA;AACJ,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,SAAS,EAAE,IAAI,CAAC,IAAI,GAAG,CAAG,EAAA,IAAI,CAAC,aAAa,CAAA,EAAA,CAAI,GAAG;SACpD;;;;AAKD,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU;QAE1C,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,aAAa,EAAE,IAAI,CAAC,QAAQ;AAC5B,gBAAA,CAAC,cAAc,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG;aACpC,EAAA,EAED,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,oBAAoB,EAAA,EAE5B,IAAI,CAAC,IAAI,IACR,CAAA,CAAA,GAAA,EAAA,EACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,SAAS,EACA,eAAA,EAAA,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,EAC5B,eAAA,EAAA,CAAA,QAAA,EAAW,IAAI,CAAC,MAAM,CAAA,CAAE,EAAA,EAEvC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,SAAS,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAA,EACtD,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EAAE,IAAI,CAAC,KAAK,CAAQ,CAClC,CACH,EACL,kBAAkB,KACjB,CACE,CAAA,QAAA,EAAA,EAAA,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,CAAC,CAAC,KAAO,EAAA,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAC/D,YAAA,EAAA,IAAI,CAAC,IAAI,GAAG,UAAU,GAAG,QAAQ,EAC7C,IAAI,EAAC,QAAQ,EAAA,EAEb,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,EAAA,EACnD,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAA,EAC/E,CAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,cAAc,EAAA,cAAA,EAAc,GAAG,EAAA,gBAAA,EAAgB,OAAO,EAAA,iBAAA,EAAiB,OAAO,EAAA,CAAE,CACpF,CACF,CACC,CACV,CACC,KAEJ,CACE,CAAA,QAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,SAAS,EAAE,IAAI,CAAC,aAAa,EAAA,eAAA,EACd,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,EAC5B,eAAA,EAAA,CAAW,QAAA,EAAA,IAAI,CAAC,MAAM,EAAE,EACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAC,QAAQ,EAAA,EAEb,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EAAA,EAC1B,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,SAAS,EAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAA,EACtD,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EAAE,IAAI,CAAC,KAAK,CAAQ,CAClC,CACH,EACL,kBAAkB,KACjB,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,EAAA,EACnD,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAA,EAC/E,CAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,cAAc,EAAA,cAAA,EAAc,GAAG,EAAgB,gBAAA,EAAA,OAAO,EAAiB,iBAAA,EAAA,OAAO,EAAE,CAAA,CACpF,CACF,CACP,CACM,CACV,EAGD,CACE,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EAAE,EAAE,CAAA,QAAA,EAAW,IAAI,CAAC,MAAM,CAAA,CAAE,EAC5B,KAAK,EAAC,iBAAiB,EACvB,KAAK,EAAE,YAAY,EACN,aAAA,EAAA,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,OAAO,EAAA,EAE1C,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC,EAAA,EACtD,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACF,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNavAccordionItem","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-accordion-item/af-nav-accordion-item.css?tag=af-nav-accordion-item&encapsulation=scoped","src/components/af-nav-accordion-item/af-nav-accordion-item.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.nav-accordion-item {\n width: 100%;\n}\n\n/* Trigger button/link - clickable header */\n.trigger {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 8px;\n width: 100%;\n padding: 20px 12px;\n background: transparent;\n border: none;\n border-bottom: 1px solid var(--af-nav-border-subtle, var(--af-background-border-subtle, #e8eeed));\n cursor: pointer;\n font: inherit;\n text-align: left;\n text-decoration: none;\n color: inherit;\n box-sizing: border-box;\n}\n\na.trigger {\n color: inherit;\n}\n\n.trigger:hover:not(:disabled) {\n background-color: rgba(20, 52, 59, 0.02);\n}\n\n.trigger:focus-visible {\n outline: 2px solid var(--af-nav-border-active, var(--af-background-border-active, #8a7049));\n outline-offset: -2px;\n}\n\n.trigger:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* Trigger content */\n.trigger-content {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: center;\n min-height: 24px;\n}\n\n/* Label styling - matches NavItem primary-01 mobile */\n.label {\n font-family: var(--typography-primaryfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-weight: var(--typography-headingweight, 500);\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n}\n\n/* Chevron indicator */\n.chevron,\n.chevron-button {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n color: var(--af-nav-item-primary, var(--af-typography-body-dark, #14343b));\n transition: transform var(--motion-duration-slow, 300ms) var(--motion-easing-standard, cubic-bezier(0.4, 0, 0.2, 1));\n}\n\n.chevron-button {\n background: transparent;\n border: none;\n cursor: pointer;\n padding: 0;\n}\n\n.chevron-button:hover {\n opacity: 0.7;\n}\n\n.chevron.is-open {\n transform: rotate(180deg);\n}\n\n/* Content wrapper - handles animation */\n.content-wrapper {\n overflow: hidden;\n transition: max-height var(--motion-duration-slow, 300ms) var(--motion-easing-emphasized, cubic-bezier(0.2, 0, 0, 1));\n}\n\n@media (prefers-reduced-motion: reduce) {\n .chevron,\n .chevron-button,\n .content-wrapper {\n transition-duration: 0.01ms;\n }\n}\n\n.content {\n padding: 0;\n background: var(--af-background-base, white);\n}\n\n/* Disabled state */\n:host(.is-disabled) .trigger {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n:host(.is-disabled) .trigger:hover {\n background-color: transparent;\n}\n\n/* Open state styling */\n:host(.is-open) .trigger {\n border-bottom-color: transparent;\n}\n\n/* Mobile breakpoint styling */\n:host(.breakpoint-mobile) .trigger {\n padding: 20px 12px;\n}\n\n:host(.breakpoint-mobile) .label {\n font-size: 20px;\n line-height: 1.1;\n letter-spacing: -0.4px;\n}\n\n/* Desktop breakpoint styling */\n:host(.breakpoint-desktop) .trigger {\n padding: 12px;\n}\n\n:host(.breakpoint-desktop) .label {\n font-size: 16px;\n line-height: 20px;\n letter-spacing: 0;\n}\n\n/* Nested content uses different padding */\n:host(.breakpoint-mobile) .content {\n padding-left: 0;\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Watch, Method } from '@stencil/core';\n\n/**\n * Navigation accordion item with NavItem-styled trigger.\n * Combines navigation item styling with accordion collapse behavior.\n * \n * @slot trigger - Custom trigger content (optional - uses label if not provided)\n * @slot - The collapsible content (typically NavMenuNest or NavMenu components)\n */\n@Component({\n tag: 'af-nav-accordion-item',\n styleUrl: 'af-nav-accordion-item.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavAccordionItem {\n @Element() el!: HTMLElement;\n\n /**\n * Unique identifier for this accordion item\n */\n @Prop({ reflect: true }) itemId!: string;\n\n /**\n * Label text for the navigation item trigger\n */\n @Prop() label?: string;\n\n /**\n * Whether this item is currently expanded\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n\n /**\n * Whether this item is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Optional href - if provided, clicking navigates instead of expanding\n * (chevron area would still toggle expansion if both behaviors needed)\n */\n @Prop() href?: string;\n\n /**\n * Breakpoint for styling\n */\n @Prop({ reflect: true }) breakpoint: 'desktop' | 'mobile' = 'mobile';\n\n /**\n * Emitted when the accordion item is toggled\n */\n @Event({ eventName: 'af-nav-accordion-item-toggle' }) navAccordionItemToggle!: EventEmitter<{ itemId: string; open: boolean }>;\n\n @State() contentHeight: number = 0;\n @State() hasTriggerSlot: boolean = false;\n @State() hasContent: boolean = false;\n\n private contentRef?: HTMLElement;\n\n @Watch('open')\n handleOpenChange(newValue: boolean) {\n if (newValue) {\n this.measureContent();\n }\n }\n\n /**\n * Detect whether the host has any default-slot children — i.e. whether\n * this item expands to reveal a sub-menu, or is just a simple link.\n * We check in componentWillLoad (before render) because after render\n * Stencil has appended its own output to the host and this.el.children\n * would include that.\n */\n componentWillLoad() {\n this.hasContent = Array.from(this.el.children).some(\n (child) => !(child as HTMLElement).hasAttribute('slot'),\n );\n }\n\n componentDidLoad() {\n if (this.open) {\n this.measureContent();\n }\n }\n\n /**\n * Programmatically toggle the accordion item\n */\n @Method()\n async toggle() {\n if (!this.disabled && !this.href) {\n this.open = !this.open;\n this.navAccordionItemToggle.emit({ itemId: this.itemId, open: this.open });\n }\n }\n\n private measureContent() {\n if (this.contentRef) {\n this.contentHeight = this.contentRef.scrollHeight;\n }\n }\n\n private handleTriggerClick = (event: MouseEvent) => {\n // If it's a link, let it navigate (unless they clicked the chevron specifically)\n if (this.href) {\n return;\n }\n event.preventDefault();\n this.toggle();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if ((event.key === 'Enter' || event.key === ' ') && !this.href) {\n event.preventDefault();\n this.toggle();\n }\n };\n\n private handleSlotChange = (event: Event) => {\n const slot = event.target as HTMLSlotElement;\n this.hasTriggerSlot = slot.assignedNodes().length > 0;\n };\n\n render() {\n const contentStyle = {\n maxHeight: this.open ? `${this.contentHeight}px` : '0px'\n };\n\n // Only render the chevron toggle when this item actually has\n // sub-content to expand. A plain href item with no children is a\n // direct link and shouldn't show a disclosure affordance.\n const hasDropdownContent = this.hasContent;\n\n return (\n <Host \n class={{ \n 'is-open': this.open, \n 'is-disabled': this.disabled,\n [`breakpoint-${this.breakpoint}`]: true\n }}\n >\n <div class=\"nav-accordion-item\">\n {/* Trigger */}\n {this.href ? (\n <a\n href={this.href}\n class=\"trigger\"\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`content-${this.itemId}`}\n >\n <div class=\"trigger-content\">\n <slot name=\"trigger\" onSlotchange={this.handleSlotChange}>\n <span class=\"label\">{this.label}</span>\n </slot>\n </div>\n {hasDropdownContent && (\n <button \n class=\"chevron-button\"\n onClick={(e) => { e.preventDefault(); e.stopPropagation(); this.toggle(); }}\n aria-label={this.open ? 'Collapse' : 'Expand'}\n type=\"button\"\n >\n <div class={{ 'chevron': true, 'is-open': this.open }}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M6 9l6 6 6-6\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n </button>\n )}\n </a>\n ) : (\n <button\n class=\"trigger\"\n onClick={this.handleTriggerClick}\n onKeyDown={this.handleKeyDown}\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls={`content-${this.itemId}`}\n disabled={this.disabled}\n type=\"button\"\n >\n <div class=\"trigger-content\">\n <slot name=\"trigger\" onSlotchange={this.handleSlotChange}>\n <span class=\"label\">{this.label}</span>\n </slot>\n </div>\n {hasDropdownContent && (\n <div class={{ 'chevron': true, 'is-open': this.open }}>\n <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\">\n <path d=\"M6 9l6 6 6-6\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </div>\n )}\n </button>\n )}\n\n {/* Collapsible content */}\n <div\n id={`content-${this.itemId}`}\n class=\"content-wrapper\"\n style={contentStyle}\n aria-hidden={!this.open ? 'true' : 'false'}\n >\n <div class=\"content\" ref={(el) => (this.contentRef = el)}>\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-nav-accordion.js","mappings":";;AAAA,MAAM,iBAAiB,GAAG,mIAAmI;;MCchJA,gBAAc,iBAAAC,kBAAA,CAAA,MAAA,cAAA,SAAAC,CAAA,CAAA;AAN3B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AASE;;;;AAIG;AACK,QAAA,IAAI,CAAA,IAAA,GAAgC,WAAW;AAEvD;;;;AAIG;AACsB,QAAA,IAAU,CAAA,UAAA,GAAyB,QAAQ;AAY3D,QAAA,IAAa,CAAA,aAAA,GAAa,EAAE;AAoEtC;IAlEC,iBAAiB,GAAA;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC;;AAGtD;;AAEG;AAEH,IAAA,gBAAgB,CAAC,KAAqD,EAAA;QACpE,KAAK,CAAC,eAAe,EAAE;QACvB,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM;AAErC,QAAA,IAAI,QAAkB;AAEtB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;AAC7B,YAAA,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE;;aAC1B;YACL,IAAI,IAAI,EAAE;gBACR,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC;;iBACrC;AACL,gBAAA,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,MAAM,CAAC;;;AAI7D,QAAA,IAAI,CAAC,aAAa,GAAG,QAAQ;QAC7B,IAAI,CAAC,SAAS,EAAE;AAEhB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,KAAK;AAC9B,eAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI;cACzC,QAAQ;QACZ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;;AAG5C,IAAA,cAAc,CAAC,KAAoC,EAAA;QACzD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;AACzC,YAAA,OAAO,EAAE;;AAEX,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK;;QAE9D,OAAO,CAAC,KAAK,CAAC;;IAGR,SAAS,GAAA;QACf,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,uBAAuB,CAAC;AAC/D,QAAA,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,KAAI;YACxB,MAAM,IAAI,GAAG,OAA4D;AACzE,YAAA,IAAI,IAAI,CAAC,MAAM,EAAE;AACf,gBAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC;;AAExD,SAAC,CAAC;;IAGJ,gBAAgB,GAAA;QACd,IAAI,CAAC,SAAS,EAAE;;IAGlB,MAAM,GAAA;AACJ,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,EAAE,CAAC,CAAc,WAAA,EAAA,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG,IAAI,EAAE,CAAC,CAAQ,KAAA,EAAA,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,EAAA,EACnF,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,eAAe,EAAA,EACxB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNavAccordion","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-accordion/af-nav-accordion.css?tag=af-nav-accordion&encapsulation=scoped","src/components/af-nav-accordion/af-nav-accordion.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.nav-accordion {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Mobile breakpoint styling */\n:host(.breakpoint-mobile) .nav-accordion {\n /* Mobile-specific styles */\n}\n\n/* Desktop breakpoint styling */\n:host(.breakpoint-desktop) .nav-accordion {\n /* Desktop-specific styles if needed */\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, Element, State, Listen } from '@stencil/core';\n\n/**\n * Navigation-styled accordion for mobile menu patterns.\n * A wrapper around af-accordion with navigation-specific styling.\n * \n * @slot - Place af-nav-accordion-item components here\n */\n@Component({\n tag: 'af-nav-accordion',\n styleUrl: 'af-nav-accordion.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavAccordion {\n @Element() el!: HTMLElement;\n\n /**\n * Behavior mode for the accordion.\n * - `independent`: Multiple items can be open simultaneously\n * - `exclusive`: Only one item can be open at a time (typical for mobile nav)\n */\n @Prop() mode: 'independent' | 'exclusive' = 'exclusive';\n\n /**\n * Breakpoint for styling\n * - `desktop`: Desktop-specific styles\n * - `mobile`: Mobile-specific styles (default for nav menus)\n */\n @Prop({ reflect: true }) breakpoint: 'desktop' | 'mobile' = 'mobile';\n\n /**\n * Currently open item ID(s)\n */\n @Prop({ mutable: true }) value?: string | string[];\n\n /**\n * Emitted when the open state of items changes\n */\n @Event({ eventName: 'af-nav-accordion-change' }) navAccordionChange!: EventEmitter<{ value: string | string[] | null }>;\n\n @State() internalValue: string[] = [];\n\n componentWillLoad() {\n this.internalValue = this.normalizeValue(this.value);\n }\n\n /**\n * Listen for toggle events from child items\n */\n @Listen('af-nav-accordion-item-toggle')\n handleItemToggle(event: CustomEvent<{ itemId: string; open: boolean }>) {\n event.stopPropagation();\n const { itemId, open } = event.detail;\n\n let newValue: string[];\n\n if (this.mode === 'exclusive') {\n newValue = open ? [itemId] : [];\n } else {\n if (open) {\n newValue = [...this.internalValue, itemId];\n } else {\n newValue = this.internalValue.filter(id => id !== itemId);\n }\n }\n\n this.internalValue = newValue;\n this.syncItems();\n\n const emitValue = this.mode === 'exclusive' \n ? (newValue.length > 0 ? newValue[0] : null)\n : newValue;\n this.navAccordionChange.emit({ value: emitValue });\n }\n\n private normalizeValue(value: string | string[] | undefined): string[] {\n if (value === undefined || value === null) {\n return [];\n }\n if (Array.isArray(value)) {\n return this.mode === 'exclusive' ? value.slice(0, 1) : value;\n }\n return [value];\n }\n\n private syncItems() {\n const items = this.el.querySelectorAll('af-nav-accordion-item');\n items.forEach((element) => {\n const item = element as HTMLElement & { itemId?: string; open?: boolean };\n if (item.itemId) {\n item.open = this.internalValue.includes(item.itemId);\n }\n });\n }\n\n componentDidLoad() {\n this.syncItems();\n }\n\n render() {\n return (\n <Host class={{ [`breakpoint-${this.breakpoint}`]: true, [`mode-${this.mode}`]: true }}>\n <div class=\"nav-accordion\">\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-nav-card.js","mappings":";;AAAA,MAAM,YAAY,GAAG,+kCAA+kC;;MCoBvlCA,WAAS,iBAAAC,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;AANtB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAsBE;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAW,EAAE;AAEpB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAE3B,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,IAAI;AACvB,SAAC;AAEO,QAAA,IAAgB,CAAA,gBAAA,GAAG,MAAK;AAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK;AACxB,SAAC;AAuCF;IArCC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI,CAAC;SACpB;QAED,MAAM,OAAO,IACX,WACE,KAAK,EAAE,OAAO,EACd,YAAY,EAAE,IAAI,CAAC,gBAAgB,EACnC,YAAY,EAAE,IAAI,CAAC,gBAAgB,EAAA,EAEnC,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,iBAAiB,EACzB,EAAA,IAAI,CAAC,QAAQ,KACZ,CAAK,CAAA,KAAA,EAAA,EAAA,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAC,YAAY,EAAG,CAAA,CACnE,CACG,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EACjB,IAAI,CAAC,OAAO,KACX,CAAI,CAAA,IAAA,EAAA,EAAA,KAAK,EAAC,SAAS,EAAA,EAAE,IAAI,CAAC,OAAO,CAAM,CACxC,CACG,CACF,CACP;AAED,QAAA,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,GAAA,EAAA,EAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,WAAW,EAClC,EAAA,OAAO,CACN,CACC;;QAIX,OAAO,CAAC,CAAA,IAAI,EAAE,IAAA,EAAA,OAAO,CAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNavCard","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-card/af-nav-card.css?tag=af-nav-card&encapsulation=scoped","src/components/af-nav-card/af-nav-card.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.card-link {\n text-decoration: none;\n color: inherit;\n display: block;\n}\n\n/* Card container */\n.nav-card {\n display: flex;\n flex-direction: column;\n position: relative;\n width: 290px;\n height: 360px;\n min-height: 360px;\n border-radius: var(--radii-image, 16px);\n overflow: hidden;\n justify-content: flex-end;\n transition: transform 0.2s ease;\n}\n\n.nav-card.is-hovered {\n transform: scale(1.02);\n}\n\n/* Image container */\n.image-container {\n position: absolute;\n inset: 0;\n overflow: hidden;\n}\n\n.card-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n\n/* Gradient overlay */\n.overlay {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000000);\n padding: 80px 24px 24px 24px;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n}\n\n/* Heading */\n.heading {\n margin: 0;\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: 24px;\n line-height: 1.2;\n letter-spacing: -0.48px;\n color: #ffffff;\n width: 100%;\n}\n\n.nav-card.is-hovered .heading {\n text-decoration: underline;\n}\n","import { Component, h, Prop, Host, State } from '@stencil/core';\n\n/**\n * A navigation card component for featured article content in mega-menu dropdowns.\n * Displays an image with a gradient overlay and headline text.\n * \n * **Usage:**\n * - Place in the `sidebar` slot of NavMenuNest\n * - Provide imageSrc, heading, and href props\n * \n * **Hover behavior:**\n * - Slight scale effect (1.02)\n * - Headline underline\n */\n@Component({\n tag: 'af-nav-card',\n styleUrl: 'af-nav-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavCard {\n /**\n * The headline text displayed over the image\n */\n @Prop() heading?: string;\n\n /**\n * URL to navigate to when clicked\n */\n @Prop() href?: string;\n\n /**\n * Image source URL for the background\n */\n @Prop() imageSrc?: string;\n\n /**\n * Alternative text for the image\n */\n @Prop() imageAlt: string = '';\n\n @State() isHovered: boolean = false;\n\n private handleMouseEnter = () => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n render() {\n const classes = {\n 'nav-card': true,\n 'is-hovered': this.isHovered\n };\n\n const content = (\n <div\n class={classes}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div class=\"image-container\">\n {this.imageSrc && (\n <img src={this.imageSrc} alt={this.imageAlt} class=\"card-image\" />\n )}\n </div>\n <div class=\"overlay\">\n {this.heading && (\n <h3 class=\"heading\">{this.heading}</h3>\n )}\n </div>\n </div>\n );\n\n if (this.href) {\n return (\n <Host>\n <a href={this.href} class=\"card-link\">\n {content}\n </a>\n </Host>\n );\n }\n\n return <Host>{content}</Host>;\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-nav-item.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-nav-menu-nest.js","mappings":";;AAAA,MAAM,gBAAgB,GAAG,w9GAAw9G;;MC2Bp+GA,eAAa,iBAAAC,kBAAA,CAAA,MAAA,aAAA,SAAAC,CAAA,CAAA;AAN1B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAOE;;;;;;AAMG;AACK,QAAA,IAAI,CAAA,IAAA,GAA4D,WAAW;AAEnF;;;;AAIG;AACK,QAAA,IAAU,CAAA,UAAA,GAAyB,SAAS;AAEpD;;;;AAIG;AACsB,QAAA,IAAiB,CAAA,iBAAA,GAAY,IAAI;AAuB3D;IArBC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,eAAe,EAAE,IAAI;AACrB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAC3B,YAAA,CAAC,cAAc,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG;SACpC;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EACjB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EACvB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,CAAQ,CACxB,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNavMenuNest","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-menu-nest/af-nav-menu-nest.css?tag=af-nav-menu-nest&encapsulation=scoped","src/components/af-nav-menu-nest/af-nav-menu-nest.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.nav-menu-nest {\n display: inline-flex;\n background: var(--af-background-base, #ffffff);\n border-radius: 32px;\n}\n\n/* Desktop layout */\n.nav-menu-nest.breakpoint-desktop {\n flex-direction: row;\n align-items: stretch;\n}\n\n.nav-menu-nest.breakpoint-desktop .menu-columns {\n display: flex;\n flex-direction: row;\n gap: 32px;\n padding: 24px 0 32px 40px;\n}\n\n.nav-menu-nest.breakpoint-desktop .menu-sidebar {\n display: flex;\n flex-direction: column;\n padding: 24px 40px 32px 32px;\n}\n\n/* Slotted content in sidebar - match column spacing */\n.nav-menu-nest.breakpoint-desktop .menu-sidebar ::slotted(af-nav-menu) {\n padding-top: 16px;\n}\n\n.nav-menu-nest.breakpoint-desktop .menu-sidebar ::slotted(af-nav-card) {\n margin-top: 16px;\n}\n\n/* Slotted NavMenu in columns - equal-width flex items with border and\n * spacing. `flex: 1 1 0` gives every column the same width regardless of\n * content; `min-width: 0` lets the content wrap within its column rather\n * than forcing the whole row to grow. */\n.nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu) {\n flex: 1 1 0;\n min-width: 0;\n border-right: 1px solid var(--af-background-border-subtle, #e8eeed);\n padding-right: 32px;\n padding-top: 16px;\n}\n\n/* Last NavMenu in columns - no border by default */\n.nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu:last-of-type) {\n border-right: none;\n padding-right: 0;\n}\n\n/* When showSidebarBorder is true, last column gets heavier border */\n:host([show-sidebar-border]) .nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu:last-of-type) {\n border-right: 1px solid var(--af-background-border-heavy, #c6d5d1);\n padding-right: 32px;\n}\n\n/* Tighter layout in the 992–1199px band where the desktop nav is still\n * shown but horizontal room is limited — reduces gap/padding so the\n * four-column layout doesn't read as cramped. */\n@media (max-width: 1199px) {\n .nav-menu-nest.breakpoint-desktop .menu-columns {\n gap: 20px;\n padding: 20px 0 24px 24px;\n }\n .nav-menu-nest.breakpoint-desktop .menu-sidebar {\n padding: 20px 24px 24px 20px;\n }\n .nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu) {\n padding-right: 20px;\n }\n :host([show-sidebar-border]) .nav-menu-nest.breakpoint-desktop .menu-columns ::slotted(af-nav-menu:last-of-type) {\n padding-right: 20px;\n }\n}\n\n/* Mobile layout */\n.nav-menu-nest.breakpoint-mobile {\n flex-direction: column;\n border-radius: 0;\n}\n\n.nav-menu-nest.breakpoint-mobile .menu-columns {\n display: flex;\n flex-direction: column;\n}\n\n.nav-menu-nest.breakpoint-mobile .menu-sidebar {\n display: flex;\n flex-direction: column;\n padding: 32px 12px;\n border-top: 1px solid var(--af-background-border-subtle, #e8eeed);\n}\n\n.nav-menu-nest.breakpoint-mobile .menu-columns ::slotted(af-nav-menu) {\n border-right: none;\n border-bottom: 1px solid var(--af-background-border-subtle, #e8eeed);\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * A mega-menu dropdown panel component.\n * Acts as a container for NavMenu columns and optionally a sidebar.\n * Used as the dropdown content for navbar items.\n * \n * **Slots:**\n * - default: Place NavMenu components here - they will be displayed as columns\n * - sidebar: Optional sidebar content (NavMenu, NavCard, or any content)\n * \n * **Example:**\n * ```html\n * <af-nav-menu-nest type=\"solutions\" breakpoint=\"desktop\">\n * <af-nav-menu heading=\"Industries\">...</af-nav-menu>\n * <af-nav-menu heading=\"Use Cases\">...</af-nav-menu>\n * <af-nav-menu heading=\"Documents\">...</af-nav-menu>\n * <af-nav-menu slot=\"sidebar\" heading=\"Resume Parser\">...</af-nav-menu>\n * </af-nav-menu-nest>\n * ```\n */\n@Component({\n tag: 'af-nav-menu-nest',\n styleUrl: 'af-nav-menu-nest.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavMenuNest {\n /**\n * The type/variant of the mega-menu\n * - 'solutions': Multi-column layout (3 columns + sidebar)\n * - 'solutions-alt': Alternative solutions layout\n * - 'resources': Multi-column layout with optional featured card\n * - 'pricing': Simpler layout without sidebar\n */\n @Prop() type: 'solutions' | 'solutions-alt' | 'resources' | 'pricing' = 'solutions';\n\n /**\n * Breakpoint variant for responsive styling\n * - 'desktop': Horizontal multi-column layout\n * - 'mobile': Vertical stacked layout\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Whether to show the heavier border on the last column (before sidebar).\n * Set to `true` when sidebar has content, `false` when no sidebar.\n * When `false`, the last column has no border.\n */\n @Prop({ reflect: true }) showSidebarBorder: boolean = true;\n\n render() {\n const classes = {\n 'nav-menu-nest': true,\n 'theme-white': true,\n [`type-${this.type}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n return (\n <Host>\n <div class={classes}>\n <div class=\"menu-columns\">\n <slot></slot>\n </div>\n <div class=\"menu-sidebar\">\n <slot name=\"sidebar\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-nav-menu.js","mappings":";;AAAA,MAAM,YAAY,GAAG,69CAA69C;;MCYr+CA,WAAS,iBAAAC,kBAAA,CAAA,MAAA,SAAA,SAAAC,CAAA,CAAA;AANtB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAYE;;;;AAIG;AACK,QAAA,IAAU,CAAA,UAAA,GAAyB,SAAS;AAEpD;;;;AAIG;AACK,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK;AAEnC;;;AAGG;AACsB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK;AAyBpD;IAvBC,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,CAAC,cAAc,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG,IAAI;YACvC,YAAY,EAAE,IAAI,CAAC,UAAU;YAC7B,YAAY,EAAE,IAAI,CAAC;SACpB;QAED,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EAChB,IAAI,CAAC,OAAO,KACX,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,aAAa,EAAA,EACtB,CAAI,CAAA,IAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,cAAc,EAAA,EAAE,IAAI,CAAC,OAAO,CAAM,CACxC,CACP,EACD,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,YAAY,EAAA,EACrB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,CACF,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNavMenu","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-nav-menu/af-nav-menu.css?tag=af-nav-menu&encapsulation=scoped","src/components/af-nav-menu/af-nav-menu.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.nav-menu {\n display: flex;\n flex-direction: column;\n gap: 16px;\n align-items: flex-start;\n min-height: 1px;\n min-width: 1px;\n}\n\n/* Desktop styles */\n.nav-menu.breakpoint-desktop {\n padding: 0;\n flex: 1 0 0;\n align-self: stretch;\n}\n\n/* Border is now controlled by parent NavMenuNest via ::slotted()\n Use showBorder prop only when NavMenu is used standalone */\n.nav-menu.breakpoint-desktop.has-border {\n border-right: 1px solid var(--af-background-border-subtle, #e8eeed);\n padding-right: 32px;\n padding-top: 16px;\n}\n\n/* Mobile styles */\n.nav-menu.breakpoint-mobile {\n padding: 32px 12px;\n width: 100%;\n border-bottom: 1px solid var(--af-background-border-subtle, #e8eeed);\n}\n\n/* Menu header */\n.menu-header {\n display: flex;\n gap: 16px;\n align-items: center;\n width: 100%;\n}\n\n.menu-heading {\n margin: 0;\n font-family: var(--typography-headingfont, 'NeuSans', 'Inter', system-ui, sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: 20px;\n line-height: 1.2;\n letter-spacing: -0.4px;\n color: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #b09670));\n flex: 1 0 0;\n min-height: 1px;\n min-width: 1px;\n}\n\n/* Mobile heading adjustments */\n.nav-menu.breakpoint-mobile .menu-heading {\n line-height: 1.1;\n}\n\n/* Menu items container */\n.menu-items {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n width: 100%;\n}\n\n/* Mobile items with left padding */\n.nav-menu.breakpoint-mobile .menu-items {\n padding-left: 24px;\n}\n\n/* Slot styling for nav-items */\n::slotted(af-nav-item) {\n width: 100%;\n}\n\n/* Card style variant - adds background and rounded corners */\n.nav-menu.card-style {\n background: var(--af-background-level-1, #e8eeed);\n border-radius: var(--radii-card-level-1, 32px);\n padding: 40px;\n}\n\n.nav-menu.card-style.breakpoint-desktop {\n flex: 1 0 0;\n align-self: stretch;\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\n\n/**\n * A grouped navigation menu component with a heading.\n * Used in mega-menu dropdowns to group related navigation items.\n */\n@Component({\n tag: 'af-nav-menu',\n styleUrl: 'af-nav-menu.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNavMenu {\n /**\n * The heading text displayed above the navigation items\n */\n @Prop() heading?: string;\n\n /**\n * Breakpoint variant for responsive styling\n * - 'desktop': Desktop-specific styles (right border, horizontal padding)\n * - 'mobile': Mobile-specific styles (bottom border, vertical layout)\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Whether to show the right border separator.\n * When used inside NavMenuNest, borders are controlled by the parent.\n * Set to true only when using NavMenu standalone.\n */\n @Prop() showBorder: boolean = false;\n\n /**\n * Whether to display as a card with background color and rounded corners.\n * Used for highlighted sidebar menus (e.g., solutions-alt variant).\n */\n @Prop({ reflect: true }) cardStyle: boolean = false;\n\n render() {\n const classes = {\n 'nav-menu': true,\n [`breakpoint-${this.breakpoint}`]: true,\n 'has-border': this.showBorder,\n 'card-style': this.cardStyle\n };\n\n return (\n <Host>\n <div class={classes}>\n {this.heading && (\n <div class=\"menu-header\">\n <h3 class=\"menu-heading\">{this.heading}</h3>\n </div>\n )}\n <div class=\"menu-items\">\n <slot></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-navbar.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-number-badge.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-numbered-stepper-item.js","mappings":";;;;AAAA,MAAM,wBAAwB,GAAG,4pGAA4pG;;MCsBhrGA,uBAAqB,iBAAAC,kBAAA,CAAA,MAAA,qBAAA,SAAAC,CAAA,CAAA;AANlC,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAOE;;;AAGG;AACsB,QAAA,IAAK,CAAA,KAAA,GAAW,CAAC;AA8B3C;IA5BC,MAAM,GAAA;;QAEJ,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAA2C;AAEnG,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,UAAU,EAAA,EACnB,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,mCAAmC,EAAA,aAAA,EAAa,MAAM,EAAA,EAC/D,CAAA,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,8BAA8B,EACpC,MAAM,EAAE,OAAO,EACf,OAAO,EAAC,UAAU,EAClB,IAAI,EAAE,EAAE,EACS,CAAA,EACnB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAC,kCAAkC,EAAA,CAAQ,CAClD,EACN,CAAA,CAAA,sBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,KAAK,EAAC,+BAA+B,EACxB,cAAA,EAAA,MAAM,oBACJ,QAAQ,EAAA,EAEvB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAQ,CAAA,EAC5B,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,aAAa,EAAA,EACtB,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,MAAM,EAAA,CAAQ,CACpB,CACc,CAClB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNumberedStepperItem","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-numbered-stepper-item/af-numbered-stepper-item.css?tag=af-numbered-stepper-item&encapsulation=scoped","src/components/af-numbered-stepper-item/af-numbered-stepper-item.tsx"],"sourcesContent":["/* Horizontal default: centered column — badge on top, lockup below.\n * The connector is a 1px line on the right half of the marker row that\n * reaches into the next sibling's marker row, so visually the line spans\n * between the two badges. Hidden on :last-child. */\n:host {\n display: flex;\n flex-direction: column;\n align-items: center;\n text-align: center;\n padding: 0 var(--space-6, 24px);\n min-width: 0;\n color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343B));\n}\n\n.numbered-stepper-item__marker-row {\n position: relative;\n display: flex;\n justify-content: center;\n width: 100%;\n margin-bottom: var(--space-6, 24px);\n}\n\n.numbered-stepper-item__badge {\n position: relative;\n z-index: 1;\n}\n\n/* Connector segment between this badge and the next one.\n * 20px = half of 40px badge. We offset by that from the centre so the line\n * starts at the edge of the badge and stretches off the right side of the\n * host, joining the next item's mirror-offset half. */\n.numbered-stepper-item__connector {\n position: absolute;\n left: calc(50% + 20px);\n right: calc(-50% + 20px);\n top: 50%;\n height: 1px;\n background: var(--colour-brand-soft-clay, #B09670);\n}\n\n/* Last item doesn't draw a connector. */\n:host(:last-child) .numbered-stepper-item__connector {\n display: none;\n}\n\n.numbered-stepper-item__lockup {\n display: block;\n max-width: 320px;\n}\n\n/* Vertical parent orientation: badges in a column, text to the right.\n * Connector runs vertically along the badge column. */\n:host-context(.numbered-stepper--vertical) {\n flex-direction: row;\n align-items: flex-start;\n text-align: left;\n gap: var(--space-6, 24px);\n padding: 0;\n}\n\n:host-context(.numbered-stepper--vertical) .numbered-stepper-item__marker-row {\n width: auto;\n flex-shrink: 0;\n margin-bottom: 0;\n /* Pin to top so subsequent text content flows naturally beside it. */\n align-self: stretch;\n justify-content: flex-start;\n align-items: flex-start;\n}\n\n:host-context(.numbered-stepper--vertical) .numbered-stepper-item__connector {\n left: 50%;\n right: auto;\n top: calc(var(--space-10, 40px) + var(--space-1, 4px));\n bottom: calc(var(--space-8, 32px) * -1);\n height: auto;\n width: 1px;\n transform: translateX(-50%);\n}\n\n:host-context(.numbered-stepper--vertical) .numbered-stepper-item__lockup {\n max-width: none;\n flex: 1 1 auto;\n /* Align text baseline roughly to the badge centre. */\n padding-top: var(--space-2, 8px);\n}\n\n/* ≤ mobile — horizontal collapses to a vertical row-layout for the item too. */\n@media (max-width: 767px) {\n :host-context(.numbered-stepper--horizontal) {\n flex-direction: row;\n align-items: flex-start;\n text-align: left;\n gap: var(--space-6, 24px);\n padding: 0;\n }\n\n :host-context(.numbered-stepper--horizontal) .numbered-stepper-item__marker-row {\n width: auto;\n flex-shrink: 0;\n margin-bottom: 0;\n }\n\n :host-context(.numbered-stepper--horizontal) .numbered-stepper-item__connector {\n display: none;\n }\n\n :host-context(.numbered-stepper--horizontal) .numbered-stepper-item__lockup {\n max-width: none;\n flex: 1 1 auto;\n padding-top: var(--space-2, 8px);\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * A single step within an `af-numbered-stepper`. Renders a filled soft-clay\n * circle badge (via `af-number-badge`) alongside a heading + body lockup.\n *\n * The parent `af-numbered-stepper` auto-assigns the `index` prop based on\n * DOM order. Pass `index` explicitly to override.\n *\n * Heading scale is the shared `card` variant from `af-typography-lockup`\n * (22/20px) — the same ladder step used by diff-card, related-card, and\n * other card-title uses across the design system.\n *\n * @slot heading - Step title (h3 or h4 recommended for semantics).\n * @slot body - Step description paragraph(s).\n */\n@Component({\n tag: 'af-numbered-stepper-item',\n styleUrl: 'af-numbered-stepper-item.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNumberedStepperItem {\n /**\n * Step number shown in the badge. Auto-assigned by the parent stepper if\n * not explicitly set.\n */\n @Prop({ reflect: true }) index: number = 1;\n\n render() {\n // The badge supports 1–10; clamp for safety so we never pass a bad prop.\n const clamped = Math.max(1, Math.min(10, this.index | 0)) as 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;\n\n return (\n <Host role=\"listitem\">\n <div class=\"numbered-stepper-item__marker-row\" aria-hidden=\"true\">\n <af-number-badge\n class=\"numbered-stepper-item__badge\"\n number={clamped}\n variant=\"inCircle\"\n size={40}\n ></af-number-badge>\n <span class=\"numbered-stepper-item__connector\"></span>\n </div>\n <af-typography-lockup\n class=\"numbered-stepper-item__lockup\"\n heading-size=\"card\"\n text-alignment=\"center\"\n >\n <slot name=\"heading\"></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n </af-typography-lockup>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-numbered-stepper.js","mappings":";;AAAA,MAAM,oBAAoB,GAAG,6bAA6b;;MCqC7cA,mBAAiB,iBAAAC,kBAAA,CAAA,MAAA,iBAAA,SAAAC,CAAA,CAAA;AAN9B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAUU,QAAA,IAAW,CAAA,WAAA,GAA8B,YAAY;AAgC9D;IA9BC,gBAAgB,GAAA;QACd,IAAI,CAAC,aAAa,EAAE;;IAGtB,kBAAkB,GAAA;QAChB,IAAI,CAAC,aAAa,EAAE;;IAGd,aAAa,GAAA;AACnB,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CACtB,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAClB;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,KAAI;;AAExB,YAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,EAAE;AAC1C,gBAAA,IAAI,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC;;AAEtB,SAAC,CAAC;;IAGJ,MAAM,GAAA;AACJ,QAAA,QACE,CAAA,CAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EACH,KAAK,EAAE,CAAsC,mCAAA,EAAA,IAAI,CAAC,WAAW,CAAA,CAAE,EAC/D,IAAI,EAAC,MAAM,EAAA,EAEX,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfNumberedStepper","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-numbered-stepper/af-numbered-stepper.css?tag=af-numbered-stepper&encapsulation=scoped","src/components/af-numbered-stepper/af-numbered-stepper.tsx"],"sourcesContent":[":host {\n display: grid;\n width: 100%;\n max-width: 1120px;\n margin: 0 auto;\n}\n\n/* Horizontal: equal-width columns; each item paints its own connector segment. */\n.numbered-stepper--horizontal {\n grid-auto-columns: 1fr;\n grid-auto-flow: column;\n gap: 0;\n}\n\n/* Vertical: one column; items render the badge-row inline and the connector\n * runs along the top of the row between badges. */\n.numbered-stepper--vertical {\n max-width: 680px;\n grid-auto-flow: row;\n gap: var(--space-8, 32px);\n}\n\n/* ≤ mobile — horizontal collapses to vertical stack. */\n@media (max-width: 767px) {\n .numbered-stepper--horizontal {\n grid-auto-flow: row;\n grid-auto-columns: unset;\n gap: var(--space-8, 32px);\n }\n}\n","import { Component, h, Host, Prop, Element } from '@stencil/core';\n\n/**\n * Numbered stepper — filled soft-clay circle badges (1/2/3) paired with a\n * heading + body description per step. Sibling to `af-stepper` (which uses\n * outlined badges on a single spine connector); the numbered variant uses\n * filled badges with per-step connector segments, matching the Webflow\n * \"How it works\" marketing pattern.\n *\n * Renders children `af-numbered-stepper-item` elements horizontally on\n * desktop (auto-stacks on mobile) or vertically when `orientation=\"vertical\"`.\n * The parent auto-assigns badge numbers based on DOM order, so consumers\n * don't hand-number the steps.\n *\n * Headings use the shared `heading-size=\"card\"` scale from\n * `af-typography-lockup` (22/20px) — no bespoke font-size tokens.\n *\n * @example\n * ```html\n * <af-numbered-stepper>\n * <af-numbered-stepper-item>\n * <h3 slot=\"heading\">Connect your ATS</h3>\n * <p slot=\"body\">OAuth-based hook into the tools you already use.</p>\n * </af-numbered-stepper-item>\n * <af-numbered-stepper-item>...</af-numbered-stepper-item>\n * <af-numbered-stepper-item>...</af-numbered-stepper-item>\n * </af-numbered-stepper>\n * ```\n *\n * @slot - `af-numbered-stepper-item` elements.\n */\n@Component({\n tag: 'af-numbered-stepper',\n styleUrl: 'af-numbered-stepper.css',\n shadow: false,\n scoped: true,\n})\nexport class AfNumberedStepper {\n @Element() el!: HTMLElement;\n\n /** Layout orientation. Horizontal auto-stacks to vertical on mobile. */\n @Prop() orientation: 'horizontal' | 'vertical' = 'horizontal';\n\n componentDidLoad() {\n this.assignIndices();\n }\n\n componentDidUpdate() {\n this.assignIndices();\n }\n\n private assignIndices() {\n const items = Array.from(\n this.el.querySelectorAll('af-numbered-stepper-item'),\n ) as unknown as { index?: number }[];\n items.forEach((item, i) => {\n // Only set when the consumer hasn't explicitly numbered the step.\n if (item.index == null || item.index === 1) {\n item.index = i + 1;\n }\n });\n }\n\n render() {\n return (\n <Host\n class={`numbered-stepper numbered-stepper--${this.orientation}`}\n role=\"list\"\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-paperclip-decoration.js","mappings":";;AAAA,MAAM,wBAAwB,GAAG,6DAA6D;;MCiCjFA,uBAAqB,iBAAAC,kBAAA,CAAA,MAAA,qBAAA,SAAAC,CAAA,CAAA;AALlC,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;AAME;;;;;;AAMG;AACK,QAAA,IAAK,CAAA,KAAA,GAAW,KAAK;AAE7B;;;;AAIG;AACK,QAAA,IAAM,CAAA,MAAA,GAAW,KAAK;AAE9B;;;AAGG;AACK,QAAA,IAAO,CAAA,OAAA,GAAW,IAAI;AAE9B;;;;AAIG;AACK,QAAA,IAAI,CAAA,IAAA,GAAW,OAAO;AAuB/B;IArBC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,aAAA,EACc,MAAM,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,mBAAmB,EAAC,MAAM,EAAA,EAE1B,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,CAAC,EAAC,imBAAimB,EACnmB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAA,cAAA,EACD,IAAI,CAAC,OAAO,GAC1B,CACE,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfPaperclipDecoration","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-paperclip-decoration/af-paperclip-decoration.css?tag=af-paperclip-decoration&encapsulation=shadow","src/components/af-paperclip-decoration/af-paperclip-decoration.tsx"],"sourcesContent":[":host {\n display: block;\n /* Decorative-only; host is sized/positioned by the consumer. */\n pointer-events: none;\n}\n\nsvg {\n display: block;\n /* Let the SVG honour its own width/height attributes rather than\n inheriting host dimensions. */\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Decorative paperclip vector graphic. Renders the left-half paperclip\n * silhouette (viewBox `0 0 655 754`) that the marketing site bleeds off\n * the right edge of inkwell hero sections.\n *\n * Purely decorative — the inner `<svg>` is `aria-hidden=\"true\"`. Size it\n * via the `width` / `height` props (they accept any CSS length, e.g.\n * `\"655\"`, `\"100%\"`, `\"50vw\"`) and position the host element in CSS.\n *\n * `fill` is white by default (intended for inkwell backgrounds); override\n * for other themes, e.g. `fill=\"var(--colour-brand-inkwell)\"` on a\n * mist-green section. `opacity` defaults to `0.06` to match the\n * watermark treatment used on `/`, `/au`, and `/platform`.\n *\n * @example\n * ```html\n * <af-section theme=\"inkwell\" padding=\"loose\" style=\"position:relative;overflow:hidden\">\n * <af-paperclip-decoration\n * style=\"position:absolute;bottom:-80px;right:-80px\"\n * ></af-paperclip-decoration>\n * <af-container style=\"position:relative;z-index:1\">\n * <!-- hero content -->\n * </af-container>\n * </af-section>\n * ```\n */\n@Component({\n tag: 'af-paperclip-decoration',\n styleUrl: 'af-paperclip-decoration.css',\n shadow: true\n})\nexport class AfPaperclipDecoration {\n /**\n * SVG width — accepts any CSS length or unitless number (pixels).\n * Default sized so the watermark stays inside the af-hero\n * inkwell-centered column without bleeding into the `logos-below`\n * client-logo carousel. Override per-page via the prop if a larger\n * decorative scale is wanted somewhere with no logos slot.\n */\n @Prop() width: string = '520';\n\n /**\n * SVG height — accepts any CSS length or unitless number (pixels).\n * Sized to match the trimmed `width` default; preserves the source\n * SVG's 655 × 754 aspect ratio.\n */\n @Prop() height: string = '600';\n\n /**\n * Fill opacity of the paperclip shape. Defaults to `0.06` to match the\n * marketing-site watermark treatment.\n */\n @Prop() opacity: number = 0.06;\n\n /**\n * Fill colour. Defaults to `white` (designed for inkwell backgrounds);\n * override for other themes, e.g. `var(--colour-brand-inkwell)` on a\n * mist-green section.\n */\n @Prop() fill: string = 'white';\n\n render() {\n return (\n <Host>\n <svg\n aria-hidden=\"true\"\n width={this.width}\n height={this.height}\n viewBox=\"0 0 655 754\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"none\"\n >\n <path\n d=\"M1102.14 108.279C1031.8 37.5181 939.128 -1.06817 840.61 0.447304H358.674L262.104 157.124H841.87C842.558 157.124 843.36 157.124 844.047 157.124C900.638 157.124 953.791 179.273 994 219.725C1035.24 261.225 1058.04 316.715 1058.04 376.052C1058.04 497.872 960.665 596.844 841.068 596.844H251.335C197.609 596.844 153.848 552.313 153.848 497.639C153.848 442.965 197.723 397.734 251.221 396.102H779.208L878.872 239.426H248.586C111.577 242.923 0 358.682 0 497.639C0 636.596 112.723 753.404 251.335 753.404H841.068C1045.55 753.404 1212 584.021 1212 375.935C1212 274.398 1173.05 179.39 1102.26 108.162L1102.14 108.279Z\"\n fill={this.fill}\n fill-opacity={this.opacity}\n />\n </svg>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-progress-line.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-radio.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-section.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1 +0,0 @@
1
- {"file":"af-show.js","mappings":";;AAAA,MAAM,SAAS,GAAG,itBAAitB;;MCqBttBA,QAAM,iBAAAC,kBAAA,CAAA,MAAA,MAAA,SAAAC,CAAA,CAAA;;;;;;;;IAajB,MAAM,GAAA;AACJ,QAAA,MAAM,OAAO,GAAG;AACd,YAAA,MAAM,EAAE,IAAI;YACZ,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,KAAK,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK;YAC1C,CAAC,CAAA,WAAA,EAAc,IAAI,CAAC,KAAK,CAAA,CAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK;SAC3C;QAED,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,OAAO,EAAA,EAClB,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACR;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AfShow","__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-show/af-show.css?tag=af-show&encapsulation=shadow","src/components/af-show/af-show.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n:host([hidden]) {\n display: none !important;\n}\n\n/* Show above breakpoints (hidden below) */\n/* sm: 480px (small) */\n:host(.show-above-sm) {\n display: none;\n}\n@media (min-width: 480px) {\n :host(.show-above-sm) {\n display: contents;\n }\n}\n\n/* md: 768px */\n:host(.show-above-md) {\n display: none;\n}\n@media (min-width: 768px) {\n :host(.show-above-md) {\n display: contents;\n }\n}\n\n/* lg: 1024px */\n:host(.show-above-lg) {\n display: none;\n}\n@media (min-width: 1024px) {\n :host(.show-above-lg) {\n display: contents;\n }\n}\n\n/* xl: 1440px */\n:host(.show-above-xl) {\n display: none;\n}\n@media (min-width: 1440px) {\n :host(.show-above-xl) {\n display: contents;\n }\n}\n\n/* Show below breakpoints (hidden at or above) */\n/* sm: 480px (small) */\n@media (min-width: 480px) {\n :host(.show-below-sm) {\n display: none;\n }\n}\n\n/* md: 768px */\n@media (min-width: 768px) {\n :host(.show-below-md) {\n display: none;\n }\n}\n\n/* lg: 1024px */\n@media (min-width: 1024px) {\n :host(.show-below-lg) {\n display: none;\n }\n}\n\n/* xl: 1440px */\n@media (min-width: 1440px) {\n :host(.show-below-xl) {\n display: none;\n }\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\ntype Breakpoint = 'sm' | 'md' | 'lg' | 'xl';\n\n/**\n * Show component for responsive visibility control.\n * Show or hide content based on viewport breakpoints.\n *\n * Breakpoints (from tokens):\n * - sm: 375px\n * - md: 768px\n * - lg: 1024px\n * - xl: 1440px\n *\n * @slot - Content to show/hide\n */\n@Component({\n tag: 'af-show',\n styleUrl: 'af-show.css',\n shadow: true,\n})\nexport class AfShow {\n /**\n * Show content only when viewport is at or above this breakpoint.\n * Content is hidden below this breakpoint.\n */\n @Prop() above?: Breakpoint;\n\n /**\n * Show content only when viewport is below this breakpoint.\n * Content is hidden at or above this breakpoint.\n */\n @Prop() below?: Breakpoint;\n\n render() {\n const classes = {\n 'show': true,\n [`show-above-${this.above}`]: !!this.above,\n [`show-below-${this.below}`]: !!this.below,\n };\n\n return (\n <Host class={classes}>\n <slot></slot>\n </Host>\n );\n }\n}\n\n"],"version":3}