@affinda/wc 0.0.28 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (485) hide show
  1. package/dist/affinda/af-card.entry.esm.js.map +1 -1
  2. package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -1
  3. package/dist/affinda/af-feature-accordion.entry.esm.js.map +1 -1
  4. package/dist/affinda/af-footer.entry.esm.js.map +1 -1
  5. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
  6. package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -1
  7. package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -1
  8. package/dist/affinda/af-paperclip-decoration.entry.esm.js.map +1 -0
  9. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
  10. package/dist/affinda/affinda.css +1 -1
  11. package/dist/affinda/affinda.esm.js +1 -1
  12. package/dist/affinda/index.esm.js +1 -1
  13. package/dist/affinda/{p-11e7ddf3.entry.js → p-0137e7a5.entry.js} +2 -2
  14. package/dist/affinda/{p-816deae3.entry.js → p-0201c8bd.entry.js} +2 -2
  15. package/dist/affinda/p-081cc890.entry.js +2 -0
  16. package/dist/affinda/{p-570283f6.entry.js.map → p-081cc890.entry.js.map} +1 -1
  17. package/dist/affinda/{p-94adb381.entry.js → p-083fc528.entry.js} +2 -2
  18. package/dist/affinda/{p-f9e3c2b7.entry.js → p-0e469ad2.entry.js} +2 -2
  19. package/dist/affinda/{p-6eca2722.entry.js → p-15f0bd34.entry.js} +2 -2
  20. package/dist/affinda/{p-2c655ae2.entry.js → p-1c96856a.entry.js} +2 -2
  21. package/dist/affinda/{p-4cbdf940.entry.js → p-24e74c10.entry.js} +2 -2
  22. package/dist/affinda/{p-ab0b621e.entry.js → p-2e6192eb.entry.js} +2 -2
  23. package/dist/affinda/{p-102e8b8c.entry.js → p-35607741.entry.js} +2 -2
  24. package/dist/affinda/{p-c7ba4e7f.entry.js → p-364ffa25.entry.js} +2 -2
  25. package/dist/affinda/p-3a0e45c3.entry.js +2 -0
  26. package/dist/affinda/{p-07f9580c.entry.js.map → p-3a0e45c3.entry.js.map} +1 -1
  27. package/dist/affinda/{p-af3f6e16.entry.js → p-3ee906de.entry.js} +2 -2
  28. package/dist/affinda/{p-d7e29257.entry.js → p-41643147.entry.js} +2 -2
  29. package/dist/affinda/{p-f9b6d1c6.entry.js → p-43f40921.entry.js} +2 -2
  30. package/dist/affinda/{p-8d9d0cb3.entry.js → p-48aadea9.entry.js} +2 -2
  31. package/dist/affinda/{p-cc22a8da.entry.js → p-49521f2e.entry.js} +2 -2
  32. package/dist/affinda/{p-0f3267ea.entry.js → p-4a355b69.entry.js} +2 -2
  33. package/dist/affinda/{p-9bb5202e.entry.js → p-4b154e23.entry.js} +2 -2
  34. package/dist/affinda/{p-3ecf43aa.entry.js → p-4b2c0698.entry.js} +2 -2
  35. package/dist/affinda/{p-2aa112c2.entry.js → p-4c4406bf.entry.js} +2 -2
  36. package/dist/affinda/{p-2aa112c2.entry.js.map → p-4c4406bf.entry.js.map} +1 -1
  37. package/dist/affinda/p-4cf65950.entry.js +2 -0
  38. package/dist/affinda/{p-b14c1a4b.entry.js.map → p-4cf65950.entry.js.map} +1 -1
  39. package/dist/affinda/{p-12652bf5.entry.js → p-4f59b554.entry.js} +2 -2
  40. package/dist/affinda/{p-401fc5b1.entry.js → p-50a67fb6.entry.js} +2 -2
  41. package/dist/affinda/{p-a3865306.entry.js → p-5265e82e.entry.js} +2 -2
  42. package/dist/affinda/{p-5e5d16dd.entry.js → p-56fe6e6e.entry.js} +2 -2
  43. package/dist/affinda/{p-a4d39bdd.entry.js → p-5f6a5741.entry.js} +2 -2
  44. package/dist/affinda/p-6038a213.entry.js +2 -0
  45. package/dist/affinda/{p-50590601.entry.js.map → p-6038a213.entry.js.map} +1 -1
  46. package/dist/affinda/{p-432c7bfc.entry.js → p-6c33fee6.entry.js} +2 -2
  47. package/dist/affinda/{p-a002c784.entry.js → p-6c58b283.entry.js} +2 -2
  48. package/dist/affinda/{p-1dff35bf.entry.js → p-6e40dbdf.entry.js} +2 -2
  49. package/dist/affinda/{p-23aa03dc.entry.js → p-76cb736d.entry.js} +2 -2
  50. package/dist/affinda/{p-77ed47d5.entry.js → p-78518e6c.entry.js} +2 -2
  51. package/dist/affinda/{p-e78112d9.entry.js → p-7867c2ff.entry.js} +2 -2
  52. package/dist/affinda/{p-636045e8.entry.js → p-81706709.entry.js} +2 -2
  53. package/dist/affinda/{p-5e444a9a.entry.js → p-862a2509.entry.js} +2 -2
  54. package/dist/affinda/{p-7238fc21.entry.js → p-86f6dfdc.entry.js} +2 -2
  55. package/dist/affinda/{p-bf941fa7.entry.js → p-8c4e3047.entry.js} +2 -2
  56. package/dist/affinda/{p-e0163836.entry.js → p-90ef7baa.entry.js} +2 -2
  57. package/dist/affinda/{p-159fe9b1.entry.js → p-94f51238.entry.js} +2 -2
  58. package/dist/affinda/{p-3ca3e4dc.entry.js → p-95d4696a.entry.js} +2 -2
  59. package/dist/affinda/{p-892f9bc3.entry.js → p-9aed7039.entry.js} +2 -2
  60. package/dist/affinda/{p-bfc17d0c.entry.js → p-9c1e9bd8.entry.js} +2 -2
  61. package/dist/affinda/{p-8da30e7a.entry.js → p-9eba91fd.entry.js} +2 -2
  62. package/dist/affinda/{p-aa5c6cc0.entry.js → p-9f3e7116.entry.js} +2 -2
  63. package/dist/affinda/p-MwnBSqEY.js +3 -0
  64. package/dist/affinda/p-MwnBSqEY.js.map +1 -0
  65. package/dist/affinda/{p-eb96f29b.entry.js → p-a35029eb.entry.js} +2 -2
  66. package/dist/affinda/{p-5b3ff010.entry.js → p-a6eda8af.entry.js} +2 -2
  67. package/dist/affinda/{p-ef41e743.entry.js → p-a71d528d.entry.js} +2 -2
  68. package/dist/affinda/{p-e9f8ef54.entry.js → p-a84ae4a5.entry.js} +2 -2
  69. package/dist/affinda/{p-2140698f.entry.js → p-ad41f905.entry.js} +2 -2
  70. package/dist/affinda/{p-4e8bd716.entry.js → p-b2633acb.entry.js} +2 -2
  71. package/dist/affinda/{p-d54abc45.entry.js → p-b2b28366.entry.js} +2 -2
  72. package/dist/affinda/p-c8c4783c.entry.js +2 -0
  73. package/dist/affinda/{p-da999c10.entry.js.map → p-c8c4783c.entry.js.map} +1 -1
  74. package/dist/affinda/{p-648e2d76.entry.js → p-da2d84f7.entry.js} +2 -2
  75. package/dist/affinda/{p-8f6884c8.entry.js → p-dbe7ab88.entry.js} +2 -2
  76. package/dist/affinda/{p-be45f85c.entry.js → p-e055407b.entry.js} +2 -2
  77. package/dist/affinda/p-e1cbe95a.entry.js +2 -0
  78. package/dist/affinda/{p-d60d1943.entry.js.map → p-e1cbe95a.entry.js.map} +1 -1
  79. package/dist/affinda/{p-97ac8f5f.entry.js → p-e1e98cd6.entry.js} +2 -2
  80. package/dist/affinda/p-ea42c40b.entry.js +2 -0
  81. package/dist/affinda/p-ea42c40b.entry.js.map +1 -0
  82. package/dist/affinda/{p-80c96efd.entry.js → p-edb1a010.entry.js} +2 -2
  83. package/dist/affinda/{p-6bb831c5.entry.js → p-ef5857cf.entry.js} +2 -2
  84. package/dist/affinda/p-f10a31cb.entry.js +2 -0
  85. package/dist/affinda/p-f10a31cb.entry.js.map +1 -0
  86. package/dist/affinda/{p-7b7d9c6a.entry.js → p-f9315f9e.entry.js} +2 -2
  87. package/dist/affinda/{p-5ab389c6.entry.js → p-feb3d03f.entry.js} +2 -2
  88. package/dist/cjs/af-accordion-item.cjs.entry.js +1 -1
  89. package/dist/cjs/af-accordion.cjs.entry.js +1 -1
  90. package/dist/cjs/af-aspect-ratio.cjs.entry.js +1 -1
  91. package/dist/cjs/af-button-group.cjs.entry.js +1 -1
  92. package/dist/cjs/af-button.cjs.entry.js +1 -1
  93. package/dist/cjs/af-card.cjs.entry.js +2 -2
  94. package/dist/cjs/af-card.entry.cjs.js.map +1 -1
  95. package/dist/cjs/af-center.cjs.entry.js +1 -1
  96. package/dist/cjs/af-checkbox.cjs.entry.js +1 -1
  97. package/dist/cjs/af-client-carousel.cjs.entry.js +21 -6
  98. package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
  99. package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
  100. package/dist/cjs/af-contact-item.cjs.entry.js +1 -1
  101. package/dist/cjs/af-container.cjs.entry.js +1 -1
  102. package/dist/cjs/af-divider.cjs.entry.js +1 -1
  103. package/dist/cjs/af-feature-accordion.cjs.entry.js +2 -2
  104. package/dist/cjs/af-feature-accordion.entry.cjs.js.map +1 -1
  105. package/dist/cjs/af-feature-card.cjs.entry.js +1 -1
  106. package/dist/cjs/af-feature-grid.cjs.entry.js +1 -1
  107. package/dist/cjs/af-fieldset.cjs.entry.js +1 -1
  108. package/dist/cjs/af-footer-column.cjs.entry.js +1 -1
  109. package/dist/cjs/af-footer-link.cjs.entry.js +1 -1
  110. package/dist/cjs/af-footer.cjs.entry.js +2 -2
  111. package/dist/cjs/af-footer.entry.cjs.js.map +1 -1
  112. package/dist/cjs/af-grid-callout.cjs.entry.js +1 -1
  113. package/dist/cjs/af-grid.cjs.entry.js +1 -1
  114. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
  115. package/dist/cjs/af-heading_5.cjs.entry.js +2 -2
  116. package/dist/cjs/af-icon-box.cjs.entry.js +1 -1
  117. package/dist/cjs/af-icon-button.cjs.entry.js +1 -1
  118. package/dist/cjs/af-icon-text.cjs.entry.js +1 -1
  119. package/dist/cjs/af-icon.cjs.entry.js +1 -1
  120. package/dist/cjs/af-illustrated-card.cjs.entry.js +2 -2
  121. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -1
  122. package/dist/cjs/af-image.cjs.entry.js +1 -1
  123. package/dist/cjs/af-in-page-banner.cjs.entry.js +2 -2
  124. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -1
  125. package/dist/cjs/af-inline.cjs.entry.js +1 -1
  126. package/dist/cjs/af-input.cjs.entry.js +1 -1
  127. package/dist/cjs/af-logo-well.cjs.entry.js +1 -1
  128. package/dist/cjs/af-nav-accordion-item.cjs.entry.js +1 -1
  129. package/dist/cjs/af-nav-accordion.cjs.entry.js +1 -1
  130. package/dist/cjs/af-nav-card.cjs.entry.js +1 -1
  131. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +1 -1
  132. package/dist/cjs/af-nav-menu.cjs.entry.js +1 -1
  133. package/dist/cjs/af-number-badge.cjs.entry.js +1 -1
  134. package/dist/cjs/af-paperclip-decoration.cjs.entry.js +39 -0
  135. package/dist/cjs/af-paperclip-decoration.entry.cjs.js.map +1 -0
  136. package/dist/cjs/af-progress-line.cjs.entry.js +3 -3
  137. package/dist/cjs/af-radio.cjs.entry.js +1 -1
  138. package/dist/cjs/af-section.cjs.entry.js +3 -3
  139. package/dist/cjs/af-show.cjs.entry.js +2 -2
  140. package/dist/cjs/af-social-link.cjs.entry.js +2 -2
  141. package/dist/cjs/af-spacer.cjs.entry.js +2 -2
  142. package/dist/cjs/af-split-section.cjs.entry.js +3 -3
  143. package/dist/cjs/af-stack.cjs.entry.js +2 -2
  144. package/dist/cjs/af-stepper-step.cjs.entry.js +2 -2
  145. package/dist/cjs/af-stepper.cjs.entry.js +2 -2
  146. package/dist/cjs/af-switch.cjs.entry.js +1 -1
  147. package/dist/cjs/af-tab-bar.cjs.entry.js +1 -1
  148. package/dist/cjs/af-tab.cjs.entry.js +1 -1
  149. package/dist/cjs/af-tag.cjs.entry.js +1 -1
  150. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +2 -2
  151. package/dist/cjs/af-testimonial-stat.cjs.entry.js +2 -2
  152. package/dist/cjs/af-testimonial.cjs.entry.js +3 -3
  153. package/dist/cjs/af-text-image-nest.cjs.entry.js +2 -2
  154. package/dist/cjs/af-text-image.cjs.entry.js +1 -1
  155. package/dist/cjs/af-textarea.cjs.entry.js +1 -1
  156. package/dist/cjs/af-theme-override.cjs.entry.js +2 -2
  157. package/dist/cjs/af-typography-lockup.cjs.entry.js +11 -5
  158. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
  159. package/dist/cjs/af-video-container.cjs.entry.js +2 -2
  160. package/dist/cjs/af-visually-hidden.cjs.entry.js +2 -2
  161. package/dist/cjs/affinda.cjs.js +2 -2
  162. package/dist/cjs/{index-CcvVbx1D.js → index-BzZA0USq.js} +3 -3
  163. package/dist/cjs/index-BzZA0USq.js.map +1 -0
  164. package/dist/cjs/index.cjs.js +1 -1
  165. package/dist/cjs/loader.cjs.js +2 -2
  166. package/dist/collection/collection-manifest.json +1 -0
  167. package/dist/collection/components/af-card/af-card.css +4 -1
  168. package/dist/collection/components/af-client-carousel/af-client-carousel.css +36 -0
  169. package/dist/collection/components/af-client-carousel/af-client-carousel.js +58 -14
  170. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
  171. package/dist/collection/components/af-feature-accordion/af-feature-accordion.css +27 -5
  172. package/dist/collection/components/af-footer/af-footer.css +5 -2
  173. package/dist/collection/components/af-illustrated-card/af-illustrated-card.css +5 -1
  174. package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +6 -4
  175. package/dist/collection/components/af-navbar/af-navbar.css +4 -1
  176. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.css +11 -0
  177. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js +152 -0
  178. package/dist/collection/components/af-paperclip-decoration/af-paperclip-decoration.js.map +1 -0
  179. package/dist/collection/components/af-progress-line/af-progress-line.js +2 -2
  180. package/dist/collection/components/af-section/af-section.js +2 -2
  181. package/dist/collection/components/af-show/af-show.js +1 -1
  182. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  183. package/dist/collection/components/af-spacer/af-spacer.js +1 -1
  184. package/dist/collection/components/af-split-section/af-split-section.js +2 -2
  185. package/dist/collection/components/af-stack/af-stack.js +1 -1
  186. package/dist/collection/components/af-stepper/af-stepper.js +1 -1
  187. package/dist/collection/components/af-stepper-step/af-stepper-step.js +1 -1
  188. package/dist/collection/components/af-testimonial/af-testimonial.js +2 -2
  189. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +1 -1
  190. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  191. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +1 -1
  192. package/dist/collection/components/af-theme-override/af-theme-override.js +1 -1
  193. package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +36 -12
  194. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +20 -8
  195. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
  196. package/dist/collection/components/af-video-container/af-video-container.js +1 -1
  197. package/dist/collection/components/af-visually-hidden/af-visually-hidden.js +1 -1
  198. package/dist/components/af-accordion-item.js +1 -1
  199. package/dist/components/af-accordion.js +1 -1
  200. package/dist/components/af-aspect-ratio.js +1 -1
  201. package/dist/components/af-button-group.js +1 -1
  202. package/dist/components/af-button.js +1 -1
  203. package/dist/components/af-card.js +1 -1
  204. package/dist/components/af-center.js +1 -1
  205. package/dist/components/af-checkbox.js +1 -1
  206. package/dist/components/af-client-carousel.js +23 -7
  207. package/dist/components/af-client-carousel.js.map +1 -1
  208. package/dist/components/af-color-swatch.js +1 -1
  209. package/dist/components/af-contact-item.js +1 -1
  210. package/dist/components/af-container.js +1 -1
  211. package/dist/components/af-divider.js +1 -1
  212. package/dist/components/af-feature-accordion.js +2 -2
  213. package/dist/components/af-feature-accordion.js.map +1 -1
  214. package/dist/components/af-feature-card.js +1 -1
  215. package/dist/components/af-feature-grid.js +2 -2
  216. package/dist/components/af-fieldset.js +1 -1
  217. package/dist/components/af-footer-column.js +1 -1
  218. package/dist/components/af-footer-link.js +1 -1
  219. package/dist/components/af-footer.js +2 -2
  220. package/dist/components/af-footer.js.map +1 -1
  221. package/dist/components/af-grid-callout.js +2 -2
  222. package/dist/components/af-grid.js +1 -1
  223. package/dist/components/af-heading.js +1 -1
  224. package/dist/components/af-icon-box.js +1 -1
  225. package/dist/components/af-icon-button.js +1 -1
  226. package/dist/components/af-icon-text.js +4 -4
  227. package/dist/components/af-icon.js +1 -1
  228. package/dist/components/af-illustrated-card.js +1 -1
  229. package/dist/components/af-image.js +1 -1
  230. package/dist/components/af-in-page-banner.js +3 -3
  231. package/dist/components/af-in-page-banner.js.map +1 -1
  232. package/dist/components/af-inline.js +1 -1
  233. package/dist/components/af-input.js +1 -1
  234. package/dist/components/af-logo-well.js +1 -1
  235. package/dist/components/af-logo.js +1 -1
  236. package/dist/components/af-nav-accordion-item.js +1 -1
  237. package/dist/components/af-nav-accordion.js +1 -1
  238. package/dist/components/af-nav-card.js +1 -1
  239. package/dist/components/af-nav-item.js +1 -1
  240. package/dist/components/af-nav-menu-nest.js +1 -1
  241. package/dist/components/af-nav-menu.js +1 -1
  242. package/dist/components/af-navbar.js +1 -1
  243. package/dist/components/af-number-badge.js +1 -1
  244. package/dist/components/af-paperclip-decoration.d.ts +11 -0
  245. package/dist/components/af-paperclip-decoration.js +64 -0
  246. package/dist/components/af-paperclip-decoration.js.map +1 -0
  247. package/dist/components/af-progress-line.js +1 -1
  248. package/dist/components/af-radio.js +1 -1
  249. package/dist/components/af-section.js +4 -4
  250. package/dist/components/af-show.js +2 -2
  251. package/dist/components/af-social-link.js +2 -2
  252. package/dist/components/af-spacer.js +2 -2
  253. package/dist/components/af-split-section.js +4 -4
  254. package/dist/components/af-stack.js +2 -2
  255. package/dist/components/af-stepper-step.js +2 -2
  256. package/dist/components/af-stepper.js +2 -2
  257. package/dist/components/af-switch.js +1 -1
  258. package/dist/components/af-tab-bar.js +1 -1
  259. package/dist/components/af-tab.js +1 -1
  260. package/dist/components/af-tag.js +1 -1
  261. package/dist/components/af-testimonial-carousel.js +3 -3
  262. package/dist/components/af-testimonial-stat.js +4 -4
  263. package/dist/components/af-testimonial.js +6 -6
  264. package/dist/components/af-text-image-nest.js +2 -2
  265. package/dist/components/af-text-image.js +2 -2
  266. package/dist/components/af-text.js +1 -1
  267. package/dist/components/af-textarea.js +1 -1
  268. package/dist/components/af-theme-override.js +2 -2
  269. package/dist/components/af-typography-lockup.js +1 -1
  270. package/dist/components/af-video-container.js +4 -4
  271. package/dist/components/af-visually-hidden.js +2 -2
  272. package/dist/components/index.js +24 -24
  273. package/dist/components/{p-CNuja1ax.js → p--gChEc0P.js} +3 -3
  274. package/dist/components/{p-CNuja1ax.js.map → p--gChEc0P.js.map} +1 -1
  275. package/dist/components/{p-DCu8UsJv.js → p-BRDu9zN1.js} +3 -3
  276. package/dist/components/{p-DCu8UsJv.js.map → p-BRDu9zN1.js.map} +1 -1
  277. package/dist/components/{p-CSsp_M05.js → p-BROLmNeM.js} +3 -3
  278. package/dist/components/{p-CSsp_M05.js.map → p-BROLmNeM.js.map} +1 -1
  279. package/dist/components/{p-Dz4dEIxw.js → p-BT13eL0Y.js} +3 -3
  280. package/dist/components/{p-Dz4dEIxw.js.map → p-BT13eL0Y.js.map} +1 -1
  281. package/dist/components/{p-DAYoQm46.js → p-BW-FxZwa.js} +3 -3
  282. package/dist/components/{p-DAYoQm46.js.map → p-BW-FxZwa.js.map} +1 -1
  283. package/dist/components/{p-aAVeavhK.js → p-B_OoX__z.js} +3 -3
  284. package/dist/components/{p-aAVeavhK.js.map → p-B_OoX__z.js.map} +1 -1
  285. package/dist/components/{p-C0R_vg0S.js → p-BgXXQG75.js} +3 -3
  286. package/dist/components/{p-C0R_vg0S.js.map → p-BgXXQG75.js.map} +1 -1
  287. package/dist/components/{p-CKcuq0NU.js → p-Bh6Cfgtj.js} +3 -3
  288. package/dist/components/{p-CKcuq0NU.js.map → p-Bh6Cfgtj.js.map} +1 -1
  289. package/dist/components/{p-DqgLTGE0.js → p-C4G6votC.js} +3 -3
  290. package/dist/components/{p-DqgLTGE0.js.map → p-C4G6votC.js.map} +1 -1
  291. package/dist/components/{p-TfjpcU9q.js → p-C6-JATRR.js} +6 -6
  292. package/dist/components/{p-TfjpcU9q.js.map → p-C6-JATRR.js.map} +1 -1
  293. package/dist/components/p-CKLkuSI3.js +53 -0
  294. package/dist/components/p-CKLkuSI3.js.map +1 -0
  295. package/dist/components/{p-XrKBGe-M.js → p-CNzQtskW.js} +5 -5
  296. package/dist/components/{p-XrKBGe-M.js.map → p-CNzQtskW.js.map} +1 -1
  297. package/dist/components/{p-CHLm_AuW.js → p-CP8rLe_C.js} +3 -3
  298. package/dist/components/{p-CHLm_AuW.js.map → p-CP8rLe_C.js.map} +1 -1
  299. package/dist/components/{p-Bw8fdMnn.js → p-CX0pktY8.js} +3 -3
  300. package/dist/components/{p-Bw8fdMnn.js.map → p-CX0pktY8.js.map} +1 -1
  301. package/dist/components/{p-CAUqW6Mp.js → p-CYKk6Qhi.js} +3 -3
  302. package/dist/components/{p-CAUqW6Mp.js.map → p-CYKk6Qhi.js.map} +1 -1
  303. package/dist/components/{p-DkaLi-uL.js → p-CoL_hRAR.js} +3 -3
  304. package/dist/components/{p-DkaLi-uL.js.map → p-CoL_hRAR.js.map} +1 -1
  305. package/dist/components/{p-CB9GFAlk.js → p-D8DmhESZ.js} +3 -3
  306. package/dist/components/{p-CB9GFAlk.js.map → p-D8DmhESZ.js.map} +1 -1
  307. package/dist/components/{p-B3Yr4Hxx.js → p-DJC-C2BS.js} +3 -3
  308. package/dist/components/{p-B3Yr4Hxx.js.map → p-DJC-C2BS.js.map} +1 -1
  309. package/dist/components/{p-N0xV1Erp.js → p-DNeNJhuM.js} +14 -8
  310. package/dist/components/p-DNeNJhuM.js.map +1 -0
  311. package/dist/components/{p-DwhGQrZK.js → p-DO9J0XTo.js} +5 -5
  312. package/dist/components/{p-DwhGQrZK.js.map → p-DO9J0XTo.js.map} +1 -1
  313. package/dist/components/{p-CqQyDZ-4.js → p-DOgb6SUj.js} +3 -3
  314. package/dist/components/p-DOgb6SUj.js.map +1 -0
  315. package/dist/components/{p-Dxa6cHAb.js → p-DbVc-b1e.js} +3 -3
  316. package/dist/components/{p-Dxa6cHAb.js.map → p-DbVc-b1e.js.map} +1 -1
  317. package/dist/components/{p-D3oGtcJ5.js → p-Dd3nOGt_.js} +3 -3
  318. package/dist/components/{p-D3oGtcJ5.js.map → p-Dd3nOGt_.js.map} +1 -1
  319. package/dist/components/{p-DGBMGvZK.js → p-Dx_UXI2a.js} +3 -3
  320. package/dist/components/{p-DGBMGvZK.js.map → p-Dx_UXI2a.js.map} +1 -1
  321. package/dist/components/{p-DENib4OL.js → p-DyZaoX4Q.js} +3 -3
  322. package/dist/components/{p-DENib4OL.js.map → p-DyZaoX4Q.js.map} +1 -1
  323. package/dist/components/{p-DRujYIJW.js → p-HMlLQQwp.js} +5 -5
  324. package/dist/components/p-HMlLQQwp.js.map +1 -0
  325. package/dist/components/{p-DMOGClIa.js → p-NtJ_O8-z.js} +3 -3
  326. package/dist/components/{p-DMOGClIa.js.map → p-NtJ_O8-z.js.map} +1 -1
  327. package/dist/components/{p-BHAWxoQE.js → p-i_6TLQJ5.js} +4 -4
  328. package/dist/components/{p-BHAWxoQE.js.map → p-i_6TLQJ5.js.map} +1 -1
  329. package/dist/components/{p-D30gSxh2.js → p-kEqwmn80.js} +3 -3
  330. package/dist/components/{p-D30gSxh2.js.map → p-kEqwmn80.js.map} +1 -1
  331. package/dist/esm/af-accordion-item.entry.js +1 -1
  332. package/dist/esm/af-accordion.entry.js +1 -1
  333. package/dist/esm/af-aspect-ratio.entry.js +1 -1
  334. package/dist/esm/af-button-group.entry.js +1 -1
  335. package/dist/esm/af-button.entry.js +1 -1
  336. package/dist/esm/af-card.entry.js +2 -2
  337. package/dist/esm/af-card.entry.js.map +1 -1
  338. package/dist/esm/af-center.entry.js +1 -1
  339. package/dist/esm/af-checkbox.entry.js +1 -1
  340. package/dist/esm/af-client-carousel.entry.js +21 -6
  341. package/dist/esm/af-client-carousel.entry.js.map +1 -1
  342. package/dist/esm/af-color-swatch.entry.js +1 -1
  343. package/dist/esm/af-contact-item.entry.js +1 -1
  344. package/dist/esm/af-container.entry.js +1 -1
  345. package/dist/esm/af-divider.entry.js +1 -1
  346. package/dist/esm/af-feature-accordion.entry.js +2 -2
  347. package/dist/esm/af-feature-accordion.entry.js.map +1 -1
  348. package/dist/esm/af-feature-card.entry.js +1 -1
  349. package/dist/esm/af-feature-grid.entry.js +1 -1
  350. package/dist/esm/af-fieldset.entry.js +1 -1
  351. package/dist/esm/af-footer-column.entry.js +1 -1
  352. package/dist/esm/af-footer-link.entry.js +1 -1
  353. package/dist/esm/af-footer.entry.js +2 -2
  354. package/dist/esm/af-footer.entry.js.map +1 -1
  355. package/dist/esm/af-grid-callout.entry.js +1 -1
  356. package/dist/esm/af-grid.entry.js +1 -1
  357. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
  358. package/dist/esm/af-heading_5.entry.js +2 -2
  359. package/dist/esm/af-icon-box.entry.js +1 -1
  360. package/dist/esm/af-icon-button.entry.js +1 -1
  361. package/dist/esm/af-icon-text.entry.js +1 -1
  362. package/dist/esm/af-icon.entry.js +1 -1
  363. package/dist/esm/af-illustrated-card.entry.js +2 -2
  364. package/dist/esm/af-illustrated-card.entry.js.map +1 -1
  365. package/dist/esm/af-image.entry.js +1 -1
  366. package/dist/esm/af-in-page-banner.entry.js +2 -2
  367. package/dist/esm/af-in-page-banner.entry.js.map +1 -1
  368. package/dist/esm/af-inline.entry.js +1 -1
  369. package/dist/esm/af-input.entry.js +1 -1
  370. package/dist/esm/af-logo-well.entry.js +1 -1
  371. package/dist/esm/af-nav-accordion-item.entry.js +1 -1
  372. package/dist/esm/af-nav-accordion.entry.js +1 -1
  373. package/dist/esm/af-nav-card.entry.js +1 -1
  374. package/dist/esm/af-nav-menu-nest.entry.js +1 -1
  375. package/dist/esm/af-nav-menu.entry.js +1 -1
  376. package/dist/esm/af-number-badge.entry.js +1 -1
  377. package/dist/esm/af-paperclip-decoration.entry.js +37 -0
  378. package/dist/esm/af-paperclip-decoration.entry.js.map +1 -0
  379. package/dist/esm/af-progress-line.entry.js +3 -3
  380. package/dist/esm/af-radio.entry.js +1 -1
  381. package/dist/esm/af-section.entry.js +3 -3
  382. package/dist/esm/af-show.entry.js +2 -2
  383. package/dist/esm/af-social-link.entry.js +2 -2
  384. package/dist/esm/af-spacer.entry.js +2 -2
  385. package/dist/esm/af-split-section.entry.js +3 -3
  386. package/dist/esm/af-stack.entry.js +2 -2
  387. package/dist/esm/af-stepper-step.entry.js +2 -2
  388. package/dist/esm/af-stepper.entry.js +2 -2
  389. package/dist/esm/af-switch.entry.js +1 -1
  390. package/dist/esm/af-tab-bar.entry.js +1 -1
  391. package/dist/esm/af-tab.entry.js +1 -1
  392. package/dist/esm/af-tag.entry.js +1 -1
  393. package/dist/esm/af-testimonial-carousel.entry.js +2 -2
  394. package/dist/esm/af-testimonial-stat.entry.js +2 -2
  395. package/dist/esm/af-testimonial.entry.js +3 -3
  396. package/dist/esm/af-text-image-nest.entry.js +2 -2
  397. package/dist/esm/af-text-image.entry.js +1 -1
  398. package/dist/esm/af-textarea.entry.js +1 -1
  399. package/dist/esm/af-theme-override.entry.js +2 -2
  400. package/dist/esm/af-typography-lockup.entry.js +11 -5
  401. package/dist/esm/af-typography-lockup.entry.js.map +1 -1
  402. package/dist/esm/af-video-container.entry.js +2 -2
  403. package/dist/esm/af-visually-hidden.entry.js +2 -2
  404. package/dist/esm/affinda.js +3 -3
  405. package/dist/esm/{index-nb89SRN6.js → index-MwnBSqEY.js} +3 -3
  406. package/dist/esm/index-MwnBSqEY.js.map +1 -0
  407. package/dist/esm/index.js +1 -1
  408. package/dist/esm/loader.js +3 -3
  409. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +25 -12
  410. package/dist/types/components/af-paperclip-decoration/af-paperclip-decoration.d.ts +50 -0
  411. package/dist/types/components/af-typography-lockup/af-typography-lockup.d.ts +11 -4
  412. package/dist/types/components.d.ts +233 -46
  413. package/package.json +3 -3
  414. package/dist/affinda/p-07f9580c.entry.js +0 -2
  415. package/dist/affinda/p-50590601.entry.js +0 -2
  416. package/dist/affinda/p-570283f6.entry.js +0 -2
  417. package/dist/affinda/p-9229defb.entry.js +0 -2
  418. package/dist/affinda/p-9229defb.entry.js.map +0 -1
  419. package/dist/affinda/p-b14c1a4b.entry.js +0 -2
  420. package/dist/affinda/p-d60d1943.entry.js +0 -2
  421. package/dist/affinda/p-da999c10.entry.js +0 -2
  422. package/dist/affinda/p-nb89SRN6.js +0 -3
  423. package/dist/affinda/p-nb89SRN6.js.map +0 -1
  424. package/dist/cjs/index-CcvVbx1D.js.map +0 -1
  425. package/dist/components/p-BO4blShf.js +0 -53
  426. package/dist/components/p-BO4blShf.js.map +0 -1
  427. package/dist/components/p-CqQyDZ-4.js.map +0 -1
  428. package/dist/components/p-DRujYIJW.js.map +0 -1
  429. package/dist/components/p-N0xV1Erp.js.map +0 -1
  430. package/dist/esm/index-nb89SRN6.js.map +0 -1
  431. /package/dist/affinda/{p-11e7ddf3.entry.js.map → p-0137e7a5.entry.js.map} +0 -0
  432. /package/dist/affinda/{p-816deae3.entry.js.map → p-0201c8bd.entry.js.map} +0 -0
  433. /package/dist/affinda/{p-94adb381.entry.js.map → p-083fc528.entry.js.map} +0 -0
  434. /package/dist/affinda/{p-f9e3c2b7.entry.js.map → p-0e469ad2.entry.js.map} +0 -0
  435. /package/dist/affinda/{p-6eca2722.entry.js.map → p-15f0bd34.entry.js.map} +0 -0
  436. /package/dist/affinda/{p-2c655ae2.entry.js.map → p-1c96856a.entry.js.map} +0 -0
  437. /package/dist/affinda/{p-4cbdf940.entry.js.map → p-24e74c10.entry.js.map} +0 -0
  438. /package/dist/affinda/{p-ab0b621e.entry.js.map → p-2e6192eb.entry.js.map} +0 -0
  439. /package/dist/affinda/{p-102e8b8c.entry.js.map → p-35607741.entry.js.map} +0 -0
  440. /package/dist/affinda/{p-c7ba4e7f.entry.js.map → p-364ffa25.entry.js.map} +0 -0
  441. /package/dist/affinda/{p-af3f6e16.entry.js.map → p-3ee906de.entry.js.map} +0 -0
  442. /package/dist/affinda/{p-d7e29257.entry.js.map → p-41643147.entry.js.map} +0 -0
  443. /package/dist/affinda/{p-f9b6d1c6.entry.js.map → p-43f40921.entry.js.map} +0 -0
  444. /package/dist/affinda/{p-8d9d0cb3.entry.js.map → p-48aadea9.entry.js.map} +0 -0
  445. /package/dist/affinda/{p-cc22a8da.entry.js.map → p-49521f2e.entry.js.map} +0 -0
  446. /package/dist/affinda/{p-0f3267ea.entry.js.map → p-4a355b69.entry.js.map} +0 -0
  447. /package/dist/affinda/{p-9bb5202e.entry.js.map → p-4b154e23.entry.js.map} +0 -0
  448. /package/dist/affinda/{p-3ecf43aa.entry.js.map → p-4b2c0698.entry.js.map} +0 -0
  449. /package/dist/affinda/{p-12652bf5.entry.js.map → p-4f59b554.entry.js.map} +0 -0
  450. /package/dist/affinda/{p-401fc5b1.entry.js.map → p-50a67fb6.entry.js.map} +0 -0
  451. /package/dist/affinda/{p-a3865306.entry.js.map → p-5265e82e.entry.js.map} +0 -0
  452. /package/dist/affinda/{p-5e5d16dd.entry.js.map → p-56fe6e6e.entry.js.map} +0 -0
  453. /package/dist/affinda/{p-a4d39bdd.entry.js.map → p-5f6a5741.entry.js.map} +0 -0
  454. /package/dist/affinda/{p-432c7bfc.entry.js.map → p-6c33fee6.entry.js.map} +0 -0
  455. /package/dist/affinda/{p-a002c784.entry.js.map → p-6c58b283.entry.js.map} +0 -0
  456. /package/dist/affinda/{p-1dff35bf.entry.js.map → p-6e40dbdf.entry.js.map} +0 -0
  457. /package/dist/affinda/{p-23aa03dc.entry.js.map → p-76cb736d.entry.js.map} +0 -0
  458. /package/dist/affinda/{p-77ed47d5.entry.js.map → p-78518e6c.entry.js.map} +0 -0
  459. /package/dist/affinda/{p-e78112d9.entry.js.map → p-7867c2ff.entry.js.map} +0 -0
  460. /package/dist/affinda/{p-636045e8.entry.js.map → p-81706709.entry.js.map} +0 -0
  461. /package/dist/affinda/{p-5e444a9a.entry.js.map → p-862a2509.entry.js.map} +0 -0
  462. /package/dist/affinda/{p-7238fc21.entry.js.map → p-86f6dfdc.entry.js.map} +0 -0
  463. /package/dist/affinda/{p-bf941fa7.entry.js.map → p-8c4e3047.entry.js.map} +0 -0
  464. /package/dist/affinda/{p-e0163836.entry.js.map → p-90ef7baa.entry.js.map} +0 -0
  465. /package/dist/affinda/{p-159fe9b1.entry.js.map → p-94f51238.entry.js.map} +0 -0
  466. /package/dist/affinda/{p-3ca3e4dc.entry.js.map → p-95d4696a.entry.js.map} +0 -0
  467. /package/dist/affinda/{p-892f9bc3.entry.js.map → p-9aed7039.entry.js.map} +0 -0
  468. /package/dist/affinda/{p-bfc17d0c.entry.js.map → p-9c1e9bd8.entry.js.map} +0 -0
  469. /package/dist/affinda/{p-8da30e7a.entry.js.map → p-9eba91fd.entry.js.map} +0 -0
  470. /package/dist/affinda/{p-aa5c6cc0.entry.js.map → p-9f3e7116.entry.js.map} +0 -0
  471. /package/dist/affinda/{p-eb96f29b.entry.js.map → p-a35029eb.entry.js.map} +0 -0
  472. /package/dist/affinda/{p-5b3ff010.entry.js.map → p-a6eda8af.entry.js.map} +0 -0
  473. /package/dist/affinda/{p-ef41e743.entry.js.map → p-a71d528d.entry.js.map} +0 -0
  474. /package/dist/affinda/{p-e9f8ef54.entry.js.map → p-a84ae4a5.entry.js.map} +0 -0
  475. /package/dist/affinda/{p-2140698f.entry.js.map → p-ad41f905.entry.js.map} +0 -0
  476. /package/dist/affinda/{p-4e8bd716.entry.js.map → p-b2633acb.entry.js.map} +0 -0
  477. /package/dist/affinda/{p-d54abc45.entry.js.map → p-b2b28366.entry.js.map} +0 -0
  478. /package/dist/affinda/{p-648e2d76.entry.js.map → p-da2d84f7.entry.js.map} +0 -0
  479. /package/dist/affinda/{p-8f6884c8.entry.js.map → p-dbe7ab88.entry.js.map} +0 -0
  480. /package/dist/affinda/{p-be45f85c.entry.js.map → p-e055407b.entry.js.map} +0 -0
  481. /package/dist/affinda/{p-97ac8f5f.entry.js.map → p-e1e98cd6.entry.js.map} +0 -0
  482. /package/dist/affinda/{p-80c96efd.entry.js.map → p-edb1a010.entry.js.map} +0 -0
  483. /package/dist/affinda/{p-6bb831c5.entry.js.map → p-ef5857cf.entry.js.map} +0 -0
  484. /package/dist/affinda/{p-7b7d9c6a.entry.js.map → p-f9315f9e.entry.js.map} +0 -0
  485. /package/dist/affinda/{p-5ab389c6.entry.js.map → p-feb3d03f.entry.js.map} +0 -0
@@ -19,7 +19,7 @@ var afTab_entry = require('./af-tab.cjs.entry.js');
19
19
  var afTabBar_entry = require('./af-tab-bar.cjs.entry.js');
20
20
  var afFeatureCard_entry = require('./af-feature-card.cjs.entry.js');
21
21
  var afIllustratedCard_entry = require('./af-illustrated-card.cjs.entry.js');
22
- require('./index-CcvVbx1D.js');
22
+ require('./index-BzZA0USq.js');
23
23
 
24
24
 
25
25
 
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-CcvVbx1D.js');
3
+ var index = require('./index-BzZA0USq.js');
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await index.globalScripts();
8
- return index.bootstrapLazy([["af-icon-text.cjs",[[262,"af-icon-text",{"icon":[1],"headingSize":[2,"heading-size"],"orientation":[1],"iconSize":[1,"icon-size"]}]]],["af-testimonial.cjs",[[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"]}]]],["af-feature-card.cjs",[[262,"af-feature-card",{"theme":[1],"layout":[1],"cardSize":[513,"card-size"],"headingSize":[2,"heading-size"],"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"]}]]],["af-illustrated-card.cjs",[[262,"af-illustrated-card",{"theme":[1],"breakpoint":[1],"cardSize":[1,"card-size"]}]]],["af-testimonial-stat.cjs",[[258,"af-testimonial-stat",{"value":[1],"description":[1],"accentBorder":[4,"accent-border"]}]]],["af-video-container.cjs",[[262,"af-video-container",{"videoThumbnailUrl":[1,"video-thumbnail-url"],"videoAlt":[1,"video-alt"],"videoUrl":[1,"video-url"]}]]],["af-feature-grid.cjs",[[262,"af-feature-grid",{"columns":[2],"mobileLayout":[1,"mobile-layout"],"scrollProgress":[32]},null,{"mobileLayout":["onMobileLayoutChange"]}]]],["af-grid-callout.cjs",[[262,"af-grid-callout",{"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"],"imagePosition":[1,"image-position"],"columns":[2],"headingSize":[2,"heading-size"]}]]],["af-in-page-banner.cjs",[[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"]}]]],["af-section.cjs",[[262,"af-section",{"padding":[1],"theme":[1],"container":[4]}]]],["af-split-section.cjs",[[262,"af-split-section",{"topTheme":[1,"top-theme"],"bottomTheme":[1,"bottom-theme"],"padding":[1],"container":[4]}]]],["af-testimonial-carousel.cjs",[[262,"af-testimonial-carousel",{"currentIndex":[32],"isAnimating":[32],"testimonialCount":[32]},[[0,"navPrev","handleNavPrev"],[0,"navNext","handleNavNext"]]]]],["af-text-image.cjs",[[262,"af-text-image",{"imagePosition":[1,"image-position"],"imageProportion":[1,"image-proportion"],"src":[1],"alt":[1],"showSecondLockup":[4,"show-second-lockup"]}]]],["af-accordion.cjs",[[262,"af-accordion",{"mode":[1],"value":[1025],"defaultValue":[1,"default-value"],"internalValue":[32]},[[0,"af-accordion-toggle","handleItemToggle"]],{"value":["handleValueChange"]}]]],["af-accordion-item.cjs",[[257,"af-accordion-item",{"itemId":[513,"item-id"],"open":[1540],"disabled":[516],"contentHeight":[32],"toggle":[64]},null,{"open":["handleOpenChange"]}]]],["af-button-group.cjs",[[257,"af-button-group",{"direction":[1],"gap":[1]}]]],["af-center.cjs",[[257,"af-center",{"axis":[1],"inline":[4],"minHeight":[1,"min-height"]}]]],["af-checkbox.cjs",[[257,"af-checkbox",{"checked":[1540],"indeterminate":[516],"disabled":[516],"name":[1],"value":[1]}]]],["af-client-carousel.cjs",[[262,"af-client-carousel",{"theme":[1],"rows":[2]}]]],["af-color-swatch.cjs",[[257,"af-color-swatch",{"color":[1],"name":[1],"size":[1]}]]],["af-contact-item.cjs",[[262,"af-contact-item",{"label":[1],"value":[1]}]]],["af-divider.cjs",[[257,"af-divider",{"orientation":[1],"spacing":[1]}]]],["af-feature-accordion.cjs",[[262,"af-feature-accordion",{"heading":[1],"items":[1],"cycleInterval":[2,"cycle-interval"],"autoCycle":[4,"auto-cycle"],"expandedIndex":[32],"timerProgress":[32]},null,{"autoCycle":["handleAutoCycleChange"]}]]],["af-fieldset.cjs",[[257,"af-fieldset",{"legend":[1],"orientation":[1],"disabled":[516]}]]],["af-footer.cjs",[[262,"af-footer",{"copyrightText":[1,"copyright-text"],"statusText":[1,"status-text"],"statusUrl":[1,"status-url"],"systemsOperational":[4,"systems-operational"],"showStatus":[4,"show-status"]}]]],["af-footer-column.cjs",[[262,"af-footer-column",{"heading":[1]}]]],["af-footer-link.cjs",[[262,"af-footer-link",{"href":[1],"external":[4]}]]],["af-grid.cjs",[[257,"af-grid",{"columns":[2],"columnsLg":[2,"columns-lg"],"columnsMd":[2,"columns-md"],"columnsSm":[2,"columns-sm"],"gap":[1],"align":[1]}]]],["af-inline.cjs",[[257,"af-inline",{"gap":[1],"align":[1],"justify":[1],"wrap":[4]}]]],["af-input.cjs",[[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]}]]],["af-logo-well.cjs",[[257,"af-logo-well"]]],["af-nav-accordion.cjs",[[262,"af-nav-accordion",{"mode":[1],"breakpoint":[513],"value":[1025],"internalValue":[32]},[[0,"af-nav-accordion-item-toggle","handleItemToggle"]]]]],["af-nav-accordion-item.cjs",[[262,"af-nav-accordion-item",{"itemId":[513,"item-id"],"label":[1],"open":[1540],"disabled":[516],"href":[1],"breakpoint":[513],"contentHeight":[32],"hasTriggerSlot":[32],"hasContent":[32],"toggle":[64]},null,{"open":["handleOpenChange"]}]]],["af-nav-card.cjs",[[258,"af-nav-card",{"heading":[1],"href":[1],"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"],"isHovered":[32]}]]],["af-nav-menu.cjs",[[262,"af-nav-menu",{"heading":[1],"breakpoint":[1],"showBorder":[4,"show-border"],"cardStyle":[516,"card-style"]}]]],["af-nav-menu-nest.cjs",[[262,"af-nav-menu-nest",{"type":[1],"breakpoint":[1],"showSidebarBorder":[516,"show-sidebar-border"]}]]],["af-number-badge.cjs",[[257,"af-number-badge",{"number":[2],"variant":[1],"size":[2]}]]],["af-radio.cjs",[[257,"af-radio",{"checked":[1540],"disabled":[516],"name":[513],"value":[1]}]]],["af-show.cjs",[[257,"af-show",{"above":[1],"below":[1]}]]],["af-social-link.cjs",[[262,"af-social-link",{"href":[1],"label":[1],"icon":[1]}]]],["af-spacer.cjs",[[257,"af-spacer",{"size":[1],"flex":[4],"axis":[1]}]]],["af-stack.cjs",[[257,"af-stack",{"direction":[1],"gap":[1],"align":[1],"justify":[1],"wrap":[4]}]]],["af-stepper.cjs",[[262,"af-stepper",{"orientation":[1]}]]],["af-stepper-step.cjs",[[262,"af-stepper-step",{"index":[514]}]]],["af-switch.cjs",[[257,"af-switch",{"active":[1540],"disabled":[516],"name":[1],"value":[1]}]]],["af-tab.cjs",[[257,"af-tab",{"label":[1],"active":[516],"disabled":[516],"shape":[513],"displayIcon":[4,"display-icon"],"displayNumber":[4,"display-number"],"value":[1]}]]],["af-tab-bar.cjs",[[257,"af-tab-bar",{"shape":[513],"breakpoint":[513]},[[0,"keydown","handleKeyDown"]]]]],["af-tag.cjs",[[257,"af-tag",{"size":[1],"variant":[1],"href":[1]}]]],["af-text-image-nest.cjs",[[262,"af-text-image-nest",{"layout":[1]}]]],["af-textarea.cjs",[[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]}]]],["af-theme-override.cjs",[[262,"af-theme-override",{"theme":[1]}]]],["af-visually-hidden.cjs",[[257,"af-visually-hidden",{"focusable":[4]}]]],["af-icon-box.cjs",[[258,"af-icon-box",{"icon":[1],"size":[1]}]]],["af-aspect-ratio.cjs",[[257,"af-aspect-ratio",{"ratio":[1]}]]],["af-icon-button.cjs",[[257,"af-icon-button",{"variant":[513],"size":[1],"disabled":[4],"href":[1],"type":[1],"ariaLabel":[1,"aria-label"]}]]],["af-image.cjs",[[258,"af-image",{"src":[1],"alt":[1],"shape":[1]}]]],["af-button.cjs",[[257,"af-button",{"variant":[513],"size":[1],"disabled":[4],"type":[1],"href":[1],"hasIconLeft":[32],"hasIconRight":[32]}]]],["af-card.cjs",[[262,"af-card",{"theme":[1],"stretch":[516]}]]],["af-container.cjs",[[257,"af-container",{"maxWidth":[1,"max-width"]}]]],["af-progress-line.cjs",[[258,"af-progress-line",{"progress":[2],"orientation":[1]}]]],["af-heading_5.cjs",[[262,"af-navbar",{"showDefaultLogo":[4,"show-default-logo"],"theme":[1],"forceMobile":[516,"force-mobile"],"mobileMenuOpen":[32],"activeDropdown":[32]},[[0,"click","handleTriggerClick"],[1,"mouseover","handleHover"],[1,"mouseleave","handleHostLeave"],[1,"mouseenter","handleHostEnter"],[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]}]]],["af-icon.cjs",[[257,"af-icon",{"name":[1],"size":[2],"label":[1]}]]],["af-typography-lockup.cjs",[[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"],"hasDescription":[32],"hasButtons":[32]}]]]], options);
8
+ return index.bootstrapLazy([["af-icon-text.cjs",[[262,"af-icon-text",{"icon":[1],"headingSize":[2,"heading-size"],"orientation":[1],"iconSize":[1,"icon-size"]}]]],["af-testimonial.cjs",[[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"]}]]],["af-feature-card.cjs",[[262,"af-feature-card",{"theme":[1],"layout":[1],"cardSize":[513,"card-size"],"headingSize":[2,"heading-size"],"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"]}]]],["af-illustrated-card.cjs",[[262,"af-illustrated-card",{"theme":[1],"breakpoint":[1],"cardSize":[1,"card-size"]}]]],["af-testimonial-stat.cjs",[[258,"af-testimonial-stat",{"value":[1],"description":[1],"accentBorder":[4,"accent-border"]}]]],["af-video-container.cjs",[[262,"af-video-container",{"videoThumbnailUrl":[1,"video-thumbnail-url"],"videoAlt":[1,"video-alt"],"videoUrl":[1,"video-url"]}]]],["af-feature-grid.cjs",[[262,"af-feature-grid",{"columns":[2],"mobileLayout":[1,"mobile-layout"],"scrollProgress":[32]},null,{"mobileLayout":["onMobileLayoutChange"]}]]],["af-grid-callout.cjs",[[262,"af-grid-callout",{"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"],"imagePosition":[1,"image-position"],"columns":[2],"headingSize":[2,"heading-size"]}]]],["af-in-page-banner.cjs",[[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"]}]]],["af-section.cjs",[[262,"af-section",{"padding":[1],"theme":[1],"container":[4]}]]],["af-split-section.cjs",[[262,"af-split-section",{"topTheme":[1,"top-theme"],"bottomTheme":[1,"bottom-theme"],"padding":[1],"container":[4]}]]],["af-testimonial-carousel.cjs",[[262,"af-testimonial-carousel",{"currentIndex":[32],"isAnimating":[32],"testimonialCount":[32]},[[0,"navPrev","handleNavPrev"],[0,"navNext","handleNavNext"]]]]],["af-color-swatch.cjs",[[257,"af-color-swatch",{"color":[1],"name":[1],"size":[1]}]]],["af-image.cjs",[[258,"af-image",{"src":[1],"alt":[1],"shape":[1]}]]],["af-text-image.cjs",[[262,"af-text-image",{"imagePosition":[1,"image-position"],"imageProportion":[1,"image-proportion"],"src":[1],"alt":[1],"showSecondLockup":[4,"show-second-lockup"]}]]],["af-accordion.cjs",[[262,"af-accordion",{"mode":[1],"value":[1025],"defaultValue":[1,"default-value"],"internalValue":[32]},[[0,"af-accordion-toggle","handleItemToggle"]],{"value":["handleValueChange"]}]]],["af-accordion-item.cjs",[[257,"af-accordion-item",{"itemId":[513,"item-id"],"open":[1540],"disabled":[516],"contentHeight":[32],"toggle":[64]},null,{"open":["handleOpenChange"]}]]],["af-button-group.cjs",[[257,"af-button-group",{"direction":[1],"gap":[1]}]]],["af-center.cjs",[[257,"af-center",{"axis":[1],"inline":[4],"minHeight":[1,"min-height"]}]]],["af-checkbox.cjs",[[257,"af-checkbox",{"checked":[1540],"indeterminate":[516],"disabled":[516],"name":[1],"value":[1]}]]],["af-client-carousel.cjs",[[262,"af-client-carousel",{"theme":[1],"rows":[2],"mode":[1]}]]],["af-contact-item.cjs",[[262,"af-contact-item",{"label":[1],"value":[1]}]]],["af-divider.cjs",[[257,"af-divider",{"orientation":[1],"spacing":[1]}]]],["af-feature-accordion.cjs",[[262,"af-feature-accordion",{"heading":[1],"items":[1],"cycleInterval":[2,"cycle-interval"],"autoCycle":[4,"auto-cycle"],"expandedIndex":[32],"timerProgress":[32]},null,{"autoCycle":["handleAutoCycleChange"]}]]],["af-fieldset.cjs",[[257,"af-fieldset",{"legend":[1],"orientation":[1],"disabled":[516]}]]],["af-footer.cjs",[[262,"af-footer",{"copyrightText":[1,"copyright-text"],"statusText":[1,"status-text"],"statusUrl":[1,"status-url"],"systemsOperational":[4,"systems-operational"],"showStatus":[4,"show-status"]}]]],["af-footer-column.cjs",[[262,"af-footer-column",{"heading":[1]}]]],["af-footer-link.cjs",[[262,"af-footer-link",{"href":[1],"external":[4]}]]],["af-grid.cjs",[[257,"af-grid",{"columns":[2],"columnsLg":[2,"columns-lg"],"columnsMd":[2,"columns-md"],"columnsSm":[2,"columns-sm"],"gap":[1],"align":[1]}]]],["af-inline.cjs",[[257,"af-inline",{"gap":[1],"align":[1],"justify":[1],"wrap":[4]}]]],["af-input.cjs",[[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]}]]],["af-logo-well.cjs",[[257,"af-logo-well"]]],["af-nav-accordion.cjs",[[262,"af-nav-accordion",{"mode":[1],"breakpoint":[513],"value":[1025],"internalValue":[32]},[[0,"af-nav-accordion-item-toggle","handleItemToggle"]]]]],["af-nav-accordion-item.cjs",[[262,"af-nav-accordion-item",{"itemId":[513,"item-id"],"label":[1],"open":[1540],"disabled":[516],"href":[1],"breakpoint":[513],"contentHeight":[32],"hasTriggerSlot":[32],"hasContent":[32],"toggle":[64]},null,{"open":["handleOpenChange"]}]]],["af-nav-card.cjs",[[258,"af-nav-card",{"heading":[1],"href":[1],"imageSrc":[1,"image-src"],"imageAlt":[1,"image-alt"],"isHovered":[32]}]]],["af-nav-menu.cjs",[[262,"af-nav-menu",{"heading":[1],"breakpoint":[1],"showBorder":[4,"show-border"],"cardStyle":[516,"card-style"]}]]],["af-nav-menu-nest.cjs",[[262,"af-nav-menu-nest",{"type":[1],"breakpoint":[1],"showSidebarBorder":[516,"show-sidebar-border"]}]]],["af-number-badge.cjs",[[257,"af-number-badge",{"number":[2],"variant":[1],"size":[2]}]]],["af-paperclip-decoration.cjs",[[257,"af-paperclip-decoration",{"width":[1],"height":[1],"opacity":[2],"fill":[1]}]]],["af-radio.cjs",[[257,"af-radio",{"checked":[1540],"disabled":[516],"name":[513],"value":[1]}]]],["af-show.cjs",[[257,"af-show",{"above":[1],"below":[1]}]]],["af-social-link.cjs",[[262,"af-social-link",{"href":[1],"label":[1],"icon":[1]}]]],["af-spacer.cjs",[[257,"af-spacer",{"size":[1],"flex":[4],"axis":[1]}]]],["af-stack.cjs",[[257,"af-stack",{"direction":[1],"gap":[1],"align":[1],"justify":[1],"wrap":[4]}]]],["af-stepper.cjs",[[262,"af-stepper",{"orientation":[1]}]]],["af-stepper-step.cjs",[[262,"af-stepper-step",{"index":[514]}]]],["af-switch.cjs",[[257,"af-switch",{"active":[1540],"disabled":[516],"name":[1],"value":[1]}]]],["af-tab.cjs",[[257,"af-tab",{"label":[1],"active":[516],"disabled":[516],"shape":[513],"displayIcon":[4,"display-icon"],"displayNumber":[4,"display-number"],"value":[1]}]]],["af-tab-bar.cjs",[[257,"af-tab-bar",{"shape":[513],"breakpoint":[513]},[[0,"keydown","handleKeyDown"]]]]],["af-tag.cjs",[[257,"af-tag",{"size":[1],"variant":[1],"href":[1]}]]],["af-text-image-nest.cjs",[[262,"af-text-image-nest",{"layout":[1]}]]],["af-textarea.cjs",[[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]}]]],["af-theme-override.cjs",[[262,"af-theme-override",{"theme":[1]}]]],["af-visually-hidden.cjs",[[257,"af-visually-hidden",{"focusable":[4]}]]],["af-aspect-ratio.cjs",[[257,"af-aspect-ratio",{"ratio":[1]}]]],["af-icon-button.cjs",[[257,"af-icon-button",{"variant":[513],"size":[1],"disabled":[4],"href":[1],"type":[1],"ariaLabel":[1,"aria-label"]}]]],["af-button.cjs",[[257,"af-button",{"variant":[513],"size":[1],"disabled":[4],"type":[1],"href":[1],"hasIconLeft":[32],"hasIconRight":[32]}]]],["af-icon.cjs",[[257,"af-icon",{"name":[1],"size":[2],"label":[1]}]]],["af-icon-box.cjs",[[258,"af-icon-box",{"icon":[1],"size":[1]}]]],["af-card.cjs",[[262,"af-card",{"theme":[1],"stretch":[516]}]]],["af-container.cjs",[[257,"af-container",{"maxWidth":[1,"max-width"]}]]],["af-progress-line.cjs",[[258,"af-progress-line",{"progress":[2],"orientation":[1]}]]],["af-heading_5.cjs",[[262,"af-navbar",{"showDefaultLogo":[4,"show-default-logo"],"theme":[1],"forceMobile":[516,"force-mobile"],"mobileMenuOpen":[32],"activeDropdown":[32]},[[0,"click","handleTriggerClick"],[1,"mouseover","handleHover"],[1,"mouseleave","handleHostLeave"],[1,"mouseenter","handleHostEnter"],[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]}]]],["af-typography-lockup.cjs",[[257,"af-typography-lockup",{"headingSize":[8,"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"],"hasDescription":[32],"hasButtons":[32]}]]]], options);
9
9
  };
10
10
 
11
11
  exports.setNonce = index.setNonce;
@@ -50,6 +50,7 @@
50
50
  "components/af-nav-menu/af-nav-menu.js",
51
51
  "components/af-nav-menu-nest/af-nav-menu-nest.js",
52
52
  "components/af-number-badge/af-number-badge.js",
53
+ "components/af-paperclip-decoration/af-paperclip-decoration.js",
53
54
  "components/af-progress-line/af-progress-line.js",
54
55
  "components/af-section/af-section.js",
55
56
  "components/af-show/af-show.js",
@@ -32,7 +32,10 @@
32
32
  ========================================================================== */
33
33
 
34
34
  .card {
35
- border-radius: var(--border-radius-card-level-1, 32px);
35
+ /* radius-lg (20px) is the Affinda card corner — replaces the bespoke
36
+ * `--border-radius-card-level-1` that previously shimmed in at 32px.
37
+ * Consumers can still override by setting `--af-card-radius` on the host. */
38
+ border-radius: var(--af-card-radius, var(--radius-lg, 20px));
36
39
  overflow: hidden;
37
40
  position: relative;
38
41
  display: flex;
@@ -62,6 +62,42 @@
62
62
  }
63
63
  }
64
64
 
65
+ /* ==========================================================================
66
+ Static Mode
67
+ ==========================================================================
68
+ Non-animated, centred row. Used when the logo set is small enough to
69
+ fit on screen without scrolling (the former website LogoPillRow use
70
+ case). The clone-for-seamless-loop is skipped in TSX, so each logo
71
+ appears exactly once here. */
72
+ .client-carousel.mode-static .logo-track {
73
+ animation: none;
74
+ /* The track is what we centre — the .carousel-row is full-width so
75
+ * it can host the overflow cue in scroll mode; in static mode we
76
+ * centre its child track instead of fighting the row's flex default. */
77
+ justify-content: center;
78
+ /* Let the track grow only as wide as its content so justify-content
79
+ * on the parent row can actually centre it horizontally. */
80
+ flex-wrap: wrap;
81
+ width: 100%;
82
+ }
83
+
84
+ .client-carousel.mode-static .carousel-row {
85
+ justify-content: center;
86
+ /* Static rows have no scrolling motion to mask, so allow the row to
87
+ * expand content-naturally instead of clipping at viewport edges. */
88
+ overflow: visible;
89
+ }
90
+
91
+ .client-carousel.mode-static .carousel-container {
92
+ /* Match the row's no-clip behaviour so wrapped logos stay visible. */
93
+ overflow: visible;
94
+ }
95
+
96
+ .client-carousel.mode-static {
97
+ /* Keep horizontal bleed contained for consistency with scroll mode. */
98
+ overflow: hidden;
99
+ }
100
+
65
101
  @keyframes scroll-left {
66
102
  0% {
67
103
  transform: translateX(0);
@@ -1,36 +1,52 @@
1
1
  import { h, Host } from "@stencil/core";
2
2
  /**
3
- * Infinite scrolling carousel for client logos.
3
+ * Full-width row of client logos, either infinite-scrolling (default)
4
+ * or a centred static row.
4
5
  *
5
6
  * This is a section-level component that spans full width.
6
- * Renders one or two scrolling rows; single row matches the Webflow
7
- * reference, two rows (scrolling opposite directions) is the denser
8
- * variant.
7
+ * Renders one or two rows; single row matches the Webflow reference,
8
+ * two rows is the denser variant. When `mode="scroll"` (default) rows
9
+ * animate in opposite directions; when `mode="static"` rows are centred
10
+ * and the animation is disabled.
9
11
  *
10
12
  * For headlines, use a separate TypographyLockup or Heading component
11
13
  * above this carousel.
12
14
  *
13
- * **Seamless loop:** the CSS animation translates the track from 0% to
14
- * -50% (or vice versa), which only looks continuous if the track holds
15
- * two identical copies of the content end-to-end. Shadow DOM slots can
16
- * only project content once, so we clone the slotted nodes in
17
- * `componentDidLoad` and append the copies to the track.
15
+ * **Seamless loop (scroll mode only):** the CSS animation translates
16
+ * the track from 0% to -50% (or vice versa), which only looks continuous
17
+ * if the track holds two identical copies of the content end-to-end.
18
+ * Shadow DOM slots can only project content once, so we clone the
19
+ * slotted nodes in `componentDidLoad` and append the copies to the track.
20
+ * Static mode skips the clone — nothing is animating, so duplicating
21
+ * the logos would just render them twice.
18
22
  */
19
23
  export class AfClientCarousel {
20
24
  constructor() {
21
25
  /** Theme - sets background color and provides theme context to children */
22
26
  this.theme = 'inkwell';
23
27
  /**
24
- * Number of scrolling rows.
25
- * - `1` (default) — single row scrolling left, matches the Webflow reference.
26
- * - `2` — two rows scrolling in opposite directions.
28
+ * Number of rows.
29
+ * - `1` (default) — single row, matches the Webflow reference.
30
+ * - `2` — two rows (scroll in opposite directions, or stacked when static).
27
31
  *
28
32
  * When `rows="2"`, slot `row-1` and `row-2` independently.
29
33
  * When `rows="1"`, slot the default slot (unnamed) or `row-1`.
30
34
  */
31
35
  this.rows = 1;
36
+ /**
37
+ * Layout mode.
38
+ * - `scroll` (default) — infinite animated scroll; rows fill the full
39
+ * width and are cloned for a seamless loop.
40
+ * - `static` — no animation, logos centred horizontally. Use when the
41
+ * logo set is small enough to fit on screen without scrolling.
42
+ */
43
+ this.mode = 'scroll';
32
44
  }
33
45
  componentDidLoad() {
46
+ // Static mode doesn't animate, so the clone trick isn't needed —
47
+ // skipping it avoids rendering every logo twice.
48
+ if (this.mode === 'static')
49
+ return;
34
50
  this.duplicateTrackContent(this.row1TrackRef);
35
51
  if (Number(this.rows) === 2) {
36
52
  this.duplicateTrackContent(this.row2TrackRef);
@@ -59,7 +75,10 @@ export class AfClientCarousel {
59
75
  }
60
76
  render() {
61
77
  const rows = Number(this.rows);
62
- return (h(Host, { key: '46f4a3c383b4f067cc74697860d437e38428a94c', class: `theme-${this.theme}` }, h("div", { key: '3a112f1ba371dee4fbea77994ff2ce5b33d85702', class: `client-carousel theme-${this.theme} rows-${rows}` }, h("div", { key: '32bf5229631e03fdae350f2224cbc7c2728b164d', class: "carousel-container" }, h("div", { key: '265e1f762ad375913bb0d308a1ab313bb75b76c0', class: "carousel-row scroll-left" }, h("div", { key: 'd92c38d3ff861cc1f422b261cf6239dd59b8dbfc', class: "logo-track", ref: (el) => (this.row1TrackRef = el) }, h("slot", { key: 'bf82ec86369fd9bb927a003108959eb7f8ede1bf', name: "row-1" }, h("slot", { key: '6845159319fb23679e7b27968dbe8f86cc7d4bd1' })))), rows === 2 && (h("div", { key: 'a0327e6d2f98e1e34c3ab7b763565b73e511d90d', class: "carousel-row scroll-right" }, h("div", { key: 'ead9bd1658eb547b23967463f84a3a9575e43ad5', class: "logo-track", ref: (el) => (this.row2TrackRef = el) }, h("slot", { key: 'f849ded863bd0ece4cca88143f45c658aa0c9e83', name: "row-2" }))))))));
78
+ // Direction classes are left on in static mode too the `.mode-static`
79
+ // CSS rule overrides `animation` to `none`, so the direction is a no-op
80
+ // visually but keeps the markup shape consistent across modes.
81
+ return (h(Host, { key: 'a60dab195d08a5afa44c871598584c1175cff4af', class: `theme-${this.theme} mode-${this.mode}` }, h("div", { key: 'dafd6b1501a592ceaa0b9babc27d2437ccfb2c62', class: `client-carousel theme-${this.theme} rows-${rows} mode-${this.mode}` }, h("div", { key: 'c318457802deebbc34b289b2d83d0dd50c15cc5c', class: "carousel-container" }, h("div", { key: '878d1a443b488828f54e6915cede096654624435', class: "carousel-row scroll-left" }, h("div", { key: '1e8751fc3ed7429196b6d7e5e9e6fb0255ab277c', class: "logo-track", ref: (el) => (this.row1TrackRef = el) }, h("slot", { key: 'd030308358617334fa318abd95780133d13a0b01', name: "row-1" }, h("slot", { key: '230f591311b0245946dd64c465fe7e9634a9ab99' })))), rows === 2 && (h("div", { key: 'd942aaa3e6994e73f1ad52a2deedc9564f6105fd', class: "carousel-row scroll-right" }, h("div", { key: '96e438271bee8bd840a7645b1634fc0e125617de', class: "logo-track", ref: (el) => (this.row2TrackRef = el) }, h("slot", { key: '90661d285bc8f65b1d1188f66a15edf60503b1a3', name: "row-2" }))))))));
63
82
  }
64
83
  static get is() { return "af-client-carousel"; }
65
84
  static get encapsulation() { return "scoped"; }
@@ -112,13 +131,38 @@ export class AfClientCarousel {
112
131
  "optional": false,
113
132
  "docs": {
114
133
  "tags": [],
115
- "text": "Number of scrolling rows.\n- `1` (default) \u2014 single row scrolling left, matches the Webflow reference.\n- `2` \u2014 two rows scrolling in opposite directions.\n\nWhen `rows=\"2\"`, slot `row-1` and `row-2` independently.\nWhen `rows=\"1\"`, slot the default slot (unnamed) or `row-1`."
134
+ "text": "Number of rows.\n- `1` (default) \u2014 single row, matches the Webflow reference.\n- `2` \u2014 two rows (scroll in opposite directions, or stacked when static).\n\nWhen `rows=\"2\"`, slot `row-1` and `row-2` independently.\nWhen `rows=\"1\"`, slot the default slot (unnamed) or `row-1`."
116
135
  },
117
136
  "getter": false,
118
137
  "setter": false,
119
138
  "reflect": false,
120
139
  "attribute": "rows",
121
140
  "defaultValue": "1"
141
+ },
142
+ "mode": {
143
+ "type": "string",
144
+ "mutable": false,
145
+ "complexType": {
146
+ "original": "Mode",
147
+ "resolved": "\"scroll\" | \"static\"",
148
+ "references": {
149
+ "Mode": {
150
+ "location": "global",
151
+ "id": "global::Mode"
152
+ }
153
+ }
154
+ },
155
+ "required": false,
156
+ "optional": false,
157
+ "docs": {
158
+ "tags": [],
159
+ "text": "Layout mode.\n- `scroll` (default) \u2014 infinite animated scroll; rows fill the full\n width and are cloned for a seamless loop.\n- `static` \u2014 no animation, logos centred horizontally. Use when the\n logo set is small enough to fit on screen without scrolling."
160
+ },
161
+ "getter": false,
162
+ "setter": false,
163
+ "reflect": false,
164
+ "attribute": "mode",
165
+ "defaultValue": "'scroll'"
122
166
  }
123
167
  };
124
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"af-client-carousel.js","sourceRoot":"","sources":["../../../src/components/af-client-carousel/af-client-carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAIlE;;;;;;;;;;;;;;;;GAgBG;AAUH,MAAM,OAAO,gBAAgB;IAT7B;QAYE,2EAA2E;QACnE,UAAK,GAAU,SAAS,CAAC;QAEjC;;;;;;;WAOG;QACK,SAAI,GAAU,CAAC,CAAC;KA6DzB;IAxDC,gBAAgB;QACd,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,qBAAqB,CAAC,KAA8B;QAC1D,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CACjD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,KAAqB,CAAC,YAAY,CAAC,qBAAqB,CAAC,CACvE,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;YAChD,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAC1C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,EAAE;YAChC,4DAAK,KAAK,EAAE,yBAAyB,IAAI,CAAC,KAAK,SAAS,IAAI,EAAE;gBAC5D,4DAAK,KAAK,EAAC,oBAAoB;oBAC7B,4DAAK,KAAK,EAAC,0BAA0B;wBACnC,4DAAK,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BAC3D,6DAAM,IAAI,EAAC,OAAO;gCAChB,8DAAa,CACR,CACH,CACF;oBAEL,IAAI,KAAK,CAAC,IAAI,CACb,4DAAK,KAAK,EAAC,2BAA2B;wBACpC,4DAAK,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BAC3D,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACF,CACP,CACG,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core';\n\ntype Theme = 'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory';\n\n/**\n * Infinite scrolling carousel for client logos.\n *\n * This is a section-level component that spans full width.\n * Renders one or two scrolling rows; single row matches the Webflow\n * reference, two rows (scrolling opposite directions) is the denser\n * variant.\n *\n * For headlines, use a separate TypographyLockup or Heading component\n * above this carousel.\n *\n * **Seamless loop:** the CSS animation translates the track from 0% to\n * -50% (or vice versa), which only looks continuous if the track holds\n * two identical copies of the content end-to-end. Shadow DOM slots can\n * only project content once, so we clone the slotted nodes in\n * `componentDidLoad` and append the copies to the track.\n */\n@Component({\n tag: 'af-client-carousel',\n styleUrl: 'af-client-carousel.css',\n // Scoped (not shadow) so that cloned nodes inherit the consumer's\n // external CSS (e.g. Astro-scoped `.logo-pill` on the SiteHeader\n // carousel). Shadow DOM would seal the clones off from outer styles.\n shadow: false,\n scoped: true,\n})\nexport class AfClientCarousel {\n @Element() el!: HTMLElement;\n\n /** Theme - sets background color and provides theme context to children */\n @Prop() theme: Theme = 'inkwell';\n\n /**\n * Number of scrolling rows.\n * - `1` (default) — single row scrolling left, matches the Webflow reference.\n * - `2` — two rows scrolling in opposite directions.\n *\n * When `rows=\"2\"`, slot `row-1` and `row-2` independently.\n * When `rows=\"1\"`, slot the default slot (unnamed) or `row-1`.\n */\n @Prop() rows: 1 | 2 = 1;\n\n private row1TrackRef?: HTMLElement;\n private row2TrackRef?: HTMLElement;\n\n componentDidLoad() {\n this.duplicateTrackContent(this.row1TrackRef);\n if (Number(this.rows) === 2) {\n this.duplicateTrackContent(this.row2TrackRef);\n }\n }\n\n /**\n * Append clones of every existing track child into the track so the\n * -50% translate animation loops seamlessly. Marks clones with\n * `aria-hidden` and `data-carousel-clone` so assistive tech ignores\n * them and we can skip them when re-duplicating.\n *\n * In scoped mode, slotted content is moved into the track as regular\n * children (there's no `<slot>` element to read from), so we just\n * iterate direct children that aren't themselves prior clones.\n */\n private duplicateTrackContent(track: HTMLElement | undefined) {\n if (!track) return;\n const originals = Array.from(track.children).filter(\n (child) => !(child as HTMLElement).hasAttribute('data-carousel-clone'),\n );\n originals.forEach((el) => {\n const clone = el.cloneNode(true) as HTMLElement;\n clone.setAttribute('data-carousel-clone', '');\n clone.setAttribute('aria-hidden', 'true');\n track.appendChild(clone);\n });\n }\n\n render() {\n const rows = Number(this.rows);\n return (\n <Host class={`theme-${this.theme}`}>\n <div class={`client-carousel theme-${this.theme} rows-${rows}`}>\n <div class=\"carousel-container\">\n <div class=\"carousel-row scroll-left\">\n <div class=\"logo-track\" ref={(el) => (this.row1TrackRef = el)}>\n <slot name=\"row-1\">\n <slot></slot>\n </slot>\n </div>\n </div>\n\n {rows === 2 && (\n <div class=\"carousel-row scroll-right\">\n <div class=\"logo-track\" ref={(el) => (this.row2TrackRef = el)}>\n <slot name=\"row-2\"></slot>\n </div>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"af-client-carousel.js","sourceRoot":"","sources":["../../../src/components/af-client-carousel/af-client-carousel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAKlE;;;;;;;;;;;;;;;;;;;;GAoBG;AAUH,MAAM,OAAO,gBAAgB;IAT7B;QAYE,2EAA2E;QACnE,UAAK,GAAU,SAAS,CAAC;QAEjC;;;;;;;WAOG;QACK,SAAI,GAAU,CAAC,CAAC;QAExB;;;;;;WAMG;QACK,SAAI,GAAS,QAAQ,CAAC;KAmE/B;IA9DC,gBAAgB;QACd,iEAAiE;QACjE,iDAAiD;QACjD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO;QACnC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACK,qBAAqB,CAAC,KAA8B;QAC1D,IAAI,CAAC,KAAK;YAAE,OAAO;QACnB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,MAAM,CACjD,CAAC,KAAK,EAAE,EAAE,CAAC,CAAE,KAAqB,CAAC,YAAY,CAAC,qBAAqB,CAAC,CACvE,CAAC;QACF,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;YACvB,MAAM,KAAK,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CAAgB,CAAC;YAChD,KAAK,CAAC,YAAY,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;YAC9C,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAC1C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,wEAAwE;QACxE,wEAAwE;QACxE,+DAA+D;QAC/D,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,SAAS,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,IAAI,EAAE;YAClD,4DAAK,KAAK,EAAE,yBAAyB,IAAI,CAAC,KAAK,SAAS,IAAI,SAAS,IAAI,CAAC,IAAI,EAAE;gBAC9E,4DAAK,KAAK,EAAC,oBAAoB;oBAC7B,4DAAK,KAAK,EAAC,0BAA0B;wBACnC,4DAAK,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BAC3D,6DAAM,IAAI,EAAC,OAAO;gCAChB,8DAAa,CACR,CACH,CACF;oBAEL,IAAI,KAAK,CAAC,IAAI,CACb,4DAAK,KAAK,EAAC,2BAA2B;wBACpC,4DAAK,KAAK,EAAC,YAAY,EAAC,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;4BAC3D,6DAAM,IAAI,EAAC,OAAO,GAAQ,CACtB,CACF,CACP,CACG,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, h, Host, Prop } from '@stencil/core';\n\ntype Theme = 'white' | 'inkwell' | 'mist-green' | 'soft-clay' | 'white-ivory';\ntype Mode = 'scroll' | 'static';\n\n/**\n * Full-width row of client logos, either infinite-scrolling (default)\n * or a centred static row.\n *\n * This is a section-level component that spans full width.\n * Renders one or two rows; single row matches the Webflow reference,\n * two rows is the denser variant. When `mode=\"scroll\"` (default) rows\n * animate in opposite directions; when `mode=\"static\"` rows are centred\n * and the animation is disabled.\n *\n * For headlines, use a separate TypographyLockup or Heading component\n * above this carousel.\n *\n * **Seamless loop (scroll mode only):** the CSS animation translates\n * the track from 0% to -50% (or vice versa), which only looks continuous\n * if the track holds two identical copies of the content end-to-end.\n * Shadow DOM slots can only project content once, so we clone the\n * slotted nodes in `componentDidLoad` and append the copies to the track.\n * Static mode skips the clone — nothing is animating, so duplicating\n * the logos would just render them twice.\n */\n@Component({\n tag: 'af-client-carousel',\n styleUrl: 'af-client-carousel.css',\n // Scoped (not shadow) so that cloned nodes inherit the consumer's\n // external CSS (e.g. Astro-scoped `.logo-pill` on the SiteHeader\n // carousel). Shadow DOM would seal the clones off from outer styles.\n shadow: false,\n scoped: true,\n})\nexport class AfClientCarousel {\n @Element() el!: HTMLElement;\n\n /** Theme - sets background color and provides theme context to children */\n @Prop() theme: Theme = 'inkwell';\n\n /**\n * Number of rows.\n * - `1` (default) — single row, matches the Webflow reference.\n * - `2` — two rows (scroll in opposite directions, or stacked when static).\n *\n * When `rows=\"2\"`, slot `row-1` and `row-2` independently.\n * When `rows=\"1\"`, slot the default slot (unnamed) or `row-1`.\n */\n @Prop() rows: 1 | 2 = 1;\n\n /**\n * Layout mode.\n * - `scroll` (default) — infinite animated scroll; rows fill the full\n * width and are cloned for a seamless loop.\n * - `static` — no animation, logos centred horizontally. Use when the\n * logo set is small enough to fit on screen without scrolling.\n */\n @Prop() mode: Mode = 'scroll';\n\n private row1TrackRef?: HTMLElement;\n private row2TrackRef?: HTMLElement;\n\n componentDidLoad() {\n // Static mode doesn't animate, so the clone trick isn't needed —\n // skipping it avoids rendering every logo twice.\n if (this.mode === 'static') return;\n this.duplicateTrackContent(this.row1TrackRef);\n if (Number(this.rows) === 2) {\n this.duplicateTrackContent(this.row2TrackRef);\n }\n }\n\n /**\n * Append clones of every existing track child into the track so the\n * -50% translate animation loops seamlessly. Marks clones with\n * `aria-hidden` and `data-carousel-clone` so assistive tech ignores\n * them and we can skip them when re-duplicating.\n *\n * In scoped mode, slotted content is moved into the track as regular\n * children (there's no `<slot>` element to read from), so we just\n * iterate direct children that aren't themselves prior clones.\n */\n private duplicateTrackContent(track: HTMLElement | undefined) {\n if (!track) return;\n const originals = Array.from(track.children).filter(\n (child) => !(child as HTMLElement).hasAttribute('data-carousel-clone'),\n );\n originals.forEach((el) => {\n const clone = el.cloneNode(true) as HTMLElement;\n clone.setAttribute('data-carousel-clone', '');\n clone.setAttribute('aria-hidden', 'true');\n track.appendChild(clone);\n });\n }\n\n render() {\n const rows = Number(this.rows);\n // Direction classes are left on in static mode too — the `.mode-static`\n // CSS rule overrides `animation` to `none`, so the direction is a no-op\n // visually but keeps the markup shape consistent across modes.\n return (\n <Host class={`theme-${this.theme} mode-${this.mode}`}>\n <div class={`client-carousel theme-${this.theme} rows-${rows} mode-${this.mode}`}>\n <div class=\"carousel-container\">\n <div class=\"carousel-row scroll-left\">\n <div class=\"logo-track\" ref={(el) => (this.row1TrackRef = el)}>\n <slot name=\"row-1\">\n <slot></slot>\n </slot>\n </div>\n </div>\n\n {rows === 2 && (\n <div class=\"carousel-row scroll-right\">\n <div class=\"logo-track\" ref={(el) => (this.row2TrackRef = el)}>\n <slot name=\"row-2\"></slot>\n </div>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"]}
@@ -1,3 +1,25 @@
1
+ /*
2
+ * af-feature-accordion
3
+ * ---------------------------------------------------------------------------
4
+ * Themable CSS custom properties (safe to override from consumers):
5
+ *
6
+ * --af-accent-progress Colour of the per-item timer/progress bar.
7
+ * Defaults to --colour-softclay-600 (brand
8
+ * soft-clay). Override to retheme the accent.
9
+ * --af-feature-accordion-image-pad
10
+ * Padding around the accompanying image
11
+ * inside its rounded container. Defaults to
12
+ * 40px — tune for tighter or looser rhythm.
13
+ *
14
+ * The component also inherits the following theme tokens from its parent
15
+ * <af-section> (or any ancestor setting them):
16
+ *
17
+ * --af-typography-heading-primary heading colour
18
+ * --af-typography-body-default body colour
19
+ * --af-background-border-default rule/divider colour
20
+ * --af-background-level-1 image-container background
21
+ */
22
+
1
23
  :host {
2
24
  display: block;
3
25
  width: 100%;
@@ -6,12 +28,11 @@
6
28
  .feature-accordion {
7
29
  /* Inherits theme from parent Section via CSS custom properties */
8
30
  padding: 0 24px;
9
-
31
+
10
32
  /* Internal custom properties that inherit from parent Section's theme */
11
33
  --_heading-color: var(--af-typography-heading-primary, var(--colour-brand-inkwell, #14343b));
12
34
  --_body-color: var(--af-typography-body-default, var(--colour-inkwell-400, #2b484f));
13
35
  --_border-color: var(--af-background-border-default, rgba(20, 52, 59, 0.12));
14
- --_level-1-bg: var(--af-background-level-1, var(--colour-mistgreen-300, #dde6e3));
15
36
  }
16
37
 
17
38
  .feature-accordion__heading {
@@ -120,7 +141,7 @@
120
141
 
121
142
  .accordion-item__timer-progress {
122
143
  height: 100%;
123
- background-color: var(--colour-brand-ice, #a6fffb);
144
+ background-color: var(--af-accent-progress, var(--colour-softclay-600, #9e8765));
124
145
  border-radius: 2px;
125
146
  transition: width 0.05s linear;
126
147
  }
@@ -130,7 +151,8 @@
130
151
  display: flex;
131
152
  align-items: center;
132
153
  justify-content: center;
133
- background-color: var(--_level-1-bg);
154
+ /* Flows from parent Section's theme; mist-green fallback for unthemed use */
155
+ background-color: var(--af-background-level-1, var(--colour-mistgreen-300, #dde6e3));
134
156
  border-radius: 20px;
135
157
  overflow: hidden;
136
158
  flex: 1;
@@ -142,7 +164,7 @@
142
164
  align-items: center;
143
165
  justify-content: center;
144
166
  width: 100%;
145
- padding: 32px;
167
+ padding: var(--af-feature-accordion-image-pad, 40px);
146
168
  }
147
169
 
148
170
  .feature-accordion__image {
@@ -178,11 +178,14 @@
178
178
  }
179
179
 
180
180
  .footer__status-dot--operational {
181
- background-color: #22c55e;
181
+ /* Affinda-palette green — tuned to sit comfortably against the inkwell
182
+ * footer backdrop without the candy-bright Tailwind default. */
183
+ background-color: var(--status-ok, #3E8F6E);
182
184
  }
183
185
 
184
186
  .footer__status-dot--issue {
185
- background-color: #ef4444;
187
+ /* Affinda-palette red — darkened toward soft-clay to match brand tone. */
188
+ background-color: var(--status-issue, #B94A3B);
186
189
  }
187
190
 
188
191
  .footer__status-text {
@@ -79,13 +79,17 @@
79
79
  justify-content: center;
80
80
  }
81
81
 
82
- /* Illustration image styling */
82
+ /* Illustration image styling. The inner image gets the same corner radius
83
+ * (radius-lg / 20px) as the outer af-card so art with a photographic edge
84
+ * stays within the card's rounded frame. Consumers of af-illustrated-card
85
+ * previously hand-rolled this value; it now comes from the token ladder. */
83
86
  .illustrated-card__illustration-area ::slotted(img),
84
87
  .illustrated-card__illustration-area img {
85
88
  max-width: 100%;
86
89
  max-height: 200px;
87
90
  height: auto;
88
91
  object-fit: contain;
92
+ border-radius: var(--radius-lg, 20px);
89
93
  }
90
94
 
91
95
  /* ==========================================================================
@@ -5,10 +5,10 @@
5
5
 
6
6
  /* ==========================================================================
7
7
  Banner Container
8
-
8
+
9
9
  Design specs from Figma:
10
10
  - Desktop: max-width 1280px, gap 40px, left padding 40px, right padding 148px
11
- - Border radius: 32px (desktop), 24px (mobile)
11
+ - Border radius: radius-lg (20px) aligned with af-card across the token ladder
12
12
  - Content padding vertical: 48px (margins/margin TB tight)
13
13
  ========================================================================== */
14
14
 
@@ -21,7 +21,7 @@
21
21
  padding-right: 148px;
22
22
  padding-top: 0;
23
23
  padding-bottom: 0;
24
- border-radius: var(--radii-card-level-1, 32px);
24
+ border-radius: var(--radius-lg, 20px);
25
25
  overflow: hidden;
26
26
  max-width: 1280px;
27
27
  width: 100%;
@@ -290,7 +290,9 @@
290
290
  flex-direction: column;
291
291
  align-items: stretch;
292
292
  padding: 224px 0 0 0;
293
- border-radius: var(--radii-card-level-1-mobile, 24px);
293
+ /* Mobile keeps the same 20px corner as desktop — simpler after the
294
+ * token ladder consolidation. */
295
+ border-radius: var(--radius-lg, 20px);
294
296
  max-width: 100%;
295
297
  min-height: auto;
296
298
  }
@@ -134,7 +134,10 @@
134
134
  background: var(--colour-background-base, #ffffff);
135
135
  border-radius: 32px;
136
136
  overflow: hidden;
137
- box-shadow: 0 4px 24px rgba(20, 52, 59, 0.12);
137
+ /* shadow-navbar replaces the hand-rolled `0 4px 24px rgba(20, 52, 59, 0.12)`;
138
+ * same value, now sourced from the token ladder so the marketing site can
139
+ * retire its matching bespoke rule. */
140
+ box-shadow: var(--shadow-navbar, 0 4px 24px rgba(20, 52, 59, 0.12));
138
141
  }
139
142
 
140
143
  /* Hide empty dropdown slots */
@@ -0,0 +1,11 @@
1
+ :host {
2
+ display: block;
3
+ /* Decorative-only; host is sized/positioned by the consumer. */
4
+ pointer-events: none;
5
+ }
6
+
7
+ svg {
8
+ display: block;
9
+ /* Let the SVG honour its own width/height attributes rather than
10
+ inheriting host dimensions. */
11
+ }
@@ -0,0 +1,152 @@
1
+ import { h, Host } from "@stencil/core";
2
+ /**
3
+ * Decorative paperclip vector graphic. Renders the left-half paperclip
4
+ * silhouette (viewBox `0 0 655 754`) that the marketing site bleeds off
5
+ * the right edge of inkwell hero sections.
6
+ *
7
+ * Purely decorative — the inner `<svg>` is `aria-hidden="true"`. Size it
8
+ * via the `width` / `height` props (they accept any CSS length, e.g.
9
+ * `"655"`, `"100%"`, `"50vw"`) and position the host element in CSS.
10
+ *
11
+ * `fill` is white by default (intended for inkwell backgrounds); override
12
+ * for other themes, e.g. `fill="var(--colour-brand-inkwell)"` on a
13
+ * mist-green section. `opacity` defaults to `0.06` to match the
14
+ * watermark treatment used on `/`, `/au`, and `/platform`.
15
+ *
16
+ * @example
17
+ * ```html
18
+ * <af-section theme="inkwell" padding="loose" style="position:relative;overflow:hidden">
19
+ * <af-paperclip-decoration
20
+ * style="position:absolute;bottom:-80px;right:-80px"
21
+ * ></af-paperclip-decoration>
22
+ * <af-container style="position:relative;z-index:1">
23
+ * <!-- hero content -->
24
+ * </af-container>
25
+ * </af-section>
26
+ * ```
27
+ */
28
+ export class AfPaperclipDecoration {
29
+ constructor() {
30
+ /**
31
+ * SVG width — accepts any CSS length or unitless number (pixels).
32
+ * Defaults to the intrinsic viewBox width (`655`).
33
+ */
34
+ this.width = '655';
35
+ /**
36
+ * SVG height — accepts any CSS length or unitless number (pixels).
37
+ * Defaults to the intrinsic viewBox height (`754`).
38
+ */
39
+ this.height = '754';
40
+ /**
41
+ * Fill opacity of the paperclip shape. Defaults to `0.06` to match the
42
+ * marketing-site watermark treatment.
43
+ */
44
+ this.opacity = 0.06;
45
+ /**
46
+ * Fill colour. Defaults to `white` (designed for inkwell backgrounds);
47
+ * override for other themes, e.g. `var(--colour-brand-inkwell)` on a
48
+ * mist-green section.
49
+ */
50
+ this.fill = 'white';
51
+ }
52
+ render() {
53
+ return (h(Host, { key: '679d13bd4d4824752eb722a39fda943553da8a30' }, h("svg", { key: 'dc6ea4d9fe9c09512d48b09c0a95ec8fd6a4f2f2', "aria-hidden": "true", width: this.width, height: this.height, viewBox: "0 0 655 754", fill: "none", xmlns: "http://www.w3.org/2000/svg", preserveAspectRatio: "none" }, h("path", { key: '0b9121fa25531dd6725b0db1e2174d3df9bafc3b', d: "M1102.14 108.279C1031.8 37.5181 939.128 -1.06817 840.61 0.447304H358.674L262.104 157.124H841.87C842.558 157.124 843.36 157.124 844.047 157.124C900.638 157.124 953.791 179.273 994 219.725C1035.24 261.225 1058.04 316.715 1058.04 376.052C1058.04 497.872 960.665 596.844 841.068 596.844H251.335C197.609 596.844 153.848 552.313 153.848 497.639C153.848 442.965 197.723 397.734 251.221 396.102H779.208L878.872 239.426H248.586C111.577 242.923 0 358.682 0 497.639C0 636.596 112.723 753.404 251.335 753.404H841.068C1045.55 753.404 1212 584.021 1212 375.935C1212 274.398 1173.05 179.39 1102.26 108.162L1102.14 108.279Z", fill: this.fill, "fill-opacity": this.opacity }))));
54
+ }
55
+ static get is() { return "af-paperclip-decoration"; }
56
+ static get encapsulation() { return "shadow"; }
57
+ static get originalStyleUrls() {
58
+ return {
59
+ "$": ["af-paperclip-decoration.css"]
60
+ };
61
+ }
62
+ static get styleUrls() {
63
+ return {
64
+ "$": ["af-paperclip-decoration.css"]
65
+ };
66
+ }
67
+ static get properties() {
68
+ return {
69
+ "width": {
70
+ "type": "string",
71
+ "mutable": false,
72
+ "complexType": {
73
+ "original": "string",
74
+ "resolved": "string",
75
+ "references": {}
76
+ },
77
+ "required": false,
78
+ "optional": false,
79
+ "docs": {
80
+ "tags": [],
81
+ "text": "SVG width \u2014 accepts any CSS length or unitless number (pixels).\nDefaults to the intrinsic viewBox width (`655`)."
82
+ },
83
+ "getter": false,
84
+ "setter": false,
85
+ "reflect": false,
86
+ "attribute": "width",
87
+ "defaultValue": "'655'"
88
+ },
89
+ "height": {
90
+ "type": "string",
91
+ "mutable": false,
92
+ "complexType": {
93
+ "original": "string",
94
+ "resolved": "string",
95
+ "references": {}
96
+ },
97
+ "required": false,
98
+ "optional": false,
99
+ "docs": {
100
+ "tags": [],
101
+ "text": "SVG height \u2014 accepts any CSS length or unitless number (pixels).\nDefaults to the intrinsic viewBox height (`754`)."
102
+ },
103
+ "getter": false,
104
+ "setter": false,
105
+ "reflect": false,
106
+ "attribute": "height",
107
+ "defaultValue": "'754'"
108
+ },
109
+ "opacity": {
110
+ "type": "number",
111
+ "mutable": false,
112
+ "complexType": {
113
+ "original": "number",
114
+ "resolved": "number",
115
+ "references": {}
116
+ },
117
+ "required": false,
118
+ "optional": false,
119
+ "docs": {
120
+ "tags": [],
121
+ "text": "Fill opacity of the paperclip shape. Defaults to `0.06` to match the\nmarketing-site watermark treatment."
122
+ },
123
+ "getter": false,
124
+ "setter": false,
125
+ "reflect": false,
126
+ "attribute": "opacity",
127
+ "defaultValue": "0.06"
128
+ },
129
+ "fill": {
130
+ "type": "string",
131
+ "mutable": false,
132
+ "complexType": {
133
+ "original": "string",
134
+ "resolved": "string",
135
+ "references": {}
136
+ },
137
+ "required": false,
138
+ "optional": false,
139
+ "docs": {
140
+ "tags": [],
141
+ "text": "Fill colour. Defaults to `white` (designed for inkwell backgrounds);\noverride for other themes, e.g. `var(--colour-brand-inkwell)` on a\nmist-green section."
142
+ },
143
+ "getter": false,
144
+ "setter": false,
145
+ "reflect": false,
146
+ "attribute": "fill",
147
+ "defaultValue": "'white'"
148
+ }
149
+ };
150
+ }
151
+ }
152
+ //# sourceMappingURL=af-paperclip-decoration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"af-paperclip-decoration.js","sourceRoot":"","sources":["../../../src/components/af-paperclip-decoration/af-paperclip-decoration.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,MAAM,OAAO,qBAAqB;IALlC;QAME;;;WAGG;QACK,UAAK,GAAW,KAAK,CAAC;QAE9B;;;WAGG;QACK,WAAM,GAAW,KAAK,CAAC;QAE/B;;;WAGG;QACK,YAAO,GAAW,IAAI,CAAC;QAE/B;;;;WAIG;QACK,SAAI,GAAW,OAAO,CAAC;KAuBhC;IArBC,MAAM;QACJ,OAAO,CACL,EAAC,IAAI;YACH,2EACc,MAAM,EAClB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,OAAO,EAAC,aAAa,EACrB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,EAClC,mBAAmB,EAAC,MAAM;gBAE1B,6DACE,CAAC,EAAC,imBAAimB,EACnmB,IAAI,EAAE,IAAI,CAAC,IAAI,kBACD,IAAI,CAAC,OAAO,GAC1B,CACE,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n/**\n * Decorative paperclip vector graphic. Renders the left-half paperclip\n * silhouette (viewBox `0 0 655 754`) that the marketing site bleeds off\n * the right edge of inkwell hero sections.\n *\n * Purely decorative — the inner `<svg>` is `aria-hidden=\"true\"`. Size it\n * via the `width` / `height` props (they accept any CSS length, e.g.\n * `\"655\"`, `\"100%\"`, `\"50vw\"`) and position the host element in CSS.\n *\n * `fill` is white by default (intended for inkwell backgrounds); override\n * for other themes, e.g. `fill=\"var(--colour-brand-inkwell)\"` on a\n * mist-green section. `opacity` defaults to `0.06` to match the\n * watermark treatment used on `/`, `/au`, and `/platform`.\n *\n * @example\n * ```html\n * <af-section theme=\"inkwell\" padding=\"loose\" style=\"position:relative;overflow:hidden\">\n * <af-paperclip-decoration\n * style=\"position:absolute;bottom:-80px;right:-80px\"\n * ></af-paperclip-decoration>\n * <af-container style=\"position:relative;z-index:1\">\n * <!-- hero content -->\n * </af-container>\n * </af-section>\n * ```\n */\n@Component({\n tag: 'af-paperclip-decoration',\n styleUrl: 'af-paperclip-decoration.css',\n shadow: true\n})\nexport class AfPaperclipDecoration {\n /**\n * SVG width — accepts any CSS length or unitless number (pixels).\n * Defaults to the intrinsic viewBox width (`655`).\n */\n @Prop() width: string = '655';\n\n /**\n * SVG height — accepts any CSS length or unitless number (pixels).\n * Defaults to the intrinsic viewBox height (`754`).\n */\n @Prop() height: string = '754';\n\n /**\n * Fill opacity of the paperclip shape. Defaults to `0.06` to match the\n * marketing-site watermark treatment.\n */\n @Prop() opacity: number = 0.06;\n\n /**\n * Fill colour. Defaults to `white` (designed for inkwell backgrounds);\n * override for other themes, e.g. `var(--colour-brand-inkwell)` on a\n * mist-green section.\n */\n @Prop() fill: string = 'white';\n\n render() {\n return (\n <Host>\n <svg\n aria-hidden=\"true\"\n width={this.width}\n height={this.height}\n viewBox=\"0 0 655 754\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n preserveAspectRatio=\"none\"\n >\n <path\n d=\"M1102.14 108.279C1031.8 37.5181 939.128 -1.06817 840.61 0.447304H358.674L262.104 157.124H841.87C842.558 157.124 843.36 157.124 844.047 157.124C900.638 157.124 953.791 179.273 994 219.725C1035.24 261.225 1058.04 316.715 1058.04 376.052C1058.04 497.872 960.665 596.844 841.068 596.844H251.335C197.609 596.844 153.848 552.313 153.848 497.639C153.848 442.965 197.723 397.734 251.221 396.102H779.208L878.872 239.426H248.586C111.577 242.923 0 358.682 0 497.639C0 636.596 112.723 753.404 251.335 753.404H841.068C1045.55 753.404 1212 584.021 1212 375.935C1212 274.398 1173.05 179.39 1102.26 108.162L1102.14 108.279Z\"\n fill={this.fill}\n fill-opacity={this.opacity}\n />\n </svg>\n </Host>\n );\n }\n}\n"]}