@affinda/wc 0.0.20 → 0.0.21

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 (442) hide show
  1. package/dist/affinda/af-accordion-item.entry.esm.js.map +1 -1
  2. package/dist/affinda/af-button.entry.esm.js.map +1 -1
  3. package/dist/affinda/af-card.entry.esm.js.map +1 -1
  4. package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -1
  5. package/dist/affinda/af-icon-button.entry.esm.js.map +1 -1
  6. package/dist/affinda/af-icon-text.entry.esm.js.map +1 -1
  7. package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -1
  8. package/dist/affinda/af-image.entry.esm.js.map +1 -1
  9. package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -1
  10. package/dist/affinda/af-section.entry.esm.js.map +1 -1
  11. package/dist/affinda/af-stepper-step.entry.esm.js.map +1 -0
  12. package/dist/affinda/af-stepper.entry.esm.js.map +1 -0
  13. package/dist/affinda/af-tag.entry.esm.js.map +1 -1
  14. package/dist/affinda/af-testimonial.entry.esm.js.map +1 -1
  15. package/dist/affinda/af-text-image.entry.esm.js.map +1 -1
  16. package/dist/affinda/af-theme-override.entry.esm.js.map +1 -1
  17. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
  18. package/dist/affinda/affinda.esm.js +1 -1
  19. package/dist/affinda/index.esm.js +1 -1
  20. package/dist/affinda/p-07efc7a0.entry.js +2 -0
  21. package/dist/affinda/{p-8f24dfe3.entry.js.map → p-07efc7a0.entry.js.map} +1 -1
  22. package/dist/affinda/p-08143c7e.entry.js +2 -0
  23. package/dist/affinda/{p-63314e14.entry.js.map → p-08143c7e.entry.js.map} +1 -1
  24. package/dist/affinda/{p-01993cc8.entry.js → p-0fb16377.entry.js} +2 -2
  25. package/dist/affinda/p-122b6e96.entry.js +2 -0
  26. package/dist/affinda/p-122b6e96.entry.js.map +1 -0
  27. package/dist/affinda/{p-3d2fb635.entry.js → p-1a87dd1c.entry.js} +2 -2
  28. package/dist/affinda/p-202bac33.entry.js +2 -0
  29. package/dist/affinda/p-2e50c27d.entry.js +2 -0
  30. package/dist/affinda/{p-920e6d30.entry.js.map → p-2e50c27d.entry.js.map} +1 -1
  31. package/dist/affinda/{p-adacb8c4.entry.js → p-2e8682a0.entry.js} +2 -2
  32. package/dist/affinda/{p-266af3e1.entry.js → p-3642589b.entry.js} +2 -2
  33. package/dist/affinda/{p-4c5f92a9.entry.js → p-391bb085.entry.js} +2 -2
  34. package/dist/affinda/{p-d51c4b1b.entry.js → p-3fc2a3dc.entry.js} +2 -2
  35. package/dist/affinda/{p-f9e7cf8f.entry.js → p-45f76ad4.entry.js} +2 -2
  36. package/dist/affinda/p-4fcb61d1.entry.js +2 -0
  37. package/dist/affinda/{p-2e5e4960.entry.js.map → p-4fcb61d1.entry.js.map} +1 -1
  38. package/dist/affinda/p-517543bd.entry.js +2 -0
  39. package/dist/affinda/{p-96df0106.entry.js.map → p-517543bd.entry.js.map} +1 -1
  40. package/dist/affinda/{p-c72cfcbd.entry.js → p-5591bc79.entry.js} +2 -2
  41. package/dist/affinda/{p-c74481bd.entry.js → p-6179957e.entry.js} +2 -2
  42. package/dist/affinda/{p-9e21b6c1.entry.js → p-62699653.entry.js} +2 -2
  43. package/dist/affinda/p-6a5fa86a.entry.js +2 -0
  44. package/dist/affinda/{p-68f1f661.entry.js.map → p-6a5fa86a.entry.js.map} +1 -1
  45. package/dist/affinda/p-76475b41.entry.js +2 -0
  46. package/dist/affinda/{p-331f9627.entry.js.map → p-76475b41.entry.js.map} +1 -1
  47. package/dist/affinda/p-78ff69a4.entry.js +2 -0
  48. package/dist/affinda/p-78ff69a4.entry.js.map +1 -0
  49. package/dist/affinda/{p-0b5bc045.entry.js → p-79e6fc73.entry.js} +2 -2
  50. package/dist/affinda/p-79e6fc73.entry.js.map +1 -0
  51. package/dist/affinda/{p-db9249e4.entry.js → p-7da3a28f.entry.js} +2 -2
  52. package/dist/affinda/{p-e7d8d909.entry.js → p-86a9ff3e.entry.js} +2 -2
  53. package/dist/affinda/p-9242c8d1.entry.js +2 -0
  54. package/dist/affinda/p-9242c8d1.entry.js.map +1 -0
  55. package/dist/affinda/p-933560e0.entry.js +2 -0
  56. package/dist/affinda/{p-16f808d5.entry.js.map → p-933560e0.entry.js.map} +1 -1
  57. package/dist/affinda/{p-e9bc1739.entry.js → p-a53d5549.entry.js} +2 -2
  58. package/dist/affinda/{p-02830771.entry.js → p-accd917e.entry.js} +2 -2
  59. package/dist/affinda/{p-cc4e73dc.entry.js → p-ad9b0eec.entry.js} +2 -2
  60. package/dist/affinda/p-b18767cf.entry.js +2 -0
  61. package/dist/affinda/{p-57eae3cd.entry.js.map → p-b18767cf.entry.js.map} +1 -1
  62. package/dist/affinda/p-b85e2bff.entry.js +2 -0
  63. package/dist/affinda/{p-1c32cfcb.entry.js.map → p-b85e2bff.entry.js.map} +1 -1
  64. package/dist/affinda/{p-d90366f6.entry.js → p-bb67cf12.entry.js} +2 -2
  65. package/dist/affinda/p-bb67cf12.entry.js.map +1 -0
  66. package/dist/affinda/{p-b10103f4.entry.js → p-c01eaa85.entry.js} +2 -2
  67. package/dist/affinda/p-c225ac8c.entry.js +2 -0
  68. package/dist/affinda/p-c225ac8c.entry.js.map +1 -0
  69. package/dist/affinda/{p-288c2656.entry.js → p-c3d7872c.entry.js} +2 -2
  70. package/dist/affinda/{p-af25dad7.entry.js → p-c51a2687.entry.js} +2 -2
  71. package/dist/affinda/{p-9de05d1d.entry.js → p-d28b0860.entry.js} +2 -2
  72. package/dist/affinda/p-d74a7ae9.entry.js +2 -0
  73. package/dist/affinda/{p-d47a77e2.entry.js → p-e2f555fc.entry.js} +2 -2
  74. package/dist/affinda/{p-e156a8bb.entry.js → p-e37fea2f.entry.js} +2 -2
  75. package/dist/affinda/{p-b56e9e2d.entry.js → p-ea02610f.entry.js} +2 -2
  76. package/dist/affinda/p-ea0ccbce.entry.js +2 -0
  77. package/dist/affinda/p-eebb5101.entry.js +2 -0
  78. package/dist/affinda/{p-8f528f9d.entry.js.map → p-eebb5101.entry.js.map} +1 -1
  79. package/dist/affinda/p-f1dd31bd.entry.js +2 -0
  80. package/dist/affinda/p-f1dd31bd.entry.js.map +1 -0
  81. package/dist/affinda/{p-080cf84f.entry.js → p-f4d2a07d.entry.js} +2 -2
  82. package/dist/affinda/{p-f7a13cd3.entry.js → p-f78dd237.entry.js} +2 -2
  83. package/dist/affinda/p-f8bdddf5.entry.js +2 -0
  84. package/dist/affinda/{p-b2338fab.entry.js.map → p-f8bdddf5.entry.js.map} +1 -1
  85. package/dist/cjs/af-accordion-item.cjs.entry.js +1 -27
  86. package/dist/cjs/af-accordion-item.entry.cjs.js.map +1 -1
  87. package/dist/cjs/af-accordion.cjs.entry.js +1 -1
  88. package/dist/cjs/af-button.cjs.entry.js +5 -4
  89. package/dist/cjs/af-button.entry.cjs.js.map +1 -1
  90. package/dist/cjs/af-card.cjs.entry.js +2 -2
  91. package/dist/cjs/af-card.entry.cjs.js.map +1 -1
  92. package/dist/cjs/af-center.cjs.entry.js +1 -1
  93. package/dist/cjs/af-client-carousel.cjs.entry.js +11 -1
  94. package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
  95. package/dist/cjs/af-contact-item.cjs.entry.js +1 -1
  96. package/dist/cjs/af-divider.cjs.entry.js +1 -1
  97. package/dist/cjs/af-feature-accordion.cjs.entry.js +2 -2
  98. package/dist/cjs/af-feature-grid.cjs.entry.js +1 -1
  99. package/dist/cjs/af-footer-column.cjs.entry.js +1 -1
  100. package/dist/cjs/af-footer-link.cjs.entry.js +1 -1
  101. package/dist/cjs/af-footer.cjs.entry.js +1 -1
  102. package/dist/cjs/af-grid.cjs.entry.js +2 -2
  103. package/dist/cjs/af-icon-box.cjs.entry.js +1 -1
  104. package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
  105. package/dist/cjs/af-icon-button.entry.cjs.js.map +1 -1
  106. package/dist/cjs/af-icon-text.cjs.entry.js +1 -1
  107. package/dist/cjs/af-icon-text.entry.cjs.js.map +1 -1
  108. package/dist/cjs/af-illustrated-card.cjs.entry.js +1 -1
  109. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -1
  110. package/dist/cjs/af-image.cjs.entry.js +12 -2
  111. package/dist/cjs/af-image.entry.cjs.js.map +1 -1
  112. package/dist/cjs/af-in-page-banner.cjs.entry.js +2 -2
  113. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -1
  114. package/dist/cjs/af-inline.cjs.entry.js +1 -1
  115. package/dist/cjs/af-logo-well.cjs.entry.js +1 -1
  116. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +2 -2
  117. package/dist/cjs/af-nav-accordion.cjs.entry.js +1 -1
  118. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +1 -1
  119. package/dist/cjs/af-nav-menu.cjs.entry.js +1 -1
  120. package/dist/cjs/af-number-badge.cjs.entry.js +1 -1
  121. package/dist/cjs/af-progress-line.cjs.entry.js +2 -2
  122. package/dist/cjs/af-section.cjs.entry.js +3 -3
  123. package/dist/cjs/af-section.entry.cjs.js.map +1 -1
  124. package/dist/cjs/af-show.cjs.entry.js +1 -1
  125. package/dist/cjs/af-social-link.cjs.entry.js +1 -1
  126. package/dist/cjs/af-spacer.cjs.entry.js +1 -1
  127. package/dist/cjs/af-split-section.cjs.entry.js +2 -2
  128. package/dist/cjs/af-stack.cjs.entry.js +1 -1
  129. package/dist/cjs/af-stepper-step.cjs.entry.js +23 -0
  130. package/dist/cjs/af-stepper-step.entry.cjs.js.map +1 -0
  131. package/dist/cjs/af-stepper.cjs.entry.js +34 -0
  132. package/dist/cjs/af-stepper.entry.cjs.js.map +1 -0
  133. package/dist/cjs/af-tag.cjs.entry.js +7 -8
  134. package/dist/cjs/af-tag.entry.cjs.js.map +1 -1
  135. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +1 -1
  136. package/dist/cjs/af-testimonial-stat.cjs.entry.js +1 -1
  137. package/dist/cjs/af-testimonial.cjs.entry.js +3 -3
  138. package/dist/cjs/af-testimonial.entry.cjs.js.map +1 -1
  139. package/dist/cjs/af-text-image-nest.cjs.entry.js +1 -1
  140. package/dist/cjs/af-text-image.cjs.entry.js +1 -1
  141. package/dist/cjs/af-text-image.entry.cjs.js.map +1 -1
  142. package/dist/cjs/af-theme-override.cjs.entry.js +2 -2
  143. package/dist/cjs/af-theme-override.entry.cjs.js.map +1 -1
  144. package/dist/cjs/af-typography-lockup.cjs.entry.js +21 -4
  145. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
  146. package/dist/cjs/af-video-container.cjs.entry.js +1 -1
  147. package/dist/cjs/af-visually-hidden.cjs.entry.js +1 -1
  148. package/dist/cjs/affinda.cjs.js +1 -1
  149. package/dist/cjs/loader.cjs.js +1 -1
  150. package/dist/collection/collection-manifest.json +2 -0
  151. package/dist/collection/components/af-accordion/af-accordion.js +1 -1
  152. package/dist/collection/components/af-accordion-item/af-accordion-item.js +1 -27
  153. package/dist/collection/components/af-accordion-item/af-accordion-item.js.map +1 -1
  154. package/dist/collection/components/af-button/af-button.css +24 -24
  155. package/dist/collection/components/af-button/af-button.js +10 -9
  156. package/dist/collection/components/af-button/af-button.js.map +1 -1
  157. package/dist/collection/components/af-card/af-card.css +2 -2
  158. package/dist/collection/components/af-card/af-card.js +1 -1
  159. package/dist/collection/components/af-center/af-center.js +1 -1
  160. package/dist/collection/components/af-client-carousel/af-client-carousel.js +33 -2
  161. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
  162. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  163. package/dist/collection/components/af-divider/af-divider.js +1 -1
  164. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +2 -2
  165. package/dist/collection/components/af-feature-grid/af-feature-grid.js +1 -1
  166. package/dist/collection/components/af-footer/af-footer.js +1 -1
  167. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  168. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  169. package/dist/collection/components/af-grid/af-grid.js +2 -2
  170. package/dist/collection/components/af-icon-box/af-icon-box.js +1 -1
  171. package/dist/collection/components/af-icon-button/af-icon-button.css +2 -2
  172. package/dist/collection/components/af-icon-text/af-icon-text.js +3 -3
  173. package/dist/collection/components/af-icon-text/af-icon-text.js.map +1 -1
  174. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +4 -3
  175. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -1
  176. package/dist/collection/components/af-image/af-image.css +21 -4
  177. package/dist/collection/components/af-image/af-image.js +33 -1
  178. package/dist/collection/components/af-image/af-image.js.map +1 -1
  179. package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +3 -3
  180. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +11 -1
  181. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -1
  182. package/dist/collection/components/af-inline/af-inline.js +1 -1
  183. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  184. package/dist/collection/components/af-nav-accordion/af-nav-accordion.js +1 -1
  185. package/dist/collection/components/af-nav-accordion-item/af-nav-accordion-item.js +2 -2
  186. package/dist/collection/components/af-nav-menu/af-nav-menu.js +1 -1
  187. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +1 -1
  188. package/dist/collection/components/af-number-badge/af-number-badge.js +3 -3
  189. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
  190. package/dist/collection/components/af-section/af-section.css +15 -15
  191. package/dist/collection/components/af-section/af-section.js +2 -2
  192. package/dist/collection/components/af-show/af-show.js +1 -1
  193. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  194. package/dist/collection/components/af-spacer/af-spacer.js +1 -1
  195. package/dist/collection/components/af-split-section/af-split-section.js +2 -2
  196. package/dist/collection/components/af-stack/af-stack.js +1 -1
  197. package/dist/collection/components/af-stepper/af-stepper.css +54 -0
  198. package/dist/collection/components/af-stepper/af-stepper.js +83 -0
  199. package/dist/collection/components/af-stepper/af-stepper.js.map +1 -0
  200. package/dist/collection/components/af-stepper-step/af-stepper-step.css +85 -0
  201. package/dist/collection/components/af-stepper-step/af-stepper-step.js +60 -0
  202. package/dist/collection/components/af-stepper-step/af-stepper-step.js.map +1 -0
  203. package/dist/collection/components/af-tab/af-tab.js +1 -1
  204. package/dist/collection/components/af-tab-bar/af-tab-bar.js +2 -2
  205. package/dist/collection/components/af-tag/af-tag.css +41 -21
  206. package/dist/collection/components/af-tag/af-tag.js +18 -15
  207. package/dist/collection/components/af-tag/af-tag.js.map +1 -1
  208. package/dist/collection/components/af-testimonial/af-testimonial.css +28 -6
  209. package/dist/collection/components/af-testimonial/af-testimonial.js +14 -6
  210. package/dist/collection/components/af-testimonial/af-testimonial.js.map +1 -1
  211. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
  212. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  213. package/dist/collection/components/af-text-image/af-text-image.css +5 -3
  214. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
  215. package/dist/collection/components/af-theme-override/af-theme-override.css +15 -15
  216. package/dist/collection/components/af-theme-override/af-theme-override.js +1 -1
  217. package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +22 -4
  218. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +60 -3
  219. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
  220. package/dist/collection/components/af-video-container/af-video-container.js +1 -1
  221. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
  222. package/dist/components/af-accordion-item.js +1 -27
  223. package/dist/components/af-accordion-item.js.map +1 -1
  224. package/dist/components/af-accordion.js +1 -1
  225. package/dist/components/af-button.js +1 -1
  226. package/dist/components/af-card.js +1 -1
  227. package/dist/components/af-center.js +1 -1
  228. package/dist/components/af-client-carousel.js +13 -2
  229. package/dist/components/af-client-carousel.js.map +1 -1
  230. package/dist/components/af-contact-item.js +1 -1
  231. package/dist/components/af-divider.js +1 -1
  232. package/dist/components/af-feature-accordion.js +2 -2
  233. package/dist/components/af-feature-card.js +1 -1
  234. package/dist/components/af-feature-grid.js +2 -2
  235. package/dist/components/af-footer-column.js +1 -1
  236. package/dist/components/af-footer-link.js +1 -1
  237. package/dist/components/af-footer.js +1 -1
  238. package/dist/components/af-grid-callout.js +1 -1
  239. package/dist/components/af-grid.js +2 -2
  240. package/dist/components/af-icon-box.js +1 -1
  241. package/dist/components/af-icon-button.js +1 -1
  242. package/dist/components/af-icon-text.js +3 -3
  243. package/dist/components/af-icon-text.js.map +1 -1
  244. package/dist/components/af-illustrated-card.js +1 -1
  245. package/dist/components/af-image.js +1 -1
  246. package/dist/components/af-in-page-banner.js +3 -3
  247. package/dist/components/af-in-page-banner.js.map +1 -1
  248. package/dist/components/af-inline.js +1 -1
  249. package/dist/components/af-logo-well.js +1 -1
  250. package/dist/components/af-nav-accordion-item.js +2 -2
  251. package/dist/components/af-nav-accordion.js +1 -1
  252. package/dist/components/af-nav-menu-nest.js +1 -1
  253. package/dist/components/af-nav-menu.js +1 -1
  254. package/dist/components/af-number-badge.js +1 -1
  255. package/dist/components/af-progress-line.js +1 -1
  256. package/dist/components/af-section.js +3 -3
  257. package/dist/components/af-section.js.map +1 -1
  258. package/dist/components/af-show.js +1 -1
  259. package/dist/components/af-social-link.js +1 -1
  260. package/dist/components/af-spacer.js +1 -1
  261. package/dist/components/af-split-section.js +2 -2
  262. package/dist/components/af-stack.js +1 -1
  263. package/dist/components/af-stepper-step.d.ts +11 -0
  264. package/dist/components/af-stepper-step.js +44 -0
  265. package/dist/components/af-stepper-step.js.map +1 -0
  266. package/dist/components/af-stepper.d.ts +11 -0
  267. package/dist/components/af-stepper.js +55 -0
  268. package/dist/components/af-stepper.js.map +1 -0
  269. package/dist/components/af-tag.js +1 -1
  270. package/dist/components/af-testimonial-carousel.js +2 -2
  271. package/dist/components/af-testimonial-stat.js +1 -1
  272. package/dist/components/af-testimonial.js +9 -15
  273. package/dist/components/af-testimonial.js.map +1 -1
  274. package/dist/components/af-text-image-nest.js +1 -1
  275. package/dist/components/af-text-image.js +2 -2
  276. package/dist/components/af-text-image.js.map +1 -1
  277. package/dist/components/af-theme-override.js +2 -2
  278. package/dist/components/af-theme-override.js.map +1 -1
  279. package/dist/components/af-typography-lockup.js +1 -1
  280. package/dist/components/af-video-container.js +1 -1
  281. package/dist/components/af-visually-hidden.js +1 -1
  282. package/dist/components/index.js +6 -6
  283. package/dist/components/p-80hb0CR2.js +71 -0
  284. package/dist/components/p-80hb0CR2.js.map +1 -0
  285. package/dist/components/p-BHyABfs0.js +92 -0
  286. package/dist/components/p-BHyABfs0.js.map +1 -0
  287. package/dist/components/p-BIgPDyJK.js +103 -0
  288. package/dist/components/p-BIgPDyJK.js.map +1 -0
  289. package/dist/components/{p-C8_mFdv5.js → p-BfAQ7eko.js} +4 -4
  290. package/dist/components/p-BfAQ7eko.js.map +1 -0
  291. package/dist/components/{p-D66k2SSB.js → p-CFBeRDmV.js} +4 -4
  292. package/dist/components/{p-D66k2SSB.js.map → p-CFBeRDmV.js.map} +1 -1
  293. package/dist/components/p-CNtgySkk.js +48 -0
  294. package/dist/components/p-CNtgySkk.js.map +1 -0
  295. package/dist/components/{p-BUoRUEpQ.js → p-D_xTKF7j.js} +3 -3
  296. package/dist/components/{p-BUoRUEpQ.js.map → p-D_xTKF7j.js.map} +1 -1
  297. package/dist/components/{p-CnNV1GZE.js → p-DcJ8wKzl.js} +5 -5
  298. package/dist/components/p-DcJ8wKzl.js.map +1 -0
  299. package/dist/components/p-DnHD91HB.js +57 -0
  300. package/dist/components/p-DnHD91HB.js.map +1 -0
  301. package/dist/components/{p-WmKa3rDn.js → p-pudFjW3W.js} +4 -4
  302. package/dist/components/{p-WmKa3rDn.js.map → p-pudFjW3W.js.map} +1 -1
  303. package/dist/esm/af-accordion-item.entry.js +1 -27
  304. package/dist/esm/af-accordion-item.entry.js.map +1 -1
  305. package/dist/esm/af-accordion.entry.js +1 -1
  306. package/dist/esm/af-button.entry.js +5 -4
  307. package/dist/esm/af-button.entry.js.map +1 -1
  308. package/dist/esm/af-card.entry.js +2 -2
  309. package/dist/esm/af-card.entry.js.map +1 -1
  310. package/dist/esm/af-center.entry.js +1 -1
  311. package/dist/esm/af-client-carousel.entry.js +11 -1
  312. package/dist/esm/af-client-carousel.entry.js.map +1 -1
  313. package/dist/esm/af-contact-item.entry.js +1 -1
  314. package/dist/esm/af-divider.entry.js +1 -1
  315. package/dist/esm/af-feature-accordion.entry.js +2 -2
  316. package/dist/esm/af-feature-grid.entry.js +1 -1
  317. package/dist/esm/af-footer-column.entry.js +1 -1
  318. package/dist/esm/af-footer-link.entry.js +1 -1
  319. package/dist/esm/af-footer.entry.js +1 -1
  320. package/dist/esm/af-grid.entry.js +2 -2
  321. package/dist/esm/af-icon-box.entry.js +1 -1
  322. package/dist/esm/af-icon-button.entry.js +1 -1
  323. package/dist/esm/af-icon-button.entry.js.map +1 -1
  324. package/dist/esm/af-icon-text.entry.js +1 -1
  325. package/dist/esm/af-icon-text.entry.js.map +1 -1
  326. package/dist/esm/af-illustrated-card.entry.js +1 -1
  327. package/dist/esm/af-illustrated-card.entry.js.map +1 -1
  328. package/dist/esm/af-image.entry.js +12 -2
  329. package/dist/esm/af-image.entry.js.map +1 -1
  330. package/dist/esm/af-in-page-banner.entry.js +2 -2
  331. package/dist/esm/af-in-page-banner.entry.js.map +1 -1
  332. package/dist/esm/af-inline.entry.js +1 -1
  333. package/dist/esm/af-logo-well.entry.js +1 -1
  334. package/dist/esm/af-nav-accordion-item.entry.js +2 -2
  335. package/dist/esm/af-nav-accordion.entry.js +1 -1
  336. package/dist/esm/af-nav-menu-nest.entry.js +1 -1
  337. package/dist/esm/af-nav-menu.entry.js +1 -1
  338. package/dist/esm/af-number-badge.entry.js +1 -1
  339. package/dist/esm/af-progress-line.entry.js +2 -2
  340. package/dist/esm/af-section.entry.js +3 -3
  341. package/dist/esm/af-section.entry.js.map +1 -1
  342. package/dist/esm/af-show.entry.js +1 -1
  343. package/dist/esm/af-social-link.entry.js +1 -1
  344. package/dist/esm/af-spacer.entry.js +1 -1
  345. package/dist/esm/af-split-section.entry.js +2 -2
  346. package/dist/esm/af-stack.entry.js +1 -1
  347. package/dist/esm/af-stepper-step.entry.js +21 -0
  348. package/dist/esm/af-stepper-step.entry.js.map +1 -0
  349. package/dist/esm/af-stepper.entry.js +32 -0
  350. package/dist/esm/af-stepper.entry.js.map +1 -0
  351. package/dist/esm/af-tag.entry.js +7 -8
  352. package/dist/esm/af-tag.entry.js.map +1 -1
  353. package/dist/esm/af-testimonial-carousel.entry.js +1 -1
  354. package/dist/esm/af-testimonial-stat.entry.js +1 -1
  355. package/dist/esm/af-testimonial.entry.js +3 -3
  356. package/dist/esm/af-testimonial.entry.js.map +1 -1
  357. package/dist/esm/af-text-image-nest.entry.js +1 -1
  358. package/dist/esm/af-text-image.entry.js +1 -1
  359. package/dist/esm/af-text-image.entry.js.map +1 -1
  360. package/dist/esm/af-theme-override.entry.js +2 -2
  361. package/dist/esm/af-theme-override.entry.js.map +1 -1
  362. package/dist/esm/af-typography-lockup.entry.js +21 -4
  363. package/dist/esm/af-typography-lockup.entry.js.map +1 -1
  364. package/dist/esm/af-video-container.entry.js +1 -1
  365. package/dist/esm/af-visually-hidden.entry.js +1 -1
  366. package/dist/esm/affinda.js +1 -1
  367. package/dist/esm/loader.js +1 -1
  368. package/dist/types/components/af-button/af-button.d.ts +6 -5
  369. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +11 -1
  370. package/dist/types/components/af-icon-text/af-icon-text.d.ts +2 -2
  371. package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +3 -2
  372. package/dist/types/components/af-image/af-image.d.ts +10 -0
  373. package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +10 -0
  374. package/dist/types/components/af-stepper/af-stepper.d.ts +30 -0
  375. package/dist/types/components/af-stepper-step/af-stepper-step.d.ts +18 -0
  376. package/dist/types/components/af-tag/af-tag.d.ts +10 -7
  377. package/dist/types/components/af-testimonial/af-testimonial.d.ts +11 -2
  378. package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +15 -0
  379. package/dist/types/components.d.ts +268 -38
  380. package/package.json +4 -4
  381. package/dist/affinda/p-0b5bc045.entry.js.map +0 -1
  382. package/dist/affinda/p-16f808d5.entry.js +0 -2
  383. package/dist/affinda/p-1c32cfcb.entry.js +0 -2
  384. package/dist/affinda/p-2e5e4960.entry.js +0 -2
  385. package/dist/affinda/p-331f9627.entry.js +0 -2
  386. package/dist/affinda/p-57eae3cd.entry.js +0 -2
  387. package/dist/affinda/p-6294b6d1.entry.js +0 -2
  388. package/dist/affinda/p-6294b6d1.entry.js.map +0 -1
  389. package/dist/affinda/p-63314e14.entry.js +0 -2
  390. package/dist/affinda/p-68f1f661.entry.js +0 -2
  391. package/dist/affinda/p-7792cd53.entry.js +0 -2
  392. package/dist/affinda/p-7792cd53.entry.js.map +0 -1
  393. package/dist/affinda/p-8f24dfe3.entry.js +0 -2
  394. package/dist/affinda/p-8f528f9d.entry.js +0 -2
  395. package/dist/affinda/p-920e6d30.entry.js +0 -2
  396. package/dist/affinda/p-96df0106.entry.js +0 -2
  397. package/dist/affinda/p-b0d668d0.entry.js +0 -2
  398. package/dist/affinda/p-b0d668d0.entry.js.map +0 -1
  399. package/dist/affinda/p-b2338fab.entry.js +0 -2
  400. package/dist/affinda/p-bd7170d7.entry.js +0 -2
  401. package/dist/affinda/p-d6e55455.entry.js +0 -2
  402. package/dist/affinda/p-d90366f6.entry.js.map +0 -1
  403. package/dist/affinda/p-fefe9597.entry.js +0 -2
  404. package/dist/components/p-Bi5ytUXg.js +0 -58
  405. package/dist/components/p-Bi5ytUXg.js.map +0 -1
  406. package/dist/components/p-BvIMp8pz.js +0 -37
  407. package/dist/components/p-BvIMp8pz.js.map +0 -1
  408. package/dist/components/p-C8_mFdv5.js.map +0 -1
  409. package/dist/components/p-CnNV1GZE.js.map +0 -1
  410. package/dist/components/p-DBnL9UHx.js +0 -91
  411. package/dist/components/p-DBnL9UHx.js.map +0 -1
  412. package/dist/components/p-JepBVz99.js +0 -71
  413. package/dist/components/p-JepBVz99.js.map +0 -1
  414. package/dist/components/p-hOnulRmz.js +0 -84
  415. package/dist/components/p-hOnulRmz.js.map +0 -1
  416. /package/dist/affinda/{p-01993cc8.entry.js.map → p-0fb16377.entry.js.map} +0 -0
  417. /package/dist/affinda/{p-3d2fb635.entry.js.map → p-1a87dd1c.entry.js.map} +0 -0
  418. /package/dist/affinda/{p-bd7170d7.entry.js.map → p-202bac33.entry.js.map} +0 -0
  419. /package/dist/affinda/{p-adacb8c4.entry.js.map → p-2e8682a0.entry.js.map} +0 -0
  420. /package/dist/affinda/{p-266af3e1.entry.js.map → p-3642589b.entry.js.map} +0 -0
  421. /package/dist/affinda/{p-4c5f92a9.entry.js.map → p-391bb085.entry.js.map} +0 -0
  422. /package/dist/affinda/{p-d51c4b1b.entry.js.map → p-3fc2a3dc.entry.js.map} +0 -0
  423. /package/dist/affinda/{p-f9e7cf8f.entry.js.map → p-45f76ad4.entry.js.map} +0 -0
  424. /package/dist/affinda/{p-c72cfcbd.entry.js.map → p-5591bc79.entry.js.map} +0 -0
  425. /package/dist/affinda/{p-c74481bd.entry.js.map → p-6179957e.entry.js.map} +0 -0
  426. /package/dist/affinda/{p-9e21b6c1.entry.js.map → p-62699653.entry.js.map} +0 -0
  427. /package/dist/affinda/{p-db9249e4.entry.js.map → p-7da3a28f.entry.js.map} +0 -0
  428. /package/dist/affinda/{p-e7d8d909.entry.js.map → p-86a9ff3e.entry.js.map} +0 -0
  429. /package/dist/affinda/{p-e9bc1739.entry.js.map → p-a53d5549.entry.js.map} +0 -0
  430. /package/dist/affinda/{p-02830771.entry.js.map → p-accd917e.entry.js.map} +0 -0
  431. /package/dist/affinda/{p-cc4e73dc.entry.js.map → p-ad9b0eec.entry.js.map} +0 -0
  432. /package/dist/affinda/{p-b10103f4.entry.js.map → p-c01eaa85.entry.js.map} +0 -0
  433. /package/dist/affinda/{p-288c2656.entry.js.map → p-c3d7872c.entry.js.map} +0 -0
  434. /package/dist/affinda/{p-af25dad7.entry.js.map → p-c51a2687.entry.js.map} +0 -0
  435. /package/dist/affinda/{p-9de05d1d.entry.js.map → p-d28b0860.entry.js.map} +0 -0
  436. /package/dist/affinda/{p-d6e55455.entry.js.map → p-d74a7ae9.entry.js.map} +0 -0
  437. /package/dist/affinda/{p-d47a77e2.entry.js.map → p-e2f555fc.entry.js.map} +0 -0
  438. /package/dist/affinda/{p-e156a8bb.entry.js.map → p-e37fea2f.entry.js.map} +0 -0
  439. /package/dist/affinda/{p-b56e9e2d.entry.js.map → p-ea02610f.entry.js.map} +0 -0
  440. /package/dist/affinda/{p-fefe9597.entry.js.map → p-ea0ccbce.entry.js.map} +0 -0
  441. /package/dist/affinda/{p-080cf84f.entry.js.map → p-f4d2a07d.entry.js.map} +0 -0
  442. /package/dist/affinda/{p-f7a13cd3.entry.js.map → p-f78dd237.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"af-tag.entry.esm.js","sources":["src/components/af-tag/af-tag.css?tag=af-tag&encapsulation=shadow","src/components/af-tag/af-tag.tsx"],"sourcesContent":["/* Tag component styles */\n:host {\n display: inline-flex;\n flex-shrink: 0;\n}\n\n.tag {\n display: inline-flex;\n align-items: center;\n overflow: hidden;\n border-radius: 4px;\n font-family: var(--typography-headingfont, 'NeuSans', Arial, sans-serif);\n font-weight: var(--font-weight-book, 500);\n line-height: 1;\n text-decoration: none;\n transition: background-color 0.15s ease, box-shadow 0.15s ease;\n cursor: default;\n}\n\n/* Make links look clickable */\na.tag {\n cursor: pointer;\n}\n\n/* ==========================================================================\n VARIANT: SAND (Soft-clay/tan colored - default)\n ========================================================================== */\n\n.tag.variant-sand {\n background-color: var(--af-tag-sand-bg, var(--colour-brand-soft-clay, #b09670));\n color: var(--af-tag-sand-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.tag.variant-sand:hover {\n background-color: var(--af-tag-sand-bg-hover, var(--colour-softclay-400, #c0ab8d));\n}\n\n/* ==========================================================================\n VARIANT: LIGHT (Mist-green/light colored)\n ========================================================================== */\n\n.tag.variant-light {\n background-color: var(--af-tag-light-bg, var(--colour-background-level1, #e8eeed));\n color: var(--af-tag-light-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.tag.variant-light:hover {\n background-color: var(--af-tag-light-bg-hover, var(--colour-tints-mist-green-200, #d2e8e3));\n}\n\n/* ==========================================================================\n SIZES\n ========================================================================== */\n\n/* Size: X-Small */\n.tag.size-x-small {\n padding: 6px 10px;\n font-size: var(--font-size-label-tag, 14px);\n}\n\n/* Size: Small */\n.tag.size-small {\n padding: 8px 12px;\n font-size: var(--font-size-label-tag, 14px);\n}\n\n/* Size: Large */\n.tag.size-large {\n padding: 12px 16px;\n font-size: var(--font-size-body-large, 18px);\n}\n\n/* ==========================================================================\n FOCUS STATES\n ========================================================================== */\n\n/* Focus state */\n.tag:focus {\n outline: none;\n box-shadow: \n 0 0 0 4px var(--af-background-base, var(--colour-background-white, #ffffff)),\n 0 0 0 5px var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Focus visible for keyboard navigation */\n.tag:focus-visible {\n outline: none;\n box-shadow: \n 0 0 0 4px var(--af-background-base, var(--colour-background-white, #ffffff)),\n 0 0 0 5px var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\n","import { Component, h, Prop, Host } from '@stencil/core';\n\nexport type TagSize = 'x-small' | 'small' | 'large';\nexport type TagVariant = 'sand' | 'light';\n\n/**\n * Tag displays a label in a styled container.\n * Perfect for categorization, topics, or metadata display.\n * \n * @example\n * ```html\n * <af-tag>AI</af-tag>\n * <af-tag size=\"small\">Machine Learning</af-tag>\n * <af-tag size=\"large\" variant=\"light\">Document Processing</af-tag>\n * ```\n */\n@Component({\n tag: 'af-tag',\n styleUrl: 'af-tag.css',\n shadow: true\n})\nexport class AfTag {\n /**\n * The size of the tag\n * - `x-small` - Compact tag with minimal padding\n * - `small` - Small tag with moderate padding\n * - `large` - Large tag with generous padding\n */\n @Prop() size: TagSize = 'small';\n\n /**\n * The visual variant of the tag\n * - `sand` - Soft-clay/tan colored background (default)\n * - `light` - Mist-green/light colored background\n */\n @Prop() variant: TagVariant = 'sand';\n\n /**\n * The URL to navigate to when the tag is clicked (makes the tag a link)\n */\n @Prop() href?: string;\n\n render() {\n const TagElement = this.href ? 'a' : 'span';\n const linkProps = this.href ? { href: this.href } : {};\n\n return (\n <Host>\n <TagElement\n class={{\n 'tag': true,\n [`size-${this.size}`]: true,\n [`variant-${this.variant}`]: true,\n }}\n {...linkProps}\n >\n <slot />\n </TagElement>\n </Host>\n );\n }\n}\n\n"],"names":[],"mappings":";;AAAA,MAAM,QAAQ,GAAG,2hDAA2hD;;MCqB/hD,KAAK,GAAA,MAAA;AALlB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;;;;AAKG;AACK,QAAA,IAAI,CAAA,IAAA,GAAY,OAAO;AAE/B;;;;AAIG;AACK,QAAA,IAAO,CAAA,OAAA,GAAe,MAAM;AA0BrC;IAnBC,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM;AAC3C,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;QAEtD,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAC,CAAA,UAAU,EACT,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAC3B,gBAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AAClC,aAAA,EAAA,GACG,SAAS,EAAA,EAEb,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACG,CACR;;;;;;;"}
1
+ {"version":3,"file":"af-tag.entry.esm.js","sources":["src/components/af-tag/af-tag.css?tag=af-tag&encapsulation=shadow","src/components/af-tag/af-tag.tsx"],"sourcesContent":["/* Tag component styles */\n:host {\n display: inline-flex;\n flex-shrink: 0;\n}\n\n.tag {\n display: inline-flex;\n align-items: center;\n overflow: hidden;\n border-radius: 4px;\n font-family: var(--typography-headingfont, 'NeuSans', Arial, sans-serif);\n font-weight: var(--font-weight-book, 500);\n line-height: 1;\n text-decoration: none;\n transition: background-color 0.15s ease, box-shadow 0.15s ease;\n cursor: default;\n}\n\na.tag {\n cursor: pointer;\n}\n\n/* ==========================================================================\n VARIANT: DEFAULT (inherits from parent theme context)\n ========================================================================== */\n\n.tag.variant-default {\n background-color: var(--af-tag-bg, var(--colour-brand-soft-clay, #b09670));\n color: var(--af-tag-text, var(--colour-brand-inkwell, #14343b));\n}\n\n.tag.variant-default:hover {\n background-color: var(--af-tag-bg-hover, var(--colour-tints-soft-clay-400, #c0ab8d));\n}\n\n/* ==========================================================================\n EXPLICIT THEME VARIANTS\n ========================================================================== */\n\n.tag.variant-inkwell {\n background-color: var(--colour-brand-inkwell, #14343b);\n color: var(--colour-brand-white, #ffffff);\n}\n\n.tag.variant-inkwell:hover {\n background-color: var(--colour-tints-inkwell-500, #1e4a48);\n}\n\n.tag.variant-white {\n background-color: var(--colour-brand-white, #ffffff);\n color: var(--colour-brand-inkwell, #14343b);\n}\n\n.tag.variant-white:hover {\n background-color: var(--colour-tints-mist-green-100, #e1eee1);\n}\n\n.tag.variant-soft-clay {\n background-color: var(--colour-brand-soft-clay, #b09670);\n color: var(--colour-brand-inkwell, #14343b);\n}\n\n.tag.variant-soft-clay:hover {\n background-color: var(--colour-tints-soft-clay-400, #c0ab8d);\n}\n\n.tag.variant-mist-green {\n background-color: var(--colour-brand-mist-green, #c6d5d1);\n color: var(--colour-brand-inkwell, #14343b);\n}\n\n.tag.variant-mist-green:hover {\n background-color: var(--colour-tints-mist-green-200, #d2e8e3);\n}\n\n/* ==========================================================================\n SIZES\n ========================================================================== */\n\n.tag.size-x-small {\n padding: 6px 10px;\n font-size: var(--font-size-label-tag, 14px);\n}\n\n.tag.size-small {\n padding: 8px 12px;\n font-size: var(--font-size-label-tag, 14px);\n}\n\n.tag.size-large {\n padding: 12px 16px;\n font-size: var(--font-size-body-large, 18px);\n}\n\n/* ==========================================================================\n FOCUS STATES\n ========================================================================== */\n\n.tag:focus {\n outline: none;\n box-shadow:\n 0 0 0 4px var(--af-background-base, var(--colour-background-white, #ffffff)),\n 0 0 0 5px var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n\n.tag:focus-visible {\n outline: none;\n box-shadow:\n 0 0 0 4px var(--af-background-base, var(--colour-background-white, #ffffff)),\n 0 0 0 5px var(--af-button-secondary-stroke, var(--colour-brand-inkwell, #14343b));\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\nexport type TagSize = 'x-small' | 'small' | 'large';\nexport type TagVariant = 'default' | 'inkwell' | 'white' | 'soft-clay' | 'mist-green';\n\n/**\n * Tag displays a label in a styled container.\n * Perfect for categorization, topics, or metadata display.\n *\n * The `default` variant inherits its colors from the parent theme context\n * (af-section, af-card). Use explicit variants (`inkwell`, `white`,\n * `soft-clay`, `mist-green`) to override.\n *\n * @example\n * ```html\n * <af-tag>AI</af-tag>\n * <af-tag size=\"small\" variant=\"inkwell\">Machine Learning</af-tag>\n * <af-tag size=\"large\" variant=\"white\">Document Processing</af-tag>\n * ```\n */\n@Component({\n tag: 'af-tag',\n styleUrl: 'af-tag.css',\n shadow: true\n})\nexport class AfTag {\n /**\n * The size of the tag\n * - `x-small` - Compact tag with minimal padding\n * - `small` - Small tag with moderate padding (default)\n * - `large` - Large tag with generous padding\n */\n @Prop() size: TagSize = 'small';\n\n /**\n * Visual variant of the tag. `default` inherits tag colors from the\n * parent theme context. Theme-named variants force a specific palette.\n */\n @Prop() variant: TagVariant = 'default';\n\n /**\n * The URL to navigate to when the tag is clicked (makes the tag a link)\n */\n @Prop() href?: string;\n\n render() {\n const TagElement = this.href ? 'a' : 'span';\n const linkProps = this.href ? { href: this.href } : {};\n\n return (\n <Host>\n <TagElement\n class={{\n 'tag': true,\n [`size-${this.size}`]: true,\n [`variant-${this.variant}`]: true,\n }}\n {...linkProps}\n >\n <slot />\n </TagElement>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,QAAQ,GAAG,sjEAAsjE;;MCyB1jE,KAAK,GAAA,MAAA;AALlB,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;;;;AAKG;AACK,QAAA,IAAI,CAAA,IAAA,GAAY,OAAO;AAE/B;;;AAGG;AACK,QAAA,IAAO,CAAA,OAAA,GAAe,SAAS;AA0BxC;IAnBC,MAAM,GAAA;AACJ,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,MAAM;AAC3C,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;QAEtD,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAC,CAAA,UAAU,EACT,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,IAAI;AACX,gBAAA,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAE,CAAA,GAAG,IAAI;AAC3B,gBAAA,CAAC,WAAW,IAAI,CAAC,OAAO,CAAE,CAAA,GAAG,IAAI;AAClC,aAAA,EAAA,GACG,SAAS,EAAA,EAEb,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACG,CACR;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"af-testimonial.entry.esm.js","sources":["src/components/af-testimonial/af-testimonial.css?tag=af-testimonial&encapsulation=scoped","src/components/af-testimonial/af-testimonial.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.testimonial-card {\n /* Uses themed level-1 background from parent Section */\n background: var(--af-background-level-1, var(--colour-mistgreen-200, #e8eeed));\n border-radius: var(--border-radius-card-level-1, 32px);\n overflow: hidden;\n display: flex;\n height: 544px;\n box-sizing: border-box;\n}\n\n/* Image side - 40.5% of card width (519px of 1280px in Figma) */\n.testimonial-image {\n position: relative;\n width: 40.5%;\n min-width: 300px;\n /* Minimum for readability */\n max-width: 519px;\n /* Cap at Figma design width */\n height: 100%;\n /* Dark background for image overlay effect - always dark regardless of theme */\n background: var(--colour-brand-inkwell, #14343b);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.testimonial-bg-image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n opacity: 0.7;\n}\n\n.testimonial-logo {\n position: relative;\n z-index: 1;\n padding: 0 108px;\n max-width: 100%;\n}\n\n.testimonial-logo img {\n width: 100%;\n height: auto;\n display: block;\n}\n\n/* Content side */\n.testimonial-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 32px;\n padding: 48px;\n /* Subtle border using themed border token */\n border: 1px solid var(--af-background-border-subtle, var(--colour-mistgreen-200, #e8eeed));\n border-left: 1px solid var(--af-background-border-subtle, var(--colour-mistgreen-200, #e8eeed));\n box-sizing: border-box;\n}\n\n.testimonial-quote-section {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n /* Allow flex item to shrink */\n overflow: hidden;\n}\n\n.testimonial-quote-icon {\n width: 48px;\n height: 48px;\n /* Quote icon uses themed secondary heading color (gold/ochre accent) */\n color: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #b09670));\n flex-shrink: 0;\n}\n\n/* Quote text - layout only, typography comes from af-text */\n.testimonial-text {\n max-height: 155px;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Attribution uses body-dark color for emphasis */\n.testimonial-attribution {\n --af-typography-body-default: var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343b));\n}\n\n.testimonial-stats {\n display: flex;\n gap: 32px;\n width: 100%;\n flex-shrink: 0;\n}\n\n.testimonial-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n /* Themed border color */\n border-top: 1px solid var(--af-background-border-default, var(--colour-mistgreen-400, #d1ddda));\n padding-top: 32px;\n flex-shrink: 0;\n min-height: 48px;\n}\n\n.testimonial-nav {\n display: flex;\n gap: 12px;\n}\n\n.testimonial-nav-buttons {\n display: flex;\n gap: 12px;\n}\n\n/* CTA button is now handled by af-button atom component */","import { Component, Prop, h, Host, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'af-testimonial',\n styleUrl: 'af-testimonial.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonial {\n /**\n * Background image URL for the testimonial card\n */\n @Prop() backgroundImage?: string;\n\n /**\n * Company logo URL\n */\n @Prop() logoImage?: string;\n\n /**\n * Testimonial quote text\n */\n @Prop() quote!: string;\n\n /**\n * Attribution text (e.g., \"– Nathaniel Barrs, CTO, PSC Insurance\")\n */\n @Prop() attribution!: string;\n\n /**\n * Link to full case study\n */\n @Prop() readMoreLink?: string;\n\n /**\n * Whether to show built-in navigation buttons (used when in a carousel)\n */\n @Prop({ mutable: true }) showNavigation: boolean = false;\n\n /**\n * Whether the previous button is enabled\n */\n @Prop({ mutable: true }) hasPrev: boolean = false;\n\n /**\n * Whether the next button is enabled\n */\n @Prop({ mutable: true }) hasNext: boolean = false;\n\n /**\n * Emitted when the previous button is clicked\n */\n @Event() navPrev!: EventEmitter<void>;\n\n /**\n * Emitted when the next button is clicked\n */\n @Event() navNext!: EventEmitter<void>;\n\n private handlePrev = () => {\n this.navPrev.emit();\n };\n\n private handleNext = () => {\n this.navNext.emit();\n };\n\n render() {\n return (\n <Host>\n <div class=\"testimonial-card\">\n {/* Image side */}\n <div class=\"testimonial-image\">\n {this.backgroundImage && (\n <img src={this.backgroundImage} alt=\"\" class=\"testimonial-bg-image\" />\n )}\n {this.logoImage && (\n <div class=\"testimonial-logo\">\n <img src={this.logoImage} alt=\"Company logo\" />\n </div>\n )}\n </div>\n\n {/* Content side */}\n <div class=\"testimonial-content\">\n <div class=\"testimonial-quote-section\">\n {/* Quote icon - using af-icon atom with slot for flexibility */}\n <div class=\"testimonial-quote-icon\">\n <slot name=\"quote-icon\">\n <af-icon name=\"quote\" size={48} />\n </slot>\n </div>\n\n {/* Quote text - using af-text atom for proper theming */}\n <af-text variant=\"xlarge\" class=\"testimonial-text\">{this.quote}</af-text>\n {/* Attribution - using af-text atom with dark variant styling */}\n <af-text variant=\"xlarge\" class=\"testimonial-attribution\">{this.attribution}</af-text>\n </div>\n\n {/* Statistics slot */}\n <div class=\"testimonial-stats\">\n <slot name=\"stats\"></slot>\n </div>\n\n {/* Footer with navigation and CTA */}\n <div class=\"testimonial-footer\">\n <div class=\"testimonial-nav\">\n {this.showNavigation ? (\n // Render built-in navigation buttons\n <div class=\"testimonial-nav-buttons\">\n <af-icon-button\n variant=\"secondary\"\n disabled={!this.hasPrev}\n onClick={this.handlePrev}\n ariaLabel=\"Previous testimonial\"\n >\n <af-icon name=\"arrow-left\" size={24} />\n </af-icon-button>\n <af-icon-button\n variant=\"secondary\"\n disabled={!this.hasNext}\n onClick={this.handleNext}\n ariaLabel=\"Next testimonial\"\n >\n <af-icon name=\"arrow-right\" size={24} />\n </af-icon-button>\n </div>\n ) : (\n // Allow custom navigation via slot\n <slot name=\"navigation\"></slot>\n )}\n </div>\n {this.readMoreLink && (\n <af-button variant=\"secondary\" href={this.readMoreLink}>\n Read full story\n <af-icon slot=\"icon-right\" name=\"arrow-right\" size={24} />\n </af-button>\n )}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"af-testimonial.entry.esm.js","sources":["src/components/af-testimonial/af-testimonial.css?tag=af-testimonial&encapsulation=scoped","src/components/af-testimonial/af-testimonial.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n.testimonial-card {\n /* Uses themed level-1 background from parent Section */\n background: var(--af-background-level-1, var(--colour-mistgreen-200, #e8eeed));\n border-radius: var(--border-radius-card-level-1, 32px);\n overflow: hidden;\n display: flex;\n height: 544px;\n box-sizing: border-box;\n}\n\n/* Image side - 40.5% of card width (519px of 1280px in Figma) */\n.testimonial-image {\n position: relative;\n width: 50%;\n min-width: 300px;\n /* Minimum for readability */\n max-width: 519px;\n /* Cap at Figma design width */\n height: 100%;\n /* Dark background for image overlay effect - always dark regardless of theme */\n background: var(--colour-brand-inkwell, #14343b);\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.testimonial-bg-image {\n position: absolute;\n inset: 0;\n width: 100%;\n height: 100%;\n object-fit: cover;\n opacity: 0.7;\n}\n\n.testimonial-logo {\n position: relative;\n z-index: 1;\n padding: 0 108px;\n max-width: 100%;\n}\n\n.testimonial-logo img {\n width: 100%;\n height: auto;\n display: block;\n}\n\n/* Content side */\n.testimonial-content {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 32px;\n padding: 48px;\n /* Subtle border using themed border token */\n border: 1px solid var(--af-background-border-subtle, var(--colour-mistgreen-200, #e8eeed));\n border-left: 1px solid var(--af-background-border-subtle, var(--colour-mistgreen-200, #e8eeed));\n box-sizing: border-box;\n}\n\n.testimonial-quote-section {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 12px;\n min-height: 0;\n /* Allow flex item to shrink */\n overflow: hidden;\n}\n\n.testimonial-quote-icon {\n width: 48px;\n height: 48px;\n /* Quote icon uses themed secondary heading color (gold/ochre accent) */\n color: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #b09670));\n flex-shrink: 0;\n}\n\n/* Quote text — 22px / 140% per Webflow reference. Accepts either the\n `quote` prop (rendered as plain text) or the `quote-body` slot (rich). */\n.testimonial-text {\n font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);\n font-size: 22px;\n line-height: 1.4;\n font-weight: var(--font-weight-regular, 400);\n color: var(--af-typography-body-default, var(--colour-brand-inkwell, #14343b));\n}\n.testimonial-text ::slotted(p),\n.testimonial-text p {\n font: inherit;\n color: inherit;\n margin: 0 0 12px 0;\n}\n.testimonial-text ::slotted(p:last-child),\n.testimonial-text p:last-child {\n margin-bottom: 0;\n}\n.testimonial-text ::slotted(ul),\n.testimonial-text ul {\n margin: 0 0 12px 0;\n padding-left: 20px;\n}\n\n/* Attribution uses body-dark color for emphasis */\n.testimonial-attribution {\n font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);\n font-size: 16px;\n line-height: 24px;\n color: var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343b));\n margin-top: 12px;\n}\n\n.testimonial-stats {\n display: flex;\n gap: 32px;\n width: 100%;\n flex-shrink: 0;\n}\n\n.testimonial-footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n /* Themed border color */\n border-top: 1px solid var(--af-background-border-default, var(--colour-mistgreen-400, #d1ddda));\n padding-top: 32px;\n flex-shrink: 0;\n min-height: 48px;\n}\n\n.testimonial-nav {\n display: flex;\n gap: 12px;\n}\n\n.testimonial-nav-buttons {\n display: flex;\n gap: 12px;\n}\n\n/* CTA button is now handled by af-button atom component */","import { Component, Prop, h, Host, Event, EventEmitter } from '@stencil/core';\n\n/**\n * @slot quote-body - Rich quote content (paragraphs, lists). Overrides the\n * `quote` string prop when provided. Use for testimonials that include\n * multiple paragraphs, bulleted points, or inline emphasis.\n * @slot quote-icon - Quote icon (defaults to af-icon name=\"quote\").\n * @slot stats - Statistic items (af-testimonial-stat components).\n * @slot navigation - Custom nav controls (when not using built-in ones).\n */\n@Component({\n tag: 'af-testimonial',\n styleUrl: 'af-testimonial.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTestimonial {\n /**\n * Background image URL for the testimonial card\n */\n @Prop() backgroundImage?: string;\n\n /**\n * Company logo URL\n */\n @Prop() logoImage?: string;\n\n /**\n * Testimonial quote text. Falls back to the `quote-body` slot if that\n * slot has content.\n */\n @Prop() quote?: string;\n\n /**\n * Attribution text (e.g., \"– Nathaniel Barrs, CTO, PSC Insurance\")\n */\n @Prop() attribution!: string;\n\n /**\n * Link to full case study\n */\n @Prop() readMoreLink?: string;\n\n /**\n * Whether to show built-in navigation buttons (used when in a carousel)\n */\n @Prop({ mutable: true }) showNavigation: boolean = false;\n\n /**\n * Whether the previous button is enabled\n */\n @Prop({ mutable: true }) hasPrev: boolean = false;\n\n /**\n * Whether the next button is enabled\n */\n @Prop({ mutable: true }) hasNext: boolean = false;\n\n /**\n * Emitted when the previous button is clicked\n */\n @Event() navPrev!: EventEmitter<void>;\n\n /**\n * Emitted when the next button is clicked\n */\n @Event() navNext!: EventEmitter<void>;\n\n private handlePrev = () => {\n this.navPrev.emit();\n };\n\n private handleNext = () => {\n this.navNext.emit();\n };\n\n render() {\n return (\n <Host>\n <div class=\"testimonial-card\">\n {/* Image side */}\n <div class=\"testimonial-image\">\n {this.backgroundImage && (\n <img src={this.backgroundImage} alt=\"\" class=\"testimonial-bg-image\" />\n )}\n {this.logoImage && (\n <div class=\"testimonial-logo\">\n <img src={this.logoImage} alt=\"Company logo\" />\n </div>\n )}\n </div>\n\n {/* Content side */}\n <div class=\"testimonial-content\">\n <div class=\"testimonial-quote-section\">\n {/* Quote icon - using af-icon atom with slot for flexibility */}\n <div class=\"testimonial-quote-icon\">\n <slot name=\"quote-icon\">\n <af-icon name=\"quote\" size={48} />\n </slot>\n </div>\n\n {/* Quote text — slot takes priority; falls back to prop. */}\n <div class=\"testimonial-text\">\n <slot name=\"quote-body\">{this.quote}</slot>\n </div>\n {/* Attribution */}\n <div class=\"testimonial-attribution\">{this.attribution}</div>\n </div>\n\n {/* Statistics slot */}\n <div class=\"testimonial-stats\">\n <slot name=\"stats\"></slot>\n </div>\n\n {/* Footer with navigation and CTA */}\n <div class=\"testimonial-footer\">\n <div class=\"testimonial-nav\">\n {this.showNavigation ? (\n // Render built-in navigation buttons\n <div class=\"testimonial-nav-buttons\">\n <af-icon-button\n variant=\"secondary\"\n disabled={!this.hasPrev}\n onClick={this.handlePrev}\n ariaLabel=\"Previous testimonial\"\n >\n <af-icon name=\"arrow-left\" size={24} />\n </af-icon-button>\n <af-icon-button\n variant=\"secondary\"\n disabled={!this.hasNext}\n onClick={this.handleNext}\n ariaLabel=\"Next testimonial\"\n >\n <af-icon name=\"arrow-right\" size={24} />\n </af-icon-button>\n </div>\n ) : (\n // Allow custom navigation via slot\n <slot name=\"navigation\"></slot>\n )}\n </div>\n {this.readMoreLink && (\n <af-button variant=\"secondary\" href={this.readMoreLink}>\n Read full story\n <af-icon slot=\"icon-right\" name=\"arrow-right\" size={24} />\n </af-button>\n )}\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\n\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"af-text-image.entry.esm.js","sources":["src/components/af-text-image/af-text-image.css?tag=af-text-image&encapsulation=scoped","src/components/af-text-image/af-text-image.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* ==========================================================================\n Container Layout\n ========================================================================== */\n\n.text-image {\n display: flex;\n width: 100%;\n}\n\n/* Side-by-side layout (default for 1/3 and 1/4 proportions) */\n.text-image--side-by-side {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--space-8, 32px);\n}\n\n.text-image--image-left {\n flex-direction: row-reverse;\n}\n\n.text-image--image-right {\n flex-direction: row;\n}\n\n/* Full-width layout (100% proportion) */\n.text-image--full-width {\n flex-direction: column;\n gap: var(--space-8, 32px);\n}\n\n/* ==========================================================================\n Content Area (Typography Lockups Container)\n ========================================================================== */\n\n.text-image__content {\n display: flex;\n flex-direction: column;\n gap: 56px;\n flex: 1;\n min-width: 0;\n}\n\n/* Proportion-based content sizing for side-by-side */\n.text-image--proportion-1-3 .text-image__content {\n flex: 2;\n}\n\n.text-image--proportion-1-4 .text-image__content {\n flex: 3;\n}\n\n.text-image--proportion-100 .text-image__content {\n flex: none;\n width: 100%;\n}\n\n/* Padding for content when image is on opposite side */\n.text-image--image-right .text-image__content {\n padding-right: var(--space-8, 32px);\n}\n\n.text-image--image-left .text-image__content {\n padding-left: var(--space-8, 32px);\n}\n\n.text-image--full-width .text-image__content {\n padding: 0;\n}\n\n/* ==========================================================================\n Typography Lockup\n ========================================================================== */\n\n.text-image__lockup {\n display: flex;\n flex-direction: column;\n gap: var(--space-4, 16px);\n width: 100%;\n}\n\n.text-image__copy {\n display: flex;\n flex-direction: column;\n gap: var(--space-4, 16px);\n max-width: 840px;\n width: 100%;\n}\n\n/* Heading styles - inherits color from theme context */\n.text-image__heading {\n font-family: var(--typography-headingfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: var(--font-size-heading-3-desktop, 34px);\n line-height: var(--line-height-heading-tight, 1);\n letter-spacing: var(--letter-spacing-heading, -0.02em);\n color: var(--af-typography-heading-primary, #14343B);\n white-space: pre-wrap;\n}\n\n.text-image__heading:empty {\n display: none;\n}\n\n/* Description/body text - inherits color from theme context */\n.text-image__description {\n font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: var(--font-size-body-large, 18px);\n line-height: var(--line-height-body-large, 26px);\n color: var(--af-typography-body-default, #2B484F);\n white-space: pre-wrap;\n}\n\n.text-image__description:empty {\n display: none;\n}\n\n/* Buttons section - wrapper for slotted ButtonGroup */\n.text-image__buttons {\n display: block;\n}\n\n.text-image__buttons:empty {\n display: none;\n}\n\n/* ==========================================================================\n Image Area\n ========================================================================== */\n\n.text-image__image-wrapper {\n flex-shrink: 0;\n overflow: hidden;\n border-radius: var(--radius-md, 12px);\n}\n\n/* Proportion-based image sizing for side-by-side */\n.text-image--proportion-1-3 .text-image__image-wrapper {\n flex: 1;\n min-width: 0;\n}\n\n.text-image--proportion-1-4 .text-image__image-wrapper {\n flex: 1;\n min-width: 0;\n}\n\n.text-image--proportion-100 .text-image__image-wrapper {\n width: 100%;\n}\n\n/* ==========================================================================\n Mobile Responsive Styles\n ========================================================================== */\n\n@media (max-width: 768px) {\n /* Stack everything vertically on mobile */\n .text-image--side-by-side {\n flex-direction: column;\n gap: var(--space-6, 24px);\n }\n\n /* Reset order - text always first on mobile */\n .text-image--image-left,\n .text-image--image-right {\n flex-direction: column;\n }\n\n /* Remove side padding on mobile */\n .text-image--image-right .text-image__content,\n .text-image--image-left .text-image__content {\n padding: 0;\n }\n\n /* Full width for all proportions on mobile */\n .text-image__content,\n .text-image__image-wrapper {\n flex: none !important;\n width: 100%;\n }\n\n /* Smaller heading on mobile */\n .text-image__heading {\n font-size: var(--font-size-heading-3-mobile, 25px);\n }\n\n /* Smaller body text for full-width on mobile */\n .text-image--proportion-100 .text-image__description {\n font-size: var(--font-size-body-medium, 16px);\n line-height: var(--line-height-body-medium, 24px);\n }\n\n /* On mobile, ButtonGroup handles its own responsive behavior */\n\n /* Smaller lockup gap on mobile for full-width */\n .text-image--proportion-100 .text-image__lockup {\n gap: var(--space-3, 12px);\n }\n\n .text-image--proportion-100 .text-image__copy {\n gap: var(--space-3, 12px);\n }\n\n /* Smaller border radius on mobile */\n .text-image__image-wrapper {\n border-radius: var(--radius-sm, 8px);\n }\n}\n\n/* ==========================================================================\n Slot Content Styling\n ========================================================================== */\n\n::slotted(*) {\n margin: 0;\n}\n\n::slotted(p) {\n margin: 0;\n}\n\n\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * TextImage composite component that combines typography content with an image.\n * Supports various layout configurations with image position and proportion options.\n */\n@Component({\n tag: 'af-text-image',\n styleUrl: 'af-text-image.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTextImage {\n /**\n * Position of the image relative to the text content\n */\n @Prop() imagePosition: 'left' | 'right' = 'right';\n\n /**\n * Proportion of the image in the layout\n * - '1/3': Image takes 1/3 of the width (text takes 2/3)\n * - '1/4': Image takes 1/4 of the width (text takes 3/4)\n * - '100%': Image takes full width below text\n */\n @Prop() imageProportion: '1/3' | '1/4' | '100%' = '1/3';\n\n /**\n * Image source URL\n */\n @Prop() src?: string;\n\n /**\n * Image alt text for accessibility\n */\n @Prop() alt: string = '';\n\n /**\n * Whether to show a second typography lockup section\n */\n @Prop() showSecondLockup: boolean = false;\n\n render() {\n const isFullWidth = this.imageProportion === '100%';\n const isImageLeft = this.imagePosition === 'left';\n\n const containerClasses = {\n 'text-image': true,\n 'text-image--full-width': isFullWidth,\n 'text-image--side-by-side': !isFullWidth,\n 'text-image--image-left': isImageLeft && !isFullWidth,\n 'text-image--image-right': !isImageLeft && !isFullWidth,\n [`text-image--proportion-${this.imageProportion.replace('/', '-').replace('%', '')}`]: true,\n };\n\n const renderTypographyLockup = (isSecond: boolean = false) => {\n const prefix = isSecond ? 'second-' : '';\n return (\n <div class={`text-image__lockup ${isSecond ? 'text-image__lockup--second' : ''}`}>\n <div class=\"text-image__copy\">\n <div class=\"text-image__heading\">\n <slot name={isSecond ? 'second-heading' : undefined}></slot>\n </div>\n <div class=\"text-image__description\">\n <slot name={`${prefix}description`}></slot>\n </div>\n </div>\n <div class=\"text-image__buttons\">\n <slot name={`${prefix}buttons`}></slot>\n </div>\n </div>\n );\n };\n\n const renderImage = () => {\n if (!this.src) return null;\n return (\n <div class=\"text-image__image-wrapper\">\n <af-image src={this.src} alt={this.alt}></af-image>\n </div>\n );\n };\n\n // For full-width layout, text is always above image\n if (isFullWidth) {\n return (\n <Host>\n <div class={containerClasses}>\n <div class=\"text-image__content\">\n {renderTypographyLockup()}\n {this.showSecondLockup && renderTypographyLockup(true)}\n </div>\n {renderImage()}\n </div>\n </Host>\n );\n }\n\n // For side-by-side layouts\n const textContent = (\n <div class=\"text-image__content\">\n {renderTypographyLockup()}\n {this.showSecondLockup && renderTypographyLockup(true)}\n </div>\n );\n\n const imageContent = renderImage();\n\n return (\n <Host>\n <div class={containerClasses}>\n {isImageLeft ? (\n [imageContent, textContent]\n ) : (\n [textContent, imageContent]\n )}\n </div>\n </Host>\n );\n }\n}\n\n\n\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"af-text-image.entry.esm.js","sources":["src/components/af-text-image/af-text-image.css?tag=af-text-image&encapsulation=scoped","src/components/af-text-image/af-text-image.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* ==========================================================================\n Container Layout\n ========================================================================== */\n\n.text-image {\n display: flex;\n width: 100%;\n}\n\n/* Side-by-side layout (default for 1/3 and 1/4 proportions) */\n.text-image--side-by-side {\n flex-direction: row;\n align-items: flex-start;\n gap: var(--space-8, 32px);\n}\n\n/* DOM order is controlled from the TSX (image first for image-left, text\n first for image-right), so both variants use plain row flow. */\n.text-image--image-left {\n flex-direction: row;\n}\n\n.text-image--image-right {\n flex-direction: row;\n}\n\n/* Full-width layout (100% proportion) */\n.text-image--full-width {\n flex-direction: column;\n gap: var(--space-8, 32px);\n}\n\n/* ==========================================================================\n Content Area (Typography Lockups Container)\n ========================================================================== */\n\n.text-image__content {\n display: flex;\n flex-direction: column;\n gap: 56px;\n flex: 1;\n min-width: 0;\n}\n\n/* Proportion-based content sizing for side-by-side */\n.text-image--proportion-1-3 .text-image__content {\n flex: 2;\n}\n\n.text-image--proportion-1-4 .text-image__content {\n flex: 3;\n}\n\n.text-image--proportion-100 .text-image__content {\n flex: none;\n width: 100%;\n}\n\n/* Padding for content when image is on opposite side */\n.text-image--image-right .text-image__content {\n padding-right: var(--space-8, 32px);\n}\n\n.text-image--image-left .text-image__content {\n padding-left: var(--space-8, 32px);\n}\n\n.text-image--full-width .text-image__content {\n padding: 0;\n}\n\n/* ==========================================================================\n Typography Lockup\n ========================================================================== */\n\n.text-image__lockup {\n display: flex;\n flex-direction: column;\n gap: var(--space-4, 16px);\n width: 100%;\n}\n\n.text-image__copy {\n display: flex;\n flex-direction: column;\n gap: var(--space-4, 16px);\n max-width: 840px;\n width: 100%;\n}\n\n/* Heading styles - inherits color from theme context */\n.text-image__heading {\n font-family: var(--typography-headingfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: var(--font-size-heading-3-desktop, 34px);\n line-height: var(--line-height-heading-tight, 1);\n letter-spacing: var(--letter-spacing-heading, -0.02em);\n color: var(--af-typography-heading-primary, #14343B);\n white-space: normal;\n}\n\n.text-image__heading:empty {\n display: none;\n}\n\n/* Description/body text - inherits color from theme context */\n.text-image__description {\n font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: var(--font-size-body-large, 18px);\n line-height: var(--line-height-body-large, 26px);\n color: var(--af-typography-body-default, #2B484F);\n white-space: normal;\n}\n\n.text-image__description:empty {\n display: none;\n}\n\n/* Buttons section - wrapper for slotted ButtonGroup */\n.text-image__buttons {\n display: block;\n}\n\n.text-image__buttons:empty {\n display: none;\n}\n\n/* ==========================================================================\n Image Area\n ========================================================================== */\n\n.text-image__image-wrapper {\n flex-shrink: 0;\n overflow: hidden;\n border-radius: var(--radius-md, 12px);\n}\n\n/* Proportion-based image sizing for side-by-side */\n.text-image--proportion-1-3 .text-image__image-wrapper {\n flex: 1;\n min-width: 0;\n}\n\n.text-image--proportion-1-4 .text-image__image-wrapper {\n flex: 1;\n min-width: 0;\n}\n\n.text-image--proportion-100 .text-image__image-wrapper {\n width: 100%;\n}\n\n/* ==========================================================================\n Mobile Responsive Styles\n ========================================================================== */\n\n@media (max-width: 768px) {\n /* Stack everything vertically on mobile */\n .text-image--side-by-side {\n flex-direction: column;\n gap: var(--space-6, 24px);\n }\n\n /* Reset order - text always first on mobile */\n .text-image--image-left,\n .text-image--image-right {\n flex-direction: column;\n }\n\n /* Remove side padding on mobile */\n .text-image--image-right .text-image__content,\n .text-image--image-left .text-image__content {\n padding: 0;\n }\n\n /* Full width for all proportions on mobile */\n .text-image__content,\n .text-image__image-wrapper {\n flex: none !important;\n width: 100%;\n }\n\n /* Smaller heading on mobile */\n .text-image__heading {\n font-size: var(--font-size-heading-3-mobile, 25px);\n }\n\n /* Smaller body text for full-width on mobile */\n .text-image--proportion-100 .text-image__description {\n font-size: var(--font-size-body-medium, 16px);\n line-height: var(--line-height-body-medium, 24px);\n }\n\n /* On mobile, ButtonGroup handles its own responsive behavior */\n\n /* Smaller lockup gap on mobile for full-width */\n .text-image--proportion-100 .text-image__lockup {\n gap: var(--space-3, 12px);\n }\n\n .text-image--proportion-100 .text-image__copy {\n gap: var(--space-3, 12px);\n }\n\n /* Smaller border radius on mobile */\n .text-image__image-wrapper {\n border-radius: var(--radius-sm, 8px);\n }\n}\n\n/* ==========================================================================\n Slot Content Styling\n ========================================================================== */\n\n::slotted(*) {\n margin: 0;\n}\n\n::slotted(p) {\n margin: 0;\n}\n\n\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * TextImage composite component that combines typography content with an image.\n * Supports various layout configurations with image position and proportion options.\n */\n@Component({\n tag: 'af-text-image',\n styleUrl: 'af-text-image.css',\n shadow: false,\n scoped: true,\n})\nexport class AfTextImage {\n /**\n * Position of the image relative to the text content\n */\n @Prop() imagePosition: 'left' | 'right' = 'right';\n\n /**\n * Proportion of the image in the layout\n * - '1/3': Image takes 1/3 of the width (text takes 2/3)\n * - '1/4': Image takes 1/4 of the width (text takes 3/4)\n * - '100%': Image takes full width below text\n */\n @Prop() imageProportion: '1/3' | '1/4' | '100%' = '1/3';\n\n /**\n * Image source URL\n */\n @Prop() src?: string;\n\n /**\n * Image alt text for accessibility\n */\n @Prop() alt: string = '';\n\n /**\n * Whether to show a second typography lockup section\n */\n @Prop() showSecondLockup: boolean = false;\n\n render() {\n const isFullWidth = this.imageProportion === '100%';\n const isImageLeft = this.imagePosition === 'left';\n\n const containerClasses = {\n 'text-image': true,\n 'text-image--full-width': isFullWidth,\n 'text-image--side-by-side': !isFullWidth,\n 'text-image--image-left': isImageLeft && !isFullWidth,\n 'text-image--image-right': !isImageLeft && !isFullWidth,\n [`text-image--proportion-${this.imageProportion.replace('/', '-').replace('%', '')}`]: true,\n };\n\n const renderTypographyLockup = (isSecond: boolean = false) => {\n const prefix = isSecond ? 'second-' : '';\n return (\n <div class={`text-image__lockup ${isSecond ? 'text-image__lockup--second' : ''}`}>\n <div class=\"text-image__copy\">\n <div class=\"text-image__heading\">\n <slot name={isSecond ? 'second-heading' : undefined}></slot>\n </div>\n <div class=\"text-image__description\">\n <slot name={`${prefix}description`}></slot>\n </div>\n </div>\n <div class=\"text-image__buttons\">\n <slot name={`${prefix}buttons`}></slot>\n </div>\n </div>\n );\n };\n\n const renderImage = () => {\n if (!this.src) return null;\n return (\n <div class=\"text-image__image-wrapper\">\n <af-image src={this.src} alt={this.alt}></af-image>\n </div>\n );\n };\n\n // For full-width layout, text is always above image\n if (isFullWidth) {\n return (\n <Host>\n <div class={containerClasses}>\n <div class=\"text-image__content\">\n {renderTypographyLockup()}\n {this.showSecondLockup && renderTypographyLockup(true)}\n </div>\n {renderImage()}\n </div>\n </Host>\n );\n }\n\n // For side-by-side layouts\n const textContent = (\n <div class=\"text-image__content\">\n {renderTypographyLockup()}\n {this.showSecondLockup && renderTypographyLockup(true)}\n </div>\n );\n\n const imageContent = renderImage();\n\n return (\n <Host>\n <div class={containerClasses}>\n {isImageLeft ? (\n [imageContent, textContent]\n ) : (\n [textContent, imageContent]\n )}\n </div>\n </Host>\n );\n }\n}\n\n\n\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"af-theme-override.entry.esm.js","sources":["src/components/af-theme-override/af-theme-override.css?tag=af-theme-override&encapsulation=scoped","src/components/af-theme-override/af-theme-override.tsx"],"sourcesContent":["/**\n * Theme Override Component Styles\n * \n * Sets theme CSS custom properties WITHOUT applying background color.\n * This allows overriding the theme context for child components while\n * maintaining the parent's visual background.\n */\n\n:host {\n display: contents;\n}\n\n.theme-override {\n display: contents;\n}\n\n/* ==========================================================================\n WHITE THEME\n ========================================================================== */\n\n.theme-white {\n /* Background tokens */\n --af-background-base: var(--colour-brand-white, #FFFFFF);\n --af-background-base-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-background-contrast: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-level-1: var(--colour-mistgreen-200, #e8eeed);\n --af-background-level-1-hover: var(--colour-mistgreen-300, #dde6e3);\n --af-background-border-subtle: var(--colour-mistgreen-200, #e8eeed);\n --af-background-border-default: var(--colour-mistgreen-400, #d1ddda);\n --af-background-border-heavy: var(--colour-mistgreen-500, #c6d5d1);\n --af-background-border-active: var(--colour-softclay-800, #8a7049);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-soft-clay, #b09670);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\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-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-stroke: var(--colour-brand-soft-clay, #B09670);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-mistgreen-200, #e8ebeb);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-mistgreen-500, #d0d6d8);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-mistgreen-500, #d0d6d8);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n INKWELL THEME (Dark)\n ========================================================================== */\n\n.theme-inkwell {\n /* Background tokens */\n --af-background-base: var(--colour-brand-inkwell, #14343b);\n --af-background-base-hover: var(--colour-inkwell-600, #102a2f);\n --af-background-contrast: var(--colour-inkwell-700, #102a2f);\n --af-background-level-1: var(--colour-inkwell-450, #203e45);\n --af-background-level-1-hover: var(--colour-inkwell-400, #2b484f);\n --af-background-border-subtle: var(--colour-inkwell-450, #203e45);\n --af-background-border-default: var(--colour-inkwell-400, #2b484f);\n --af-background-border-heavy: var(--colour-inkwell-700, #102a2f);\n --af-background-border-active: var(--colour-brand-ice, #a6fffb);\n --af-background-icon-default: var(--colour-brand-white, #ffffff);\n --af-background-icon-accent: var(--colour-brand-ice, #a6fffb);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-mist-green, #c6d5d1);\n --af-typography-heading-secondary: var(--colour-brand-white, #ffffff);\n --af-typography-body-dark: var(--colour-brand-white, #ffffff);\n --af-typography-body-default: var(--colour-inkwell-100, #d0d6d8);\n --af-typography-body-subtle: var(--colour-inkwell-200, #a1aeb1);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\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-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-white, #ffffff);\n --af-button-secondary-icon: var(--colour-brand-white, #ffffff);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(255, 255, 255, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-white, #ffffff);\n \n /* Button - Tertiary */\n --af-button-tertiary-text: var(--colour-brand-white, #ffffff);\n --af-button-tertiary-icon: var(--colour-brand-white, #ffffff);\n --af-button-tertiary-stroke: var(--colour-brand-ice, #A6FFFB);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-inkwell-450, #203e45);\n --af-input-bg-hover: var(--colour-inkwell-400, #2b484f);\n --af-input-bg-disabled: var(--colour-inkwell-600, #102a2f);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--colour-brand-ice, #a6fffb);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--colour-brand-ice, #a6fffb);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-inkwell-450, #203e45);\n --af-form-control-bg-checked: var(--colour-brand-mist-green, #c6d5d1);\n --af-form-control-bg-disabled: var(--colour-inkwell-400, #2b484f);\n --af-form-control-bg-checked-disabled: var(--colour-mistgreen-700, #9eaaa7);\n --af-form-control-stroke: var(--colour-inkwell-350, #60767b);\n --af-form-control-stroke-hover: var(--colour-brand-white, #ffffff);\n --af-form-control-stroke-disabled: var(--colour-inkwell-400, #2b484f);\n --af-form-control-icon: var(--colour-brand-inkwell, #14343b);\n --af-form-control-label: var(--colour-brand-white, #ffffff);\n}\n\n/* ==========================================================================\n MIST-GREEN THEME\n ========================================================================== */\n\n.theme-mist-green {\n /* Background tokens */\n --af-background-base: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-base-hover: var(--colour-mistgreen-600, #b2c0bc);\n --af-background-contrast: var(--colour-brand-soft-clay, #b09670);\n --af-background-level-1: var(--colour-mistgreen-300, #dde6e3);\n --af-background-level-1-hover: var(--colour-mistgreen-400, #d1ddda);\n --af-background-border-subtle: var(--colour-mistgreen-600, #b2c0bc);\n --af-background-border-default: var(--colour-mistgreen-700, #9eaaa7);\n --af-background-border-heavy: var(--colour-mistgreen-700, #9eaaa7);\n --af-background-border-active: var(--colour-softclay-800, #8a7049);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-soft-clay, #b09670);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\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-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-stroke: var(--colour-brand-soft-clay, #B09670);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-mistgreen-300, #dde6e3);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-mistgreen-700, #9eaaa7);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-mistgreen-600, #b2c0bc);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n SOFT-CLAY THEME\n ========================================================================== */\n\n.theme-soft-clay {\n /* Background tokens */\n --af-background-base: var(--colour-softclay-400, #c0ab8d);\n --af-background-base-hover: var(--colour-softclay-500, #b09670);\n --af-background-contrast: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-level-1: var(--colour-softclay-500, #b09670);\n --af-background-level-1-hover: var(--colour-softclay-600, #9e8765);\n --af-background-border-subtle: var(--colour-softclay-600, #9e8765);\n --af-background-border-default: var(--colour-softclay-700, #8d785a);\n --af-background-border-heavy: var(--colour-brand-inkwell, #14343b);\n --af-background-border-active: var(--colour-brand-ice, #a6fffb);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-ivory-paper, #fff9ee);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-ivory-paper, #fff9ee);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\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-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-softclay-300, #d0c1a8);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-softclay-700, #8d785a);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-softclay-600, #9e8765);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n WHITE-IVORY THEME\n ========================================================================== */\n\n.theme-white-ivory {\n /* Background tokens */\n --af-background-base: var(--colour-brand-ivory-paper, #fff9ee);\n --af-background-base-hover: var(--colour-ivory-100, #fff5e0);\n --af-background-contrast: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-level-1: var(--colour-ivory-200, #ffefcc);\n --af-background-level-1-hover: var(--colour-ivory-300, #ffe9b8);\n --af-background-border-subtle: var(--colour-ivory-200, #ffefcc);\n --af-background-border-default: var(--colour-ivory-400, #ffe3a3);\n --af-background-border-heavy: var(--colour-brand-soft-clay, #b09670);\n --af-background-border-active: var(--colour-brand-soft-clay, #b09670);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-soft-clay, #b09670);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\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-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-tertiary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-tertiary-stroke: var(--colour-brand-soft-clay, #b09670);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-ivory-100, #fff5e0);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-ivory-200, #ffefcc);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-ivory-400, #ffe3a3);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-ivory-300, #ffe9b8);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Theme Override utility component.\n * Wraps content and applies an explicit theme, overriding any inherited theme\n * from parent containers like AfSection or AfCard.\n * \n * Unlike AfSection, this component does NOT apply a background color - \n * it only sets the CSS custom properties that child components consume.\n * \n * @slot - Content to be themed\n */\n@Component({\n tag: 'af-theme-override',\n styleUrl: 'af-theme-override.css',\n shadow: false,\n scoped: true,\n})\nexport class AfThemeOverride {\n /** \n * The theme to apply to child components.\n * Overrides any inherited theme from parent containers.\n */\n @Prop() theme: 'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory' = 'white';\n\n render() {\n return (\n <Host>\n <div class={`theme-override theme-${this.theme}`}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"names":[],"mappings":";;AAAA,MAAM,kBAAkB,GAAG,2jfAA2jf;;MCkBzkf,eAAe,GAAA,MAAA;AAN5B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAOE;;;AAGG;AACK,QAAA,IAAK,CAAA,KAAA,GAAqE,OAAO;AAW1F;IATC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,qBAAA,EAAwB,IAAI,CAAC,KAAK,EAAE,EAAA,EAC9C,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;"}
1
+ {"version":3,"file":"af-theme-override.entry.esm.js","sources":["src/components/af-theme-override/af-theme-override.css?tag=af-theme-override&encapsulation=scoped","src/components/af-theme-override/af-theme-override.tsx"],"sourcesContent":["/**\n * Theme Override Component Styles\n * \n * Sets theme CSS custom properties WITHOUT applying background color.\n * This allows overriding the theme context for child components while\n * maintaining the parent's visual background.\n */\n\n:host {\n display: contents;\n}\n\n.theme-override {\n display: contents;\n}\n\n/* ==========================================================================\n WHITE THEME\n ========================================================================== */\n\n.theme-white {\n /* Background tokens */\n --af-background-base: var(--colour-brand-white, #FFFFFF);\n --af-background-base-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-background-contrast: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-level-1: var(--colour-mistgreen-200, #e8eeed);\n --af-background-level-1-hover: var(--colour-mistgreen-300, #dde6e3);\n --af-background-border-subtle: var(--colour-mistgreen-200, #e8eeed);\n --af-background-border-default: var(--colour-mistgreen-400, #d1ddda);\n --af-background-border-heavy: var(--colour-mistgreen-500, #c6d5d1);\n --af-background-border-active: var(--colour-softclay-800, #8a7049);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-soft-clay, #b09670);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\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-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-stroke: var(--colour-brand-soft-clay, #B09670);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-mistgreen-200, #e8ebeb);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-mistgreen-500, #d0d6d8);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-mistgreen-500, #d0d6d8);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n INKWELL THEME (Dark)\n ========================================================================== */\n\n.theme-inkwell {\n /* Background tokens */\n --af-background-base: var(--colour-brand-inkwell, #14343b);\n --af-background-base-hover: var(--colour-inkwell-600, #102a2f);\n --af-background-contrast: var(--colour-inkwell-700, #102a2f);\n --af-background-level-1: var(--colour-inkwell-450, #203e45);\n --af-background-level-1-hover: var(--colour-inkwell-400, #2b484f);\n --af-background-border-subtle: var(--colour-inkwell-450, #203e45);\n --af-background-border-default: var(--colour-inkwell-400, #2b484f);\n --af-background-border-heavy: var(--colour-inkwell-700, #102a2f);\n --af-background-border-active: var(--colour-brand-ice, #a6fffb);\n --af-background-icon-default: var(--colour-brand-white, #ffffff);\n --af-background-icon-accent: var(--colour-brand-ice, #a6fffb);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-mist-green, #c6d5d1);\n --af-typography-heading-secondary: var(--colour-brand-white, #ffffff);\n --af-typography-body-dark: var(--colour-brand-white, #ffffff);\n --af-typography-body-default: var(--colour-inkwell-100, #d0d6d8);\n --af-typography-body-subtle: var(--colour-inkwell-200, #a1aeb1);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\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-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-white, #ffffff);\n --af-button-secondary-icon: var(--colour-brand-white, #ffffff);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(255, 255, 255, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-white, #ffffff);\n \n /* Button - Tertiary */\n --af-button-ghost-text: var(--colour-brand-white, #ffffff);\n --af-button-ghost-icon: var(--colour-brand-white, #ffffff);\n --af-button-ghost-stroke: var(--colour-brand-ice, #A6FFFB);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-inkwell-450, #203e45);\n --af-input-bg-hover: var(--colour-inkwell-400, #2b484f);\n --af-input-bg-disabled: var(--colour-inkwell-600, #102a2f);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--colour-brand-ice, #a6fffb);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--colour-brand-ice, #a6fffb);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-inkwell-450, #203e45);\n --af-form-control-bg-checked: var(--colour-brand-mist-green, #c6d5d1);\n --af-form-control-bg-disabled: var(--colour-inkwell-400, #2b484f);\n --af-form-control-bg-checked-disabled: var(--colour-mistgreen-700, #9eaaa7);\n --af-form-control-stroke: var(--colour-inkwell-350, #60767b);\n --af-form-control-stroke-hover: var(--colour-brand-white, #ffffff);\n --af-form-control-stroke-disabled: var(--colour-inkwell-400, #2b484f);\n --af-form-control-icon: var(--colour-brand-inkwell, #14343b);\n --af-form-control-label: var(--colour-brand-white, #ffffff);\n}\n\n/* ==========================================================================\n MIST-GREEN THEME\n ========================================================================== */\n\n.theme-mist-green {\n /* Background tokens */\n --af-background-base: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-base-hover: var(--colour-mistgreen-600, #b2c0bc);\n --af-background-contrast: var(--colour-brand-soft-clay, #b09670);\n --af-background-level-1: var(--colour-mistgreen-300, #dde6e3);\n --af-background-level-1-hover: var(--colour-mistgreen-400, #d1ddda);\n --af-background-border-subtle: var(--colour-mistgreen-600, #b2c0bc);\n --af-background-border-default: var(--colour-mistgreen-700, #9eaaa7);\n --af-background-border-heavy: var(--colour-mistgreen-700, #9eaaa7);\n --af-background-border-active: var(--colour-softclay-800, #8a7049);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-soft-clay, #b09670);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\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-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-stroke: var(--colour-brand-soft-clay, #B09670);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-mistgreen-300, #dde6e3);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-mistgreen-700, #9eaaa7);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-mistgreen-600, #b2c0bc);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n SOFT-CLAY THEME\n ========================================================================== */\n\n.theme-soft-clay {\n /* Background tokens */\n --af-background-base: var(--colour-softclay-400, #c0ab8d);\n --af-background-base-hover: var(--colour-softclay-500, #b09670);\n --af-background-contrast: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-level-1: var(--colour-softclay-500, #b09670);\n --af-background-level-1-hover: var(--colour-softclay-600, #9e8765);\n --af-background-border-subtle: var(--colour-softclay-600, #9e8765);\n --af-background-border-default: var(--colour-softclay-700, #8d785a);\n --af-background-border-heavy: var(--colour-brand-inkwell, #14343b);\n --af-background-border-active: var(--colour-brand-ice, #a6fffb);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-ivory-paper, #fff9ee);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-ivory-paper, #fff9ee);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\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-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-mistgreen-100, #f4f7f6);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-softclay-300, #d0c1a8);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-softclay-700, #8d785a);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-softclay-600, #9e8765);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n/* ==========================================================================\n WHITE-IVORY THEME\n ========================================================================== */\n\n.theme-white-ivory {\n /* Background tokens */\n --af-background-base: var(--colour-brand-ivory-paper, #fff9ee);\n --af-background-base-hover: var(--colour-ivory-100, #fff5e0);\n --af-background-contrast: var(--colour-brand-mist-green, #c6d5d1);\n --af-background-level-1: var(--colour-ivory-200, #ffefcc);\n --af-background-level-1-hover: var(--colour-ivory-300, #ffe9b8);\n --af-background-border-subtle: var(--colour-ivory-200, #ffefcc);\n --af-background-border-default: var(--colour-ivory-400, #ffe3a3);\n --af-background-border-heavy: var(--colour-brand-soft-clay, #b09670);\n --af-background-border-active: var(--colour-brand-soft-clay, #b09670);\n --af-background-icon-default: var(--colour-brand-inkwell, #14343b);\n --af-background-icon-accent: var(--colour-brand-soft-clay, #b09670);\n \n /* Typography tokens */\n --af-typography-heading-primary: var(--colour-brand-inkwell, #14343b);\n --af-typography-heading-secondary: var(--colour-brand-soft-clay, #b09670);\n --af-typography-body-dark: var(--colour-brand-inkwell, #14343b);\n --af-typography-body-default: var(--colour-inkwell-400, #2b484f);\n --af-typography-body-subtle: var(--colour-inkwell-350, #60767b);\n \n /* Button - Primary */\n --af-button-primary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-primary-icon: var(--colour-brand-inkwell, #14343b);\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-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Secondary */\n --af-button-secondary-text: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-secondary-bg: transparent;\n --af-button-secondary-bg-hover: rgba(0, 0, 0, 0.08);\n --af-button-secondary-stroke: var(--colour-brand-inkwell, #14343b);\n \n /* Button - Tertiary */\n --af-button-ghost-text: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-icon: var(--colour-brand-inkwell, #14343b);\n --af-button-ghost-stroke: var(--colour-brand-soft-clay, #b09670);\n \n /* Input tokens */\n --af-input-label: var(--af-typography-body-dark);\n --af-input-description: var(--af-typography-body-default);\n --af-input-text: var(--af-typography-body-dark);\n --af-input-placeholder: var(--af-typography-body-subtle);\n --af-input-icon: var(--af-background-icon-default);\n --af-input-bg: var(--colour-brand-white, #ffffff);\n --af-input-bg-hover: var(--colour-ivory-100, #fff5e0);\n --af-input-bg-disabled: var(--af-background-level-1);\n --af-input-border: var(--af-background-border-default);\n --af-input-border-hover: var(--af-background-border-heavy);\n --af-input-border-active: var(--af-typography-body-dark);\n --af-input-border-error: var(--colour-error, #be292a);\n --af-input-error: var(--colour-error, #be292a);\n --af-input-focus-ring: var(--af-typography-body-dark);\n \n /* Form control tokens (checkbox, radio, switch) */\n --af-form-control-bg: var(--colour-brand-white, #ffffff);\n --af-form-control-bg-checked: var(--colour-brand-inkwell, #14343b);\n --af-form-control-bg-disabled: var(--colour-ivory-200, #ffefcc);\n --af-form-control-bg-checked-disabled: var(--colour-inkwell-350, #708380);\n --af-form-control-stroke: var(--colour-ivory-400, #ffe3a3);\n --af-form-control-stroke-hover: var(--colour-brand-inkwell, #14343b);\n --af-form-control-stroke-disabled: var(--colour-ivory-300, #ffe9b8);\n --af-form-control-icon: var(--colour-brand-white, #ffffff);\n --af-form-control-label: var(--colour-brand-inkwell, #14343b);\n}\n\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Theme Override utility component.\n * Wraps content and applies an explicit theme, overriding any inherited theme\n * from parent containers like AfSection or AfCard.\n * \n * Unlike AfSection, this component does NOT apply a background color - \n * it only sets the CSS custom properties that child components consume.\n * \n * @slot - Content to be themed\n */\n@Component({\n tag: 'af-theme-override',\n styleUrl: 'af-theme-override.css',\n shadow: false,\n scoped: true,\n})\nexport class AfThemeOverride {\n /** \n * The theme to apply to child components.\n * Overrides any inherited theme from parent containers.\n */\n @Prop() theme: 'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory' = 'white';\n\n render() {\n return (\n <Host>\n <div class={`theme-override theme-${this.theme}`}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n\n"],"names":[],"mappings":";;AAAA,MAAM,kBAAkB,GAAG,8gfAA8gf;;MCkB5hf,eAAe,GAAA,MAAA;AAN5B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAOE;;;AAGG;AACK,QAAA,IAAK,CAAA,KAAA,GAAqE,OAAO;AAW1F;IATC,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,CAAA,qBAAA,EAAwB,IAAI,CAAC,KAAK,EAAE,EAAA,EAC9C,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACT,CACD;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"af-typography-lockup.entry.esm.js","sources":["src/components/af-typography-lockup/af-typography-lockup.css?tag=af-typography-lockup&encapsulation=shadow","src/components/af-typography-lockup/af-typography-lockup.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.lockup {\n display: flex;\n flex-direction: column;\n}\n\n/* Lockup gap variations (between copy and buttons) - matches copy internal gap */\n/* Heading 1 desktop: 24px gap */\n.breakpoint-desktop.heading-1.lockup {\n gap: var(--space-6, 24px);\n}\n\n/* Heading 1 mobile: 20px gap */\n.breakpoint-mobile.heading-1.lockup {\n gap: var(--space-5, 20px);\n}\n\n/* Heading 2, 3 desktop: 16px gap */\n.breakpoint-desktop.heading-2.lockup,\n.breakpoint-desktop.heading-3.lockup {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 2 mobile: 16px gap */\n.breakpoint-mobile.heading-2.lockup {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */\n.breakpoint-mobile.heading-3.lockup,\n.breakpoint-desktop.heading-4.lockup,\n.breakpoint-desktop.heading-5.lockup {\n gap: var(--space-3, 12px);\n}\n\n/* Heading 4 mobile, 5 mobile: 8px gap */\n.breakpoint-mobile.heading-4.lockup,\n.breakpoint-mobile.heading-5.lockup {\n gap: var(--space-2, 8px);\n}\n\n/* Container alignment (affects flexbox positioning) */\n.text-left {\n align-items: flex-start;\n}\n\n.text-center {\n align-items: center;\n}\n\n.text-right {\n align-items: flex-end;\n}\n\n.text-justify {\n align-items: stretch;\n}\n\n/* Individual text alignment classes */\n.align-left {\n text-align: left;\n --af-text-align: left;\n}\n\n.align-center {\n text-align: center;\n --af-text-align: center;\n}\n\n.align-right {\n text-align: right;\n --af-text-align: right;\n}\n\n.align-justify {\n text-align: justify;\n --af-text-align: justify;\n}\n\n/* Copy section - base styles */\n.copy {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 840px;\n}\n\n/* Copy gap variations based on heading size and breakpoint */\n/* Heading 1 desktop: 24px gap */\n.breakpoint-desktop.heading-1 .copy {\n gap: var(--space-6, 24px);\n}\n\n/* Heading 1 mobile: 20px gap */\n.breakpoint-mobile.heading-1 .copy {\n gap: var(--space-5, 20px);\n}\n\n/* Heading 2, 3 desktop: 16px gap */\n.breakpoint-desktop.heading-2 .copy,\n.breakpoint-desktop.heading-3 .copy {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 2 mobile: 16px gap */\n.breakpoint-mobile.heading-2 .copy {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */\n.breakpoint-mobile.heading-3 .copy,\n.breakpoint-desktop.heading-4 .copy,\n.breakpoint-desktop.heading-5 .copy {\n gap: var(--space-3, 12px);\n}\n\n/* Heading 4 mobile, 5 mobile: 8px gap */\n.breakpoint-mobile.heading-4 .copy,\n.breakpoint-mobile.heading-5 .copy {\n gap: var(--space-2, 8px);\n}\n\n/* Heading styles */\n.heading {\n font-family: var(--typography-headingfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-book, 500);\n color: var(--af-typography-heading-primary, var(--colour-typography-heading-primary, #14343B));\n line-height: var(--line-height-heading-tight, 1);\n letter-spacing: var(--letter-spacing-heading, -0.02em);\n white-space: pre-wrap;\n}\n\n/* Desktop heading sizes */\n.breakpoint-desktop.heading-1 .heading {\n font-size: var(--font-size-heading-1-desktop, 56px);\n}\n\n.breakpoint-desktop.heading-2 .heading {\n font-size: var(--font-size-heading-2-desktop, 44px);\n}\n\n.breakpoint-desktop.heading-3 .heading {\n font-size: var(--font-size-heading-3-desktop, 34px);\n}\n\n.breakpoint-desktop.heading-4 .heading {\n font-size: var(--font-size-heading-4-desktop, 24px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n}\n\n.breakpoint-desktop.heading-5 .heading {\n font-size: var(--font-size-heading-5-desktop, 20px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n}\n\n/* Mobile heading sizes */\n.breakpoint-mobile.heading-1 .heading {\n font-size: var(--font-size-heading-1-mobile, 38px);\n}\n\n.breakpoint-mobile.heading-2 .heading {\n font-size: var(--font-size-heading-2-mobile, 32px);\n}\n\n.breakpoint-mobile.heading-3 .heading {\n font-size: var(--font-size-heading-3-mobile, 25px);\n}\n\n.breakpoint-mobile.heading-4 .heading {\n font-size: var(--font-size-heading-4-mobile, 20px);\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n.breakpoint-mobile.heading-5 .heading {\n font-size: var(--font-size-heading-5-mobile, 18px);\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n/* Description/body text - default (body/large) */\n.description {\n font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);\n font-size: var(--font-size-body-large, 18px);\n font-weight: var(--font-weight-regular, 400);\n line-height: var(--line-height-body-large, 26px);\n color: var(--af-typography-body-default, var(--colour-typography-body-default, #2B484F));\n white-space: pre-wrap;\n}\n\n/* Description text size variations - smaller for heading 3 mobile, 4, and 5 */\n.breakpoint-mobile.heading-3 .description,\n.breakpoint-desktop.heading-4 .description,\n.breakpoint-mobile.heading-4 .description,\n.breakpoint-desktop.heading-5 .description,\n.breakpoint-mobile.heading-5 .description {\n font-size: var(--font-size-body-medium, 16px);\n line-height: var(--line-height-body-medium, 24px);\n}\n\n.description:empty {\n display: none;\n}\n\n/* Buttons section */\n.buttons {\n display: flex;\n flex-direction: row;\n gap: var(--space-3, 12px);\n}\n\n.buttons:empty {\n display: none;\n}\n\n/* Button layout - horizontal (inline with copy) */\n.layout-horizontal .buttons {\n align-items: center;\n}\n\n.text-left.layout-horizontal {\n flex-direction: row;\n align-items: center;\n gap: var(--space-4, 16px);\n}\n\n.text-left.layout-horizontal .copy {\n flex: 1 0 0;\n max-width: 950px;\n}\n\n/* Heading 3, 4 horizontal: different max-width */\n.text-left.layout-horizontal.heading-3 .copy,\n.text-left.layout-horizontal.heading-4 .copy {\n max-width: 840px;\n}\n\n.text-left.layout-horizontal .buttons {\n flex-shrink: 0;\n}\n\n/* Button layout - vertical (stacked below copy) */\n.layout-vertical .buttons {\n align-items: flex-start;\n}\n\n/* Button position alignment */\n.buttons.align-left {\n justify-content: flex-start;\n}\n\n.buttons.align-center {\n justify-content: center;\n}\n\n.buttons.align-right {\n justify-content: flex-end;\n}\n\n.buttons.align-justify {\n justify-content: space-between;\n}\n\n/* Mobile button stacking - buttons stack vertically on mobile */\n.breakpoint-mobile .buttons {\n flex-direction: column;\n align-items: stretch;\n}\n\n.breakpoint-mobile .buttons.align-center {\n align-items: center;\n}\n\n.breakpoint-mobile .buttons.align-right {\n align-items: flex-end;\n}\n\n.breakpoint-mobile .buttons.align-left {\n align-items: flex-start;\n}\n\n/* Max width constraints for centered layouts */\n.text-center .copy {\n max-width: 840px;\n}\n\n/* Slot content styling */\n::slotted(*) {\n margin: 0;\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\ntype TextAlign = 'left' | 'center' | 'right' | 'justify';\n\n@Component({\n tag: 'af-typography-lockup',\n styleUrl: 'af-typography-lockup.css',\n shadow: true\n})\nexport class AfTypographyLockup {\n /**\n * The heading size (1-5, where 1 is largest)\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 2;\n\n /**\n * The breakpoint for responsive typography\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Text alignment for the entire lockup (heading and description).\n * Can be overridden individually with headingAlignment and descriptionAlignment.\n */\n @Prop() textAlignment: TextAlign = 'left';\n\n /**\n * Heading text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() headingAlignment?: TextAlign;\n\n /**\n * Description text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() descriptionAlignment?: TextAlign;\n\n /**\n * Button layout direction (horizontal or vertical stacking)\n */\n @Prop() buttonLayout: 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Buttons position alignment. Falls back to textAlignment if not specified.\n */\n @Prop() buttonsAlignment?: TextAlign;\n\n /**\n * Maximum width for the copy section (in pixels)\n */\n @Prop() maxWidth?: number;\n\n render() {\n const effectiveHeadingAlignment = this.headingAlignment ?? this.textAlignment;\n const effectiveDescriptionAlignment = this.descriptionAlignment ?? this.textAlignment;\n const effectiveButtonsAlignment = this.buttonsAlignment ?? this.textAlignment;\n\n const containerClasses = {\n 'lockup': true,\n [`text-${this.textAlignment}`]: true,\n [`layout-${this.buttonLayout}`]: true,\n [`heading-${this.headingSize}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n const headingClasses = {\n 'heading': true,\n [`align-${effectiveHeadingAlignment}`]: true\n };\n\n const descriptionClasses = {\n 'description': true,\n [`align-${effectiveDescriptionAlignment}`]: true\n };\n\n const buttonsClasses = {\n 'buttons': true,\n [`align-${effectiveButtonsAlignment}`]: true\n };\n\n const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};\n\n return (\n <Host>\n <div class={containerClasses}>\n <div class=\"copy\" style={copyStyle}>\n <div class={headingClasses} part=\"heading\">\n <slot></slot>\n </div>\n <div class={descriptionClasses} part=\"body\">\n <slot name=\"description\"></slot>\n </div>\n </div>\n <div class={buttonsClasses} part=\"buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,qBAAqB,GAAG,2+IAA2+I;;MCS5/I,kBAAkB,GAAA,MAAA;AAL/B,IAAA,WAAA,CAAA,OAAA,EAAA;;AAME;;AAEG;AACK,QAAA,IAAW,CAAA,WAAA,GAAsB,CAAC;AAE1C;;AAEG;AACK,QAAA,IAAU,CAAA,UAAA,GAAyB,SAAS;AAEpD;;;AAGG;AACK,QAAA,IAAa,CAAA,aAAA,GAAc,MAAM;AAYzC;;AAEG;AACK,QAAA,IAAY,CAAA,YAAA,GAA8B,UAAU;AA4D7D;IAhDC,MAAM,GAAA;QACJ,MAAM,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa;QAC7E,MAAM,6BAA6B,GAAG,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,aAAa;QACrF,MAAM,yBAAyB,GAAG,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,aAAa;AAE7E,QAAA,MAAM,gBAAgB,GAAG;AACvB,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,CAAC,QAAQ,IAAI,CAAC,aAAa,CAAE,CAAA,GAAG,IAAI;AACpC,YAAA,CAAC,UAAU,IAAI,CAAC,YAAY,CAAE,CAAA,GAAG,IAAI;AACrC,YAAA,CAAC,WAAW,IAAI,CAAC,WAAW,CAAE,CAAA,GAAG,IAAI;AACrC,YAAA,CAAC,cAAc,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG;SACpC;AAED,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,CAAC,CAAS,MAAA,EAAA,yBAAyB,CAAE,CAAA,GAAG;SACzC;AAED,QAAA,MAAM,kBAAkB,GAAG;AACzB,YAAA,aAAa,EAAE,IAAI;AACnB,YAAA,CAAC,CAAS,MAAA,EAAA,6BAA6B,CAAE,CAAA,GAAG;SAC7C;AAED,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,SAAS,EAAE,IAAI;AACf,YAAA,CAAC,CAAS,MAAA,EAAA,yBAAyB,CAAE,CAAA,GAAG;SACzC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,EAAE,QAAQ,EAAE,CAAG,EAAA,IAAI,CAAC,QAAQ,CAAA,EAAA,CAAI,EAAE,GAAG,EAAE;AAEzE,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,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,MAAM,EAAC,KAAK,EAAE,SAAS,EAAA,EAChC,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,cAAc,EAAE,IAAI,EAAC,SAAS,EAAA,EACxC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACT,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAC,MAAM,EAAA,EACzC,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,aAAa,EAAA,CAAQ,CAC5B,CACF,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,cAAc,EAAE,IAAI,EAAC,SAAS,EAAA,EACxC,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,SAAS,EAAA,CAAQ,CACxB,CACF,CACD;;;;;;;"}
1
+ {"version":3,"file":"af-typography-lockup.entry.esm.js","sources":["src/components/af-typography-lockup/af-typography-lockup.css?tag=af-typography-lockup&encapsulation=shadow","src/components/af-typography-lockup/af-typography-lockup.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.lockup {\n display: flex;\n flex-direction: column;\n}\n\n/* Lockup gap variations (between copy and buttons) - matches copy internal gap */\n/* Heading 1 desktop: 24px gap */\n.breakpoint-desktop.heading-1.lockup {\n gap: var(--space-6, 24px);\n}\n\n/* Heading 1 mobile: 20px gap */\n.breakpoint-mobile.heading-1.lockup {\n gap: var(--space-5, 20px);\n}\n\n/* Heading 2, 3 desktop: 16px gap */\n.breakpoint-desktop.heading-2.lockup,\n.breakpoint-desktop.heading-3.lockup {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 2 mobile: 16px gap */\n.breakpoint-mobile.heading-2.lockup {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */\n.breakpoint-mobile.heading-3.lockup,\n.breakpoint-desktop.heading-4.lockup,\n.breakpoint-desktop.heading-5.lockup {\n gap: var(--space-3, 12px);\n}\n\n/* Heading 4 mobile, 5 mobile: 8px gap */\n.breakpoint-mobile.heading-4.lockup,\n.breakpoint-mobile.heading-5.lockup {\n gap: var(--space-2, 8px);\n}\n\n/* Container alignment (affects flexbox positioning) */\n.text-left {\n align-items: flex-start;\n}\n\n.text-center {\n align-items: center;\n}\n\n.text-right {\n align-items: flex-end;\n}\n\n.text-justify {\n align-items: stretch;\n}\n\n/* Individual text alignment classes */\n.align-left {\n text-align: left;\n --af-text-align: left;\n}\n\n.align-center {\n text-align: center;\n --af-text-align: center;\n}\n\n.align-right {\n text-align: right;\n --af-text-align: right;\n}\n\n.align-justify {\n text-align: justify;\n --af-text-align: justify;\n}\n\n/* Copy section - base styles */\n.copy {\n display: flex;\n flex-direction: column;\n width: 100%;\n max-width: 840px;\n}\n\n/* Copy gap variations based on heading size and breakpoint */\n/* Heading 1 desktop: 24px gap */\n.breakpoint-desktop.heading-1 .copy {\n gap: var(--space-6, 24px);\n}\n\n/* Heading 1 mobile: 20px gap */\n.breakpoint-mobile.heading-1 .copy {\n gap: var(--space-5, 20px);\n}\n\n/* Heading 2, 3 desktop: 16px gap */\n.breakpoint-desktop.heading-2 .copy,\n.breakpoint-desktop.heading-3 .copy {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 2 mobile: 16px gap */\n.breakpoint-mobile.heading-2 .copy {\n gap: var(--space-4, 16px);\n}\n\n/* Heading 3 mobile, 4 desktop, 5 desktop: 12px gap */\n.breakpoint-mobile.heading-3 .copy,\n.breakpoint-desktop.heading-4 .copy,\n.breakpoint-desktop.heading-5 .copy {\n gap: var(--space-3, 12px);\n}\n\n/* Heading 4 mobile, 5 mobile: 8px gap */\n.breakpoint-mobile.heading-4 .copy,\n.breakpoint-mobile.heading-5 .copy {\n gap: var(--space-2, 8px);\n}\n\n/* Heading styles - font-weight 400 (regular) matches Webflow's NeuSans usage */\n.heading {\n font-family: var(--typography-headingfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n color: var(--af-typography-heading-primary, var(--colour-typography-heading-primary, #14343B));\n line-height: var(--line-height-heading-tight, 1);\n letter-spacing: var(--letter-spacing-heading, -0.02em);\n white-space: normal;\n}\n\n/* Desktop heading sizes */\n.breakpoint-desktop.heading-1 .heading {\n font-size: var(--font-size-heading-1-desktop, 56px);\n}\n\n.breakpoint-desktop.heading-2 .heading {\n font-size: var(--font-size-heading-2-desktop, 44px);\n}\n\n.breakpoint-desktop.heading-3 .heading {\n font-size: var(--font-size-heading-3-desktop, 34px);\n}\n\n.breakpoint-desktop.heading-4 .heading {\n font-size: var(--font-size-heading-4-desktop, 24px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n}\n\n.breakpoint-desktop.heading-5 .heading {\n font-size: var(--font-size-heading-5-desktop, 20px);\n line-height: var(--line-height-heading-relaxed, 1.2);\n}\n\n/* Mobile heading sizes */\n.breakpoint-mobile.heading-1 .heading {\n font-size: var(--font-size-heading-1-mobile, 38px);\n}\n\n.breakpoint-mobile.heading-2 .heading {\n font-size: var(--font-size-heading-2-mobile, 32px);\n}\n\n.breakpoint-mobile.heading-3 .heading {\n font-size: var(--font-size-heading-3-mobile, 25px);\n}\n\n.breakpoint-mobile.heading-4 .heading {\n font-size: var(--font-size-heading-4-mobile, 20px);\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n.breakpoint-mobile.heading-5 .heading {\n font-size: var(--font-size-heading-5-mobile, 18px);\n line-height: var(--line-height-heading-normal, 1.1);\n}\n\n/* Description/body text - default (body/large) */\n.description {\n font-family: var(--typography-bodyfont, 'NeuSans', sans-serif);\n font-size: var(--font-size-body-large, 18px);\n font-weight: var(--font-weight-regular, 400);\n line-height: var(--line-height-body-large, 26px);\n color: var(--af-typography-body-default, var(--colour-typography-body-default, #2B484F));\n white-space: normal;\n}\n\n/* Heading colour variants — matches Webflow's h1.primary / h1.secondary pattern */\n.heading.heading-color-primary {\n color: var(--af-typography-heading-primary, var(--colour-typography-heading-primary, #14343B));\n}\n\n.heading.heading-color-secondary {\n color: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #B09670));\n}\n\n/* Description colour variants */\n.description.description-color-default {\n color: var(--af-typography-body-default, var(--colour-typography-body-default, #2B484F));\n}\n\n.description.description-color-secondary {\n color: var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #B09670));\n}\n\n/* Description text size variations - smaller for heading 3 mobile, 4, and 5 */\n.breakpoint-mobile.heading-3 .description,\n.breakpoint-desktop.heading-4 .description,\n.breakpoint-mobile.heading-4 .description,\n.breakpoint-desktop.heading-5 .description,\n.breakpoint-mobile.heading-5 .description {\n font-size: var(--font-size-body-medium, 16px);\n line-height: var(--line-height-body-medium, 24px);\n}\n\n.description:empty {\n display: none;\n}\n\n/* Buttons section */\n.buttons {\n display: flex;\n flex-direction: row;\n gap: var(--space-3, 12px);\n}\n\n.buttons:empty {\n display: none;\n}\n\n/* Button layout - horizontal (inline with copy) */\n.layout-horizontal .buttons {\n align-items: center;\n}\n\n.text-left.layout-horizontal {\n flex-direction: row;\n align-items: center;\n gap: var(--space-4, 16px);\n}\n\n.text-left.layout-horizontal .copy {\n flex: 1 0 0;\n max-width: 950px;\n}\n\n/* Heading 3, 4 horizontal: different max-width */\n.text-left.layout-horizontal.heading-3 .copy,\n.text-left.layout-horizontal.heading-4 .copy {\n max-width: 840px;\n}\n\n.text-left.layout-horizontal .buttons {\n flex-shrink: 0;\n}\n\n/* Button layout - vertical (stacked below copy) */\n.layout-vertical .buttons {\n align-items: flex-start;\n}\n\n/* Button position alignment */\n.buttons.align-left {\n justify-content: flex-start;\n}\n\n.buttons.align-center {\n justify-content: center;\n}\n\n.buttons.align-right {\n justify-content: flex-end;\n}\n\n.buttons.align-justify {\n justify-content: space-between;\n}\n\n/* Mobile button stacking - buttons stack vertically on mobile */\n.breakpoint-mobile .buttons {\n flex-direction: column;\n align-items: stretch;\n}\n\n.breakpoint-mobile .buttons.align-center {\n align-items: center;\n}\n\n.breakpoint-mobile .buttons.align-right {\n align-items: flex-end;\n}\n\n.breakpoint-mobile .buttons.align-left {\n align-items: flex-start;\n}\n\n/* Max width constraints for centered layouts */\n.text-center .copy {\n max-width: 840px;\n}\n\n/* Slot content styling */\n::slotted(*) {\n margin: 0;\n}\n","import { Component, h, Prop, Host } from '@stencil/core';\n\ntype TextAlign = 'left' | 'center' | 'right' | 'justify';\n\n@Component({\n tag: 'af-typography-lockup',\n styleUrl: 'af-typography-lockup.css',\n shadow: true\n})\nexport class AfTypographyLockup {\n /**\n * The heading size (1-5, where 1 is largest)\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 2;\n\n /**\n * The breakpoint for responsive typography\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Text alignment for the entire lockup (heading and description).\n * Can be overridden individually with headingAlignment and descriptionAlignment.\n */\n @Prop() textAlignment: TextAlign = 'left';\n\n /**\n * Heading text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() headingAlignment?: TextAlign;\n\n /**\n * Description text alignment. Falls back to textAlignment if not specified.\n */\n @Prop() descriptionAlignment?: TextAlign;\n\n /**\n * Button layout direction (horizontal or vertical stacking)\n */\n @Prop() buttonLayout: 'horizontal' | 'vertical' = 'vertical';\n\n /**\n * Buttons position alignment. Falls back to textAlignment if not specified.\n */\n @Prop() buttonsAlignment?: TextAlign;\n\n /**\n * Maximum width for the copy section (in pixels)\n */\n @Prop() maxWidth?: number;\n\n /**\n * Heading colour variant. Matches the Webflow pattern of `h1.primary` vs\n * `h1.secondary`, where \"secondary\" renders in the theme's accent/heading-\n * secondary colour (soft-clay on most themes).\n * - `primary` (default) - uses `--af-typography-heading-primary`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() headingColor: 'primary' | 'secondary' = 'primary';\n\n /**\n * Description colour variant. Same pattern as `headingColor`; useful for\n * hero-style lockups where the description is rendered in the accent colour.\n * - `default` (default) - uses `--af-typography-body-default`\n * - `secondary` - uses `--af-typography-heading-secondary`\n */\n @Prop() descriptionColor: 'default' | 'secondary' = 'default';\n\n render() {\n const effectiveHeadingAlignment = this.headingAlignment ?? this.textAlignment;\n const effectiveDescriptionAlignment = this.descriptionAlignment ?? this.textAlignment;\n const effectiveButtonsAlignment = this.buttonsAlignment ?? this.textAlignment;\n\n const containerClasses = {\n 'lockup': true,\n [`text-${this.textAlignment}`]: true,\n [`layout-${this.buttonLayout}`]: true,\n [`heading-${this.headingSize}`]: true,\n [`breakpoint-${this.breakpoint}`]: true\n };\n\n const headingClasses = {\n 'heading': true,\n [`align-${effectiveHeadingAlignment}`]: true,\n [`heading-color-${this.headingColor}`]: true\n };\n\n const descriptionClasses = {\n 'description': true,\n [`align-${effectiveDescriptionAlignment}`]: true,\n [`description-color-${this.descriptionColor}`]: true\n };\n\n const buttonsClasses = {\n 'buttons': true,\n [`align-${effectiveButtonsAlignment}`]: true\n };\n\n const copyStyle = this.maxWidth ? { maxWidth: `${this.maxWidth}px` } : {};\n\n return (\n <Host>\n <div class={containerClasses}>\n <div class=\"copy\" style={copyStyle}>\n <div class={headingClasses} part=\"heading\">\n <slot></slot>\n </div>\n <div class={descriptionClasses} part=\"body\">\n <slot name=\"description\"></slot>\n </div>\n </div>\n <div class={buttonsClasses} part=\"buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{p as e,g as a,b as i}from"./p-B0LVveHp.js";export{s as setNonce}from"./p-B0LVveHp.js";var t=()=>{const a=import.meta.url;const i={};if(a!==""){i.resourcesUrl=new URL(".",a).href}return e(i)};t().then((async e=>{await a();return i([["p-920e6d30",[[262,"af-testimonial",{backgroundImage:[1,"background-image"],logoImage:[1,"logo-image"],quote:[1],attribution:[1],readMoreLink:[1,"read-more-link"],showNavigation:[1028,"show-navigation"],hasPrev:[1028,"has-prev"],hasNext:[1028,"has-next"]}]]],["p-fefe9597",[[262,"af-icon-text",{icon:[1],headingSize:[2,"heading-size"],orientation:[1],iconSize:[1,"icon-size"]}]]],["p-6bbc1e24",[[262,"af-feature-card",{theme:[1],layout:[1],cardSize:[513,"card-size"],headingSize:[2,"heading-size"],imageSrc:[1,"image-src"],imageAlt:[1,"image-alt"]}]]],["p-d90366f6",[[262,"af-illustrated-card",{theme:[1],breakpoint:[1],cardSize:[1,"card-size"]}]]],["p-e7d8d909",[[258,"af-testimonial-stat",{value:[1],description:[1],accentBorder:[4,"accent-border"]}]]],["p-cc4e73dc",[[262,"af-video-container",{videoThumbnailUrl:[1,"video-thumbnail-url"],videoAlt:[1,"video-alt"],videoUrl:[1,"video-url"]}]]],["p-8f24dfe3",[[262,"af-feature-grid",{columns:[2],mobileLayout:[1,"mobile-layout"],scrollProgress:[32]},null,{mobileLayout:["onMobileLayoutChange"]}]]],["p-2e750d43",[[262,"af-grid-callout",{imageSrc:[1,"image-src"],imageAlt:[1,"image-alt"],imagePosition:[1,"image-position"],columns:[2],headingSize:[2,"heading-size"]}]]],["p-96df0106",[[262,"af-in-page-banner",{theme:[1],heading:[1],description:[1],primaryButtonText:[1,"primary-button-text"],primaryButtonUrl:[1,"primary-button-url"],secondaryButtonText:[1,"secondary-button-text"],secondaryButtonUrl:[1,"secondary-button-url"],illustrationUrl:[1,"illustration-url"],showWaveDecoration:[4,"show-wave-decoration"]}]]],["p-2e5e4960",[[262,"af-section",{padding:[1],theme:[1],container:[4]}]]],["p-af25dad7",[[262,"af-split-section",{topTheme:[1,"top-theme"],bottomTheme:[1,"bottom-theme"],padding:[1],container:[4]}]]],["p-3d2fb635",[[262,"af-testimonial-carousel",{currentIndex:[32],isAnimating:[32],testimonialCount:[32]},[[0,"navPrev","handleNavPrev"],[0,"navNext","handleNavNext"]]]]],["p-16f808d5",[[262,"af-text-image",{imagePosition:[1,"image-position"],imageProportion:[1,"image-proportion"],src:[1],alt:[1],showSecondLockup:[4,"show-second-lockup"]}]]],["p-288c2656",[[262,"af-accordion",{mode:[1],value:[1025],defaultValue:[1,"default-value"],internalValue:[32]},[[0,"af-accordion-toggle","handleItemToggle"]],{value:["handleValueChange"]}]]],["p-b0d668d0",[[257,"af-accordion-item",{itemId:[513,"item-id"],open:[1540],disabled:[516],contentHeight:[32],toggle:[64]},null,{open:["handleOpenChange"]}]]],["p-fd772813",[[257,"af-button-group",{direction:[1],gap:[1]}]]],["p-f9e7cf8f",[[257,"af-center",{axis:[1],inline:[4],minHeight:[1,"min-height"]}]]],["p-a6402689",[[257,"af-checkbox",{checked:[1540],indeterminate:[516],disabled:[516],name:[1],value:[1]}]]],["p-0b5bc045",[[257,"af-client-carousel",{theme:[1]}]]],["p-3e16bb11",[[257,"af-color-swatch",{color:[1],name:[1],size:[1]}]]],["p-d6e55455",[[262,"af-contact-item",{label:[1],value:[1]}]]],["p-e156a8bb",[[257,"af-divider",{orientation:[1],spacing:[1]}]]],["p-9e21b6c1",[[262,"af-feature-accordion",{heading:[1],items:[1],cycleInterval:[2,"cycle-interval"],autoCycle:[4,"auto-cycle"],expandedIndex:[32],timerProgress:[32]},null,{autoCycle:["handleAutoCycleChange"]}]]],["p-389a6246",[[257,"af-fieldset",{legend:[1],orientation:[1],disabled:[516]}]]],["p-01993cc8",[[262,"af-footer",{copyrightText:[1,"copyright-text"],statusText:[1,"status-text"],statusUrl:[1,"status-url"],systemsOperational:[4,"systems-operational"],showStatus:[4,"show-status"]}]]],["p-bd7170d7",[[262,"af-footer-column",{heading:[1]}]]],["p-db9249e4",[[262,"af-footer-link",{href:[1],external:[4]}]]],["p-e9bc1739",[[257,"af-grid",{columns:[2],columnsLg:[2,"columns-lg"],columnsMd:[2,"columns-md"],columnsSm:[2,"columns-sm"],gap:[1],align:[1]}]]],["p-d47a77e2",[[257,"af-inline",{gap:[1],align:[1],justify:[1],wrap:[4]}]]],["p-a942522f",[[257,"af-input",{label:[1],description:[1],placeholder:[1],value:[1025],type:[1],name:[1],disabled:[516],required:[4],readonly:[4],error:[1],showInfoIcon:[4,"show-info-icon"],showSearchIcon:[4,"show-search-icon"],clearable:[4],autocomplete:[1],maxlength:[2],minlength:[2],pattern:[1],isFocused:[32],isHovered:[32]}]]],["p-f7a13cd3",[[257,"af-logo-well"]]],["p-1c32cfcb",[[262,"af-nav-accordion",{mode:[1],breakpoint:[513],value:[1025],internalValue:[32]},[[0,"af-nav-accordion-item-toggle","handleItemToggle"]]]]],["p-9de05d1d",[[262,"af-nav-accordion-item",{itemId:[513,"item-id"],label:[1],open:[1540],disabled:[516],href:[1],breakpoint:[513],contentHeight:[32],hasTriggerSlot:[32],toggle:[64]},null,{open:["handleOpenChange"]}]]],["p-a7574570",[[258,"af-nav-card",{heading:[1],href:[1],imageSrc:[1,"image-src"],imageAlt:[1,"image-alt"],isHovered:[32]}]]],["p-4c5f92a9",[[262,"af-nav-menu",{heading:[1],breakpoint:[1],showBorder:[4,"show-border"],cardStyle:[516,"card-style"]}]]],["p-b56e9e2d",[[262,"af-nav-menu-nest",{type:[1],breakpoint:[1],showSidebarBorder:[516,"show-sidebar-border"]}]]],["p-b10103f4",[[257,"af-number-badge",{number:[2],variant:[1],size:[2]}]]],["p-709271d1",[[257,"af-radio",{checked:[1540],disabled:[516],name:[513],value:[1]}]]],["p-c72cfcbd",[[257,"af-show",{above:[1],below:[1]}]]],["p-adacb8c4",[[262,"af-social-link",{href:[1],label:[1],icon:[1]}]]],["p-c74481bd",[[257,"af-spacer",{size:[1],flex:[4],axis:[1]}]]],["p-02830771",[[257,"af-stack",{direction:[1],gap:[1],align:[1],justify:[1],wrap:[4]}]]],["p-6b92463e",[[257,"af-switch",{active:[1540],disabled:[516],name:[1],value:[1]}]]],["p-19eb7cb9",[[257,"af-tab",{label:[1],active:[516],disabled:[516],shape:[513],displayIcon:[4,"display-icon"],displayNumber:[4,"display-number"],value:[1]}]]],["p-e305c2b7",[[257,"af-tab-bar",{shape:[513],breakpoint:[513]},[[0,"keydown","handleKeyDown"]]]]],["p-68f1f661",[[257,"af-tag",{size:[1],variant:[1],href:[1]}]]],["p-d51c4b1b",[[262,"af-text-image-nest",{layout:[1]}]]],["p-302d0cf7",[[257,"af-textarea",{label:[1],description:[1],placeholder:[1],value:[1025],name:[1],disabled:[516],required:[4],readonly:[4],error:[1],showInfoIcon:[4,"show-info-icon"],rows:[2],maxlength:[2],minlength:[2],resize:[1],isFocused:[32],isHovered:[32]}]]],["p-8f528f9d",[[262,"af-theme-override",{theme:[1]}]]],["p-266af3e1",[[257,"af-visually-hidden",{focusable:[4]}]]],["p-080cf84f",[[258,"af-icon-box",{icon:[1],size:[1]}]]],["p-04de9a0a",[[257,"af-aspect-ratio",{ratio:[1]}]]],["p-63314e14",[[257,"af-icon-button",{variant:[513],size:[1],disabled:[4],href:[1],type:[1],ariaLabel:[1,"aria-label"]}]]],["p-7792cd53",[[258,"af-image",{src:[1],alt:[1]}]]],["p-331f9627",[[257,"af-button",{variant:[513],size:[1],disabled:[4],type:[1],href:[1],hasIconLeft:[32],hasIconRight:[32]}]]],["p-b2338fab",[[262,"af-card",{theme:[1],stretch:[516]}]]],["p-a2c71cad",[[257,"af-container",{maxWidth:[1,"max-width"]}]]],["p-57eae3cd",[[258,"af-progress-line",{progress:[2],orientation:[1]}]]],["p-0fcce1e4",[[262,"af-navbar",{showDefaultLogo:[4,"show-default-logo"],theme:[1],forceMobile:[516,"force-mobile"],mobileMenuOpen:[32],activeDropdown:[32]},[[4,"click","handleDocumentClick"],[4,"keydown","handleKeyDown"]]],[262,"af-nav-item",{hierarchy:[1],variant:[1],breakpoint:[513],href:[1],active:[4]}],[257,"af-heading",{level:[1],align:[1]}],[257,"af-logo"],[257,"af-text",{variant:[1],align:[1],as:[1]}]]],["p-6af1634a",[[257,"af-icon",{name:[1],size:[2],label:[1]}]]],["p-6294b6d1",[[257,"af-typography-lockup",{headingSize:[2,"heading-size"],breakpoint:[1],textAlignment:[1,"text-alignment"],headingAlignment:[1,"heading-alignment"],descriptionAlignment:[1,"description-alignment"],buttonLayout:[1,"button-layout"],buttonsAlignment:[1,"buttons-alignment"],maxWidth:[2,"max-width"]}]]]],e)}));
1
+ import{p as e,g as a,b as i}from"./p-B0LVveHp.js";export{s as setNonce}from"./p-B0LVveHp.js";var t=()=>{const a=import.meta.url;const i={};if(a!==""){i.resourcesUrl=new URL(".",a).href}return e(i)};t().then((async e=>{await a();return i([["p-ea0ccbce",[[262,"af-icon-text",{icon:[1],headingSize:[2,"heading-size"],orientation:[1],iconSize:[1,"icon-size"]}]]],["p-2e50c27d",[[262,"af-testimonial",{backgroundImage:[1,"background-image"],logoImage:[1,"logo-image"],quote:[1],attribution:[1],readMoreLink:[1,"read-more-link"],showNavigation:[1028,"show-navigation"],hasPrev:[1028,"has-prev"],hasNext:[1028,"has-next"]}]]],["p-6bbc1e24",[[262,"af-feature-card",{theme:[1],layout:[1],cardSize:[513,"card-size"],headingSize:[2,"heading-size"],imageSrc:[1,"image-src"],imageAlt:[1,"image-alt"]}]]],["p-bb67cf12",[[262,"af-illustrated-card",{theme:[1],breakpoint:[1],cardSize:[1,"card-size"]}]]],["p-86a9ff3e",[[258,"af-testimonial-stat",{value:[1],description:[1],accentBorder:[4,"accent-border"]}]]],["p-ad9b0eec",[[262,"af-video-container",{videoThumbnailUrl:[1,"video-thumbnail-url"],videoAlt:[1,"video-alt"],videoUrl:[1,"video-url"]}]]],["p-07efc7a0",[[262,"af-feature-grid",{columns:[2],mobileLayout:[1,"mobile-layout"],scrollProgress:[32]},null,{mobileLayout:["onMobileLayoutChange"]}]]],["p-2e750d43",[[262,"af-grid-callout",{imageSrc:[1,"image-src"],imageAlt:[1,"image-alt"],imagePosition:[1,"image-position"],columns:[2],headingSize:[2,"heading-size"]}]]],["p-517543bd",[[262,"af-in-page-banner",{theme:[1],heading:[1],description:[1],primaryButtonText:[1,"primary-button-text"],primaryButtonUrl:[1,"primary-button-url"],secondaryButtonText:[1,"secondary-button-text"],secondaryButtonUrl:[1,"secondary-button-url"],illustrationUrl:[1,"illustration-url"],showWaveDecoration:[4,"show-wave-decoration"]}]]],["p-4fcb61d1",[[262,"af-section",{padding:[1],theme:[1],container:[4]}]]],["p-c51a2687",[[262,"af-split-section",{topTheme:[1,"top-theme"],bottomTheme:[1,"bottom-theme"],padding:[1],container:[4]}]]],["p-1a87dd1c",[[262,"af-testimonial-carousel",{currentIndex:[32],isAnimating:[32],testimonialCount:[32]},[[0,"navPrev","handleNavPrev"],[0,"navNext","handleNavNext"]]]]],["p-933560e0",[[262,"af-text-image",{imagePosition:[1,"image-position"],imageProportion:[1,"image-proportion"],src:[1],alt:[1],showSecondLockup:[4,"show-second-lockup"]}]]],["p-c3d7872c",[[262,"af-accordion",{mode:[1],value:[1025],defaultValue:[1,"default-value"],internalValue:[32]},[[0,"af-accordion-toggle","handleItemToggle"]],{value:["handleValueChange"]}]]],["p-78ff69a4",[[257,"af-accordion-item",{itemId:[513,"item-id"],open:[1540],disabled:[516],contentHeight:[32],toggle:[64]},null,{open:["handleOpenChange"]}]]],["p-fd772813",[[257,"af-button-group",{direction:[1],gap:[1]}]]],["p-45f76ad4",[[257,"af-center",{axis:[1],inline:[4],minHeight:[1,"min-height"]}]]],["p-a6402689",[[257,"af-checkbox",{checked:[1540],indeterminate:[516],disabled:[516],name:[1],value:[1]}]]],["p-79e6fc73",[[257,"af-client-carousel",{theme:[1],rows:[2]}]]],["p-3e16bb11",[[257,"af-color-swatch",{color:[1],name:[1],size:[1]}]]],["p-d74a7ae9",[[262,"af-contact-item",{label:[1],value:[1]}]]],["p-e37fea2f",[[257,"af-divider",{orientation:[1],spacing:[1]}]]],["p-62699653",[[262,"af-feature-accordion",{heading:[1],items:[1],cycleInterval:[2,"cycle-interval"],autoCycle:[4,"auto-cycle"],expandedIndex:[32],timerProgress:[32]},null,{autoCycle:["handleAutoCycleChange"]}]]],["p-389a6246",[[257,"af-fieldset",{legend:[1],orientation:[1],disabled:[516]}]]],["p-0fb16377",[[262,"af-footer",{copyrightText:[1,"copyright-text"],statusText:[1,"status-text"],statusUrl:[1,"status-url"],systemsOperational:[4,"systems-operational"],showStatus:[4,"show-status"]}]]],["p-202bac33",[[262,"af-footer-column",{heading:[1]}]]],["p-7da3a28f",[[262,"af-footer-link",{href:[1],external:[4]}]]],["p-a53d5549",[[257,"af-grid",{columns:[2],columnsLg:[2,"columns-lg"],columnsMd:[2,"columns-md"],columnsSm:[2,"columns-sm"],gap:[1],align:[1]}]]],["p-e2f555fc",[[257,"af-inline",{gap:[1],align:[1],justify:[1],wrap:[4]}]]],["p-a942522f",[[257,"af-input",{label:[1],description:[1],placeholder:[1],value:[1025],type:[1],name:[1],disabled:[516],required:[4],readonly:[4],error:[1],showInfoIcon:[4,"show-info-icon"],showSearchIcon:[4,"show-search-icon"],clearable:[4],autocomplete:[1],maxlength:[2],minlength:[2],pattern:[1],isFocused:[32],isHovered:[32]}]]],["p-f78dd237",[[257,"af-logo-well"]]],["p-b85e2bff",[[262,"af-nav-accordion",{mode:[1],breakpoint:[513],value:[1025],internalValue:[32]},[[0,"af-nav-accordion-item-toggle","handleItemToggle"]]]]],["p-d28b0860",[[262,"af-nav-accordion-item",{itemId:[513,"item-id"],label:[1],open:[1540],disabled:[516],href:[1],breakpoint:[513],contentHeight:[32],hasTriggerSlot:[32],toggle:[64]},null,{open:["handleOpenChange"]}]]],["p-a7574570",[[258,"af-nav-card",{heading:[1],href:[1],imageSrc:[1,"image-src"],imageAlt:[1,"image-alt"],isHovered:[32]}]]],["p-391bb085",[[262,"af-nav-menu",{heading:[1],breakpoint:[1],showBorder:[4,"show-border"],cardStyle:[516,"card-style"]}]]],["p-ea02610f",[[262,"af-nav-menu-nest",{type:[1],breakpoint:[1],showSidebarBorder:[516,"show-sidebar-border"]}]]],["p-c01eaa85",[[257,"af-number-badge",{number:[2],variant:[1],size:[2]}]]],["p-709271d1",[[257,"af-radio",{checked:[1540],disabled:[516],name:[513],value:[1]}]]],["p-5591bc79",[[257,"af-show",{above:[1],below:[1]}]]],["p-2e8682a0",[[262,"af-social-link",{href:[1],label:[1],icon:[1]}]]],["p-6179957e",[[257,"af-spacer",{size:[1],flex:[4],axis:[1]}]]],["p-accd917e",[[257,"af-stack",{direction:[1],gap:[1],align:[1],justify:[1],wrap:[4]}]]],["p-c225ac8c",[[262,"af-stepper",{orientation:[1]}]]],["p-122b6e96",[[262,"af-stepper-step",{index:[514]}]]],["p-6b92463e",[[257,"af-switch",{active:[1540],disabled:[516],name:[1],value:[1]}]]],["p-19eb7cb9",[[257,"af-tab",{label:[1],active:[516],disabled:[516],shape:[513],displayIcon:[4,"display-icon"],displayNumber:[4,"display-number"],value:[1]}]]],["p-e305c2b7",[[257,"af-tab-bar",{shape:[513],breakpoint:[513]},[[0,"keydown","handleKeyDown"]]]]],["p-6a5fa86a",[[257,"af-tag",{size:[1],variant:[1],href:[1]}]]],["p-3fc2a3dc",[[262,"af-text-image-nest",{layout:[1]}]]],["p-302d0cf7",[[257,"af-textarea",{label:[1],description:[1],placeholder:[1],value:[1025],name:[1],disabled:[516],required:[4],readonly:[4],error:[1],showInfoIcon:[4,"show-info-icon"],rows:[2],maxlength:[2],minlength:[2],resize:[1],isFocused:[32],isHovered:[32]}]]],["p-eebb5101",[[262,"af-theme-override",{theme:[1]}]]],["p-3642589b",[[257,"af-visually-hidden",{focusable:[4]}]]],["p-f4d2a07d",[[258,"af-icon-box",{icon:[1],size:[1]}]]],["p-04de9a0a",[[257,"af-aspect-ratio",{ratio:[1]}]]],["p-08143c7e",[[257,"af-icon-button",{variant:[513],size:[1],disabled:[4],href:[1],type:[1],ariaLabel:[1,"aria-label"]}]]],["p-9242c8d1",[[258,"af-image",{src:[1],alt:[1],shape:[1]}]]],["p-76475b41",[[257,"af-button",{variant:[513],size:[1],disabled:[4],type:[1],href:[1],hasIconLeft:[32],hasIconRight:[32]}]]],["p-f8bdddf5",[[262,"af-card",{theme:[1],stretch:[516]}]]],["p-a2c71cad",[[257,"af-container",{maxWidth:[1,"max-width"]}]]],["p-b18767cf",[[258,"af-progress-line",{progress:[2],orientation:[1]}]]],["p-0fcce1e4",[[262,"af-navbar",{showDefaultLogo:[4,"show-default-logo"],theme:[1],forceMobile:[516,"force-mobile"],mobileMenuOpen:[32],activeDropdown:[32]},[[4,"click","handleDocumentClick"],[4,"keydown","handleKeyDown"]]],[262,"af-nav-item",{hierarchy:[1],variant:[1],breakpoint:[513],href:[1],active:[4]}],[257,"af-heading",{level:[1],align:[1]}],[257,"af-logo"],[257,"af-text",{variant:[1],align:[1],as:[1]}]]],["p-6af1634a",[[257,"af-icon",{name:[1],size:[2],label:[1]}]]],["p-f1dd31bd",[[257,"af-typography-lockup",{headingSize:[2,"heading-size"],breakpoint:[1],textAlignment:[1,"text-alignment"],headingAlignment:[1,"heading-alignment"],descriptionAlignment:[1,"description-alignment"],buttonLayout:[1,"button-layout"],buttonsAlignment:[1,"buttons-alignment"],maxWidth:[2,"max-width"],headingColor:[1,"heading-color"],descriptionColor:[1,"description-color"]}]]]],e)}));
2
2
  //# sourceMappingURL=affinda.esm.js.map
@@ -1,2 +1,2 @@
1
- export{af_heading as AfHeading,af_logo as AfLogo,af_nav_item as AfNavItem,af_navbar as AfNavbar,af_text as AfText}from"./p-0fcce1e4.entry.js";export{af_color_swatch as AfColorSwatch}from"./p-3e16bb11.entry.js";export{af_container as AfContainer}from"./p-a2c71cad.entry.js";export{af_aspect_ratio as AfAspectRatio}from"./p-04de9a0a.entry.js";export{af_button as AfButton}from"./p-331f9627.entry.js";export{af_icon_button as AfIconButton}from"./p-63314e14.entry.js";export{af_button_group as AfButtonGroup}from"./p-fd772813.entry.js";export{af_typography_lockup as AfTypographyLockup}from"./p-6294b6d1.entry.js";export{af_checkbox as AfCheckbox}from"./p-a6402689.entry.js";export{af_radio as AfRadio}from"./p-709271d1.entry.js";export{af_switch as AfSwitch}from"./p-6b92463e.entry.js";export{af_fieldset as AfFieldset}from"./p-389a6246.entry.js";export{af_input as AfInput}from"./p-a942522f.entry.js";export{af_textarea as AfTextarea}from"./p-302d0cf7.entry.js";export{af_tag as AfTag}from"./p-68f1f661.entry.js";export{af_tab as AfTab}from"./p-19eb7cb9.entry.js";export{af_tab_bar as AfTabBar}from"./p-e305c2b7.entry.js";export{af_feature_card as AfFeatureCard}from"./p-6bbc1e24.entry.js";export{af_illustrated_card as AfIllustratedCard}from"./p-d90366f6.entry.js";import"./p-B0LVveHp.js";
1
+ export{af_heading as AfHeading,af_logo as AfLogo,af_nav_item as AfNavItem,af_navbar as AfNavbar,af_text as AfText}from"./p-0fcce1e4.entry.js";export{af_color_swatch as AfColorSwatch}from"./p-3e16bb11.entry.js";export{af_container as AfContainer}from"./p-a2c71cad.entry.js";export{af_aspect_ratio as AfAspectRatio}from"./p-04de9a0a.entry.js";export{af_button as AfButton}from"./p-76475b41.entry.js";export{af_icon_button as AfIconButton}from"./p-08143c7e.entry.js";export{af_button_group as AfButtonGroup}from"./p-fd772813.entry.js";export{af_typography_lockup as AfTypographyLockup}from"./p-f1dd31bd.entry.js";export{af_checkbox as AfCheckbox}from"./p-a6402689.entry.js";export{af_radio as AfRadio}from"./p-709271d1.entry.js";export{af_switch as AfSwitch}from"./p-6b92463e.entry.js";export{af_fieldset as AfFieldset}from"./p-389a6246.entry.js";export{af_input as AfInput}from"./p-a942522f.entry.js";export{af_textarea as AfTextarea}from"./p-302d0cf7.entry.js";export{af_tag as AfTag}from"./p-6a5fa86a.entry.js";export{af_tab as AfTab}from"./p-19eb7cb9.entry.js";export{af_tab_bar as AfTabBar}from"./p-e305c2b7.entry.js";export{af_feature_card as AfFeatureCard}from"./p-6bbc1e24.entry.js";export{af_illustrated_card as AfIllustratedCard}from"./p-bb67cf12.entry.js";import"./p-B0LVveHp.js";
2
2
  //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,h as r,H as a,a as t}from"./p-B0LVveHp.js";const i=".sc-af-feature-grid-h{display:block;width:100%}.feature-grid.sc-af-feature-grid{display:flex;flex-direction:column;align-items:center;width:100%}.feature-grid__cards.sc-af-feature-grid{display:grid;grid-template-columns:repeat(4, 1fr);gap:24px;width:100%;max-width:1440px;align-items:stretch}.feature-grid__cards.sc-af-feature-grid>af-feature-card.sc-af-feature-grid{height:100%}.feature-grid--cols-3.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:repeat(3, 1fr)}.feature-grid--cols-2.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:repeat(2, 1fr)}.feature-grid--cols-1.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:1fr}.feature-grid__progress.sc-af-feature-grid{display:none;width:100%;margin-top:16px}@media (max-width: 768px){.feature-grid__cards.sc-af-feature-grid{gap:16px}.feature-grid--mobile-list.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:1fr;gap:20px}.feature-grid--mobile-grid.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:repeat(2, 1fr)}.feature-grid--mobile-scroll.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{display:flex;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:16px;padding-bottom:8px;scrollbar-width:none;-ms-overflow-style:none}.feature-grid--mobile-scroll.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid::-webkit-scrollbar{display:none}.feature-grid--mobile-scroll.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid>af-feature-card.sc-af-feature-grid{flex:0 0 280px;scroll-snap-align:start}.feature-grid--mobile-scroll.sc-af-feature-grid .feature-grid__progress.sc-af-feature-grid{display:block}}@media (min-width: 769px) and (max-width: 1024px){.feature-grid__cards.sc-af-feature-grid{grid-template-columns:repeat(2, 1fr)}.feature-grid--cols-3.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid,.feature-grid--cols-4.sc-af-feature-grid .feature-grid__cards.sc-af-feature-grid{grid-template-columns:repeat(2, 1fr)}}";const s=class{constructor(r){e(this,r);this.columns=4;this.mobileLayout="list";this.scrollProgress=0;this.handleScroll=()=>{if(!this.scrollContainer)return;const{scrollLeft:e,scrollWidth:r,clientWidth:a}=this.scrollContainer;const t=r-a;if(t>0){this.scrollProgress=e/t}else{this.scrollProgress=0}}}componentDidLoad(){this.setupScrollListener();this.observer=new MutationObserver((()=>{this.setupScrollListener()}));this.observer.observe(this.host,{childList:true,subtree:true})}disconnectedCallback(){if(this.observer){this.observer.disconnect()}if(this.resizeObserver){this.resizeObserver.disconnect()}}onMobileLayoutChange(){this.setupScrollListener()}setupScrollListener(){if(this.scrollContainer){this.scrollContainer.removeEventListener("scroll",this.handleScroll)}requestAnimationFrame((()=>{this.scrollContainer=this.host.querySelector(".feature-grid__cards");if(this.scrollContainer&&this.mobileLayout==="scroll"){this.scrollContainer.addEventListener("scroll",this.handleScroll,{passive:true});this.handleScroll();if(this.resizeObserver){this.resizeObserver.disconnect()}this.resizeObserver=new ResizeObserver((()=>{this.handleScroll()}));this.resizeObserver.observe(this.scrollContainer)}}))}render(){const e={"feature-grid":true,[`feature-grid--cols-${this.columns}`]:true,[`feature-grid--mobile-${this.mobileLayout}`]:true};const t=this.mobileLayout==="scroll";return r(a,{key:"baeaff34dab4980412fa0564570b43f0b03016ce"},r("div",{key:"bb7224b908aa8635a8c896adaeadabd9e3b2d0f3",class:e},r("div",{key:"d1fcd29989994376245c8f36be97660464ba8a19",class:"feature-grid__cards"},r("slot",{key:"7244415488316bc6d84794935dd8e44470191ae3"})),t&&r("div",{key:"7ec8c1209bf4fb3ddd81dd965d3a5009cc98f468",class:"feature-grid__progress"},r("af-progress-line",{key:"cb203f374c673930e6ab34ac54e4b2188d1b0b6e",progress:this.scrollProgress}))))}get host(){return t(this)}static get watchers(){return{mobileLayout:["onMobileLayoutChange"]}}};s.style=i;export{s as af_feature_grid};
2
+ //# sourceMappingURL=p-07efc7a0.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerInstance","h","Host","getElement","afFeatureGridCss","AfFeatureGrid","constructor","hostRef","this","columns","mobileLayout","scrollProgress","handleScroll","scrollContainer","scrollLeft","scrollWidth","clientWidth","maxScroll","componentDidLoad","setupScrollListener","observer","MutationObserver","observe","host","childList","subtree","disconnectedCallback","disconnect","resizeObserver","onMobileLayoutChange","removeEventListener","requestAnimationFrame","querySelector","addEventListener","passive","ResizeObserver","render","gridClasses","showProgressLine","key","class","progress","watchers","style"],"sources":["0"],"mappings":"YAAcA,OAAkBC,OAAQC,EAAWC,MAAkB,kBAErE,MAAMC,EAAmB,ilEAEzB,MAAMC,EAAgB,MAClB,WAAAC,CAAYC,GACRP,EAAiBQ,KAAMD,GAIvBC,KAAKC,QAAU,EAOfD,KAAKE,aAAe,OACpBF,KAAKG,eAAiB,EACtBH,KAAKI,aAAe,KAChB,IAAKJ,KAAKK,gBACN,OACJ,MAAMC,WAAEA,EAAUC,YAAEA,EAAWC,YAAEA,GAAgBR,KAAKK,gBACtD,MAAMI,EAAYF,EAAcC,EAChC,GAAIC,EAAY,EAAG,CACfT,KAAKG,eAAiBG,EAAaG,CACvC,KACK,CACDT,KAAKG,eAAiB,CAC1B,EAER,CACA,gBAAAO,GACIV,KAAKW,sBAELX,KAAKY,SAAW,IAAIC,kBAAiB,KACjCb,KAAKW,qBAAqB,IAE9BX,KAAKY,SAASE,QAAQd,KAAKe,KAAM,CAC7BC,UAAW,KACXC,QAAS,MAEjB,CACA,oBAAAC,GACI,GAAIlB,KAAKY,SAAU,CACfZ,KAAKY,SAASO,YAClB,CACA,GAAInB,KAAKoB,eAAgB,CACrBpB,KAAKoB,eAAeD,YACxB,CACJ,CACA,oBAAAE,GACIrB,KAAKW,qBACT,CACA,mBAAAA,GACI,GAAIX,KAAKK,gBAAiB,CACtBL,KAAKK,gBAAgBiB,oBAAoB,SAAUtB,KAAKI,aAC5D,CACAmB,uBAAsB,KAClBvB,KAAKK,gBAAkBL,KAAKe,KAAKS,cAAc,wBAC/C,GAAIxB,KAAKK,iBAAmBL,KAAKE,eAAiB,SAAU,CACxDF,KAAKK,gBAAgBoB,iBAAiB,SAAUzB,KAAKI,aAAc,CAAEsB,QAAS,OAC9E1B,KAAKI,eACL,GAAIJ,KAAKoB,eAAgB,CACrBpB,KAAKoB,eAAeD,YACxB,CACAnB,KAAKoB,eAAiB,IAAIO,gBAAe,KACrC3B,KAAKI,cAAc,IAEvBJ,KAAKoB,eAAeN,QAAQd,KAAKK,gBACrC,IAER,CACA,MAAAuB,GACI,MAAMC,EAAc,CAChB,eAAgB,KAChB,CAAC,sBAAsB7B,KAAKC,WAAY,KACxC,CAAC,wBAAwBD,KAAKE,gBAAiB,MAEnD,MAAM4B,EAAmB9B,KAAKE,eAAiB,SAC/C,OAAQT,EAAEC,EAAM,CAAEqC,IAAK,4CAA8CtC,EAAE,MAAO,CAAEsC,IAAK,2CAA4CC,MAAOH,GAAepC,EAAE,MAAO,CAAEsC,IAAK,2CAA4CC,MAAO,uBAAyBvC,EAAE,OAAQ,CAAEsC,IAAK,8CAAgDD,GAAqBrC,EAAE,MAAO,CAAEsC,IAAK,2CAA4CC,MAAO,0BAA4BvC,EAAE,mBAAoB,CAAEsC,IAAK,2CAA4CE,SAAUjC,KAAKG,mBACpgB,CACA,QAAIY,GAAS,OAAOpB,EAAWK,KAAO,CACtC,mBAAWkC,GAAa,MAAO,CAC3BhC,aAAgB,CAAC,wBAClB,GAEPL,EAAcsC,MAAQvC,SAEbC","ignoreList":[]}
1
+ {"version":3,"names":["registerInstance","h","Host","getElement","afFeatureGridCss","AfFeatureGrid","constructor","hostRef","this","columns","mobileLayout","scrollProgress","handleScroll","scrollContainer","scrollLeft","scrollWidth","clientWidth","maxScroll","componentDidLoad","setupScrollListener","observer","MutationObserver","observe","host","childList","subtree","disconnectedCallback","disconnect","resizeObserver","onMobileLayoutChange","removeEventListener","requestAnimationFrame","querySelector","addEventListener","passive","ResizeObserver","render","gridClasses","showProgressLine","key","class","progress","watchers","style"],"sources":["0"],"mappings":"YAAcA,OAAkBC,OAAQC,OAAWC,MAAkB,kBAErE,MAAMC,EAAmB,ilEAEzB,MAAMC,EAAgB,MAClB,WAAAC,CAAYC,GACRP,EAAiBQ,KAAMD,GAIvBC,KAAKC,QAAU,EAOfD,KAAKE,aAAe,OACpBF,KAAKG,eAAiB,EACtBH,KAAKI,aAAe,KAChB,IAAKJ,KAAKK,gBACN,OACJ,MAAMC,WAAEA,EAAUC,YAAEA,EAAWC,YAAEA,GAAgBR,KAAKK,gBACtD,MAAMI,EAAYF,EAAcC,EAChC,GAAIC,EAAY,EAAG,CACfT,KAAKG,eAAiBG,EAAaG,CACvC,KACK,CACDT,KAAKG,eAAiB,CAC1B,EAER,CACA,gBAAAO,GACIV,KAAKW,sBAELX,KAAKY,SAAW,IAAIC,kBAAiB,KACjCb,KAAKW,qBAAqB,IAE9BX,KAAKY,SAASE,QAAQd,KAAKe,KAAM,CAC7BC,UAAW,KACXC,QAAS,MAEjB,CACA,oBAAAC,GACI,GAAIlB,KAAKY,SAAU,CACfZ,KAAKY,SAASO,YAClB,CACA,GAAInB,KAAKoB,eAAgB,CACrBpB,KAAKoB,eAAeD,YACxB,CACJ,CACA,oBAAAE,GACIrB,KAAKW,qBACT,CACA,mBAAAA,GACI,GAAIX,KAAKK,gBAAiB,CACtBL,KAAKK,gBAAgBiB,oBAAoB,SAAUtB,KAAKI,aAC5D,CACAmB,uBAAsB,KAClBvB,KAAKK,gBAAkBL,KAAKe,KAAKS,cAAc,wBAC/C,GAAIxB,KAAKK,iBAAmBL,KAAKE,eAAiB,SAAU,CACxDF,KAAKK,gBAAgBoB,iBAAiB,SAAUzB,KAAKI,aAAc,CAAEsB,QAAS,OAC9E1B,KAAKI,eACL,GAAIJ,KAAKoB,eAAgB,CACrBpB,KAAKoB,eAAeD,YACxB,CACAnB,KAAKoB,eAAiB,IAAIO,gBAAe,KACrC3B,KAAKI,cAAc,IAEvBJ,KAAKoB,eAAeN,QAAQd,KAAKK,gBACrC,IAER,CACA,MAAAuB,GACI,MAAMC,EAAc,CAChB,eAAgB,KAChB,CAAC,sBAAsB7B,KAAKC,WAAY,KACxC,CAAC,wBAAwBD,KAAKE,gBAAiB,MAEnD,MAAM4B,EAAmB9B,KAAKE,eAAiB,SAC/C,OAAQT,EAAEC,EAAM,CAAEqC,IAAK,4CAA8CtC,EAAE,MAAO,CAAEsC,IAAK,2CAA4CC,MAAOH,GAAepC,EAAE,MAAO,CAAEsC,IAAK,2CAA4CC,MAAO,uBAAyBvC,EAAE,OAAQ,CAAEsC,IAAK,8CAAgDD,GAAqBrC,EAAE,MAAO,CAAEsC,IAAK,2CAA4CC,MAAO,0BAA4BvC,EAAE,mBAAoB,CAAEsC,IAAK,2CAA4CE,SAAUjC,KAAKG,mBACpgB,CACA,QAAIY,GAAS,OAAOpB,EAAWK,KAAO,CACtC,mBAAWkC,GAAa,MAAO,CAC3BhC,aAAgB,CAAC,wBAClB,GAEPL,EAAcsC,MAAQvC,SAEbC","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r,h as a,H as t}from"./p-B0LVveHp.js";const o=':host{display:inline-block}:host([variant="secondary"]){color:var(--af-button-secondary-icon, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}:host([variant="primary"]){color:var(--af-button-primary-icon, var(--colour-brand-inkwell, #14343B))}:host([variant="tertiary"]){color:var(--af-button-ghost-icon, var(--colour-brand-inkwell, #14343B))}.icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;transition:all 0.2s ease;border:1px solid transparent;box-sizing:border-box;flex-shrink:0;text-decoration:none;padding:0}.size-large{width:72px;height:72px;padding:24px}.size-large .icon{width:24px;height:24px}.size-medium{width:48px;height:48px;padding:12px}.size-medium .icon{width:24px;height:24px}.size-small{width:36px;height:36px;padding:8px}.size-small .icon{width:20px;height:20px}.icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;color:inherit}.icon ::slotted(*){width:100%;height:100%;color:inherit}.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #A6FFFB));border-color:var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343B));color:var(--af-button-primary-text, var(--colour-brand-inkwell, #14343B))}.variant-primary:hover:not(.disabled){background:var(--af-button-primary-bg-hover, #95e6e2)}.variant-primary:active:not(.disabled){background:var(--af-button-primary-bg-hover, #95e6e2)}.variant-secondary{background:var(--af-button-secondary-bg, transparent);border-color:var(--af-button-secondary-stroke, currentColor);color:var(--af-button-secondary-text, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}.variant-secondary:hover:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1))}.variant-secondary:active:not(.disabled){background:var(--af-button-secondary-bg-hover, rgba(128, 128, 128, 0.1))}.variant-tertiary{background:transparent;border-color:transparent;color:var(--af-button-ghost-text, var(--colour-brand-inkwell, #14343B))}.variant-tertiary:hover:not(.disabled){opacity:0.8}.variant-tertiary:active:not(.disabled){opacity:0.6}.disabled{opacity:0.4;cursor:not-allowed;pointer-events:none}button.icon-button{background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}button.icon-button.variant-primary{background:var(--af-button-primary-bg, var(--colour-brand-ice, #A6FFFB));border:1px solid var(--af-button-primary-stroke, var(--colour-brand-inkwell, #14343B))}button.icon-button.variant-secondary{background:var(--af-button-secondary-bg, transparent);border:1px solid var(--af-button-secondary-stroke, currentColor);color:var(--af-button-secondary-text, var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343B)))}button.icon-button.variant-tertiary{background:transparent;border:1px solid transparent}';const n=class{constructor(a){r(this,a);this.variant="primary";this.size="medium";this.disabled=false;this.type="button"}render(){const r={"icon-button":true,[`variant-${this.variant}`]:true,[`size-${this.size}`]:true,disabled:this.disabled};const o=a("span",{class:"icon"},a("slot",null));if(this.href&&!this.disabled){return a(t,null,a("a",{href:this.href,class:r,"aria-label":this.ariaLabel},o))}return a(t,null,a("button",{type:this.type,disabled:this.disabled,class:r,"aria-label":this.ariaLabel},o))}};n.style=o;export{n as af_icon_button};
2
+ //# sourceMappingURL=p-08143c7e.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerInstance","h","Host","afIconButtonCss","AfIconButton","constructor","hostRef","this","variant","size","disabled","type","render","classes","content","class","href","ariaLabel","style"],"sources":["0"],"mappings":"OAAcA,OAAkBC,OAAQC,MAAY,kBAEpD,MAAMC,EAAkB,izFAExB,MAAMC,EAAe,MACjB,WAAAC,CAAYC,GACRN,EAAiBO,KAAMD,GAOvBC,KAAKC,QAAU,UAIfD,KAAKE,KAAO,SAIZF,KAAKG,SAAW,MAIhBH,KAAKI,KAAO,QAChB,CACA,MAAAC,GACI,MAAMC,EAAU,CACZ,cAAe,KACf,CAAC,WAAWN,KAAKC,WAAY,KAC7B,CAAC,QAAQD,KAAKE,QAAS,KACvBC,SAAYH,KAAKG,UAErB,MAAMI,EAAWb,EAAE,OAAQ,CAAEc,MAAO,QAAUd,EAAE,OAAQ,OACxD,GAAIM,KAAKS,OAAST,KAAKG,SAAU,CAC7B,OAAQT,EAAEC,EAAM,KAAMD,EAAE,IAAK,CAAEe,KAAMT,KAAKS,KAAMD,MAAOF,EAAS,aAAcN,KAAKU,WAAaH,GACpG,CACA,OAAQb,EAAEC,EAAM,KAAMD,EAAE,SAAU,CAAEU,KAAMJ,KAAKI,KAAMD,SAAUH,KAAKG,SAAUK,MAAOF,EAAS,aAAcN,KAAKU,WAAaH,GAClI,GAEJV,EAAac,MAAQf,SAEZC","ignoreList":[]}
1
+ {"version":3,"names":["registerInstance","h","Host","afIconButtonCss","AfIconButton","constructor","hostRef","this","variant","size","disabled","type","render","classes","content","class","href","ariaLabel","style"],"sources":["0"],"mappings":"OAAcA,OAAkBC,OAAQC,MAAY,kBAEpD,MAAMC,EAAkB,2yFAExB,MAAMC,EAAe,MACjB,WAAAC,CAAYC,GACRN,EAAiBO,KAAMD,GAOvBC,KAAKC,QAAU,UAIfD,KAAKE,KAAO,SAIZF,KAAKG,SAAW,MAIhBH,KAAKI,KAAO,QAChB,CACA,MAAAC,GACI,MAAMC,EAAU,CACZ,cAAe,KACf,CAAC,WAAWN,KAAKC,WAAY,KAC7B,CAAC,QAAQD,KAAKE,QAAS,KACvBC,SAAYH,KAAKG,UAErB,MAAMI,EAAWb,EAAE,OAAQ,CAAEc,MAAO,QAAUd,EAAE,OAAQ,OACxD,GAAIM,KAAKS,OAAST,KAAKG,SAAU,CAC7B,OAAQT,EAAEC,EAAM,KAAMD,EAAE,IAAK,CAAEe,KAAMT,KAAKS,KAAMD,MAAOF,EAAS,aAAcN,KAAKU,WAAaH,GACpG,CACA,OAAQb,EAAEC,EAAM,KAAMD,EAAE,SAAU,CAAEU,KAAMJ,KAAKI,KAAMD,SAAUH,KAAKG,SAAUK,MAAOF,EAAS,aAAcN,KAAKU,WAAaH,GAClI,GAEJV,EAAac,MAAQf,SAEZC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as o,h as e,H as a}from"./p-B0LVveHp.js";const t=".sc-af-footer-h{display:block}.footer.sc-af-footer{background-color:var(--colour-brand-inkwell, #14343b);color:var(--colour-tints-mistGreen-200, #C6D5D1);padding:120px 0 0}.footer__container.sc-af-footer{max-width:1280px;margin:0 auto;padding:0 24px}.footer__top.sc-af-footer{display:grid;grid-template-columns:380px 1fr;gap:48px;padding-bottom:48px}.footer__brand.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__brand-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:32px}.footer__logo.sc-af-footer{margin-bottom:24px}.footer__logo.sc-af-footer svg.sc-af-footer,.footer__logo.sc-af-footer img.sc-af-footer{height:32px;width:auto}.footer__social.sc-af-footer{display:flex;gap:12px}.footer__social-link.sc-af-footer{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(198, 213, 209, 0.3);border-radius:50%;color:var(--colour-tints-mistGreen-200, #C6D5D1);transition:all 0.2s ease}.footer__social-link.sc-af-footer:hover{background-color:rgba(198, 213, 209, 0.1);border-color:rgba(198, 213, 209, 0.5)}.footer__contact-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:24px 32px;display:flex;flex-direction:column;gap:20px}.footer__contact-item.sc-af-footer{display:flex;flex-direction:column;gap:4px}.footer__contact-label.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0}.footer__contact-value.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);margin:0}.footer__nav.sc-af-footer{display:flex;flex-direction:column;justify-content:space-between}.footer__nav-columns.sc-af-footer{display:grid;grid-template-columns:repeat(4, 1fr);gap:32px}.footer__nav-column.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__nav-heading.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0;text-transform:none}.footer__nav-list.sc-af-footer{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer__nav-list.sc-af-footer li.sc-af-footer{margin:0}.footer__nav-list.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);text-decoration:none;transition:color 0.2s ease;display:inline-flex;align-items:center;gap:6px}.footer__nav-list.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1)}.footer__external-icon.sc-af-footer{opacity:0.7;flex-shrink:0}.footer__status.sc-af-footer{display:flex;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(198, 213, 209, 0.1)}.footer__status-dot.sc-af-footer{width:10px;height:10px;border-radius:50%;flex-shrink:0}.footer__status-dot--operational.sc-af-footer{background-color:#22c55e}.footer__status-dot--issue.sc-af-footer{background-color:#ef4444}.footer__status-text.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7)}.footer__status-link.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:var(--colour-tints-mistGreen-200, #C6D5D1);text-decoration:underline;text-underline-offset:2px;margin-left:8px}.footer__status-link.sc-af-footer:hover{text-decoration:none}.footer__bottom.sc-af-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:24px 0;border-top:1px solid rgba(198, 213, 209, 0.1);background-color:rgba(198, 213, 209, 0.05);margin:0 -24px;padding-left:24px;padding-right:24px}.footer__copyright.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7);margin:0}.footer__legal.sc-af-footer{display:flex;gap:24px}.footer__legal.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7);text-decoration:underline;text-underline-offset:2px}.footer__legal.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1);text-decoration:none}.footer__badges.sc-af-footer{display:flex;gap:16px;align-items:center}.footer__badge.sc-af-footer{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.footer__badge.sc-af-footer svg.sc-af-footer{width:100%;height:100%}@media (max-width: 1024px){.footer__top.sc-af-footer{grid-template-columns:1fr;gap:48px}.footer__brand.sc-af-footer{flex-direction:row;gap:16px}.footer__brand-card.sc-af-footer,.footer__contact-card.sc-af-footer{flex:1}}@media (max-width: 768px){.footer.sc-af-footer{padding:48px 0 0}.footer__top.sc-af-footer{gap:32px}.footer__brand.sc-af-footer{flex-direction:column}.footer__nav-columns.sc-af-footer{grid-template-columns:repeat(2, 1fr);gap:32px}.footer__bottom.sc-af-footer{flex-direction:column;align-items:flex-start;gap:16px}.footer__legal.sc-af-footer{flex-wrap:wrap;gap:16px}}@media (max-width: 480px){.footer__container.sc-af-footer{padding:0 16px}.footer__brand-card.sc-af-footer,.footer__contact-card.sc-af-footer{padding:24px}.footer__nav-columns.sc-af-footer{grid-template-columns:1fr;gap:24px}.footer__bottom.sc-af-footer{margin:0 -16px;padding-left:16px;padding-right:16px}.footer__badges.sc-af-footer{width:100%;justify-content:flex-start}}";const r=class{constructor(e){o(this,e);this.copyrightText="";this.statusText="";this.statusUrl="";this.systemsOperational=true;this.showStatus=true}render(){return e(a,{key:"cb150b784dd5bf43eca9b014d2f1cffd6ce9ae66"},e("footer",{key:"d625ee7e4ababf20b4629e192350f9f721ec8399",class:"footer"},e("div",{key:"1378e675a4894ea1ba000927e5c6fc72985700ae",class:"footer__container"},e("div",{key:"7a250ef4b2dce3019e26cc9d6b04397754a374ea",class:"footer__top"},e("div",{key:"6abf819fff33c52a70a3b7b92388213c07f13647",class:"footer__brand"},e("div",{key:"05cb8a0de6df6792e08fecb34ff8b07a6f6e7f51",class:"footer__brand-card"},e("div",{key:"52ac66df35016dcc4a93a7684c6b6a99a96c6227",class:"footer__logo"},e("slot",{key:"87918d5e37c324d4b8ea31a6405f03ae540e4d6e",name:"logo"})),e("div",{key:"55e6a3cc404da02b19f7ce1bc1f90d1dbf5b5549",class:"footer__social"},e("slot",{key:"b28bf973a05b7a8ef1c26956b1ea1a3f7e07de5a",name:"social"}))),e("div",{key:"84192d593a0a7fe2592975fcbecf7e35e81b49af",class:"footer__contact-card"},e("slot",{key:"8bb25d9ab4a3659b2f171b706268796f79361c19",name:"contact"}))),e("div",{key:"7d734e6f509999419a0bbf716b224c322bfef234",class:"footer__nav"},e("div",{key:"406da5392a399a4d1c1e98889a01cc8c8fc3f18a",class:"footer__nav-columns"},e("slot",{key:"bf422aeca3942072261b2a5f8fbc77309d2bb76c",name:"nav"})),this.showStatus&&e("div",{key:"738dc3e32b6c6e2cacd0dc4b97d4f3520b5482af",class:"footer__status"},e("span",{key:"ccf1cc242f2b367c5e3c2064b5e51f9f623f5e7d",class:`footer__status-dot ${this.systemsOperational?"footer__status-dot--operational":"footer__status-dot--issue"}`}),e("span",{key:"bc41ea24a56f349814f079f2db28f5cc266b7e83",class:"footer__status-text"},this.statusText),this.statusUrl&&e("a",{key:"6c5c8c2feffc98154a77336178a6f9ac63cbac1e",href:this.statusUrl,target:"_blank",rel:"noopener noreferrer",class:"footer__status-link"},"Learn more")))),e("div",{key:"f3f9d665f7c4f2a336e15a795377bcbd01d10950",class:"footer__bottom"},this.copyrightText&&e("p",{key:"943181dfb341d268301db656fdd4b778581d6dd1",class:"footer__copyright"},this.copyrightText),e("div",{key:"9909918646c1cfa7765accf8b9d3017a792cc860",class:"footer__legal"},e("slot",{key:"3b7ba2443306b2bbd48843af246a7407c9cbf2a5",name:"legal"})),e("div",{key:"c954830920c2e75b2b203640bd8970942eabf0d7",class:"footer__badges"},e("slot",{key:"35bb8c9c487eae7f15ac6b4558070096497ed997",name:"badges"}))))))}};r.style=t;export{r as af_footer};
2
- //# sourceMappingURL=p-01993cc8.entry.js.map
1
+ import{r as o,h as e,H as t}from"./p-B0LVveHp.js";const a=".sc-af-footer-h{display:block}.footer.sc-af-footer{background-color:var(--colour-brand-inkwell, #14343b);color:var(--colour-tints-mistGreen-200, #C6D5D1);padding:120px 0 0}.footer__container.sc-af-footer{max-width:1280px;margin:0 auto;padding:0 24px}.footer__top.sc-af-footer{display:grid;grid-template-columns:380px 1fr;gap:48px;padding-bottom:48px}.footer__brand.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__brand-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:32px}.footer__logo.sc-af-footer{margin-bottom:24px}.footer__logo.sc-af-footer svg.sc-af-footer,.footer__logo.sc-af-footer img.sc-af-footer{height:32px;width:auto}.footer__social.sc-af-footer{display:flex;gap:12px}.footer__social-link.sc-af-footer{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid rgba(198, 213, 209, 0.3);border-radius:50%;color:var(--colour-tints-mistGreen-200, #C6D5D1);transition:all 0.2s ease}.footer__social-link.sc-af-footer:hover{background-color:rgba(198, 213, 209, 0.1);border-color:rgba(198, 213, 209, 0.5)}.footer__contact-card.sc-af-footer{background-color:rgba(198, 213, 209, 0.08);border-radius:16px;padding:24px 32px;display:flex;flex-direction:column;gap:20px}.footer__contact-item.sc-af-footer{display:flex;flex-direction:column;gap:4px}.footer__contact-label.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0}.footer__contact-value.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);margin:0}.footer__nav.sc-af-footer{display:flex;flex-direction:column;justify-content:space-between}.footer__nav-columns.sc-af-footer{display:grid;grid-template-columns:repeat(4, 1fr);gap:32px}.footer__nav-column.sc-af-footer{display:flex;flex-direction:column;gap:16px}.footer__nav-heading.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0;text-transform:none}.footer__nav-list.sc-af-footer{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer__nav-list.sc-af-footer li.sc-af-footer{margin:0}.footer__nav-list.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:400;color:rgba(198, 213, 209, 0.7);text-decoration:none;transition:color 0.2s ease;display:inline-flex;align-items:center;gap:6px}.footer__nav-list.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1)}.footer__external-icon.sc-af-footer{opacity:0.7;flex-shrink:0}.footer__status.sc-af-footer{display:flex;align-items:center;gap:8px;margin-top:32px;padding-top:24px;border-top:1px solid rgba(198, 213, 209, 0.1)}.footer__status-dot.sc-af-footer{width:10px;height:10px;border-radius:50%;flex-shrink:0}.footer__status-dot--operational.sc-af-footer{background-color:#22c55e}.footer__status-dot--issue.sc-af-footer{background-color:#ef4444}.footer__status-text.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7)}.footer__status-link.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:var(--colour-tints-mistGreen-200, #C6D5D1);text-decoration:underline;text-underline-offset:2px;margin-left:8px}.footer__status-link.sc-af-footer:hover{text-decoration:none}.footer__bottom.sc-af-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:24px;padding:24px 0;border-top:1px solid rgba(198, 213, 209, 0.1);background-color:rgba(198, 213, 209, 0.05);margin:0 -24px;padding-left:24px;padding-right:24px}.footer__copyright.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7);margin:0}.footer__legal.sc-af-footer{display:flex;gap:24px}.footer__legal.sc-af-footer a.sc-af-footer{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;color:rgba(198, 213, 209, 0.7);text-decoration:underline;text-underline-offset:2px}.footer__legal.sc-af-footer a.sc-af-footer:hover{color:var(--colour-tints-mistGreen-200, #C6D5D1);text-decoration:none}.footer__badges.sc-af-footer{display:flex;gap:16px;align-items:center}.footer__badge.sc-af-footer{width:48px;height:48px;display:flex;align-items:center;justify-content:center}.footer__badge.sc-af-footer svg.sc-af-footer{width:100%;height:100%}@media (max-width: 1024px){.footer__top.sc-af-footer{grid-template-columns:1fr;gap:48px}.footer__brand.sc-af-footer{flex-direction:row;gap:16px}.footer__brand-card.sc-af-footer,.footer__contact-card.sc-af-footer{flex:1}}@media (max-width: 768px){.footer.sc-af-footer{padding:48px 0 0}.footer__top.sc-af-footer{gap:32px}.footer__brand.sc-af-footer{flex-direction:column}.footer__nav-columns.sc-af-footer{grid-template-columns:repeat(2, 1fr);gap:32px}.footer__bottom.sc-af-footer{flex-direction:column;align-items:flex-start;gap:16px}.footer__legal.sc-af-footer{flex-wrap:wrap;gap:16px}}@media (max-width: 480px){.footer__container.sc-af-footer{padding:0 16px}.footer__brand-card.sc-af-footer,.footer__contact-card.sc-af-footer{padding:24px}.footer__nav-columns.sc-af-footer{grid-template-columns:1fr;gap:24px}.footer__bottom.sc-af-footer{margin:0 -16px;padding-left:16px;padding-right:16px}.footer__badges.sc-af-footer{width:100%;justify-content:flex-start}}";const r=class{constructor(e){o(this,e);this.copyrightText="";this.statusText="";this.statusUrl="";this.systemsOperational=true;this.showStatus=true}render(){return e(t,{key:"861c5bfe1b522545870fe67192553a621f0928d1"},e("footer",{key:"03c309b37ec977d65b36198fc8fcf549add90c43",class:"footer"},e("div",{key:"db23fd931863f40d95c51716fcdbb63855133db7",class:"footer__container"},e("div",{key:"eca38acbdc47474cc250b9a41528971676e95765",class:"footer__top"},e("div",{key:"2cfd74ee3d56e0778ce6d10b83b75994d384fe10",class:"footer__brand"},e("div",{key:"425f59ec107962c91b5fed5d989fe67bc8454cc5",class:"footer__brand-card"},e("div",{key:"11d932a2f59e5467c40842b327c260f8d1c90837",class:"footer__logo"},e("slot",{key:"02a8bee27310753862376d90cbdfc55012462520",name:"logo"})),e("div",{key:"1ee36e17b70b818f8ea44c06b9b3d2c22fafac96",class:"footer__social"},e("slot",{key:"45ff0b3003ffb550ecf30274a2fc6535833d0686",name:"social"}))),e("div",{key:"34a16c80d4f6680034d84c61666b580acd3a9eea",class:"footer__contact-card"},e("slot",{key:"c3b40328bcc65add5293e5a38fd5747fdb83b0fc",name:"contact"}))),e("div",{key:"5654e1a39634ebb8f7ccda5325c46db5f6052fba",class:"footer__nav"},e("div",{key:"42108b09428adac653c3f7c351bf2192695caf19",class:"footer__nav-columns"},e("slot",{key:"ceb76c14151308458646c8f446a29058caca824e",name:"nav"})),this.showStatus&&e("div",{key:"b24841e909ca9fab2ed473770dda0266e4f8dcc1",class:"footer__status"},e("span",{key:"f7ae4e7a10da63020fe5a1ed6db747960a75649e",class:`footer__status-dot ${this.systemsOperational?"footer__status-dot--operational":"footer__status-dot--issue"}`}),e("span",{key:"b0073fedf76be2b079ce470112df2c13bed22224",class:"footer__status-text"},this.statusText),this.statusUrl&&e("a",{key:"77f7e45dfa0ae32e8346500c3d00cbad277fe1a1",href:this.statusUrl,target:"_blank",rel:"noopener noreferrer",class:"footer__status-link"},"Learn more")))),e("div",{key:"f544acdee6fe1ee1841b4667034b3bc89b2f3669",class:"footer__bottom"},this.copyrightText&&e("p",{key:"4d420e42a2abe1493a77e40e838d5644373d1c1f",class:"footer__copyright"},this.copyrightText),e("div",{key:"3fcff3a343acabb362675c15b30f489c3f2b6918",class:"footer__legal"},e("slot",{key:"66f4b372a38bbee2f2db87ac554cafbb7f97f878",name:"legal"})),e("div",{key:"81c800496c83695e303f13f904e6662c3a9300c9",class:"footer__badges"},e("slot",{key:"667b1c600f34fec004ecfd5b6879256aeaa36480",name:"badges"}))))))}};r.style=a;export{r as af_footer};
2
+ //# sourceMappingURL=p-0fb16377.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,h as t,H as p}from"./p-B0LVveHp.js";const s=".sc-af-stepper-step-h{display:flex;flex-direction:column;align-items:center;text-align:center;flex:1 1 0;min-width:0;padding:0 16px;position:relative;z-index:1}.stepper-step__badge.sc-af-stepper-step{width:48px;height:48px;border-radius:50%;border:1px solid var(--colour-brand-inkwell, #14343b);background:var(--colour-background-white, #ffffff);display:inline-flex;align-items:center;justify-content:center;font-family:var(--typography-headingfont, 'NeuSans', sans-serif);font-weight:500;font-size:20px;color:var(--colour-brand-inkwell, #14343b);margin-bottom:24px;flex-shrink:0}.stepper-step__content.sc-af-stepper-step{display:flex;flex-direction:column;gap:12px;max-width:320px}.stepper-step__heading.sc-af-stepper-step{font-family:var(--typography-headingfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:24px;line-height:1.2;letter-spacing:-0.02em;color:var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b))}.stepper-step__body.sc-af-stepper-step{font-family:var(--typography-bodyfont, 'NeuSans', sans-serif);font-size:16px;line-height:1.5;color:var(--af-typography-body-default, var(--colour-brand-inkwell, #14343b))}.sc-af-stepper-step-h :where(h1,h2.sc-af-stepper-step,h3.sc-af-stepper-step,h4.sc-af-stepper-step,h5.sc-af-stepper-step,h6).sc-af-stepper-step,.sc-af-stepper-step-h .sc-af-stepper-step:where(p){font:inherit;color:inherit;margin:0}.stepper--vertical.sc-af-stepper-step-h,.stepper--vertical .sc-af-stepper-step-h{flex-direction:row;align-items:flex-start;text-align:left;gap:24px;padding:0}.stepper--vertical.sc-af-stepper-step-h .stepper-step__badge.sc-af-stepper-step,.stepper--vertical .sc-af-stepper-step-h .stepper-step__badge.sc-af-stepper-step{margin-bottom:0}@media (max-width: 767px){.sc-af-stepper-step-h{flex-direction:row;align-items:flex-start;text-align:left;gap:24px;padding:0}.stepper-step__badge.sc-af-stepper-step{margin-bottom:0}}";const a=class{constructor(t){e(this,t);this.index=1}render(){return t(p,{key:"46648c0bf2d8e105124330d3b5af3e00846aa835"},t("span",{key:"a93e98a78ea6af3b88872881d2def273f8ed6c9e",class:"stepper-step__badge"},this.index),t("div",{key:"158b3cd26c698e18cd62ff7cd91a335ee67816d0",class:"stepper-step__content"},t("div",{key:"1c460bbc8dad67b86a9dbdd6b069548ae8299628",class:"stepper-step__heading"},t("slot",{key:"1e5125c95c98e770ebbb2c6114e18fe4b7255e55",name:"heading"})),t("div",{key:"05b7d6c8f0560e9a51c12d50b005cc55d727b6b5",class:"stepper-step__body"},t("slot",{key:"efc0219f2ec216d8f3409f73239f603eafe4b299",name:"body"}))))}};a.style=s;export{a as af_stepper_step};
2
+ //# sourceMappingURL=p-122b6e96.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["registerInstance","h","Host","afStepperStepCss","AfStepperStep","constructor","hostRef","this","index","render","key","class","name","style"],"sources":["0"],"mappings":"YAAcA,OAAkBC,OAAQC,MAAY,kBAEpD,MAAMC,EAAmB,w4DAEzB,MAAMC,EAAgB,MAClB,WAAAC,CAAYC,GACRN,EAAiBO,KAAMD,GAKvBC,KAAKC,MAAQ,CACjB,CACA,MAAAC,GACI,OAAQR,EAAEC,EAAM,CAAEQ,IAAK,4CAA8CT,EAAE,OAAQ,CAAES,IAAK,2CAA4CC,MAAO,uBAAyBJ,KAAKC,OAAQP,EAAE,MAAO,CAAES,IAAK,2CAA4CC,MAAO,yBAA2BV,EAAE,MAAO,CAAES,IAAK,2CAA4CC,MAAO,yBAA2BV,EAAE,OAAQ,CAAES,IAAK,2CAA4CE,KAAM,aAAeX,EAAE,MAAO,CAAES,IAAK,2CAA4CC,MAAO,sBAAwBV,EAAE,OAAQ,CAAES,IAAK,2CAA4CE,KAAM,WAC/lB,GAEJR,EAAcS,MAAQV,SAEbC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as s,H as i,a as e}from"./p-B0LVveHp.js";const a=".sc-af-testimonial-carousel-h{display:block;width:100%}.testimonial-carousel.sc-af-testimonial-carousel{position:relative;width:100%;overflow:hidden}.testimonial-slides.sc-af-testimonial-carousel{position:relative;width:100%;min-height:544px;overflow:hidden}.testimonial-slides.sc-af-testimonial-carousel-s>af-testimonial,.testimonial-slides .sc-af-testimonial-carousel-s>af-testimonial{position:absolute;top:0;left:0;width:100%;transition:transform 0.5s ease-in-out, opacity 0.5s ease-in-out}.testimonial-progress.sc-af-testimonial-carousel{margin-top:32px;max-width:840px;margin-left:auto;margin-right:auto}";const o=class{constructor(s){t(this,s);this.currentIndex=0;this.isAnimating=false;this.testimonialCount=0;this.testimonials=[];this.goToPrevious=()=>{if(this.isAnimating||this.currentIndex===0)return;this.isAnimating=true;this.currentIndex=this.currentIndex-1;this.updateVisibleTestimonial();setTimeout((()=>{this.isAnimating=false}),500)};this.goToNext=()=>{if(this.isAnimating||this.currentIndex>=this.testimonialCount-1)return;this.isAnimating=true;this.currentIndex=this.currentIndex+1;this.updateVisibleTestimonial();setTimeout((()=>{this.isAnimating=false}),500)}}componentDidLoad(){this.detectTestimonials();this.observer=new MutationObserver((()=>{this.detectTestimonials()}));this.observer.observe(this.host,{childList:true,subtree:true})}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}handleNavPrev(){this.goToPrevious()}handleNavNext(){this.goToNext()}detectTestimonials(){const t=Array.from(this.host.querySelectorAll("af-testimonial"));if(t.length!==this.testimonials.length){this.testimonials=t;this.testimonialCount=t.length;if(this.testimonials.length>0){this.currentIndex=0;this.updateVisibleTestimonial()}}}updateVisibleTestimonial(){const t=this.currentIndex>0;const s=this.currentIndex<this.testimonialCount-1;const i=this.testimonialCount>1;this.testimonials.forEach(((e,a)=>{const o=(a-this.currentIndex)*100;e.style.transform=`translateX(${o}%)`;e.style.opacity=a===this.currentIndex?"1":"0";e.style.pointerEvents=a===this.currentIndex?"auto":"none";e.showNavigation=i;e.hasPrev=t;e.hasNext=s}))}getProgress(){if(this.testimonialCount<=1)return 0;return(this.currentIndex+1)/this.testimonialCount}render(){return s(i,{key:"deda1bbad2330b3e82ebc7a6b1f424ba76b72c29"},s("div",{key:"1146c1a67a3a682114c95bcfa37993ccf2a1fd3e",class:"testimonial-carousel"},s("div",{key:"38c56a104b2f8956acb144f95a7607b35220f99b",class:"testimonial-slides"},s("slot",{key:"981f9b3eb29f8f72095568747b45d56eb4d58ca3"})),this.testimonialCount>1&&s("div",{key:"5f49d3b23edf9748e5c1205b1ee25948b9d5817b",class:"testimonial-progress"},s("af-progress-line",{key:"ef7d80cbae1f4284e58a25cad35120880b6746d2",progress:this.getProgress()}))))}get host(){return e(this)}};o.style=a;export{o as af_testimonial_carousel};
2
- //# sourceMappingURL=p-3d2fb635.entry.js.map
1
+ import{r as t,h as s,H as i,a as e}from"./p-B0LVveHp.js";const a=".sc-af-testimonial-carousel-h{display:block;width:100%}.testimonial-carousel.sc-af-testimonial-carousel{position:relative;width:100%;overflow:hidden}.testimonial-slides.sc-af-testimonial-carousel{position:relative;width:100%;min-height:544px;overflow:hidden}.testimonial-slides.sc-af-testimonial-carousel-s>af-testimonial,.testimonial-slides .sc-af-testimonial-carousel-s>af-testimonial{position:absolute;top:0;left:0;width:100%;transition:transform 0.5s ease-in-out, opacity 0.5s ease-in-out}.testimonial-progress.sc-af-testimonial-carousel{margin-top:32px;max-width:840px;margin-left:auto;margin-right:auto}";const o=class{constructor(s){t(this,s);this.currentIndex=0;this.isAnimating=false;this.testimonialCount=0;this.testimonials=[];this.goToPrevious=()=>{if(this.isAnimating||this.currentIndex===0)return;this.isAnimating=true;this.currentIndex=this.currentIndex-1;this.updateVisibleTestimonial();setTimeout((()=>{this.isAnimating=false}),500)};this.goToNext=()=>{if(this.isAnimating||this.currentIndex>=this.testimonialCount-1)return;this.isAnimating=true;this.currentIndex=this.currentIndex+1;this.updateVisibleTestimonial();setTimeout((()=>{this.isAnimating=false}),500)}}componentDidLoad(){this.detectTestimonials();this.observer=new MutationObserver((()=>{this.detectTestimonials()}));this.observer.observe(this.host,{childList:true,subtree:true})}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}handleNavPrev(){this.goToPrevious()}handleNavNext(){this.goToNext()}detectTestimonials(){const t=Array.from(this.host.querySelectorAll("af-testimonial"));if(t.length!==this.testimonials.length){this.testimonials=t;this.testimonialCount=t.length;if(this.testimonials.length>0){this.currentIndex=0;this.updateVisibleTestimonial()}}}updateVisibleTestimonial(){const t=this.currentIndex>0;const s=this.currentIndex<this.testimonialCount-1;const i=this.testimonialCount>1;this.testimonials.forEach(((e,a)=>{const o=(a-this.currentIndex)*100;e.style.transform=`translateX(${o}%)`;e.style.opacity=a===this.currentIndex?"1":"0";e.style.pointerEvents=a===this.currentIndex?"auto":"none";e.showNavigation=i;e.hasPrev=t;e.hasNext=s}))}getProgress(){if(this.testimonialCount<=1)return 0;return(this.currentIndex+1)/this.testimonialCount}render(){return s(i,{key:"fda7e141f1657586828a58e7b82f18be8e4317c3"},s("div",{key:"99dff39b6d4396358ed8aefdd8b7d6cc728f81da",class:"testimonial-carousel"},s("div",{key:"3d89451d92c9fbf339936390b9637a90d726d62a",class:"testimonial-slides"},s("slot",{key:"6cf20af5e78756e401aa5175911b5937e8abeab7"})),this.testimonialCount>1&&s("div",{key:"f6e41055d74ad466524a7f96377c5a582e974a51",class:"testimonial-progress"},s("af-progress-line",{key:"aa68920e47fe7ec219374d6fadde33897f2b0df9",progress:this.getProgress()}))))}get host(){return e(this)}};o.style=a;export{o as af_testimonial_carousel};
2
+ //# sourceMappingURL=p-1a87dd1c.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as o,h as e,H as c}from"./p-B0LVveHp.js";const f=".sc-af-footer-column-h{display:block}.footer-column.sc-af-footer-column{display:flex;flex-direction:column;gap:16px}.footer-column__heading.sc-af-footer-column{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;font-weight:600;color:var(--colour-tints-mistGreen-200, #C6D5D1);margin:0;text-transform:none}.footer-column__list.sc-af-footer-column{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.footer-column__list.sc-af-footer-column-s>li,.footer-column__list .sc-af-footer-column-s>li{margin:0}";const a=class{constructor(e){o(this,e);this.heading=""}render(){return e(c,{key:"283526c985df996540e558a5591e5a167e5c4c9b"},e("div",{key:"829fc317f3999dda3aadbb8cc68c3ce53485df12",class:"footer-column"},this.heading&&e("h5",{key:"567141f08e21166642f7e9fea2d4becfaa9e2162",class:"footer-column__heading"},this.heading),e("ul",{key:"b5b7cb63ffe3fed5d97edaa1264fab916980da8b",class:"footer-column__list"},e("slot",{key:"4c9adcdfc3c25f42c325bc222f4b9761b82a0280"}))))}};a.style=f;export{a as af_footer_column};
2
+ //# sourceMappingURL=p-202bac33.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as a,c as t,h as i,H as e}from"./p-B0LVveHp.js";const s=".sc-af-testimonial-h{display:block;width:100%}.testimonial-card.sc-af-testimonial{background:var(--af-background-level-1, var(--colour-mistgreen-200, #e8eeed));border-radius:var(--border-radius-card-level-1, 32px);overflow:hidden;display:flex;height:544px;box-sizing:border-box}.testimonial-image.sc-af-testimonial{position:relative;width:50%;min-width:300px;max-width:519px;height:100%;background:var(--colour-brand-inkwell, #14343b);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.testimonial-bg-image.sc-af-testimonial{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.7}.testimonial-logo.sc-af-testimonial{position:relative;z-index:1;padding:0 108px;max-width:100%}.testimonial-logo.sc-af-testimonial img.sc-af-testimonial{width:100%;height:auto;display:block}.testimonial-content.sc-af-testimonial{flex:1;display:flex;flex-direction:column;gap:32px;padding:48px;border:1px solid var(--af-background-border-subtle, var(--colour-mistgreen-200, #e8eeed));border-left:1px solid var(--af-background-border-subtle, var(--colour-mistgreen-200, #e8eeed));box-sizing:border-box}.testimonial-quote-section.sc-af-testimonial{flex:1;display:flex;flex-direction:column;gap:12px;min-height:0;overflow:hidden}.testimonial-quote-icon.sc-af-testimonial{width:48px;height:48px;color:var(--af-typography-heading-secondary, var(--colour-brand-soft-clay, #b09670));flex-shrink:0}.testimonial-text.sc-af-testimonial{font-family:var(--typography-bodyfont, 'NeuSans', sans-serif);font-size:22px;line-height:1.4;font-weight:var(--font-weight-regular, 400);color:var(--af-typography-body-default, var(--colour-brand-inkwell, #14343b))}.testimonial-text.sc-af-testimonial-s>p,.testimonial-text .sc-af-testimonial-s>p,.testimonial-text.sc-af-testimonial p.sc-af-testimonial{font:inherit;color:inherit;margin:0 0 12px 0}.testimonial-text.sc-af-testimonial-s>p,.testimonial-text.sc-af-testimonial-s>p:last-child,.testimonial-text .sc-af-testimonial-s>p:last-child,.testimonial-text.sc-af-testimonial p.sc-af-testimonial:last-child{margin-bottom:0}.testimonial-text.sc-af-testimonial-s>ul,.testimonial-text .sc-af-testimonial-s>ul,.testimonial-text.sc-af-testimonial ul.sc-af-testimonial{margin:0 0 12px 0;padding-left:20px}.testimonial-attribution.sc-af-testimonial{font-family:var(--typography-bodyfont, 'NeuSans', sans-serif);font-size:16px;line-height:24px;color:var(--af-typography-body-dark, var(--colour-brand-inkwell, #14343b));margin-top:12px}.testimonial-stats.sc-af-testimonial{display:flex;gap:32px;width:100%;flex-shrink:0}.testimonial-footer.sc-af-testimonial{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--af-background-border-default, var(--colour-mistgreen-400, #d1ddda));padding-top:32px;flex-shrink:0;min-height:48px}.testimonial-nav.sc-af-testimonial{display:flex;gap:12px}.testimonial-nav-buttons.sc-af-testimonial{display:flex;gap:12px}";const o=class{constructor(i){a(this,i);this.navPrev=t(this,"navPrev");this.navNext=t(this,"navNext");this.showNavigation=false;this.hasPrev=false;this.hasNext=false;this.handlePrev=()=>{this.navPrev.emit()};this.handleNext=()=>{this.navNext.emit()}}render(){return i(e,{key:"fcdb1ff31040a9cb20381ada0ddb3f0ebe468b92"},i("div",{key:"b13944c9bb22271b9e11ffd08871aed9675eeb6b",class:"testimonial-card"},i("div",{key:"cc18afbd35481da173c9fcf7dc1ece3bf21ec0a6",class:"testimonial-image"},this.backgroundImage&&i("img",{key:"a4fccdc7ac9efbaa3e6f80aa2b1221a856e4b41b",src:this.backgroundImage,alt:"",class:"testimonial-bg-image"}),this.logoImage&&i("div",{key:"0fc4a5b3815aa9123ccb2b8788610fd7dfc49b8b",class:"testimonial-logo"},i("img",{key:"5fc97a62298e8c484d169faffbbb891bc499c4ca",src:this.logoImage,alt:"Company logo"}))),i("div",{key:"05db0629d3d182ec5c9aa62d0687f7db93b17358",class:"testimonial-content"},i("div",{key:"d810a2544ac07ebdeee3b9598fcbdd900b43a200",class:"testimonial-quote-section"},i("div",{key:"7f82479f01c29dc55d4757cfdf2563ba7f5b27b2",class:"testimonial-quote-icon"},i("slot",{key:"598e43eb74d9436f7e91389f5e8703b24be025f1",name:"quote-icon"},i("af-icon",{key:"8a513b9ddccfbbd09fde07925ff9dd2a9e429d6b",name:"quote",size:48}))),i("div",{key:"208146b160dddb380eadaed8c2d64b1125ee7de4",class:"testimonial-text"},i("slot",{key:"54dfc479096474c67ebaaf91ef2aa2f9f9035f6c",name:"quote-body"},this.quote)),i("div",{key:"bb6e20af12cece4b746052f3c3c34affb0b07627",class:"testimonial-attribution"},this.attribution)),i("div",{key:"d97ec31aaa11702b1f0564cc594230bba99c4fa0",class:"testimonial-stats"},i("slot",{key:"73a0fceb1e056fadd9e3675a3bb1bcb2aa121ef7",name:"stats"})),i("div",{key:"52bda4be7e6be1a539c719717e4ae47740390d98",class:"testimonial-footer"},i("div",{key:"5117302dd9ac52b587d95b766b1454aca7206ba4",class:"testimonial-nav"},this.showNavigation?i("div",{class:"testimonial-nav-buttons"},i("af-icon-button",{variant:"secondary",disabled:!this.hasPrev,onClick:this.handlePrev,ariaLabel:"Previous testimonial"},i("af-icon",{name:"arrow-left",size:24})),i("af-icon-button",{variant:"secondary",disabled:!this.hasNext,onClick:this.handleNext,ariaLabel:"Next testimonial"},i("af-icon",{name:"arrow-right",size:24}))):i("slot",{name:"navigation"})),this.readMoreLink&&i("af-button",{key:"9664bad03640cb9b5d1e93f10c85b4b4307c689e",variant:"secondary",href:this.readMoreLink},"Read full story",i("af-icon",{key:"2dccacf7aaa0a734587916604823f81a2b35b9f9",slot:"icon-right",name:"arrow-right",size:24}))))))}};o.style=s;export{o as af_testimonial};
2
+ //# sourceMappingURL=p-2e50c27d.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["registerInstance","createEvent","h","Host","afTestimonialCss","AfTestimonial","constructor","hostRef","this","navPrev","navNext","showNavigation","hasPrev","hasNext","handlePrev","emit","handleNext","render","key","class","backgroundImage","src","alt","logoImage","name","size","variant","quote","attribution","disabled","onClick","ariaLabel","readMoreLink","href","slot","style"],"sources":["0"],"mappings":"YAAcA,OAAuBC,OAAaC,OAAQC,MAAY,kBAEtE,MAAMC,EAAmB,ikEAEzB,MAAMC,EAAgB,MAClB,WAAAC,CAAYC,GACRP,EAAiBQ,KAAMD,GACvBC,KAAKC,QAAUR,EAAYO,KAAM,WACjCA,KAAKE,QAAUT,EAAYO,KAAM,WAIjCA,KAAKG,eAAiB,MAItBH,KAAKI,QAAU,MAIfJ,KAAKK,QAAU,MACfL,KAAKM,WAAa,KACdN,KAAKC,QAAQM,MAAM,EAEvBP,KAAKQ,WAAa,KACdR,KAAKE,QAAQK,MAAM,CAE3B,CACA,MAAAE,GACI,OAAQf,EAAEC,EAAM,CAAEe,IAAK,4CAA8ChB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,oBAAsBjB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,qBAAuBX,KAAKY,iBAAoBlB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CG,IAAKb,KAAKY,gBAAiBE,IAAK,GAAIH,MAAO,yBAA4BX,KAAKe,WAAcrB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,oBAAsBjB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CG,IAAKb,KAAKe,UAAWD,IAAK,mBAAsBpB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,uBAAyBjB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,6BAA+BjB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,0BAA4BjB,EAAE,OAAQ,CAAEgB,IAAK,2CAA4CM,KAAM,cAAgBtB,EAAE,UAAW,CAAEgB,IAAK,2CAA4CM,KAAM,QAASC,KAAM,OAASvB,EAAE,UAAW,CAAEgB,IAAK,2CAA4CQ,QAAS,SAAUP,MAAO,oBAAsBX,KAAKmB,OAAQzB,EAAE,UAAW,CAAEgB,IAAK,2CAA4CQ,QAAS,SAAUP,MAAO,2BAA6BX,KAAKoB,cAAe1B,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,qBAAuBjB,EAAE,OAAQ,CAAEgB,IAAK,2CAA4CM,KAAM,WAAatB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,sBAAwBjB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,mBAAqBX,KAAKG,eAEpqDT,EAAE,MAAO,CAAEiB,MAAO,2BAA6BjB,EAAE,iBAAkB,CAAEwB,QAAS,YAAaG,UAAWrB,KAAKI,QAASkB,QAAStB,KAAKM,WAAYiB,UAAW,wBAA0B7B,EAAE,UAAW,CAAEsB,KAAM,aAAcC,KAAM,MAAQvB,EAAE,iBAAkB,CAAEwB,QAAS,YAAaG,UAAWrB,KAAKK,QAASiB,QAAStB,KAAKQ,WAAYe,UAAW,oBAAsB7B,EAAE,UAAW,CAAEsB,KAAM,cAAeC,KAAM,OAE9YvB,EAAE,OAAQ,CAAEsB,KAAM,gBAAmBhB,KAAKwB,cAAiB9B,EAAE,YAAa,CAAEgB,IAAK,2CAA4CQ,QAAS,YAAaO,KAAMzB,KAAKwB,cAAgB,kBAAmB9B,EAAE,UAAW,CAAEgB,IAAK,2CAA4CgB,KAAM,aAAcV,KAAM,cAAeC,KAAM,SACpT,GAEJpB,EAAc8B,MAAQ/B,SAEbC","ignoreList":[]}
1
+ {"version":3,"names":["registerInstance","createEvent","h","Host","afTestimonialCss","AfTestimonial","constructor","hostRef","this","navPrev","navNext","showNavigation","hasPrev","hasNext","handlePrev","emit","handleNext","render","key","class","backgroundImage","src","alt","logoImage","name","size","quote","attribution","variant","disabled","onClick","ariaLabel","readMoreLink","href","slot","style"],"sources":["0"],"mappings":"YAAcA,OAAuBC,OAAaC,OAAQC,MAAY,kBAEtE,MAAMC,EAAmB,63FAEzB,MAAMC,EAAgB,MAClB,WAAAC,CAAYC,GACRP,EAAiBQ,KAAMD,GACvBC,KAAKC,QAAUR,EAAYO,KAAM,WACjCA,KAAKE,QAAUT,EAAYO,KAAM,WAIjCA,KAAKG,eAAiB,MAItBH,KAAKI,QAAU,MAIfJ,KAAKK,QAAU,MACfL,KAAKM,WAAa,KACdN,KAAKC,QAAQM,MAAM,EAEvBP,KAAKQ,WAAa,KACdR,KAAKE,QAAQK,MAAM,CAE3B,CACA,MAAAE,GACI,OAAQf,EAAEC,EAAM,CAAEe,IAAK,4CAA8ChB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,oBAAsBjB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,qBAAuBX,KAAKY,iBAAoBlB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CG,IAAKb,KAAKY,gBAAiBE,IAAK,GAAIH,MAAO,yBAA4BX,KAAKe,WAAcrB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,oBAAsBjB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CG,IAAKb,KAAKe,UAAWD,IAAK,mBAAsBpB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,uBAAyBjB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,6BAA+BjB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,0BAA4BjB,EAAE,OAAQ,CAAEgB,IAAK,2CAA4CM,KAAM,cAAgBtB,EAAE,UAAW,CAAEgB,IAAK,2CAA4CM,KAAM,QAASC,KAAM,OAASvB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,oBAAsBjB,EAAE,OAAQ,CAAEgB,IAAK,2CAA4CM,KAAM,cAAgBhB,KAAKkB,QAASxB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,2BAA6BX,KAAKmB,cAAezB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,qBAAuBjB,EAAE,OAAQ,CAAEgB,IAAK,2CAA4CM,KAAM,WAAatB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,sBAAwBjB,EAAE,MAAO,CAAEgB,IAAK,2CAA4CC,MAAO,mBAAqBX,KAAKG,eAE1sDT,EAAE,MAAO,CAAEiB,MAAO,2BAA6BjB,EAAE,iBAAkB,CAAE0B,QAAS,YAAaC,UAAWrB,KAAKI,QAASkB,QAAStB,KAAKM,WAAYiB,UAAW,wBAA0B7B,EAAE,UAAW,CAAEsB,KAAM,aAAcC,KAAM,MAAQvB,EAAE,iBAAkB,CAAE0B,QAAS,YAAaC,UAAWrB,KAAKK,QAASiB,QAAStB,KAAKQ,WAAYe,UAAW,oBAAsB7B,EAAE,UAAW,CAAEsB,KAAM,cAAeC,KAAM,OAE9YvB,EAAE,OAAQ,CAAEsB,KAAM,gBAAmBhB,KAAKwB,cAAiB9B,EAAE,YAAa,CAAEgB,IAAK,2CAA4CU,QAAS,YAAaK,KAAMzB,KAAKwB,cAAgB,kBAAmB9B,EAAE,UAAW,CAAEgB,IAAK,2CAA4CgB,KAAM,aAAcV,KAAM,cAAeC,KAAM,SACpT,GAEJpB,EAAc8B,MAAQ/B,SAEbC","ignoreList":[]}