@affinda/wc 0.0.14 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (767) hide show
  1. package/dist/affinda/af-aspect-ratio.entry.esm.js.map +1 -1
  2. package/dist/affinda/af-button.entry.esm.js.map +1 -1
  3. package/dist/affinda/af-card.entry.esm.js.map +1 -1
  4. package/dist/affinda/af-checkbox.entry.esm.js.map +1 -0
  5. package/dist/affinda/af-client-carousel.entry.esm.js.map +1 -1
  6. package/dist/affinda/af-feature-accordion.entry.esm.js.map +1 -1
  7. package/dist/affinda/af-feature-card.entry.esm.js.map +1 -0
  8. package/dist/affinda/af-feature-grid.entry.esm.js.map +1 -0
  9. package/dist/affinda/af-fieldset.entry.esm.js.map +1 -0
  10. package/dist/affinda/af-footer.entry.esm.js.map +1 -1
  11. package/dist/affinda/af-grid-callout.entry.esm.js.map +1 -0
  12. package/dist/affinda/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.esm.js.map +1 -1
  13. package/dist/affinda/af-hero-section.entry.esm.js.map +1 -1
  14. package/dist/affinda/af-icon-box.entry.esm.js.map +1 -0
  15. package/dist/affinda/af-icon-button.entry.esm.js.map +1 -1
  16. package/dist/affinda/af-icon-text.entry.esm.js.map +1 -0
  17. package/dist/affinda/af-icon.entry.esm.js.map +1 -0
  18. package/dist/affinda/af-illustrated-card.entry.esm.js.map +1 -0
  19. package/dist/affinda/af-image.entry.esm.js.map +1 -0
  20. package/dist/affinda/af-in-page-banner.entry.esm.js.map +1 -0
  21. package/dist/affinda/af-input.entry.esm.js.map +1 -0
  22. package/dist/affinda/af-logo-well.entry.esm.js.map +1 -1
  23. package/dist/affinda/af-nav-card.entry.esm.js.map +1 -0
  24. package/dist/affinda/af-nav-menu-nest.entry.esm.js.map +1 -0
  25. package/dist/affinda/af-nav-menu.entry.esm.js.map +1 -0
  26. package/dist/affinda/af-number-badge.entry.esm.js.map +1 -0
  27. package/dist/affinda/af-progress-line.entry.esm.js.map +1 -0
  28. package/dist/affinda/af-radio.entry.esm.js.map +1 -0
  29. package/dist/affinda/af-section.entry.esm.js.map +1 -1
  30. package/dist/affinda/af-split-section.entry.esm.js.map +1 -0
  31. package/dist/affinda/af-switch.entry.esm.js.map +1 -0
  32. package/dist/affinda/af-tab-bar.entry.esm.js.map +1 -0
  33. package/dist/affinda/af-tab.entry.esm.js.map +1 -0
  34. package/dist/affinda/af-tag.entry.esm.js.map +1 -0
  35. package/dist/affinda/af-testimonial-carousel.entry.esm.js.map +1 -1
  36. package/dist/affinda/af-testimonial-stat.entry.esm.js.map +1 -1
  37. package/dist/affinda/af-testimonial.entry.esm.js.map +1 -1
  38. package/dist/affinda/af-text-image-nest.entry.esm.js.map +1 -0
  39. package/dist/affinda/af-text-image.entry.esm.js.map +1 -0
  40. package/dist/affinda/af-textarea.entry.esm.js.map +1 -0
  41. package/dist/affinda/af-typography-lockup.entry.esm.js.map +1 -1
  42. package/dist/affinda/af-video-container.entry.esm.js.map +1 -0
  43. package/dist/affinda/affinda.css +1 -1
  44. package/dist/affinda/affinda.esm.js +1 -1
  45. package/dist/affinda/index.esm.js +1 -1
  46. package/dist/affinda/index.esm.js.map +1 -1
  47. package/dist/affinda/p-0cd160a4.entry.js +2 -0
  48. package/dist/affinda/p-0cd160a4.entry.js.map +1 -0
  49. package/dist/affinda/p-10801ee1.entry.js +2 -0
  50. package/dist/affinda/p-10801ee1.entry.js.map +1 -0
  51. package/dist/affinda/p-1d65fd18.entry.js +2 -0
  52. package/dist/affinda/p-1d65fd18.entry.js.map +1 -0
  53. package/dist/affinda/p-1d9e532f.entry.js +2 -0
  54. package/dist/affinda/p-231ba1d0.entry.js +2 -0
  55. package/dist/affinda/p-231ba1d0.entry.js.map +1 -0
  56. package/dist/affinda/p-2b4dc22c.entry.js +2 -0
  57. package/dist/affinda/p-2b4dc22c.entry.js.map +1 -0
  58. package/dist/affinda/{p-a49dc8ac.entry.js → p-31d4c1a4.entry.js} +2 -2
  59. package/dist/affinda/p-3d3c9f62.entry.js +2 -0
  60. package/dist/affinda/p-3d3c9f62.entry.js.map +1 -0
  61. package/dist/affinda/p-3f691578.entry.js +2 -0
  62. package/dist/affinda/p-3f691578.entry.js.map +1 -0
  63. package/dist/affinda/p-425253ee.entry.js +2 -0
  64. package/dist/affinda/{p-52f7ea33.entry.js.map → p-425253ee.entry.js.map} +1 -1
  65. package/dist/affinda/p-44b25840.entry.js +2 -0
  66. package/dist/affinda/p-44b25840.entry.js.map +1 -0
  67. package/dist/affinda/p-45e1923c.entry.js +2 -0
  68. package/dist/affinda/p-45e1923c.entry.js.map +1 -0
  69. package/dist/affinda/p-52ab3bf0.entry.js +2 -0
  70. package/dist/affinda/p-52ab3bf0.entry.js.map +1 -0
  71. package/dist/affinda/p-53ae16fe.entry.js +2 -0
  72. package/dist/affinda/p-53b5149d.entry.js +2 -0
  73. package/dist/affinda/p-53b5149d.entry.js.map +1 -0
  74. package/dist/affinda/p-57713942.entry.js +2 -0
  75. package/dist/affinda/p-57713942.entry.js.map +1 -0
  76. package/dist/affinda/p-5bbf2c8c.entry.js +2 -0
  77. package/dist/affinda/p-5bbf2c8c.entry.js.map +1 -0
  78. package/dist/affinda/p-697bf0b7.entry.js +2 -0
  79. package/dist/affinda/p-697bf0b7.entry.js.map +1 -0
  80. package/dist/affinda/p-6b2d0ff4.entry.js +2 -0
  81. package/dist/affinda/p-6b2d0ff4.entry.js.map +1 -0
  82. package/dist/affinda/p-71144002.entry.js +2 -0
  83. package/dist/affinda/p-71144002.entry.js.map +1 -0
  84. package/dist/affinda/{p-dec4c4d5.entry.js → p-72f02343.entry.js} +2 -2
  85. package/dist/affinda/p-77bf8a81.entry.js +2 -0
  86. package/dist/affinda/p-77bf8a81.entry.js.map +1 -0
  87. package/dist/affinda/p-7f20fbe0.entry.js +2 -0
  88. package/dist/affinda/p-7f20fbe0.entry.js.map +1 -0
  89. package/dist/affinda/p-81571029.entry.js +2 -0
  90. package/dist/affinda/p-81571029.entry.js.map +1 -0
  91. package/dist/affinda/p-85a78bcf.entry.js +2 -0
  92. package/dist/affinda/p-85a78bcf.entry.js.map +1 -0
  93. package/dist/affinda/p-861f4f57.entry.js +2 -0
  94. package/dist/affinda/p-861f4f57.entry.js.map +1 -0
  95. package/dist/affinda/p-864778d0.entry.js +2 -0
  96. package/dist/affinda/p-864778d0.entry.js.map +1 -0
  97. package/dist/affinda/p-8ea22b5d.entry.js +2 -0
  98. package/dist/affinda/p-8ea22b5d.entry.js.map +1 -0
  99. package/dist/affinda/{p-97f9f774.entry.js → p-96eac3af.entry.js} +2 -2
  100. package/dist/affinda/p-98901734.entry.js +2 -0
  101. package/dist/affinda/p-98901734.entry.js.map +1 -0
  102. package/dist/affinda/p-9f470d8b.entry.js +2 -0
  103. package/dist/affinda/p-9f470d8b.entry.js.map +1 -0
  104. package/dist/affinda/p-BmU_CFQ4.js +3 -0
  105. package/dist/affinda/p-BmU_CFQ4.js.map +1 -0
  106. package/dist/affinda/p-a36abb83.entry.js +2 -0
  107. package/dist/affinda/{p-bf4543ff.entry.js.map → p-a36abb83.entry.js.map} +1 -1
  108. package/dist/affinda/p-a4e4eb4d.entry.js +2 -0
  109. package/dist/affinda/{p-d3b2ab0e.entry.js.map → p-a4e4eb4d.entry.js.map} +1 -1
  110. package/dist/affinda/p-a6365e94.entry.js +2 -0
  111. package/dist/affinda/p-a6365e94.entry.js.map +1 -0
  112. package/dist/affinda/p-aaa28806.entry.js +2 -0
  113. package/dist/affinda/p-aaa28806.entry.js.map +1 -0
  114. package/dist/affinda/p-acbbe39a.entry.js +2 -0
  115. package/dist/affinda/{p-ce89c4f1.entry.js.map → p-acbbe39a.entry.js.map} +1 -1
  116. package/dist/affinda/p-b17735c9.entry.js +2 -0
  117. package/dist/affinda/p-b17735c9.entry.js.map +1 -0
  118. package/dist/affinda/p-b3b0ed0c.entry.js +2 -0
  119. package/dist/affinda/p-b3b0ed0c.entry.js.map +1 -0
  120. package/dist/affinda/p-be049760.entry.js +2 -0
  121. package/dist/affinda/p-be049760.entry.js.map +1 -0
  122. package/dist/affinda/p-c0ee2420.entry.js +2 -0
  123. package/dist/affinda/p-c0ee2420.entry.js.map +1 -0
  124. package/dist/affinda/{p-3a9646e6.entry.js → p-c11088fa.entry.js} +2 -2
  125. package/dist/affinda/p-c298b370.entry.js +2 -0
  126. package/dist/affinda/p-c298b370.entry.js.map +1 -0
  127. package/dist/affinda/p-c3e31251.entry.js +2 -0
  128. package/dist/affinda/p-c3e31251.entry.js.map +1 -0
  129. package/dist/affinda/p-ce3356f1.entry.js +2 -0
  130. package/dist/affinda/p-ce3356f1.entry.js.map +1 -0
  131. package/dist/affinda/p-df148383.entry.js +2 -0
  132. package/dist/affinda/{p-07990b1f.entry.js.map → p-df148383.entry.js.map} +1 -1
  133. package/dist/affinda/{p-f8ac0120.entry.js → p-e5af21c2.entry.js} +2 -2
  134. package/dist/affinda/p-e5d9913c.entry.js +2 -0
  135. package/dist/affinda/p-e5d9913c.entry.js.map +1 -0
  136. package/dist/affinda/p-ea06c83b.entry.js +2 -0
  137. package/dist/affinda/p-ea06c83b.entry.js.map +1 -0
  138. package/dist/affinda/p-f45b0060.entry.js +2 -0
  139. package/dist/affinda/{p-050f98cd.entry.js.map → p-f45b0060.entry.js.map} +1 -1
  140. package/dist/cjs/af-aspect-ratio.cjs.entry.js +2 -2
  141. package/dist/cjs/af-aspect-ratio.entry.cjs.js.map +1 -1
  142. package/dist/cjs/af-button-group.cjs.entry.js +2 -2
  143. package/dist/cjs/af-button.cjs.entry.js +25 -12
  144. package/dist/cjs/af-button.entry.cjs.js.map +1 -1
  145. package/dist/cjs/af-card.cjs.entry.js +17 -7
  146. package/dist/cjs/af-card.entry.cjs.js.map +1 -1
  147. package/dist/cjs/af-checkbox.cjs.entry.js +58 -0
  148. package/dist/cjs/af-checkbox.entry.cjs.js.map +1 -0
  149. package/dist/cjs/af-client-carousel.cjs.entry.js +5 -7
  150. package/dist/cjs/af-client-carousel.entry.cjs.js.map +1 -1
  151. package/dist/cjs/af-color-swatch.cjs.entry.js +1 -1
  152. package/dist/cjs/af-contact-item.cjs.entry.js +2 -2
  153. package/dist/cjs/af-container.cjs.entry.js +1 -1
  154. package/dist/cjs/af-feature-accordion.cjs.entry.js +4 -4
  155. package/dist/cjs/af-feature-accordion.entry.cjs.js.map +1 -1
  156. package/dist/cjs/af-feature-card.cjs.entry.js +59 -0
  157. package/dist/cjs/af-feature-card.entry.cjs.js.map +1 -0
  158. package/dist/cjs/af-feature-grid.cjs.entry.js +93 -0
  159. package/dist/cjs/af-feature-grid.entry.cjs.js.map +1 -0
  160. package/dist/cjs/af-fieldset.cjs.entry.js +37 -0
  161. package/dist/cjs/af-fieldset.entry.cjs.js.map +1 -0
  162. package/dist/cjs/af-footer-column.cjs.entry.js +2 -2
  163. package/dist/cjs/af-footer-link.cjs.entry.js +2 -2
  164. package/dist/cjs/af-footer.cjs.entry.js +3 -3
  165. package/dist/cjs/af-footer.entry.cjs.js.map +1 -1
  166. package/dist/cjs/af-grid-callout.cjs.entry.js +51 -0
  167. package/dist/cjs/af-grid-callout.entry.cjs.js.map +1 -0
  168. package/dist/cjs/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.cjs.js.map +1 -1
  169. package/dist/cjs/af-heading_5.cjs.entry.js +69 -20
  170. package/dist/cjs/af-hero-section.cjs.entry.js +11 -5
  171. package/dist/cjs/af-hero-section.entry.cjs.js.map +1 -1
  172. package/dist/cjs/af-icon-box.cjs.entry.js +30 -0
  173. package/dist/cjs/af-icon-box.entry.cjs.js.map +1 -0
  174. package/dist/cjs/af-icon-button.cjs.entry.js +6 -3
  175. package/dist/cjs/af-icon-button.entry.cjs.js.map +1 -1
  176. package/dist/cjs/af-icon-text.cjs.entry.js +36 -0
  177. package/dist/cjs/af-icon-text.entry.cjs.js.map +1 -0
  178. package/dist/cjs/af-icon.cjs.entry.js +352 -0
  179. package/dist/cjs/af-icon.entry.cjs.js.map +1 -0
  180. package/dist/cjs/af-illustrated-card.cjs.entry.js +36 -0
  181. package/dist/cjs/af-illustrated-card.entry.cjs.js.map +1 -0
  182. package/dist/cjs/af-image.cjs.entry.js +18 -0
  183. package/dist/cjs/af-image.entry.cjs.js.map +1 -0
  184. package/dist/cjs/af-in-page-banner.cjs.entry.js +47 -0
  185. package/dist/cjs/af-in-page-banner.entry.cjs.js.map +1 -0
  186. package/dist/cjs/af-input.cjs.entry.js +104 -0
  187. package/dist/cjs/af-input.entry.cjs.js.map +1 -0
  188. package/dist/cjs/af-logo-well.cjs.entry.js +3 -3
  189. package/dist/cjs/af-logo-well.entry.cjs.js.map +1 -1
  190. package/dist/cjs/af-nav-card.cjs.entry.js +37 -0
  191. package/dist/cjs/af-nav-card.entry.cjs.js.map +1 -0
  192. package/dist/cjs/af-nav-menu-nest.cjs.entry.js +43 -0
  193. package/dist/cjs/af-nav-menu-nest.entry.cjs.js.map +1 -0
  194. package/dist/cjs/af-nav-menu.cjs.entry.js +41 -0
  195. package/dist/cjs/af-nav-menu.entry.cjs.js.map +1 -0
  196. package/dist/cjs/af-number-badge.cjs.entry.js +42 -0
  197. package/dist/cjs/af-number-badge.entry.cjs.js.map +1 -0
  198. package/dist/cjs/af-progress-line.cjs.entry.js +33 -0
  199. package/dist/cjs/af-progress-line.entry.cjs.js.map +1 -0
  200. package/dist/cjs/af-radio.cjs.entry.js +43 -0
  201. package/dist/cjs/af-radio.entry.cjs.js.map +1 -0
  202. package/dist/cjs/af-section.cjs.entry.js +6 -6
  203. package/dist/cjs/af-section.entry.cjs.js.map +1 -1
  204. package/dist/cjs/af-social-link.cjs.entry.js +2 -2
  205. package/dist/cjs/af-split-section.cjs.entry.js +41 -0
  206. package/dist/cjs/af-split-section.entry.cjs.js.map +1 -0
  207. package/dist/cjs/af-switch.cjs.entry.js +48 -0
  208. package/dist/cjs/af-switch.entry.cjs.js.map +1 -0
  209. package/dist/cjs/af-tab-bar.cjs.entry.js +88 -0
  210. package/dist/cjs/af-tab-bar.entry.cjs.js.map +1 -0
  211. package/dist/cjs/af-tab.cjs.entry.js +64 -0
  212. package/dist/cjs/af-tab.entry.cjs.js.map +1 -0
  213. package/dist/cjs/af-tag.cjs.entry.js +37 -0
  214. package/dist/cjs/af-tag.entry.cjs.js.map +1 -0
  215. package/dist/cjs/af-testimonial-carousel.cjs.entry.js +27 -15
  216. package/dist/cjs/af-testimonial-carousel.entry.cjs.js.map +1 -1
  217. package/dist/cjs/af-testimonial-stat.cjs.entry.js +3 -3
  218. package/dist/cjs/af-testimonial-stat.entry.cjs.js.map +1 -1
  219. package/dist/cjs/af-testimonial.cjs.entry.js +27 -3
  220. package/dist/cjs/af-testimonial.entry.cjs.js.map +1 -1
  221. package/dist/cjs/af-text-image-nest.cjs.entry.js +30 -0
  222. package/dist/cjs/af-text-image-nest.entry.cjs.js.map +1 -0
  223. package/dist/cjs/af-text-image.cjs.entry.js +63 -0
  224. package/dist/cjs/af-text-image.entry.cjs.js.map +1 -0
  225. package/dist/cjs/af-textarea.cjs.entry.js +93 -0
  226. package/dist/cjs/af-textarea.entry.cjs.js.map +1 -0
  227. package/dist/cjs/af-typography-lockup.cjs.entry.js +7 -7
  228. package/dist/cjs/af-typography-lockup.entry.cjs.js.map +1 -1
  229. package/dist/cjs/af-video-container.cjs.entry.js +35 -0
  230. package/dist/cjs/af-video-container.entry.cjs.js.map +1 -0
  231. package/dist/cjs/affinda.cjs.js +2 -2
  232. package/dist/cjs/{index-DfEVhbS6.js → index-ybEiHT0b.js} +130 -6
  233. package/dist/cjs/index-ybEiHT0b.js.map +1 -0
  234. package/dist/cjs/index.cjs.js +23 -1
  235. package/dist/cjs/index.cjs.js.map +1 -1
  236. package/dist/cjs/loader.cjs.js +2 -2
  237. package/dist/collection/assets/backgrounds/wave-overlay-inkwell.svg +3 -0
  238. package/dist/collection/assets/backgrounds/wave-overlay-mist-green.svg +3 -0
  239. package/dist/collection/assets/backgrounds/wave-overlay-soft-clay.svg +3 -0
  240. package/dist/collection/assets/backgrounds/wave-overlay-white-ivory.svg +3 -0
  241. package/dist/collection/assets/logo-affinda.svg +19 -0
  242. package/dist/collection/collection-manifest.json +28 -2
  243. package/dist/collection/components/af-aspect-ratio/af-aspect-ratio.css +2 -0
  244. package/dist/collection/components/af-button/af-button.css +177 -64
  245. package/dist/collection/components/af-button/af-button.js +50 -42
  246. package/dist/collection/components/af-button/af-button.js.map +1 -1
  247. package/dist/collection/components/af-button-group/af-button-group.js +1 -1
  248. package/dist/collection/components/af-card/af-card.css +96 -64
  249. package/dist/collection/components/af-card/af-card.js +32 -33
  250. package/dist/collection/components/af-card/af-card.js.map +1 -1
  251. package/dist/collection/components/af-checkbox/af-checkbox.css +96 -0
  252. package/dist/collection/components/af-checkbox/af-checkbox.js +186 -0
  253. package/dist/collection/components/af-checkbox/af-checkbox.js.map +1 -0
  254. package/dist/collection/components/af-client-carousel/af-client-carousel.css +77 -32
  255. package/dist/collection/components/af-client-carousel/af-client-carousel.js +21 -33
  256. package/dist/collection/components/af-client-carousel/af-client-carousel.js.map +1 -1
  257. package/dist/collection/components/af-contact-item/af-contact-item.js +1 -1
  258. package/dist/collection/components/af-feature-accordion/af-feature-accordion.css +21 -35
  259. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js +15 -5
  260. package/dist/collection/components/af-feature-accordion/af-feature-accordion.js.map +1 -1
  261. package/dist/collection/components/af-feature-card/af-feature-card.css +219 -0
  262. package/dist/collection/components/af-feature-card/af-feature-card.js +199 -0
  263. package/dist/collection/components/af-feature-card/af-feature-card.js.map +1 -0
  264. package/dist/collection/components/af-feature-grid/af-feature-grid.css +119 -0
  265. package/dist/collection/components/af-feature-grid/af-feature-grid.js +156 -0
  266. package/dist/collection/components/af-feature-grid/af-feature-grid.js.map +1 -0
  267. package/dist/collection/components/af-fieldset/af-fieldset.css +61 -0
  268. package/dist/collection/components/af-fieldset/af-fieldset.js +109 -0
  269. package/dist/collection/components/af-fieldset/af-fieldset.js.map +1 -0
  270. package/dist/collection/components/af-footer/af-footer.css +1 -1
  271. package/dist/collection/components/af-footer/af-footer.js +1 -1
  272. package/dist/collection/components/af-footer-column/af-footer-column.js +1 -1
  273. package/dist/collection/components/af-footer-link/af-footer-link.js +1 -1
  274. package/dist/collection/components/af-grid-callout/af-grid-callout.css +191 -0
  275. package/dist/collection/components/af-grid-callout/af-grid-callout.js +191 -0
  276. package/dist/collection/components/af-grid-callout/af-grid-callout.js.map +1 -0
  277. package/dist/collection/components/af-heading/af-heading.css +25 -33
  278. package/dist/collection/components/af-heading/af-heading.js +8 -26
  279. package/dist/collection/components/af-heading/af-heading.js.map +1 -1
  280. package/dist/collection/components/af-hero-section/af-hero-section.css +118 -12
  281. package/dist/collection/components/af-hero-section/af-hero-section.js +102 -10
  282. package/dist/collection/components/af-hero-section/af-hero-section.js.map +1 -1
  283. package/dist/collection/components/af-icon/af-icon.css +28 -0
  284. package/dist/collection/components/af-icon/af-icon.js +116 -0
  285. package/dist/collection/components/af-icon/af-icon.js.map +1 -0
  286. package/dist/collection/components/af-icon-box/af-icon-box.css +36 -0
  287. package/dist/collection/components/af-icon-box/af-icon-box.js +97 -0
  288. package/dist/collection/components/af-icon-box/af-icon-box.js.map +1 -0
  289. package/dist/collection/components/af-icon-button/af-icon-button.css +42 -54
  290. package/dist/collection/components/af-icon-button/af-icon-button.js +8 -5
  291. package/dist/collection/components/af-icon-button/af-icon-button.js.map +1 -1
  292. package/dist/collection/components/af-icon-text/af-icon-text.css +43 -0
  293. package/dist/collection/components/af-icon-text/af-icon-text.js +150 -0
  294. package/dist/collection/components/af-icon-text/af-icon-text.js.map +1 -0
  295. package/dist/collection/components/af-illustrated-card/af-illustrated-card.css +99 -0
  296. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js +115 -0
  297. package/dist/collection/components/af-illustrated-card/af-illustrated-card.js.map +1 -0
  298. package/dist/collection/components/af-image/af-image.css +27 -0
  299. package/dist/collection/components/af-image/af-image.js +65 -0
  300. package/dist/collection/components/af-image/af-image.js.map +1 -0
  301. package/dist/collection/components/af-in-page-banner/af-in-page-banner.css +379 -0
  302. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js +266 -0
  303. package/dist/collection/components/af-in-page-banner/af-in-page-banner.js.map +1 -0
  304. package/dist/collection/components/af-input/af-input.css +246 -0
  305. package/dist/collection/components/af-input/af-input.js +527 -0
  306. package/dist/collection/components/af-input/af-input.js.map +1 -0
  307. package/dist/collection/components/af-logo/af-logo.css +4 -3
  308. package/dist/collection/components/af-logo/af-logo.js +1 -1
  309. package/dist/collection/components/af-logo/af-logo.js.map +1 -1
  310. package/dist/collection/components/af-logo-well/af-logo-well.css +15 -4
  311. package/dist/collection/components/af-logo-well/af-logo-well.js +1 -1
  312. package/dist/collection/components/af-nav-card/af-nav-card.css +70 -0
  313. package/dist/collection/components/af-nav-card/af-nav-card.js +138 -0
  314. package/dist/collection/components/af-nav-card/af-nav-card.js.map +1 -0
  315. package/dist/collection/components/af-nav-item/af-nav-item.css +161 -28
  316. package/dist/collection/components/af-nav-item/af-nav-item.js +27 -0
  317. package/dist/collection/components/af-nav-item/af-nav-item.js.map +1 -1
  318. package/dist/collection/components/af-nav-menu/af-nav-menu.css +91 -0
  319. package/dist/collection/components/af-nav-menu/af-nav-menu.js +131 -0
  320. package/dist/collection/components/af-nav-menu/af-nav-menu.js.map +1 -0
  321. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.css +79 -0
  322. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js +129 -0
  323. package/dist/collection/components/af-nav-menu-nest/af-nav-menu-nest.js.map +1 -0
  324. package/dist/collection/components/af-navbar/af-navbar.css +91 -8
  325. package/dist/collection/components/af-navbar/af-navbar.js +113 -3
  326. package/dist/collection/components/af-navbar/af-navbar.js.map +1 -1
  327. package/dist/collection/components/af-number-badge/af-number-badge.css +30 -0
  328. package/dist/collection/components/af-number-badge/af-number-badge.js +131 -0
  329. package/dist/collection/components/af-number-badge/af-number-badge.js.map +1 -0
  330. package/dist/collection/components/af-progress-line/af-progress-line.css +44 -0
  331. package/dist/collection/components/af-progress-line/af-progress-line.js +86 -0
  332. package/dist/collection/components/af-progress-line/af-progress-line.js.map +1 -0
  333. package/dist/collection/components/af-radio/af-radio.css +97 -0
  334. package/dist/collection/components/af-radio/af-radio.js +150 -0
  335. package/dist/collection/components/af-radio/af-radio.js.map +1 -0
  336. package/dist/collection/components/af-section/af-section.css +230 -24
  337. package/dist/collection/components/af-section/af-section.js +11 -10
  338. package/dist/collection/components/af-section/af-section.js.map +1 -1
  339. package/dist/collection/components/af-social-link/af-social-link.js +1 -1
  340. package/dist/collection/components/af-split-section/af-split-section.css +46 -0
  341. package/dist/collection/components/af-split-section/af-split-section.js +145 -0
  342. package/dist/collection/components/af-split-section/af-split-section.js.map +1 -0
  343. package/dist/collection/components/af-switch/af-switch.css +104 -0
  344. package/dist/collection/components/af-switch/af-switch.js +155 -0
  345. package/dist/collection/components/af-switch/af-switch.js.map +1 -0
  346. package/dist/collection/components/af-tab/af-tab.css +182 -0
  347. package/dist/collection/components/af-tab/af-tab.js +251 -0
  348. package/dist/collection/components/af-tab/af-tab.js.map +1 -0
  349. package/dist/collection/components/af-tab-bar/af-tab-bar.css +87 -0
  350. package/dist/collection/components/af-tab-bar/af-tab-bar.js +171 -0
  351. package/dist/collection/components/af-tab-bar/af-tab-bar.js.map +1 -0
  352. package/dist/collection/components/af-tag/af-tag.css +92 -0
  353. package/dist/collection/components/af-tag/af-tag.js +126 -0
  354. package/dist/collection/components/af-tag/af-tag.js.map +1 -0
  355. package/dist/collection/components/af-testimonial/af-testimonial.css +30 -46
  356. package/dist/collection/components/af-testimonial/af-testimonial.js +118 -1
  357. package/dist/collection/components/af-testimonial/af-testimonial.js.map +1 -1
  358. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.css +6 -66
  359. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js +48 -13
  360. package/dist/collection/components/af-testimonial-carousel/af-testimonial-carousel.js.map +1 -1
  361. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.css +9 -16
  362. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js +1 -1
  363. package/dist/collection/components/af-testimonial-stat/af-testimonial-stat.js.map +1 -1
  364. package/dist/collection/components/af-text/af-text.css +13 -36
  365. package/dist/collection/components/af-text/af-text.js +10 -28
  366. package/dist/collection/components/af-text/af-text.js.map +1 -1
  367. package/dist/collection/components/af-text-image/af-text-image.css +228 -0
  368. package/dist/collection/components/af-text-image/af-text-image.js +173 -0
  369. package/dist/collection/components/af-text-image/af-text-image.js.map +1 -0
  370. package/dist/collection/components/af-text-image-nest/af-text-image-nest.css +110 -0
  371. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js +71 -0
  372. package/dist/collection/components/af-text-image-nest/af-text-image-nest.js.map +1 -0
  373. package/dist/collection/components/af-textarea/af-textarea.css +175 -0
  374. package/dist/collection/components/af-textarea/af-textarea.js +443 -0
  375. package/dist/collection/components/af-textarea/af-textarea.js.map +1 -0
  376. package/dist/collection/components/af-typography-lockup/af-typography-lockup.css +126 -40
  377. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js +5 -5
  378. package/dist/collection/components/af-typography-lockup/af-typography-lockup.js.map +1 -1
  379. package/dist/collection/components/af-video-container/af-video-container.css +102 -0
  380. package/dist/collection/components/af-video-container/af-video-container.js +142 -0
  381. package/dist/collection/components/af-video-container/af-video-container.js.map +1 -0
  382. package/dist/collection/components.js +11 -0
  383. package/dist/collection/components.js.map +1 -1
  384. package/dist/components/af-aspect-ratio.js +1 -1
  385. package/dist/components/af-button-group.js +1 -1
  386. package/dist/components/af-button.js +1 -1
  387. package/dist/components/af-card.js +1 -39
  388. package/dist/components/af-card.js.map +1 -1
  389. package/dist/components/{af-cta-section.d.ts → af-checkbox.d.ts} +4 -4
  390. package/dist/components/af-checkbox.js +9 -0
  391. package/dist/components/af-checkbox.js.map +1 -0
  392. package/dist/components/af-client-carousel.js +6 -9
  393. package/dist/components/af-client-carousel.js.map +1 -1
  394. package/dist/components/af-color-swatch.js +1 -1
  395. package/dist/components/af-contact-item.js +2 -2
  396. package/dist/components/af-container.js +1 -1
  397. package/dist/components/af-feature-accordion.js +4 -4
  398. package/dist/components/af-feature-accordion.js.map +1 -1
  399. package/dist/components/af-feature-card.d.ts +11 -0
  400. package/dist/components/af-feature-card.js +9 -0
  401. package/dist/components/af-feature-card.js.map +1 -0
  402. package/dist/components/af-feature-grid.d.ts +11 -0
  403. package/dist/components/af-feature-grid.js +124 -0
  404. package/dist/components/af-feature-grid.js.map +1 -0
  405. package/dist/components/af-fieldset.d.ts +11 -0
  406. package/dist/components/af-fieldset.js +9 -0
  407. package/dist/components/af-fieldset.js.map +1 -0
  408. package/dist/components/af-footer-column.js +2 -2
  409. package/dist/components/af-footer-link.js +2 -2
  410. package/dist/components/af-footer.js +3 -3
  411. package/dist/components/af-footer.js.map +1 -1
  412. package/dist/components/af-grid-callout.d.ts +11 -0
  413. package/dist/components/af-grid-callout.js +82 -0
  414. package/dist/components/af-grid-callout.js.map +1 -0
  415. package/dist/components/af-heading.js +1 -1
  416. package/dist/components/af-hero-section.js +25 -9
  417. package/dist/components/af-hero-section.js.map +1 -1
  418. package/dist/components/af-icon-box.d.ts +11 -0
  419. package/dist/components/af-icon-box.js +9 -0
  420. package/dist/components/af-icon-box.js.map +1 -0
  421. package/dist/components/af-icon-button.js +1 -1
  422. package/dist/components/af-icon-text.d.ts +11 -0
  423. package/dist/components/af-icon-text.js +78 -0
  424. package/dist/components/af-icon-text.js.map +1 -0
  425. package/dist/components/af-icon.d.ts +11 -0
  426. package/dist/components/af-icon.js +9 -0
  427. package/dist/components/af-icon.js.map +1 -0
  428. package/dist/components/af-illustrated-card.d.ts +11 -0
  429. package/dist/components/af-illustrated-card.js +9 -0
  430. package/dist/components/af-illustrated-card.js.map +1 -0
  431. package/dist/components/af-image.d.ts +11 -0
  432. package/dist/components/af-image.js +9 -0
  433. package/dist/components/af-image.js.map +1 -0
  434. package/dist/components/af-in-page-banner.d.ts +11 -0
  435. package/dist/components/af-in-page-banner.js +82 -0
  436. package/dist/components/af-in-page-banner.js.map +1 -0
  437. package/dist/components/af-input.d.ts +11 -0
  438. package/dist/components/af-input.js +9 -0
  439. package/dist/components/af-input.js.map +1 -0
  440. package/dist/components/af-logo-well.js +3 -3
  441. package/dist/components/af-logo-well.js.map +1 -1
  442. package/dist/components/af-logo.js +1 -1
  443. package/dist/components/af-nav-card.d.ts +11 -0
  444. package/dist/components/af-nav-card.js +63 -0
  445. package/dist/components/af-nav-card.js.map +1 -0
  446. package/dist/components/af-nav-item.js +1 -1
  447. package/dist/components/af-nav-menu-nest.d.ts +11 -0
  448. package/dist/components/af-nav-menu-nest.js +67 -0
  449. package/dist/components/af-nav-menu-nest.js.map +1 -0
  450. package/dist/components/af-nav-menu.d.ts +11 -0
  451. package/dist/components/af-nav-menu.js +66 -0
  452. package/dist/components/af-nav-menu.js.map +1 -0
  453. package/dist/components/af-navbar.js +1 -1
  454. package/dist/components/af-number-badge.d.ts +11 -0
  455. package/dist/components/af-number-badge.js +66 -0
  456. package/dist/components/af-number-badge.js.map +1 -0
  457. package/dist/components/af-progress-line.d.ts +11 -0
  458. package/dist/components/af-progress-line.js +9 -0
  459. package/dist/components/af-progress-line.js.map +1 -0
  460. package/dist/components/af-radio.d.ts +11 -0
  461. package/dist/components/af-radio.js +9 -0
  462. package/dist/components/af-radio.js.map +1 -0
  463. package/dist/components/af-section.js +8 -8
  464. package/dist/components/af-section.js.map +1 -1
  465. package/dist/components/af-social-link.js +2 -2
  466. package/dist/components/af-split-section.d.ts +11 -0
  467. package/dist/components/af-split-section.js +71 -0
  468. package/dist/components/af-split-section.js.map +1 -0
  469. package/dist/components/af-switch.d.ts +11 -0
  470. package/dist/components/af-switch.js +9 -0
  471. package/dist/components/af-switch.js.map +1 -0
  472. package/dist/components/af-tab-bar.d.ts +11 -0
  473. package/dist/components/af-tab-bar.js +9 -0
  474. package/dist/components/af-tab-bar.js.map +1 -0
  475. package/dist/components/af-tab.d.ts +11 -0
  476. package/dist/components/af-tab.js +9 -0
  477. package/dist/components/af-tab.js.map +1 -0
  478. package/dist/components/af-tag.d.ts +11 -0
  479. package/dist/components/af-tag.js +9 -0
  480. package/dist/components/af-tag.js.map +1 -0
  481. package/dist/components/af-testimonial-carousel.js +35 -17
  482. package/dist/components/af-testimonial-carousel.js.map +1 -1
  483. package/dist/components/af-testimonial-stat.js +16 -4
  484. package/dist/components/af-testimonial-stat.js.map +1 -1
  485. package/dist/components/af-testimonial.js +56 -5
  486. package/dist/components/af-testimonial.js.map +1 -1
  487. package/dist/components/af-text-image-nest.d.ts +11 -0
  488. package/dist/components/af-text-image-nest.js +51 -0
  489. package/dist/components/af-text-image-nest.js.map +1 -0
  490. package/dist/components/af-text-image.d.ts +11 -0
  491. package/dist/components/af-text-image.js +94 -0
  492. package/dist/components/af-text-image.js.map +1 -0
  493. package/dist/components/af-text.js +1 -1
  494. package/dist/components/af-textarea.d.ts +11 -0
  495. package/dist/components/af-textarea.js +9 -0
  496. package/dist/components/af-textarea.js.map +1 -0
  497. package/dist/components/af-typography-lockup.js +1 -1
  498. package/dist/components/af-video-container.d.ts +11 -0
  499. package/dist/components/af-video-container.js +70 -0
  500. package/dist/components/af-video-container.js.map +1 -0
  501. package/dist/components/index.js +24 -13
  502. package/dist/components/index.js.map +1 -1
  503. package/dist/components/{p-BBivIwbE.js → p-6uEhsUaO.js} +3 -3
  504. package/dist/components/{p-BBivIwbE.js.map → p-6uEhsUaO.js.map} +1 -1
  505. package/dist/components/{p-PLXzXWgX.js → p-BHKA-yEm.js} +4 -4
  506. package/dist/components/p-BHKA-yEm.js.map +1 -0
  507. package/dist/components/p-BMp8QbY-.js +68 -0
  508. package/dist/components/p-BMp8QbY-.js.map +1 -0
  509. package/dist/components/p-BRN73McC.js +59 -0
  510. package/dist/components/p-BRN73McC.js.map +1 -0
  511. package/dist/components/p-BRsO61_R.js +58 -0
  512. package/dist/components/p-BRsO61_R.js.map +1 -0
  513. package/dist/components/p-BXZ7aJQf.js +372 -0
  514. package/dist/components/p-BXZ7aJQf.js.map +1 -0
  515. package/dist/components/p-Bh4YP9vE.js +74 -0
  516. package/dist/components/p-Bh4YP9vE.js.map +1 -0
  517. package/dist/components/p-Br0VERLB.js +81 -0
  518. package/dist/components/p-Br0VERLB.js.map +1 -0
  519. package/dist/components/{p-7a3XpKXs.js → p-ByHIHg3l.js} +4 -4
  520. package/dist/components/{p-7a3XpKXs.js.map → p-ByHIHg3l.js.map} +1 -1
  521. package/dist/components/p-C0f6y_zg.js +94 -0
  522. package/dist/components/p-C0f6y_zg.js.map +1 -0
  523. package/dist/components/p-CCAq3Zj6.js +68 -0
  524. package/dist/components/p-CCAq3Zj6.js.map +1 -0
  525. package/dist/components/p-CZyCImor.js +127 -0
  526. package/dist/components/p-CZyCImor.js.map +1 -0
  527. package/dist/components/p-C_M8AOaj.js +65 -0
  528. package/dist/components/p-C_M8AOaj.js.map +1 -0
  529. package/dist/components/p-Cqp0DdgH.js +58 -0
  530. package/dist/components/p-Cqp0DdgH.js.map +1 -0
  531. package/dist/components/{p-Dt4Fpr3O.js → p-CxngDK-N.js} +122 -8
  532. package/dist/components/p-CxngDK-N.js.map +1 -0
  533. package/dist/components/{p-BkEmrXbw.js → p-D3UZ60qM.js} +3 -3
  534. package/dist/components/{p-BkEmrXbw.js.map → p-D3UZ60qM.js.map} +1 -1
  535. package/dist/components/p-D99aXp3U.js +35 -0
  536. package/dist/components/p-D99aXp3U.js.map +1 -0
  537. package/dist/components/p-DBnL9UHx.js +91 -0
  538. package/dist/components/p-DBnL9UHx.js.map +1 -0
  539. package/dist/components/p-DOkvrcIE.js +50 -0
  540. package/dist/components/p-DOkvrcIE.js.map +1 -0
  541. package/dist/components/p-DW5DrJlQ.js +70 -0
  542. package/dist/components/p-DW5DrJlQ.js.map +1 -0
  543. package/dist/components/p-DZ-qivXD.js +55 -0
  544. package/dist/components/p-DZ-qivXD.js.map +1 -0
  545. package/dist/components/p-DhdRcSve.js +89 -0
  546. package/dist/components/p-DhdRcSve.js.map +1 -0
  547. package/dist/components/p-Dvi1lz3x.js +53 -0
  548. package/dist/components/p-Dvi1lz3x.js.map +1 -0
  549. package/dist/components/p-DzkSL2bi.js +141 -0
  550. package/dist/components/p-DzkSL2bi.js.map +1 -0
  551. package/dist/components/p-JepBVz99.js +71 -0
  552. package/dist/components/p-JepBVz99.js.map +1 -0
  553. package/dist/components/p-_bQXTXUb.js +98 -0
  554. package/dist/components/p-_bQXTXUb.js.map +1 -0
  555. package/dist/components/p-l95vl6T1.js +108 -0
  556. package/dist/components/p-l95vl6T1.js.map +1 -0
  557. package/dist/components/p-wwnR-hlX.js +52 -0
  558. package/dist/components/p-wwnR-hlX.js.map +1 -0
  559. package/dist/components/p-xDRMXxWJ.js +37 -0
  560. package/dist/components/p-xDRMXxWJ.js.map +1 -0
  561. package/dist/esm/af-aspect-ratio.entry.js +2 -2
  562. package/dist/esm/af-aspect-ratio.entry.js.map +1 -1
  563. package/dist/esm/af-button-group.entry.js +2 -2
  564. package/dist/esm/af-button.entry.js +25 -12
  565. package/dist/esm/af-button.entry.js.map +1 -1
  566. package/dist/esm/af-card.entry.js +17 -7
  567. package/dist/esm/af-card.entry.js.map +1 -1
  568. package/dist/esm/af-checkbox.entry.js +56 -0
  569. package/dist/esm/af-checkbox.entry.js.map +1 -0
  570. package/dist/esm/af-client-carousel.entry.js +5 -7
  571. package/dist/esm/af-client-carousel.entry.js.map +1 -1
  572. package/dist/esm/af-color-swatch.entry.js +1 -1
  573. package/dist/esm/af-contact-item.entry.js +2 -2
  574. package/dist/esm/af-container.entry.js +1 -1
  575. package/dist/esm/af-feature-accordion.entry.js +4 -4
  576. package/dist/esm/af-feature-accordion.entry.js.map +1 -1
  577. package/dist/esm/af-feature-card.entry.js +57 -0
  578. package/dist/esm/af-feature-card.entry.js.map +1 -0
  579. package/dist/esm/af-feature-grid.entry.js +91 -0
  580. package/dist/esm/af-feature-grid.entry.js.map +1 -0
  581. package/dist/esm/af-fieldset.entry.js +35 -0
  582. package/dist/esm/af-fieldset.entry.js.map +1 -0
  583. package/dist/esm/af-footer-column.entry.js +2 -2
  584. package/dist/esm/af-footer-link.entry.js +2 -2
  585. package/dist/esm/af-footer.entry.js +3 -3
  586. package/dist/esm/af-footer.entry.js.map +1 -1
  587. package/dist/esm/af-grid-callout.entry.js +49 -0
  588. package/dist/esm/af-grid-callout.entry.js.map +1 -0
  589. package/dist/esm/af-heading.af-logo.af-nav-item.af-navbar.af-text.entry.js.map +1 -1
  590. package/dist/esm/af-heading_5.entry.js +69 -20
  591. package/dist/esm/af-hero-section.entry.js +11 -5
  592. package/dist/esm/af-hero-section.entry.js.map +1 -1
  593. package/dist/esm/af-icon-box.entry.js +28 -0
  594. package/dist/esm/af-icon-box.entry.js.map +1 -0
  595. package/dist/esm/af-icon-button.entry.js +6 -3
  596. package/dist/esm/af-icon-button.entry.js.map +1 -1
  597. package/dist/esm/af-icon-text.entry.js +34 -0
  598. package/dist/esm/af-icon-text.entry.js.map +1 -0
  599. package/dist/esm/af-icon.entry.js +349 -0
  600. package/dist/esm/af-icon.entry.js.map +1 -0
  601. package/dist/esm/af-illustrated-card.entry.js +34 -0
  602. package/dist/esm/af-illustrated-card.entry.js.map +1 -0
  603. package/dist/esm/af-image.entry.js +16 -0
  604. package/dist/esm/af-image.entry.js.map +1 -0
  605. package/dist/esm/af-in-page-banner.entry.js +45 -0
  606. package/dist/esm/af-in-page-banner.entry.js.map +1 -0
  607. package/dist/esm/af-input.entry.js +102 -0
  608. package/dist/esm/af-input.entry.js.map +1 -0
  609. package/dist/esm/af-logo-well.entry.js +3 -3
  610. package/dist/esm/af-logo-well.entry.js.map +1 -1
  611. package/dist/esm/af-nav-card.entry.js +35 -0
  612. package/dist/esm/af-nav-card.entry.js.map +1 -0
  613. package/dist/esm/af-nav-menu-nest.entry.js +41 -0
  614. package/dist/esm/af-nav-menu-nest.entry.js.map +1 -0
  615. package/dist/esm/af-nav-menu.entry.js +39 -0
  616. package/dist/esm/af-nav-menu.entry.js.map +1 -0
  617. package/dist/esm/af-number-badge.entry.js +40 -0
  618. package/dist/esm/af-number-badge.entry.js.map +1 -0
  619. package/dist/esm/af-progress-line.entry.js +31 -0
  620. package/dist/esm/af-progress-line.entry.js.map +1 -0
  621. package/dist/esm/af-radio.entry.js +41 -0
  622. package/dist/esm/af-radio.entry.js.map +1 -0
  623. package/dist/esm/af-section.entry.js +6 -6
  624. package/dist/esm/af-section.entry.js.map +1 -1
  625. package/dist/esm/af-social-link.entry.js +2 -2
  626. package/dist/esm/af-split-section.entry.js +39 -0
  627. package/dist/esm/af-split-section.entry.js.map +1 -0
  628. package/dist/esm/af-switch.entry.js +46 -0
  629. package/dist/esm/af-switch.entry.js.map +1 -0
  630. package/dist/esm/af-tab-bar.entry.js +86 -0
  631. package/dist/esm/af-tab-bar.entry.js.map +1 -0
  632. package/dist/esm/af-tab.entry.js +62 -0
  633. package/dist/esm/af-tab.entry.js.map +1 -0
  634. package/dist/esm/af-tag.entry.js +35 -0
  635. package/dist/esm/af-tag.entry.js.map +1 -0
  636. package/dist/esm/af-testimonial-carousel.entry.js +27 -15
  637. package/dist/esm/af-testimonial-carousel.entry.js.map +1 -1
  638. package/dist/esm/af-testimonial-stat.entry.js +3 -3
  639. package/dist/esm/af-testimonial-stat.entry.js.map +1 -1
  640. package/dist/esm/af-testimonial.entry.js +27 -3
  641. package/dist/esm/af-testimonial.entry.js.map +1 -1
  642. package/dist/esm/af-text-image-nest.entry.js +28 -0
  643. package/dist/esm/af-text-image-nest.entry.js.map +1 -0
  644. package/dist/esm/af-text-image.entry.js +61 -0
  645. package/dist/esm/af-text-image.entry.js.map +1 -0
  646. package/dist/esm/af-textarea.entry.js +91 -0
  647. package/dist/esm/af-textarea.entry.js.map +1 -0
  648. package/dist/esm/af-typography-lockup.entry.js +7 -7
  649. package/dist/esm/af-typography-lockup.entry.js.map +1 -1
  650. package/dist/esm/af-video-container.entry.js +33 -0
  651. package/dist/esm/af-video-container.entry.js.map +1 -0
  652. package/dist/esm/affinda.js +3 -3
  653. package/dist/esm/{index-DI7b0bCy.js → index-BmU_CFQ4.js} +130 -7
  654. package/dist/esm/index-BmU_CFQ4.js.map +1 -0
  655. package/dist/esm/index.js +12 -1
  656. package/dist/esm/index.js.map +1 -1
  657. package/dist/esm/loader.js +3 -3
  658. package/dist/types/components/af-button/af-button.d.ts +22 -9
  659. package/dist/types/components/af-card/af-card.d.ts +15 -8
  660. package/dist/types/components/af-checkbox/af-checkbox.d.ts +40 -0
  661. package/dist/types/components/af-client-carousel/af-client-carousel.d.ts +10 -5
  662. package/dist/types/components/af-feature-accordion/af-feature-accordion.d.ts +13 -3
  663. package/dist/types/components/af-feature-card/af-feature-card.d.ts +49 -0
  664. package/dist/types/components/af-feature-grid/af-feature-grid.d.ts +32 -0
  665. package/dist/types/components/af-fieldset/af-fieldset.d.ts +23 -0
  666. package/dist/types/components/af-grid-callout/af-grid-callout.d.ts +57 -0
  667. package/dist/types/components/af-heading/af-heading.d.ts +5 -2
  668. package/dist/types/components/af-hero-section/af-hero-section.d.ts +18 -3
  669. package/dist/types/components/af-icon/af-icon.d.ts +28 -0
  670. package/dist/types/components/af-icon-box/af-icon-box.d.ts +27 -0
  671. package/dist/types/components/af-icon-button/af-icon-button.d.ts +5 -2
  672. package/dist/types/components/af-icon-text/af-icon-text.d.ts +44 -0
  673. package/dist/types/components/af-illustrated-card/af-illustrated-card.d.ts +28 -0
  674. package/dist/types/components/af-image/af-image.d.ts +15 -0
  675. package/dist/types/components/af-in-page-banner/af-in-page-banner.d.ts +56 -0
  676. package/dist/types/components/af-input/af-input.d.ts +110 -0
  677. package/dist/types/components/af-nav-card/af-nav-card.d.ts +34 -0
  678. package/dist/types/components/af-nav-item/af-nav-item.d.ts +6 -0
  679. package/dist/types/components/af-nav-menu/af-nav-menu.d.ts +28 -0
  680. package/dist/types/components/af-nav-menu-nest/af-nav-menu-nest.d.ts +42 -0
  681. package/dist/types/components/af-navbar/af-navbar.d.ts +31 -1
  682. package/dist/types/components/af-number-badge/af-number-badge.d.ts +29 -0
  683. package/dist/types/components/af-progress-line/af-progress-line.d.ts +18 -0
  684. package/dist/types/components/af-radio/af-radio.d.ts +33 -0
  685. package/dist/types/components/af-section/af-section.d.ts +4 -3
  686. package/dist/types/components/af-split-section/af-split-section.d.ts +20 -0
  687. package/dist/types/components/af-switch/af-switch.d.ts +32 -0
  688. package/dist/types/components/af-tab/af-tab.d.ts +61 -0
  689. package/dist/types/components/af-tab-bar/af-tab-bar.d.ts +43 -0
  690. package/dist/types/components/af-tag/af-tag.d.ts +33 -0
  691. package/dist/types/components/af-testimonial/af-testimonial.d.ts +23 -0
  692. package/dist/types/components/af-testimonial-carousel/af-testimonial-carousel.d.ts +17 -0
  693. package/dist/types/components/af-text/af-text.d.ts +6 -3
  694. package/dist/types/components/af-text-image/af-text-image.d.ts +30 -0
  695. package/dist/types/components/af-text-image-nest/af-text-image-nest.d.ts +21 -0
  696. package/dist/types/components/af-textarea/af-textarea.d.ts +92 -0
  697. package/dist/types/components/af-video-container/af-video-container.d.ts +45 -0
  698. package/dist/types/components.d.ts +3414 -638
  699. package/package.json +7 -6
  700. package/dist/affinda/af-cta-section.entry.esm.js.map +0 -1
  701. package/dist/affinda/p-050f98cd.entry.js +0 -2
  702. package/dist/affinda/p-07990b1f.entry.js +0 -2
  703. package/dist/affinda/p-4a39ddec.entry.js +0 -2
  704. package/dist/affinda/p-4a39ddec.entry.js.map +0 -1
  705. package/dist/affinda/p-52f7ea33.entry.js +0 -2
  706. package/dist/affinda/p-924e6def.entry.js +0 -2
  707. package/dist/affinda/p-924e6def.entry.js.map +0 -1
  708. package/dist/affinda/p-954963fa.entry.js +0 -2
  709. package/dist/affinda/p-954963fa.entry.js.map +0 -1
  710. package/dist/affinda/p-DI7b0bCy.js +0 -3
  711. package/dist/affinda/p-DI7b0bCy.js.map +0 -1
  712. package/dist/affinda/p-ac7efb48.entry.js +0 -2
  713. package/dist/affinda/p-ac7efb48.entry.js.map +0 -1
  714. package/dist/affinda/p-b67bbaf7.entry.js +0 -2
  715. package/dist/affinda/p-b67bbaf7.entry.js.map +0 -1
  716. package/dist/affinda/p-b6885a9a.entry.js +0 -2
  717. package/dist/affinda/p-b6885a9a.entry.js.map +0 -1
  718. package/dist/affinda/p-b7c63852.entry.js +0 -2
  719. package/dist/affinda/p-b7c63852.entry.js.map +0 -1
  720. package/dist/affinda/p-b7efbfff.entry.js +0 -2
  721. package/dist/affinda/p-b7efbfff.entry.js.map +0 -1
  722. package/dist/affinda/p-bf4543ff.entry.js +0 -2
  723. package/dist/affinda/p-c2b6199e.entry.js +0 -2
  724. package/dist/affinda/p-c2b6199e.entry.js.map +0 -1
  725. package/dist/affinda/p-c5aba33f.entry.js +0 -2
  726. package/dist/affinda/p-ce89c4f1.entry.js +0 -2
  727. package/dist/affinda/p-d3b2ab0e.entry.js +0 -2
  728. package/dist/affinda/p-de52b175.entry.js +0 -2
  729. package/dist/affinda/p-e367e42b.entry.js +0 -2
  730. package/dist/affinda/p-e367e42b.entry.js.map +0 -1
  731. package/dist/cjs/af-cta-section.cjs.entry.js +0 -32
  732. package/dist/cjs/af-cta-section.entry.cjs.js.map +0 -1
  733. package/dist/cjs/index-DfEVhbS6.js.map +0 -1
  734. package/dist/collection/components/af-cta-section/af-cta-section.css +0 -175
  735. package/dist/collection/components/af-cta-section/af-cta-section.js +0 -183
  736. package/dist/collection/components/af-cta-section/af-cta-section.js.map +0 -1
  737. package/dist/components/af-cta-section.js +0 -59
  738. package/dist/components/af-cta-section.js.map +0 -1
  739. package/dist/components/p-BKGrl8ua.js +0 -77
  740. package/dist/components/p-BKGrl8ua.js.map +0 -1
  741. package/dist/components/p-BTEblSAo.js +0 -63
  742. package/dist/components/p-BTEblSAo.js.map +0 -1
  743. package/dist/components/p-BekWfVfB.js +0 -66
  744. package/dist/components/p-BekWfVfB.js.map +0 -1
  745. package/dist/components/p-Bg7dSc4D.js +0 -54
  746. package/dist/components/p-Bg7dSc4D.js.map +0 -1
  747. package/dist/components/p-D4s4u7tL.js +0 -35
  748. package/dist/components/p-D4s4u7tL.js.map +0 -1
  749. package/dist/components/p-DqOwXTsH.js +0 -68
  750. package/dist/components/p-DqOwXTsH.js.map +0 -1
  751. package/dist/components/p-Dt4Fpr3O.js.map +0 -1
  752. package/dist/components/p-PLXzXWgX.js.map +0 -1
  753. package/dist/components/p-Thu9mUEn.js +0 -41
  754. package/dist/components/p-Thu9mUEn.js.map +0 -1
  755. package/dist/components/p-emB0l5gm.js +0 -68
  756. package/dist/components/p-emB0l5gm.js.map +0 -1
  757. package/dist/esm/af-cta-section.entry.js +0 -30
  758. package/dist/esm/af-cta-section.entry.js.map +0 -1
  759. package/dist/esm/index-DI7b0bCy.js.map +0 -1
  760. package/dist/types/components/af-cta-section/af-cta-section.d.ts +0 -21
  761. /package/dist/affinda/{p-de52b175.entry.js.map → p-1d9e532f.entry.js.map} +0 -0
  762. /package/dist/affinda/{p-a49dc8ac.entry.js.map → p-31d4c1a4.entry.js.map} +0 -0
  763. /package/dist/affinda/{p-c5aba33f.entry.js.map → p-53ae16fe.entry.js.map} +0 -0
  764. /package/dist/affinda/{p-dec4c4d5.entry.js.map → p-72f02343.entry.js.map} +0 -0
  765. /package/dist/affinda/{p-97f9f774.entry.js.map → p-96eac3af.entry.js.map} +0 -0
  766. /package/dist/affinda/{p-3a9646e6.entry.js.map → p-c11088fa.entry.js.map} +0 -0
  767. /package/dist/affinda/{p-f8ac0120.entry.js.map → p-e5af21c2.entry.js.map} +0 -0
@@ -0,0 +1,94 @@
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-CxngDK-N.js';
2
+ import { d as defineCustomElement$2 } from './p-Dvi1lz3x.js';
3
+ import { d as defineCustomElement$1 } from './p-BMp8QbY-.js';
4
+
5
+ const afFeatureCardCss = ".sc-af-feature-card-h{display:block;--af-card-padding:0;--af-card-gap:0}[card-size=\"default\"].sc-af-feature-card-h{width:544px}[card-size=\"large\"].sc-af-feature-card-h{width:777px}[card-size=\"flexible\"].sc-af-feature-card-h{display:flex;width:100%;height:100%}.feature-card.sc-af-feature-card{overflow:hidden;position:relative;display:flex;flex-direction:column;box-sizing:border-box;border-radius:var(--border-radius-card-level-1, 32px);width:100%;height:100%}.feature-card--layout-full-bleed.sc-af-feature-card{background:var(--background-base, var(--colour-brand-inkwell, #14343b))}[card-size=\"default\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card,[card-size=\"large\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card{height:660px}[card-size=\"flexible\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card{min-height:480px}.feature-card__background.sc-af-feature-card{position:absolute;inset:0;pointer-events:none;z-index:0}.feature-card__background-image.sc-af-feature-card{width:100%;height:100%;object-fit:cover;object-position:center}.feature-card__overlay.sc-af-feature-card{position:absolute;bottom:0;left:0;right:0;backdrop-filter:blur(2px);background:linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);z-index:1;padding:124px 32px 32px 32px;--af-typography-heading-primary:var(--typography-heading-secondary, #ffffff);--af-typography-heading-secondary:var(--typography-heading-secondary, #ffffff);--af-typography-body-default:var(--typography-body-dark, #ffffff);--colour-typography-heading-primary:var(--typography-heading-secondary, #ffffff);--colour-typography-heading-secondary:var(--typography-heading-secondary, #ffffff);--colour-typography-body-default:var(--typography-body-dark, #ffffff)}.feature-card--layout-standard.sc-af-feature-card{background:var(--background-level-1, var(--colour-mistgreen-200, #e8eeed))}[card-size=\"flexible\"].sc-af-feature-card-h .feature-card--layout-standard.sc-af-feature-card{min-height:400px}.feature-card__content.sc-af-feature-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;z-index:1;padding:40px 32px 12px 32px;flex:1 1 auto}[card-size=\"large\"].sc-af-feature-card-h .feature-card__content.sc-af-feature-card{padding:40px 40px 0 40px}.feature-card__image-area.sc-af-feature-card{position:relative;width:100%;height:160px;flex-shrink:0;overflow:hidden}.feature-card__image.sc-af-feature-card{width:100%;height:100%;object-fit:cover;object-position:center top}.feature-card.sc-af-feature-card af-typography-lockup.sc-af-feature-card{--colour-typography-heading-primary:var(--af-typography-heading-primary, var(--typography-heading-primary, #14343b));--colour-typography-body-default:var(--af-typography-body-default, var(--typography-body-default, #2b484f))}@media (max-width: 768px){.feature-card.sc-af-feature-card{border-radius:var(--border-radius-card-level-1, 24px)}[card-size=\"default\"].sc-af-feature-card-h,[card-size=\"large\"].sc-af-feature-card-h{width:335px}[card-size=\"default\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card,[card-size=\"large\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card{height:442px}[card-size=\"flexible\"].sc-af-feature-card-h .feature-card--layout-standard.sc-af-feature-card{min-height:340px}[card-size=\"flexible\"].sc-af-feature-card-h .feature-card--layout-full-bleed.sc-af-feature-card{min-height:380px}.feature-card__overlay.sc-af-feature-card{padding:80px 24px 28px 24px}.feature-card__content.sc-af-feature-card{padding:32px 24px 12px 24px}.feature-card__image-area.sc-af-feature-card{height:192px}}";
6
+
7
+ const AfFeatureCard = /*@__PURE__*/ proxyCustomElement(class AfFeatureCard extends H {
8
+ constructor(registerHost) {
9
+ super();
10
+ if (registerHost !== false) {
11
+ this.__registerHost();
12
+ }
13
+ /**
14
+ * Theme variant - sets background color and provides theme context.
15
+ * Only applies to 'standard' layout mode. Defaults to 'mist-green'.
16
+ */
17
+ this.theme = 'mist-green';
18
+ /**
19
+ * Layout mode for the card.
20
+ * - 'standard': Theme background with text at top and image at bottom
21
+ * - 'full-bleed': Image covers entire card with text overlay at bottom
22
+ */
23
+ this.layout = 'standard';
24
+ /**
25
+ * Card size variant.
26
+ * - 'default': Fixed 544px × 420px
27
+ * - 'large': Fixed 777px × 480px
28
+ * - 'flexible': Fills container (for grid layouts)
29
+ */
30
+ this.cardSize = 'default';
31
+ /**
32
+ * Heading size for typography lockup (1-5, where 1 is largest).
33
+ */
34
+ this.headingSize = 3;
35
+ /**
36
+ * Image alt text for accessibility.
37
+ * Provide meaningful alt text for feature images.
38
+ * Only use empty string for purely decorative images.
39
+ */
40
+ this.imageAlt = '';
41
+ }
42
+ render() {
43
+ const hasImage = !!this.imageSrc;
44
+ const isFullBleed = this.layout === 'full-bleed';
45
+ const wrapperClasses = {
46
+ 'feature-card': true,
47
+ [`feature-card--layout-${this.layout}`]: true,
48
+ [`feature-card--size-${this.cardSize}`]: true,
49
+ };
50
+ // Full-bleed mode: image background with overlay
51
+ if (isFullBleed) {
52
+ return (h(Host, null, h("div", { class: wrapperClasses }, hasImage && (h("div", { class: "feature-card__background" }, h("img", { src: this.imageSrc, alt: this.imageAlt, class: "feature-card__background-image" }))), h("div", { class: "feature-card__overlay" }, h("af-typography-lockup", { headingSize: this.headingSize, textAlignment: "left", buttonAlignment: "vertical" }, h("slot", null), h("span", { slot: "description" }, h("slot", { name: "body" })))))));
53
+ }
54
+ // Standard mode: theme card with image at bottom
55
+ const isFlexible = this.cardSize === 'flexible';
56
+ return (h(Host, null, h("div", { class: wrapperClasses }, h("af-card", { theme: this.theme, stretch: isFlexible }, h("div", { class: "feature-card__content" }, h("af-typography-lockup", { headingSize: this.headingSize, textAlignment: "left", buttonAlignment: "vertical" }, h("slot", null), h("span", { slot: "description" }, h("slot", { name: "body" })))), hasImage && (h("div", { class: "feature-card__image-area" }, h("img", { src: this.imageSrc, alt: this.imageAlt, class: "feature-card__image" })))))));
57
+ }
58
+ static get style() { return afFeatureCardCss; }
59
+ }, [262, "af-feature-card", {
60
+ "theme": [1],
61
+ "layout": [1],
62
+ "cardSize": [513, "card-size"],
63
+ "headingSize": [2, "heading-size"],
64
+ "imageSrc": [1, "image-src"],
65
+ "imageAlt": [1, "image-alt"]
66
+ }]);
67
+ function defineCustomElement() {
68
+ if (typeof customElements === "undefined") {
69
+ return;
70
+ }
71
+ const components = ["af-feature-card", "af-card", "af-typography-lockup"];
72
+ components.forEach(tagName => { switch (tagName) {
73
+ case "af-feature-card":
74
+ if (!customElements.get(tagName)) {
75
+ customElements.define(tagName, AfFeatureCard);
76
+ }
77
+ break;
78
+ case "af-card":
79
+ if (!customElements.get(tagName)) {
80
+ defineCustomElement$2();
81
+ }
82
+ break;
83
+ case "af-typography-lockup":
84
+ if (!customElements.get(tagName)) {
85
+ defineCustomElement$1();
86
+ }
87
+ break;
88
+ } });
89
+ }
90
+
91
+ export { AfFeatureCard as A, defineCustomElement as d };
92
+ //# sourceMappingURL=p-C0f6y_zg.js.map
93
+
94
+ //# sourceMappingURL=p-C0f6y_zg.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-C0f6y_zg.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-feature-card/af-feature-card.css?tag=af-feature-card&encapsulation=scoped","src/components/af-feature-card/af-feature-card.tsx"],"sourcesContent":["/* ==========================================================================\n Feature Card - Figma Specs\n \n Desktop Full-bleed: 544px × 660px, radius 32px\n Desktop Standard default: 544px width, radius 32px\n Desktop Standard large: 777px width, radius 32px\n Mobile Full-bleed: 335px × 442px, radius 24px\n Mobile Standard: 335px width, radius 24px\n ========================================================================== */\n\n/* ==========================================================================\n Host Element - Controls outer dimensions\n ========================================================================== */\n\n:host {\n display: block;\n --af-card-padding: 0;\n --af-card-gap: 0;\n}\n\n/* Fixed size hosts constrain to Figma dimensions */\n:host([card-size=\"default\"]) {\n width: 544px;\n}\n\n:host([card-size=\"large\"]) {\n width: 777px;\n}\n\n/* Flexible cards fill their container */\n:host([card-size=\"flexible\"]) {\n display: flex;\n width: 100%;\n height: 100%;\n}\n\n/* ==========================================================================\n Base Feature Card Styles\n ========================================================================== */\n\n.feature-card {\n overflow: hidden;\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n border-radius: var(--border-radius-card-level-1, 32px);\n width: 100%;\n height: 100%;\n}\n\n/* ==========================================================================\n Full Bleed Layout Mode\n Figma: 544px × 660px (desktop), 335px × 442px (mobile)\n ========================================================================== */\n\n.feature-card--layout-full-bleed {\n background: var(--background-base, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Full-bleed fixed sizes have explicit heights on host */\n:host([card-size=\"default\"]) .feature-card--layout-full-bleed,\n:host([card-size=\"large\"]) .feature-card--layout-full-bleed {\n height: 660px;\n}\n\n/* Full-bleed flexible minimum height */\n:host([card-size=\"flexible\"]) .feature-card--layout-full-bleed {\n min-height: 480px;\n}\n\n.feature-card__background {\n position: absolute;\n inset: 0;\n pointer-events: none;\n z-index: 0;\n}\n\n.feature-card__background-image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center;\n}\n\n/* Overlay gradient with text */\n.feature-card__overlay {\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n backdrop-filter: blur(2px);\n background: linear-gradient(to top, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);\n z-index: 1;\n /* Desktop: pt-124px px-32px pb-32px */\n padding: 124px 32px 32px 32px;\n\n /* White text on dark overlay */\n --af-typography-heading-primary: var(--typography-heading-secondary, #ffffff);\n --af-typography-heading-secondary: var(--typography-heading-secondary, #ffffff);\n --af-typography-body-default: var(--typography-body-dark, #ffffff);\n --colour-typography-heading-primary: var(--typography-heading-secondary, #ffffff);\n --colour-typography-heading-secondary: var(--typography-heading-secondary, #ffffff);\n --colour-typography-body-default: var(--typography-body-dark, #ffffff);\n}\n\n/* ==========================================================================\n Standard Layout Mode\n \n Structure: .feature-card > af-card[stretch] > [content] + [image-area]\n \n When cardSize=\"flexible\", af-card receives stretch prop which enables\n the flex chain. Content grows to fill space, image stays at bottom.\n ========================================================================== */\n\n.feature-card--layout-standard {\n background: var(--background-level-1, var(--colour-mistgreen-200, #e8eeed));\n}\n\n/* Standard flexible minimum height */\n:host([card-size=\"flexible\"]) .feature-card--layout-standard {\n min-height: 400px;\n}\n\n/* Content area - grows to push image to bottom (when af-card has stretch) */\n.feature-card__content {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n z-index: 1;\n /* Desktop default: pt-40px px-32px pb-12px */\n padding: 40px 32px 12px 32px;\n flex: 1 1 auto;\n}\n\n/* Large card content padding: pt-40px px-40px pb-0 */\n:host([card-size=\"large\"]) .feature-card__content {\n padding: 40px 40px 0 40px;\n}\n\n/* ==========================================================================\n Image Area (Standard Layout)\n Figma: 160px height (desktop), 192px height (mobile)\n ========================================================================== */\n\n.feature-card__image-area {\n position: relative;\n width: 100%;\n height: 160px;\n flex-shrink: 0;\n overflow: hidden;\n}\n\n.feature-card__image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n object-position: center top;\n}\n\n/* ==========================================================================\n Typography Lockup Styling\n ========================================================================== */\n\n.feature-card af-typography-lockup {\n --colour-typography-heading-primary: var(--af-typography-heading-primary, var(--typography-heading-primary, #14343b));\n --colour-typography-body-default: var(--af-typography-body-default, var(--typography-body-default, #2b484f));\n}\n\n/* ==========================================================================\n Mobile Responsive Styles (max-width: 768px)\n \n Figma:\n - Full-bleed: 335px × 442px, radius 24px\n - Standard: 335px width, radius 24px\n ========================================================================== */\n\n@media (max-width: 768px) {\n .feature-card {\n border-radius: var(--border-radius-card-level-1, 24px);\n }\n\n /* Mobile fixed widths on host */\n :host([card-size=\"default\"]),\n :host([card-size=\"large\"]) {\n width: 335px;\n }\n\n /* Mobile full-bleed height: 442px */\n :host([card-size=\"default\"]) .feature-card--layout-full-bleed,\n :host([card-size=\"large\"]) .feature-card--layout-full-bleed {\n height: 442px;\n }\n\n /* Mobile flexible minimum heights */\n :host([card-size=\"flexible\"]) .feature-card--layout-standard {\n min-height: 340px;\n }\n\n :host([card-size=\"flexible\"]) .feature-card--layout-full-bleed {\n min-height: 380px;\n }\n\n /* Mobile overlay padding: pt-80px px-24px pb-28px */\n .feature-card__overlay {\n padding: 80px 24px 28px 24px;\n }\n\n /* Mobile content padding: pt-32px px-24px pb-12px */\n .feature-card__content {\n padding: 32px 24px 12px 24px;\n }\n\n /* Mobile image area: 192px height */\n .feature-card__image-area {\n height: 192px;\n }\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Feature Card molecule component that combines a card with an image.\n * \n * Two layout modes:\n * - `standard`: Theme background with text at top and image at bottom\n * - `full-bleed`: Image covers entire card with text overlay at bottom\n * \n * Responsive: Automatically adapts to mobile viewport (≤768px).\n * \n * Uses af-card atom internally and af-typography-lockup for text hierarchy.\n * \n * @slot - Heading text content\n * @slot body - Description/body text content\n */\n@Component({\n tag: 'af-feature-card',\n styleUrl: 'af-feature-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfFeatureCard {\n /**\n * Theme variant - sets background color and provides theme context.\n * Only applies to 'standard' layout mode. Defaults to 'mist-green'.\n */\n @Prop() theme?: 'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay' = 'mist-green';\n\n /**\n * Layout mode for the card.\n * - 'standard': Theme background with text at top and image at bottom\n * - 'full-bleed': Image covers entire card with text overlay at bottom\n */\n @Prop() layout: 'standard' | 'full-bleed' = 'standard';\n\n /**\n * Card size variant.\n * - 'default': Fixed 544px × 420px\n * - 'large': Fixed 777px × 480px \n * - 'flexible': Fills container (for grid layouts)\n */\n @Prop({ reflect: true }) cardSize: 'default' | 'large' | 'flexible' = 'default';\n\n /**\n * Heading size for typography lockup (1-5, where 1 is largest).\n */\n @Prop() headingSize: 1 | 2 | 3 | 4 | 5 = 3;\n\n /**\n * Background/feature image URL.\n */\n @Prop() imageSrc?: string;\n\n /**\n * Image alt text for accessibility.\n * Provide meaningful alt text for feature images.\n * Only use empty string for purely decorative images.\n */\n @Prop() imageAlt: string = '';\n\n render() {\n const hasImage = !!this.imageSrc;\n const isFullBleed = this.layout === 'full-bleed';\n\n const wrapperClasses = {\n 'feature-card': true,\n [`feature-card--layout-${this.layout}`]: true,\n [`feature-card--size-${this.cardSize}`]: true,\n };\n\n // Full-bleed mode: image background with overlay\n if (isFullBleed) {\n return (\n <Host>\n <div class={wrapperClasses}>\n {/* Background image */}\n {hasImage && (\n <div class=\"feature-card__background\">\n <img\n src={this.imageSrc}\n alt={this.imageAlt}\n class=\"feature-card__background-image\"\n />\n </div>\n )}\n\n {/* Content overlay with gradient */}\n <div class=\"feature-card__overlay\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n </div>\n </Host>\n );\n }\n\n // Standard mode: theme card with image at bottom\n const isFlexible = this.cardSize === 'flexible';\n \n return (\n <Host>\n <div class={wrapperClasses}>\n <af-card theme={this.theme} stretch={isFlexible}>\n {/* Content area with typography lockup */}\n <div class=\"feature-card__content\">\n <af-typography-lockup\n headingSize={this.headingSize}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n\n {/* Image area at bottom */}\n {hasImage && (\n <div class=\"feature-card__image-area\">\n <img\n src={this.imageSrc}\n alt={this.imageAlt}\n class=\"feature-card__image\"\n />\n </div>\n )}\n </af-card>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,68 @@
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-CxngDK-N.js';
2
+ import { d as defineCustomElement$2 } from './p-Dvi1lz3x.js';
3
+ import { d as defineCustomElement$1 } from './p-BMp8QbY-.js';
4
+
5
+ const afIllustratedCardCss = ".sc-af-illustrated-card-h{display:flex;flex-direction:column;width:100%;--af-card-padding:0;--af-card-gap:0}.illustrated-card.sc-af-illustrated-card{min-height:400px}.illustrated-card__content.sc-af-illustrated-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;z-index:1}.illustrated-card--breakpoint-desktop.illustrated-card--size-default.sc-af-illustrated-card .illustrated-card__content.sc-af-illustrated-card{padding:40px 32px 12px 32px}.illustrated-card--breakpoint-desktop.illustrated-card--size-large.sc-af-illustrated-card .illustrated-card__content.sc-af-illustrated-card{padding:40px 40px 0 40px}.illustrated-card--breakpoint-mobile.sc-af-illustrated-card .illustrated-card__content.sc-af-illustrated-card{padding:32px 24px 12px 24px}.illustrated-card__illustration-area.sc-af-illustrated-card{position:relative;width:100%;flex:1;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box}.illustrated-card--breakpoint-desktop.sc-af-illustrated-card .illustrated-card__illustration-area.sc-af-illustrated-card{min-height:160px}.illustrated-card--breakpoint-mobile.sc-af-illustrated-card .illustrated-card__illustration-area.sc-af-illustrated-card{min-height:192px}.illustrated-card__illustration-placeholder.sc-af-illustrated-card{width:100%;height:100%;min-height:120px;display:flex;align-items:center;justify-content:center}.illustrated-card__illustration-area.sc-af-illustrated-card-s>img,.illustrated-card__illustration-area .sc-af-illustrated-card-s>img,.illustrated-card__illustration-area.sc-af-illustrated-card img.sc-af-illustrated-card{max-width:100%;max-height:200px;height:auto;object-fit:contain}.illustrated-card.sc-af-illustrated-card af-typography-lockup.sc-af-illustrated-card{--colour-typography-heading-primary:var(--af-typography-heading-primary);--colour-typography-body-default:var(--af-typography-body-default)}";
6
+
7
+ const AfIllustratedCard = /*@__PURE__*/ proxyCustomElement(class AfIllustratedCard extends H {
8
+ constructor(registerHost) {
9
+ super();
10
+ if (registerHost !== false) {
11
+ this.__registerHost();
12
+ }
13
+ /**
14
+ * Theme variant - sets background color and provides theme context.
15
+ * Defaults to 'mist-green'.
16
+ */
17
+ this.theme = 'mist-green';
18
+ /**
19
+ * Responsive breakpoint for typography sizing.
20
+ */
21
+ this.breakpoint = 'desktop';
22
+ /**
23
+ * Card size variant (applies to desktop only).
24
+ */
25
+ this.cardSize = 'default';
26
+ }
27
+ render() {
28
+ const wrapperClasses = {
29
+ 'illustrated-card': true,
30
+ [`illustrated-card--breakpoint-${this.breakpoint}`]: true,
31
+ [`illustrated-card--size-${this.cardSize}`]: true,
32
+ };
33
+ return (h(Host, { key: '60f265c32638f31318bcb0292b108cc1989af937' }, h("div", { key: '25d4c1f7652930f7e6948fef7ff33c21448dcb0f', class: wrapperClasses }, h("af-card", { key: '3b6dcf78a697a100273447de8ac6c19cc774bf1c', theme: this.theme }, h("div", { key: '4f1268ae1c60812414414423ec4af94ab3ee8b72', class: "illustrated-card__content" }, h("af-typography-lockup", { key: '346399ff84a4c2d22b201e0296f47a9b3fd5ab0a', headingSize: 3, breakpoint: this.breakpoint, textAlignment: "left", buttonAlignment: "vertical" }, h("slot", { key: '6e164be82cc05eb6debffc4ec24af5653f6a1306' }), h("span", { key: 'd0266f34ec02d44b76eba1e0ccf9c4856c08f33c', slot: "description" }, h("slot", { key: '6b6d659c54e83419f3b5e452b64fada7ba33e257', name: "body" })))), h("div", { key: '1319568917cdce5d2d37294af416dcfe58b1c4b5', class: "illustrated-card__illustration-area" }, h("slot", { key: 'bdea39d0db9615de5a1a6535f845d0c392604e74', name: "illustration" }))))));
34
+ }
35
+ static get style() { return afIllustratedCardCss; }
36
+ }, [262, "af-illustrated-card", {
37
+ "theme": [1],
38
+ "breakpoint": [1],
39
+ "cardSize": [1, "card-size"]
40
+ }]);
41
+ function defineCustomElement() {
42
+ if (typeof customElements === "undefined") {
43
+ return;
44
+ }
45
+ const components = ["af-illustrated-card", "af-card", "af-typography-lockup"];
46
+ components.forEach(tagName => { switch (tagName) {
47
+ case "af-illustrated-card":
48
+ if (!customElements.get(tagName)) {
49
+ customElements.define(tagName, AfIllustratedCard);
50
+ }
51
+ break;
52
+ case "af-card":
53
+ if (!customElements.get(tagName)) {
54
+ defineCustomElement$2();
55
+ }
56
+ break;
57
+ case "af-typography-lockup":
58
+ if (!customElements.get(tagName)) {
59
+ defineCustomElement$1();
60
+ }
61
+ break;
62
+ } });
63
+ }
64
+
65
+ export { AfIllustratedCard as A, defineCustomElement as d };
66
+ //# sourceMappingURL=p-CCAq3Zj6.js.map
67
+
68
+ //# sourceMappingURL=p-CCAq3Zj6.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CCAq3Zj6.js","mappings":";;;;AAAA,MAAM,oBAAoB,GAAG,m4DAAm4D;;MCoBn5D,iBAAiB,iBAAAA,kBAAA,CAAA,MAAA,iBAAA,SAAAC,CAAA,CAAA;AAN9B,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;AAOE;;;AAGG;AACK,QAAA,IAAK,CAAA,KAAA,GAAsE,YAAY;AAE/F;;AAEG;AACK,QAAA,IAAU,CAAA,UAAA,GAAyB,SAAS;AAEpD;;AAEG;AACK,QAAA,IAAQ,CAAA,QAAA,GAAwB,SAAS;AAqClD;IAnCC,MAAM,GAAA;AACJ,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,kBAAkB,EAAE,IAAI;AACxB,YAAA,CAAC,gCAAgC,IAAI,CAAC,UAAU,CAAE,CAAA,GAAG,IAAI;AACzD,YAAA,CAAC,0BAA0B,IAAI,CAAC,QAAQ,CAAE,CAAA,GAAG,IAAI;SAClD;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,cAAc,EAAA,EACxB,CAAA,CAAA,SAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAS,KAAK,EAAE,IAAI,CAAC,KAAK,EAAA,EAExB,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,2BAA2B,EAAA,EACpC,CAAA,CAAA,sBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,WAAW,EAAE,CAAC,EACd,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,aAAa,EAAC,MAAM,EACpB,eAAe,EAAC,UAAU,EAAA,EAE1B,CAAa,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,EACb,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,aAAa,EAAA,EACtB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,IAAI,EAAC,MAAM,EAAQ,CAAA,CACpB,CACc,CACnB,EAGN,CAAK,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,qCAAqC,EAAA,EAC9C,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,cAAc,EAAA,CAAQ,CAC7B,CACE,CACN,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-illustrated-card/af-illustrated-card.css?tag=af-illustrated-card&encapsulation=scoped","src/components/af-illustrated-card/af-illustrated-card.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n width: 100%;\n \n /* Override card atom defaults - illustrated card handles its own spacing */\n --af-card-padding: 0;\n --af-card-gap: 0;\n}\n\n/* ==========================================================================\n Base Illustrated Card Styles\n ========================================================================== */\n\n.illustrated-card {\n min-height: 400px;\n}\n\n/* ==========================================================================\n Content Area\n ========================================================================== */\n\n.illustrated-card__content {\n position: relative;\n display: flex;\n flex-direction: column;\n box-sizing: border-box;\n z-index: 1;\n}\n\n/* Desktop default size spacing */\n.illustrated-card--breakpoint-desktop.illustrated-card--size-default .illustrated-card__content {\n padding: 40px 32px 12px 32px;\n}\n\n/* Desktop large size spacing */\n.illustrated-card--breakpoint-desktop.illustrated-card--size-large .illustrated-card__content {\n padding: 40px 40px 0 40px;\n}\n\n/* Mobile spacing */\n.illustrated-card--breakpoint-mobile .illustrated-card__content {\n padding: 32px 24px 12px 24px;\n}\n\n/* ==========================================================================\n Illustration Area\n ========================================================================== */\n\n.illustrated-card__illustration-area {\n position: relative;\n width: 100%;\n flex: 1;\n overflow: hidden;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 24px;\n box-sizing: border-box;\n}\n\n/* Desktop illustration area height */\n.illustrated-card--breakpoint-desktop .illustrated-card__illustration-area {\n min-height: 160px;\n}\n\n/* Mobile illustration area height */\n.illustrated-card--breakpoint-mobile .illustrated-card__illustration-area {\n min-height: 192px;\n}\n\n/* Illustration placeholder for when using data attributes */\n.illustrated-card__illustration-placeholder {\n width: 100%;\n height: 100%;\n min-height: 120px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* Illustration image styling */\n.illustrated-card__illustration-area ::slotted(img),\n.illustrated-card__illustration-area img {\n max-width: 100%;\n max-height: 200px;\n height: auto;\n object-fit: contain;\n}\n\n/* ==========================================================================\n Typography Lockup Styling\n ========================================================================== */\n\n/* Pass theme colors to typography lockup */\n.illustrated-card af-typography-lockup {\n --colour-typography-heading-primary: var(--af-typography-heading-primary);\n --colour-typography-body-default: var(--af-typography-body-default);\n}\n","import { Component, Prop, h, Host } from '@stencil/core';\n\n/**\n * Illustrated Card molecule component that combines a card with an illustration.\n * \n * Uses a theme background with text at top and an illustration from\n * @affinda/illustrations at the bottom.\n * \n * Uses af-card atom internally and af-typography-lockup for text hierarchy.\n * \n * @slot - Heading text content\n * @slot body - Description/body text content\n * @slot illustration - Illustration image element\n */\n@Component({\n tag: 'af-illustrated-card',\n styleUrl: 'af-illustrated-card.css',\n shadow: false,\n scoped: true,\n})\nexport class AfIllustratedCard {\n /**\n * Theme variant - sets background color and provides theme context.\n * Defaults to 'mist-green'.\n */\n @Prop() theme?: 'white' | 'white-ivory' | 'inkwell' | 'mist-green' | 'soft-clay' = 'mist-green';\n\n /**\n * Responsive breakpoint for typography sizing.\n */\n @Prop() breakpoint: 'desktop' | 'mobile' = 'desktop';\n\n /**\n * Card size variant (applies to desktop only).\n */\n @Prop() cardSize: 'default' | 'large' = 'default';\n\n render() {\n const wrapperClasses = {\n 'illustrated-card': true,\n [`illustrated-card--breakpoint-${this.breakpoint}`]: true,\n [`illustrated-card--size-${this.cardSize}`]: true,\n };\n\n return (\n <Host>\n <div class={wrapperClasses}>\n <af-card theme={this.theme}>\n {/* Content area with typography lockup */}\n <div class=\"illustrated-card__content\">\n <af-typography-lockup\n headingSize={3}\n breakpoint={this.breakpoint}\n textAlignment=\"left\"\n buttonAlignment=\"vertical\"\n >\n <slot></slot>\n <span slot=\"description\">\n <slot name=\"body\"></slot>\n </span>\n </af-typography-lockup>\n </div>\n\n {/* Illustration area at bottom */}\n <div class=\"illustrated-card__illustration-area\">\n <slot name=\"illustration\"></slot>\n </div>\n </af-card>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,127 @@
1
+ import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-CxngDK-N.js';
2
+
3
+ const afTextareaCss = ":host{display:block;width:100%}.textarea-wrapper{display:flex;flex-direction:column;gap:var(--sds-size-space-200, 8px);width:100%}.label-row{display:flex;align-items:center;gap:12px}.label{flex:1;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-book, 500);font-size:16px;line-height:24px;color:var(--forms-fields-label, var(--colour-brand-inkwell, #14343b));cursor:default}.required{color:var(--forms-fields-error, #be292a);margin-left:2px}.info-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;background:none;cursor:pointer;color:var(--forms-fields-label, var(--colour-brand-inkwell, #14343b));flex-shrink:0}.info-icon svg{width:20px;height:20px}.info-icon:hover{opacity:0.7}.info-icon:focus-visible{outline:2px solid var(--buttons-secondary-stroke, #14343b);outline-offset:2px;border-radius:4px}.description{font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--forms-fields-description, var(--colour-inkwell-400, #2b484f));margin:0}.textarea-container{display:flex;background:var(--forms-fields-bg-default, #ffffff);border:1px solid var(--forms-fields-stroke-default, #d0d6d8);border-radius:var(--radii-input, 8px);transition:all 0.15s ease;box-sizing:border-box;overflow:hidden}.textarea-container.hovered{background:var(--forms-fields-bg-hover, #f3f5f5)}.textarea-container.focused{background:var(--forms-fields-bg-default, #ffffff);border-color:var(--forms-fields-stroke-active, var(--colour-brand-inkwell, #14343b));box-shadow:0 0 0 4px var(--background-base, #ffffff), \n 0 0 0 5px var(--buttons-secondary-stroke, #14343b)}.textarea-container.error{border-color:var(--forms-fields-stroke-error, #be292a)}.textarea-container.disabled{background:var(--forms-fields-bg-disabled, #e8ebeb);border-color:var(--forms-fields-stroke-default, #d0d6d8);cursor:not-allowed}.textarea{flex:1;min-width:0;min-height:108px;padding:12px 16px;border:none;background:transparent;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--forms-fields-input, var(--colour-brand-inkwell, #14343b));outline:none;resize:vertical}.textarea::placeholder{color:var(--forms-fields-placeholder, #60767b);opacity:1}.textarea:disabled{cursor:not-allowed;color:var(--forms-fields-placeholder, #60767b);resize:none}.textarea:disabled::placeholder{color:var(--forms-fields-placeholder, #60767b)}.error-row{display:flex;align-items:center;gap:12px}.error-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;color:var(--forms-fields-error, #be292a)}.error-icon svg{width:20px;height:20px}.error-text{flex:1;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-weight:var(--font-weight-regular, 400);font-size:16px;line-height:24px;color:var(--forms-fields-error, #be292a)}";
4
+
5
+ const AfTextarea = /*@__PURE__*/ proxyCustomElement(class AfTextarea extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ this.afInput = createEvent(this, "afInput");
13
+ this.afBlur = createEvent(this, "afBlur");
14
+ this.afFocus = createEvent(this, "afFocus");
15
+ this.afInfoClick = createEvent(this, "afInfoClick");
16
+ /**
17
+ * The current value of the textarea
18
+ */
19
+ this.value = '';
20
+ /**
21
+ * Whether the textarea is disabled
22
+ */
23
+ this.disabled = false;
24
+ /**
25
+ * Whether the textarea is required
26
+ */
27
+ this.required = false;
28
+ /**
29
+ * Whether the textarea is read-only
30
+ */
31
+ this.readonly = false;
32
+ /**
33
+ * Whether to show the info icon next to the label
34
+ */
35
+ this.showInfoIcon = false;
36
+ /**
37
+ * Number of visible rows (height)
38
+ */
39
+ this.rows = 4;
40
+ /**
41
+ * Whether the textarea is resizable
42
+ */
43
+ this.resize = 'vertical';
44
+ this.isFocused = false;
45
+ this.isHovered = false;
46
+ this.handleInput = (event) => {
47
+ const target = event.target;
48
+ this.value = target.value;
49
+ this.afInput.emit({ value: this.value });
50
+ };
51
+ this.handleFocus = () => {
52
+ this.isFocused = true;
53
+ this.afFocus.emit();
54
+ };
55
+ this.handleBlur = () => {
56
+ this.isFocused = false;
57
+ this.afBlur.emit();
58
+ };
59
+ this.handleMouseEnter = () => {
60
+ this.isHovered = true;
61
+ };
62
+ this.handleMouseLeave = () => {
63
+ this.isHovered = false;
64
+ };
65
+ this.handleInfoClick = (event) => {
66
+ event.preventDefault();
67
+ event.stopPropagation();
68
+ this.afInfoClick.emit();
69
+ };
70
+ }
71
+ render() {
72
+ const hasError = !!this.error;
73
+ const hasValue = !!(this.value && this.value.length > 0);
74
+ const wrapperClasses = {
75
+ 'textarea-wrapper': true,
76
+ 'disabled': this.disabled,
77
+ 'error': hasError,
78
+ 'focused': this.isFocused,
79
+ 'hovered': this.isHovered && !this.disabled && !this.isFocused,
80
+ 'populated': hasValue
81
+ };
82
+ const textareaContainerClasses = {
83
+ 'textarea-container': true,
84
+ 'disabled': this.disabled,
85
+ 'error': hasError,
86
+ 'focused': this.isFocused,
87
+ 'hovered': this.isHovered && !this.disabled && !this.isFocused
88
+ };
89
+ return (h(Host, { key: '84f322a374d364669942e9153c6ba42221af1059' }, h("div", { key: '4b5a62e919a479bcf741f2d1d9e39a7b0e1e49ac', class: wrapperClasses }, this.label && (h("div", { key: 'e73b88c28588b8f3e5b9823467e8c972fd671391', class: "label-row" }, h("label", { key: '01c16777469e037495997efc2cacc51778fcd9c7', class: "label", htmlFor: "textarea" }, this.label, this.required && h("span", { key: '6da50443dadd3a6eec5655b4ff2fa19affa38006', class: "required" }, "*")), this.showInfoIcon && (h("button", { key: 'c731c726f54946273a330c0173f09faeb9fe583b', type: "button", class: "info-icon", onClick: this.handleInfoClick, "aria-label": "More information" }, h("svg", { key: '24a1ee4fb10ebd9a84a897cefef09ad7e7b63565', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '3523e8495fc5ffa06d793318f55ba79043174931', d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'd2caa0b33fccc6289f00fc22fc329df52d86a6ed', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: 'db8d8ee03abe2638265d192be6efb992a6041199', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h("slot", { key: '8325f2fc490d8261a596398da7cc68d74ccfce11', name: "label-end" }))), this.description && (h("p", { key: '7db9b0e06615f5a13b7759cd81c23ee6ab124769', class: "description" }, this.description)), h("div", { key: '939c306f7a56735956e2ef4badeb4cfa39abf759', class: textareaContainerClasses, onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, h("textarea", { key: '0dffd719ed83955990ae1935fb8d39ab92fd9b94', ref: (el) => this.textareaEl = el ?? undefined, id: "textarea", class: "textarea", name: this.name, value: this.value, placeholder: this.placeholder, disabled: this.disabled, required: this.required, readonly: this.readonly, rows: this.rows, maxlength: this.maxlength, minlength: this.minlength, style: { resize: this.resize }, "aria-invalid": hasError ? 'true' : undefined, "aria-describedby": hasError ? 'error-message' : this.description ? 'description' : undefined, onInput: this.handleInput, onFocus: this.handleFocus, onBlur: this.handleBlur })), hasError && (h("div", { key: '1f7f83da7518216eb63ff9cb685ffb92b3b37fb1', class: "error-row", id: "error-message" }, h("span", { key: 'a1af53a449805506ac0abddae3a236232a538bd9', class: "error-icon" }, h("svg", { key: 'b52e5c14a8986c502e1e0dce8a95c7d381c7a8e3', viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: 'af8c97b747c960065f7461e84c893e644b66d9c5', d: "M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '145226126e4ba52c6234b3c454e43d87b495789c', d: "M12 16V12", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }), h("path", { key: '7b94917ac5c96c6abbfc93826b07fa967b49506a', d: "M12 8H12.01", stroke: "currentColor", "stroke-width": "1.5", "stroke-linecap": "round", "stroke-linejoin": "round" }))), h("span", { key: '9f097e0c43b1a6b19d0275fed8a216e901ce2d86', class: "error-text" }, this.error))))));
90
+ }
91
+ static get style() { return afTextareaCss; }
92
+ }, [257, "af-textarea", {
93
+ "label": [1],
94
+ "description": [1],
95
+ "placeholder": [1],
96
+ "value": [1025],
97
+ "name": [1],
98
+ "disabled": [516],
99
+ "required": [4],
100
+ "readonly": [4],
101
+ "error": [1],
102
+ "showInfoIcon": [4, "show-info-icon"],
103
+ "rows": [2],
104
+ "maxlength": [2],
105
+ "minlength": [2],
106
+ "resize": [1],
107
+ "isFocused": [32],
108
+ "isHovered": [32]
109
+ }]);
110
+ function defineCustomElement() {
111
+ if (typeof customElements === "undefined") {
112
+ return;
113
+ }
114
+ const components = ["af-textarea"];
115
+ components.forEach(tagName => { switch (tagName) {
116
+ case "af-textarea":
117
+ if (!customElements.get(tagName)) {
118
+ customElements.define(tagName, AfTextarea);
119
+ }
120
+ break;
121
+ } });
122
+ }
123
+
124
+ export { AfTextarea as A, defineCustomElement as d };
125
+ //# sourceMappingURL=p-CZyCImor.js.map
126
+
127
+ //# sourceMappingURL=p-CZyCImor.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-CZyCImor.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-textarea/af-textarea.css?tag=af-textarea&encapsulation=shadow","src/components/af-textarea/af-textarea.tsx"],"sourcesContent":[":host {\n display: block;\n width: 100%;\n}\n\n/* Wrapper */\n.textarea-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--sds-size-space-200, 8px);\n width: 100%;\n}\n\n/* Label row */\n.label-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.label {\n flex: 1;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-book, 500);\n font-size: 16px;\n line-height: 24px;\n color: var(--forms-fields-label, var(--colour-brand-inkwell, #14343b));\n cursor: default;\n}\n\n.required {\n color: var(--forms-fields-error, #be292a);\n margin-left: 2px;\n}\n\n/* Info icon button */\n.info-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n padding: 0;\n border: none;\n background: none;\n cursor: pointer;\n color: var(--forms-fields-label, var(--colour-brand-inkwell, #14343b));\n flex-shrink: 0;\n}\n\n.info-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.info-icon:hover {\n opacity: 0.7;\n}\n\n.info-icon:focus-visible {\n outline: 2px solid var(--buttons-secondary-stroke, #14343b);\n outline-offset: 2px;\n border-radius: 4px;\n}\n\n/* Description */\n.description {\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--forms-fields-description, var(--colour-inkwell-400, #2b484f));\n margin: 0;\n}\n\n/* Textarea container */\n.textarea-container {\n display: flex;\n background: var(--forms-fields-bg-default, #ffffff);\n border: 1px solid var(--forms-fields-stroke-default, #d0d6d8);\n border-radius: var(--radii-input, 8px);\n transition: all 0.15s ease;\n box-sizing: border-box;\n overflow: hidden;\n}\n\n/* Hover state */\n.textarea-container.hovered {\n background: var(--forms-fields-bg-hover, #f3f5f5);\n}\n\n/* Focus state */\n.textarea-container.focused {\n background: var(--forms-fields-bg-default, #ffffff);\n border-color: var(--forms-fields-stroke-active, var(--colour-brand-inkwell, #14343b));\n box-shadow: \n 0 0 0 4px var(--background-base, #ffffff), \n 0 0 0 5px var(--buttons-secondary-stroke, #14343b);\n}\n\n/* Error state */\n.textarea-container.error {\n border-color: var(--forms-fields-stroke-error, #be292a);\n}\n\n/* Disabled state */\n.textarea-container.disabled {\n background: var(--forms-fields-bg-disabled, #e8ebeb);\n border-color: var(--forms-fields-stroke-default, #d0d6d8);\n cursor: not-allowed;\n}\n\n/* Native textarea */\n.textarea {\n flex: 1;\n min-width: 0;\n min-height: 108px;\n padding: 12px 16px;\n border: none;\n background: transparent;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--forms-fields-input, var(--colour-brand-inkwell, #14343b));\n outline: none;\n resize: vertical;\n}\n\n.textarea::placeholder {\n color: var(--forms-fields-placeholder, #60767b);\n opacity: 1;\n}\n\n.textarea:disabled {\n cursor: not-allowed;\n color: var(--forms-fields-placeholder, #60767b);\n resize: none;\n}\n\n.textarea:disabled::placeholder {\n color: var(--forms-fields-placeholder, #60767b);\n}\n\n/* Error row */\n.error-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.error-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n flex-shrink: 0;\n color: var(--forms-fields-error, #be292a);\n}\n\n.error-icon svg {\n width: 20px;\n height: 20px;\n}\n\n.error-text {\n flex: 1;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-weight: var(--font-weight-regular, 400);\n font-size: 16px;\n line-height: 24px;\n color: var(--forms-fields-error, #be292a);\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter, State } from '@stencil/core';\n\n/**\n * Textarea component for multi-line text input with label, description, and error states.\n * \n * @slot label-end - Content to display at the end of the label (e.g., info icon)\n */\n@Component({\n tag: 'af-textarea',\n styleUrl: 'af-textarea.css',\n shadow: true\n})\nexport class AfTextarea {\n /**\n * The label text for the textarea\n */\n @Prop() label?: string;\n\n /**\n * Description text displayed below the label\n */\n @Prop() description?: string;\n\n /**\n * Placeholder text for the textarea\n */\n @Prop() placeholder?: string;\n\n /**\n * The current value of the textarea\n */\n @Prop({ mutable: true }) value: string = '';\n\n /**\n * The name of the textarea for form submission\n */\n @Prop() name?: string;\n\n /**\n * Whether the textarea is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * Whether the textarea is required\n */\n @Prop() required: boolean = false;\n\n /**\n * Whether the textarea is read-only\n */\n @Prop() readonly: boolean = false;\n\n /**\n * Error message to display (also sets error state)\n */\n @Prop() error?: string;\n\n /**\n * Whether to show the info icon next to the label\n */\n @Prop() showInfoIcon: boolean = false;\n\n /**\n * Number of visible rows (height)\n */\n @Prop() rows: number = 4;\n\n /**\n * Maximum length of input value\n */\n @Prop() maxlength?: number;\n\n /**\n * Minimum length of input value\n */\n @Prop() minlength?: number;\n\n /**\n * Whether the textarea is resizable\n */\n @Prop() resize: 'none' | 'vertical' | 'horizontal' | 'both' = 'vertical';\n\n /**\n * Emitted when the textarea value changes\n */\n @Event() afInput!: EventEmitter<{ value: string }>;\n\n /**\n * Emitted when the textarea loses focus\n */\n @Event() afBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the textarea gains focus\n */\n @Event() afFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the info icon is clicked\n */\n @Event() afInfoClick!: EventEmitter<void>;\n\n @State() private isFocused: boolean = false;\n @State() private isHovered: boolean = false;\n\n private textareaEl?: HTMLTextAreaElement;\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLTextAreaElement;\n this.value = target.value;\n this.afInput.emit({ value: this.value });\n };\n\n private handleFocus = () => {\n this.isFocused = true;\n this.afFocus.emit();\n };\n\n private handleBlur = () => {\n this.isFocused = false;\n this.afBlur.emit();\n };\n\n private handleMouseEnter = () => {\n this.isHovered = true;\n };\n\n private handleMouseLeave = () => {\n this.isHovered = false;\n };\n\n private handleInfoClick = (event: MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n this.afInfoClick.emit();\n };\n\n render() {\n const hasError = !!this.error;\n const hasValue = !!(this.value && this.value.length > 0);\n\n const wrapperClasses = {\n 'textarea-wrapper': true,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused,\n 'populated': hasValue\n };\n\n const textareaContainerClasses = {\n 'textarea-container': true,\n 'disabled': this.disabled,\n 'error': hasError,\n 'focused': this.isFocused,\n 'hovered': this.isHovered && !this.disabled && !this.isFocused\n };\n\n return (\n <Host>\n <div class={wrapperClasses}>\n {/* Label */}\n {this.label && (\n <div class=\"label-row\">\n <label class=\"label\" htmlFor=\"textarea\">\n {this.label}\n {this.required && <span class=\"required\">*</span>}\n </label>\n {this.showInfoIcon && (\n <button \n type=\"button\" \n class=\"info-icon\" \n onClick={this.handleInfoClick}\n aria-label=\"More information\"\n >\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </button>\n )}\n <slot name=\"label-end\"></slot>\n </div>\n )}\n\n {/* Description */}\n {this.description && (\n <p class=\"description\">{this.description}</p>\n )}\n\n {/* Textarea container */}\n <div \n class={textareaContainerClasses}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {/* Native textarea */}\n <textarea\n ref={(el) => this.textareaEl = el ?? undefined}\n id=\"textarea\"\n class=\"textarea\"\n name={this.name}\n value={this.value}\n placeholder={this.placeholder}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n rows={this.rows}\n maxlength={this.maxlength}\n minlength={this.minlength}\n style={{ resize: this.resize }}\n aria-invalid={hasError ? 'true' : undefined}\n aria-describedby={hasError ? 'error-message' : this.description ? 'description' : undefined}\n onInput={this.handleInput}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </div>\n\n {/* Error message */}\n {hasError && (\n <div class=\"error-row\" id=\"error-message\">\n <span class=\"error-icon\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22Z\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 16V12\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n <path d=\"M12 8H12.01\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n </span>\n <span class=\"error-text\">{this.error}</span>\n </div>\n )}\n </div>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -0,0 +1,65 @@
1
+ import { p as proxyCustomElement, H, d as createEvent, h, c as Host } from './p-CxngDK-N.js';
2
+
3
+ const afRadioCss = ":host{display:inline-block}.radio{display:inline-flex;align-items:center;gap:12px;cursor:pointer;font-family:var(--typography-primaryfont, 'NeuSans', sans-serif);font-size:14px;line-height:20px;color:var(--buttons-ghost-text, var(--colour-brand-inkwell, #14343b));user-select:none}.radio.disabled{cursor:not-allowed;opacity:0.5}.input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}.control{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border-radius:var(--radii-radio, 9999px);border:1px solid var(--forms-control-stroke, #d0d6d8);background:var(--forms-control-bg-default, #ffffff);transition:all 0.15s ease;box-sizing:border-box}.control.checked{background:var(--forms-control-bg-active, var(--colour-brand-inkwell, #14343b));border-color:var(--forms-control-bg-active, var(--colour-brand-inkwell, #14343b))}.control.disabled{background:var(--forms-control-bg-default-disabled, #e8ebeb);border-color:var(--forms-control-stroke-disabled, #d0d6d8)}.control.checked.disabled{background:var(--forms-control-bg-active-disabled, #708380);border-color:var(--forms-control-bg-active-disabled, #708380)}.radio:not(.disabled):hover .control{border-color:var(--forms-control-stroke-hover, var(--colour-brand-inkwell, #14343b))}.input:focus-visible+.control{box-shadow:0 0 0 4px var(--background-base, #ffffff), 0 0 0 5px var(--buttons-secondary-stroke, #14343b);outline:none}.dot{width:8px;height:8px;border-radius:50%;background:#ffffff}.label{display:flex;align-items:center;min-height:24px}.label:empty{display:none}";
4
+
5
+ const AfRadio = /*@__PURE__*/ proxyCustomElement(class AfRadio extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ this.afChange = createEvent(this, "afChange");
13
+ /**
14
+ * Whether the radio is checked
15
+ */
16
+ this.checked = false;
17
+ /**
18
+ * Whether the radio is disabled
19
+ */
20
+ this.disabled = false;
21
+ this.handleChange = () => {
22
+ if (this.disabled || this.checked)
23
+ return;
24
+ this.checked = true;
25
+ this.afChange.emit({ checked: this.checked, value: this.value });
26
+ };
27
+ }
28
+ render() {
29
+ const radioClasses = {
30
+ 'radio': true,
31
+ 'checked': this.checked,
32
+ 'disabled': this.disabled
33
+ };
34
+ const controlClasses = {
35
+ 'control': true,
36
+ 'checked': this.checked,
37
+ 'disabled': this.disabled
38
+ };
39
+ return (h(Host, { key: '6adcdfda7127638527a30f9289f9cd240ec1e11d' }, h("label", { key: '9366569dd10eeeca7f3c3a616b0f523efd3208ec', class: radioClasses }, h("input", { key: '4b63b4285d65e42fc04c9f1f2e02e82abcf71018', type: "radio", class: "input", checked: this.checked, disabled: this.disabled, name: this.name, value: this.value, onChange: this.handleChange }), h("span", { key: '2e9fa65ff49c95948e6ac3e791f31a8f51f4b0ba', class: controlClasses }, this.checked && (h("span", { key: 'efda09c196af4b1a33bba4da56d3036ee8545905', class: "dot" }))), h("span", { key: 'faf8a3d424418f987d9561d9d903068ce865a494', class: "label" }, h("slot", { key: '9b7d84b6eab1f908708bca461cd49eda3737435b' })))));
40
+ }
41
+ static get style() { return afRadioCss; }
42
+ }, [257, "af-radio", {
43
+ "checked": [1540],
44
+ "disabled": [516],
45
+ "name": [1],
46
+ "value": [1]
47
+ }]);
48
+ function defineCustomElement() {
49
+ if (typeof customElements === "undefined") {
50
+ return;
51
+ }
52
+ const components = ["af-radio"];
53
+ components.forEach(tagName => { switch (tagName) {
54
+ case "af-radio":
55
+ if (!customElements.get(tagName)) {
56
+ customElements.define(tagName, AfRadio);
57
+ }
58
+ break;
59
+ } });
60
+ }
61
+
62
+ export { AfRadio as A, defineCustomElement as d };
63
+ //# sourceMappingURL=p-C_M8AOaj.js.map
64
+
65
+ //# sourceMappingURL=p-C_M8AOaj.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-C_M8AOaj.js","mappings":";;AAAA,MAAM,UAAU,GAAG,umDAAumD;;MCY7mD,OAAO,iBAAAA,kBAAA,CAAA,MAAA,OAAA,SAAAC,CAAA,CAAA;AALpB,IAAA,WAAA,CAAA,YAAA,EAAA;;;;;;;AAME;;AAEG;AACqC,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK;AAEhE;;AAEG;AACsB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK;AAiB1C,QAAA,IAAY,CAAA,YAAA,GAAG,MAAK;AAC1B,YAAA,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,OAAO;gBAAE;AACnC,YAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAClE,SAAC;AAuCF;IArCC,MAAM,GAAA;AACJ,QAAA,MAAM,YAAY,GAAG;AACnB,YAAA,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,UAAU,EAAE,IAAI,CAAC;SAClB;AAED,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,UAAU,EAAE,IAAI,CAAC;SAClB;AAED,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAAO,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAE,YAAY,EAAA,EACxB,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,OAAO,EACb,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,CAAA,EACF,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAM,KAAK,EAAE,cAAc,EAAA,EACxB,IAAI,CAAC,OAAO,KACX,6DAAM,KAAK,EAAC,KAAK,EAAA,CAAQ,CAC1B,CACI,EACP,CAAM,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,OAAO,EAAA,EACjB,CAAA,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAa,CACR,CACD,CACH;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/af-radio/af-radio.css?tag=af-radio&encapsulation=shadow","src/components/af-radio/af-radio.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.radio {\n display: inline-flex;\n align-items: center;\n gap: 12px;\n cursor: pointer;\n font-family: var(--typography-primaryfont, 'NeuSans', sans-serif);\n font-size: 14px;\n line-height: 20px;\n color: var(--buttons-ghost-text, var(--colour-brand-inkwell, #14343b));\n user-select: none;\n}\n\n.radio.disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n/* Hidden native input */\n.input {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* Custom radio control */\n.control {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n width: 20px;\n height: 20px;\n border-radius: var(--radii-radio, 9999px);\n border: 1px solid var(--forms-control-stroke, #d0d6d8);\n background: var(--forms-control-bg-default, #ffffff);\n transition: all 0.15s ease;\n box-sizing: border-box;\n}\n\n/* Checked state */\n.control.checked {\n background: var(--forms-control-bg-active, var(--colour-brand-inkwell, #14343b));\n border-color: var(--forms-control-bg-active, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Disabled state */\n.control.disabled {\n background: var(--forms-control-bg-default-disabled, #e8ebeb);\n border-color: var(--forms-control-stroke-disabled, #d0d6d8);\n}\n\n.control.checked.disabled {\n background: var(--forms-control-bg-active-disabled, #708380);\n border-color: var(--forms-control-bg-active-disabled, #708380);\n}\n\n/* Hover state */\n.radio:not(.disabled):hover .control {\n border-color: var(--forms-control-stroke-hover, var(--colour-brand-inkwell, #14343b));\n}\n\n/* Focus state */\n.input:focus-visible + .control {\n box-shadow: 0 0 0 4px var(--background-base, #ffffff), 0 0 0 5px var(--buttons-secondary-stroke, #14343b);\n outline: none;\n}\n\n/* Inner dot */\n.dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: #ffffff;\n}\n\n/* Label styling */\n.label {\n display: flex;\n align-items: center;\n min-height: 24px;\n}\n\n/* Empty label - hide if no content */\n.label:empty {\n display: none;\n}\n\n","import { Component, h, Prop, Host, Event, EventEmitter } from '@stencil/core';\n\n/**\n * Radio component for selecting a single option from a group.\n * \n * @slot - Radio label text\n */\n@Component({\n tag: 'af-radio',\n styleUrl: 'af-radio.css',\n shadow: true\n})\nexport class AfRadio {\n /**\n * Whether the radio is checked\n */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /**\n * Whether the radio is disabled\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /**\n * The name of the radio for form submission (radios with same name are grouped)\n */\n @Prop() name?: string;\n\n /**\n * The value of the radio for form submission\n */\n @Prop() value?: string;\n\n /**\n * Emitted when the radio checked state changes\n */\n @Event() afChange!: EventEmitter<{ checked: boolean; value?: string }>;\n\n private handleChange = () => {\n if (this.disabled || this.checked) return;\n this.checked = true;\n this.afChange.emit({ checked: this.checked, value: this.value });\n };\n\n render() {\n const radioClasses = {\n 'radio': true,\n 'checked': this.checked,\n 'disabled': this.disabled\n };\n\n const controlClasses = {\n 'control': true,\n 'checked': this.checked,\n 'disabled': this.disabled\n };\n\n return (\n <Host>\n <label class={radioClasses}>\n <input\n type=\"radio\"\n class=\"input\"\n checked={this.checked}\n disabled={this.disabled}\n name={this.name}\n value={this.value}\n onChange={this.handleChange}\n />\n <span class={controlClasses}>\n {this.checked && (\n <span class=\"dot\"></span>\n )}\n </span>\n <span class=\"label\">\n <slot></slot>\n </span>\n </label>\n </Host>\n );\n }\n}\n\n"],"version":3}
@@ -0,0 +1,58 @@
1
+ import { p as proxyCustomElement, H, h, c as Host } from './p-CxngDK-N.js';
2
+
3
+ const afTagCss = ":host{display:inline-flex;flex-shrink:0}.tag{display:inline-flex;align-items:center;overflow:hidden;border-radius:4px;font-family:var(--typography-headingfont, 'NeuSans', Arial, sans-serif);font-weight:var(--font-weight-book, 500);line-height:1;text-decoration:none;transition:background-color 0.15s ease, box-shadow 0.15s ease;cursor:default}a.tag{cursor:pointer}.tag.variant-sand{background-color:var(--af-tag-sand-bg, var(--colour-brand-soft-clay, #b09670));color:var(--af-tag-sand-text, var(--colour-brand-inkwell, #14343b))}.tag.variant-sand:hover{background-color:var(--af-tag-sand-bg-hover, var(--colour-softclay-400, #c0ab8d))}.tag.variant-light{background-color:var(--af-tag-light-bg, var(--colour-background-level1, #e8eeed));color:var(--af-tag-light-text, var(--colour-brand-inkwell, #14343b))}.tag.variant-light:hover{background-color:var(--af-tag-light-bg-hover, var(--colour-tints-mist-green-200, #d2e8e3))}.tag.size-x-small{padding:6px 10px;font-size:var(--font-size-label-tag, 14px)}.tag.size-small{padding:8px 12px;font-size:var(--font-size-label-tag, 14px)}.tag.size-large{padding:12px 16px;font-size:var(--font-size-body-large, 18px)}.tag:focus{outline:none;box-shadow: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))}.tag:focus-visible{outline:none;box-shadow: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))}";
4
+
5
+ const AfTag = /*@__PURE__*/ proxyCustomElement(class AfTag extends H {
6
+ constructor(registerHost) {
7
+ super();
8
+ if (registerHost !== false) {
9
+ this.__registerHost();
10
+ }
11
+ this.__attachShadow();
12
+ /**
13
+ * The size of the tag
14
+ * - `x-small` - Compact tag with minimal padding
15
+ * - `small` - Small tag with moderate padding
16
+ * - `large` - Large tag with generous padding
17
+ */
18
+ this.size = 'small';
19
+ /**
20
+ * The visual variant of the tag
21
+ * - `sand` - Soft-clay/tan colored background (default)
22
+ * - `light` - Mist-green/light colored background
23
+ */
24
+ this.variant = 'sand';
25
+ }
26
+ render() {
27
+ const TagElement = this.href ? 'a' : 'span';
28
+ const linkProps = this.href ? { href: this.href } : {};
29
+ return (h(Host, { key: '82b1f25a939716973c927f59e82808572004e871' }, h(TagElement, { key: 'e4a524e0f4dd496ca5485d865549bd0b063bd4ac', class: {
30
+ 'tag': true,
31
+ [`size-${this.size}`]: true,
32
+ [`variant-${this.variant}`]: true,
33
+ }, ...linkProps }, h("slot", { key: '07202b985638722997e8aff2bad13ed5d1aa8d2c' }))));
34
+ }
35
+ static get style() { return afTagCss; }
36
+ }, [257, "af-tag", {
37
+ "size": [1],
38
+ "variant": [1],
39
+ "href": [1]
40
+ }]);
41
+ function defineCustomElement() {
42
+ if (typeof customElements === "undefined") {
43
+ return;
44
+ }
45
+ const components = ["af-tag"];
46
+ components.forEach(tagName => { switch (tagName) {
47
+ case "af-tag":
48
+ if (!customElements.get(tagName)) {
49
+ customElements.define(tagName, AfTag);
50
+ }
51
+ break;
52
+ } });
53
+ }
54
+
55
+ export { AfTag as A, defineCustomElement as d };
56
+ //# sourceMappingURL=p-Cqp0DdgH.js.map
57
+
58
+ //# sourceMappingURL=p-Cqp0DdgH.js.map
@@ -0,0 +1 @@
1
+ {"file":"p-Cqp0DdgH.js","mappings":";;AAAA,MAAM,QAAQ,GAAG,2hDAA2hD;;MCqB/hD,KAAK,iBAAAA,kBAAA,CAAA,MAAA,KAAA,SAAAC,CAAA,CAAA;AALlB,IAAA,WAAA,CAAA,YAAA,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;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"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"],"version":3}